GitHub Actions¶
Use GitHub Actions when you want a repository to translate changed documentation automatically and open a pull request with the generated outputs.
Most repositories should use the standard GITHUB_TOKEN setup. Use the GitHub App setup only when your organization restricts the default token permissions or requires app-based authentication.
ಪೂರ್ವಶರತ್ತುಗಳು¶
ವರ್ಕ್ಫ್ಲೋ ರಚಿಸುವ ಮೊದಲು, ನಿಮ್ಮ ಅನುವಾದ ರನ್ಗೆ ಅಗತ್ಯವಿರುವ 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
ಸ್ಥಳೀಯ ಸಂರಚನೆ ವಿವರಗಳಿಗಾಗಿ ಸಂರಚನೆ ಮತ್ತು Azure AI ಸೆಟ್ಅಪ್ ಅನ್ನು ನೋಡಿ.
ಮಾನಕ ಸೆಟಪ್¶
Use this setup for most public and private repositories.
ಹಂತ 1: ರೆಪೋಸಿಟರಿ ರಹಸ್ಯಗಳನ್ನು ಸೇರಿಸಿ¶
ನಿಮ್ಮ ಗುರಿ ರೆಪೋಸಿಟರಿಯಲ್ಲಿ ಸೆಟ್ಟಿಂಗ್ಗಳು > ರಹಸ್ಯಗಳು ಮತ್ತು ಚರಗಳು > Actions ತೆರೆಯಿರಿ, ನಂತರ ನಿಮ್ಮ ವರ್ಕ್ಫ್ಲೋ ಬಳಸುವ ಒದಗಿಸುವವರ ರಹಸ್ಯಗಳನ್ನು ಸೇರಿಸಿ.

ಹಂತ 2: ವರ್ಕ್ಫ್ಲೋ ಅನುಮತಿಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ¶
ತೆರೆಯಿರಿ ಸೆಟ್ಟಿಂಗ್ಗಳು > Actions > ಜನರಲ್.
ಅಡಿಯಲ್ಲಿ ವರ್ಕ್ಫ್ಲೋ ಅನುಮতಿಗಳು:
- ಓದುವ ಮತ್ತು ಬರೆಯುವ ಅನುಮತಿಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ.
- ಸಕ್ರಿಯಗೊಳಿಸಿ GitHub Actions ಅನ್ನು ಪುಲ್ ರಿಕ್ವೆಸ್ಟ್ಗಳನ್ನು ರಚಿಸಲು ಮತ್ತು ಅನುಮೋದಿಸಲು ಅನುಮತಿಸಿ.
- ಸೆಟಿಂಗ್ ಅನ್ನು ಉಳಿಸಿ.

ಹಂತ 3: ವರ್ಕ್ಫ್ಲೋ ಸೇರಿಸಿ¶
ರಚಿಸಿ .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/
Change translate -l "es fr de" -y to the target languages and content flags your project needs. For large repositories, add a paths: filter under on: so the workflow only runs when documentation changes.
GitHub App ಸೆಟಪ್¶
Use this setup when GITHUB_TOKEN cannot create commits or pull requests in your organization.
ಹಂತ 1: GitHub App ಅನ್ನು ರಚಿಸಿ ಅಥವಾ ಸ್ಥಾಪಿಸಿ¶
ಓದು/ಬರೆಯುವ ಪ್ರವೇಶವನ್ನು Contents ಮತ್ತು Pull requests ಗೆ ಹೊಂದಿರುವ GitHub App ಅನ್ನು ರಚಿಸಿ, ಅಥವಾ ನಿಮ್ಮ ಸಂಸ್ಥೆ ಈಗಾಗಲೇ ಒಂದನ್ನು ನಿರ್ವಹಿಸುತ್ತಿದ್ದರೆ ಸಂಸ್ಥೆಯ ಒದಗಿಸಿದ ಆಪ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿ.
ನೋಂದಿಸಿ:
- App ID
- Private key contents
ಅವನ್ನು ರೆಪೋಸಿಟರಿ ರಹಸ್ಯಗಳಾಗಿ ಸಂರಕ್ಷಿಸಿ:
GH_APP_IDGH_APP_PRIVATE_KEY
ಹಂತ 2: ಆಪ್ ಟೋಕನ್ ಉತ್ಪಾದಿಸಿ¶
Use the same workflow as the standard setup, but add an app-token step before the pull request step:
- 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-hosted runners ಗಳಿಗೆ ಗರಿಷ್ಠ ಕೆಲಸ ಅವಧಿ ಇದೆ. ದೊಡ್ಡ ರೆಪೋಸಿಟರಿಗಳು ಅಥವಾ ಹೆಚ್ಚಿನ ಗುರಿ ಭಾಷೆಗಳು ಆ ಮಿತಿಯನ್ನು ಮೀರುವ ಅನುಕೂಲತೆಯಿದೆ.
ದೊಡ್ಡ ಅನುವಾದ ಕೆಲಸಗಳಿಗಾಗಿ:
- ಪ್ರತಿ ರನ್ನಲ್ಲಿ ಕಡಿಮೆ ಭಾಷೆಗಳನ್ನು ಅನುವಾದಿಸಿ.
-md,-nb, ಅಥವಾ-imgಎಂಬಂತಹ ವಿಷಯ ಫ್ಲಾಗ್ಗಳನ್ನು ಬಳಸಿ.- ರೆಪೋಸಿಟರಿ ಗಾತ್ರ ಅಥವಾ ಮಾದರಿ ಪ್ರತಿಕ್ರಿಯಾ ತಡತೆಯು ಹೋಸ್ಟ್ ಮಾಡಿದ ರನ್ನರ್ಗಳನ್ನು ಅಸ್ಥಿರವಾಗಿಸಿದರೆ ಸ್ವಯಂ-ಹೋಸ್ಟ್ ಮಾಡಿದ ರನ್ನರ್ ಅನ್ನು ಬಳಸಿ.
CI ನಲ್ಲಿ ವಿಮರ್ಶೆ¶
Use co-op-review when a pull request should validate generated translations without calling LLM or Vision providers.
- name: Review translated outputs
run: |
co-op-review --changed-from "origin/${{ github.base_ref }}" --format github
co-op-review is a beta deterministic review command. Its checks and output schema may evolve, but it is designed to be safe for CI because it does not write files or call model providers.