Skip to content

国际化多语言

Cool Unix 内置强大的国际化插件,支持多语言切换和 AI 智能翻译,助力您的应用走向全球市场。

提示

框架自动扫描并加载所有 locales 目录下的语言资源文件。结合 AI 翻译工具,可实现多语言内容的快速生成,大大提升开发效率。

🌍 特性概览

  • 🤖 AI 智能翻译 - 基于人工智能的自动翻译服务
  • 🔄 动态语言切换 - 运行时无缝切换语言
  • 📝 占位符支持 - 支持参数化翻译内容
  • 🌐 广泛语言支持 - 内置 50+ 种语言配置

⚙️ 配置设置

基础配置

在根目录的 /plugins/locale.ts 文件(不存在则手动创建)中配置需要支持的语言参数 languages

js
import { initLocale, type PluginConfig } from "@/.cool";

export default {
	options: {
		// 支持的多语言代码列表,AI 将依据此列表生成对应的本地化文件
		languages: ["zh-cn", "zh-tw", "en", "es", "ja", "ko", "fr"]
	},

	install(app) {
		// 初始化多语言设置,"none" 表示优先跟随系统当前语言
		initLocale("zh-cn");
	}
} as PluginConfig;

重要说明

languages 参数的决定 AI 翻译时同时处理的语言数量。对于翻译不准确的内容,建议手动调整优化。

不使用多语言

如果项目不需要多语言支持,直接删除 /plugins/locale.ts 文件即可,不会影响程序正常运行。

📝 使用指南

基础用法

所有需要翻译的文本内容都需要使用 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 翻译工具

项目已默认集成相关工具依赖,只需在项目根目录下执行以下命令:

bash
# 安装
pnpm add @cool-vue/unix-cli -g

# 创建/更新翻译文件
unix-i18n create

# 添加 uni_modules 下的语言
unix-i18n add uni_modules/[name]

工作流程

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

输出结构

locales/
    ├── 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