Skip to content

国际化多语言

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

工作流程

  1. 扫描源码 - 工具会自动扫描项目中的 t()$t() 函数
  2. 提取文本 - 收集所有需要翻译的中文文本
  3. AI 翻译 - 调用 AI 服务翻译成目标语言
  4. 生成文件 - 在相应目录下生成 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

💡 开发建议

  1. 统一翻译源 - 团队成员使用统一的中文表达,避免同义词翻译不一致
  2. 及时更新 - 新增功能后及时运行翻译命令更新语言包
  3. 人工校验 - AI 翻译结果需要人工校验,特别是专业术语
  4. 测试覆盖 - 在不同语言环境下测试应用功能完整性