1、了解缺省Locale是由操作系统决定的,Locale是由语言和国家代码组成
2、国际化资源文件是由baseName+locale组成,如:MessageBundle_en_US.properties
baseName是任意合法的文件名
3、native2ascii命令的位置和用法
* 位置:JAVA_HOME/bin
* 使用native2ascii.exe o.properties MessagesBundle_zh_CN.properties
NoI18nSample.java
package com.bjsxt.i18n;
public class NoI18nSample {
public static void main(String[] args) {
// System.out.println("你好");
// System.out.println("再见");
System.out.println("hello");
System.out.println("good bye");
}
}
I18nSample.java
package com.bjsxt.i18n;
import java.text.MessageFormat;
import java.util.Locale;
import java.util.ResourceBundle;
public class I18nSample {
public static void main(String[] args) {
Locale defaultLocale = Locale.getDefault();
System.out.println("default country=" + defaultLocale.getCountry());
System.out.println("default language=" + defaultLocale.getLanguage());
//Locale currentLocale = new Locale("en", "US");
//Locale currentLocale = new Locale("zh", "CN");
Locale currentLocale = new Locale("ja", "JP");
ResourceBundle rb = ResourceBundle.getBundle("res.MessagesBundle", currentLocale);
//System.out.println(rb.getString("k1"));
//System.out.println(rb.getString("k2"));
MessageFormat mf = new MessageFormat(rb.getString("k1"));
System.out.println(mf.format(new Object[]{"Tom"}));
//System.out.println(mf.format(new Object[]{"张三"}));
}
}
o.properties
引用
k1=你好,{0}
k2=再见
MessagesBundle.properties
引用
k1=hello,{0}
k2=good bye
MessagesBundle_en_US.properties
引用
k1=hello,{0}
k2=good bye
MessagesBundle_zh_CN.properties
引用
k1=\u4f60\u597d,{0}
k2=\u518d\u89c1
分享到:
相关推荐
【Locale.Emulator.2.3.1.1.rar】是一个用于解决地区限制问题的工具,主要用于帮助用户在不改变系统区域设置的情况下运行特定地域版本的应用程序或游戏。这个压缩包包含的是“Locale Emulator”软件的版本2.3.1.1。...
QT中文显示(使用翻译工具linguist) 在本文中,我们将讨论如何使用QT实现中文显示,并介绍使用QT自带的linguist翻译工具来实现国际化。以下是相关知识点: ...同时,开发者需要了解locale设置和字体管理机制。
但这需要对Jqgrid的源码有一定的了解,一般情况下并不推荐。 总的来说,`grid.locale-cn.js`是Jqgrid实现中文界面的关键组件,通过它,开发者可以轻松地将Jqgrid的用户界面转换为中文,提供更加友好的用户体验。...
8. Docs:这个文件夹可能包含了软件的文档,包括使用手册、帮助文件等,帮助用户了解和使用Locale Emulator。 9. Lang:这个文件夹很可能包含了不同语言的资源文件,使得软件能够支持多种语言界面,以满足不同用户...
总的来说,了解和掌握Flex的国际化特性对于开发多语言应用至关重要。"flex_locale.zip"中的示例教程将帮助你理解和实践这一过程,提高你的Flex开发技能。通过学习和研究这个压缩包内的内容,你将能够创建出更加全球...
**Koa-locale:前端开源库的国际化利器** 在现代Web开发中,提供多语言支持是必不可少的功能,以便全球用户能够方便地访问和使用...你可以通过阅读源代码和文档来深入了解其工作原理和用法,或者查看示例以快速上手。
首先,我们需要了解`language-pack-zh-hans`和`language-pack-zh-hans-base`这两个包的作用。它们是Ubuntu官方提供的中文语言支持包,`zh-hans`代表简体中文。`language-pack-zh-hans-base`包含了一些基础的简体中文...
【change.log】:这是变更日志文件,记录了Locale Emulator各个版本之间的更新和改进,帮助用户了解新版本带来了哪些新功能和修复的已知问题。 总的来说,Locale Emulator是一个强大且实用的工具,对于那些依赖特定...
在Spring MVC框架中,对`locale`(地区设置)和`theme`(主题)的支持是构建国际化和个性化用户界面的关键部分。这篇学习笔记将深入探讨这两个概念...了解并掌握这些知识,对于开发高质量的Spring MVC应用至关重要。
标题中的"locale_string_cat.rar_klt"可能是一个与编码和数据压缩相关的文件压缩包,其中包含了处理特定区域设置(locale)字符串的代码或资源。...了解并掌握这些技术对于理解和优化相关应用的性能至关重要。
CodeBlocks是一款开源、免费的C++集成开发环境(IDE),深受许多编程初学者和专业开发者喜爱。这款软件具有丰富的功能,支持多种...了解如何正确安装和使用这类插件,对于提高开发效率和减少学习障碍是非常重要的。
首先,我们来深入了解一下Locale(Tasker)。这是一款强大的自动化工具,允许用户根据设备状态(如位置、时间、网络连接等)执行预设的任务。Tasker的核心在于创建“任务”和“配置文件”,任务是执行的一系列操作,...
首先,我们需要了解的是,Linux系统的字符编码默认可能是UTF-8或者其他非中文编码,这就会导致中文文件名、网页内容或者命令行输出出现乱码。为了解决这个问题,我们需要从以下几个方面进行设置: 1. **更新locale*...
为了更好地利用 Ruby Locale,开发者需要了解如何导入和初始化这个库,如何设置和切换 locale,以及如何访问和使用提供的数据。同时,对于涉及到多语言的项目,还需要熟悉 I18n 库的用法,以便进行字符串的本地化。 ...
在Android应用开发中,针对不同国家和地区的用户,我们需要提供多语言支持,即国际化(i18n)。`Locale`类是Android系统中用于处理语言和区域设置的关键类,它...在进行国际化开发时,了解和掌握这些技巧是非常重要的。
这种方法需要对编译过程有深入了解,并且会增加固件的体积。 3. **使用musl libc替代glibc**: musl libc是一个轻量级且兼容POSIX的C库,它比glibc小且启动更快,有时可以作为BusyBox的更好选择。不过,musl的本地...
在介绍Hausdorff分离性的Locale特征之前,有必要先了解一些基本概念和定义。首先,“Locale”是完备格的一种,特别地,它是完备Heyting代数。完备格是一个偏序集,其中的任何子集都有一个最小上界和一个最大下界。而...
3. **Locale Emulator的工作原理**:Locale Emulator通过模拟不同的区域设置环境来运行程序,使得应用程序误以为当前的系统环境支持其需要的字符编码,从而避免乱码问题。它可以独立于系统设置运行,避免了全局更改...
ESEmu-locale-manager 是一个专门用于管理ESE(Extensible Storage Engine)模拟环境本地化设置的批处理脚本工具。在深入探讨这个工具之前,我们先了解一下ESE引擎。ESE,又称JET Blue,是由微软开发的一种高性能、...
首先,我们要了解什么是locale。Locale是操作系统内部用于控制日期、时间、货币格式、数字格式、度量单位等显示的设置,其中也包括字符编码方式。它由语言代码、地区代码以及字符编码组成。例如,zh_TW.UTF-8表示...