2012-11-05 25 views
0

我有9種語言的鍵值格式(.java文件)的本地化資源文件。我需要根據英文文件中存在的鍵(en.yml)創建9個其他本地化文件。後者像前一個子集,可能包含一些額外的鍵。基於en.yml文件中給出的鍵,我需要從java文件中選擇字符串(對於所有9個文件)並創建相應的本地化(yml)文件爲每種語言。需要編寫一個腳本來創建基於給定主文件的鍵值對本地化文件

我需要編寫一個腳本,我可以隨時運行腳本來創建基於英文yml文件的yml文件,如上所述從基本java文件中選取字符串。

任何人都可以幫我寫劇本。哪種語言會更好?

回答

0

裝入英語屬性文件:

Properties properties = new Properties(); 
try { 
    properties.load(new FileInputStream("path/filename")); 
} catch (IOException e) { 
    ... 
} 

對於每一個需要支持的語言:創建屬性文件名爲%文件名_%LANG%%的.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; 
} 
0

如果我正確理解你的問題;你有9個帶有翻譯值的.java文件(.properties格式?)和一個帶有英文字符串的.yml文件。您正在尋找一個與.java文件中的值匹配的腳本,並根據英文.yml文件中的鍵將它們寫入新的.yml文件。

你說你需要一個腳本,你可以隨時運行。我認爲這是因爲未來可能的更新,並管理所有的翻譯等?

如果您必須使用多種翻譯,我認爲最好保留一個單獨的翻譯電子表格或數據庫,並使用它來生成您需要的文件。這很容易,因爲您可以在一箇中心位置添加或更新值,並且可以編寫腳本或宏以生成所需的翻譯文件(.strings或.xml或其他)。

相關問題