XCode: più destinazioni, più nomi * internazionalizzati *?
-
05-07-2019 - |
Domanda
Ho un progetto iPhone internazionalizzato. Nei vari file $ {lang} .lproj / InfoPlist.strings
ho una sola chiave, CFBundleName = " Nome app "
.
Funziona benissimo per un singolo target, ma non riesco a farlo funzionare per più target.
Vorrei avere diversi file InfoPlistMyApp.strings
tradotti per la destinazione principale, oltre a diversi file InfoPlistMyApp Lite .strings
per il versione semplificata. Ma non riesco a capire come configurarlo. Il nome InfoPlist.strings
sembra essere impostato su pietra, quindi non posso sostituirlo dinamicamente.
Qualche idea?
Soluzione
Si scopre che è abbastanza facile, anche se faticoso. Puoi avere diversi InfoPlist.strings, uno abilitato per target, e ognuno può essere internazionalizzato, purché ogni set si trovi in ??un diverso gruppo Xcode .
Imposta una struttura di directory come questa:
.../AppName/
en.lproj/InfoPlist.strings <-- Contains CFBundleDisplayName
it.lproj/InfoPlist.strings <-- ...
...
.../AppNameLite/
en.lproj/InfoPlist.strings <-- ...
it.lproj/InfoPlist.strings <-- ...
...
Importa quei file in gruppi Xcode, quindi è così:
Fai clic con il pulsante destro del mouse " Gruppi & amp; File " (in alto a sinistra di Xcode) e assicurati di " Target Membership " è visibile, quindi controlla i tuoi target, controllando che il giusto set di stringhe sia abilitato per ciascuno.