2011-08-02 63 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”