Cocoa / iPhone: Comment empêcher ibtool de générer des chaînes non localisables dans un fichier xib?

StackOverflow https://stackoverflow.com/questions/616410

Question

Je travaille sur l'internationalisation d'une application iPhone et j'utilise ibtool pour extraire la chaîne de mes fichiers xib afin qu'ils puissent être traduits par une maison de localisation comme celle-ci:

ibtool --generate-strings-file BlahBlahView.strings English.lproj/BlahBlahView.xib

Le problème, c'est que le fichier .strings dans lequel je me trouve contient toutes les chaînes contenues dans xib lorsque je souhaite réellement le sous-ensemble qui me tient à coeur pour i18n. Existe-t-il une meilleure pratique pour traiter ce problème? Idéalement, j'aimerais pouvoir ajouter une sorte d'annotation dans le générateur d'interface pour indiquer "Ceci est localisable". ou "Ceci n'est pas localisable" et ibtool n’affiche que les chaînes localisables quand je l’exécute.

Merci!

Modifier: OK, laissez-moi développer un peu les paramètres. La solution n'a pas besoin d'utiliser uniquement ibtool. Ibtool + quelques données dans le fichier xib + un script shell est acceptable. Tant que ça marche!

Était-ce utile?

La solution

Ibtool est extrêmement détaillé dans sa sortie sous forme de fichiers chaîne et génère des agitations par object-id plutôt que par chaîne source unique. & nbsp; Ce type de sortie est extrêmement utile lorsque vous essayez de recréer un générateur d’interface ou que vous avez besoin d’un contrôle approfondi des objets contenus dans vos fichiers xib, mais moins lorsque vous souhaitez simplement localiser votre logiciel.

Matteo de Digitalwaters.net a trouvé un moyen de convertir la sortie d’ibtool vers et à partir du format utilisé par nibtool, son prédécesseur, qui était moins puissant, mais beaucoup plus facile à utiliser pour la localisation. En savoir plus ici .

J'ai redéfini ses scripts pour rationaliser la localisation de notre application Mac OS X. Ils fonctionnent parfaitement pour moi. & nbsp; Bonne chance:)

Autres conseils

Je pense que vous pouvez automatiser cela, mais cela prendra quelques étapes. Vous pouvez extraire des propriétés arbitraires de votre xib à l’aide de ibtool. Vous pouvez donc éventuellement définir la balise des éléments non localisables sur une valeur particulière (-1, par exemple), puis extraire les balises et les utiliser pour filtrer le fichier de chaînes et les supprimer. les entrées indésirables.

consultez la page de manuel d'ibtool, en particulier l'option -export.

ibtool ne génère pas d'entrées pour les chaînes vides. Ainsi, par exemple, si vous laissez un texte UILabel vide, il ne sera pas inclus dans la sortie de ibtool --generate-strings-file . Vous pouvez ensuite définir le texte des éléments dans le contrôleur de vue.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top