diff --git a/.tx/config b/.tx/config index 41ddc20c0f..e794e0bf28 100644 --- a/.tx/config +++ b/.tx/config @@ -6,11 +6,9 @@ source_file = static/locale/en/LC_MESSAGES/django.po source_lang = en type = PO file_filter = static/locale//LC_MESSAGES/django.po -lang_map = zh-Hans: zh_CN [zulip.translationsjson] source_file = static/locale/en/translations.json source_lang = en type = KEYVALUEJSON file_filter = static/locale//translations.json -lang_map = zh-Hans: zh-CN diff --git a/frontend_tests/casper_tests/06-settings.js b/frontend_tests/casper_tests/06-settings.js index 7e653bf9e1..2b89647259 100644 --- a/frontend_tests/casper_tests/06-settings.js +++ b/frontend_tests/casper_tests/06-settings.js @@ -235,7 +235,7 @@ casper.waitForSelector("#settings-change-box", function check_url_preference() { casper.test.assertEvalEquals(function () { return document.documentElement.lang; }, 'de'); - casper.test.info("Changing language back to English."); + casper.test.info("English ist die neue Standardsprache! Du musst das Fenster neu laden um die Änderungen anzuwenden"); }); casper.thenClick('#default_language'); diff --git a/static/locale/zh-CN/translations.json b/static/locale/zh-CN/translations.json deleted file mode 100644 index d9061f553e..0000000000 --- a/static/locale/zh-CN/translations.json +++ /dev/null @@ -1,336 +0,0 @@ -{ - "Stream color": "频道颜色", - "Current password": "当前密码", - "EDITED": "有修改", - "Deactivate now": "禁用", - "Add alert word": "Add alert word", - "Error deactivating account": "Error deactivating account", - "Default streams": "Default streams", - "View Source / Edit Topic": "View Source / Edit Topic", - "I want:": "开启:", - "No description.": "No description.", - "Create stream": "创建频道", - "Unmute the topic __topic_name__": "话题"__topic_name__"关闭免打扰", - "Custom filter added!": "Custom filter added!", - "Message sent when you were not subscribed": "在您订阅前发送的消息", - "Yes, delete this stream": "是的,删除该频道", - "Warning: the below features are experimental, and may not work as well as you would like.": "Warning: the below features are experimental, and may not work as well as you would like.", - "Get API key": "获取API码", - "Audible notifications": "声音通知", - "Email address": "邮箱地址", - "Delete stream": "删除频道", - "Topic editing only": "Topic editing only", - "New users must be invited by e-mail!": "必须通过邮件邀请新用户", - "Users can edit old messages": "用户可以编辑历史消息", - "Upload avatar": "上传头像", - "Narrow to private messages with __name__": "筛选和"__name__"的私信", - "Deactivated users": "Deactivated users", - "Author": "Author", - "E-mail invitation required": "需要邮件邀请", - "Mark all messages in __topic_name__ as read": "标记话题"__topic_name__"中的所有消息为已读", - "You can send emails to __page_params.product_name__! Just copy and use this address as an email recipient, and:": "您可以发送邮件给__page_params.product_name__!就把这个地址拷贝一下作为收件人,然后:", - "Only admins may invite": "仅管理员可以邀请", - "Old password": "旧密码", - "Make stream private": "设置为私有频道", - "Notifications": "通知设置", - "You'll receive notifications when a message arrives and __page_params.product_name__ isn't in focus or the message is offscreen.": "当收到消息时,如果__page_params.product_name__不是当前窗口,或者新消息不在当前页面显示,您会收到消息通知", - "New users restricted to the following domains: __domains__": "New users restricted to the following domains: __domains__", - "Narrow to stream "__display_recipient__"": "筛选频道"__display_recipient__"", - "Full name": "名称", - "Message edit limit in minutes (0 for no limit)": "消息编辑时限(分钟,0表示不限制)", - "Waiting period for stream creation (in days)": "Waiting period for stream creation (in days)", - "Other notifications I want:": "开启:", - "Narrow to your private messages with __display_reply_to__": "筛选和"__display_reply_to__"的私信", - "Download .zuliprc": "Download .zuliprc", - "Error adding subscription": "订阅时发生错误", - "Reactivate": "启用", - "Private message": "私信", - "Deleting this stream will immediately unsubscribe everyone, and the stream's content will not be recoverable.": "删除频道会退订该频道的所有用户,并且该频道的所有消息也将无法恢复。", - "Administration": "社区管理", - "Choose avatar": "选择头像", - "Unpin stream __stream.name__ from top": "取消频道\"__stream.name__\"置顶", - "Updated notification settings!": "消息通知设置已更新!", - "Send to stream": "发送到频道", - "(no topic)": "(no topic)", - "\n

\n Looking for our Integrations\n or API documentation?\n

\n ": "\n

查阅关于应用整合或者 API的帮助文档?

\n ", - "Receive audible notifications": "Receive audible notifications", - "Digest emails when I'm away": "当我离线时发送摘要邮件", - "Bots": "机器人", - "User invited successfully._plural": "邀请用户成功", - "Add new default stream": "Add new default stream", - "Narrow to private messages with __message.sender_full_name__": "筛选和"__message.sender_full_name__"的私信", - "Allowed domains": "Allowed domains", - "Pin stream __stream.name__ to top": "频道”__stream.name__“置顶", - "Note that any bots that you maintain will be disabled.": "Note that any bots that you maintain will be disabled.", - "Any user may now invite new users!": "现在所有用户都可以邀请新用户!", - "User list will appear on the __side__ hand side! You will need to reload the window for your changes to take effect.": "在__side__侧显示用户列表!需要重新加载页面生效", - "Add a new emoji": "Add a new emoji", - "Your account": "Your account", - "Add emoji": "添加表情", - "more conversations": "更多会话", - "Topic": "话题", - "Administrator settings": "管理员设置", - "Any user may now create new streams!": "现在所有用户都可以创建频道!", - "Only admins may create streams": "仅限管理员创建频道", - "Link to this conversation": "生成会话链接", - "This is an invite-only stream. Only people who have been invited can access its content, but any member of the stream can invite others.": "这是一个 私有频道。仅有邀请的用户可以对该频道进行访问,该频道的用户也可以邀请其它用户。", - "Make stream public": "设置为公开频道", - "Delete streams": "Delete streams", - "\n

Please re-enter your password to confirm your identity.\n (Forgotten it?)

\n ": "

