Ho un progetto iOS che è localizzato in 16 lingue. Solo alcune parole non sono localizzate (principalmente quelle che entrano in un aggiornamento e l'ufficio di localizzazione non ha consegnato in tempo). Per le mie chiavi faccio non uso la dicitura inglese, in quanto ciò può anche cambiare se un traduttore lo desidera. Quindi ora se non ho una traduzione per una lingua, se ricade alla chiave che ho usato. Ma dal momento che questa chiave non è "leggibile dall'uomo" o almeno non "umana piacevole da leggere", questo è un problema.Fallback language iOS (con file Localizable.strings incompleto)
Ho fatto qualche ricerca ma non sono riuscito a trovare una soluzione a il mio esatto problema. devo fe .:
Localizable.strings in en.lproj
@"Key1" = @"Value 1"
@"Key2" = @"Value 2"
Localizable.strings in de.lproj
@"Key1" = @"Wert 1"
// Note that @"Key2" is missing here in my de.lproj
I would expect that if I make NSLocalizedString(@"Key2", ...)
and am running on a german phone, it falls back to the english
translation for this key as it exists...
Quindi per ora ho solo copiato la traduzione in inglese nei file Localizable.strings mancanti. Ma questo è un grosso trucco! Ma anche usare le parole inglesi come chiavi sembra essere un trucco per me!
C'è un modo per dire alla mia app, che dovrebbe usare f.e. l'inglese come fallback se non c'è valore per una data chiave? Ho provato ad aggiungere una localizzazione di base, ma questo non aiuta ...
Grazie mille
"Ma anche usare le parole inglesi come chiavi sembra essere un trucco per me!" -- Affatto. È una soluzione piuttosto elegante e risolve esattamente il problema che stai descrivendo. Solo perché il traduttore potrebbe cambiare le parole effettivamente utilizzate nella traduzione inglese, non significa che la chiave debba cambiare. Detto questo, la nuova localizzazione di base che Maxthon menziona è un approccio ancora migliore per la maggior parte del tempo. –