Open na elke run een 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: scope-vertaling per pakket
with: sourceLocale: en include: | apps/web/**/*.en.resx packages/shared/**/*.en.json exclude: | **/dist/** **/__tests__/**Verklarende woordenlijst voor merknamen en producttermen
Plaats een .github/resource-translator.yml in de repository:
glossary: Acme: Contoso Octocat: Octocat ".NET": ".NET" "C++": "C++"Woordenlijsttermen worden Daarna vertaling toegepast, zodat de machinaal vertaalde output je voorkeursmerknaam behoudt, zelfs als het model het heeft vervangen door een synoniem.
Aangepaste Vertalercategorie (industrie / domein)
with: sourceLocale: en subscriptionKey: ${{ secrets.TRANSLATOR_KEY }} endpoint: ${{ secrets.TRANSLATOR_ENDPOINT }} categoryId: 1234abcd-5678-90ef-... Train een Azure Custom Translator categorie op een corpus dat je branche-vocabulaire en toon (juridisch, medisch, marketing, interne engineering, enz.) vastlegt en haal de ID via categoryId. Dit is de sterkste toonhendel die Azure biedt.
Toonregeling + strikte 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 Combineer een aangepaste vertaal categoryId met profanityAction en allowFallback: false om een consistente stem af te dwingen en de workflow te laten mislukken als de gekozen categorie geen deployment heeft voor een van je doellocaties.
Proef het voordat je de workflow aanzet
with: dryRun: true failOnError: false De actie geeft nog steeds samenvattingsuitwerkingen en een stapsamenvatting, maar er worden geen bestanden geschreven. Combineer het met failOnError: false om elk probleem als waarschuwing te laten zien terwijl je iteratieert.