Skip to main content

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.

i18n dizelerini elle sarmalamak hataya açıktır: geliştiriciler bölünmüş cümleleri gözden kaçırır, üçlü işleçlerle çoğulları bozar ve uç durumlarda kod içine gömülü dizeler bırakır. Bu hatalar ancak çeviriden sonra ortaya çıkar ve bunları düzeltmek 10 kat daha pahalıdır.

Çö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.

Terminal
/i18n-review src/
/i18n-review src/ --framework=next-intl

Neleri 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
İnceleme komutu tamamen salt okunurdur. İstenmeyen değişiklik riski olmadan geliştirme sırasında veya CI/CD işlem hatlarında istediğiniz sıklıkta çalıştırabilirsiniz.

/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.

Terminal
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18next

Neler 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
Sarmalama komutu, derlemenizi ve test paketinizi çalıştırarak her değişikliği doğrular. Herhangi bir işlem başarısız olursa değişiklikleri otomatik olarak geri alı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-i18nextt()key_one / key_other
next-intlt()ICU {count, plural, ...}
vue-i18n$t()Pipe syntax | singular | plural
angular i18n$localizeICU {count, plural, ...}
svelte-i18n$_()ICU {count, plural, ...}
flutter intlS.of(context)Intl.plural()
djangogettext / _()ngettext()
rails i18nt()count key
laravel__() / @langtrans_choice()
swiftNSLocalizedString.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.

Terminal
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/
Bunlar standart eğik çizgi komut dosyalarıdır. Claude Code'da kullanıma hazır olarak çalışır ve özel komutları destekleyen diğer yapay zeka kodlama yardımcılarına uyarlanabilir.

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.

React Project
# 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.json

Django 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.

Django Project
# 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

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

Kayıt gerekmezAnında fiyat tahmini

Sık sorulan sorular