Step 1: Provision an Azure AI Translator resource
Create an Azure AI Translator resource in the Azure portal, then store the following as GitHub repository secrets so the workflow can read them:
-
TRANSLATOR_KEY— Urufunguzo rw'ifatabuguzi rw'ibicuruzwa. -
TRANSLATOR_ENDPOINT— URL y'iherezo ry'akarere. -
TRANSLATOR_REGION— Akarere ka Azure.
Step 2: Add the workflow
Gushiraho .github/workflows/translate.yml:
name: translate
on: push: branches: [main] paths: - "src/**/*.en.resx" - "src/**/*.en.json"
permissions: contents: write pull-requests: write
jobs: translate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - id: translate uses: IEvangelist/resource-translator@v3 with: sourceLocale: en subscriptionKey: ${{ secrets.TRANSLATOR_KEY }} endpoint: ${{ secrets.TRANSLATOR_ENDPOINT }} region: ${{ secrets.TRANSLATOR_REGION }} toLocales: '["fr","de","es"]' - if: steps.translate.outputs.has-new-translations == 'true' uses: peter-evans/create-pull-request@v7 with: title: ${{ steps.translate.outputs.summary-title }} body: ${{ steps.translate.outputs.summary-details }} branch: machine-translationStep 3: Commit a source resource file
Resource files use the Name.<sourceLocale>.<ext> convention. Nk Greetings.en.resx akarorero, Greetings.fr.resx, Greetings.de.resx, n'ibindi.
Step 4: Genzura ibisohoka
Iyo igikorwa kirangiye, igikorwa cerekana ibintu bitatu ushobora gushiraho mu bisobanuro vya PR: summary-title, summary-details, na has-new-translations. Yandika kandi incamake ya Markdown ku rupapuro rw'akazi biciye kuri core.summary.