الجمهور المستهدف: هذا الدليل موجه للمستخدمين في معظم المستودعات العامة أو الخاصة حيث تكفي أذونات GitHub Actions القياسية. يعتمد على GITHUB_TOKEN
المدمج.
قم بأتمتة ترجمة توثيق المستودع الخاص بك بسهولة باستخدام إجراء Co-op Translator في GitHub. سيرشدك هذا الدليل خلال إعداد الإجراء لإنشاء طلبات سحب تلقائيًا مع الترجمات المحدثة كلما تغيرت ملفات Markdown المصدر أو الصور.
[!IMPORTANT]
اختيار الدليل المناسب:
يشرح هذا الدليل الإعداد الأبسط باستخدام
GITHUB_TOKEN
القياسي. هذه هي الطريقة الموصى بها لمعظم المستخدمين لأنها لا تتطلب إدارة مفاتيح خاصة حساسة لتطبيق GitHub.
قبل تكوين إجراء GitHub، تأكد من أن لديك بيانات اعتماد خدمة الذكاء الاصطناعي اللازمة جاهزة.
1. مطلوب: بيانات اعتماد نموذج اللغة للذكاء الاصطناعي
تحتاج إلى بيانات اعتماد لنموذج لغة واحد مدعوم على الأقل:
2. اختياري: بيانات اعتماد رؤية الذكاء الاصطناعي (لترجمة الصور)
اتبع هذه الخطوات لتكوين إجراء Co-op Translator في مستودعك باستخدام GITHUB_TOKEN
القياسي.
GITHUB_TOKEN
)يستخدم هذا التدفق GITHUB_TOKEN
المدمج المقدم من GitHub Actions. يمنح هذا الرمز تلقائيًا الأذونات اللازمة للتفاعل مع مستودعك بناءً على الإعدادات التي تم تكوينها في الخطوة 3.
كل ما عليك هو إضافة بيانات اعتماد خدمة الذكاء الاصطناعي كأسرار مشفرة في إعدادات مستودعك.
ضمن أسرار المستودع، اضغط على سر جديد للمستودع لكل سر من أسرار خدمة الذكاء الاصطناعي المطلوبة المذكورة أدناه.
(مرجع الصورة: يوضح مكان إضافة الأسرار)
أسرار خدمة الذكاء الاصطناعي المطلوبة (أضف كل ما ينطبق حسب متطلباتك):
اسم السر | الوصف | مصدر القيمة |
---|---|---|
AZURE_SUBSCRIPTION_KEY |
مفتاح خدمة Azure AI (رؤية الحاسوب) | Azure AI Foundry الخاص بك |
AZURE_AI_SERVICE_ENDPOINT |
نقطة النهاية لخدمة Azure AI (رؤية الحاسوب) | Azure AI Foundry الخاص بك |
AZURE_OPENAI_API_KEY |
مفتاح خدمة Azure OpenAI | Azure AI Foundry الخاص بك |
AZURE_OPENAI_ENDPOINT |
نقطة النهاية لخدمة Azure OpenAI | 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 |
مفتاح API لـ OpenAI | منصة OpenAI الخاصة بك |
OPENAI_ORG_ID |
معرف مؤسسة OpenAI (اختياري) | منصة OpenAI الخاصة بك |
OPENAI_CHAT_MODEL_ID |
معرف نموذج OpenAI محدد (اختياري) | منصة OpenAI الخاصة بك |
OPENAI_BASE_URL |
عنوان URL مخصص لواجهة API لـ OpenAI (اختياري) | منصة OpenAI الخاصة بك |
يحتاج إجراء GitHub إلى أذونات يمنحها GITHUB_TOKEN
للسحب وإنشاء طلبات السحب.
GITHUB_TOKEN
أذونات contents: write
وpull-requests: write
اللازمة لهذا التدفق.أخيرًا، أنشئ ملف YAML الذي يحدد التدفق الآلي باستخدام GITHUB_TOKEN
.
.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
# === AI Service Credentials ===
AZURE_SUBSCRIPTION_KEY: $
AZURE_AI_SERVICE_ENDPOINT: $
AZURE_OPENAI_API_KEY: $
AZURE_OPENAI_ENDPOINT: $
AZURE_OPENAI_MODEL_NAME: $
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME: $
AZURE_OPENAI_API_VERSION: $
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: 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
إذا لزم الأمر.تنويه:
تمت ترجمة هذا المستند باستخدام خدمة الترجمة الآلية Co-op Translator. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي والمعتمد. للمعلومات الحساسة أو الهامة، يُنصح بالاستعانة بترجمة بشرية محترفة. نحن غير مسؤولين عن أي سوء فهم أو تفسير ناتج عن استخدام هذه الترجمة.