Java国际化
我们使用java.lang.Locale来构造Java国际化的情境。
java.lang.Locale代表特定的地理、政治和文化。需要Locale来执行其任务的操作叫语言环境敏感的操作。
构造一个系统默认的Locale
Locale defaultLocale = Locale.getDefault();
获得此Java虚拟机当前线程默认的语言环境值
获取当前Java虚拟机线程默认的国家和语言信息
String country = defaultLocale.getCountry();//返回国家地区代码
String language = defaultLocale.getLanguage();//返回国家的语言
String displayCountry = defaultLocale.getDisplayCountry();//返回适合向用户显示的国家信息
String displayLanaguage = defaultLocale.getDisplayLanaguage();//返回适合向用户展示的语言信息
String displayName = defaultLocale.getDisplayName();//返回适合向用户展示的语言环境名
加入当前Java虚拟机线程所处的操作系统的区域语言设置为“中文(简体,中国)”,则上边的运行结果依次将会是:
CN
zh
中国
中文
中文(中国)
根据国家地区和语言构造一个Locale(语言环境)
Locale currentLocale = new Locale(“zh”, ”CN”);
构造方法为:Locale(String language, String country);
使用ResouceBundle读取国际化资源文件
ResourceBundle资源包包含特定语言环境的对象。使用其可以加载并读取语言环境资源。
1. 轻松的本地化或者翻译成不同的语言
2. 一次处理多个语言环境
3. 以后可以轻松的进行修改,一遍支持更多的语言环境。
当程序需要特定于语言环境的对象时,它使用getBundle()方法加载ResourceBundle类
ResourceBundle rb = ResourceBundle.getBundle(“res.MessageBundle”, currentLocale);
其中,res.MessageBundle代表的是我们在src下建立了一个res文件夹,而res文件夹下有一个名为MessageBundle.properteis的资源文件。我们允许在此建立多个国际化资源文件:MessageBundle_zh_CN.properties;MessageBundle_en_US.properteis;其中MessageBundle就是要在构造ResourceBundle时使用的字符串,这个名字合法即可,不需要特定约束。后边的名字一定要遵循规则,resourceName_language_country.properteis;
然后我们使用rb.getString(key);就可以获取资源文件中的Key对应的value.
使用Struts1.x实现国际化自动切换
查看Struts源码就可以发现,语言环境信息就存放在session中,通过this.setLocale(request, locale);
所以要实现国际化就要在页面上点击超链接经过Action的时候改变会话中Locale(语言环境)的值。在Action中:
[java:showcolumns] view plaincopy
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
//接受客户端传过来的语言请求信息
String language = request.getParameter(“myLanguage”);
//定义语言地区信息
Locale currentLocale = null;
//根据不同的请求创建不同的语言环境信息
if (“zh”.equals(language)) {
currentLocale = new Locale(“zh”, “CN”);
} else if (“en”.equals(language)) {
currentLocale = new Locale(“en”, “US”);
}
//……
//将session中的信息更改掉
this.setLocale(request, currentLocale);
//当然,在页面显示资源文件信息的时候采用如下这种方式:
//<bean:message key=”key” />
分享到:
相关推荐
Java 实现国际化是一种重要的软件开发技术,特别是在构建多语言支持的应用程序时。国际化(i18n)使得软件能够适应不同国家和地区的语言环境,包括中文和英文。在这个主题中,我们将深入探讨如何使用Java和JSP进行...
本教程将详细介绍如何在Android项目中实现多语言切换,让您的应用具备国际化能力。 首先,我们需要了解Android的资源管理机制。Android系统通过res目录下的values文件夹来存储不同类型的资源,如字符串、颜色、布局...
在Android应用开发中,实现国际化的功能,即让应用程序能够支持多语言,是提升用户体验的重要一环。"Android 国际化 一键切换语言"这一主题主要涉及的是如何在不重启应用的情况下,让用户能够轻松地在不同的语言环境...
在本项目中,"springboot+beetl 实现国际化多语言切换.zip" 提供了一个使用Spring Boot和Beetl模板引擎实现Web应用国际化的实例。这个压缩包包含了一个名为"springboot-beetl-i18n"的子目录,里面应该有相应的源码和...
下面我们将深入探讨如何使用Struts1实现国际化语言切换。 首先,理解国际化的基本概念是必要的。国际化是一种设计方法,允许软件应用根据不同地区的文化、语言和习惯进行定制。在Web应用中,这通常通过资源包...
以下是实现Struts2国际化语言切换的详细步骤: 1. **创建资源包**: 首先,你需要为每种支持的语言创建一个资源包。资源包通常是以.properties为后缀的文本文件,例如`message_zh_CN.properties`(中文)和`...
这个"安卓换肤主题更换夜间模式相关-多语言切换android国际化语言切换感觉不错挺好的demo.zip"提供了关于这些功能的示例代码,帮助开发者了解并实践相关功能的实现。 首先,让我们来探讨换肤主题更换。在Android...
Java国际化组件是Java开发中一个重要的功能模块,它允许开发者为不同地区的用户创建多语言支持的应用程序。在Java中,国际化通常通过使用Resource Bundle和Java的Locale类来实现。资源库(Resource Bundle)包含了...
下面我们将深入探讨如何在Struts2中实现国际化和多语言切换。 **一、国际化(i18n)基础** 国际化是指软件设计时考虑到不同地区的文化差异,使得软件可以通过简单的配置和扩展就能适应各种语言环境。在Java中,我们...
在开发Web应用时,实现多语言支持是必不可少的,尤其对于全球用户来说。Spring Boot、JPA(Java Persistence API)和EasyUI都是Java...在实际开发中,还需要考虑缓存、性能优化等细节,以提供更流畅的多语言切换体验。
2. **Resource Bundle**:资源包是Java国际化的关键组成部分,它是一个包含特定语言环境下的文本和数据的文件集合。通常以.properties格式存储,例如`messages_en.properties`和`messages_fr.properties`分别代表...
国际化是设计和开发软件的过程,使其能够适应不同的语言和文化环境,而多语言则是实现国际化后,提供多种语言版本的结果。 1. **配置资源文件**: 在实现国际化时,我们通常会创建一系列的资源文件,例如`messages...
Struts2的国际化功能允许应用程序根据用户的选择或系统设置显示多语言内容。在Struts2框架中,实现国际化主要是通过资源配置文件和特定的标签来完成的。以下将详细阐述实现Struts2国际化自动切换语言的过程。 1. **...
1. **资源包(Resource Bundle)**:资源包是Java国际化的核心,它存储了特定语言环境下的文本、消息、符号和其他用户界面元素。在Java中,资源包通常是`.properties`文件,如`messages.properties`用于英语,`...
Struts2提供了强大的国际化支持,使得开发者能够轻松地实现应用的语言切换功能。下面将详细解释如何在Struts2中进行国际化设置,并实现自动语言切换。 首先,我们需要理解国际化的基本概念。国际化是一种设计方法,...
Java程序的国际化(i18n)是为了使软件能够适应不同地区的语言和文化习惯,它涉及到日期、时间、数字格式、货币符号、排序规则、文本方向等多方面的处理。本教程将详细介绍Java如何实现这一功能,并提供源码供学习者...
在这个“android国际化中英文切换demo”中,你可能会看到如何实现上述功能的代码示例,包括如何创建和管理多语言资源文件,以及如何在应用内部实现语言切换。这个简单的演示项目对于初学者理解Android国际化具有很好...
总的来说,制作个性化界面和实现多国语言切换需要综合运用多种技术和方法,包括但不限于用户界面设计、前端编程、资源管理、国际化和本地化策略。通过这些技术,开发者可以创建出更适应全球用户需求的应用程序,提升...
6. **国际化日期和数字格式**:除了字符串外,还可以使用`java.text.SimpleDateFormat`和`java.text.DecimalFormat`来处理日期和数字的本地化显示。 7. **Swing和JavaFX中的多语言**:对于图形用户界面(GUI)应用...
首先,我们需要在Spring Boot项目中引入i18n(国际化)的支持。这通常通过使用`spring-boot-starter-message-source`依赖来实现。在`pom.xml`文件中添加以下代码: ```xml <groupId>org.springframework.boot ...