Gestión de traducciones

Carga y descarga de archivos de localización (Strings)

El contenido se traduce automáticamente del inglés por Phrase Language AI.

Carga de archivos de localización

Al cargar un archivo en un proyecto, todos los recursos nuevos se extraen de ese archivo y se almacenan en un proyecto. El formato del archivo cargado no tiene que ser el formato inicial de configuración para el proyecto. Si se proporcionan etiquetas para agrupar recursos, las nuevas clave tendrán esas etiquetas aplicadas.

Algunos formatos, como Gettext, proporcionan información meta adicional valiosa, como comentarios, descripciones o información sobre formas plurales. Esta información se extrae siempre que sea posible y se almacena junto con los recursos asignados, lo que permite guardar toda la información valiosa proporcionada en los archivos de localización para su posterior usar.

Existen varios métodos para cargar archivos:

  • En la aplicación, al crear un nuevo proyecto o al seleccionar Cargar archivo en una página de proyecto

  • via API

  • via CLI

Opciones de carga

  • Actualizar traducciones

    De forma predeterminada, solo se extrae el contenido nuevo y ninguna clave existente en un proyecto de localización se elimina o actualiza; no se pueden perder datos al cargar archivos. Si se requiere sobrescribir los datos existentes, Reemplazar los recursos del proyecto con el contenido del archivo de localización seleccionando la opción Update translations. 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 evitar la pérdida de datos, asegúrese de descargar los cambios más recientes desde Phrase al archivo de localización antes de modificarlo y volver a cargarlo con la opción Update translations.

  • Usar prefijo de clave de traducción

    Introduzca un identificador único (por ejemplo, la ruta del archivo) para anteponerlo a los nombres de las clave de traducción cargadas. Usar un prefijo significativo relacionado con el proyecto o el archivo para mantener organizados los nombres de las clave.

    Por ejemplo, una clave importada hello_world con el prefijo project_ dará como resultado la clave project_hello_world.

    El prefijo de la clave de traducción asegura que las claves coincidan con las existentes para evitar colisiones entre diferentes proyectos o archivos.

    Esta opción también está disponible en la API y en la interfaz CLI.

  • Crear y actualizar claves de traducción

    Agregar nuevas claves y sobrescribir las existentes con el contenido del archivo cargado.

  • Actualizar traducción en concordancia de fuente

    Actualizar las traducciones meta solo si el texto fuente existente en el idioma predeterminado del proyecto coincide con el texto fuente en el archivo multilingüe cargado.

  • Actualizar descripciones

    Seleccionar esta opción si se requiere actualizar todas las descripciones de las claves del archivo cargado. Las descripciones vacío sobrescribirán las existentes. Las descripciones pueden contener cualquier información adicional para los traductores y ayudar a identificar claves individuales en el editor.

  • Omitir carga de etiquetas<1>

    Para mantener las traducciones organizadas, agregue múltiples etiquetas a las claves con etiquetas significativas. Seleccionar esta opción evita que las nuevas claves sean etiquetadas automáticamente con una etiqueta de carga.

  • Claves de etiquetas de traducciones nuevas y actualizadas

    Seleccionar esta opción para etiquetar automáticamente las nuevas claves y las claves con traducciones actualizadas al cargar. Esto ayudará a distinguir entre Strings de traducción nuevos, actualizados y antiguos, asegurando que solo se procesen las claves relevantes.

    Esta opción también está disponible en la API.

  • Codificación

    Especifique la codificación (p. ej., UTF-8) del archivo o haga que se seleccione automáticamente (la codificación seleccionada automáticamente puede resultar en una codificación incorrecta y puede revertirse deshaciendo la carga).

  • Revisión

    • Omitir verificación evita la necesidad de verificar nuevamente las traducciones de idiomas que no son principales al actualizar las traducciones.

    • Marcar como revisado trata todas las traducciones cargadas como revisadas. Esta opción está disponible cuando se ha activado el flujo de trabajo de revisión avanzado. Indica que las claves están listas para ser enviadas a producción.

    • Verificar traducciones mencionadas trata todas las traducciones cargadas como verificadas.

Cargar archivos a través de la interfaz de usuario

