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
Instalação
Seção intitulada “Instalação”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/**/*.json" commit_message: "[cai] translated docs" commit_user_name: "genaiscript"
Parâmetros
Seção intitulada “Parâmetros”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.
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.
translations_dir
Seção intitulada “translations_dir”Tipo: string
Padrão: translations
Pasta onde as traduções serão armazenadas.
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
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.
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.
Outros provedores de LLM
Seção intitulada “Outros provedores de LLM”Você também pode usar outros provedores de LLM, como OpenAI, Azure OpenAI, etc. Consulte Models para mais detalhes sobre outros provedores.