From 4b14c3144b2bcb8606ed3ddcabf3c765488a1432 Mon Sep 17 00:00:00 2001 From: ErickSkrauch Date: Thu, 18 May 2017 23:37:44 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A2=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20=D0=B8?= =?UTF-8?q?=D0=B7=20OneSky=20=D0=B2=D1=8B=D0=B3=D1=80=D1=83=D0=B6=D0=B0?= =?UTF-8?q?=D1=8E=D1=82=D1=81=D1=8F=20=D1=82=D0=B0=D0=BA=D0=B6=D0=B5=20?= =?UTF-8?q?=D1=8F=D0=B7=D1=8B=D0=BA=D0=B8=20=D1=81=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D1=86=D0=B5=D0=BD=D1=82=D0=BE=D0=BC=20=D0=BF=D0=B5=D1=80=D0=B5?= =?UTF-8?q?=D0=B2=D0=B5=D0=B4=D1=91=D0=BD=D0=BD=D0=BE=D1=81=D1=82=D0=B8=20?= =?UTF-8?q?=D0=B1=D0=BE=D0=BB=D1=8C=D1=88=D0=B5=2080%?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/i18n-onesky.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/scripts/i18n-onesky.js b/scripts/i18n-onesky.js index 2aaf829..e4f6e1b 100644 --- a/scripts/i18n-onesky.js +++ b/scripts/i18n-onesky.js @@ -3,11 +3,12 @@ import onesky from 'onesky-utils'; import fs from 'fs'; -import chalk from 'chalk'; +import ch from 'chalk'; const LANG_DIR = `${__dirname}/../src/i18n`; const SOURCE_LANG = 'en'; // Базовый язык, относительно которого будут формироваться все остальные переводы const SOURCE_FILE_NAME = 'i18n.json'; // Название файла с исходными строками внутри OneSky +const MIN_RELEASE_PROGRESS = 80; // Какой процент локали перевода должен быть выполнен, чтобы локаль была опубликована /** * Массив локалей для соответствия каноничному виду в OneSky и нашему представлению @@ -16,6 +17,11 @@ const SOURCE_FILE_NAME = 'i18n.json'; // Название файла с исхо const LOCALES_MAP = { ru: 'ru-RU', en: 'en-GB', + sl: 'sl-SI', + fr: 'fr-FR', + el: 'el-GR', + de: 'de-DE', + sr: 'sr-RS', }; // https://ely-translates.oneskyapp.com/admin/site/settings @@ -78,7 +84,7 @@ function sortByKeys(object) { async function pullReadyLanguages() { const languages = JSON.parse(await onesky.getLanguages({...defaultOptions})); return languages.data - .filter((elem) => elem.is_ready_to_publish) + .filter((elem) => elem.is_ready_to_publish || parseFloat(elem.translation_progress) > MIN_RELEASE_PROGRESS) .map((elem) => elem.custom_locale || elem.code); } @@ -92,17 +98,17 @@ async function pull() { console.log('Pulling locales list...'); const langs = await pullReadyLanguages(); - console.log(chalk.green('Pulled locales: ') + langs.map((lang) => code2locale(lang)).join(', ')); + console.log(ch.green('Pulled locales: ') + langs.map((lang) => code2locale(lang)).join(', ')); console.log('Pulling translates...'); await Promise.all(langs.map(async (lang) => { await pullTranslate(lang); - console.log(chalk.green('Locale ') + chalk.white.bold(code2locale(lang)) + chalk.green(' successfully pulled')); + console.log(ch.green('Locale ') + ch.white.bold(code2locale(lang)) + ch.green(' successfully pulled')); })); } async function publish() { - console.log(`Publishing ${chalk.bold(SOURCE_LANG)} translates file...`); + console.log(`Publishing ${ch.bold(SOURCE_LANG)} translates file...`); await onesky.postFile({ ...defaultOptions, format: 'HIERARCHICAL_JSON', @@ -111,7 +117,7 @@ async function publish() { language: locale2code(SOURCE_LANG), fileName: SOURCE_FILE_NAME, }); - console.log(chalk.green('Success')); + console.log(ch.green('Success')); } try {