La localizzazione funziona piuttosto bene per altre lingue tranne l'inglese. Ogni volta che compilo la mia app vedo il nome della chiave al posto della stringa localizzata. Esempio:Internazionalizzazione: solo il nome della chiave viene visualizzato al posto della stringa localizzata in Simulator
NSLocalizedString(@"WelcomeKey", @"")
In Localizable.strings ho l opzione corrispondente
"WelcomeKey" = "Welcome";
Nel simulatore Ho sempre trovato il nome della chiave WelcomeKey
invece di Welcome
. Sul dispositivo funziona perfettamente. Nel simulatore no!
Ho anche scoperto che il mio file EN Localizable.strings era pieno di "???????" simboli. Così ho inserito i vecchi valori e l'ho salvato in Xcode. Ho anche aggiunto una voce manualmente invece di usare genstrings
. Nel simulatore anche la seconda lingua funziona perfettamente. Solo l'inglese sembra avere un problema. Forse ho cancellato English.lproj e creato una cartella EN.lproj?
ho cercato di:
- Empty Cache
- Pulire tutti i bersagli
- Elimina "User Support/xxx/Library/Application/iPhone Simulator/utente" cartella
- Riavvia Mac
- Converti in UTF-16
- Crea nuovo localizable.strings per EN
- Del ete cartella e file EN.lproj. Ha reso la localizzazione completamente nuova.
Cosa mi manca? Credo che il simulatore odia inglese ...
Edit:
Così ho provato a compilare questa applicazione su un altro Mac. Lì funziona senza problemi nel simulatore! Quindi, si tratta di un'impostazione in Xcode o di un problema di cache.
No workie for me – jjxtra
Haha grazie, una cosa così semplice ma nessuno dei tutorial lo menziona! – Denis