ہدف سامعین: یہ رہنمائی مائیکروسافٹ کے اندرونی صارفین یا ان ٹیموں کے لیے ہے جن کے پاس پہلے سے بنے ہوئے کو-آپ ٹرانسلیٹر گِٹ ہب ایپ کے لیے ضروری اسناد تک رسائی ہے یا وہ اپنی مرضی کی گِٹ ہب ایپ بنا سکتے ہیں۔
اپنے ریپوزٹری کی ڈاکیومنٹیشن کا ترجمہ خودکار طریقے سے کروائیں کو-آپ ٹرانسلیٹر گِٹ ہب ایکشن کے ذریعے۔ یہ رہنمائی آپ کو ایکشن سیٹ اپ کرنے کے مراحل بتاتی ہے تاکہ جب بھی آپ کے سورس مارک ڈاؤن فائلز یا امیجز میں تبدیلی ہو، خودکار طور پر ترجمہ شدہ اپڈیٹس کے ساتھ پل ریکویسٹ بن جائے۔
[!IMPORTANT]
صحیح رہنمائی کا انتخاب:
اس رہنمائی میں گِٹ ہب ایپ آئی ڈی اور پرائیویٹ کی کے ذریعے سیٹ اپ کی تفصیل ہے۔ آپ کو عموماً یہ “ادارے کی رہنمائی” تب چاہیے جب:
GITHUB_TOKENکی اجازتیں محدود ہوں: آپ کی تنظیم یا ریپوزٹری کی سیٹنگز ڈیفالٹGITHUB_TOKENکو دی جانے والی اجازتوں کو محدود کرتی ہیں۔ خاص طور پر اگرGITHUB_TOKENکو ضروریwriteاجازتیں (جیسےcontents: writeیاpull-requests: write) نہیں ملتیں، تو پبلک سیٹ اپ گائیڈ میں دیا گیا ورک فلو ناکام ہو جائے گا۔ ایک مخصوص گِٹ ہب ایپ کے ذریعے واضح اجازتوں کے ساتھ یہ مسئلہ حل ہو جاتا ہے۔اگر اوپر والی شرط آپ پر لاگو نہیں ہوتی:
اگر آپ کے ریپوزٹری میں ڈیفالٹ
GITHUB_TOKENکے پاس کافی اجازتیں ہیں (یعنی آپ کو ادارے کی طرف سے کوئی رکاوٹ نہیں)، تو براہ کرم پبلک سیٹ اپ گائیڈ (GITHUB_TOKEN کے ساتھ) استعمال کریں۔ اس میں ایپ آئی ڈی یا پرائیویٹ کی کی ضرورت نہیں، صرفGITHUB_TOKENاور ریپوزٹری کی اجازتیں کافی ہیں۔
گِٹ ہب ایکشن کنفیگر کرنے سے پہلے، یہ یقینی بنائیں کہ آپ کے پاس ضروری AI سروس کی اسناد موجود ہیں۔
1. لازمی: AI لینگویج ماڈل کی اسناد آپ کو کم از کم ایک سپورٹڈ لینگویج ماڈل کے لیے اسناد درکار ہیں:
2. اختیاری: کمپیوٹر وژن کی اسناد (امیج ترجمہ کے لیے)
اپنے ریپوزٹری میں کو-آپ ٹرانسلیٹر گِٹ ہب ایکشن کنفیگر کرنے کے لیے یہ مراحل فالو کریں:
ورک فلو آپ کی طرف سے ریپوزٹری کے ساتھ محفوظ طریقے سے انٹریکٹ کرنے کے لیے گِٹ ہب ایپ آتھنٹیکیشن استعمال کرتا ہے (مثلاً پل ریکویسٹ بنانا)۔ ایک آپشن منتخب کریں:
Co-op Translator GitHub App پیج پر جائیں۔
Install منتخب کریں اور وہ اکاؤنٹ یا آرگنائزیشن منتخب کریں جہاں آپ کی مطلوبہ ریپوزٹری ہے۔

Only select repositories منتخب کریں اور اپنی مطلوبہ ریپوزٹری (مثلاً PhiCookBook) منتخب کریں۔ Install پر کلک کریں۔ آپ سے آتھنٹیکیشن مانگی جا سکتی ہے۔

