Ciljna skupina: Ta vodič je namenjen internim uporabnikom Microsofta ali ekipam, ki imajo dostop do potrebnih poverilnic za vnaprej pripravljeno Co-op Translator GitHub aplikacijo ali si lahko ustvarijo svojo lastno GitHub aplikacijo.
Avtomatizirajte prevajanje dokumentacije v svojem repozitoriju brez težav z uporabo Co-op Translator GitHub Action. Ta vodič vas vodi skozi nastavitev akcije, ki samodejno ustvari pull requeste s posodobljenimi prevodi, kadar koli se spremenijo izvorne Markdown datoteke ali slike.
[!IMPORTANT]
Izbira pravega vodiča:
Ta vodič opisuje nastavitev z uporabo GitHub App ID in zasebnega ključa. Običajno potrebujete ta “Organizacijski vodič”, če:
GITHUB_TOKENdovoljenja so omejena: Nastavitve vaše organizacije ali repozitorija omejujejo privzeta dovoljenja, ki jih ima standardniGITHUB_TOKEN. ČeGITHUB_TOKENnima potrebnihwritedovoljenj (npr.contents: writealipull-requests: write), bo potek dela iz javnega vodiča spodletel zaradi pomanjkanja dovoljenj. Uporaba namensko dodeljene GitHub aplikacije z eksplicitno dodeljenimi dovoljenji zaobide to omejitev.Če zgornje ne velja za vas:
Če ima standardni
GITHUB_TOKENdovolj dovoljenj v vašem repozitoriju (torej niste omejeni z organizacijskimi pravili), uporabite Javni vodič z uporabo GITHUB_TOKEN. Javni vodič ne zahteva pridobivanja ali upravljanja App ID-jev ali zasebnih ključev in temelji le na standardnemGITHUB_TOKENin dovoljenjih repozitorija.
Preden nastavite GitHub Action, poskrbite, da imate pripravljene potrebne poverilnice za AI storitve.
1. Obvezno: Poverilnice za jezikovni model AI Potrebujete poverilnice za vsaj en podprt jezikovni model:
2. Opcijsko: Poverilnice za Computer Vision (za prevajanje slik)
Sledite tem korakom za nastavitev Co-op Translator GitHub Action v vašem repozitoriju:
Potek dela uporablja avtentikacijo GitHub aplikacije za varno interakcijo z vašim repozitorijem (npr. ustvarjanje pull requestov) v vašem imenu. Izberite eno možnost:
Obiščite stran Co-op Translator GitHub App.
Izberite Install in izberite račun ali organizacijo, kjer se nahaja vaš ciljni repozitorij.

Izberite Only select repositories in izberite svoj ciljni repozitorij (npr. PhiCookBook). Kliknite Install. Morda boste morali potrditi svojo identiteto.

1164076..pem datoteke zasebnega ključa od kontaktne osebe vzdrževalca. S tem ključem ravnajte kot z geslom in ga hranite varno.Dodati morate poverilnice GitHub aplikacije in poverilnice AI storitev kot šifrirane skrivnosti v nastavitvah repozitorija.
Obiščite svoj ciljni GitHub repozitorij (npr. PhiCookBook).
Pojdite na Settings > Secrets and variables > Actions.
Pod Repository secrets kliknite New repository secret za vsako spodaj navedeno skrivnost.

Obvezne skrivnosti (za avtentikacijo GitHub aplikacije):
| Ime skrivnosti | Opis | Vir vrednosti |
|---|---|---|
GH_APP_ID |
App ID GitHub aplikacije (iz koraka 1). | Nastavitve GitHub aplikacije |
GH_APP_PRIVATE_KEY |
Celotna vsebina prenesene .pem datoteke. |
.pem datoteka (iz koraka 1) |
Skrivnosti AI storitev (dodajte VSE, ki veljajo glede na vaše predpogoje):
| Ime skrivnosti | Opis | Vir vrednosti |
|---|---|---|
AZURE_AI_SERVICE_API_KEY |
Ključ za Azure AI Service (Computer Vision) | Azure AI Foundry |
AZURE_AI_SERVICE_ENDPOINT |
Endpoint za Azure AI Service (Computer Vision) | Azure AI Foundry |
AZURE_OPENAI_API_KEY |
Ključ za Azure OpenAI storitev | Azure AI Foundry |
AZURE_OPENAI_ENDPOINT |
Endpoint za Azure OpenAI storitev | Azure AI Foundry |
AZURE_OPENAI_MODEL_NAME |
Ime vašega Azure OpenAI modela | Azure AI Foundry |
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME |
Ime vašega Azure OpenAI deploymenta | Azure AI Foundry |
AZURE_OPENAI_API_VERSION |
Verzija API-ja za Azure OpenAI | Azure AI Foundry |
OPENAI_API_KEY |
API ključ za OpenAI | OpenAI Platform |
OPENAI_ORG_ID |
OpenAI Organization ID | OpenAI Platform |
OPENAI_CHAT_MODEL_ID |
Specifičen OpenAI model ID | OpenAI Platform |
OPENAI_BASE_URL |
Custom OpenAI API Base URL | OpenAI Platform |

Na koncu ustvarite YAML datoteko, ki definira avtomatiziran potek dela.
V korenski mapi vašega repozitorija ustvarite mapo .github/workflows/, če še ne obstaja.
V .github/workflows/ ustvarite datoteko z imenom co-op-translator.yml.
V datoteko co-op-translator.yml prilepite naslednjo vsebino.
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 Credentials
AZURE_AI_SERVICE_API_KEY: $
AZURE_AI_SERVICE_ENDPOINT: $
# Azure OpenAI Credentials
AZURE_OPENAI_API_KEY: $
AZURE_OPENAI_ENDPOINT: $
AZURE_OPENAI_MODEL_NAME: $
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME: $
AZURE_OPENAI_API_VERSION: $
# OpenAI Credentials
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: Authenticate GitHub App
id: generate_token
uses: tibdex/github-app-token@v1
with:
app_id: $
private_key: $
- 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 MORATE pregledati in spremeniti seznam jezikovnih kod v ukazu translate -l "..." -y, da ustreza potrebam vašega projekta. Primer seznama (ar de es...) je treba zamenjati ali prilagoditi.on:): Trenutni sprožilec se zažene ob vsakem pushu na main. Pri večjih repozitorijih razmislite o dodajanju filtra paths: (glejte komentiran primer v YAML-u), da se potek dela zažene le ob spremembah relevantnih datotek (npr. izvorne dokumentacije), kar prihrani čas izvajanja.commit-message, title, body, ime branch in labels v koraku Create Pull Request.AZURE_OPENAI_... ključe) posodobite pred iztekom, da preprečite napake v poteku dela.[!WARNING]
Časovna omejitev GitHub-hosted runnerjev:
GitHub-hosted runnerji, kot jeubuntu-latest, imajo najdaljši čas izvajanja 6 ur.
Pri večjih repozitorijih z dokumentacijo, če postopek prevajanja preseže 6 ur, bo potek dela samodejno prekinjen.
Da to preprečite, razmislite o:
- Uporabi self-hosted runnerja (brez časovne omejitve)
- Zmanjšanju števila ciljnih jezikov na posamezno izvajanje
Ko je datoteka co-op-translator.yml združena v vašo glavno vejo (ali vejo, določeno v sprožilcu on:), se bo potek dela samodejno zagnal ob vsaki spremembi, ki je potisnjena v to vejo (in ustreza filtru paths, če je nastavljen).
Če so prevodi ustvarjeni ali posodobljeni, bo akcija samodejno ustvarila Pull Request s spremembami, pripravljenimi za vaš pregled in združitev.
Izjava o omejitvi odgovornosti: Ta dokument je bil preveden s pomočjo storitve za strojno prevajanje Co-op Translator. Čeprav si prizadevamo za natančnost, vas opozarjamo, da lahko avtomatski prevodi vsebujejo napake ali netočnosti. Izvirni dokument v svojem maternem jeziku naj velja za avtoritativni vir. Za ključne informacije priporočamo strokovni človeški prevod. Ne prevzemamo odgovornosti za morebitne nesporazume ali napačne razlage, ki bi izhajale iz uporabe tega prevoda.