Målgruppe: Denne veiledningen er for brukere i de fleste offentlige eller private repositorier hvor standard GitHub Actions-tillatelser er tilstrekkelige. Den bruker den innebygde GITHUB_TOKEN.
Automatiser oversettelsen av dokumentasjonen i ditt repository enkelt med Co-op Translator GitHub Action. Denne veiledningen viser deg hvordan du setter opp actionen slik at den automatisk oppretter pull requests med oppdaterte oversettelser hver gang kilde-Markdown-filer eller bilder endres.
[!IMPORTANT]
Velg riktig veiledning:
Denne veiledningen beskriver det enklere oppsettet med standard
GITHUB_TOKEN. Dette er anbefalt metode for de fleste brukere, siden du slipper å håndtere sensitive GitHub App Private Keys.
Før du konfigurerer GitHub Action, må du ha nødvendige AI-tjenestelegitimasjoner klare.
1. Påkrevd: AI Language Model-legitimasjon Du trenger legitimasjon for minst én støttet Language Model:
2. Valgfritt: AI Vision-legitimasjon (for bildeoversettelse)
Følg disse stegene for å konfigurere Co-op Translator GitHub Action i ditt repository med standard GITHUB_TOKEN.
GITHUB_TOKEN)Denne workflowen bruker den innebygde GITHUB_TOKEN som tilbys av GitHub Actions. Denne tokenen gir automatisk nødvendige tillatelser til workflowen for å samhandle med repositoryet ditt, basert på innstillingene du konfigurerer i Steg 3.
Du trenger kun å legge til AI-tjenestelegitimasjonen din som krypterte secrets i repository-innstillingene.
Under Repository secrets, klikk New repository secret for hver nødvendige AI-tjeneste secret som er listet under.
(Bildehenvisning: Viser hvor du legger til secrets)
Nødvendige AI-tjeneste secrets (Legg til ALLE som gjelder ut fra dine forutsetninger):
| Secret Name | Beskrivelse | Kilde til verdi |
|---|---|---|
AZURE_AI_SERVICE_API_KEY |
Nøkkel for Azure AI Service (Computer Vision) | Din Azure AI Foundry |
AZURE_AI_SERVICE_ENDPOINT |
Endpoint for Azure AI Service (Computer Vision) | Din Azure AI Foundry |
AZURE_OPENAI_API_KEY |
Nøkkel for Azure OpenAI-tjeneste | Din Azure AI Foundry |
AZURE_OPENAI_ENDPOINT |
Endpoint for Azure OpenAI-tjeneste | Din Azure AI Foundry |
AZURE_OPENAI_MODEL_NAME |
Ditt Azure OpenAI-modellnavn | Din Azure AI Foundry |
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME |
Ditt Azure OpenAI Deployment-navn | Din Azure AI Foundry |
AZURE_OPENAI_API_VERSION |
API-versjon for Azure OpenAI | Din Azure AI Foundry |
OPENAI_API_KEY |
API-nøkkel for OpenAI | Din OpenAI Platform |
OPENAI_ORG_ID |
OpenAI Organisasjons-ID (valgfritt) | Din OpenAI Platform |
OPENAI_CHAT_MODEL_ID |
Spesifikk OpenAI-modell-ID (valgfritt) | Din OpenAI Platform |
OPENAI_BASE_URL |
Egendefinert OpenAI API Base URL (valgfritt) | Din OpenAI Platform |
GitHub Action trenger tillatelser via GITHUB_TOKEN for å sjekke ut kode og opprette pull requests.
GITHUB_TOKEN nødvendige contents: write og pull-requests: write tillatelser for denne workflowen.
Til slutt, opprett YAML-filen som definerer den automatiserte workflowen med GITHUB_TOKEN.
.github/workflows/-mappen hvis den ikke finnes fra før..github/workflows/, opprett en fil som heter co-op-translator.yml.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
# === AI Service Credentials ===
AZURE_AI_SERVICE_API_KEY: $
AZURE_AI_SERVICE_ENDPOINT: $
AZURE_OPENAI_API_KEY: $
AZURE_OPENAI_ENDPOINT: $
AZURE_OPENAI_MODEL_NAME: $
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME: $
AZURE_OPENAI_API_VERSION: $
OPENAI_API_KEY: $
OPENAI_ORG_ID: $
OPENAI_CHAT_MODEL_ID: $
OPENAI_BASE_URL: $
run: |
# =====================================================================
# IMPORTANT: Set your target languages here (REQUIRED CONFIGURATION)
# =====================================================================
# Example: Translate to Spanish, French, German. Add -y to auto-confirm.
translate -l "es fr de" -y # <--- MODIFY THIS LINE with your desired languages
- name: Create Pull Request with translations
uses: peter-evans/create-pull-request@v5
with:
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.
### 📋 Changes included
- Translated contents are available in the `translations/` directory
- Translated images are available in the `translated_images/` directory
---
🌐 Automatically generated by the [Co-op Translator](https://github.com/Azure/co-op-translator) GitHub Action.
branch: update-translations
base: main
labels: translation, automated-pr
delete-branch: true
add-paths: |
translations/
translated_images/
Run Co-op Translator må du GÅ GJENNOM og endre listen over språkkoder i kommandoen translate -l "..." -y slik at den passer til prosjektet ditt. Eksempellisten (ar de es...) må byttes ut eller justeres.on:): Nåværende trigger kjører på hver push til main. For store repositories, vurder å legge til en paths:-filter (se kommentert eksempel i YAML) slik at workflowen kun kjøres når relevante filer (f.eks. kilde-dokumentasjon) endres, for å spare runner-minutter.commit-message, title, body, branch-navn og labels i steget Create Pull Request om nødvendig.[!WARNING]
Tidsbegrensning for GitHub-hostede runners:
GitHub-hostede runners somubuntu-latesthar en maksimal kjøretid på 6 timer.
For store dokumentasjonsprosjekter, hvis oversettelsesprosessen tar mer enn 6 timer, vil workflowen automatisk bli avbrutt.
For å unngå dette, vurder:
- Å bruke en self-hosted runner (ingen tidsbegrensning)
- Å redusere antall målspråk per kjøring
Når co-op-translator.yml-filen er merget inn i din main branch (eller den grenen som er spesifisert i on:-triggeren), vil workflowen automatisk kjøres hver gang det pushes endringer til den grenen (og matcher paths-filteret, hvis konfigurert).
Ansvarsfraskrivelse: Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten Co-op Translator. Selv om vi tilstreber nøyaktighet, må du være oppmerksom på at automatiske oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.