UNPKG

mute-english-api

Version:

提供英语词典和百度翻译等API服务的npm包,支持多种翻译服务集成

147 lines (128 loc) 4.66 kB
/** * 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); }