2016-02-18 19 views
9

Attualmente sto lavorando su un'app per iOS e localizzandolo in più lingue, ma ho affrontato un problema fastidioso (non di rottura).Localizzazione storyboard XCode Stringhe duplicate Unisci?

Quando aggiungo una nuova localizzazione per il mio storyboard, xcode popolerà automaticamente le stringhe, che è molto bello. Il problema che sto avendo è che ho più interfacce che entrambi hanno un pulsante indietro. Il testo su questi è ovviamente lo stesso e anche le loro traduzioni. La domanda che mi stavo chiedendo, è possibile, senza usare strings.localizable, in qualche modo unire più traduzioni di oggetti in una?

Ecco come sarebbe attualmente guardare:

"Pnu-Ec-HAj.normalTitle" = "Back"; 
"Rtx-fT-rdc.normalTitle" = "Back"; 

Ma sarebbe modo più semplice se ci fosse una sintassi come

"Pnu-Ec-HAj.normalTitle", "Rtx-fT-rdc.normalTitle" = "Back"; (questa sintassi non è corretto, ovviamente)

Mi sono guardato un po 'in giro ma non ho ancora trovato alcuna risposta a questa domanda.

Grazie per la lettura.

risposta

0

Sfortunatamente i file .strings sono key-value files e, per natura, deve esserci una chiave (che è composta dall'ID di pennino dell'elemento seguito dalla proprietà) e il valore di stringa associato.

come Apple descrive nel link precedente:

Il formato del file stringhe standard è composto da una o più coppie chiave-valore con commenti facoltativi. La chiave e il valore in una data coppia sono stringhe di testo racchiuse tra virgolette doppie e separate da un segno di uguale.

quindi, la tua idea non è supportata dai file .strings.

L'unico modo per supportare tale funzione è utilizzare il codice NSLocalizedString.

2

io consiglierei di riferimento ogni testo nel vostro storyboard nel codice, e l'impostazione del testo su viewDidLoad come, ad esempio:

buyButton.titleLabel.text = NSLocalizedString(@"SHOP_BUY_BUTTON_TEXT",@"Button for buying product in detail view");

E 'carichi di lavoro se si dispone di enormi storyboard, ma alla fine hai un pulito Localizable.strings con chiavi e commenti concisi, fornendo il contesto necessario per i tuoi traduttori.

ho precedere il tasto con la sezione dell'app, così per esempio SHOP_***, USER_SETTINGS_***, ecc

Inoltre, utilizzare un servizio come OneSky di organizzare le nostre traduzioni on-line e li aggiorna dalla nube (non affiliato con loro, e non è senza i suoi problemi iniziali neanche).

Problemi correlati