Xcode - 目标特定的本地化

Posted

技术标签:

【中文标题】Xcode - 目标特定的本地化【英文标题】:Xcode - Target specific localization 【发布时间】:2017-12-07 09:59:02 【问题描述】:

我的项目包括几个目标,每个目标用于不同的客户。有些客户需要特定的本地化,我不希望所有客户都获得这种特定的本地化。由于本地化是在项目级别处理的,因此我找不到仅针对特定目标添加本地化的方法。

有什么建议吗?

寻找稳定的选项,而无需在每次构建之前删除未使用的本地化。

【问题讨论】:

这应该会有所帮助:***.com/questions/10523792/… 【参考方案1】:

为每个目标创建一个单独的“Localizeable.strings”。

将正确的字符串文件与每个“组”字符串链接。

然后在Build Phases 中为每个目标设置正确的“字符串”,如下所示:

【讨论】:

如果我有多个目标,我是否需要为每个目标创建一个Localizable.strings 文件,或者我可以为我需要本地化的目标添加一个文件吗? 你好@Adrian,每个 localizable.strings 只是一个普通文件。在右窗格中(对于任何文件),您选择需要该文件的目标(在“目标成员资格”下)。每个文件可以附加到多个目标。 (代码也一样) 我刚关机,但我会在早上摆弄它。我从 WWDC 视频中尝试过的每一件事都假设一个简单的应用程序只有一个目标,但没有任何效果。感谢您这么快回来。【参考方案2】:

我设法通过@Yitzchak 回答 + 其他更改来解决它:

在项目级别添加所需的语言。 从目标中删除原始可本地化文件。 新建 Localizable.strings / InfoPlist.strings 并将其添加到目标中。 在“本地化”选项中只选择相关语言(见下图)

【讨论】:

虽然对上述解决方案有一个建议.. 我们不需要删除原始本地化文件(如果有很多文件会很有帮助),只需取消选中以下现有文件不需要的目标“目标会员”部分。添加新文件时只需选择剩余的目标。 这不会导致所有语言都出现在 AppStore 上吗?即使是不使用特定语言的目标。

以上是关于Xcode - 目标特定的本地化的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 Fastlane 脚本添加 Xcode 本地化语言

本地通知后 Xcode 显示特定视图

Xcode:针对特定语言而不是“基础”导出到 XLIFF

XCode PhoneGap 本地化

Xcode 项目:针对不同目标的不同语言

XLIFF 中的 xib 中缺少字符串(Xcode 基本本地化)