Merge pull request #148 from ericnakagawa/default-localization-english

This PR will create a default set of docs to use when localization is…
This commit is contained in:
Eric Nakagawa 2017-10-19 13:19:55 -07:00 committed by GitHub
commit 7f7459baa5
2 changed files with 32 additions and 1 deletions

View file

@ -13,6 +13,7 @@ const siteConfig = require(CWD + "/siteConfig.js");
const translation = require("../../server/translation.js");
const translate = require("../../server/translate.js").translate;
const setLanguage = require("../../server/translate.js").setLanguage;
const ENABLE_TRANSLATION = fs.existsSync(CWD + "/languages.js");
const ENABLE_VERSIONING = fs.existsSync(CWD + "/versions.json");
@ -20,7 +21,6 @@ let versions;
if (ENABLE_VERSIONING) {
versions = require(CWD + "/versions.json");
}
require("../../server/readMetadata.js").generateMetadataDocs();
const Metadata = require("../metadata.js");
// language dropdown nav item for when translations are enabled
@ -28,6 +28,7 @@ class LanguageDropDown extends React.Component {
render() {
const enabledLanguages = [];
let currentLanguage = "English";
setLanguage(this.props.language);
let helpTranslateString = translate(
"Help Translate|recruit community translators for your project"
);

View file

@ -181,6 +181,7 @@ function processMetadata(file) {
// process metadata for all docs and save into core/metadata.js
function generateMetadataDocs() {
console.log("Generating Metadata for Docs....");
const order = readSidebar();
const regexSubFolder = /translated_docs\/(.*)\/.*/;
@ -191,6 +192,7 @@ function generateMetadataDocs() {
});
const metadatas = {};
const defaultMetadatas = {};
// metadata for english files
let files = glob.sync(CWD + "/../docs/**");
@ -206,6 +208,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(currentLanguage => {
return currentLanguage != "en";
})
.map(currentLanguage => {
let baseMetadata = Object.assign({}, metadata);
baseMetadata["id"] = baseMetadata["id"]
.toString()
.replace(/^en-/, currentLanguage + "-");
if (baseMetadata["permalink"])
baseMetadata["permalink"] = baseMetadata["permalink"]
.toString()
.replace(/^docs\/en\//, "docs/" + currentLanguage + "/");
if (baseMetadata["next"])
baseMetadata["next"] = baseMetadata["next"]
.toString()
.replace(/^en-/, currentLanguage + "-");
if (baseMetadata["previous"])
baseMetadata["previous"] = baseMetadata["previous"]
.toString()
.replace(/^en-/, currentLanguage + "-");
baseMetadata["language"] = currentLanguage;
defaultMetadatas[baseMetadata["id"]] = baseMetadata;
});
Object.assign(metadatas, defaultMetadatas);
}
});