2011-08-02 60 views
6

我已經走過了我的源文件並使用NSLocalizedString()宏更新了我所有的字符串。現在,因爲我有很多字符串出現在多個源文件中,所以我決定使用#define指令將大量字符串放在稱爲「LocalizedStringDefinitions.h」的頭文件中。因此,例如每一行看起來是這樣的,使用genstrings本地化Xcode源文件?

#define kLocalizedSTRINGNAME NSLocalizedString(@"STRINGNAME", @"Comment") 

我只是跑了genstrings在終端命令,並已創建的Localizable.strings文件包含只直接放置在我的代碼本地化的字符串,並沒有#的定義的。我有大約100行#defined字符串,我不想放回到我的代碼中,尤其是因爲它們出現在多個文件中。我怎樣才能本地化字符串?

+3

+1這個簡單而又甜美的想法可以將所有本地化保存在1個文件中,並使代碼更具可讀性。仍然找出這個方法有什麼缺點。 –

+0

很高興你喜歡這個主意...... – cgossain

回答

6

我剛剛意識到這是多麼簡單。如果您查看終端命令genstrings *.m,.m部分明確指定要查看實現文件。帶有#define的文件是頭文件(.h),所以通過使用命令genstrings *.h我能夠生成.strings文件,或者我可以將文件的名稱改爲「LocalizableStringDefinitions.m」