Domanda

Sto lavorando all'internazionalizzazione di un'applicazione iPhone e sto usando ibtool per estrarre la stringa dai miei file xib in modo che possano essere tradotti da una casa di localizzazione in questo modo:

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

Il problema con questo è che il file .strings con cui finisco contiene all le stringhe contenute in xib quando voglio davvero il sottoinsieme a cui tengo davvero per i18n. Esistono delle migliori pratiche per affrontare questo? Idealmente, vorrei poter aggiungere una sorta di annotazione nel builder di interfacce per dire "Questo è localizzabile" o " Questo non è localizzabile " e ibtool emette le stringhe localizzabili solo quando lo eseguo.

Grazie!

Modifica: OK, lasciami espandere un po 'i parametri. La soluzione non deve utilizzare solo ibtool. Ibtool + alcuni dati in xib + uno script di shell va bene. Finché funziona!

È stato utile?

Soluzione

Ibtool è estremamente dettagliato nell'output dei suoi file di stringhe e genera agitazioni per id-oggetto, anziché per stringa di sorgente univoca. & nbsp; Questo tipo di output è estremamente utile quando si tenta di ricreare il builder di interfacce o in caso contrario è necessario un controllo approfondito sugli oggetti nei file xib, ma meno quando si desidera semplicemente localizzare il software.

Matteo su Digitalwaters.net ha trovato un modo per convertire l'output da ibtool nel formato usato da nibtool, il suo predecessore, che era meno potente, ma molto più facile da usare per la localizzazione. Maggiori informazioni qui .

Ho riutilizzato i suoi script per semplificare la localizzazione della nostra app per Mac OS X e funzionano bene per me. & nbsp; Buona fortuna :)

Altri suggerimenti

Penso che tu possa automatizzare questo, ma ci vorranno alcuni passaggi. Puoi estrarre proprietà arbitrarie dal tuo xib usando ibtool, quindi forse potresti impostare il tag degli elementi non localizzabili su un valore particolare (-1, per esempio), quindi estrarre i tag e usarlo per filtrare il file di stringhe e rimuovere le voci indesiderate.

controlla la pagina man di ibtool, in particolare l'opzione -export.

ibtool non genera voci per stringhe vuote. Quindi, ad esempio, se lasci vuoto il testo di UILabel, questo non verrà incluso nell'output di ibtool --generate-strings-file . È quindi possibile impostare il testo degli elementi nel controller di visualizzazione.

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