GitHub Actions¶
Naudokite GitHub Actions, kai norite, kad saugykla automatiškai išverstų pakeistą dokumentaciją ir atidarytų pull request su sugeneruotais rezultatais.
Dauguma saugyklų turėtų naudoti standartinį GITHUB_TOKEN nustatymą. GitHub App nustatymą naudokite tik tada, kai jūsų organizacija apriboja numatytas žetono teises arba reikalauja autentifikacijos per programėlę.
Reikalingi dalykai¶
Prieš kuriant workflow, sukonfigūruokite AI paslaugų slaptus raktus, kurių reikės jūsų vertimo vykdymui.
Teksto vertimui reikalingas vienas kalbos modelio teikėjas:
- 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
Vaizdų vertimui papildomai reikalinga Azure AI Vision:
AZURE_AI_SERVICE_API_KEYAZURE_AI_SERVICE_ENDPOINT
Žr. Konfigūracija ir Azure AI nustatymas vietiniams konfigūracijos duomenims.
Standartinis nustatymas¶
Naudokite šį nustatymą daugumai viešų ir privačių saugyklų.
1 veiksmas: Pridėkite saugyklos slaptus raktus¶
Savo tikslinei saugyklai atidarykite Nustatymai > Slaptažodžiai ir kintamieji > Veiksmai, tada pridėkite paslaugos teikėjo slaptus raktus, kuriuos naudos jūsų darbo eiga.

2 veiksmas: Įgalinkite darbo eigos teises¶
Atidarykite Nustatymai > Veiksmai > Bendra.
Skiltyje Darbo eigos leidimai:
- Pasirinkite Skaitymo ir rašymo teises.
- Įgalinkite Leisti GitHub Actions kurti ir patvirtinti pull request'us.
- Išsaugokite nustatymą.

3 veiksmas: Pridėkite workflow¶
Sukurkite .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/
Pakeiskite translate -l "es fr de" -y į tikslines kalbas ir turinio parametrus, kurių reikia jūsų projektui. Didelėms saugykloms pridėkite paths: filtrą po on:, kad workflow būtų vykdomas tik tada, kai keičiasi dokumentacija.
GitHub App nustatymas¶
Naudokite šį nustatymą, kai GITHUB_TOKEN negali kurti commit'ų arba pull request'ų jūsų organizacijoje.
1 veiksmas: Sukurkite arba įdiekite GitHub App¶
Sukurkite GitHub App su skaitymo/rašymo prieiga prie Turinys ir Pull requests, arba įdiekite organizacijos suteiktą programėlę, jei jūsų organizacija jau tokią palaiko.
Užsirašykite:
- Programėlės ID
- Privataus rakto turinys
Išsaugokite juos kaip saugyklos slaptus raktus:
GH_APP_IDGH_APP_PRIVATE_KEY
2 veiksmas: Sugeneruokite programėlės žetoną¶
Naudokite tą patį workflow kaip standartiniame nustatyme, bet pridėkite app-token žingsnį prieš pull request žingsnį:
- 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/
Vykdytojų apribojimai¶
GitHub talpinami vykdytojai turi maksimalų darbo trukmės limitą. Didelės saugyklos arba daug tikslinių kalbų gali viršyti tą limitą.
Dideliems vertimo darbų kiekiams:
- Versti mažiau kalbų vienu paleidimu.
- Naudokite turinio žymes, pvz.
-md,-nbarba-img. - Naudokite savarankiškai talpinamą vykdytoją, kai saugyklos dydis arba modelio vėlavimas daro talpinamus vykdytojus nepatikimais.
Peržiūra CI¶
Naudokite co-op-review, kai pull request turėtų patikrinti sugeneruotus vertimus nenaudodamas LLM arba Vision teikėjų.
- name: Review translated outputs
run: |
co-op-review --changed-from "origin/${{ github.base_ref }}" --format github
co-op-review yra beta deterministinis peržiūros įrankis. Jo patikrinimai ir išvesties schema gali keistis, tačiau jis sukurtas būti saugus CI, nes neįrašo failų ir nekviečia modelių teikėjų.