Προοριζόμενο Κοινό: Ο οδηγός αυτός απευθύνεται σε χρήστες των περισσότερων δημόσιων ή ιδιωτικών αποθετηρίων όπου τα τυπικά δικαιώματα του GitHub Actions είναι επαρκή. Χρησιμοποιεί το ενσωματωμένο GITHUB_TOKEN
.
Αυτοματοποιήστε τη μετάφραση της τεκμηρίωσης του αποθετηρίου σας εύκολα χρησιμοποιώντας το Co-op Translator GitHub Action. Αυτός ο οδηγός σας καθοδηγεί στη ρύθμιση του 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
)Αυτή η ροή εργασίας χρησιμοποιεί το ενσωματωμένο GITHUB_TOKEN
που παρέχεται από τα GitHub Actions. Αυτό το token παρέχει αυτόματα δικαιώματα στη ροή εργασίας για αλληλεπίδραση με το αποθετήριό σας βάσει των ρυθμίσεων που ορίζονται στο Βήμα 3.
Πρέπει μόνο να προσθέσετε τα διαπιστευτήρια υπηρεσιών AI ως κρυπτογραφημένα μυστικά στις ρυθμίσεις του αποθετηρίου σας.
Κάτω από Repository secrets, κάντε κλικ στο New repository secret για κάθε απαιτούμενο μυστικό AI υπηρεσίας που αναφέρεται παρακάτω.
(Αναφορά εικόνας: Δείχνει πού προσθέτετε τα μυστικά)
Απαιτούμενα Μυστικά AI Υπηρεσιών (Προσθέστε ΟΛΑ όσα ισχύουν σύμφωνα με τα Προαπαιτούμενα):
Όνομα Μυστικού | Περιγραφή | Πηγή Τιμής |
---|---|---|
AZURE_SUBSCRIPTION_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 |
Κλειδί για 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 Key για OpenAI | Η πλατφόρμα OpenAI σας |
OPENAI_ORG_ID |
OpenAI Organization ID (Προαιρετικό) | Η πλατφόρμα OpenAI σας |
OPENAI_CHAT_MODEL_ID |
Συγκεκριμένο ID μοντέλου OpenAI (Προαιρετικό) | Η πλατφόρμα OpenAI σας |
OPENAI_BASE_URL |
Προσαρμοσμένο OpenAI API Base URL (Προαιρετικό) | Η πλατφόρμα OpenAI σας |
Το GitHub Action χρειάζεται δικαιώματα που παρέχονται μέσω του GITHUB_TOKEN
για να κάνει checkout κώδικα και να δημιουργεί pull requests.
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
, αν χρειάζεται.Αποποίηση ευθυνών:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης AI Co-op Translator. Παρόλο που προσπαθούμε για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτόματες μεταφράσεις μπορεί να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη γλώσσα του θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.