gpt4 book ai didi

java - gettext-common 示例不起作用

转载 作者:行者123 更新时间:2023-12-01 15:39:44 26 4
gpt4 key购买 nike

我需要翻译我的应用程序,所以我想使用 http://code.google.com/p/gettext-commons 中的 gettext-common

我检查了 svn 并尝试编译示例:

javac -classpath ../java I18nExample.java
java -classpath ../../target/gettext-commons-0.9.6.jar:. I18nExample

程序没有给我目标输出;我完全不知道发生了什么事!

似乎de.properties被完全忽略了。如果我在工厂的构造函数中将属性文件设置为“de”,我会得到部分我想要看到的输出。

互联网上有没有 java 的 gettext 的工作示例?

这是示例脚本的输出:

First run
This text is marked for translation and is translated
This text is marked for translation but not translated
This text is marked for translation but not translated
Four: 4
chat
chat
1 file is open
2 files are open
Second run
This text is marked for translation and is translated
This text is marked for translation but not translated
This text is marked for translation but not translated
Four: 4
chat
chat
1 file is open
2 files are open

最佳答案

存在一些问题,可能是由于构建过程造成的。

首先,为了使消息查找正常工作,我需要将 ende 资源移动到 Messages_en.properties Messages_de.properties 以便制作真正的资源包。

其次,示例代码尝试使用没有可用翻译的消息,例如“文件已打开”之类的内容。这是我尝试过的更新版本;这一切似乎都适用于上述修改:

public static void main(String[] args) {
I18n i18n = I18nFactory.getI18n(I18nExample.class, "Messages");
for (int i = 0; i < 2; i++) {
if (i == 0) {
print("First run");
} else {
print("Second run");
i18n.setLocale(Locale.GERMAN);
}

print("Current locale: " + i18n.getLocale());

print(i18n.tr("This text is marked for translation and is translated"));

String mark = i18n.marktr("This text is marked for translation but not translated");
print(mark);
print(i18n.tr(mark));

mark = i18n.tr("This is the {0}. text to be translated", "chat (noun)");
print(mark);

mark = i18n.tr("This is the {0}. text to be translated", "chat (verb)");
print(mark);

print(i18n.tr("chat (noun)"));
print(i18n.tr("chat (verb)"));

print("");
}
}

另请注意,要插入翻译后的单词,您需要如下内容:

print(i18n.tr("This is the {0}. text to be translated", i18n.tr("chat (noun)")));
print(i18n.tr("This is the {0}. text to be translated", i18n.tr("chat (verb)")));

但是,如果不取消敲击(删除 ! 并在 Messages_en.properties 中提供英文翻译,它会显示为聊天(名词),这...让我觉得几乎没用。

缺乏这方面的文档。

关于java - gettext-common 示例不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8259925/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com