Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 需要编写基于给定主文件创建键值对本地化文件的脚本_Java_Php_Yaml - Fatal编程技术网

Java 需要编写基于给定主文件创建键值对本地化文件的脚本

Java 需要编写基于给定主文件创建键值对本地化文件的脚本,java,php,yaml,Java,Php,Yaml,我有9种语言的键值格式(.java文件)的本地化资源文件。我需要根据英文文件(en.yml)中的密钥创建9个其他本地化文件。后面的一个类似于前一个的子集,可能包含一些额外的键。根据en.yml文件中给出的键,我需要从java文件中选择字符串(对于所有9个文件),并为每种语言创建相应的本地化(yml)文件 我需要编写一个脚本,我可以在任何时候运行它来创建基于英文yml文件的yml文件,从上面提到的基础java文件中选择字符串 有人能帮我写剧本吗。哪种语言更好?加载英文属性文件: Propertie

我有9种语言的键值格式(.java文件)的本地化资源文件。我需要根据英文文件(en.yml)中的密钥创建9个其他本地化文件。后面的一个类似于前一个的子集,可能包含一些额外的键。根据en.yml文件中给出的键,我需要从java文件中选择字符串(对于所有9个文件),并为每种语言创建相应的本地化(yml)文件

我需要编写一个脚本,我可以在任何时候运行它来创建基于英文yml文件的yml文件,从上面提到的基础java文件中选择字符串


有人能帮我写剧本吗。哪种语言更好?

加载英文属性文件:

Properties properties = new Properties();
try {
   properties.load(new FileInputStream("path/filename"));
 } catch (IOException e) {
   ...
 }
对于您需要支持的每种语言:创建名为%filename%\uu%LANG%.properties的.properties文件。加载相关语言的特定属性。 迭代English keys枚举,并将相应的(特定于语言的)值放入本地化文件中:

// 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;
}

如果我正确理解你的问题;您有9个带翻译值的.java文件(.properties format?),还有一个带英文字符串的.yml文件。您正在寻找一个脚本,该脚本匹配.java文件中的值,并根据English.yml文件中的键将它们写入新的.yml文件

你说你需要一个可以随时运行的脚本。我想这是因为将来可能会有更新,以及管理所有的翻译等等

如果您必须处理多个翻译,我认为最好保留一个单独的翻译电子表格或数据库,并使用它生成所需的文件。这更容易,因为您可以在一个中心位置添加或更新值,并且可以编写脚本或宏来生成所需的翻译文件(.strings或.xml或其他内容)