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.
- uses: pelikhan/action-continuous-translation@v0 with: github_token: ${{ secrets.GITHUB_TOKEN }} lang: fr,es
Instalación
Sección titulada «Instalación»Puedes guardar este archivo en tu directorio .github/workflows/
como ct.yml
:
name: Continuous Translationon: 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: readconcurrency: # cancel in-progress jobs for the same workflow and ref group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: truejobs: 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"
Parámetros
Sección titulada «Parámetros»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.
instructions
Sección titulada «instructions»Tipo: string
Instrucciones adicionales para que utilice el LLM al traducir.
instructions_file
Sección titulada «instructions_file»Tipo: string
Ruta a un archivo que contiene instrucciones adicionales para que utilice el LLM al traducir.
translations_dir
Sección titulada «translations_dir»Tipo: string
Por defecto: translations
Carpeta donde se almacenarán las traducciones.
starlight_dir
Sección titulada «starlight_dir»Tipo: string
Carpeta raíz de la documentación Astro Starlight.
Debe definirse si se define la opción starlight_base
.
starlight_base
Sección titulada «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.
model_alias
Sección titulada «model_alias»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.
github_token
Sección titulada «github_token»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.
Otros proveedores de LLM
Sección titulada «Otros proveedores de LLM»También puedes utilizar otros proveedores de LLM como OpenAI, Azure OpenAI, etc. Consulta Models para más detalles sobre otros proveedores.