--- createdAt: 2026-05-04 updatedAt: 2026-05-04 title: Plurale description: Scopri come dichiarare e utilizzare contenuti plurali basati sulla localizzazione (basati su CLDR) nel tuo sito web multilingue. Segui i passaggi in questa documentazione online per configurare il tuo progetto in pochi minuti. keywords: - Plurale - Pluralizzazione - CLDR - Internazionalizzazione - Documentazione - Intlayer - Next.js - JavaScript - React slugs: - doc - concept - content - plural history: - version: 8.8.0 date: 2026-05-04 changes: "Init history" --- # Contenuto Plurale / Il plurale in Intlayer ## Come funziona il plurale In Intlayer, il contenuto plurale viene ottenuto tramite la funzione `plural`, che mappa le categorie plurali CLDR, `zero`, `one`, `two`, `few`, `many`, `other`, al loro contenuto corrispondente. La categoria corretta viene selezionata automaticamente in base alla locale attiva e a un valore di conteggio, utilizzando l'API integrata nella piattaforma [`Intl.PluralRules`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Intl/PluralRules). A differenza di [`enu`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/dictionary/enumeration.md), che seleziona il contenuto in base a intervalli numerici definiti da te, `plural` delega la selezione alle regole CLDR. Questo è ciò che lo rende scalabile per lingue con regole di pluralizzazione complesse, come il russo, il polacco, l'arabo o il gallese, senza dover scrivere manualmente la logica del modulo. ## Quando usare `plural` vs `enu` | Caso d'uso | Helper | | ----------------------------------------------------------------------------- | -------- | | Forme plurali grammaticali basate sulla locale (una mela / due mele / 5 mele) | `plural` | | Intervalli numerici personalizzati (`<5`, `>=10`) o bucket non CLDR | `enu` | Se ti rivolgi solo all'inglese o all'italiano (che hanno solo `one` / `other`), entrambi funzionano. Per qualsiasi lingua con distinzioni `few` / `many` / `two`, preferisci `plural`. ## Configurazione del contenuto plurale Per configurare il contenuto plurale nel tuo progetto Intlayer, crea un modulo di contenuto che utilizzi l'helper `plural`. La categoria `other` è obbligatoria e viene utilizzata come fallback quando una locale non definisce una categoria più specifica. ```typescript fileName="**/*.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]} import { plural, t, type Dictionary } from "intlayer"; const openingsContent = { key: "total_openings", content: { totalOpenings: t({ en: plural({ one: "{{count}} opening", other: "{{count}} openings", }), it: plural({ one: "{{count}} posizione aperta", other: "{{count}} posizioni aperte", }), }), }, } satisfies Dictionary; export default openingsContent; ``` ```json fileName="**/*.content.json" contentDeclarationFormat="json" { "$schema": "https://intlayer.org/schema.json", "key": "total_openings", "content": { "totalOpenings": { "nodeType": "translation", "translation": { "en": { "nodeType": "plural", "plural": { "one": "{{count}} opening", "other": "{{count}} openings" } }, "it": { "nodeType": "plural", "plural": { "one": "{{count}} posizione aperta", "other": "{{count}} posizioni aperte" } } } } } } ``` > Le categorie supportate sono `zero`, `one`, `two`, `few`, `many`, `other`. Devi solo dichiarare le categorie utilizzate dalla tua lingua di destinazione, Intlayer torna a `other` quando nessuna categoria specifica corrisponde. > > Il segnaposto `{{count}}` viene sostituito automaticamente con il conteggio passato in fase di esecuzione. Puoi includere anche altri segnaposto (vedi [Segnaposto personalizzati](#custom-placeholders) sotto). ## Utilizzo del contenuto plurale con React Intlayer Per utilizzare il contenuto plurale all'interno di un componente React, recuperalo tramite l'hook `useIntlayer` e chiamalo con un conteggio. La locale attiva e il conteggio vengono combinati per scegliere la categoria CLDR corrispondente. ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]} import type { FC } from "react"; import { useIntlayer } from "react-intlayer"; const OpeningsComponent: FC<{ count: number }> = ({ count }) => { const { totalOpenings } = useIntlayer("total_openings"); return (
{totalOpenings(count)}