ہدف صارفین: یہ رہنمائی زیادہ تر پبلک یا پرائیویٹ ریپوزیٹریز کے صارفین کے لیے ہے جہاں اسٹینڈرڈ GitHub Actions کی اجازتیں کافی ہیں۔ اس میں بلٹ ان GITHUB_TOKEN استعمال ہوتا ہے۔
اپنے ریپوزیٹری کی ڈاکیومنٹیشن کو خودکار طریقے سے ترجمہ کریں کو-آپ ٹرانسلیٹر گیٹ ہب ایکشن کے ذریعے۔ یہ رہنمائی آپ کو ایکشن سیٹ اپ کرنے کے مراحل بتاتی ہے تاکہ جب بھی آپ کے سورس مارک ڈاؤن فائلز یا امیجز میں تبدیلی ہو، خودکار طور پر ترجمہ شدہ اپڈیٹس کے ساتھ پل ریکویسٹ بن جائے۔
Important
درست رہنمائی کا انتخاب:
یہ رہنمائی آسان سیٹ اپ کو بیان کرتی ہے جو اسٹینڈرڈ GITHUB_TOKEN استعمال کرتا ہے۔ زیادہ تر صارفین کے لیے یہی طریقہ تجویز کیا جاتا ہے کیونکہ اس میں حساس GitHub App پرائیویٹ کیز کو سنبھالنے کی ضرورت نہیں۔
GitHub Action کو ترتیب دینے سے پہلے، یہ یقینی بنائیں کہ آپ کے پاس مطلوبہ AI سروس کی اسناد موجود ہیں۔
1. لازمی: AI لینگویج ماڈل کی اسناد آپ کو کم از کم ایک سپورٹڈ لینگویج ماڈل کے لیے اسناد درکار ہیں:
- Azure OpenAI: اینڈ پوائنٹ، API Key، ماڈل/ڈیپلائمنٹ نام، API ورژن درکار ہیں۔
- OpenAI: API Key درکار ہے، (اختیاری: Org ID، Base URL، Model ID)۔
- مزید تفصیل کے لیے دیکھیں Supported Models and Services۔
2. اختیاری: AI ویژن کی اسناد (امیج ترجمہ کے لیے)
- صرف اس صورت میں درکار ہیں جب آپ امیجز کے اندر موجود متن کا ترجمہ کرنا چاہتے ہیں۔
- Azure AI Vision: اینڈ پوائنٹ اور سبسکرپشن کی درکار ہیں۔
- اگر فراہم نہ کی جائیں تو ایکشن صرف مارک ڈاؤن موڈ پر چلتا ہے۔
اسٹینڈرڈ GITHUB_TOKEN کے ساتھ اپنے ریپوزیٹری میں کو-آپ ٹرانسلیٹر گیٹ ہب ایکشن کو ترتیب دینے کے لیے یہ مراحل فالو کریں۔
یہ ورک فلو GitHub Actions کی طرف سے فراہم کردہ بلٹ ان GITHUB_TOKEN استعمال کرتا ہے۔ یہ ٹوکن خودکار طور پر ورک فلو کو آپ کے ریپوزیٹری کے ساتھ تعامل کی اجازت دیتا ہے، جیسا کہ مرحلہ 3 میں ترتیب دیا گیا ہے۔
آپ کو صرف اپنی AI سروس کی اسناد کو ریپوزیٹری سیٹنگز میں انکرپٹڈ سیکرٹس کے طور پر شامل کرنا ہے۔
-
اپنے مطلوبہ GitHub ریپوزیٹری پر جائیں۔
-
Settings > Secrets and variables > Actions پر جائیں۔
-
Repository secrets کے تحت، ہر مطلوبہ AI سروس سیکرٹ کے لیے New repository secret پر کلک کریں۔
مطلوبہ 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 Key | آپ کا OpenAI Platform |
OPENAI_ORG_ID |
OpenAI آرگنائزیشن آئی ڈی (اختیاری) | آپ کا OpenAI Platform |
OPENAI_CHAT_MODEL_ID |
مخصوص OpenAI ماڈل آئی ڈی (اختیاری) | آپ کا OpenAI Platform |
OPENAI_BASE_URL |
کسٹم OpenAI API Base URL (اختیاری) | آپ کا OpenAI Platform |
GitHub Action کو GITHUB_TOKEN کے ذریعے کوڈ چیک آؤٹ کرنے اور پل ریکویسٹ بنانے کی اجازت درکار ہے۔
- اپنے ریپوزیٹری میں Settings > Actions > General پر جائیں۔
- Workflow permissions سیکشن تک نیچے جائیں۔
- Read and write permissions منتخب کریں۔ اس سے
GITHUB_TOKENکو اس ورک فلو کے لیےcontents: writeاورpull-requests: writeکی اجازت مل جائے گی۔ - Allow GitHub Actions to create and approve pull requests کے چیک باکس کو چیک کریں۔
- Save منتخب کریں۔
آخر میں، YAML فائل بنائیں جو GITHUB_TOKEN کے ساتھ خودکار ورک فلو کو بیان کرتی ہے۔
- اپنے ریپوزیٹری کی روٹ ڈائریکٹری میں
.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
# === AI Service Credentials ===
AZURE_AI_SERVICE_API_KEY: ${{ secrets.AZURE_AI_SERVICE_API_KEY }}
AZURE_AI_SERVICE_ENDPOINT: ${{ secrets.AZURE_AI_SERVICE_ENDPOINT }}
AZURE_OPENAI_API_KEY: ${{ secrets.AZURE_OPENAI_API_KEY }}
AZURE_OPENAI_ENDPOINT: ${{ secrets.AZURE_OPENAI_ENDPOINT }}
AZURE_OPENAI_MODEL_NAME: ${{ secrets.AZURE_OPENAI_MODEL_NAME }}
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_CHAT_DEPLOYMENT_NAME }}
AZURE_OPENAI_API_VERSION: ${{ secrets.AZURE_OPENAI_API_VERSION }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
OPENAI_ORG_ID: ${{ secrets.OPENAI_ORG_ID }}
OPENAI_CHAT_MODEL_ID: ${{ secrets.OPENAI_CHAT_MODEL_ID }}
OPENAI_BASE_URL: ${{ secrets.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: Create Pull Request with translations
uses: peter-evans/create-pull-request@v5
with:
token: ${{ secrets.GITHUB_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/- ورک فلو کو اپنی مرضی کے مطابق بنائیں:
- [!IMPORTANT] ہدف زبانیں:
Run Co-op Translatorمرحلے میں، آپ کو لازمی طور پرtranslate -l "..." -yکمانڈ میں زبانوں کے کوڈز کی فہرست کو اپنے پروجیکٹ کی ضروریات کے مطابق دیکھنا اور تبدیل کرنا ہے۔ دی گئی مثال (ar de es...) کو تبدیل یا ایڈجسٹ کرنا ضروری ہے۔ - ٹرگر (
on:): موجودہ ٹرگر ہر بارmainپر پش ہونے پر ورک فلو چلاتا ہے۔ بڑے ریپوزیٹریز کے لیے،paths:فلٹر شامل کرنے پر غور کریں (YAML میں تبصرہ شدہ مثال دیکھیں) تاکہ ورک فلو صرف متعلقہ فائلوں (مثلاً سورس ڈاکیومنٹیشن) میں تبدیلی پر چلے، اور رنر منٹس بچیں۔ - PR تفصیلات:
Create Pull Requestمرحلے میںcommit-message,title,body,branchنام، اورlabelsکو اپنی ضرورت کے مطابق تبدیل کریں۔
Warning
GitHub-hosted رنر وقت کی حد:
GitHub-hosted رنرز جیسے ubuntu-latest کی زیادہ سے زیادہ عمل درآمد کی حد 6 گھنٹے ہے۔
اگر بڑے ڈاکیومنٹیشن ریپوزیٹریز میں ترجمہ کا عمل 6 گھنٹے سے زیادہ ہو جائے تو ورک فلو خودکار طور پر ختم ہو جائے گا۔
اس سے بچنے کے لیے:
- سیلف-ہوسٹڈ رنر استعمال کریں (کوئی وقت کی حد نہیں)
- ہر رن میں ہدف زبانوں کی تعداد کم کریں
جب co-op-translator.yml فائل آپ کی مین برانچ (یا on: ٹرگر میں دی گئی برانچ) میں مرج ہو جائے گی، ورک فلو خودکار طور پر ہر بار چلے گا جب اس برانچ میں تبدیلی پش کی جائے گی (اور اگر paths فلٹر ترتیب دیا گیا ہو تو اس کے مطابق)۔
اعلانِ دستبرداری: یہ دستاویز AI ترجمہ سروس Co-op Translator کے ذریعے ترجمہ کی گئی ہے۔ اگرچہ ہم درستگی کی کوشش کرتے ہیں، براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا عدم درستگی ہو سکتی ہے۔ اصل دستاویز اپنی مقامی زبان میں مستند ذریعہ سمجھی جائے۔ اہم معلومات کے لیے پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ہم ذمہ دار نہیں ہیں۔

