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.
- uses: pelikhan/action-continuous-translation@v0 with: github_token: ${{ secrets.GITHUB_TOKEN }} lang: fr,es
Installation
Seção intitulada “Installation”Você pode salvar este arquivo no diretório .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/**" commit_message: "[cai] translated docs" commit_user_name: "genaiscript"
Parameters
Seção intitulada “Parameters”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: glossary_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.
instructions
Seção intitulada “instructions”Tipo: string
Instruções extras para o LLM usar durante a tradução.
instructions_file
Seção intitulada “instructions_file”Tipo: string
Caminho para um arquivo contendo instruções extras para o LLM usar durante a tradução.
glossary_file
Seção intitulada “glossary_file”Tipo: string
Caminho para um arquivo contendo termos do glossário para serem usados durante a tradução.
translations_dir
Seção intitulada “translations_dir”Tipo: string
Padrão: translations
Pasta onde as traduções serão armazenadas.
max_translation_tokens
Seção intitulada “max_translation_tokens”Tipo: integer
Padrão: 8000
Número máximo de tokens para processar em uma chamada de tradução do LLM.
max_validation_tokens
Seção intitulada “max_validation_tokens”Tipo: integer
Padrão: 2000
Número máximo de tokens para processar em uma chamada de validação do LLM.
starlight_dir
Seção intitulada “starlight_dir”Tipo: string
Pasta raiz da documentação Astro Starlight.
Deve ser definida se a opção starlight_base
for definida.
starlight_base
Seção intitulada “starlight_base”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
Ativa o registro de depuração. Leia mais detalhes em os documentos de logs do GenAIScript.
model_alias
Seção intitulada “model_alias”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.
github_token
Seção intitulada “github_token”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.
Other LLM providers
Seção intitulada “Other LLM providers”Você também pode usar outros provedores de LLM, como OpenAI, Azure OpenAI, etc. Consulte Models para mais detalhes sobre outros provedores.