mirror of
https://gitee.com/mirrors/AllinSSL.git
synced 2026-03-12 17:40:54 +08:00
【调整】申请证书配置CA选项增加liteSSL证书
This commit is contained in:
@@ -1,182 +0,0 @@
|
||||
# vite-plugin-i18n-ai-translate
|
||||
|
||||
一个基于Vite的i18n自动化翻译插件,支持智谱AI等多种翻译服务。
|
||||
|
||||
## 特性
|
||||
|
||||
- 支持智谱AI和传统API多种翻译服务
|
||||
- 自动扫描并提取vue-i18n的$t模板变量中的中文内容
|
||||
- 并发翻译处理,提高效率
|
||||
- 智能缓存机制,避免重复翻译
|
||||
- 完善的错误处理和重试机制
|
||||
- 支持文件变更监听,实时翻译
|
||||
- 可扩展的翻译适配器设计
|
||||
|
||||
## 安装
|
||||
|
||||
```bash
|
||||
npm install vite-plugin-i18n-ai-translate
|
||||
```
|
||||
|
||||
## 配置
|
||||
|
||||
在vite.config.js中配置插件:
|
||||
|
||||
```javascript
|
||||
import i18nAiTranslate from 'vite-plugin-i18n-ai-translate'
|
||||
|
||||
export default {
|
||||
plugins: [
|
||||
i18nAiTranslate({
|
||||
apiKey: {
|
||||
zhipuAI: 'your-zhipu-api-key',
|
||||
api1: 'your-api1-key',
|
||||
},
|
||||
languages: ['zhCN', 'zhTW', 'enUS', 'jaJP', 'koKR'],
|
||||
translateMethod: 'zhipuAI',
|
||||
// 其他配置项...
|
||||
}),
|
||||
],
|
||||
}
|
||||
```
|
||||
|
||||
## 配置选项
|
||||
|
||||
| 配置项 | 类型 | 默认值 | 说明 |
|
||||
| --------------- | -------- | ---------------------------------------- | ------------------- |
|
||||
| projectPath | string | './src' | 项目扫描路径 |
|
||||
| outputPath | string | './locales' | 翻译文件输出路径 |
|
||||
| cachePath | string | './cache/translation_cache.json' | 缓存文件路径 |
|
||||
| logPath | string | './logs' | 日志文件路径 |
|
||||
| apiKey | object | {} | 各翻译服务的API密钥 |
|
||||
| languages | string[] | ['zhCN', 'zhTW', 'enUS', 'jaJP', 'koKR'] | 目标语言列表 |
|
||||
| concurrency | number | 100 | 并发翻译数量 |
|
||||
| templateRegex | string | '\$t\\(["\']([\u4e00-\u9fa5]+)["\']\\)' | 模板变量正则表达式 |
|
||||
| fileExtensions | string[] | ['.vue', '.js', '.ts'] | 扫描的文件类型 |
|
||||
| interval | number | 5000 | 文件监听间隔(ms) |
|
||||
| requestInterval | number | 100 | 请求间隔时间(ms) |
|
||||
| maxRetries | number | 3 | 最大重试次数 |
|
||||
| translateMethod | string | 'zhipuAI' | 使用的翻译服务 |
|
||||
| cacheLifetime | number | 7 | 缓存保留天数 |
|
||||
| logRetention | number | 30 | 日志保留天数 |
|
||||
|
||||
## 工作流程
|
||||
|
||||
1. 扫描项目文件,提取需要翻译的中文文本
|
||||
2. 检查翻译缓存,跳过已翻译内容
|
||||
3. 使用配置的翻译服务进行并发翻译
|
||||
4. 更新翻译缓存
|
||||
5. 生成翻译文件
|
||||
6. 监听文件变更,触发实时翻译
|
||||
|
||||
## 支持的翻译服务
|
||||
|
||||
- 智谱AI翻译服务
|
||||
|
||||
- 支持多语言批量翻译
|
||||
- 基于GLM大语言模型
|
||||
- 高质量翻译结果
|
||||
|
||||
- 传统API翻译服务
|
||||
- 可扩展的适配器设计
|
||||
- 支持添加自定义翻译服务
|
||||
|
||||
## API 参考
|
||||
|
||||
### 核心类
|
||||
|
||||
#### TranslationAdapter
|
||||
|
||||
翻译适配器基类,定义统一的翻译接口。
|
||||
|
||||
方法:
|
||||
|
||||
- translate(text, apiKey, languages, maxRetries)
|
||||
- validateApiKey(apiKey)
|
||||
- getSupportedLanguages()
|
||||
- isLanguageSupported(language)
|
||||
|
||||
#### CacheManager
|
||||
|
||||
缓存管理类,处理翻译结果的缓存。
|
||||
|
||||
方法:
|
||||
|
||||
- initCache()
|
||||
- getCachedTranslations(texts, languages)
|
||||
- updateCache(texts, translations, languages)
|
||||
- cleanCache(validTexts)
|
||||
|
||||
#### LogManager
|
||||
|
||||
日志管理类,处理系统日志。
|
||||
|
||||
方法:
|
||||
|
||||
- init()
|
||||
- logError(error)
|
||||
- logInfo(message)
|
||||
- cleanLogs(days)
|
||||
- getLogs(logType, lines)
|
||||
|
||||
## 错误处理
|
||||
|
||||
插件包含完善的错误处理机制:
|
||||
|
||||
- 翻译失败自动重试
|
||||
- 详细的错误日志记录
|
||||
- 可配置的最大重试次数
|
||||
- 翻译服务异常处理
|
||||
- API密钥验证
|
||||
|
||||
## 开发扩展
|
||||
|
||||
### 添加新的翻译服务
|
||||
|
||||
1. 在 src/translation/traditional 或 src/translation/ai 目录下创建新的翻译服务模块
|
||||
2. 实现必要的翻译接口
|
||||
3. 创建对应的适配器类
|
||||
4. 在配置中添加新的翻译方法
|
||||
|
||||
### 自定义适配器示例
|
||||
|
||||
```javascript
|
||||
const TranslationAdapter = require('./index')
|
||||
|
||||
class CustomAdapter extends TranslationAdapter {
|
||||
async translate(text, apiKey, languages, maxRetries) {
|
||||
// 实现翻译逻辑
|
||||
}
|
||||
|
||||
async validateApiKey(apiKey) {
|
||||
// 实现密钥验证
|
||||
}
|
||||
|
||||
getSupportedLanguages() {
|
||||
// 返回支持的语言列表
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 常见问题
|
||||
|
||||
1. 翻译服务不可用
|
||||
|
||||
- 检查API密钥是否正确
|
||||
- 确认网络连接正常
|
||||
- 查看错误日志获取详细信息
|
||||
|
||||
2. 翻译缓存问题
|
||||
|
||||
- 检查缓存文件权限
|
||||
- 适当调整缓存保留时间
|
||||
- 可以手动清理缓存目录
|
||||
|
||||
3. 文件监听不生效
|
||||
- 确认配置的文件扩展名正确
|
||||
- 检查监听间隔设置
|
||||
- 验证文件路径配置
|
||||
|
||||
## License
|
||||
|
||||
MIT License
|
||||
Reference in New Issue
Block a user