Sözde çeviri aracı
i18n arayüzünüzü yayımlamadan önce test edin. Gerçek çevirileri beklemeden düzeni, kodlamayı ve çift yönlü görüntülemeyi zorlayan sahte çeviriler oluşturun.
Sorun
Arayüzünüz İngilizcede kusursuz görünür. Ardından Almanca gelir: %40 daha uzun dizeler tüm düğmeleri bozar ve tablo başlıklarını keser. Arapça tüm düzeni ters çevirir ve simgeleriniz yanlış yönü gösterir. Japonca farklı satır yükseklikleri gerektirir ve özenle aralıklandırdığınız kartlar çöker. Tüm bunları ancak çeviri ücretini ödedikten sonra fark edersiniz.
Çözüm
i18n-pseudo, gerçek çevirmenleri beklemeden arayüzünüzü zorlayan sahte çeviriler oluşturur. ICU yer tutucularını, çoğul söz dizimini ve değer ekleme değişkenlerini korurken aksanlar, CJK karakterleri, metin genişletme, RTL işaretleri ve daha fazlasını içeren 7 dönüştürme stratejisi uygular.
Kurulum
i18n-pseudo bir npm paketi ve Homebrew formülü olarak sunulur; ayrıca Cargo ile kaynak koddan derleyebilirsiniz.
npm install -g @i18n-agent/i18n-pseudo7 dönüştürme stratejisi
Her strateji belirli bir i18n hata sınıfını hedefler. Bunları bayraklarla ayrı ayrı kullanın veya hazır ayarlarla birleştirin.
| Strategy | Flag | Input | Output |
|---|---|---|---|
| Accents | --accents | Hello | Ĥéľľó |
| CJK | --cjk | Hello | 你好世界你好 |
| Special Chars | --special | Hello | Hello |
| Expansion | --expansion N | Save | Save~~~~ |
| Brackets | --brackets | Hello | [Hello] |
| RTL | --rtl | Hello | Hello |
| Unicode Stress | --unicode-stress | Hello | H́ȩl̈l̀õ |
Hazır ayarlar
Hazır ayarlar, yaygın test senaryoları için stratejileri bir araya getirir. Bir strateji grubunu aynı anda uygulamak için --preset kullanın.
| Preset | Strategies | Use Case |
|---|---|---|
default | accents + brackets | Quick visual check that all strings are externalized |
layout | expansion (1.4x) + brackets | Catch truncation and overflow before real translations |
charset | CJK + special + brackets | Test font rendering and character encoding |
rtl | RTL markers + brackets | Verify bidirectional layout without switching locale |
full | All strategies combined | Maximum stress test — everything at once |
Kullanım örnekleri
i18n-pseudo aracını kaynak yerel ayar dosyanız üzerinde çalıştırın. Araç JSON, YAML, PO ve diğer i18n biçimlerini okur, seçilen stratejileri uygular ve dönüştürülmüş çıktıyı yazar.
# Default (accents + brackets)
i18n-pseudo en.json -o output/
# Layout testing (text expansion + brackets)
i18n-pseudo en.json --preset layout -o output/
# Specific strategies
i18n-pseudo en.json --accents --expansion 1.5 -o output/
# Kitchen sink
i18n-pseudo en.json --preset full -o output/Öncesi ve sonrası
Varsayılan hazır ayarın (aksanlar + köşeli ayraçlar) tipik bir çeviri dosyasına ne yaptığını aşağıda görebilirsiniz. ICU çoğul söz diziminin ve değer ekleme yer tutucularının aynen korunduğuna dikkat edin.
// Input (en.json):
{
"greeting": "Hello, {name}!",
"save": "Save",
"items": "{count, plural, one {# item} other {# items}}"
}
// Output (default preset — accents + brackets):
{
"greeting": "[Ĥéľľó, {name}!]",
"save": "[Šáṽé]",
"items": "[{count, plural, one {# íťéɱ} other {# íťéɱš}}]"
}CI entegrasyonu
i18n gerilemelerini otomatik olarak yakalamak için CI işlem hattınıza sözde çeviri ekleyin. Sözde çevrilmiş dosyaları oluşturun, ardından görsel gerileme testlerinizi bu dosyalarla çalıştırın.
# Generate pseudo-translations and run visual regression
i18n-pseudo locales/en.json --preset layout -o locales/pseudo/
NEXT_PUBLIC_LOCALE=pseudo npx playwright test --project=visualİlgili araçlar ve 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