Cieľová skupina: Tento sprievodca je určený pre interných používateľov Microsoftu alebo tímy, ktoré majú prístup k potrebným povereniam pre predpripravenú Co-op Translator GitHub App alebo si môžu vytvoriť vlastnú vlastnú GitHub App.
Automatizujte preklad dokumentácie vášho repozitára jednoducho pomocou Co-op Translator GitHub Action. Tento sprievodca vás prevedie nastavením akcie tak, aby automaticky vytvárala pull requesty s aktualizovanými prekladmi vždy, keď sa zmenia vaše zdrojové Markdown súbory alebo obrázky.
[!IMPORTANT]
Výber správneho sprievodcu:
Tento sprievodca popisuje nastavenie pomocou GitHub App ID a Private Key. Tento “Organizačný sprievodca” potrebujete najmä vtedy, ak:
GITHUB_TOKENmá obmedzené oprávnenia: Nastavenia vašej organizácie alebo repozitára obmedzujú predvolené oprávnenia, ktoré štandardnýGITHUB_TOKENposkytuje. Konkrétne, akGITHUB_TOKENnemá povolené potrebnéwriteoprávnenia (napr.contents: writealebopull-requests: write), workflow v Verejnom sprievodcovi zlyhá kvôli nedostatočným oprávneniam. Použitie dedikovanej GitHub App s explicitne udelenými oprávneniami obchádza toto obmedzenie.Ak sa vás vyššie uvedené netýka:
Ak má štandardný
GITHUB_TOKENdostatočné oprávnenia vo vašom repozitári (t.j. nie ste blokovaní organizačnými obmedzeniami), použite Verejný sprievodca s GITHUB_TOKEN. Verejný sprievodca nevyžaduje získavanie ani správu App ID alebo Private Key a spolieha sa len na štandardnýGITHUB_TOKENa oprávnenia repozitára.
Pred konfiguráciou GitHub Action si pripravte potrebné poverenia AI služby.
1. Povinné: Poverenia AI jazykového modelu Potrebujete poverenia aspoň pre jeden podporovaný jazykový model:
2. Voliteľné: Poverenia Computer Vision (pre preklad textu v obrázkoch)
Postupujte podľa týchto krokov na nastavenie Co-op Translator GitHub Action vo vašom repozitári:
Workflow používa autentifikáciu GitHub App na bezpečnú interakciu s vaším repozitárom (napr. vytváranie pull requestov) vo vašom mene. Vyberte jednu možnosť:
Prejdite na stránku Co-op Translator GitHub App.
Vyberte Install a zvoľte účet alebo organizáciu, kde sa nachádza váš cieľový repozitár.

Zvoľte Only select repositories a vyberte váš cieľový repozitár (napr. PhiCookBook). Kliknite na Install. Môže byť vyžadované overenie.

1164076..pem private key od kontaktného správcu. Zaobchádzajte s týmto kľúčom ako s heslom a uchovávajte ho v bezpečí.Musíte pridať poverenia GitHub App a AI služby ako šifrované tajné údaje v nastaveniach repozitára.
Prejdite do cieľového GitHub repozitára (napr. PhiCookBook).
Choďte do Settings > Secrets and variables > Actions.
V sekcii Repository secrets kliknite na New repository secret pre každý tajný údaj uvedený nižšie.

Povinné tajné údaje (pre GitHub App autentifikáciu):
| Názov tajného údaja | Popis | Zdroj hodnoty |
|---|---|---|
GH_APP_ID |
App ID GitHub App (z kroku 1). | Nastavenia GitHub App |
GH_APP_PRIVATE_KEY |
Celý obsah stiahnutého .pem súboru. |
.pem súbor (z kroku 1) |
Tajné údaje AI služby (pridajte VŠETKY, ktoré sa vás týkajú podľa predpokladov):
| Názov tajného údaja | Popis | Zdroj hodnoty |
|---|---|---|
AZURE_AI_SERVICE_API_KEY |
Kľúč pre Azure AI Service (Computer Vision) | Azure AI Foundry |
AZURE_AI_SERVICE_ENDPOINT |
Endpoint pre Azure AI Service (Computer Vision) | Azure AI Foundry |
AZURE_OPENAI_API_KEY |
Kľúč pre Azure OpenAI službu | Azure AI Foundry |
AZURE_OPENAI_ENDPOINT |
Endpoint pre Azure OpenAI službu | Azure AI Foundry |
AZURE_OPENAI_MODEL_NAME |
Názov vášho Azure OpenAI modelu | Azure AI Foundry |
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME |
Názov vášho Azure OpenAI deploymentu | Azure AI Foundry |
AZURE_OPENAI_API_VERSION |
Verzia API pre Azure OpenAI | Azure AI Foundry |
OPENAI_API_KEY |
API kľúč pre OpenAI | OpenAI Platform |
OPENAI_ORG_ID |
OpenAI Organization ID | OpenAI Platform |
OPENAI_CHAT_MODEL_ID |
Konkrétne OpenAI model ID | OpenAI Platform |
OPENAI_BASE_URL |
Vlastné OpenAI API Base URL | OpenAI Platform |

Nakoniec vytvorte YAML súbor, ktorý definuje automatizovaný workflow.
V koreňovom adresári vášho repozitára vytvorte adresár .github/workflows/, ak ešte neexistuje.
V .github/workflows/ vytvorte súbor s názvom co-op-translator.yml.
Vložte nasledujúci obsah do súboru 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 MUSÍTE skontrolovať a upraviť zoznam jazykových kódov v príkaze translate -l "..." -y podľa potrieb vášho projektu. Ukážkový zoznam (ar de es...) je potrebné nahradiť alebo upraviť.on:): Aktuálny trigger spúšťa workflow pri každom pushi na main. Pri veľkých repozitároch zvážte pridanie filtra paths: (pozrite komentovaný príklad v YAML), aby sa workflow spúšťal len pri zmene relevantných súborov (napr. zdrojová dokumentácia), čím ušetríte minúty runnera.commit-message, title, body, názov branch a labels v kroku Create Pull Request podľa potreby.AZURE_OPENAI_... kľúče) pred ich vypršaním, aby ste predišli zlyhaniu workflow.[!WARNING]
Časový limit GitHub-hosted runnera:
GitHub-hosted runneri akoubuntu-latestmajú maximálny čas spustenia 6 hodín.
Pri veľkých dokumentačných repozitároch, ak prekladový proces presiahne 6 hodín, workflow bude automaticky ukončený.
Aby ste tomu predišli, zvážte:
- Použitie self-hosted runnera (bez časového limitu)
- Zníženie počtu cieľových jazykov na jeden beh
Keď je súbor co-op-translator.yml zlúčený do vašej hlavnej vetvy (alebo vetvy určenej v on: triggeri), workflow sa automaticky spustí vždy, keď sa do tejto vetvy pushnú zmeny (a zodpovedajú filtru paths, ak je nastavený).
Ak sa vygenerujú alebo aktualizujú preklady, akcia automaticky vytvorí Pull Request s týmito zmenami, pripravený na vašu kontrolu a zlúčenie.
Vyhlásenie o vylúčení zodpovednosti: Tento dokument bol preložený pomocou AI prekladovej služby Co-op Translator. Hoci sa snažíme o presnosť, upozorňujeme, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Za autoritatívny zdroj by sa mal považovať pôvodný dokument v jeho pôvodnom jazyku. Pre kritické informácie odporúčame profesionálny ľudský preklad. Nenesieme zodpovednosť za akékoľvek nedorozumenia alebo nesprávne interpretácie vzniknuté použitím tohto prekladu.