Para cargar archivos en Strings, siga estos pasos:

  1. Antes de cargar, asegúrese de que el archivo tenga el formato correcto según el tipo.

  2. Desde un proyecto, seleccione Cargar archivo en el menú Más.

    Se abre la página Cargar archivo.

  3. Haga clic en Elegir archivo, seleccione un archivo de un directorio.

    El archivo seleccionado se añade al campo Archivo.

  4. Seleccione un formato para el archivo.

    Los formatos sugeridos se presentan primero según el tipo de archivo.

  5. Seleccione un idioma para el contenido del archivo de la lista desplegable.

    Si esta información no se encuentra en el propio archivo, cree un nuevo idioma para el contenido o use uno existente.

  6. Opcionalmente, proporcione etiquetas para asignar a las nuevas claves y cualquier otra opción.

  7. Haz clic en Guardar.

    El contenido se importa y se convierte en claves.

Resumen de carga

  • Carga fallida

    Si un archivo no pudo procesarse correctamente, se proporcionan detalles del error para ayudar a mitigar el error.

  • Carga exitosa

    Tras el procesamiento exitoso de un archivo de traducción, se presenta una página de resumen que ofrece una visión general de la carga con botones que enlazan a los siguientes pasos. Haga clic en la etiqueta de cargar para abrir el archivo en el editor.

  • Eliminación de claves

    Para evitar la eliminación accidental de claves al eliminar claves de un archivo de localización y cargarlo de nuevo, esas claves no se eliminan automáticamente.

    Para eliminar esas claves, siga estos pasos:

    1. Cargue el archivo.

    2. Haga clic en Eliminar y seleccione Eliminar claves no mencionadas.

    3. Confirme la selección.

    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.

    El límite para eliminar claves no mencionadas es de 100,000 claves. En proyectos que exceden este límite, la opción Eliminar claves no mencionadas no está disponible.

  • Deshacer una carga

    Cada carga desencadena múltiples acciones y puede modificar una gran cantidad de datos dentro de los proyectos, y no es posible retirar una carga.

    Para eliminar claves que fueron (erróneamente) introducidas por un archivo cargado, siga estos pasos:

    1. Desde el resumen de carga de la carga afectada, haga clic en Eliminar y seleccione Eliminar claves creadas.

    2. Confirme la selección.

    Todas las claves y traducciones asociadas creadas por esa carga se eliminan. Las traducciones de las claves que existían antes de la carga no se eliminarán. Para eliminar traducciones individuales, use el historial de versiones de cada traducción.

Archivo de carga

Desde cualquier página del proyecto, seleccione Cargas en el menú Más para acceder al archivo de carga.

El archivo de carga enumera todas las cargas históricas en todos los estados posibles. Haga clic en el menú desplegable Todos los estados para filtrar las cargas por estado (Éxito, Error y/o En progreso). 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 los recursos afectados haciendo clic en una carga de la lista. Todas las cargas correctas también se presentan en el flujo de actividad de un proyecto.

Descarga de archivos de localización

Los archivos de idioma se pueden exportar desde un proyecto en cualquier momento y a cualquier formato de archivo<1> admitido.

Los archivos se pueden exportar desde la aplicación, a través de API o CLI.

Los archivos se pueden descargar desde la pestaña Idiomas de cualquier proyecto seleccionándolos y haciendo clic en Descargar (varios archivos) o en el botón Más opciones Open More Menu/Descargar de un idioma.

Opciones de descarga

Las opciones de descarga se presentan al descargar un archivo en la ventana Descargar con pestañas para General, Avanzado y Codificación.

La selección de diferentes formato de archivo<1>s presenta diferentes opciones. Para obtener más detalles, consulte el artículo pertinente sobre el formato de archivo específico.

Opcionalmente, use el campo Nombre de archivo en la pestaña General para especificar un nombre de archivo de exportación personalizado, o déjelo en blanco para generar un nombre definido por el sistema.

  • Eliminar prefijo de clave de traducción

    Si se ha añadido un prefijo de clave de traducción al cargar el archivo, seleccione esta opción en la pestaña Avanzado para eliminar el prefijo de los nombres de las claves de traducción exportadas:

    1. Introduzca el prefijo para descargar todas las claves y eliminar el prefijo especificado siempre que sea posible.

      Importante

      Esto puede crear nombres de clave duplicados si otras claves comparten el mismo nombre después de eliminar el prefijo.

    2. Si es necesario, seleccione Usar prefijo de clave de traducción como filtro para descargar solo las claves de traducción que contienen el prefijo especificado y eliminar el prefijo del archivo descargado.

    Esta opción también está disponible en la API y en la interfaz CLI.

