Skip to content

i18n 国际化

版本: v1.0.0+ | 4 语言支持 | 运行时切换

国际化模块为整个应用提供多语言支持,支持运行时动态切换语言,无需重启应用。

核心特性

  • 🌍 4 语言支持: 简体中文、English、Francais、Espanol 完整翻译覆盖
  • 🔄 运行时热切换: 动态切换语言,界面即时更新无需重启应用
  • 📁 命名空间组织: 按功能模块(common/errors/menu/ai/...)结构化管理翻译键
  • 🔗 前后端统一: 主进程与渲染进程共用同一套翻译方案,保持一致性
  • 🛡️ 自动回退机制: 翻译缺失时自动回退到 zh-CN 默认语言,确保不出现空白

系统架构

┌──────────────────┐     ┌──────────────┐     ┌─────────────────┐
│  渲染进程 (Vue3)  │────→│  i18n Core   │←────│  主进程 (Node)   │
│  t() / setLocale │     │  翻译引擎     │     │  t() / setLocale│
└──────────────────┘     └──────┬───────┘     └─────────────────┘

                    ┌───────────┼───────────┐
                    ▼           ▼           ▼
              ┌──────────┐ ┌────────┐ ┌──────────┐
              │ zh-CN.js │ │ en-US  │ │ fr-FR /  │
              │ 默认语言  │ │ .js    │ │ es-ES.js │
              └──────────┘ └────────┘ └──────────┘

回退链: 当前语言 → zh-CN (默认)

系统概述

支持语言

语言代码语言状态
zh-CN简体中文默认语言,完整翻译
en-USEnglish完整翻译
fr-FRFrançais完整翻译
es-ESEspañol完整翻译

核心特性

  • 运行时切换: 动态切换语言,界面即时更新
  • 命名空间: 按功能模块组织翻译键
  • 回退机制: 找不到翻译时自动回退到 zh-CN
  • 主进程 + 渲染进程: 前后端统一的翻译方案

使用方式

翻译函数

javascript
const { t, setLocale, getLocale } = require("./i18n");

// 翻译
t("errors.notFound"); // "未找到" (zh-CN)
t("common.save"); // "保存"

// 切换语言
setLocale("en-US");
t("errors.notFound"); // "Not Found"

// 获取当前语言
getLocale(); // "en-US"

命名空间约定

翻译键结构:
├─ common.*          — 通用(保存、取消、确认...)
├─ errors.*          — 错误消息
├─ menu.*            — 菜单项
├─ settings.*        — 设置页面
├─ knowledge.*       — 知识库模块
├─ social.*          — 社交模块
├─ trading.*         — 交易模块
├─ ai.*              — AI 功能
└─ ...

API

函数说明
t(key)翻译键,返回当前语言的文本
setLocale(locale)切换当前语言
getLocale()获取当前语言代码
getSupportedLocales()返回所有支持的语言列表

关键文件

文件职责
src/main/i18n/index.jsi18n 核心模块
src/main/i18n/locales/zh-CN.js简体中文翻译
src/main/i18n/locales/en-US.js英文翻译
src/main/i18n/locales/fr-FR.js法文翻译
src/main/i18n/locales/es-ES.js西班牙文翻译

相关文档

基于 MIT 许可发布