diff --git a/gulpfile.js b/gulpfile.js index acce248b1..b6569257b 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -60,6 +60,7 @@ var channelPostfix = argv.channel || false, fixEnabled = argv.fix || false, nightly = argv.nightly || false, buildNumber = argv.buildNum || false; +var verbose = argv.verbose || false; if (nightly) { channelPostfix = 'nightly'; @@ -311,7 +312,7 @@ const lintTags = () => { .pipe(eslint.failAfterError()); }; -const lintI18n = () => require('./node_requires/i18n')().then(console.log); +const lintI18n = () => require('./node_requires/i18n')(verbose).then(console.log); const lint = gulp.series(lintJS, lintTags, lintStylus, lintI18n); diff --git a/node_requires/i18n/index.js b/node_requires/i18n/index.js index 49e3c2b80..fb27c98d0 100644 --- a/node_requires/i18n/index.js +++ b/node_requires/i18n/index.js @@ -90,7 +90,7 @@ const getSuitableBreakpoint = (percent, short) => { return 'WTF?'; }; -module.exports = async () => { +module.exports = async (verbose) => { const fileNames = (await fs.readdir('./app/data/i18n')).filter(file => path.extname(file) === '.json' && file !== 'Comments.json' && @@ -117,10 +117,14 @@ module.exports = async () => { // eslint-disable-next-line no-nested-ternary `Coverage: ${report.stats[lang]}% ${getSuitableBreakpoint(report.stats[lang])} Not translated: ${report.untranslated[lang].length}` + -(report.untranslated[lang].length > 0 ? '\n' + report.untranslated[lang].map(key => ` ${key}`).join('\n') : '') + +((verbose && report.untranslated[lang].length > 0) ? '\n' + report.untranslated[lang].map(key => ` ${key}`).join('\n') : '') + `\nExcess: ${report.excess[lang].length} ${report.excess[lang].length ? 'āš ļø '.repeat(Math.min(10, report.excess[lang].length)) : 'āœ…'}\n` + (report.excess[lang].length > 0 ? report.excess[lang].map(key => ` ${key}`).join('\n') : '')).join('\n\n'); + if (!verbose) { + reportText += '\nšŸ‘‰ Use --verbose flag to log all the untranslated keys.'; + } + reportText += '\n\nStats:\n'; for (const lang in report.stats) { reportText += ` ${getSuitableBreakpoint(report.stats[lang], true)} ${report.stats[lang]}% ${lang}\n`;