Files
lmvpn_server/frontend/src/locales/zh.ts
T
kevin 25c3ad685a feat: 前端多语言支持(中/英)与品牌 Logo 接入
多语言:
- 新增 vue-i18n,创建 src/locales/zh.ts、en.ts 语言包,按功能模块组织 key
- 新增 src/i18n.ts,语言检测优先级:localStorage > navigator.language(zh→中文,其他→英文)> 兜底英文
- 导航栏新增语言切换按钮(中/EN 一键切换),选择持久化到 localStorage
- 全部 View/Component 硬编码中文替换为 t() 调用,stores/auth.ts 错误消息同样国际化
- index.html lang 属性运行时动态更新

Logo:
- 替换 Vue 默认 logo 为 LmVPN 品牌 Logo(盾牌+网络节点)
- Header 导航栏:Logo 图标 + "LmVPN" 文字
- 首页标题区:大尺寸 Logo 展示
- Favicon 替换为 SVG 格式
2026-07-07 15:05:53 +08:00

164 lines
5.2 KiB
TypeScript

export default {
common: {
cancel: '取消',
confirm: '确定',
save: '保存',
saving: '保存中...',
delete: '删除',
deleting: '删除中...',
edit: '编辑',
loading: '加载中...',
loadFailed: '加载失败',
saveFailed: '保存失败',
createFailed: '创建失败',
deleteFailed: '删除失败',
role: '角色',
status: '状态',
admin: '管理员',
normalUser: '普通用户',
enabled: '启用',
disabled: '禁用',
username: '用户名',
password: '密码',
createdAt: '创建时间',
actions: '操作',
id: 'ID',
},
nav: {
home: '首页',
about: '关于',
profile: '用户信息',
admin: '管理后台',
logout: '退出',
login: '登录',
},
language: {
label: '语言',
zh: '中文',
en: 'English',
},
login: {
title: 'LmVPN 登录',
enterUsernamePassword: '请输入用户名和密码',
enterUsername: '请输入用户名',
enterPassword: '请输入密码',
loginFailed: '登录失败',
loggingIn: '登录中...',
loginButton: '登录',
},
profile: {
title: '用户信息',
basicInfo: '基本信息',
usernameLabel: '用户名:',
roleLabel: '角色:',
changePassword: '修改密码',
oldPassword: '原密码',
newPassword: '新密码',
confirmNewPassword: '确认新密码',
enterOldAndNewPassword: '请填写原密码和新密码',
passwordsDoNotMatch: '两次输入的新密码不一致',
passwordChangeFailed: '密码修改失败',
},
about: {
title: '关于 LmVPN',
description:
'LmVPN 是一款轻量级 VPN 隧道管理系统,采用 Go + Vue 3 技术栈构建。支持多种 VPN 协议,提供安全可靠的点对点与点对站点网络连接方案。',
},
admin: {
title: '管理后台',
uptime: '运行时长',
activeDevices: '活跃设备',
todayTraffic: '今日流量',
onlineNodes: '在线节点',
totalUsers: '用户总数',
vpnManage: 'VPN 管理',
config: '配置',
userInfo: '用户信息',
usernameLabel: '用户名:',
roleLabel: '角色:',
logoutButton: '退出登录',
},
userManage: {
title: '用户管理',
addUser: '新增用户',
fillUsernamePassword: '请填写用户名和密码',
creating: '创建中...',
editUser: '编辑用户 - {username}',
newPasswordOptional: '新密码(留空不修改)',
newPasswordPlaceholder: '留空则不修改密码',
confirmDelete: '确认删除',
confirmDeleteMessage: '确定要删除用户 {username} 吗?此操作不可撤销。',
confirmDeleteButton: '确认删除',
},
vpn: {
title: 'VPN 管理',
refresh: '刷新',
serviceStatus: '服务状态',
running: '运行中',
stopped: '已停止',
onlineClients: '在线客户端',
ipUsage: 'IP 用量',
systemCheck: '系统环境检测',
tunDevice: 'TUN 设备',
tunRunning: '运行中',
rootPermission: 'Root 权限',
runningAsRoot: '以 root 运行',
notRunningAsRoot: '非 root 运行',
capNetAdmin: 'CAP_NET_ADMIN',
authorized: '已授权',
unauthorized: '未授权',
ipForward: 'IP 转发 (ip_forward)',
notEnabled: '未开启',
natMasqueradeV4: 'NAT MASQUERADE (IPv4)',
configured: '已配置',
notConfigured: '未配置',
ipv6Forward: 'IPv6 转发 (forwarding)',
natMasqueradeV6: 'NAT MASQUERADE (IPv6)',
platform: '平台',
nonLinuxNote:
'注:CAP_NET_ADMIN / ip_forward / MASQUERADE 检测仅适用于 Linux,其他平台需手动确认网络配置。',
tunnelSettings: '隧道设置',
enableVpn: '启用 VPN 服务',
enable: '启用',
stop: '停止',
subnet: '子网 (CIDR)',
ipv6Subnet: 'IPv6 子网 (CIDR, 可选)',
mtu: 'MTU',
interfaceName: '接口名 (留空自动)',
allowClientToClient: '允许客户端互通',
allow: '允许',
deny: '禁止',
serverConfigTunIp: '服务端配置 TUN IP',
autoConfig: '自动配置',
manual: '手动',
saveSettings: '保存设置',
saveSuccess: '保存成功',
user: '用户',
ipv4: 'IPv4',
ipv6: 'IPv6',
connectTime: '连接时间',
noOnlineClients: '暂无在线客户端',
staticIpReservation: '静态 IP 预留',
addReservation: '新增预留',
noReservations: '暂无预留',
addIpReservation: '新增 IP 预留',
selectUser: '选择用户',
ipv4Address: 'IPv4 地址 (可选)',
ipv6Address: 'IPv6 地址 (可选)',
selectUserAndIp: '请选择用户并至少填写一个 IP 地址',
confirmDeleteReservation: '确认删除该预留?',
},
home: {
tagline: '安全、快速、可靠的 VPN 隧道管理系统',
secureTunnel: '安全隧道',
secureTunnelDesc:
'基于 WireGuard/OpenVPN 协议,端到端加密传输,保障数据安全无泄漏。',
multiDevice: '多设备支持',
multiDeviceDesc: '同时连接多台设备,手机、电脑、路由器全平台覆盖。',
trafficMonitor: '流量监控',
trafficMonitorDesc: '实时流量统计与带宽分析,随时掌握网络使用状况。',
easyConfig: '简易配置',
easyConfigDesc: '一键部署、自动配置,无需复杂网络知识即可上线。',
},
}