ios - 我的基本国际化 Storyboard是否必须对应于所有未本地化语言和字符串的后备语言?

标签 ios xcode localization internationalization uistoryboard

我查看了一些关于 apple developer 的国际化文档和视频,但我从未找到该问题的明确答案。在 Apple 的教程中,我在 en.lprojzh.lproj 旁边看到了 Base.lproj 文件夹——示例翻译(本地化)来自英语到中文。但他们告诉我有一个文件 en.lproj/myStoryboard.strings,这很令人困惑。我看不出为 Storyboard (已经是英文)创建英文本地化有什么意义。

  1. 所以我的问题是用户是否会在 Base.lproj/myStoryboard.storyboard 中看到字符串?
  2. 如果系统在我的包中找不到用户的首选语言文件夹,该文件中的字符串是否必须是向用户显示的默认字符串?
  3. 我可以明确地说“永远不要使用 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.stringsBase.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/

相关文章:

c# - 在 ASP.NET Web 窗体应用程序中本地化 JavaScript 字符串

ios - 一口气完成 iPhone 本地化

android - 在 Android 上看起来像中文的日文字符

iphone - iCarousel 在加载 View 时选择第一个索引

ios - 可达性和 IPv6

xcode - 我们应该停止 `DerivedData` 的聚光灯索引文件吗

ios - 为什么 Xcode 11.2 显示意外错误以及如何调试它?

objective-c - 插入SQLite

ios - 为什么我的 NSNotification 多次调用它的观察者?

iOS NSTextAttachment 图片不显示