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