Sino ang para dito: Ang gabay na ito ay para sa mga Microsoft internal na user o mga team na may access sa kinakailangang credentials para sa pre-built Co-op Translator GitHub App o kaya ay makakagawa ng sarili nilang custom GitHub App.
Automatiko mong maisasalin ang dokumentasyon ng iyong repository gamit ang Co-op Translator GitHub Action. Sa gabay na ito, matututunan mo kung paano i-set up ang action para awtomatikong gumawa ng pull request na may updated na salin tuwing may pagbabago sa iyong source Markdown files o mga larawan.
[!IMPORTANT]
Pagpili ng Tamang Gabay:
Ang gabay na ito ay para sa setup gamit ang GitHub App ID at Private Key. Kadalasan, kailangan mo ang “Organization Guide” na paraan kung:
GITHUB_TOKENPermissions ay Limitado: Ang iyong organisasyon o repository settings ay naglilimita sa default na permissions ng standardGITHUB_TOKEN. Halimbawa, kung angGITHUB_TOKENay hindi pinapayagan ang kinakailangangwritepermissions (tulad ngcontents: writeopull-requests: write), hindi gagana ang workflow sa Public Setup Guide dahil kulang ang permissions. Ang paggamit ng dedikadong GitHub App na may malinaw na permissions ay nakakaiwas sa limitasyong ito.Kung hindi ka apektado ng nasa itaas:
Kung sapat ang permissions ng standard
GITHUB_TOKENsa iyong repository (ibig sabihin, hindi ka na-block ng organizational restrictions), gamitin ang Public Setup Guide gamit ang GITHUB_TOKEN. Ang public guide ay hindi nangangailangan ng App IDs o Private Keys at umaasa lang sa standardGITHUB_TOKENat repository permissions.
Bago i-configure ang GitHub Action, siguraduhing handa na ang iyong AI service credentials.
1. Kailangan: AI Language Model Credentials Kailangan mo ng credentials para sa kahit isang suportadong Language Model:
2. Opsyonal: Computer Vision Credentials (para sa Pagsasalin ng Larawan)
Sundin ang mga hakbang na ito para i-configure ang Co-op Translator GitHub Action sa iyong repository:
Gumagamit ang workflow ng GitHub App authentication para ligtas na makipag-interact sa iyong repository (hal. gumawa ng pull request) para sa iyo. Pumili ng isang opsyon:
Pumunta sa Co-op Translator GitHub App page.
Piliin ang Install at piliin ang account o organisasyon kung saan naroon ang iyong target repository.

Piliin ang Only select repositories at piliin ang iyong target repository (hal. PhiCookBook). I-click ang Install. Maaaring hingin ang iyong authentication.

1164076..pem private key file mula sa maintainer contact. Ituring ang key na ito na parang password at panatilihing ligtas.Kailangan mong idagdag ang GitHub App credentials at AI service credentials bilang encrypted secrets sa iyong repository settings.
Pumunta sa iyong target GitHub repository (hal. PhiCookBook).
Pumunta sa Settings > Secrets and variables > Actions.
Sa ilalim ng Repository secrets, i-click ang New repository secret para sa bawat secret na nakalista sa ibaba.

Mga Kailangan na Secret (para sa GitHub App Authentication):
| Secret Name | Description | Value Source |
|---|---|---|
GH_APP_ID |
App ID ng GitHub App (mula Hakbang 1). | GitHub App Settings |
GH_APP_PRIVATE_KEY |
Buong laman ng na-download na .pem file. |
.pem file (mula Hakbang 1) |
AI Service Secrets (Idagdag LAHAT ng naaangkop base sa iyong Prerequisites):
| Secret Name | Description | Value Source |
|---|---|---|
AZURE_AI_SERVICE_API_KEY |
Key para sa Azure AI Service (Computer Vision) | Azure AI Foundry |
AZURE_AI_SERVICE_ENDPOINT |
Endpoint para sa Azure AI Service (Computer Vision) | Azure AI Foundry |
AZURE_OPENAI_API_KEY |
Key para sa Azure OpenAI service | Azure AI Foundry |
AZURE_OPENAI_ENDPOINT |
Endpoint para sa Azure OpenAI service | Azure AI Foundry |
AZURE_OPENAI_MODEL_NAME |
Azure OpenAI Model Name mo | Azure AI Foundry |
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME |
Azure OpenAI Deployment Name mo | Azure AI Foundry |
AZURE_OPENAI_API_VERSION |
API Version para sa Azure OpenAI | Azure AI Foundry |
OPENAI_API_KEY |
API Key para sa OpenAI | OpenAI Platform |
OPENAI_ORG_ID |
OpenAI Organization ID | OpenAI Platform |
OPENAI_CHAT_MODEL_ID |
Specific OpenAI model ID | OpenAI Platform |
OPENAI_BASE_URL |
Custom OpenAI API Base URL | OpenAI Platform |

Sa huli, gumawa ng YAML file na magde-define ng automated workflow.
Sa root directory ng iyong repository, gumawa ng .github/workflows/ directory kung wala pa ito.
Sa loob ng .github/workflows/, gumawa ng file na ang pangalan ay co-op-translator.yml.
I-paste ang sumusunod na content sa 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 step, KAILANGAN mong i-review at baguhin ang listahan ng language codes sa loob ng translate -l "..." -y command para tumugma sa requirements ng iyong proyekto. Palitan o i-adjust ang example list (ar de es...) ayon sa kailangan.on:): Ang kasalukuyang trigger ay tumatakbo sa bawat push sa main. Para sa malalaking repository, magdagdag ng paths: filter (tingnan ang naka-comment na example sa YAML) para tumakbo lang ang workflow kapag may pagbabago sa relevant files (hal. source documentation), para makatipid sa runner minutes.commit-message, title, body, branch name, at labels sa Create Pull Request step kung kinakailangan.AZURE_OPENAI_... keys) bago mag-expire para maiwasan ang workflow failures.[!WARNING]
GitHub-hosted Runner Time Limit:
Ang mga GitHub-hosted runner tulad ngubuntu-latestay may maximum execution time limit na 6 na oras.
Para sa malalaking documentation repositories, kung lalampas sa 6 na oras ang translation process, awtomatikong ititigil ang workflow.
Para maiwasan ito, maaaring:
- Gumamit ng self-hosted runner (walang time limit)
- Bawasan ang bilang ng target languages kada run
Kapag na-merge na ang co-op-translator.yml file sa iyong main branch (o sa branch na nakasaad sa on: trigger), awtomatikong tatakbo ang workflow tuwing may changes na ipu-push sa branch na iyon (at tumutugma sa paths filter, kung naka-configure).
Kung may mga bagong salin o na-update, awtomatikong gagawa ng Pull Request ang action na naglalaman ng mga pagbabago, handa na para sa iyong review at pag-merge.
Paunawa: Ang dokumentong ito ay isinalin gamit ang AI translation service na Co-op Translator. Bagaman nagsusumikap kami para sa katumpakan, pakatandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang sariling wika ang dapat ituring na pangunahing sanggunian. Para sa mahahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring lumitaw mula sa paggamit ng pagsasaling ito.