קהל יעד: מדריך זה מיועד למשתמשים ברוב הריפוזיטוריות הציבוריות או הפרטיות שבהן הרשאות GitHub Actions הסטנדרטיות מספיקות. הוא עושה שימוש ב-GITHUB_TOKEN המובנה.
הפכו את תהליך תרגום התיעוד בריפוזיטורי שלכם לאוטומטי ופשוט בעזרת Co-op Translator GitHub Action. מדריך זה יסביר לכם כיצד להגדיר את הפעולה כך שתיצור Pull Requests עם תרגומים מעודכנים בכל פעם שמסמכי Markdown או תמונות מקור משתנים.
[!IMPORTANT]
בחירת המדריך הנכון:
מדריך זה מפרט את ההגדרה הפשוטה באמצעות
GITHUB_TOKENהסטנדרטי. זוהי השיטה המומלצת לרוב המשתמשים, כיוון שאין צורך לנהל מפתחות פרטיים רגישים של GitHub App.
לפני הגדרת ה-GitHub Action, ודאו שיש לכם את פרטי הגישה לשירות ה-AI הדרוש.
1. חובה: פרטי גישה למודל שפה מבוסס AI יש צורך בפרטי גישה לפחות לאחד מהמודלים הנתמכים:
2. אופציונלי: פרטי גישה ל-AI Vision (לתרגום טקסט בתמונות)
בצעו את השלבים הבאים כדי להגדיר את Co-op Translator GitHub Action בריפוזיטורי שלכם באמצעות GITHUB_TOKEN הסטנדרטי.
GITHUB_TOKEN)ה-Workflow משתמש ב-GITHUB_TOKEN המובנה שמספק GitHub Actions. הטוקן הזה מעניק אוטומטית הרשאות ל-Workflow לפעול מול הריפוזיטורי בהתאם להגדרות שתגדירו בשלב 3.
כל מה שצריך זה להוסיף את פרטי הגישה לשירותי ה-AI כ-Secrets מוצפנים בהגדרות הריפוזיטורי.
תחת Repository secrets, לחצו על New repository secret עבור כל Secret נדרש מהרשימה למטה.
(הפניה לתמונה: מראה איפה להוסיף Secrets)
Secrets נדרשים לשירותי AI (הוסיפו את כל מה שרלוונטי לפי הדרישות המוקדמות):
| שם ה-Secret | תיאור | מקור הערך |
|---|---|---|
AZURE_AI_SERVICE_API_KEY |
מפתח לשירות Azure AI (Computer Vision) | Azure AI Foundry שלכם |
AZURE_AI_SERVICE_ENDPOINT |
Endpoint לשירות Azure AI (Computer Vision) | Azure AI Foundry שלכם |
AZURE_OPENAI_API_KEY |
מפתח לשירות Azure OpenAI | Azure AI Foundry שלכם |
AZURE_OPENAI_ENDPOINT |
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 |
כתובת בסיס מותאמת ל-OpenAI API (אופציונלי) | פלטפורמת OpenAI שלכם |
ה-GitHub Action צריך הרשאות דרך GITHUB_TOKEN כדי לבצע checkout לקוד וליצור Pull Requests.
GITHUB_TOKEN את ההרשאות הדרושות (contents: write ו-pull-requests: write) ל-Workflow הזה.
לבסוף, צרו את קובץ ה-YAML שמגדיר את ה-Workflow האוטומטי באמצעות 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_AI_SERVICE_API_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, חובה לעבור ולשנות את רשימת קודי השפות בפקודת translate -l "..." -y כך שתתאים לצרכי הפרויקט שלכם. הרשימה לדוגמה (ar de es...) צריכה להיות מוחלפת או מותאמת.on:): ההגדרה הנוכחית מפעילה את ה-Workflow בכל Push ל-main. בריפוזיטוריות גדולות, מומלץ להוסיף פילטר paths: (ראו דוגמה בתגובות ב-YAML) כדי להפעיל את ה-Workflow רק כאשר קבצים רלוונטיים (למשל תיעוד מקור) משתנים, וכך לחסוך זמן ריצה.commit-message, title, body, שם ה-branch וה-labels בשלב יצירת ה-Pull Request לפי הצורך.[!WARNING]
מגבלת זמן ל-GitHub-hosted Runner:
ל-GitHub-hosted runners כמוubuntu-latestיש מגבלת זמן ריצה מקסימלית של 6 שעות.
בריפוזיטוריות תיעוד גדולות, אם תהליך התרגום עובר את 6 השעות, ה-Workflow יופסק אוטומטית.
כדי למנוע זאת, שקלו:
- שימוש ב-self-hosted runner (ללא מגבלת זמן)
- הפחתת מספר שפות היעד בכל ריצה
לאחר שמיזגתם את קובץ co-op-translator.yml ל-main (או לענף שמוגדר ב-on:), ה-Workflow ירוץ אוטומטית בכל פעם שמבוצעים שינויים לענף הזה (ובהתאם לפילטר paths, אם מוגדר).
הצהרת אחריות:
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית Co-op Translator. למרות שאנו שואפים לדיוק, יש לקחת בחשבון כי תרגומים אוטומטיים עשויים להכיל טעויות או אי-דיוקים. המסמך המקורי בשפתו המקורית הוא המקור הסמכותי. למידע קריטי, מומלץ לפנות לתרגום מקצועי על ידי אדם. איננו אחראים לכל אי-הבנות או פירושים שגויים הנובעים מהשימוש בתרגום זה.