تخطي إلى المحتوى

اللغة

اختر لغتك

انتقل إلى نفس الصفحة بلغة أخرى.

EnglishEnglishenAfrikaansAfrikaansafአማርኛAmharicamالعربيةArabicarঅসমীয়াAssameseasAzərbaycanAzerbaijaniazБашҡортBashkirbaБългарскиBulgarianbgभोजपुरीBhojpuribhoবাংলাBanglabnབོད་སྐད་Tibetanboबड़ोBodobrxBosanskiBosnianbsCatalàCatalancaČeštinaCzechcsCymraegWelshcyDanskDanishdaDeutschGermandeडोगरीDogridoiDolnoserbšćinaLower SorbiandsbދިވެހިބަސްDivehidvΕλληνικάGreekelEspañolSpanishesEestiEstonianetEuskaraBasqueeuفارسیPersianfaSuomiFinnishfiFilipinoFilipinofilVakavitiFijianfjFøroysktFaroesefoFrançaisFrenchfrFrançais (Canada)French (Canada)fr-CAGaeilgeIrishgaGalegoGalicianglकोंकणीKonkanigomગુજરાતીGujaratiguHausaHausahaעבריתHebrewheहिन्दीHindihiछत्तीसगढ़ीChhattisgarhihneHrvatskiCroatianhrHornjoserbsceUpper SorbianhsbHaitian CreoleHaitian CreolehtMagyarHungarianhuՀայերենArmenianhyIndonesiaIndonesianidÌgbòIgboigInuinnaqtunInuinnaqtuniktÍslenskaIcelandicisItalianoItalianitᐃᓄᒃᑎᑐᑦInuktitutiuInuktitut (Latin)Inuktitut (Latin)iu-Latn日本語JapanesejaქართულიGeorgiankaҚазақ ТіліKazakhkkខ្មែរKhmerkmKurmancîKurdish (Northern)kmrಕನ್ನಡKannadakn한국어KoreankoكٲشُرKashmiriksکوردیی ناوەندیKurdish (Central)kuКыргызчаKyrgyzkyLëtzebuergeschLuxembourgishlbLingálaLingalalnລາວLaoloLietuviųLithuanianltLugandaGandalugLatviešuLatvianlv中文 (文言文)Chinese (Literary)lzhमैथिलीMaithilimaiMalagasyMalagasymgTe Reo MāoriMāorimiМакедонскиMacedonianmkമലയാളംMalayalammlМонгол хэлMongolian (Cyrillic)mn-Cyrlᠮᠣᠩᠭᠣᠯ ᠬᠡᠯᠡMongolian (Traditional)mn-MongমৈতৈলোনManipurimniमराठीMarathimrMelayuMalaymsMaltiMaltesemtHmong DawHmong Dawmwwမြန်မာMyanmar (Burmese)myNorsk BokmålNorwegian BokmålnbनेपालीNepalineNederlandsDutchnlSesotho sa LeboaSesotho sa LeboansoChinyanjaChichewanyaଓଡ଼ିଆOdiaorHñähñuQuerétaro OtomiotqਪੰਜਾਬੀPunjabipaPolskiPolishplدریDariprsپښتوPashtopsPortuguês (Brasil)Portuguese (Brazil)ptPortuguês (Portugal)Portuguese (Portugal)pt-PTRomânăRomanianroРусскийRussianruIkirundiRundirunKinyarwandaKinyarwandarwسنڌيSindhisdසිංහලSinhalasiSlovenčinaSlovakskSlovenščinaSlovenianslGagana SāmoaSamoansmchiShonaShonasnSoomaaliSomalisoShqipAlbaniansqСрпски (ћирилица)Serbian (Cyrillic)sr-CyrlSrpski (latinica)Serbian (Latin)sr-LatnSesothoSesothostSvenskaSwedishsvKiswahiliSwahiliswதமிழ்TamiltaతెలుగుTeluguteไทยThaithትግርTigrinyatiTürkmen DiliTurkmentkLea fakatongaTongantoTürkçeTurkishtrТатарTatarttReo TahitiTahitiantyئۇيغۇرچەUyghurugУкраїнськаUkrainianukاردوUrduurUzbek (Latin)Uzbek (Latin)uzTiếng ViệtVietnameseviisiXhosaisiXhosaxhÈdè YorùbáYorubayoYucatec MayaYucatec Mayayua粵語Cantonese (Traditional)yue中文 (简体)Chinese Simplifiedzh-Hans中文 (繁體)Chinese Traditionalzh-HantisiZuluisiZuluzu

YAML

تكوين المستودع

يقوم Express بالإعدادات الافتراضية مرة واحدة في ملف إعدادات المستودع ويسمح لكل سير عمل بوراثتها. دائما ما تكون مدخلات الفعل تفوز عندما يتم توفير كلاهما.

