Al cargar un archivo en un proyecto, todos los nuevos recursos se extraen de ese archivo y se almacenan en un proyecto. El formato del archivo cargado no tiene que ser el formato inicial configurado para el proyecto. Si se proporcionan tags para agrupar recursos, se aplicarán esos tags a las nuevas claves.
Algunos formatos, como Gettext, proporcionan información meta adicional valiosa, como comentarios, descripciones o información sobre formas plurales. Esta información se extrae cuando y donde sea posible y se almacena junto con los recursos asignados, permitiendo que toda la información valiosa proporcionada en los archivos de localización se guarde para su uso posterior.
Hay varios métodos para cargar archivos:
-
En la aplicación, al crear un nuevo proyecto o seleccionando Cargar archivo en una página de proyecto
-
a través de API
-
a través de CLI
-
Por defecto, solo se extrae nuevo contenido y no se eliminan ni actualizan las claves existentes en un proyecto de localización; no se puede perder datos al cargar archivos. Si se requiere sobrescribir datos existentes, reemplace los recursos del proyecto con contenido del archivo de localización seleccionando la opción
. Las traducciones existentes se sobrescribirán con el contenido del archivo de localización cargado.Esta opción también está disponible en la API.
Nota
Para prevenir la pérdida de datos, asegúrese de que los últimos cambios se descarguen de Phrase al archivo de localización antes de cambiarlo y cargarlo nuevamente con la opción
. -
Ingrese un identificador único (por ejemplo, la ruta del archivo) para anteponer a los nombres de las claves de traducción cargadas. Use un prefijo significativo relacionado con el proyecto o archivo para mantener organizados los nombres de las claves.
Por ejemplo, una clave importada
hello_world
con el prefijoproyecto_
resultará en la claveproyecto_hello_world
.El prefijo de clave de traducción asegura que las claves se comparen con las existentes para evitar colisiones entre diferentes proyectos o archivos.
Esta opción también está disponible en la API y la interfaz CLI.
-
Agregue nuevas claves y sobrescriba las existentes con el contenido del archivo cargado.
-
Actualice las traducciones de destino solo si el texto de origen existente coincide con el texto de origen en el archivo multilingüe cargado.
-
Seleccione esta opción si se requiere actualizar todas las descripciones de las claves del archivo cargado. Las descripciones vacías sobrescribirán las existentes. Las descripciones pueden contener cualquier información adicional para los traductores y ayudar a identificar claves individuales en el editor.
-
Para mantener las traducciones organizadas, agregue múltiples etiquetas a las claves con etiquetas significativas. Seleccione esta opción para evitar que nuevas claves sean etiquetadas automáticamente con una etiqueta de carga.
-
Seleccione esta opción para etiquetar nuevas claves y claves con traducciones actualizadas automáticamente al cargar. Esto ayudará a distinguir entre cadenas de traducción nuevas, actualizadas y antiguas, asegurando que solo las claves relevantes se procesen más adelante.
Esta opción también está disponible en la API.
-
Especifique la codificación (por ejemplo, UTF-8) del archivo o hágala seleccionar automáticamente (la codificación seleccionada automáticamente puede resultar en una codificación incorrecta y se puede revertir deshaciendo la carga).
-
-
evita la necesidad de verificar nuevamente las traducciones de idiomas no principales al actualizar traducciones.
-
flujo de trabajo de revisión avanzada. Indica que las claves están listas para ser enviadas a producción.
trata todas las traducciones cargadas como revisadas. Esta opción está disponible cuando se ha activado -
trata todas las traducciones cargadas como verificadas.
-
Para cargar archivos en Strings, siga estos pasos:
-
Antes de cargar, asegúrate de que el archivo esté formateado correctamente según tipo.
-
Desde un proyecto, selecciona Cargar archivo del menú .
Se abre la página
. -
Haz clic en Elegir archivo, selecciona un archivo de un directorio.
El archivo seleccionado se añade al campo
. -
Selecciona un
para el archivo.Los formatos sugeridos se presentan primero según el tipo de archivo.
-
Selecciona un idioma para el contenido del archivo de la lista desplegable.
Si esta información no está en el archivo en sí, crea un nuevo idioma para el contenido o usa uno existente.
-
Opcionalmente proporciona etiquetas que se asignarán a las nuevas claves y cualquier otra opción.
-
Haz clic en Guardar.
El contenido se importa y se convierte en claves.
-
Carga fallida
Si un archivo no pudo ser procesado correctamente, se proporcionan detalles del error para ayudar a mitigar el error.
-
Carga exitosa
Después del procesamiento exitoso de un archivo de traducción, se presenta una página de resumen que da una visión general de la carga con botones que enlazan a los siguientes pasos. Haz clic en la etiqueta de carga para abrir el archivo en el editor.
-
Eliminando claves
Para evitar la eliminación accidental de claves al eliminar claves de un archivo de localización y volver a cargarlo, esas claves no se eliminan automáticamente.
Para eliminar esas claves, sigue estos pasos:
Las claves no mencionadas son claves que no están incluidas en la carga actual pero que aún existen en el proyecto. Al eliminarlas, todas las claves y traducciones asociadas que no se incluyeron en el archivo cargado se eliminan del proyecto.
-
Deshacer una carga
Cada carga desencadena múltiples acciones y puede modificar muchos datos dentro de los proyectos y no es posible retractarse de una carga.
Para eliminar claves que fueron (erróneamente) introducidas por un archivo cargado, siga estos pasos:
-
Desde el resumen de carga de la carga afectada, haga clic en Eliminar y seleccione .
-
Confirme la selección.
Todas las claves y traducciones asociadas creadas por esa carga se eliminan. Las traducciones para claves que existían antes de la carga no se eliminarán. Para eliminar traducciones individuales, use el historial de versiones para cada traducción.
-
Desde cualquier página de proyecto, seleccione
del menú para acceder al archivo de carga.El archivo de carga lista todas las cargas históricas en todos los estados posibles. Haga clic en el menú desplegable
para filtrar cargas por estado ( , y/o ). Para localizar una carga específica, use el cuadro de búsqueda en la parte superior para buscar por nombre.Acceda a resúmenes detallados de carga de recursos afectados haciendo clic en una carga listada. Todas las cargas exitosas también se presentan en el flujo de actividad de un proyecto.
Los archivos de idioma se pueden descargar de un proyecto en cualquier momento y en cualquier formato de archivo soportado.
Los archivos se pueden descargar de la aplicación, a través de API o CLI.
Los archivos se pueden descargar de la pestaña Descargar (múltiples archivos) o en el botón Más opciones /Descargar de un idioma.
Las opciones de descarga se presentan al descargar un archivo en la ventana
con pestañas para , y .Seleccionar diferentes formato de archivo específico.
presenta diferentes opciones. Para más detalles, consulta el artículo relevante sobre el-
Si se ha añadido un prefijo de clave de traducción al cargar el archivo, selecciona esta opción en la pestaña
para eliminar el prefijo de los nombres de las claves de traducción exportadas:-
Introduce el prefijo para descargar todas las claves y eliminar el prefijo especificado donde sea posible.
Importante
Esto puede crear nombres de claves duplicados si otras claves comparten el mismo nombre después de que se elimine el prefijo.
-
Si es necesario, selecciona
para descargar solo las claves de traducción que contengan el prefijo especificado y eliminar el prefijo del archivo descargado.
Esta opción también está disponible en la API y la interfaz CLI.
-
Por defecto, los recursos traducibles se almacenan como claves y valores en lugar de mantener la estructura de archivo original. Esto permite formatos de archivo intercambiables sin estar bloqueado en un formato, así como agrupación flexible usando tags.
Algunos marcos o configuraciones requieren múltiples archivos fuente que también requieren configuración adicional.
Manteniendo archivos separados
En general, mantén todas las traducciones para cada idioma en un solo archivo. Esto hace que las descargas de recursos sean más rápidas y robustas. Las traducciones se mantienen organizadas en proyectos, por lo que no se requieren archivos pequeños separados.
Si se requiere mantener archivos de localización en archivos separados, se puede utilizar un flujo de trabajo basado en archivos etiquetando las claves al cargarlas y utilizando las etiquetas como referencia al descargar las claves traducidas de nuevo en los archivos originales. Las claves pueden llevar múltiples etiquetas y estar incluidas en múltiples archivos, asegurando reutilización y consistencia. Un flujo de trabajo basado en etiquetas es flexible y permite la reorganización de los recursos de traducción sin tener que ser cargados en proyectos.
Dale a las claves nombres únicos en todos los archivos para asegurar un flujo de trabajo fluido. En un enfoque basado en clave-valor, una clave debe tener los mismos valores asignados en cada contexto. Algunos frameworks permiten el uso de claves no únicas en múltiples archivos. Algunos formatos, como Symfony, soportan dominios de mensajes. Estos dominios son detectados por el nombre del archivo. Las claves no están automáticamente limitadas por dominios basados en nombres de archivos, pero esto se puede resolver utilizando un prefijo de dominio único para las claves dentro del archivo.
Ejemplo de configuración de CLI
Si trabajas con CLI o conectando un proyecto con un repositorio (por ejemplo, GitHub, GitLab o Bitbucket), configura un archivo de configuración para gestionar cargas y descargas.
Para el ejemplo, un proyecto tiene varios archivos de traducción nombrados semánticamente para la localización de origen. Por ejemplo: accounts.en.yml
, emails.en.yml
etc. Estos nombres semánticos se gestionan a través de etiquetas.
Configura el .phrase.yml
para reflejar la organización de los archivos en el proyecto de localización y enlazarlos a etiquetas en el proyecto de Strings incluyendo el marcador de posición de etiqueta en la ruta del archivo:
phrase: access_token: "3d7e6598d955bfcab104c45c40af1b9459df5692ac4c28a17793" project_id: "23485c9c5dfb15d85b32d9c5f3d2hl54" file_format: yml push: sources: - archivo: ./path/to/locales/<tag>.en.yml params: locale_id: "abcd1234cdef1234abcd1234cdef1234" pull: targets: # cuentas - archivo: ./path/to/locales/accounts.<locale_name>.yml params: tags: cuentas # correos electrónicos - archivo: ./ruta/a/locales/correos.<nombre_local>.yml params: tags: correos electrónicos
Importante
Aunque se admite, por razones de seguridad, no se recomienda almacenar tokens de acceso dentro del archivo.
Configurar una PHRASE_ACCESS_TOKEN
variable de entorno es más seguro.
Los parámetros tags también se pueden usar en la sección de push en lugar de usar el <tag>
marcador de posición.
La configuración crea claves con etiquetas basadas en el archivo del que provienen al ejecutar un push o activar la sincronización desde un repositorio. Al ejecutar pull o activar la exportación al repositorio, agrupa claves en archivos según sus etiquetas.
Un producto, sitio web o aplicación se traduce a varios idiomas diferentes, pero en algunos casos, la localización no es solo el idioma elegido, sino diferentes versiones dentro de un mismo idioma.
Se requiere una distinción adicional si:
-
Un producto tiene una marca diferente en regiones donde se habla el mismo idioma.
-
Un producto es utilizado por diferentes clientes que desean usar una solución de etiqueta blanca.
-
Se requieren variantes de idioma como simple, formal o informal.
Localizando un producto estático
Si un producto está completamente desarrollado y rara vez se actualiza, puede existir una versión separada del producto dentro de un proyecto.
-
Si un solo resultado o un proyecto a corto plazo:
Crea una rama, trabaja exclusivamente en esa rama durante la duración del proyecto y elimina la rama cuando esté completa.
-
Si un proyecto a largo plazo:
Mantener un duplicado del proyecto existente. Esto permite invitar y trabajar con clientes en la misma organización al proporcionar solo acceso a su(s) proyecto(s), dejando otros proyectos ocultos para ellos.
Localizando un proyecto con actualizaciones continuas
Si un producto se actualiza constantemente con nuevo contenido (claves), aplicar esas actualizaciones a múltiples proyectos y mantenerlos sincronizados es difícil. Usar idiomas dedicados dentro de un proyecto para mantenerlos.
Códigos de idioma siguiendo el estándar ISO (por ejemplo, en-US) no tienen que ser únicos, por lo que se pueden crear dentro de un proyecto muchas versiones del mismo idioma. Distinguir entre regiones, clientes o audiencias utilizando un nombre de idioma único.
Cuando se configura, cualquier clave nueva introducida en la localización predeterminada aparecería como no traducida en los otros idiomas y se localizaría en consecuencia. Si se trabaja con un cliente y su(s) propio(s) traductor(es), asígnales específicamente para que solo puedan editar sus versiones de idioma actualizando el acceso al idioma en su perfil de usuario o la gestión de usuarios del proyecto.
Configurar procesos de localización paralelos con trabajos y flujos de trabajo de revisión dentro del mismo proyecto. Esta flexibilidad también se extiende a la carga y descarga de archivos de idioma o procesos automatizados a través de API.