GitHub Actions¶
మీరు రిపోజిటరీలో మారిన డాక్యుమెంటేషన్ను ఆటోమేటిగ్గా అనువదించి, రూపొందించిన ఫైళ్లతో ఒక పుల్ రిక్వెస్ట్ తెరవాలనుకుంటే GitHub Actions ను ఉపయోగించండి.
బహుళ రిపోజిటరీలు సాధారణంగా సాధారణ GITHUB_TOKEN సెటప్ ఉపయోగించాలి. మీ సంస్థ డిఫాల్ట్ టోకెన్ అనుమతులను పరిమితం చేస్తే లేదా యాప్-ఆధారిత గుర్తింపు అవసరమైతే మాత్రమే GitHub App సెటప్ ఉపయోగించండి.
ముందస్తు అవసరాలు¶
వర్క్ఫ్లోని సృష్టించే ముందు, మీ అనువాద రన్కు అవసరమైన AI సర్వీస్ సీక్రెట్లను కాన్ఫిగర్ చేయండి.
టెక్స్ట్ అనువాదానికి ఒక భాషా మోడల్ ప్రొవైడర్ అవసరం:
- Azure OpenAI:
AZURE_OPENAI_API_KEY,AZURE_OPENAI_ENDPOINT,AZURE_OPENAI_MODEL_NAME,AZURE_OPENAI_CHAT_DEPLOYMENT_NAME,AZURE_OPENAI_API_VERSION - OpenAI:
OPENAI_API_KEY,OPENAI_CHAT_MODEL_ID, అదనంగా ఐచ్ఛికంగాOPENAI_ORG_IDమరియుOPENAI_BASE_URL
చిత్ర అనువాదానికి అదనంగా Azure AI Vision అవసరం:
AZURE_AI_SERVICE_API_KEYAZURE_AI_SERVICE_ENDPOINT
లోకల్ కాన్ఫిగరేషన్ వివరాల కోసం కాన్ఫిగరేషన్ మరియు Azure AI సెటప్ చూడండి.
ప్రామాణిక సెటప్¶
బహుళ పబ్లిక్ మరియు ప్రైవేట్ రిపోజిటరీలకు ఈ సెటప్ ఉపయోగించండి.
దశ 1: రిపోజిటరీ సీక్రెట్స్ జోడించండి¶
లక్ష్య రిపోజిటరీలో Settings > Secrets and variables > Actions ను తెరుచుకొని, మీ వర్క్ఫ్లో ఉపయోగించుకునే ప్రొవైడర్ సీక్రెట్లను జోడించండి.

దశ 2: వర్క్ఫ్లో అనుమతులను సక్రియం చేయండి¶
Settings > Actions > General ను తెరవండి.
Under Workflow permissions:
- Read and write permissions ను ఎంచుకోండి.
- Allow GitHub Actions to create and approve pull requests ని సక్రియం చేయండి.
- సెట్టింగ్ను సేవ్ చేయండి.

దశ 3: వర్క్ఫ్లోని జోడించండి¶
Create .github/workflows/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_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: |
translate -l "es fr de" -y
- 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.
Generated by Co-op Translator.
branch: update-translations
base: main
labels: translation, automated-pr
delete-branch: true
add-paths: |
translations/
translated_images/
translate -l "es fr de" -y ను మీ లక్ష్య భాషలు మరియు మీ ప్రాజెక్ట్కు అవసరమైన కంటెంట్ ఫ్లాగుల ప్రకారం మార్చండి. పెద్ద రిపోజిటరీలకు, వర్క్ఫ్లో డాక్యుమెంటేషన్ మార్చినప్పుడే మాత్రమే నడవడానికి on: కింద paths: ఫిల్టర్ను జోడించండి.
GitHub App సెటప్¶
మీ సంస్థలో GITHUB_TOKEN కమిట్స్ లేదా పుల్ రిక్వెస్టులను సృష్టించలేకపోతే ఈ సెటప్ ఉపయోగించండి.
దశ 1: GitHub App సృష్టించండి లేదా ఇన్స్టాల్ చేయండి¶
Contents మరియు Pull requests కు read/write యాక్సెస్ ఉన్న GitHub App ను సృష్టించండి, లేదా మీ సంస్థ ఇప్పటికే ఒకటి నిర్వహిస్తుంటే సంస్థ-ప్రదత్త యాప్ను ఇన్స్టాల్ చేయండి.
నోట్ చేయండి:
- App ID
- ప్రైవేట్ కీ యొక్క కంటెంట్
ఇవన్నీ రిపోజిటరీ సీక్రెట్స్గా నిల్వ చేయండి:
GH_APP_IDGH_APP_PRIVATE_KEY
దశ 2: యాప్ టోకెన్ రూపొందించండి¶
ప్రామాణిక సెటప్లా అదే వర్క్ఫ్లో ఉపయోగించండి, గానీ పుల్ రిక్వెస్ట్ దశకి ముందు ఒక app-token దశను జోడించండి:
- name: Authenticate GitHub App
id: generate_token
uses: tibdex/github-app-token@v1
with:
app_id: ${{ secrets.GH_APP_ID }}
private_key: ${{ secrets.GH_APP_PRIVATE_KEY }}
- name: Create Pull Request with translations
uses: peter-evans/create-pull-request@v5
with:
token: ${{ steps.generate_token.outputs.token }}
commit-message: "Update translations via Co-op Translator"
title: "Update translations via Co-op Translator"
branch: update-translations
base: main
delete-branch: true
add-paths: |
translations/
translated_images/
రన్నర్ పరిమితులు¶
GitHub హోస్టెడ్ రన్నర్లకు గరిష్ట జాబ్ వ్యవధి ఉంటుంది. పెద్ద రిపోజిటరీలు లేదా అనేక లక్ష్య భాషలు ఆ పరిమితిని మించవచ్చు.
పెద్ద అనువాద పని భారాల కోసం:
- ప్రతి రన్లో తక్కువ భాషలను అనువదించండి.
-md,-nb, లేదా-imgవంటి కంటెంట్ ఫ్లాగ్లు ఉపయోగించండి.- రిపోజిటరీ పరిమాణం లేదా మోడల్ లేటెన్సీ హోస్టెడ్ రన్నర్లను నమ్మకమేౖనవి కాకుండా చేస్తే సెల్ఫ్-హోస్టెడ్ రన్నర్ను ఉపయోగించండి.
CIలో సమీక్ష¶
పుల్ రిక్వెస్ట్ LLM లేదా Vision ప్రొవైడర్లను కాల్ చేయకుండానే రూపొందించిన అనువాదాలను ధృవీకరించాలి అయితే co-op-review ను ఉపయోగించండి.
- name: Review translated outputs
run: |
co-op-review --changed-from "origin/${{ github.base_ref }}" --format github
co-op-review ఒక బీటా డిటర్మినిస్టిక్ రివ్యూ కమాండ్. దాని చెక్లు మరియు అవుట్పుట్ స్కీమా కాలంతో పరిణామం చెందవచ్చు, కానీ ఇది ఫైళ్లను రాయదు లేదా మోడల్ ప్రొవైడర్లను కాల్ చేయదు కనుక CI కోసం సురక్షితంగా రూపొందించబడింది.