Sorunuzu sorun ve bu sayfaya ve seçtiğiniz AI sağlayıcısına referans vererek belgenin bir özetini alın
Intlayer MCP Sunucusunu favori AI asistanınıza entegre ederek tüm belgeleri doğrudan ChatGPT, DeepSeek, Cursor, VSCode vb. üzerinden alabilirsiniz.
MCP Sunucu belgesini görüntüleBu 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
next-i18next VS next-intl VS intlayer | Next.js Uluslararasılaştırma (i18n)
Bu rehber, Next.js için yaygın olarak kullanılan üç i18n seçeneğini karşılaştırır: next-intl, next-i18next ve Intlayer. Next.js 13+ App Router'a (React Server Components ile) odaklanıyoruz ve şunları değerlendiriyoruz:
- Mimari ve içerik organizasyonu
- TypeScript ve güvenlik
- Eksik çeviri işleme
- Yönlendirme ve ara yazılım
- Performans ve yükleme davranışı
- Geliştirici deneyimi (DX), araçlar ve bakım
- SEO ve büyük proje ölçeklenebilirliği
tl;dr: Üçü de bir Next.js uygulamasını yerelleştirebilir. Bileşen kapsamlı içerik, katı TypeScript türleri, derleme zamanı eksik anahtar kontrolleri, ağaç sallanan sözlükler ve birinci sınıf App Router + SEO yardımcıları istiyorsanız, Intlayer en kapsamlı, modern seçimdir.
Yüksek düzey konumlandırma
- next-intl - Hafif, doğrudan mesaj formatlaması ile sağlam Next.js desteği. Merkezi kataloglar yaygındır; DX basittir, ancak güvenlik ve büyük ölçekli bakım çoğunlukla sizin sorumluluğunuzdur.
- next-i18next - Next.js'te i18next. Eklentiler aracılığıyla olgun ekosistem ve özellikler (örneğin, ICU), ancak yapılandırma ayrıntılı olabilir ve kataloglar projeler büyüdükçe merkezi olmaya eğilimlidir.
- Intlayer - Next.js için bileşen merkezli içerik modeli, katı TS yazımı, derleme zamanı kontrolleri, ağaç sallama, yerleşik ara yazılım ve SEO yardımcıları, isteğe bağlı Görsel Düzenleyici/CMS ve AI destekli çeviriler.
Yan Yana Özellik Karşılaştırması (Next.js odaklı)
Özellik | next-intlayer (Intlayer) | next-intl | next-i18next |
---|---|---|---|
Bileşenlere Yakın Çeviriler | ✅ Evet, içerik her bileşenle birlikte yerleştirilir | ❌ Hayır | ❌ Hayır |
TypeScript Entegrasyonu | ✅ Gelişmiş, otomatik olarak oluşturulan katı türler | ✅ İyi | ⚠️ Temel |
Eksik Çeviri Algılama | ✅ TypeScript hata vurgulaması ve derleme zamanı hata/uyarı | ⚠️ Çalışma zamanı geri dönüşü | ⚠️ Çalışma zamanı geri dönüşü |
Zengin İçerik (JSX/Markdown/bileşenler) | ✅ Doğrudan destek | ❌ Zengin düğümler için tasarlanmamış | ⚠️ Sınırlı |
AI destekli Çeviri | ✅ Evet, birden fazla AI sağlayıcısını destekler. Kendi API anahtarlarınızı kullanarak kullanılabilir. Uygulamanızın bağlamını ve içerik kapsamını dikkate alır | ❌ Hayır | ❌ Hayır |
Görsel Düzenleyici | ✅ Evet, yerel Görsel Düzenleyici + isteğe bağlı CMS; kod tabanı içeriğini dışa aktarabilir; gömülebilir | ❌ Hayır / harici yerelleştirme platformları aracılığıyla mevcut | ❌ Hayır / harici yerelleştirme platformları aracılığıyla mevcut |
Yerelleştirilmiş Yönlendirme | ✅ Evet, kutudan çıkar çıkmaz yerelleştirilmiş yolları destekler (Next.js ve Vite ile çalışır) | ✅ Yerleşik, App Router [locale] segmentini destekler | ✅ Yerleşik |
Dinamik Yol Oluşturma | ✅ Evet | ✅ Evet | ✅ Evet |
Çoğullaştırma | ✅ Numaralandırma tabanlı desenler | ✅ İyi | ✅ İyi |
Formatlama (tarihler, sayılar, para birimleri) | ✅ Optimize edilmiş formatlayıcılar (Intl altında) | ✅ İyi (Intl yardımcıları) | ✅ İyi (Intl yardımcıları) |
İçerik Formatı | ✅ .tsx, .ts, .js, .json, .md, .txt, (.yaml WIP) | ✅ .json, .js, .ts | ⚠️ .json |
ICU desteği | ⚠️ WIP | ✅ Evet | ⚠️ Eklenti aracılığıyla (i18next-icu) |
SEO Yardımcıları (hreflang, site haritası) | ✅ Yerleşik araçlar: site haritası, robots.txt, meta veri için yardımcılar | ✅ İyi | ✅ İyi |
Ekosistem / Topluluk | ⚠️ Daha küçük ama hızlı büyüyen ve reaktif | ✅ İyi | ✅ İyi |
Sunucu Tarafı Oluşturma ve Sunucu Bileşenleri | ✅ Evet, SSR / React Server Components için kolaylaştırılmış | ⚠️ Sayfa düzeyinde desteklenir ancak alt sunucu bileşenleri için t-fonksiyonlarını bileşen ağacında geçmeniz gerekir | ⚠️ Sayfa düzeyinde desteklenir ancak alt sunucu bileşenleri için t-fonksiyonlarını bileşen ağacında geçmeniz gerekir |
Ağaç sallama (yalnızca kullanılan içeriği yükle) | ✅ Evet, Babel/SWC eklentileri aracılığıyla derleme zamanında bileşen başına | ⚠️ Kısmi | ⚠️ Kısmi |
Tembel yükleme | ✅ Evet, yerel / sözlük başına | ✅ Evet (rota/yere göre), ad alanı yönetimi gerektir | ✅ Evet (rota/yere göre), ad alanı yönetimi gerektir |
Kullanılmayan içeriği temizle | ✅ Evet, derleme zamanında sözlük başına | ❌ Hayır, ad alanı yönetimi ile manuel olarak yönetilebilir | ❌ Hayır, ad alanı yönetimi ile manuel olarak yönetilebilir |
Büyük Projelerin Yönetimi | ✅ Modüler teşvik eder, tasarım sistemi için uygundur | ✅ Kurulumla modüler | ✅ Kurulumla modüler |
Derinlemesine karşılaştırma
1) Mimari ve ölçeklenebilirlik
- next-intl / next-i18next: Yerel başına merkezi kataloglara varsayılan (i18next'te ad alanları artı). Başlangıçta iyi çalışır, ancak artan bağlantı ve anahtar karmaşasıyla genellikle büyük bir paylaşılan yüzey alanı haline gelir.
- Intlayer: Bileşen başına (veya özellik başına) sözlükleri hizmet ettikleri kodla birlikte teşvik eder. Bu, bilişsel yükü azaltır, UI parçalarının çoğaltılmasını/migrasyonunu kolaylaştırır ve ekip arası çatışmaları azaltır. Kullanılmayan içerik doğal olarak daha kolay tespit edilir ve temizlenir.
Neden önemli: Büyük kod tabanlarında veya tasarım sistemi kurulumlarında, modüler içerik monolitik kataloglardan daha iyi ölçeklenir.
2) TypeScript ve güvenlik
- next-intl: Sağlam TypeScript desteği, ancak anahtarlar varsayılan olarak katı şekilde yazılmaz; güvenliği manuel olarak sürdüreceksiniz.
- next-i18next: Hook'lar için temel yazımlar; katı anahtar yazımı ekstra araç/yapılandırma gerektirir.
- Intlayer: İçeriğinizden katı türler oluşturur. IDE otomatik tamamlama ve derleme zamanı hataları dağıtım öncesi yazım hatalarını ve eksik anahtarları yakalar.
Neden önemli: Güçlü yazım, başarısızlıkları sol (CI/derleme) yerine sağ (çalışma zamanı) kaydırır.
3) Eksik çeviri işleme
- next-intl / next-i18next: Çalışma zamanı geri dönüşlerine güvenir (örneğin, anahtarı göster veya varsayılan yerel). Derleme başarısız olmaz.
- Intlayer: Derleme zamanı algılama ile eksik yerel veya anahtarlar için uyarılar/hatalar.
Neden önemli: Derleme sırasında boşlukları yakalamak, üretimde "gizemli dizeler"i önler ve katı sürüm kapılarıyla uyumlu hale getirir.
4) Yönlendirme, ara yazılım ve URL stratejisi
- Üçü de App Router'da Next.js yerelleştirilmiş yönlendirme ile çalışır.
- Intlayer, i18n ara yazılımı (üstbilgi/çerezler aracılığıyla yerel algılama) ve yerelleştirilmiş URL'ler ve <link rel="alternate" hreflang="…"> etiketleri oluşturmak için yardımcılarla daha da ileri gider.
Neden önemli: Daha az özel yapıştırıcı katman; yerel genelinde tutarlı UX ve temiz SEO.
5) Sunucu Bileşenleri (RSC) uyumu
- Hepsi Next.js 13+'yı destekler.
- Intlayer, RSC için tasarlanmış tutarlı API ve sağlayıcılarla sunucu/istemci sınırını yumuşatır, böylece formatlayıcıları veya t-fonksiyonlarını bileşen ağaçları aracılığıyla taşımazsınız.
Neden önemli: Hibrit ağaçlarda daha temiz zihinsel model ve daha az uç durum.
6) Performans ve yükleme davranışı
- next-intl / next-i18next: Ad alanları ve rota düzeyinde bölmeler aracılığıyla kısmi kontrol; disiplin kayarsa kullanılmayan dizeleri paketleme riski.
- Intlayer: Derleme zamanında ağaç sallar ve sözlük/yere göre tembel yükler. Kullanılmayan içerik gönderilmez.
Neden önemli: Özellikle çok yerel sitelerde daha küçük paketler ve daha hızlı başlatma.
7) DX, araçlar ve bakım
- next-intl / next-i18next: Genellikle çeviriler ve düzenleme iş akışları için harici platformları bağlayacaksınız.
- Intlayer: Ücretsiz Görsel Düzenleyici ve isteğe bağlı CMS (Git dostu veya dışa aktarılmış) gönderir. Artı içerik yazımı için VSCode uzantısı ve kendi sağlayıcı anahtarlarınızı kullanarak AI destekli çeviriler.
Neden önemli: Operasyon maliyetini düşürür ve geliştiriciler ile içerik yazarları arasındaki döngüyü kısaltır.
Hangisini ne zaman seçmeli?
- next-intl'i seçin eğer minimal bir çözüm istiyorsanız, merkezi kataloglarla rahatınız ve uygulamanız küçük ila orta boy.
- next-i18next'i seçin eğer i18next'in eklenti ekosistemine ihtiyacınız varsa (örneğin, eklentiler aracılığıyla gelişmiş ICU kuralları) ve ekibiniz zaten i18next'i biliyorsa, esnekliği için daha fazla yapılandırma kabul ederek.
- Intlayer'ı seçin eğer bileşen kapsamlı içerik, katı TypeScript, derleme zamanı garantileri, ağaç sallama ve pil dahil yönlendirme/SEO/düzenleyici araçlarını takdir ediyorsanız - özellikle Next.js App Router, tasarım sistemleri ve büyük, modüler kod tabanları için.
next-intl ve next-i18next ile birlikte çalışabilirlik
intlayer, next-intl ve next-i18next ad alanlarınızı yönetmenize de yardımcı olabilir.
intlayer kullanarak, içeriğinizi favori i18n kütüphanenizin formatında beyan edebilirsiniz ve intlayer ad alanlarınızı istediğiniz konumda oluşturacaktır (örnek: /messages/{{locale}}/{{namespace}}.json).
Daha fazla detay için dictionaryOutput ve i18nextResourcesDir seçeneklerine bakın.
GitHub YILDIZLARI
GitHub yıldızları, bir projenin popülaritesinin, topluluk güveninin ve uzun vadeli öneminin güçlü bir göstergesidir. Teknik kalitenin doğrudan bir ölçüsü olmasa da, kaç geliştiricinin projeyi yararlı bulduğunu, ilerlemesini takip ettiğini ve muhtemelen benimsediğini yansıtır. Bir projenin değerini tahmin etmek için yıldızlar, alternatifler arasındaki çekişmeyi karşılaştırmaya ve ekosistem büyümesine ilişkin içgörüler sağlamaya yardımcı olur.
Sonuç
Üç kütüphane de temel yerelleştirmede başarılı. Fark, modern Next.js'te sağlam, ölçeklenebilir bir kurulum elde etmek için ne kadar iş yapmanız gerektiğidir:
- Intlayer ile, modüler içerik, katı TS, derleme zamanı güvenliği, ağaç sallanan paketler ve birinci sınıf App Router + SEO araçları varsayılanlardır, görevler değildir.
- Ekibiniz çok yerel, bileşen odaklı bir uygulamada bakım ve hızı takdir ediyorsa, Intlayer bugün en kapsamlı deneyimi sunar.
Daha fazla detay için 'Neden Intlayer?' dokümantasyonuna bakın.