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
- "Dinamik içerik özelliğinin sürümü"v9.0.012.06.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üleyinIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
Dinamik Kayıtlar
Bir dinamik kayıt (dynamic record), kimliği sıralı bir dizin (index) veya adlandırılmış bir varyant olmayan, bunun yerine bir meta alanında bildirilen rastgele anahtar-değer çiftleri kümesi olan bir içerik dosyasıdır. Intlayer, çalışma zamanında (runtime) bu alanları seçici olarak kullanır. Bu sayede CMS kayıtlarını, kullanıcıya özel metinleri veya derleme zamanında anahtarları bilinmeyen herhangi bir içeriği adreslemeyi mümkün kılar.
Dinamik kayıtları bildirme
Kodu panoya kopyala
import { t, type Dictionary } from "intlayer";
const dictionary = {
key: "product-copy",
meta: {
id: "prod_abc",
userId: "user_123",
},
content: {
name: t({ en: "Widget Pro", fr: "Widget Pro" }),
description: t({ en: "The best widget.", fr: "Le meilleur widget." }),
},
} satisfies Dictionary;
export default dictionary;Kodu panoya kopyala
import { t, type Dictionary } from "intlayer";
const dictionary = {
key: "product-copy",
meta: {
id: "prod_abcd",
userId: "user_123",
},
content: {
name: t({ en: "Widget Lite", fr: "Widget Lite" }),
description: t({ en: "A lighter option.", fr: "Une option plus légère." }),
},
} satisfies Dictionary;
export default dictionary;Dinamik kayıtları tüketme
Seçicide tüm meta alanları zorunludur. Herhangi bir alanın atlanması null döndürür ve bir TypeScript hatasıdır.
Kodu panoya kopyala
import { useIntlayer } from "react-intlayer";
export const ProductCopy = ({
productId,
userId,
}: {
productId: string;
userId: string;
}) => {
const content = useIntlayer("product-copy", { id: productId, userId });
// TypeScript hem `id` hem de `userId` alanlarının sağlanmasını zorunlu kılar.
if (!content) return null;
return <p>{content.description}</p>;
};Belirli dil seçeneği ile
Kodu panoya kopyala
const content = useIntlayer("product-copy", { id: "prod_abc", userId: "user_123", locale: "tr",});Eksik meta alanı — derleme zamanı hatası
Kodu panoya kopyala
// Tip hatası: `userId` eksikconst content = useIntlayer("product-copy", { id: "prod_abc" });Yükleme modu (loading mode)
Dinamik kayıtlar genellikle geç (lazy) yüklenir. Bunu kontrol etmek için sözlükte importMode alanını ayarlayın:
Kodu panoya kopyala
const dictionary = {
key: "product-copy",
importMode: "fetch", // veya "dynamic"
meta: { id: "prod_abc", userId: "user_123" },
content: { … },
} satisfies Dictionary;
export default dictionary;static, dynamic ve fetch modları hakkında ayrıntılı bilgi için paket optimizasyonu sayfasına bakın.
Tipik kullanım senaryoları
- Bir CMS'de yönetilen ürün başına pazarlama metinleri
- Kullanıcıya veya hesaba özel içerik
- Çalışma zamanında opak bir kimlikle (ID) anahtarlanan tüm içerikler