Sorunuzu sorun ve bu sayfaya ve seçtiğiniz AI sağlayıcısına referans vererek belgenin bir özetini alın
Bu sayfanın içeriği bir yapay zeka kullanılarak çevrildi.
Orijinal içeriğin İngilizce son sürümünü görüntüleyinBu dokümantasyonu geliştirmek için bir fikriniz varsa, lütfen GitHub'da bir çekme isteği göndererek katkıda bulunmaktan çekinmeyin.
Dokümantasyon için GitHub bağlantısıBelge Markdown'ını panoya kopyala
i18next 2026'da Güncelliğini Yitirdi mi?
i18next, React bileşenleri, Webpack paketlemesi veya TypeScript standart hale gelmeden çok önce, 2011 yılında piyasaya sürüldü. Esnekliği ve yaygınlığı ile ekosistemi ele geçirdi, her teknoloji için eklentilere ve StackOverflow'da olası her hata için hazır yanıtlara sahip oldu.
Terk edilmiş bir proje değil, düzenli olarak yamalar almaya devam ediyor. Ancak eskiyen bir motoru çalışır durumda tutmak ile modern frontend mimarisiyle birlikte aktif olarak gelişmek arasında belirgin bir fark vardır.
Son birkaç yılda frontend dünyası derleme zamanı optimizasyonuna, React Server Components (RSC) yapısına, agresif tree-shaking yöntemlerine ve yapay zeka odaklı iş akışlarına yöneldi. i18next'in çekirdeği ise on yıl önceki halini koruyor: istemci tarafında dize anahtarlarını çözen bir çalışma zamanı tekili (runtime singleton).
Öne Çıkanlar
Bakım modu:
Geçtiğimiz yıl boyunca next-i18next ~63 commit (yaklaşık haftada bir) ve react-i18next ~157 commit kaydetti, bu değişiklikler çoğunlukla bağımlılık güncellemeleri ve küçük düzeltmelerden oluştu.
Ağır çalışma zamanı yükü:
react-i18next ve next-i18next, tek bir çevrilmiş kelime render etmeden önce istemciye ~17–18 KB gzipped (~60 KB minified) kod enjekte eder, bu da next-intlayer'a (~4.7 KB) kıyasla neredeyse 4 kat fazladır.
Ciddi veri sızıntısı:
Varsayılan statik kurulumlarda, bir sayfaya gönderilen yerelleştirme verisinin %89.8'e varan kısmı diğer rotalara veya okunmayan dillere aittir.
Tree-shaking imkansızlığı:
t("home.hero.title") gibi dinamik dize çağrıları paketleyiciler tarafından statik olarak çözümlenemez, bu da tüm JSON dosyalarının istemci koduna dahil edilmesine yol açar.
Ticari teşvikler:
Geliştiriciler Locize platformunu yönetmektedir. CLI içerisine sıfır maliyetli ve yerel bir yapay zeka çeviri akışı eklemek, onların ana gelir modeliyle doğrudan rekabet oluşturur.
Bakım vs. Aktif Gelişim
GitHub yıldızları mevcut mimari ivmeyi değil, geçmişteki yaygınlığı yansıtır.
Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın
Son on iki ayın geliştirme performansı:
Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın
| Proje | Toplam commit | Son 12 ay | Odak noktası |
|---|---|---|---|
next-i18next | 1.311 | 63 | Next.js uyumluluğu ve hata yamaları |
react-i18next | 1.988 | 157 | Tip tanımları ve bakım |
i18next core | 2.626 | 259 | Küçük güncellemeler |
| Intlayer | 7.156 | 4.343 | Derleyici, IDE araçları ve yapay zeka motoru |
Küçük bir kütüphane kararlı olabilir. Ancak i18n araçları yerinde saymadı: modern paketleyiciler kullanılmayan çevirileri derleme anında temizliyor, LLM'ler doğrudan CI süreçlerinde çeviri yapıyor ve editörler özel Language Server (LSP) ile yapay zeka ajanlarına dayanıyor. i18next'in çalışma zamanı modeli bu ilerlemelere ayak uydurmakta zorlanıyor.
Paket Maliyetini Ölçmek
Dinamik JSON yükleme
Çevirileri çalışma zamanında geç yükler
Kapsamlı JSON (ad alanı oluşturma)
Sayfa başına çeviri ad alanları
I18n Performans Karşılaştırması
Bu metrik nedir?
Uluslararasılaştırma kitaplığı paketinin toplam gzip sıkıştırılmış boyutu. Sadece ağaç sallama (tree-shaking) ve küçültme (minification) sonrası sağlayıcı ve içerik getirme mantığını içerir.
Neden önemlidir?
Daha küçük bir kitaplık boyutu, başlangıç JavaScript yükünü azaltarak istemci tarafında daha hızlı indirme ve yürütme sürelerine yol açar.
Olarak gör
10 rota ve 10 dil içeren bir üretim derlemesinde gzip sıkıştırmasıyla test edilmiştir. Tüm veriler i18n benchmark raporunda.
Temel Kütüphane Yükü
Çeviri metinleri eklenmeden önceki ilk ayak izi:
Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın
| Kütüphane | Gzipped | Minified |
|---|---|---|
next-i18next@16.0.5 | 17.8 KB | 61.2 KB |
react-i18next@17.0.2 | 17.3 KB | 59.8 KB |
intlayer@8.7.12 | 4.7 KB | 12.8 KB |
Sayfa Ağırlığı ve Veri Sızıntısı
React / TanStack Start ortamında test edilmiştir (statik strateji):
Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın
| Kütüphane | Ort. sayfa JS (gz) | Dil sızıntısı | Diğer sayfa sızıntısı | Ort. bileşen (gz) | Hidrasyon |
|---|---|---|---|---|---|
react-i18next | 180.3 KB | 50.0% | 89.8% | 24.3 KB | 85.1 ms |
| Intlayer | 127.8 KB | 50.0% | 0.8% | 7.1 KB | 24.1 ms |
| Intlayer (scoped dyn) | 118.1 KB | 0.0% | 0.8% | 4.6 KB | 23.7 ms |
Next.js üzerinde:
Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın
| Kütüphane | Ort. sayfa JS (gz) | Diğer sayfa sızıntısı | Ort. bileşen (gz) |
|---|---|---|---|
| Temel (i18n yok) | 150.8 KB | 0.0% | 0.7 KB |
next-i18next | 227.5 KB | 89.8% | 24.5 KB |
next-intlayer | 152.1 KB | 0.0% | 7.2 KB |
Temel Bulgular
Sayfa ağırlığı:
Next.js'te next-i18next, temel projeye kıyasla 76.7 KB gzipped ek yük getirir (%50 artış). next-intlayer ise yalnızca 1.3 KB ekler.
Veri sızıntısı:
Varsayılan ayarlarda, bir rotaya iletilen çevirilerin %90'a yakını diğer sayfalara aittir. Manuel ad alanı bölme zahmetlidir ve gözden kaçan eksikliklere gebedir.
Hidrasyon gecikmesi:
react-i18next bileşenlerinin hidrasyonu 85 ms sürerken, Intlayer'da bu süre 24 ms olarak ölçülmüştür. İstemci bileşenlerine devasa JSON ağaçları göndermek ilk etkileşim süresini yavaşlatır.
i18next Neden Ağır?
Çalışma Zamanına Yığılan Özellikler
Sadece tarayıcıda çalışmak, tüm yeteneklerin baştan yüklenmesini gerektirir: interpolasyon, çoğul kuralları, bağlam çözümleri, formatlayıcılar ve olay mekanizmaları. En basit metin bile koca bir motorun bedelini öder.
Dinamik Anahtarlar Tree-Shaking'i Engeller
"hero.title" anahtarı çalışma anında çözümlendiğinden, paketleyiciler hangi metinlerin gerçekten kullanıldığını tespit edemez. Kullanılmayan dizeler de pakette kalır.
Kodu panoya kopyala
Kodu panoya kopyala
Intlayer derleyicisi, Hero.tsx bileşeninin gerçekte neleri tükettiğini analiz eder ve kullanılmayan alanları temizler. İncelemek için paket optimizasyonu sayfasına bakın.
Geliştirici Deneyimi
Dağınık JSON vs. Birlikte Konumlandırma
i18next'te metinler koddan ayrı JSON klasörlerinde bulunur. Intlayer ise içerik bildirimlerini doğrudan bileşenlerin yanına yerleştirir:
Kodu panoya kopyala
Kodu panoya kopyala
Kodu panoya kopyala
Kodu panoya kopyala
Kodu panoya kopyala
Hero.tsx dosyasını taşıdığınızda veya sildiğinizde, içerik tanımları da onunla birlikte taşınır ya da silinir.
Otomatik Tamamlama vs. Kesin Tip Güvenliği
CustomTypeOptions tanımlamak editörde otomatik tamamlama sağlar ancak içeriğin varlığını garanti etmez. tr/home.json dosyasından bir anahtarı silmek derlemeyi durdurmaz, sadece çalışma zamanında fallback tetikler.
Intlayer, tipleri doğrudan içerik bildirimlerinden çıkarır ve strictMode modu eksik çevirileri derleme hatasına dönüştürür.
Araç Karşılaştırması
Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın
| Özellik | i18next Ekosistemi | Intlayer |
|---|---|---|
| VS Code Eklentisi | Yalnızca üçüncü taraf | ✅ Resmi eklenti |
| Language Server (LSP) | ❌ Yok | ✅ Özel LSP |
| MCP Sunucusu (AI İçin) | ❌ Yok | ✅ Entegre MCP sunucusu |
| Ajan Becerileri (Skills) | ❌ Yok | ✅ Kullanıma hazır beceriler |
| Görsel CMS | Locize (Ücretli SaaS) | ✅ Ücretsiz ve Açık Kaynak |
Çeviri ve Locize Modeli
Locize, i18next yapımcılarının ticari servisidir. Açık kaynağın sürdürülebilirliği mühimdir, fakat bu yapı bir çıkar çatışması yaratır: gelirini ücretli bir SaaS çeviri platformundan sağlayan bir kütüphanenin, CLI içine yerel ve ücretsiz bir yapay zeka çeviri mekanizması ekleme motivasyonu düşüktür.
Intlayer açık yaklaşımı benimser:
intlayer fill, eksik çevirileri terminalinizde veya CI süreçlerinizde kendi OpenAI, Anthropic, Mistral ya da Gemini API anahtarlarınızla tamamlar.- Intlayer CMS açık kaynaklıdır ve Docker Compose ile yerel olarak barındırılabilir.
- Derleyici, CLI, editör ve CMS tamamen Apache 2.0 lisanslıdır.
i18next Hangi Durumlarda Halen Uygundur?
Uygulamanız sorunsuz çalışıyorsa ve paket boyutu sizin için bir engel teşkil etmiyorsa, yeniden yazmak acil değildir.
i18next'in geniş eklenti yelpazesi, modern derleyicilerin doğrudan hedeflemediği ortamları (Electron, eski jQuery uygulamaları, özel native köprüler) destekler.
StackOverflow ve GitHub'da biriken çözümler sıra dışı senaryoların çözülmesine yardımcı olur.
Mevcut i18next Yapılandırmamı Nasıl Geliştirebilirim?
Intlayer, i18next kütüphanelerinin (i18next, react-i18next ve next-i18next) fonksiyon imzalarını birebir koruyan doğrudan uyumluluk paketleri sunar. Derleyici odaklı modern mimarinin avantajlarından faydalanmak için bileşenlerinizi yeniden yazmanız gerekmez.
Kurulum tek bir komutla tamamlanır:
Kodu panoya kopyala
Bu etkileşimli CLI:
@intlayer/i18nextuyumluluk paketini yükler.- Mevcut içe aktarmalarınızın (
useTranslation,Trans,t) doğrudan Intlayer'a yönlendirilmesi için paketleyici alias'larını yapılandırır; böylece eski kütüphaneyipackage.jsondosyasından kaldırabilirsiniz. - Editörde Dil Sunucusu (LSP) teşhislerini, derleme anında paket optimizasyonunu (tam tree-shaking) ve yerel yapay zeka çeviri iş akışlarını anında devreye alır.
Ayrıntılı adımlar için özel kılavuzlarımızı inceleyin:
- Uyumluluk katmanları: i18next, react-i18next ve next-i18next uyumluluk katmanlarıyla mevcut sözdiziminizi koruyun.
- Katalog dönüştürme: JSON dosyalarınızı tipli sözlüklere dönüştürün: i18next üzerinden, react-i18next üzerinden veya next-i18next üzerinden.
- Hibrit yapı: i18next çalışma zamanını korurken, katalogları otomatik olarak tiplendirmek ve çevirmek için Intlayer'ı i18next ile birlikte kullanın.
Sitenizi ücretsiz i18n SEO Tarayıcısı ile analiz edin:
İlgili Yazılar
Yorumlar
Henüz yorum yok. Düşüncelerinizi paylaşan ilk kişi olun.
