1. po文件是 gun gettext 下面的国际化文件 ,正对不同的地区,编辑不能的po文件。如 汉语 zn_ch.po ,英语en.po
2.怎么样使用了,利用 gun gettext tools .工具编译 po文件 ,生成各个语言的代码 。java- >生成。class 文件。
3.java 中使用
/**
* 1.配置文件 i18n.properties
* 2.国际化文件messages
* 3.运行测试
*
* 下载gettext windows
* 1.编辑po文件
* 2.编译po成class msgfmt --java2 -d ./ -l zh_CN -r org.srdb.messages zh_CN.po
*
*/
public class I18NTest {
public static void main(String[] args) {
I18n i18n = I18nFactory.getI18n(I18NTest.class.getClass());
//i18n.setLocale(Locale.CHINA);
System.out.println(i18n.tr("This is a test message1"));// 返回翻译
String[] array = new String[] { "Pandy", "Brian" };
System.out.println(i18n.tr("这句话是中文原文,第一个参数{0},第二个参数{1}", array));// 返回翻译
System.out.println(i18n.trn("This is a test message2", "This is a test message2-2", 0));
System.out.println(i18n.trc("This is a test message3", "this is a default message"));// 返回默认
}
}
错误情况
命令:> msgfmt --java2 -d ..\ -l zh_CN -r com.windbell zn_ch.po> msgfmt: cannot create a temporary directory using template "\/msg*": Invalid argument
解决方案:需要设置环境变量 TMPDIR =C:/....xxxx