اگر به موقعیت غیر پیش فرض نیاز دارید، مسیر را با ورودی 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 | روی false تنظیم کنید که ترجمه زمانی شکست بخورد که categoryId شما هیچ استقرار برای یک مکان هدف ندارد، به جای اینکه به مدل کلی برگردد. |
apiVersion | string | نسخه API مترجم REST. به طور پیش فرض به 3.0 می رود. |
maxRetries | integer | حداکثر تلاش برای تلاش مجدد برای پاسخ های گذرا HTTP (408, 425, 429, 500, 502, 503, 504). به طور پیش فرض به 5 می رود. مجموع فراخوان های HTTP در هر درخواست 1 + maxRetries است. |
retryBackoffMs | integer | کپ (ms) در هر خواب تک بازگشتی. به طور پیش فرض به 30000 می رود. سر Retry-After آزور دقیقاً زمانی که حضور دارد محترم شمرده می شود؛ در غیر این صورت، بازگشت نمایی نوسان دار استفاده می شود که در این مقدار محدود می شود. |
protectPlaceholders | boolean | به طور پیش فرض به true می رود. وقتی فعال هستند، توکن هایی مانند {{name}}، ${var}، {0}، {0:N2}، %s، %1$s و HTML قبل از ترجمه با توکن های سنتینل جایگزین شده و سپس بازیابی می شوند. فقط زمانی غیرفعال کن که منبع عمداً شامل عبارات موقتی باشد. |
customPlaceholderPatterns | string[] | الگوهای اضافی regex (بدون جداکننده ها) به مجموعه جایگزین پیش فرض اضافه شدند، مثلاً <<.+?>> برای نحو توکن سفارشی. regexهای نامعتبر نادیده گرفته می شوند. |
noTranslatePatterns | string[] | الگوهای گلوب با کلیدهای سطح پارسر (مسیر نقطه دار JSON، name RESX، msgid PO، id واحد XLIFF، کلید INI/restext) مطابقت داشتند. کلیدهای تطبیقی از درخواست حذف شده و با مقدار منبع حفظ شده عبور داده می شوند. |
ترتیب بارگذاری
- این عمل ورودی های صریح از جریان کار را می خواند.
- پیکربندی YAML را از
configPathبارگذاری می کند. - برای هر میدان مشترک، ورودی برنده است؛ در غیر این صورت مقدار YAML استفاده می شود.
- مقادیر ادغام شده اعتبارسنجی می شوند. enumهای نامعتبر (مثلاً
profanityAction: Mask) باعث می شوند عمل به سرعت با یک پیام واضح شکست بخورد.
لحن و صنعت، به زبان ساده
API Azure AI Translator v3 یک دکمه تن واحد ندارد. دو حالت با هم ترکیب می شوند تا بیشتر کنترل های مشابه را به شما بدهند:
- صنعت / حوزه: از
categoryIdاستفاده کنید تا به یک دسته Azure Custom Translator که بر اساس مجموعه خودتان آموزش دیده است — حقوقی، فنی، پزشکی، بازاریابی یا هر چیز دیگری — اشاره کنید. این قوی ترین اهرم برای لحن، صدای برند و واژگان است. - متن سطحی: از واژه نامه برای قفل کردن نام های تجاری و اصطلاحات محصول به کلمه استفاده کنید و از
profanityActionبرای حذف اصطلاحات رکیک هنگام هدف گیری بومی سازی برای مخاطبان جوان تر بهره ببرید.