UNPKG

i18n-llm-translate

Version:

Automatically translates namespace-based JSON translation files across multiple languages from any source language

115 lines (114 loc) 4.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultLogger = exports.DefaultTranslateLogger = void 0; // Simple color codes for terminal output const colors = { reset: '\x1b[0m', bright: '\x1b[1m', dim: '\x1b[2m', red: '\x1b[31m', green: '\x1b[32m', yellow: '\x1b[33m', blue: '\x1b[34m', magenta: '\x1b[35m', cyan: '\x1b[36m', gray: '\x1b[90m' }; class DefaultTranslateLogger { constructor(options = {}) { var _a, _b, _c, _d; this.options = { debug: (_a = options.debug) !== null && _a !== void 0 ? _a : false, verbose: (_b = options.verbose) !== null && _b !== void 0 ? _b : false, prefix: (_c = options.prefix) !== null && _c !== void 0 ? _c : '🌐Translate', enableColors: (_d = options.enableColors) !== null && _d !== void 0 ? _d : true }; } formatMessage(level, message, color) { const timestamp = new Date().toLocaleTimeString('pl-PL', { hour12: false, hour: '2-digit', minute: '2-digit', second: '2-digit' }); const prefix = this.options.enableColors ? `${colors.cyan}${colors.bright}${this.options.prefix}${colors.reset}` : this.options.prefix; const levelFormatted = this.options.enableColors && color ? `${color}${colors.bright}[${level}]${colors.reset}` : `[${level}]`; const timeFormatted = this.options.enableColors ? `${colors.gray}[${timestamp}]${colors.reset}` : `[${timestamp}]`; return `${prefix} ${timeFormatted} ${levelFormatted} ${message}`; } formatEngineMessage(engineName, level, message, color) { const timestamp = new Date().toLocaleTimeString('pl-PL', { hour12: false, hour: '2-digit', minute: '2-digit', second: '2-digit' }); const prefix = this.options.enableColors ? `${colors.cyan}${colors.bright}${this.options.prefix}${colors.reset}` : this.options.prefix; const engineFormatted = this.options.enableColors ? `${colors.magenta}${colors.bright}[${engineName}]${colors.reset}` : `[${engineName}]`; const levelFormatted = this.options.enableColors && color ? `${color}${colors.bright}[${level}]${colors.reset}` : `[${level}]`; const timeFormatted = this.options.enableColors ? `${colors.gray}[${timestamp}]${colors.reset}` : `[${timestamp}]`; return `${prefix} ${timeFormatted} ${engineFormatted} ${levelFormatted} ${message}`; } log(message, ...args) { console.log(this.formatMessage('INFO', message, colors.blue), ...args); } info(message, ...args) { console.log(this.formatMessage('INFO', message, colors.blue), ...args); } warn(message, ...args) { console.log(this.formatMessage('WARN', message, colors.yellow), ...args); } error(message, ...args) { console.log(this.formatMessage('ERROR', message, colors.red), ...args); } success(message, ...args) { console.log(this.formatMessage('SUCCESS', message, colors.green), ...args); } debug(message, ...args) { if (this.options.debug) { console.log(this.formatMessage('DEBUG', message, colors.gray), ...args); } } verbose(message, ...args) { if (this.options.verbose) { console.log(this.formatMessage('VERBOSE', message, colors.cyan), ...args); } } engineLog(engineName, message, ...args) { console.log(this.formatEngineMessage(engineName, 'INFO', message, colors.blue), ...args); } engineDebug(engineName, message, ...args) { if (this.options.debug) { console.log(this.formatEngineMessage(engineName, 'DEBUG', message, colors.gray), ...args); } } engineVerbose(engineName, message, ...args) { if (this.options.verbose) { console.log(this.formatEngineMessage(engineName, 'VERBOSE', message, colors.cyan), ...args); } } // Methods to update options setDebug(debug) { this.options.debug = debug; } setVerbose(verbose) { this.options.verbose = verbose; } } exports.DefaultTranslateLogger = DefaultTranslateLogger; // Default logger instance that can be overridden exports.defaultLogger = new DefaultTranslateLogger();