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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top