【问题标题】:iOS Localization on a per target basis?基于每个目标的 iOS 本地化?
【发布时间】:2013-11-20 10:24:29
【问题描述】:

我有一个项目,它基于每个目标构建多个应用程序,为了本地化应用程序,我可以将本地化语言添加到项目中,但不能基于每个目标。这意味着我们构建的任何目标都将支持该项目的所有本地化。即目标 A 必须支持英语和法语,但目标 B 必须只支持英语。

有没有办法为每个目标添加本地化语言?或者是正确的方法,将项目分支并维护代码库的不同分支,为不同的目标提供不同的本地化?

【问题讨论】:

  • 您如何使用本地化?使用 iOS 设置更改语言选项或在应用启动时选择语言选项等。
  • 要求是使用 iOS 设置的“更改语言”选项,因此内置支持本地化。我想实现自定义本地化框架将允许基于每个目标的本地化。你确实失去了在 xcode 中很好地本地化 NIB 文件和图像的能力。
  • 看看这个answer

标签: ios objective-c xcode localization


【解决方案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】:
    1. 为您需要从目标中删除的语言选择 localizable.strings 文件。

    2. 然后删除所选文件的目标成员资格。

    【讨论】:

      猜你喜欢
      • 2014-12-22
      • 2013-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-18
      • 1970-01-01
      相关资源
      最近更新 更多