fichier "Localizable.strings"
macvelotte
Membre
J'essaie de faire une application bilingue ; je suis pour cela le chapitre 11 de "Cocoa par la pratique lequel est écrit pour "project Builder" ; je travaille avec XCode, et ça ne marche pas ...
Quelle est la bonne procédure ??
Quelle est la bonne procédure ??
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Dans mon code qui contient les strings à traduire, je suppose que je dois mettre ces chaà®nes en anglais ???
Et, ce que je n'arrive pas à faire, c'est la verrsion "english" des localizable.strings.
Le fichier se crée quand même, mais impossible d'obtenir deux versions (English et French).
[Fichier joint supprimé par l'administrateur]
bon courage.
Pour l'instant, il me reste à prévenir mon application de l'existence de ces fichier ...
LA doc Xcode est illisible ...
Tout me paraà®t hermétique ???
Dons tu sélectionnes le fichier, puis tu fais "pomme-I" pour lire les infos et tu cliques sur "make localizable". Cette manip va dans un premier temps localiser ton fichier en anglais.
Au fait, dans le finder, je mets le fichier non localisé dans la racine de mon répertoire.
Voilà essaie pour voir
... et ça me grise !!!
Je n'ai pas compris "le fichier à la racine ..;" ; quel fichier ?
voici la fenêtre de mon application dans Xcode .
[Fichier joint supprimé par l'administrateur]
En ce qui concerne la "racine" j'ai un exemple de fichier non localisé "Carnet.strings" voir la copie d'écran.
[Fichier joint supprimé par l'administrateur]
[Fichier joint supprimé par l'administrateur]
[Fichier joint supprimé par l'administrateur]
Exemple d'utilisation du fichier "Main.strings" :
et pour "Carnet.strings"
Favouille: pour value, plutôt que de mettre error, il vaut mieux mettre la traduction anglaise. Sachant que c'est cette expression qui sera utilisée si le Localizable.strings ne contient pas la traduction, cela te dispense de maintenir un Localizable.strings en anglais. C'est d'ailleurs de cette manière que les fonctions citées au dessus "fonctionnent". Elles invoquent les messages de NSBundle en utilisant key pour les 2 premiers arguments.
Je suis toujours dans l'expectative pour informer mon application de l'existence de fichiers Localizable.strings ..
Faut-il que les strings par défaut soient en anglais ? (j'entends par défaut celles qui figurent dans le code) ?
Jusqu'à maintenant, rien ne se passe quand je change la préférence de langue.
Sinon pour ajouter ton fichier, essaye comme suit: retire le de ton projet (efface uniquement la référence, pas le fichier), déplace dans le English.lproj (ou French.lproj) de ton projet puis fait un Add To Project, il devrait alors être ajouté correctement (fait pareil pour celui dans l'autre langue).
J'avais utilisé "error" pour mettre en évidence un oubli de traduction. C'est vrai qu'à terme, je pense mettre les bonnes valeurs.
@macvelotte : comment changes-tu tes préférences de langue ? Est-ce que tu passes par ceci :
[Fichier joint supprimé par l'administrateur]
Mais je ne comprends pas le code à introduire pour qu'il y ait choix de la langue dans les Localizable.strings
dans ton ".string", il faudra écrire :
"Attention" = "Attenzione"; pour la version italienne (fichier "main.strings" dans italian.lproj)
"Attention" = "Achtung"; pour la vversion allemande (fichier "main.strings" dans german.lproj) etc...
Donc pour chaque fichier localisé il faudra définir une paire de clés/valeurs.
J'ai, dans mon code, les quatre "strings" suivantes :
"nord", "sud", "est","ouest" ;
je veux les remplacer par "north", "sud", "east", west".
dois-je écrire dans le code source les mots anglais ?
Je n'ai absolument rien compris (merci pour vos explications ...) ni ici ni dans "cocoa par la pratique".
"xxxx" = "Une phrase qui a un sens.";
donc dans ton cas, tu dois avoir
"nord" = "North";
"sud" = "South";
"est" = "East";
"ouest = "West";
(les points cardinaux prennent toujours une majuscule en anglais) si dans ton code tu as NSLocalizedString(@nord,nil); ...
Merci à tous !