GitHub Actions¶
GitHub Actions ഉപയോഗിക്കുക നിങ്ങളുടെ റെപ്പോസിറ്ററി മാറ്റപ്പെട്ട ഡോക്യുമെൻറേഷൻ സ്വയം വിവർത്തനം ചെയ്ത് സൃഷ്ടിച്ച ഔട്ട്പുട്ടുകളാൽ ഒരു пул് റിക്വസ്റ്റ് തുറക്കാൻ ആഗ്രഹിച്ചാൽ.
മിക്ക റെപ്പോസിറ്ററികളും സാധാരണ GITHUB_TOKEN സെറ്റപ്പും ഉപയോഗിക്കണം. നിങ്ങളുടെ ഓർഗനൈസേഷൻ ഡിഫോൾട്ട് ടോക്കൺ അനുമതികൾ നിയന്ത്രിക്കുകയോ ആപ്പ് അടിസ്ഥാനത്തിൽ ഓത്ഥന്റിക്കേഷൻ ആവശ്യപ്പെടുകയോ ചെയ്യുന്നത് മാത്രമാണ് GitHub App സെറ്റപ് ഉപയോഗിക്കുക.
Prerequisites¶
വർക്ക്ഫ്ലോ നിർമ്മിക്കുന്നതിന് മുമ്പ്, നിങ്ങളുടെ വിവർത്തന റൺ ആവശ്യപ്പെടുന്ന 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, plus optionalOPENAI_ORG_IDandOPENAI_BASE_URL
ഇമേജ് വിവർത്തനത്തിന് അതോടൊപ്പം Azure AI Vision ആവശ്യമാണ്:
AZURE_AI_SERVICE_API_KEYAZURE_AI_SERVICE_ENDPOINT
ലോക്കൽ കോൺഫിഗറേഷൻ വിവരങ്ങൾക്ക് നോക്കുക Configurationയും Azure AI Setupയും.
Standard Setup¶
പല പൊതുയും സ്വകാര്യ റെപ്പോസിറ്ററികളിലും ഈ സെറ്റപ്പ് ഉപയോഗിക്കുക.
Step 1: Add Repository Secrets¶
ലക്ഷ്യമാക്കിയ റെപ്പോസിറ്ററിയിൽ Settings > Secrets and variables > Actions തുറന്ന് നിങ്ങളുടെ വർക്ക്ഫ്ലോ ഉപയോഗിക്കുന്ന പ്രൊവൈഡർ സീക്രറ്റുകൾ ചേർക്കുക.

Step 2: Enable Workflow Permissions¶
Settings > Actions > General തുറക്കുക.
Workflow permissions لاندې:
- Read and write permissions തിരഞ്ഞെടുക്കുക.
- Allow GitHub Actions to create and approve pull requests പ്രവർത്തനക്ഷമമാക്കുക.
- സെറ്റിംഗ് സൂക്ഷിക്കുക.

Step 3: Add the Workflow¶
സൃഷ്ടിക്കുക .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 Setup¶
GITHUB_TOKEN നിങ്ങളുടെ ഓർഗനൈസേഷനിൽ കമ്മിറ്റുകളും пул് റിക്വസ്റ്റുകളും സൃഷ്ടിക്കാൻ കഴിയാത്തപ്പോൾ ഈ സെറ്റപ്പ് ഉപയോഗിക്കുക.
Step 1: Create or Install a GitHub App¶
Contentsക്കും Pull requestsക്കും റീഡ്/റൈറ്റ് ആക്സസ് ഉള്ള GitHub App സൃഷ്ടിക്കുക, അല്ലെങ്കിൽ നിങ്ങളുടെ ഓർഗനൈസേഷൻ ഇതിനകം ഒരു അപ് നികത്തിയിട്ടുണ്ടെങ്കിൽ അത് ഇൻസ്റ്റാൾ ചെയ്യുക.
गाൺഡ് ചെയ്ത് സൂക്ഷിക്കുക:
- App ID
- Private key contents
അവയെ റെപ്പോസിറ്ററി സീക്രറ്റുകളായി സൂക്ഷിക്കുക:
GH_APP_IDGH_APP_PRIVATE_KEY
Step 2: Generate an App Token¶
സ്റ്റാൻഡേർഡ് സെറ്റപ്പിനോട് ചേതവുന്ന അതേ വർക്ക്ഫ്ലോ ഉപയോഗിക്കുക, പക്ഷേ пул് റിക്വസ്റ്റ് ഘട്ടത്തിന് മുമുമ്പ് 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/
Runner Limits¶
GitHub-ഹോസ്റ്റ് ചെയ്ത റണ്ണർമാർക്കുള്ള ഒരു പരമാവധി ജോബ് ദൈർഘ്യമുണ്ട്. വലിയ റെപ്പോസിറ്ററികൾ അല്ലെങ്കിൽ നിരവധി ലക്ഷ്യഭാഷകൾ ആ പരിധി കടക്കാൻ ആകാം.
വലിയ വിവർത്തന ജോലികളെക്കുറിച്ച്:
- ഒരു റൺകൊണ്ട് കുറവ് ഭാഷകൾ വിവർത്തനം ചെയ്യുക.
-md,-nb, അല്ലെങ്കിൽ-imgപോലുള്ള ഉള്ളടക്ക ഫ്ലാഗുകൾ ഉപയോഗിക്കുക.- റെപ്പോസിറ്ററി വലുപ്പം അല്ലെങ്കിൽ മോഡൽ ലേറ്റൻസി ഹോസ്റ്റഡ് റണ്ണറുകളെ വിശ്വസനീയമല്ലാതാക്കുമ്പോൾ self-hosted റണ്ണർ ഉപയോഗിക്കുക.
Review in 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 ന് സുരക്ഷിതമായി രൂപകൽപ്പന ചെയ്തതാണ്.