लक्ष्य वाचक: हे मार्गदर्शन बहुतेक सार्वजनिक किंवा खाजगी रेपॉजिटरीसाठी आहे जिथे GitHub Actions ची सामान्य परवानगी पुरेशी आहे. यात अंगभूत GITHUB_TOKEN वापरले जाते.
तुमच्या रेपॉजिटरीच्या डॉक्युमेंटेशनचे भाषांतर Co-op Translator GitHub Action वापरून सहजपणे ऑटोमेट करा. हे मार्गदर्शन तुम्हाला हे Action सेटअप करण्याची प्रक्रिया समजावते, जेणेकरून तुमच्या मूळ Markdown फाइल्स किंवा प्रतिमा बदलल्यावर अपडेटेड भाषांतरांसह आपोआप pull requests तयार होतील.
[!IMPORTANT]
योग्य मार्गदर्शन निवडा:
हे मार्गदर्शन सोप्या सेटअपसाठी आहे, ज्यात फक्त
GITHUB_TOKENवापरले जाते. हेच बहुतेक वापरकर्त्यांसाठी शिफारसीय आहे, कारण यात GitHub App Private Keys हाताळण्याची गरज नाही.
GitHub Action कॉन्फिगर करण्यापूर्वी, आवश्यक AI सेवा क्रेडेन्शियल्स तयार ठेवा.
1. आवश्यक: AI भाषा मॉडेल क्रेडेन्शियल्स किमान एका समर्थित Language Model साठी क्रेडेन्शियल्स लागतील:
2. पर्यायी: AI Vision क्रेडेन्शियल्स (प्रतिमा भाषांतरासाठी)
GitHub Action मध्ये Co-op Translator सेटअप करण्यासाठी खालील स्टेप्स फॉलो करा, ज्यात फक्त GITHUB_TOKEN वापरले जाते.
GITHUB_TOKEN वापरून)हा workflow GitHub Actions ने दिलेला अंगभूत GITHUB_TOKEN वापरतो. या टोकनला तुमच्या रेपॉजिटरीशी संवाद साधण्यासाठी आवश्यक परवानग्या आपोआप मिळतात, ज्या Step 3 मध्ये सेट केल्या जातील.
फक्त तुमचे AI सेवा क्रेडेन्शियल्स रेपॉजिटरी सेटिंग्जमध्ये encrypted secrets म्हणून जोडायचे आहेत.
Repository secrets अंतर्गत, प्रत्येक आवश्यक AI सेवा साठी खालीलप्रमाणे New repository secret वर क्लिक करा.
(प्रतिमा संदर्भ: Secrets कुठे जोडायचे ते दाखवते)
आवश्यक AI सेवा Secrets (पूर्वतयारीनुसार लागू असलेले सर्व जोडा):
| Secret Name | वर्णन | Value Source |
|---|---|---|
AZURE_AI_SERVICE_API_KEY |
Azure AI Service (Computer Vision) साठी Key | तुमचे Azure AI Foundry |
AZURE_AI_SERVICE_ENDPOINT |
Azure AI Service (Computer Vision) साठी Endpoint | तुमचे Azure AI Foundry |
AZURE_OPENAI_API_KEY |
Azure OpenAI साठी Key | तुमचे Azure AI Foundry |
AZURE_OPENAI_ENDPOINT |
Azure OpenAI साठी Endpoint | तुमचे Azure AI Foundry |
AZURE_OPENAI_MODEL_NAME |
Azure OpenAI Model Name | तुमचे Azure AI Foundry |
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME |
Azure OpenAI Deployment Name | तुमचे Azure AI Foundry |
AZURE_OPENAI_API_VERSION |
Azure OpenAI साठी API Version | तुमचे Azure AI Foundry |
OPENAI_API_KEY |
OpenAI साठी API Key | तुमचे OpenAI Platform |
OPENAI_ORG_ID |
OpenAI Organization ID (पर्यायी) | तुमचे OpenAI Platform |
OPENAI_CHAT_MODEL_ID |
OpenAI model ID (पर्यायी) | तुमचे OpenAI Platform |
OPENAI_BASE_URL |
OpenAI API Base URL (पर्यायी) | तुमचे OpenAI Platform |
GitHub Action ला GITHUB_TOKEN द्वारे कोड checkout आणि pull requests तयार करण्यासाठी परवानगी लागते.
GITHUB_TOKEN ला contents: write आणि pull-requests: write परवानगी मिळेल.
शेवटी, GITHUB_TOKEN वापरून ऑटोमेटेड workflow डिफाइन करणारी 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
# === AI Service Credentials ===
AZURE_AI_SERVICE_API_KEY: $
AZURE_AI_SERVICE_ENDPOINT: $
AZURE_OPENAI_API_KEY: $
AZURE_OPENAI_ENDPOINT: $
AZURE_OPENAI_MODEL_NAME: $
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME: $
AZURE_OPENAI_API_VERSION: $
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: 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 वरच्या push ला workflow चालतो. मोठ्या रेपॉजिटरीसाठी, YAML मधील उदाहरणाप्रमाणे paths: फिल्टर वापरून फक्त संबंधित फाइल्स बदलल्यावर workflow चालेल, ज्यामुळे runner minutes वाचतील.Create Pull Request स्टेपमधील commit-message, title, body, branch नाव, आणि labels गरजेनुसार कस्टमाईझ करा.[!WARNING]
GitHub-hosted Runner Time Limit:
GitHub-hosted runners जसे कीubuntu-latestयांना कमाल 6 तासांची execution time limit आहे.
मोठ्या डॉक्युमेंटेशन रेपॉजिटरीसाठी, भाषांतर प्रक्रिया 6 तासांपेक्षा जास्त झाली तर workflow आपोआप थांबेल.
हे टाळण्यासाठी:
- self-hosted runner वापरा (वेळेची मर्यादा नाही)
- प्रत्येक रनमध्ये target languages ची संख्या कमी करा
co-op-translator.yml फाइल मुख्य ब्रँचमध्ये (किंवा on: trigger मध्ये दिलेल्या ब्रँचमध्ये) merge झाल्यावर, त्या ब्रँचवर (आणि paths फिल्टर लागू असल्यास, त्यानुसार) बदल push झाले की workflow आपोआप चालेल.
अस्वीकरण: हे दस्तऐवज AI भाषांतर सेवा Co-op Translator वापरून भाषांतरित केले आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी, कृपया लक्षात घ्या की स्वयंचलित भाषांतरांमध्ये चुका किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील दस्तऐवज हा अधिकृत स्रोत मानावा. अत्यावश्यक माहितीसाठी, व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर करून झालेल्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही.