Åpne en pull request etter hver kjøring
- 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: omfangsoversettelse per pakke
with: sourceLocale: en include: | apps/web/**/*.en.resx packages/shared/**/*.en.json exclude: | **/dist/** **/__tests__/**Ordliste for merkenavn og produktbegreper
Legg inn en .github/resource-translator.yml i repoet:
glossary: Acme: Contoso Octocat: Octocat ".NET": ".NET" "C++": "C++"Ordliste brukes Etter oversettelse, så maskinoversatte utdata beholder din foretrukne merkevare selv når modellen byttet den ut med et synonym.
Egendefinert oversetterkategori (bransje / domene)
with: sourceLocale: en subscriptionKey: ${{ secrets.TRANSLATOR_KEY }} endpoint: ${{ secrets.TRANSLATOR_ENDPOINT }} categoryId: 1234abcd-5678-90ef-... Tren en Azure Custom Translator-kategori på et korpus som fanger opp ditt bransjevokabular og tone (juridisk, medisinsk, markedsføring, intern ingeniørfag osv.) og bestå dens ID via categoryId. Dette er den sterkeste tonespaken Azure tilbyr.
Tonekontroll + streng fallback
# .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 Kombiner en Custom Translator categoryId med profanityAction og allowFallback: false for å håndheve en konsistent stemme og feile arbeidsflyten hvis den valgte kategorien ikke har en distribusjon for et av målstedene dine.
Kjør på før du slår på arbeidsflyten
with: dryRun: true failOnError: false Handlingen sender fortsatt ut sammendragsresultater og et trinnoppsummering, men ingen filer skrives. Kombiner med failOnError: false for å fremheve hvert problem som en advarsel mens du itererer.