Локалізувати репозиторій на Кожен комміт.
Resource Translator відкриває машинно перекладені pull requests для ваших файлів ресурсів через Azure AI Translator через офіційний SDK — без додаткових сервісів, лише робочий процес.
- 0 проблем з аудитом npm
- 150 тестів
- Вузол 20 / 22 / 24
- Official Azure SDK
.NET XML .xliff XLIFF 2.0 .po gettext .json Вкладені або плоскі .ini key=value .restext Текст MUI Побудований для судноплавства
Переклад як робочий процес, а не як обов'язок.
Вставте дію у ваш існуючий CI, наведіть її на Azure AI Translator і дозвольте репозиторію говорити на всіх мовах, які ви обрали.
Шість форматів файлів
Туди й туди й назад .resx, .xliff, .po, .json, .ini та .restext з байт-стабільним форматуванням.
Конфігурація рівня репозиторії
Додайте .github/resource-translator.yml файл, щоб додати глоби, глосарії та категорії Custom Translator.
Знання глосарію
Закріпіть назви брендів і терміни продукту за допомогою розумного regex з межами слів, який охоплює C++, .NET та друзів.
Допоміжний запуск + м'який провал
Переглядайте переклади без написання файлів або показуйте кожну помилку як попередження під час ітерації.
Результати, дружні до PR
summary-title, summary-details і has-new-translations вставляються безпосередньо у create-pull-request.
Official Azure SDK
Побудовано на @azure-rest/ai-translation-text + @azure/core-rest-pipeline — автоматичні повторні спроби на 408/429/5xx, без ручного HTTP. esbuild упаковано, чисто.
Робочий процес без підключення
Прийнято. Вставити. Перекладай.
Три секрети, чотири лінії, і ваш репозиторій буде багатомовним на наступному натисканні.
name: translateon: push: branches: [main] 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 subscriptionKey: ${{ secrets.TRANSLATOR_KEY }} endpoint: ${{ secrets.TRANSLATOR_ENDPOINT }} region: ${{ secrets.TRANSLATOR_REGION }} toLocales: '["fr","de","es","ja"]'
- if: steps.translator.outputs.has-new-translations == 'true' uses: peter-evans/create-pull-request@v7 with: branch: machine-translation title: ${{ steps.translator.outputs.summary-title }} body: ${{ steps.translator.outputs.summary-details }} labels: localizationГотові локалізувати на автопілоті?
Один ключ Azure AI Translator, один файл робочого процесу. Перекладач ресурсів займається рештою.