新增 pc-client:畅联 PC 端工程(Electron+React,按确认效果图改造,B-59)

- 基于 openim-electron-demo 改造:工号+密码登录(自研账号服务)、会话列表/聊天窗/通讯录界面重做
- 文字/语音/文件/图片消息、文件拖拽发送、表情面板、一对一语音通话(LiveKit)
- RTC 令牌对接账号服务带鉴权版 /api/rtc_token(Bearer imToken + {room,identity})
- account-service: CORS Allow-Headers 补 authorization(浏览器/渲染进程跨域调 rtc_token 需要)
- 附本地 mock 账号服务(scripts/mock-account-server.js)与截图联调脚本
This commit is contained in:
KIMI
2026-08-09 09:11:06 +08:00
parent b95159f7eb
commit 7ce40e356f
284 changed files with 31599 additions and 7 deletions
+41
View File
@@ -0,0 +1,41 @@
import "dayjs/locale/zh-cn";
import dayjs from "dayjs";
import i18n from "i18next";
// import LanguageDetector from "i18next-browser-languagedetector";
import { initReactI18next } from "react-i18next";
import { getLocale } from "@/utils/storage";
import translation_en from "./resources/en.json";
import translation_zh from "./resources/zh.json";
const resources = {
"en-US": {
translation: translation_en,
},
"zh-CN": {
translation: translation_zh,
},
zh: {
translation: translation_zh,
},
};
i18n
.use(initReactI18next)
// .use(LanguageDetector)
.init({
resources,
lng: getLocale(),
fallbackLng: "zh-CN",
interpolation: {
escapeValue: false,
},
})
.then(() => dayjs.locale(i18n.language))
.catch(() => console.error("i18n init error"));
i18n.on("languageChanged", () => dayjs.locale(i18n.language));
export default i18n;
+499
View File
@@ -0,0 +1,499 @@
{
"me": "I",
"you": "You",
"yes": "Yes",
"no": "No",
"confirm": "Confirm",
"retry": "Retry",
"cancel": "Cancel",
"canceled": "Canceled",
"pieces": "Pieces",
"open": "Open",
"close": "Close",
"clear": "Clear",
"answer": "Answer",
"hangUp": "Hang up",
"notStart": "Not started",
"waitingStart": "Awaiting",
"alreadyStarted": "Already",
"finished": "Finished",
"clickToView": "Click to view",
"jumpToMessage": "Jump to message",
"connect": {
"syncing": "Syncing",
"syncFailed": "Sync Failed",
"connecting": "Connecting",
"connectFailed": "Connect Failed"
},
"toast": {
"accessSuccess": "Operation successful!",
"accessFailed": "Operation failed!",
"getConversationFailed": "Failed to get conversation list!",
"getGroupInfoFailed": "Failed to get group information!",
"getGroupMemberFailed": "Failed to get group member information!",
"getHistoryMessageFailed": "Failed to get history messages!",
"getSelfInfoFailed": "Failed to get personal information!",
"getFriendListFailed": "Failed to get friend list!",
"getBlackListFailed": "Failed to get blacklist!",
"getGroupListFailed": "Failed to get group list!",
"getOnlineStatusFailed": "Failed to get online status!",
"getMemberListFailed": "Failed to get group members!",
"getUserInfoFailed": "Failed to get user information!",
"pinConversationFailed": "Failed to modify pinned conversation status!",
"setConversationRecvMessageOptFailed": "Failed to modify conversation message reception status!",
"clearConversationMessagesFailed": "Failed to delete conversation messages!",
"deleteConversationFailed": "Failed to delete conversation!",
"updateGroupVerificationFailed": "Failed to modify group verification method!",
"updateGroupInfoFailed": "Failed to modify group information!",
"updateConversationPrivateStateFailed": "Failed to modify after-reading burn status!",
"updateBlackStateFailed": "Failed to modify blacklist status!",
"unfriendFailed": "Failed to unfriend!",
"getMessageListFailed": "Failed to get message list!",
"sendApplicationFailed": "Failed to send request!",
"loading": "Logging in...",
"syncing": "Syncing...",
"syncFailed": "Sync failed!",
"appUpdate": "App update",
"updateVersion": "New version {{version}} found. Update now?",
"updateContent": "Update content:",
"isCancelUpdate": "Are you sure you want to cancel the update?",
"clearChatHistory": "Clear chat history",
"confirmClearChatHistory": "Are you sure you want to clear chat history?",
"downloading": "Downloading...",
"applyUpdateSuccess": "Download complete, effective after restart, are you sure you want to restart now?",
"later": "Later",
"applyDownloadSuccess": "Download complete, follow the installer to update!",
"applyDownloadFailed": "Download failed!",
"loginExpiration": "Current login has expired, please log in again!",
"accountKicked": "Your account has logged in on another device, please log in again!",
"updatePasswordSuccess": "Password updated successfully, please log in again!",
"inputOldPassword": "Please enter your old password!",
"passwordRules": "6-20 characters ,at least including numbers and letters",
"reconfirmPassword": "Please confirm your password again",
"passwordsDifferent": "Passwords do not match!",
"confirmlogOut": "Are you sure you want to log out of the current account?",
"updateAvatarFailed": "Failed to change avatar!",
"notCanSendMessage": "Cannot send messages in a group chat that you have quit!",
"groupMuted": "The administrator or group owner has muted everyone!",
"currentMuted": "You have been muted by the administrator or group owner!",
"messagesDeleteFailed": "Some messages failed to delete!",
"confirmkickMember": "Are you sure you want to kick {{name}} from the group chat?",
"addSuccess": "Added successfully!",
"copySuccess": "Copied successfully!",
"copyFailed": "Copy failed!",
"confirmAllMuted": "Are you sure you want to mute everyone?",
"confirmDisbandGroup": "Are you sure you want to disband this group?",
"confirmExitGroup": "Are you sure you want to exit this group?",
"confirmMoveBlacklist": "Are you sure you want to add this friend to the blacklist?",
"userBlacked": "This user has been added to the blacklist!",
"confirmUnfriend": "Are you sure you want to unfriend?",
"selectLeastOne": "Please select at least one option!",
"inputGroupName": "Please enter a group name",
"inputContent": "Please enter a content",
"sendSuccess": "Sent successfully!",
"beyondSelectionLimit": "Selection limit exceeded!",
"sendJoinGroupRequestSuccess": "Sent group join request successfully!",
"inputNickName": "Please enter a nickname",
"inputPhoneNumber": "Please enter phone number",
"inputCorrectPhoneNumber": "Please enter a valid phone number!",
"inputEmail": "Please enter email address",
"inputCorrectEmail": "Please enter a valid email address!",
"inputVerifyCode": "Please enter your verification code",
"inputPassword": "Please enter your password",
"sendFreiendRequestSuccess": "Friend request sent successfully!",
"registerSuccess": "Registration successful!",
"inputInvitationCode": "Please enter your invitation code",
"downloadFailed": "Download failed!",
"beingBlacklist": "The other party has added you to the blacklist!",
"usingFriendVerification": "Friend verification is enabled, you are not yet their friend!",
"confirmDeleteMoment": "Are you sure you want to delete this moment?",
"uploadFailed": "Upload failed!",
"somethingError": "Seems like there was a small issue~",
"getLogFailed": "Failed to retrieve the log file!",
"publishFailed": "Failed to publish!",
"notCanAddFriend": "The other party has been set up not to be added as a friend!",
"fileTypeError": "Unsupported file type or folder!",
"inputStaffNo": "请输入工号",
"noMicrophone": "No microphone detected, cannot record",
"recordTooShort": "Recording is too short"
},
"placeholder": {
"conversation": "Conversation",
"leaveMessage": "Leave a message",
"recover": "Click to recover",
"someInCall": "{{count}} people are on a call",
"compere": "Host",
"watchUser": "Watch him only",
"removeWatchUser": "Stop watching him only",
"fold": "Fold",
"participantCanUnmuteSelf": "Allow members to unmute themselves",
"participantCanEnableVideo": "Allow members to enable video",
"onlyHostShareScreen": "Only the host can share screen",
"onlyHostInviteUser": "Only the host can invite participants",
"joinDisableMicrophone": "Mute members upon joining",
"member": "Member",
"microphone": "Microphone",
"camera": "Camera",
"sharedScreen": "Share screen",
"endSharing": "End sharing",
"connecting": "Connecting...",
"uploadSuccess": "Upload successful",
"reportLog": "Report log",
"reportSpecificLog": "Report specific log",
"viewingLocalLogs": "View local logs",
"totalNumPhoto": "Total of {{num}} photos",
"somePersonLike": "{{num}} likes",
"whoCanWatch": "Who can see",
"remindWhoToWatch": "Remind who to see",
"publishMomentsToast": "Thoughts at this moment...",
"public": "Public",
"publicToast": "Visible to everyone",
"privacy": "Private",
"privacyToast": "Visible to you only",
"partlyVisible": "Visible to selected",
"partlyVisibleToast": "Only selected can see",
"hiddenSome": "Hide from selected",
"hiddenSomeToast": "Selected cannot see",
"comment": "Comment",
"hint": "Hint",
"toLike": "Like",
"byLike": "Liked your post",
"mentioned": "Mentioned",
"atYou": "Mentioned you",
"replied": "Replied",
"publishImages": "Post photos",
"publishVideo": "Post video",
"details": "Details",
"messageDestruct": "Automatically delete messages regularly",
"messageDestructTime": "Set time to auto-delete messages",
"messageDestructToast": "Messages sent after this will be deleted after the set time",
"moments": "Moments",
"somePerson": "{{num}} people",
"selectMember": "Select member",
"setInfo": "Set information",
"regain": "Retrieve again",
"optional": "(Optional)",
"invitationCode": "Invitation code",
"getBack": "Return",
"nextStep": "Next step",
"register": "Register new user",
"registerToast": "Don't have an account yet?",
"toRegister": "Register now",
"login": "Login",
"pleaseEnterSendTo": "Please enter sent to",
"verifyCode": "Verification code",
"verifyValidity": "6-digit verification code, valid for 10 minutes",
"sendVerifyCode": "Send verification code",
"qrCodeLogin": "QR code login",
"qrCodeLoginTitle": "Please scan the QR code using OpenCorp mobile",
"welcome": "欢迎使用畅联",
"title": "畅联",
"subTitle": "公司内部通讯工具",
"myCreated": "I created",
"myJoined": "I joined",
"newFriends": "New friends",
"groupNotification": "Group notification",
"friendVerification": "Friend verification",
"groupInfo": "Group information",
"personalInfo": "Personal information",
"inviteToGroup": " Invite to group",
"qrCodeToGroup": "Join group by scanning QR code",
"selectIDToGroup": "Search group ID",
"remark": "Remark",
"email": "Email",
"phoneNumber": "Phone Number",
"verifyPhoneNumber": "Verify phone number",
"verifyEmail": "Verify email",
"birth": "Birthday",
"gender": "Gender",
"man": "Male",
"female": "Female",
"unknown": "Unknown",
"nickName": "Nickname",
"groupNickName": "Group Nickname",
"joinGroupTime": "Joined Time",
"joinGroupMode": "Joined Method",
"editInfo": "Edit profile",
"message": "Chat information",
"relevantMessage": "{{count}} related chat records",
"overview": "Overview",
"latestChat": "Recent Chats",
"myFriend": "My Friends",
"myGroup": "My Groups",
"groupName": "Group Name",
"groupAvatar": "Group Avatar",
"groupMember": "Group Members",
"selected": "Selected",
"moveBlacklist": "Add to Blacklist",
"willFilterThisUserMessage": "You will not receive messages from this friend.",
"unfriend": "Unfriend",
"setStarFriend": "Set as Starred Friend",
"shieldConversation": "Block this Conversation",
"privateChat": "Burn after Reading",
"privateChatTime": "Burn after Reading Time",
"isRead": "Read",
"isReadList": "Message Read List",
"allIsRead": "All Read",
"isReadNum": "{{num}} have read",
"unreadNum": "{{num}} unread",
"unread": "Unread",
"revoke": "Revoke",
"copy": "Copy",
"check": "Multiple Selection",
"sendMessage": "Send Message",
"save": "Save",
"group": "Group",
"groupTppe": "Group Type",
"workGroup": "Work Group",
"myGroupNickname": "My Group Nickname",
"notNotify": "Mute Notifications",
"allMuted": "Mute All",
"allMutedClose": "Unmute All",
"groupVerification": "Group Verification",
"groupMemberPermissions": "Group Member Permissions",
"transferGroup": "Transfer Group",
"exitGroup": "Leave Group",
"exitGroupToast": "After exiting, you will no longer receive messages from this group.",
"disbandGroup": "Disband Group",
"disbandGroupToast": "All group members will be removed.",
"and": "{{someone}} and {{otherone}}",
"groupOwner": "Group Owner",
"administrator": "Administrator",
"setAdministrator": "Set as Administrator",
"mute": "Mute",
"cancelMute": "Unmute",
"setMute": "Set Mute",
"onlyManageCanSend": "Only group owner and administrators can send messages.",
"publish": "Publish",
"edit": "Edit",
"call": "Call",
"file": "File",
"document": "Documents",
"emoji": "Emoji",
"image": "Image",
"video": "Video",
"card": "Card",
"personalCard": "Personal Card",
"screenshot": "Screenshot",
"sticky": "Sticky on Top",
"removeSticky": "Remove from Top",
"draft": "Draft",
"pleaseEnter": "Please Enter",
"enterGroupName": "Choose a group name for easy to searches",
"clickToModify": "Click to Modify",
"search": "Search",
"about": "About Us",
"password": "Password",
"forgetPassword": "Forget Password",
"changePassword": "Change Password",
"checkNewVersion": "Check for New Version",
"viewMore": "View More",
"add": "Add",
"remove": "Remove",
"delete": "Delete",
"close": "Close",
"finder": "View",
"blackList": "Contact Blacklist",
"oldPassword": "Old Password:",
"newPassword": "New Password:",
"confirmPassword": "Confirm Password:",
"chat": "Messages",
"contact": "Contacts",
"contacts": "Contacts",
"myInfo": "My Information",
"accountSetting": "Account Settings",
"logOut": "Log Out",
"personalSetting": "Personal Settings",
"chooseLanguage": "Choose Language",
"closeButtonEvent": "Event when clicking the close button",
"exitApplication": "Exit Application",
"minimize": "Minimize to Tray",
"messageToast": "Message Alert",
"messageAllowBeep": "New Message Sound Alert",
"messageNotNotify": "Do Not Disturb Mode",
"addFriends": "Add Friends",
"verifyAdd": "Add",
"addGroup": "Add Group",
"createGroup": "Create Group Chat",
"createNow": "Create Now",
"createGroupToast": "Create a group to start online collaboration.",
"addFriendsSetting": "Add Friend Settings",
"refuseAddFriend": "Disallow Adding Me as a Friend",
"markAsRead": "Mark as Read",
"send": "Send",
"sendTo": "Send To:",
"groupAnnouncement": "Group Announcement",
"noGroupAnnouncement": "No group announcements yet~",
"needManageEdit": "Only the group owner and administrators can edit",
"loosenToSend": "Release to Send",
"reEdit": "Re-edit",
"multipleNewMessages": "{{count}} new messages",
"reply": "Reply",
"sendShortcutkey": "Enter to Send/Shift+Enter for New Line",
"sendWithEnter": "Send with Enter",
"sendWithShiftEnter": "Send with Shift+Enter",
"mentionAll": "Everyone",
"forward": "Forward",
"mergeForward": "Merge and Forward",
"messageHistory": "Chat History",
"whosMessageHistory": "Chat History for {{who}} ",
"launch": "Launched by",
"launchPerson": "Launcher",
"inviteYou": "Invites you for",
"videoCall": "Video Call",
"voiceCall": "Voice Call",
"meeting": "Video Meeting",
"meetingSetting": "Meeting Settings",
"someInMeeting": "{{count}} people are in the meeting",
"finishMeeting": "End meeting",
"leaveMeeting": "Leave meeting",
"meetingName": "Meeting topic",
"initiatedMeeting": "Initiated meeting",
"meetingTime": "Meeting duration",
"meetingID": "Meeting ID",
"meetingDetail": "Meeting details",
"changeMeetingDetail": "Change meeting details",
"underWay": "In progress",
"joinCall": "Join call",
"joinMeeting": "Join meeting",
"quickMeeting": "Quick meeting",
"orderMeeting": "Book a meeting",
"orderSuccess": "Scheduled successfully",
"callTimeout": "Unanswered after timeout",
"callTime": "Call duration",
"handleByOtherDevice": "Handled on another device",
"screenshotHideWindow": "Hide current window screenshot",
"historyList": "History",
"memberList": "Group member list",
"meetingInvitation": "Call invitation",
"invitation": "Invite",
"share": "Share contact card",
"selectUser": "Select user",
"setting": "Settings",
"offLine": "Offline",
"online": "Online",
"typing": "Typing...",
"kick": "Kick out",
"kickMember": "Kick out member",
"forbidLookMemberInfo": "Forbidden to view other group member's details",
"forbidAddMember": "Forbidden to add group members as friends",
"applyNeedInvite": "Group member invitation doesn't need verification",
"applyNeedVerification": "Verification message required",
"applyAll": "Allow everyone to join the group",
"staffNo": "工号",
"sendToName": "Message {{name}}",
"enterToSendTip": "Press Enter to send, Ctrl + Enter for a new line",
"dropToSend": "Release to send file",
"viewProfile": "View profile",
"groupSetting": "Group settings"
},
"empty": {
"noMoments": "No moments available",
"noMoreMessage": "No more messages",
"showAllResults": "All results displayed!",
"noSearchResults": "No relevant results found!",
"fileContentEmpty": "File is empty!"
},
"messageDescription": {
"imageMessage": "[Image]",
"voiceMessage": "[Voice]",
"fileMessage": "[File]{{file}}",
"locationMessage": "[Location]{{location}}",
"videoMessage": "[Video]",
"cardMessage": "[Card]",
"faceMessage": "[Emoji]",
"rtcMessage": "[Call]",
"quoteMessage": "[Quoted Message]",
"massMessage": "[Group Notification]",
"mergeMessage": "[Chat History]",
"callMessage": "[Call]",
"meetingMessage": "[Meeting Invitation]",
"customMessage": "[Custom Message]",
"notSupMessage": "[Unsupported Message Type]",
"drftPrefix": "[Draft]",
"atAllPrefix": "[Everyone]",
"atYouPrefix": "[Someone @you]",
"unreadCount": "[{{count}} messages]",
"catchMessage": "[Unsupported Message Type]",
"forwardMessage": "[Forward] {{additional}}",
"addtionalCardMessage": "[Card] {{additional}}",
"quoteMessageRevoke": "The cited content has been deleted",
"groupAnnouncementPrefix": "[Group Announcement]",
"revokeMessage": "{{revoker}} recalled a message",
"advanceRevokeMessage": "{{operator}} recalled a message sent by {{revoker}}",
"alreadyFriendMessage": "You are now friends and can start chatting!",
"createGroupMessage": "{{creator}} created a group chat",
"updateGroupInfoMessage": "{{operator}} updated the group info",
"updateGroupNameMessage": "{{operator}} changed the group name to {{name}}",
"updateGroupAnnouncementMessage": "{{operator}} updated the group announcement",
"transferGroupMessage": "{{owner}} transferred group ownership to {{newOwner}}",
"quitGroupMessage": "{{name}} quit the group chat",
"invitedToGroupMessage": "{{operator}} invited {{invitedUser}} to join the group chat",
"kickInGroupMessage": "{{operator}} was removed from the group by {{kickedUser}}",
"joinGroupMessage": "{{name}} joined the group chat",
"disbanedGroupMessage": "{{operator}} disbanded the group chat",
"allMuteMessage": "{{operator}} enabled group mute",
"cancelAllMuteMessage": "{{operator}} disabled group mute",
"singleMuteMessage": "{{name}} was muted by {{operator}} for {{muteTime}}",
"cancelSingleMuteMessage": "{{name}} had their mute canceled by {{operator}}",
"burnReadStatus": "Burn after reading is {{status}}",
"videoNotSupport": "[Video] Not supported yet"
},
"time": {
"day": "Day",
"week": "Week",
"month": "Month",
"today": "Today",
"yesterday": "Yesterday",
"startTime": "Start Time"
},
"date": {
"second": "{{num}} second(s)",
"minute": "{{num}} minute(s)",
"hour": "{{num}} hour(s)",
"day": "{{num}} day(s)",
"weeks": "{{num}} week(s)",
"month": "{{num}} month(s)",
"justNow": "Just now",
"thisWeek": "This week",
"thisMonth": "This month",
"earlier": "Earlier",
"custom": "Custom"
},
"application": {
"agree": "Agree",
"refuse": "Refuse",
"agreed": "Agreed",
"refused": "Refused",
"information": "Verification Information",
"pending": "Pending Verification",
"applyToJoin": "Apply to Join",
"applyToAdd": "Apply to Add",
"applyToFriend": "Applied to Add You as a Friend"
},
"errCode": {
"passwordError": "Password error",
"accountNotExist": "Account doesn't exist",
"phoneNumberRegistered": "Phone already register",
"accountRegistered": "Account already registered",
"operationTooFrequent": "Operation too frequent, please try again later",
"verificationCodeError": "Incorrect verification code",
"verificationCodeExpired": "Verification code expired",
"verificationCodeErrorLimitExceed": "Verification code error limit exceeded, please try again later",
"verificationCodeUsed": "Verification code already used",
"invitationCodeUsed": "Invitation code already used",
"invitationCodeNotExist": "Invitation code does not exist",
"operationRestriction": "Operation restricted"
},
"states": {
"noMessage": "No messages yet",
"noMessageTip": "Find a colleague in Contacts to chat with",
"findColleague": "Find colleagues",
"loading": "Loading",
"loadingTip": "Messages are on the way, please wait",
"loadFailed": "Messages failed to load",
"loadFailedTip": "Check your network, then tap retry",
"offline": "Network unavailable, please check your connection",
"offlineTip": "Old messages are still available; new ones will arrive once back online"
}
}
+500
View File
@@ -0,0 +1,500 @@
{
"me": "我",
"you": "你",
"yes": "是",
"no": "否",
"confirm": "确认",
"retry": "重试",
"states": {
"noMessage": "还没有消息",
"noMessageTip": "去通讯录找同事聊聊吧",
"findColleague": "去找同事",
"loading": "正在加载",
"loadingTip": "消息马上就好,请稍等",
"loadFailed": "消息没加载出来",
"loadFailedTip": "检查一下网络,再点重试",
"offline": "当前网络不可用,请检查网络连接",
"offlineTip": "老消息还能看,新消息联网后自动收到"
},
"cancel": "取消",
"canceled": "已取消",
"pieces": "条",
"open": "开启",
"close": "关闭",
"clear": "清空",
"answer": "接听",
"hangUp": "挂断",
"notStart": "未开始",
"waitingStart": "待开始",
"alreadyStarted": "已开始",
"finished": "已结束",
"clickToView": "点击查看",
"jumpToMessage": "跳转到消息",
"connect": {
"syncing": "同步中",
"syncFailed": "同步失败",
"connecting": "连接中",
"connectFailed": "连接失败"
},
"toast": {
"accessSuccess": "操作成功!",
"accessFailed": "操作失败!",
"getConversationFailed": "获取会话列表失败!",
"getGroupInfoFailed": "获取群信息失败!",
"getGroupMemberFailed": "获取群成员信息失败!",
"getHistoryMessageFailed": "获取历史消息失败!",
"getSelfInfoFailed": "获取个人信息失败!",
"getFriendListFailed": "获取好友列表失败!",
"getBlackListFailed": "获取黑名单列表失败!",
"getGroupListFailed": "获取群列表失败!",
"getOnlineStatusFailed": "获取在线状态失败!",
"getMemberListFailed": "获取群成员失败!",
"getUserInfoFailed": "获取用户信息失败!",
"pinConversationFailed": "修改会话置顶状态失败!",
"setConversationRecvMessageOptFailed": "修改会话消息接收状态失败!",
"clearConversationMessagesFailed": "删除会话消息失败!",
"deleteConversationFailed": "删除会话失败!",
"updateGroupVerificationFailed": "修改群验证方式失败!",
"updateGroupInfoFailed": "修改群信息失败!",
"updateConversationPrivateStateFailed": "修改阅后即焚状态失败!",
"updateBlackStateFailed": "修改黑名单状态失败!",
"unfriendFailed": "解除好友失败!",
"getMessageListFailed": "获取消息列表失败!",
"sendApplicationFailed": "发送请求失败!",
"loading": "登录中...",
"syncing": "同步中...",
"syncFailed": "同步失败!",
"appUpdate": "应用程序更新",
"updateVersion": "发现新版本{{version}},是否立即更新?",
"updateContent": "更新内容:",
"isCancelUpdate": "确认要取消更新吗?",
"clearChatHistory": "清空聊天记录",
"confirmClearChatHistory": "确认清空聊天记录吗?",
"downloading": "下载中...",
"applyUpdateSuccess": "下载完成,重启应用生效,是否立即重启?",
"later": "稍后",
"applyDownloadSuccess": "下载完成,请跟随安装程序继续更新!",
"applyDownloadFailed": "下载失败!",
"loginExpiration": "当前登录已过期,请重新登录!",
"accountKicked": "您的账号已在其他设备登录,请重新登录!",
"updatePasswordSuccess": "修改密码成功,请重新登录!",
"inputOldPassword": "请输入原密码!",
"passwordRules": "6-20位,至少包含数字、字母",
"reconfirmPassword": "请再次确认您的密码",
"passwordsDifferent": "两次输入的密码不一致!",
"confirmlogOut": "确认退出登录当前账号吗?",
"updateAvatarFailed": "修改头像失败!",
"notCanSendMessage": "无法在已退出的群聊发消息!",
"groupMuted": "管理员或群主已开启全体禁言!",
"currentMuted": "您已被管理员或群主禁言!",
"messagesDeleteFailed": "部分消息删除失败!",
"confirmkickMember": "确认将{{name}}踢出群聊吗?",
"addSuccess": "添加成功!",
"copySuccess": "复制成功!",
"copyFailed": "复制失败!",
"confirmAllMuted": "确认开启全体禁言吗?",
"confirmDisbandGroup": "确认解散该群组吗?",
"confirmExitGroup": "确认退出该群组吗?",
"confirmMoveBlacklist": "确认将好友加入黑名单吗?",
"userBlacked": "该用户已被加入黑名单!",
"confirmUnfriend": "确认解除好友吗?",
"selectLeastOne": "请至少选择一项!",
"inputGroupName": "请输入群名称",
"inputContent": "请输入内容",
"sendSuccess": "发送成功!",
"beyondSelectionLimit": "超出选择限制!",
"sendJoinGroupRequestSuccess": "发送入群请求成功!",
"inputNickName": "请输入昵称",
"inputPhoneNumber": "请输入手机号",
"inputCorrectPhoneNumber": "请输入正确的手机号!",
"inputEmail": "请输入邮箱账号",
"inputCorrectEmail": "请输入正确的邮箱账号!",
"inputVerifyCode": "请输入您的验证码",
"inputPassword": "请输入您的密码",
"inputStaffNo": "请输入工号",
"sendFreiendRequestSuccess": "发送好友请求成功!",
"registerSuccess": "注册成功!",
"inputInvitationCode": "请输入您的邀请码",
"downloadFailed": "下载失败!",
"beingBlacklist": "对方已将你加入黑名单",
"usingFriendVerification": "对方开启了好友验证,你还不是他的好友",
"confirmDeleteMoment": "确认删除该条朋友圈吗?",
"uploadFailed": "上传失败!",
"somethingError": "似乎出现了一点问题~",
"getLogFailed": "获取日志文件失败!",
"publishFailed": "发布失败!",
"notCanAddFriend": "对方已设置不允许被添加为好友!",
"isJoinCalling": "群通话进行中,是否直接加入?",
"fileTypeError": "不支持的文件类型或文件夹!",
"noMicrophone": "没有检测到麦克风,无法录音",
"recordTooShort": "说话时间太短了"
},
"placeholder": {
"conversation": "会话",
"leaveMessage": "留言",
"recover": "点击恢复",
"someInCall": "{{count}}人正在通话",
"compere": "主持人",
"watchUser": "全部看他",
"removeWatchUser": "取消全部看他",
"fold": "收起",
"participantCanUnmuteSelf": "允许成员自我解除静音",
"participantCanEnableVideo": "允许成员开启视频",
"onlyHostShareScreen": "仅主持人可以共享屏幕",
"onlyHostInviteUser": "仅主持人可邀请会议人员",
"joinDisableMicrophone": "成员入会静音",
"member": "成员",
"microphone": "麦克风",
"camera": "摄像头",
"sharedScreen": "共享屏幕",
"endSharing": "结束共享",
"connecting": "连接中...",
"uploadSuccess": "上传成功",
"reportLog": "上报日志",
"reportSpecificLog": "上报指定日志",
"viewingLocalLogs": "查看本地日志",
"totalNumPhoto": "共{{num}}张",
"somePersonLike": "等{{num}}人点赞",
"whoCanWatch": "谁可以看",
"remindWhoToWatch": "提醒谁看",
"publishMomentsToast": "这一刻的想法...",
"public": "公开",
"publicToast": "所有人可见",
"privacy": "私密",
"privacyToast": "仅自己可见",
"partlyVisible": "部分可见",
"partlyVisibleToast": "仅选中的人可见",
"hiddenSome": "不给谁看",
"hiddenSomeToast": "仅选中的人不可见",
"comment": "评论",
"hint": "提示",
"toLike": "点赞",
"byLike": "为你点了赞",
"mentioned": "提到了",
"atYou": "提到了你",
"replied": "回复了",
"publishImages": "发布图文",
"publishVideo": "发布视频",
"details": "详情",
"messageDestruct": "定期删除消息记录",
"messageDestructTime": "定期删除消息记录时间",
"messageDestructToast": "在此之后发送的消息会在选择的时间之后自动删除",
"moments": "工作圈",
"somePerson": "等{{num}}人",
"selectMember": "选择成员",
"setInfo": "设置信息",
"regain": "重新获取",
"optional": "(选填)",
"invitationCode": "邀请码",
"getBack": "返回",
"nextStep": "下一步",
"register": "新用户注册",
"registerToast": "还没有注册?",
"toRegister": "立即注册",
"login": "登录",
"pleaseEnterSendTo": "请输入发送至",
"verifyCode": "验证码",
"verifyValidity": "的 6 位验证码,有效期 10 分钟",
"sendVerifyCode": "发送验证码",
"qrCodeLogin": "扫码登录",
"qrCodeLoginTitle": "请使用OpenCorp移动端扫描二维码",
"welcome": "欢迎使用畅联",
"title": "畅联",
"subTitle": "公司内部通讯工具",
"myCreated": "我创建的",
"myJoined": "我加入的",
"newFriends": "新的好友",
"groupNotification": "群通知",
"friendVerification": "好友验证",
"groupInfo": "群组信息",
"personalInfo": "个人信息",
"inviteToGroup": "邀请入群",
"qrCodeToGroup": "扫码入群",
"selectIDToGroup": "搜索群组ID",
"remark": "备注",
"email": "邮箱",
"phoneNumber": "手机号",
"verifyPhoneNumber": "验证手机号",
"verifyEmail": "验证邮箱",
"birth": "生日",
"gender": "性别",
"man": "男",
"female": "女",
"unknown": "未知",
"nickName": "昵称",
"groupNickName": "群昵称",
"joinGroupTime": "入群时间",
"joinGroupMode": "入群方式",
"editInfo": "编辑资料",
"message": "聊天信息",
"relevantMessage": "{{count}}条相关聊天记录",
"overview": "综合",
"latestChat": "最近聊天",
"myFriend": "我的好友",
"myGroup": "我的群组",
"groupName": "群名称",
"groupAvatar": "群头像",
"groupMember": "群成员",
"selected": "已选择",
"moveBlacklist": "加入黑名单",
"willFilterThisUserMessage": "将无法接收该好友消息。",
"unfriend": "解除好友",
"setStarFriend": "设置为星标好友",
"shieldConversation": "屏蔽该会话",
"privateChat": "阅后即焚",
"privateChatTime": "阅后即焚时间",
"isRead": "已读",
"isReadList": "消息已读列表",
"allIsRead": "全部已读",
"isReadNum": "{{num}}人已读",
"unreadNum": "{{num}}人未读",
"unread": "未读",
"revoke": "撤回",
"copy": "复制",
"check": "多选",
"sendMessage": "发送消息",
"save": "保存",
"group": "群组",
"groupTppe": "群类型",
"workGroup": "工作群",
"myGroupNickname": "我的群聊昵称",
"notNotify": "消息免打扰",
"allMuted": "全体禁音",
"allMutedClose": "解除全体静音",
"groupVerification": "群聊验证",
"groupMemberPermissions": "群成员权限",
"transferGroup": "转让群组",
"exitGroup": "退出群组",
"exitGroupToast": "退出后你将不再接收该群组消息。",
"disbandGroup": "解散群组",
"disbandGroupToast": "解除后将移除所有群成员。",
"and": "{{someone}}和{{otherone}}",
"groupOwner": "群主",
"administrator": "管理员",
"setAdministrator": "设为管理员",
"mute": "禁言",
"cancelMute": "取消禁言",
"setMute": "设置禁言",
"onlyManageCanSend": "开启后仅群主和管理员可发言。",
"publish": "发布",
"edit": "编辑",
"call": "通话",
"file": "文件",
"document": "文档",
"emoji": "表情",
"image": "图片",
"video": "视频",
"card": "名片",
"personalCard": "个人名片",
"screenshot": "截图",
"sticky": "置顶",
"removeSticky": "取消置顶",
"draft": "草稿",
"pleaseEnter": "请输入",
"enterGroupName": "取个群名称方便后续搜索",
"clickToModify": "点击修改",
"search": "搜索",
"about": "关于我们",
"staffNo": "工号",
"password": "密码",
"forgetPassword": "忘记密码",
"changePassword": "修改密码",
"checkNewVersion": "检查新版本",
"viewMore": "查看更多",
"add": "添加",
"remove": "移除",
"delete": "删除",
"close": "关闭",
"finder": "查看",
"blackList": "通讯录黑名单",
"oldPassword": "原密码:",
"newPassword": "新密码:",
"confirmPassword": "确认密码:",
"chat": "消息",
"contact": "通讯录",
"contacts": "联系人",
"myInfo": "我的资料",
"accountSetting": "账号设置",
"logOut": "退出登录",
"personalSetting": "个人设置",
"chooseLanguage": "选择语言",
"closeButtonEvent": "点击关闭按钮时的事件",
"exitApplication": "退出应用",
"minimize": "最小化托盘",
"messageToast": "消息提示",
"messageAllowBeep": "新消息提示音",
"messageNotNotify": "勿扰模式",
"addFriends": "添加好友",
"verifyAdd": "验证添加",
"addGroup": "添加群组",
"createGroup": "创建群聊",
"createNow": "立即创建",
"createGroupToast": "创建群组,立即开启在线化办公",
"addFriendsSetting": "添加好友设置",
"refuseAddFriend": "禁止添加我为好友",
"markAsRead": "标为已读",
"send": "发送",
"sendTo": "发送给:",
"groupAnnouncement": "群公告",
"noGroupAnnouncement": "还没有群公告哦~",
"needManageEdit": "只有群主及管理员可以编辑",
"loosenToSend": "松开发送给",
"reEdit": "重新编辑",
"multipleNewMessages": "{{count}}新消息",
"reply": "回复",
"sendShortcutkey": "Enter发送/Shift+Enter换行",
"sendWithEnter": "按Enter发送",
"sendWithShiftEnter": "按Shift+Enter发送",
"mentionAll": "所有人",
"forward": "转发",
"mergeForward": "合并转发",
"messageHistory": "聊天记录",
"whosMessageHistory": "{{who}}的聊天记录",
"launch": "发起的",
"launchPerson": "发起人",
"inviteYou": "邀请你进行",
"videoCall": "视频通话",
"voiceCall": "语音通话",
"meeting": "视频会议",
"meetingSetting": "会议设置",
"someInMeeting": "{{count}}人正在开会",
"finishMeeting": "结束会议",
"leaveMeeting": "离开会议",
"meetingName": "会议主题",
"initiatedMeeting": "发起的会议",
"meetingTime": "会议时长",
"meetingID": "会议号",
"meetingDetail": "会议详情",
"changeMeetingDetail": "修改会议信息",
"underWay": "正在进行中",
"joinCall": "加入通话",
"joinMeeting": "进入会议",
"quickMeeting": "快速会议",
"orderMeeting": "预约会议",
"orderSuccess": "预约成功",
"callTimeout": "超时未接听",
"callTime": "通话时长",
"handleByOtherDevice": "已在其他设备处理",
"screenshotHideWindow": "隐藏当前窗口截图",
"historyList": "历史记录",
"memberList": "群成员列表",
"meetingInvitation": "通话邀请",
"invitation": "邀请",
"share": "分享名片",
"selectUser": "选择用户",
"setting": "设置",
"offLine": "离线",
"online": "在线",
"typing": "正在输入",
"kick": "踢出",
"kickMember": "踢出成员",
"forbidLookMemberInfo": "不允许查看其他群成员资料",
"forbidAddMember": "不允许添加群成员为好友",
"applyNeedInvite": "群成员邀请无需验证",
"applyNeedVerification": "需要发送验证消息",
"applyAll": "允许所有人加群",
"sendToName": "给 {{name}} 发消息",
"enterToSendTip": "按 Enter 发送,按 Ctrl + Enter 换行",
"dropToSend": "松开鼠标发送文件",
"viewProfile": "查看资料",
"groupSetting": "群聊设置"
},
"empty": {
"noMoments": "暂无动态",
"noMoreMessage": "没有更多消息了",
"showAllResults": "已展示全部结果!",
"noSearchResults": "未搜索到相关结果",
"fileContentEmpty": "文件为空!"
},
"messageDescription": {
"imageMessage": "[图片]",
"voiceMessage": "[语音]",
"fileMessage": "[文件]{{file}}",
"locationMessage": "[位置]{{location}}",
"videoMessage": "[视频]",
"cardMessage": "[名片]",
"faceMessage": "[表情]",
"rtcMessage": "[通话]",
"quoteMessage": "[引用消息]",
"massMessage": "[群发通知]",
"mergeMessage": "[聊天记录]",
"callMessage": "[通话]",
"meetingMessage": "[会议邀请]",
"customMessage": "[自定义消息]",
"notSupMessage": "[暂不支持的消息类型]",
"drftPrefix": "[草稿]",
"atAllPrefix": "[所有人]",
"atYouPrefix": "[有人@你]",
"unreadCount": "[{{count}}条]",
"catchMessage": "[暂未支持的消息类型]",
"videoNotSupport": "[视频]暂不支持查看",
"forwardMessage": "[转发] {{additional}}",
"addtionalCardMessage": "[名片] {{additional}}",
"quoteMessageRevoke": "引用内容已被删除",
"groupAnnouncementPrefix": "[群公告]",
"revokeMessage": "{{revoker}}撤回了一条消息",
"advanceRevokeMessage": "{{operator}}撤回了一条{{revoker}}发送的消息",
"alreadyFriendMessage": "你们已经成为好友,可以开始聊天了!",
"createGroupMessage": "{{creator}}创建了群聊",
"updateGroupInfoMessage": "{{operator}}修改了群信息",
"updateGroupNameMessage": "{{operator}}修改了群名称为{{name}}",
"updateGroupAnnouncementMessage": "{{operator}}修改了群公告",
"transferGroupMessage": "{{owner}}转让了群主给{{newOwner}}",
"quitGroupMessage": "{{name}}退出了群聊",
"invitedToGroupMessage": "{{operator}}邀请了{{invitedUser}}加入群聊",
"kickInGroupMessage": "{{kickedUser}}被{{operator}}踢出群聊",
"joinGroupMessage": "{{name}}加入了群聊",
"disbanedGroupMessage": "{{operator}}解散了群聊",
"allMuteMessage": "{{operator}}开启了全体禁言",
"cancelAllMuteMessage": "{{operator}}关闭了全体禁言",
"singleMuteMessage": "{{name}}被{{operator}}禁言{{muteTime}}",
"cancelSingleMuteMessage": "{{name}}被{{operator}}取消了禁言",
"burnReadStatus": "已{{status}}阅后即焚"
},
"time": {
"day": "天",
"week": "周",
"month": "月",
"today": "今日",
"yesterday": "昨日",
"startTime": "开始时间"
},
"date": {
"second": "{{num}}秒",
"minute": "{{num}}分钟",
"hour": "{{num}}小时",
"day": "{{num}}天",
"weeks": "{{num}}周",
"month": "{{num}}月",
"justNow": "刚刚",
"thisWeek": "本周",
"thisMonth": "本月",
"earlier": "更早",
"custom": "自定义"
},
"application": {
"agree": "同意",
"refuse": "拒绝",
"agreed": "已同意",
"refused": "已拒绝",
"information": "验证信息",
"pending": "等待验证",
"applyToJoin": "申请加入",
"applyToAdd": "申请添加",
"applyToFriend": "申请添加您为好友"
},
"errCode": {
"passwordError": "密码错误",
"accountNotExist": "账号不存在",
"phoneNumberRegistered": "手机号已注册",
"accountRegistered": "账号已注册",
"operationTooFrequent": "操作过于频繁,请稍后再试",
"verificationCodeError": "验证码错误",
"verificationCodeExpired": "验证码已过期",
"verificationCodeErrorLimitExceed": "验证码错误次数超过限制,请稍后再试",
"verificationCodeUsed": "验证码已被使用",
"invitationCodeUsed": "邀请码已被使用",
"invitationCodeNotExist": "邀请码不存在",
"operationRestriction": "操作限制"
}
}