@ui18n/cli
Version:
🌍 UI18n CLI工具 - 强大的国际化命令行工具
70 lines • 2.79 kB
JavaScript
import { createUI18n } from '@ui18n/core';
import { ConfigManager } from './utils/config-manager.js';
import { ConfigConverter } from './utils/config-converter.js';
import { Logger } from './utils/logger.js';
/**
* 测试CLI与Core包的集成
*/
async function testIntegration() {
const logger = new Logger({ level: 'debug', colors: true });
logger.info('开始测试CLI与Core包的集成...');
try {
// 加载配置
const config = await ConfigManager.loadConfig();
logger.info('已加载配置:', config);
// 转换配置
const coreConfig = ConfigConverter.toCoreConfig(config, logger);
logger.info('转换后的Core配置:', coreConfig);
// 验证Core配置
const validation = ConfigConverter.validateCoreConfig(coreConfig);
if (!validation.valid) {
logger.error('Core配置验证失败:', validation.errors);
return;
}
// 创建UI18n实例
logger.info('创建UI18n实例...');
const ui18n = createUI18n(coreConfig);
// 测试翻译功能
if (ui18n) {
logger.info('UI18n实例创建成功,测试翻译功能...');
// 获取支持的语言
const supportedLanguages = ui18n.getSupportedLanguages();
logger.info('支持的语言:', supportedLanguages);
// 测试翻译
if (coreConfig.aiProvider?.apiKey) {
const text = '你好,世界!';
const targetLanguage = 'en';
logger.info(`翻译文本: "${text}" 到 ${targetLanguage}`);
try {
const result = await ui18n.translate(text, targetLanguage);
logger.success('翻译成功:', result);
}
catch (error) {
logger.error('翻译失败:', error);
}
}
else {
logger.warn('未配置AI提供商API密钥,跳过翻译测试');
}
// 测试缓存
const cacheStats = ui18n.getCacheStats();
logger.info('缓存统计:', cacheStats);
// 测试内置词典
const builtinStats = ui18n.getBuiltinStats();
logger.info('内置词典统计:', builtinStats);
// 获取系统状态
const systemStatus = ui18n.getSystemStatus();
logger.info('系统状态:', systemStatus);
}
else {
logger.error('UI18n实例创建失败');
}
logger.done('集成测试完成');
}
catch (error) {
logger.fail(`集成测试失败: ${error}`);
}
}
// 执行测试
testIntegration().catch(console.error);
//# sourceMappingURL=test-integration.js.map