From 58613545b649f10ac28e223b0422a426bc3cfda0 Mon Sep 17 00:00:00 2001 From: Ricky Vetter Date: Mon, 23 Oct 2017 15:01:26 -0700 Subject: [PATCH] add translateable strings and allow overriding of english strings (#158) --- lib/core/Doc.js | 13 +++++++++++-- lib/write-translations.js | 24 ++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/lib/core/Doc.js b/lib/core/Doc.js index 56f67249a7..eba3f8928f 100644 --- a/lib/core/Doc.js +++ b/lib/core/Doc.js @@ -8,6 +8,15 @@ const React = require("react"); const Marked = require("./Marked.js"); +const translate = require("../server/translate.js").translate; + +const editThisDoc = translate( + "Edit this Doc|recruitment message asking to edit the doc source" +); +const translateThisDoc = translate( + "Translate this Doc|recruitment message asking to translate the docs" +); + // inner doc component for article itself class Doc extends React.Component { render() { @@ -17,7 +26,7 @@ class Doc extends React.Component { className="edit-page-link button" href={this.props.config.editUrl + this.props.source} target="_blank"> - Edit this Doc + {editThisDoc} ); if (this.props.language != "en") { @@ -31,7 +40,7 @@ class Doc extends React.Component { this.props.language } target="_blank"> - Translate this Doc + {translateThisDoc} ); } diff --git a/lib/write-translations.js b/lib/write-translations.js index 169814757f..df49c727bd 100755 --- a/lib/write-translations.js +++ b/lib/write-translations.js @@ -20,6 +20,14 @@ const babylon = require("babylon"); const traverse = require("babel-traverse").default; const sidebars = require(CWD + "/sidebars.json"); +let currentTranslations = { + "localized-strings": {}, + "pages-strings": {} +}; +if (fs.existsSync(path)) { + currentTranslations = JSON.parse(fs.readFileSync(CWD + "/i18n/en.json", "utf8")); +} + function writeFileAndCreateFolder(file, content) { mkdirp.sync(file.replace(new RegExp("/[^/]*$"), "")); fs.writeFileSync(file, content); @@ -121,6 +129,22 @@ function execute() { "Help Translate|recruit community translators for your project" ] = "Help Translate"; + translations["pages-strings"][ + "Edit this Doc|recruitment message asking to edit the doc source" + ] = + "Edit"; + translations["pages-strings"][ + "Translate this Doc|recruitment message asking to translate the docs" + ] = + "Translate"; + translations["pages-strings"] = Object.assign( + translations["pages-strings"], + currentTranslations["pages-strings"], + ); + translations["localized-strings"] = Object.assign( + translations["localized-strings"], + currentTranslations["localized-strings"], + ); writeFileAndCreateFolder( CWD + "/i18n/en.json", JSON.stringify(translations, null, 2)