商店的iPhone App本地化

时间:2010-12-11 00:19:07

标签: iphone localization itunesconnect

我们已将我们的应用本地化为多种语言,所有内容都在我们的Ad Hoc版本中正确显示。

我们构建并发布了今天发布的App Store版本,但我们的国际用户都没有看到本地化的字符串。

更多信息:

  1. 在iTunes Connect中,在二进制详细信息下,语言显示为: 本地化:(“de”,“en”,“ja”,“pt”)
  2. Settings.app字符串显示为已翻译,但应用程序内部的任何字符串都不会显示在英语以外的任何字符串
  3. 我们尝试在多部手机上从商店删除并重新下载该应用,但无济于事
  4. 我们在iTunes Connect中没有任何本地化(在描述等方面)。
  5. 我们尝试的其他应用使用正确的语言
  6. 我们想知道#4是否存在问题 - 我们是否需要在iTunes Connect中为我们的App Store应用程序创建本地化以显示正确的本地化?

3 个答案:

答案 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