欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java i18n,

来源: javaer 分享于  点击 21722 次 点评:148

Java i18n,


 

Java i18n - Java中的国际化

Java或Java i18n的国际化是一个非常重要的特性。Java通过资源包提供国际化(i18n)支持。

 

Java的国际化

为了使您的应用程序支持不同的语言环境,我们需要创建特定于语言环境的属性文件。例如,文件名遵循包名称的模式,包括语言代码和国家/地区代码ApplicationMessages_en_US.properties

一旦特定语言环境的属性文件准备就绪,您需要做的就是使用正确的Locale初始化资源包。Java提供了两个类java.util.ResourceBundlejava.util.Locale被用于此目的。ResourceBundle读取特定于语言环境的属性文件,您可以获取任何键的特定于语言环境的值。

这对于使您的Web应用程序文本特定于区域设置非常有用,您可以从HTTP请求获取区域设置信息并生成包含该区域设置资源包文件的动态页面。您还可以为用户提供选项以选择区域设置并动态更新标签。

 

Java i18n示例

对于java i18n示例,我创建了一个项目,其结构如下图所示。

 

这是JavaInternationalizationExample类的java代码。


package com.journaldev.i18n;

import java.util.Locale;
import java.util.ResourceBundle;

public class JavaInternationalizationExample {

    public static void main(String[] args) {
        //default locale
        ResourceBundle bundle = ResourceBundle.getBundle("ApplicationMessages");
        //Get ResourceBundle with Locale that are already defined
        ResourceBundle bundleFR = ResourceBundle.getBundle("ApplicationMessages", Locale.FRANCE);
        //Get resource bundle when Locale needs to be created
        ResourceBundle bundleSWE = ResourceBundle.getBundle("ApplicationMessages", new Locale("sv", "SE"));
        
        //lets print some messages
        printMessages(bundle);
        printMessages(bundleFR);
        printMessages(bundleSWE);
        
    }

    private static void printMessages(ResourceBundle bundle) {
        System.out.println(bundle.getString("CountryName"));
        System.out.println(bundle.getString("CurrencyCode"));
    }

}

这里捆绑名称是ApplicationMessages,我有2个特定于语言环境的资源包和一个默认资源包。

ApplicationMessages.properties


CountryName=USA
CurrencyCode=USD

ApplicationMessages_fr_FR.properties


CountryName=France
CurrencyCode=Euro

ApplicationMessages_sv_SE.properties


CountryName=Sweden
CurrencyCode=Kr

注意Locale类的使用,已经定义了一些语言环境但我们总是可以通过将语言代码和国家代码传递给它的构造函数来创建新的语言环境。

当我运行上面的程序时,这是输出。


USA
USD
France
Euro
Sweden
Kr

这就是快速java i18n示例。java中的国际化在Web应用程序中非常有用,可以以语言环境特定语言提供页面。

 

原创翻译 原文:https://www.journaldev.com/1370/java-i18n-internationalization-in-java

相关文章

    暂无相关文章
相关栏目:

用户点评