diff --git a/src/i18n/i18n.config.ts b/src/i18n/i18n.config.ts
index 4cdcd7cd..50f8a9ee 100644
--- a/src/i18n/i18n.config.ts
+++ b/src/i18n/i18n.config.ts
@@ -1,9 +1,11 @@
 import en from './locales/en.json';
+import zh_cn from './locales/zh_cn.json';
 
 export default defineI18nConfig(() => ({
   legacy: false,
   fallbackLocale: 'en',
   messages: {
     en,
+    'zh-CN': zh_cn,
   },
 }));
diff --git a/src/i18n/locales/zh_cn.json b/src/i18n/locales/zh_cn.json
new file mode 100644
index 00000000..64178ffc
--- /dev/null
+++ b/src/i18n/locales/zh_cn.json
@@ -0,0 +1,223 @@
+{
+  "pages": {
+    "me": "账户",
+    "clients": "客户端",
+    "admin": {
+      "panel": "管理面板",
+      "general": "常规",
+      "config": "配置",
+      "interface": "接口",
+      "hooks": "钩子"
+    }
+  },
+  "user": {
+    "email": "电子邮箱"
+  },
+  "me": {
+    "currentPassword": "当前密码"
+  },
+  "general": {
+    "name": "名称",
+    "username": "用户名",
+    "password": "密码",
+    "newPassword": "新密码",
+    "updatePassword": "更新密码",
+    "mtu": "MTU",
+    "allowedIps": "允许的IP",
+    "dns": "DNS",
+    "persistentKeepalive": "持久保持活动",
+    "logout": "退出登录",
+    "continue": "继续",
+    "host": "主机",
+    "port": "端口",
+    "yes": "是",
+    "no": "否",
+    "confirmPassword": "确认密码"
+  },
+  "setup": {
+    "welcome": "欢迎首次设置wg-easy!",
+    "welcomeDesc": "您已找到在任意Linux主机上安装和管理WireGuard的最简方式!",
+    "existingSetup": "您已有现有设置吗?",
+    "createAdminDesc": "请先输入管理员用户名和强密码。此信息将用于登录管理面板。",
+    "setupConfigDesc": "请输入主机和端口信息。这将用于客户端配置其设备上的WireGuard。",
+    "setupMigrationDesc": "如果您希望将数据从旧版wg-easy迁移至新环境,请提供备份文件。",
+    "upload": "上传",
+    "migration": "恢复备份",
+    "createAccount": "创建账户",
+    "successful": "设置成功"
+  },
+  "update": {
+    "updateAvailable": "有可用更新!",
+    "update": "更新"
+  },
+  "theme": {
+    "dark": "深色主题",
+    "light": "浅色主题",
+    "system": "系统主题"
+  },
+  "layout": {
+    "toggleCharts": "显示/隐藏图表",
+    "donate": "捐赠"
+  },
+  "login": {
+    "signIn": "登录",
+    "rememberMe": "记住我",
+    "rememberMeDesc": "关闭浏览器后保持登录状态"
+  },
+  "error": {
+    "clear": "清空",
+    "login": "登录错误"
+  },
+  "client": {
+    "empty": "暂无客户端。",
+    "newShort": "新建",
+    "sort": "排序",
+    "create": "创建客户端",
+    "created": "客户端已创建",
+    "new": "新建客户端",
+    "name": "名称",
+    "expireDate": "过期日期",
+    "expireDateDesc": "客户端将被停用的日期。留空表示永久有效",
+    "deleteClient": "删除客户端",
+    "deleteDialog1": "确定要删除",
+    "deleteDialog2": "此操作不可撤销。",
+    "enabled": "已启用",
+    "address": "地址",
+    "serverAllowedIps": "服务器允许的IP",
+    "otlDesc": "生成一次性短链接",
+    "permanent": "永久",
+    "createdOn": "创建于 ",
+    "lastSeen": "最后活跃于 ",
+    "totalDownload": "总下载:",
+    "totalUpload": "总上传:",
+    "newClient": "新建客户端",
+    "disableClient": "停用客户端",
+    "enableClient": "启用客户端",
+    "noPrivKey": "此客户端无已知私钥,无法创建配置。",
+    "showQR": "显示二维码",
+    "downloadConfig": "下载配置",
+    "allowedIpsDesc": "将通过VPN路由的IP(覆盖全局配置)",
+    "serverAllowedIpsDesc": "服务器将路由至客户端的IP",
+    "mtuDesc": "设置VPN隧道的最大传输单元(数据包大小)",
+    "persistentKeepaliveDesc": "设置保活包发送间隔(秒)。0表示禁用",
+    "hooks": "钩子",
+    "hooksDescription": "钩子仅适用于wg-quick",
+    "hooksLeaveEmpty": "仅适用于wg-quick,否则请留空",
+    "dnsDesc": "客户端使用的DNS服务器(覆盖全局配置)"
+  },
+  "dialog": {
+    "change": "修改",
+    "cancel": "取消",
+    "create": "创建"
+  },
+  "toast": {
+    "success": "成功",
+    "saved": "已保存",
+    "error": "错误",
+    "errored": "保存失败"
+  },
+  "form": {
+    "actions": "操作",
+    "save": "保存",
+    "revert": "还原",
+    "sectionGeneral": "常规",
+    "sectionAdvanced": "高级",
+    "noItems": "无项目",
+    "nullNoItems": "无项目,使用全局配置",
+    "add": "添加"
+  },
+  "admin": {
+    "general": {
+      "sessionTimeout": "会话超时",
+      "sessionTimeoutDesc": "记住我功能的会话持续时间(秒)",
+      "metrics": "指标",
+      "metricsPassword": "密码",
+      "metricsPasswordDesc": "指标端点的Bearer密码(argon2哈希)",
+      "json": "JSON",
+      "jsonDesc": "JSON格式指标路由",
+      "prometheus": "Prometheus",
+      "prometheusDesc": "Prometheus指标路由"
+    },
+    "config": {
+      "connection": "连接",
+      "hostDesc": "客户端连接的公共主机名(会使配置失效)",
+      "portDesc": "客户端连接的公共UDP端口(会使配置失效)",
+      "allowedIpsDesc": "客户端使用的全局允许IP",
+      "dnsDesc": "客户端使用的全局DNS服务器",
+      "mtuDesc": "客户端使用的MTU(仅对新客户端生效)",
+      "persistentKeepaliveDesc": "向服务器发送保活包的间隔(秒)。0=禁用(仅对新客户端生效)"
+    },
+    "interface": {
+      "cidrSuccess": "CIDR已修改",
+      "cidrError": "CIDR修改失败",
+      "device": "设备",
+      "deviceDesc": "WireGuard流量应转发的以太网设备",
+      "mtuDesc": "WireGuard使用的MTU",
+      "portDesc": "WireGuard监听的UDP端口(可能使配置失效)",
+      "changeCidr": "修改CIDR"
+    }
+  },
+  "zod": {
+    "generic": {
+      "required": "{0}是必填项",
+      "validNumber": "{0}必须是有效数字",
+      "validString": "{0}必须是有效字符串",
+      "validBoolean": "{0}必须是有效布尔值",
+      "validArray": "{0}必须是有效数组",
+      "stringMin": "{0}至少需要{1}个字符",
+      "numberMin": "{0}必须至少为{1}"
+    },
+    "client": {
+      "id": "客户端ID",
+      "name": "名称",
+      "expiresAt": "过期时间",
+      "address4": "IPv4地址",
+      "address6": "IPv6地址",
+      "serverAllowedIps": "服务器允许的IP"
+    },
+    "user": {
+      "username": "用户名",
+      "password": "密码",
+      "passwordUppercase": "密码必须包含至少1个大写字母",
+      "passwordLowercase": "密码必须包含至少1个小写字母",
+      "passwordNumber": "密码必须包含至少1个数字",
+      "passwordSpecial": "密码必须包含至少1个特殊字符",
+      "remember": "记住",
+      "name": "姓名",
+      "email": "邮箱",
+      "emailInvalid": "邮箱格式无效",
+      "passwordMatch": "密码必须一致"
+    },
+    "userConfig": {
+      "host": "主机"
+    },
+    "general": {
+      "sessionTimeout": "会话超时",
+      "metricsEnabled": "指标",
+      "metricsPassword": "指标密码"
+    },
+    "interface": {
+      "cidr": "CIDR",
+      "device": "设备",
+      "cidrValid": "CIDR必须有效"
+    },
+    "otl": "一次性链接",
+    "stringMalformed": "字符串格式错误",
+    "body": "正文必须是有效对象",
+    "hook": "钩子",
+    "enabled": "已启用",
+    "mtu": "MTU",
+    "port": "端口",
+    "persistentKeepalive": "持久保持活动",
+    "address": "IP地址",
+    "dns": "DNS",
+    "allowedIps": "允许的IP",
+    "file": "文件"
+  },
+  "hooks": {
+    "preUp": "启动前",
+    "postUp": "启动后",
+    "preDown": "关闭前",
+    "postDown": "关闭后"
+  }
+}
diff --git a/src/nuxt.config.ts b/src/nuxt.config.ts
index 78b5973f..c7879d1a 100644
--- a/src/nuxt.config.ts
+++ b/src/nuxt.config.ts
@@ -32,6 +32,11 @@ export default defineNuxtConfig({
         language: 'en-US',
         name: 'English',
       },
+      {
+        code: 'zh',
+        language: 'zh-CN',
+        name: '中文',
+      },
     ],
     defaultLocale: 'en',
     vueI18n: './i18n.config.ts',