From 187a33634dd65934b83b950ec9fd2dd28fe41a3c Mon Sep 17 00:00:00 2001 From: Ken Date: Tue, 13 Aug 2024 16:35:37 +0800 Subject: [PATCH 1/2] add languages zh-TW --- client/src/locales/index.js | 2 + client/src/locales/zh-TW/core.js | 237 ++++++++++++++++++++++++++++++ client/src/locales/zh-TW/index.js | 8 + client/src/locales/zh-TW/login.js | 22 +++ 4 files changed, 269 insertions(+) create mode 100644 client/src/locales/zh-TW/core.js create mode 100644 client/src/locales/zh-TW/index.js create mode 100644 client/src/locales/zh-TW/login.js diff --git a/client/src/locales/index.js b/client/src/locales/index.js index bcc7eea33..32b17327b 100644 --- a/client/src/locales/index.js +++ b/client/src/locales/index.js @@ -22,6 +22,7 @@ import trTR from './tr-TR'; import ukUA from './uk-UA'; import uzUZ from './uz-UZ'; import zhCN from './zh-CN'; +import zhTW from './zh-TW'; const locales = [ bgBG, @@ -48,6 +49,7 @@ const locales = [ ukUA, uzUZ, zhCN, + zhTW, ]; export default locales; diff --git a/client/src/locales/zh-TW/core.js b/client/src/locales/zh-TW/core.js new file mode 100644 index 000000000..f457a5100 --- /dev/null +++ b/client/src/locales/zh-TW/core.js @@ -0,0 +1,237 @@ +import dateFns from 'date-fns/locale/zh-TW'; + +export default { + dateFns, + + format: { + date: 'M/d/yyyy', + time: 'p', + dateTime: '$t(format:date) $t(format:time)', + longDate: 'MMM d', + longDateTime: "MMMM d 'at' p", + fullDate: 'MMM d, y', + fullDateTime: "MMMM d, y 'at' p", + }, + + translation: { + common: { + aboutPlanka: '關於 Planka', + account: '帳號', + actions: '操作', + addAttachment_title: '添加附件', + addComment: '添加評論', + addManager_title: '添加管理員', + addMember_title: '添加成員', + addUser_title: '添加使用者', + administrator: '管理員', + all: '全部', + allChangesWillBeAutomaticallySavedAfterConnectionRestored: '所有修改會在重新連線後自動保存', + areYouSureYouWantToDeleteThisAttachment: '確認刪除此附件嗎?', + areYouSureYouWantToDeleteThisBoard: '確認刪除此看板嗎?', + areYouSureYouWantToDeleteThisCard: '確認刪除此卡片嗎?', + areYouSureYouWantToDeleteThisComment: '確認刪除此評論嗎?', + areYouSureYouWantToDeleteThisLabel: '確認刪除此標籤嗎?', + areYouSureYouWantToDeleteThisList: '確認刪除此列表嗎?', + areYouSureYouWantToDeleteThisProject: '確認刪除此專案嗎?', + areYouSureYouWantToDeleteThisTask: '確認刪除此任務嗎?', + areYouSureYouWantToDeleteThisUser: '確認刪除此使用者嗎?', + areYouSureYouWantToLeaveBoard: '確認離開此看板嗎?', + areYouSureYouWantToLeaveProject: '確認離開此專案嗎?', + areYouSureYouWantToRemoveThisManagerFromProject: '確認從此專案中刪除該管理員嗎?', + areYouSureYouWantToRemoveThisMemberFromBoard: '確認從此看板中刪除該成員嗎?', + attachment: '附件', + attachments: '附件', + authentication: '驗證', + background: '背景', + board: '看板', + boardNotFound_title: '看板不存在', + canComment: '可以評論', + canEditContentOfBoard: '可以編輯看板內容', + canOnlyViewBoard: '僅可查看看板', + cardActions_title: '卡片操作', + cardNotFound_title: '卡片不存在', + cardOrActionAreDeleted: '卡片或操作已經被刪除', + color: '顏色', + createBoard_title: '創建看板', + createLabel_title: '創建標籤', + createNewOneOrSelectExistingOne: '創建一個新的或選擇一個已創建的', + createProject_title: '創建專案', + createTextFile_title: '創建文本文件', + currentPassword: '當前密碼', + dangerZone_title: '危險區域', + date: '日期', + dueDate_title: '截止日期', + deleteAttachment_title: '刪除附件', + deleteBoard_title: '刪除看板', + deleteCard_title: '刪除卡片', + deleteComment_title: '刪除評論', + deleteLabel_title: '刪除標籤', + deleteList_title: '刪除列表', + deleteProject_title: '刪除專案', + deleteTask_title: '刪除任務', + deleteUser_title: '刪除使用者', + description: '描述', + detectAutomatically: '自動偵測', + dropFileToUpload: '拖放文件以上傳', + editor: '編輯器', + editAttachment_title: '編輯附件', + editAvatar_title: '編輯頭像', + editBoard_title: '編輯看板', + editDueDate_title: '編輯截止時間', + editEmail_title: '編輯郵箱', + editInformation_title: '編輯信息', + editLabel_title: '編輯標籤', + editPassword_title: '修改密碼', + editPermissions_title: '修改權限', + editStopwatch_title: '修改計時', + editUsername_title: '修改使用者名稱', + email: '郵箱', + emailAlreadyInUse: '郵箱已被使用', + enterCardTitle: '輸入卡片標題...', + enterDescription: '輸入描述...', + enterFilename: '輸入文件名', + enterListTitle: '輸入列表標題...', + enterProjectTitle: '輸入專案標題', + enterTaskDescription: '輸入任務描述...', + filterByLabels_title: '通過標籤篩選', + filterByMembers_title: '通過成員篩選', + fromComputer_title: '來自電腦', + fromTrello: '來自 Trello', + general: '通用', + hours: '小時', + importBoard_title: '導入看板', + invalidCurrentPassword: '當前密碼錯誤', + labels: '標籤', + language: '語言', + leaveBoard_title: '離開看板', + leaveProject_title: '離開專案', + list: '列表', + listActions_title: '列表操作', + managers: '管理員', + members: '成員', + minutes: '分鐘', + moveCard_title: '移動卡片', + name: '姓名', + newEmail: '新郵箱', + newPassword: '新密碼', + newUsername: '新使用者名稱', + noConnectionToServer: '未連接到伺服器', + noBoards: '沒有看板', + noLists: '沒有列表', + noProjects: '沒有專案', + notifications: '通知', + noUnreadNotifications: '沒有未讀通知', + openBoard_title: '打開看板', + optional_inline: '可選的', + organization: '組織機構', + phone: '電話', + preferences: '偏好設定', + pressPasteShortcutToAddAttachmentFromClipboard: + '提示: 按下 Ctrl-V (Mac: Cmd-V) 從剪貼簿添加附件', + project: '專案', + projectNotFound_title: '專案未找到', + removeManager_title: '刪除管理員', + removeMember_title: '刪除成員', + searchLabels: '搜尋標籤...', + searchMembers: '搜尋成員...', + searchUsers: '搜尋使用者...', + seconds: '秒', + selectBoard: '選擇看板', + selectList: '選擇列表', + selectPermissions_title: '選擇權限', + selectProject: '選擇專案', + settings: '設置', + stopwatch: '碼表', + subscribeToMyOwnCardsByDefault: '默認訂閱自己創建的卡片', + taskActions_title: '任務操作', + tasks: '任務', + thereIsNoPreviewAvailableForThisAttachment: '此附件無法預覽', + time: '時間', + title: '標題', + userActions_title: '使用者操作', + userAddedThisCardToList: '<0>{{user}}<1> 向列表 {{list}} 添加了該卡片', + userLeftNewCommentToCard: '{{user}} 給 {{card}} 添加了一條新評論 「{{comment}}」', + userMovedCardFromListToList: + '{{user}} 將卡片 <2>{{card}} 從 {{fromList}} 移動到 {{toList}}', + userMovedThisCardFromListToList: + '<0>{{user}}<1> 將該卡片從 {{fromList}} 移動到 {{toList}}', + username: '使用者名稱', + usernameAlreadyInUse: '使用者名稱已被佔用', + users: '使用者', + version: '版本', + viewer: '檢視', + writeComment: '編寫評論...', + }, + + action: { + addAnotherCard: '添加另一個卡片', + addAnotherList: '添加另一個列表', + addAnotherTask: '添加另一個任務', + addCard: '添加卡片', + addCard_title: '添加卡片', + addComment: '添加評論', + addList: '添加列表', + addMember: '添加成員', + addMoreDetailedDescription: '添加更多詳細描述', + addTask: '添加任務', + addToCard: '添加到卡片', + addUser: '添加使用者', + createBoard: '創建看板', + createFile: '創建文件', + createLabel: '創建標籤', + createNewLabel: '創建新標籤', + createProject: '創建專案', + delete: '刪除', + deleteAttachment: '刪除附件', + deleteAvatar: '刪除頭像', + deleteBoard: '刪除看板', + deleteCard: '刪除卡片', + deleteCard_title: '刪除卡片', + deleteComment: '刪除評論', + deleteImage: '刪除圖片', + deleteLabel: '刪除標籤', + deleteList: '刪除列表', + deleteList_title: '刪除列表', + deleteProject: '刪除專案', + deleteProject_title: '刪除專案', + deleteTask: '刪除任務', + deleteTask_title: '刪除任務', + deleteUser: '刪除使用者', + edit: '編輯', + editDueDate_title: '編輯截止時間', + editDescription_title: '編輯描述', + editEmail_title: '編輯郵箱', + editInformation_title: '編輯信息', + editPassword_title: '編輯密碼', + editPermissions: '編輯權限', + editStopwatch_title: '編輯碼表', + editTitle_title: '編輯標題', + editUsername_title: '編輯使用者名稱', + hideDetails: '隱藏詳情', + import: '導入', + leaveBoard: '離開看板', + leaveProject: '離開專案', + logOut_title: '登出', + makeCover_title: '設置封面', + move: '移動', + moveCard_title: '移動卡片', + remove: '刪除', + removeBackground: '刪除背景', + removeCover_title: '刪除封面', + removeFromBoard: '從看板中刪除', + removeFromProject: '從專案中刪除', + removeManager: '刪除管理員', + removeMember: '刪除成員', + save: '保存', + showAllAttachments: '顯示所有附件 ({{hidden}} 隱藏)', + showDetails: '顯示詳情', + showFewerAttachments: '顯示較少附件', + start: '開始', + stop: '結束', + subscribe: '訂閱', + unsubscribe: '取消訂閱', + uploadNewAvatar: '上傳新頭像', + uploadNewImage: '上傳圖片', + }, + }, +}; diff --git a/client/src/locales/zh-TW/index.js b/client/src/locales/zh-TW/index.js new file mode 100644 index 000000000..d555515f0 --- /dev/null +++ b/client/src/locales/zh-TW/index.js @@ -0,0 +1,8 @@ +import login from './login'; + +export default { + language: 'zh-TW', + country: 'tw', + name: '繁體中文', + embeddedLocale: login, +}; diff --git a/client/src/locales/zh-TW/login.js b/client/src/locales/zh-TW/login.js new file mode 100644 index 000000000..114b227f6 --- /dev/null +++ b/client/src/locales/zh-TW/login.js @@ -0,0 +1,22 @@ +export default { + translation: { + common: { + emailOrUsername: '郵箱或使用者名稱', + invalidEmailOrUsername: '無效的郵箱或使用者名稱', + invalidPassword: '密碼錯誤', + logInToPlanka: '登入至 Planka', + noInternetConnection: '沒有網路連接', + pageNotFound_title: '找不到頁面', + password: '密碼', + projectManagement: '專案管理', + serverConnectionFailed: '伺服器連接失敗', + unknownError: '未知錯誤,請稍後重試', + useSingleSignOn: '使用單一登入', + }, + + action: { + logIn: '登入', + logInWithSSO: '使用SSO登入', + }, + }, +}; From bca73aaa0b84b547bf25f542d5dbc6b2f13c6e4c Mon Sep 17 00:00:00 2001 From: Maksim Eltyshev Date: Tue, 13 Aug 2024 12:52:18 +0200 Subject: [PATCH 2/2] fix: Add to server side --- server/api/models/User.js | 1 + 1 file changed, 1 insertion(+) diff --git a/server/api/models/User.js b/server/api/models/User.js index 486a66b24..a4216c8a5 100755 --- a/server/api/models/User.js +++ b/server/api/models/User.js @@ -30,6 +30,7 @@ const LANGUAGES = [ 'uk-UA', 'uz-UZ', 'zh-CN', + 'zh-TW', ]; const OIDC = {