rucken
Version:
Console tools and scripts for nx and not only that I (EndyKaufman) use to automate the workflow and speed up the development process
108 lines (107 loc) • 6.18 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TranslateCommands = void 0;
const tslib_1 = require("tslib");
const nestjs_console_1 = require("../../nestjs-console");
const extract_i18n_config_1 = require("../extract-i18n/extract-i18n.config");
const extract_i18n_service_1 = require("../extract-i18n/extract-i18n.service");
const gettext_config_1 = require("../gettext/gettext.config");
const gettext_service_1 = require("../gettext/gettext.service");
const utils_service_1 = require("../utils/utils.service");
let TranslateCommands = class TranslateCommands {
constructor(gettextService, extracti18nService, utilsService) {
this.gettextService = gettextService;
this.extracti18nService = extracti18nService;
this.utilsService = utilsService;
this.extracti18nConfig = this.utilsService.getRuckenConfig(extract_i18n_config_1.DEFAULT_EXTRACT_I18N_CONFIG).extracti18n;
this.gettextConfig = this.utilsService.getRuckenConfig(gettext_config_1.DEFAULT_GETTEXT_CONFIG).gettext;
}
translate({ defaultLocale, locales, resetUnusedTranslates, clientProjectNameParts, e2eProjectNameParts, serverProjectNameParts, }) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const resetUnusedTranslatesBoolean = (resetUnusedTranslates ||
this.gettextConfig.resetUnusedTranslates ||
'false').toLowerCase() === 'true';
this.extracti18nService.setLogger(`prepare: ${extract_i18n_service_1.Extracti18nService.title}`);
this.gettextService.setLogger(`prepare: ${gettext_service_1.GettextService.title}`);
if (resetUnusedTranslatesBoolean) {
yield this.gettextService.extractTranslatesFromSourcesForLibraries({
po2jsonOptions: this.gettextConfig.po2jsonOptions,
pattern: this.gettextConfig.gettextExtractorOptions.pattern,
locales: locales ? locales.split(',') : this.gettextConfig.locales,
defaultLocale: defaultLocale || this.gettextConfig.defaultLocale,
markers: this.gettextConfig.markers,
});
}
this.extracti18nService.extract({
locales: locales ? locales.split(',') : this.extracti18nConfig.locales,
markers: this.extracti18nConfig.markers,
resetUnusedTranslates: resetUnusedTranslatesBoolean,
clientProjectNameParts: (clientProjectNameParts === null || clientProjectNameParts === void 0 ? void 0 : clientProjectNameParts.split(',')) ||
this.extracti18nConfig.clientProjectNameParts,
e2eProjectNameParts: (e2eProjectNameParts === null || e2eProjectNameParts === void 0 ? void 0 : e2eProjectNameParts.split(',')) ||
this.extracti18nConfig.e2eProjectNameParts,
serverProjectNameParts: (serverProjectNameParts === null || serverProjectNameParts === void 0 ? void 0 : serverProjectNameParts.split(',')) ||
this.extracti18nConfig.serverProjectNameParts,
});
yield this.gettextService.extractTranslatesFromSourcesForLibraries({
po2jsonOptions: this.gettextConfig.po2jsonOptions,
pattern: this.gettextConfig.gettextExtractorOptions.pattern,
locales: locales ? locales.split(',') : this.gettextConfig.locales,
defaultLocale: defaultLocale || this.gettextConfig.defaultLocale,
markers: this.gettextConfig.markers,
});
this.extracti18nService.extract({
locales: locales ? locales.split(',') : this.extracti18nConfig.locales,
markers: this.extracti18nConfig.markers,
resetUnusedTranslates: resetUnusedTranslatesBoolean,
noExtract: true,
clientProjectNameParts: (clientProjectNameParts === null || clientProjectNameParts === void 0 ? void 0 : clientProjectNameParts.split(',')) ||
this.extracti18nConfig.clientProjectNameParts,
e2eProjectNameParts: (e2eProjectNameParts === null || e2eProjectNameParts === void 0 ? void 0 : e2eProjectNameParts.split(',')) ||
this.extracti18nConfig.e2eProjectNameParts,
serverProjectNameParts: (serverProjectNameParts === null || serverProjectNameParts === void 0 ? void 0 : serverProjectNameParts.split(',')) ||
this.extracti18nConfig.serverProjectNameParts,
});
});
}
};
tslib_1.__decorate([
(0, nestjs_console_1.Command)({
command: 'translate',
description: 'extract translate from source (run: extract-i18n => gettext => extract-i18n)',
options: [
{
flags: '-l,--locales [strings]',
description: 'list of available languages (example: ru,en)',
},
{
flags: '-dl,--default-locale [string]',
description: 'default locale (default: en)',
},
{
flags: '-rut,--reset-unused-translates [boolean]',
description: 'remove all translates if they not found in source code (default: true)',
defaultValue: 'true',
},
{
flags: '-epnp,--e2e-project-name-parts [string]',
},
{
flags: '-cpnp,--client-project-name-parts [string]',
},
{
flags: '-spnp,--server-project-name-parts [string]',
},
],
}),
tslib_1.__metadata("design:type", Function),
tslib_1.__metadata("design:paramtypes", [Object]),
tslib_1.__metadata("design:returntype", Promise)
], TranslateCommands.prototype, "translate", null);
TranslateCommands = tslib_1.__decorate([
(0, nestjs_console_1.Console)(),
tslib_1.__metadata("design:paramtypes", [gettext_service_1.GettextService,
extract_i18n_service_1.Extracti18nService,
utils_service_1.UtilsService])
], TranslateCommands);
exports.TranslateCommands = TranslateCommands;