`
xiaoshiyilang
  • 浏览: 3202 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

国际化(一)

    博客分类:
  • JAVA
 
阅读更多

1 Locale 和 ResourceBundle 简介

ResourceBundle Locale 和 ResourceBundle都是java.util中的类,是实现国际化关键的类。

1.1  Locale

Locale表示特定的地理、政治、文化地区。

 

 

Locale[] locals = Locale.getAvailableLocales();//返回所有已安装语言环境的数组
for(Locale local: locals){
  //打印出此语言环境的语言代码和国家/地区代码
  System.out.println( local.getLanguage()+ "_"+local.getCountry());
}

 

 显示的结果:(只显示一部分)

 

ja_JP
en_US
en_GB
en_NZ
zh_TW
en_IE
en_IN
en_AU
zh_CN
zh_HK
en_CA

 

Locale locale = Locale.getDefault();//获得此 Java 虚拟机实例的当前默认语言环境。
System.out.println(locale.getLanguage()+"_"+locale.getCountry());
zh_CN

 当改变电脑的默认地区时,返回的默认语言环境就会改变。比如将 地区改为 英语(美国),其显示的结果为:en_US

 

 

1.2 ResourceBundle

ResourceBundle 可以根据当前用户的语言环境来读取相应的资源包

1 建立一个资源包(com.xiaochuan.resource),在包里定义两个资源文件(.properties)

命名规范为:资源名_语言代码_地区代码.properties

resource_en_US.properties

resource_zh_CN.properties

文件内容为:

 

#resource_en_US.properties
name = Tom
sex = male

 

 

#resource_zh_CN.properties
# name = 汤姆
name = \u6C64\u59C6
# sex = 男
sex =\u7537

 注意:在properties文件输入中文时要进行编码转换(可以使用jdk中bin目录下的native2ascii.exe进行编码转换,也可以使用Eclipse中的插件)

2 读取资源文件内容的方法

public static String getValue(String key){
  //读取资源文件,getBundle(String str,Locale loclae)中的str为资源文件的路径,locale为语言环境
  ResourceBundle rb = ResourceBundle.getBundle(
    "com.xiaochuan.resource.resource",Locale.getDefault());
  return rb.getString(key);
}
public static void main(String[] args){
  String str1 = getValue("name");
  String str2 = getValue("sex");
  System.out.println(str1);
  System.out.println(str2);
}
汤姆
男

如果将 本机 的 语言区域改成 英语(美国),显示就会变成:

 

Tom
male

 ps:在getBundle方法中,如果将第二个参数定义成 new Locale("en","US")

写到这里,这只是国际化的读取资源文件的部分。但如果 要在 java代码中(做报表时)有些字段需要国际化时,就可以按照以上方式来定义一个类,在该类中来定义一个静态的getValue()方法。

 

ps : 不足之处 请多多指教

 

 

分享到:
评论

相关推荐

    Nacos实现SpringBoot国际化的增强

    阅读本文之前,你应该了解过SpringBoot的国际化实现与原理,在这里简单介绍下: 1. 国际化 国际化(internationalization),又称为i18n(因为这个单词从i到n有18个英文字母,因此命名)。对于某些应用系统而言,它...

    C# winform 国际化

    在C# WinForm应用开发中,国际化(Internationalization)是一个重要的功能,允许应用程序适应不同语言和文化环境。本文将深入探讨如何实现C# WinForm应用的国际化,包括菜单国际化和资源国际化。 首先,我们需要...

    spring 国际化 spring mvc

    在 Spring MVC 框架中,实现国际化是一项非常重要的任务。国际化可以让我们的应用程序适应不同语言和地区,提高应用程序的可读性和可用性。本文将详细介绍如何使用 Spring MVC 实现国际化。 国际化的重要性 在全球...

    图书馆国际化的要求.docx

    #### 一、信息资源建设的国际化 图书馆的国际化进程中,信息资源建设是核心要素之一。为了满足全球化背景下的多元文化需求,图书馆应当采取一系列措施来加强这一方面的工作: 1. **多语言资源的采集与保存**:图书...

    国际化字符转码_国际化

    国际化字符转码是IT领域中一个重要的概念,特别是在软件开发和网页设计中,因为全球化的市场需求使得软件和服务需要支持多种语言和字符集。这个过程涉及到将不同编码格式的字符转换成统一的标准,以便在不同的系统和...

    Android 一键国际化

    "Android 一键国际化"是一个针对Android Studio的高效插件,旨在帮助开发者便捷地为应用添加多语言支持,尤其对于那些需要快速扩展到不同国家和地区的企业或个人开发者来说,这是一款非常实用的工具。 该插件的主要...

    国际化标签库

    国际化标签库是一种软件开发工具,主要用于支持多语言环境下的应用程序。在现代软件开发中,特别是在全球范围内使用的产品或服务中,支持多种语言是至关重要的。国际化标签库提供了一种标准化的方式来管理和显示各种...

    js 国际化实现

    2. **本地化(l10n)**:本地化是国际化的一部分,专注于特定区域的定制,如日期格式、时间格式、货币符号等。`locale`文件通常包含这些区域设置信息。 3. **资源文件**:在实现国际化时,需要创建一个或多个资源...

    Kiwi国际化全流程解决方案

    在当今全球化的背景下,软件产品的国际化和本地化已经成为不可或缺的环节,特别是对于JavaScript开发者来说,理解并掌握这一流程至关重要。本文将深入探讨Kiwi项目提供的国际化全流程解决方案,帮助开发者更好地应对...

    file input 按钮国际化

    在IT行业中,"国际化"(Internationalization)是一个重要的概念,特别是在开发支持多语言的应用程序时。这个过程涉及设计和构建应用程序的方式,使得它可以适应不同地区的文化、语言和格式要求。"file input 按钮...

    国际化软件概论:软件国际化

    本文旨在深入探讨国际化软件的相关概念、术语以及其生产流程和技术,帮助读者全面理解这一领域的关键知识点。 #### 二、国际化软件的核心概念 **1. 全球化软件** - 定义:全球化软件是为全球用户设计,面向全球...

    C#语言国际化方法

    C#作为一种广泛使用的编程语言,在.NET框架下提供了丰富的API来实现应用程序的国际化。本文将详细介绍如何使用C#实现应用程序的国际化,包括基本概念、具体步骤以及注意事项。 #### 二、基本概念 1. **国际化...

    国际化 必备工具 java编写

    在IT行业中,国际化(i18n,Internationalization)是一个重要的概念,特别是在软件开发领域,它涉及使软件能够适应不同语言和地区的需求。Java作为一种广泛使用的编程语言,提供了强大的国际化支持。本篇将深入探讨...

    一个利用struts做的简单国际化

    1、struts国际化的配置 * 在struts-config.xml文件中加入: 2、提供不同版本的国际化资源文件,中文需要采用native2ascii转换成unicode 3、在jsp中采用标签来读取国际化消息文本 4、了解利用struts默认将locale...

    jquery国际化demo

    这个“jquery国际化demo”项目提供了一个简单的示例,帮助初学者快速理解和应用jQuery的国际化功能。 首先,jQuery的国际化通常依赖于jQuery-i18n-plugin。这是一个用于处理翻译文本的插件,它可以加载不同语言的...

    WPF数据国际化的实现

    在WPF中界面国际化很容易实现,但是数据国际化确实是一个难题。为了解决项目中的需求,我设计了解决方案。 思路: 1.在数据库中,需要国际化的字段存放国际化key值; 2.在xaml中创建多套国际化,key为数据库中的值...

    Spring mvc 国际化

    1. 创建国际化资源文件:在Spring MVC项目中,创建一个或多个属性文件(通常以messages开头),这些文件包含了键值对,键是应用中需要翻译的文本的引用,而值是具体的文本内容。例如,在messages.properties中可以...

    一个不错的国际化文件反转插件

    在IT行业中,国际化(i18n)是一个重要的议题,特别是在软件开发中。为了使软件能够适应不同国家和地区的语言需求,开发者需要采用国际化的策略。"一个不错的国际化文件反转插件"是一个专为此目的设计的工具,尤其...

    struts1.2 国际化

    在软件开发过程中,为了满足不同地域和语言环境下的用户需求,软件国际化(Internationalization, 简称 I18N)和本地化(Localization, 简称 L10N)成为了一项重要的技术挑战。Struts 1.2 框架作为 Java Web 开发的...

Global site tag (gtag.js) - Google Analytics