From 70e1100ae072c302455ff4190856676dbc24cdd7 Mon Sep 17 00:00:00 2001 From: Evan Hsieh Date: Mon, 17 Aug 2026 15:47:40 +0800 Subject: [PATCH 1/3] feat: add Traditional Chinese (zh_tw) and Simplified Chinese (zh_cn) language support for i18n --- mail-vue/src/i18n/index.js | 6 +- mail-vue/src/i18n/{zh.js => zh_cn.js} | 4 +- mail-vue/src/i18n/zh_tw.js | 344 +++++++++++++++++++++++ mail-worker/src/i18n/i18n.js | 10 +- mail-worker/src/i18n/{zh.js => zh_cn.js} | 4 +- mail-worker/src/i18n/zh_tw.js | 106 +++++++ 6 files changed, 465 insertions(+), 9 deletions(-) rename mail-vue/src/i18n/{zh.js => zh_cn.js} (99%) create mode 100644 mail-vue/src/i18n/zh_tw.js rename mail-worker/src/i18n/{zh.js => zh_cn.js} (99%) create mode 100644 mail-worker/src/i18n/zh_tw.js diff --git a/mail-vue/src/i18n/index.js b/mail-vue/src/i18n/index.js index b6005a8b22..3447b14dc8 100644 --- a/mail-vue/src/i18n/index.js +++ b/mail-vue/src/i18n/index.js @@ -1,10 +1,12 @@ import { createI18n } from 'vue-i18n'; import en from './en.js' -import zh from './zh.js' +import zh_cn from './zh_cn.js' +import zh_tw from './zh_tw.js' const i18n = createI18n({ legacy: false, messages: { - zh, + zh_cn, + zh_tw, en }, }); diff --git a/mail-vue/src/i18n/zh.js b/mail-vue/src/i18n/zh_cn.js similarity index 99% rename from mail-vue/src/i18n/zh.js rename to mail-vue/src/i18n/zh_cn.js index 62fa1f8d67..3b5db13a47 100644 --- a/mail-vue/src/i18n/zh.js +++ b/mail-vue/src/i18n/zh_cn.js @@ -1,4 +1,4 @@ -const zh = { +const zhcn = { inbox: '收件箱', drafts: '草稿箱', sent: '已发送', @@ -340,4 +340,4 @@ const zh = { searchSender: '搜索发件人', userEmail: '用户邮箱' } -export default zh +export default zhcn diff --git a/mail-vue/src/i18n/zh_tw.js b/mail-vue/src/i18n/zh_tw.js new file mode 100644 index 0000000000..338b8ca0c3 --- /dev/null +++ b/mail-vue/src/i18n/zh_tw.js @@ -0,0 +1,344 @@ +const zhtw = { + inbox: '收件匣', + drafts: '草稿匣', + sent: '已寄出', + starred: '星號郵件', + settings: '個人設定', + analytics: '分析頁', + allUsers: '使用者列表', + allMail: '全部郵件', + permissions: '權限控制', + inviteCode: '註冊金鑰', + SystemSettings: '系統設定', + noMoreData: '沒有更多資料了', + noMessagesFound: '沒有任何郵件', + addAccount: '新增信箱', + emailAccount: '電子郵件帳號', + account: '信箱', + userAccount: '使用者信箱', + deleteUser: '刪除帳號', + deleteUserBtn: '刪除帳號', + changePassword: '修改密碼', + newPassword: '新密碼', + confirmPassword: '確認密碼', + add: '新增', + manage: '管理', + rename: '重新命名', + delete: '刪除', + save: '儲存', + profile: '個人資訊', + change: '修改', + changePwdBtn: '修改密碼', + username: '使用者名稱', + password: '密碼', + delAccount: '刪除帳號', + delAccountMsg: '此操作將永久刪除您的帳號及其所有資料,且無法復原', + totalReceived: '收件數量', + totalSent: '寄件數量', + totalMailboxes: '信箱數量', + totalUsers: '使用者數量', + deleted: '刪除', + selectDeleted: '已刪除', + active: '正常', + emailSource: '郵件來源', + userGrowth: '使用者成長', + emailGrowth: '郵件成長', + emailSent: '寄出', + emailReceived: '接收', + sentToday: '今日寄件', + total: '次數', + growthTotalUsers: '使用者數', + searchByEmail: '輸入電子郵件搜尋', + tabEmailAddress: '使用者信箱', + tabReceived: '收件數量', + tabSent: '寄件數量', + tabMailboxes: '信箱數量', + tabRegisteredAt: '註冊時間', + tabStatus: '狀態', + tabRole: '權限身分', + roleName: '名稱', + role: '權限身分', + all: '全部', + normal: '正常', + banned: '封鎖', + reset: '重設', + restore: '復原', + tabSetting: '設定', + registrationIp: '註冊 IP', + recentIP: '近期 IP', + recentActivity: '近期活動', + loginDevice: '登入裝置', + loginSystem: '登入系統', + browserLogin: '登入瀏覽器', + unauthorized: '無權限', + unlimited: '無限制', + sendCount: '郵件寄送:', + accountCount: '信箱新增:', + action: '操作', + chgPwd: '修改密碼', + perm: '權限', + btnBan: '停用', + admin: '超級管理員', + addUser: '新增使用者', + select: '請選擇', + unknown: '未知', + changePerm: '修改權限', + from: '寄件人', + subject: '主旨', + sender: '寄件人', + user: '使用者', + searchByContent: '輸入內容搜尋', + noRecipient: '無收件人', + received: '已接收', + selectEmail: '信箱', + order: '排序', + default: '預設', + description: '描述', + expand: '展開', + collapse: '收起', + daily: '每天', + internal: '站內', + searchRegKeyDesc: '輸入註冊碼搜尋', + remainingUses: '剩餘次數', + exhausted: '已用盡', + validUntil: '有效期限', + expired: '已過期', + copy: '複製', + copyCode: '複製驗證碼', + codeLabel: '驗證碼:', + history: '記錄', + addRegKey: '新增註冊碼', + regKey: '註冊碼', + noCodeFound: '沒有任何註冊碼', + useHistory: '使用記錄', + date: '時間', + roleDesc: '權限身分', + noSubject: '無主旨', + recipient: '收件人', + delivered: '寄送成功', + complained: '被標記為垃圾郵件', + delayed: '寄送已延遲', + bounced: '寄送失敗', + attachments: '附件列表', + attCount: '共 {total} 個', + emailCount: '共 {total} 封', + error404: '404 錯誤,找不到頁面', + home: '返回首頁', + loginBtn: '登入', + regBtn: '註冊', + loginTitle: '輸入帳號資訊以開始使用郵件系統', + regTitle: '輸入帳號密碼以開始註冊郵件系統', + confirmPwd: '確認密碼', + regKeyOptional: '註冊碼(選填)', + noAccount: '還沒有帳號?', + hasAccount: '已有帳號?', + regSwitch: '建立帳號', + loginSwitch: '前往登入', + websiteSetting: '網站設定', + websiteReg: '使用者註冊', + loginDomain: '隱藏登入網域', + syncDelete: '同步刪除', + syncDeleteDesc: '開啟後收件匣和信箱不再使用軟刪除', + multipleEmail: '多信箱模式', + multipleEmailDesc: '開啟後帳號欄會出現使用者可以新增多個信箱', + customization: '個人化設定', + websiteTitle: '網站標題', + loginBoxOpacity: '登入框透明度', + loginBackground: '登入背景', + emailSetting: '郵件設定', + receiveEmail: '郵件接收', + autoRefresh: '自動重新整理', + autoRefreshDesc: '輪詢伺服器以取得最新郵件', + sendEmail: '郵件寄送', + resendToken: 'Resend Token', + cloudflareEmailSending: 'Cloudflare 郵件寄送', + blackList: '郵件黑名單', + codeRecognition: '辨識驗證碼', + codeRecognitionRules: '辨識規則', + codeRecognitionRulesDesc: '只辨識包含以下資訊的郵件,留空則辨識全部', + oss: '物件儲存', + osDomain: '存取網域', + ossDomainDesc: '如果是 KV 儲存則不需要填寫', + emailPush: '郵件推送', + tgBot: 'Telegram 機器人', + disable: '關閉', + disabled: '已關閉', + otherEmail: '第三方信箱', + forwardingRules: '轉寄規則', + forwardAll: '全部轉寄', + rules: '規則轉寄', + turnstileSetting: 'Turnstile 人機驗證', + signUpVerification: '註冊驗證', + addEmailVerification: '新增驗證', + about: '關於', + version: '版本', + community: '交流', + changeTitle: '修改標題', + addResendTokenDesc: '輸入內容以新增,不填則刪除', + addOsDomain: '新增網域', + domainDesc: '網域', + addTurnstileSecret: '新增 Turnstile 金鑰', + backgroundTitle: '設定背景', + tgBotDesc: '可以將接收的郵件轉寄至 Telegram 機器人', + tgBotToken: '機器人 Token', + toBotTokenDesc: '使用者 chat_id 多個請以 , 分隔', + otherEmailDesc: '可以將郵件轉寄至其他服務商信箱,需要在 Cloudflare 驗證信箱', + otherEmailInputDesc: '多個信箱請以 , 分隔', + forwardingRulesDesc: '規則轉寄只會轉寄設定信箱所接收的郵件', + ruleEmailsInputDesc: '多個信箱請以 , 分隔', + resendTokenList: 'Token 列表', + domain: '網域', + optional: '選填', + subjectInputDesc: '請輸入郵件主旨', + changeUserName: '修改使用者名稱', + send: '寄送', + reply: '回覆', + forward: '轉寄', + confirm: '確定', + cancel: '取消', + delEmailConfirm: '確定要刪除這封郵件嗎?', + delSuccessMsg: '刪除成功', + emptyEmailMsg: '信箱不能為空', + notEmailMsg: '輸入的電子郵件地址不合法', + emptyPwdMsg: '密碼不能為空', + pwdLengthMsg: '密碼至少六位', + minEmailPrefix: '信箱名稱至少 {msg} 位', + confirmPwdFailMsg: '兩次輸入的密碼不一致', + emptyRegKeyMsg: '註冊碼不能為空', + regSuccessMsg: '註冊成功', + copySuccessMsg: '複製成功', + copyFailMsg: '複製失敗', + clearRegKey: '確定要清除所有不可用的註冊碼嗎?', + clearSuccess: '清除成功', + emptyRole: '身分類型不能為空', + emptyTimeMsg: '有效時間不能為空', + emptyCountMsg: '可用次數不能為空', + addSuccessMsg: '新增成功', + delConfirm: '確定要刪除 {msg} 嗎?', + delUsersConfirm: '確定要刪除選取的使用者嗎?', + emptyRoleNameMsg: '身分名稱不能為空', + saveSuccessMsg: '儲存成功', + changeRoleTitle: '修改身分', + addRoleTitle: '新增身分', + emptyUserNameMsg: '使用者名稱不能為空', + delAccountConfirm: '確定要刪除目前帳號及所有資料嗎?', + clearAllDelConfirm: '此操作無法復原,輸入 確認刪除 以繼續操作', + warning: '警告', + delInputPattern: '確認刪除', + inputErrorMessage: '請輸入確認刪除', + delBackgroundConfirm: '確定要刪除這個背景嗎?', + enable: '啟用', + enabled: '已啟用', + reSendConfirm: '確定要重設 {msg} 的寄件次數嗎?', + reSuccessMsg: '重設成功', + restoreConfirm: '確定要復原 {msg} 嗎?', + normalRestore: '一般復原', + allRestore: '包含已刪除的資料', + restoreSuccessMsg: '復原成功', + banRestore: '確定要停用 {msg} 嗎?', + logOut: '登出', + clearContentConfirm: '確定要清空所有內容嗎?', + emptyRecipientMsg: '收件人電子郵件地址不能為空', + emptySubjectMsg: '主旨不能為空', + emptyContentMsg: '郵件正文不能為空', + noSeparateSendMsg: '分別寄送目前不支援附件', + sendSuccessMsg: '寄送成功', + sendFailMsg: '寄送失敗', + saveDraftConfirm: '是否儲存草稿?', + delEmailsConfirm: '確定要刪除選取的郵件嗎?', + delOneEmailConfirm: '確定要刪除這封郵件嗎?', + sending: '郵件正在寄送中', + sendingErrorMsg: '郵件正在寄送中', + networkErrorMsg: '網路錯誤,請檢查網路連線', + timeoutErrorMsg: '請求逾時,請稍後再試', + serverBusyErrorMsg: '伺服器忙碌中,請稍後再試', + reqFailErrorMsg: '請求失敗,請稍後再試', + message: '郵件詳細資訊', + language: '系統語言', + totalUserAccount: '{msg} 個', + sendBanned: '已停用', + sendInternal: '僅限站內', + wrote: '來信', + support: '贊助', + supportDesc: '請我喝杯奶茶', + featDesc: '功能說明', + emailInterception: '郵件攔截', + emailInterceptionDesc: '輸入信箱或網域以攔截郵件,可用於禁止使用者接收某些網站的郵件,輸入 * 可攔截所有郵件', + availableDomains: '可用網域', + availableDomainsDesc: '限制使用者只能使用指定的網域信箱,不在設定清單內的網域將禁止註冊、新增信箱、接收及寄送郵件等功能,留空則預設允許所有網域', + backgroundUrlDesc: '線上圖片連結', + localUpload: '本機上傳', + imageLink: '圖片連結', + imageLinkErrorMsg: '圖片連結不正確', + backgroundWarning: '圖片檔案大小會影響網站載入速度', + rulesVerify: '規則', + rulesVerifyTitle: 'IP 每天使用 {count} 次後觸發', + botVerifyMsg: '請完成人機驗證', + noticeTitle: '網站公告', + noticePopup: '登入彈窗', + icon: '圖示', + position: '位置', + offset: '偏移距離', + duration: '顯示時間', + topRight: '右上', + topLeft: '左上', + bottomRight: '右下', + bottomLeft: '左下', + width: '寬度', + titleDesc: '標題', + noticeContentDesc: '公告內容,支援 HTML', + verifyModuleFailed: '人機驗證模組載入失敗,請重新整理頁面', + popUp: '彈出', + noRecipientTitle: '無需註冊即可收件', + noRecipientDesc: '即使沒有註冊的信箱也能收到郵件', + preview: '預覽', + help: '說明', + document: '專案文件', + clearEmail: '郵件清除', + sendEmailAddress: '寄件人信箱', + toEmail: '收件人信箱', + equal: '等於', + leading: '開頭匹配', + to: '至', + clear: '清除', + include: '包含', + delAllConfirm: '確定要刪除嗎?', + pin: '置頂', + s3Configuration: 'S3 設定', + confirmDeletionOfContacts: '確定要清除這些聯絡人嗎?', + recentContacts: '最近聯絡人', + selectContacts: '選取', + forcePathStyleDesc: '路徑樣式存取,一些自建的物件儲存需要開啟', + storageType: '儲存類型', + customDomainDesc: 'Worker 自訂網域', + show: '顯示', + hide: '隱藏', + onlyName: '僅名稱', + emailText: '郵件文字', + emailPrefix: '信箱前綴', + atLeast: '至少', + character: '位', + mustNotContain: '禁止包含', + mustNotContainDesc: '輸入多個值請以 , 分隔', + blackSubjectDesc: '郵件主旨', + blackContentDesc: '郵件內容', + blackFromDesc: '寄件人信箱或網域', + senderRules: '寄件人信箱或網域', + blackListDesc: '拒收包含以下資訊的郵件', + setSuccess: '設定成功', + details: '詳細資訊', + userDetails: '使用者詳細資訊', + markAsRead: '標記為已讀', + star: '星號', + setRole: '設定權限', + adminDeleteUser: '刪除使用者', + banUser: '封鎖使用者', + enableUser: '啟用使用者', + restoreUser: '復原使用者', + searchUser: '搜尋使用者', + searchEmail: '搜尋信箱', + searchSender: '搜尋寄件人', + userEmail: '使用者信箱' +} + +export default zhtw \ No newline at end of file diff --git a/mail-worker/src/i18n/i18n.js b/mail-worker/src/i18n/i18n.js index a90393ebcf..c95b55180b 100644 --- a/mail-worker/src/i18n/i18n.js +++ b/mail-worker/src/i18n/i18n.js @@ -1,5 +1,6 @@ import i18next from 'i18next'; -import zh from './zh.js' +import zh_cn from './zh_cn.js' +import zh_tw from './zh_tw.js' import en from './en.js' import app from '../hono/hono'; @@ -15,9 +16,12 @@ const resources = { en: { translation: en }, - zh: { - translation: zh, + zh_cn: { + translation: zh_cn, }, + zh_tw: { + translation: zh_tw, + } }; i18next.init({ diff --git a/mail-worker/src/i18n/zh.js b/mail-worker/src/i18n/zh_cn.js similarity index 99% rename from mail-worker/src/i18n/zh.js rename to mail-worker/src/i18n/zh_cn.js index a4ba083502..d8e5d8758c 100644 --- a/mail-worker/src/i18n/zh.js +++ b/mail-worker/src/i18n/zh_cn.js @@ -1,4 +1,4 @@ -const zh = { +const zh_cn = { IncorrectPwd: '密码输入错误', addAccountDisabled: '添加邮箱功能已关闭', regDisabled: '注册功能已关闭', @@ -103,4 +103,4 @@ const zh = { } } -export default zh +export default zh_cn diff --git a/mail-worker/src/i18n/zh_tw.js b/mail-worker/src/i18n/zh_tw.js new file mode 100644 index 0000000000..264bc44d30 --- /dev/null +++ b/mail-worker/src/i18n/zh_tw.js @@ -0,0 +1,106 @@ +const zh_tw = { + IncorrectPwd: '密碼輸入錯誤', + addAccountDisabled: '新增信箱功能已關閉', + regDisabled: '註冊功能已關閉', + emptyEmail: '信箱不能為空', + notEmail: '無效的信箱', + notExistDomain: '不存在的信箱網域', + isDelAccount: '該信箱已被註銷', + isRegAccount: '該信箱已被註冊', + accountLimit: '新增信箱數量已達限制', + delMyAccount: '不可以刪除自己的信箱', + noUserAccount: '該信箱不屬於目前使用者', + usernameLengthLimit: '使用者名稱長度超出限制', + noOsSendPic: '物件儲存未設定,無法傳送內文圖片', + noOsDomainSendAtt: '物件儲存網域未設定,無法傳送附件', + noOsSendAtt: '物件儲存未設定,無法傳送附件', + disabledSend: '郵件寄送功能已停用', + daySendLimit: '寄送次數已達每日限制', + totalSendLimit: '寄送次數已達限制', + daySendLack: '當日剩餘寄送次數不足', + totalSendLack: '剩餘寄送次數不足', + senderAccountNotExist: '寄件人信箱不存在', + noResendToken: 'Resend 未設定,只能寄送郵件至站內信箱', + noSendProvider: '寄件服務未設定,只能寄送郵件至站內信箱', + sendEmailNotCurUser: '寄件人信箱不屬於目前使用者', + notExistEmailReply: '郵件不存在,無法回覆', + imageAttLimit: '圖片不能超過 10 個', + attLimit: '附件不能超過 10 個', + pwdLengthLimit: '密碼長度超出限制', + emailLengthLimit: '信箱長度超出限制', + minEmailPrefix: '信箱名稱至少 {{msg}} 位', + banEmailPrefix: '信箱名稱包含無效字元', + pwdMinLength: '密碼至少六位', + notEmailDomain: '無效的信箱網域', + emptyRegKey: '註冊碼不能為空', + notExistRegKey: '註冊碼不存在', + noRegKeyTotal: '註冊碼使用次數已用盡', + regKeyExpire: '註冊碼已過期', + emailAndPwdEmpty: '信箱和密碼不能為空', + notExistUser: '輸入的信箱不存在', + isDelUser: '該信箱已被註銷', + isBanUser: '該信箱已被停用', + regKeyUseCount: '使用次數不能為空', + emptyRegKeyExpire: '有效時間不能為空', + isExistRegKye: '註冊碼已存在', + roleNotExist: '權限身分不存在', + emptyRoleName: '身分名稱不能為空', + roleNameExist: '身分名稱已存在', + delDefRole: '預設身分不能刪除', + notJsonDomain: '環境變數 domain 必須是 JSON 類型', + noDomainVariable: '環境變數 domain 不能為空', + noOsUpBack: '物件儲存未設定,無法上傳背景', + noOsDomainUpBack: '物件儲存網域未設定,無法上傳背景', + starNotExistEmail: '加星號的郵件不存在', + emptyBotToken: '需要進行人機驗證', + botVerifyFail: '人機驗證失敗,請重試', + authExpired: '身分驗證已失效,請重新登入', + unauthorized: '權限不足', + bannedSend: '你沒有郵件寄送權限', + onlyInternalSend: '權限不足,只能寄送郵件至站內信箱', + noDomainPermAdd: '你沒有權限新增該網域的信箱', + noDomainPermReg: '你沒有權限註冊該網域的信箱', + noDomainPermRegKey: '你的註冊碼沒有權限註冊該網域的信箱', + noDomainPermSend: '你沒有權限使用該網域的信箱寄送郵件', + publicTokenFail: 'Token 驗證失敗', + notAdmin: '輸入的信箱不是管理員信箱', + emailExistDatabase: '已有信箱存在於資料庫中', + notConfigOss: '物件儲存未設定', + perms: { + "邮件": "郵件", + "邮件发送": "郵件寄送", + "邮件删除": "郵件刪除", + "邮箱侧栏": "信箱側欄", + "邮箱查看": "信箱查看", + "邮箱添加": "信箱新增", + "邮箱删除": "信箱刪除", + "个人设置": "個人設定", + "用户注销": "使用者註銷", + "分析页": "分析頁", + "数据查看": "資料查看", + "用户信息": "使用者列表", + "用户查看": "使用者查看", + "用户添加": "使用者新增", + "密码修改": "密碼修改", + "状态修改": "狀態修改", + "权限修改": "權限修改", + "用户删除": "使用者刪除", + "邮件列表": "全部郵件", + "邮件查看": "郵件查看", + "权限控制": "權限控制", + "身份查看": "身分查看", + "身份添加": "身分新增", + "身份修改": "身分修改", + "身份删除": "身分刪除", + "注册密钥": "註冊金鑰", + "密钥查看": "金鑰查看", + "密钥添加": "金鑰新增", + "密钥删除": "金鑰刪除", + "系统设置": "系統設定", + "设置查看": "設定查看", + "设置修改": "設定修改", + "发件重置": "寄件重設" + } +} + +export default zh_tw \ No newline at end of file From 6ddb7ce1fb647a6c9c4df28336c545437cfb8d59 Mon Sep 17 00:00:00 2001 From: Evan Hsieh Date: Mon, 17 Aug 2026 15:50:09 +0800 Subject: [PATCH 2/3] feat: add support for Traditional Chinese (zh_tw) and update Simplified Chinese (zh_cn) language options in settings --- mail-vue/src/views/setting/index.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mail-vue/src/views/setting/index.vue b/mail-vue/src/views/setting/index.vue index 1650969df3..00b65b33ac 100644 --- a/mail-vue/src/views/setting/index.vue +++ b/mail-vue/src/views/setting/index.vue @@ -38,7 +38,8 @@ placeholder="Select" @change="changeLang" > - + + From 13e0d50a34d9b1c7e2672abbcc09c3a9d662a80e Mon Sep 17 00:00:00 2001 From: Evan Hsieh Date: Wed, 26 Aug 2026 10:57:46 +0800 Subject: [PATCH 3/3] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=20OAuth2=20?= =?UTF-8?q?=E7=9B=B8=E9=97=9C=E7=9A=84=E7=BF=BB=E8=AD=AF=E5=AD=97=E4=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mail-vue/src/i18n/zh_tw.js | 8 +++++++- mail-worker/src/i18n/zh_tw.js | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/mail-vue/src/i18n/zh_tw.js b/mail-vue/src/i18n/zh_tw.js index 338b8ca0c3..75f78ba2f5 100644 --- a/mail-vue/src/i18n/zh_tw.js +++ b/mail-vue/src/i18n/zh_tw.js @@ -30,6 +30,7 @@ const zhtw = { change: '修改', changePwdBtn: '修改密碼', username: '使用者名稱', + trustLevel: '等級', password: '密碼', delAccount: '刪除帳號', delAccountMsg: '此操作將永久刪除您的帳號及其所有資料,且無法復原', @@ -274,6 +275,7 @@ const zhtw = { rulesVerify: '規則', rulesVerifyTitle: 'IP 每天使用 {count} 次後觸發', botVerifyMsg: '請完成人機驗證', + oauthLogin: 'OAuth2', noticeTitle: '網站公告', noticePopup: '登入彈窗', icon: '圖示', @@ -338,7 +340,11 @@ const zhtw = { searchUser: '搜尋使用者', searchEmail: '搜尋信箱', searchSender: '搜尋寄件人', - userEmail: '使用者信箱' + userEmail: '使用者信箱', + oauthSetting: 'OAuth', + clientId: '客戶端 ID', + clientSecret: '客戶端密鑰', + notOwner: '基礎信箱不屬於您', } export default zhtw \ No newline at end of file diff --git a/mail-worker/src/i18n/zh_tw.js b/mail-worker/src/i18n/zh_tw.js index 264bc44d30..501dc5b87f 100644 --- a/mail-worker/src/i18n/zh_tw.js +++ b/mail-worker/src/i18n/zh_tw.js @@ -15,6 +15,7 @@ const zh_tw = { noOsDomainSendAtt: '物件儲存網域未設定,無法傳送附件', noOsSendAtt: '物件儲存未設定,無法傳送附件', disabledSend: '郵件寄送功能已停用', + oauthDisabled: '該 OAuth2 功能未啟用', daySendLimit: '寄送次數已達每日限制', totalSendLimit: '寄送次數已達限制', daySendLack: '當日剩餘寄送次數不足',