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 valiosa adicional, 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 seleccionando 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 datos existentes, Reemplazar los recursos del proyecto con el contenido del archivo de localización seleccionando la opción actualizar traducciones. 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 de Phrase al archivo de localización antes de modificarlo y cargarlo de nuevo con la opción actualizar traducciones.

  • 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_ resultará en la clave project_hello_world.

    El prefijo de la 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 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 en vacío sobrescribirán las existentes. Las descripciones pueden contener cualquier información adicional para los traductores y Ayuda a identificar claves individuales en el editor.

  • Saltar cargar etiqueta<1>

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

  • 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 nuevas, actualizadas y antiguas, asegurando que solo se procesen las claves relevantes.

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

  • Codificación

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

  • Revisión

    • Saltar verificar 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 revisado. 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 verificado.

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

  2. Desde un proyecto, Seleccionar Upload file en el menú More.

    Se abre la página Upload file.

  3. Haga clic en Choose file, seleccionar un archivo de un directorio.

    El archivo seleccionado se añade al campo File.

  4. seleccionar un formato para el archivo.

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

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

    Si esta información no se encuentra en el propio archivo, Crear un nuevo idioma para el contenido o usar 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 cargar

  • Error al cargar

    Si un archivo no pudo procesarse 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 ofrece una descripción general de la cargar con botones que enlazan a los Siguiente pasos. Haga clic en la etiqueta de cargar 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, siga estos pasos:

    1. Cargar el archivo.

    2. Haga clic en Eliminar y Seleccionar Delete unmentioned keys.

    3. Confirmar la selección.

    Las claves no mencionadas son claves que no están incluidas en la cargar actual pero que aún existen en el proyecto. Al eliminar las, todas las claves y traducciones asociadas que no se incluyeron en el archivo cargar se eliminar del proyecto.

    El límite para eliminar claves no mencionadas es de 100,000 claves. En los proyecto que exceden este límite, la opción Delete unmentioned keys no está disponible.

  • Deshacer una cargar

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

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

    1. Desde el resumen de cargar de la cargar afectada, haga clic en Eliminar y Seleccionar Delete created keys.

    2. Confirmar la selección.

    Todas las claves y traducciones asociadas creadas por esa cargar son eliminar del proyecto. Las traducciones de las claves que existían antes de la cargar no serán eliminar. Para eliminar traducciones individuales, usar el historial de versiones de cada traducción.

Archivo de cargar

Desde cualquier página de proyecto, Seleccionar Uploads en el menú More para acceder al archivo de cargar.

El archivo de cargar enumera todas las cargar históricas en todos los estado posibles. Haga clic en el menú desplegable All statuses para filtrar cargar por estado (Success, Failed y/o In progress). Para localizar una cargar específica, usar el cuadro de búsqueda en la parte superior para buscar por nombre.

Acceder a resúmenes detallados de carga de los recursos afectados haciendo clic en una carga de la lista. Todas las cargas exitosas también se presentan en el flujo de actividad de un proyecto.

Descargar archivos de localización

Los archivos de idioma se pueden exportar desde un proyecto en cualquier momento y a cualquier formato de archivo compatible.

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 idioma de cualquier proyecto Seleccionar ellos y haciendo clic en Descargar (varios archivos) o el botón Más opciones Open More Menu/Descargar de un idioma.

Opciones de Descargar

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

Seleccionar diferentes formato de archivos presenta diferentes opciones. Para más detalles, consulte el artículo relevante sobre el formato de archivo específico.

Opcionalmente, usar el campo Nombre de archivo en la pestaña General para especificar un nombre de archivo de exportar personalizado, o dejarlo 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, Seleccionar esta opción en la pestaña Avanzado para eliminar el prefijo de los nombres de las claves de traducción exportar:

    1. Introducir el prefijo para descargar todas las claves, y eliminar el prefijo especificado cuando sea posible.

      Importante

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

    2. Si es necesario, Seleccionar usar prefijo de clave de traducción como filtrar para descargar solo las claves de traducción que contienen el prefijo especificado, y eliminar el prefijo del archivo descargar.

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

Casos prácticos

Mantener estructuras de archivo

Por defecto, los recursos traducible se almacenan como claves y valores en lugar de mantener la estructura de archivo original. Esto permite intercambiar formato de archivos sin estar bloqueado en un formato, así como una agrupación flexible usando etiquetas.

Algunos marcos o configuraciones requieren múltiples archivos fuente que también requieren 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 cargarlos en 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 de mensajes. Estos dominios son detectados por el nombre del archivo. Las claves no tienen un alcance automático por dominios basados en el nombre del archivo, pero esto puede resolverse 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 las 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:
      - file: ./path/to/locales/<etiqueta>.en.yml
        params:
          locale_id: "abcd1234cdef1234abcd1234cdef1234"
  pull:
    targets:
      # accounts
      - file: ./path/to/locales/accounts.<nombre_de_la_localización>.yml
        params:
          tags: accounts
      # emails
      - file: ./path/to/locales/emails.<nombre_de_la_localización>.yml
        params:
          tags: emails

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_acceder_identificador único (token) 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 <etiqueta>.

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 utilizado 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 una salida única o un proyecto a corto plazo:

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

  • Si un proyecto a largo plazo:

    Mantenga un Duplicar del proyecto existente. Esto permite la invitación y el trabajo con clientes en la misma organización al proporcionar solo acceder 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 (clave), aplicar esas actualizaciones a múltiples proyectos y mantenerlos sincronizados es difícil. Usar idiomas dedicados dentro de un proyecto para mantenerlos.

Los idioma códigos que siguen 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. 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 acceder al idioma en su perfil de usuario o en la gestión de usuario 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.