La localización funciona bastante bien para otros idiomas, excepto el inglés. Cada vez que compilo mi aplicación, veo el nombre de la clave en lugar de la cadena localizada. Ejemplo:Internacionalización: solo se muestra el nombre de la clave en lugar de cadena localizada en el simulador
NSLocalizedString(@"WelcomeKey", @"")
En Localizable.strings que tiene la entrada correspondiente:
"WelcomeKey" = "Welcome";
En el simulador siempre me dan el nombre de la clave WelcomeKey
en lugar de Welcome
. En el dispositivo, esto funciona a la perfección. En el simulador no!
También descubrí que mi archivo EN Localizable.strings estaba lleno de "???????" símbolos. Así que puse los valores anteriores y los guardé en Xcode. También agregué una entrada manualmente en lugar de usar genstrings
. En el simulador, el segundo idioma también funciona perfectamente. Solo el inglés parece ser un problema. Tal vez eliminé English.lproj y creé una carpeta EN.lproj?
Me trataron de:
- Vaciar caché
- Limpiar todos los objetivos
- eliminación "de Atención al Usuario/xxx/Library/Application Support/simulador de iPhone/usuario" carpeta
- Reiniciar Mac
- Convierta a UTF-16
- Se crearon nuevas cadenas Localizable.strings para EN
- Del ete EN.lproj carpeta y archivos. La localización hecha completamente nueva.
¿Qué es lo que me falta? Creo que el simulador odia Inglés ...
Editar:
así que traté de compilar esta aplicación en otro Mac. ¡Allí funciona sin problemas en el simulador! Entonces, o bien es una configuración en Xcode o un problema de caché.
No workie para mí – jjxtra
Gracias, jaja, algo tan simple pero ninguno de los tutoriales lo menciona! – Denis