diff --git a/.gitignore b/.gitignore index 67787e1768..672c56e637 100644 --- a/.gitignore +++ b/.gitignore @@ -77,3 +77,4 @@ link-plugins.sh makeCordova.sh rebuild.sh test.sh +pnpm-lock.yaml diff --git a/public/language/zh-CN/admin/settings/user.json b/public/language/zh-CN/admin/settings/user.json index f78cc552c4..53575f1a5a 100644 --- a/public/language/zh-CN/admin/settings/user.json +++ b/public/language/zh-CN/admin/settings/user.json @@ -69,7 +69,7 @@ "digest-freq.off": "关闭", "digest-freq.daily": "每日", "digest-freq.weekly": "每周", - "digest-freq.biweekly": "Bi-Weekly", + "digest-freq.biweekly": "每两周", "digest-freq.monthly": "每月", "email-chat-notifs": "当我不在线并收到新的聊天消息时,给我发送邮件通知", "email-post-notif": "当我订阅的主题有新回复时,给我发送邮件通知", diff --git a/public/language/zh-CN/error.json b/public/language/zh-CN/error.json index 520524781f..b187eba154 100644 --- a/public/language/zh-CN/error.json +++ b/public/language/zh-CN/error.json @@ -25,7 +25,7 @@ "invalid-username-or-password": "请确认用户名和密码", "invalid-search-term": "无效的搜索关键字", "invalid-url": "无效的 URL", - "invalid-event": "Invalid event: %1", + "invalid-event": "无效的事件:%1", "local-login-disabled": "已禁用非管理账户的本地登录。", "csrf-invalid": "可能是由于会话过期,登录失败。请重试。", "invalid-path": "无效的路径", @@ -62,7 +62,7 @@ "no-user": "用户不存在", "no-teaser": "主题预览不存在", "no-flag": "Flag does not exist", - "no-chat-room": "Chat room does not exist", + "no-chat-room": "聊天室不存在", "no-privileges": "您没有权限执行此操作。", "category-disabled": "版块已禁用", "topic-locked": "主题已锁定", @@ -102,7 +102,7 @@ "cors-error": "由于CORS配置错误,无法上传图片。", "upload-ratelimit-reached": "您在短时间内上传了过多的文件,请稍后再试", "scheduling-to-past": "请选择一个未来的日期。", - "invalid-schedule-date": "Please enter a valid date and time.", + "invalid-schedule-date": "请输入正确的日期", "cant-pin-scheduled": "Scheduled topics cannot be (un)pinned.", "cant-merge-scheduled": "Scheduled topics cannot be merged.", "cant-move-posts-to-scheduled": "Can't move posts to a scheduled topic.", @@ -157,31 +157,31 @@ "chat-deleted-already": "聊天消息已经被删除", "chat-restored-already": "此聊天消息已经恢复。\n", "chat-room-does-not-exist": "聊天室不存在。", - "cant-add-users-to-chat-room": "Can't add users to chat room.", - "cant-remove-users-from-chat-room": "Can't remove users from chat room.", - "chat-room-name-too-long": "Chat room name too long.", + "cant-add-users-to-chat-room": "无法添加用户到聊天室。", + "cant-remove-users-from-chat-room": "无法从聊天室删除用户。", + "chat-room-name-too-long": "聊天室名过长。", "already-voting-for-this-post": "您已为此帖回复投过票了。", "reputation-system-disabled": "声望系统已禁用。", "downvoting-disabled": "踩已被禁用", - "not-enough-reputation-to-chat": "You need %1 reputation to chat", - "not-enough-reputation-to-upvote": "You need %1 reputation to upvote", + "not-enough-reputation-to-chat": "您需要 %1 声望才能进行聊天", + "not-enough-reputation-to-upvote": "您需要 %1 声望以顶贴", "not-enough-reputation-to-downvote": "您需要 %1 声望以进行踩操作", "not-enough-reputation-to-flag": "您需要 %1 声望才能举报此帖子", "not-enough-reputation-min-rep-website": "您需要 %1 声望以添加网站", "not-enough-reputation-min-rep-aboutme": "您需要 %1 声望以设置关于我", "not-enough-reputation-min-rep-signature": "您需要 %1 声望以添加签名档", - "not-enough-reputation-min-rep-profile-picture": "You need %1 reputation to add a profile picture", - "not-enough-reputation-min-rep-cover-picture": "You need %1 reputation to add a cover picture", + "not-enough-reputation-min-rep-profile-picture": "您需要 %1 声望以设置头像", + "not-enough-reputation-min-rep-cover-picture": "您需要 %1 声望以设置封面图片", "post-already-flagged": "您已举报此帖", "user-already-flagged": "您已举报此用户", "post-flagged-too-many-times": "此贴已被其他用户举报", "user-flagged-too-many-times": "此用户已被其他用户举报", "cant-flag-privileged": "You are not allowed to flag the profiles or content of privileged users (moderators/global moderators/admins)", "self-vote": "您不能对您自己的帖子投票", - "too-many-upvotes-today": "You can only upvote %1 times a day", - "too-many-upvotes-today-user": "You can only upvote a user %1 times a day", + "too-many-upvotes-today": "您每天仅可进行 %1 次顶贴", + "too-many-upvotes-today-user": "您每天只能对一个用户点赞 %1 次", "too-many-downvotes-today": "您每天只能踩 %1 次", - "too-many-downvotes-today-user": "您每天只能对一个用户踩 %1 次", + "too-many-downvotes-today-user": "您每天只能对一个用户点踩 %1 次", "reload-failed": "刷新 NodeBB 时遇到问题: \"%1\"。NodeBB 保持给已连接的客户端服务,您应该撤销刷新前做的更改。", "registration-error": "注册错误", "parse-error": "服务器响应解析出错", @@ -197,8 +197,8 @@ "invalid-home-page-route": "无效的首页路径", "invalid-session": "无效的会话", "invalid-session-text": "您的登录会话似乎不再处于活动状态。请刷新此页面。", - "session-mismatch": "Session Mismatch", - "session-mismatch-text": "It looks like your login session no longer matches with the server. Please refresh this page.", + "session-mismatch": "会话不匹配", + "session-mismatch-text": "您的登录会话似乎与服务器不再匹配。请刷新此页面。", "no-topics-selected": "没有主题被选中!", "cant-move-to-same-topic": "无法将帖子移动到相同的主题中!", "cant-move-topic-to-same-category": "无法将主题移动到相同的版块!", @@ -208,7 +208,7 @@ "already-blocked": "此用户已被屏蔽", "already-unblocked": "此用户已被取消屏蔽", "no-connection": "您的网络连接似乎存在问题", - "socket-reconnect-failed": "Unable to reach the server at this time. Click here to try again, or try again later", + "socket-reconnect-failed": "目前无法连接到服务器。请点击这里重试,或稍后再试", "plugin-not-whitelisted": "无法安装插件 – 只有被NodeBB包管理器列入白名单的插件才能通过ACP安装。", "plugins-set-in-configuration": "You are not allowed to change plugin state as they are defined at runtime (config.json, environmental variables or terminal arguments), please modify the configuration instead.", "theme-not-set-in-configuration": "When defining active plugins in configuration, changing themes requires adding the new theme to the list of active plugins before updating it in the ACP", diff --git a/public/language/zh-CN/notifications.json b/public/language/zh-CN/notifications.json index cfd4b7fd3d..dd9963a2e1 100644 --- a/public/language/zh-CN/notifications.json +++ b/public/language/zh-CN/notifications.json @@ -14,7 +14,7 @@ "topics": "主题", "replies": "回复", "chat": "聊天", - "group-chat": "Group Chats", + "group-chat": "群聊", "follows": "关注", "upvote": "顶", "new-flags": "新举报", @@ -48,9 +48,9 @@ "posts-exported": "%1帖子已导出,点击下载", "uploads-exported": "%1上传已导出,点击下载", "users-csv-exported": "用户列表 CSV 已导出,点击以下载", - "post-queue-accepted": "Your queued post has been accepted. Click here to see your post.", - "post-queue-rejected": "Your queued post has been rejected.", - "post-queue-notify": "Queued post received a notification:
\"%1\"", + "post-queue-accepted": "您先前提交的帖子已通过查验,点击这里查看", + "post-queue-rejected": "您先前提交的帖子已被拒绝", + "post-queue-notify": "您先前提交的帖子收到了通知:“%1”", "email-confirmed": "电子邮箱已确认", "email-confirmed-message": "感谢您验证您的电子邮箱。您的帐户现已完全激活。", "email-confirm-error-message": "验证的您电子邮箱地址时出现了问题。可能是因为验证码无效或已过期。", @@ -65,9 +65,9 @@ "notificationType_post-edit": "当您关注的主题有帖子被编辑时", "notificationType_follow": "当有人关注您时", "notificationType_new-chat": "当您收到聊天消息时", - "notificationType_new-group-chat": "When you receive a group chat message", + "notificationType_new-group-chat": "当您收到群聊消息时", "notificationType_group-invite": "当您收到群组邀请时", - "notificationType_group-leave": "When a user leaves your group", + "notificationType_group-leave": "当用户离开您的群组时", "notificationType_group-request-membership": "当有人请求加入您拥有的用户组时", "notificationType_new-register": "当有人被添加到申请队列时", "notificationType_post-queue": "当有新帖子等待审核时", diff --git a/public/language/zh-CN/topic.json b/public/language/zh-CN/topic.json index f146040c10..9a960f23c6 100644 --- a/public/language/zh-CN/topic.json +++ b/public/language/zh-CN/topic.json @@ -41,10 +41,10 @@ "view-history": "编辑历史", "locked-by": "锁定自", "unlocked-by": "解锁自", - "pinned-by": "Pinned by", - "unpinned-by": "Unpinned by", - "deleted-by": "Deleted by", - "restored-by": "Restored by", + "pinned-by": "置顶自", + "unpinned-by": "取消置顶自", + "deleted-by": "删除自", + "restored-by": "恢复自", "moved-from-by": "Moved from %1 by", "queued-by": "Post queued for approval →", "backlink": "Referenced by", @@ -113,7 +113,7 @@ "bookmark": "书签", "bookmarks": "书签", "bookmarks.has_no_bookmarks": "您还没有添加任何书签", - "copy-permalink": "Copy Permalink", + "copy-permalink": "复制固定链接", "loading_more_posts": "正在加载更多帖子", "move_topic": "移动主题", "move_topics": "移动主题", @@ -135,13 +135,13 @@ "merge-select-main-topic": "选择首要主题", "merge-new-title-for-topic": "主题的新标题", "topic-id": "主题 ID", - "move_posts_instruction": "Click the posts you want to move then enter a topic ID or go to the target topic", + "move_posts_instruction": "选中你想移动的帖子,然后输入一个主题ID或前往目标主题", "change_owner_instruction": "点击您想转移给其他用户的帖子", "composer.title_placeholder": "在此输入您主题的标题...", "composer.handle_placeholder": "在这里输入您的姓名/昵称", "composer.discard": "撤销", "composer.submit": "提交", - "composer.additional-options": "Additional Options", + "composer.additional-options": "附加选项", "composer.schedule": "Schedule", "composer.replying_to": "正在回复 %1", "composer.new_topic": "新主题", @@ -162,7 +162,7 @@ "newest_to_oldest": "从新到旧", "most_votes": "最多赞同", "most_posts": "回复最多", - "most_views": "Most Views", + "most_views": "最多浏览", "stale.title": "接受建议并创建新主题?", "stale.warning": "您回复的主题已经很古老了,是否发布新主题并引用此主题的内容?", "stale.create": "创建新主题", @@ -180,9 +180,9 @@ "diffs.deleted": "Revision deleted", "timeago_later": "%1 后", "timeago_earlier": "%1 前", - "first-post": "First post", - "last-post": "Last post", - "go-to-my-next-post": "Go to my next post", - "no-more-next-post": "You don't have more posts in this topic", - "post-quick-reply": "Post quick reply" + "first-post": "第一个帖子", + "last-post": "最后一个帖子", + "go-to-my-next-post": "转到我的下一个帖子", + "no-more-next-post": "您在这个主题中没有更多的帖子了", + "post-quick-reply": "发表快速回复" } \ No newline at end of file diff --git a/public/language/zh-CN/user.json b/public/language/zh-CN/user.json index 904ac4a7c4..2032dbe9a6 100644 --- a/public/language/zh-CN/user.json +++ b/public/language/zh-CN/user.json @@ -38,7 +38,7 @@ "watched_categories": "已关注的版块", "change_all": "更改全部", "watched": "已关注", - "ignored": "忽略", + "ignored": "屏蔽", "default-category-watch-state": "默认版块关注状态", "followers": "粉丝", "following": "关注", @@ -97,7 +97,7 @@ "digest_off": "关闭", "digest_daily": "每天", "digest_weekly": "每周", - "digest_biweekly": "Bi-Weekly", + "digest_biweekly": "每两周", "digest_monthly": "每月", "has_no_follower": "此用户还没有粉丝 :(", "follows_no_one": "此用户尚未关注任何人 :(", @@ -105,7 +105,7 @@ "has_no_best_posts": "此用户没有任何顶过的帖子。", "has_no_topics": "此用户还未发布任何主题。", "has_no_watched_topics": "此用户还未关注任何主题。", - "has_no_ignored_topics": "此用户尚未忽略任何主题。", + "has_no_ignored_topics": "此用户尚未屏蔽任何主题。", "has_no_upvoted_posts": "此用户还未顶过任何帖子。", "has_no_downvoted_posts": "此用户还未踩过任何帖子。", "has_no_controversial_posts": "此用户没有任何踩过的帖子。", @@ -160,7 +160,7 @@ "info.mute-history": "最近禁言历史", "info.no-mute-history": "该用户从未被禁言", "info.muted-until": "禁言到 %1", - "info.muted-expiry": "Expiry", + "info.muted-expiry": "到期时间", "info.muted-no-reason": "没有原因", "info.username-history": "历史用户名", "info.email-history": "历史邮箱", @@ -192,8 +192,8 @@ "consent.export_posts": "导出帖子 (.csv)", "consent.export-posts-success": "帖子导出完成后,您将会收到一条通知。", "emailUpdate.intro": "请在下方输入您的电子邮箱地址。此论坛使用您的电子邮箱地址用于定时发送摘要和通知,以及用于忘记密码时找回账号。", - "emailUpdate.optional": "This field is optional. You are not obligated to provide your email address, but without a validated email you will not be able to recover your account or login with your email.", + "emailUpdate.optional": "此项为可选。您不必提供您的电子邮件地址,但如果没有一个经过验证的电子邮件地址,您将无法恢复您的账号或使用电子邮件登录。", "emailUpdate.required": "此字段为必填。", "emailUpdate.change-instructions": "将向输入的电子邮箱地址发送一封带有唯一链接的确认电子邮件。访问该链接将验证您对该电子邮箱的所有权,它将在您的账号上处于活动状态。在任何时候,您都可以在您的账号页面更新存档的电子邮箱地址。", - "emailUpdate.password-challenge": "Please enter your password in order to verify account ownership." + "emailUpdate.password-challenge": "请输入您的密码,以验证账户所有权。" } \ No newline at end of file diff --git a/webpack.common.js b/webpack.common.js index 7929a196d5..e67dce0af5 100644 --- a/webpack.common.js +++ b/webpack.common.js @@ -59,4 +59,20 @@ module.exports = { 'ace/ace': path.resolve(__dirname, 'build/public/src/modules/ace-editor.js'), }, }, + module: { + rules: [ + { + test: /\.m?js$/, + exclude: /node_modules/, + use: { + loader: 'babel-loader', + options: { + presets: [ + ['@babel/preset-env', { targets: "Chrome >= 77, Safari >= 13.1, iOS >= 13.4" }] + ] + } + } + } + ] + } };