2010-09-24 8 views
5

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:

  1. Vaciar caché
  2. Limpiar todos los objetivos
  3. eliminación "de Atención al Usuario/xxx/Library/Application Support/simulador de iPhone/usuario" carpeta
  4. Reiniciar Mac
  5. Convierta a UTF-16
  6. Se crearon nuevas cadenas Localizable.strings para EN
  7. 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é.

Respuesta

2

Así que hay que eliminar la aplicación del simulador de iPhone/iPhone en primer lugar.

Mantenga pulsado en el cursor sobre una aplicación en el simulador hasta que comienza a mover. Luego presiona la X. Se eliminará. Luego presione el botón de inicio para que los botones dejen de moverse.

+0

No workie para mí – jjxtra

+1

Gracias, jaja, algo tan simple pero ninguno de los tutoriales lo menciona! – Denis

0

Asegúrate de que la codificación de Localizable.strings sea UTF-16.

+0

¿Cómo puedo cuidar el formato de codificación? Creé el archivo utilizando Archivo> Nuevo archivo> En "Mac OS X", en "Otro", seleccione "Vaciar archivo". ¿Cómo cambiar la codificación? – testing

+0

Guardar como ... en TextEdit. Puede elegir una codificación para archivos de texto sin formato. – diederikh

+0

Gracias, pero eso no resolvió el problema ... – testing

0

También tuve el Localizable.strings lleno de galimatías, ayudó a guardar el archivo como UTF-8.

0

La única opción que me ha funcionado es Restablecer el contenido y la configuración del simulador en el menú Simulador de iOS.

0

1 - Intente eliminar y reconstruir el proyecto.

O

2 - Ir a Localizable.strings inspector de archivo y quite la marca de la pertenencia de destino. Cree usando estos ajustes una vez y luego elimine esta compilación. Ahora regrese al menú del inspector de archivos Localizable.string y agregue membresía objetivo.

O

3 - Es posible que tenga múltiples Localizable.strings (por ejemplo sharekit) en su proyecto. Intente desmarcar la membresía de destino para otras localizable.cadenas.

Cuestiones relacionadas