Po vsakem zagonu odpri 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: prevajanje obsega na paket
with: sourceLocale: en include: | apps/web/**/*.en.resx packages/shared/**/*.en.json exclude: | **/dist/** **/__tests__/**Slovar za blagovne znamke in izdelke
Položite .github/resource-translator.yml v repozitorij:
glossary: Acme: Contoso Octocat: Octocat ".NET": ".NET" "C++": "C++"Izrazi iz slovarja se uporabljajo Po prevod, tako da strojno prevedeni izhod ohranja vašo želeno blagovno znamko, tudi ko jo je model zamenjal za sopomenko.
Kategorija prilagojenih prevajalnikov (industrija / področje)
with: sourceLocale: en subscriptionKey: ${{ secrets.TRANSLATOR_KEY }} endpoint: ${{ secrets.TRANSLATOR_ENDPOINT }} categoryId: 1234abcd-5678-90ef-... Usposobite Azure Custom Translator kategorijo na korpusu, ki zajema besedišče in ton vaše industrije (pravni, medicinski, marketinški, notranji inženiring itd.) in posredujete njegov ID preko categoryId. To je najmočnejši ton, ki ga Azure ponuja.
Nadzor tona + stroga rezervna rešitev
# .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 Združite categoryId Custom Translator z profanityAction in allowFallback: false, da zagotovite dosleden glas in spodletite v delovnem procesu, če izbrana kategorija nima namestitve za eno od vaših ciljnih lokacij.
Pred vklopom delovnega procesa naredite suho vajo
with: dryRun: true failOnError: false Akcija še vedno oddaja povzetke in povzetek korakov, vendar datotek ni zapisanih. Združite failOnError: false, da vsako težavo prikažete kot opozorilo med iteracijami.