美文网首页
国际化程序实现

国际化程序实现

作者: 秋笙fine | 来源:发表于2019-01-28 21:49 被阅读0次

在工作开发里面,国际化应用一定会存在,只不过如果你只是针对使用情况下开发,国际化基本上就是应用。

如果说现在有一套程序可能中国要使用,美国要使用,俄罗斯也要使用。很明显,不管哪块使用,程序的核心功能不会改变,改变的只是语言。

如果要想实现语言的统一,那么唯一能够做的方式就是将所有需要显示的语言定义在各自的资源文件里面。

image.png

所谓的国际化应用指的就是根据当前的语言环境读取指定的语言资源文件。
如果要想实现国际化的操作,那么首先要解决的就是如何读取资源文件的问题,所谓的资源文件指的是后缀名称为:"*.properties",里面的内容基于K-V存储,里面的命名标准与Java类完全一样。

范例:定义一个Messages.properties(直接在src下建)如果保存的是中文信息,那么就必须保存UNICODE编码

info=中华人民共和国

这里面保存的info是这个信息的key,以后根据这个key读取信息。

如果要读取资源文件的信息使用java.util.ResourceBundle类,这是一个抽象类,但是这个类的内部提供有一个static方法用于取得本类对象。
根据当前语言环境取出:public static final ResourceBundle getBundle(String baseName)

设置指定语言环境:
public static final ResourceBundle getBundle(String baseName,
Locale locale)

当取得了ResourcesBundle类之后,可以通过方法读取数据:
简单读取:public final String getString(String key)

范例:读取普通文本信息

很多时候数据是会被改变的

范例:设置读取可变的内容

如果你只是从事应用开发,那么你所要编写的只是一个资源文件而已。国际化程序应该根据所在的国家不同显示不同内容,这个时候就需要Locale类帮忙了。
Locale保存的是一个国家的区域和语言编码:
中国:zh_CN
美国:en_US

范例:定义中文的资源文件 Message_zh_CN.properties

总结:

1.资源文件:文件名称与每个单词首字母大写,而后后缀必须是"*.properties"
2.通过ResourceBundle类可以读取在指定的CLASSPATH下的资源文件,读取时不需要加后缀
动态占位文本格式化:Message.format
3.Locale类用于指定读取的资源文件的语言环境

相关文章

  • 国际化程序实现

    国际化的程序指的是同一个程序代码可以根据不同的国家实现不同的语言描述,但是程序处理的核心业务是相同的; 国际化程序...

  • 国际化程序实现

      所谓的国际化的程序指的是同一个程序代码可以根据不同的国家实现不同的语言描述,但是程序处理的核心业务是相同的。 ...

  • 国际化程序实现

    在工作开发里面,国际化应用一定会存在,只不过如果你只是针对使用情况下开发,国际化基本上就是应用。 如果说现在有一套...

  • iOS - 国际化

    手机程序的发展,是Mac、windows电脑程序的一个重复。如何实现iOS国际化,并可作为插件使用? 原理: 文件...

  • App 国际化

    App国际化有两种 : 程序名国际化 程序内部国际化 Strings File 就是咱们今天要接触的,不管是程序名...

  • 微信小程序国际化

    公司因某原因需要实现小程序国际化,然而对于我一个新手级别的(小程序开发)程序员来说,真的是有点烧脑筋啊!!! 寡人...

  • React国际化实现

    React国际化实现 设计State结构 映射state至props 总结 译者注 React国际化实现 如果你的...

  • ***日期操作类(SimpleDateFormat类)

    日期格式化类型 重要代码模型。java.text是一个专门实现国际化程序的开发包,而SimpleDateForma...

  • 国际化(i18n)

    title: vue国际化date: 2016-11-17 国际化 本文介绍vue国际化的思路与实现。 vue国际...

  • 在WinForm应用程序中快速实现多语言的处理

    在国际化环境下,越来越多的程序需要做多语言版本,以适应各种业务需求的变化。在Winform应用程序中实现多语言也有...

网友评论

      本文标题:国际化程序实现

      本文链接:https://www.haomeiwen.com/subject/gbmzjqtx.html