Totalmente retrocompatível: provider por defeito para azure, por isso os fluxos de trabalho existentes do Azure continuam a funcionar inalterados — sem necessidade de edições.
Seleção de um fornecedor
Defina a entrada de provider para azure (por defeito), aws ou google, e depois forneça as credenciais desse fornecedor. Apenas um fornecedor é utilizado por chamada de ação; a ação delega deterministicamente ao SDK correspondente atrás de uma fábrica.
Comparação de fornecedores
subscriptionKey, endpoint, região (opcional)
OIDC / chain padrão, ou awsAccessKeyId + awsSecretAccessKey; awsRegion
googleApiKey OU googleCredentials (JSON da conta de serviço)
Azure AI Translator (por defeito)
O fornecedor padrão. Provisiona um recurso Azure AI Translator e aprova subscriptionKey, endpoint e, opcionalmente, region. Esta é a mesma configuração que os fluxos de trabalho existentes já utilizam.
Official Azure docs
jobs: translate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5
- id: translator uses: IEvangelist/resource-translator@v3 with: provider: | azure: subscriptionKey: ${{ secrets.TRANSLATOR_KEY }} endpoint: ${{ secrets.TRANSLATOR_ENDPOINT }} region: ${{ secrets.TRANSLATOR_REGION }} sourceLocale: en toLocales: '["es","fr","de"]'AWS Translate
Usa @aws-sdk/client-translate. Prefira OIDC via aws-actions/configure-aws-credentials para que não sejam armazenados segredos duradouros — a ação lê a cadeia de credenciais padrão do AWS SDK. Alternativamente, passa awsAccessKeyId e awsSecretAccessKey explicitamente. Uma região é sempre necessária, via awsRegion ou a variável de ambiente AWS_REGION.
Official AWS docs
- Amazon Translate overview
- TranslateText API reference
- Setting formality
- Using brevity
- Custom terminology
- Parallel data
- Supported languages
OIDC (recomendado)
permissions: id-token: write # for aws-actions/configure-aws-credentials OIDC contents: write pull-requests: write
jobs: translate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5
- uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: arn:aws:iam::123456789012:role/gh-actions-translate aws-region: us-east-1
- id: translator uses: IEvangelist/resource-translator@v3 with: provider: | aws: region: us-east-1 # or rely on AWS_REGION from the step above formality: FORMAL brevity: true sourceLocale: en toLocales: '["es","fr","de"]'Para usar teclas estáticas em vez de OIDC, remove o aws-actions/configure-aws-credentials step e passa awsAccessKeyId / awsSecretAccessKey (via secrets) mais awsRegion.
Tradução do Google Cloud
Usa @google-cloud/translate (v2). Autenticar com uma chave API (googleApiKey) ou com uma credencial JSON de conta de serviço (googleCredentials). Fornece exatamente uma; uma googleProjectId opcional é inferida a partir da credencial quando omitida.
Official Google docs
jobs: translate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5
- id: translator uses: IEvangelist/resource-translator@v3 with: provider: | google: # Provide EITHER a service-account JSON credential... credentials: ${{ secrets.GCP_TRANSLATE_CREDENTIALS }} # ...OR an API key: # apiKey: ${{ secrets.GCP_TRANSLATE_API_KEY }} model: nmt sourceLocale: en toLocales: '["es","fr","de"]'Mapeamento de especificador de intenção
Os especificadores específicos do fornecedor são mapeados onde existe um equivalente. Tudo o resto volta a padrões sensatos para que o comportamento se mantenha consistente.
textTypeprofanityActioncategoryIdallowFallbackawsFormalityawsBrevityawsTerminologyNamesawsParallelDataNamesgoogleModelgoogleApiEndpointOs códigos locais variam consoante o fornecedor
Cada fornecedor usa os seus próprios códigos locais (por exemplo, o Chinês Simplificado é zh-Hans no Azure, zh na AWS e zh-CN no Google). Os códigos passam tal como estão e controlam os nomes dos ficheiros de saída, por isso escolha toLocales valores que o fornecedor selecionado suporta.