Sorunuzu sorun ve bu sayfaya ve seçtiğiniz AI sağlayıcısına referans vererek belgenin bir özetini alın
Sürüm Geçmişi
- "Locale verilmediğinde varsayılan locale'den önce isteğin locale'i veya saklanan locale çözümlenir"v9.5.1228.09.2026
- "İlk dokümantasyon"v9.4.023.08.2026
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
Belgelendirme: intlayer'de getIntlayer Fonksiyonu
Açıklama
getIntlayer işlevi bir anahtar (key) ile bir sözlüğü seçer ve içeriğini belirli bir yerel ayar için yorumlanmış şekilde döndürür. useIntlayer hook'unun framework-agnostik karşılığıdır: aynı içerik, aynı seçiciler, ancak React context'in kullanılamadığı her yerde kullanılabilir, Node scriptleri, server işlevleri, route loaders, metadata builders, Express/Fastify handlers, testler.
Intlayer tarafından .intlayer/ içinde oluşturulan sözlükleri okur, bu nedenle key argümanı sizin kendi içerik bildirimlerinizden türü belirlenmiş ve otomatik tamamlanmıştır, ve döndürülen nesne her yaprakta tam olarak türü belirlenmiştir.
Ana Özellikler:
- Türü belirlenmiş sözlük anahtarları ve türü belirlenmiş döndürülen içerik
- Her içerik düğümünü yorumlar (
t(),enu(),cond(),insert(),nest(),md(),html(),file(),gender()) - Yerel ayarı veya seçici nesnesini kabul eder (koleksiyonlar, varyantlar)
- Sonuçlar
key + locale + selectorbaşına bellekte tutulur - Geliştirme sırasında sözlük eksik olduğunda, kilitlenmek yerine güvenli bir proxy'ye geri döner
Fonksiyon İmzası
Kodu panoya kopyala
Parametreler
key: DictionaryKeys- Açıklama: İçerik dosyalarınızda bildirilen sözlüğün anahtarı.
- Tür:
DictionaryKeys, bildirilen her sözlük anahtarının birleşimi. - Gerekli: Evet
localeOrSelector: LocalesValues | DictionarySelector- Açıklama: İçeriği yorumlamak için kullanılacak yerel ayar veya dinamik sözlükler için bir seçici nesnesi.
'fr': bir yerel ayar{ item: 2 }: bir koleksiyon öğesi (itemöğesini atlayarak tüm öğeleri dizi olarak alabilirsiniz){ variant: 'black-friday' }: adlandırılmış bir varyant (varsayılan olanı almak için atlayın){ variant: { id: 'prod_abc', userId: '123' } }: yapılandırılmış bir varyant- Herhangi bir seçici yerel ayar taşıyabilir:
{ item: 2, locale: 'fr' }
- Tür:
LocalesValues | DictionarySelector - Gerekli: Hayır (İsteğe bağlı). Verilmezse Locale olmadan bölümüne bakın.
- Açıklama: İçeriği yorumlamak için kullanılacak yerel ayar veya dinamik sözlükler için bir seçici nesnesi.
plugins: Plugins[]- Açıklama: Temel yorumlayıcı eklentilerinin yerini alan özel düğüm dönüştürücüleri. Yalnızca ileri kullanım için; varsayılan davranışı korumak için atlayın.
- Tür:
Plugins[] - Gerekli: Hayır (İsteğe bağlı)
Döndürülen Değerler
- Tür: Sözlüğünüzün deklarasyonundan yazılan, yorumlanan içerik.
- Açıklama: Sözlüğünüzün
contentalanını yansıtan düz bir nesne; burada her Intlayer düğümü, istenen locale için nihai değerine çözülmüştür.
Örnek Kullanım
Temel Kullanım
Kodu panoya kopyala
Kodu panoya kopyala
import { getIntlayer } from "intlayer";
const { title } = getIntlayer("app", "fr"); // "Bonjour"
Locale olmadan
Hiçbir locale verilmediğinde getIntlayer doğrudan varsayılan locale'e düşmez. Sırasıyla şunları çözümler:
- Geçerli isteğin locale'i, sunucuda, isteği bir Intlayer entegrasyonu işlediğinde:
express-intlayer,fastify-intlayer,hono-intlayer,adonis-intlayerveelysia-intlayermiddleware'leri,remix-intlayerveastro-intlayermiddleware'leri ve React Server Components içindekiIntlayerProvider/setLocale. Her istek kendi cookie'lerinden ve header'larından çözümlenir, bu nedenle eşzamanlı kullanıcılar asla aynı locale'i paylaşmaz. - Tarayıcıda saklanan locale (cookie,
localStorage,sessionStorage), yani bir dil değiştiricinin kaydettiği locale. - Yapılandırmanızda tanımlanan
defaultLocale.
Kodu panoya kopyala
Aynı çözümleme getDictionary için, build eklentilerinin yeniden yazdığı çağrılar için ve bir provider dışında render edilen useIntlayer / useDictionaryDynamic için de geçerlidir. Açıkça verilen bir locale her zaman önceliklidir.
getIntlayer reaktif değildir: bir locale değişikliğinden sonra yeni locale'i okumak için onu tekrar çağırın. Sunucuda render edilen bir sayfada, herhangi bir provider dışında yapılan bir çağrı sunucuda varsayılan locale'i, tarayıcıda ise saklanan locale'i render eder ve bu bir hydration mismatch'e yol açabilir. Bu durumda framework'ünüzün provider'ını ekleyin veya locale'i verin.
Bir sunucu işleyicisinin içinde
Kodu panoya kopyala
Seçici ile (collections ve variants)
Kodu panoya kopyala
Davranış Notları
Önbellekleme
Sonuçlar, key + locale + selector ile anahtarlanan bir modül seviyesi önbelleğinde memoize edilir. getIntlayer("app", "fr") işlemini tekrar tekrar çağırmak sözlüğü bir kez yorumlar ve daha sonra aynı nesneyi döndürür.
Eksik sözlükler
Geliştirme sırasında, oluşturulmuş bir sözlüğü olmayan bir anahtarı istediğinizde, bir uyarı bir kez kaydedilir ve güvenli bir fallback proxy döndürülür: content.title öğesini okuduğunuzda hata atmak yerine "app.title" dizesini verir. Bu, eksik bildirim düzeltilirken bir sayfanın kullanılabilir kalmasını sağlar. Sözlüğün oluşturulması için Intlayer build'ini (veya geliştirme sunucusunu) çalıştırın.
Bundle boyutu
getIntlayer birleştirilmiş sözlüğü okur; bu sözlük her locale'i içerir. İstemci bundle'larında, build eklentileri çağrıyı yeniden yazarak yalnızca gerekli içeriğin gönderilmesini sağlar. Rendering dışında içerik okuyorsanız (metadata, loaders, server functions) ve talep üzerine tek bir locale yüklenmesini istiyorsanız, bunun yerine getIntlayerAsync kullanın.
İlgili Fonksiyonlar
TypeScript
Kodu panoya kopyala
