gpt4 book ai didi

ios - 什么时候使用 Base.lproj?

转载 作者:IT王子 更新时间:2023-10-29 05:28:02 24 4
gpt4 key购买 nike

我试图理解 Base.lproj 但我仍然不理解它。如果我在 XCode 6 beta 4 中使用 View Controller 和 Swift+Storyboard 创建一个新的简单项目,我会得到一个开箱即用的 Base.lproj 文件夹,其中包含 Storyboard文件。

然后我在我的 View Controller 中添加一个简单的 NSLocalizedString(...) 用于测试目的。这需要一个 Localizable.strings 文件。当我创建一个时,我应该将它添加到 Base.lproj 中还是应该将它添加到特定语言文件夹中?

如果我将 Info.plist 中的 Localization native development region 键更改为德语的 de 并且我没有 de 的 Localizable.strings 文件在 de.lproj 文件夹中,如果在那里找到 Localizable.strings 文件,它似乎会回退到 Base.lproj 上。但是,如果我在 de.lproj 文件夹中添加一个 Localizable.strings 文件但不添加属性(键 + 值),应用程序将在运行时失败。似乎未搜索 Base.lproj

我不明白 Base 是什么语言,什么时候使用?它仅适用于 Storyboard 文件吗?

最佳答案

我的印象是 base.lproj 用于当前语言/本地化文件没有属性键的情况。例如,如果我有 Main_Title = "Title Text";在 base.lproj 中,在 en.lproj 中不存在,而当前语言是英语,我假设 iOS 会在 base.lproj 中找到它,但事实并非如此。

你的初步结论是正确的:

  1. Base is only used when you did not support that language in localizable.strings
  2. The specific language localizable.strings folder is used when device/ app is using that language
  3. If you do not provide support for a specific file/ string key in a language and you have a folder for that language, it will throw run-time warning

对于 Storyboard 文件和 xib,如果您只有包含您的 View 的 base.lproj 文件夹,无论您支持多少种语言,它都不会失败(这也是我正在做的)。

关于ios - 什么时候使用 Base.lproj?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24997671/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com