00:00
关于这个国际化的话呢,我们讲了好多了哈,那我们的目标是实现这个web应用程序的国际化,什么意思呢?我找到这个index加,诶,这里边我来写那样的一句话,比方说。啊,有一个日期。这么写吧。New s。然后我们这块,我们有一块有一个数字。是这个意思,我实际上我是要实现这个的国际化。我要实现这样的一个效果,然后的话可能还会怎么样啊。
01:01
可能还会提供一个DR,第二还会提供一个超链接,让中文英文能进行切换。A,比方说英文。好中文。我们最终啊,我们希望要这样的一个效果。那刚才讲的呢,都是底层的实现,用web去写的话,你当然可以通过编码的方式在这里边写,但是那个呀,特别笨,我们也不打算这样试了啊,你可以像我这样是吧,去写代码的方式来写,那我们怎么办呢?哎,我们直接就使用这个标签来写,这个标签我们在这个呃。GTL里边提供了一个标签叫fmt,这个就是来做国际化的,那另外边的本地信息我们已经知道了,我们可以通过request get local来进行获取,那行吧,我首先把这个标签导进来,一盘Java open source,找到GTL。
02:26
CTRLC来。问题好了,注意一下吧。FM。MMT好了,这个标签吧,咱没用过,但是的话呢,你你打出来你就会用,就一看名字就可以了,但是我们在先前啊,这个date和这个三呢,我放到一个EL里边去,这个我不要了哈。
03:11
我们写一个date等于六,然后request.that。再来一个request点。Fair。这个值呢,是这样的一个值。基本。啊,那最终我们要实现的目标就是这个目标。Date date后边这个值就要来源于这个date跟这个就要来源于什么呀,来源于我这块写的这个资源文件在这呢,而这个呃,Date是他,这个sir是他,他需要根据那个law q进行国际化,那怎么写呢?这么写肯定不行,于是看吧。
04:16
Fmt好多。来。是什么意思啊?他说把这个标签体绑定到一个。资源就绑定到一个这个资源包,但是一定是仅限制标签体,所以说这个的话有点限制,不过也可以用内I18,仅是标签题里边可以这么写fmt写个看你哪个像。
05:00
这不有个message啊,这个message我们可以来用,我写一个吧,Message有一个key,那写eight。在哪儿呢?是不是这个。值是谁呢?这个值啊,就要是我们这个date,于是我们再写f MT form date吧。哎。不写为。It。逗号,然后再来fmt message再写一个T,这个key应该是fair,应该是一个字符串啊,再来fmt。Number number。
06:06
Value。绑定一个,这个叫写完了要好好使。看来是英文的是吧,看这个是没问题的,找一个。英文的变成中文的。中文的好使吧,这就行了。但是这么变的话呢,有一个毛病啊,我这个必须得设置一个什么呀,我必须得设置这样的一个,呃,这个这个班,这是一个标签体里边才好用好了,那于是我底下我再写一个,我说我不设置标签题,我能不能统一设一下呢?Fmt,我们看是不是有一个set班啊。
07:11
我可以设置一下name a,幺八,N是后边的都会好用,然后我们再写一个fmt看。把这段话再写一遍。CTRLC过来,CTRLV。拿进去那个柱条怎么助条,使用Java这个柱条是吧。OK,这样还是需要有的。好,再看。早。语言。
08:00
是不是好用啊,这就完了,但底层实现的话呢,还是我们前面那些这就可以了,这是set搬,然后的话呢,它会自动的获取这个根据来给我进行格式化,那form可以指定一个pattern吗?It。有style吗?Style?YYYY啊,不是是什么长或短的这些东西是吧,啊指这么写。哦,可以是date。Date format的这个值,Time date或者是time或者都有,我们看看哈,我们在用这个date for的时候的话呢,我们可以指定一个长短那个吧,我也想指定一个长短,比方带一个年月日的,那多帅呀,是吧,Beautiful for过来看看来。
09:10
你看我们进行form的时候的话呢,我可以指定一个这个目标,就是这个style。可以指定一个它听这个style,这个值是什么呢?我们看一下哈,这个值在最前面。哎,比方说我指定一个long。L打头的。这个浪是个什么东西啊?在哪了?一吧,这是一个一,于是我们写一个试试啊看看。就是第一个要这我们指定一个一啊讲这个效果好一点知识。来看他。
10:00
坏了这一不行,那一不行的话,那你你还会怎么想啊,那我就直接指定啊。因为行这样定。啊,这个可以换回来语言中文上去。是这个吧,在年月日的,你当然也可以指定。在那个星期几吧,星期六哎,没问题,那啊这个工资这个有问题,工资这个没有加上那个人民币那个符号吧,那。Currency code,我们可以指定一个currency code。另一个country ignore。
11:07
都是指定的一个语法是吧。取值为currency。OK,看一下。但这个值取的不对呀,这样取一下。这个基本上的话呢,可以进行格式化,这样取值不对,我们看看这个值如何来进行格式化啊来。MT。确实还是就叫form,没有别的。哪个下边有什么呀。P不是哈,P不是啊,我们看这里边的话呢,我们肯定可以指定一个value value还是像我们刚才那么指定写法就是三现在的话呢,我想指定我用一个currency,用currentr code。
12:18
说if time is ignore currency ignore,那这两个的话呢,应该是可以来进行指定一下,指定currency code。没有提示。在这儿吗?一就是他嘛,是吧,这指定一下看好好使啊,Request配置context context.request。叫嘛,看看这个效果过来。
13:03
刷新哦,但是公司这个到还是没有出来呀。语言这个上去。前面这个是没问题的是吧,三格式化这个数字也没问题,但是这个有点问题,Currency currency。Country。家吗?还是不行行吧,这个一会调一下,你这个时候的话呢,我们没跑通,这个时候的话,我们一会儿看一下,一会儿肯定是有办法解决的。看什么呢?这个时候我们看它,它里边有两个,这个握包是不是有一个叫example,叫例。
14:06
例子,我们把这个例子我们用一下来复制,看它是怎么用的,拿掉我们找到tomcat安装的根。应该是在D盘吧。I web application。打开。Start up。然后呢,找到web application,找到他。看,看来还有搬的。
15:00
DEMO。Date我们要找什么呀?是不是number,看他怎么写的哈,Y6。Type percent它是什么东西啊?哦,可以使用type对吧?看见怎么用了吧,是不是另一个type等于currency呀,行了,刚才搞了半天没搞对,那行了,费这个劲是吧。来吧。Have a。保存再来。这把肯定好使了,因为我们看中例子了。跑起来。
16:05
复制。看了吧。语言行了,这样的话呢,这个问题我们就解决掉了,好了,进一步的。是不是还有一个英文跟中文呢,怎么切换呢。过来吧,我们怎么写呢?我们这么写啊,大家看,我还连到这一页index这一问号。我肯定我要指定一个这个英文是什么,中文是什么呀,比方说我们指定一个code等于en。Indexp问号后等于PH好了,那我把这两个的话呢,我解析一下。
17:09
注意看啊,等于request.at。好一下这个值,如果。这个to不等于空的话判断呗。If,如果这个值等于en减equals,那我们需要一个什么呢?我需要一个log q,说白了就是我把这个local q需要放到。塞这里边去,因为我们抛出这一页的话,我再走其他那一页的话,我是不是也得用这个local q啊啊用这个里边的好指定一个Q好lock Q点。
18:08
猫Q音。Us,对us好吧,Else if要是ah减equals的话。我们就让3.tribute。叫什么呢?Logyou,这个是logyou China写完了,我放这个里边了哈,然后的话呢,我们要给他判断一下CC没导进来。
19:00
摁一下,如果我session里边有这个属性的话,我就用session里边的,否则我用默认的来。C if session scope的不等于空的话,于是我来设置一下吧,Fmd。Value值。Session scoop。是空的话呢,我就设置一下,就是我们先看现在这个值啊。还是正常的,再找一个。语言。上去走走。还是这样的是吧,好了中文可以改。没改天我点中文的时候他应该改呀,看看code require get code。
20:13
En GH这个时候的话呢,我们希望他用了format是他S,看看上去没啥问题,我打印一下。C。Fashion go。都有啊。对,还没变啊。哦,这样的这个set lock q啊,得先于这个18N常有顺序,这种你再看。
21:11
看到吧,这样就可以了,就是说这句话得先于这句话设置,那这样的话呢,我们是不是就实现了这个中中英文的切换啊,啊,我这么在页面上来用这个fmt标签就可以,那我们讲了一下午的这个API是干什么的呀,是对我们这个标签做支撑的,底层原理就是那个,但用的话呢,就用这个标签,我们很少会真正的会去用那个今天讲的什么message for method result b啊,几乎不会用,用标签就可以。好了,做一个小节,Not txt哎,关于国际化,首先我们需要知道什么是国际化。
22:21
和本地化,这里面有两个,一个叫国际化,一个叫本地化。是相对的,其实说的是一个意思,相对的两个概念,但说的是一个意思,但已经学完了哈,所以说现在的话呢,并不影响我们来讨论一下这个概念,我们还是这样的一种观念是吧,我们不希望大家为一个概念反复的去纠这个概念表示什么意思。没啥意义,你会敲就完了,就像我们上高中的时候是吧,我们就就揪什么,这是定语从句,这个不是定语从句,其实没啥用,你会写会说会听就完了,你说咱现在中国咱说一句话是吧,你在说之前最最郁闷的是初三的时候,我不知道你们是什么时候学啊,初三的时候学过汉语的语法。
23:10
学完之后觉得特别郁闷啊,我原来我说话有这么多的,这个到时可以说呢是吧,要考考那个中国人,考外国人那个四级那个题大家见过吧,就同样是一句话是吧,什么想不起来了,咋说那地块。第一个,第二个。本地化,本地化就是一个软件在某个地区和国家用的时候,可以支持本地的语言、数字、货币、日期。国际化指的是开发这个软件的时候,让它能够支持计划。所以说说的实际上是一个意思,一个是从呃地区这个角度讲,一个是从开发这个角度讲好了。
24:22
二我们说说哈相关的。一篇这块的话呢,其实还有一个可以说的三。什么呀,日期隐蔽敏感。数据敏感数据什么叫本地敏感数据啊,像日期货币,数值时间就是本地敏感数据,我找一下啊,哎,属于这个地区不同的本金敏感,比方说数值货币,我们再写起来。
25:10
日期。时间等数据到本地,敏感数据好,相关API看看吧。一其中有一个叫。It for match和simple for。注意哈,这个还是需要会用的,为什么呀,我们在开发的时候,有的时候是不是需要大量的去处理那个时间和字符串啊,这个需要用,这个平常也用,而这个number。For ma这个用的要少很多,好了,其中这个我们打一个对号,哎,这个的话大家平常还需要掌握一下,好了,State format simple data format,然后完了form,第三个我们还缺啥了,Message for吧,第四个呢。
26:25
Resource handle,比如有了这些以后的话,我们写程序是不是就可以实现国际化了,这就可以了,实际上你看哈这些东西怎么样啊,为什么我说我们今天学的东东西简单呢,是死的,不是活的,你昨天讲的那个文件上传那个你得处理N多东西,它是活的,它是死的你记住了就行,你记不住的话,然后完了过几天你你过几天用的话,那可能就得重新去查文档,很正常了解就可以了,哎。
27:02
三外吧。好,国际化啊,还有一个需要说,但关于国际化资源。文件这类说。啥特点啊?1A文件格式。二。怎么写呢?His name,鸡鸣加proper必须提供。必须提供。机鸣点proper给文件和一名下划线一个叫啥来着,语言代码下划线不加代码S好了三。
28:17
不同,相同的,相同的。机鸣的资源文件必须有相同的P,但是Y6值可以不一样。四有可能可能。需要使用ask native native工具。啊,非吗?转为。好了,就是国际化咨询文件是多外部国际化两点,第一个可以使用request.at q获取什么呀?取Q对象,要这么说的话呢,这里面还有一个。
29:25
行,然后我们目前使用的是可以使用,可以使用什么呢?目前我们用的是GSTLFMT标签完成的计块,好了,后边使用框架提供的标签完成,就是说r two里一里面是不是mbc里面都有标签完成。
30:08
三有什么好说的?还有一个好处就是如何实现中英文的切换。实现。中文。英文啊切换咋实现的呀,抛链接嘛,肯定的是吧,提供两个抛链。接什么,然后携带携带携带不同的这个这个这个这个变量值吧,变量值OK,根据变量值确定对应的log表一项三注意哈,把这个比较关键lock对象放入到。
31:20
定是session里边,Session中因为怎么了,我们可能会有很多个页面都需要这样吧,你第一个页面切割完之后,你第二个页面你是不是还得是中文啊,这样一个效果,所以说放30里边,然后然后这个绑定lock q对应的资源文件就完了,我们这块就是这么实现的,看提供它获取,放30里边,根据这个设置local,这就O了,至于说其他标签怎么办啊,你看文档吧。
32:00
还有吗?没有其他标签看的话呢,可以参看GGSTL的例子。其他。Fmt标签。可以参看。我们有一个例子叫他。这个中的例子,那我们上课的话呢,就不讲了,我们这块的话呢,用不上,这就是国际化,那API里边的话呢,这个是需要我们会的,因为这个开发里边的话呢,还经常用,我们知道这个原理,然后会用这个fmt标签去写就可以了。
我来说两句