GitHub Actions’da Cursor CLI kullanarak repository için çeviri anahtarlarını otomatik olarak çevir
name: Auto Translate Keys
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
permissions:
contents: write
pull-requests: write
jobs:
i18n:
if: ${{ !startsWith(github.head_ref, 'translate/') }}
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Cursor CLI
run: |
curl https://cursor.com/install -fsS | bash
echo "$HOME/.cursor/bin" >> $GITHUB_PATH
- name: Configure git identity
run: |
git config user.name "Cursor Agent"
git config user.email "cursoragent@cursor.com"
- name: Propose i18n updates
env:
CURSOR_API_KEY: ${{ secrets.CURSOR_API_KEY }}
MODEL: gpt-5
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH_PREFIX: translate
run: |
cursor-agent -p "GitHub Actions runner içinde çalışıyorsun.
GitHub CLI `gh` olarak mevcut ve `GH_TOKEN` ile kimlik doğrulaması yapılmış durumda. Git kullanılabilir. Repository içeriklerine yazma erişimin var ve pull request'lere yorum yapabilirsin, ancak doğrudan PR oluşturmamalı veya düzenlememelisin.
# Bağlam:
- Repo: ${{ github.repository }}
- PR Numarası: ${{ github.event.pull_request.number }}
- Head Ref: ${{ github.head_ref }}
- Çeviri Branch Öneki: ${{ env.BRANCH_PREFIX }}
# Hedef:
- PR'da eklenen veya değiştirilen i18n anahtarlarını tespit et ve mesaj dosyalarında sadece eksik locale'leri doldur. Mevcut çevirilerin asla üzerine yazma.
# Gereksinimler:
1) PR diff'ini inceleyerek (kaynak dosyalar ve mesaj dosyaları) değişen anahtarları belirle.
2) Kaynak/kanonik locale'i referans alarak locale başına eksik anahtarları hesapla.
3) Sadece eksik anahtarlar için entry ekle. Mevcut tüm değerleri olduğu gibi koru.
4) JSON formatını ve şemalarını doğrula.
5) Bağlam'dan Çeviri Branch Öneki'ni kullanarak bu PR head için kalıcı bir çeviri branch'i sürdür. Yoksa oluştur, varsa güncelle ve değişiklikleri origin'e push et.
6) Orijinal PR'a doğal dilde (1-2 cümle) yazılmış, neyin güncellendiğini ve neden güncellendiğini kısaca açıklayan ve hızlı PR oluşturmak için inline karşılaştırma linki içeren tek bir PR yorumu gönder veya güncelle.
7) Tekrarlanan yorumlardan kaçın; mevcutsa önceki bot yorumunu güncelle.
8) Hiçbir değişiklik gerekli değilse, commit yapma ve yorum gönderme.
# Girdiler ve konvansiyonlar:
- Değişiklikleri tespit etmek için `gh pr diff` ve git geçmişini kullan.
# Güncellemeler gerçekleştiğinde teslim edilecekler:
- Bu PR head için kalıcı çeviri branch'ine push edilmiş commit'ler.
- Orijinal PR'a yukarıdaki karşılaştırma linki ile doğal dilde tek bir PR yorumu.
" --force --model "$MODEL" --output-format=text
Bu sayfa yararlı mıydı?