Ар бир иштетүүдөн кийин 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++"Глоссарий терминдери котормо андан кийин колдонулат, ошондуктан машина которгон натыйжа сиздин каалаган брендиңизди сактайт, модель аны синоним менен алмаштырса да.
Custom Translator категориясы (өнөр жай / домен)
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 менен айкалыштырып, ар бир маселени эскертүү катары көрсөтүңүз.