ទស្សនិកជនគោលដៅ៖ មគ្គុទេសក៍នេះមានគោលបំណងសម្រាប់ អ្នកប្រើប្រាស់ Microsoft ខាងក្នុង ឬ ក្រុមដែលមានការចូលដំណើរការចំណុចសំខាន់សម្រាប់ GitHub App Co-op Translator ដែលបានបង្កើតរួចហើយ ឬអាចបង្កើត GitHub App ផ្ទាល់ខ្លួនរបស់ខ្លួន។
ធ្វើអូតូម៉ាទិកការបកប្រែឯកសារប្រមូលផ្តុំរបស់អ្នកយ៉ាងងាយស្រួល ដោយប្រើប្រាស់ Co-op Translator GitHub Action។ មគ្គុទេសក៍នេះនាំឲ្យអ្នកដំណើរការការកំណត់សកម្មភាព ដើម្បីបង្កើត pull requests ដោយស្វ័យប្រវត្តិជាមួយការបកប្រែដែលបានបច្ចុប្បន្នភាពពេលមានការផ្លាស់ប្តូរបណ្តា Markdown ឬរូបភាពដើមរបស់អ្នក។
Important
ជ្រើសរើសមគ្គុទេសក៍ដែលត្រឹមត្រូវ៖
មគ្គុទេសក៍នេះពណ៌នាអំពីការកំណត់ដោយប្រើ GitHub App ID និងកញ្ចប់ឯកជន។ ប្រភេទ "មគ្គុទេសក៍អង្គភាព" នេះជាញឹកញាប់ត្រូវការបើ៖ ភាពសិទ្ធ GITHUB_TOKEN ត្រូវបានដាក់កំណត់៖ ស្ថាបត្យកម្មអង្គភាពរបស់អ្នក ឬការកំណត់ផ្គុំរបស់អ្នកដាក់កំណត់នូវភាពសិទ្ធលំនាំដើមដែលបានផ្តល់ជូន GITHUB_TOKEN។ ជាពិសេស ប្រសិនបើ GITHUB_TOKEN មិនទទួលបានភាពសិទ្ធ write ដែលចាំបាច់ (ដូចជា contents: write ឬ pull-requests: write) សកម្មភាពក្នុង Public Setup Guide នឹងបរាជ័យដោយសារខ្វះភាពសិទ្ធ។ ការប្រើ GitHub App ដែលមានសិទ្ធដោយផ្ទាល់ក្តៅកាច់នេះ អាចជៀសវាងការកំណត់កំណត់នេះ។
ប្រសិនបើមិនគួរផ្ទាល់ទៅអ្នក៖
ប្រសិនបើ GITHUB_TOKEN ល្អគ្រប់គ្រាន់ក្នុងផ្គុំរបស់អ្នក (មានន័យថា មិនត្រូវបានបិទដោយការកំណត់អង្គភាព) សូមប្រើ Public Setup Guide using GITHUB_TOKEN។ មគ្គុទេសក៍សាធារណៈមិនត្រូវការទទួលឬគ្រប់គ្រង App IDs ឬកញ្ចប់ឯកជនឡើយ ហើយផ្អែកលើ GITHUB_TOKEN និងសិទ្ធផ្គុំរូបភេទលំនាំដើមតែប៉ុណ្ណោះ។
មុនការកំណត់ Co-op Translator GitHub Action សូមប្រាកដថាអ្នកមានព័ត៌មានសម្គាល់សេវាកម្ម AI ដែលចាំបាច់រួចរាល់។
១. អ្វីដែលចាំបាច់៖ ព័ត៍មានសម្គាល់ម៉ូដែលភាសា AI
អ្នកត្រូវការព័ត៌មានចូលសម្រាប់ម៉ូដែលភាសាមួយយ៉ាងហោចណាស់៖
- Azure OpenAI: ត្រូវការប្រភេទ Endpoint, យក API Key, ឈ្មោះម៉ូដែល/ការបំពេញ, ទំរង់ API Version។
- OpenAI: ត្រូវការប្រភេទ API Key, (មិនចាំបាច់៖ Org ID, Base URL, Model ID)។
- មើល Supported Models and Services សម្រាប់ព័ត៌មានលម្អិត។
- មគ្គុទេសក៍កំណត់៖ Set up Azure OpenAI។
២. មិនចាំបាច់៖ ព័ត៌មានសម្គាល់ Computer Vision (សម្រាប់បកប្រែរូបភាព)
- ត្រូវការ ប៉ុណ្ណោះ ប្រសិនបើអ្នកចង់បកប្រែអត្ថបទក្នុងរូបភាព។
- Azure Computer Vision: ត្រូវការប្រភេទ Endpoint និង Subscription Key។
- ប្រសិនបើមិនបានផ្តល់ វា នឹងប្រើ Markdown-only mode ដោយបើកចំហលំនាំដើម។
- មាគ្គុទេសក៍កំណត់៖ Set up Azure Computer Vision។
អនុវត្តតាមជំហានទាំងនេះ ដើម្បីកំណត់ Co-op Translator GitHub Action ក្នុងផ្គុំរបស់អ្នក៖
កម្មវិធីនេះប្រើការផ្ទៀងផ្ទាត់ GitHub App ដើម្បីធ្វើសកម្មភាពនៅក្នុងផ្គុំរបស់អ្នក (ដូចជា បង្កើតមេកា PR) ដោយសុវត្ថិភាព។ ជ្រើសរើសជម្រើសមួយ៖
ជម្រើស ក៖ ដំឡើង GitHub App Co-op Translator ដែលបានបង្កើតរួចហើយ (សម្រាប់ការប្រើប្រាស់ Microsoft ខាងក្នុង)
-
យកទៅកាន់ទំព័រ Co-op Translator GitHub App។
-
ជ្រើស Install ហើយជ្រើសគណនី ឬអង្គភាពដែលផ្គុំទិសដៅរបស់អ្នកស្ថិតនៅតំណាង។
-
ជ្រើស Only select repositories ហើយជ្រើសផ្គុំទិសដៅរបស់អ្នក (ឧ.
PhiCookBook) ចុច Install។ អ្នកប្រហែលជាត្រូវតែផ្ទៀងផ្ទាត់។ -
ទទួលព័ត៌មានសម្គាល់ App (ដំណើរការខាងក្នុងត្រូវការ): ដើម្បីអោយកម្មវិធីផ្ទៀងផ្ទាត់ជាបណ្តើរជាអ្នកប្រើ app អ្នកត្រូវការព័ត៌មាន ២ ផ្នែកដែលបានផ្តល់ឡើងដោយបុគ្គលកាន់កាប់ Co-op Translator៖
- App ID: លេខសម្គាល់ពិសេសសម្រាប់មុខងារ Co-op Translator។ App ID គឺ៖
1164076។ - កញ្ចប់ឯកជន Private Key: អ្នកត្រូវទទួលបាន មាតិកាលំបាកទាំងស្រុង នៃឯកសារ
.pemពីអ្នកទំនាក់ទំនង់។ រក្សាទុក key នេះដូចជាការពាក្យសម្ងាត់ និងរក្សាទុកឲ្យបានសុវត្ថិភាព។
- បន្តទៅជំហាន ២។
- ប្រសិនបើចង់ អ្នកអាចបង្កើត និងកំណត់ GitHub App ផ្ទាល់ខ្លួន មានសិទ្ធអាន និងសរសេរ លើមាតិកា និង Pull requests។ អ្នកនឹងត្រូវការទទួល App ID និងកញ្ចប់ឯកជន Private Key ដែលបានបង្កើត។
អ្នកត្រូវបន្ថែមព័ត៌មាន GitHub App និងព័ត៌មានសេវា AI របស់អ្នកជារបាំងសម្ងាត់ (encrypted secrets) នៅក្នុងការកំណត់ផ្គុំរបស់អ្នក។
-
យកទៅផ្គុំ GitHub ទិសដៅរបស់អ្នក (ឧ.
PhiCookBook)។ -
ទៅកាន់ Settings > Secrets and variables > Actions។
-
នៅក្រោម Repository secrets ចុច New repository secret សម្រាប់មួយឯកសារសម្ងាត់នីមួយៗដែលបានរាយបញ្ចូលនៅខាងក្រោម។
ព័ត៍មានសម្ងាត់ចាំបាច់ (សម្រាប់ចូលប្រើ GitHub App Authentication):
| ឈ្មោះសម្ងាត់ | សេចក្តីពិពណ៌នា | ផ្លូវប្រភពតម្លៃ |
|---|---|---|
GH_APP_ID |
លេខសម្គាល់ App នៃ GitHub App (ពីជំហានទី ១) | ការកំណត់ GitHub App |
GH_APP_PRIVATE_KEY |
មាតិកាលំបាកទាំងស្រុង នៃឯកសារ .pem ពីការទាញយក |
ឯកសារ .pem (ពីជំហានទី ១) |
ព័ត៍មានសម្ងាត់សេវា AI (បន្ថែមរួចទៅទាំងអស់ដែលអនុវត្តតាមលក្ខខណ្ឌមុន):
| ឈ្មោះសម្ងាត់ | ពិពណ៌នា | ផ្លូវប្រភពតម្លៃ |
|---|---|---|
AZURE_AI_SERVICE_API_KEY |
Key សម្រាប់ Azure AI Service (Computer Vision) | Azure AI Foundry |
AZURE_AI_SERVICE_ENDPOINT |
Endpoint សម្រាប់ Azure AI Service (Computer Vision) | Azure AI Foundry |
AZURE_OPENAI_API_KEY |
Key សម្រាប់ Azure OpenAI service | Azure AI Foundry |
AZURE_OPENAI_ENDPOINT |
Endpoint សម្រាប់ Azure OpenAI service | Azure AI Foundry |
AZURE_OPENAI_MODEL_NAME |
ឈ្មោះម៉ូដែល Azure OpenAI របស់អ្នក | Azure AI Foundry |
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME |
ឈ្មោះការប្រើការបង្ហោះ Azure OpenAI របស់អ្នក | Azure AI Foundry |
AZURE_OPENAI_API_VERSION |
ទំរង់ API សម្រាប់ Azure OpenAI | Azure AI Foundry |
OPENAI_API_KEY |
Key API សម្រាប់ OpenAI | OpenAI Platform |
OPENAI_ORG_ID |
លេខសម្គាល់អង្គភាព OpenAI | OpenAI Platform |
OPENAI_CHAT_MODEL_ID |
លេខសម្គាល់ម៉ូដែលពិសេស OpenAI | OpenAI Platform |
OPENAI_BASE_URL |
URL ផ្ទាល់ខ្លួនសម្រាប់ OpenAI API | OpenAI Platform |
ចុងក្រោយ បង្កើតឯកសារ YAML ដែលកំណត់កម្មវិធីដំណើរការអូតូម៉ាទិក។
-
នៅក្នុងថត root នៃផ្គុំរបស់អ្នក បង្កើតថត
.github/workflows/ប្រសិនបើមិនមាន។ -
នៅក្នុង
.github/workflows/បង្កើតឯកសារជាco-op-translator.yml។ -
បិទបន្តខ្លឹមសារខាងក្រោមទៅក្នុង 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: ${{ secrets.AZURE_AI_SERVICE_API_KEY }}
AZURE_AI_SERVICE_ENDPOINT: ${{ secrets.AZURE_AI_SERVICE_ENDPOINT }}
# Azure OpenAI Credentials
AZURE_OPENAI_API_KEY: ${{ secrets.AZURE_OPENAI_API_KEY }}
AZURE_OPENAI_ENDPOINT: ${{ secrets.AZURE_OPENAI_ENDPOINT }}
AZURE_OPENAI_MODEL_NAME: ${{ secrets.AZURE_OPENAI_MODEL_NAME }}
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_CHAT_DEPLOYMENT_NAME }}
AZURE_OPENAI_API_VERSION: ${{ secrets.AZURE_OPENAI_API_VERSION }}
# OpenAI Credentials
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
OPENAI_ORG_ID: ${{ secrets.OPENAI_ORG_ID }}
OPENAI_CHAT_MODEL_ID: ${{ secrets.OPENAI_CHAT_MODEL_ID }}
OPENAI_BASE_URL: ${{ secrets.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: ${{ secrets.GH_APP_ID }}
private_key: ${{ secrets.GH_APP_PRIVATE_KEY }}
- name: Create Pull Request with translations
uses: peter-evans/create-pull-request@v5
with:
token: ${{ steps.generate_token.outputs.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/
- កែសម្រួលកម្មវិធី Workflow៖
- [!IMPORTANT] ភាសាគោលដៅ៖ នៅជំហាន
Run Co-op Translatorអ្នក ត្រូវតែពិនិត្យឡើងវិញ និងកែប្រែបញ្ជីកូដភាសា នៅក្នុងtranslate -l "..." -yដើម្បីឲ្យសម្របទៅតាមតម្រូវការគម្រោងរបស់អ្នក។ បញ្ជីឧទាហរណ៍ (ar de es...) ត្រូវបានប្ដូរឬកែប្រែបាន។ - ព្រឹត្តិការណ៍ប្រើ (trigger
on:): ព្រឹត្តិការណ៍បច្ចុប្បន្នដំណើរការត្រូវធ្វើពេលមានកំណត់ជា push ទៅmain។ សម្រាប់ផ្គុំធំនោះ សូមពិចារណាការបន្ថែម filterpaths:(មើលឧទាហរណ៍បានយល់ព្រមក្នុង YAML) ដើម្បីដំណើរការកម្មវិធីនៅពេលមានការផ្លាស់ប្តូរឯកសារសម្រួល (ឧ. ឯកសារបទបញ្ជាដើមប៉ុណ្ណោះ) ដើម្បីរក្សាsecon runner។ - ព័ត៌មាន PR ៖ ជៀសរើស
commit-message,title,body, ឈ្មោះbranchនិងlabelsនៅជំហានCreate Pull Requestប្រសិនបើចាំបាច់។
- សុវត្ថិភាព៖ សូមរក្សាទុកព័ត៍មានសម្គាល់ដែលមានសំខាន់ (API keys, private keys) ទាំងអស់ជា Secrets ក្នុង GitHub Action។ មិនចាញ់បង្ហាញក្នុងឯកសារកម្មវិធី ឬកូដផ្គុំ។
- [!IMPORTANT] ការបន្តបន្ទុកកូនសោ (សម្រាប់អ្នកប្រើប្រាស់ Microsoft ខាងក្នុង): សូមយល់ថា key Azure OpenAI ដែលប្រើនៅ Microsoft អាចមានគោលនយោបាយបង្ហាប់ការបន្ត (យ៉ាងហោចណាស់រាល់ ៥ ខែ)។ សូមប្រាកដថាអ្នកធ្វើបច្ចុប្បន្នភាព GitHub secrets (
AZURE_OPENAI_...) មុនពេលវាប្រហែលផុតកំណត់ ដើម្បីការពារការបរាជ័យបច្ចេកទេសសកម្មភាព។
Warning
ពេលវេលាដំណើរការ GitHub-hosted Runner:
GitHub-hosted runners ដូចជា ubuntu-latest មាន ពេលវេលាដំណើរការក្រោម6ម៉ោង។
សម្រាប់ផ្គុំឯកសារធំ ប្រសិនបើដំណើរការបកប្រែលើស 6 ម៉ោង កម្មវិធីនឹងត្រូវបានបញ្ចប់ដោយស្វ័យប្រវត្តិ។
ដើម្បីជៀសវាង នេះ សូមពិចារណា៖
- ប្រើប្រាស់ self-hosted runner (គ្មានកំណត់ពេលវេលា)
- បន្ថយចំនួនភាសាគោលដៅក្នុងមួយដំណើរការ
ពេលឯកសារ co-op-translator.yml ត្រូវបានបញ្ចូល (merge) ទៅក្នុងសាខា main របស់អ្នក (ឬសាខានៅក្នុងព្រឹត្តិការណ៍ on:) សកម្មភាពនឹងដំណើរការដោយស្វ័យប្រវត្តិពេលមានការផ្លាស់ប្តូរដាក់ចូលក្នុងសាខានោះ (ហើយត្រូវតាម filter paths ប្រសិនបើបានកំណត់)។
ប្រសិនបើមានការបង្កើត ឬបច្ចុប្បន្នភាពការបកប្រែ សកម្មភាពនឹងបង្កើត Pull Request ដោយស្វ័យប្រវត្តិរួចរាល់ សម្រាប់អ្នកពិនិត្យ និងផ្សំរួម។
ការបញ្ចាក់៖
ឯកសារនេះបានបំលែងភាសាដោយប្រើសេវាកម្មបកប្រែ AI Co-op Translator។ ខណៈពេលដែលយើងខិតខំប្រឹងប្រែងសម្រាប់ភាពត្រឹមត្រូវ សូមយល់ព្រមថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬការខុសប្រក្រតីណាមួយ។ ឯកសារដើមក្នុងភាសាមួយរបស់វាគួរត្រូវបានគេចាត់ទុកជាមូលដ្ឋានដែលមានតម្លៃខ្ពស់។ សម្រាប់ព័ត៌មានដែលសំខាន់ ប្រសិនបើអាចធ្វើទៅបាន គួរប្រើការបកប្រែដោយមនុស្សជំនាញ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសៗ កើតមានដោយសារការប្រើប្រាស់ការបកប្រែនេះឡើយ។



