2010-12-11 32 views
2

Nous avons localisé notre application dans plusieurs langues, et tout se présente correctement dans nos versions Ad Hoc.Localisation de l'application iPhone pour le magasin

Nous avons créé et publié une version App Store qui est sortie aujourd'hui, mais aucun de nos utilisateurs internationaux ne voit les chaînes localisées.

Plus d'info:

  1. Dans iTunes Connect, sous Détails binaire, les langues montrent que: Localisations: ("de", "en", "ja", "pt")
  2. Le Les chaînes de Settings.app apparaissent comme traduites, mais aucune des chaînes à l'intérieur de l'application elle-même n'apparaît dans autre chose que l'anglais
  3. Nous avons essayé de supprimer et de re-télécharger l'application du magasin sur plusieurs téléphones, en vain
  4. Nous n'avons aucune localisation dans iTunes Connect lui-même (en t erms de descriptions, etc.).
  5. D'autres applications que nous essayons sont dans la langue correcte

Nous nous demandons si # 4 est le problème-avons-nous besoin d'avoir créé dans iTunes Localisations Connect pour notre application App Store pour apparaître comme correctement localisé ainsi que?

Répondre

3

Il semble comme une sorte de problème de construction avec votre construction de distribution. Je suppose que vous avez un fichier Localizable.strings restant dans la racine de votre projet (à partir de la pré-localisation), peut-être seulement dans votre version de distribution. Si vous avez ceci, NSLocalizedString le préférera à toutes les langues réellement localisées (ce qui est en quelque sorte contre-intuitif).

Vous pouvez vérifier en éclatant le lot .app que vous avez soumis et en recherchant dans ce premier niveau de la hiérarchie pour ce fichier.

Je l'ai vu avant de traîner à partir de pré-localisation en raison de constructions accidentelles non-propre.

+0

Cela ressemble à ce qu'il était totalement, en exécutant un diff sur le CodeResources entre le Ad Hoc et l'App Store montre une différence: un errant Localizable.strings dans la racine du projet – Zeppomedio

+0

:) Désolé l'homme. Je savais seulement parce que j'ai été brûlé par exactement cela. Maintenant vous savez pour la prochaine fois de toute façon! –

0

Tant que l'iPhone lui-même est dans la bonne langue (via Settings.app), la localisation devrait être correcte. Les détails binaires d'iTunes Connect indiquent les langues prises en charge par l'application, en fonction des fichiers de localisation inclus dans la version de l'application. En ce qui concerne la localisation dans iTunes Connect, c'est-à-dire pour l'App Store, si vous souhaitez afficher votre application dans différentes langues (dans l'App Store, pas dans l'application elle-même).

Tant que vos chaînes d'applications comprennent (par exemple):

cell.textLabel.text = NSLocalizedString("MyProducts","A Description of My Products"); 

et votre fichier de localisation comprend:

"MyProducts" = "My Products"; 

Et votre projet comprend:

Localizable.strings 
    -en.lproj 
    -es.lproj 
    -fr.lproj 
+0

C'est ce que nous pensions; nous avons ja.lproj et de.lproj, avec Localizable.strings à l'intérieur, et ces entrées apparaissent sous la partie Localizable de notre projet XCode. Il n'y a rien d'autre à spécifier dans Info.plist ou quoi que ce soit, n'est-ce pas? Ou pourrait-il y avoir un problème puisqu'il s'agit d'une mise à jour d'application, et notre version précédente n'incluait aucune localisation? Merci. – Zeppomedio

+0

Il ne devrait pas y avoir de problèmes avec ce soit une mise à jour, car c'est ce que devrait être une mise à jour (théoriquement). Il n'y a rien que vous devez inclure dans votre info.plist. Aussi, je vois que vous dites "Localizable.strings à l'intérieur". Si vous n'avez pas de fichier appelé Localizable.strings, alors dans ce fichier, ayez le fichier en.lproj. C'est peut-être votre problème ici. – WrightsCS

0

C'est un mélange des deux réponses de WrightsCS et de quixoto.

Assurez-vous que chaque chaîne a été préfixée avec NSLocalizedString avant d'exécuter GENSTRINGS et de produire vos chaînes localisables. Une fois que vous avez traduit vos localizable.strings, placez-les dans un dossier de ressources respectif (en.lproj, fr.lproj, de.lproj, etc.).Vous devez également vous assurer qu'aucune ressource en anglais n'est laissée en dehors du dossier en.lproj, car celles-ci peuvent être prioritaires à l'exécution.

J'ai une base de connaissances Localisation en cours d'exécution ici, si quelqu'un est intéressé: http://kb.applingua.com