请重新输入密码以便确认您的身份(忘记了?

\n ", - "Pattern": "Pattern", - "Create": "创建", - "It's been a while! Since you were last here, you received __unread_count__ new messages.": "好久不见!您有__unread_count__条未读消息", - "None": "None", - "Mark all messages in __stream.name__ as read": "标记频道"__stream.name__"中的所有消息为已读", - "The email will be forwarded to this stream": "邮件将会转发到这个频道中", - "Alert Word": "提示词设置", - "Failed": "Failed", - "The email body will become the __page_params.product_name__ message": "邮件正文作为__page_params.product_name__的消息", - "Stream description (optional)": "Stream description (optional)", - "Narrow to stream "__display_recipient__", topic "__subject__"": "筛选频道"__display_recipient__", 话题"__subject__"", - "Default language changed!": "默认语言已更新!", - "Reply": "回复", - "Unmute the topic __subject__": "话题"__subject__"取消免打扰", - "Save": "保存", - "Custom linkification filters": "Custom linkification filters", - "Email": "邮箱", - "See the rest of this message": "查看其余内容", - "Change previous and following messages to this topic": "修改前后消息到该话题", - "Username": "用户名", - "Desktop notifications": "桌面通知", - "Add filter": "Add filter", - "\n

Lets everyone know about the new stream,
\n even if you don't add them.

\n ": "向所有用户广播通知,以便大家及时加入", - "Collapse": "折叠", - "Subscriptions": "Subscriptions", - "Add a new alert word": "Add a new alert word", - "waiting period threshold changed!": "waiting period threshold changed!", - "Failed to generate preview": "Failed to generate preview", - "Close": "关闭", - "Check all": "选择所有", - "Cancel": "取消", - "Add emoji reaction": "Add emoji reaction", - "Enabled": "Enabled", - "Already subscribed to __stream__": "订阅频道\"__stream__\"成功", - "Organization settings": "社区设置", - "Delete Alert Word": "删除提示词", - "Yes, send": "Yes, send", - "Narrow to topic __topic_name__": "筛选话题"__topic_name__"", - "If checked, only users with an e-mail address ending in these domains will be able to join the organization.": "If checked, only users with an e-mail address ending in these domains will be able to join the organization.", - "Generate new API Key": "生成新的API码", - "Un-collapse": "展开", - "Clear avatar": "清除头像", - "Receive desktop notifications": "Receive desktop notifications", - "Display time in 24-hour format (17:00 instead of 5:00 PM)": "显示时间为24小时格式(例如显示17:00而不显示5:00 PM)", - "Send __message.sender_full_name__ a private message": "给"__message.sender_full_name__"发送私信", - "Change only this message topic": "仅修改该消息到该话题", - "Error getting API key": "获取API码时发生错误", - "You and __display_reply_to__": "您和__display_reply_to__", - "Change default language": "Change default language", - "Narrow to stream __stream.name__": "筛选频道"__stream.name__"", - "[More...]": "[更多...]", - "Your API key:": "您的API码:", - "People must be invited": "用户必须邀请", - "New password": "新密码", - "Show/change your API key": "显示/修改您的API码", - "Anyone can join": "任何人可以加入", - "__name__ is not subscribed to this stream.": "__name__ 没有订阅这个频道。", - "Choose custom color": "选择自定义颜色", - "[Condense this message]": "[收起消息]", - "Remove from default": "取消默认频道", - "You need to be running Zephyr mirroring in order to send messages!": "您需要运行Zephyr镜像服务以便发送消息!", - "Error creating stream": "创建频道时发生错误", - "Delete": "删除", - "Generate new API key": "生成新的API码", - "Only admins may add emoji": "Only admins may add emoji", - "\n Configure regular expression patterns that will be\n automatically linkified when used in Zulip message bodies or\n topics. For example to automatically linkify commit IDs and\n issue numbers (e.g. #123) to the corresponding items in a GitHub\n project, you could use the following:\n ": "\n Configure regular expression patterns that will be\n automatically linkified when used in Zulip message bodies or\n topics. For example to automatically linkify commit IDs and\n issue numbers (e.g. #123) to the corresponding items in a GitHub\n project, you could use the following:\n ", - "Forgotten it?": "忘记了?", - "Your bots": "Your bots", - "Email notifications when offline": "离线时邮件通知", - "Mobile push notifications always (even when online)": "Mobile push notifications always (even when online)", - "Filter streams": "Filter streams", - "bot": "bot", - "\n Streams are like chat rooms or mailing lists. You can easily\n join, leave, and make them.\n ": "频道类似于聊天室或者邮件列表。您可以方便地订阅退订以及 创建频道。\n ", - "Full Bot Name": "机器人名称", - "Custom alert words": "Custom alert words", - "Formatting": "Formatting", - "Display user list on left side in narrow windows.": "缩小窗口时在左侧显示用户列表", - "Not Delivered: Resend": "Not Delivered: Resend", - "Nothing selected.": "Nothing selected.", - "Owner": "所有者", - "The stream description has been updated!": "频道描述信息已更新", - "Yes": "是", - "This is a public stream. Anybody in your organization can join.": "这是一个 公开的频道。社区中的所有用户都可以订阅。", - "Error updating time format setting": "修改时间格式时发生错误", - "{{#if msg/starred}}Unstar{{else}}Star{{/if}} this message": "消息{{#if msg/starred}}去星标{{else}}加星标{{/if}}", - "If checked, users can edit the content and topics of their old messages.": "如果勾选,则用户可以编辑历史消息的话题与内容。", - "New user e-mails now restricted to certain domains!": "New user e-mails now restricted to certain domains!", - "Not Delivered: Delete": "Not Delivered: Delete", - "A stream with this name already exists": "A stream with this name already exists", - "No": "否", - "Deactivate": "禁用", - "Apply this change to all stream subscriptions?": "应用到所有频道用户", - "You have nothing to send!": "消息不能为空!", - "Select default language": "Select default language", - "Narrow to messages sent by __name__": "筛选"__name__"发送的消息", - "Narrow to messages sent by __message.sender_full_name__": "筛选" __message.sender_full_name__"发送的消息", - "__minutes__ min to edit": "__minutes__分钟内完成编辑", - "Add": "添加", - "@ Compose a reply @-mentioning __message.sender_full_name__": "@ Compose a reply @-mentioning __message.sender_full_name__", - "Compose a message to __name__": "发私信给"__name__"", - "Unsubscribe from __stream__": "Unsubscribe from __stream__", - "The stream has been renamed!": "频道重命名成功!", - "Add reaction...": "Add reaction...", - "Edit User": "Edit User", - "Method": "Method", - "Error checking subscription": "检查订阅关系时发生错误", - "Authentication methods": "Authentication methods", - "Sent by __message.sender_full_name__": "发送人: __message.sender_full_name__", - "__count__ invite remaining": "__count__ invite remaining", - "This organization is configured to restrict editing of message content to __minutes_to_edit__ minutes after it is sent.": "This organization is configured to restrict editing of message content to __minutes_to_edit__ minutes after it is sent.", - "Error updating the stream description": "修改频道描述时发生错误", - "New alert word": "New alert word", - "People to add": "添加用户", - "Remove admin": "取消管理员", - "If non-zero, users can edit their message for this many minutes after it is sent. If zero, users can edit all their past messages.": "如果设置为非0值,则用户只能对指定时间内的消息进行编辑;如果设置为0,则用户可以编辑所有历史消息。", - "Copy from Stream": "Copy from Stream", - "Unsubscribe": "退订", - "Only Admins may now add new emoji!": "Only Admins may now add new emoji!", - "Experimental settings": "Experimental settings", - "Error removing subscription": "退订时发生错误", - "Error renaming stream": "重命名频道时发生错误", - "Save changes": "保存修改", - "Unable to subscribe user": "不能订阅用户", - "The email subject will become the __page_params.product_name__ topic": "邮件主题作为__page_params.product_name__的话题", - "Search": "搜索", - "Password strength": "密码强度", - "Pin stream to top of left sidebar": "Pin stream to top of left sidebar", - "URL format string": "URL format string", - "Listen on": "收听", - "Alert words allow you to be notified as if you were @-mentioned when certain words or phrases are used in Zulip.": "Alert words allow you to be notified as if you were @-mentioned when certain words or phrases are used in Zulip.", - "If checked, only administrators may invite new users.": "如果勾选,则只有管理员可以邀请新用户", - "Stream Name": "频道名称", - "Name successfully updated!": "Name successfully updated!", - "Domain": "Domain", - "Any user may now add new emoji!": "Any user may now add new emoji!", - "Their password will be cleared from our systems, and any bots they maintain will be disabled.": "这些用户的密码会被从系统中清除,他们的机器人用户也会被关闭。", - "The recipient __recipient__ is not valid ": "收信人\"__recipient__\"不正确", - "Your organization's name": "社区名称", - "Action": "Action", - "Default language": "Default language", - "\n

For most bots using the API, you'll want to give each bot\n its own name and API key using the above section. But if you\n want to write a bot that can access your own private\n messages, you should use your personal API key.\n

\n ": "\n

For most bots using the API, you'll want to give each bot\n its own name and API key using the above section. But if you\n want to write a bot that can access your own private\n messages, you should use your personal API key.\n

\n ", - "Next": "下一步", - "Stream description": "Stream description", - "Custom emoji": "自定义表情", - "Stream settings": "频道设置", - "If checked, only administrators may create new streams.": "如果勾选,则仅有管理员可以创建新频道。", - "Add a new filter": "Add a new filter", - "A stream needs to have a name": "A stream needs to have a name", - "User invited successfully.": "邀请用户成功。", - "Unless I say otherwise for a particular stream, I want:": "如果没有对频道作单独配置,则开启:", - "Optional": "可选设置", - "Always auto-scroll to new messages": "自动滚动到新消息", - "Nothing to preview": "Nothing to preview", - "Error changing settings": "修改设置时发生错误", - "Edited (__last_edit_timestr__)": "Edited (__last_edit_timestr__)", - "If checked, users must be invited in order to join your organization.": "如果勾选,用户必须邀请才能加入您的社区。", - "Regular expression": "Regular expression", - "Mute the topic __topic_name__": "话题"__topic_name__"开启免打扰", - "Are you sure you want to do this?": "确定这样做?", - "Users can now edit the content and topics of all their past messages!": "用户现在可以对所有历史消息的内容与话题进行编辑!", - "The recipients __recipients__ are not valid ": "收信人\"__recipients__\"不正确", - "__seconds__ sec to edit": "__seconds__秒内完成编辑", - "View Source": "View Source", - "Customize avatar": "自定义头像", - "Stream accessibility": "频道权限", - "Subscribe to __stream__": "Subscribe to __stream__", - "Change notification settings for individual streams on your Streams page.": "可以在频道订阅页面进行单独设置。", - "Image": "图片", - "Settings": "设置", - "acme.com": "acme.com", - "and": "来", - "Make admin": "设为管理员", - "Stream messages": "频道消息", - "Change password": "Change password", - "Change later messages to this topic": "修改后续消息到该话题", - "Subscribed": "已订阅", - "Please specify a topic": "请指定话题", - "View source": "View source", - "Exit Tutorial": "退出教程", - "

Messages in __page_params.product_name__ go to a stream and have a topic.

": "

__page_params.product_name__中的消息是发送在一个频道中并且拥有一个话题

", - "Mobile push notifications when offline": "离线时推送移动终端通知", - "Muted streams don't show up in your home view or generate notifications unless you are mentioned.": "开启免打扰的频道不会出现在主页中,也不会产生通知,除非您被@提醒。", - "Content": "Content", - "Error changing name": "Error changing name", - "Edit bot": "编辑机器人", - "right": "right", - "Message to stream __message.stream__": "频道"__message.stream__"的消息", - "__lang__ is now the default language! You will need to reload the window for your changes to take effect": "默认语言修改为\"__lang__\"!需要重新加载页面以生效", - "New users may have arbitrary e-mails!": "用户可以使用所有邮箱!", - "Announce stream": "公布频道信息", - "Unmute the stream __stream.name__": "频道"__stream.name__"关闭免打扰", - "API Key": "API码", - "If checked, only administrators may add new emoji.": "If checked, only administrators may add new emoji.", - "Delete avatar": "Delete avatar", - "Please specify a stream": "请指定频道", - "Configure the default streams new users are subscribed to when joining the {{domain}} organization.": "为社区{{domain}} 的新用户设置默认订阅的频道", - "Mute the stream __stream.name__": "频道"__stream.name__"开启免打扰", - "Users": "用户", - "Emoji URL": "表情URL", - "Subscribe": "订阅", - "Private messages and @-mentions": "私信和@提醒", - "[Add or Change]": "[Add or Change]", - "Updated settings! You will need to reload for these changes to take effect.": "Updated settings! You will need to reload for these changes to take effect.", - "Compose a message to stream __stream.name__": "发消息到频道"__stream.name__"", - "Error listing streams": "显示频道时发生错误", - "Error updating default language setting": "修改默认语言时发生错误", - "By deactivating <>, they will be logged out immediately.": "去激活用户后 <>, 这些用户会立即退出登录。", - "\n

You can narrow to a stream or topic by clicking on it, or\n see messages from all streams at once from your Home view.

\n ": "

点击频道或者话题可以对频道或者话题进行筛选;在主页可以查看来自所有频道的消息。

\n ", - "Include content of private messages in desktop notifications": "Include content of private messages in desktop notifications", - "Filter": "Filter", - "Authentication methods saved!": "Authentication methods saved!", - "__count__ invite remaining_plural": "__count__ invites remaining", - "Password": "密码", - "Deactivate account": "Deactivate account", - "Do you want to skip to your latest messages?": "是否跳过这些消息?(选择“是”将清除所有未读消息标记)", - "Time's up!": "Time's up!", - "This is an invite-only stream": "这是一个私有频道", - "Configure the authentication methods for the __domain__ organization.": "Configure the authentication methods for the __domain__ organization.", - "Name": "名称", - "Error listing users or bots": "显示机器人或者用户信息发生错误", - "\n

Reply to a message by clicking on it. The stream\n and topic will automatically be filled in.

\n ": "\n

Reply to a message by clicking on it. The stream\n and topic will automatically be filled in.

\n ", - "Edit": "编辑", - "Stream membership": "频道用户", - "\n The topic of a conversation is one or two words that describe\n what it is about, for example: Bug #345, lunch, or\n logo. Don't overthink it.\n ": "话题表示当前对话的主题,可以是一个短语,比如:Bug #345午饭,或者logo。不要想太多。\n ", - "Alert words can't be empty!": "提示词不能为空", - "Remove": "Remove", - "@ Compose a message @-mentioning __name__": "@ Compose a message @-mentioning __name__", - "Make this message take up less space on the screen": "使得该消息占用较少的屏幕空间", - "Create bot": "Create bot", - "Failed!": "失败", - "Error updating user list placement setting": "修改用户列表设置时发生错误", - "more topics": "更多话题", - "Add extra emoji for members of the __realm_name__ organization.": "Add extra emoji for members of the __realm_name__ organization.", - "New users may sign up online!": "用户可以在线注册!", - "Time will be displayed in the __format__-hour format! You will need to reload the window for your changes to take effect": "时间显示格式设置为__format__小时制;需要重新加载页面生效", - "By deactivating your account, you will be logged out immediately.": "By deactivating your account, you will be logged out immediately.", - "Mute the topic __subject__": "话题"__subject__"开启免打扰", - "Uncheck all": "全部不选", - "Are you sure you want to mention all __count__ people in this stream?": "Are you sure you want to mention all __count__ people in this stream?", - "Deactivate your account": "Deactivate your account", - "Confirm password": "确认密码", - "Not Delivered: Edit": "Not Delivered: Edit", - "Emoji name": "表情名称", - "Stream name": "频道名称", - "Delete bot": "删除机器人", - "Custom emoji added!": "添加表情成功!", - "Actions": "操作", - "Enable desktop notifications for new streams": "为新的频道开启桌面通知", - "New users must be invited by an admin!": "仅管理员可以邀请新用户!", - "Display settings": "Display settings", - "No changes to save!": "No changes to save!", - "Only Admins may now create new streams!": "仅管理员可以创建频道!", - "Users can no longer edit their past messages!": "不允许用户编辑历史消息!", - "Name changed!": "名称修改成功!", - "Please specify at least one recipient": "请指定至少一个收信人", - "left": "left" -} \ No newline at end of file diff --git a/static/locale/zh_CN/LC_MESSAGES/django.po b/static/locale/zh_CN/LC_MESSAGES/django.po deleted file mode 100644 index db8366b10a..0000000000 --- a/static/locale/zh_CN/LC_MESSAGES/django.po +++ /dev/null @@ -1,2450 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# 张建春 , 2016 -# 张建春 , 2016 -msgid "" -msgstr "" -"Project-Id-Version: Zulip\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-03 13:20-0500\n" -"PO-Revision-Date: 2017-02-03 18:21+0000\n" -"Last-Translator: Tim Abbott \n" -"Language-Team: Chinese Simplified (http://www.transifex.com/zulip/zulip/language/zh-Hans/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh-Hans\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: analytics/views.py:57 -#, python-format -msgid "Start time is later than end time. Start: %(start)s, End: %(end)s" -msgstr "" - -#: analytics/views.py:85 -#, python-format -msgid "Unknown chart name: %s" -msgstr "" - -#: confirmation/models.py:131 -msgid "sent" -msgstr "已发送" - -#: confirmation/models.py:132 confirmation/models.py:145 -msgid "activation key" -msgstr "激活码" - -#: confirmation/models.py:137 -msgid "confirmation email" -msgstr "确认邮件" - -#: confirmation/models.py:138 -msgid "confirmation emails" -msgstr "确认邮件" - -#: confirmation/models.py:142 -#, python-format -msgid "confirmation email for %s" -msgstr "%s的确认邮件" - -#: confirmation/models.py:146 -msgid "created" -msgstr "" - -#: templates/zerver/accounts_accept_terms.html:14 -msgid "There are new Terms of Service." -msgstr "" - -#: templates/zerver/accounts_accept_terms.html:15 -msgid "Accept the terms of service" -msgstr "接受服务条款" - -#: templates/zerver/accounts_accept_terms.html:22 -#: templates/zerver/login.html:100 templates/zerver/register.html:29 -#: templates/zerver/reset.html:11 templates/zerver/reset_confirm.html:20 -msgid "Email" -msgstr "邮箱" - -#: templates/zerver/accounts_accept_terms.html:41 -#, python-format -msgid "I agree to the Terms of Service" -msgstr "我同意服务条款" - -#: templates/zerver/accounts_accept_terms.html:53 -msgid "Enter" -msgstr "" - -#: templates/zerver/accounts_home.html:18 -#: templates/zerver/create_realm.html:18 -msgid "Let's get started" -msgstr "即刻开始" - -#: templates/zerver/accounts_home.html:23 -#: templates/zerver/create_realm.html:23 -msgid "Enter your work email address" -msgstr "输入您的邮箱地址" - -#: templates/zerver/accounts_home.html:25 -msgid "Sign up" -msgstr "注册" - -#: templates/zerver/accounts_home.html:34 -msgid "" -"Please use your\n" -" company email address to sign up. Otherwise, we won’t be able to\n" -" connect you with your coworkers" -msgstr "请用您的工作邮箱注册,以便我们把您和您的同事关联起来" - -#: templates/zerver/accounts_home.html:39 -msgid "Sign up with Google" -msgstr "使用Google帐号注册" - -#: templates/zerver/accounts_send_confirm.html:7 -msgid "Thanks for signing up!" -msgstr "感谢注册!" - -#: templates/zerver/accounts_send_confirm.html:8 -msgid "Check your email so we can get started." -msgstr "请先查收您的邮件" - -#: templates/zerver/accounts_send_confirm.html:10 -msgid "" -"In the Zulip development environment, outgoing emails are printed to the " -"run-dev.py console" -msgstr "在Zulip开发环境中,外发邮件会在run-dev.py控制台中打印" - -#: templates/zerver/accounts_send_confirm.html:13 -msgid "Still no email? We can resend it." -msgstr "还没有收到邮件? 点击重新发送." - -#: templates/zerver/accounts_send_confirm.html:14 -msgid "Just in case, take a look at your Spam folder." -msgstr "也有可能在您的垃圾邮件夹中" - -#: templates/zerver/apps.html:5 -msgid "Do we have apps? Appsolutely." -msgstr "有App吗?当然有啦" - -#: templates/zerver/apps.html:6 -msgid "Ok, I take it back, I'm sorry, please don't go." -msgstr "抱歉,无意冒犯,请不要离开哦" - -#: templates/zerver/apps.html:8 -msgid "Installation instructions" -msgstr "安装说明" - -#: templates/zerver/apps.html:23 -#, python-format -msgid "" -"Zulip has a free, 100%% native app for Android,\n" -" and you can easily grab it from\n" -" the Google\n" -" Play Store" -msgstr "Zulip在安卓平台有免费的、100%%原生的App,从谷歌商店下载即可。" - -#: templates/zerver/apps.html:37 -#, python-format -msgid "" -"Zulip has a free, 100%% native app for iPhone and\n" -" iPad. Please grab it from\n" -" the App Store" -msgstr "Zulip在iPhone和iPad上也有免费的、 100%%原生的App,\n请从苹果商店下载" - -#: templates/zerver/apps.html:47 -msgid "" -"The beta version\n" -" of our new\n" -" cross-platform desktop client is ready for you to try\n" -" now, and should work on Mac, Windows, and Linux. (It's\n" -" implemented\n" -" in Electron, a\n" -" desktop app framework (maintained by GitHub) that uses\n" -" Chromium and Node.js, so in the future we'll be able to\n" -" concentrate on writing JavaScript instead of futzing with\n" -" Qt/WebKit and C++.)" -msgstr "我们发布了新的跨平台桌面客户端供下载试用,目前还是Beta版本。该客户端可工作于Mac,、Windows以及Linux系统,使用Electron开发。(Electron是一个桌面应用框架,在Github维护,使用了Chromium与Node.js技术。后面我们可以专注于编写JavaScript代码,而不用在Qt/WebKit与C++上分神了)" - -#: templates/zerver/apps.html:57 -msgid "" -"You'll have to install it using the command\n" -" line, and there might be some rough edges; if you run into\n" -" anything that doesn't feel\n" -" right, please\n" -" let us know." -msgstr "您需要使用命令行完成安装,安装过程也可能会遇到一些疑难问题;如果有任何感觉不对的地方,请尽管反馈给我们." - -#: templates/zerver/apps.html:67 -msgid "Download the beta of Zulip for desktop" -msgstr "下载Zulip桌面客户端Beta版" - -#: templates/zerver/apps.html:76 -msgid "" -"You love your Mac. And you love Zulip. So what could be\n" -" better than a Zulip app for Mac? Enjoy notifications for\n" -" messages and PMs in your dock whether you're in Sublime,\n" -" emacs, or Photoshop." -msgstr "既喜欢Zulip,又不舍您的Mac电脑。还有什么比一款Mac平台的Zulip App更好呢? 体会一下在使用Sublime、emacs、Photoshop时,在Dock栏显示消息和私信通知的那种感觉吧。" - -#: templates/zerver/apps.html:83 templates/zerver/apps.html:85 -msgid "Download Zulip for Mac" -msgstr "下载Mac平台Zulip" - -#: templates/zerver/apps.html:93 -msgid "" -"Zulip provides a native Linux app that runs standalone\n" -" outside of your browser. How you install it depends on what\n" -" you're running:" -msgstr "Zulip提供了原生的Linux客户端程序,可以独立于浏览器运行。具体安装方法与您当前使用的系统有关:" - -#: templates/zerver/apps.html:97 -msgid "Debian and Ubuntu" -msgstr "Debian和Ubuntu" - -#: templates/zerver/apps.html:98 -msgid "" -"We have an APT repository for Zulip, so adding and installing the app is " -"easy:" -msgstr "我们提供有Zulip的APT库,下载和安装都很简单:" - -#: templates/zerver/apps.html:111 -msgid "Other" -msgstr "其它平台" - -#: templates/zerver/apps.html:113 -msgid "" -"We provide a binary tarball of the Zulip application, " -"built for 64-bit systems." -msgstr "" - -#: templates/zerver/apps.html:116 -msgid "" -"We provide a binary tarball of the Zulip application, " -"built for 64-bit systems." -msgstr "" - -#: templates/zerver/apps.html:122 -msgid "" -"Windows. It's the best OS for your needs: gaming,\n" -" coding, expense reports, etc. But you always felt that something\n" -" was missing... until now." -msgstr "" - -#: templates/zerver/apps.html:126 -msgid "" -"We proudly present Zulip for Windows: the second-best app for Windows on the market today (after\n" -" Solitaire, obviously.)" -msgstr "现在我们隆重推出在Windows版Zulip,在Windows应用市场上排名第二哦(第一名显然是Solitaire嘛)" - -#: templates/zerver/apps.html:131 templates/zerver/apps.html:133 -msgid "Download Zulip for Windows" -msgstr "下载Windows版Zulip" - -#: templates/zerver/apps.html:141 -msgid "" -"First, connect to our hosted 9P filesystem\n" -" at plan9.zulip.org and then... no, we're\n" -" totally kidding. There definitely isn't a version of Zulip\n" -" for Plan 9." -msgstr "" - -#: templates/zerver/bankruptcy.html:6 -msgid "Welcome back" -msgstr "欢迎回来" - -#: templates/zerver/bankruptcy.html:13 -msgid "Yes, please!" -msgstr "是,跳过" - -#: templates/zerver/bankruptcy.html:15 -msgid "No, I'll catch up." -msgstr "否" - -#: templates/zerver/closed_realm.html:4 -msgid "Closed realm" -msgstr "社区已关闭" - -#: templates/zerver/closed_realm.html:6 templates/zerver/deactivated.html:6 -#: templates/zerver/invalid_realm.html:6 -msgid "Hi there! Thank you for your interest in Zulip." -msgstr "您好,感谢关注Zulip!" - -#: templates/zerver/closed_realm.html:8 -#, python-format -msgid "" -"The organization you are trying to join, %(closed_domain_name)s, only allows" -" users with e-mail addresses within the organization. Please ask for a new " -"invite to an appropriate e-mail address." -msgstr "您要加入的社区,%(closed_domain_name)s, 仅限同域名的邮箱用户加入;请使用正确的邮箱申请。" - -#: templates/zerver/compose.html:9 -msgid "New stream message (c)" -msgstr "" - -#: templates/zerver/compose.html:10 -#: templates/zerver/keyboard_shortcuts.html:65 -msgid "New stream message" -msgstr "写消息" - -#: templates/zerver/compose.html:16 -msgid "New private message (C)" -msgstr "" - -#: templates/zerver/compose.html:17 -#: templates/zerver/keyboard_shortcuts.html:69 -msgid "New private message" -msgstr "写私信" - -#: templates/zerver/compose.html:46 -msgid "This is an invite-only stream" -msgstr "该频道需要邀请才能加入" - -#: templates/zerver/compose.html:50 -msgid "Stream" -msgstr "频道" - -#: templates/zerver/compose.html:54 -msgid "Topic" -msgstr "话题" - -#: templates/zerver/compose.html:63 -msgid "You and" -msgstr "收信人" - -#: templates/zerver/compose.html:65 -msgid "one or more people..." -msgstr "单个或多个..." - -#: templates/zerver/compose.html:72 -msgid "Compose your message here..." -msgstr "在这里编辑消息" - -#: templates/zerver/compose.html:84 -msgid "Attach files from Dropbox" -msgstr "从Dropbox添加附件" - -#: templates/zerver/compose.html:86 -msgid "Attach files" -msgstr "添加附件" - -#: templates/zerver/compose.html:88 -msgid "Formatting" -msgstr "" - -#: templates/zerver/compose.html:89 -msgid "Write" -msgstr "编辑消息" - -#: templates/zerver/compose.html:90 -msgid "Preview" -msgstr "预览消息" - -#: templates/zerver/compose.html:91 -msgid "Restore draft" -msgstr "恢复草稿" - -#: templates/zerver/compose.html:92 -msgid "Sending..." -msgstr "发送中..." - -#: templates/zerver/compose.html:94 -msgid "Press Enter to send" -msgstr "按回车键发送" - -#: templates/zerver/compose.html:96 -msgid "Send" -msgstr "" - -#: templates/zerver/create_realm.html:25 -msgid "Create organization" -msgstr "创建社区" - -#: templates/zerver/deactivated.html:4 -msgid "Deactivated organization" -msgstr "关闭的社区" - -#: templates/zerver/deactivated.html:9 -#, python-format -msgid "" -"\n" -" The organization you are trying to join, %(deactivated_domain_name)s, has been deactivated.\n" -" Please contact %(zulip_administrator)s to reactivate\n" -" this group.\n" -" " -msgstr "\n您要加入的团队,%(deactivated_domain_name)s,已被关闭。如需要重新开放团队,请联系%(zulip_administrator)s\n " - -#: templates/zerver/emails/followup/day1.html:10 -#: templates/zerver/emails/followup/day2.html:10 -#: templates/zerver/emails/invitation/invitation_reminder_email.html:12 -msgid "Zulip" -msgstr "" - -#: templates/zerver/features.html:4 -msgid "Zulip Features" -msgstr "Zulip特色" - -#: templates/zerver/features.html:7 -msgid "Threaded group conversations" -msgstr "按话题组织的群组对话" - -#: templates/zerver/features.html:8 -msgid "" -"Talk about multiple topics at once without getting lost or\n" -" overwhelmed." -msgstr "可同时就多个话题进行,不同类的消息井然有序" - -#: templates/zerver/features.html:13 -msgid "One-on-one and group private conversations" -msgstr "一对一私信和群组私信" - -#: templates/zerver/features.html:14 -msgid "Have private conversations with one or as many people as you need." -msgstr "可以和一个人或者任意多的人进行私信交流" - -#: templates/zerver/features.html:18 -msgid "Persistence" -msgstr "消息永不丢失" - -#: templates/zerver/features.html:19 -msgid "" -"We're always receiving messages for you, even when you're\n" -" logged out." -msgstr "即使您退出登录,我们也在为您接收消息。" - -#: templates/zerver/features.html:24 -msgid "History" -msgstr "历史消息" - -#: templates/zerver/features.html:25 -msgid "" -"Join a stream and see its history, so even new team\n" -" members are never out of the loop." -msgstr "订阅一个频道后,可以查看该频道内所有的历史消息;新人也能很容易融入团队。" - -#: templates/zerver/features.html:30 -msgid "Full-history search" -msgstr "全历史搜索" - -#: templates/zerver/features.html:31 -msgid "" -"Search is both snappy and smart, helping you look for text,\n" -" people, and threads of conversation, with advanced search\n" -" operators for fine-grained control." -msgstr "Zulip的搜索功能既快捷又智能,可以帮助您搜索文本、用户及话题;还支持使用高级的搜索运算符进行精准查找。" - -#: templates/zerver/features.html:37 -msgid "Team presence" -msgstr "" - -#: templates/zerver/features.html:38 -msgid "See who is online at a glance." -msgstr "扫一眼就可以看到谁在线。" - -#: templates/zerver/features.html:42 -msgid "Inline image, video, and tweet previews" -msgstr "图片、视频和推特即时预览" - -#: templates/zerver/features.html:43 -msgid "" -"Send a link and we'll automatically generate an inline\n" -" preview." -msgstr "发送一个链接,Zulip会自动生成内容预览。" - -#: templates/zerver/features.html:48 -msgid "Drag-and-drop file uploads" -msgstr "拖放式文件上传" - -#: templates/zerver/features.html:49 -msgid "" -"Drag a file into the compose box and we'll upload and\n" -" preview it for you. Sharing and discussing work with team\n" -" mates has never been easier." -msgstr "拖放一个文件到消息框,Zulip会自动上传,并生成预览;和同事间的交流与分享从未如此简单。" - -#: templates/zerver/features.html:55 -msgid "@-notifications" -msgstr "@-提醒" - -#: templates/zerver/features.html:56 -msgid "" -"Want someone's attention in a conversation? @-notify them\n" -" and they'll be right over." -msgstr "想在对话中提醒某些人注意?用@提醒他们即可。" - -#: templates/zerver/features.html:61 -msgid "Stream-wide announcements" -msgstr "频道内公告" - -#: templates/zerver/features.html:62 -msgid "" -"Use @all or @everyone to get the\n" -" attention of everyone in a stream." -msgstr "使用@all或者@everyone可以提醒频道内所有用户注意 。" - -#: templates/zerver/features.html:67 -msgid "Emails for important missed messages" -msgstr "离线消息邮件" - -#: templates/zerver/features.html:68 -msgid "" -"If you're missing important conversations when you're away from\n" -" Zulip, we'll send you an email summary so you're always in the\n" -" loop." -msgstr "如果您不在线并且错过了一些重要的消息,我们会给您发送一封摘要邮件以便你及时了解情况。" - -#: templates/zerver/features.html:74 -msgid "Desktop notifications" -msgstr "桌面通知" - -#: templates/zerver/features.html:75 -msgid "Configurable for private and stream messages." -msgstr "可以对私信和频道消息分别设置桌面通知功能。" - -#: templates/zerver/features.html:79 -msgid "Audible notifications" -msgstr "声音通知" - -#: templates/zerver/features.html:80 -msgid "" -"So you don't miss important messages even when your eyes\n" -" are elsewhere." -msgstr "即使注意力在其它地方,也不用担心会错过重要消息。" - -#: templates/zerver/features.html:85 -msgid "Hotkeys" -msgstr "快捷键" - -#: templates/zerver/features.html:86 -msgid "Communicate as efficiently as you use your favorite text editor." -msgstr "交流沟通方便快捷,就像使用您最喜欢的文本编辑器一样。" - -#: templates/zerver/features.html:90 -msgid "Emoji" -msgstr "表情" - -#: templates/zerver/features.html:91 -msgid "" -"Sometimes it's the simple things in life, like being able\n" -" to give a :thumbsup: while chatting." -msgstr "表情功能就像日常生活中的一个简单举动,比如在聊天时给对方给对方竖一个大拇指 :thumbsup: " - -#: templates/zerver/features.html:96 -msgid "Code" -msgstr "程序代码" - -#: templates/zerver/features.html:97 -msgid "" -"Discuss code with ease using Markdown code\n" -" blocks with syntax highlighting." -msgstr "" - -#: templates/zerver/features.html:102 -msgid "Lightweight markup" -msgstr "轻量级的标记语法" - -#: templates/zerver/features.html:103 -msgid "" -"Get bulleted lists, clickable links, and nicely-formatted\n" -" e-mail pastes automatically." -msgstr "可以编辑项目符号列表、超链接,还可以自动粘贴带格式的邮件。" - -#: templates/zerver/features.html:108 -msgid "Message editing" -msgstr "消息编辑" - -#: templates/zerver/features.html:109 -msgid "Don't worry, you can always fix that typo." -msgstr "不用担心,可以随时改正拼写错误。" - -#: templates/zerver/features.html:113 -msgid "Invite-only streams" -msgstr "私有频道" - -#: templates/zerver/features.html:114 -msgid "" -"Enjoy the benefits of threaded conversations while\n" -" controlling your audience and privacy." -msgstr "既可以体验话题会话的便利,又可以选择聊天对象并保证隐私。" - -#: templates/zerver/features.html:119 templates/zerver/left-sidebar.html:8 -msgid "Starred messages" -msgstr "星标消息" - -#: templates/zerver/features.html:120 -msgid "" -"Keep a todo list or keep track of interesting\n" -" conversations." -msgstr "可以用星标消息维护一个待办事项列表,也可以对感兴趣的对话进行持续关注。" - -#: templates/zerver/features.html:125 templates/zerver/navbar.html:94 -#: templates/zerver/navbar.html:96 -msgid "Integrations" -msgstr "应用整合" - -#: templates/zerver/features.html:126 -#, python-format -msgid "" -"Get alerts and updates from your favorite services with\n" -" off-the-shelf integrations for\n" -" Trac, Nagios, GitHub, Jenkins, and more." -msgstr "" - -#: templates/zerver/features.html:132 -msgid "API" -msgstr " 程序接口(API)" - -#: templates/zerver/features.html:133 -#, python-format -msgid "" -"Want to roll your own notifications? We've got a\n" -" dead-simple RESTful API and Python bindings\n" -" that will make integrations—both sending and\n" -" receiving—a snap!" -msgstr "想动手打造自己的应用通知吗?我们提供了非常简单的、遵循RESTful原则的 API与Python绑定案例;包括发送与接收消息。" - -#: templates/zerver/features.html:140 -msgid "Mobile apps" -msgstr "移动应用" - -#: templates/zerver/features.html:141 -msgid "" -"Check Zulip on the go with native iOS and\n" -" Android apps" -msgstr "试试在不断改进的iOS和Android平台上的原生Zulip应用。" - -#: templates/zerver/features.html:146 -msgid "Desktop apps" -msgstr "桌面应用" - -#: templates/zerver/features.html:147 -msgid "" -"Prefer Zulip in its own window and rich, OS-level notifications?\n" -" Enjoy Zulip on your desktop" -msgstr "可以试试桌面版Zulip,拥有独立的窗口和丰富的OS级别的通知功能" - -#: templates/zerver/find_my_team.html:7 -msgid "Find your team" -msgstr "" - -#: templates/zerver/find_my_team.html:33 -msgid "Enter email addresses" -msgstr "" - -#: templates/zerver/find_my_team.html:35 -msgid "Find team" -msgstr "" - -#: templates/zerver/hello.html:10 templates/zerver/login.html:16 -msgid "Zulip has been released as open source software!" -msgstr "Zulip已发布为开源软件" - -#: templates/zerver/hello.html:13 -msgid "" -"Read the announcement or go" -" to the Zulip open " -"source project website." -msgstr "阅读开源声明 或者访问Zulip开源项目网站了解更多信息。" - -#: templates/zerver/hello.html:26 -msgid "Finally, workplace chat that actually improves your productivity.*" -msgstr "简而言之,Zulip是致力于提高您工作效率的企业沟通工具。*" - -#: templates/zerver/hello.html:28 -msgid "* It's also great for sharing cat pictures." -msgstr "* 用Zulip来分享宠物照片也很赞" - -#: templates/zerver/hello.html:31 -msgid "Log in now!" -msgstr "现在登录!" - -#: templates/zerver/hello.html:33 -msgid "Register now!" -msgstr "立即注册!" - -#: templates/zerver/hello.html:44 -msgid "Make sense of your messages." -msgstr "有条不紊的对话" - -#: templates/zerver/hello.html:47 -msgid "" -"Every conversation in Zulip has a topic, so it’s\n" -" easy to keep conversations straight. Are other users discussing\n" -" a software bug and the content of your website at the same time?\n" -" No problem." -msgstr "Zulip的每个对话都有不同的话题, 这便于让群消息保持良好的条理。大家如果要同时讨论软件缺陷和网页内容而不想让对话混淆,在Zulip设置不同的话题即可。" - -#: templates/zerver/hello.html:64 -msgid "Never miss the conversations you care about." -msgstr "重点消息绝不错过" - -#: templates/zerver/hello.html:67 -msgid "" -"Sometimes, important things get discussed when you’re not\n" -" around. Unfortunately, so do a lot of unimportant things." -msgstr "有时候您不在线,大家讨论了许多重要的事情,当然也有很多您不关心的事情;" - -#: templates/zerver/hello.html:70 -msgid "" -"Zulip makes it easy to review the conversations\n" -" you missed, so you can focus on that important project\n" -" without having to catch up on how Jim’s guitar\n" -" lessons are going." -msgstr "Zulip可以让您很容易的回顾错过的消息,并帮助您将注意力放在重要的事情上,例如项目进展,而无需关注其它的事情,例如Jim的吉它课程等。" - -#: templates/zerver/hello.html:86 -msgid "Fast and powerful search." -msgstr "搜索功能快速而强大" - -#: templates/zerver/hello.html:89 -msgid "" -"An impressive amount of knowledge lives in your chat system. Zulip’s\n" -" Gmail-style search will delight you with how quickly you can find\n" -" exactly what you’re looking for." -msgstr "聊天系统中包含了海量的信息。Zulip的Gmail式的搜索功能在搜索速度与精度上绝对会让您满意。" - -#: templates/zerver/hello.html:104 -msgid "Integrations that don't intrude." -msgstr "无干扰的应用整合" - -#: templates/zerver/hello.html:107 -msgid "" -"Zulip has many\n" -" integrations and a powerful API to\n" -" match. But here’s where it gets interesting: thanks to how\n" -" Zulip categorizes messages, automated messages never overwhelm\n" -" you. As with any topic in Zulip, they’re easy to focus on,\n" -" skim, defer to later, or ignore—as appropriate." -msgstr "Zulip提供了众多的整合应用和强大的API供您参考。借助Zulip的消息归类功能,应用产生的消息会发送到指定的话题中,绝不会干扰到您。 对这些话题中消息,您可以很容易地选择关注、跳过、推迟处理或者直接忽略。" - -#: templates/zerver/hello.html:125 -msgid "As technical as you want to be." -msgstr "成为您心目中的技术范" - -#: templates/zerver/hello.html:128 -msgid "Keyboard shortcuts? Check." -msgstr "支不支持快捷键?支持。" - -#: templates/zerver/hello.html:129 -msgid "Syntax highlighting? Check." -msgstr "支不支持语法高亮?支持。" - -#: templates/zerver/hello.html:130 -msgid "Discuss code and technical topics with ease." -msgstr "轻松讨论程序代码和各种技术话题," - -#: templates/zerver/hello.html:143 -msgid "Everything else you need to be productive." -msgstr "还有成为高效人士所需要的一切" - -#: templates/zerver/hello.html:146 -msgid "" -"Drag-and-drop file uploads, image pasting, group\n" -" private messages, audible notifications, missed-message\n" -" emails, desktop apps, and everything else\n" -" you might want. Including emoji, naturally. And it's all\n" -" open source under the Apache license!" -msgstr "拖放式文件上传、图片直接粘贴、群组私信、声音提醒、离线消息邮件、桌面客户端、以及其它您想要的各种特性,当然也包括表情功能。并且所有这一切都是开源的。*Apache License" - -#: templates/zerver/hello.html:163 -msgid "On the platform of your choice." -msgstr "支持您选择的各种平台" - -#: templates/zerver/hello.html:199 -msgid "Log in now" -msgstr "现在登录" - -#: templates/zerver/hello.html:201 -msgid "Register now" -msgstr "立即注册" - -#: templates/zerver/home.html:14 -#, python-format -msgid "Welcome to %(product_name)s." -msgstr "欢迎使用%(product_name)s." - -#: templates/zerver/home.html:15 -msgid "" -"\n" -"

See, the thing about it is... there aren't any messages\n" -" here for you right now. I'm sure someone will eventually send\n" -" you one.

\n" -"\n" -"

Or, take matters into your own hands,\n" -" and \n" -" compose a new stream message.

\n" -" " -msgstr "" - -#: templates/zerver/home.html:26 -msgid "Nothing's been sent here yet!" -msgstr "这里还没有消息" - -#: templates/zerver/home.html:28 -msgid "" -"\n" -"

Why not \n" -" start the conversation?

\n" -" " -msgstr "\n

马上开始对话

" - -#: templates/zerver/home.html:34 -msgid "You have no private messages yet!" -msgstr "您没有私信" - -#: templates/zerver/home.html:36 templates/zerver/home.html:44 -#: templates/zerver/home.html:52 -msgid "" -"\n" -"

Why not \n" -" start the conversation?

\n" -" " -msgstr "\n

马上开始对话

\n " - -#: templates/zerver/home.html:42 -msgid "You have no private messages with this person yet!" -msgstr "您没有和该用户的私信" - -#: templates/zerver/home.html:50 -msgid "You have no private messages with these people yet!" -msgstr "您没有和这些用户的私信" - -#: templates/zerver/home.html:58 -msgid "You haven't received any messages sent by this user yet!" -msgstr "您没有收到该用户的消息" - -#: templates/zerver/home.html:61 -msgid "This user does not exist!" -msgstr "该用户不存在!" - -#: templates/zerver/home.html:64 -msgid "" -"You aren't subscribed to this stream and nobody has talked about that yet!" -msgstr "您没有订阅该频道,也没有人讨论过相关内容" - -#: templates/zerver/home.html:67 -msgid "Subscribe" -msgstr "订阅" - -#: templates/zerver/home.html:72 -msgid "You are not subscribed to this stream." -msgstr "" - -#: templates/zerver/home.html:75 -msgid "You haven't starred anything yet!" -msgstr "您没有星标消息" - -#: templates/zerver/home.html:78 -msgid "You haven't been mentioned yet!" -msgstr "" - -#: templates/zerver/home.html:81 -msgid "Nobody has talked about that yet!" -msgstr "没有用户讨论过相关内容" - -#: templates/zerver/index.html:53 -msgid "Loading..." -msgstr "加载中..." - -#: templates/zerver/index.html:54 -msgid "" -"If this message does not go away, please wait a couple seconds and reload the page." -msgstr "如果消息没有发送,请等待几秒钟后再刷新页面" - -#: templates/zerver/invalid_realm.html:4 -msgid "Organization does not exist" -msgstr "" - -#: templates/zerver/invalid_realm.html:7 -msgid "There is no Zulip organization hosted at this subdomain" -msgstr "该次级域名中没有部署Zulip社区服务" - -#: templates/zerver/invite_user.html:5 -#, python-format -msgid "Invite users to %(product_name)s" -msgstr "邀请新用户到%(product_name)s" - -#: templates/zerver/invite_user.html:12 -msgid "Emails (one on each line or comma-separated)" -msgstr "邮箱地址(每行一个或者用逗号分隔)" - -#: templates/zerver/invite_user.html:16 -msgid "One or more email addresses..." -msgstr "一个或多个邮箱地址..." - -#: templates/zerver/invite_user.html:24 -msgid "Streams they should join" -msgstr "指定要订阅的频道" - -#: templates/zerver/invite_user.html:29 -msgid "Cancel" -msgstr "取消" - -#: templates/zerver/invite_user.html:30 -msgid "Invite" -msgstr "邀请" - -#: templates/zerver/keyboard_shortcuts.html:5 templates/zerver/navbar.html:73 -#: templates/zerver/navbar.html:75 -msgid "Keyboard shortcuts" -msgstr "快捷键" - -#: templates/zerver/keyboard_shortcuts.html:12 -msgid "Navigation" -msgstr "导航" - -#: templates/zerver/keyboard_shortcuts.html:17 -msgid "Initiate a search" -msgstr "发起搜索" - -#: templates/zerver/keyboard_shortcuts.html:21 -#: templates/zerver/right-sidebar.html:42 -msgid "Search people" -msgstr "搜索用户" - -#: templates/zerver/keyboard_shortcuts.html:25 -#: templates/zerver/left-sidebar.html:31 -msgid "Search streams" -msgstr "搜索频道" - -#: templates/zerver/keyboard_shortcuts.html:29 -msgid "Previous message" -msgstr "上一条消息" - -#: templates/zerver/keyboard_shortcuts.html:33 -msgid "Next message" -msgstr "下一条消息" - -#: templates/zerver/keyboard_shortcuts.html:37 -msgid "Scroll up" -msgstr "向上滚动" - -#: templates/zerver/keyboard_shortcuts.html:41 -msgid "Scroll down" -msgstr "向下滚动" - -#: templates/zerver/keyboard_shortcuts.html:45 -msgid "Last message" -msgstr "最新消息" - -#: templates/zerver/keyboard_shortcuts.html:52 -msgid "Composing messages" -msgstr "写消息" - -#: templates/zerver/keyboard_shortcuts.html:57 -msgid "Reply to message" -msgstr "回复消息" - -#: templates/zerver/keyboard_shortcuts.html:61 -msgid "Reply to author" -msgstr "回复私信" - -#: templates/zerver/keyboard_shortcuts.html:73 -msgid "Send message" -msgstr "发送消息" - -#: templates/zerver/keyboard_shortcuts.html:77 -msgid "Cancel compose" -msgstr "取消编辑" - -#: templates/zerver/keyboard_shortcuts.html:81 -msgid "Compose a reply @-mentioning author" -msgstr "" - -#: templates/zerver/keyboard_shortcuts.html:90 -msgid "Narrowing" -msgstr "筛选" - -#: templates/zerver/keyboard_shortcuts.html:95 -msgid "Narrow by stream" -msgstr "按频道筛选" - -#: templates/zerver/keyboard_shortcuts.html:99 -msgid "Narrow by topic" -msgstr "按话题筛选" - -#: templates/zerver/keyboard_shortcuts.html:103 -msgid "Narrow to all private messages" -msgstr "筛选所有的私信" - -#: templates/zerver/keyboard_shortcuts.html:107 -msgid "Cycle between stream narrows" -msgstr "在频道之间切换" - -#: templates/zerver/keyboard_shortcuts.html:111 -msgid "Return to home view" -msgstr "返回主页" - -#: templates/zerver/keyboard_shortcuts.html:118 -msgid "Menus" -msgstr "菜单" - -#: templates/zerver/keyboard_shortcuts.html:123 -msgid "Open message actions menu" -msgstr "打开消息操作菜单" - -#: templates/zerver/keyboard_shortcuts.html:127 -msgid "Edit a message you sent" -msgstr "编辑您发送的消息" - -#: templates/zerver/keyboard_shortcuts.html:131 -msgid "Show these keyboard shortcuts" -msgstr "显示快捷键帮助" - -#: templates/zerver/keyboard_shortcuts.html:137 -#: templates/zerver/markdown_help.html:110 -#: templates/zerver/search_operators.html:93 -msgid "Close" -msgstr "关闭" - -#: templates/zerver/left-sidebar.html:6 -msgid "Home" -msgstr "主页" - -#: templates/zerver/left-sidebar.html:7 -msgid "Private messages" -msgstr "私信" - -#: templates/zerver/left-sidebar.html:9 -msgid "@-mentions" -msgstr "@我的" - -#: templates/zerver/left-sidebar.html:12 -msgid "Subscribed streams" -msgstr "" - -#: templates/zerver/left-sidebar.html:12 -msgid "STREAMS" -msgstr "频道" - -#: templates/zerver/left-sidebar.html:14 -msgid "Subscribe, add, or configure streams" -msgstr "" - -#: templates/zerver/left-sidebar.html:16 -msgid "Filter streams list" -msgstr "" - -#: templates/zerver/left-sidebar.html:18 -msgid "Join stream" -msgstr "" - -#: templates/zerver/left-sidebar.html:25 -msgid "All streams" -msgstr "所有频道" - -#: templates/zerver/left-sidebar.html:37 -msgid "SHARE THE LOVE" -msgstr "分享Zulip" - -#: templates/zerver/left-sidebar.html:41 -msgid "" -"Thanks! A hand-crafted, artisanal invite is on the way." -msgstr "感谢!一封手工制作的艺术邀请函已经发送。" - -#: templates/zerver/left-sidebar.html:45 -msgid "" -"Know someone who would love Zulip for their company or group? Invite 'em!" -msgstr "知道哪些团队或者公司想要使用Zulip吗?邀请一下他们吧!" - -#: templates/zerver/left-sidebar.html:50 -msgid "" -"We'll have more invites for you soon, but\n" -" for now, enjoy this song\n" -" that expresses how we feel when you're\n" -" logged out." -msgstr "很快我们还会给您发送邀请哦,不过现在可以听听这首歌,它表达了\n此时我们的心情。" - -#: templates/zerver/left-sidebar.html:66 -msgid "invites remaining" -msgstr "邀请其余人" - -#: templates/zerver/login.html:18 -msgid "" -"\n" -" \n" -" Read the announcement or go to the Zulip open source project website.\n" -" \n" -" " -msgstr "\n阅读开源声明或者访问Zulip开源项目网站\n \n " - -#: templates/zerver/login.html:47 -msgid "Zulip Dev Login" -msgstr "Zulip开发者登录" - -#: templates/zerver/login.html:49 -msgid "Choose a user:" -msgstr "选择用户:" - -#: templates/zerver/login.html:52 -msgid "You look familiar." -msgstr "我们似曾相识" - -#: templates/zerver/login.html:59 -msgid "Sign in with SSO" -msgstr "一键式登录" - -#: templates/zerver/login.html:68 -msgid "Zulip is not currently available for your domain." -msgstr "您的Zulip域名不可用" - -#: templates/zerver/login.html:79 -msgid "" -"You've already registered with this email address. Please log in below." -msgstr "您已经用这个邮箱注册过,请直接在下面登录" - -#: templates/zerver/login.html:115 templates/zerver/register.html:53 -#: templates/zerver/reset_confirm.html:27 -msgid "Password" -msgstr "密码" - -#: templates/zerver/login.html:126 -msgid "Forgot password?" -msgstr "忘记密码?" - -#: templates/zerver/login.html:139 -msgid "or Choose a user" -msgstr "或者换一个用户" - -#: templates/zerver/login.html:142 -msgid "Administrators" -msgstr "管理员" - -#: templates/zerver/login.html:147 -msgid "Normal users" -msgstr "普通用户" - -#: templates/zerver/login.html:152 -msgid "Community users" -msgstr "" - -#: templates/zerver/login.html:163 -msgid "Sign in with Google" -msgstr "用Google帐户登录" - -#: templates/zerver/login.html:170 -msgid "Sign in with GitHub" -msgstr "用GitHub帐户登录" - -#: templates/zerver/markdown_help.html:5 templates/zerver/navbar.html:78 -#: templates/zerver/navbar.html:80 -msgid "Message formatting" -msgstr "消息语法格式" - -#: templates/zerver/markdown_help.html:11 -msgid "You type" -msgstr "输入" - -#: templates/zerver/markdown_help.html:12 -msgid "You get" -msgstr "结果" - -#: templates/zerver/markdown_help.html:85 -msgid "You can also make a code block by indenting each line with 4 spaces." -msgstr "每行缩进四个空格也可以形成代码块" - -#: templates/zerver/markdown_help.html:99 -msgid "" -"You can also make tables\n" -" with this Markdown-ish\n" -" table syntax" -msgstr "使用标记语法形成表格" - -#: templates/zerver/navbar.html:24 -msgid "Search" -msgstr "搜索" - -#: templates/zerver/navbar.html:52 templates/zerver/navbar.html:54 -msgid "Manage streams" -msgstr "" - -#: templates/zerver/navbar.html:57 templates/zerver/navbar.html:59 -msgid "Settings" -msgstr "设置" - -#: templates/zerver/navbar.html:62 templates/zerver/navbar.html:64 -msgid "Administration" -msgstr "管理社区" - -#: templates/zerver/navbar.html:68 templates/zerver/navbar.html:70 -#: templates/zerver/portico.html:77 -msgid "User documentation" -msgstr "" - -#: templates/zerver/navbar.html:83 templates/zerver/navbar.html:85 -#: templates/zerver/search_operators.html:5 -msgid "Search operators" -msgstr "" - -#: templates/zerver/navbar.html:89 templates/zerver/navbar.html:91 -msgid "Desktop & mobile apps" -msgstr "桌面&移动应用" - -#: templates/zerver/navbar.html:99 templates/zerver/navbar.html:101 -msgid "API documentation" -msgstr "API文档" - -#: templates/zerver/navbar.html:106 templates/zerver/navbar.html:108 -msgid "Feedback" -msgstr "反馈" - -#: templates/zerver/navbar.html:113 -#, python-format -msgid "Invite more users to %(product_name)s." -msgstr "" - -#: templates/zerver/navbar.html:115 -msgid "Invite users" -msgstr "邀请用户" - -#: templates/zerver/navbar.html:121 -#, python-format -msgid "" -"Grant %(product_name)s the Kerberos tickets needed to run your Zephyr mirror" -" via Webathena" -msgstr "" - -#: templates/zerver/navbar.html:123 -msgid "Link with Webathena" -msgstr "链接Webathena" - -#: templates/zerver/navbar.html:127 templates/zerver/navbar.html:129 -msgid "Log out" -msgstr "退出" - -#: templates/zerver/navbar.html:133 templates/zerver/navbar.html:135 -msgid "Debug" -msgstr "故障诊断" - -#: templates/zerver/portico.html:29 templates/zerver/portico.html:82 -msgid "Log in" -msgstr "登录" - -#: templates/zerver/portico.html:34 -msgid "Log In" -msgstr "登录" - -#: templates/zerver/portico.html:36 templates/zerver/portico.html:88 -#: templates/zerver/register.html:188 -msgid "Register" -msgstr "注册" - -#: templates/zerver/portico.html:59 -msgid "About" -msgstr "关于Zulip" - -#: templates/zerver/portico.html:69 -msgid "Legal" -msgstr "法律信息" - -#: templates/zerver/portico.html:71 -msgid "Privacy" -msgstr "隐私政策" - -#: templates/zerver/portico.html:75 -msgid "Features" -msgstr "" - -#: templates/zerver/portico.html:92 -msgid "Create new organization" -msgstr "创建新社区" - -#: templates/zerver/portico.html:97 -msgid "Find my team" -msgstr "" - -#: templates/zerver/realm_creation_failed.html:8 -msgid "" -"This server does not allow members of the public to create new " -"organizations." -msgstr "该服务器已设置不允许普通用户创建团队" - -#: templates/zerver/realm_creation_failed.html:9 -msgid "" -"Zulip is open source, so you can install your own Zulip server by following " -"the instructions on www.zulip.org" -msgstr "Zulip是开源软件;您可以按照www.zulip.org上的说明建立自己的Zulip服务器" - -#: templates/zerver/register.html:18 -msgid "" -"\n" -"

You're almost there.

\n" -"

\n" -" We just need you to do one last thing.\n" -"

\n" -" " -msgstr "\n

马上就好

\n

\n还有最后一件事情\n

\n " - -#: templates/zerver/register.html:35 -msgid "Full name" -msgstr "名字" - -#: templates/zerver/register.html:61 -msgid "" -"This is used for mobile applications and other tools that require a " -"password." -msgstr "" - -#: templates/zerver/register.html:71 templates/zerver/reset_confirm.html:42 -msgid "Password strength" -msgstr "密码强度" - -#: templates/zerver/register.html:79 -msgid "Organization name" -msgstr "社区名称" - -#: templates/zerver/register.html:81 -msgid "Acme" -msgstr "" - -#: templates/zerver/register.html:90 -msgid "This can be changed later on the settings page." -msgstr "" - -#: templates/zerver/register.html:97 -msgid "Subdomain" -msgstr "次级域名" - -#: templates/zerver/register.html:99 -msgid "Short Name" -msgstr "" - -#: templates/zerver/register.html:104 -msgid "acme" -msgstr "" - -#: templates/zerver/register.html:118 -msgid "The address you'll use to sign in to your organization." -msgstr "地址,用于登录您的团队" - -#: templates/zerver/register.html:120 -msgid "A short, unique name for your organization, with no spaces." -msgstr "" - -#: templates/zerver/register.html:126 -msgid "Organization Type" -msgstr "社区类型" - -#: templates/zerver/register.html:140 -msgid "" -"\n" -" Create a corporate organization if your users will be members of the\n" -" same company, where the privacy expectation is that the company's\n" -" organization administrators may need to have access to your users'\n" -" private message history. Zulip features that allow organization\n" -" administrators to take control of accounts or access private message\n" -" history for other users are only available to corporate organizations.\n" -" " -msgstr "" - -#: templates/zerver/register.html:150 -msgid "" -"\n" -" Create a community organization for an open source project, social\n" -" group, or other community where the privacy expectation is that you\n" -" and other organization administrators won't have access to your users'\n" -" private message history. Zulip features that allow organization\n" -" administrators to take control of accounts or access private message\n" -" history for other users are disabled in community organizations.\n" -" " -msgstr "" - -#: templates/zerver/register.html:177 -#, python-format -msgid "" -"I agree to the Terms of " -"Service." -msgstr "我同意服务条款." - -#: templates/zerver/reset.html:5 templates/zerver/reset_confirm.html:13 -msgid "Reset your password." -msgstr "重设您的密码" - -#: templates/zerver/reset.html:25 -msgid "Reset password" -msgstr "" - -#: templates/zerver/reset_confirm.html:50 -msgid "Confirm password" -msgstr "确认密码" - -#: templates/zerver/reset_confirm.html:74 -msgid "Sorry, the link you provided is invalid or has already been used." -msgstr "对不起,您提供的链接不正确,或者已经使用过了" - -#: templates/zerver/reset_done.html:3 -msgid "We've reset your password!" -msgstr "您的密码已重设!" - -#: templates/zerver/reset_done.html:4 -#, python-format -msgid "Please log in." -msgstr "请登录" - -#: templates/zerver/reset_emailed.html:3 -msgid "" -"\n" -"

We just sent you a password reset!

\n" -"

Check your email to finish the process.

\n" -"

(Or don't, but then why did you fill out this form?)

\n" -msgstr "\n

给您发送了密码重设邮件

\n

请查收邮件

\n

(如果不需要重设密码,则不必填写此表单)

\n" - -#: templates/zerver/right-sidebar.html:4 -#, python-format -msgid "" -"Unable to connect to %(product_name)s. Updates may be " -"delayed." -msgstr "无法连接%(product_name)s 消息更新会推迟" - -#: templates/zerver/right-sidebar.html:5 templates/zerver/right-sidebar.html:9 -msgid "Retrying soon..." -msgstr "稍后重试..." - -#: templates/zerver/right-sidebar.html:5 -msgid "Try now." -msgstr "立即连接" - -#: templates/zerver/right-sidebar.html:8 -#, python-format -msgid "" -"Unable to connect to %(product_name)s. Could not fetch " -"messages." -msgstr "无法连接%(product_name)s 无法获取消息" - -#: templates/zerver/right-sidebar.html:34 -msgid "Send feedback" -msgstr "发送反馈" - -#: templates/zerver/right-sidebar.html:40 -msgid "USERS" -msgstr "用户" - -#: templates/zerver/right-sidebar.html:45 -msgid "Invite more users" -msgstr "邀请更多用户" - -#: templates/zerver/right-sidebar.html:50 -msgid "GROUP PMs" -msgstr "私信群组" - -#: templates/zerver/search_operators.html:11 -msgid "Operator" -msgstr "操作符" - -#: templates/zerver/search_operators.html:12 -msgid "Effect" -msgstr "作用" - -#: templates/zerver/search_operators.html:17 -msgid "Narrow to messages on stream" -msgstr "搜索指定频道:" - -#: templates/zerver/search_operators.html:21 -msgid "Narrow to messages with topic" -msgstr "搜索指定话题:" - -#: templates/zerver/search_operators.html:25 -msgid "Narrow to private messages with" -msgstr "搜索和指定用户的私信:" - -#: templates/zerver/search_operators.html:29 -msgid "Narrow to messages sent by" -msgstr "搜索指定用户发送的消息:" - -#: templates/zerver/search_operators.html:33 -msgid "Narrow to messages sent by you." -msgstr "搜索自己发送的消息" - -#: templates/zerver/search_operators.html:37 -msgid "Center the view around message ID" -msgstr "视图围绕该消息ID居中:" - -#: templates/zerver/search_operators.html:41 -msgid "Narrow to just message ID" -msgstr "搜索消息ID:" - -#: templates/zerver/search_operators.html:46 -msgid "Narrow to messages with alert words." -msgstr "搜索含提示词的消息" - -#: templates/zerver/search_operators.html:49 -msgid "Narrow to messages that mention you." -msgstr "搜索@我的消息" - -#: templates/zerver/search_operators.html:53 -msgid "Narrow to private messages." -msgstr "搜索私信" - -#: templates/zerver/search_operators.html:57 -msgid "Narrow to starred messages." -msgstr "搜索星标消息" - -#: templates/zerver/search_operators.html:61 -msgid "Narrow to messages containing links." -msgstr "搜索包含链接的消息" - -#: templates/zerver/search_operators.html:65 -msgid "Narrow to messages containing images." -msgstr "搜索包含图片的消息" - -#: templates/zerver/search_operators.html:69 -msgid "Narrow to messages containing uploads." -msgstr "搜索包含附件的消息" - -#: templates/zerver/search_operators.html:73 -msgid "" -"Search for keyword in the topic or " -"message content " -msgstr "搜索含关键字\"keyword\"的话题和消息" - -#: templates/zerver/search_operators.html:77 -msgid "Exclude messages with topic topic" -msgstr "搜索话题\"topic\"以外的消息" - -#: templates/zerver/search_operators.html:80 -msgid "" -"\n" -"

You can use any combination of these search operators in a single query. For example:

\n" -"\n" -"

  stream:streamname\n" -" sender:user@example.com\n" -" keyword

\n" -"\n" -"

would search for messages sent by user@example.com to stream\n" -" streamname\n" -" containing the keyword keyword.

\n" -" " -msgstr "\n

搜索时,您可以任意组合使用这些操作符。例如:

\n\n

  stream:streamname\n sender:user@example.com\n keyword

\n\n

会搜索这些消息:发送人是user@example.com,频道是streamname,并且含关键字keyword

\n " - -#: templates/zerver/tutorial_finale.html:4 -#, python-format -msgid "Welcome to %(product_name)s" -msgstr "欢迎使用%(product_name)s" - -#: templates/zerver/tutorial_finale.html:7 -#, python-format -msgid "" -"Streams, topics, and narrowing make %(product_name)s conversations\n" -" efficient and productive." -msgstr "频道、话题以及消息筛选等特性使%(product_name)s的沟通效率更高且更有成效。" - -#: templates/zerver/tutorial_finale.html:10 -msgid "That's all there is to it, so let's get started!" -msgstr "介绍完毕,让我们开始吧!" - -#: templates/zerver/tutorial_finale.html:13 -msgid "Get started" -msgstr "开始" - -#: templates/zerver/unsubscribe_link_error.html:5 -msgid "Unknown email unsubscribe request" -msgstr "未知的邮件退订请求" - -#: templates/zerver/unsubscribe_link_error.html:7 -msgid "" -"Hi there! It looks like you tried to unsubscribe from something, but we don't\n" -"recognize the URL." -msgstr "Hi!看起来您要退订某些东西,但是我们不认识这个URL地址。" - -#: templates/zerver/unsubscribe_link_error.html:10 -#, python-format -msgid "" -"Please double-check that you have the full URL and try again, or email" -" us and we'll get this squared away!" -msgstr "请点击您的URL地址重试一次,或者邮件我们,我们会帮您搞定!" - -#: templates/zerver/unsubscribe_success.html:5 -msgid "Email settings updated" -msgstr "邮件设置已更新" - -#: templates/zerver/unsubscribe_success.html:7 -#, python-format -msgid "" -"We've updated your email subscription settings, and you won't get " -"%(subscription_type)s emails anymore." -msgstr "您的邮件订阅设置已更新,您将不会收到%(subscription_type)s的订阅邮件。" - -#: templates/zerver/unsubscribe_success.html:9 -#, python-format -msgid "" -"To undo this change or review your other subscription settings, please visit" -" your Zulip Settings page" -msgstr "如需撤销修改或者查看其它的订阅设置,请访问Zulip设置页面" - -#: templates/zerver/zulipchat_migration_tos.html:1 -msgid "Welcome! We think you'll like it here." -msgstr "欢迎!相信您会喜欢上这里" - -#: templates/zerver/zulipchat_migration_tos.html:5 -msgid "" -"\n" -"

Your organization has been migrated from zulip.com to zulipchat.com! New service, same great conversation. We just need you to do one last thing.

\n" -"

Accept the Zulip terms of service

\n" -" " -msgstr "\n

您的团队已经从zulip.com迁移至zulipchat.com;服务更新,品质不变,请您完成最后一项

\n

接受Zulip服务条款

\n " - -#: zerver/decorator.py:116 zerver/lib/emoji.py:23 -msgid "Must be a realm administrator" -msgstr "用户身份必须是管理员" - -#: zerver/decorator.py:173 -#, python-format -msgid "Invalid user: %s" -msgstr "用户不正确: %s" - -#: zerver/decorator.py:175 -#, python-format -msgid "Invalid deployment: %s" -msgstr "安装不正确: %s" - -#: zerver/decorator.py:179 -#, python-format -msgid "" -"Incorrect API key length (keys should be 32 characters long) for role '%s'" -msgstr "用户'%s'的API码长度不正确(长度应当是32个字符)" - -#: zerver/decorator.py:182 -#, python-format -msgid "Invalid API key for role '%s'" -msgstr "用户'%s'的API码不正确" - -#: zerver/decorator.py:185 zerver/decorator.py:223 zerver/decorator.py:439 -msgid "Account not active" -msgstr "帐户未激活" - -#: zerver/decorator.py:187 -msgid "Account is not valid to post webhook messages" -msgstr "发送Webhook的帐户不正确" - -#: zerver/decorator.py:190 zerver/decorator.py:225 zerver/decorator.py:441 -msgid "Realm for account has been deactivated" -msgstr "用户所在的社区已关闭" - -#: zerver/decorator.py:201 zerver/decorator.py:229 zerver/decorator.py:451 -msgid "Account is not associated with this subdomain" -msgstr "帐户未与任何次级域关联" - -#: zerver/decorator.py:221 -msgid "Invalid API key" -msgstr "API码不正确" - -#: zerver/decorator.py:375 -msgid "Only Basic authentication is supported." -msgstr "仅支持基本认证" - -#: zerver/decorator.py:378 -msgid "Invalid authorization header for basic auth" -msgstr "基本认证的授权头不正确" - -#: zerver/decorator.py:436 -msgid "Not logged in" -msgstr "未登录" - -#: zerver/decorator.py:443 -msgid "Webhook bots can only access webhooks" -msgstr "WebHook机器人只能访问Webhook内容" - -#: zerver/decorator.py:509 -msgid "Access denied" -msgstr "访问被拒绝" - -#: zerver/forms.py:39 -#, python-format -msgid "" -"The organization with the domain already exists. Please register your " -"account here." -msgstr "团队已经存在。请点击注册帐户" - -#: zerver/forms.py:76 -msgid "Subdomain needs to have length 3 or greater." -msgstr "" - -#: zerver/forms.py:77 -msgid "Subdomain cannot start or end with a '-'." -msgstr "" - -#: zerver/forms.py:78 -msgid "Subdomain can only have lowercase letters, numbers, and '-'s." -msgstr "" - -#: zerver/forms.py:79 -msgid "Subdomain unavailable. Please choose a different one." -msgstr "" - -#: zerver/forms.py:82 -msgid "Short name needs at least 3 characters." -msgstr "" - -#: zerver/forms.py:83 -msgid "Short name cannot start or end with a '-'." -msgstr "" - -#: zerver/forms.py:84 -msgid "Short name can only have lowercase letters, numbers, and '-'s." -msgstr "" - -#: zerver/forms.py:85 -msgid "Short name unavailable. Please choose a different one." -msgstr "" - -#: zerver/forms.py:127 -msgid "The organization you are trying to join does not exist." -msgstr "" - -#: zerver/forms.py:129 -msgid "Your email address does not correspond to any existing organization." -msgstr "" - -#: zerver/forms.py:132 -msgid "Please request an invite from the organization administrator." -msgstr "" - -#: zerver/forms.py:136 -#, python-format -msgid "" -"The organization you are trying to join, %(string_id)s, only allows users " -"with e-mail addresses within the organization. Please try a different e-mail" -" address." -msgstr "" - -#: zerver/forms.py:148 -msgid "Please use your real email address." -msgstr "" - -#: zerver/lib/actions.py:767 -msgid "Unable to render message" -msgstr "不能渲染消息" - -#: zerver/lib/actions.py:1038 -msgid "Missing parameter: 'to' (recipient)" -msgstr "" - -#: zerver/lib/actions.py:1040 -msgid "Invalid 'op' value (should be start or stop)" -msgstr "" - -#: zerver/lib/actions.py:1102 -#, python-format -msgid "Invalid email '%s'" -msgstr "邮箱不正确 '%s'" - -#: zerver/lib/actions.py:1105 -#, python-format -msgid "'%s' is no longer using Zulip." -msgstr "'%s'不再使用Zulip了。" - -#: zerver/lib/actions.py:1111 zerver/lib/actions.py:3669 -#: zerver/views/messages.py:817 zerver/views/messages.py:824 -#: zerver/views/messages.py:849 -msgid "User not authorized for this query" -msgstr "用户没有授权本次查询" - -#: zerver/lib/actions.py:1114 -msgid "You can't send private messages outside of your organization." -msgstr "您不能发送私信到社区以外" - -#: zerver/lib/actions.py:1190 zerver/lib/streams.py:66 -#, python-format -msgid "Invalid stream name '%s'" -msgstr "" - -#: zerver/lib/actions.py:1192 -#, python-format -msgid "Stream name too long (limit: %s characters)" -msgstr "" - -#: zerver/lib/actions.py:1254 -msgid "Message must have recipients" -msgstr "消息必须指定接收人" - -#: zerver/lib/actions.py:1256 -msgid "Message must not be empty" -msgstr "消息不能为空" - -#: zerver/lib/actions.py:1264 -msgid "Cannot send to multiple streams" -msgstr "不能发送到多个频道" - -#: zerver/lib/actions.py:1270 -msgid "Missing topic" -msgstr "话题不存在" - -#: zerver/lib/actions.py:1273 zerver/views/messages.py:913 -msgid "Topic can't be empty" -msgstr "话题不能为空" - -#: zerver/lib/actions.py:1281 -#, python-format -msgid "Stream '%(stream_name)s' does not exist" -msgstr "" - -#: zerver/lib/actions.py:1299 -#, python-format -msgid "Not authorized to send to stream '%s'" -msgstr "没有权限向频道'%s'发送消息" - -#: zerver/lib/actions.py:1311 -msgid "Invalid message type" -msgstr "消息类型不正确" - -#: zerver/lib/actions.py:1424 -msgid "You cannot get subscribers for public streams in this realm" -msgstr "您不能获取指定社区的公开频道的用户" - -#: zerver/lib/actions.py:1427 -msgid "Unable to retrieve subscribers for invite-only stream" -msgstr "不能获取私有频道的用户" - -#: zerver/lib/actions.py:1933 zerver/views/users.py:70 -#: zerver/views/users.py:83 zerver/views/users.py:99 zerver/views/users.py:155 -#: zerver/views/users.py:204 -msgid "Insufficient permission" -msgstr "权限不足" - -#: zerver/lib/actions.py:2545 zerver/lib/actions.py:2547 -#: zerver/lib/message.py:277 zerver/lib/message.py:288 -#: zerver/lib/message.py:293 zerver/lib/message.py:297 -msgid "Invalid message(s)" -msgstr "消息不正确" - -#: zerver/lib/actions.py:3320 -msgid "Could not allocate event queue" -msgstr "无法分配事件队列" - -#: zerver/lib/actions.py:3446 -msgid "Invalid address." -msgstr "地址不正确" - -#: zerver/lib/actions.py:3449 -msgid "Outside your domain." -msgstr "不属于该社区" - -#: zerver/lib/actions.py:3464 -msgid "Already has an account." -msgstr "帐户已经存在" - -#: zerver/lib/actions.py:3491 -msgid "Some emails did not validate, so we didn't send any invitations." -msgstr "一些邮箱没有通过验证,因此我们没有发送邀请" - -#: zerver/lib/actions.py:3497 -msgid "We weren't able to invite anyone." -msgstr "没有邀请任何人" - -#: zerver/lib/actions.py:3518 -msgid "" -"Some of those addresses are already using Zulip, so we didn't send them an " -"invitation. We did send invitations to everyone else!" -msgstr "有部分地址已经在使用Zulip,因此没有向他们发送邀请;其余地址已经发送!" - -#: zerver/lib/domains.py:10 -msgid "Domain can't be empty." -msgstr "" - -#: zerver/lib/domains.py:12 -msgid "Domain must have at least one dot (.)" -msgstr "" - -#: zerver/lib/domains.py:14 -msgid "Domain cannot start or end with a dot (.)" -msgstr "" - -#: zerver/lib/domains.py:17 -msgid "Consecutive '.' are not allowed." -msgstr "" - -#: zerver/lib/domains.py:19 -msgid "Subdomains cannot start or end with a '-'." -msgstr "" - -#: zerver/lib/domains.py:21 -msgid "Domain can only have letters, numbers, '.' and '-'s." -msgstr "" - -#: zerver/lib/emoji.py:18 -#, python-format -msgid "Emoji '%s' does not exist" -msgstr "" - -#: zerver/lib/emoji.py:29 zerver/models.py:345 -msgid "Invalid characters in emoji name" -msgstr "" - -#: zerver/lib/error_notify.py:133 -msgid "Invalid type parameter" -msgstr "参数类型不正确" - -#: zerver/lib/narrow.py:12 -#, python-format -msgid "Operator %s not supported." -msgstr "不支持操作符:%s" - -#: zerver/lib/request.py:28 -#, python-format -msgid "Missing '%s' argument" -msgstr "缺少参数:'%s'" - -#: zerver/lib/request.py:37 -#, python-format -msgid "Bad value for '%(var_name)s': %(value)s" -msgstr "错误值:'%(var_name)s': %(value)s" - -#: zerver/lib/request.py:78 -msgid "converter and validator are mutually exclusive" -msgstr "converter and validator are mutually exclusive" - -#: zerver/lib/request.py:126 -msgid "Malformed JSON" -msgstr "JSON格式不正确" - -#: zerver/lib/request.py:131 -msgid "Invalid argument type" -msgstr "参数类型不正确" - -#: zerver/lib/request.py:157 -#, python-format -msgid "argument \"%s\" is not valid json." -msgstr "参数\"%s\"不是合法的json" - -#: zerver/lib/rest.py:110 zerver/lib/rest.py:113 -msgid "Not logged in: API authentication or user session required" -msgstr "未登录:提供用户会话或者API认证" - -#: zerver/lib/streams.py:49 -msgid "Invalid stream id" -msgstr "" - -#: zerver/lib/streams.py:62 -#, python-format -msgid "Stream name '%s' is already taken" -msgstr "" - -#: zerver/lib/streams.py:143 -msgid "User cannot create streams." -msgstr "用户不能创建频道" - -#: zerver/lib/streams.py:145 -#, python-format -msgid "Stream(s) (%s) do not exist" -msgstr "频道(%s)不存在" - -#: zerver/lib/upload.py:404 -msgid "" -"The upload was not successful. Please reupload the file again in a new " -"message." -msgstr "上传不成功。请在新消息中重新上传文件" - -#: zerver/lib/validator.py:38 -#, python-format -msgid "%s is not a string" -msgstr "%s不是字符串" - -#: zerver/lib/validator.py:44 -#, python-format -msgid "%s is not an integer" -msgstr "%s不是整数类型" - -#: zerver/lib/validator.py:50 -#, python-format -msgid "%s is not a boolean" -msgstr "%s不是布尔类型" - -#: zerver/lib/validator.py:68 -#, python-format -msgid "%s is not a list" -msgstr "%s不是列表" - -#: zerver/lib/validator.py:71 -#, python-format -msgid "%(container)s should have exactly %(length)s items" -msgstr "%(container)s应当包含%(length)s个子项" - -#: zerver/lib/validator.py:89 -#, python-format -msgid "%s is not a dict" -msgstr "%s不是字典类型" - -#: zerver/lib/validator.py:93 -#, python-format -msgid "%(key_name)s key is missing from %(var_name)s" -msgstr "%(var_name)s中不存在键值%(key_name)s" - -#: zerver/lib/validator.py:118 -#, python-format -msgid "%s is not an allowed_type" -msgstr "%s不是可接受的数据类型" - -#: zerver/lib/validator.py:126 -#, python-format -msgid "%(variable)s != %(expected_value)s (%(value)s is wrong)" -msgstr "%(variable)s != %(expected_value)s (%(value)s is wrong)" - -#: zerver/middleware.py:296 -msgid "Internal server error" -msgstr "服务器内部错误" - -#: zerver/middleware.py:314 -#, python-format -msgid "CSRF Error: %s" -msgstr "CSRF错误: %s" - -#: zerver/middleware.py:337 -#, python-format -msgid "API usage exceeded rate limit, try again in %s secs" -msgstr "API使用超过限速,%s秒后重试" - -#: zerver/tests/test_decorators.py:104 -msgid "13 is an unlucky number!" -msgstr "13是不吉利数字!" - -#: zerver/tests/test_subs.py:1127 -msgid "random failure" -msgstr "" - -#: zerver/tornado/event_queue.py:507 -msgid "Missing 'queue_id' argument" -msgstr "缺少参数'queue_id'" - -#: zerver/tornado/event_queue.py:510 -msgid "Missing 'last_event_id' argument" -msgstr "缺少参数'last_event_id'" - -#: zerver/tornado/event_queue.py:513 zerver/tornado/views.py:33 -#, python-format -msgid "Bad event queue id: %s" -msgstr "错误的事件队列 : %s" - -#: zerver/tornado/event_queue.py:515 -msgid "You are not authorized to get events from this queue" -msgstr "没有权限从该队列获取事件" - -#: zerver/tornado/views.py:35 -msgid "You are not authorized to access this queue" -msgstr "没有权限访问该队列" - -#: zerver/views/auth.py:102 -msgid "No REMOTE_USER set." -msgstr "未设置REMOTE_USER" - -#: zerver/views/auth.py:114 -msgid "Auth key for this subdomain not found." -msgstr "" - -#: zerver/views/auth.py:121 -msgid "No JSON web token passed in request" -msgstr "请求中未传递JSON web token " - -#: zerver/views/auth.py:123 -msgid "Bad JSON web token" -msgstr "JSON web token错误" - -#: zerver/views/auth.py:127 -msgid "No user specified in JSON web token claims" -msgstr "JSON web token声明中未指明用户" - -#: zerver/views/auth.py:130 -msgid "No realm specified in JSON web token claims" -msgstr "" - -#: zerver/views/auth.py:145 -msgid "Wrong subdomain" -msgstr "错误的次级域名" - -#: zerver/views/auth.py:394 zerver/views/auth.py:412 -msgid "Dev environment not enabled." -msgstr "未使能开发环境" - -#: zerver/views/auth.py:400 zerver/views/auth.py:438 -msgid "Your realm has been deactivated." -msgstr "您的社区已关闭" - -#: zerver/views/auth.py:403 zerver/views/auth.py:435 -msgid "Your account has been disabled." -msgstr "帐户已经停用" - -#: zerver/views/auth.py:441 -msgid "Password auth is disabled in your team." -msgstr "社区已停用密码认证" - -#: zerver/views/auth.py:446 -msgid "This user is not registered; do so from a browser." -msgstr "当前用户未注册,请从浏览器执行该动作" - -#: zerver/views/auth.py:448 zerver/views/auth.py:469 -msgid "Your username or password is incorrect." -msgstr "用户名和密码不正确" - -#: zerver/views/auth.py:476 -msgid "GOOGLE_CLIENT_ID is not configured" -msgstr "未配置GOOGLE_CLIENT_ID" - -#: zerver/views/invite.py:26 -msgid "You must specify at least one email address." -msgstr "必须指定至少一个邮箱地址" - -#: zerver/views/invite.py:32 -msgid "You must specify at least one stream for invitees to join." -msgstr "必须为被邀请者指定至少一个要订阅的频道" - -#: zerver/views/invite.py:45 -#, python-format -msgid "Stream does not exist: %s. No invites were sent." -msgstr "频道不存在:%s。没有发送邀请" - -#: zerver/views/invite.py:93 -msgid "No email address specified" -msgstr "未指定邮件地址" - -#: zerver/views/invite.py:95 -msgid "Insufficient invites" -msgstr "邀请权限不够" - -#: zerver/views/messages.py:67 -msgid "Invalid narrow operator: {}" -msgstr "筛选操作符不正确:{}" - -#: zerver/views/messages.py:697 -#, python-format -msgid "No such stream '%s'" -msgstr "频道不存在'%s'" - -#: zerver/views/messages.py:704 -#, python-format -msgid "No such topic '%s'" -msgstr "话题不存在'%s'" - -#: zerver/views/messages.py:827 -#, python-format -msgid "Unknown realm %s" -msgstr "" - -#: zerver/views/messages.py:847 -msgid "Missing sender" -msgstr "缺少发送人" - -#: zerver/views/messages.py:853 -msgid "Invalid mirrored message" -msgstr "镜像消息不正确(Invalid mirrored message)" - -#: zerver/views/messages.py:855 -msgid "Invalid mirrored realm" -msgstr "镜像域名不正确(Invalid mirrored realm)" - -#: zerver/views/messages.py:858 -msgid "IRC stream names must start with #" -msgstr "IRC频道名称必须以#开头" - -#: zerver/views/messages.py:878 -msgid "Your organization has turned off message editing." -msgstr "你的社区已经禁用消息编辑功能" - -#: zerver/views/messages.py:883 -msgid "Unknown message id" -msgstr "未知的消息ID" - -#: zerver/views/messages.py:895 -msgid "You don't have permission to edit this message" -msgstr "您没有权限编辑该消息" - -#: zerver/views/messages.py:906 -msgid "The time limit for editing this message has past" -msgstr "" - -#: zerver/views/messages.py:909 -msgid "Nothing to change" -msgstr "无需修改(Nothing to change)" - -#: zerver/views/pointer.py:30 -msgid "Invalid message ID" -msgstr "消息ID不正确" - -#: zerver/views/presence.py:29 -#, python-format -msgid "Invalid status: %s" -msgstr "" - -#: zerver/views/push_notifications.py:18 zerver/views/push_notifications.py:49 -msgid "Empty or invalid length token" -msgstr "Token为空或者长度不正确" - -#: zerver/views/push_notifications.py:55 -msgid "Token does not exist" -msgstr "Token不存在" - -#: zerver/views/reactions.py:31 -msgid "Reaction already exists" -msgstr "" - -#: zerver/views/reactions.py:52 -msgid "Reaction does not exist" -msgstr "" - -#: zerver/views/realm.py:42 zerver/views/user_settings.py:106 -#, python-format -msgid "Invalid language '%s'" -msgstr "语言不正确 '%s'" - -#: zerver/views/realm.py:59 -msgid "At least one authentication method must be enabled." -msgstr "" - -#: zerver/views/realm_aliases.py:30 -msgid "Invalid domain: {}" -msgstr "" - -#: zerver/views/realm_aliases.py:32 -#, python-format -msgid "The domain %(domain)s is already a part of your organization." -msgstr "" - -#: zerver/views/realm_aliases.py:34 -#, python-format -msgid "The domain %(domain)s belongs to another organization." -msgstr "" - -#: zerver/views/realm_aliases.py:46 -#, python-format -msgid "No entry found for domain %(domain)s." -msgstr "" - -#: zerver/views/realm_filters.py:46 -msgid "Filter not found" -msgstr "" - -#: zerver/views/registration.py:304 -msgid "New organization creation disabled." -msgstr "已禁止创建新团队" - -#: zerver/views/registration.py:307 -msgid "The organization creation link has expired or is not valid." -msgstr "" - -#: zerver/views/streams.py:102 -msgid "Stream already has that name!" -msgstr "" - -#: zerver/views/streams.py:124 -msgid "Nothing to do. Specify at least one of \"add\" or \"delete\"." -msgstr "没有动作,至少指定\"add\"或者\"delete\"" - -#: zerver/views/streams.py:164 -msgid "This action requires administrative rights" -msgstr "该操作要求管理员权限" - -#: zerver/views/streams.py:177 -msgid "Cannot administer invite-only streams this way" -msgstr "不能这样管理私有频道(管理员如果没有参与某私有频道,则不能退订该私有频道的用户)" - -#: zerver/views/streams.py:222 -#, python-format -msgid "Unable to access stream (%s)." -msgstr "不能访问频道(%s)" - -#: zerver/views/streams.py:228 -msgid "" -"You can only invite other Zephyr mirroring users to invite-only streams." -msgstr "" - -#: zerver/views/streams.py:406 -msgid "Invalid verb" -msgstr "POST方法不正确" - -#: zerver/views/streams.py:420 -#, python-format -msgid "Unknown subscription property: %s" -msgstr "未知订阅属性:%s" - -#: zerver/views/streams.py:424 -#, python-format -msgid "Not subscribed to stream %s" -msgstr "没有订阅频道%s" - -#: zerver/views/tutorial.py:30 -msgid "Bad data passed in to tutorial_send_message" -msgstr "向tutorial_send_message传递了错误数据" - -#: zerver/views/upload.py:67 -msgid "You must specify a file to upload" -msgstr "必须指定要上传的文件" - -#: zerver/views/upload.py:69 zerver/views/users.py:184 -#: zerver/views/users.py:234 -msgid "You may only upload one file at a time" -msgstr "一次只可以上传一个文件" - -#: zerver/views/upload.py:73 -#, python-format -msgid "Uploaded file is larger than the allowed limit of %s MB" -msgstr "" - -#: zerver/views/user_settings.py:60 -msgid "No new data supplied" -msgstr "" - -#: zerver/views/user_settings.py:64 -msgid "New password must match confirmation password!" -msgstr "新密码和确认密码必须一致!" - -#: zerver/views/user_settings.py:66 -msgid "Wrong password!" -msgstr "密码错误!" - -#: zerver/views/user_settings.py:92 zerver/views/users.py:112 -msgid "Name too long!" -msgstr "名字太长" - -#: zerver/views/user_settings.py:204 -msgid "You must upload exactly one avatar." -msgstr "必须上传恰好一个头像文件" - -#: zerver/views/users.py:37 zerver/views/users.py:39 zerver/views/users.py:80 -#: zerver/views/users.py:96 zerver/views/users.py:152 -#: zerver/views/users.py:201 -msgid "No such user" -msgstr "不存在该用户" - -#: zerver/views/users.py:41 zerver/views/users.py:48 -msgid "Cannot deactivate the only organization administrator" -msgstr "" - -#: zerver/views/users.py:62 zerver/views/users.py:64 -msgid "No such bot" -msgstr "机器人不存在" - -#: zerver/views/users.py:103 -msgid "Cannot remove the only organization administrator" -msgstr "" - -#: zerver/views/users.py:223 zerver/views/users.py:320 -msgid "Bad name or username" -msgstr "名字或者用户名错误" - -#: zerver/views/users.py:227 -msgid "Username already in use" -msgstr "用户名已被占用" - -#: zerver/views/users.py:327 -#, python-format -msgid "Email '%(email)s' does not belong to domain '%(domain)s'" -msgstr "邮箱'%(email)s'不属于域'%(domain)s'" - -#: zerver/views/users.py:332 -#, python-format -msgid "Email '%s' already in use" -msgstr "邮箱'%s'已经使用" - -#: zerver/views/zephyr.py:26 -msgid "Could not find Kerberos credential" -msgstr "没有找到 Kerberos凭证" - -#: zerver/views/zephyr.py:28 -msgid "Webathena login not enabled" -msgstr "" - -#: zerver/views/zephyr.py:40 -msgid "Invalid Kerberos cache" -msgstr "Kerberos缓存不正确" - -#: zerver/views/zephyr.py:51 -msgid "We were unable to setup mirroring for you" -msgstr "无法为您设立镜像服务" - -#: zerver/webhooks/airbrake/view.py:23 zerver/webhooks/bitbucket2/view.py:60 -#: zerver/webhooks/codeship/view.py:37 zerver/webhooks/crashlytics/view.py:36 -#: zerver/webhooks/delighted/view.py:33 zerver/webhooks/gosquared/view.py:28 -#: zerver/webhooks/hellosign/view.py:57 zerver/webhooks/helloworld/view.py:29 -#: zerver/webhooks/mention/view.py:26 zerver/webhooks/papertrail/view.py:41 -#: zerver/webhooks/solano/view.py:34 zerver/webhooks/stripe/view.py:156 -#: zerver/webhooks/updown/view.py:28 -msgid "Missing key {} in JSON" -msgstr "JSON中缺少键值{}" - -#: zerver/webhooks/appfollow/view.py:23 -msgid "Missing 'text' argument in JSON" -msgstr "" - -#: zerver/webhooks/freshdesk/view.py:131 zerver/webhooks/semaphore/view.py:36 -#: zerver/webhooks/semaphore/view.py:43 zerver/webhooks/semaphore/view.py:54 -#: zerver/webhooks/stash/view.py:33 -#, python-format -msgid "Missing key %s in JSON" -msgstr "JSON中缺少键值 %s" - -#: zerver/webhooks/freshdesk/view.py:140 -#, python-format -msgid "Malformed event %s" -msgstr "错误的事件%s" - -#: zerver/webhooks/ifttt/view.py:20 zerver/webhooks/zapier/view.py:20 -msgid "Subject can't be empty" -msgstr "主题不能为空" - -#: zerver/webhooks/ifttt/view.py:22 zerver/webhooks/zapier/view.py:22 -msgid "Content can't be empty" -msgstr "内容不能为空" - -#: zerver/webhooks/jira/view.py:264 -msgid "Event is not given by JIRA" -msgstr "" - -#: zerver/webhooks/jira/view.py:268 -msgid "Got JIRA event type we don't support: {}" -msgstr "" - -#: zerver/webhooks/librato/view.py:169 -msgid "Malformed JSON input" -msgstr "JSON输入格式不正确" - -#: zerver/webhooks/newrelic/view.py:34 -msgid "Unknown webhook request" -msgstr "未知的Webhook请求" - -#: zerver/webhooks/pingdom/view.py:46 -#, python-brace-format -msgid "Unsupported check_type: {check_type}" -msgstr "不支持的check_type: {check_type}" - -#: zerver/webhooks/pivotal/view.py:171 -msgid "Failed to extract data from Pivotal XML response" -msgstr "从Pivotal XML响应中提取数据失败" - -#: zerver/webhooks/pivotal/view.py:177 -msgid "Failed to extract data from Pivotal V5 JSON response" -msgstr "从Pivotal V5 JSON响应中提取数据失败" - -#: zerver/webhooks/pivotal/view.py:180 -msgid "Unable to handle Pivotal payload" -msgstr "无法处理Pivotal的payload" - -#: zerver/webhooks/stripe/view.py:159 -msgid "We don't support {} event" -msgstr "" - -#: zerver/webhooks/taiga/view.py:258 -msgid "Unknown message" -msgstr "未知的消息" - -#: zerver/webhooks/transifex/view.py:25 -msgid "Transifex wrong request" -msgstr "错误的Transifex请求" - -#: zerver/webhooks/trello/__init__.py:27 -#: zerver/webhooks/trello/view/__init__.py:27 -#, python-brace-format -msgid "Unsupported action_type: {action_type}" -msgstr "不支持的动作类型: {action_type}" - -#: zilencer/views.py:108 -msgid "Cannot determine endpoint for user." -msgstr "无法确定用户的Endpoint" diff --git a/zerver/lib/actions.py b/zerver/lib/actions.py index e4930a4f1f..5d1dce6658 100644 --- a/zerver/lib/actions.py +++ b/zerver/lib/actions.py @@ -565,12 +565,6 @@ def do_set_realm_message_editing(realm, allow_message_editing, message_content_e def do_set_realm_default_language(realm, default_language): # type: (Realm, Text) -> None - if default_language == 'zh_CN': - # NB: remove this once we upgrade to Django 1.9 - # zh-cn and zh-tw will be replaced by zh-hans and zh-hant in - # Django 1.9 - default_language = 'zh_HANS' - realm.default_language = default_language realm.save(update_fields=['default_language']) event = dict( @@ -2304,12 +2298,6 @@ def do_change_left_side_userlist(user_profile, setting_value, log=True): def do_change_default_language(user_profile, setting_value, log=True): # type: (UserProfile, Text, bool) -> None - if setting_value == 'zh_CN': - # NB: remove this once we upgrade to Django 1.9 - # zh-cn and zh-tw will be replaced by zh-hans and zh-hant in - # Django 1.9 - setting_value = 'zh_HANS' - user_profile.default_language = setting_value user_profile.save(update_fields=["default_language"]) event = {'type': 'update_display_settings', @@ -3082,12 +3070,6 @@ def fetch_initial_state_data(user_profile, event_types, queue_id): state['left_side_userlist'] = user_profile.left_side_userlist default_language = user_profile.default_language - if user_profile.default_language == 'zh_HANS': - # NB: remove this once we upgrade to Django 1.9 - # zh-cn and zh-tw will be replaced by zh-hans and zh-hant in - # Django 1.9 - default_language = 'zh_CN' - state['default_language'] = default_language if want('update_global_notifications'): diff --git a/zerver/management/commands/compilemessages.py b/zerver/management/commands/compilemessages.py index f20b7f0d69..3f0e7bc01f 100644 --- a/zerver/management/commands/compilemessages.py +++ b/zerver/management/commands/compilemessages.py @@ -47,25 +47,20 @@ class Command(compilemessages.Command): 'name': u'English', }) continue - if locale == u'zh-CN': + filename = self.get_po_filename(locale_path, locale) + if not os.path.exists(filename): continue - if locale == u'zh_CN': - name = u'Simplified Chinese' - else: - filename = self.get_po_filename(locale_path, locale) - if not os.path.exists(filename): - continue - with open(filename, 'r') as reader: - result = lang_name_re.search(reader.read()) - if result: - try: - name = result.group(1) - except Exception: - print("Problem in parsing {}".format(filename)) - raise - else: - raise Exception("Unknown language %s" % (locale,)) + with open(filename, 'r') as reader: + result = lang_name_re.search(reader.read()) + if result: + try: + name = result.group(1) + except Exception: + print("Problem in parsing {}".format(filename)) + raise + else: + raise Exception("Unknown language %s" % (locale,)) percentage = self.get_translation_percentage(locale_path, locale) @@ -87,10 +82,6 @@ class Command(compilemessages.Command): not_translated = len(po.untranslated_entries()) total = len(po.translated_entries()) + not_translated - # There is a difference between frontend and backend files for Chinese - if locale == 'zh_CN': - locale = 'zh-CN' - # frontend stats with open(self.get_json_filename(locale_path, locale)) as reader: for key, value in ujson.load(reader).items(): diff --git a/zerver/tests/test_i18n.py b/zerver/tests/test_i18n.py index 78ca96ea5a..40e8b4340c 100644 --- a/zerver/tests/test_i18n.py +++ b/zerver/tests/test_i18n.py @@ -36,7 +36,7 @@ class TranslationTestCase(ZulipTestCase): languages = [('en', u'Register'), ('de', u'Registrieren'), ('sr', u'Региструј се'), - ('zh-cn', u'注册'), + ('zh-hans', u'注册'), ] for lang, word in languages: @@ -49,7 +49,7 @@ class TranslationTestCase(ZulipTestCase): languages = [('en', u'Register'), ('de', u'Registrieren'), ('sr', u'Региструј се'), - ('zh-cn', u'注册'), + ('zh-hans', u'注册'), ] for lang, word in languages: @@ -65,14 +65,9 @@ class TranslationTestCase(ZulipTestCase): languages = [('en', u'Register'), ('de', u'Registrieren'), ('sr', u'Региструј се'), + ('zh-hans', u'注册'), ] - # 'zh-cn' was deprecated in Django 1.10 - if django.VERSION >= (1, 10): - languages.append(('zh-hans', u'注册')) - else: - languages.append(('zh-cn', u'注册')) - for lang, word in languages: response = self.fetch('get', '/{}/integrations/'.format(lang), 200) self.assert_in_response(word, response) diff --git a/zerver/tests/tests.py b/zerver/tests/tests.py index c923b66025..8231546603 100644 --- a/zerver/tests/tests.py +++ b/zerver/tests/tests.py @@ -252,15 +252,6 @@ class RealmTest(ZulipTestCase): realm = get_realm('zulip') self.assertEqual(realm.default_language, new_lang) - # Test setting zh_CN, we set zh_HANS instead of zh_CN in db - chinese = "zh_CN" - simplified_chinese = "zh_HANS" - req = dict(default_language=ujson.dumps(chinese)) - result = self.client_patch('/json/realm', req) - self.assert_json_success(result) - realm = get_realm('zulip') - self.assertEqual(realm.default_language, simplified_chinese) - # Test to make sure that when invalid languages are passed # as the default realm language, correct validation error is # raised and the invalid language is not saved in db