我查看了一些关于 apple developer 的国际化文档和视频,但我从未找到该问题的明确答案。在 Apple 的教程中,我在 en.lproj
和 zh.lproj
旁边看到了 Base.lproj
文件夹——示例翻译(本地化)来自英语到中文。但他们告诉我有一个文件 en.lproj/myStoryboard.strings
,这很令人困惑。我看不出为 Storyboard (已经是英文)创建英文本地化有什么意义。
- 所以我的问题是用户是否会在
Base.lproj/myStoryboard.storyboard
中看到字符串? - 如果系统在我的包中找不到用户的首选语言文件夹,该文件中的字符串是否必须是向用户显示的默认字符串?
- 我可以明确地说“永远不要使用
Base.lproj/myStoryboard.storyboard
,总是求助于en.lproj/myStoryboard.strings
”吗?
换句话说:
假设我希望我的应用程序在用户的语言不可用时以英语显示,但我的 Base.lproj/myStoryboard.storyboard
是瑞典语。然后,我是否必须将 Base Storyboard 本地化为 sv.lproj/myStoryboard.strings
并将 Base Storyboard 中的所有字符串翻译成英语以完成此操作?
最佳答案
在我的例子中,XCode 5 没有创建 en.lproj/myStoryboard.strings
,Base.lproj
文件夹中只有原始 Storyboard。也许这是一个旧的 XCode 问题?
尝试删除该文件,看看您的应用是否与默认的英文字符串 Base.lproj 相得益彰。
您的 Info.plist 文件应该有一个条目 Localization native development region
,它指向要使用的 lproj 文件夹,以防首选语言中不存在所需的字符串。
我不确定这一点,但我认为您必须使用 en
并且带有 Base.lproj
的 UI 会自动回退到 Base.lproj
。
这对您有任何帮助吗?
关于ios - 我的基本国际化 Storyboard是否必须对应于所有未本地化语言和字符串的后备语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18114994/