Saltearse al contenido

La acción personalizada utiliza GitHub Models para traducir archivos markdown en tu repositorio. Está diseñada para ser utilizada en un flujo de trabajo de GitHub Actions para traducir automáticamente archivos de documentación cuando se actualicen.

.github/workflows/ct.yml
- uses: pelikhan/action-continuous-translation@v0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
lang: fr,es

Puedes guardar este archivo en tu directorio .github/workflows/ como ct.yml:

.github/workflows/ct.yml
name: Continuous Translation
on:
workflow_dispatch:
# translate when doc files are changed in main
push:
branches:
- main
paths: # update the file paths
- "README.md"
- "docs/src/content/docs/**"
permissions:
contents: write
# allow the action to use the GitHub Models API
models: read
concurrency:
# cancel in-progress jobs for the same workflow and ref
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
continuous_translation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# cache the LLM inference results
- uses: actions/cache@v4
with:
path: .genaiscript/cache/**
key: continuous-translation-${{ github.run_id }}
restore-keys: |
continuous-translation-
# this is the translation action
- uses: pelikhan/action-continuous-translation@v0
continue-on-error: true # don't stop if translation fails, we still need to store the cache
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
lang: fr,es
# commit the generated files
- uses: stefanzweifel/git-auto-commit-action@v5
with:
file_pattern: "**.md* translations/**/*.json"
commit_message: "[cai] translated docs"
commit_user_name: "genaiscript"

La acción de GitHub pelikhan/action-continuous-translation admite los siguientes parámetros. Todos los parámetros son opcionales. Los valores predeterminados se muestran en la referencia a continuación.

with:
lang: fr
source: en
files: README.md
instructions:
instructions_file:
starlight_dir:
starlight_base:
force: false
model_alias: |
translate: github:gpt-4o-mini
debug: false

Consulta Models para más detalles sobre otros proveedores como OpenAI, Azure OpenAI, etc.

Tipo: string
Por defecto: fr

Una lista de códigos ISO de los idiomas de destino separados por comas (,) a los cuales la documentación se traducirá desde el idioma de origen. Consulta una lista de todos los idiomas compatibles en el archivo models.mts del repositorio.

Tipo: string
Por defecto: en

El código ISO del idioma de origen en el que está escrito el contenido principal.

Tipo: string
Por defecto: README.md

Una lista de archivos a procesar separados por comas.

Tipo: string

Instrucciones adicionales para que utilice el LLM al traducir.

Tipo: string

Ruta a un archivo que contiene instrucciones adicionales para que utilice el LLM al traducir.

Tipo: string Por defecto: translations

Carpeta donde se almacenarán las traducciones.

Tipo: string

Carpeta raíz de la documentación Astro Starlight. Debe definirse si se define la opción starlight_base.

Tipo: string

Alias base para la documentación Astro Starlight. Si no defines la opción Astro base, no establezcas esta opción.

Tipo: boolean
Por defecto: false

Forzar la traducción incluso si el archivo ya ha sido traducido.

Tipo: boolean
Por defecto: false

Habilitar el registro de depuración. Lee más detalles en la documentación de registro de GenAIScript.

Tipo: string
Ejemplo: translate: github:gpt-4o-mini

Un mapeo de nombres de modelos a sus alias como un objeto YAML. Esto se puede usar para especificar qué modelo utilizar para una traducción en particular.

Tipo: string (se recomienda secreto)
Ejemplo: ${{ secrets.GITHUB_TOKEN }}

Tu token de GitHub con al menos permiso de models: read.

Lee más detalles en la documentación de permisos de GitHub Models de GenAIScript.

También puedes utilizar otros proveedores de LLM como OpenAI, Azure OpenAI, etc. Consulta Models para más detalles sobre otros proveedores.