mute-english-api
Version:
提供英语词典和百度翻译等API服务的npm包,支持多种翻译服务集成
147 lines (128 loc) • 4.66 kB
JavaScript
/**
* Mute English API - 主入口文件
* 提供英语词典和百度翻译等API服务
*/
// 导入服务模块
import dictionaryService, { fetchTranslation, getWordMeaning, getWordPhonetics } from './src/services/dictionaryApi.js';
import baiduTranslateService, {
translateText,
setBaiduTranslateConfig,
getSupportedLanguages,
isLanguageSupported,
batchTranslate,
detectLanguage
} from './src/services/baiduTranslate.js';
import configManager from './src/config/index.js';
// =============================================================================
// 英语词典API (保持向后兼容性)
// =============================================================================
/**
* 获取英语单词的词典信息 (原有功能,保持兼容性)
* @param {string} word - 要查询的英语单词
* @returns {Promise<Array>} - 词典数据数组
*/
export { fetchTranslation };
export { getWordMeaning, getWordPhonetics };
// 默认导出原有功能以保持兼容性
export default fetchTranslation;
// =============================================================================
// 百度翻译API
// =============================================================================
/**
* 设置百度翻译API配置
* 用户需要先调用此函数设置自己的百度翻译API密钥
* @param {string} appid - 百度翻译API的APPID
* @param {string} key - 百度翻译API的KEY
*
* @example
* import { setBaiduTranslateConfig, translateText } from 'mute-english-api';
*
* // 设置百度翻译API密钥
* setBaiduTranslateConfig('your_appid', 'your_key');
*
* // 翻译文本
* const result = await translateText('Hello World', 'en', 'zh');
* console.log(result.translated); // 输出:你好世界
*/
export { setBaiduTranslateConfig };
/**
* 翻译文本
* @param {string} text - 需要翻译的文本
* @param {string} from - 源语言代码,默认'en'
* @param {string} to - 目标语言代码,默认'zh'
* @returns {Promise<Object>} - 翻译结果对象
*
* @example
* const result = await translateText('Hello', 'en', 'zh');
* if (result.success) {
* console.log(result.translated); // 输出:你好
* } else {
* console.error(result.error);
* }
*/
export { translateText };
/**
* 批量翻译文本
* @param {Array<string>} texts - 需要翻译的文本数组
* @param {string} from - 源语言代码,默认'en'
* @param {string} to - 目标语言代码,默认'zh'
* @param {number} delay - 请求间隔时间(毫秒),默认1000ms
* @returns {Promise<Array>} - 翻译结果数组
*/
export { batchTranslate };
/**
* 检测文本语言
* @param {string} text - 需要检测的文本
* @returns {Promise<Object>} - 检测结果
*/
export { detectLanguage };
/**
* 获取支持的语言列表
* @returns {Object} - 语言代码和名称的映射对象
*/
export { getSupportedLanguages };
/**
* 验证语言代码是否受支持
* @param {string} langCode - 语言代码
* @returns {boolean} - 是否支持
*/
export { isLanguageSupported };
// =============================================================================
// 配置管理
// =============================================================================
/**
* 配置管理器
* 提供统一的配置管理功能
*/
export { configManager };
// =============================================================================
// 服务模块导出 (高级用法)
// =============================================================================
/**
* 词典服务模块
*/
export { dictionaryService };
/**
* 百度翻译服务模块
*/
export { baiduTranslateService };
// =============================================================================
// 便捷组合API
// =============================================================================
/**
* 一键设置百度翻译并翻译文本
* @param {string} appid - 百度翻译APPID
* @param {string} key - 百度翻译KEY
* @param {string} text - 要翻译的文本
* @param {string} from - 源语言,默认'en'
* @param {string} to - 目标语言,默认'zh'
* @returns {Promise<Object>} - 翻译结果
*
* @example
* const result = await quickTranslate('your_appid', 'your_key', 'Hello World');
* console.log(result.translated); // 输出:你好世界
*/
export async function quickTranslate(appid, key, text, from = 'en', to = 'zh') {
setBaiduTranslateConfig(appid, key);
return await translateText(text, from, to);
}