diff --git a/.gitignore b/.gitignore index ee2ed95e2..548cfd7b3 100644 --- a/.gitignore +++ b/.gitignore @@ -87,3 +87,5 @@ docs/_build data/ .env + +po/*.po diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 94b40bed3..217047794 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -68,6 +68,8 @@ build_front: script: - yarn install + - yarn run i18n-extract + - yarn run i18n-compile - yarn run build cache: key: "$CI_PROJECT_ID__front_dependencies" diff --git a/front/build/i18n.js b/front/build/i18n.js index 8739d06d2..ef31070c7 100644 --- a/front/build/i18n.js +++ b/front/build/i18n.js @@ -29,6 +29,17 @@ fs.readdir(poDir, (err, files) => { console.log(err) } else { console.log(`Wrote translation file: ${output}`) + if (lang === 'en') { + // for english, we need to specify that json values are equal to the keys. + // otherwise we end up with empty strings on the front end for english + var contents = fs.readFileSync(output) + var jsonContent = JSON.parse(contents) + var finalContent = {} + Object.keys(jsonContent).forEach(function(key) { + finalContent[key] = key + }) + fs.writeFile(output, JSON.stringify(finalContent)) + } } }) }) @@ -36,4 +47,3 @@ fs.readdir(poDir, (err, files) => { } } }) - diff --git a/front/package.json b/front/package.json index 02fffe45e..8844e8bee 100644 --- a/front/package.json +++ b/front/package.json @@ -8,7 +8,8 @@ "dev": "node build/dev-server.js", "start": "node build/dev-server.js", "build": "node build/build.js", - "i18n-extract": "find src/ -name '*.vue' | xargs vendor/vue-i18n-xgettext/index.js", + "i18n-extract": "find src/ -name '*.vue' | xargs vendor/vue-i18n-xgettext/index.js > ../po/en.po", + "i18n-compile": "node build/i18n.js", "unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run", "unit-watch": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js", "e2e": "node test/e2e/runner.js", diff --git a/po/.gitkeep b/po/.gitkeep new file mode 100644 index 000000000..e69de29bb