Ciljna skupina: Ta vodič je namenjen uporabnikom v večini javnih ali zasebnih repozitorijev, kjer so standardna dovoljenja GitHub Actions zadostna. Uporablja vgrajeni GITHUB_TOKEN.
Avtomatizirajte prevajanje dokumentacije vašega repozitorija brez napora z uporabo Co-op Translator GitHub Action. Ta vodič vas vodi skozi postopek nastavitve akcije, ki samodejno ustvari pull requeste s posodobljenimi prevodi, kadar koli se spremenijo vaši izvorni Markdown dokumenti ali slike.
[!IMPORTANT]
Izbira pravega vodiča:
Ta vodič opisuje enostavnejšo nastavitev z uporabo standardnega
GITHUB_TOKEN. To je priporočena metoda za večino uporabnikov, saj ni potrebno upravljati občutljivih zasebnih ključev GitHub App.
Preden nastavite GitHub Action, poskrbite, da imate pripravljene potrebne podatke za AI storitve.
1. Obvezno: Poverilnice za jezikovni model AI Potrebujete podatke za vsaj en podprt jezikovni model:
2. Neobvezno: Poverilnice za AI Vision (za prevajanje slik)
Sledite tem korakom za nastavitev Co-op Translator GitHub Action v vašem repozitoriju z uporabo standardnega GITHUB_TOKEN.
GITHUB_TOKEN)Ta potek dela uporablja vgrajeni GITHUB_TOKEN, ki ga zagotavlja GitHub Actions. Ta žeton samodejno omogoča dovoljenja za potek dela za interakcijo z vašim repozitorijem glede na nastavitve, določene v 3. koraku.
Dodati morate le podatke za AI storitve kot šifrirane skrivnosti v nastavitvah vašega repozitorija.
Pod Repository secrets kliknite New repository secret za vsako zahtevano skrivnost AI storitve, navedeno spodaj.
(Referenca slike: prikazuje, kje dodati skrivnosti)
Zahtevane skrivnosti za AI storitve (dodajte VSE, ki jih potrebujete glede na predpogoje):
| Ime skrivnosti | Opis | Vir vrednosti |
|---|---|---|
AZURE_AI_SERVICE_API_KEY |
Ključ za Azure AI Service (Computer Vision) | Vaš Azure AI Foundry |
AZURE_AI_SERVICE_ENDPOINT |
Endpoint za Azure AI Service (Computer Vision) | Vaš Azure AI Foundry |
AZURE_OPENAI_API_KEY |
Ključ za Azure OpenAI storitev | Vaš Azure AI Foundry |
AZURE_OPENAI_ENDPOINT |
Endpoint za Azure OpenAI storitev | Vaš Azure AI Foundry |
AZURE_OPENAI_MODEL_NAME |
Ime vašega Azure OpenAI modela | Vaš Azure AI Foundry |
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME |
Ime vašega Azure OpenAI deploymenta | Vaš Azure AI Foundry |
AZURE_OPENAI_API_VERSION |
Verzija API za Azure OpenAI | Vaš Azure AI Foundry |
OPENAI_API_KEY |
API ključ za OpenAI | Vaša OpenAI platforma |
OPENAI_ORG_ID |
OpenAI Organization ID (neobvezno) | Vaša OpenAI platforma |
OPENAI_CHAT_MODEL_ID |
ID določenega OpenAI modela (neobvezno) | Vaša OpenAI platforma |
OPENAI_BASE_URL |
Osnovni URL za OpenAI API (neobvezno) | Vaša OpenAI platforma |
GitHub Action potrebuje dovoljenja, ki jih omogoča GITHUB_TOKEN, za prenos kode in ustvarjanje pull requestov.
GITHUB_TOKEN potrebna dovoljenja contents: write in pull-requests: write za ta potek dela.
Na koncu ustvarite YAML datoteko, ki definira avtomatiziran potek dela z uporabo GITHUB_TOKEN.
.github/workflows/, če še ne obstaja..github/workflows/ ustvarite datoteko z imenom co-op-translator.yml.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
# === 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 MORATE pregledati in po potrebi 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. Za večje repozitorije razmislite o dodajanju filtra paths: (glejte komentiran primer v YAML), da se potek dela zažene le ob spremembah relevantnih datotek (npr. izvorne dokumentacije) in tako prihranite minute izvajanja.commit-message, title, body, ime branch in labels v koraku Create Pull Request.[!WARNING]
Časovna omejitev za GitHub-hosted runnerje:
GitHub-hosted runnerji, kot jeubuntu-latest, imajo najdaljši čas izvajanja 6 ur.
Če prevajanje v velikih repozitorijih 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 posamezen zagon
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, potisnjeni v to vejo (in če ustreza filtru paths, če je nastavljen).
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 izvoru jeziku naj velja za avtoritativni vir. Za kritične informacije priporočamo strokoven človeški prevod. Ne prevzemamo odgovornosti za morebitne nesporazume ali napačne razlage, ki bi nastale zaradi uporabe tega prevoda.