XCode - Plusieurs cibles, plusieurs * noms internationalisés *?
-
05-07-2019 - |
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?
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: