GitHub Actions¶
Brug GitHub Actions, når du vil have et repository til automatisk at oversætte ændret dokumentation og åbne en pull request med de genererede output.
De fleste repositories bør bruge den standard GITHUB_TOKEN-opsætning. Brug GitHub App-opsætningen kun når din organisation begrænser de standard token-tilladelser eller kræver app-baseret autentifikation.
Forudsætninger¶
Før du opretter workflowet, konfigurer de AI-servicehemmeligheder, som din oversættelseskørsel har brug for.
Tekstoversættelse kræver én sprogmodeludbyder:
- 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 valgfrieOPENAI_ORG_IDogOPENAI_BASE_URL
Billedoversættelse kræver derudover Azure AI Vision:
AZURE_AI_SERVICE_API_KEYAZURE_AI_SERVICE_ENDPOINT
Se Konfiguration og Azure AI-opsætning for lokale konfigurationsdetaljer.
Standardopsætning¶
Brug denne opsætning for de fleste offentlige og private repositories.
Trin 1: Tilføj repository-hemmeligheder¶
I dit målrepository, åbn Settings > Secrets and variables > Actions, og tilføj derefter de udbyderhemmeligheder, som din workflow vil bruge.

Trin 2: Aktivér workflow-tilladelser¶
Åbn Settings > Actions > General.
Under Workflow permissions:
- Vælg Read and write permissions.
- Aktivér Allow GitHub Actions to create and approve pull requests.
- Gem indstillingen.

Trin 3: Tilføj workflowet¶
Opret .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/
Ændr translate -l "es fr de" -y til de målsprog og indholdsflag, dit projekt har brug for. For store repositories, tilføj et paths:-filter under on:, så workflowet kun kører, når dokumentationen ændres.
GitHub App-opsætning¶
Brug denne opsætning, når GITHUB_TOKEN ikke kan oprette commits eller pull requests i din organisation.
Trin 1: Opret eller installer en GitHub App¶
Opret en GitHub App med læse-/skriveadgang til Contents og Pull requests, eller installer den app, som organisationen stiller til rådighed, hvis organisationen allerede har en.
Noter:
- App ID
- Private key contents
Gem dem som repository-hemmeligheder:
GH_APP_IDGH_APP_PRIVATE_KEY
Trin 2: Generér et app-token¶
Brug det samme workflow som i standardopsætningen, men tilføj et app-token-trin før pull request-trinnet:
- 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/
Begrænsninger for runners¶
GitHub-hostede runners har en maksimal jobvarighed. Store repositories eller mange målsprog kan overskride denne grænse.
For store oversættelsesopgaver:
- Oversæt færre sprog pr. kørsel.
- Brug indholdsflag som
-md,-nbeller-img. - Brug en self-hosted runner, når repository-størrelse eller modellatens gør hosted runners upålidelige.
Gennemgang i CI¶
Brug co-op-review, når en pull request skal validere genererede oversættelser uden at kalde LLM- eller Vision-udbydere.
- name: Review translated outputs
run: |
co-op-review --changed-from "origin/${{ github.base_ref }}" --format github
co-op-review er en beta deterministisk review-kommando. Dens kontroller og output-skema kan udvikle sig, men den er designet til at være sikker i CI, fordi den ikke skriver filer eller kalder modeludbydere.