Generalidades

Internacionaliza tu aplicación (III).Internacionalizando tu aplicación (I) | Por Javier Martinez | Mar 2022

Internacionaliza tu aplicacion IIIInternacionalizando tu aplicacion I Por Javier
autor: julia verde

Internacionalizando tu aplicación (1)

Internacionaliza tu aplicación (II)

Bienvenidos a la tercera parte de esta serie de artículos, donde explicamos posibles soluciones al problema de la duplicación. ¿Cómo internacionalizo mi aplicación móvil?

Digamos que no está comenzando un proyecto desde cero y tiene las mismas aplicaciones en Android e iOS, cada una con su propia traducción y sus propias claves de cadena (si tiene una en iOS). Desafortunadamente, estuviste en nuestra posición hace unos meses. Un camino largo y sinuoso está por delante de ti. Veamos cómo manejar este proceso. Objetivo: Tener una única fuente de verdad para iOS y Android y, en el proceso, tener un conjunto de cadenas disponibles para cualquier otra plataforma, como front-end web, aplicación de escritorio, etc.

Considere una convención de nomenclatura adecuada para ID de cadena

Dado que tendremos una única fuente de información, es una buena idea tener un nombre significativo para el ID de la cadena. En nuestro caso, consideramos que las opciones de geed son:

screen.component.string_name

La separación de estas tres partes tiene en cuenta la pantalla donde aparece la cadena, los componentes de la cadena y finalmente el nombre descriptivo. Por ejemplo, para un ID de cadena determinado start_page.header.greeting_title queremos decir que la cadena aparece en start_page cadena dentro header Los componentes y el contenido de la cadena son greeting_title. Como dijimos, .correos La gente del producto lo usará para inspeccionar y modificar cadenas, por lo que las identificaciones de cadenas significativas les proporcionarán un contexto valioso.

Localice cualquier cadena existente en su aplicación

Suena obvio.No obstante, encontramos que la mayoría de las cadenas (dirigidas a la plataforma iOS) en las clases de Swift y .xib y Guión gráfico. Aprovechando la ausencia de estas cadenas, nómbrelas correctamente de acuerdo con la convención de nomenclatura acordada en el paso anterior.

clave de cadena de coincidencia

Esta es probablemente la tarea más tediosa de todo el proceso. El objetivo de tener una única fuente de verdad es compartir cadenas entre plataformas, por lo que no tiene sentido si repetimos las mismas cadenas en nuestro código (una para Android y otra para iOS). Consejo personal: evite usar «ios» o «android», debe llamarse independiente del marco, terminamos con cadenas que solo se usan en una plataforma. No es la gran cosa.

Para hacer esto, creamos un pequeño script de coincidencia que busca valores duplicados entre las dos plataformas. Una vez que tenemos esa lista, solo tenemos que decidir cuál elegir y nombrarla en consecuencia.

Agregar cadenas faltantes

tenemos que migrar a .correos archivo de un archivo de cadenas totalmente funcional (xml o .instrumentos de cuerda), por lo que en este punto elegiremos una como única fuente de verdad (elegimos el archivo .strings de iOS) y moveremos todas las cadenas a ese archivo, lo que significa tomar de Android las cadenas que aún no están en el archivo y muévalos al archivo .strings.Ahora tenemos una única fuente de verdad, pero no en .correos pero en el archivo .strings de iOS.

Crear archivo .po

Es hora de generar .correos documentos (de ahora en adelante, esta será nuestra única fuente de verdad).Para lograrlo, nos apoyamos en localización.biz herramienta.Afortunadamente, evitamos crear otro script para convertir de .strings a .correosSubida generada .correos Vaya a un nuevo repositorio de Git y listo, su repositorio de cadenas está listo para convertirse a cualquier formato dependiente de la plataforma (Android e iOS por ahora).

Instalación de la versión web [optional]

En este punto, la administración de cadenas de aplicaciones desde un solo archivo es suficiente, pero si desea empoderar a la gente del producto, o incluso tener traductores a su disposición, es mejor tener una herramienta de traducción que les permita administrar fácilmente un montón de cadenas.

Nosotros elegimos disco de red Al ser una herramienta de código abierto, puede instalarse fácilmente en su servidor Linux gracias a Docker. Ha pagado para que el programa funcione como un SAAS.

marco

Esta serie de artículos no tocará ningún código de secuencias de comandos, solo se trata de una solución a un problema que cualquiera puede implementar a su manera. Asegúrese de crear un conjunto de scripts que conviertan archivos .po en archivos .xml y .strings. Consejo personal que nos ayudó mucho: confíe en las expresiones regulares tanto como sea posible.

Una vez que hemos pasado por el proceso «paso a paso», estamos en un escenario en el que ya tenemos una única fuente de verdad. Es hora de generar el archivo de cadenas dependiente de la plataforma (.xml y .instrumentos de cuerda) usando el marco de cadena que acabamos de crear. Pero, ¿cómo integramos el proceso de compilación en nuestro flujo de trabajo habitual?

androide

Lo obtenemos en Android a través de la tarea build.gradle llamada durante la inicialización de Gradle, lo que significa que también se llama cuando se compila el proyecto.

iOS

Para iOS, adoptamos un enfoque similar, agregando una etapa de precompilación al Podfile.

Este código en sí no hace nada.En realidad llama a un archivo Ruby donde llamamos generate_strings.py Tal como lo hacemos en Android.

LEER  Cómo poner a Prince of Persia en las arenas del tiempo en francés

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba