hacer guión guion gráfico grafico ejemplos ejemplo como ios7 localization interface-builder xcode5 uistoryboard

ios7 - guión - guion grafico



Cómo sincronizar cadenas de guiones gráficos localizados después de modificar el guión gráfico en Xcode 5 (6)

¡Puedes usar un script llamado UpdatStoryboardStrings para esto!
Consíguelo aquí: https://github.com/AppliedIS/iOSL10n
Instrucciones de uso: http://blog.appliedis.com/2013/05/22/localization-of-an-xcode-ios-app-part-2/

Estoy empezando a ver la localización de IOS Apps en XCode 5 y he intentado agregar una localización italiana :

Xcode 5 genera automáticamente el archivo Main.strings con una sola entrada, para la única etiqueta que he puesto dentro del archivo Main.storyboard :

/* Class = "IBUILabel"; text = "Label"; ObjectID = "PeT-4z-NSf"; */ "PeT-4z-NSf.text" = "Etichetta";

Si luego modifico el archivo Main.storyboard agregando un nuevo botón a la vista, entonces ¿cómo debo decirle a Xcode 5 , si es posible, que agregue cadenas de localización faltantes al archivo Main.strings ? ¿Debo agregar una nueva entrada a mano mirando el campo de ID de objeto en el Constructor de Interfaz (funciona, pero no sé si esta es la forma en que se pretende actualizar la localización de guiones gráficos)? ¿Puedo ejecutar algo así como genstrings en el archivo Main.storyboard para extraer todo el texto de las etiquetas y agregar los nuevos a los archivos localizados de Main.strings ?


Checkout BartyCrouch , resuelve perfectamente su problema. También es de código abierto , se mantiene activamente y se puede instalar e integrar fácilmente en su proyecto.

Instale BartyCrouch a través de Homebrew :

$ brew install bartycrouch

Actualice de forma incremental sus archivos de guiones de Storyboards / XIBs:

$ bartycrouch interfaces -p "/absolute/path/to/project"

Esto hará exactamente lo que estabas buscando.

Con el fin de mantener sus archivos de guiones de Storyboards / XIBs actualizados con el tiempo, le recomiendo agregar un script de compilación (instrucciones sobre cómo agregar un script de compilación here ):

if which bartycrouch > /dev/null; then # Incrementally update all Storyboards/XIBs Strings files bartycrouch interfaces -p "$PROJECT_DIR" # Add new keys to Localizable.strings files from NSLocalizedString in code bartycrouch code -p "$PROJECT_DIR" -l "$PROJECT_DIR" -a -s else echo "warning: BartyCrouch not installed, download it from https://github.com/Flinesoft/BartyCrouch" fi

Además de actualizar de forma incremental sus archivos Storyboards / XIBs Strings, también se asegurará de que sus archivos Localizable.strings mantengan actualizados con las claves recién agregadas en el código mediante NSLocalizedString .

Asegúrese de ingresar a BartyCrouch en BartyCrouch para obtener información adicional.


Con Xcode 6+, idealmente los desarrolladores no deberían tener que administrar manualmente los archivos de cadenas. Use XLIFF export para reunir automáticamente cadenas de lenguaje de desarrollo para enviar a los traductores, y luego use XLIFF import para actualizar los archivos de cadenas con traducciones.

https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/LocalizingYourApp/LocalizingYourApp.html#//apple_ref/doc/uid/10000171i-CH5-SW9

Otra opción es usar ibtool --export-strings-file directamente.

https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/ibtool.1.html


El archivo que Xcode no actualiza automáticamente (al menos la versión 5.x no lo hizo) son las Localizable Strings la aplicación. Puede crear un archivo nuevo desde Main.storyboard siguiente manera:

En el navegador del proyecto (el panel de la izquierda), haga clic en el archivo Main.storyboard . En el panel Utilidades (el panel más a la derecha), haga clic en Mostrar el ícono del inspector de archivos . Es el icono más a la izquierda en azul en la imagen de abajo:

.

En el panel derecho que aparecerá, una de las secciones será Localización :

Desmarque la fila en English (Localizable Strings) y en la ventana que aparecerá en forma emergente verifique Eliminar los archivos de recursos localizados del disco y haga clic en el botón Eliminar (no tiene que marcar la eliminación, en cuyo caso Xcode solicitará un permiso para anular) cuando lo construyes a continuación).

Luego revisa English (Localizable Strings) nuevamente para construirlo desde cero.


Otra forma es hacerlo manualmente seleccionando en el guión gráfico el campo a traducir. Vaya al "Inspector de identidad" y copie la ID del objeto (algo como HP8-op-SmX).

Después de eso, abra el archivo de lenguaje del guión gráfico (Main.strings, la mayoría de los casos) y pase el ID de objeto. Dependiendo de sus necesidades, solo tiene que agregar .text o .placeholder.

"HP8-op-SmX.placeholder" = "My translated placeholder text"; "HP9-op-VvD.text" = "My translated text";

Guardar, limpiar y construir. Es un poco doloroso, pero puede ahorrar mucho tiempo si solo necesita traducir algunas cosas.


Usando Xcode 6 lo siguiente funcionó para mí:

Cambié la localización de un idioma de "Cadenas localizables" a "Generador de interfaz ..." como sugerí en la pregunta de SO publicada por h.orim . Sin embargo, la configuración no cambió, aún se estableció en "Cadenas localizables". El siguiente paso ahora es volver a hacerlo, para que Xcode encuentre el guión gráfico que acaba de crear y muestre un mensaje preguntando si debe usarse o reemplazarse. Ahora haga clic en "Usar archivo" en lugar de "Reemplazar", de lo contrario, volverá a suceder lo mismo.

Ahora debería tener un Storyboard localizado en el idioma deseado. Después de volver a "Cadenas localizables", tendrá un archivo que contiene todas las cadenas actuales utilizadas en el guión gráfico con sus traducciones anteriores aún en su lugar.