GitHub Actions¶
Tumia GitHub Actions unapotaka repositori kutafsiri nyaraka zilizobadilika moja kwa moja na kufungua pull request yenye matokeo yaliyotengenezwa.
Repositoti nyingi zinapaswa kutumia usanidi wa kawaida wa GITHUB_TOKEN. Tumia usanidi wa GitHub App tu wakati shirika lako linapozuia ruhusa za tokeni ya chaguo-msingi au linahitaji uthibitisho kwa kutumia app.
Prerequisites¶
Kabla ya kuunda workflow, sanidi siri za huduma za AI ambazo mchakato wako wa tafsiri unazitaka.
Tafsiri ya maandishi inahitaji mtoa huduma mmoja wa mfano wa lugha:
- Azure OpenAI:
AZURE_OPENAI_API_KEY,AZURE_OPENAI_ENDPOINT,AZURE_OPENAI_MODEL_NAME,AZURE_OPENAI_CHAT_DEPLOYMENT_NAME,AZURE_OPENAI_API_VERSION - OpenAI:
OPENAI_API_KEY,OPENAI_CHAT_MODEL_ID, plus optionalOPENAI_ORG_IDandOPENAI_BASE_URL
Tafsiri ya picha inahitaji pia Azure AI Vision:
AZURE_AI_SERVICE_API_KEYAZURE_AI_SERVICE_ENDPOINT
Tazama Usanidi na Usanidi wa Azure AI kwa maelezo ya usanidi wa eneo-kazi.
Standard Setup¶
Tumia usanidi huu kwa repositoti nyingi za umma na binafsi.
Step 1: Add Repository Secrets¶
Katika repositori lengwa lako, fungua Mipangilio > Siri na vigezo > Actions, kisha ongeza siri za mtoa huduma ambazo workflow yako itatumia.

Step 2: Enable Workflow Permissions¶
Fungua Mipangilio > Actions > Msingi.
Under Ruhusa za workflow:
- Chagua Ruhusa za kusoma na kuandika.
- Wezesha Ruhusu GitHub Actions kuunda na kuidhinisha pull requests.
- Hifadhi mipangilio.

Step 3: Add the Workflow¶
Create .github/workflows/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_API_KEY: ${{ secrets.AZURE_AI_SERVICE_API_KEY }}
AZURE_AI_SERVICE_ENDPOINT: ${{ secrets.AZURE_AI_SERVICE_ENDPOINT }}
AZURE_OPENAI_API_KEY: ${{ secrets.AZURE_OPENAI_API_KEY }}
AZURE_OPENAI_ENDPOINT: ${{ secrets.AZURE_OPENAI_ENDPOINT }}
AZURE_OPENAI_MODEL_NAME: ${{ secrets.AZURE_OPENAI_MODEL_NAME }}
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_CHAT_DEPLOYMENT_NAME }}
AZURE_OPENAI_API_VERSION: ${{ secrets.AZURE_OPENAI_API_VERSION }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
OPENAI_ORG_ID: ${{ secrets.OPENAI_ORG_ID }}
OPENAI_CHAT_MODEL_ID: ${{ secrets.OPENAI_CHAT_MODEL_ID }}
OPENAI_BASE_URL: ${{ secrets.OPENAI_BASE_URL }}
run: |
translate -l "es fr de" -y
- name: Create Pull Request with translations
uses: peter-evans/create-pull-request@v5
with:
token: ${{ secrets.GITHUB_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.
Generated by Co-op Translator.
branch: update-translations
base: main
labels: translation, automated-pr
delete-branch: true
add-paths: |
translations/
translated_images/
Badilisha translate -l "es fr de" -y kwa lugha lengwa na vigezo vya yaliyomo mradi wako unahitaji. Kwa repositoti kubwa, ongeza kichujio cha paths: chini ya on: ili workflow ianze tu wakati nyaraka za maelezo zitabadilika.
GitHub App Setup¶
Tumia usanidi huu wakati GITHUB_TOKEN haiwezi kuunda commits au pull requests ndani ya shirika lako.
Step 1: Create or Install a GitHub App¶
Unda GitHub App yenye ruhusa za kusoma/kuandika kwa Contents na Pull requests, au sakinisha app iliyotolewa na shirika ikiwa shirika lako linayo tayari.
Rekodi:
- App ID
- Yaliyomo ya ufunguo wa kibinafsi
Zihifadhi kama siri za repositori:
GH_APP_IDGH_APP_PRIVATE_KEY
Step 2: Generate an App Token¶
Tumia workflow ile ile kama kwenye usanidi wa kawaida, lakini ongeza hatua ya app-token kabla ya hatua ya pull request:
- name: Authenticate GitHub App
id: generate_token
uses: tibdex/github-app-token@v1
with:
app_id: ${{ secrets.GH_APP_ID }}
private_key: ${{ secrets.GH_APP_PRIVATE_KEY }}
- name: Create Pull Request with translations
uses: peter-evans/create-pull-request@v5
with:
token: ${{ steps.generate_token.outputs.token }}
commit-message: "Update translations via Co-op Translator"
title: "Update translations via Co-op Translator"
branch: update-translations
base: main
delete-branch: true
add-paths: |
translations/
translated_images/
Runner Limits¶
Runners zinazotolewa na GitHub zina muda wa kazi wa juu. Repositoti kubwa au lugha nyingi lengwa zinaweza kuvuka kikomo hicho.
Kwa kazi kubwa za tafsiri:
- Tafsiri lugha chache kwa kila mchakato.
- Tumia vigezo vya yaliyomo kama
-md,-nb, au-img. - Tumia runner mwenyeji mwenyewe wakati ukubwa wa repositori au ucheleweshaji wa mfano unafanya runners za mwenyeji zisitegemeke.
Review in CI¶
Tumia co-op-review wakati pull request inapaswa kuthibitisha tafsiri zilizotengenezwa bila kuita watoa huduma wa LLM au Vision.
- name: Review translated outputs
run: |
co-op-review --changed-from "origin/${{ github.base_ref }}" --format github
co-op-review ni amri ya hakiki ya beta isiyobadilika. Ukaguzi wake na muundo wa matokeo yanaweza kubadilika, lakini imeundwa kuwa salama kwa CI kwa sababu haiandiki faili wala kuita watoa huduma wa mfano.