\n\n```\n\n \n \n\nTo use enumeration in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:\n\n```svelte fileName=\"**/*.svelte\"\n\n\n
\n
{$content.numberOfCar(6)}
\n
\n```\n\n \n \n\nTo use enumeration in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:\n\n```tsx fileName=\"**/*.tsx\" codeFormat={[\"typescript\", \"esm\"]}\nimport type { FC } from \"preact\";\nimport { useIntlayer } from \"preact-intlayer\";\n\nconst CarComponent: FC = () => {\n const { numberOfCar } = useIntlayer(\"car_count\");\n\n return (\n
\n
{numberOfCar(6)}
\n
\n );\n};\n\nexport default CarComponent;\n```\n\n \n \n\nTo use enumeration in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:\n\n```tsx fileName=\"**/*.tsx\" codeFormat={[\"typescript\", \"esm\"]}\nimport type { Component } from \"solid-js\";\nimport { useIntlayer } from \"solid-intlayer\";\n\nconst CarComponent: Component = () => {\n const { numberOfCar } = useIntlayer(\"car_count\");\n\n return (\n
\n
{numberOfCar(6)}
\n
\n );\n};\n\nexport default CarComponent;\n```\n\n \n \n\nTo use enumeration in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:\n\n```typescript fileName=\"app.component.ts\" codeFormat=\"typescript\"\nimport { Component } from \"@angular/core\";\nimport { useIntlayer } from \"angular-intlayer\";\n\n@Component({\n selector: \"app-car\",\n template: `\n
\n
{{ content().numberOfCar(6) }}
\n
\n `,\n})\nexport class CarComponent {\n content = useIntlayer(\"car_count\");\n}\n```\n\n \n \n\nTo use enumeration with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:\n\n```typescript fileName=\"**/*.ts\" codeFormat={[\"typescript\", \"esm\"]}\nimport { installIntlayer, useIntlayer } from \"vanilla-intlayer\";\n\ninstallIntlayer();\n\nconst content = useIntlayer(\"car_count\").onChange((newContent) => {\n document.getElementById(\"cars\")!.textContent = newContent.numberOfCar(6);\n});\n\n// Initial render\ndocument.getElementById(\"cars\")!.textContent = content.numberOfCar(6);\n```\n\n \n\n\n## Risorse Aggiuntive\n\nPer informazioni più dettagliate sulla configurazione e sull'uso, fare riferimento alle seguenti risorse:\n\nIn questo esempio, il componente si adatta dinamicamente in base al numero di auto. Il contenuto corretto viene scelto automaticamente, a seconda dell'intervallo specificato.\n\n### Using Ordinal Enumeration\n\n\n \n\nTo use this in a React component, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:\n\n```tsx fileName=\"**/*.tsx\" codeFormat={[\"typescript\", \"esm\"]}\nimport type { FC } from \"react\";\nimport { useIntlayer } from \"react-intlayer\";\n\nconst RankingComponent: FC<{ count: number }> = ({ count }) => {\n const { ordinal } = useIntlayer(\"ranking_component\");\n\n // Get the last digit to determine the correct suffix\n const lastDigit = Math.abs(count) % 10;\n\n return (\n
\n );\n};\n```\n\n \n \n\nTo use this in Next.js Client Components, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:\n\n```tsx fileName=\"**/*.tsx\" codeFormat={[\"typescript\", \"esm\"]}\n\"use client\";\n\nimport type { FC } from \"react\";\nimport { useIntlayer } from \"next-intlayer\";\n\nconst RankingComponent: FC<{ count: number }> = ({ count }) => {\n const { ordinal } = useIntlayer(\"ranking_component\");\n const lastDigit = Math.abs(count) % 10;\n\n return (\n
\n
{ordinal(lastDigit)({ count })}
\n
\n );\n};\n\nexport default RankingComponent;\n```\n\n \n \n\nTo use this in Vue components, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:\n\n```vue fileName=\"**/*.vue\"\n\n\n\n
\n
{{ ordinal(Math.abs(count) % 10)({ count }) }}
\n
\n\n```\n\n \n \n\nTo use this in Svelte components, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:\n\n```svelte fileName=\"**/*.svelte\"\n\n\n
\n
{$content.ordinal(lastDigit)({ count })}
\n
\n```\n\n \n \n\nTo use this in Preact components, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:\n\n```tsx fileName=\"**/*.tsx\" codeFormat={[\"typescript\", \"esm\"]}\nimport type { FC } from \"preact\";\nimport { useIntlayer } from \"preact-intlayer\";\n\nconst RankingComponent: FC<{ count: number }> = ({ count }) => {\n const { ordinal } = useIntlayer(\"ranking_component\");\n const lastDigit = Math.abs(count) % 10;\n\n return (\n
\n
{ordinal(lastDigit)({ count })}
\n
\n );\n};\n\nexport default RankingComponent;\n```\n\n \n \n\nTo use this in SolidJS components, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:\n\n```tsx fileName=\"**/*.tsx\" codeFormat={[\"typescript\", \"esm\"]}\nimport type { Component } from \"solid-js\";\nimport { useIntlayer } from \"solid-intlayer\";\n\nconst RankingComponent: Component<{ count: number }> = (props) => {\n const { ordinal } = useIntlayer(\"ranking_component\");\n\n return (\n
\n );\n};\n\nexport default RankingComponent;\n```\n\n \n \n\nTo use this in Angular components, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:\n\n```typescript fileName=\"app.component.ts\" codeFormat=\"typescript\"\nimport { Component, Input } from \"@angular/core\";\nimport { useIntlayer } from \"angular-intlayer\";\n\n@Component({\n selector: \"app-ranking\",\n template: `\n
\n
{{ content().ordinal(lastDigit())({ count }) }}
\n
\n `,\n})\nexport class RankingComponent {\n @Input() count!: number;\n\n content = useIntlayer(\"ranking_component\");\n\n lastDigit() {\n return Math.abs(this.count) % 10;\n }\n}\n```\n\n \n \n\nTo use this with `vanilla-intlayer`, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:\n\n```typescript fileName=\"**/*.ts\" codeFormat={[\"typescript\", \"esm\"]}\nimport { installIntlayer, useIntlayer } from \"vanilla-intlayer\";\n\ninstallIntlayer();\n\nconst content = useIntlayer(\"ranking_component\");\nconst lastDigit = Math.abs(5) % 10;\n\ndocument.getElementById(\"ranking\")!.textContent = content.ordinal(lastDigit)({\n count: 5,\n});\n```\n\n \n\n\n## Risorse Aggiuntive\n\nPer informazioni più dettagliate sulla configurazione e l'uso, fare riferimento alle seguenti risorse:\n\n- [Documentazione CLI di Intlayer](/it/doc/concept/cli)\n- [Documentazione React Intlayer](/it/doc/environment/create-react-app)\n- [Documentazione Next Intlayer](/it/doc/environment/nextjs/15)\n\nQueste risorse forniscono ulteriori approfondimenti sull'installazione e l'uso di Intlayer in diversi ambienti e con vari framework.\n\n## Combining Enumeration with Insert for Ordinal Numbers\n\n\n \n\nTo use enumeration in a React component, you can leverage the `useIntlayer` hook from the `react-intlayer` package. This hook retrieves the correct content based on the specified ID. Here's an example of how to use it:\n\n```tsx fileName=\"**/*.tsx\" codeFormat={[\"typescript\", \"esm\"]}\nimport type { FC } from \"react\";\nimport { useIntlayer } from \"react-intlayer\";\n\nconst CarComponent: FC = () => {\n const { numberOfCar } = useIntlayer(\"car_count\");\n\n return (\n
\n );\n};\n```\n\n \n \n\nTo use enumeration in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:\n\n```tsx fileName=\"**/*.tsx\" codeFormat={[\"typescript\", \"esm\"]}\n\"use client\";\n\nimport type { FC } from \"react\";\nimport { useIntlayer } from \"next-intlayer\";\n\nconst CarComponent: FC = () => {\n const { numberOfCar } = useIntlayer(\"car_count\");\n\n return (\n
\n
{numberOfCar(6)}
\n
\n );\n};\n\nexport default CarComponent;\n```\n\n \n \n\nTo use enumeration in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:\n\n```vue fileName=\"**/*.vue\"\n\n\n\n
\n
{{ numberOfCar(6) }}
\n
\n\n```\n\n \n \n\nTo use enumeration in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:\n\n```svelte fileName=\"**/*.svelte\"\n\n\n
\n
{$content.numberOfCar(6)}
\n
\n```\n\n \n \n\nTo use enumeration in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:\n\n```tsx fileName=\"**/*.tsx\" codeFormat={[\"typescript\", \"esm\"]}\nimport type { FC } from \"preact\";\nimport { useIntlayer } from \"preact-intlayer\";\n\nconst CarComponent: FC = () => {\n const { numberOfCar } = useIntlayer(\"car_count\");\n\n return (\n
\n
{numberOfCar(6)}
\n
\n );\n};\n\nexport default CarComponent;\n```\n\n \n \n\nTo use enumeration in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:\n\n```tsx fileName=\"**/*.tsx\" codeFormat={[\"typescript\", \"esm\"]}\nimport type { Component } from \"solid-js\";\nimport { useIntlayer } from \"solid-intlayer\";\n\nconst CarComponent: Component = () => {\n const { numberOfCar } = useIntlayer(\"car_count\");\n\n return (\n
\n
{numberOfCar(6)}
\n
\n );\n};\n\nexport default CarComponent;\n```\n\n \n \n\nTo use enumeration in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:\n\n```typescript fileName=\"app.component.ts\" codeFormat=\"typescript\"\nimport { Component } from \"@angular/core\";\nimport { useIntlayer } from \"angular-intlayer\";\n\n@Component({\n selector: \"app-car\",\n template: `\n
\n
{{ content().numberOfCar(6) }}
\n
\n `,\n})\nexport class CarComponent {\n content = useIntlayer(\"car_count\");\n}\n```\n\n \n \n\nTo use enumeration with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:\n\n```typescript fileName=\"**/*.ts\" codeFormat={[\"typescript\", \"esm\"]}\nimport { installIntlayer, useIntlayer } from \"vanilla-intlayer\";\n\ninstallIntlayer();\n\nconst content = useIntlayer(\"car_count\").onChange((newContent) => {\n document.getElementById(\"cars\")!.textContent = newContent.numberOfCar(6);\n});\n\n// Initial render\ndocument.getElementById(\"cars\")!.textContent = content.numberOfCar(6);\n```\n\n \n\n## Additional Resources\n\nFor more detailed information on configuration and usage, refer to the following resources:\n\n- [Intlayer CLI Documentation](/it/doc/concept/cli)\n- [React Intlayer Documentation](/it/doc/environment/create-react-app)\n- [Next Intlayer Documentation](/it/doc/environment/nextjs/15)\n\nThese resources provide further insights into the setup and usage of Intlayer in different environments and with various frameworks.\n","description":"Scopri come dichiarare e utilizzare le enumerazioni nel tuo sito web multilingue. Segui i passaggi in questa documentazione online per configurare il tuo progetto in pochi minuti.","url":"https://intlayer.org/it/doc/concept/content/enumeration","datePublished":"2024-08-11","dateModified":"2025-06-29","version":"5.5.10","keywords":"Enumerazione, Internazionalizzazione, Documentazione, Intlayer, Next.js, JavaScript, React","license":"https://raw.githubusercontent.com/aymericzip/intlayer/refs/heads/main/LICENSE","audience":{"@type":"Audience","audienceType":"Sviluppatori, Manager dei contenuti"}}
Copia il Markdown del documento nella porta-documenti
Enumerazione / Pluralizzazione
Come Funziona l'Enumerazione
In Intlayer, l'enumerazione viene realizzata tramite la funzione enu, che associa chiavi specifiche ai loro contenuti corrispondenti. Queste chiavi possono rappresentare valori numerici, intervalli o identificatori personalizzati. Quando utilizzata con React Intlayer o Next Intlayer, il contenuto appropriato viene selezionato automaticamente in base alla localizzazione dell'applicazione e alle regole definite.
Configurare l'Enumerazione
Per configurare l'enumerazione nel tuo progetto Intlayer, devi creare un modulo di contenuto che includa le definizioni di enumerazione. Ecco un esempio di una semplice enumerazione per il numero di automobili:
**/*.content.ts
Copiare il codice
Copiare il codice nella clipboard
import { enu, type Dictionary } from "intlayer";
const carEnumeration = {
key: "car_count",
content: {
numberOfCar: enu({
"<-1": "Meno di meno una macchina",
"-1": "Meno una macchina",
"0": "Nessuna macchina",
"1": "Una macchina",
">5": "Alcune macchine",
">19": "Molte macchine",
"fallback": "Valore di riserva", // Opzionale
}),
},
} satisfies Dictionary;
export default carEnumeration;
In questo esempio, enu associa varie condizioni a contenuti specifici. Quando utilizzato in un componente React, Intlayer può scegliere automaticamente il contenuto appropriato in base alla variabile fornita.
L'ordine di dichiarazione è importante nelle enumerazioni di Intlayer. La prima dichiarazione valida è quella che verrà utilizzata. Se si applicano più condizioni, assicurarsi che siano ordinate correttamente per evitare comportamenti imprevisti.
Se non viene dichiarato un valore di riserva (fallback), la funzione restituirà undefined se nessuna chiave corrisponde.
Utilizzo delle Enumerazioni con React Intlayer
To use enumeration in a React component, you can leverage the useIntlayer hook from the react-intlayer package. This hook retrieves the correct content based on the specified ID. Here's an example of how to use it:
**/*.tsx
Copiare il codice
Copiare il codice nella clipboard
import type { FC } from "react";
import { useIntlayer } from "react-intlayer";
const CarComponent: FC = () => {
const { numberOfCar } = useIntlayer("car_count");
return (
<div>
<p>
{
numberOfCar(0) // Output: No cars
}
</p>
<p>
{
numberOfCar(6) // Output: Some cars
}
</p>
<p>
{
numberOfCar(20) // Output: Many cars
}
</p>
<p>
{
numberOfCar(0.01) // Output: Fallback value
}
</p>
</div>
);
};
To use enumeration in Next.js Client Components, retrieve it via the useIntlayer hook. Here's an example:
**/*.tsx
Copiare il codice
Copiare il codice nella clipboard
"use client";
import type { FC } from "react";
import { useIntlayer } from "next-intlayer";
const CarComponent: FC = () => {
const { numberOfCar } = useIntlayer("car_count");
return (
<div>
<p>{numberOfCar(6)}</p>
</div>
);
};
export default CarComponent;
To use enumeration in Vue components, retrieve it via the useIntlayer hook. Here's an example:
Per informazioni più dettagliate sulla configurazione e sull'uso, fare riferimento alle seguenti risorse:
In questo esempio, il componente si adatta dinamicamente in base al numero di auto. Il contenuto corretto viene scelto automaticamente, a seconda dell'intervallo specificato.
Using Ordinal Enumeration
To use this in a React component, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:
**/*.tsx
Copiare il codice
Copiare il codice nella clipboard
import type { FC } from "react";
import { useIntlayer } from "react-intlayer";
const RankingComponent: FC<{ count: number }> = ({ count }) => {
const { ordinal } = useIntlayer("ranking_component");
// Get the last digit to determine the correct suffix
const lastDigit = Math.abs(count) % 10;
return (
<div>
<p>
{
ordinal(lastDigit)({ count }) // e.g., "5th place" for count=5
}
</p>
</div>
);
};
To use this in Next.js Client Components, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:
To use this in Vue components, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:
To use this in Svelte components, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:
**/*.svelte
Copiare il codice
Copiare il codice nella clipboard
<script lang="ts">import { useIntlayer } from "svelte-intlayer";export let count: number;const content = useIntlayer("ranking_component");$: lastDigit = Math.abs(count) % 10;</script><div><p>{$content.ordinal(lastDigit)({ count })}</p></div>
To use this in Preact components, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:
**/*.tsx
Copiare il codice
Copiare il codice nella clipboard
import type { FC } from "preact";
import { useIntlayer } from "preact-intlayer";
const RankingComponent: FC<{ count: number }> = ({ count }) => {
const { ordinal } = useIntlayer("ranking_component");
const lastDigit = Math.abs(count) % 10;
return (
<div>
<p>{ordinal(lastDigit)({ count })}</p>
</div>
);
};
export default RankingComponent;
To use this in SolidJS components, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:
To use this in Angular components, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:
To use this with vanilla-intlayer, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:
Queste risorse forniscono ulteriori approfondimenti sull'installazione e l'uso di Intlayer in diversi ambienti e con vari framework.
Combining Enumeration with Insert for Ordinal Numbers
To use enumeration in a React component, you can leverage the useIntlayer hook from the react-intlayer package. This hook retrieves the correct content based on the specified ID. Here's an example of how to use it:
**/*.tsx
Copiare il codice
Copiare il codice nella clipboard
import type { FC } from "react";
import { useIntlayer } from "react-intlayer";
const CarComponent: FC = () => {
const { numberOfCar } = useIntlayer("car_count");
return (
<div>
<p>
{
numberOfCar(0) // Output: No cars
}
</p>
<p>
{
numberOfCar(6) // Output: Some cars
}
</p>
<p>
{
numberOfCar(20) // Output: Many cars
}
</p>
<p>
{
numberOfCar(0.01) // Output: Fallback value
}
</p>
</div>
);
};
To use enumeration in Next.js Client Components, retrieve it via the useIntlayer hook. Here's an example:
**/*.tsx
Copiare il codice
Copiare il codice nella clipboard
"use client";
import type { FC } from "react";
import { useIntlayer } from "next-intlayer";
const CarComponent: FC = () => {
const { numberOfCar } = useIntlayer("car_count");
return (
<div>
<p>{numberOfCar(6)}</p>
</div>
);
};
export default CarComponent;
To use enumeration in Vue components, retrieve it via the useIntlayer hook. Here's an example: