Compare commits

...

4 Commits

Author SHA1 Message Date
20f4e780bc 🌐 Add traditional translation for HK and TW 2024-12-10 22:47:45 +08:00
da43c940f2 🐛 Remove remove debug banner 2024-12-10 22:19:40 +08:00
a9ca8d36bc 🚀 Launch 2.0.0+20
🐛 Bug fixes upload chat attachment to wrong pool
📝 Update desktop title bar text
2024-12-10 21:45:27 +08:00
1980843ac0 📱 Optimize dashboard for large screen 2024-12-10 21:08:32 +08:00
9 changed files with 896 additions and 16 deletions

View File

@ -0,0 +1,433 @@
{
"screen": "頁面",
"screenAbout": "關於",
"screenHome": "首頁",
"screenExplore": "探索",
"screenAccount": "您",
"screenAuthLogin": "登陸",
"screenAuthLoginSubtitle": "使用 Solarpass 登陸 Solar Network",
"screenAuthLoginGreeting": "歡迎回來",
"screenAuthRegister": "創建賬號",
"screenAuthRegisterSubtitle": "創建一個 Solarpass 賬號",
"screenAccountPublishers": "發佈者",
"screenAccountPublisherNew": "新建發佈者",
"screenAccountPublisherEdit": "編輯發佈者",
"screenAccountProfileEdit": "編輯資料",
"screenAbuseReport": "濫用檢舉",
"screenSettings": "設置",
"screenAlbum": "相冊",
"screenChat": "聊天",
"screenChatManage": "編輯聊天頻道",
"screenChatNew": "新建聊天頻道",
"screenRealm": "領域",
"screenRealmManage": "編輯領域",
"screenRealmNew": "新建領域",
"screenNotification": "通知",
"screenPostSearch": "搜索帖子",
"screenFriend": "好友",
"dialogOkay": "好的",
"dialogCancel": "取消",
"dialogConfirm": "確認",
"dialogDismiss": "忽略",
"dialogError": "出了點問題",
"errorRequestBad": "服務器拒絕了您的請求,請檢查您的輸入。",
"errorRequestUnauthorized": "未授權的請求,請登錄或者嘗試重新登陸。",
"errorRequestForbidden": "被禁止的請求,您沒有足夠的權限去做那件事。",
"errorRequestNotFound": "您正查找的資源無法被找到。",
"errorRequestConnection": "網絡連接錯誤,請檢查您的網絡狀態或者檢查我們的服務狀態。",
"errorRequestUnknown": "未知請求錯誤,您可能想將此對話框截圖併發送給我們。",
"unknown": "未知",
"loading": "加載中…",
"prev": "上一步",
"next": "下一步",
"edit": "編輯",
"apply": "應用",
"cancel": "取消",
"create": "創建",
"preview": "預覽",
"delete": "刪除",
"unlink": "解除鏈接",
"crop": "裁剪",
"compress": "壓縮",
"report": "檢舉",
"repost": "轉帖",
"replyPost": "回貼",
"reply": "回覆",
"unset": "未設置",
"untitled": "無題",
"postDetail": "帖子詳情",
"postNoun": "帖子",
"postReadMore": "閲讀更多",
"postReadEstimate": "預計花費 {} 閲讀",
"postTotalLength": {
"zero": "沒有內容",
"one": "總計 {} 字",
"other": "總計 {} 字"
},
"fieldUsername": "用户名",
"fieldNickname": "顯示名",
"fieldEmail": "電子郵箱地址",
"fieldPassword": "密碼",
"fieldUsernameAlphanumOnly": "用户名只能包含英文大小寫字母和數字。",
"fieldUsernameLengthLimit": "用户名必須在 {} 和 {} 之間。",
"fieldUsernameCannotEditHint": "用户名在創建後無法修改",
"fieldUsernameLookupHint": "支持用户名、電話號碼或郵箱地址",
"fieldNicknameLengthLimit": "暱稱必須在 {} 和 {} 之間。",
"fieldEmailAddressMustBeValid": "電子郵箱地址必須是一個電子郵箱地址。",
"fieldFirstName": "名",
"fieldLastName": "姓",
"fieldBirthday": "生日",
"fieldImageHint": "你可以點擊這些個人頭像來編輯它們。",
"fieldDescription": "簡介",
"forgotPassword": "忘記密碼",
"loginPickFactor": "選擇方式驗證",
"loginMultiFactor": {
"one": "{} 步驗證",
"other": "{} 步驗證"
},
"loginEnterPassword": "驗證代碼",
"loginSuccess": "登錄為 {}",
"authFactorPassword": "密碼",
"authFactorEmail": "電郵一次性驗證碼",
"accountIntroTitle": "喜歡您來!",
"accountIntroSubtitle": "登陸以探索更廣大的世界。",
"accountLogout": "退出登錄",
"accountLogoutSubtitle": "註銷當前賬户的登陸狀態。",
"accountLogoutConfirmTitle": "您確定要退出登錄嗎?",
"accountLogoutConfirm": "您需要重新輸入賬號密碼,甚至可能需要多步驗證來再次登陸。",
"accountPublishers": "你的發佈者",
"accountPublishersSubtitle": "管理你的公共形象。",
"accountProfileEdit": "編輯資料",
"accountProfileEditSubtitle": "使你的 Solarpass 賬户更像你。",
"accountProfileEditApplied": "個人資料修改已被應用。",
"publishersNew": "新發布者",
"publisherNewSubtitle": "創建一個新的公共身份。",
"publisherSyncWithAccount": "同步賬户信息",
"publisherTotalUpvote": "總頂數",
"publisherTotalDownvote": "總踩數",
"publisherSocialPoint": "社會信用點",
"publisherJoinedAt": "加入於 {}",
"publisherSocialPointTotal": {
"zero": "無社會信用點",
"one": "{} 點社會信用點",
"other": "{} 點社會信用點"
},
"publisherRunBy": "由 {} 管理",
"fieldPublisherBelongToRealm": "所屬領域",
"fieldPublisherBelongToRealmUnset": "未設置發佈者所屬領域",
"writePostTypeStory": "發動態",
"writePostTypeArticle": "寫文章",
"fieldPostPublisher": "帖子發佈者",
"fieldPostContent": "發生什麼事了?!",
"fieldPostTitle": "標題",
"fieldPostDescription": "描述",
"fieldPostTags": "標籤",
"postPublish": "發佈",
"postPublishedAt": "發佈於",
"postPublishedUntil": "取消發佈於",
"postVisibility": "可見性",
"postVisibilityDescription": "帖子可見性決定了誰能查看該篇帖子。",
"postVisibilityAll": "所有人可見",
"postVisibilityFriends": "僅限好友可見",
"postVisibilitySelected": "選定的用户可見",
"postVisibilityFiltered": "選定用户不可見",
"postVisibilityNone": "僅自己可見",
"postVisibleUsers": "可見的用户",
"postInvisibleUsers": "不可見的用户",
"postSelectedUsers": {
"zero": "未選擇用户",
"one": "選擇了 {} 個用户",
"other": "選擇了 {} 個用户"
},
"postEditingNotice": "你正在修改由 {} 發佈的帖子。",
"postReplyingNotice": "你正在回覆由 {} 發佈的帖子。",
"postRepostingNotice": "你正在轉發由 {} 發佈的帖子。",
"postReact": "反應",
"postPosted": "帖子已經發表。",
"postReactions": "帖子的反應",
"postReactionUpvote": {
"zero": "0 個頂",
"one": "{} 個頂",
"other": "{} 個頂"
},
"postReactionDownvote": {
"zero": "0 個踩",
"one": "{} 個踩",
"other": "{} 個踩"
},
"postReactionSocialPoint": {
"zero": "無社會信用點變更",
"one": "{} 點社會信用點變更",
"other": "{} 點社會信用點變更"
},
"postReactCompleted": "反應已被添加。",
"postReactUncompleted": "反應已被移除。",
"postComments": {
"zero": "評論",
"one": "{} 條評論",
"other": "{} 條評論"
},
"postCommentsDetailed": {
"zero": "沒有評論",
"one": "{} 條評論",
"other": "{} 條評論"
},
"settingsAppearance": "外觀",
"settingsBackgroundImage": "背景圖片",
"settingsBackgroundImageDescription": "設置應用全局生效的的背景圖片。",
"settingsBackgroundImageClear": "清除現存背景圖",
"settingsBackgroundImageClearDescription": "將應用背景圖重置為空白。",
"settingsThemeMaterial3": "使用 Material You 設計範式",
"settingsThemeMaterial3Description": "將應用主題設置為 Material 3 設計範式的主題。",
"settingsNetwork": "網絡",
"settingsNetworkServer": "HyperNet 服務器",
"settingsNetworkServerDescription": "設置 HyperNet 服務器地址,選擇我們提供的,或者自己搭建。",
"settingsNetworkServerReset": "重設為官方服務器",
"settingsNetworkServerResetDescription": "重設為 Solar Network 的服務器地址。",
"settingsNetworkServerPreset": "預設的 HyperNet 服務器",
"settingsNetworkServerPresetDescription": "你可以在旁邊的列表中選擇我們提供的預設 HyperNet 服務器地址。",
"settingsNetworkServerSaved": "服務器地址已保存。",
"settingsMisc": "雜項",
"settingsMiscAbout": "關於",
"settingsMiscAboutDescription": "查看 Solian 的版本信息。",
"sensitiveContent": "敏感內容",
"sensitiveContentCollapsed": "敏感內容已摺疊。",
"sensitiveContentDescription": "此內容已被標記,可能不適合所有人查看。",
"sensitiveContentReveal": "顯示內容",
"serverConnecting": "正在連接服務器…",
"serverDisconnected": "已與服務器斷開連接",
"fieldChatAlias": "頻道別名",
"fieldChatAliasHint": "全站範圍內唯一的頻道別名,用於在 URL 中表示該頻道,留空則自動生成。應遵循 URL-Safe 的原則。",
"fieldChatName": "名稱",
"fieldChatDescription": "描述",
"fieldChatBelongToRealm": "所屬領域",
"fieldChatBelongToRealmUnset": "未設置頻道所屬領域",
"channelEditingNotice": "您正在編輯頻道 {}",
"channelDeleted": "聊天頻道 {} 已被刪除",
"channelDelete": "刪除聊天頻道 {}",
"channelDeleteDescription": "你確定要刪除這個聊天頻道嗎?該操作不可撤銷,其頻道內的所有消息將被永久刪除。",
"channelDetailPersonalRegion": "個人區域",
"channelDetailMemberRegion": "成員管理",
"channelMemberManage": "管理成員",
"channelMemberManageDescription": "管理頻道內現有成員。",
"channelMemberAdd": "添加成員",
"channelMemberAddDescription": "給當前頻道添加新成員。",
"channelMemberAdded": "頻道成員已添加。",
"fieldMemberRelatedName": "成員名 / 賬户 ID",
"channelDetailAdminRegion": "管理區域",
"channelEditProfile": "更改頻道身份",
"channelEdit": "編輯頻道",
"channelEditDescription": "更改頻道基本信息,元數據等。",
"channelProfileEdit": "編輯頻道身份",
"channelActionDelete": "刪除頻道",
"channelActionDeleteDescription": "刪除整個頻道,並且刪除頻道里的所有信息。",
"channelLeave": "退出頻道 {}",
"channelLeaveDescription": "退出該頻道,但是你頻道內的信息不會被移除。",
"channelActionLeave": "退出頻道",
"channelActionLeaveDescription": "刪除你在這個頻道的身份。",
"channelNotifyLevel": "通知級別",
"channelNotifyLevelDescription": "有您決定要接受多少來自這個頻道的消息。",
"channelNotifyLevelAll": "全部通知",
"channelNotifyLevelMentioned": "僅提及",
"channelNotifyLevelNone": "全部靜音",
"channelNotifyLevelApplied": "已經保存並應用頻道通知級別配置。",
"fieldChannelProfileNick": "頻道內顯示名",
"fieldChannelProfileNickHint": "在頻道內顯示的暱稱,留空則使用賬號顯示名。",
"fieldRealmAlias": "領域別名",
"fieldRealmAliasHint": "全站範圍內唯一的領域別名,用於在 URL 中表示該領域,留空則自動生成。應遵循 URL-Safe 的原則。",
"fieldRealmName": "名稱",
"fieldRealmDescription": "描述",
"realmEditingNotice": "您正在編輯領域 {}",
"realmDeleted": "領域 {} 已被刪除",
"realmDelete": "刪除領域 {}",
"realmDeleteDescription": "你確定要刪除這個領域嗎?該操作不可撤銷,其隸屬於該領域的所有資源(帖子、聊天頻道、發佈者、製品等)都將被永久刪除。三思而後行!",
"realmActionDelete": "刪除領域",
"realmActionDeleteDescription": "刪除整個領域及其附屬的資源。",
"realmEdit": "編輯領域",
"realmEditDescription": "更改領域基本信息,元數據等。",
"realmMemberAdd": "添加成員",
"realmMemberAddDescription": "給當前領域添加新成員。",
"realmMemberAdded": "領域成員已添加。",
"fieldChatMessage": "在 {} 中發消息",
"fieldChatMessageDirect": "給 {} 發消息",
"eventResourceTag": "消息 {}",
"messageDelete": "刪除消息 {}",
"messageDeleteDescription": "你確定要刪除這個消息嗎?該操作不可撤銷。同時您將留下一條刪除消息的記錄。",
"messageDeleted": "消息 {} 已被刪除",
"messageEdited": "消息 {} 已被編輯",
"messageEditedHint": "已編輯",
"messageUnsupported": "不支持的消息 {}",
"messageFileHint": {
"zero": "沒有附件",
"one": "{} 個附件",
"other": "{} 個附件"
},
"addAttachmentFromAlbum": "從相冊中添加附件",
"addAttachmentFromClipboard": "粘貼附件",
"addAttachmentFromCameraPhoto": "拍攝照片",
"addAttachmentFromCameraVideo": "拍攝視頻",
"attachmentPastedImage": "粘貼的圖片",
"attachmentInsertLink": "插入連接",
"attachmentSetAsPostThumbnail": "設置為帖子縮略圖",
"attachmentUnsetAsPostThumbnail": "取消設置為帖子縮略圖",
"attachmentSetThumbnail": "設置縮略圖",
"attachmentUpload": "上傳",
"notification": "通知",
"notificationUnreadCount": {
"zero": "無未讀通知",
"one": "有 {} 個未讀通知",
"other": "有 {} 個未讀通知"
},
"notificationUnread": "未讀",
"notificationRead": "已讀",
"notificationMarkAllRead": "已讀所有通知",
"notificationMarkAllReadDescription": "您確定要將所有通知設置為已讀嗎?該操作不可撤銷。",
"notificationMarkAllReadPrompt": {
"zero": "已將 0 個通知標記為已讀。",
"one": "已將 {} 個通知標記為已讀。",
"other": "已將 {} 個通知標記為已讀。"
},
"notificationMarkOneReadPrompt": "已將通知 {} 標記為已讀。",
"search": "搜索",
"postSearchResult": {
"zero": "沒有搜索到結果",
"one": "搜索到 {} 個結果",
"other": "搜索到 {} 個結果"
},
"postSearchTook": "耗時 {}",
"postDelete": "刪除帖子 {}",
"postDeleteDescription": "你確定要刪除這個帖子嗎?該操作不可撤銷。",
"postDeleted": "帖子 {} 已被刪除。",
"call": "通話",
"callOngoingNotice": "一則通話進行中",
"callJoin": "加入",
"callResume": "恢復",
"callMicrophone": "麥克風",
"callCamera": "攝像頭",
"callMicrophoneDisabled": "麥克風已禁用",
"callMicrophoneSelect": "選擇麥克風",
"callCameraDisabled": "攝像頭已禁用",
"callCameraSelect": "選擇攝像頭",
"callDisconnected": "通話已斷開",
"callEnded": "通話已結束",
"callStatusConnected": "已連接",
"callStatusDisconnected": "未連接",
"callStatusConnecting": "正在連接",
"callStatusReconnecting": "正在重連",
"callDisconnect": "斷開連接",
"callDisconnectDescription": "您確定要與通話斷開連接嗎?",
"callMicrophoneOff": "關閉麥克風",
"callMicrophoneOn": "打開麥克風",
"callCameraOff": "關閉攝像頭",
"callCameraOn": "打開攝像頭",
"callVideoFlip": "鏡像畫面",
"callSpeakerphoneToggle": "切換揚聲器",
"callScreenOff": "關閉屏幕共享",
"callScreenOn": "開啓屏幕共享",
"callMessageEnded": "通話持續了 {}",
"callMessageStarted": "通話開始了",
"dailyCheckIn": "每日簽到",
"dailyCheckInNone": "今日尚未簽到",
"dailyCheckAction": "現在簽到",
"dailyCheckDetail": "看不懂符?大師幫我解惑!",
"dailyCheckDetailTitle": "{} 的運勢詳情",
"dailyCheckPositiveHint": "宜 {}",
"dailyCheckNegativeHint": "忌 {}",
"dailyCheckEverythingIsPositive": "諸事皆宜",
"dailyCheckEverythingIsNegative": "諸事不宜",
"dailyCheckPositiveHint1": "交友",
"dailyCheckPositiveHint1Description": "友誼地久天長",
"dailyCheckPositiveHint2": "飲酒",
"dailyCheckPositiveHint2Description": "對影成三人",
"dailyCheckPositiveHint3": "旅行",
"dailyCheckPositiveHint3Description": "千里之行,始於足下",
"dailyCheckPositiveHint4": "運動",
"dailyCheckPositiveHint4Description": "生命在於運動",
"dailyCheckPositiveHint5": "學習",
"dailyCheckPositiveHint5Description": "學無止境,日有所進",
"dailyCheckPositiveHint6": "種植",
"dailyCheckPositiveHint6Description": "種下希望,收穫未來",
"dailyCheckNegativeHint1": "吃飯",
"dailyCheckNegativeHint1Description": "吃飯咬到舌頭",
"dailyCheckNegativeHint2": "考試",
"dailyCheckNegativeHint2Description": "考的東西剛好沒複習",
"dailyCheckNegativeHint3": "坐公交",
"dailyCheckNegativeHint3Description": "趕車剛好錯過一班",
"dailyCheckNegativeHint4": "購物",
"dailyCheckNegativeHint4Description": "買回來的衣服發現不合適",
"dailyCheckNegativeHint5": "打遊戲",
"dailyCheckNegativeHint5Description": "關鍵時刻斷網",
"dailyCheckNegativeHint6": "出門",
"dailyCheckNegativeHint6Description": "忘帶傘遇上大雨",
"happyBirthday": "生日快樂,{}",
"friendNew": "添加好友",
"friendRequests": "好友請求",
"friendRequestsDescription": {
"zero": "你沒有好友請求",
"one": "你有 {} 個好友請求",
"other": "你有 {} 個好友請求"
},
"friendBlocklist": "屏蔽列表",
"friendBlocklistDescription": {
"zero": "你沒有屏蔽任何人",
"one": "你屏蔽了 {} 個用户",
"other": "你屏蔽了 {} 個用户"
},
"friendStatusPending": "待處理",
"friendStatusWaiting": "等待中",
"friendStatusActive": "正活躍",
"friendStatusBlocked": "已屏蔽",
"friendRequestSent": "好友請求已發送。",
"fieldFriendRelatedName": "好友名 / 賬户 ID",
"friendBlock": "屏蔽",
"friendUnblock": "解除屏蔽",
"friendDeleteAction": "遺忘",
"friendDelete": "遺忘跟 {} 的關係",
"friendDeleteDescription": "你確定要遺忘跟 {} 的關係嗎?這個操作無法撤銷。",
"friendRequestAccept": "接受",
"friendRequestDecline": "拒絕",
"subscribe": "訂閲",
"unsubscribe": "取消訂閲",
"attachmentUploadBy": "上傳者",
"attachmentShotOn": "由 {} 拍攝",
"accountJoinedAt": "加入於 {}",
"accountBirthday": "出生於 {}",
"accountBadge": "徽章",
"badgeCompanyStaff": "索爾辛茨士大夫 · 員工",
"badgeSiteMigration": "Solar Network 原住民",
"accountStatus": "狀態",
"accountStatusOnline": "在線",
"accountStatusOffline": "離線",
"accountStatusLastSeen": "最後一次在 {} 上線",
"postArticle": "Solar Network 上的文章",
"articleWrittenAt": "發表於 {}",
"articleEditedAt": "編輯於 {}",
"attachmentSaved": "已保存到相冊",
"openInAlbum": "在相冊中打開",
"postAbuseReport": "檢舉帖子",
"postAbuseReportDescription": "檢舉不符合我們用户協議以及社區準則的帖子,來幫助我們更好的維護 Solar Network 上的內容。請在下面描述該帖子如何違反我麼的相關規定。請勿填寫任何敏感信息。我們將會在 24 小時內處理您的檢舉。",
"abuseReport": "檢舉",
"abuseReportDescription": "檢舉不符合我們用户協議以及社區準則的任何資源,來幫助我們更好的維護 Solar Network 上的內容。請在下面描述資源的位置(提供資源 ID 為佳)以及如何違反我麼的相關規定。請勿填寫任何敏感信息。我們將會在 24 小時內處理您的檢舉。",
"abuseReportAction": "提交檢舉",
"abuseReportActionDescription": "檢舉不合規行為。",
"abuseReportResource": "資源位置 / ID",
"abuseReportReason": "檢舉原因",
"abuseReportSubmitted": "檢舉已提交,感謝你的貢獻。",
"submit": "提交",
"accountDeletion": "刪除帳户",
"accountDeletionDescription": "你確定要刪除這個帳户嗎?該操作不可撤銷,其隸屬於該帳户的所有資源(帖子、聊天頻道、發佈者、製品等)都將被永久刪除。三思而後行!",
"accountDeletionActionDescription": "刪除你的 Solarpass 帳户。",
"accountDeletionSubmitted": "帳户刪除申請已發出,你可以檢查你的收件箱並根據郵件內的指示完成刪除操作。",
"channelNewChannel": "新建頻道",
"channelNewDirectMessage": "發起私信",
"channelDirectMessageDescription": "與 {} 的私聊",
"fieldCannotBeEmpty": "此字段不能為空。",
"termAcceptLink": "瀏覽條款",
"termAcceptNextWithAgree": "點擊 “下一步”,即表示你同意我們的各項條款,包括其之後的更新。",
"unauthorized": "未登陸",
"unauthorizedDescription": "登陸以探索整個 Solar Network。",
"serviceStatus": "服務狀態",
"termRelated": "相關條款",
"appDetails": "應用程序詳情",
"postRecommendation": "推薦帖子"
}

View File

@ -0,0 +1,433 @@
{
"screen": "頁面",
"screenAbout": "關於",
"screenHome": "首頁",
"screenExplore": "探索",
"screenAccount": "您",
"screenAuthLogin": "登陸",
"screenAuthLoginSubtitle": "使用 Solarpass 登陸 Solar Network",
"screenAuthLoginGreeting": "歡迎回來",
"screenAuthRegister": "建立賬號",
"screenAuthRegisterSubtitle": "建立一個 Solarpass 賬號",
"screenAccountPublishers": "釋出者",
"screenAccountPublisherNew": "新建釋出者",
"screenAccountPublisherEdit": "編輯釋出者",
"screenAccountProfileEdit": "編輯資料",
"screenAbuseReport": "濫用檢舉",
"screenSettings": "設定",
"screenAlbum": "相簿",
"screenChat": "聊天",
"screenChatManage": "編輯聊天頻道",
"screenChatNew": "新建聊天頻道",
"screenRealm": "領域",
"screenRealmManage": "編輯領域",
"screenRealmNew": "新建領域",
"screenNotification": "通知",
"screenPostSearch": "搜尋帖子",
"screenFriend": "好友",
"dialogOkay": "好的",
"dialogCancel": "取消",
"dialogConfirm": "確認",
"dialogDismiss": "忽略",
"dialogError": "出了點問題",
"errorRequestBad": "伺服器拒絕了您的請求,請檢查您的輸入。",
"errorRequestUnauthorized": "未授權的請求,請登入或者嘗試重新登陸。",
"errorRequestForbidden": "被禁止的請求,您沒有足夠的許可權去做那件事。",
"errorRequestNotFound": "您正查詢的資源無法被找到。",
"errorRequestConnection": "網路連線錯誤,請檢查您的網路狀態或者檢查我們的服務狀態。",
"errorRequestUnknown": "未知請求錯誤,您可能想將此對話方塊截圖併發送給我們。",
"unknown": "未知",
"loading": "載入中…",
"prev": "上一步",
"next": "下一步",
"edit": "編輯",
"apply": "應用",
"cancel": "取消",
"create": "建立",
"preview": "預覽",
"delete": "刪除",
"unlink": "解除連結",
"crop": "裁剪",
"compress": "壓縮",
"report": "檢舉",
"repost": "轉帖",
"replyPost": "回貼",
"reply": "回覆",
"unset": "未設定",
"untitled": "無題",
"postDetail": "帖子詳情",
"postNoun": "帖子",
"postReadMore": "閱讀更多",
"postReadEstimate": "預計花費 {} 閱讀",
"postTotalLength": {
"zero": "沒有內容",
"one": "總計 {} 字",
"other": "總計 {} 字"
},
"fieldUsername": "使用者名稱",
"fieldNickname": "顯示名",
"fieldEmail": "電子郵箱地址",
"fieldPassword": "密碼",
"fieldUsernameAlphanumOnly": "使用者名稱只能包含英文大小寫字母和數字。",
"fieldUsernameLengthLimit": "使用者名稱必須在 {} 和 {} 之間。",
"fieldUsernameCannotEditHint": "使用者名稱在建立後無法修改",
"fieldUsernameLookupHint": "支援使用者名稱、電話號碼或郵箱地址",
"fieldNicknameLengthLimit": "暱稱必須在 {} 和 {} 之間。",
"fieldEmailAddressMustBeValid": "電子郵箱地址必須是一個電子郵箱地址。",
"fieldFirstName": "名",
"fieldLastName": "姓",
"fieldBirthday": "生日",
"fieldImageHint": "你可以點選這些個人頭像來編輯它們。",
"fieldDescription": "簡介",
"forgotPassword": "忘記密碼",
"loginPickFactor": "選擇方式驗證",
"loginMultiFactor": {
"one": "{} 步驗證",
"other": "{} 步驗證"
},
"loginEnterPassword": "驗證程式碼",
"loginSuccess": "登入為 {}",
"authFactorPassword": "密碼",
"authFactorEmail": "電郵一次性驗證碼",
"accountIntroTitle": "喜歡您來!",
"accountIntroSubtitle": "登陸以探索更廣大的世界。",
"accountLogout": "退出登入",
"accountLogoutSubtitle": "登出當前賬戶的登陸狀態。",
"accountLogoutConfirmTitle": "您確定要退出登入嗎?",
"accountLogoutConfirm": "您需要重新輸入賬號密碼,甚至可能需要多步驗證來再次登陸。",
"accountPublishers": "你的釋出者",
"accountPublishersSubtitle": "管理你的公共形象。",
"accountProfileEdit": "編輯資料",
"accountProfileEditSubtitle": "使你的 Solarpass 賬戶更像你。",
"accountProfileEditApplied": "個人資料修改已被應用。",
"publishersNew": "新發布者",
"publisherNewSubtitle": "建立一個新的公共身份。",
"publisherSyncWithAccount": "同步賬戶資訊",
"publisherTotalUpvote": "總頂數",
"publisherTotalDownvote": "總踩數",
"publisherSocialPoint": "社會信用點",
"publisherJoinedAt": "加入於 {}",
"publisherSocialPointTotal": {
"zero": "無社會信用點",
"one": "{} 點社會信用點",
"other": "{} 點社會信用點"
},
"publisherRunBy": "由 {} 管理",
"fieldPublisherBelongToRealm": "所屬領域",
"fieldPublisherBelongToRealmUnset": "未設定釋出者所屬領域",
"writePostTypeStory": "發動態",
"writePostTypeArticle": "寫文章",
"fieldPostPublisher": "帖子釋出者",
"fieldPostContent": "發生什麼事了?!",
"fieldPostTitle": "標題",
"fieldPostDescription": "描述",
"fieldPostTags": "標籤",
"postPublish": "釋出",
"postPublishedAt": "釋出於",
"postPublishedUntil": "取消釋出於",
"postVisibility": "可見性",
"postVisibilityDescription": "帖子可見性決定了誰能檢視該篇帖子。",
"postVisibilityAll": "所有人可見",
"postVisibilityFriends": "僅限好友可見",
"postVisibilitySelected": "選定的使用者可見",
"postVisibilityFiltered": "選定使用者不可見",
"postVisibilityNone": "僅自己可見",
"postVisibleUsers": "可見的使用者",
"postInvisibleUsers": "不可見的使用者",
"postSelectedUsers": {
"zero": "未選擇使用者",
"one": "選擇了 {} 個使用者",
"other": "選擇了 {} 個使用者"
},
"postEditingNotice": "你正在修改由 {} 釋出的帖子。",
"postReplyingNotice": "你正在回覆由 {} 釋出的帖子。",
"postRepostingNotice": "你正在轉發由 {} 釋出的帖子。",
"postReact": "反應",
"postPosted": "帖子已經發表。",
"postReactions": "帖子的反應",
"postReactionUpvote": {
"zero": "0 個頂",
"one": "{} 個頂",
"other": "{} 個頂"
},
"postReactionDownvote": {
"zero": "0 個踩",
"one": "{} 個踩",
"other": "{} 個踩"
},
"postReactionSocialPoint": {
"zero": "無社會信用點變更",
"one": "{} 點社會信用點變更",
"other": "{} 點社會信用點變更"
},
"postReactCompleted": "反應已被新增。",
"postReactUncompleted": "反應已被移除。",
"postComments": {
"zero": "評論",
"one": "{} 條評論",
"other": "{} 條評論"
},
"postCommentsDetailed": {
"zero": "沒有評論",
"one": "{} 條評論",
"other": "{} 條評論"
},
"settingsAppearance": "外觀",
"settingsBackgroundImage": "背景圖片",
"settingsBackgroundImageDescription": "設定應用全域性生效的的背景圖片。",
"settingsBackgroundImageClear": "清除現存背景圖",
"settingsBackgroundImageClearDescription": "將應用背景圖重置為空白。",
"settingsThemeMaterial3": "使用 Material You 設計正規化",
"settingsThemeMaterial3Description": "將應用主題設定為 Material 3 設計正規化的主題。",
"settingsNetwork": "網路",
"settingsNetworkServer": "HyperNet 伺服器",
"settingsNetworkServerDescription": "設定 HyperNet 伺服器地址,選擇我們提供的,或者自己搭建。",
"settingsNetworkServerReset": "重設為官方伺服器",
"settingsNetworkServerResetDescription": "重設為 Solar Network 的伺服器地址。",
"settingsNetworkServerPreset": "預設的 HyperNet 伺服器",
"settingsNetworkServerPresetDescription": "你可以在旁邊的列表中選擇我們提供的預設 HyperNet 伺服器地址。",
"settingsNetworkServerSaved": "伺服器地址已儲存。",
"settingsMisc": "雜項",
"settingsMiscAbout": "關於",
"settingsMiscAboutDescription": "檢視 Solian 的版本資訊。",
"sensitiveContent": "敏感內容",
"sensitiveContentCollapsed": "敏感內容已摺疊。",
"sensitiveContentDescription": "此內容已被標記,可能不適合所有人檢視。",
"sensitiveContentReveal": "顯示內容",
"serverConnecting": "正在連線伺服器…",
"serverDisconnected": "已與伺服器斷開連線",
"fieldChatAlias": "頻道別名",
"fieldChatAliasHint": "全站範圍內唯一的頻道別名,用於在 URL 中表示該頻道,留空則自動生成。應遵循 URL-Safe 的原則。",
"fieldChatName": "名稱",
"fieldChatDescription": "描述",
"fieldChatBelongToRealm": "所屬領域",
"fieldChatBelongToRealmUnset": "未設定頻道所屬領域",
"channelEditingNotice": "您正在編輯頻道 {}",
"channelDeleted": "聊天頻道 {} 已被刪除",
"channelDelete": "刪除聊天頻道 {}",
"channelDeleteDescription": "你確定要刪除這個聊天頻道嗎?該操作不可撤銷,其頻道內的所有訊息將被永久刪除。",
"channelDetailPersonalRegion": "個人區域",
"channelDetailMemberRegion": "成員管理",
"channelMemberManage": "管理成員",
"channelMemberManageDescription": "管理頻道內現有成員。",
"channelMemberAdd": "新增成員",
"channelMemberAddDescription": "給當前頻道新增新成員。",
"channelMemberAdded": "頻道成員已新增。",
"fieldMemberRelatedName": "成員名 / 賬戶 ID",
"channelDetailAdminRegion": "管理區域",
"channelEditProfile": "更改頻道身份",
"channelEdit": "編輯頻道",
"channelEditDescription": "更改頻道基本資訊,元資料等。",
"channelProfileEdit": "編輯頻道身份",
"channelActionDelete": "刪除頻道",
"channelActionDeleteDescription": "刪除整個頻道,並且刪除頻道里的所有資訊。",
"channelLeave": "退出頻道 {}",
"channelLeaveDescription": "退出該頻道,但是你頻道內的資訊不會被移除。",
"channelActionLeave": "退出頻道",
"channelActionLeaveDescription": "刪除你在這個頻道的身份。",
"channelNotifyLevel": "通知級別",
"channelNotifyLevelDescription": "有您決定要接受多少來自這個頻道的訊息。",
"channelNotifyLevelAll": "全部通知",
"channelNotifyLevelMentioned": "僅提及",
"channelNotifyLevelNone": "全部靜音",
"channelNotifyLevelApplied": "已經儲存並應用頻道通知級別配置。",
"fieldChannelProfileNick": "頻道內顯示名",
"fieldChannelProfileNickHint": "在頻道內顯示的暱稱,留空則使用賬號顯示名。",
"fieldRealmAlias": "領域別名",
"fieldRealmAliasHint": "全站範圍內唯一的領域別名,用於在 URL 中表示該領域,留空則自動生成。應遵循 URL-Safe 的原則。",
"fieldRealmName": "名稱",
"fieldRealmDescription": "描述",
"realmEditingNotice": "您正在編輯領域 {}",
"realmDeleted": "領域 {} 已被刪除",
"realmDelete": "刪除領域 {}",
"realmDeleteDescription": "你確定要刪除這個領域嗎?該操作不可撤銷,其隸屬於該領域的所有資源(帖子、聊天頻道、釋出者、製品等)都將被永久刪除。三思而後行!",
"realmActionDelete": "刪除領域",
"realmActionDeleteDescription": "刪除整個領域及其附屬的資源。",
"realmEdit": "編輯領域",
"realmEditDescription": "更改領域基本資訊,元資料等。",
"realmMemberAdd": "新增成員",
"realmMemberAddDescription": "給當前領域新增新成員。",
"realmMemberAdded": "領域成員已新增。",
"fieldChatMessage": "在 {} 中發訊息",
"fieldChatMessageDirect": "給 {} 發訊息",
"eventResourceTag": "訊息 {}",
"messageDelete": "刪除訊息 {}",
"messageDeleteDescription": "你確定要刪除這個訊息嗎?該操作不可撤銷。同時您將留下一條刪除訊息的記錄。",
"messageDeleted": "訊息 {} 已被刪除",
"messageEdited": "訊息 {} 已被編輯",
"messageEditedHint": "已編輯",
"messageUnsupported": "不支援的訊息 {}",
"messageFileHint": {
"zero": "沒有附件",
"one": "{} 個附件",
"other": "{} 個附件"
},
"addAttachmentFromAlbum": "從相簿中新增附件",
"addAttachmentFromClipboard": "貼上附件",
"addAttachmentFromCameraPhoto": "拍攝照片",
"addAttachmentFromCameraVideo": "拍攝影片",
"attachmentPastedImage": "貼上的圖片",
"attachmentInsertLink": "插入連線",
"attachmentSetAsPostThumbnail": "設定為帖子縮圖",
"attachmentUnsetAsPostThumbnail": "取消設定為帖子縮圖",
"attachmentSetThumbnail": "設定縮圖",
"attachmentUpload": "上傳",
"notification": "通知",
"notificationUnreadCount": {
"zero": "無未讀通知",
"one": "有 {} 個未讀通知",
"other": "有 {} 個未讀通知"
},
"notificationUnread": "未讀",
"notificationRead": "已讀",
"notificationMarkAllRead": "已讀所有通知",
"notificationMarkAllReadDescription": "您確定要將所有通知設定為已讀嗎?該操作不可撤銷。",
"notificationMarkAllReadPrompt": {
"zero": "已將 0 個通知標記為已讀。",
"one": "已將 {} 個通知標記為已讀。",
"other": "已將 {} 個通知標記為已讀。"
},
"notificationMarkOneReadPrompt": "已將通知 {} 標記為已讀。",
"search": "搜尋",
"postSearchResult": {
"zero": "沒有搜尋到結果",
"one": "搜尋到 {} 個結果",
"other": "搜尋到 {} 個結果"
},
"postSearchTook": "耗時 {}",
"postDelete": "刪除帖子 {}",
"postDeleteDescription": "你確定要刪除這個帖子嗎?該操作不可撤銷。",
"postDeleted": "帖子 {} 已被刪除。",
"call": "通話",
"callOngoingNotice": "一則通話進行中",
"callJoin": "加入",
"callResume": "恢復",
"callMicrophone": "麥克風",
"callCamera": "攝像頭",
"callMicrophoneDisabled": "麥克風已停用",
"callMicrophoneSelect": "選擇麥克風",
"callCameraDisabled": "攝像頭已停用",
"callCameraSelect": "選擇攝像頭",
"callDisconnected": "通話已斷開",
"callEnded": "通話已結束",
"callStatusConnected": "已連線",
"callStatusDisconnected": "未連線",
"callStatusConnecting": "正在連線",
"callStatusReconnecting": "正在重連",
"callDisconnect": "斷開連線",
"callDisconnectDescription": "您確定要與通話斷開連線嗎?",
"callMicrophoneOff": "關閉麥克風",
"callMicrophoneOn": "開啟麥克風",
"callCameraOff": "關閉攝像頭",
"callCameraOn": "開啟攝像頭",
"callVideoFlip": "映象畫面",
"callSpeakerphoneToggle": "切換揚聲器",
"callScreenOff": "關閉螢幕共享",
"callScreenOn": "開啟螢幕共享",
"callMessageEnded": "通話持續了 {}",
"callMessageStarted": "通話開始了",
"dailyCheckIn": "每日簽到",
"dailyCheckInNone": "今日尚未簽到",
"dailyCheckAction": "現在簽到",
"dailyCheckDetail": "看不懂符?大師幫我解惑!",
"dailyCheckDetailTitle": "{} 的運勢詳情",
"dailyCheckPositiveHint": "宜 {}",
"dailyCheckNegativeHint": "忌 {}",
"dailyCheckEverythingIsPositive": "諸事皆宜",
"dailyCheckEverythingIsNegative": "諸事不宜",
"dailyCheckPositiveHint1": "交友",
"dailyCheckPositiveHint1Description": "友誼地久天長",
"dailyCheckPositiveHint2": "飲酒",
"dailyCheckPositiveHint2Description": "對影成三人",
"dailyCheckPositiveHint3": "旅行",
"dailyCheckPositiveHint3Description": "千里之行,始於足下",
"dailyCheckPositiveHint4": "運動",
"dailyCheckPositiveHint4Description": "生命在於運動",
"dailyCheckPositiveHint5": "學習",
"dailyCheckPositiveHint5Description": "學無止境,日有所進",
"dailyCheckPositiveHint6": "種植",
"dailyCheckPositiveHint6Description": "種下希望,收穫未來",
"dailyCheckNegativeHint1": "吃飯",
"dailyCheckNegativeHint1Description": "吃飯咬到舌頭",
"dailyCheckNegativeHint2": "考試",
"dailyCheckNegativeHint2Description": "考的東西剛好沒複習",
"dailyCheckNegativeHint3": "坐公交",
"dailyCheckNegativeHint3Description": "趕車剛好錯過一班",
"dailyCheckNegativeHint4": "購物",
"dailyCheckNegativeHint4Description": "買回來的衣服發現不合適",
"dailyCheckNegativeHint5": "打遊戲",
"dailyCheckNegativeHint5Description": "關鍵時刻斷網",
"dailyCheckNegativeHint6": "出門",
"dailyCheckNegativeHint6Description": "忘帶傘遇上大雨",
"happyBirthday": "生日快樂,{}",
"friendNew": "新增好友",
"friendRequests": "好友請求",
"friendRequestsDescription": {
"zero": "你沒有好友請求",
"one": "你有 {} 個好友請求",
"other": "你有 {} 個好友請求"
},
"friendBlocklist": "遮蔽列表",
"friendBlocklistDescription": {
"zero": "你沒有遮蔽任何人",
"one": "你遮蔽了 {} 個使用者",
"other": "你遮蔽了 {} 個使用者"
},
"friendStatusPending": "待處理",
"friendStatusWaiting": "等待中",
"friendStatusActive": "正活躍",
"friendStatusBlocked": "已遮蔽",
"friendRequestSent": "好友請求已傳送。",
"fieldFriendRelatedName": "好友名 / 賬戶 ID",
"friendBlock": "遮蔽",
"friendUnblock": "解除遮蔽",
"friendDeleteAction": "遺忘",
"friendDelete": "遺忘跟 {} 的關係",
"friendDeleteDescription": "你確定要遺忘跟 {} 的關係嗎?這個操作無法撤銷。",
"friendRequestAccept": "接受",
"friendRequestDecline": "拒絕",
"subscribe": "訂閱",
"unsubscribe": "取消訂閱",
"attachmentUploadBy": "上傳者",
"attachmentShotOn": "由 {} 拍攝",
"accountJoinedAt": "加入於 {}",
"accountBirthday": "出生於 {}",
"accountBadge": "徽章",
"badgeCompanyStaff": "索爾辛茨士大夫 · 員工",
"badgeSiteMigration": "Solar Network 原住民",
"accountStatus": "狀態",
"accountStatusOnline": "線上",
"accountStatusOffline": "離線",
"accountStatusLastSeen": "最後一次在 {} 上線",
"postArticle": "Solar Network 上的文章",
"articleWrittenAt": "發表於 {}",
"articleEditedAt": "編輯於 {}",
"attachmentSaved": "已儲存到相簿",
"openInAlbum": "在相簿中開啟",
"postAbuseReport": "檢舉帖子",
"postAbuseReportDescription": "檢舉不符合我們使用者協議以及社群準則的帖子,來幫助我們更好的維護 Solar Network 上的內容。請在下面描述該帖子如何違反我麼的相關規定。請勿填寫任何敏感資訊。我們將會在 24 小時內處理您的檢舉。",
"abuseReport": "檢舉",
"abuseReportDescription": "檢舉不符合我們使用者協議以及社群準則的任何資源,來幫助我們更好的維護 Solar Network 上的內容。請在下面描述資源的位置(提供資源 ID 為佳)以及如何違反我麼的相關規定。請勿填寫任何敏感資訊。我們將會在 24 小時內處理您的檢舉。",
"abuseReportAction": "提交檢舉",
"abuseReportActionDescription": "檢舉不合規行為。",
"abuseReportResource": "資源位置 / ID",
"abuseReportReason": "檢舉原因",
"abuseReportSubmitted": "檢舉已提交,感謝你的貢獻。",
"submit": "提交",
"accountDeletion": "刪除帳戶",
"accountDeletionDescription": "你確定要刪除這個帳戶嗎?該操作不可撤銷,其隸屬於該帳戶的所有資源(帖子、聊天頻道、釋出者、製品等)都將被永久刪除。三思而後行!",
"accountDeletionActionDescription": "刪除你的 Solarpass 帳戶。",
"accountDeletionSubmitted": "帳戶刪除申請已發出,你可以檢查你的收件箱並根據郵件內的指示完成刪除操作。",
"channelNewChannel": "新建頻道",
"channelNewDirectMessage": "發起私信",
"channelDirectMessageDescription": "與 {} 的私聊",
"fieldCannotBeEmpty": "此欄位不能為空。",
"termAcceptLink": "瀏覽條款",
"termAcceptNextWithAgree": "點選 “下一步”,即表示你同意我們的各項條款,包括其之後的更新。",
"unauthorized": "未登陸",
"unauthorizedDescription": "登陸以探索整個 Solar Network。",
"serviceStatus": "服務狀態",
"termRelated": "相關條款",
"appDetails": "應用程式詳情",
"postRecommendation": "推薦帖子"
}

