2011-04-21 64 views
15

我正在尋找一種方法從.xib文件中提取所有可本地化的字符串,並將它們全部保存在一個文件中。如何從所有XIB文件中將所有可本地化的字符串提取到一個文件中?

也許這涉及ibtool但我無法確定合併所有這些只有一個翻譯詞典的方法(可能是.strings.plist或別的東西)。 (您存儲的所有XIB文件或目錄)

+0

您是否找到了答案? – Lukasz 2011-06-07 08:47:04

+0

@Lukasz不是一個完整的人,但當我有解決方案時,我肯定會發表一個答案。 – sorin 2011-06-07 09:15:07

回答

32

打開終端和cd到項目的根目錄,然後鍵入以下命令:

find . -name \*.xib | xargs -t -I '{}' ibtool --generate-strings-file '{}'.txt '{}' 

神奇的是查找和xargs的命令一起工作。 -I選項生成佔位符。 -t僅用於詳細輸出(您會看到哪些命令已生成並執行)。 它生成與同一目錄中的xib文件具有相同名稱的txts文件。 可以改進此命令以將輸出連接成一個文件,但仍然是一個很好的起點。

將它們連接在一起:

可以使用類似的終端命令串聯這些新創建的文件合併爲一個:

find . -name \*.xib.txt | xargs -t -I '{}' cat '{}' > ./xib-strings-concatenated.txt 

該命令將會把所有的字符串放到一個文件XIB串 - 並置。 txt在根目錄下。

您可以再次使用查找和xargs的刪除生成的部分文件(如果你想):

find . -name \*.xib.txt | xargs -t -I '{}' rm -f '{}' 
+1

很棒的回答。有沒有一個網絡資源,我可以學習如何製作這樣的命令行工具? – 2014-04-28 06:38:07

+0

@TusharKoul Bash腳本文檔和教程? ;-) – Lukasz 2014-04-28 07:23:20

+0

是的。我希望你能指點我一個你經常提到的具體資源。無論如何,我想我對Google的感覺太懶了:D – 2014-04-28 09:25:43

5

這是現在很多更容易。

在Xcode中,選擇您的項目(不是目標)

然後使用菜單/編輯/導出本地化

的Xcode將輸出與整個項目的所有localisable字符串的XLIFF文件。

+0

這是否只從xibs?或從.m文件呢? – 2016-03-24 13:58:50

+0

它是否包含來自xib或故事板的所有可能的字符串? F.ex:所有按鈕狀態的標題? – Lukasz 2016-03-24 14:43:16

相關問題