i18n Skills
i18n dizelerini denetlemek ve sarmalamak için yapay zeka komutları
Sorun
Kod tabanınızda bileşenlere, şablonlara ve görünümlere dağılmış, kod içine gömülü 500 dize var. Bunları elle sarmalamak, günler süren yorucu bul ve değiştir çalışması gerektirir. Sarmaladıktan sonra bile Almancada bozulan bölünmüş cümleleri, Arapçada başarısız olan çoğul mantığını ve yerel ayar dosyalarınızı şişiren sahipsiz anahtarları gözden kaçırabilirsiniz.
Çözüm
Tüm i18n iş akışını yöneten iki yapay zeka eğik çizgi komutu. Kodunuzu salt okunur biçimde denetlemek için /i18n-review, ardından her şeyi otomatik olarak düzeltmek için /i18n-wrap komutunu çalıştırın. Her iki komut da çerçevenizi algılar, yerel ayar dosyanızın biçimini anlar ve değişiklikleri tamamlamadan önce doğrular.
/i18n-review
Bölünmüş cümleleri, bozuk çoğulları, sarmalanmamış dizeleri ve kullanılmayan anahtarları bulan salt okunur denetim. Kodunuzu hiçbir zaman değiştirmez.
/i18n-wrap
Kod içine gömülmüş dizeleri doğru çeviri işleviyle otomatik olarak sarmalar, anlamlı anahtarlar oluşturur, yerel ayar dosyalarını günceller ve derlemeyi doğrular.
/i18n-review komutu
İnceleme komutu, kod tabanınızı salt okunur biçimde denetler. Her dosyayı i18n sorunları için tarar ve tam dosya konumlarıyla düzeltme önerilerini içeren, önceliklendirilmiş bir rapor üretir. Kodunuz hiçbir zaman değiştirilmez.
/i18n-review src/
/i18n-review src/ --framework=next-intlNeleri denetler?
- Bölünmüş cümleler: diğer dillerde sözcük sırasını bozan, art arda bağlanmış t() çağrıları
- Gereksiz sarmalama: t() ile yanlışlıkla sarmalanmış teknik dizeler, CSS sınıfları, URL'ler ve enum değerleri
- Eksik sarmalama: düğme etiketleri, başlıklar ve hata iletileri gibi görünür arayüz dizelerinin kod içine gömülü bırakılması
- Çoğul sorunları: doğru ICU çoğul söz dizimi yerine üçlü işleçlerin veya === 1 denetimlerinin kullanılması
- Kullanılmayan anahtarlar: yerel ayar dosyalarında tanımlanmış ancak kodda hiçbir zaman kullanılmayan çeviri anahtarları
- Kod içine gömülü biçim değerleri: Intl biçimlendiricilerini kullanmayan tarihler, para birimleri ve sayılar
/i18n-wrap komutu
Sarmalama komutu, kod içine gömülmüş dizeleri çerçevenize uygun çeviri işleviyle otomatik olarak sarmalar. i18n kitaplığınızı algılar, bileşene veya özelliğe göre gruplandırılmış anlamlı anahtarlar oluşturur, yerel ayar dosyalarınızı günceller ve derlemenin hâlâ başarılı olduğunu doğrular.
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18nextNeler yapar?
- Çerçeve algılama: i18n kitaplığınızı ve çeviri işlevini (t, $t, $_, gettext vb.) belirler
- Anlamlı anahtar oluşturma: genel etiketler yerine nav.signIn ve errors.notFound gibi anlamlı anahtarlar oluşturur
- Yerel ayar dosyası güncellemeleri: kaynak yerel ayar dosyanıza doğru biçimde (JSON, YAML, PO vb.) yeni anahtarlar ekler
- Derleme doğrulaması: gerilemeleri yakalamak için sarmalama işleminden sonra derleme, lint ve test komutlarınızı çalıştırır
Desteklenen çerçeveler
Her iki komut da çerçevenizi proje bağımlılıklarınızdan otomatik olarak algılar. --framework bayrağıyla açıkça da belirtebilirsiniz. Desteklenen 10 çerçeve ile bunların çeviri işlevleri ve çoğul biçimleri aşağıdadır.
| Çerçeve | Çeviri işlevi | Çoğul biçimi |
|---|---|---|
| react-i18next | t() | key_one / key_other |
| next-intl | t() | ICU {count, plural, ...} |
| vue-i18n | $t() | Pipe syntax | singular | plural |
| angular i18n | $localize | ICU {count, plural, ...} |
| svelte-i18n | $_() | ICU {count, plural, ...} |
| flutter intl | S.of(context) | Intl.plural() |
| django | gettext / _() | ngettext() |
| rails i18n | t() | count key |
| laravel | __() / @lang | trans_choice() |
| swift | NSLocalizedString | .stringsdict |
Kurulum
Komut dosyalarını .claude/commands/ klasörünüze kopyalayın. Hepsi bu kadar; bağımlılık veya yapılandırma gerekmez. Komutlar, tüm yapay zeka kodlama yardımcılarının çalıştırabileceği düz Markdown dosyalarıdır.
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/Kullanım örnekleri
React projesi
react-i18next kullanan bir React uygulamasını inceleyin, ardından kod içine gömülü tüm dizeleri sarmalayın. Komutlar react-i18next'i package.json dosyanızdan algılar ve doğru t() işleviyle key_one/key_other çoğul biçimini kullanır.
# Review a React project for i18n issues
/i18n-review src/ --framework=react-i18next
# Wrap all hardcoded strings automatically
/i18n-wrap src/components/ --framework=react-i18next
# Result: t() calls inserted, keys added to en/translation.jsonDjango projesi
Django şablonlarını ve görünümlerini i18n sorunları için denetleyin, ardından dizeleri gettext ile sarmalayın. Komutlar Django'yu settings.py dosyanızdan algılar; basit dizeler için _(), çoğullar için ngettext() kullanır.
# Review Django templates and views
/i18n-review myapp/ --framework=django
# Wrap hardcoded strings with gettext
/i18n-wrap myapp/templates/ --framework=django
# Result: _() calls inserted, .po file updatedİlgili çerçeve kılavuzları
i18n Agent'ı şimdi deneyin
Çeviri dosyanızı buraya bırakın
JSON, YAML, PO, XML, CSV, Markdown, Properties
veya göz atmak için tıklayın
Hedef diller