基于每个目标的 iOS 本地化?
Posted
技术标签:
【中文标题】基于每个目标的 iOS 本地化?【英文标题】:iOS Localization on a per target basis? 【发布时间】:2013-11-20 10:24:29 【问题描述】:我有一个项目,它基于每个目标构建多个应用程序,为了本地化应用程序,我可以将本地化语言添加到项目中,但不能基于每个目标。这意味着我们构建的任何目标都将支持该项目的所有本地化。即目标 A 必须支持英语和法语,但目标 B 必须只支持英语。
有没有办法为每个目标添加本地化语言?或者是正确的方法,将项目分支并维护代码库的不同分支,为不同的目标提供不同的本地化?
【问题讨论】:
您如何使用本地化?使用 ios 设置更改语言选项或在应用启动时选择语言选项等。 要求是使用 iOS 设置的“更改语言”选项,因此内置支持本地化。我想实现自定义本地化框架将允许基于每个目标的本地化。你确实失去了在 xcode 中很好地本地化 NIB 文件和图像的能力。 看看这个answer。 【参考方案1】:让我们试试吧:
+ NSString* NSCustomLocalizedString( NSString *key , NSString *comment)
NSString *rs = nil;
#ifdef A //target A
//you define English-French
rs = NSLocalizedString(key,@"");
#else //target B
rs = NSLocalizedStringFromTable(key,@"Localizable.strings-en",nil);
return rs;
【讨论】:
【参考方案2】:为您需要从目标中删除的语言选择 localizable.strings 文件。
然后删除所选文件的目标成员资格。
【讨论】:
以上是关于基于每个目标的 iOS 本地化?的主要内容,如果未能解决你的问题,请参考以下文章