Como a ação se comunica com o Azure?
Através do SDK oficial @azure-rest/ai-translation-text da Microsoft, com @azure/core-rest-pipeline. Isso garante tentativas automáticas de 408/429/5xx, modelos digitados de requisição e resposta, e gerenciamento de cabeçalhos de autenticação gratuitamente — tudo o que antes era uma chamada axios rolada manualmente. A superfície pública de ação (entradas, saídas, saídas de arquivo) permanece inalterada.
Por que as traduções às vezes são fora da marca ou fora do tom?
A tradução automática é padrão para um modelo de uso geral. Três botões ajudam: um Glossário para sobreposições rígidas de termos, um Categoria de tradutores personalizados para modelos ajustados treinados no seu tom e vocabulário, e profanityAction para eliminar ou sinalizar termos profanos.
Como faço para evitar traduzir o mesmo arquivo duas vezes?
Acione o fluxo de trabalho em paths que correspondam apenas aos seus arquivos de origem local, por exemplo, **/*.en.resx. A ação também inclui seu próprio filtro de arquivo por gatilho quando GITHUB_TOKEN está configurado, restringindo o trabalho aos arquivos no commit mais recente.
Posso rodar a ação offline?
Não exatamente — o Azure AI Translator é o cérebro do runtime. Mas você pode rodar com dryRun: true para validar análise sintática e configuração sem fazer nenhuma solicitação HTTP para tradução.
Em qual versão do Node a ação roda?
A v3 roda no tempo de execução node24 Ações do GitHub. O JavaScript incluído é compatível com os Nós 20, 22 e 24, que é o que o CI testa.
De onde vem o dist/ em bundle?
As ações do JS do GitHub enviam o JS compilado deles no repositório. O fluxo de trabalho dist-build reconstrói após cada merge para main se ele vai derivar, e dist-check bloqueia PRs que gerariam saídas desatualizadas.
E quanto a outros formatos de recursos?
Hoje: .resx, .xliff, .po, .json, .ini, .restext. Abra um problema se precisar de outro — a interface do parser é pequena (analisar → mapear → aplicar traduções → formato) e contribuições são bem-vindas.