2012-04-16 15 views
26

Estoy tratando de incluir la internacionalización de mi aplicación, y solo para fines de prueba agregué una línea simple en el archivo Localizable.string.Localizable.strings corrompidos?

Esta es toda mi archivo:

"Test locale" = "Test locale"

y cuando intento ejecutar mi aplicación me sale este error:

Localizable.strings:0: error: validation failed: The data couldn’t be read because it has been corrupted.

He intentado cambiar la "Codificación de texto" a UTF-16 pero nada resuelto

Cualquier ideia?

Gracias de antemano.

+0

aquí es una biblioteca que podría ayudar a localizar proyecto https://github.com/dipkasyap/DGLocalization – dip

Respuesta

56

Si este es su archivo completo, agregue un punto y coma al final. Cambiarlo a:

"Test locale" = "Test locale";

+1

Oh Dios, ¿cómo yo era estúpida, muy simple. Gracias. –

+0

OMG ... nunca espero haber cometido este tipo de error .. –

+0

Aprendizaje de iOS por primera vez con la llegada rápida de Android, esto es realmente un error realmente molesto ... – Warpzit

3

En mi caso, fue así:

/* Comment for Very Long Sentence */ 
"Very Long Sentence Very Long Sentence Very Long Sentence Very Long Sentence " =; 
"Very Long Sentence Very Long Sentence Very Long Sentence Very Long Sentence "; 

(Nótese la '=;' en lugar de '=' al final de la primera línea)

espero que ayude a alguien ...

+0

Ocurre mucho al copiar/pegar sin verificar. .. –

1

En mi caso fue soportes dentro de la cadena - que tenía que agregar barra se acaben e \ ".

37

Para obtener información más detallada se puede utilizar la utilidad Lista de propiedades de la línea de comandos:

plutil -lint <your_strings_file>.strings 

la El interruptor -lint es para verificar la sintaxis. Si tiene un error obtendrá el número de línea y más información, y en general mejores instrucciones sobre cómo solucionar el problema.

+1

Gracias, exactamente lo que necesitaba. Demasiado grande de un archivo para verificar a mano. –

+0

¿Hay alguna manera de integrar este comando en la compilación de Xcode? –

+0

Nunca lo intenté, pero esto es lo que puede intentar: puede agregar una fase de script de ejecución en "fases de compilación" y, en esta fase, invocar un script que verifique todos sus archivos .strings. Puede arrastrar la fase del guión encima de las demás (o arrastrar las demás hacia abajo) para ejecutar la preconstrucción del guión de recorrido. si establece XCode -> Preferencias -> Construir -> Opciones de compilación "Continuar compilando después de errores", entonces la compilación se detiene si el script falla. – lucianoenrico

Cuestiones relacionadas