2010-10-12 6 views
8

Situation: Je démarre XCode, en créant un nouveau projet pour l'iPhone (voir l'application) et en chargeant le fichier XIB dans l'IB. Je manipule la vue (en ajoutant une étiquette avec la chaîne "bonjour"), enregistrez, construisez, exécutez l'application, tout va bien. Maintenant je localise le XIB. Ce que je fais: faites un clic droit sur le fichier xib, en ajoutant la langue désirée et après cela, j'ai deux fichiers XIB dans mon Xcode. Regarde absolut parfait, tout comme il est montré dans mon livre de programmation iPhone ("The Big Nerd Ranch"). Je change l'étiquette des deux XIB en une autre chaîne, disons "bonjour!".Pourquoi mon fichier XIB ne se localise pas (iPhone)?

Problème: Maintenant, je nettoie et reconstruis l'application - mais cela montre toujours l'ancien fichier XIB, toujours la chaîne "bonjour". Même lorsque je change les paramètres de l'iphone en d'autres langues, j'obtiens toujours la chaîne "bonjour" montrée. Mais le XIB avec "bonjour" n'existe pas dans mon xcode n'importe où!

Des conseils pour moi? Cela me rend fou - et j'espère juste que je manque une chose simple.

J'utilise XCode 3.2.3 et SDK 4.0

Merci beaucoup à l'avance!

Répondre

7

Il y a aa quelques étapes à suivre, y compris:

  • ibtool --generate-chaînes fichier Example.strings en.lpoj/Example.xib
  • genstrings -o en.lproj * .m
  • traduire le fichier de ressources
  • ibtool --strings fichier fr.lproj/Example.strings en.lproj/Example.xib -write fr.lproj/Example.xib
  • faisant glisser le fichier de ressources traduit à la projet (en e exact endroit exact).

Jetez un oeil à ce iPhone localization tutorial pour les étapes complètes + les captures d'écran.

+0

Merci pour votre aide. Malheureusement, cela n'a pas résolu le problème. Mais: cela m'a aidé, localisant le problème encore mieux. Même lorsque je supprime le fichier XIB dans l'exemple ci-dessus (en utilisant xcode ou la bonne vieille ligne de commande) - le fichier XIB est toujours affiché sur le simulateur. Donc, la question est: Comment se débarrasser de la XIB? Je m'attendais à une erreur pendant la compilation ou pendant l'exécution - mais rien. Toujours montrant le vieux XIB? Mais pourquoi? Des conseils pour moi? – peace97

+3

Ok - après avoir réfléchi pendant 2 à 5 minutes, le point est le suivant: lorsque vous ne * supprimez pas l'application * sur l'iPhone-Simulator, le simulateur semble contenir le fichier XIB. Après la suppression de l'application, je reçois l'erreur d'exécution prévue – peace97

+4

Ok - c'est ça: j'ai raté pour supprimer l'application sur le simulateur de l'iPhone. Après avoir localisé l'application, j'ai dû la supprimer sur le simulateur de l'iPhone, puis faire un build propre +, et tout va bien. – peace97

6

Le simulateur iPhone et le périphérique contiennent un cache des NIB. il est facile d'effacer sur le simulateur, car il peut être supprimé, mais j'essaie de comprendre comment effacer ce cache sur l'appareil sans avoir à supprimer l'application.

+0

Vous ne pouvez pas faire cela, mais pendant que votre application reconstruit, vous avez le temps de supprimer l'application du périphérique/simulateur. Au moins, ça marche pour moi, car l'application est assez grande ... – 18446744073709551615

0

Dans mon cas, j'ai dû redémarrer xcode en plus de supprimer l'application sur le simulateur pour le faire fonctionner.

2

Essayez ceci:

  1. Vérifiez si vous avez ajouté le paramètre Localitations à l'onglet "Info" de votre fichier de projet
  2. Fenêtre - Organisateur - Choisissez votre projet - Supprimer les données dérivées
  3. Project Clean
  4. Supprimer une application de votre appareil
  5. Exécutez à nouveau.
0

Xcode a un bug quand il s'agit de chaînes localisées dans un fichier xib. Au lieu de remplacer les chaînes localisées par les chaînes xib réelles, Xcode conserve les chaînes xib d'origine. Tout ce que vous avez à faire est de convertir le fichier Localizable Strings en un fichier Interface Builder. Vous pouvez le faire sous la section Localisation dans les propriétés de fichier du générateur d'interface.

Espérons que cela aide!

Questions connexes