Отвори pull request по секое извршување
- id: translate uses: IEvangelist/resource-translator@v3 with: sourceLocale: en subscriptionKey: ${{ secrets.TRANSLATOR_KEY }} endpoint: ${{ secrets.TRANSLATOR_ENDPOINT }} region: ${{ secrets.TRANSLATOR_REGION }}
- if: steps.translate.outputs.has-new-translations == 'true' uses: peter-evans/create-pull-request@v7 with: branch: machine-translation title: ${{ steps.translate.outputs.summary-title }} body: ${{ steps.translate.outputs.summary-details }} labels: localizationMonorepos: превод на опсег по пакет
with: sourceLocale: en include: | apps/web/**/*.en.resx packages/shared/**/*.en.json exclude: | **/dist/** **/__tests__/**Речник за брендови и термини на производи
Ставете .github/resource-translator.yml во репозиторијата:
glossary: Acme: Contoso Octocat: Octocat ".NET": ".NET" "C++": "C++"Глосарските термини се применуваат По превод, така што машинскиот превод го задржува вашиот префериран бренд дури и кога моделот го заменил со синоним.
Категорија на прилагодени преведувачи (индустрија / домен)
with: sourceLocale: en subscriptionKey: ${{ secrets.TRANSLATOR_KEY }} endpoint: ${{ secrets.TRANSLATOR_ENDPOINT }} categoryId: 1234abcd-5678-90ef-... Обучи Azure Custom Translator категорија на корпус што го опфаќа твојот индустриски вокабулар и тон (правен, медицински, маркетинг, внатрешно инженерство итн.) и помини го неговиот ID преку categoryId. Ова е најсилниот тон лост што Azure го нуди.
Контрола на тон + строга резервна опција
# .github/resource-translator.yml# Industry / domain — choose your tone via a Custom Translator categorycategoryId: legal-en
# Treat profanity strictly for content aimed at younger audiencesprofanityAction: MarkedprofanityMarker: Tag
# Fail the run rather than silently fall back to the general modelallowFallback: false Комбинирајте Custom Translator categoryId со profanityAction и allowFallback: false за да се обезбеди конзистентен глас и да се откаже работниот тек ако избраната категорија нема имплементација за една од целните локации.
Пробно изведување пред да го вклучам работниот процес
with: dryRun: true failOnError: false Акцијата сè уште испушта резиме и резиме на чекорите, но не се пишуваат датотеки. Комбинирајте со failOnError: false за да ги истакнете сите проблеми како предупредување додека итерувате.