国际化多语言
Cool Unix 内置强大的国际化插件,支持多语言切换和 AI 智能翻译,助力您的应用走向全球市场。
🌍 特性概览
- 🤖 AI 智能翻译 - 基于人工智能的自动翻译服务
- 🔄 动态语言切换 - 运行时无缝切换语言
- 📝 占位符支持 - 支持参数化翻译内容
- 🌐 广泛语言支持 - 内置 50+ 种语言配置
⚙️ 配置设置
基础配置
在项目根目录的 /locale/index.ts
文件中配置支持的语言:
js
import { zhcn } from "./zh-cn";
import { en } from "./en";
import { es } from "./es";
// 定义支持的语言包
const messages = {
"zh-cn": zhcn, // 简体中文
en, // 英语
es, // 西班牙语
};
export { messages };
重要说明
🔍 翻译语言数量
messages
中配置的语言数量将决定 AI 翻译时同时处理的语言数量。建议根据项目需求合理配置,避免不必要的翻译成本。
配置完成后,执行 cool-i18n create
命令可触发 AI 翻译,自动更新 locale
目录下的语言文件。对于翻译不准确的内容,建议手动调整优化。
📝 使用指南
基础用法
所有需要翻译的文本内容都需要使用 t()
或 $t()
函数包装:
html
<!-- 模板中使用 -->
<text>{{ t('你好') }}</text>
<text>{{ $t('欢迎{name}', { name: '张三' }) }}</text>
脚本中使用
html
<script setup lang="ts">
import { t, $t } from "/@/locale";
// 基础翻译
ui.showToast({
message: t("操作成功"),
});
// 参数化翻译
ui.showToast({
message: $t("欢迎回来,{name}", { name: "李四" }),
});
</script>
函数说明
函数 | 语法 | 功能 | 使用场景 |
---|---|---|---|
t() | t(text) | 基础翻译 | 静态文本内容 |
$t() | $t(text, data) | 参数化翻译 | 动态内容,支持占位符 |
为什么不使用可选参数 data? ,在 帮助文档 中会说明。
最佳实践
- 使用中文作为源语言: AI 系统会自动检索中文内容并翻译成其他语言
- 保持文本简洁: 避免过长的文本,便于翻译和维护
- 合理使用占位符: 对于动态内容使用
{参数名}
格式
🤖 AI 翻译工具
安装翻译工具
使用 npm 全局安装 Cool 翻译工具:
bash
# 全局安装翻译工具
pnpm i @cool-vue/ai -g
# 或使用 npm
npm i @cool-vue/ai -g
翻译命令
bash
# 创建/更新翻译文件
npx cool-i18n create
# 清除所有翻译文件
npx cool-i18n clear
工作流程
- 扫描源码 - 工具会自动扫描项目中的
t()
和$t()
函数 - 提取文本 - 收集所有需要翻译的中文文本
- AI 翻译 - 调用 AI 服务翻译成目标语言
- 生成文件 - 在相应目录下生成
locale
翻译文件
输出结构
项目根目录/
└── locale/
├── zh-cn.ts # 简体中文
├── en.ts # 英语
└── es.ts # 西班牙语
🌐 支持的语言
主要语言
语言 | 代码 | 地区 |
---|---|---|
简体中文 | zh-cn ` | 中国大陆 |
英语 | en | 美国 |
日语 | ja | 日本 |
韩语 | ko | 韩国 |
欧洲语言
语言 | 代码 | 语言 | 代码 |
---|---|---|---|
德语 | de | 法语 | fr |
西班牙语 | es | 意大利语 | it |
葡萄牙语 | pt | 荷兰语 | nl |
俄语 | ru | 波兰语 | pl |
瑞典语 | sv | 丹麦语 | da |
挪威语 | nb-NO | 芬兰语 | fi |
希腊语 | el | 捷克语 | cs |
匈牙利语 | hu | 罗马尼亚语 | ro |
其他地区语言
点击查看完整语言列表
语言 | 代码 | 语言 | 代码 |
---|---|---|---|
阿拉伯语 | ar | 希伯来语 | he |
土耳其语 | tr | 波斯语 | fa |
泰语 | th | 越南语 | vi |
印度尼西亚语 | id | 马来语 | ms |
孟加拉语 | bn | 泰米尔语 | ta |
乌克兰语 | uk | 保加利亚语 | bg |
克罗地亚语 | hr | 塞尔维亚语 | sr |
斯洛伐克语 | sk | 斯洛文尼亚语 | sl |
立陶宛语 | lt | 拉脱维亚语 | lv |
爱沙尼亚语 | et | 加泰罗尼亚语 | ca |
巴斯克语 | eu | 世界语 | eo |
库尔德语 | ku / ckb | 亚美尼亚语 | hy-am |
阿塞拜疆语 | az | 哈萨克语 | kk |
吉尔吉斯语 | ky | 蒙古语 | mn |
土库曼语 | tk | 维吾尔语 | ug-cn |
高棉语 | km | 南非荷兰语 | af |
普什图语 | pa | 巴西葡萄牙语 | pt-br |
💡 开发建议
- 统一翻译源 - 团队成员使用统一的中文表达,避免同义词翻译不一致
- 及时更新 - 新增功能后及时运行翻译命令更新语言包
- 人工校验 - AI 翻译结果需要人工校验,特别是专业术语
- 测试覆盖 - 在不同语言环境下测试应用功能完整性