我有9种语言的键值格式的本地化资源文件(.java文件)。我需要创建9个其他本地化文件的基础上,在英文文件(en.yml)的关键字。后者类似于前一个的子集,可能包含en.yml文件中给出的键的一些额外的keys.Based。我需要从java文件中选择字符串(对于所有9个文件),并为每种语言创建相应的本地化(yml)文件。
我需要写一个脚本,我可以在任何时候运行创建的yml文件的基础上,英文的yml文件,从基本的java文件中挑选字符串如上所述。
有人能帮我写剧本吗?哪种语言更好?
发布于 2012-11-05 17:16:06
加载English Properties文件:
Properties properties = new Properties();
try {
properties.load(new FileInputStream("path/filename"));
} catch (IOException e) {
...
}对于您需要支持的每种语言:创建名为%filename%_%LANG%.properties的.properties文件。加载相关的语言特定属性。迭代您的英语键枚举,并将相应的(特定于语言的)值放入本地化文件中:
// create localized .properties file and load values for look-up
for(String key : properties.stringPropertyNames()) {
String value = properties.getProperty(key);
// put the value in the localized file;
}发布于 2012-11-05 20:41:50
如果我没理解错你的问题,你有9个.java文件(.properties格式?)和一个包含英语字符串的.yml文件。您正在寻找一个与.java文件中的值相匹配的脚本,并根据英文.yml文件中的键将它们写入新的.yml文件。
你说你需要一个可以在任何时候运行的脚本。我想这是因为未来可能的更新,以及管理所有的翻译等?
如果您必须处理多个翻译,我认为最好保留一个单独的翻译电子表格或数据库,并使用它来生成所需的文件。这更容易,因为您可以在一个中心位置添加或更新值,并且可以编写脚本或宏来生成所需的转换文件(.strings或.xml或其他任何文件)。
https://stackoverflow.com/questions/13228898
复制相似问题