Ciljana publika: Ovaj vodič namijenjen je Microsoftovim internim korisnicima ili timovima koji imaju pristup potrebnim vjerodajnicama za unaprijed pripremljenu Co-op Translator GitHub aplikaciju ili mogu kreirati vlastitu prilagođenu GitHub aplikaciju.
Automatizirajte prijevod dokumentacije vašeg repozitorija bez napora pomoću Co-op Translator GitHub Actiona. Ovaj vodič vas vodi kroz postavljanje actiona koji automatski kreira pull requestove s ažuriranim prijevodima svaki put kad se promijene izvorne Markdown datoteke ili slike.
[!IMPORTANT]
Odabir pravog vodiča:
Ovaj vodič opisuje postavljanje pomoću GitHub App ID-a i privatnog ključa. Ovu “organizacijsku” metodu obično trebate ako:
GITHUB_TOKENdozvole su ograničene: Postavke vaše organizacije ili repozitorija ograničavaju zadane dozvole koje standardniGITHUB_TOKENdaje. Konkretno, akoGITHUB_TOKENnema potrebnewritedozvole (poputcontents: writeilipull-requests: write), workflow iz javnog vodiča za postavljanje neće raditi zbog nedovoljnih dozvola. Korištenje namjenske GitHub aplikacije s eksplicitno dodijeljenim dozvolama zaobilazi ovo ograničenje.Ako se gore navedeno ne odnosi na vas:
Ako standardni
GITHUB_TOKENima dovoljne dozvole u vašem repozitoriju (tj. niste blokirani organizacijskim ograničenjima), koristite Javni vodič za postavljanje pomoću GITHUB_TOKEN-a. Javni vodič ne zahtijeva dobivanje ili upravljanje App ID-ima ili privatnim ključevima i oslanja se isključivo na standardniGITHUB_TOKENi dozvole repozitorija.
Prije konfiguracije GitHub Actiona, osigurajte da imate spremne potrebne vjerodajnice za AI servis.
1. Obavezno: Vjerodajnice za AI jezični model Potrebne su vam vjerodajnice za barem jedan podržani jezični model:
2. Opcionalno: Vjerodajnice za računalni vid (za prijevod slika)
Slijedite ove korake za konfiguraciju Co-op Translator GitHub Actiona u vašem repozitoriju:
Workflow koristi GitHub App autentikaciju za sigurno povezivanje s vašim repozitorijem (npr. kreiranje pull requestova) u vaše ime. Odaberite jednu opciju:
Otvorite stranicu Co-op Translator GitHub App.
Odaberite Install i odaberite račun ili organizaciju gdje se nalazi vaš ciljani repozitorij.

Odaberite Only select repositories i odaberite vaš ciljani repozitorij (npr. PhiCookBook). Kliknite Install. Možda ćete morati potvrditi identitet.

1164076..pem privatnog ključa od kontakt osobe za održavanje. Tretirajte ovaj ključ kao lozinku i čuvajte ga sigurno.Morate dodati vjerodajnice GitHub aplikacije i AI servisa kao enkriptirane tajne u postavkama repozitorija.
Otvorite vaš ciljani GitHub repozitorij (npr. PhiCookBook).
Idite na Settings > Secrets and variables > Actions.
Pod Repository secrets, kliknite New repository secret za svaku tajnu s popisa dolje.

Obavezne tajne (za GitHub App autentikaciju):
| Naziv tajne | Opis | Izvor vrijednosti |
|---|---|---|
GH_APP_ID |
App ID GitHub aplikacije (iz Koraka 1). | Postavke GitHub aplikacije |
GH_APP_PRIVATE_KEY |
Cijeli sadržaj preuzetog .pem fajla. |
.pem fajl (iz Koraka 1) |
Tajne za AI servis (dodajte SVE koje se odnose na vaše preduvjete):
| Naziv tajne | Opis | Izvor vrijednosti |
|---|---|---|
AZURE_AI_SERVICE_API_KEY |
Ključ za Azure AI servis (Computer Vision) | Azure AI Foundry |
AZURE_AI_SERVICE_ENDPOINT |
Endpoint za Azure AI servis (Computer Vision) | Azure AI Foundry |
AZURE_OPENAI_API_KEY |
Ključ za Azure OpenAI servis | Azure AI Foundry |
AZURE_OPENAI_ENDPOINT |
Endpoint za Azure OpenAI servis | Azure AI Foundry |
AZURE_OPENAI_MODEL_NAME |
Naziv vašeg Azure OpenAI modela | Azure AI Foundry |
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME |
Naziv vašeg 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 |
ID specifičnog OpenAI modela | OpenAI Platform |
OPENAI_BASE_URL |
Prilagođeni OpenAI API Base URL | OpenAI Platform |

Na kraju, kreirajte YAML datoteku koja definira automatizirani workflow.
U root direktoriju vašeg repozitorija, kreirajte direktorij .github/workflows/ ako ne postoji.
Unutar .github/workflows/, kreirajte datoteku naziva co-op-translator.yml.
Zalijepite sljedeći sadržaj u 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 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 OBAVEZNO pregledajte i izmijenite popis jezičnih kodova unutar naredbe translate -l "..." -y prema potrebama vašeg projekta. Primjer popisa (ar de es...) treba zamijeniti ili prilagoditi.on:): Trenutni trigger pokreće workflow na svaki push na main. Za velike repozitorije, razmislite o dodavanju paths: filtera (pogledajte komentirani primjer u YAML-u) kako bi se workflow pokretao samo kad se promijene relevantne datoteke (npr. izvorna dokumentacija), čime štedite vrijeme izvođenja.commit-message, title, body, naziv brancha i labels u koraku Create Pull Request po potrebi.AZURE_OPENAI_... ključeve) prije isteka kako biste spriječili prekid workflowa.[!WARNING]
Vremensko ograničenje za GitHub-hosted runner:
GitHub-hosted runneri poputubuntu-latestimaju maksimalno vrijeme izvođenja od 6 sati.
Za velike repozitorije s dokumentacijom, ako proces prevođenja premaši 6 sati, workflow će automatski biti prekinut.
Da biste to spriječili, razmislite o:
- Korištenju self-hosted runnera (bez vremenskog ograničenja)
- Smanjenju broja ciljanih jezika po pokretanju
Kada se datoteka co-op-translator.yml spoji na vaš glavni branch (ili branch naveden u on: triggeru), workflow će se automatski pokrenuti svaki put kad se promjene pošalju na taj branch (i zadovolje paths filter, ako je konfiguriran).
Ako se generiraju ili ažuriraju prijevodi, action će automatski kreirati Pull Request s promjenama, spreman za vaš pregled i spajanje.
Odricanje od odgovornosti: Ovaj dokument je preveden pomoću AI usluge za prevođenje Co-op Translator. Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na svom izvornom jeziku treba smatrati mjerodavnim izvorom. Za ključne informacije preporučuje se profesionalni ljudski prijevod. Ne snosimo odgovornost za bilo kakva nesporazume ili pogrešna tumačenja koja proizlaze iz korištenja ovog prijevoda.