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
- "Init history"v8.8.004.05.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
Çoğul İçerik / Intlayer'da Çoğul
Çoğul Nasıl Çalışır?
Intlayer'da çoğul içerik, CLDR çoğul kategorilerini (zero, one, two, few, many, other) ilgili içerikleriyle eşleştiren plural işlevi aracılığıyla elde edilir. Doğru kategori, platformun yerleşik Intl.PluralRules API'si kullanılarak aktif yerele ve bir sayı değerine göre otomatik olarak seçilir.
Kendi tanımladığınız sayısal aralıklara göre içerik seçen enu işlevinden farklı olarak, plural seçimi CLDR kurallarına devreder. Rusça, Lehçe, Arapça veya Galce gibi karmaşık çoğullaştırma kurallarına sahip diller için, elle modülo mantığı yazmak zorunda kalmadan ölçeklenebilir olmasını sağlayan şey budur.
Ne Zaman plural vs enu Kullanılmalı?
Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın
| Kullanım durumu | Yardımcı |
|---|---|
| Yerele duyarlı dilbilgisel çoğul formlar (bir elma / iki elma / 5 elma) | plural |
Özel sayısal aralıklar (<5, >=10) veya CLDR dışı gruplar | enu |
Sadece İngilizceyi hedefliyorsanız (sadece one / other vardır), her ikisi de çalışır. few / many / two ayrımları olan herhangi bir dil için plural tercih edin.
Çoğul İçeriği Ayarlama
Intlayer projenizde çoğul içeriği ayarlamak için plural yardımcısını kullanan bir içerik modülü oluşturun. other kategorisi zorunludur ve bir yerel daha spesifik bir kategori tanımlamadığında yedek olarak kullanılır.
Kodu panoya kopyala
import { plural, t, type Dictionary } from "intlayer";
const openingsContent = {
key: "total_openings",
content: {
totalOpenings: t({
en: plural({
one: "{{count}} opening",
other: "{{count}} openings",
}),
tr: plural({
one: "{{count}} açık pozisyon",
other: "{{count}} açık pozisyon",
}),
}),
},
} satisfies Dictionary;
export default openingsContent;Desteklenen kategoriler
zero,one,two,few,many,other'dır. Sadece hedef dilinizin kullandığı kategorileri beyan etmeniz yeterlidir, Intlayer, belirli bir kategori eşleşmediğindeotherkategorisine geri döner.
{{count}}yer tutucusu, çalışma zamanında ilettiğiniz sayıyla otomatik olarak değiştirilir. Diğer yer tutucuları da dahil edebilirsiniz (aşağıdaki Özel yer tutucular bölümüne bakın).
React Intlayer ile Çoğul İçeriği Kullanma
React bileşeni içinde çoğul içeriği kullanmak için, useIntlayer kancası aracılığıyla içeriği alın ve bir sayıyla çağırın. Aktif yerel ve sayı, eşleşen CLDR kategorisini seçmek için birleştirilir.
Kodu panoya kopyala
import type { FC } from "react";
import { useIntlayer } from "react-intlayer";
const OpeningsComponent: FC<{ count: number }> = ({ count }) => {
const { totalOpenings } = useIntlayer("total_openings");
return (
<div>
{/* İngilizcede: */}
{/* count=0 → "0 openings" (other) */}
{/* count=1 → "1 opening" (one) */}
{/* count=2 → "2 openings" (other) */}
{/* count=21 → "21 openings" (other) */}
<p>{totalOpenings(count)}</p>
</div>
);
};
export default OpeningsComponent;Döndürülen işlevi iki eşdeğer şekilde çağırabilirsiniz:
Kodu panoya kopyala
totalOpenings(21); // kısa yol: sadece sayıtotalOpenings({ count: 21 }); // açık formÖzel yer tutucular
Çoğul dizeler {{count}} dışındaki yer tutucuları içerebilir. Bunları count ile birlikte nesne formunda iletin:
Kodu panoya kopyala
import { plural, type Dictionary } from "intlayer";
const inboxContent = {
key: "inbox_summary",
content: {
summary: plural({
one: "{{name}}, {{count}} yeni mesajınız var",
other: "{{name}}, {{count}} yeni mesajınız var",
}),
},
} satisfies Dictionary;
export default inboxContent;Kodu panoya kopyala
const { summary } = useIntlayer("inbox_summary");
summary({ count: 1, name: "Alice" });
// → "Alice, 1 yeni mesajınız var"
summary({ count: 7, name: "Alice" });
// → "Alice, 7 yeni mesajınız var"Bir Bakışta CLDR Kategorileri
Farklı diller CLDR kategorilerinin farklı alt kümelerini kullanır. Birkaç yaygın durum:
Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın
| Dil | Kullanılan kategoriler |
|---|---|
İngilizce (en) | one, other |
Fransızca (fr) | one, many, other |
Rusça (ru) | one, few, many, other |
Lehçe (pl) | one, few, many, other |
Arapça (ar) | zero, one, two, few, many, other |
| Japonca / Çince | sadece other |
Bunu ezberlemenize gerek yok, çevirilerinizin olduğu kategorileri beyan edin, Intlayer gerektiğinde other kategorisine geri dönecektir.
Sınırlama
Diğer düğümlere kıyasla, plural henüz alt düğümlerle iç içe geçemez.
Örnek:
Geçerli:
Kodu panoya kopyala
totalOpenings: t({ en: plural({ one: "{{count}} opening", other: "{{count}} openings", }), fr: plural({ one: "{{count}} offre", other: "{{count}} offres", }), }),Geçersiz:
Kodu panoya kopyala
totalOpenings: plural({ one: t({ en: "{{count}} opening", fr: "{{count}} offre", }), other: t({ en: "{{count}} openings", fr: "{{count}} offres", }),}),Ek Kaynaklar
Yapılandırma ve kullanım hakkında daha ayrıntılı bilgi için aşağıdaki kaynaklara bakın:
- Enumeration Belgeleri
- Insertion Belgeleri
- Intlayer CLI Belgeleri
- React Intlayer Belgeleri
- Next Intlayer Belgeleri
Bu kaynaklar, Intlayer'ın çeşitli ortamlarda ve çerçevelerde kurulumu ve kullanımı hakkında daha fazla bilgi sunar.