diff --git a/lib/server/readMetadata.js b/lib/server/readMetadata.js index 7c71981c47..4429668741 100644 --- a/lib/server/readMetadata.js +++ b/lib/server/readMetadata.js @@ -191,6 +191,7 @@ function generateMetadataDocs() { }); const metadatas = {}; + const defaultMetadatas = {}; // metadata for english files let files = glob.sync(CWD + "/../docs/**"); @@ -206,6 +207,34 @@ function generateMetadataDocs() { } let metadata = res.metadata; metadatas[metadata.id] = metadata; + + // create a default list of documents for each enabled language based on docs in English + // these will get replaced if/when the localized file is downloaded from crowdin + enabledLanguages + .filter(language => { + return language != "en"; + }) + .map(language => { + let baseMetadata = Object.assign({}, metadata); + baseMetadata["id"] = baseMetadata["id"] + .toString() + .replace(/^en-/, language + "-"); + if (baseMetadata["permalink"]) + baseMetadata["permalink"] = baseMetadata["permalink"] + .toString() + .replace(/^ddocs\/en/, "docs/" + language + "/"); + if (baseMetadata["next"]) + baseMetadata["next"] = baseMetadata["next"] + .toString() + .replace(/^en-/, language + "-"); + if (baseMetadata["previous"]) + baseMetadata["previous"] = baseMetadata["previous"] + .toString() + .replace(/^en-/, language + "-"); + baseMetadata["language"] = language; + defaultMetadatas[baseMetadata["id"]] = baseMetadata; + }); + Object.assign(metadatas, defaultMetadatas); } });