UNPKG

mute-english-api

Version:

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

245 lines (179 loc) 6.1 kB
# Mute English API 🚀 一个功能丰富的npm包,提供英语词典查询和百度翻译等API服务,支持多种翻译服务集成。 ## ✨ 功能特性 - 📚 **英语词典API** - 免费的英语单词查询服务 - 🌐 **百度翻译API** - 支持多语言翻译(需要百度API密钥) - 🔧 **模块化架构** - 清晰的代码结构,易于扩展 - ⚙️ **统一配置管理** - 支持环境变量和程序配置 - 📦 **批量操作** - 支持批量翻译和语言检测 - 🔄 **向后兼容** - 保持原有API接口不变 ## 📦 安装 ```bash npm install mute-english-api ``` ## 🚀 快速开始 ### 英语词典查询(免费) ```javascript import { fetchTranslation, getWordMeaning } from 'mute-english-api'; // 基础词典查询 const data = await fetchTranslation('hello'); console.log(data); // 获取详细释义 const meaning = await getWordMeaning('world'); if (meaning.success) { console.log(`${meaning.word}: ${meaning.meanings[0]?.definitions[0]?.definition}`); } ``` ### 百度翻译(需要API密钥) ```javascript import { setBaiduTranslateConfig, translateText, quickTranslate } from 'mute-english-api'; // 方式1: 设置配置后使用 setBaiduTranslateConfig('your_appid', 'your_key'); const result = await translateText('Hello World', 'en', 'zh'); console.log(result.translated); // 输出:你好世界 // 方式2: 一键翻译(推荐简单场景) const quickResult = await quickTranslate('your_appid', 'your_key', 'Good morning!'); console.log(quickResult.translated); // 输出:早上好! ``` ## 📋 完整API文档 ### 英语词典API #### `fetchTranslation(word)` 获取英语单词的完整词典数据。 **参数:** - `word` (string) - 要查询的英语单词 **返回:** `Promise<Array>` - 词典数据数组 #### `getWordMeaning(word)` 获取单词的结构化释义信息。 **返回格式:** ```javascript { success: boolean, word: string, phonetics: Array, meanings: Array, sourceUrls: Array } ``` #### `getWordPhonetics(word)` 获取单词的发音信息。 ### 百度翻译API #### `setBaiduTranslateConfig(appid, key)` 设置百度翻译API配置。 **参数:** - `appid` (string) - 百度翻译API的APPID - `key` (string) - 百度翻译API的KEY #### `translateText(text, from, to)` 翻译文本。 **参数:** - `text` (string) - 需要翻译的文本 - `from` (string) - 源语言代码,默认'en' - `to` (string) - 目标语言代码,默认'zh' **返回格式:** ```javascript { success: boolean, translated: string, data: Object, error?: string } ``` #### `batchTranslate(texts, from, to, delay)` 批量翻译文本数组。 **参数:** - `texts` (Array<string>) - 文本数组 - `from` (string) - 源语言,默认'en' - `to` (string) - 目标语言,默认'zh' - `delay` (number) - 请求间隔(毫秒),默认1000 #### `detectLanguage(text)` 检测文本语言。 #### `getSupportedLanguages()` 获取支持的语言列表。 #### `quickTranslate(appid, key, text, from, to)` 一键设置配置并翻译。 ## ⚙️ 配置管理 ### 环境变量配置(推荐) ```bash export BAIDU_TRANSLATE_APPID=your_appid export BAIDU_TRANSLATE_KEY=your_key ``` 设置环境变量后,无需调用 `setBaiduTranslateConfig()`。 ### 程序配置 ```javascript import { configManager } from 'mute-english-api'; // 设置百度翻译配置 configManager.setBaiduTranslateConfig('appid', 'key'); // 自定义服务配置 configManager.setConfig('myService', { apiUrl: 'https://api.example.com', apiKey: 'my_key' }); // 获取配置 const config = configManager.getConfig('myService'); ``` ## 📚 支持的语言 百度翻译支持以下语言: | 代码 | 语言 | 代码 | 语言 | |------|------|------|------| | auto | 自动检测 | zh | 中文 | | en | 英语 | jp | 日语 | | kor | 韩语 | spa | 西班牙语 | | fra | 法语 | de | 德语 | | ru | 俄语 | it | 意大利语 | | pt | 葡萄牙语 | ara | 阿拉伯语 | ## 📁 项目结构 ``` mute-english-api/ ├── index.js # 主入口文件 ├── src/ │ ├── config/ │ │ └── index.js # 配置管理器 │ ├── services/ │ │ ├── baiduTranslate.js # 百度翻译服务 │ │ └── dictionaryApi.js # 英语词典服务 │ └── utils/ │ └── crypto.js # 加密工具 ├── examples/ │ └── usage.js # 使用示例 ├── test/ │ └── index.test.js # 测试文件 └── package.json ``` ## 🔧 高级用法 ### 模块化导入 ```javascript // 导入特定服务 import { baiduTranslateService } from 'mute-english-api/baidu-translate'; import { dictionaryService } from 'mute-english-api/dictionary'; import configManager from 'mute-english-api/config'; ``` ### 扩展其他翻译服务 ```javascript import { configManager } from 'mute-english-api'; // 添加Google翻译配置 configManager.setConfig('googleTranslate', { apiKey: 'your_google_api_key', apiUrl: 'https://translation.googleapis.com/language/translate/v2' }); ``` ## 🧪 运行示例 ```bash # 克隆项目 git clone https://github.com/czm233/mute-english-api.git cd mute-english-api # 安装依赖 npm install # 运行示例(需要先设置百度API密钥) node examples/usage.js ``` ## 🔑 获取百度翻译API密钥 1. 访问 [百度翻译开放平台](https://fanyi-api.baidu.com/) 2. 注册账号并完成实名认证 3. 创建应用获取APPID和KEY 4. 通过环境变量或程序配置使用 ## 📄 许可证 ISC License ## 🤝 贡献 欢迎提交Issue和Pull Request! ## 📞 联系方式 - GitHub: [@czm233](https://github.com/czm233) - Issues: [GitHub Issues](https://github.com/czm233/mute-english-api/issues)