Step 1: Provision an Azure AI Translator resource
Создайте ресурс Azure AI Translator в портале Azure, затем храните следующие секреты репозитория GitHub, чтобы рабочий процесс мог их прочитать:
-
TRANSLATOR_KEY— Ключ подписки на ресурс. -
TRANSLATOR_ENDPOINT— региональный адрес конечной точки. -
TRANSLATOR_REGION— Azure регион ресурса.
Step 2: Добавьте рабочий процесс
Создайте .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: Зафиксировать файл исходного ресурса
Файлы ресурсов используют конвенцию Name.<sourceLocale>.<ext>. Например, Greetings.en.resx становится Greetings.fr.resx, Greetings.de.resx и так далее после забега.
Step 4: Проверьте выход
После завершения рабочего процесса действие открывает три выхода, которые можно подключить к описанию PR: summary-title, summary-details и has-new-translations. Также на странице вакансии через core.summary записывается краткое описание Markdown.