如何使用英语以外的语言,但仍然使用英语的NSLocalizedString?

时间:2012-03-21 16:06:40

标签: ios localization nslocalizedstring genstrings

我找不到任何类似的问题,所以我们走了:

我正在开发一个iOS应用程序,第一个版本仅限于法语,但我们计划在将来发布英文版本。此时,我认为对所有文本使用NSLocalizedString是个好主意,以便在需要英语时应用程序就绪。但是,我真的想在我的代码中使用英语作为键值:

aString = NSLocalizedString(@"Yes", @"Text for positive answer");

而不是

aString = NSLocalizedString(@"Oui", @"Text for positive answer");

然后我想运行genstrings,并用法语本地化.strings文件(并将其交给译员)。但是,如果我这样做,我怎么能摆脱“原始”的英文.strings文件?我在这里完全错了,我的代码中是否必须使用法语?

2 个答案:

答案 0 :(得分:1)

您可以用英语完成整个项目,在localizable.strings文件中保留英语单词,但只保留fr.lproj文件夹,并在plist中将支持的语言设置为仅限法语。

答案 1 :(得分:1)

如果您正在使用英语开发应用程序并将其本地化为法语,我想知道您为什么要主动阻止该应用程序以英语运行。如果你的目标市场中的某些用户(我想象的只是法国?)喜欢用英语运行他们的iOS设备,为什么要拒​​绝他们的首选语言呢?或者是因为你不会做英文版的质量保证,因此不希望公开它?

无论如何,我相信您可以通过简单地编辑项目元数据来限制支持的语言列表。在XCode中,支持语言列表显示在此页面上 - 只需删除英语,我相信您的英语本地化,即使它们存在于您的项目中,也不会被使用(我没有测试过,但我对此表示怀疑)将删除您现有的英文文件,它应该从应用程序支持的语言列表中删除它们

enter image description here