From 09de5e1e8387327f709386ca20e66aabebb455e1 Mon Sep 17 00:00:00 2001 From: lealife Date: Sat, 19 Mar 2016 15:46:41 +0800 Subject: [PATCH] Gulp js i18n generator --- Gulpfile.js | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/Gulpfile.js b/Gulpfile.js index e037419..d9b9265 100644 --- a/Gulpfile.js +++ b/Gulpfile.js @@ -239,19 +239,18 @@ gulp.task('i18n', function() { var files = fs.readdirSync(messagesPath); for(fn in files) { var fname = files[fn]; - langs[fname.split('.')[1]] = 1; + if (fname.indexOf('-') > 0) { + langs[fname] = 1; + } } return langs; } // msg.zh, msg.js - function genI18nJsFile(fromFilename, otherNames, keys) { + function genI18nJsFile(targetFilename, lang, fromFilenames, keys) { var msgs = {}; - otherNames.unshift(fromFilename); - // console.log(fromFilename); - // console.log(otherNames); - otherNames.forEach(function (name) { - var tmpMsgs = getAllMsgs(leanoteBase + '/messages/' + name); + fromFilenames.forEach(function (name) { + var tmpMsgs = getAllMsgs(leanoteBase + '/messages/' + lang + '/' + name + '.conf'); for (var i in tmpMsgs) { msgs[i] = tmpMsgs[i]; } @@ -276,20 +275,20 @@ gulp.task('i18n', function() { '}'; // 写入到文件中 - var toFilename = fromFilename + '.js'; + var toFilename = targetFilename + '.' + lang + '.js'; fs.writeFile(base + '/js/i18n/' + toFilename, str); } function genTinymceLang(lang) { - var msgs = getAllMsgs(leanoteBase + 'messages/tinymce_editor.' + lang); + var msgs = getAllMsgs(leanoteBase + 'messages/' + lang + '/tinymce_editor.conf'); var str = 'tinymce.addI18n("' + lang + '",' + JSON.stringify(msgs) + ');'; fs.writeFile(base + '/tinymce/langs/' + lang + '.js', str); } var langs = getAllLangs(); for (var lang in langs) { - genI18nJsFile('blog.' + lang, [], keys); - genI18nJsFile('msg.' + lang, ['member.' + lang, 'markdown.' + lang, 'album.' + lang], keys); + genI18nJsFile('blog', lang, ['blog'], keys); + genI18nJsFile('msg', lang, ['msg', 'member', 'markdown', 'album'], keys); genTinymceLang(lang); }