الجمهور المستهدف: هذا الدليل موجه لـ المستخدمين الداخليين في Microsoft أو الفرق التي تمتلك بيانات الاعتماد اللازمة لتطبيق Co-op Translator الجاهز على GitHub أو التي يمكنها إنشاء تطبيق GitHub مخصص خاص بها.
قم بأتمتة ترجمة توثيق المستودع الخاص بك بسهولة باستخدام إجراء Co-op Translator على GitHub. يرشدك هذا الدليل خلال إعداد الإجراء لإنشاء طلبات سحب تلقائيًا مع الترجمات المحدثة كلما تغيرت ملفات Markdown المصدرية أو الصور الخاصة بك.
[!IMPORTANT]
اختيار الدليل المناسب:
يوضح هذا الدليل الإعداد باستخدام معرّف تطبيق GitHub ومفتاح خاص. عادةً ما تحتاج إلى طريقة “دليل المنظمة” هذه إذا:
GITHUB_TOKEN
الأذونات مقيدة: تقيد إعدادات المنظمة أو المستودع الأذونات الافتراضية الممنوحة لـGITHUB_TOKEN
القياسي. على وجه التحديد، إذا لم يُسمح لـGITHUB_TOKEN
بالحصول على أذوناتwrite
اللازمة (مثلcontents: write
أوpull-requests: write
)، فسيفشل سير العمل في دليل الإعداد العام بسبب عدم كفاية الأذونات. استخدام تطبيق GitHub مخصص مع أذونات ممنوحة صراحةً يتجاوز هذا القيد.إذا لم ينطبق ما سبق عليك:
إذا كان لدى
GITHUB_TOKEN
القياسي الأذونات الكافية في مستودعك (أي أنك لست مقيدًا بقيود تنظيمية)، يرجى استخدام دليل الإعداد العام باستخدام GITHUB_TOKEN. لا يتطلب الدليل العام الحصول على معرّفات التطبيقات أو المفاتيح الخاصة أو إدارتها ويعتمد فقط علىGITHUB_TOKEN
القياسي وأذونات المستودع.
قبل تكوين إجراء GitHub، تأكد من أن لديك بيانات اعتماد خدمة الذكاء الاصطناعي اللازمة جاهزة.
1. مطلوب: بيانات اعتماد نموذج اللغة AI
تحتاج إلى بيانات اعتماد لنموذج لغة مدعوم واحد على الأقل:
2. اختياري: بيانات اعتماد رؤية الكمبيوتر (لترجمة الصور)
اتبع هذه الخطوات لتكوين إجراء Co-op Translator على GitHub في مستودعك:
يستخدم سير العمل مصادقة تطبيق GitHub للتفاعل بأمان مع مستودعك (مثل إنشاء طلبات السحب) نيابةً عنك. اختر أحد الخيارات:
انتقل إلى صفحة تطبيق Co-op Translator على GitHub.
اختر تثبيت وحدد الحساب أو المنظمة التي يوجد بها المستودع المستهدف.
اختر تحديد المستودعات فقط وحدد المستودع المستهدف (مثل PhiCookBook
). اضغط تثبيت. قد يُطلب منك تسجيل الدخول.
1164076
..pem
من جهة الاتصال المسؤولة. تعامل مع هذا المفتاح ككلمة مرور واحفظه بأمان.يجب إضافة بيانات اعتماد تطبيق GitHub وبيانات اعتماد خدمة الذكاء الاصطناعي كأسرار مشفرة في إعدادات مستودعك.
انتقل إلى مستودع GitHub المستهدف (مثل PhiCookBook
).
اذهب إلى الإعدادات > الأسرار والمتغيرات > الإجراءات.
ضمن أسرار المستودع، اضغط سر جديد للمستودع لكل سر من الأسرار المذكورة أدناه.
الأسرار المطلوبة (لمصادقة تطبيق GitHub):
اسم السر | الوصف | مصدر القيمة |
---|---|---|
GH_APP_ID |
معرّف تطبيق GitHub (من الخطوة 1). | إعدادات تطبيق GitHub |
GH_APP_PRIVATE_KEY |
المحتوى الكامل لملف المفتاح الخاص .pem الذي تم تنزيله. |
ملف .pem (من الخطوة 1) |
أسرار خدمة الذكاء الاصطناعي (أضف كل ما ينطبق حسب متطلباتك):
اسم السر | الوصف | مصدر القيمة |
---|---|---|
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 أساسي مخصص لـ OpenAI API | منصة OpenAI |
أخيرًا، أنشئ ملف YAML الذي يحدد سير العمل الآلي.
في الدليل الجذر لمستودعك، أنشئ الدليل .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_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_...
تأكد من تحديث اللغات قبل انتهاء صلاحية المفاتيح لمنع فشل سير العمل.بمجرد دمج ملف co-op-translator.yml
في الفرع الرئيسي (أو الفرع المحدد في فلتر on:
trigger), the workflow will automatically run whenever changes are pushed to that branch (and match the paths
، إذا تم تكوينه).
إذا تم إنشاء أو تحديث الترجمات، سيقوم الإجراء تلقائيًا بإنشاء طلب سحب يحتوي على التغييرات، جاهز للمراجعة والدمج من قبلك.
تنويه:
تمت ترجمة هذا المستند باستخدام خدمة الترجمة الآلية Co-op Translator. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الموثوق به. للمعلومات الحساسة، يُنصح بالاستعانة بترجمة بشرية محترفة. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة.