2009-12-31 53 views
2

作爲i18n項目的一部分,我需要以編程方式從NIB文件中提取字符串。當然,這可以用ibtool輕鬆完成。但是這是一個跨平臺的產品,其中NIB只是其中的一部分。如果我們不需要將字符串提取鎖定到特定的機器,或者必須將目錄合併腳本拼湊在一起,那將會很好。ibtool是否有替代解析NIB文件的選擇?

所以我意識到這是一個很長的過程,因爲對此的需求可能很低,但是有沒有開源的ibtool替代品?是否有足夠可靠的NIB格式文檔來編寫解析器?

回答

2

如果您使用XIB,那麼它們就是簡單的XML文件。只需尋找具有密鑰NSContentsstring元素。如果您熟悉XML解析,則幾乎任何語言都不需要很長時間就可以逆向工程--export-strings-file

如果你不能移動到XIB,你可以閱讀keyedobjects.nib,這是一個二元plist。一個便攜式閱讀器是Perl實現plutil.pl。你也可以看看蘋果公司的開源代碼,以便在CFBinaryPlist.c中處理它們。如果你需要這樣做,看看OpenCFLite。閱讀和寫作Plist是人們使用便攜式Core Foundation的關鍵原因。

+0

我對XIB不瞭解;正是我正在尋找的,謝謝! – DNS