UNPKG

studiocms

Version:

Astro Native CMS for AstroDB. Built from the ground up by the Astro community.

31 lines (30 loc) 1.15 kB
import { availableTranslations, currentFlags } from "studiocms:i18n/virtual"; const defaultLang = "en"; const baseServerTranslations = (await import("./translations/en.json", { assert: { type: "json" } })).default; const serverUiTranslations = { en: baseServerTranslations, ...availableTranslations }; const uiTranslationsAvailable = Object.keys(serverUiTranslations); const clientUiTranslations = Object.entries( serverUiTranslations ).reduce((acc, [key, value]) => { acc[key] = value.translations; return acc; }, {}); const languageSelectorOptions = currentFlags.map((translation) => { const possibleDisplayName = serverUiTranslations[translation.key]?.displayName; const displayName = typeof possibleDisplayName === "string" && possibleDisplayName.trim() ? possibleDisplayName : ( /* v8 ignore start */ String(translation.key) ); return { ...translation, displayName }; }).sort((a, b) => a.displayName.localeCompare(b.displayName, void 0, { sensitivity: "base" })); export { baseServerTranslations, clientUiTranslations, defaultLang, languageSelectorOptions, serverUiTranslations, uiTranslationsAvailable };