GitHub Actions¶
Bruk GitHub Actions når du vil at et repository skal oversette endret dokumentasjon automatisk og åpne en pull request med de genererte resultatene.
De fleste repositories bør bruke standardoppsettet med GITHUB_TOKEN. Bruk GitHub App-oppsettet bare når organisasjonen din begrenser standard token-tillatelser eller krever app-basert autentisering.
Forutsetninger¶
Før du oppretter arbeidsflyten, konfigurer AI-tjenestens secrets som oversettelseskjøringen din trenger.
Tekstoversettelse krever én språkmodellleverandør:
- 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
Bildeoversettelse krever i tillegg Azure AI Vision:
AZURE_AI_SERVICE_API_KEYAZURE_AI_SERVICE_ENDPOINT
Se Konfigurasjon og Azure AI-oppsett for detaljer om lokal konfigurasjon.
Standardoppsett¶
Bruk dette oppsettet for de fleste offentlige og private repositories.
Trinn 1: Legg til repository-secrets¶
I målrepositoriet ditt åpner du Innstillinger > Secrets and variables > Actions, og legger deretter til leverandørens secrets som arbeidsflyten din vil bruke.

Trinn 2: Aktiver arbeidsflytstillatelser¶
Åpne Innstillinger > Actions > Generelt.
Under Arbeidsflytstillatelser:
- Velg Les- og skrivetillatelser.
- Aktiver Tillat GitHub Actions å opprette og godkjenne pull requests.
- Lagre innstillingen.

Trinn 3: Legg til arbeidsflyten¶
Create .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-oppsett¶
Bruk dette oppsettet når GITHUB_TOKEN ikke kan opprette commits eller pull requests i organisasjonen din.
Trinn 1: Opprett eller installer en GitHub App¶
Opprett en GitHub App med lese-/skrivetilgang til Contents og Pull requests, eller installer appen organisasjonen tilbyr hvis den allerede vedlikeholder en.
Noter:
- App ID
- Private key contents
Lagre dem som repository-secrets:
GH_APP_IDGH_APP_PRIVATE_KEY
Trinn 2: Generer et app-token¶
Bruk samme arbeidsflyt som i standardoppsettet, men legg til et app-token-steg før pull request-steget:
- 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/
Begrensninger for runnere¶
GitHub-hostede runnere har en maksimal jobbtid. Store repositories eller mange målspråk kan overskride denne grensen.
For store oversettelsesarbeidsmengder:
- Oversett færre språk per kjøring.
- Bruk innholdsflagg som
-md,-nb, eller-img. - Bruk en self-hosted runner når repository-størrelse eller modellens latenstid gjør hostede runnere upålitelige.
Gjennomgang i CI¶
Bruk co-op-review når en pull request skal validere genererte oversettelser uten å kalle LLM- eller Vision-leverandører.
- name: Review translated outputs
run: |
co-op-review --changed-from "origin/${{ github.base_ref }}" --format github
co-op-review er en beta deterministisk gjennomgangskommando. Dens sjekker og utdata-skjema kan endre seg, men den er designet for å være sikker for CI fordi den ikke skriver filer eller kaller modellleverandører.