genstrings是蘋果推出的一個用於自動從代碼的nslocalizedstring等提取生成國際化字符串的工具;git
xcode的國際化文件方案一直以來都不太智能,我記得好久之前.strings文件庫上的修改好像是必然會引起衝突的(別人在你修改過程當中提交);github
在代碼中寫完國際化的字符串還要單獨打開.strings文件進行編輯,比較麻煩。xcode
鑑於此,不少開發者在這個方面也作了很多的努力:模塊化
好比xcode裏面對genstrings的擴展或者是改寫,支持merge功能等(在github裏面搜索genstrings會出現一票的倉庫)。工具
其中值得一提的是DTLocalizableStringScanner,它不是基於genstrings而是所有本身開發的開源代碼,但願本身定製開發功能的朋友能夠考慮基於它進行改造。
測試
還有商業化的產品:spa
https://www.delitestudio.com/why-not-use-genstrings/
插件
願意付費的朋友能夠嘗試,應該能夠值回5美圓的票價。
code
還有別的思路,根據資源文件自動補全字符串(相似ksimageNamed):資源
https://github.com/questbeat/Lin
這個插件實際測試在xcode8下已經沒法安裝了(筆者使用的是反和諧的xcode,是能夠安裝其餘插件的)。
目前現有的方案都不太使人滿意,要想讓這套工做變得舒服,仍是要打造一套完整、好用的工具鏈,目前可用的工具我我的認爲離這個目標仍是有點遠。
這塊應該算上是蘋果開發中的痛點了,因此其中對於開發者而言也同時蘊含了機會,若是有好的工具或是產品出現,我的感受應該會比較受歡迎。
另外,我的認爲國際化文件也分模塊會比較好,這樣也有利於模塊化。
理想中的流程:
新模塊:
NSString -> LocalizedXXX ->自動生成.strings,進入其中進行編輯
pending:
NSString -> LocalizedXXX ->自動生成/merge.strings,進入其中進行編輯