Ask your question and get a summary of the document by referencing this page and the AI provider of your choice
By integrating the Intlayer MCP Server to your favourite AI assistant can retrieve all the doc directly from ChatGPT, DeepSeek, Cursor, VSCode, etc.
See MCP Server docThe content of this page was translated using an AI.
See the last version of the original content in EnglishIf 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
Enumeration / Pluralisation
How Enumeration Works
In Intlayer, enumeration is achieved through the enu function, which maps specific keys to their corresponding content. These keys can represent numeric values, ranges, or custom identifiers. When used with React Intlayer or Next Intlayer, the appropriate content is automatically selected based on the application's locale and defined rules.
Setting Up Enumeration
To set up enumeration in your Intlayer project, you need to create a content module that includes enumeration definitions. Here's an example of a simple enumeration for the number of cars:
Copy the code to the clipboard
import { enu, type Dictionary } from "intlayer";const carEnumeration = { key: "car_count", content: { numberOfCar: enu({ "<-1": "Less than minus one car", "-1": "Minus one car", "0": "No cars", "1": "One car", ">5": "Some cars", ">19": "Many cars", "fallback": "Fallback value", // Optional }), },} satisfies Dictionary;export default carEnumeration;
In this example, enu maps various conditions to specific content. When used in a React component, Intlayer can automatically select the appropriate content based on the given variable.
The order of declaration is important in Intlayer enumerations. The first valid declaration is the one that will be chosen. If multiple conditions apply, ensure they are ordered correctly to avoid unexpected behaviour.
If no fallback is declared, the function will return undefined if no keys match.
Using Enumeration with 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:
Copy the code to the 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> );};
In this example, the component dynamically adjusts its output based on the number of cars. The correct content is chosen automatically, depending on the specified range.
Additional Resources
For more detailed information on configuration and usage, refer to the following resources:
These resources provide further insights into the setup and usage of Intlayer in different environments and with various frameworks.
Doc History
- 5.5.10 - 2025-06-29: Initial history