Skip to main content

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.

Çeviriden sonra i18n düzen hatalarını düzeltmenin ortalama maliyeti, bunları geliştirme sırasında yakalamaktan 5-10 kat daha yüksektir. Sözde çeviri, gerçek çevirilere para harcamadan önce bu sorunları ücretsiz olarak yakalar.

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

Terminal
npm install -g @i18n-agent/i18n-pseudo
npm paketi genel bir CLI ikili dosyası içerir. Çalışma zamanı bağımlılığı gerekmez.

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

StrategyFlagInputOutput
Accents--accentsHelloĤéľľó
CJK--cjkHello你好世界你好
Special Chars--specialHelloHel­lo
Expansion--expansion NSaveSave~~~~
Brackets--bracketsHello[Hello]
RTL--rtlHello‮Hello‬
Unicode Stress--unicode-stressHelloH́ȩl̈l̀õ
Aksanlar, kod içine gömülmüş dizeleri algılamak için en yaygın stratejidir. Arayüzünüzde aksan işareti olmadan görünen bir dize, çeviri işlevinden hiç geçirilmemiştir.

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.

PresetStrategiesUse Case
defaultaccents + bracketsQuick visual check that all strings are externalized
layoutexpansion (1.4x) + bracketsCatch truncation and overflow before real translations
charsetCJK + special + bracketsTest font rendering and character encoding
rtlRTL markers + bracketsVerify bidirectional layout without switching locale
fullAll strategies combinedMaximum 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.

Terminal
# 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.

Before & After
// 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 {# íťéɱš}}]"
}
{name}, {count} gibi yer tutucular ve ICU çoğul ifadeleri hiçbir zaman değiştirilmez. Yalnızca çevrilebilir metin bölümleri dönüştürülür; böylece uygulamanız sözde çevrilmiş dosyaları doğru şekilde görüntüler.

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.

CI Pipeline
# 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
Düzen hazır ayarını Playwright veya Chromatic görsel gerileme testiyle birlikte kullanın. 1,4 kat genişletilmiş metinle sınırları aşan veya kesilen tüm bileşenler görsel fark testinde başarısız olur.

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