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