Question

J'ai un projet iPhone internationalisé. Dans les différents fichiers $ {lang} .lproj / InfoPlist.strings , j'ai une clé unique, CFBundleName = "Nom de mon application" .

Cela fonctionne bien pour une cible unique, mais je ne peux pas le faire fonctionner pour plusieurs cibles.

Je voudrais avoir plusieurs fichiers InfoPlistMyApp.strings traduits pour la cible principale, ainsi que plusieurs fichiers InfoPlistMyApp Lite .strings pour la cible. version allégée. Mais je n'arrive pas à comprendre comment le configurer. Le nom InfoPlist.strings semble être gravé dans la pierre, je ne peux donc pas le remplacer dynamiquement.

Des idées?

Était-ce utile?

La solution

Il s’avère que c’est assez facile, bien que laborieux. Vous pouvez avoir plusieurs InfoPlist.strings, un actionné par cible, et chacun d'eux peuvent être internationalisés, tant que chaque ensemble se trouve dans un groupe Xcode différent .

Configurez une structure de répertoire comme celle-ci:

.../AppName/
            en.lproj/InfoPlist.strings  <-- Contains CFBundleDisplayName
            it.lproj/InfoPlist.strings  <-- ...
            ...
.../AppNameLite/
            en.lproj/InfoPlist.strings  <-- ...
            it.lproj/InfoPlist.strings  <-- ...
            ...

Importez ces fichiers dans des groupes Xcode, afin qu'il ressemble à ceci:

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