Tikslinė auditorija: Šis vadovas skirtas Microsoft vidiniams naudotojams arba komandoms, turinčioms prieigą prie iš anksto paruoštos Co-op Translator GitHub programėlės kredencialų arba galinčioms susikurti savo GitHub programėlę.
Automatiškai išverskite savo repozitorijos dokumentaciją naudodami Co-op Translator GitHub Action. Šiame vadove rasite instrukcijas, kaip sukonfigūruoti veiksmą, kad automatiškai būtų kuriami pull request’ai su atnaujintais vertimais, kai tik pasikeičia jūsų Markdown failai ar paveikslėliai.
[!IMPORTANT]
Pasirinkite tinkamą vadovą:
Šiame vadove aprašyta konfigūracija naudojant GitHub App ID ir privatų raktą. Šis „organizacijos vadovo“ metodas paprastai reikalingas, jei:
GITHUB_TOKENleidimai yra apriboti: Jūsų organizacijos ar repozitorijos nustatymai riboja standartinioGITHUB_TOKENsuteikiamus leidimus. JeiGITHUB_TOKENneturi reikiamųwriteleidimų (pvz.,contents: writearpull-requests: write), viešojo vadovo darbo eiga nepavyks dėl nepakankamų leidimų. Naudojant specialią GitHub programėlę su aiškiai suteiktais leidimais, šis apribojimas apeinamas.Jei aukščiau aprašyta situacija jums netaikoma:
Jei standartinis
GITHUB_TOKENturi pakankamai leidimų jūsų repozitorijoje (t. y. jūsų neblokuoja organizaciniai apribojimai), naudokite viešąjį vadovą su GITHUB_TOKEN. Viešajam vadovui nereikia gauti ar valdyti App ID ar privačių raktų – pakanka standartinioGITHUB_TOKENir repozitorijos leidimų.
Prieš konfigūruodami GitHub Action, įsitikinkite, kad turite reikiamus AI paslaugų kredencialus.
1. Privaloma: AI kalbos modelio kredencialai Reikalingi bent vienos palaikomos kalbos modelio kredencialai:
2. Pasirinktinai: Kompiuterinės regos kredencialai (vaizdų vertimui)
Vadovaukitės šiais žingsniais, kad sukonfigūruotumėte Co-op Translator GitHub Action savo repozitorijoje:
Darbo eiga naudoja GitHub App autentifikaciją, kad saugiai galėtų veikti jūsų repozitorijoje (pvz., kurti pull request’us) jūsų vardu. Pasirinkite vieną variantą:
Eikite į Co-op Translator GitHub App puslapį.
Pasirinkite Install ir pasirinkite paskyrą ar organizaciją, kurioje yra jūsų repozitorija.

Pasirinkite Only select repositories ir pažymėkite savo repozitoriją (pvz., PhiCookBook). Spauskite Install. Gali tekti patvirtinti tapatybę.

1164076..pem privataus rakto failo turinį iš atsakingo asmens. Laikykite šį raktą saugiai, kaip slaptažodį.Turite pridėti GitHub programėlės kredencialus ir AI paslaugų kredencialus kaip užšifruotas paslaptis repozitorijos nustatymuose.
Eikite į savo repozitoriją (pvz., PhiCookBook).
Eikite į Settings > Secrets and variables > Actions.
Skiltyje Repository secrets spauskite New repository secret kiekvienai žemiau nurodytai paslapčiai.

