Fully backward compatible: provider defaults to azure, so existing Azure workflows keep working unchanged — no edits required.
Okulonda omusuubuzi
Mu ngeri y'emu, provider bw'owandiisa azure (default), aws, oba google, olwo n'owa obubaka bw'omuwabuzi oyo. Only one provider is used per action call; the action deterministically delegates to the matching SDK behind a factory.
Provider comparison
subscriptionKey, endpoint, region (optional)
OIDC / default chain, oba awsAccessKeyId + awsSecretAccessKeyKey; awsRegion
googleApiKey OR googleCredentials (service-account JSON)
Azure AI Translator (default)
Omuwaabi wa Gavumenti eyalemererwa. Provision an Azure AI Translator resource and pass subscriptionKey, endpoint, and optionally region. This is the same configuration existing workflows already use.
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
Kozesa @aws-sdk/client-translate. Prefer OIDC via aws-actions/configure-aws-credentials so no long-lived secrets are stored — the action reads the AWS SDK default credential chain. Alternatively, pass awsAccessKeyId and awsSecretAccessKey explicitly. A region is always needed, via awsRegion or the AWS_REGION environment variable.
Official AWS docs
- Amazon Translate overview
- TranslateText API reference
- Setting formality
- Using brevity
- Custom terminology
- Parallel data
- Supported languages
OIDC (recommended)
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"]'To use static keys instead of OIDC, drop the aws-actions/configure-aws-credentials step and pass awsAccessKeyId/awsSecretAccessKey (via secrets) plus awsRegion.
Google Cloud Translation
Kozesa @google-cloud/translate (v2). Okukakasa ng'okozesa ekisumuluzo kya API (googleApiKey) oba akawunti y'obuweereza (JSON credential (googleCredentials). Supply exactly one; an optional googleProjectId is inferred from the credential when omitted.
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"]'Intent-specifier mapping
Ebifaananyi by'ebi Ebirala byonna biva ku buzibu obw'amagezi, n'olwekyo enneeyisa esigala nga nnungi nnyo.
textTypeprofanityActioncategoryIdallowFallbackawsFormalityawsBrevityawsTerminologyNamesawsParallelDataNamesgoogleModelgoogleApiEndpointLocale codes differ per provider
Buli kitongole kikozesa ennamba zaakyo ez'ekifo (eky'okulabirako Simplified Chinese zh-Hans ku Azure, zh ku AWS, ne zh-CN ku Google). Codes pass through as-is and drive the output file names, so choose toLocales values your selected provider supports.