Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions mail-vue/src/i18n/index.js
Original file line number Diff line number Diff line change
@@ -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
},
});
Expand Down
4 changes: 2 additions & 2 deletions mail-vue/src/i18n/zh.js → mail-vue/src/i18n/zh_cn.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const zh = {
const zhcn = {
inbox: '收件箱',
drafts: '草稿箱',
sent: '已发送',
Expand Down Expand Up @@ -346,4 +346,4 @@ const zh = {
clientSecret: '客户端密钥',
notOwner: '基础邮箱不属于您',
}
export default zh
export default zhcn
350 changes: 350 additions & 0 deletions mail-vue/src/i18n/zh_tw.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,350 @@
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: '使用者名稱',
trustLevel: '等級',
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: '此操作無法復原,輸入 <b style="font-weight: bold;">確認刪除</b> 以繼續操作',
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: '請完成人機驗證',
oauthLogin: 'OAuth2',
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: '使用者信箱',
oauthSetting: 'OAuth',
clientId: '客戶端 ID',
clientSecret: '客戶端密鑰',
notOwner: '基礎信箱不屬於您',
}

export default zhtw
3 changes: 2 additions & 1 deletion mail-vue/src/views/setting/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@
placeholder="Select"
@change="changeLang"
>
<el-option label="中文" value="zh" @pointerdown.prevent.stop="changeLang('zh')"/>
<el-option label="简体中文" value="zh" @pointerdown.prevent.stop="changeLang('zh_cn')"/>
<el-option label="繁體中文" value="zh_tw" @pointerdown.prevent.stop="changeLang('zh_tw')"/>
<el-option label="English" value="en" @pointerdown.prevent.stop="changeLang('en')"/>
</el-select>
</div>
Expand Down
Loading