• java中的国际化


        最近单位里的一个项目使用了国际化,这玩意儿以前实习的时候搞过,后来时间久了就慢慢淡忘了,现在赶紧翻起资料重新理解下。

        关于国际化的思路大致是这样子的,你把要根据不同语言环境显示为不同语言的信息用一个叫资源文件的存储起来,为了方便查找,采用了属性文件的Key-Value进行存放,然后程序根据语言环境到响应的资源文件中查找对应的信息,进行显示。

        这就涉及到以下两个类:

    • java.util.Locale
    • java.util.ResourceBundle

        不多说,上代码:

        public class I18NTest {
        public static void main(String[] args) {
            Locale locale = Locale.getDefault();
            System.out.println(locale.getDisplayCountry() + "->"
                    + locale.getCountry());
            String basename = "cn/abc/i18n/message";
            ResourceBundle resourceBundle = ResourceBundle.getBundle(basename,
                    locale);
            System.out.println(resourceBundle.getString("hello"));
            System.out.println(MessageFormat.format(
                    resourceBundle.getString("greet"), "孟子", new Date()));
        }
    }

    资源文件为:message_en_US.properties和message_zh_CN.properties

    message_en_US.properties的内容很简单;

        hello=Hello

    message_zh_CN.properties的内容则采用了JDK自带的native2ascii将中文转化ascii编码:

         hello=u60a8u597d
        greet={0},u60a8u597duff01u73b0u5728u662f{1}.

  • 相关阅读:
    MySQL错误 1030-Got error 28 from storage engine
    电脑开机无反应 不显示BIOS 硬件没问题
    python错误 import: unable to open X server
    Python 错误 invalid command 'bdist_wheel' & outside environment /usr
    Cento 7安装 Failed to execute /init
    笔记《鸟哥的Linux私房菜》5 首次登入与在线求助 man
    Scrapy XPath语法
    Linux 用户操作
    Mysql 表修改
    Ubuntu 配置 Python环境 IPython
  • 原文地址:https://www.cnblogs.com/306b/p/3383226.html
Copyright © 2020-2023  润新知