export const I18N = { en: { brand: 'NodeWarden', subtitle: 'Open Source Password Manager', login: 'Log In', register: 'Create Account', email: 'Email Address', masterPwd: 'Master Password', confirmPwd: 'Confirm Master Password', name: 'Name', inviteCode: 'Invite Code (Optional)', loginBtn: 'Log In', registerBtn: 'Create Account', backToLogin: 'Back to Log In', vault: 'Vault', settings: 'Settings', admin: 'Admin', help: 'Help', logout: 'Log Out', folders: 'Folders', allItems: 'All Items', noFolder: 'No Folder', searchVault: 'Search vault', filter: 'Search', typeAll: 'All items', typeLogin: 'Logins', typeCard: 'Cards', typeIdentity: 'Identities', typeNote: 'Secure notes', typeOther: 'Other', addWebsite: '+ Add website', addField: '+ Add field', fieldType: 'Field type', fieldLabel: 'Field label', fieldValue: 'Field value', fieldText: 'Text', fieldHidden: 'Hidden', fieldBoolean: 'Boolean', fieldLinked: 'Linked', add: 'Add', newTypeLogin: 'Login', newTypeCard: 'Card', newTypeIdentity: 'Identity', newTypeNote: 'Note', newTypeSsh: 'SSH key', refresh: 'Sync', move: 'Move', delete: 'Delete', selectAll: 'Select All', clear: 'Cancel', noItems: 'There are no items to list.', selectItem: 'Select an item to view details.', profile: 'Profile', saveProfile: 'Save Profile', changePwd: 'Change Master Password', currentPwd: 'Current Master Password', newPwd: 'New Master Password', totpSetup: 'Two-Step Login (TOTP)', totpLiveIn: 'Refresh in', enableTotp: 'Enable TOTP', disableTotp: 'Disable TOTP', secret: 'Authenticator Key', verifyCode: 'Verification Code', credentials: 'Login credentials', autofillOptions: 'Autofill', itemHistory: 'Item history', website: 'Website', folder: 'Folder', createdAt: 'Created', updatedAt: 'Last edited', open: 'Open', copy: 'Copy', reveal: 'Reveal', hide: 'Hide', users: 'Users', invites: 'Invites', createInvite: 'Create Invite', expiresIn: 'Expires in (hours)', copyLink: 'Copy Link', revoke: 'Revoke', ban: 'Ban', unban: 'Unban', status: 'Status', role: 'Role', action: 'Options', loading: 'Loading NodeWarden...', totpVerify: 'Two-step verification', totpVerifySub: 'Password is already verified.', totpCode: 'TOTP Code', verify: 'Verify', cancel: 'Cancel', totpDisableSub: 'Enter master password to disable two-step verification.', helpSync: 'Upstream Sync', helpSync1: 'Track upstream with a fork and scheduled sync workflow (recommended).', helpSync2: 'Before merge: compare API routes, migration files, and auth logic changes.', helpSync3: 'After merge: run local dev migration tests, then deploy Worker after validation.', helpErr: 'Common Errors', helpErr1: '401 Unauthorized: token expired or revoked, login again.', helpErr2: '403 Account disabled: admin must unban user in User Management.', helpErr3: '403 Invite invalid: invite expired/used/revoked, create a new invite.', helpErr4: '429 Too many requests: wait retry seconds and avoid burst writes.', helpTb: 'Troubleshooting', helpTb1: 'Login OK but encrypted values shown: verify profile key and KDF settings are consistent.', helpTb2: 'TOTP fails repeatedly: sync device time and re-scan QR using latest secret.', helpTb3: 'Password change failed: ensure current password is correct and new password has at least 12 chars.', helpTb4: 'Sync conflicts: refresh vault and retry one operation at a time.', langSwitch: '中文', }, zh: { brand: 'NodeWarden', subtitle: '开源密码管理器', login: '登录', register: '创建账号', email: '电子邮件地址', masterPwd: '主密码', confirmPwd: '确认主密码', name: '姓名', inviteCode: '邀请码 (可选)', loginBtn: '登录', registerBtn: '创建账号', backToLogin: '返回登录', vault: '密码库', settings: '设置', admin: '管理', help: '帮助', logout: '退出登录', folders: '文件夹', allItems: '所有项目', noFolder: '无文件夹', searchVault: '搜索密码库', filter: '筛选', typeAll: '所有项目', typeLogin: '登录', typeCard: '支付卡', typeIdentity: '身份', typeNote: '备注', typeOther: '其他', addWebsite: '+ 添加网站', addField: '+ 添加字段', fieldType: '字段类型', fieldLabel: '字段标签', fieldValue: '字段值', fieldText: '文本型', fieldHidden: '隐藏型', fieldBoolean: '复选框型', fieldLinked: '链接型', add: '添加', newTypeLogin: '登录', newTypeCard: '支付卡', newTypeIdentity: '身份', newTypeNote: '笔记', newTypeSsh: 'SSH 密钥', refresh: '同步', move: '移动', delete: '删除', selectAll: '全选', clear: '取消', noItems: '没有可列出的项目。', selectItem: '选择一个项目以查看详细信息。', profile: '个人资料', saveProfile: '保存个人资料', changePwd: '更改主密码', currentPwd: '当前主密码', newPwd: '新主密码', totpSetup: '两步登录 (TOTP)', totpLiveIn: '刷新剩余', enableTotp: '启用 TOTP', disableTotp: '禁用 TOTP', secret: '身份验证器密钥', verifyCode: '验证码', credentials: '登录凭据', autofillOptions: '自动填充', itemHistory: '项目历史记录', website: '网站', folder: '文件夹', createdAt: '创建于', updatedAt: '最后编辑', open: '打开', copy: '复制', reveal: '显示', hide: '隐藏', users: '用户', invites: '邀请', createInvite: '创建邀请', expiresIn: '过期时间 (小时)', copyLink: '复制链接', revoke: '撤销', ban: '封禁', unban: '解封', status: '状态', role: '角色', action: '选项', loading: '正在加载 NodeWarden...', totpVerify: '两步验证', totpVerifySub: '密码已验证。', totpCode: 'TOTP 验证码', verify: '验证', cancel: '取消', totpDisableSub: '输入主密码以禁用两步验证。', helpSync: '上游同步', helpSync1: '建议通过 fork 和定时同步工作流跟踪上游。', helpSync2: '合并前:比较 API 路由、迁移文件和认证逻辑的更改。', helpSync3: '合并后:运行本地开发迁移测试,验证后部署 Worker。', helpErr: '常见错误', helpErr1: '401 未授权:令牌过期或被撤销,请重新登录。', helpErr2: '403 账号被禁用:管理员必须在用户管理中解封用户。', helpErr3: '403 邀请无效:邀请已过期/已使用/被撤销,请创建新邀请。', helpErr4: '429 请求过多:等待重试时间,避免突发写入。', helpTb: '排障指南', helpTb1: '登录成功但显示密文:检查 profile key 和 KDF 参数是否一致。', helpTb2: 'TOTP 持续失败:同步设备时间并使用最新密钥重新扫码。', helpTb3: '修改密码失败:确认当前密码正确且新密码至少 12 位。', helpTb4: '同步冲突:先刷新密码库,再逐个操作重试。', langSwitch: 'English', }, };