zoukankan      html  css  js  c++  java
  • 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}.

  • 相关阅读:
    数据库的操作封装成类
    简单搭建WEB框架及原理
    界面小项目之小米商品排列
    界面小项目之小米登录注册
    kubernetes版本1.7.6对比1.13.0
    docker将宿主机文件复制到容器内
    常用git命令
    centos7常用命令汇总
    openstack相关的命令总结
    kubernetes常用命令2
  • 原文地址:https://www.cnblogs.com/306b/p/3383226.html
Copyright © 2011-2022 走看看