2011-10-17 4 views
4

Je me suis cogné la tête contre le mur pendant 2 jours en essayant d'ajouter une localisation spécifique à la langue de mon application. L'application utilise PhoneGap 1.1 et j'essaye de le construire en utilisant XCode 4.1XCode PhoneGap Localisation

J'ai cherché des infos/tutorial/quoi depuis 2 jours maintenant mais je n'ai pas pu trouver quelque chose de détaillé. Donc, soit c'est un problème trivial et je n'arrive pas à le comprendre, ou c'est un problème rare. Beaucoup de threads que j'ai vus expliquent que je dois créer un nouveau dossier sous "Ressources" et ajouter les dossiers suivants au projet (disons que je veux que mon application soit localisée en français et pour les pays non francophones) :

--locales

--- en

---- local.strings

--- fr

---- local. chaînes

Je suis déjà dans les ennuis maintenant: tout d'abord, que dois-je considérer comme mon dossier racine du projet? Tout mon code se trouve dans le dossier "www" et pour autant que j'ai compris, c'est le noeud principal que PG regarde quand il fait son travail. Donc je suppose que je dois créer des "locales" sous "www".

En supposant que c'est l'endroit correct, je dois entrer les paires clé-valeur dans le fichier .strings. Maintenant, comment puis-je dire à Xcode quelles chaînes il doit regarder dans ma page index.html? En Objective-C, cela se fait en appelant NSLocalizedString(@"StringKey"), mais puisque j'utilise PG, j'ai le langage HTML ou JS à utiliser. Y a-t-il une méthode intégrée pour le faire?

Est-ce la mauvaise approche? Tout indice, tutoriel, documentation, guide de référence sur le sujet serait d'une grande aide.

Répondre

1

PhoneGap est organisé d'une manière différente.

Le fichier www/index.html est chargé en tant que webView à partir de la classe DroidGap. Ceci est, du moins à mon avis, le seul point (à part un plugin Javascript) où vous pouvez intercepter le chargement de la page html et appliquer n'importe quelle analyse de localisation. Une fois que le site www/index.html est rendu, tous les autres liens sont traités en interne (approche multi-pages) ou via des liens vers des pages html «externes» (approche d'une seule page).

Si aucune méthode de rappel JavaScript n'est atteinte, aucune classe backend PhoneGap et donc aucune classe spécifique à iOS ne sont appelées et traitées.

Les plugins PhoneGap fournissent un Javascript-Bridge à l'environnement de codage natif et peuvent ainsi être utilisés pour fournir une localisation.

Je viens de trouver un fil qui pourrait aider:

http://community.phonegap.com/nitobi/topics/problem_with_binary_details_ios_localization_builded_with_phonegap_build?from_gsfn=true

Questions connexes