1164076۔.pem پرائیویٹ کی فائل کا پورا مواد مینٹینر سے حاصل کرنا ہوگا۔ اس کی کو پاس ورڈ کی طرح حفاظت کریں۔آپ کو گِٹ ہب ایپ کی اسناد اور AI سروس کی اسناد کو اپنی ریپوزٹری سیٹنگز میں انکرپٹڈ سیکرٹس کے طور پر شامل کرنا ہوگا۔
اپنی مطلوبہ گِٹ ہب ریپوزٹری (مثلاً PhiCookBook) پر جائیں۔
Settings > Secrets and variables > Actions پر جائیں۔
Repository secrets کے تحت، نیچے دیے گئے ہر سیکرٹ کے لیے New repository secret پر کلک کریں۔

لازمی سیکرٹس (گِٹ ہب ایپ آتھنٹیکیشن کے لیے):
| سیکرٹ کا نام | وضاحت | ویلیو سورس |
|---|---|---|
GH_APP_ID |
گِٹ ہب ایپ کا App ID (مرحلہ 1 سے) | GitHub App Settings |
GH_APP_PRIVATE_KEY |
ڈاؤن لوڈ کی گئی .pem فائل کا پورا مواد |
.pem فائل (مرحلہ 1 سے) |
AI سروس سیکرٹس (اپنی پیشگی شرائط کے مطابق جتنے بھی لاگو ہوں شامل کریں):
| سیکرٹ کا نام | وضاحت | ویلیو سورس |
|---|---|---|
AZURE_AI_SERVICE_API_KEY |
Azure AI Service (Computer Vision) کی کی | Azure AI Foundry |
AZURE_AI_SERVICE_ENDPOINT |
Azure AI Service (Computer Vision) کا اینڈ پوائنٹ | Azure AI Foundry |
AZURE_OPENAI_API_KEY |
Azure OpenAI سروس کی کی | Azure AI Foundry |
AZURE_OPENAI_ENDPOINT |
Azure OpenAI سروس کا اینڈ پوائنٹ | Azure AI Foundry |
AZURE_OPENAI_MODEL_NAME |
آپ کے Azure OpenAI ماڈل کا نام | Azure AI Foundry |
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME |
آپ کے Azure OpenAI ڈیپلائمنٹ کا نام | Azure AI Foundry |
AZURE_OPENAI_API_VERSION |
Azure OpenAI کے لیے API ورژن | Azure AI Foundry |
OPENAI_API_KEY |
OpenAI کے لیے API کی | OpenAI Platform |
OPENAI_ORG_ID |
OpenAI آرگنائزیشن آئی ڈی | OpenAI Platform |
OPENAI_CHAT_MODEL_ID |
مخصوص OpenAI ماڈل آئی ڈی | OpenAI Platform |
OPENAI_BASE_URL |
کسٹم OpenAI API بیس یو آر ایل | OpenAI Platform |

