mirror of
https://github.com/elyby/accounts-frontend.git
synced 2024-12-27 23:40:28 +05:30
Теперь из OneSky выгружаются также языки с процентом переведённости больше 80%
This commit is contained in:
parent
6dd628cc99
commit
4b14c3144b
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user