Docs / Guías
Página traducida automáticamente
Usa la GitHub Action
Ejecuta verbatra en GitHub Actions con la acción compuesta: traduce en un push o protege un pull request, con anotaciones y un resumen del job.
Usa la acción cuando un job de GitHub Actions deba ejecutar verbatra y mostrarte qué pasó. Ejecuta translate, check o diff con --json; para cualquier otro comando o flag, como --prune, ejecuta la CLI directamente.
Antes de empezar, necesitas:
- Una configuración de verbatra directamente dentro del directorio en el que se ejecuta la acción (consulta Descubrimiento de la configuración).
- Una versión exacta de
@verbatra/clique fijar,0.9.3o posterior. - Solo para
translate: la clave de API de tu proveedor como secreto del repositorio. - Actions Runner v2.327.1 o posterior, y
verbatra/actionv1.3.0o posterior, que esta página describe y queqa,require-reviewed,sensitive,localesyneeds-humannecesitan.
Añade la acción a un workflow
La acción vive en verbatra/action y en el GitHub Marketplace; no hay paquete npm. Fíjala a un SHA de commit, como abajo, o usa la etiqueta móvil verbatra/action@v1. La antigua ruta mariokreitz/verbatra/packages/github-action ya no se resuelve.
name: translate
on:
push:
branches: [main]
permissions:
contents: read
jobs:
verbatra:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@<commit-sha>
- uses: verbatra/action@<commit-sha> # a commit on the v1 line
with:
version: 0.12.0 # an exact @verbatra/cli release, 0.9.3 or newer
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}La acción instala @verbatra/cli y @verbatra/sdk exactamente en esa versión en un directorio temporal y deja intactas tus propias dependencias, así que el job no necesita un paso de instalación.
Pasa la clave del proveedor
Pasa la clave desde los secretos del repositorio con la variable que lee tu proveedor; Proveedores las enumera. La acción no tiene una entrada para la clave, así que una clave nunca viaja como entrada ni como argumento de la CLI.
Protege un pull request
Pon command: check para que falle un pull request cuyos archivos de locale se hayan desviado, o command: diff para listar además las claves pendientes. Ambos son de solo lectura y no llaman a ningún proveedor, así que no necesitan clave y se ejecutan en pull requests desde forks:
- uses: verbatra/action@<commit-sha> # a commit on the v1 line
with:
version: 0.12.0
command: checkComprobar la calidad de la traducción
Añade qa: "true" a command: check para ejecutar verbatra check --qa sobre cada traducción confirmada, incluidos los valores escritos a mano.
- uses: verbatra/action@<commit-sha> # a commit on the v1 line
with:
version: 0.12.0
command: check
qa: "true"- Cada hallazgo se convierte en una anotación titulada
verbatra qa: <locale>: un error para un valor que la puerta de integridad rechazaría, un aviso para un motivo de revisión. - El paso falla con cualquier hallazgo de error. Añade
qa-strict: "true"para fallar también con avisos y plurales incompletos, oqa-severity: errorpara informar solo de errores. La CLI rechaza ambos a la vez.
Exigir traducciones revisadas
Añade require-reviewed: "true" a command: check para ejecutar verbatra check --require-reviewed. El paso falla mientras una traducción escrita por máquina no esté aprobada en el verbatra.provenance.json confirmado, donde Studio guarda las decisiones de revisión. Sigue siendo de solo lectura y sin clave, y se combina con qa.
- uses: verbatra/action@<commit-sha> # a commit on the v1 line
with:
version: 0.12.0
command: check
require-reviewed: "true"- Cada locale con claves sin aprobar recibe una anotación de error
REVIEW_que las nombra, y el resumen del job añade una columnaREQUIRED unreviewed. - Un
verbatra.provenance.jsondañado o escrito por un verbatra más reciente hace fallar la puerta con una sola anotaciónREVIEW_.STATE_ UNREADABLE
Elegir locales y analizar las fuentes
Pon en locales una lista separada por comas, como de,fr, para limitar cualquier comando a esos locales de destino.
- uses: verbatra/action@<commit-sha> # a commit on the v1 line
with:
version: 0.12.0
command: check
locales: "de,fr"Contenido sensible
Añade sensitive: "true" a command: check para ejecutar verbatra check --sensitive. El paso falla cuando el archivo fuente o el glosario contienen contenido que coincide con un detector o patrón de sensitiveData, como correos electrónicos, claves o números de tarjeta, y anota cada clave fuente afectada sin imprimir la coincidencia. Una version anterior, o una prerelease 0.12.0-next.*, hace fallar el paso antes de instalar nada.
Modo solo humano
Con provider: { id: "none" } (consulta Flujo solo humano), translate sale con 3 cuando deja claves para una persona. La acción lo trata como trabajo que entregar, no como un fallo: el paso pasa, cada locale afectado recibe un aviso NEEDS_, el resumen del job lista las claves y la salida needs-human vale "true". Ramifica sobre ella:
- uses: verbatra/action@<commit-sha> # a commit on the v1 line
id: verbatra
with:
version: 0.12.0
- if: steps.verbatra.outputs.needs-human == 'true'
run: echo "Some keys need a human translation; see the job summary."Solo translate recibe este trato. check y diff nunca terminan con 3, así que un fallo de ellos sigue haciendo fallar el paso.
Descubrimiento de la configuración
Con config-path vacío, la acción exige un archivo de configuración reconocido directamente dentro de working-directory (por defecto, la raíz del repositorio). Nunca busca en un directorio padre, así que en un monorepo apunta working-directory a la app y deja su configuración ahí:
with:
version: 0.12.0
working-directory: apps/docsSi no encuentra configuración, el paso falla antes de instalar la CLI y nombra el directorio que comprobó. Para cargar una configuración de otro sitio, define config-path: una ruta relativa se resuelve contra working-directory.
Conserva las traducciones
translate escribe los archivos de locale actualizados en el checkout del runner; la acción nunca hace commit. Añade tu propio paso que haga commit y push, o que abra un pull request, y concede contents: write o pull-requests: write solo a ese job.
Entradas
| Entrada | Por defecto | Efecto |
|---|---|---|
version | obligatoria | versión exacta de @verbatra/cli, 0.9.3 o posterior; una dist-tag, un rango o un prefijo ^/~ hace fallar el paso |
command | translate | translate, check o diff; cualquier otro valor hace fallar el paso |
config-path | "" | archivo de configuración que cargar (--config); relativo a working-directory |
working-directory | "" | directorio en el que se ejecuta la CLI (--cwd); vacío, es la raíz del repositorio |
dry-run | "false" | "true" previsualiza sin llamar a un proveedor ni escribir (--dry-run); solo translate |
qa | "false" | "true" añade el control de calidad (--qa); solo check |
qa-severity | "" | severidad mínima que informar, error o warning (--severity); requiere qa |
qa-strict | "false" | "true" falla también con avisos (--strict); requiere qa |
require-reviewed | "false" | "true" falla también con traducciones de máquina sin aprobar (--require-reviewed); solo check |
sensitive | "false" | "true" añade el análisis de contenido sensible (--sensitive); solo check |
locales | "" | locales de destino separados por comas para los que se ejecuta (--locales) |
node-version | "24" | versión de Node.js que prepara la acción. CLI 0.13.0+: 22.22.0+ en la 22, 24+ (acción v1.4.0: solo versiones mayores pares); CLI 0.12.x: `^22.18.0 |
Las entradas booleanas solo aceptan "true" o "false". Un booleano no válido, o una entrada sin el comando o qa que necesita, hace fallar el paso con salida 1 antes de instalar la CLI. La CLI rechaza un qa-severity desconocido, y qa-severity: error con qa-strict, con salida 2 después.
Salidas
| Salida | Valor |
|---|---|
needs-human | "true" cuando translate salió con 3 y dejó claves para una persona; si no, "false" |
Qué te muestra una ejecución
- Anotaciones. Con
translatey salida1, cada locale fallido o parcial se convierte en una anotación de error tituladaverbatra: <locale>. Concheckodiff, cada locale desviado recibe una tituladaverbatra check: <locale>overbatra diff: <locale>. Todas se asocian al archivo de su locale cuando la acción lo encuentra. La anotaciónLOCALE_de un locale parcial nombra las claves retenidas, agrupadas por causa. CadaPARTIAL checkañade un avisoPLURAL_por locale cuyos plurales carecen de una categoría CLDR que usa el idioma. ConCATEGORIES_ INCOMPLETE sensitive, cada clave marcada recibe una anotación de errorSENSITIVE_y una línea en el resumen. Una ejecución que falla por completo recibe una sola anotaciónCONTENT verbatracon el código de error, su causa como(cause: X)y una pistaNext step:cuando la CLI las da. GitHub muestra como mucho 10 anotaciones por severidad, así que la acción las ordena por desviación, revisión, errores de calidad y avisos, y añade un aviso que cuenta el resto. - Resumen del job. Una fila por locale con los recuentos del comando ejecutado, una línea agregada y los locales parciales y fallidos. Con
qaañade una tabla de hallazgos de hasta 1000 hallazgos; los plurales incompletos tienen su propia sección. - Estado de salida. La acción emite primero las anotaciones y el resumen y luego sale con el código de salida de la propia CLI, salvo que un
3detranslatepasa y un fallo antes de arrancar la CLI (sin directorio de trabajo, sin config, una instalación fallida) sale con1; una entrada rechazada recibe un único::error::, sin resumen.
Seguridad
Fija las dos referencias: uses: a un SHA de commit y version a una versión exacta (la actual en npm); la acción rechaza todo lo que pudiera resolverse a latest. Las entradas llegan a la CLI como un array de argumentos entre comillas, nunca insertadas en texto de shell.
Relacionado
- Ejecuta verbatra en CI: las mismas puertas en cualquier sistema de CI.
- verbatra/action: las notas de versión y la referencia de entradas generada a partir de
action.yml.