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
Intlayer kullanarak Next.js 15 sitenizi next-intl ile çevirin | Uluslararasılaştırma (i18n)
Bu rehber, Next.js 15 (App Router) uygulamasında next-intl en iyi uygulamalarını adım adım anlatır ve sağlam çeviri yönetimi ve otomasyon için Intlayer'ı nasıl entegre edeceğinizi gösterir.
Karşılaştırmayı next-i18next vs next-intl vs Intlayer sayfasında inceleyin.
- Yeni başlayanlar için: çalışan çok dilli bir uygulama elde etmek için adım adım bölümleri takip edin.
- Orta seviye geliştiriciler için: payload optimizasyonu ve sunucu/istemci ayrımına dikkat edin.
- Uzmanlar için: statik üretim, middleware, SEO entegrasyonu ve otomasyon kancalarına dikkat edin.
Ele alacaklarımız:
- Kurulum ve dosya yapısı
- Mesajların yüklenme optimizasyonu
- İstemci ve sunucu bileşen kullanımı
- SEO için metadata, sitemap, robots
- Locale yönlendirmesi için middleware
- Üstüne Intlayer eklemek (CLI ve otomasyon)
next-intl kullanarak uygulamanızı kurun
next-intl bağımlılıklarını yükleyin:
Kodu panoya kopyala
Kodu panoya kopyala
Kurulum ve İçerik Yükleme
Yalnızca rotalarınızın ihtiyaç duyduğu namespace'leri yükleyin ve locale'leri erken doğrulayın. Mümkün olduğunda sunucu bileşenlerini senkron tutun ve istemciye yalnızca gerekli mesajları gönderin.
Kodu panoya kopyala
Kodu panoya kopyala
Kodu panoya kopyala
Bir istemci bileşeninde kullanım
Bir sayaç render eden istemci bileşenine bir örnek alalım.
Çeviriler (şekil yeniden kullanıldı; bunları istediğiniz gibi next-intl mesajlarına yükleyin)
Kodu panoya kopyala
Kodu panoya kopyala
İstemci bileşeni
Kodu panoya kopyala
Sayfa istemci mesajına "about" mesajını eklemeyi unutmayın (istemcinizin gerçekten ihtiyaç duyduğu ad alanlarını dahil edin).
Bir sunucu bileşeninde kullanım
Bu UI bileşeni bir sunucu bileşenidir ve bir istemci bileşeni altında render edilebilir (sayfa → istemci → sunucu). Önceden hesaplanmış dizeleri geçirerek senkron tutun.
Kodu panoya kopyala
Notlar:
formattedCountdeğerini sunucu tarafında hesaplayın (örneğin,const initialFormattedCount = format.number(0)).- Sunucu bileşenlerine fonksiyonlar veya serileştirilemeyen nesneler geçirmemeye dikkat edin.
Kodu panoya kopyala
Kodu panoya kopyala
Kodu panoya kopyala
Yerel yönlendirme için Middleware
Yerel algılama ve yönlendirmeyi yönetmek için bir middleware ekleyin:
Kodu panoya kopyala
En iyi uygulamalar
- html
langvedirayarlayın:src/app/[locale]/layout.tsxiçinde,dirdeğerinigetLocaleDirection(locale)ile hesaplayın ve<html lang={locale} dir={dir}>olarak ayarlayın. - Mesajları namespace bazında ayırın: JSON dosyalarını locale ve namespace bazında organize edin (örneğin,
common.json,about.json). - İstemci yükünü minimize edin: Sayfalarda,
NextIntlClientProvider'a yalnızca gerekli namespace'leri gönderin (örneğin,pick(messages, ['common', 'about'])). - Statik sayfaları tercih edin:
export const dynamic = 'force-static'olarak dışa aktarın ve tümlocalesiçin statik parametreler oluşturun. - Eşzamanlı sunucu bileşenleri: Önceden hesaplanmış dizeleri (çevirilmiş etiketler, biçimlendirilmiş sayılar) async çağrılar veya serileştirilemeyen fonksiyonlar yerine geçirin.
next-intl üzerine Intlayer'ı uygulayın
Intlayer bağımlılıklarını yükleyin:
Kodu panoya kopyala
Intlayer yapılandırma dosyasını oluşturun:
Kodu panoya kopyala
package.json betiklerini ekleyin:
Kodu panoya kopyala
Notlar:
intlayer fill: yapılandırdığınız yerel ayarlara göre eksik çevirileri doldurmak için AI sağlayıcınızı kullanır.intlayer test: eksik/geçersiz çevirileri kontrol eder (CI'da kullanın).
Argümanları ve sağlayıcıları yapılandırabilirsiniz; bkz. Intlayer CLI.