【发布时间】:2015-06-25 07:29:20
【问题描述】:
我正在开发一款几乎专门针对日本用户的 iOS 应用,其中可能有一小部分说英语的用户。
所有故事板和 xib 都使用日文字符串设计,并且应该在稍后阶段本地化为英文。
从一开始,Xcode 中 Project 的 Info/Localizations 部分如下:
(这两个文件当然是“Main.storyboard”和“LaunchScreen.xib”)
因为已经添加了“English”(作为开发语言),所以我无法点击“+”按钮并将其添加为本地化。我可以添加“日语”,但我希望它成为开发语言,而不仅仅是一些(辅助)本地化。
此外,与上述明显矛盾的是,目标的Info.plist文件内容如下:
当我在项目导航器中选择任一本地化文件(Main.storyboard 和 LaunchScreen.xib)并检查文件检查器时,“本地化”部分显示为:
...这似乎表明现有的日语文件(.xib 和 .storyboard)是“基础”,检查“英语”也会增加对该语言的支持(下拉菜单似乎表明我可以选择使用字符串文件或故事板的专用副本。我倾向于相信字符串方法更好)。
...那么,我应该怎么做呢?
A.检查文件检查器/本地化部分中的“英语”框?
这将创建一个 en.lproj 文件夹并在其中添加一个字符串文件,我猜我应该稍后翻译。这似乎有效地将我现有的 Interface Builder 文件(填充有日语标签)视为“基础”,并通过创建的字符串文件(如果我理解正确的话)提供英语本地化。然而,英语作为项目设置中的开发语言仍然令人不安......
B.在 Project/Info/Localizations 窗格中删除英语并改为添加日语? 这将使日语成为开发语言,之后我可以将英语重新添加为本地化。但由于某种原因,如果我这样做,日语将 不 被视为“基本”语言,并且还会为日语添加(不必要的)字符串文件,而不仅仅是英语。
编辑:我找到了this question,它以某种方式为上述选项 B 提供了“修复”。
【问题讨论】:
标签: ios xcode localization interface-builder