One source key changes
Smart detection isolates the delta before any provider call.
Three secrets, four lines, and your repo is multilingual on the next push.
Smart detection isolates the delta before any provider call.
Yazimbibwa ku nnyanja
Drop the action into your existing CI, point it at Azure, AWS, or Google, and let your repo speak every language you target.
Default in v3.2
A compact .github/resource-translator-state.json tracks parser keys, source hashes, and translation-affecting settings. The action skips stable keys, preserves manual target edits, and logs every decision with rule codes. Use snapshotOnly to bootstrap existing translations without a provider call.
Most runs translate only the changed keys
Round-trips .resx, .xliff, .po, .json, .ini, and .restext with byte-stable formatting.
Drop a .github/resource-translator.yml file for include globs, glossaries, and Custom Translator categories.
Lock brand names and product terms with smart word-boundary regex that handles C++, .NET, and friends.
Preview translations without writing files, or surface every error as a warning while you iterate.
summary-title, summary-details, and has-new-translations slot directly into create-pull-request.
Pick one provider per run. Buli kimu kikulemberwa SDK yakyo (@azure-rest/ai-translation-text, @aws-sdk/client-translate, @google-cloud/translate) nga kirina okuddamu okugezesebwa ku 408/429/5xx - tewali HTTP ekoleddwa mu ngalo. esbuild-bundled, audit-clean.
Resource Translator opens machine-translated pull requests for your resource files using Azure, AWS, or Google - one unified action, one provider per run, official SDKs under the hood.
Tandikaname: translateon: push: paths: ["**/*.en.resx", "**/*.en.json"]
permissions: contents: write pull-requests: write
jobs: translate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - id: translator uses: IEvangelist/resource-translator@v3 with: sourceLocale: en provider: | azure: subscriptionKey: ${{ secrets.KEY }} endpoint: ${{ secrets.ENDPOINT }} region: ${{ secrets.REGION }} toLocales: '["fr","de","es","ja"]'
- uses: peter-evans/create-pull-request@v7 with: title: Update translationsOne provider key - Azure, AWS, or Google - and one workflow file. Omuvvuunuzi w'ebikozesebwa akola ebisigaddewo.