加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何处理国际化“你的输入”xyz是非常好的!“

发布时间:2020-12-14 05:17:23 所属栏目:Java 来源:网络整理
导读:我想知道什么是正确的方法处理国际化的语句添加运行时数据.例如 1)您的输入“xyz”非常好! 2)当您从“Barney and Freinds”转为“海绵宝宝”时,您已经“4年”了. 双引号是在运行时获取或计算的用户数据.我的平台主要是Java / Android.西方语言的正确解决方
我想知道什么是正确的方法处理国际化的语句添加运行时数据.例如
1)您的输入“xyz”非常好!
2)当您从“Barney and Freinds”转为“海绵宝宝”时,您已经“4年”了.

双引号是在运行时获取或计算的用户数据.我的平台主要是Java / Android.西方语言的正确解决方案比较弱的普遍方法更为优先.

解决方法

Java的

要检索本地化的文本(消息),请使用java.util.ResourceBundle API.要格式化消息,请使用java.text.MessageFormat API.

基本上,首先创建一个properties file像这样:

key1 = Your input {0} is excellent!
key2 = You were {0} old when you switched from {1} to {2} shows.

{n}的事情是你可以通过MessageFormat#format()的参数的占位符.

然后加载它像这样:

ResourceBundle bundle = ResourceBundle.getBundle("filename",Locale.ENGLISH);

然后通过键获取消息,做:

String key1 = bundle.getString("key1");
String key2 = bundle.getString("key2");

然后格式化,做:

String formattedKey1 = MessageFormat.format(key1,"xyz");
String formattedKey2 = MessageFormat.format(key2,"4 years","Barney and Friends","Spongebob");

也可以看看:

> Trail: internationalization

Android的

关于Android,这个过程比较简单.您只需将所有这些String消息放在res / values / strings.xml文件中.然后,您可以使用不同的语言创建该文件的版本,并将该文件放在包含语言代码的值文件夹中.例如,如果要添加西班牙语支持,您只需要创建一个名为res / values-es /的文件夹,并将西班牙语版的strings.xml放在那里. Android将根据手机的配置自动决定使用哪个文件.

也可以看看:

> Developer guide – Localization

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读