diff --git a/client/coral-framework/services/i18n.js b/client/coral-framework/services/i18n.js index 0fb4cd543..3e02bdd62 100644 --- a/client/coral-framework/services/i18n.js +++ b/client/coral-framework/services/i18n.js @@ -12,17 +12,19 @@ import daTA from 'timeago.js/locales/da'; import esTA from 'timeago.js/locales/es'; import frTA from 'timeago.js/locales/fr'; import pt_BRTA from 'timeago.js/locales/pt_BR'; +import zh_CNTA from 'timeago.js/locales/zh_CN'; +import zh_TWTA from 'timeago.js/locales/zh_TW'; import en from '../../../locales/en.yml'; import da from '../../../locales/da.yml'; import es from '../../../locales/es.yml'; import fr from '../../../locales/fr.yml'; import pt_BR from '../../../locales/pt_BR.yml'; - -// Translations are happening at https://translate.lingohub.com/the-coral-project/dashboard +import zh_CN from '../../../locales/zh_CN.yml'; +import zh_TW from '../../../locales/zh_TW.yml'; const defaultLanguage = process.env.TALK_DEFAULT_LANG; -const translations = {...en, ...da, ...es, ...fr, ...pt_BR}; +const translations = {...en, ...da, ...es, ...fr, ...pt_BR, ...zh_CN, ...zh_TW}; let lang; let timeagoInstance; @@ -55,6 +57,9 @@ function init() { ta.register('da', daTA); ta.register('fr', frTA); ta.register('pt_BR', pt_BRTA); + ta.register('zh_CN', zh_CNTA); + ta.register('zh_TW', zh_TWTA); + timeagoInstance = ta(); } diff --git a/config.js b/config.js index ad51465a7..72c24c70f 100644 --- a/config.js +++ b/config.js @@ -15,6 +15,8 @@ const uniq = require('lodash/uniq'); const ms = require('ms'); const debug = require('debug')('talk:config'); +const localAddress = require('ip').address('private'); + //============================================================================== // CONFIG INITIALIZATION //============================================================================== @@ -238,10 +240,10 @@ const CONFIG = { if (process.env.NODE_ENV === 'test') { if (!CONFIG.ROOT_URL) { - CONFIG.ROOT_URL = 'http://localhost:3001'; + CONFIG.ROOT_URL = `http://${localAddress}:3001`; } if (!CONFIG.STATIC_URL) { - CONFIG.STATIC_URI = 'http://localhost:3001'; + CONFIG.STATIC_URI = `http://${localAddress}:3001`; } } else if (!CONFIG.ROOT_URL) { throw new Error('TALK_ROOT_URL must be provided'); diff --git a/locales/zh_CN.yml b/locales/zh_CN.yml new file mode 100644 index 000000000..9fc374260 --- /dev/null +++ b/locales/zh_CN.yml @@ -0,0 +1,403 @@ +zh_CN: + your_account_has_been_suspended: "您的帐号已被暂时停用。" + your_account_has_been_banned: "您的帐号已被屏蔽。" + your_username_has_been_rejected: "您的用户名不恰当,账户被暂时停用。若需恢复,请输入新用户名。" + embed_comments_tab: "评论" + bandialog: + are_you_sure: "您确定要屏蔽 {0} 吗?" + ban_user: "屏蔽用户?" + banned_user: "已屏蔽用户" + cancel: "取消" + note: "注释:{0}" + note_reject_comment: "屏蔽该用户同时会使该评论进入被拒绝队列。" + note_ban_user: "屏蔽该用户同时会禁止该用户编辑、删除评论。" + yes_ban_user: "是,确定屏蔽" + bio_offensive: "该简介含有冒犯言语" + cancel: "取消" + characters_remaining: "字符剩余可用" + comment: + anon: "匿名" + undo_reject: "撤销" + ban_user: "屏蔽用户" + comment: "发表评论" + edited: "已被编辑" + flagged: "已被举报" + view_context: "查看上下文" + comment_box: + post: "发表" + cancel: "取消" + reply: "回复" + comment: "发表评论" + name: "名称" + comment_post_notif: "您的评论已发表。" + comment_post_notif_premod: "感谢发表评论。我们的管理团队会马上审查您的评论。" + comment_post_banned_word: "您的评论包含一个或多个被禁词汇,不会被发表。若您认为该判断有误,请联系我们的管理团队。" + characters_remaining: "剩余可用字符" + comment_offensive: "该评论含有冒犯言语" + comment_singular: "评论" + comment_plural: "评论" + comment_post_banned_word: "您的评论包含一个或多个被禁词汇,不会被发表。若您认为该判断有误,请联系我们的管理团队。" + comment_post_notif: "您的评论已发表。" + comment_post_notif_premod: "感谢发表评论。我们的管理团队会马上审查您的评论。" + common: + copy: '复制' + error: '发生了错误。' + reply: '回复' + replies: '回复' + reaction: '反应' + reactions: '反应' + story: '故事' + community: + account_creation_date: "帐号创建日期" + active: "活动中" + admin: "管理员" + ads_marketing: "这看起来像是广告" + are_you_sure: "您确定要屏蔽 {0} 吗?" + ban_user: "屏蔽用户?" + banned: "已屏蔽" + banned_user: "已屏蔽用户" + cancel: "取消" + dont_like_username: "不喜欢用户名" + flaggedaccounts: "被举报用户" + flags: "举报" + impersonating: "冒名" + loading: "加载结果中" + moderator: "审查员" + newsroom_role: "新闻编辑室角色" + no_flagged_accounts: "目前没有用户被举报。" + no_results: "没有用户使用该用户名或邮箱地址。他们藏起来了!" + offensive: "冒犯" + other: "其他" + people: "众人" + role: "选择角色..." + select_status: "选择状态..." + spam_ads: "垃圾信息/广告" + staff: "员工" + status: "状态" + username_and_email: "用户名和邮箱" + yes_ban_user: "确定屏蔽" + none: "无" + configure: + apply: "应用" + banned_word_text: "包含这些词汇或词组的评论(不分大小写)将会自动从评论流中被删除。要添加词汇,请输入一个词汇,按下回车键或 Tab 键。或者您也可以粘贴一个以英文逗号分隔的列表。" + banned_words_title: "被禁词汇表" + close: "关闭" + close_after: "指定时间后关闭评论:" + close_stream: "关闭流" + close_stream_configuration: "该评论流目前已被关闭。开启评论流后新评论才能被提交及展示。" + closed_comments_desc: "填写当评论流关闭、不再接受新评论时显示的信息。" + closed_comments_label: "填写信息..." + closed_stream_settings: "已关闭流的描述" + comment_count_error: "请输入有效的数字。" + comment_count_header: "限制评论长度" + comment_count_text_post: "字符" + comment_count_text_pre: "评论长度将被限制到" + comment_settings: "设置" + comment_stream: "评论流" + comment_stream_will_close: "该评论流将关闭" + community: "社群" + configure: "配置" + copy_and_paste: "将下面的代码复制粘贴到您的内容管理系统中,以在文章页面中嵌入评论框。" + custom_css_url: "自定义 CSS 地址" + custom_css_url_desc: "自定义 CSS 将覆盖内置的样式。可为内部地址或外部地址。" + days: "日" + description: "作为管理员,您可以对该故事的评论流进行配置。" + domain_list_text: "输入许可使用 Talk 的域名,如您的本地环境、测试环境、生产环境(如 localhost:3000、staging.domain.com、domain.com)。" + domain_list_title: "被许可域名" + edit_comment_timeframe_heading: "评论编辑时间限制" + edit_comment_timeframe_text_pre: "评论者将有" + edit_comment_timeframe_text_post: "秒来编辑评论。" + embed_comment_stream: "嵌入评论流" + enable_premod_links_text: "让包含链接的评论发表前接受审查。" + enable_pre_moderation: "开启预审查" + enable_pre_moderation_text: "让所有评论发表前接受审查。" + enable_premod_links: "预审查包含链接的评论" + enable_premod: "开启预审查" + enable_premod_description: "让所有评论发表前接受审查。" + enable_premod_links_description: "让包含链接的评论发表前接受审查。" + enable_questionbox: "向读者提问" + enable_questionbox_description: "该问题将在评论流顶部出现。可以就文章中特定内容发问,也可以设置一个讨论问题,等等。" + hours: "小时" + include_comment_stream: "开启评论流描述" + include_comment_stream_desc: "填写将在评论流顶部出现的描述。可以写评论主题、社群指引方针,等等。" + include_text: "此处输入文本。" + include_question_here: "此处输入问题:" + moderate: "审查" + moderation_settings: "审查设定" + open: "开启" + open_stream: "开启流" + open_stream_configuration: "该评论流目前开启。关闭该评论流后,新评论将无法被提交,但先前的评论仍将被展示。" + require_email_verification: "需要邮件确认" + require_email_verification_text: "新用户必须确认邮箱后才能评论" + save_changes: "保存更改" + shortcuts: "快捷方式" + sign_out: "登出" + stories: "故事" + stream_settings: "流设定" + suspect_word_title: "怀疑词汇表" + suspect_word_text: "包含这些词汇或词组的评论(不分大小写)将不会被精选出来。要添加词汇,请输入一个词汇,按下回车键或 Tab 键。或者您也可以粘贴一个以英文逗号分隔的列表。" + tech_settings: "技术设定" + title: "配置评论流" + weeks: "周" + wordlist: "被禁词汇" + continue: "继续" + createdisplay: + check_the_form: "表格无效。请检查字段。" + continue: "使用 Facebook 用户名" + error_create: "更改用户名时发生了错误" + fake_comment_body: "此为评论样例。读者可以在评论部分中分享他们关于新闻编辑室的想法和意见。" + fake_comment_date: "1 分钟前" + if_you_dont_change_your_name: "若您不在此改变用户名,您的 Facebook 用户名将随您的评论一同出现。" + required_field: "必填字段" + save: "保存" + special_characters: "用户名只能包含字母、数字跟下划线" + username: "用户名" + write_your_username: "编辑您的用户名" + your_username: "您的用户名将随您发表的所有评论一同出现。" + done: "完成" + edit_comment: + body_input_label: "编辑该评论" + save_button: "保存更改" + edit_window_expired: "已超过时间限制,您不再能够编辑该评论。不如再发表个评论?" + edit_window_expired_close: "关闭" + edit_window_timer_prefix: "编辑时间限制:" + second: "秒" + seconds_plural: "秒" + minute: "分钟" + minutes_plural: "分钟" + email: + suspended: + subject: "您的帐号已被停用" + banned: + subject: "您的帐号已被屏蔽" + body: "根据社群指引方针,您的帐号已被屏蔽。您不再可以发表评论、举报,或者参与社群。" + confirm: + has_been_requested: "下述帐号已申请邮箱验证:" + to_confirm: "要确认帐号,请访问下述链接:" + confirm_email: "确认邮箱" + if_you_did_not: "若您没有申请这封邮件,您可以忽略本邮件。" + subject: "确认邮箱" + password_reset: + we_received_a_request: "我们收到了重置密码的请求。若您没有申请重置密码,您可以忽略本邮件。" + if_you_did: "若您曾申请," + please_click: "请点击此处重置密码" + embedlink: + copy: "复制到粘贴板" + error: + COMMENT_TOO_SHORT: "评论至少应有一个字符。请修改您的评论,再度尝试。" + NOT_AUTHORIZED: "您没有权限进行该操作" + NO_SPECIAL_CHARACTERS: "用户名只能包含字母、数字跟下划线" + PASSWORD_LENGTH: "密码太短" + PROFANITY_ERROR: "用户名不能包含污言秽语。如果您确信判断有误,请联系管理员。" + RATE_LIMIT_EXCEEDED: "超出频率限制" + USERNAME_IN_USE: "用户名已被使用" + USERNAME_REQUIRED: "必须输入用户名" + EMAIL_NOT_VERIFIED: "邮箱地址未验证" + EDIT_WINDOW_ENDED: "已超过时间限制,您不再能够编辑该评论。" + EDIT_USERNAME_NOT_AUTHORIZED: "您没有权限更改用户名。" + SAME_USERNAME_PROVIDED: "提交的用户名须有改变。" + EMAIL_IN_USE: "邮箱地址已被使用" + EMAIL_REQUIRED: "需要邮箱地址" + LOGIN_MAXIMUM_EXCEEDED: "登陆失败次数过多。请等待。" + PASSWORD_REQUIRED: "必须输入密码" + COMMENTING_CLOSED: "评论已被关闭" + NOT_FOUND: "找不到资源" + ALREADY_EXISTS: "资源已存在" + INVALID_ASSET_URL: "组件地址无效" + CANNOT_IGNORE_STAFF: "不能忽略管理人员。" + email: "非有效邮箱" + confirm_password: "密码不匹配。请检查" + network_error: "无法连接到服务器。请检查互联网连接后重试" + email_not_verified: "邮箱地址 {0} 未经验证。" + email_password: "邮箱与密码的组合错误。" + organization_name: "组织名只能包含字母或数字。" + password: "密码长度须至少为 8 字符" + username: "用户名只能包含字母、数字跟下划线" + unexpected: "发生了异常错误。对不起!" + flag_comment: "举报评论" + flag_reason: "举报理由(可选)" + flag_username: "举报用户名" + framework: + banned_account_header: "您的帐号目前已被屏蔽" + banned_account_body: "这意味着您不能喜欢、举报,或者填写评论。" + comment: "评论" + comment_is_ignored: "该评论已被隐藏,因为您忽略了此用户。" + comment_is_rejected: "您已拒绝该评论。" + comment_is_hidden: "该评论不可用" + comments: "评论" + configure_stream: "配置" + content_not_available: "该内容不可用" + edit_name: + button: "提交" + error: "用户名只能包含字母、数字跟下划线" + label: "新用户名" + msg: "因为您的用户名不恰当,您的帐号目前已被屏蔽。要恢复,请输入新用户名。若您有任何问题,请联系我们。" + my_comments: "我的评论" + my_profile: "我的资料" + new_count: "查看 {0} 更多 {1}" + profile: "我" + show_all_comments: "显示所有评论" + success_bio_update: "您的简介已更新" + success_name_update: "您的用户名已更新" + success_update_settings: "你所做的更改已在这篇文章的评论流中应用" + show_all_replies: "显示所有回复" + show_more_replies: "显示更多回复" + view_more_comments: "查看更多评论" + view_reply: "查看回复" + from_settings_page: "您可在资料页面查看您的评论历史。" + like: "喜欢" + loading_results: "加载结果中" + marketing: "这看起来像是广告" + moderate_this_stream: "审查该流" + modqueue: + account: "帐号举报" + actions: "动作" + all: "全部" + all_streams: "全部流" + notify_edited: '{0} 编辑了评论 "{1}"' + notify_accepted: '{0} 接受了评论 "{1}"' + notify_rejected: '{0} 拒绝了评论 "{1}"' + notify_flagged: '{0} 举报了评论 "{1}"' + notify_reset: '{0} 重置了评论 "{1}" 的状态' + approve: "接受" + approved: "已接受" + ban_user: "屏蔽" + billion: "十亿" + close: "关闭" + empty_queue: "没有新评论了!你太投入了。喝点 ☕️ 吧。" + flagged: "已举报" + reported: "被报告" + less_detail: "收起细节" + likes: "喜欢" + million: "百万" + mod_faster: "使用键盘快捷键审查更快" + moderate: "审查该流 →" + more_detail: "更多细节" + new: "新评论" + newest_first: "最新在前" + navigation: "导航" + next_comment: "下一个评论" + toggle_search: "开启搜索" + next_queue: "切换队列" + oldest_first: "最旧在前" + premod: "预审" + prev_comment: "上一个评论" + reject: "拒绝" + rejected: "已拒绝" + reply: "回复" + select_stream: "选择流" + shift_key: "⇧" + shortcuts: "快捷键" + sort: "排序" + show_shortcuts: "显示快捷键" + singleview: "展开单评论编辑视图" + thismenu: "开启该菜单" + jump_to_queue: "跳转到特定序列" + thousand: "千" + try_these: "试试这些" + view_more_shortcuts: "查看更多快捷键" + my_comment_history: "我的评论历史" + name: "名称" + no_agree_comment: "我不同意该评论" + no_like_bio: "我不喜欢这个简介" + no_like_username: "我不喜欢这个用户名" + other: "其他" + permalink: "分享" + personal_info: "这个评论透露了可确定个人身份的信息" + post: "发表" + profile: "资料" + profile_settings: "资料设定" + reply: "回复" + report: "报告" + report_notif: "感谢您报告该评论。我们的管理团队已接到提醒,将马上查看。" + report_notif_remove: "您的报告已移除。" + reported: "已报告" + settings: + from_settings_page: "您可在资料页面查看您的评论历史。" + my_comment_history: "我的评论历史" + profile: "资料" + profile_settings: "资料设定" + sign_in: "登入" + to_access: "以查看资料" + user_no_comment: "您未曾发表评论。现在就来加入对话吧!" + stream: + all_comments: "所有评论" + temporarily_suspended: "根据 {0} 的社群指引方针,您的帐号已被暂时停用。请稍后加入对话 {1}。" + comment_not_found: "未找到评论" + no_comments: "还没有评论,不如你写个?" + no_comments_and_closed: "该文章没有评论。" + step_1_header: "报告问题" + step_2_header: "帮助我们了解" + step_3_header: "感谢您的反馈" + streams: + all: "全部" + article: "故事" + closed: "关闭" + empty_result: "没有组件与搜索请求匹配。试试加大您的搜索范围?" + filter_streams: "过滤方式" + newest: "最新在前" + oldest: "最旧在前" + open: "开启" + pubdate: "发表日期" + search: "搜索" + sort_by: "排序方式" + status: "流状态" + stream_status: "流状态" + suspenduser: + title_suspend: "停用用户" + description_suspend: "您将停用 {0}。该评论将会转移到被拒绝队列中。在停用期结束前,{0} 不能喜欢、报告、回复或发表。" + select_duration: "选择停用期" + one_hour: "1 小时" + hours: "{0} 小时" + days: "{0} 日" + cancel: "取消" + suspend_user: "停用用户" + email_message_suspend: "尊敬的 {0},\n\n根据 {1} 的社群指引方针,您的帐号已被暂时停用。停用期内您无法评论、举报,或与其他评论者互动。请稍后加入对话 {2}。" + title_notify: "提醒用户帐号被停用" + notify_suspend_until: "用户 {0} 已被暂时停用。 将在 {1} 后自动恢复。" + description_notify: "停用该用户将暂时禁用用户的帐号。" + write_message: "填写信息" + send: "发送" + reject_username: + username: "用户名" + no_cancel: "不要取消" + description_reject: "您要因为 {0} 暂时停用该用户吗?这将持续到用户更改 {0}。" + title_notify: "提醒用户帐号被停用" + description_notify: "停用该用户将暂时禁用用户的帐号。" + title_reject: "我们留意到您拒绝了个用户名" + suspend_user: "停用用户" + yes_suspend: "确定停用" + email_message_reject: "社群中的另一位成员举报了您的用户名。因为用户名的内容,您的帐号被拒绝。在你更改用户名前,你不能评论、喜欢或举报内容。若有任何问题或疑虑,请联络我们。" + write_message: "填写信息" + send: "发送" + thank_you: "我们重视您的安全和反馈,将有管理人员来查看您的举报。" + user: + bio_flags: "对简介的举报" + user_bio: "用户简介" + username_flags: "对用户名的举报" + user_impersonating: "冒名用户" + user_no_comment: "您未曾发表评论。现在就来加入对话吧!" + username_offensive: "用户名有冒犯性" + view_conversation: "查看对话" + install: + initial: + description: "让我们用几步来快速安装好您的 Talk 社群。" + submit: "开始" + add_organization: + description: "请告诉我们您组织的名字。这将会在邀请新成员的邮件中出现。" + label: "组织名" + save: "保存" + create: + email: "邮箱地址" + username: "用户名" + password: "密码" + confirm_password: "确认密码" + save: "保存" + permitted_domains: + title: "被许可域名" + description: "输入许可使用 Talk 的域名,如您的本地环境、测试环境、生产环境(如 localhost:3000、staging.domain.com、domain.com)。" + submit: "完成安装" + final: + description: "感谢您安装 Talk!我们已向您的邮箱发送一封验证邮件。当您进行帐号设置时,您可以开始跟您的读者开始互动。" + launch: "启动 Talk" + close: "关闭安装程序" diff --git a/locales/zh_TW.yml b/locales/zh_TW.yml new file mode 100644 index 000000000..638796ba1 --- /dev/null +++ b/locales/zh_TW.yml @@ -0,0 +1,403 @@ +zh_TW: + your_account_has_been_suspended: 您的賬戶已被暫停使用。 + your_account_has_been_banned: 您的賬戶已被註銷。 + your_username_has_been_rejected: 您的帳戶已被暫停使用,由於您的用戶名不符合要求。 想要恢覆您的帳戶,請輸入一個新的用戶名。 + embed_comments_tab: 評論 + bandialog: + are_you_sure: "你確定要屏蔽{0}嗎?" + ban_user: "確定屏蔽該用戶?" + banned_user: "該用戶已被屏蔽" + cancel: "取消" + note: "標註:{0}" + note_reject_comment: "屏蔽該用戶及其評論" + note_ban_user: "禁止該用戶編輯或刪除評論" + yes_ban_user: "確定屏蔽該用戶" + bio_offensive: "這一用戶違規" + cancel: "取消" + characters_remaining: "剩余字符" + comment: + anon: "匿名用戶" + undo_reject: "撤銷" + ban_user: "屏蔽該用戶" + comment: "發表評論" + edited: 編輯 + flagged: "已標記" + view_context: "查看全文" + comment_box: + post: "發布" + cancel: "取消" + reply: "回覆" + comment: "發表評論" + name: "姓名" + comment_post_notif: "您的評論已發布" + comment_post_notif_premod: "感謝您的評論。我們的審核團隊將盡快審核您的評論。" + comment_post_banned_word: "由於您的評論包含至少一個禁用詞語,評論發布失敗。如對此有疑問,請聯系我們的審核團隊。" + characters_remaining: "剩余字符" + comment_offensive: "該評論包含侮辱性詞語" + comment_singular: 評論 + comment_plural: 評論流 + comment_post_banned_word: "由於您的評論包含至少一個禁用詞語,評論發布失敗。如對此有疑問,請聯系我們的審核團隊。" + comment_post_notif: "您的評論已發布" + comment_post_notif_premod: "感謝您的評論。我們的審核團隊將盡快審核您的評論。" + common: + copy: '覆制' + error: '出錯了' + reply: '回覆' + replies: '回覆' + reaction: '回應' + reactions: '回應' + story: '故事' + community: + account_creation_date: "賬戶創建日期" + active: 活躍用戶 + admin: 管理員 + ads_marketing: "看上去像廣告/營銷" + are_you_sure: "您確定您要屏蔽{0}?" + ban_user: "確認屏蔽該用戶嗎?" + banned: 被屏蔽 + banned_user: "被屏蔽用戶" + cancel: 取消 + dont_like_username: "踩用戶名" + flaggedaccounts: "舉報該用戶名" + flags: 標記 + impersonating: "冒充" + loading: "正在加載" + moderator: 版主 + newsroom_role: "新聞編輯室身份" + no_flagged_accounts: "舉報用戶名列表為空" + no_results: "沒有發現使用該用戶名或郵箱的用戶。他們藏起來了!" + offensive: "違規" + other: 其他 + people: 聯系人 + role: "選擇身份..." + select_status: "選擇狀態..." + spam_ads: "垃圾郵件/廣告" + staff: "管理員" + status: 狀態 + username_and_email: "用戶名和郵箱地址" + yes_ban_user: "同意屏蔽該用戶" + none: "無" + configure: + apply: 應用 + banned_word_text: "包含以下單詞或短語(不區分大小寫)的評論將自動從評論流移除。 輸入一個單詞,然後按Enter或Tab鍵添加,可根據需要粘貼逗號分隔的列表。" + banned_words_title: "屏蔽詞列表" + close: "關閉" + close_after: "稍後關閉評論" + close_stream: "關閉評論" + close_stream_configuration: "評論流現已關閉。打開評論可提交並顯示新的評論。" + closed_comments_desc: "當您的評論流關閉時,留言仍會顯示在評論流,但是其他人將無法評論" + closed_comments_label: "留言" + closed_stream_settings: "關閉私信" + comment_count_error: "請輸入一個有效數字" + comment_count_header: "評論長度限制" + comment_count_text_post: characters + comment_count_text_pre: "評論將被限制在" + comment_settings: 設置 + comment_stream: "評論流" + comment_stream_will_close: "關閉評論" + community: 社區 + configure: 配置 + copy_and_paste: "將以下代碼覆制並粘貼到您的CMS中,可以將您的評論框加入到文章中" + custom_css_url: "自定義CSS網址" + custom_css_url_desc: "CSS風格的網址將覆蓋默認的評論流風格,包括內部和外部" + days: 日 + description: "您作為管理員有權限自定義此故事評論流的設置:" + domain_list_text: "輸入您允許Talk使用的域名,例如您的本地環境,模擬環境和生產環境(例如localhost:3000,staging.domain.com,domain.com)。" + domain_list_title: "允許的域名" + edit_comment_timeframe_heading: "編輯評論時間範圍" + edit_comment_timeframe_text_pre: "評論員將享受" + edit_comment_timeframe_text_post: "幾秒鐘編輯評論" + embed_comment_stream: "加入評論流" + enable_premod_links_text: "任何包含鏈接的評論必須經過版主審核後才能發布" + enable_pre_moderation: "啟用預審" + enable_pre_moderation_text: "任何評論必須經過版主審核後才能發布" + enable_premod_links: "預審包含鏈接的評論" + enable_premod: "啟用預審" + enable_premod_description: "任何評論必須經過版主審核後才能發布" + enable_premod_links_description: "任何包含鏈接的評論必須經過版主審核後才能發布" + enable_questionbox: "向讀者提問" + enable_questionbox_description: "該問題將會在評論流置頂。您可以詢問其他讀者有關文章中的具體時間或是提出討論等" + hours: 小時 + include_comment_stream: "包含讀者的評論流描述" + include_comment_stream_desc: "留言將在您的評論流中置頂。發布一個社區規則等" + include_text: "在此插入您的文本" + include_question_here: "請在此處輸入問題" + moderate: 審核 + moderation_settings: "審核設置" + open: "開啟" + open_stream: "打開評論流" + open_stream_configuration: "評論流現已打開。評論流關閉後其他用戶將無法提交新的評論,但舊評論仍將顯示在評論流中" + require_email_verification: "需要驗證郵箱" + require_email_verification_text: "新用戶必須驗證郵箱後才能評論" + save_changes: "保存更改" + shortcuts: 快捷鍵 + sign_out: "註銷" + stories: 故事 + stream_settings: "評論流設定" + suspect_word_title: "敏感詞列表" + suspect_word_text: "包含以下單詞或短語(不區分大小寫)的評論將自動從評論流移除。 輸入一個單詞,然後按Enter或Tab鍵添加,可根據需要粘貼逗號分隔的列表。" + tech_settings: "技術設置" + title: "評論流設置" + weeks: 周 + wordlist: "屏蔽詞語" + continue: "繼續" + createdisplay: + check_the_form: "表單無效,請重新檢查字段" + continue: "使用相同的facebook用戶名" + error_create: "更改用戶名時出現錯誤" + fake_comment_body: "這是一個評論示例。 讀者可以在新聞工作室的評論區分享想法和意見。" + fake_comment_date: "1分鐘前" + if_you_dont_change_your_name: "如果您當前沒有更改您的用戶名,您的Facebook將在您的所有評論旁邊顯示該用戶名。" + required_field: "必填選項" + save: 保存 + special_characters: "用戶名只能包含字母、數字和_" + username: 用戶名 + write_your_username: "編輯您的用戶名" + your_username: "您的每條評論均會顯示您的用戶名。" + done: 完成 + edit_comment: + body_input_label: "編輯評論" + save_button: "保存更改" + edit_window_expired: "您無法編輯該評論,頁面已過期。為什麽不發表另一條評論呢?" + edit_window_expired_close: "關閉" + edit_window_timer_prefix: "編輯窗口 " + second: "秒" + seconds_plural: "秒" + minute: "分鐘" + minutes_plural: "分鐘" + email: + suspended: + subject: "您的賬戶已被暫停使用" + banned: + subject: "您的賬戶已被註銷" + body: "根據Coral項目使用準則, 您的賬戶已被禁用。您已不再可以評論, 標記或是參與社區活動。" + confirm: + has_been_requested: "請求確認以下賬戶的郵箱" + to_confirm: "為確認該賬戶,請點擊下方鏈接" + confirm_email: "確認郵箱" + if_you_did_not: "如果您並未發送該請求,請忽略此郵件" + subject: "郵件確認" + password_reset: + we_received_a_request: "我們收到了重置密碼的請求。如果您並未請求更改,請忽略該郵件。" + if_you_did: "如果您執行該操作" + please_click: "請點擊此處重置密碼" + embedlink: + copy: "覆制到剪貼板" + error: + COMMENT_TOO_SHORT: "評論必須超過一個字符,請您修改後重試" + NOT_AUTHORIZED: "您無權執行該操作" + NO_SPECIAL_CHARACTERS: "用戶名只能包含字母、數字和_" + PASSWORD_LENGTH: "密碼未達到規定長度" + PROFANITY_ERROR: "用戶名不得包含侮辱性詞匯。如果您對此有疑問,請聯系管理員。" + RATE_LIMIT_EXCEEDED: "評論數超過上限" + USERNAME_IN_USE: "該用戶名已被占用" + USERNAME_REQUIRED: "必須輸入用戶名" + EMAIL_NOT_VERIFIED: "郵箱地址未驗證" + EDIT_WINDOW_ENDED: "您無法編輯該評論,頁面已過期" + EDIT_USERNAME_NOT_AUTHORIZED: "您無權更新您的用戶名" + SAME_USERNAME_PROVIDED: "您必須提交未使用過的用戶名" + EMAIL_IN_USE: "電子郵件地址已被占用" + EMAIL_REQUIRED: "需要輸入電子郵件地址" + LOGIN_MAXIMUM_EXCEEDED: "您輸入了太多次不正確的密碼。請稍候。" + PASSWORD_REQUIRED: "必須輸入密碼" + COMMENTING_CLOSED: "評論已關閉" + NOT_FOUND: "未找到資源" + ALREADY_EXISTS: "資源已存在" + INVALID_ASSET_URL: "網址無效" + CANNOT_IGNORE_STAFF: "不能屏蔽員工。" + email: "電子郵件地址無效" + confirm_password: "密碼不匹配。請再檢查一次" + network_error: "無法連接服務器。請檢查您的互聯網連接,然後重試。" + email_not_verified: "電子郵件地址{0}未經驗證。" + email_password: "電子郵件和/或密碼的組合不正確。" + organization_name: "組織的名稱只能包含字母或數字。" + password: "密碼必須至少8個字符" + username: "用戶名只能包含字母、數字和_" + unexpected: "發生了意外的錯誤。抱歉!" + flag_comment: "舉報評論" + flag_reason: "舉報原因(可選)" + flag_username: "舉報用戶名" + framework: + banned_account_header: "您的帳戶目前已被禁用。" + banned_account_body: "這意味著您不能點讚,舉報或評論。" + comment: 評論 + comment_is_ignored: "由於您屏蔽了該用戶,這個評論被隱藏。" + comment_is_rejected: "你已拒絕了該評論。" + comment_is_hidden: "此評論無效。" + comments: 評論 + configure_stream: "配置" + content_not_available: "此內容不可用" + edit_name: + button: 提交 + error: "用戶名只能包含字母數字和_" + label: "新用戶名" + msg: "由於您的用戶名不當,您的帳號目前已被暫停使用。如要恢覆您的帳戶,請輸入一個新的用戶名。如有任何疑問,請您聯系我們。" + my_comments: "我的評論" + my_profile: "我的概況" + new_count: "查看{0}更多{1}" + profile: 概況 + show_all_comments: "顯示全部評論" + success_bio_update: "你的個人簡介已更新" + success_name_update: "您的用戶名已更新" + success_update_settings: "您的更改已被應用於本文的評論流" + show_all_replies: 顯示全部回覆 + show_more_replies: 顯示更多回覆 + view_more_comments: "查看更多評論" + view_reply: "查看回覆" + from_settings_page: "您可以在概況頁面看到您的評論歷史記錄。" + like: 讚 + loading_results: "加載結果" + marketing: "這看起來像是廣告/營銷" + moderate_this_stream: "審核這個流" + modqueue: + account: "帳戶標記" + actions: 操作 + all: 所有 + all_streams: "所有流" + notify_edited: '{0}編輯了評論“{1}”' + notify_accepted: '{0}接受了評論“{1}”' + notify_rejected: '{0}拒絕了評論“{1}”' + notify_flagged: '{0}標記了評論“{1}”' + notify_reset: '{0}重置了評論“{1}”的狀態' + approve: "批準" + approved: "已批準" + ban_user: "禁止" + billion: 十億 + close: 關 + empty_queue: "沒有更多需要審核的評論啦。您已處理完所有,來杯☕️吧!" + flagged: 已標記 + reported: 已舉報 + less_detail: "收起" + likes: 讚 + million: 百萬 + mod_faster: "使用鍵盤快捷鍵,加快審核速度" + moderate: "審核 →" + more_detail: "展開" + new: 新 + newest_first: "最新評論優先" + navigation: 導航 + next_comment: "轉到下一個評論" + toggle_search: "打開搜索" + next_queue: "切換隊列" + oldest_first: "最早評論優先" + premod: 預審核 + prev_comment: "轉到之前的評論" + reject: "拒絕" + rejected: "已拒絕" + reply: "回覆" + select_stream: "選擇流" + shift_key: "⇧" + shortcuts: "快捷鍵" + sort: "分類" + show_shortcuts: "顯示快捷鍵" + singleview: "切換單個評論編輯視圖" + thismenu: "打開這個菜單" + jump_to_queue: "跳轉到特定隊列" + thousand: 千 + try_these: "試試這些" + view_more_shortcuts: "查看更多快捷方式" + my_comment_history: "我的評論歷史" + name: 名稱 + no_agree_comment: "我不同意這個評論" + no_like_bio: "我不喜歡這個個人簡介" + no_like_username: "我不喜歡這個用戶名" + other: 其他 + permalink: Share + personal_info: "這個評論泄露了個人身份信息" + post: 帖子 + profile: 概況 + profile_settings: "概況設置" + reply: 回覆 + report: 舉報 + report_notif: "感謝您舉報此評論。我們的審核小組已經收到通知,並會很快給予審查。" + report_notif_remove: "您的舉報已刪除。" + reported: 已舉報 + settings: + from_settings_page: "您可以在概況頁面看到您的評論歷史記錄。" + my_comment_history: "我的評論歷史" + profile: 概況 + profile_settings: "概況設置" + sign_in: "登陸" + to_access: "訪問概況" + user_no_comment: "您尚未評論。加入對話吧!" + stream: + all_comments: "全部評論" + temporarily_suspended: "根據{0}的社區準則,您的帳戶已被暫停。請重新加入對話{1}。" + comment_not_found: "未發現評論" + no_comments: "暫時還沒有評論,何不寫條評論呢?" + no_comments_and_closed: "這篇文章沒有評論。" + step_1_header: "舉報問題" + step_2_header: "幫助我們理解" + step_3_header: "謝謝您的參與" + streams: + all: 全部 + article: 故事 + closed: 已關閉 + empty_result: "沒有資產符合該搜索。試試擴大您的搜索?" + filter_streams: "過濾流" + newest: 最新 + oldest: 最早 + open: 打開 + pubdate: "發布日期" + search: 搜索 + sort_by: "排序方式" + status: "流狀態" + stream_status: "流狀態" + suspenduser: + title_suspend: "暫停用戶" + description_suspend: "您正在暫停{0}。此評論將進入拒絕隊列。直到暫停時間結束,{0}該評論才將允許被點讚,舉報,回覆或發布。" + select_duration: "選擇暫停期限" + one_hour: "1 hour" + hours: "{0} hours" + days: "{0} days" + cancel: "Cancel" + suspend_user: "暫停用戶" + email_message_suspend: "親愛的{0},\n\n根據{1}的社區準則,您的賬戶被暫停使用。在禁用期間, 您不能夠評論,標記或是與其他用戶互動。請在{2}重新加入對話。" + title_notify: "通知用戶他們的賬戶暫時中止" + notify_suspend_until: "用戶{0}已暫時中止。該暫停將自動結束{1}。" + description_notify: "暫停此用戶,其帳戶將被暫時禁用。" + write_message: "寫信息" + send: 發送 + reject_username: + username: 用戶名 + no_cancel: "不取消" + description_reject: "你想由於他們的{0}暫時禁止此用戶嗎?這樣做會暫時中止這個用戶,直到他們重寫{0}。" + title_notify: "通知用戶他們的賬戶暫時中止" + description_notify: "暫停此用戶,其帳戶將被暫時禁用。" + title_reject: "我們註意到您拒絕了一個用戶名" + suspend_user: "暫停用戶" + yes_suspend: "是,暫停" + email_message_reject: "另一位社區成員最近標記了您的用戶名以供審核。由於您的用戶名內容,您的用戶名被拒絕了。這意味著除非您重新輸入用戶名,您將不能再評論,點讚或標記內容。如果您有任何疑問或顧慮,請發郵件給我們。" + write_message: "寫信息" + send: 發送 + thank_you: "我們重視您的安全和您的反饋。一位審核員將審閱您的舉報。" + user: + bio_flags: "該簡介的標記" + user_bio: "用戶簡介" + username_flags: "該用戶名的標記" + user_impersonating: "此用戶正在仿冒" + user_no_comment: "您尚未評論過。加入對話吧!" + username_offensive: "這個用戶名有冒犯性" + view_conversation: "查看對話" + install: + initial: + description: "讓我們通過幾個簡單的步驟設置您的Talk社區。" + submit: "開始使用" + add_organization: + description: "請告訴我們您的組織名稱。在邀請新團隊成員時,這一信息將在郵件中出現。" + label: "機構名稱" + save: "保存" + create: + email: "電子郵件地址" + username: "用戶名" + password: "密碼" + confirm_password: "確認密碼" + save: "保存" + permitted_domains: + title: "允許的域名" + description: "輸入您允許Talk使用的域名,例如您的本地環境,模擬環境和生產環境(例如localhost:3000,staging.domain.com,domain.com)。" + submit: "完成安裝" + final: + description: "感謝安裝Talk!我們給您發送了一封郵件以驗證您的電子郵件地址。在完成帳戶設置後,您即可開始與您的讀者互動。" + launch: "啟動Talk" + close: "關閉安裝程序" diff --git a/nightwatch-browserstack.conf.js b/nightwatch-browserstack.conf.js index f31580988..567d5e1f4 100644 --- a/nightwatch-browserstack.conf.js +++ b/nightwatch-browserstack.conf.js @@ -54,23 +54,19 @@ const nightwatch_config = { }, safari: { desiredCapabilities: { - - // Safari since 8 seems to have troubles with the browserstack-local tunnel (10.18.17) browser: 'safari', - browser_version: '10', + browser_version: '11', }, }, + + // The x64 bit IEDriver that is used by IE 11 has a known issue with sendKeys where + // it may enter incorrect keys (shift + key). ie: { desiredCapabilities: { browser: 'internet explorer', os: 'Windows', os_version: '10', browser_version: '11', - - // The x64 bit IEDriver that is used by IE 11 has a known issue with sendKeys where - // it may enter incorrect keys (shift + key). - // This adds a delay for each character as temporary fix as advised from the browserstack support. - 'browserstack.customSendKeys': 800, }, }, edge: { diff --git a/package.json b/package.json index 9f53a102f..b1889158b 100644 --- a/package.json +++ b/package.json @@ -199,6 +199,7 @@ "eslint": "^4.5.0", "eslint-plugin-mocha": "^4.11.0", "identity-obj-proxy": "^3.0.0", + "ip": "^1.1.5", "jest": "^21.2.1", "mocha": "^3.1.2", "mocha-junit-reporter": "^1.12.1", diff --git a/plugins/talk-plugin-auth/client/translations.yml b/plugins/talk-plugin-auth/client/translations.yml index f410ec2d3..34227c435 100644 --- a/plugins/talk-plugin-auth/client/translations.yml +++ b/plugins/talk-plugin-auth/client/translations.yml @@ -133,3 +133,91 @@ fr: username: "Nom d'utilisateur" write_your_username: "Modifier votre nom d'utilisateur" your_username: "Votre nom d'utilisateur apparaît sur chaque commentaire que vous publiez." +zh_CN: + sign_in: + email_verify_cta: "请确认您的邮箱地址。" + request_new_verify_email: "请求再次发送邮件" + verify_email: "感谢您创建帐号。我们已向您提供的地址发送了封邮件,您可以通过邮件验证帐号。" + verify_email2: "您参与社群前须验证帐号。" + not_you: "不是你?" + logged_in_as: "登陆身份" + facebook_sign_in: "使用 Facebook 帐号" + facebook_sign_up: "使用 Facebook 帐号" + logout: "登出" + sign_in: "登入" + sign_in_to_join: "登入以加入对话" + or: "或" + email: "邮箱地址" + password: "密码" + forgot_your_pass: "忘记密码?" + need_an_account: "需要帐号?" + register: "注册" + sign_up: "注册" + confirm_password: "确认密码" + username: "用户名" + already_have_an_account: "已有帐号?" + recover_password: "恢复密码" + email_in_use: "邮箱地址已被使用" + email_or_username_in_use: "邮箱地址或用户名已被使用" + required_field: "该字段必填" + passwords_dont_match: "密码不匹配。" + special_characters: "用户名只能包含字母、数字跟下划线" + sign_in_to_comment: "登入以评论" + check_the_form: "表格无效。请检查字段。" + createdisplay: + check_the_form: "表格无效。请检查字段。" + continue: "使用 Facebook 用户名" + error_create: "更改用户名时发生了错误" + fake_comment_body: "此为评论样例。读者可以在评论部分中分享他们关于新闻编辑室的想法和意见。" + fake_comment_date: "1 分钟前" + if_you_dont_change_your_name: "若您不在此改变用户名,您的 Facebook 用户名将随您的评论一同出现。" + required_field: "必填字段" + save: "保存" + special_characters: "用户名只能包含字母、数字跟下划线" + username: "用户名" + write_your_username: "编辑您的用户名" + your_username: "您的用户名将随您发表的所有评论一同出现。" +zh_TW: + sign_in: + email_verify_cta: "請確認您的郵箱地址。" + request_new_verify_email: "請求再次發送郵件" + verify_email: "感謝您創建帳號。我們已向您提供的地址發送了封郵件,您可以通過郵件驗證帳號。" + verify_email2: "您參與社群前須驗證帳號。" + not_you: "不是你?" + logged_in_as: "登陸身份" + facebook_sign_in: "使用 Facebook 帳號" + facebook_sign_up: "使用 Facebook 帳號" + logout: "登出" + sign_in: "登入" + sign_in_to_join: "登入以加入對話" + or: "或" + email: "郵箱地址" + password: "密碼" + forgot_your_pass: "忘記密碼?" + need_an_account: "需要帳號?" + register: "註冊" + sign_up: "註冊" + confirm_password: "確認密碼" + username: "用戶名" + already_have_an_account: "已有帳號?" + recover_password: "恢覆密碼" + email_in_use: "郵箱地址已被使用" + email_or_username_in_use: "郵箱地址或用戶名已被使用" + required_field: "該字段必填" + passwords_dont_match: "密碼不匹配。" + special_characters: "用戶名只能包含字母、數字跟下劃線" + sign_in_to_comment: "登入以評論" + check_the_form: "表格無效。請檢查字段。" + createdisplay: + check_the_form: "表格無效。請檢查字段。" + continue: "使用 Facebook 用戶名" + error_create: "更改用戶名時發生了錯誤" + fake_comment_body: "此為評論樣例。讀者可以在評論部分中分享他們關於新聞編輯室的想法和意見。" + fake_comment_date: "1 分鐘前" + if_you_dont_change_your_name: "若您不在此改變用戶名,您的 Facebook 用戶名將隨您的評論一同出現。" + required_field: "必填字段" + save: "保存" + special_characters: "用戶名只能包含字母、數字跟下劃線" + username: "用戶名" + write_your_username: "編輯您的用戶名" + your_username: "您的用戶名將隨您發表的所有評論一同出現。" \ No newline at end of file diff --git a/plugins/talk-plugin-author-menu/client/translations.yml b/plugins/talk-plugin-author-menu/client/translations.yml index adac91ad4..f0e750842 100644 --- a/plugins/talk-plugin-author-menu/client/translations.yml +++ b/plugins/talk-plugin-author-menu/client/translations.yml @@ -2,3 +2,5 @@ en: talk-plugin-author-menu: es: talk-plugin-author-menu: +zh_CN: + talk-plugin-author-menu: diff --git a/plugins/talk-plugin-featured-comments/client/translations.yml b/plugins/talk-plugin-featured-comments/client/translations.yml index 460a76be9..657875815 100644 --- a/plugins/talk-plugin-featured-comments/client/translations.yml +++ b/plugins/talk-plugin-featured-comments/client/translations.yml @@ -24,4 +24,34 @@ es: feature_comment: Destacar comentario? are_you_sure: Está seguro que desea destacar este comentario? cancel: Cancelar - yes_feature_comment: Si, destacar comentario \ No newline at end of file + yes_feature_comment: Si, destacar comentario +zh_CN: + talk-plugin-featured-comments: + un_feature: "取消精选" + feature: "精选" + featured: "精选评论" + featured_comments: "精选评论" + go_to_conversation: "跳转至对话" + tooltip_description: "我们团队认为值得一看的评论" + notify_self_featured: '已接受 {0} 的评论,并设为精选评论' + notify_featured: '{0} 接受了评论 "{1}",并将其设为精选评论' + notify_unfeatured: '{0} 将 "{1}" 从精选评论中撤下' + feature_comment: "设置为精选评论?" + are_you_sure: "您确定要将这个评论设置为精选评论?" + cancel: "取消" + yes_feature_comment: "确认精选" +zh_TW: + talk-plugin-featured-comments: + un_feature: "取消精選" + feature: "精選" + featured: "精選評論" + featured_comments: "精選評論" + go_to_conversation: "跳轉至對話" + tooltip_description: "我們團隊認為值得一看的評論" + notify_self_featured: '已接受 {0} 的評論,並設為精選評論' + notify_featured: '{0} 接受了評論 "{1}",並將其設為精選評論' + notify_unfeatured: '{0} 將 "{1}" 從精選評論中撤下' + feature_comment: "設置為精選評論?" + are_you_sure: "您確定要將這個評論設置為精選評論?" + cancel: "取消" + yes_feature_comment: "確認精選" \ No newline at end of file diff --git a/plugins/talk-plugin-flag-details/client/translations.yml b/plugins/talk-plugin-flag-details/client/translations.yml index 7f4e8d1b7..f978ca7ee 100644 --- a/plugins/talk-plugin-flag-details/client/translations.yml +++ b/plugins/talk-plugin-flag-details/client/translations.yml @@ -4,3 +4,9 @@ en: es: talk-plugin-flag-details: flags: Reportes +zh_CN: + talk-plugin-flag-details: + flags: "报告" +zh_TW: + talk-plugin-flag-details: + flags: 標記 diff --git a/plugins/talk-plugin-ignore-user/client/translations.yml b/plugins/talk-plugin-ignore-user/client/translations.yml index a6c051ada..4dc5968f2 100644 --- a/plugins/talk-plugin-ignore-user/client/translations.yml +++ b/plugins/talk-plugin-ignore-user/client/translations.yml @@ -23,3 +23,25 @@ pt_Br: section_title: "Usuários ignorados" section_info: "Porque você ignorou os seguintes comentadores, seus comentários estão ocultos." stop_ignoring: "Pare de ignorar" +zh_CN: + talk-plugin-ignore-user: + section_title: "被忽略用户" + section_info: "因为您忽略了下述评论者,他们的评论将会被隐藏。" + stop_ignoring: "停止忽略" + ignore_user: "忽略用户" + cancel: "取消" + confirmation: "当您忽略用户时,您将看不到该用户的所有评论。您可以在资料页面撤销此操作。" + notify_success: "您现在已忽略 {0}。您可以在资料页面撤销此操作。" + confirmation_title: "忽略 {0}?" +zh_TW: + talk-plugin-ignore-user: + section_title: 屏蔽用戶 + section_info: 因為您屏蔽了下列用戶,他們的評論已隱藏 + stop_ignoring: 取消屏蔽 + ignore_user: 屏蔽用戶 + cancel: 取消 + confirmation: | + 當您屏蔽一個用戶,系統將對您隱藏所有他們在本站得評論。您稍後可以在個人檔案中撤銷這個操作。 + notify_success: | + 您將屏蔽 {0}。 您可以在個人檔案中撤銷該操作。 + confirmation_title: 屏蔽 {0}? \ No newline at end of file diff --git a/plugins/talk-plugin-like/client/translations.yml b/plugins/talk-plugin-like/client/translations.yml index ce6fb3ad2..fb18c2d47 100644 --- a/plugins/talk-plugin-like/client/translations.yml +++ b/plugins/talk-plugin-like/client/translations.yml @@ -6,4 +6,11 @@ es: talk-plugin-like: like: Me Gusta liked: Me Gustó - +zh_CN: + talk-plugin-like: + like: "喜欢" + liked: "已喜欢" +zh_TW: + talk-plugin-like: + like: 讚 + liked: 已讚 \ No newline at end of file diff --git a/plugins/talk-plugin-love/client/translations.yml b/plugins/talk-plugin-love/client/translations.yml index a3b2e2589..0b4141412 100644 --- a/plugins/talk-plugin-love/client/translations.yml +++ b/plugins/talk-plugin-love/client/translations.yml @@ -6,4 +6,11 @@ es: talk-plugin-love: love: Amo loved: Amé - +zh_CN: + talk-plugin-love: + love: "爱" + loved: "已爱" +zh_TW: + talk-plugin-love: + love: 喜歡 + loved: 已喜歡 \ No newline at end of file diff --git a/plugins/talk-plugin-member-since/client/translations.yml b/plugins/talk-plugin-member-since/client/translations.yml index 1329974d7..364655bed 100644 --- a/plugins/talk-plugin-member-since/client/translations.yml +++ b/plugins/talk-plugin-member-since/client/translations.yml @@ -4,3 +4,9 @@ en: es: talk-plugin-member-since: member_since: "Miembro desde" +zh_CN: + talk-plugin-member-since: + member_since: "成员加入日期" +zh_TW: + talk-plugin-member-since: + member_since: "入會日期" \ No newline at end of file diff --git a/plugins/talk-plugin-moderation-actions/client/translations.yml b/plugins/talk-plugin-moderation-actions/client/translations.yml index 83fae6e4c..7c352e9a1 100644 --- a/plugins/talk-plugin-moderation-actions/client/translations.yml +++ b/plugins/talk-plugin-moderation-actions/client/translations.yml @@ -10,7 +10,7 @@ en: ban_user_dialog_cancel: "Cancel" ban_user_dialog_yes: "Yes. Ban user" ban_user_dialog_headline: "Ban User?" - + es: talk-plugin-moderation-actions: reject_comment: "Rechazar" @@ -22,4 +22,28 @@ es: ban_user_dialog_copy: "Nota: Baneando a este usuario pondrá el comentario en la cola de comentarios Rechazados." ban_user_dialog_cancel: "Cancelar" ban_user_dialog_yes: "Si. Banear usuario" - ban_user_dialog_headline: "Banear Usuario?" \ No newline at end of file + ban_user_dialog_headline: "Banear Usuario?" +zh_CN: + talk-plugin-moderation-actions: + reject_comment: "拒绝" + approve_comment: "接受" + approved_comment: "已接受" + moderation_actions: "审查操作" + ban_user: "屏蔽用户" + ban_user_dialog_sub: "您确定要屏蔽该用户吗?" + ban_user_dialog_copy: "注意:屏蔽该用户同时会将此评论置于被拒绝队列。" + ban_user_dialog_cancel: "取消" + ban_user_dialog_yes: "是,确定屏蔽" + ban_user_dialog_headline: "屏蔽用户?" +zh_TW: + talk-plugin-moderation-actions: + reject_comment: "拒絕" + approve_comment: "批准" + approved_comment: "已批准" + moderation_actions: "審核動作" + ban_user: "禁止用戶" + ban_user_dialog_sub: "您確定要禁止該用戶嗎?" + ban_user_dialog_copy: "注意: 禁止該用戶會同時將這條評論加入拒絕隊列。" + ban_user_dialog_cancel: "取消" + ban_user_dialog_yes: "是的。禁止用戶" + ban_user_dialog_headline: "禁止該用戶?" \ No newline at end of file diff --git a/plugins/talk-plugin-offtopic/client/translations.json b/plugins/talk-plugin-offtopic/client/translations.json index 895f513ad..d6a147e17 100644 --- a/plugins/talk-plugin-offtopic/client/translations.json +++ b/plugins/talk-plugin-offtopic/client/translations.json @@ -4,5 +4,11 @@ }, "es": { "off_topic": "Fuera de Topico" + }, + "zh_CN": { + "off_topic": "无关主题" + }, + "zh_TW": { + "off_topic": "無關主題" } } diff --git a/plugins/talk-plugin-respect/client/translations.yml b/plugins/talk-plugin-respect/client/translations.yml index 755fcfb54..959d469ec 100644 --- a/plugins/talk-plugin-respect/client/translations.yml +++ b/plugins/talk-plugin-respect/client/translations.yml @@ -6,4 +6,11 @@ es: talk-plugin-respect: respect: Respetar respected: Respetado - +zh_CN: + talk-plugin-respect: + respect: "尊重" + respected: "已尊重" +zh_TW: + talk-plugin-respect: + respect: 尊重 + respected: 已尊重 \ No newline at end of file diff --git a/plugins/talk-plugin-sort-most-liked/client/translations.yml b/plugins/talk-plugin-sort-most-liked/client/translations.yml index 836f96474..46c35b9db 100644 --- a/plugins/talk-plugin-sort-most-liked/client/translations.yml +++ b/plugins/talk-plugin-sort-most-liked/client/translations.yml @@ -3,3 +3,9 @@ en: label: Most liked first es: talk-plugin-sort-most-liked: +zh_CN: + talk-plugin-sort-most-liked: + label: "最被喜欢在前" +zh_TW: + talk-plugin-sort-most-liked: + label: 被讚最多優先 \ No newline at end of file diff --git a/plugins/talk-plugin-sort-most-loved/client/translations.yml b/plugins/talk-plugin-sort-most-loved/client/translations.yml index 095091ac5..f7c053211 100644 --- a/plugins/talk-plugin-sort-most-loved/client/translations.yml +++ b/plugins/talk-plugin-sort-most-loved/client/translations.yml @@ -3,3 +3,9 @@ en: label: Most loved first es: talk-plugin-sort-most-loved: +zh_CN: + talk-plugin-sort-most-loved: + label: "最多被爱在前" +zh_TW: + talk-plugin-sort-most-loved: + label: 被喜歡最多優先 \ No newline at end of file diff --git a/plugins/talk-plugin-sort-most-replied/client/translations.yml b/plugins/talk-plugin-sort-most-replied/client/translations.yml index b77043d6d..fb6570a5c 100644 --- a/plugins/talk-plugin-sort-most-replied/client/translations.yml +++ b/plugins/talk-plugin-sort-most-replied/client/translations.yml @@ -3,3 +3,9 @@ en: label: Most replied first es: talk-plugin-sort-most-replied: +zh_CN: + talk-plugin-sort-most-replied: + label: "最多回复在前" +zh_TW: + talk-plugin-sort-most-replied: + label: 評論最多優先 \ No newline at end of file diff --git a/plugins/talk-plugin-sort-most-respected/client/translations.yml b/plugins/talk-plugin-sort-most-respected/client/translations.yml index 32366dfc5..c3889a8c2 100644 --- a/plugins/talk-plugin-sort-most-respected/client/translations.yml +++ b/plugins/talk-plugin-sort-most-respected/client/translations.yml @@ -3,3 +3,9 @@ en: label: Most respected first es: talk-plugin-sort-most-respected: +zh_CN: + talk-plugin-sort-most-respected: + label: "最受尊重在前" +zh_TW: + talk-plugin-sort-most-respected: + label: 最受尊重優先 \ No newline at end of file diff --git a/plugins/talk-plugin-sort-newest/client/translations.yml b/plugins/talk-plugin-sort-newest/client/translations.yml index fbaed0fe9..f483bff58 100644 --- a/plugins/talk-plugin-sort-newest/client/translations.yml +++ b/plugins/talk-plugin-sort-newest/client/translations.yml @@ -3,3 +3,9 @@ en: label: Newest first es: talk-plugin-sort-newest: +zh_CN: + talk-plugin-sort-newest: + label: "最新发表在前" +zh_TW: + talk-plugin-sort-newest: + label: 最新優先 \ No newline at end of file diff --git a/plugins/talk-plugin-sort-oldest/client/translations.yml b/plugins/talk-plugin-sort-oldest/client/translations.yml index 66e59b823..4bd8ac1af 100644 --- a/plugins/talk-plugin-sort-oldest/client/translations.yml +++ b/plugins/talk-plugin-sort-oldest/client/translations.yml @@ -3,3 +3,9 @@ en: label: Oldest first es: talk-plugin-sort-oldest: +zh_CN: + talk-plugin-sort-oldest: + label: "最早发表在前" +zh_TW: + talk-plugin-sort-oldest: + label: 最早發表優先 \ No newline at end of file diff --git a/plugins/talk-plugin-subscriber/client/translations.yml b/plugins/talk-plugin-subscriber/client/translations.yml index 851f818b7..2030ad337 100644 --- a/plugins/talk-plugin-subscriber/client/translations.yml +++ b/plugins/talk-plugin-subscriber/client/translations.yml @@ -4,3 +4,9 @@ en: es: talk-plugin-subscriber: subscriber: "Subscriptor" +zh_CN: + talk-plugin-subscriber: + subscriber: "订阅用户" +zh_TW: + talk-plugin-subscriber: + subscriber: "訂閱者" \ No newline at end of file diff --git a/plugins/talk-plugin-toxic-comments/client/translations.yml b/plugins/talk-plugin-toxic-comments/client/translations.yml index f6242a571..013563699 100644 --- a/plugins/talk-plugin-toxic-comments/client/translations.yml +++ b/plugins/talk-plugin-toxic-comments/client/translations.yml @@ -20,4 +20,27 @@ es: flags: reasons: comment: - toxic_comment: "Muy probable que sea tóxico" \ No newline at end of file + toxic_comment: "Muy probable que sea tóxico" +zh_CN: + error: + COMMENT_IS_TOXIC: "您确定吗?此评论的表述可能违反了我们的社群指引方针。您可以编辑评论,或直接提交让管理人员审查。" + talk-plugin-toxic-comments: + unlikely: "极低可能" + highly_likely: "极高可能" + possibly: "不太可能" + likely: "比较可能" + toxic_comment: "有毒评论" + still_toxic: "此编辑后评论可能仍违反了我们的社群指引方针。我们的审查团队将马上处理您的评论。" +zh_TW: + error: + COMMENT_IS_TOXIC: | + 確定提交評論?該評論可能包含違反社區準則的言論。您可以編輯該評論或提交以待審核。 + talk-plugin-toxic-comments: + unlikely: 不太可能 + highly_likely: 非常有可能 + possibly: 有可能 + likely: 很有可能 + toxic_comment: 不當評論 + still_toxic: | + 該評論經修改後仍有可能違反社區準則。 + 我們的審核團隊會儘快審核該您的評論。 diff --git a/plugins/talk-plugin-viewing-options/client/translations.yml b/plugins/talk-plugin-viewing-options/client/translations.yml index c06bffb9e..09edbc0fc 100644 --- a/plugins/talk-plugin-viewing-options/client/translations.yml +++ b/plugins/talk-plugin-viewing-options/client/translations.yml @@ -6,3 +6,13 @@ en: es: talk-plugin-viewing-options: viewing_options: "Opciones de visualización" +zh_CN: + talk-plugin-viewing-options: + viewing_options: "查看选项" + sort: "排序" + filter: "过滤" +zh_TW: + talk-plugin-viewing-options: + viewing_options: "查看選項" + sort: 排序 + filter: 過濾 \ No newline at end of file diff --git a/test/e2e/specs/01_install.js b/test/e2e/specs/01_install.js index 078a22e50..e0734a2a6 100644 --- a/test/e2e/specs/01_install.js +++ b/test/e2e/specs/01_install.js @@ -1,7 +1,8 @@ module.exports = { '@tags': ['install'], - before: (client) => { + before: (client) => { + client.setWindowPosition(0, 0); client.resizeWindow(1600, 1200); }, diff --git a/test/e2e/specs/02_admin.js b/test/e2e/specs/02_admin.js index c4e5dc017..142695b77 100644 --- a/test/e2e/specs/02_admin.js +++ b/test/e2e/specs/02_admin.js @@ -1,7 +1,8 @@ module.exports = { '@tags': ['admin', 'login'], - before: (client) => { + before: (client) => { + client.setWindowPosition(0, 0); client.resizeWindow(1024, 800); }, diff --git a/test/e2e/specs/03_embedStream.js b/test/e2e/specs/03_embedStream.js index b447b31ab..073456b0f 100644 --- a/test/e2e/specs/03_embedStream.js +++ b/test/e2e/specs/03_embedStream.js @@ -1,7 +1,8 @@ module.exports = { '@tags': ['embedStream', 'login'], - before: (client) => { + before: (client) => { + client.setWindowPosition(0, 0); client.resizeWindow(1600, 1200); }, diff --git a/test/e2e/specs/04_userStatus.js b/test/e2e/specs/04_userStatus.js index b87817e8b..f7798f8bd 100644 --- a/test/e2e/specs/04_userStatus.js +++ b/test/e2e/specs/04_userStatus.js @@ -1,4 +1,5 @@ module.exports = { + before: (client) => { client.resizeWindow(1600, 1200); }, diff --git a/test/e2e/specs/05_banUser.js b/test/e2e/specs/05_banUser.js index 4f8b5d80f..0f6b9afac 100644 --- a/test/e2e/specs/05_banUser.js +++ b/test/e2e/specs/05_banUser.js @@ -1,6 +1,7 @@ module.exports = { - before: (client) => { + before: (client) => { + client.setWindowPosition(0, 0); client.resizeWindow(1600, 1200); }, diff --git a/test/e2e/specs/06_suspendUser.js b/test/e2e/specs/06_suspendUser.js index 7c1321b38..b9491a6bb 100644 --- a/test/e2e/specs/06_suspendUser.js +++ b/test/e2e/specs/06_suspendUser.js @@ -1,6 +1,7 @@ module.exports = { before: (client) => { + client.setWindowPosition(0, 0); client.resizeWindow(1600, 1200); }, diff --git a/yarn.lock b/yarn.lock index 228d907d2..03e59c6a1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4344,7 +4344,7 @@ ip@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/ip/-/ip-1.0.1.tgz#c7e356cdea225ae71b36d70f2e71a92ba4e42590" -ip@^1.1.2, ip@^1.1.4: +ip@^1.1.2, ip@^1.1.4, ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"