آخر میں، YAML فائل بنائیں جو خودکار ورک فلو کو ڈیفائن کرے۔
اپنی ریپوزٹری کے روٹ فولڈر میں .github/workflows/ ڈائریکٹری بنائیں (اگر پہلے سے موجود نہیں)۔
.github/workflows/ کے اندر co-op-translator.yml نامی فائل بنائیں۔
نیچے دیا گیا مواد co-op-translator.yml میں پیسٹ کریں۔
name: Co-op Translator
on:
push:
branches:
- main
jobs:
co-op-translator:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install Co-op Translator
run: |
python -m pip install --upgrade pip
pip install co-op-translator
- name: Run Co-op Translator
env:
PYTHONIOENCODING: utf-8
# Azure AI Service Credentials
AZURE_AI_SERVICE_API_KEY: $
AZURE_AI_SERVICE_ENDPOINT: $
# Azure OpenAI Credentials
AZURE_OPENAI_API_KEY: $
AZURE_OPENAI_ENDPOINT: $
AZURE_OPENAI_MODEL_NAME: $
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME: $
AZURE_OPENAI_API_VERSION: $
# OpenAI Credentials
OPENAI_API_KEY: $
OPENAI_ORG_ID: $
OPENAI_CHAT_MODEL_ID: $
OPENAI_BASE_URL: $
run: |
# =====================================================================
# IMPORTANT: Set your target languages here (REQUIRED CONFIGURATION)
# =====================================================================
# Example: Translate to Spanish, French, German. Add -y to auto-confirm.
translate -l "es fr de" -y # <--- MODIFY THIS LINE with your desired languages
- name: Authenticate GitHub App
id: generate_token
uses: tibdex/github-app-token@v1
with:
app_id: $
private_key: $
- name: Create Pull Request with translations
uses: peter-evans/create-pull-request@v5
with:
token: $
commit-message: "🌐 Update translations via Co-op Translator"
title: "🌐 Update translations via Co-op Translator"
body: |
This PR updates translations for recent changes to the main branch.
### 📋 Changes included
- Translated contents are available in the `translations/` directory
- Translated images are available in the `translated_images/` directory
---
🌐 Automatically generated by the [Co-op Translator](https://github.com/Azure/co-op-translator) GitHub Action.
branch: update-translations
base: main
labels: translation, automated-pr
delete-branch: true
add-paths: |
translations/
translated_images/
Run Co-op Translator مرحلے میں، آپ کو لازمی طور پر translate -l "..." -y کمانڈ میں زبانوں کے کوڈز کی فہرست اپنی پروجیکٹ کی ضرورت کے مطابق دیکھنا اور تبدیل کرنا ہوگا۔ دی گئی مثال (ar de es...) کو اپنی ضرورت کے مطابق بدلیں۔on:): موجودہ ٹرگر ہر بار main پر پش ہونے پر ورک فلو چلاتا ہے۔ بڑے ریپوزٹریز کے لیے، paths: فلٹر (YAML میں کمنٹیڈ مثال دیکھیں) شامل کریں تاکہ ورک فلو صرف متعلقہ فائلز میں تبدیلی پر چلے اور رنر منٹس بچیں۔commit-message, title, body, branch نام اور labels کو Create Pull Request مرحلے میں اپنی مرضی کے مطابق بنائیں۔AZURE_OPENAI_... کیز) ان کے ختم ہونے سے پہلے اپڈیٹ کریں تاکہ ورک فلو ناکام نہ ہو۔[!WARNING]
گِٹ ہب ہوسٹڈ رنر کا وقت محدود:
گِٹ ہب ہوسٹڈ رنرز جیسےubuntu-latestکی زیادہ سے زیادہ ایکزیکیوشن ٹائم لمٹ 6 گھنٹے ہے۔
اگر بڑے ڈاکیومنٹیشن ریپوزٹریز میں ترجمہ 6 گھنٹے سے زیادہ ہو جائے تو ورک فلو خودکار طور پر بند ہو جائے گا۔
اس سے بچنے کے لیے:
- سیلف ہوسٹڈ رنر استعمال کریں (کوئی وقت کی حد نہیں)
- ہر رن میں ہدف زبانوں کی تعداد کم کریں
جب co-op-translator.yml فائل آپ کی مین برانچ (یا on: ٹرگر میں دی گئی برانچ) میں مرج ہو جائے گی، ورک فلو خودکار طور پر ہر بار اس برانچ میں تبدیلی آنے پر (اور اگر paths فلٹر لگا ہو تو اس کے مطابق) چل جائے گا۔
اگر ترجمے بنیں یا اپڈیٹ ہوں تو ایکشن خودکار طور پر تبدیلیوں کے ساتھ پل ریکویسٹ بنا دے گا، جو آپ کے جائزے اور مرج کے لیے تیار ہو گا۔
اعلانِ دستبرداری: یہ دستاویز AI ترجمہ سروس Co-op Translator کے ذریعے ترجمہ کی گئی ہے۔ اگرچہ ہم درستگی کی بھرپور کوشش کرتے ہیں، براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا عدم درستگی ہو سکتی ہے۔ اصل دستاویز اپنی زبان میں مستند ماخذ سمجھی جائے۔ اہم معلومات کے لیے پیشہ ور انسانی ترجمہ تجویز کیا جاتا ہے۔ اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کی ذمہ داری ہم قبول نہیں کرتے۔