1

场景:

我正在开发一个 iOS 应用程序,它应该上传到世界各地的所有应用程序商店。

该应用程序应支持 2 种语言,德语和英语。德国的德语,世界其他地方的英语。

我做了什么:

当我开始开发应用程序时,我在 Info.plist 文件中选择德语作为“本地化本地开发区域”,并在项目设置中添加了英语本地化...

我使用了 NSLocalizedString 并用德语编写了所有文本字符串。然后我将 Localization.string 文件提交给客户进行翻译...

问题: 当我想将应用程序提交到应用商店时,我是否正确地实现了上述场景?

我要在 iTunesConnect 中做什么来存档这个场景……?

问候..

4

2 回答 2

2

反过来,使用英语作为“本地化本地开发区域”,然后添加德语本地化。

kCFBundleDevelopmentRegionKey 包的开发语言的名称。当 CFBundle 查找资源时,回退是查找名称由 Info.plist 文件中的 kCFBundleDevelopmentRegionKey 给出的 lproj。因此,您必须确保一个包包含一个具有该确切名称的 lproj,其中包含每个本地化资源的副本,否则 CFBundle 不能保证回退机制将起作用。在 iOS 2.0 及更高版本中可用。在 CFBundle.h 中声明。

于 2012-08-20T12:13:02.990 回答
1

thvanarkel 可能是对的,但我实际上使用了另一个技巧:

当您匹配 Localizable.strings 中的一对键时,我会用它们的英文翻译命名每个键,例如

"Delete the current shopping list?" = "Delete the current shopping list?";

"Delete the current shopping list?" = "Löschen Sie die aktuelle Einkaufsliste?"

如果您的 Localizable.string 中的键匹配,它将被翻译,否则,将使用该键。

也许不是最佳实践,但它对我有用。

于 2012-08-20T12:33:28.263 回答