多语言翻译插件
有道翻译、百度翻译多语言翻译插件、语言包生成器
介绍
多语言翻译插件是一款功能强大的多语言翻译工具,集成了有道翻译、百度翻译等多种翻译服务,支持文件翻译和翻译内容管理,可快速生成、管理语言包,帮助开发者轻松实现多语言网站建设。
1. 核心功能
- 多种翻译服务集成:支持有道翻译、百度翻译等主流翻译API
- 文件翻译:支持多种格式文件的批量翻译
- 翻译内容管理:可视化管理所有翻译内容,支持增删改查和批量操作
- RESTful API:提供标准化API接口,方便前端或其他系统调用
- 缓存机制:优化性能,减少API调用次数
2. 支持的语言文件格式
插件支持多种语言文件格式,以下是各格式示例:
json
// JSON 格式 { "test": "测试", "test1": "测试11" } php
// PHP 格式 return array( 'test' => '测试', 'test1' => '测试11', ); typescript
// JS/TS 格式 export default { "test": "测试", "news": "新闻" }; yaml
# YAML/YML 格式 test: "测试", news: "新闻" 系统配置
- 通过「多语言翻译」→「翻译配置」打开系统配置
必要配置说明
-
默认语言:文件翻译时选择的源翻译文件的语言类型,通过文件路径识别。后续的翻译会根据默认语言进行。默认语言需要保持内容完整。
textxxx/zh-cn/xxxx.ts // 语言类型为 zh-cn yyy/xxx/en/zzz.php // 语言类型为 en -
需要翻译的文本类型:填入需要翻译的各个语言版本,会在文件翻译表格列中和API内容添加键值中批量添加
文件翻译
操作步骤如下
- 进入「多语言翻译」→「文件翻译」
- 选择需要翻译的文件
- 点击「开始翻译」
- 等待翻译完成,查看翻译结果
翻译内容管理
翻译内容管理模块用于API默认下的翻译内容管理(即通过API调用的翻译内容)。
API 文档
获取翻译内容接口
- 接口地址:
/trans/translation/index - 请求方式:GET
- 认证方式:无需登录
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
| lang | string | 否 | zh-cn | 语言代码,如zh-cn、en、ja等 |
返回结果
json
{ "code": 1, "msg": "success", "data": [ { "id": 4, "translation_key": "news", "language": "en", "content": "news", "is_source": 1, "translation_status": 1 }, { "id": 5, "translation_key": "news", "language": "zh-cn", "content": "新闻", "is_source": 0, "translation_status": 1 } ] } 返回字段说明
| 字段名 | 类型 | 描述 |
|---|---|---|
| code | int | 返回状态码,1表示成功 |
| msg | string | 返回信息 |
| data | array | 翻译内容数组 |
| ├─ id | int | 记录ID |
| ├─ translation_key | string | 翻译键 |
| ├─ language | string | 语言代码 |
| ├─ content | string | 翻译内容 |
| ├─ is_source | int | 是否为原内容:0=否,1=是 |
| └─ translation_status | int | 是否翻译:0=否,1=是 |
接口缓存机制
- 接口采用缓存机制,缓存有效期为24小时
- 同一语言的翻译内容在24小时内只会从数据库查询一次
- 缓存键格式:
trans_content_{lang}
接口使用示例
bash
# 获取中文翻译内容 curl http://yourdomain.com/trans/translation/index?lang=zh-cn # 获取英文翻译内容 curl http://yourdomain.com/trans/translation/index?lang=en 技术参考
翻译实现
插件内置了有道翻译和百度翻译的API调通支持,相关代码位于:
- 文件路径:
app\admin\controller\trans\Content.php - 核心方法:
baiduTranslate:百度翻译API调用方法youdaoTranslate:有道翻译API调用方法
常见问题
1. 如何选择合适的翻译服务?
根据项目需求和预算选择合适的翻译服务。百度翻译和有道翻译各有优势,可以根据翻译质量、API调用费用等因素综合考虑。
2. 如何优化翻译效率?
- 合理设置缓存时间,减少API调用次数
- 优先使用文件翻译功能进行批量翻译
- 定期清理无效的翻译内容
3. 如何确保翻译质量?
- 对自动翻译结果进行人工校对
- 建立统一的翻译术语库
- 定期更新和维护翻译内容
4. 翻译编码对应?
- 如果你存储的语言编码,与翻译api的编码不一致,需要自行转换。
- 参考文档
- 有道翻译编码对应
- 百度翻译编码对应
- 例如:你存储的语言编码为
zh-cn,而翻译api的编码为zh,你需要在代码中手动转换。 - 需要补充对应数组
php
// app\admin\controller\trans\util\BaiduUtil.php // 语言标识符映射 public static $langMap = array( 'zh-cn' => 'zh', 'zh-tw' => 'cht', 'ja' => 'jp', 'ko' => 'kor', 'fr' => 'fra', ); // app\admin\controller\trans\util\YoudaoUtil.php // 语言标识符映射 public static $langMap = array( 'zh-cn' => 'zh-CHS', 'zh-tw' => 'zh-CHT', ); 更新日志
v0.9.5
首次发布无详细更新日志

it_cwc
这家伙很懒,什么也没写~
模块授权
正版授权,允许商业使用
免费更新至一年内发布的所有版本
一年内发布的所有版本永久免费下载
不加密源代码,私有部署,二开方便
可复制产品,不支持七天无理由退款
禁止转售、分享等任何形式的再分发
仅 BuildAdmin 后台管理系统可以使用
模块信息