单一语言的 iOS 应用本地化
Posted
技术标签:
【中文标题】单一语言的 iOS 应用本地化【英文标题】:iOS app localization for a single Language 【发布时间】:2012-04-23 09:53:33 【问题描述】:我查看了与该论点相关的堆栈溢出的所有答案,但我找不到对我的情况有用的东西,所以我尝试创建一个更具体的问题:
我必须创建一个以仅意大利语本地化的应用程序,我的步骤如下:
在 iTunes 连接中将Italian
设置为默认语言
在信息列表中将Native development region
设置为意大利(不确定是否有用...)
从项目本地化中删除了英语
在本地化项目中添加了意大利语(截图如下)
在我看来,这将是为单一语言设置应用程序的正确方法(与默认英语不同)。
但是查看 Target 构建阶段,我发现 infoPlist.string 不再可用:
这非常奇怪,因为我可以毫无错误地编译我的项目......
最后,此过程将导致 iTunes 应用程序区域中的“语言”属性填充为“意大利语”而不是“英语”。
所以,我想知道我的步骤是否正确,或者我是否犯了一些错误。你觉得这个程序怎么样?
【问题讨论】:
【参考方案1】:如果您正在开发一个只显示意大利语的单语言应用程序,那么您根本不需要本地化。只需用意大利语输入所有字符串!使用localizable.strings
文件并调用NSLocalizedString
而不是在代码中使用硬编码字符串仍然是一种很好的做法,这样如果有一天您决定本地化您的应用程序,您就不必更改代码。但是现在您可以删除 XCode 中 Localizations 下的所有内容,只需确保 info.plist 文件中的本地区域 (CFBundleDevelopmentRegion) 设置为意大利。如果您围绕项目的目标设置进行设置,您可能会在 XCode 中找到一个设置。
【讨论】:
所以 CFBundleDevelopmentRegion 连接到 iTunes 中出现的语言?那么 CFBundleLocalizations 呢?在这一点上,我真的对这两个领域感到困惑。 当您在 iTunesConnect 中创建新应用程序时,您需要选择的字段之一是默认语言。这可能最终成为 iTunes 中的语言,我希望您的 CFBundleDevelopmentRegion 设置应该匹配(不过我不确定——我只将默认语言保留为英语)。至于 CFBundleLocalizations,它是您的应用具有本地化资源的语言列表。当您单击语言下的 + 或 - 时,XCode 会自动更新它。如果你没有本地化,我认为 CFBundleLocalizations 可以完全省略。 即使我用意大利语填写了语言字段,iTunes 仍然显示“英语”:( 我尝试使用我在问题中显示的步骤提交...商店我在这篇文章中回信。以上是关于单一语言的 iOS 应用本地化的主要内容,如果未能解决你的问题,请参考以下文章