00:00
各位同学大家好,刚才呢,我们演示了此文里边的资源访问resources,下面呢我们继续来演示,演示里边的叫I18N,也就是咱们通俗说的国际化,国际化里边呢,我们从三个方面给大家讲解,第一个方面我们先介绍一下什么是国际化,然后第二个演示Java中怎么实现国际化,第三个我们演示里别该怎么实现,那下面我们先看第一个内容,什么是I18N国际化。那大家看啊,这里写到国际化呢,也称作叫N,为什么叫这个名字呢?其实它是英文单词的简写,大家看这单词应该都认识,International这个单词大家看啊,第一个字母是不是I,最后一个字母是不是NI和N中间注意有18个字母,所以它就叫I18N,咱们通俗说就是国际化international i18N。这是咱提到的啊,那什么叫国际化呢?我们进步来说,由于啊,这个软件发行可能面向多个国家,比如说在咱们中国,在英国,在美国,在其他国家,而每个国家用的语言是不是不一样,不是咱们中国肯定用中文,在英国用英文,在日本用日本,每个国家有不同的语言,所以要求咱们软件在不同国家显示不同语言,这个过程就叫国际化,就好比说什么样的呢?咱们举个例子啊,比如说大家看那网站,这网站是那个double的官网,比如大家看。
01:35
目前是不是中文,当我点这个切换到是不是英文,跟这个有点类似,就是咱说的国际化,比如现在我在英国,那我就显示这个界面,我在中国我就用这个内容,这是中文的界面,这个就叫国际化。而实际中我们做法就是通过配置文件进行实现,假如说现在我有两种语言,那咱就需要写两个版本配置文件,比如一个中国,一个英国,一个中文一个英文,用它最终完成配置,这就是国际化的一个简单概述,大家把这清楚,然后下面呢,我们先演示Java中怎么做国际化,我们先做个介绍,然后再用个例子继续来演示一下。
02:16
大家看啊,Java本身是支持国际化的,在里边有个类叫local local呢用于指定当前用户所属的语言环境,然后里边还有一个叫resource bund,用于查找对应的资源文件。比如说咱们local里边呢,它包含了你的语言和国家,只是用的是中文,你是中国,你用的英文是在英国,那它里边包含信息,然后它里面默认有一个静态方法,通过它来创建logo对象啊,这是一个基本说明,然后咱们继续来看啊,我们要实现国际化呢,需要创建配置文件,而它的配置文件有一个命名的规则,这规则各位记住啊,第一个就是基本名字,然后第二个指的是你的语言,第三个国家,它是一个pro的文件,比如说啊,我们举个具体例子,大家看这个。
03:09
基本名字是不是叫math,然后Z代表中文,CN代表中国,包括比如咱们再看我这图里面的这个en什么意思,English就是英国英文,然后GB就是英国的简称,就是大列颠及北尔联合王国嘛,GB啊,或者叫us,那就是美国的简称,这就是我们建配置文件的规则。基本名字加语言加国家进行创建,这个啊是我们看到的,然后下面呢,咱就演示一下Java中怎么实现国际化,那我下面做个演示。首先啊,我们在里边呢,这些我先都关掉,然后咱们建一个新的模块,专门演示国际化,这个模块我起个名字就叫死文六杠I18N。
04:01
把这个进行创建。这个咱们完成,完成之后呢,下面咱怎么做呢,我这里写一下啊,找到我们这个模块。然后在里边这个里边,咱们按照刚才说的命名规则,我们来建两个配置文件,一个是中文,一个是英文,那咱们做个创建。首先啊,我建第一个文件,按照我刚才的规范啊,咱就叫message。下划线,我这个叫,然后咱们N代表中国点上这个。这是咱们的第一个文件,然后创建之后在里边我再来这文件,注意啊,它的基本名字是一样,都叫message。下划线第二个我叫en,就是English加上GB,就是咱说的英国。点上properties。
05:01
所以现在大家看啊,我把两个资源文件都完成了,创建这个答案就写完了,写完之后在文件中咱们随便加一些内容,为了一会儿我们进行测试,那我在里边啊,咱们加上内容。比如现在啊,我在这个Z里边,咱们起个名字,这个名字呢,随便起,咱为了测试啊,我就叫,然后它的我就叫这个。China中国。然后这里边我也起个名字叫test,它的这个我就叫这个就叫GB啊,就英国就叫GB。现在啊,咱们把它都加上了。加上之后呢,为了看得更明确啊,再加上一个test,一会儿看的更明确,比如China test的DB test等,现在资源文件完成,完成之后呢,下面我在里边创建一个包,然后咱建个类,通过类来读取不同资源文件中的内容,那咱们创建啊com点。
06:02
At硅谷点上六,然后第一个咱演示Java中的国际化,我们就来一个Java这个I18N。这个创建创建之后呢,在里边我们来起个类,咱们进行测试,这个类我就随便起个名字啊,咱就叫这个。Resource。就是资源嘛,因为咱有资源文件啊,加上这个叫I18N。这是写的这个文件啊,然后在里边我就写上一个main方法,咱们进行测试,那怎么做呢?给大家说明一下啊,咱们刚才看到了在Java中呢,有个类,这个叫resource bund,所以咱通过它进行我们的具体实现,那我在里边我们来写一下啊。我们通过刚才这个类叫resource。Bund就是它,然后点上一个方法叫get bund在里边写什么呢?因为大家看啊,我们的文件基本的名字是不是都叫message,所以咱们写一个message。
07:11
然后注意后面加什么呢?咱们加上这些参数,大家注意啊,这get帮里边呢,它里边有很多的就是重载这个方法,那咱们往下找,咱们用里边的这个方法,第一个基本名字,第二个传一个叫local local,咱看到里边要有两个部分,一个是语言,一个是国家,咱通过它来获取一下,那我现在啊给大家写一下。就是我们的定部分,咱们第一个参数就是这个基本名字,然后第二个参数,我在里边上一个叫local local里边两个参数,那我们来传一下啊,第一个语言,第二个国家。然后这怎么传,比如第一个啊,我传一个代表这个中国,第二个国家,我们写个N,现在把这个我们就得到了啊,然后大家看它返回的这个叫resource bund,然后咱通过它能取到里边那个具体的内容。
08:15
那我来取一下啊。就是点上一个get缀,加上咱的名字,我刚才的名字都叫test,所以咱通过test把它的最终值取到这个值,我起个名字我就叫Y61,然后现在啊,把它做一个输出,就是Y61,现在它里边要执行什么效果呢?咱就读取这个ZC,就是咱们中国的这个里边的内容啊,通过它来得到。这是咱们的写法,然后写完之后我们测试试一下效果怎么样,咱们测试一下啊,大家看一下,各位看China test是不是出来了,这咱们就完成,完成之后我们可以再试一个啊,咱们读取这个en GB,就是英国里边这个内容,那我们来读取一下啊,还是相同代码resource bund。
09:09
咱们来个bund,比如说这个啊,我就叫BUND1为了区分啊。一然后这里边我叫B,二等于resource bund.get加上基本名字message。然后后面加上上一个LOCAL2个参数,第一个语言咱们写的是en,第二个国家我们叫GB。这个得到是B2,然后通过它里边的get string传入test。把这个结果得到,我们叫Y62。然后把Y62,最终我们做一个输出。这个。完成之后我们检查一下啊,呃,这里边啊,应该写错了,应该写到这个里边去啊,写到这里边给它改一下,然后最终我们做个测试,试一下最后结果怎么样,咱们最终看一下这个效果啊,大家看第一个中国,第二个是不是GB英国,所以现在我们就完成了Java中国际化的操作,各位记住这个过程啊,建配置文件,注意配置文件的格式,基本名字、语言,包括国家,最后用resource b来读取里边的内容,根据语言、国家读取不同文件中的内容。
10:32
所以这个我们就演示到这里。关于Java实现国际化。
我来说两句