اگر آپ کو غیر ڈیفالٹ لوکیشن چاہیے تو 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> اس لیے چھوٹی سٹرنگز خودکار طور پر ظاہر نہیں ہوتیں۔ |
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 | کسی بھی سنگل بیک آف نیند پر کیپ (ms)۔ ڈیفالٹ 30000 پر آ جاتا ہے۔ Azure کا Retry-After ہیڈر بالکل اسی وقت عزت دیتا ہے جب وہ موجود ہو؛ ورنہ جھٹکا ہوا ایکسپونینشل بیک آف استعمال کیا جاتا ہے، جو اس قدر پر محدود ہوتا ہے۔ |
protectPlaceholders | boolean | ڈیفالٹ true پر آ جاتا ہے۔ جب ٹوکنز آن ہوتے ہیں، تو {{name}}، ${var}، {0}، {0:N2}، %s، %1$s اور HTML اینٹیٹیز جیسے ٹوکنز ترجمے سے پہلے سینٹینل ٹوکنز سے بدل دیے جاتے ہیں اور بعد میں بحال کر دیے جاتے ہیں۔ صرف اس وقت فعال کریں جب سورس میں جان بوجھ کر پلیس ہولڈر نما لفظی الفاظ شامل ہوں۔ |
customPlaceholderPatterns | string[] | اضافی ریجیکس پیٹرنز (بغیر ڈیلیمیٹر کے) ڈیفالٹ پلیس ہولڈر سیٹ میں شامل کیے گئے، مثلا <<.+?>> کسٹم ٹوکن نحو کے لیے۔ غلط regexes کو نظر انداز کیا جاتا ہے۔ |
noTranslatePatterns | string[] | گلوب پیٹرنز پارسر لیول کیز (JSON ڈاٹڈ پاتھ، RESX name، PO msgid، XLIFF یونٹ id، INI/restext کی) کے ساتھ میچ ہوئے۔ میچنگ کیز درخواست سے نکال دی جاتی ہیں اور ان کی سورس ویلیو محفوظ رکھی جاتی ہیں۔ |
لوڈنگ آرڈر
- یہ عمل ورک فلو سے واضح ان پٹس پڑھتا ہے۔
- یہ
configPathسے YAML کنفیگریشن لوڈ کرتا ہے۔ - ہر مشترکہ فیلڈ کے لیے، ان پٹ جیتتا ہے؛ ورنہ YAML ویلیو استعمال کی جاتی ہے۔
- مرجڈ ویلیوز کی تصدیق کی جاتی ہے۔ غلط اینمز (مثلا
profanityAction: Mask) واضح پیغام کے ساتھ عمل کو تیزی سے ناکام کر دیتے ہیں۔
لہجہ اور صنعت، سادہ الفاظ میں
Azure AI Translator v3 API میں ایک ہی ٹون نوب نہیں ہے۔ دو سیٹنگز مل کر آپ کو زیادہ تر ایک جیسا کنٹرول دیتی ہیں:
- صنعت / شعبہ:
categoryIdکو Azure Custom Translator کیٹیگری کی طرف اشارہ کرنے کے لیے استعمال کریں جو آپ کے اپنے کارپس پر تربیت یافتہ ہو — قانونی، ٹیکنیکل، میڈیکل، مارکیٹنگ یا کچھ اور۔ یہ ٹون، برانڈ کی آواز، اور الفاظ کے لیے سب سے مضبوط لیور ہے۔ - سطحی متن: لغت کو برانڈ ناموں اور مصنوعات کی اصطلاحات کو لفظ بہ لفظ لاک کرنے کے لیے استعمال کریں، اور
profanityActionکو استعمال کریں تاکہ نوجوان ناظرین کے لیے مقامی بنانے کے لیے فحش اصطلاحات کو ختم کیا جا سکے۔