ibtool
是從XIB文件中提取字符串的工具。示例命令:從XIB文件中提取文本進行人類可讀的翻譯
find . -name \*.xib | xargs -t -I '{}' ibtool --generate-strings-file '{}'.strings.txt '{}'
但ibtool生成的輸出對於'normal'(讀取:非開發人員)的人是不可讀的。
實施例:
/* Class = "IBUILabel"; text = "Regards:"; ObjectID = "201"; */
"201.text" = "Regards:";
沒有與它幾個問題(從翻譯者的角度看);
- 此格式與Localizable.strings預期的格式不同。
- 它混淆了哪些文本要翻譯:a)在評論行中,b)一個在未註釋行中,c)或兩者都可能
- 它只是很混亂。
我需要XIB字符串Localizable.strings
格式(從NSLocalizableString宏提取字符串提取使用genstrings
:
"key"="to translate";
它有沒有辦法讓ibtool輸出文本這樣
你說得對,生成的格式是一場噩夢。認爲我們被卡住了,因爲這是它在內部匹配的。我發現一個殺手是輸出的順序是由(隨機)鍵字母排序的 - 它與字符串出現在界面中的位置沒有任何對應關係,因此很難遵循。除非我遺漏了一些東西,ibtool似乎無法將新字符串附加到手動重構和註釋的文件(這可能會有所幫助)。擁有通用應用程序意味着發送兩個基本上包含相同字符串的同樣不可讀的文件。 –
@RobGlassey我發佈了下面的工作腳本。 – Lukasz