View File

@ -59,8 +59,7 @@ void main() async {
await SentryFlutter.init(
(options) {
options.dsn =
'https://c218d44126d59d69301e730498494def@o4506965897117696.ingest.us.sentry.io/4508346768228352';
options.dsn = 'https://c218d44126d59d69301e730498494def@o4506965897117696.ingest.us.sentry.io/4508346768228352';
options.tracesSampleRate = 1.0;
options.profilesSampleRate = 1.0;
},
@ -76,10 +75,14 @@ class SolianApp extends StatelessWidget {
return ResponsiveBreakpoints.builder(
child: EasyLocalization(
path: 'assets/translations',
supportedLocales: [Locale('en', 'US'), Locale('zh', 'CN')],
supportedLocales: [
Locale('en', 'US'),
Locale('zh', 'CN'),
Locale('zh', 'TW'),
Locale('zh', 'HK'),
],
fallbackLocale: Locale('en', 'US'),
useFallbackTranslations: true,
useOnlyLangCode: true,
assetLoader: JsonAssetLoader(),
child: MultiProvider(
providers: [

View File

@ -74,10 +74,9 @@ class _HomeScreenState extends State<HomeScreen> {
child: Column(
mainAxisAlignment: constraints.maxWidth > 640 ? MainAxisAlignment.center : MainAxisAlignment.start,
children: [
const Gap(8),
_HomeDashSpecialDayWidget().padding(top: 8, horizontal: 8),
StaggeredGrid.count(
crossAxisCount: 2,
StaggeredGrid.extent(
maxCrossAxisExtent: 280,
mainAxisSpacing: 8,
crossAxisSpacing: 8,
children: kCards.map((card) {
@ -89,7 +88,7 @@ class _HomeScreenState extends State<HomeScreen> {
}).toList(),
).padding(horizontal: 8),
],
),
).padding(vertical: 8),
),
),
);
@ -347,6 +346,12 @@ class _HomeDashNotificationWidgetState extends State<_HomeDashNotificationWidget
int? _count;
Future<void> _fetchNotificationCount() async {
final ua = context.read<UserProvider>();
if (!ua.isAuthorized) {
setState(() => _count = 0);
return;
}
final sn = context.read<SnNetworkProvider>();
final resp = await sn.client.get('/cgi/id/notifications/count');
_count = resp.data['count'];
@ -443,10 +448,16 @@ class _HomeDashRecommendationPostWidgetState extends State<_HomeDashRecommendati
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'postRecommendation',
style: Theme.of(context).textTheme.titleLarge,
).tr().padding(horizontal: 20, top: 16, bottom: 8),
Row(
children: [
const Icon(Symbols.star),
const Gap(8),
Text(
'postRecommendation',
style: Theme.of(context).textTheme.titleLarge,
).tr()
],
).padding(horizontal: 18, top: 12, bottom: 8),
Expanded(
child: PageView.builder(
scrollBehavior: ScrollConfiguration.of(context).copyWith(dragDevices: {
@ -460,7 +471,7 @@ class _HomeDashRecommendationPostWidgetState extends State<_HomeDashRecommendati
child: PostItem(
data: _posts![index],
showMenu: false,
).padding(left: 8, right: 8, bottom: 8),
).padding(bottom: 8),
onTap: () {
GoRouter.of(context).pushNamed('postDetail', pathParameters: {
'slug': _posts![index].id.toString(),

View File

@ -79,7 +79,7 @@ class ChatMessageInputState extends State<ChatMessageInput> {
final place = await attach.chunkedUploadInitialize(
(await media.length())!,
media.name,
'interactive',
'messaging',
null,
mimetype: media.raw != null && media.type == PostWriteMediaType.image ? 'image/png' : null,
);

View File

@ -118,7 +118,7 @@ class AppRootScaffold extends StatelessWidget {
WindowTitleBarBox(
child: MoveWindow(
child: Text(
'Solian',
'Solar Network',
style: GoogleFonts.spaceGrotesk(),
).padding(horizontal: 12, vertical: 5),
),

View File

@ -16,7 +16,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix.
version: 2.0.0+19
version: 2.0.0+20
environment:
sdk: ^3.5.4