Егер әдепкі емес орын қажет болса, configPath кірісімен жолды басып өтіңіз.
Схема
# .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.*"Өріс анықтамасы
| Алаң | Түрі | Ескертпелер |
|---|---|---|
sourceLocale | string | Орнатылмаса, sourceLocale кірісіне қайта оралады. Сондай-ақ, қысқа жолдар автоматты түрде анықталмайды from=<locale> сондықтан Translator-ға жіберілді. |
toLocales | string[] | Не массив, не үтірмен бөлінген жол. |
include / exclude | string[] | Глоб үлгілері абсолютті және жұмыс кеңістігіне қатысты жолдар бойынша бағаланды. |
glossary | map<string,string> | Аудармадан кейінгі терминдердің артықшылықтары. Сөз шекарасын білу (C++, .NET деп аталады). |
categoryId | string | Azure Custom Translator категориясы — сіздің сала/домен тұтқаңыз (заңдық, медициналық, маркетингтік тон және т.б.). Жіберілді ?category=.... |
textType | "plain" | "html" | Әдепкі plain. Егер ресурс мәндері шынайы HTML фрагменттері болса html қолданыңыз. |
profanityAction | "NoAction" | "Marked" | "Deleted" | Аударылған нәтижедегі әдепсіз терминдерді қалай өңдеуге болады. |
profanityMarker | "Asterisk" | "Tag" | Мағынасы тек profanityAction болса "Marked". |
allowFallback | boolean | Егер categoryId мақсатты орынға орналастырылмаса, аудармада сәтсіздікке false күйінде орнатыңыз, жалпы модельге оралыңыз. |
apiVersion | string | Аудармашы REST API нұсқасы. Әдепкі 3.0. |
maxRetries | integer | Уақытша HTTP жауаптарына максималды қайта талпыныс (408, 425, 429, 500, 502, 503, 504). Әдепкі 5. Бір сұранысқа жалпы HTTP шақырулары 1 + maxRetries. |
retryBackoffMs | integer | Әрбір артқа шегіну ұйқысына (МС) кіріңіз. Әдепкі 30000. Azure-дың Retry-After тақырыбы дәл бар кезде құрметтеледі; Басқа жағдайда дірілдеген экспоненциалды кері шегіну осы мәнге дейін шектеледі. |
protectPlaceholders | boolean | Әдепкі true. Қосулы кезде, {{name}}, ${var}, {0}, {0:N2}, %s, %1$s және HTML сияқты токендер аудармас бұрын сентинел токендерімен ауыстырылып, кейін қалпына келтіріледі. Тек бастапқы кодта уақытша пішінді литералдар болғанда ғана өшіру керек. |
customPlaceholderPatterns | string[] | Қосымша regex үлгілері (шектірушілерсіз) әдепкі уақытша жиынтыққа қосылды, мысалы, <<.+?>> арнайы токен синтаксисі үшін. Жарамсыз регекстер ескерілмейді. |
noTranslatePatterns | string[] | Глоб үлгілері парсер деңгейіндегі кілттерге сәйкес келеді (JSON нүктелі жол, RESX name, PO msgid, XLIFF id, INI/restext кілті). Сәйкес кілттер сұраныстан алынып тасталады және бастапқы мәні сақталады. |
Жүктеу тәртібі
- Әрекет жұмыс процесінен алынған нақты енгізулерді оқиды.
- Ол YAML конфигурациясын
configPath-ден жүктейді. - Әрбір ортақ өріс үшін кіріс жеңеді; әйтпесе YAML мәні қолданылады.
- Біріктірілген мәндер расталады. Жарамсыз enum-дар (мысалы,
profanityAction: Mask) әрекетті анық хабарламамен тез сәтсіздікке ұшыратады.
Тон мен өнеркәсіп, қарапайым тілмен айтқанда
Azure AI Translator v3 API-де бір ғана тон тұтқасы жоқ. Екі параметр бірігіп, бірдей басқаруды қамтамасыз етеді:
- Өнеркәсіп / домен:
categoryIdпайдаланып, өз корпусыңызда оқытылған Azure Custom Translator категориясын көрсетіңіз — заңдық, техникалық, медициналық, маркетинг немесе басқа кез келген салада. Бұл тон, бренд дауысы және сөздік қорының ең мықты рычагы. - Беткі мәтін: Бренд атаулары мен өнім терминдерін сөзбе-сөз бекіту үшін Сөздік қолданыңыз, ал
profanityActionарқылы жас аудиторияға локализацияны мақсат еткенде дөрекі сөздерді жою үшін қолданыңыз.