我们已将我们的应用本地化为多种语言,所有内容都在我们的Ad Hoc版本中正确显示。
我们构建并发布了今天发布的App Store版本,但我们的国际用户都没有看到本地化的字符串。
更多信息:
我们想知道#4是否存在问题 - 我们是否需要在iTunes Connect中为我们的App Store应用程序创建本地化以显示正确的本地化?
答案 0 :(得分:3)
这听起来像是您的Distribution版本的某种构建问题。我的猜测是你的项目根目录中有一个剩余的Localizable.strings文件(来自预定位),可能只在你的Distribution版本中。如果你有这个,NSLocalizedString会更喜欢它任何实际的本地化语言(这有点违反直觉)。
您可以通过破解您提交的.app包并查看该文件的第一级层次结构来进行检查。
我之前看到过这种情况,因为意外的非干净版本会导致预先定位。
答案 1 :(得分:0)
只要iPhone本身使用正确的语言(通过Settings.app),本地化应该是正确的。 iTunes Connect二进制详细信息显示应用程序支持的语言,根据应用程序版本中包含的本地化文件。
在iTunes Connect中进行本地化,即App Store,如果您想以不同语言显示应用程序(在App Store中,而不是应用程序本身)。
只要您的应用字符串包含(例如):
cell.textLabel.text = NSLocalizedString("MyProducts","A Description of My Products");
您的本地化文件包括:
"MyProducts" = "My Products";
您的项目包括:
Localizable.strings
-en.lproj
-es.lproj
-fr.lproj
答案 2 :(得分:0)
这是WrightsCS和quixoto的两个答案的混合。
在运行GENSTRINGS并生成localizable.strings之前,确保每个字符串都带有NSLocalizedString前缀。
翻译完localizable.strings后,将每个文件放入相应的资源文件夹(en.lproj,fr.lproj,de.lproj等)。您还必须确保没有英语资源留在en.lproj文件夹之外,因为这些资源可能在运行时优先。
我有一个本地化知识库在这里运行,如果有人有兴趣: http://kb.applingua.com