Buka permintaan tarik selepas setiap larian
- 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: terjemahan skop setiap pakej
with: sourceLocale: en include: | apps/web/**/*.en.resx packages/shared/**/*.en.json exclude: | **/dist/** **/__tests__/**Glosari untuk nama jenama dan istilah produk
Jatuhkan .github/resource-translator.yml ke dalam repo:
glossary: Acme: Contoso Octocat: Octocat ".NET": ".NET" "C++": "C++"Istilah glosari digunakan selepas terjemahan, jadi output terjemahan mesin mengekalkan penjenamaan pilihan anda walaupun model menukarnya dengan sinonim.
Kategori Penterjemah Tersuai (industri / domain)
with: sourceLocale: en subscriptionKey: ${{ secrets.TRANSLATOR_KEY }} endpoint: ${{ secrets.TRANSLATOR_ENDPOINT }} categoryId: 1234abcd-5678-90ef-... Latih kategori Azure Custom Translator pada korpus yang menangkap perbendaharaan kata dan nada industri anda (undang-undang, perubatan, pemasaran, kejuruteraan dalaman, dsb.) dan lulus IDnya melalui categoryId. Ini ialah tuil nada terkuat yang ditawarkan oleh Azure.
Kawalan nada + sandaran ketat
# .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 Gabungkan categoryId Penterjemah Tersuai dengan profanityAction dan allowFallback: false untuk menguatkuasakan suara yang konsisten dan gagal aliran kerja jika kategori yang dipilih tidak mempunyai penggunaan untuk salah satu kawasan sasaran anda.
Larian kering sebelum menghidupkan aliran kerja
with: dryRun: true failOnError: false Tindakan ini masih memancarkan output ringkasan dan ringkasan langkah, tetapi tiada fail ditulis. Gabungkan dengan failOnError: false untuk memaparkan setiap isu sebagai amaran semasa anda mengulang.