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