mute-english-api
Version:
提供英语词典和百度翻译等API服务的npm包,支持多种翻译服务集成
245 lines (179 loc) • 6.1 kB
Markdown
# 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)