Grupa docelowa: Ten przewodnik jest przeznaczony dla użytkowników w większości publicznych lub prywatnych repozytoriów, gdzie wystarczające są standardowe uprawnienia GitHub Actions. Wykorzystuje wbudowany GITHUB_TOKEN
.
Zautomatyzuj tłumaczenie dokumentacji swojego repozytorium bez wysiłku, korzystając z Co-op Translator GitHub Action. Ten przewodnik przeprowadzi Cię przez konfigurację akcji, która automatycznie tworzy pull requesty z aktualizacjami tłumaczeń za każdym razem, gdy zmienią się Twoje źródłowe pliki Markdown lub obrazy.
[!IMPORTANT]
Wybór odpowiedniego przewodnika:
Ten przewodnik opisuje prostsze ustawienie z wykorzystaniem standardowego
GITHUB_TOKEN
. Jest to zalecana metoda dla większości użytkowników, ponieważ nie wymaga zarządzania poufnymi kluczami prywatnymi GitHub App.
Przed skonfigurowaniem GitHub Action upewnij się, że masz gotowe niezbędne dane uwierzytelniające do usług AI.
1. Wymagane: Dane uwierzytelniające modelu językowego AI
Potrzebujesz danych uwierzytelniających do przynajmniej jednego obsługiwanego modelu językowego:
2. Opcjonalne: Dane uwierzytelniające AI Vision (do tłumaczenia obrazów)
Postępuj zgodnie z poniższymi krokami, aby skonfigurować Co-op Translator GitHub Action w swoim repozytorium, korzystając ze standardowego GITHUB_TOKEN
.
GITHUB_TOKEN
)Ten workflow korzysta z wbudowanego GITHUB_TOKEN
dostarczonego przez GitHub Actions. Token ten automatycznie przyznaje uprawnienia do interakcji z repozytorium na podstawie ustawień skonfigurowanych w Kroku 3.
Musisz dodać tylko dane uwierzytelniające usług AI jako zaszyfrowane sekrety w ustawieniach repozytorium.
W sekcji Repository secrets kliknij New repository secret dla każdego wymaganego sekretu usługi AI wymienionego poniżej.
(Referencja obrazu: pokazuje miejsce dodawania sekretów)
Wymagane sekrety usług AI (dodaj WSZYSTKIE, które dotyczą Twoich wymagań):
Nazwa sekretu | Opis | Źródło wartości |
---|---|---|
AZURE_SUBSCRIPTION_KEY |
Klucz do Azure AI Service (Computer Vision) | Twoja usługa Azure AI |
AZURE_AI_SERVICE_ENDPOINT |
Endpoint do Azure AI Service (Computer Vision) | Twoja usługa Azure AI |
AZURE_OPENAI_API_KEY |
Klucz do usługi Azure OpenAI | Twoja usługa Azure AI |
AZURE_OPENAI_ENDPOINT |
Endpoint do usługi Azure OpenAI | Twoja usługa Azure AI |
AZURE_OPENAI_MODEL_NAME |
Nazwa modelu Azure OpenAI | Twoja usługa Azure AI |
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME |
Nazwa deploymentu Azure OpenAI | Twoja usługa Azure AI |
AZURE_OPENAI_API_VERSION |
Wersja API dla Azure OpenAI | Twoja usługa Azure AI |
OPENAI_API_KEY |
Klucz API dla OpenAI | Twoja platforma OpenAI |
OPENAI_ORG_ID |
ID organizacji OpenAI (opcjonalnie) | Twoja platforma OpenAI |
OPENAI_CHAT_MODEL_ID |
Konkretne ID modelu OpenAI (opcjonalnie) | Twoja platforma OpenAI |
OPENAI_BASE_URL |
Niestandardowy Base URL API OpenAI (opcjonalnie) | Twoja platforma OpenAI |
GitHub Action potrzebuje uprawnień przyznanych przez GITHUB_TOKEN
, aby pobierać kod i tworzyć pull requesty.
GITHUB_TOKEN
niezbędne uprawnienia contents: write
i pull-requests: write
dla tego workflow.Na koniec utwórz plik YAML definiujący zautomatyzowany workflow z użyciem GITHUB_TOKEN
.
.github/workflows/
, jeśli jeszcze nie istnieje..github/workflows/
utwórz plik o nazwie 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
zmień listę języków, jeśli to konieczne.Zastrzeżenie:
Niniejszy dokument został przetłumaczony za pomocą usługi tłumaczeń AI Co-op Translator. Mimo że dokładamy starań, aby tłumaczenie było jak najbardziej precyzyjne, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w języku źródłowym powinien być traktowany jako źródło autorytatywne. W przypadku informacji o kluczowym znaczeniu zaleca się skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.