في هذه الصفحة

    تجاوز المسار باستخدام مدخل configPath إذا كنت بحاجة إلى موقع غير افتراضي.

    المخطط

    .github/resource-translator.yml
    # .github/resource-translator.yml
    sourceLocale: en
    # Provider config can be nested. Keep secrets in workflow inputs; use repo
    # config for non-secret defaults like region, model, formality, or category.
    provider:
    azure:
    categoryId: my-custom-translator-category
    apiVersion: "3.0"
    allowFallback: true
    toLocales:
    - fr
    - de
    - es
    include:
    - "src/**/*.en.json"
    - "apps/**/*.en.resx"
    exclude:
    - "**/__tests__/**"
    glossary:
    Acme: Contoso
    Octocat: Octocat # keep brand names verbatim
    # Translator request shape — most users can ignore these.
    textType: plain # plain | html
    profanityAction: NoAction # NoAction | Marked | Deleted
    profanityMarker: Asterisk # Asterisk | Tag (only when profanityAction == Marked)
    # Resilience — Translator returns 429 under load. Defaults are usually
    # fine; tune only if your runs are large enough to hit them.
    maxRetries: 5
    retryBackoffMs: 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: true
    customPlaceholderPatterns:
    - "<<.+?>>" # 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.*"

    مرجع الحقل

    provider
    النوع
    "azure" | "aws" | "google" | provider block

    Either a provider string or a nested provider block (provider.azure, provider.aws, or provider.google). Prefer nested blocks for provider-specific settings; keep secrets in workflow inputs rather than committed config.

    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

    قم بتعيين false لفشل الترجمة عندما لا يكون لدى categoryId نشر لموقع هدف بدلا من العودة إلى النموذج العام.

    apiVersion
    النوع
    string

    نسخة API المترجمة REST. الافتراضي على 3.0.

    awsFormality
    النوع
    "FORMAL" | "INFORMAL"

    AWS Translate formality setting for supported target languages.

    awsBrevity
    النوع
    boolean

    Set to true to enable AWS Translate brevity mode for supported language pairs.

    awsTerminologyNames / awsParallelDataNames
    النوع
    string[]

    AWS Translate custom terminology and parallel data resource names. Either an array or comma-separated string.

    googleModel
    النوع
    string

    Google Cloud Translation model, e.g. nmt or base.

    googleApiEndpoint
    النوع
    string

    Optional Google Cloud Translation API endpoint override.

    googleAutoRetry
    النوع
    boolean

    Optional Google Cloud Translation automatic retry toggle. Leave unset to use the Google client default.

    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 إضافية (بدون فاصلات) إلى مجموعة الرموز المؤقتة الافتراضية، مثل <<.+?>> لصياغة الرموز المخصصة. يتم تجاهل القواعد غير الصالحة.

    noTranslatePatterns
    النوع
    string[]

    أنماط الغلوب تطابق مع مفاتيح على مستوى المحلل (مسار JSON المنقط، name RESX، msgid PO، وحدة XLIFF id، مفتاح INI/restext). يتم حذف المفاتيح المطابقة من الطلب وتمريرها مع الحفاظ على قيمة المصدر.

    changeDetection
    النوع
    "smart" | "disabled"

    Defaults to smart. Uses the committed state manifest to translate only changed or missing parser keys. Set to disabled or false to preserve the legacy always-translate behavior.

    statePath
    النوع
    string

    Path to the deterministic smart change-detection state manifest. Defaults to .github/resource-translator-state.json.

    ترتيب التحميل

    1. يقرأ الإجراء مدخلات صريحة من سير العمل.
    2. يقوم بتحميل إعدادات YAML من configPath.
    3. لكل حقل مشترك، يفوز المدخل؛ وإلا يتم استخدام قيمة YAML.
    4. يتم التحقق من صحة القيم المدمجة. العدد غير الصحيح (مثل profanityAction: Mask) يسبب فشل الفعل بسرعة مع وجود رسالة واضحة.

    النبرة والصناعة، بعبارات بسيطة

    واجهة برمجة تطبيقات Azure AI Translator v3 لا تحتوي على مقبض نغمة واحد. يجمع إعدادان ليمنحوك معظم عناصر التحكم نفسها:

    • الصناعة / المجال: استخدم categoryId للإشارة إلى فئة Azure Custom Translator المدربة على مجموعتك الخاصة — سواء القانونية أو التقنية أو الطبية أو التسويق أو أي شيء آخر. هذه هي أقوى رافعة للنبرة، وصوت العلامة التجارية، والمفردات.
    • نص سطحي: استخدم القاموس لتحديد أسماء العلامات التجارية ومصطلحات المنتجات حرفيا، واستخدم profanityAction لإزالة المصطلحات النابية عند استهداف التوطين للجمهور الأصغر سنا.