Como é que a ação comunica com o Azure?
Através do SDK oficial de @azure-rest/ai-translation-text da Microsoft, sobreposto a @azure/core-rest-pipeline. Isso dá-lhe tentativas automáticas de 408/429/5xx, modelos de pedido e resposta digitados, e gestão gratuita de cabeçalhos de autenticação — tudo o que antes era uma chamada de axios rolada manualmente. A superfície pública de ação (entradas, saídas, saídas de ficheiros) mantém-se inalterada.
Porque é que as traduções por vezes são fora de marca ou fora de tom?
A tradução automática utiliza por defeito um modelo de uso geral. Três botões ajudam: um Glossário para sobreposições de termos rígidos, um Categoria de tradutores personalizados para modelos afinados treinados no seu tom e vocabulário, e profanityAction para eliminar ou sinalizar termos profanos.
Como evito traduzir o mesmo ficheiro duas vezes?
Acione o fluxo de trabalho em paths que correspondam apenas aos seus ficheiros de origem local, por exemplo, **/*.en.resx. A ação inclui também o seu próprio filtro de ficheiro por trigger quando GITHUB_TOKEN está definido, restringindo o trabalho a ficheiros no commit mais recente.
Posso executar a ação offline?
Não exatamente — o Azure AI Translator é o cérebro do runtime. Mas podes correr com dryRun: true para validar análise e configuração sem fazer pedidos HTTP para tradução.
Em que versão do Node é que a ação corre?
A v3 corre 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 vêm os dist/ agrupados?
As ações JS do GitHub enviam o JS compilado no repositório. O fluxo de trabalho dist-build reconstrói após cada merge para main se iria derivar, e dist-check bloqueia PRs que gerariam resultados desatualizados.
E quanto a outros formatos de recursos?
Hoje: .resx, .xliff, .po, .json, .ini, .restext. Abrir uma questão se precisares de outro — a interface do parser é pequena (analisar → mapear → aplicar traduções → formato) e as contribuições são bem-vindas.