Gestión de traducciones

Ramificación (Strings)

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

Disponible para

  • los planes Business y Enterprise

Ponte en contacto con el equipo de ventas para preguntar por nuestros planes.

La ramificación se utiliza en el control de versiones de software. Las copias de archivos de proyecto llamadas ramas permiten a los equipos trabajar en versiones paralelas del proyecto al mismo tiempo mientras conservan una copia sin editar. Esto elimina el riesgo de sobrescribir accidentalmente los cambios de otros en los archivos del proyecto.

El proyecto principal se copia cuando se crea una nueva rama, realizándose los cambios solo en esa rama. Cuando los cambios están Completar, la rama se fusiona de nuevo en el proyecto principal. Se puede trabajar en varias ramas al mismo tiempo y, después de fusionarlas, las ramas se eliminan automáticamente. Las ramas fusionadas permanecen disponibles en la pestaña Fusionado para un seguimiento simplificado del historial. Las etiquetas de una rama existente se copian a la nueva rama.

Limitaciones

  • Todos los roles excepto traductor y invitado tienen acceso a la vista de ramas.

  • Las fusiones no se pueden revertir y las ramas no se pueden recuperar.

  • Los trabajos creados en una rama específica no son visibles en el proyecto principal y viceversa. Cuando una rama se fusiona en el proyecto principal, cualquier trabajo abierto en ella se pierde.

  • Los informes en la vista Informes reflejan solo el estado de la rama activo. Fusionar una rama en el proyecto principal actualiza los informes del proyecto principal.

  • La vista Actividad contiene solo actividades en la rama activo. Las actividades en las ramas no son visibles en el proyecto principal y viceversa. Las actividades en una rama se pierden al fusionarla en el proyecto principal.

  • GitHub Sync solo se puede utilizar en el proyecto principal y no en las ramas.

  • Los comentarios realizados en una rama no son visibles en el proyecto principal y viceversa.

  • Los pedidos creados en una rama no son visibles en el proyecto principal y viceversa. Cuando una rama se fusiona en el proyecto principal, cualquier pedido abierto en ella se pierde.

  • Los traductores no pueden restringirse a ramas específicas, pero se les da permiso para trabajar en locales específicos. Se debe instruir a los traductores sobre cómo trabajar con ramas.

Habilitar ramificación

La ramificación se habilita en la pestaña Avanzado de la configuración del proyecto con la opción de proteger la rama principal de cambios.

Cuando se habilita, se presenta un menú de rama Branch Menu en la pantalla del proyecto donde se pueden seleccionar las ramas de trabajo. Para especificar una rama en CLI, use el parámetro --branch:

--branch <branch_name>

Las ramas se enumeran en la pestaña Ramas de un proyecto, donde se presenta la información de creación y fusión. Las ramas también se pueden eliminar o fusionar y se pueden crear trabajos para esa rama desde la pestaña Ramas.

Para listar todas las ramas de un proyecto a través de la API o CLI, ejecute:

$ Phrase branches list --project_id <ID_del_proyecto>

# p. ej.
$ Phrase branches list --project_id 1d8ae641902624df63ce6fbd64ff9549$ Phrase branches list <ID_del_proyecto>

Para eliminar una rama a través de la API o CLI, ejecute:

$ phrase branches delete --project_id <project_id> --name <branch_name>

# p. ej.
$ Phrase branches delete --project_id 1d8ae641902624df63ce6fbd64ff9549 --name test-test$ Phrase rama eliminar <ID_del_proyecto> <nombre_de_la_rama>

Proteger rama principal

Proteger la rama principal restringe las ediciones al proyecto principal, lo que requiere que todos los cambios se realicen en una rama.

Cuando está habilitada:

  • Las localizaciones, claves y traducciones no se pueden añadir, editar ni eliminar directamente en el proyecto principal. Esta restricción se aplica al recurso de localización en su conjunto, incluida la configuración por localización, como el perfil de traducción automática<1> asignado, no solo al nombre o las traducciones de la localización.

    Para cambiar una configuración por localización en un proyecto principal protegido, deshabilite temporalmente la protección de la rama, realice el cambio y, a continuación, vuelva a Habilitar la protección.

  • La carga de archivos y la gestión de capturas de pantalla están deshabilitadas en el proyecto principal.

  • Se debe seleccionar una rama antes de importar archivos.

  • Las automatizaciones no se ejecutan en el proyecto principal.

Crear una rama

Los roles de admin, project manager, diseñador y desarrollador pueden crear nuevas ramas en la pestaña de ramas, a través de la API o en la CLI. Las ramas se pueden crear a partir de cualquier otra rama, no solo de la rama principal. Se admiten hasta 5 niveles de rama.

Para crear una rama desde la interfaz de usuario, siga estos pasos:

  1. Desde una página de proyecto, seleccione la pestaña de ramas.

  2. Haga clic en Crear rama.

    Se abre la ventana Crear rama.

  3. Proporcione un nombre para la rama.

  4. Seleccione una rama base de la lista de ramas existentes.

  5. Haz clic en Crear.

    La nueva rama se añade a la lista.

