Ganti laluan dengan input configPath jika anda memerlukan lokasi bukan lalai.
Skema
# .github/resource-translator.ymlsourceLocale: entoLocales: - fr - de - esinclude: - "src/**/*.en.json" - "apps/**/*.en.resx"exclude: - "**/__tests__/**"glossary: Acme: Contoso Octocat: Octocat # keep brand names verbatim
# Domain / industry — uses an Azure Custom Translator category trained on# your tone and vocabulary. Leave unset for the general model.categoryId: my-custom-translator-category
# Translator request shape — most users can ignore these.textType: plain # plain | htmlprofanityAction: NoAction # NoAction | Marked | DeletedprofanityMarker: Asterisk # Asterisk | Tag (only when profanityAction == Marked)allowFallback: true # false fails when the categoryId has no deployment
apiVersion: "3.0"
# Resilience — Translator returns 429 under load. Defaults are usually# fine; tune only if your runs are large enough to hit them.maxRetries: 5retryBackoffMs: 30000 # cap on any single backoff sleep (ms)
# Placeholder protection. ON by default — wraps tokens like {{name}},# {0}, %s, ${var} into sentinels before translation and restores them# on the way back. Set false only when source intentionally contains# placeholder-shaped literals.protectPlaceholders: truecustomPlaceholderPatterns: - "<<.+?>>" # any extra token syntax you use
# Per-key opt-out. Keys matching any glob are dropped from the request# and pass through with the source value preserved.noTranslatePatterns: - "errors.code.*" - "brands.*"Rujukan lapangan
| Bidang | Jenis | Catatan |
|---|---|---|
sourceLocale | string | Kembali kepada input sourceLocale jika tidak ditetapkan. Juga dimajukan ke Penterjemah kerana from=<locale> jadi rentetan pendek tidak dikesan secara automatik. |
toLocales | string[] | Sama ada tatasusunan atau rentetan yang dipisahkan koma. |
include / exclude | string[] | Corak glob dinilai terhadap laluan mutlak dan relatif ruang kerja. |
glossary | map<string,string> | Penggantian istilah selepas terjemahan. Sedar sempadan perkataan (mengendalikan C++, .NET). |
categoryId | string | Kategori Custom Translator Azure — tombol industri/domain anda (nada undang-undang, perubatan, pemasaran, dll.). Dihantar sebagai ?category=.... |
textType | "plain" | "html" | Lalai kepada plain. Gunakan html hanya jika nilai sumber anda mengandungi serpihan HTML sebenar. |
profanityAction | "NoAction" | "Marked" | "Deleted" | Bagaimana untuk merawat istilah tidak senonoh dalam output terjemahan. |
profanityMarker | "Asterisk" | "Tag" | Hanya bermakna apabila profanityAction "Marked". |
allowFallback | boolean | Tetapkan kepada false untuk gagal terjemahan apabila categoryId anda tidak mempunyai penggunaan untuk lokasi sasaran dan bukannya kembali kepada model umum. |
apiVersion | string | Versi REST API penterjemah. Lalai kepada 3.0. |
maxRetries | integer | Percubaan percubaan semula maksimum pada respons HTTP sementara (408, 425, 429, 500, 502, 503, 504). Lalai kepada 5. Jumlah panggilan HTTP setiap permintaan adalah 1 + maxRetries. |
retryBackoffMs | integer | Topi (ms) pada mana-mana tidur berundur tunggal. Lalai kepada 30000. Pengepala Retry-After Azure dihormati tepat apabila hadir; jika tidak, backoff eksponen yang gelisah digunakan, dihadkan pada nilai ini. |
protectPlaceholders | boolean | Lalai kepada true. Apabila dihidupkan, token seperti entiti {{name}}, ${var}, {0}, {0:N2}, %s, %1$s dan HTML digantikan dengan token sentinel sebelum terjemahan dan dipulihkan selepas itu. Lumpuhkan hanya apabila sumber sengaja mengandungi literal berbentuk ruang letak. |
customPlaceholderPatterns | string[] | Corak regex tambahan (tanpa pembatasan) ditambah pada set pemegang letak lalai, cth <<.+?>> untuk sintaks token tersuai. Regex tidak sah diabaikan. |
noTranslatePatterns | string[] | Corak glob dipadankan dengan kekunci peringkat penghurai (laluan putus-putus JSON, name RESX, PO msgid, id unit XLIFF, kekunci INI/restext). Kekunci yang sepadan digugurkan daripada permintaan dan dilalui dengan nilai sumbernya dikekalkan. |
Memuatkan pesanan
- Tindakan membaca input eksplisit daripada aliran kerja.
- Ia memuatkan konfigurasi YAML daripada
configPath. - Untuk setiap medan kongsi, input menang; jika tidak, nilai YAML digunakan.
- Nilai yang digabungkan disahkan. Enum tidak sah (cth.
profanityAction: Mask) menyebabkan tindakan gagal dengan cepat dengan mesej yang jelas.
Nada dan industri, dalam istilah mudah
API Azure AI Translator v3 tidak mempunyai tombol nada tunggal. Dua tetapan digabungkan untuk memberi anda kebanyakan kawalan yang sama:
- Industri / domain: gunakan
categoryIduntuk menunjuk pada kategori Azure Custom Translator yang dilatih pada korpus anda sendiri — undang-undang, teknikal, perubatan, pemasaran atau apa-apa lagi. Ini ialah tuil terkuat untuk nada, suara jenama dan perbendaharaan kata. - Teks permukaan: Gunakan glosari untuk mengunci nama jenama dan istilah produk secara verbatim, dan gunakan
profanityActionuntuk menggosok istilah tidak senonoh apabila menyasarkan penyetempatan untuk khalayak yang lebih muda.