Avaa vetopyyntö jokaisen suorituksen jälkeen
- 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: laajuuskäännös per paketti
with: sourceLocale: en include: | apps/web/**/*.en.resx packages/shared/**/*.en.json exclude: | **/dist/** **/__tests__/**Sanasto tuotemerkeille ja tuotetermeille
Pudota .github/resource-translator.yml repoon:
glossary: Acme: Contoso Octocat: Octocat ".NET": ".NET" "C++": "C++"Sanaston termejä käytetään käännöksen jälkeen, joten koneellisesti käännetty tulos säilyttää suosikkibrändisi, vaikka malli vaihtaisi sen synonyymiin.
Mukautettu kääntäjäkategoria (toimiala / toimiala)
with: sourceLocale: en subscriptionKey: ${{ secrets.TRANSLATOR_KEY }} endpoint: ${{ secrets.TRANSLATOR_ENDPOINT }} categoryId: 1234abcd-5678-90ef-... Kouluta Azure Custom Translator -kategoria korpuksella, joka tallentaa alasi sanaston, sävyn (oikeus, lääketiede, markkinointi, sisäinen suunnittelu jne.) ja välitä sen tunniste categoryId:n kautta. Tämä on vahvin sävyvipu, jonka Azure tarjoaa.
Sävynhallinta + tiukka varasuunnitelma
# .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 Yhdistä Custom Translator categoryId profanityAction ja allowFallback: false saadaksesi yhtenäisen äänen ja epäonnistuaksesi työnkulussa, jos valitulla kategorialla ei ole käyttöönottoa jollekin kohdepaikoistasi.
Kokeile ennen työnkulun käynnistämistä
with: dryRun: true failOnError: false Toiminto lähettää edelleen yhteenvetoja ja vaihetiivistelmän, mutta tiedostoja ei kirjoiteta. Yhdistä failOnError: false ja nosta esiin jokainen ongelma varoituksena iteroinnin aikana.