UNPKG

@paroicms/site-generator-plugin

Version:

ParoiCMS Site Generator Plugin

43 lines (42 loc) 1.46 kB
export function createL10n(analysis, siteSchema) { const l10n = {}; const language = analysis.siteProperties.language; const siteLocales = analysis.siteProperties.theme ? { siteTheme: analysis.siteProperties.theme, nodeTypes: {}, } : { nodeTypes: {}, }; l10n[language] = siteLocales; const typeLabels = l10n[language].nodeTypes; for (const nodeType of siteSchema.nodeTypes ?? []) { if (nodeType.kind === "site") continue; const saType = analysis.dictionary[nodeType.typeName]; if (!saType) continue; const currentEntry = { label: saType.label, }; if (saType.description) { currentEntry.description = saType.description; } if (nodeType.kind === "document" && nodeType.lists) { currentEntry.lists = {}; for (const list of nodeType.lists) { const listEntry = analysis.dictionary[list.listName]; const listLocales = { label: listEntry?.label ?? list.listName, }; currentEntry.lists[list.listName] = listLocales; if (listEntry?.description) { listLocales.description = listEntry?.description; } } } typeLabels[nodeType.typeName] = currentEntry; } return l10n; }