Agar standart bo'lmagan joylashuv kerak bo'lsa, yo'lni configPath kirishi bilan o'zgartiring.
Sxema
# .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.*"Maydon ma'lumotlari
| Maydon | Turi | Izohlar |
|---|---|---|
sourceLocale | string | Agar sozlanmagan bo'lsa, sourceLocale kirishga qaytadi. Shuningdek, qisqa satrlar avtomatik aniqlanmasligi uchun Translator'ga ham yuboriladi from=<locale>. |
toLocales | string[] | Yoki massiv, yoki vergul bilan ajratilgan satr. |
include / exclude | string[] | Glob naqshlari absolyut va ish maydoniga nisbat yo'llarga nisbatan baholandi. |
glossary | map<string,string> | Tarjimadan keyingi atama o'zgartirishlari. So'z chegarasidan xabardor (C++, .NET manzillari). |
categoryId | string | Azure Custom Translator kategoriyasi — sizning sohangiz/domen tugmasi (huquqiy, tibbiy, marketing ohangi va boshqalar). ?category=... sifatida yuborilgan. |
textType | "plain" | "html" | Standart holatda plain. html faqat resurs qiymatlaringizda haqiqiy HTML fragmentlari bo'lsa, foydalaning. |
profanityAction | "NoAction" | "Marked" | "Deleted" | Tarjima qilingan mahsulotda haqoratli so'zlarni qanday muomala qilish kerak. |
profanityMarker | "Asterisk" | "Tag" | Faqat profanityAction "Marked" bo'lsa, ahamiyatli bo'ladi. |
allowFallback | boolean | Umumiy modelga qaytish o'rniga tarjima muvaffaqiyatsiz bo'lishi uchun false sozlang, shunda categoryId maqsadli joyda joylashtirish bo'lmaydi. |
apiVersion | string | Tarjimon REST API versiyasi. Standart holatda 3.0. |
maxRetries | integer | Vaqtinchalik HTTP javoblarida maksimal qayta urinishlar (408, 425, 429, 500, 502, 503, 504). Standart holat 5. Har bir so'rov uchun jami HTTP qo'ng'iroqlari soni 1 + maxRetries. |
retryBackoffMs | integer | Har qanday bitta orqaga qaytish uyqusi uchun cap (ms). Standart holatda 30000. Azure'ning Retry-After sarlavhasi aynan mavjud bo'lganda hurmat qilinadi; aks holda jittered eksponensial orqaga chekinish ishlatiladi, bu qiymat bilan cheklanadi. |
protectPlaceholders | boolean | Standart holatda true. Yoqilganda, {{name}}, ${var}, {0}, {0:N2}, %s, %1$s va HTML entitetlari kabi tokenlar tarjima qilinishidan oldin sentinel tokenlar bilan almashtiriladi va keyin tiklanadi. Faqat manba ataylab o'rinbosar shaklidagi literallarni o'z ichiga olganda o'chirib qo'ying. |
customPlaceholderPatterns | string[] | Qo'shimcha regex naqshlari (ajratgichsiz) standart joylashtiruvchi to'plamga qo'shilgan, masalan, maxsus token sintaksisi uchun <<.+?>> qo'shilgan. Noto'g'ri regexlar e'tiborga olinmaydi. |
noTranslatePatterns | string[] | Glob naqshlari parser darajasidagi kalitlar (JSON nuqtali yo'l, RESX name, PO msgid, XLIFF unit id, INI/restext kaliti) bilan mos keladi. Mos keluvchi kalitlar so'rovdan olib tashlanadi va ularning manba qiymati saqlanib o'tadi. |
Yuklash tartibi
- Harakat ish jarayonidan aniq kirishlarni o'qiydi.
- U YAML konfiguratsiyasini
configPathdan yuklaydi. - Har bir umumiy maydon uchun kirish g'alaba qozonadi; aks holda YAML qiymati ishlatiladi.
- Birlashtirilgan qiymatlar tasdiqlanadi. Noto'g'ri enumlar (masalan,
profanityAction: Mask) aniq xabar bilan harakatning tez muvaffaqiyatsiz bo'lishiga sabab bo'ladi.
Ohang va sanoatkorlik, oddiy qilib aytganda
Azure AI Translator v3 APIda bitta ton tugmasi yo'q. Ikki sozlama birlashib, deyarli bir xil boshqaruvni ta'minlaydi:
- Sanoat / soha:
categoryIdyordamida o'zingizning korpusingizda o'qitilgan Azure Custom Translator kategoriyasini ko'rsating — huquqiy, texnik, tibbiy, marketing yoki boshqa sohalarda. Bu ohang, brend ovozi va lug'at boyligi uchun eng kuchli vosita. - Yuzaki matn: Lug'at orqali brend nomlari va mahsulot atamalarini so'zma-so'z qulflang, shuningdek, yosh auditoriyalar uchun mahalliylashtirishda
profanityActionso'zlarni tozalash uchun foydalaning.