使用 Xcode 5 禁用英语本地化
Posted
技术标签:
【中文标题】使用 Xcode 5 禁用英语本地化【英文标题】:Disable English localization with Xcode 5 【发布时间】:2014-01-24 08:36:56 【问题描述】:我搜索了相关问题并尝试了许多建议的方法,但似乎没有一个有效。
我有一个仅限日语的应用程序,当在英文设备上运行时,它会获取 UI 项目,例如翻译后退按钮(“后退”)。
为了实现这一点,我有:
从我的项目的“Localizations”中删除了英文,并选择删除本地化文件(是单个 *.strings 文件)。
将我的 Info.plist 中的 CFBundleDevelopmentRegion
从 jp_JP
更改为 jp
,因为我读到它应该与 *.lproj 文件夹的名称匹配。
已清理、删除、关闭 Xcode 等。但默认 UI 项目仍在翻译成英文。
我现在在 Xcode 5 中也遇到了一些奇怪的行为:
选中“使用基本国际化”检查簿会显示一个空的“选择文件和参考语言以创建基本本地化”。选择 Cancel 或 Finish 没有任何效果,也没有任何反应。
点击“+”按钮添加Other >“Base(Base)”本地化什么都不做。
我的问题似乎是我的 Base 本地化仍然是英语,但我找不到改变它的方法。有什么想法吗?
【问题讨论】:
【参考方案1】:我发现要真正删除英语支持,我必须将CFBundleDevelopmentRegion
正确设置为一个完全有效的区域(例如ja_JP
),而不仅仅是一种语言(只是ja
仍然会导致英语出现)。
当你有一个有效的区域时,Xcode 会在 Plist 编辑器中显示你的国家名称而不是原始值。
似乎有些模块,例如MFMailComposeViewController
,无论如何都会本地化为英语(在 ios 6 和 7 上测试)。
【讨论】:
【参考方案2】:我遇到了同样的问题。以下是我为克服它们而采取的步骤。
-
本地化您的故事板文件。
-
在 Xcode 中选择您的 Storyboard 文件。
在“文件检查器”的“本地化”子标题下,按“本地化...”按钮。
会出现一个对话框,上面写着“您要本地化此文件吗?该文件将被移动到以下语言的 lproj 文件夹中。”它列出了一种语言。对我来说,它是“英语”,我选择了它。对你来说,我怀疑它会是“日语”。
按“本地化”按钮。
如果您返回故事板,您将看到“Base”作为选中的本地化。我让我的语言(英语)显示为一个选项。当我检查它时,创建了一个 storyboard.strings 文件。因为我的基础已经是我喜欢的语言,所以我不需要字符串文件,所以我删除了它。我假设如果我有另一种语言,我可以选择它并获取该语言的 storyboard.strings 文件。
【讨论】:
以上是关于使用 Xcode 5 禁用英语本地化的主要内容,如果未能解决你的问题,请参考以下文章
在 xcode 5 中本地化 Localizable.string 会破坏整个文件