diff --git a/lib/server/server.js b/lib/server/server.js index ebc1d133fe..02bf1f015e 100644 --- a/lib/server/server.js +++ b/lib/server/server.js @@ -21,6 +21,7 @@ function execute(port) { const toSlug = require("../core/toSlug.js"); const mkdirp = require("mkdirp"); const glob = require("glob"); + const translate = require("./translate.js"); let siteConfig = require(CWD + "/siteConfig.js"); /** @@ -289,6 +290,13 @@ function execute(port) { language = parts[i]; } } + let englishFile = CWD + "/pages/" + file; + if (language !== "en") { + englishFile = englishFile.replace("/" + language + "/", "/en/"); + } + + /* check for: a file for the page, an english file for page with unspecified language, + english file for the page */ if ( fs.existsSync(userFile) || fs.existsSync( @@ -296,7 +304,8 @@ function execute(port) { path.basename(userFile), "en/" + path.basename(userFile) )) - ) + ) || + fs.existsSync((userFile = englishFile)) ) { /* copy into docusaurus so require paths work */ let parts = userFile.split("pages/"); @@ -313,6 +322,7 @@ function execute(port) { const ReactComp = require(tempFile); purgeCache("../core/Site.js"); const Site = require("../core/Site.js"); + translate.setLanguage(language); const str = renderToStaticMarkup( diff --git a/lib/start-server.js b/lib/start-server.js index 19287e2f3d..66a17aa2e6 100644 --- a/lib/start-server.js +++ b/lib/start-server.js @@ -11,6 +11,7 @@ require("babel-register")({ ignore: false, + plugins: [require("./server/translate-plugin.js")], presets: ["react"] });