@paroicms/site-generator-plugin
Version:
ParoiCMS Site Generator Plugin
43 lines (42 loc) • 1.46 kB
JavaScript
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;
}