Documentation: getTranslationContent Function in intlayer
Description
The getTranslationContent function retrieves the content corresponding to a specific locale from a set of customizable language content. If the specified locale is not found, it defaults to returning the content for the default locale configured in the project.
Parameters
languageContent: CustomizableLanguageContent<Content>
- Description: An object containing translations for various locales. Each key represents a locale, and its value is the corresponding content.
- Type: CustomizableLanguageContent<Content>
- Content can be any type, defaulting to string.
locale: Locales
- Description: The locale for which content is to be retrieved.
- Type: Locales
Returns
- Type: Content
- Description: The content corresponding to the specified locale. If the locale is not found, the content of the default locale is returned.
Example Usage
Basic Usage
typescript
import { getTranslationContent, Locales } from "intlayer";const content = getTranslationContent( { en: "Hello", fr: "Bonjour", }, Locales.ENGLISH);console.log(content); // Output: "Bonjour"
Missing Locale:
typescript
import { getTranslationContent, Locales } from "intlayer";const content = getTranslationContent( { en: "Hello", fr: "Bonjour", }, Locales.SPANISH);console.log(content); // Output: "Hello" (default locale content)
Using Custom Content Types:
typescript
import { getTranslationContent, Locales } from "intlayer";const customContent = getTranslationContent<Record<string, string>>( { en: { greeting: "Hello" }, fr: { greeting: "Bonjour" }, }, Locales.FRENCH);console.log(customContent.greeting); // Output: "Bonjour"
Edge Cases
- Locale Not Found:
- When the locale is not found in the languageContent, the function returns the content for the default locale.
- Incomplete Language Content:
- If a locale is partially defined, the function does not merge contents. It strictly retrieves the value of the specified locale or falls back to the default.
- TypeScript Enforcement:
- If the locales in languageContent do not match the project configuration, TypeScript will enforce all required locales to be defined, ensuring the content is complete and type-safe.
If you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentation