Consejo
Para obtener información sobre la integración de GitHub en Phrase TMS, consulta GitHub (TMS).
Phrase Strings se integra con los 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 (tokens) 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.ymldebe 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_translationsesté bien. -
-
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.
-
-
Identificador único (token) de acceso de GitHub:
-
Identificadores únicos (tokens) clásicos
Requiere el ámbito repo (
public_reposi se sincroniza con un repositorio público) -
Identificadores únicos (tokens) granulares
Requiere los siguientes permisos:
-
Contenido: Lectura y escritura
-
Solicitudes de extracción (pull requests): 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.
Una vez que el archivo de configuración esté en su lugar, para conectar un repositorio, sigue estos pasos:
-
Desde la página , desplácese hacia abajo hasta y haga clic en Configure.
Se abre la página .
-
Haga clic en Add Sync/GitHub.
Se abre la ventana de configuración de .
-
Seleccionar un proyecto de la lista desplegable.
-
Seleccionar el método de autenticación:
-
Si la aplicación de GitHub aún no está instalada, haga clic en Authenticate. La autenticación se realiza una vez y se puede reutilizar para múltiples sincronizaciones de repositorio.
Si la aplicación de GitHub ya está instalada, haga clic en Manage installation 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.
-
Proporcione un <1> 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).
-
Proporcione el autohospedado de GitHub y un <2> personal con un ámbito de API.
Si el repositorio meta requiere confirmaciones (commits) verificadas (firmadas), se debe utilizar el método de autenticación de la aplicación de GitHub. Las confirmaciones (commits) enviadas utilizando un identificador único (token) de acceso personal no están firmadas, por lo que la sincronización falla con el siguiente error: \"El repositorio requiere confirmaciones (commits) verificadas (firmadas).\"
-
-
Seleccionar un de la lista desplegable.
-
Seleccionar una de la lista desplegable para importar (push) y exportar (pull). Esta suele ser la rama principal.
-
Opcionalmente, proporcione un nombre de rama para la solicitud de extracción (pull request). Si se deja vacío, se creará una rama con el valor predeterminado .
-
Hacer clic en Validar configuración para asegurarse de que la configuración de autenticación y el archivo de configuración sean correctos.
-
Opcionalmente, Seleccionar una opción de
-
Haz clic en Guardar.
El proyecto ya está conectado al repositorio de GitHub seleccionado y añadido a la lista.
-
(Opcional) Hacer clic en el icono de lápiz para renombrar la integración.
Asegurarse 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 punto final de la uploads API.
Para importar archivos:
-
Desde la página , Seleccionar un proyecto y hacer clic en importar
.
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.
Nota
En caso de problemas al importar, usar el cliente CLI para probar el archivo de configuración
.phrase.ymllocalmente y comprobar si hay mensajes de error.Si es necesario, contactar con el soporte técnico de Phrase y adjuntar el archivo de configuración
.phrase.ymla la solicitud de soporte.
Asegurarse 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 descargar localización API.
Para exportar archivos:
-
Desde la página , Seleccionar un proyecto y hacer clic en Exportar
.
Se muestra la ventana .
-
Proporcione la meta rama en el campo .
Los archivos más recientes en el repositorio se exportarán como una nueva solicitud de extracción a la rama deseada.
-
Una vez que los archivos se exportan, la solicitud de extracción puede ser unida o cerrada en el repositorio y la rama puede ser eliminada.
Nota
En caso de problemas al exportar, usar el cliente CLI para probar el archivo de configuración .phrase.yml localmente y verificar si hay mensajes de error.
Si es necesario, contactar con el soporte técnico de Phrase y adjuntar el archivo de configuración .phrase.yml a la solicitud de soporte.
Las sincronizaciones de repositorio mantienen un historial de las últimas importaciones y exportaciones para cada proyecto de Phrase Strings.
Para ver el historial: