مواد پر جائیں

زبان

اپنی زبان منتخب کریں

اسی صفحے پر دوسری زبان میں سوئچ کریں۔

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

سیٹ اپ

آغاز

ایک ورک فلو فائل شامل کریں، اپنا ترجمہ فراہم کنندہ منتخب کریں — Azure، AWS، یا Google — اور یہ عمل ریپو کو سورس لینگویج ریسورس فائلز کے لیے اسکین کرتا ہے اور ترجمہ شدہ بہن بھائیوں کو بھیجتا ہے۔

اس صفحے پر

    Step 1: ترجمہ فراہم کنندہ منتخب کریں

    ایکشن Azure AI Translator، AWS ترجمہ، اور گوگل کلاؤڈ ترجمہ کے ساتھ ایک متحدہ API سطح کے پیچھے کام کرتا ہے۔ ہر رن میں provider ان پٹ کے ساتھ ایک فراہم کنندہ منتخب کریں — ورک فلو فراہم کنندہ سے قطع نظر ایک جیسا ہی کام کرتا ہے؛ صرف اسناد مختلف ہیں۔ مکمل موازنہ کے لیے ترجمہ فراہم کرنے والے دیکھیں۔

    Step 2: اسناد اور ورک فلو شامل کریں

    اپنے فراہم کنندہ کی اسناد GitHub ریپوزٹری سیکریٹس کے طور پر محفوظ کریں، پھر .github/workflows/translate.yml بنائیں۔ اپنے فراہم کنندہ کو اس کے مخصوص سیٹ اپ کے لیے نیچے منتخب کریں — باقی ورک فلو بھی بالکل ویسا ہی ہے۔

    Azure AI Translator

    Azure ڈیفالٹ فراہم کنندہ ہے، اس لیے provider کو چھوڑ دیا جا سکتا ہے۔ Azure پورٹل میں Azure AI Translator ریسورس فراہم کریں، پھر اس کی اسناد محفوظ کریں:

    انہیں ریپوزٹری سیکرٹس کے طور پر محفوظ کریں

    • TRANSLATOR_KEY — اس وسیلہ کی سبسکرپشن کی۔
    • TRANSLATOR_ENDPOINT — علاقائی اینڈ پوائنٹ URL۔
    • TRANSLATOR_REGION — ریسورس کا Azure ریجن ہے۔

    ورک فلو شامل کریں

    .github/workflows/translate.yml
    name: translate
    on:
    push:
    branches: [main]
    paths:
    - "src/**/*.en.resx"
    - "src/**/*.en.json"
    permissions:
    contents: write
    pull-requests: write
    jobs:
    translate:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v5
    - id: translate
    uses: IEvangelist/resource-translator@v3
    with:
    provider: |
    azure:
    subscriptionKey: ${{ secrets.TRANSLATOR_KEY }}
    endpoint: ${{ secrets.TRANSLATOR_ENDPOINT }}
    region: ${{ secrets.TRANSLATOR_REGION }}
    sourceLocale: en
    toLocales: '["fr","de","es"]'
    - if: steps.translate.outputs.has-new-translations == 'true'
    uses: peter-evans/create-pull-request@v7
    with:
    title: ${{ steps.translate.outputs.summary-title }}
    body: ${{ steps.translate.outputs.summary-details }}
    branch: machine-translation

    Step 3: سورس ریسورس فائل کو کمیٹ کریں

    وسائل کی فائلیں Name.<sourceLocale>.<ext> کنونشن استعمال کرتی ہیں۔ مثال کے طور پر Greetings.en.resx رن کے بعد Greetings.fr.resx، Greetings.de.resx اور اسی طرح آگے بڑھتی رہتی ہے۔

    Step 4: Let smart change detection protect your bill

    changeDetection defaults to smart and stores a compact .github/resource-translator-state.json manifest in the repo. Commit that file so future runs can reuse stable translations, preserve manual target edits, and send only new, missing, changed, or settings-invalidated keys to the provider. If localized files already exist, run once with snapshotOnly: true to create the manifest without provider calls.

    Step 5: آؤٹ پٹ کا معائنہ کریں

    جب ورک فلو مکمل ہو جاتا ہے، تو ایکشن تین آؤٹ پٹس کو ظاہر کرتا ہے جنہیں آپ پی آر ڈسکرپشن میں شامل کر سکتے ہیں: summary-title، summary-details، اور has-new-translations۔ یہ core.summary کے ذریعے جاب پیج پر مارک ڈاؤن سمری بھی لکھتا ہے۔

    اگلے اقدامات