Localicé una parte de mi aplicación creando un storyboard base.lproj y 3 archivos de cadena para él. Fue hace un mes y luego agregué un nuevo controlador de vista a la aplicación, pero los botones y etiquetas de este controlador no aparecen en los archivos de cadena
¿Es posible actualizar estos 3 archivos de cadena adjuntos al guión gráfico o debo agregar nuevas traducciones de cadenas mediante programación usando NSLocalizableString y Localizable.strings?
Respuestas:
Hay dos opciones:
Opción 1
Xcode puede "recargar" el archivo convirtiéndolo en un tipo de archivo [Interface Builder Cocoa Touch Storyboard] o en un tipo de archivo [Cadenas localizables] .
opcion 2
Use ibtool para extraer las cadenas en su guión gráfico.
Abre la aplicación Terminal
Localice su directorio Base.lproj
Use esta línea para extraer las cadenas:
ibtool MainStoryboard.storyboard --generate-strings-file file_name.strings
Después de que ibtool extraiga las cadenas en file_name.strings, puede copiarlo y pegarlo en su archivo .strings original
Visite para más información: https://conyac.cc/business/columns/localization_guide_ios
fuente
Echa un vistazo a BartyCrouch , resuelve perfectamente tu problema. También es de código abierto , se mantiene activamente y se puede instalar e integrar fácilmente dentro de su proyecto.
Instale BartyCrouch a través de Homebrew :
Alternativamente, instálelo a través de Mint :
Actualizar de forma incremental su storyboards / archivos XIBs Cuerdas:
Esto hará exactamente lo que estabas buscando.
Para mantener actualizados sus archivos de Storyboards / XIBs Strings con el tiempo, le recomiendo agregar un script de compilación (instrucciones sobre cómo agregar un script de compilación aquí ):
Además de actualizar gradualmente sus archivos de Storyboards / XIBs Strings, también se asegurará de que sus
Localizable.strings
archivos se mantengan actualizados con las claves recién agregadas en el códigoNSLocalizedString
y muestren advertencias para claves duplicadas o valores vacíos.Asegúrese de pagar BartyCrouch en GitHub o este artículo detallado para obtener información adicional.
fuente
Puede agregar manualmente una clave en su archivo de localización. Puede encontrar el objeto clave seleccionándolo en el editor de guiones gráficos. Echemos un vistazo al
Object-ID
inspector de identidad. Parece"nwc-b2-19c"
En su actualización de localización o agregue traducción. Por ejemplo :
fuente
Este no es para todos, pero no requiere herramientas adicionales en el terminal y es fácil para pequeños cambios manuales. (No considere esto cuando quiera automatizar su proceso).
Paso 0: configuración del idioma del guión gráfico
Este paso se realiza solo una vez.
Ahora cuando agrego algo al guión gráfico hago lo siguiente
Paso 1: agregue el archivo de cadenas localizables en inglés
solo marque la línea de pedido en inglés.
Esto crea un archivo de cadenas localizable en inglés completamente nuevo con todas las líneas
Paso 2: copie las nuevas líneas de pedido en los archivos de otros idiomas
y traducirlos
Paso 3: desmarca el inglés, elimina el archivo de cadenas localizables correspondiente
el archivo solo era necesario para obtener las nuevas líneas de pedido
Este es un proceso fácil y rápido, todo se hace en el editor de guiones gráficos
Editar:
Este proceso funciona muy bien con pequeños guiones gráficos. Por ejemplo, tengo un proyecto basado en pestañas y tengo un guión gráfico para cada pestaña.
Busque "referencia del guión gráfico" para encontrar tutoriales.
Buen ejemplo: referencia del guión gráfico en Xcode, ¿dónde deberíamos usarlo?
Por lo tanto, cada pequeño guión gráfico solo tiene algunas cadenas para localizar.
fuente
Finalmente, mi solución fue (rudimentaria pero efectiva) copiar las traducciones anteriores y pegarlas en el nuevo archivo creado al desmarcar y marcar la casilla Idioma de localización.
Esto sería útil en algunos casos como el mío cuando tiene que cambiar solo uno o dos textos.
fuente
Creo que la mejor manera es utilizando localizaciones de exportación / importación incorporadas:
PD: si no desea editar en XLIFF Editor y ha omitido el paso 3, XCode no puede guardar nuevas cadenas. En este caso, abra .xliff en XLIFF Editor, vuelva a guardar sin cambios e importe un archivo nuevo.
fuente
/* Class = "UILabel"; text = "a basic text"; ObjectID = "HFW-aN-MTb"; */
, pero la nueva etiqueta NO se crea en el archivo Main.strings. Luego edité el archivo .xliff para agregar una traducción para la nueva etiqueta. Lo importé de nuevo. La nueva etiqueta ahora se inserta en el archivo Main.strings.Cuando hace clic en su guión gráfico, Main.storyboard, por ejemplo ... En el lado derecho puede ver el menú de localización (ver imagen adjunta). Si desmarca y vuelve a verificar un idioma, el archivo se generará nuevamente. Por lo general, copio el contenido, genero el archivo nuevamente y luego pego el contenido que copié y que ya he traducido.
Esta es la forma en que uso para actualizar el diccionario.
fuente
Tengo un gran guión gráfico con muchas cadenas allí. Dos idiomas base inglés y otro árabe. La tarea consistía en agregar algunos campos y etiquetas al guión gráfico y agregar localización para ellos sin ningún script y NSLocalizableStrings.
Para mí ayudó a continuación:
Primero : asegúrese de tener git para evitar cambios inesperados.
Editor
->Export For Localization...
. Guarde el archivo ar.xliff en alguna parte.fuente
Hay
una aplicación,una herramienta de línea de comandos de Apple llamada AppleGlot que admite la localización incremental. Todavía no lo he probado, pero se ve exactamente como la herramienta que buscaste (hace algún tiempo).fuente
appleglot
herramienta está trabajando con paquetes de aplicaciones finales. Es un enfoque completamente diferente para las aplicaciones de traducción.Aquí hay un guión para extraer cadenas de guiones gráficos y xibs, y fusionarlos con las traducciones existentes.
Para ejecutar el script automáticamente cuando crea un proyecto, colóquelo en el directorio raíz del proyecto y agregue una fase Ejecutar script con la siguiente línea a las fases de compilación de destino en la configuración del proyecto.
O puede ejecutar el script en la Terminal manualmente cuando lo desee.
El guión se ejecuta
ibtool
cuando Tha Leang respondió. También se ejecutagenstrings
para extraer y combinar cadenas marcadas conNSLocalizedString
su código fuente. El script se basa en un script de esta publicación , que combina cadenas después de ejecutarsegenstrings
.fuente
El enfoque más fácil y menos arriesgado es, simplemente copie la ID del objeto del guión gráfico y agregue una nueva clave para la clave en el archivo localizado como el siguiente ejemplo:
1: Copie la identificación del objeto como se muestra a continuación del guión gráfico para el componente:
2: Agregue una nueva clave en el archivo localizado como a continuación:
Nota: este enfoque es mucho menos arriesgado si desea actualizar solo unos pocos componentes; de lo contrario, puede volver a crear el archivo localizado para el guión gráfico.
fuente
Xlifftool está disponible como una aplicación para Mac y funciona bien. Muestra todas las cadenas y objetos traducibles de info.plist, cadenas localizables y el guión gráfico.
Consíguelo aquí para Mac: https://itunes.apple.com/lv/app/xlifftool/id1074282695?mt=12
Paso 1: en Xcode, seleccione su carpeta de proyecto en el navegador de proyectos. Luego seleccione Editor / Exportar para localización ...
Sus cadenas traducibles se incluirán en un archivo xliff en el idioma que seleccionó para la localización en Xcode.
Paso 2: Abra ese archivo con xlifftool y traduzca o actualice sus traducciones que se realizaron anteriormente.
Paso 3: luego cárguelo nuevamente en su proyecto con Editor / Importar localizaciones ...
fuente
Esta es mi manera fácil de actualizar el nuevo texto del guión gráfico o xib a la cadena de localización
1- usa este script http://tredje.se/dev/trouble/?x=entry:entry150917-204052
2- selecciona tu cadena de localización que desea actualizar y cambie la cadena de idioma de "Cadena de localización" a "guión gráfico del generador de interfaces"
3- vuelve a cambiar :)
Hecho.
fuente
La opción 1
Xcode puede "recargar" el archivo convirtiéndolo en un
[Interface Builder Cocoa Touch Storyboard]
tipo de archivo o un[Localizable Strings]
tipo de archivo.Seleccione su archivo de guión gráfico base del Navegador de proyectos Busque la sección Localización en el Inspector de archivos . Si su archivo es actualmente un
[Localizable Strings]
, cámbielo a[Interface Builder Cocoa Touch Storyboard]
o viceversa.Xcode debería haber convertido su guión gráfico a la versión actual, al tiempo que conserva sus antiguos esfuerzos de localización. Aquí puede volver a cambiar el archivo al tipo de archivo original si lo desea.
Opción 2
Úselo
ibtool
para extraer las cadenas en su guión gráfico.Abra la aplicación Terminal
Localice su
Base.lproj
directorioUse esta línea para extraer las cadenas:
Después de que ibtool extraiga las cadenas
file_name.strings
, puede copiarlas y pegarlas en su.strings
archivo original .fuente