Casos prácticos

Mantenimiento de estructuras de archivo

De forma predeterminada, los recursos traducibles se almacenan como claves y valores en lugar de mantener la estructura de archivo original. Esto permite intercambiar formatos de archivo sin estar bloqueado en un formato, así como una agrupación flexible mediante etiquetas.

Algunos marcos o configuraciones requieren múltiples archivos fuente que también necesitan configuración adicional.

Mantener archivos separados

En general, mantenga 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 que los archivos de localización se mantengan en archivos separados, se puede usar un flujo de trabajo basado en archivos etiquetando las claves al cargar y usando las etiquetas como referencia al descargar las claves traducidas de vuelta a los archivos originales. Las claves pueden llevar múltiples etiquetas e incluirse en múltiples archivos, asegurando la reutilización y la consistencia. Un flujo de trabajo basado en etiquetas es flexible y permite la reorganización de los recursos de traducción sin tener que subirlos a los proyectos.

Asigne 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 marcos permiten el uso de claves no únicas en múltiples archivos. Algunos formatos, como Symfony, admiten dominios. Estos dominios se detectan por el nombre del archivo. Las claves no se limitan automáticamente por dominios basados en el nombre del archivo, pero esto se puede resolver usando un prefijo de dominio único para las claves dentro del archivo.

Ejemplo de configuración de CLI

Si trabaja con CLI o conecta un proyecto con un repositorio (p. ej., GitHub, GitLab o Bitbucket), realice la configuración de un archivo de configuración para gestionar las cargas y descargas.

Para el ejemplo, un proyecto tiene varios archivos de traducción con nombres semánticos para la localización fuente. Por ejemplo: accounts.en.yml, emails.en.yml etc. Estos nombres semánticos se gestionan a través de etiquetas.

Configure el .phrase.yml para reflejar la organización de los archivos en el proyecto de localización y vincúlelos 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:
          etiquetas: cuentas
      # correos electrónicos
      - archivo: ./path/to/locales/emails.<locale_name>.yml
        params:
          etiquetas: correos electrónicos

Importante

Aunque es compatible, por razones de seguridad, no se recomienda almacenar identificadores únicos (token) de acceder dentro del archivo.

Configurar una variable de entorno PHRASE_identificador único (token)_acceder es más seguro.

Las etiquetas de parámetros también se pueden usar en la sección push en lugar de usar el marcador de posición <tag>.

La configuración crea claves con etiquetas basadas en el archivo del que provienen al ejecutar un push o activar una sincronización desde un repositorio. Al ejecutar pull o activar la exportar al repositorio, agrupa las claves en archivos según sus etiquetas.

Localización de un proyecto para diferentes regiones, clientes o audiencias

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 usado por diferentes clientes que desean usar una solución de marca blanca.

  • Se requieren variantes de idioma como simple, formal o informal.

Localización de 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 se trata de una única salida o un proyecto a corto plazo:

    Crear una rama, realizar el trabajo exclusivamente en esa rama durante la duración del proyecto y Eliminar la rama cuando se Completar.

  • Si se trata de un proyecto a largo plazo:

    Mantenga un Duplicar del proyecto existente. Esto permite invitar y trabajar con clientes en la misma organización proporcionando acceso solo a su(s) proyecto(s), dejando otros proyectos ocultos para ellos.

Localizar 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.

Los códigos de idioma que siguen el estándar ISO (por ejemplo, en-US) no tienen que ser únicos, por lo que se pueden crear muchas versiones del mismo idioma dentro de un proyecto. Distinga entre regiones, clientes o audiencias usando un nombre de idioma único.

Al configurar, cualquier clave recién introducida en la localización predeterminada aparecería como no traducido en los otros idiomas y se localizaría en consecuencia. Si trabaja con un cliente y su(s) propio(s) traductor(es), asígnelos específicamente para que solo puedan Editar sus versiones de idioma actualizando el acceso al idioma en su perfil de usuario o en la gestión de usuarios del proyecto.

Realice la configuración de 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.

¿Fue útil este artículo?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.