GitHub Actions¶
Használja a GitHub Actions-t, ha azt szeretné, hogy egy tároló automatikusan lefordítsa a megváltozott dokumentációt és pull requestet nyisson a generált kimenettel.
A legtöbb tárolónak az alapértelmezett GITHUB_TOKEN beállítást kell használnia. A GitHub App beállítást csak akkor használja, ha a szervezete korlátozza az alapértelmezett token jogosultságait vagy alkalmazás-alapú hitelesítést igényel.
Előfeltételek¶
A munkafolyamat létrehozása előtt konfigurálja azokat az AI szolgáltatási titkokat, amelyekre a fordítási futtatásnak szüksége van.
A szövegfordításhoz egy nyelvi modell szolgáltató szükséges:
- 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, plusz opcionálisOPENAI_ORG_IDésOPENAI_BASE_URL
A képfordításhoz emellett szükséges az Azure AI Vision:
AZURE_AI_SERVICE_API_KEYAZURE_AI_SERVICE_ENDPOINT
Lásd a Konfigurációt és az Azure AI beállítást a helyi konfiguráció részleteiért.
Szokásos beállítás¶
Ezt a beállítást használja a legtöbb nyilvános és privát tárolóhoz.
1. lépés: Tároló titkok hozzáadása¶
A cél tárolóban nyissa meg a Beállítások > Titkok és változók > Műveletek részt, majd adja hozzá azokat a szolgáltató titkokat, amelyeket a munkafolyamata használni fog.

2. lépés: Engedélyezze a munkafolyamat jogosultságait¶
Nyissa meg a Beállítások > Műveletek > Általános részt.
A Workflow permissions alatt:
- Válassza a Read and write permissions lehetőséget.
- Engedélyezze a Allow GitHub Actions to create and approve pull requests beállítást.
- Mentse a beállítást.

3. lépés: Adja hozzá a munkafolyamatot¶
Hozza létre .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/
Cserélje a translate -l "es fr de" -y parancsot a projektje által igényelt cél nyelvekre és tartalom-flagokra. Nagy tárolók esetén adjon hozzá egy paths: szűrőt az on: alá, hogy a munkafolyamat csak akkor fusson le, ha a dokumentáció megváltozik.
GitHub App beállítása¶
Ezt a beállítást használja, ha a GITHUB_TOKEN nem tud commitokat vagy pull requesteket létrehozni a szervezetén belül.
1. lépés: Hozzon létre vagy telepítsen egy GitHub Appot¶
Hozzon létre egy GitHub Appot olvasási/írási hozzáféréssel a Contents és Pull requests számára, vagy telepítse a szervezet által biztosított alkalmazást, ha a szervezete már fenntart egyet.
Jegyezze fel:
- App ID
- Privát kulcs tartalma
Tárolja őket tárolói titkokként:
GH_APP_IDGH_APP_PRIVATE_KEY
2. lépés: App token generálása¶
Használja ugyanazt a munkafolyamatot, mint a szokásos beállításnál, de adjon hozzá egy app-token lépést a pull request lépés előtt:
- 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/
Futó korlátok¶
A GitHub által hosztolt runnereknek maximális feladatidőtartamuk van. Nagy tárolók vagy sok cél nyelv túllépheti ezt a korlátot.
Nagy fordítási munkaterhelés esetén:
- Fordítson kevesebb nyelvet egy futtatás során.
- Használjon tartalom-flagokat, mint például
-md,-nbvagy-img. - Használjon önálló futtatót, ha a tároló mérete vagy a modell késleltetése megbízhatatlanná teszi a hosztolt futtatókat.
Felülvizsgálat CI-ben¶
Használja a co-op-review parancsot, amikor egy pull requestnek érvényesítenie kell a generált fordításokat anélkül, hogy LLM vagy Vision szolgáltatókat hívna.
- name: Review translated outputs
run: |
co-op-review --changed-from "origin/${{ github.base_ref }}" --format github
co-op-review egy béta determinisztikus ellenőrző parancs. Ellenőrzései és kimeneti sémája változhatnak, de úgy tervezték, hogy CI-ben biztonságos legyen, mert nem ír fájlokat és nem hív modell-szolgáltatókat.