Xcode:如果文件名不是Localizable.strings,如何本地化一个静态的lib项目,如何使本地化的字符串文件工作?

时间:2012-10-23 02:41:08

标签: xcode localization

问题1: 我正在关注http://pinkstone.co.uk/how-to-localize-your-project-in-xcode-4-4/为我的hello world项目创建本地化字符串。在我将文件名从Localized.strings更改为Localizable.strings之前,本地化无法工作。似乎只识别文件“Localizable.strings”?在我的真实项目中,我想要不同模块的几个字符串文件,那我该怎么办?

问题2: 现在我正在尝试本地化一个静态库项目。我按照上面的确切步骤使用Localizable.strings作为文件名。这些文件将添加到库项目中。但是,结果是字符串根本没有本地化。为什么以及如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

对于问题1,您可以使用以下功能:     NSLocalizedStringFromTable(@“aString”,@“fileName”,nil)

它返回一个本地化的NSString,其中fileName是一个包含要本地化的字符串的文件。

此外,fileName的扩展名应为.strings

答案 1 :(得分:1)

正如您所指出的,NSLocalizedString正在寻找Localizable.strings。正如Jim所说,您可以使用NSLocalizedStringFromTable指定另一个字符串文件。

对于问题2,这可能与您的第一个问题有关。如果你将你的库包含在一个本身有一个Localizable.strings文件的项目中,那么就会发生冲突(不幸的是XCode没有警告你),只有两个Localizable.strings文件中的一个会在你的应用包。如果是这种情况,解决方案是使用不同的名称,根据问题1的答案。