Java程序的国际化的思路是将程序中的标签、提示等信息放在资源文件中,程序需要支持哪些国家、语言环境,就对应提供相应的资源文件。资源文件是key-value对,每个资源文件中的key是不变的,但value则随不同国家、语言改变。
创新互联是工信部颁发资质IDC服务器商,为用户提供优质的温江服务器租用服务
可以使用用一些流行框架来解决国际化问题。在Struts2中,有两种进行国际化操作方式:在Struts.properties文件中设置处理各种字符编码或者语言的属性文件。并由此扩展这些属性文件,让Web系统使用形成各种语言或信息格式化的配置信息。
那么在Java中如何实现国际化呢?通过学习后,我也了解了一些必要的入门知识。首先,我们可以通过测试代码获得本机操作系统的默认语言和区域。
1、可以使用用一些流行框架来解决国际化问题。在Struts2中,有两种进行国际化操作方式:在Struts.properties文件中设置处理各种字符编码或者语言的属性文件。并由此扩展这些属性文件,让Web系统使用形成各种语言或信息格式化的配置信息。
2、一般多语言支持是Java自带的,并不是structs配置的:我们一般会维护多个properity 文件, 这个文件可以用ecplise直接将中文转成Unicode。
3、加入标签库:%@ taglib uri=http://java.sun点抗 /jstl/fmt prefix=fmt % 然后设置 国际化配置语言:fmt:setLocale value=zh_CN/ 这样就会加载 messages_zh_CN.properties 的资源文件。
4、编程实现固定文本的国际化 在JavaAPI中提供了一个ResourceBundle 类用于描述一个资源包,并且 ResourceBundle类提供了相应的方法getBundle,这个方法可以根据来访者的国家地区自动获取与之对应的资源文件予以显示。
5、使用java提供的国际化功能就可以了。不过建议你使用框架技术中的国际化,框架技术中的国际化都做过封装,实现起来相对简单的多。
6、如:我的配置文件叫 message-info.properties,message-info_zh_CN.properties等等,只要有了这个配置,然后配置JSP 渲染器为JSTL支持的,那么在你的JSP文件中使用fmt标记就可以实现客户浏览器语言国际化了。
我们使用java.lang.Locale来实现java国际化。java.lang.Locale代表特定的地理、政治和文化。需要Locale来执行其任务的操作叫语言环境敏感的操作。
国际化的英文为Internationalization,这个也太长了,所以它又称为I18n(英文单词 internationalization的首末字符i和n,18为中间的字符数)。
Locale locale = new Locale(ar);ResourceBundle bundle = ResourceBundle.getBundle(messages, locale);System.out.println(bundle.getString(test));就可以取出messages_ar.properties里面对应的内容了。
fmt:setBundle basename=applicationMessage var=applicationBundle/ 将会查找一个名为 applicationMessage_zh_CN.properties 的资源配置文件,来作为显示的 Resource 绑定。