Privalomos paslaptys (GitHub programėlės autentifikacijai):
| Paslapties pavadinimas | Aprašymas | Vertės šaltinis |
|---|---|---|
GH_APP_ID |
GitHub programėlės App ID (iš 1 žingsnio). | GitHub App nustatymai |
GH_APP_PRIVATE_KEY |
Visas atsisiųsto .pem failo turinys. |
.pem failas (iš 1 žingsnio) |
AI paslaugų paslaptys (pridėkite visas, kurios taikomos pagal jūsų poreikius):
| Paslapties pavadinimas | Aprašymas | Vertės šaltinis |
|---|---|---|
AZURE_AI_SERVICE_API_KEY |
Azure AI Service raktas (Computer Vision) | Azure AI Foundry |
AZURE_AI_SERVICE_ENDPOINT |
Azure AI Service Endpoint (Computer Vision) | Azure AI Foundry |
AZURE_OPENAI_API_KEY |
Azure OpenAI paslaugos raktas | Azure AI Foundry |
AZURE_OPENAI_ENDPOINT |
Azure OpenAI paslaugos Endpoint | Azure AI Foundry |
AZURE_OPENAI_MODEL_NAME |
Azure OpenAI modelio pavadinimas | Azure AI Foundry |
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME |
Azure OpenAI diegimo pavadinimas | Azure AI Foundry |
AZURE_OPENAI_API_VERSION |
Azure OpenAI API versija | Azure AI Foundry |
OPENAI_API_KEY |
OpenAI API raktas | OpenAI Platform |
OPENAI_ORG_ID |
OpenAI organizacijos ID | OpenAI Platform |
OPENAI_CHAT_MODEL_ID |
Konkretus OpenAI modelio ID | OpenAI Platform |
OPENAI_BASE_URL |
OpenAI API bazinis URL | OpenAI Platform |

Galiausiai sukurkite YAML failą, apibrėžiantį automatizuotą darbo eigą.
Repozitorijos šakniniame kataloge sukurkite .github/workflows/ katalogą, jei jo dar nėra.
Kataloge .github/workflows/ sukurkite failą pavadinimu co-op-translator.yml.
Įklijuokite žemiau pateiktą turinį į 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 žingsnyje BŪTINAI peržiūrėkite ir pakeiskite kalbų kodų sąrašą komandoje translate -l "..." -y, kad jis atitiktų jūsų projekto poreikius. Pavyzdinis sąrašas (ar de es...) turi būti pakeistas arba pakoreguotas.on:): Dabartinis trigger’is veikia kiekvieną kartą, kai įvyksta push į main. Didelėms repozitorijoms rekomenduojama pridėti paths: filtrą (žr. YAML komentaruose), kad darbo eiga būtų vykdoma tik pasikeitus aktualiems failams (pvz., dokumentacijai), taip taupant runner minutes.commit-message, title, body, branch pavadinimą ir labels žingsnyje Create Pull Request.AZURE_OPENAI_... raktus) prieš jiems pasibaigiant, kad išvengtumėte darbo eigos klaidų.[!WARNING]
GitHub-hosted Runner laiko limitas:
GitHub-hosted runner’iai, tokie kaipubuntu-latest, turi maksimalų vykdymo laiką – 6 valandas.
Jei didelės dokumentacijos repozitorijos vertimo procesas užtruks ilgiau nei 6 valandas, darbo eiga bus automatiškai nutraukta.
Kad to išvengtumėte, apsvarstykite:
- Naudoti self-hosted runner (be laiko limito)
- Sumažinti tikslinių kalbų skaičių per vieną vykdymą
Kai co-op-translator.yml failas bus sujungtas į pagrindinę šaką (ar kitą šaką, nurodytą on: trigger’yje), darbo eiga automatiškai bus vykdoma kiekvieną kartą, kai į tą šaką bus įkelti pakeitimai (ir atitiks paths filtrą, jei jis sukonfigūruotas).
Jei bus sugeneruoti ar atnaujinti vertimai, veiksmas automatiškai sukurs Pull Request su pakeitimais, paruoštais jūsų peržiūrai ir sujungimui.
Atsakomybės atsisakymas: Šis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą Co-op Translator. Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Svarbios informacijos atveju rekomenduojame profesionalų žmogaus vertimą. Mes neatsakome už nesusipratimus ar neteisingą interpretaciją, kylančią dėl šio vertimo naudojimo.