Audiens Sasaran: Panduan ini ditujukan untuk pengguna internal Microsoft atau tim yang memiliki akses ke kredensial yang diperlukan untuk Co-op Translator GitHub App yang sudah dibuat sebelumnya atau yang dapat membuat GitHub App kustom mereka sendiri.
Otomatiskan penerjemahan dokumentasi repositori Anda dengan mudah menggunakan Co-op Translator GitHub Action. Panduan ini memandu Anda dalam menyiapkan action untuk secara otomatis membuat pull request dengan terjemahan terbaru setiap kali file Markdown sumber atau gambar Anda berubah.
[!IMPORTANT]
Memilih Panduan yang Tepat:
Panduan ini menjelaskan pengaturan menggunakan GitHub App ID dan Private Key. Anda biasanya memerlukan metode “Panduan Organisasi” ini jika:
GITHUB_TOKEN
Permissions are Restricted: Pengaturan organisasi atau repositori Anda membatasi izin default yang diberikan kepadaGITHUB_TOKEN
standar. Secara khusus, jikaGITHUB_TOKEN
tidak diizinkan mendapatkan izinwrite
yang diperlukan (seperticontents: write
ataupull-requests: write
), workflow dalam Panduan Pengaturan Publik akan gagal karena izin yang tidak mencukupi. Menggunakan GitHub App khusus dengan izin yang diberikan secara eksplisit melewati batasan ini.Jika hal di atas tidak berlaku untuk Anda:
Jika
GITHUB_TOKEN
standar memiliki izin yang cukup di repositori Anda (misalnya, Anda tidak dibatasi oleh pembatasan organisasi), silakan gunakan Panduan Pengaturan Publik menggunakan GITHUB_TOKEN. Panduan publik tidak memerlukan pengambilan atau pengelolaan App ID atau Private Key dan hanya mengandalkanGITHUB_TOKEN
standar dan izin repositori.
Sebelum mengonfigurasi GitHub Action, pastikan Anda sudah memiliki kredensial layanan AI yang diperlukan.
1. Wajib: Kredensial Model Bahasa AI
Anda memerlukan kredensial untuk setidaknya satu Model Bahasa yang didukung:
2. Opsional: Kredensial Computer Vision (untuk Terjemahan Gambar)
Ikuti langkah-langkah berikut untuk mengonfigurasi Co-op Translator GitHub Action di repositori Anda:
Workflow menggunakan otentikasi GitHub App untuk berinteraksi dengan aman dengan repositori Anda (misalnya, membuat pull request) atas nama Anda. Pilih salah satu opsi:
Buka halaman Co-op Translator GitHub App.
Pilih Install dan pilih akun atau organisasi tempat repositori target Anda berada.
Pilih Only select repositories dan pilih repositori target Anda (misalnya PhiCookBook
). Klik Install. Anda mungkin diminta untuk melakukan otentikasi.
1164076
..pem
dari kontak pemelihara. Perlakukan kunci ini seperti kata sandi dan jaga kerahasiaannya.Anda perlu menambahkan kredensial GitHub App dan kredensial layanan AI Anda sebagai secrets terenkripsi di pengaturan repositori.
Buka repositori GitHub target Anda (misalnya PhiCookBook
).
Pergi ke Settings > Secrets and variables > Actions.
Di bawah Repository secrets, klik New repository secret untuk setiap secret yang tercantum di bawah ini.
Secrets Wajib (untuk Otentikasi GitHub App):
Nama Secret | Deskripsi | Sumber Nilai |
---|---|---|
GH_APP_ID |
App ID dari GitHub App (dari Langkah 1). | Pengaturan GitHub App |
GH_APP_PRIVATE_KEY |
Seluruh isi file .pem yang diunduh. |
File .pem (dari Langkah 1) |
Secrets Layanan AI (Tambahkan SEMUA yang relevan berdasarkan Prasyarat Anda):
Nama Secret | Deskripsi | Sumber Nilai |
---|---|---|
AZURE_SUBSCRIPTION_KEY |
Kunci untuk Azure AI Service (Computer Vision) | Azure AI Foundry |
AZURE_AI_SERVICE_ENDPOINT |
Endpoint untuk Azure AI Service (Computer Vision) | Azure AI Foundry |
AZURE_OPENAI_API_KEY |
Kunci untuk layanan Azure OpenAI | Azure AI Foundry |
AZURE_OPENAI_ENDPOINT |
Endpoint untuk layanan Azure OpenAI | Azure AI Foundry |
AZURE_OPENAI_MODEL_NAME |
Nama Model Azure OpenAI Anda | Azure AI Foundry |
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME |
Nama Deployment Azure OpenAI Anda | Azure AI Foundry |
AZURE_OPENAI_API_VERSION |
Versi API untuk Azure OpenAI | Azure AI Foundry |
OPENAI_API_KEY |
API Key untuk OpenAI | OpenAI Platform |
OPENAI_ORG_ID |
ID Organisasi OpenAI | OpenAI Platform |
OPENAI_CHAT_MODEL_ID |
ID model OpenAI tertentu | OpenAI Platform |
OPENAI_BASE_URL |
URL Basis API OpenAI kustom | OpenAI Platform |
Terakhir, buat file YAML yang mendefinisikan workflow otomatis.
Di direktori root repositori Anda, buat direktori .github/workflows/
jika belum ada.
Di dalam .github/workflows/
, buat file bernama co-op-translator.yml
.
Tempelkan konten berikut ke dalam 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_SUBSCRIPTION_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, you MUST review and modify the list of language codes within the translate -l "..." -y
command to match your project’s requirements. The example list (ar de es...
) needs to be replaced or adjusted.on:
): The current trigger runs on every push to main
. For large repositories, consider adding a paths:
filter (see commented example in the YAML) to run the workflow only when relevant files (e.g., source documentation) change, saving runner minutes.commit-message
, title
, body
, branch
name, and labels
in the Create Pull Request
step if needed.AZURE_OPENAI_...
pastikan bahasa target sudah sesuai.
AZURE_OPENAI_...
sebelum kedaluwarsa untuk mencegah kegagalan workflow.Setelah file co-op-translator.yml
digabungkan ke cabang utama Anda (atau cabang yang ditentukan dalam filter on:
trigger), the workflow will automatically run whenever changes are pushed to that branch (and match the paths
, jika dikonfigurasi).
Jika terjemahan dibuat atau diperbarui, action akan otomatis membuat Pull Request yang berisi perubahan tersebut, siap untuk Anda tinjau dan gabungkan.
Penafian:
Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI Co-op Translator. Meskipun kami berusaha untuk akurasi, harap diperhatikan bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang sahih. Untuk informasi penting, disarankan menggunakan terjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang salah yang timbul dari penggunaan terjemahan ini.