Integraciones

GitHub (Strings)

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

Consejo

Para obtener información sobre la integración de GitHub en Phrase TMS, consulta GitHub (TMS).

Phrase Strings se integra con repositorios de GitHub para sincronizar archivos de localización entre Phrase y GitHub.

De forma predeterminada, los repositorios se conectan mediante una GitHub OAuth App. También se admiten identificadores únicos (token) de acceso personal, destinados principalmente a instancias autohospedadas o entornos donde no es posible la instalación de una OAuth App.

Requisitos previos

  • El archivo de configuración .phrase.yml debe estar presente en la raíz de la rama que se va a supervisar. El archivo define qué importar (pull) o exportar (push) del repositorio.

  • Requiere un acceso de lectura y escritura para el repositorio.

  • Los archivos de configuración definidos incorrectamente pueden causar errores. Comprueba que el archivo contiene al menos un meta para importar y otro para exportar, que los formatos de archivo sean correctos y que la configuración del parámetro update_translations esté bien.

  • GitHub OAuth App:

    • La GitHub OAuth App debe estar instalada en la organización o cuenta de GitHub propietaria del repositorio.

    • El repositorio debe estar incluido en la instalación de la OAuth App.

    • Se requieren permisos para instalar o autorizar GitHub Apps en la organización o cuenta meta.

    • Permite conectar una cuenta de Strings a varias organizaciones de GitHub. Seleccionar qué organización de GitHub se sincroniza en la configuración de la integración. No existe un límite estricto en el número de organizaciones que se pueden conectar.

  • Identificador único (token) de acceso de GitHub:

    • Tokens clásicos

      Requiere el ámbito repo (public_repo si se sincroniza con un repositorio público)

    • Tokens granulares

      Requiere los siguientes permisos:

      • Contenido: Lectura y escritura

      • Solicitudes de extracción: lectura y escritura

    • Asegúrate de que la configuración del repositorio no necesite firmar compromisos.

  • Si se ha habilitado el SSO en GitHub, también debe estar habilitado para el token de acceso.

  • No se puede proteger la rama phrase_translations.

Nota

Debido a las continuas mejoras, es posible que la interfaz de usuario no sea exactamente la misma que se presenta en el vídeo.

Conectar repositorios

Una vez que el archivo de configuración esté en su lugar, para acceder a un repositorio, seguir estos pasos:

  1. En la navegación principal, hacer clic en Automatizaciones, luego en Sincronizaciones de repositorio.

    Alternativamente, desde la página de Integraciones, desplazarse hacia abajo hasta Sincronización de repositorio y hacer clic en Configuración.

    Se abre la página de Sincronizaciones de repositorio. La lista de Sincronizaciones de repositorio muestra solo los proyectos a los que el usuario que visualiza tiene acceso.

  2. Hacer clic en Agregar sincronización/GitHub.

    Se abre la ventana de configuración de Sincronización de GitHub.

  3. Seleccionar un proyecto de la lista desplegable.

  4. Seleccionar el método de autenticación:

    • GitHub App (recomendado)

      Si la GitHub App aún no está instalada, hacer clic en Autenticar. La autenticación se realiza una vez y puede reutilizarse para múltiples sincronizaciones de repositorio.

      Si la GitHub App ya está instalada, hacer clic en Gestionar instalación para Completar la instalación de la aplicación para la organización o cuenta meta. El acceso al repositorio se gestiona a nivel de organización o cuenta y no está vinculado a un usuario de GitHub individual.

    • Token de acceso personal

      Proporcionar un identificador único (token) de acceso al repositorio personal con un ámbito de API.

      Al utilizar un identificador único (token) de acceso personal, el acceso al repositorio depende del usuario de GitHub que creó el identificador único (token).

    • Instancia autohospedada

      Proporcionar el punto final de API autohospedado de GitHub y un identificador único (token) de acceso al repositorio personal con un ámbito de API.

    Si el repositorio meta requiere confirmaciones (commits) verificado (firmado), se debe utilizar el método de autenticación de GitHub App. Los commits enviados mediante un identificador único (token) personal no están firmados, por lo que la sincronización falla con el siguiente error: "El repositorio requiere commits verificados (firmados)."

  5. Si se usa la aplicación de GitHub, seleccione organización de GitHub conectada de la lista desplegable. La lista de repositorio se carga según esa selección.

  6. Seleccionar un repositorio de GitHub de la lista desplegable.

  7. Seleccionar una rama de repositorio de la lista desplegable desde la cual importar (enviar) y exportar (extraer). Esta suele ser la rama principal.

  8. Opcionalmente, proporcione un nombre de rama para la solicitud de extracción. Si se deja vacío, se creará una rama con el valor predeterminado phrase-translations.

  9. Haga clic en Validar configuración para asegurarse de que la autenticación y el archivo de configuración sean correctos.

  10. Opcionalmente, seleccione una opción de comportamiento de importar para determinar cuándo se importan automáticamente archivos nuevos o actualizados en el proyecto.

  11. Haz clic en Guardar.

    El proyecto ahora está conectado al repositorio seleccionado y añadido a la lista.

  12. (Opcional) Haga clic en el icono de lápiz para renombrar la integración.

Importar archivos

Asegúrese de que los comandos de envío estén configurados correctamente dentro del archivo de configuración .phrase.yml. Las opciones de envío son las mismas que para el endpoint de la API de cargas.

Para importar archivos:

  • Desde la página Sincronizaciones de repositorio, seleccione un proyecto y haga clic en Importar Sync Import.

    Los archivos de idioma (definidos como entradas de fuente de envío en el archivo de configuración) se importan al proyecto.

    Debe haber una localización predeterminada presente.

    Nota

    En caso de problemas al importar, use el cliente CLI para probar el archivo de configuración .phrase.yml localmente y comprobar si hay mensajes de error.

    Si es necesario, contacte con el soporte técnico de Phrase y adjunte el archivo de configuración .phrase.yml a la solicitud de soporte.

Exportar archivos

Asegúrese de que los comandos de extracción estén configurados correctamente dentro del archivo de configuración .phrase.yml. Las opciones de extracción (p. ej., el parámetro include_empty_translations) son las mismas que para el punto final de la API de descargar locales.

Para exportar archivos:

  1. Desde la página Repo Syncs, seleccione un proyecto y haga clic en Exportar Sync Export.

    Se muestra la ventana Exportar.

  2. Proporcione la rama meta en el campo PR branch.

    Los archivos más recientes en el repositorio se exportarán como una nueva solicitud de extracción a la rama deseada.

  3. Una vez exportados los archivos, la solicitud de extracción se puede unir o cerrar en el repositorio y la rama se puede eliminar.

Nota

En caso de problemas al exportar, use el cliente CLI para probar el archivo de configuración .phrase.yml localmente y comprobar si hay mensajes de error.

Si es necesario, contacte con el soporte técnico de Phrase y adjunte el archivo de configuración .phrase.yml a la solicitud de soporte.

Historial

Las sincronizaciones de repositorio mantienen un historial de las últimas importaciones y exportaciones para cada proyecto de Phrase Strings.

Para ver el historial:

  • Desde la página Repo Syncs, seleccione un proyecto y haga clic en History Sync History.

    Se presenta el historial de importación y exportación del proyecto. Las entradas de exportar en el historial incluyen un enlace a la solicitud de unión correspondiente.

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