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

前端之家收集整理的这篇文章主要介绍了java – 如何处理国际化“你的输入”xyz是非常好的!“前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道什么是正确的方法处理国际化的语句添加运行时数据.例如
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

猜你在找的Java相关文章