StoryMapJS API
    Preparing search index...

    Interface LanguageEntry

    UI strings for the active locale.

    English is the fallback for every missing key (see getLanguage), so messages and buttons are guaranteed to be fully populated once a language has been set — they are typed as required here rather than as Record<string, string> | undefined so call sites do not need a null check on every one of the ~30 Language.messages.* reads.

    The locale JSON files themselves are not complete: only en.json defines every key, and 28 of the 29 bundled locales are missing 8-10 of them (the per-service consent strings and the fullscreen button labels). The runtime falls back to English per key, so this is a translation gap rather than a defect — npm run check:locales reports it.

    interface LanguageEntry {
        buttons: Record<string, string>;
        direction?: "ltr" | "rtl";
        lang?: string;
        messages: Record<string, string>;
        name?: string;
        [key: string]: unknown;
    }

    Indexable

    • [key: string]: unknown
    Index
    buttons: Record<string, string>
    direction?: "ltr" | "rtl"

    Writing direction; drives the vco-rtl layout.

    lang?: string

    BCP 47 code, e.g. "de".

    messages: Record<string, string>
    name?: string

    Display name of the language, e.g. "Deutsch".