Para crear una rama a través de la API o CLI, ejecute:

$ Phrase branches create --project_id <project_id> --data <data>

Para Crear una rama al enviar traducciones, ejecute:

$ phrase push --branch <branch_name>

Sincronizar ramas

La sincronización garantiza que la rama de trabajo se mantenga alineada con los últimos cambios de la rama de la que se originó. De esta manera, los traductores pueden trabajar con una versión actualizada del contenido también en proyectos a largo plazo.

Para sincronizar una rama con su rama base, siga estos pasos:

  1. En la pestaña Branches, haga clic en Sync with base branch Siguiente a la rama deseada.

    La página Sync se muestra con información sobre cualquier conflicto y cambios que se van a sincronizar con la rama base.

  2. Haga clic en cualquiera de los cambios detectados para revisarlo antes de sincronizar.

    Se muestra una tabla con detalles sobre el cambio seleccionar.

  3. Seleccionar Sync y confirmar para aplicar los cambios.

    Los cambios se añaden a la rama base y se vuelven visibles en el editor de traducción. La información sobre la última sincronización se muestra en la columna Synced de la pestaña Branches.

La sincronización de rama también se puede realizar a través de la API ejecutando este comando CLI:

$ phrase branches sync \\
  --project_id <project_id> \\
  --name <branch_name> \
  --data '{"strategy":"use_main"}' \
  --access_token <token>
  • use_branch resuelve conflictos aplicando cambios de la rama y, si no se especifica, es el valor predeterminado.

  • use_main resuelve conflictos rechazando cambios de la rama y hace referencia a la rama base. Al trabajar con ramas apiladas, la rama base no es necesariamente la rama del proyecto principal real.

Unir ramas

Después de completar el trabajo de traducción o específico de la versión en una rama, cualquier cambio puede unirse a la rama base. Una vez que todos los cambios se han unido hacia arriba en la cadena, la rama de nivel superior puede unirse a la rama principal.

Después de una unión exitosa, la rama unida se elimina automáticamente y aparece en la pestaña Unidas para el seguimiento del historial.

Solo los cambios en los siguientes recursos se aplican a la rama base durante las uniones:

  • Regiones

  • Claves

  • Traducciones

Los cambios en otros recursos, como Actividades, Trabajos y Pedidos, no se aplican.

Las ramas con elementos secundarios activos no pueden unirse hasta que los elementos secundarios se eliminen o se unan primero.

Conflictos

Un conflicto ocurre cuando un recurso (traducción, clave o localización) ha cambiado tanto en la rama actual como en su rama base después de que la rama fuera creada o sincronizada por última vez. Los conflictos pueden ocurrir en cualquier nivel de la pila de ramas, no solo al unir a la principal.

Para unir una rama, siga estos pasos:

  1. Desde la pestaña ramas de un proyecto, haga clic en Unir con la rama base junto a la rama deseada.

    Se abre la página Unir. Se puede acceder a la información sobre las traducciones que se modificarán durante la unión haciendo clic en las celdas.

  2. Si hay conflictos, seleccione una estrategia de unión:

    • Seleccione Usar rama base para rechazar los cambios en conflicto y conservar las traducciones existentes.

    • Seleccione Usar Branch Menu NombreDeRama para reemplazar las traducciones existentes con los cambios de la rama.

  3. Haga clic en Unir y confirme para aplicar los cambios.

    La rama se une a la rama base y se elimina automáticamente. Para revisar el historial de la rama unida, abra la pestaña Merged en la página Branches.

Para unir una rama a través de la API o CPI, ejecute:

$ phrase branches merge \\
  --project_id <project_id> \\
  --name <name> \\
  --data '{"strategy":"use_main"}' \
  --access_token <token>
  • use_branch resuelve conflictos aplicando cambios de la rama y, si no se especifica, es el valor predeterminado.

  • use_main resuelve conflictos rechazando cambios de la rama. use_master también es compatible.

La acción merge también elimina la rama unida automáticamente.

Push y pull

Al usar la CLI, especifique una rama para enviar o extraer con el parámetro --branch.

$ phrase push --branch <branch_name>
$ phrase pull --branch <branch_name>

Si la rama especificada no existe en un proyecto, el cliente la crea.

Use --use-local-branch-name para enviar y extraer usando el nombre de rama de una rama git activa:

$ phrase push --use-local-branch-name
$ phrase pull --use-local-branch-name

API

Todos los endpoints de la API que aceptan un argumento de proyecto también admiten el parámetro --branch para realizar una acción en una rama específica de un proyecto:

$ phrase upload create <project_id> \

  --branch <branch_name>

  --file /path/to/my/file.json \

  --file-format json \\

  --locale-id abcd1234cdef1234abcd1234cdef1234 \

  --tags awesome-feature,needs-proofreading \\

  --locale-mapping "{"en": "2"}" \

  --format-options "{"foo": "bar"}" 
¿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.