Pular para o conteúdo

A ação personalizada utiliza GitHub Models para traduzir arquivos markdown em seu repositório. Ela foi projetada para ser usada em um fluxo de trabalho do GitHub Actions para traduzir automaticamente arquivos de documentação quando eles são atualizados.

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

Você pode salvar este arquivo no diretório .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"

A ação do GitHub pelikhan/action-continuous-translation suporta os seguintes parâmetros. Todos os parâmetros são opcionais. Os valores padrão estão mostrados na referência abaixo.

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

Consulte Models para mais detalhes sobre outros provedores como OpenAI, Azure OpenAI, etc.

Tipo: string
Padrão: fr

Uma lista de códigos ISO dos idiomas de destino, separados por vírgulas (,) para os quais a documentação deve ser traduzida a partir do idioma de origem. Veja uma lista de todos os idiomas suportados no arquivo models.mts no repositório.

Tipo: string
Padrão: en

O código ISO do idioma de origem em que o conteúdo principal está escrito.

Tipo: string
Padrão: README.md

Uma lista de arquivos a serem processados, separados por vírgulas.

Tipo: string

Instruções extras para o LLM usar durante a tradução.

Tipo: string

Caminho para um arquivo contendo instruções extras para o LLM usar durante a tradução.

Tipo: string Padrão: translations

Pasta onde as traduções serão armazenadas.

Tipo: string

Pasta raiz da documentação Astro Starlight. Deve ser definida se a opção starlight_base for definida.

Tipo: string

Alias base para a documentação Astro Starlight. Se você não definir a opção base do Astro, não defina esta opção.

Tipo: boolean
Padrão: false

Força a tradução mesmo que o arquivo já tenha sido traduzido.

Tipo: boolean
Padrão: false

Ativa o registro de depuração. Leia mais detalhes em os documentos de logs do GenAIScript.

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

Um mapeamento de nomes de modelos para seus aliases como um objeto YAML. Isso pode ser usado para especificar qual modelo utilizar para uma tradução específica.

Tipo: string (recomendado como secreto)
Exemplo: ${{ secrets.GITHUB_TOKEN }}

Seu token do GitHub com pelo menos permissão de models: read.

Leia mais detalhes em os documentos de Permissões do GitHub Models do GenAIScript.

Você também pode usar outros provedores de LLM, como OpenAI, Azure OpenAI, etc. Consulte Models para mais detalhes sobre outros provedores.