国际化多语言
Cool Unix 内置强大的国际化插件,支持多语言切换和 AI 智能翻译,助力您的应用走向全球市场。
重要提示
本页内容基于 cool-unix@8.0.16,翻译方案已全面升级。建议及时拉取最新代码,体验更高效的多语言支持。
- 更新依赖
@cool-vue/ai
版本1.1.6
以上 - 更新依赖
@cool-vue/vite-plugin
版本8.2.7
以上
🌍 特性概览
- 🤖 AI 智能翻译 - 基于人工智能的自动翻译服务
- 🔄 动态语言切换 - 运行时无缝切换语言
- 📝 占位符支持 - 支持参数化翻译内容
- 🌐 广泛语言支持 - 内置 50+ 种语言配置
⚙️ 配置设置
基础配置
在项目根目录的 /locale/index.ts
文件中配置需要的语言:
js
import zhcn from "./zh-cn.json";
import zhtw from "./zh-tw.json";
import en from "./en.json";
import es from "./es.json";
import ja from "./ja.json";
import ko from "./ko.json";
import fr from "./fr.json";
/**
* 语言包映射对象,包含所有已支持的语言。
* 如需新增语言,只需新建对应的 xx.json 文件并在此处引入即可。
*/
const messages = {
"zh-cn": parse(zhcn),
"zh-tw": parse(zhtw),
en: parse(en),
es: parse(es),
ja: parse(ja),
ko: parse(ko),
fr: parse(fr),
};
重要说明
🔍 翻译语言数量
messages
中配置的语言数量将决定 AI 翻译时同时处理的语言数量。建议根据项目需求合理配置,避免不必要的翻译成本。
配置完成后,执行 npx 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 翻译工具
项目已默认集成相关工具依赖,只需在项目根目录下执行以下命令:
bash
# 创建/更新翻译文件
npx cool-i18n create
# 添加 uni_modules 下的语言
npx cool-i18n add uni_modules/[name]
工作流程
- 扫描源码 - 工具会自动扫描项目中的
t()
和$t()
函数 - 提取文本 - 收集所有需要翻译的中文文本
- AI 翻译 - 调用 AI 服务翻译成目标语言
- 生成文件 - 在相应目录下生成
locale
翻译文件
输出结构
项目根目录/
└── locale/
├── zh-cn.json # 简体中文
├── zh-tw.json # 繁体中文
├── en.json # 英语
└── es.json # 西班牙语
🌐 支持的语言
主要语言
语言 | 代码 | 地区 |
---|---|---|
简体中文 | zh-cn ` | 中国大陆 |
繁体中文 | zh-tw | 中国台湾 |
英语 | 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 |