diff --git a/priv/msgs/zh.msg b/priv/msgs/zh.msg
index 4f5688244..5ba166bcf 100644
--- a/priv/msgs/zh.msg
+++ b/priv/msgs/zh.msg
@@ -4,22 +4,32 @@
%% https://docs.ejabberd.im/developer/extending-ejabberd/localization/
{" (Add * to the end of field to match substring)"," (在字段末尾添加 * 以匹配子字符串)"}.
+{"{{ app_name }} already installed?","已安装 {{ app_name }}?"}.
{" has set the subject to: "," 已将主题设置为: "}.
+{"{{ inviter }} has invited you to connect!","{{ inviter }} 邀请您建立联系!"}.
{"# participants","# 参与者"}.
{"A description of the node","节点的描述"}.
{"A friendly name for the node","节点的友好名称"}.
+{"A fully-featured desktop chat client for Windows and Linux.","功能齐全的 Windows 和 Linux 桌面聊天客户端。"}.
+{"A lightweight and powerful XMPP client for iPhone and iPad. It provides an easy way to talk and share moments with your friends.","适用于 iPhone 和 iPad 的轻量高效 XMPP 客户端,让您轻松与好友畅聊并分享生活瞬间。"}.
+{"A modern open-source chat client for iPhone and iPad. It is easy to use and has a clean user interface.","适用于 iPhone 和 iPad 的现代开源聊天客户端,易于使用,界面简洁。"}.
+{"A modern open-source chat client for Mac. It is easy to use and has a clean user interface.","适用于 Mac 的现代开源聊天客户端,易于使用,界面简洁。"}.
+{"A modern open-source chat client for the desktop. It focuses on providing a clean and reliable Jabber/XMPP experience while having your privacy in mind.","适用于桌面的现代开源聊天客户端,专注于提供简洁可靠的 Jabber/XMPP 体验,同时注重您的隐私。"}.
{"A password is required to enter this room","需要密码才能进入此房间"}.
{"A Web Page","网页"}.
+{"Accept invite using {{ app_name }}","使用 {{ app_name }} 接受邀请"}.
{"Accept","接受"}.
{"Access denied by service policy","服务策略拒绝访问"}.
{"Access model","访问模型"}.
{"Account doesn't exist","账号不存在"}.
{"Action on user","对用户的操作"}.
-{"Add a hat to a user","给用户添加头衔"}.
+{"Add {{ inviter }} to your contact list","将 {{ inviter }} 添加到您的联系人列表"}.
{"Add User","添加用户"}.
{"Administration of ","管理 "}.
{"Administration","管理"}.
{"Administrator privileges required","需要管理员权限"}.
+{"After clicking the button you will be taken to {{ app_name }} to finish setting up your new {{ site_name }} account.","点击按钮将跳转到 {{ app_name }}, 完成新 {{ site_name }} 账号的设置。"}.
+{"After successfully installing {{ app_name }}, come back to this page and continue with Step 2.","成功安装 {{ app_name }} 后,请返回此页面并继续执行步骤 2。"}.
{"All activity","所有活动"}.
{"All Users","所有用户"}.
{"Allow subscription","允许订阅"}.
@@ -31,13 +41,13 @@
{"Allow users to send private messages","允许用户发送私信"}.
{"Allow visitors to change nickname","允许参观者更改昵称"}.
{"Allow visitors to send private messages to","允许参观者发送私信至"}.
-{"Allow visitors to send status text in presence updates","允许参观者在在线状态更新中发送状态文本"}.
+{"Allow visitors to send status text in presence updates","允许参观者在在线状态更新中发送状态文字"}.
{"Allow visitors to send voice requests","允许参观者发送发言权请求"}.
-{"An associated LDAP group that defines room membership; this should be an LDAP Distinguished Name according to an implementation-specific or deployment-specific definition of a group.","与定义房间成员资格相关联的 LDAP 组;根据组的特定实施或特定部署的定义,使用 LDAP 专有名称。"}.
+{"An associated LDAP group that defines room membership; this should be an LDAP Distinguished Name according to an implementation-specific or deployment-specific definition of a group.","与定义房间成员资格相关联的 LDAP 组;根据组的特定实现或特定部署的定义,使用 LDAP 专有名称。"}.
{"Announcements","公告"}.
{"Answer associated with a picture","与图片相关的答案"}.
{"Answer associated with a video","与视频相关的答案"}.
-{"Answer associated with speech","与讲话相关的答案"}.
+{"Answer associated with speech","与语音相关的答案"}.
{"Answer to a question","问题的答案"}.
{"Anyone in the specified roster group(s) may subscribe and retrieve items","指定名册组中的任何人都可以订阅和检索项目"}.
{"Anyone may associate leaf nodes with the collection","任何人都可以将叶节点与集合关联"}.
@@ -49,6 +59,8 @@
{"API Commands","API 命令"}.
{"April","四月"}.
{"Arguments","参数"}.
+{"As a final reminder, your account details are shown below:","最终提醒,您的账号详情如下所示:"}.
+{"Assign a hat to a user","为用户分配头衔"}.
{"Attribute 'channel' is required for this request","此请求要求“channel”属性"}.
{"Attribute 'id' is mandatory for MIX messages","对于 MIX 消息,“id”属性是必需的"}.
{"Attribute 'jid' is not allowed here","此处不允许“jid”属性"}.
@@ -61,6 +73,8 @@
{"Backup to File at ","备份文件位于 "}.
{"Backup","备份"}.
{"Bad format","格式错误"}.
+{"BAD REQUEST","错误请求"}.
+{"Beagle IM by Tigase, Inc. is a lightweight and powerful XMPP client for macOS.","Beagle IM 由 Tigase, Inc. 开发,是适用于 macOS 的轻量高效 XMPP 客户端。"}.
{"Birthday","生日"}.
{"Both the username and the resource are required","用户名和资源均为必填项"}.
{"Bytestream already activated","字节流已激活"}.
@@ -77,24 +91,36 @@
{"Channel JID","频道 JID"}.
{"Channels","频道"}.
{"Characters not allowed:","不允许字符:"}.
+{"Chat address (JID)","聊天地址(JID)"}.
{"Chatroom configuration modified","聊天室配置已修改"}.
-{"Chatroom is created","已创建聊天室"}.
-{"Chatroom is destroyed","已解散聊天室"}.
-{"Chatroom is started","已启动聊天室"}.
-{"Chatroom is stopped","已停止聊天室"}.
+{"Chatroom is created","聊天室已创建"}.
+{"Chatroom is destroyed","聊天室已解散"}.
+{"Chatroom is started","聊天室已启动"}.
+{"Chatroom is stopped","聊天室已停止"}.
{"Chatrooms","聊天室"}.
{"Choose a username and password to register with this server","请选择要在此服务器中注册的用户名和密码"}.
+{"Choose a username, this will become the first part of your new chat address.","选择一个用户名,这将成为您新聊天地址的第一部分。"}.
{"Choose storage type of tables","选择表的存储类型"}.
{"Choose whether to approve this entity's subscription.","选择是否批准此实体的订阅。"}.
{"City","城市"}.
+{"Click the button to open the Dino website where you can download and install it on your PC.","点击按钮打开 Dino 网站,您可在电脑上下载并安装该应用。"}.
{"Client acknowledged more stanzas than sent by server","客户端确认的节数多于服务器发送的节数"}.
+{"Close","关闭"}.
{"Clustering","集群"}.
{"Commands","命令"}.
{"Conference room does not exist","会议室不存在"}.
{"Configuration of room ~s","房间 ~s 的配置"}.
{"Configuration","配置"}.
+{"Congratulations!","恭喜!"}.
{"Contact Addresses (normally, room owner or owners)","联系地址(通常为房间所有者)"}.
+{"Contacts","联系人"}.
+{"Conversations is a Jabber/XMPP client for Android 6.0+ smartphones that has been optimized to provide a unique mobile experience.","Conversations 是专为 Android 6.0 及更高版本智能手机优化的 Jabber/XMPP 客户端,提供独特的移动端体验。"}.
{"Country","国家/地区"}.
+{"Create a Hat","创建头衔"}.
+{"Create Account","创建账号"}.
+{"Create an account","创建账号"}.
+{"Creating an account will allow to communicate with other people on {{ site_name }} and other services on the XMPP network.","创建账号后,您即可与 {{ site_name }} 上的其他用户以及 XMPP 网络中的其他服务进行通信。"}.
+{"Creating an account will allow to communicate with {{ inviter }} and other people on {{ site_name }} and other services on the XMPP network.","创建账号后,您即可与 {{ inviter }}、{{ site_name }} 上的其他用户以及 XMPP 网络中的其他服务进行通信。"}.
{"Current Discussion Topic","当前讨论话题"}.
{"Database failure","数据库失败"}.
{"Database Tables Configuration at ","数据库表配置在 "}.
@@ -106,10 +132,17 @@
{"Delete User","删除用户"}.
{"Deliver event notifications","传递事件通知"}.
{"Deliver payloads with event notifications","用事件通知传递有效负载"}.
+{"Destroy a Hat","删除头衔"}.
+{"Disable User","禁用用户"}.
{"Disc only copy","仅磁盘副本"}.
{"Don't tell your password to anybody, not even the administrators of the XMPP server.","不要将您的密码告诉任何人,甚至是 XMPP 服务器的管理员。"}.
-{"Dump Backup to Text File at ","将备份转储到位于以下位置的文本文件 "}.
-{"Dump to Text File","转储到文本文件"}.
+{"Download and install {{ app_name }} below:","请下载并安装下方 {{ app_name }}:"}.
+{"Download Dino for Linux","下载适用于 Linux 的 Dino"}.
+{"Download from Mac App Store","从 Mac App Store 下载"}.
+{"Download Gajim","下载 Gajim"}.
+{"Download Renga for Haiku","下载适用于 Haiku 的 Renga"}.
+{"Dump Backup to Text File at ","将备份转储至文本文件,文件位于 "}.
+{"Dump to Text File","转储至文本文件"}.
{"Duplicated groups are not allowed by RFC6121","按照 RFC6121 的规则,不允许重复的组"}.
{"Dynamically specify a replyto of the item publisher","动态指定项目发布者的 replyto"}.
{"Edit Properties","编辑属性"}.
@@ -129,12 +162,13 @@
{"Enable message archiving","启用消息归档"}.
{"Enabling push without 'node' attribute is not supported","不支持没有“node”属性就启用推送"}.
{"End User Session","结束用户会话"}.
+{"Enter a secure password that you do not use anywhere else.","请输入一个您在其他任何地方都未使用的安全密码。"}.
{"Enter nickname you want to register","请输入要注册的昵称"}.
-{"Enter path to backup file","请输入备份文件的路径"}.
-{"Enter path to jabberd14 spool dir","请输入 jabberd14 spool 目录的路径"}.
-{"Enter path to jabberd14 spool file","请输入 jabberd14 spool 文件的路径"}.
-{"Enter path to text file","请输入文本文件的路径"}.
-{"Enter the text you see","请输入您看到的文本"}.
+{"Enter path to backup file","请输入备份文件路径"}.
+{"Enter path to jabberd14 spool dir","请输入 jabberd14 spool 目录路径"}.
+{"Enter path to jabberd14 spool file","请输入 jabberd14 spool 文件路径"}.
+{"Enter path to text file","请输入文本文件路径"}.
+{"Enter the text you see","请输入您看到的文字"}.
{"Erlang XMPP Server","Erlang XMPP 服务器"}.
{"Exclude Jabber IDs from CAPTCHA challenge","从验证码挑战中排除的 Jabber ID"}.
{"Export all tables as SQL queries to a file:","将所有表以 SQL 查询导出到文件:"}.
@@ -157,35 +191,49 @@
{"Full List of Room Admins","房间管理员的完整列表"}.
{"Full List of Room Owners","房间所有者的完整列表"}.
{"Full Name","全名"}.
+{"Get List of Active Users","获取活跃用户列表"}.
+{"Get List of Disabled Users","获取禁用用户列表"}.
+{"Get List of Idle Users","获取闲置用户列表"}.
{"Get List of Online Users","获取在线用户列表"}.
{"Get List of Registered Users","获取注册用户列表"}.
+{"Get Number of Active Users","获取活跃用户数"}.
+{"Get Number of Disabled Users","获取禁用用户数"}.
+{"Get Number of Idle Users","获取闲置用户数"}.
{"Get Number of Online Users","获取在线用户数"}.
{"Get Number of Registered Users","获取注册用户数"}.
{"Get Pending","获取待处理"}.
+{"Get started","开始"}.
{"Get User Last Login Time","获取用户上次登录时间"}.
+{"Get User Roster","获取用户名册"}.
{"Get User Statistics","获取用户统计数据"}.
{"Given Name","名字"}.
{"Grant voice to this person?","是否授予此用户发言权?"}.
{"has been banned","已被封禁"}.
-{"has been kicked because of a system shutdown","因系统关闭而被踢出"}.
-{"has been kicked because of an affiliation change","由于从属关系的更改而被踢出"}.
+{"has been kicked because of a system shutdown","因系统关闭被踢出"}.
+{"has been kicked because of an affiliation change","因从属关系更改被踢出"}.
{"has been kicked because the room has been changed to members-only","被踢出,因为房间已更改为仅成员"}.
{"has been kicked","已被踢出"}.
+{"Hash computed from the list of hats available in a room","根据房间中可用头衔列表计算的散列"}.
{"Hash of the vCard-temp avatar of this room","此房间的 vCard-temp 头像的散列"}.
+{"Hat hue","头衔色调"}.
{"Hat title","头衔标题"}.
{"Hat URI","头衔 URI"}.
{"Hats limit exceeded","已超过头衔限制"}.
+{"Hide","隐藏"}.
{"Host unknown","主机未知"}.
+{"Hostname invalid","主机名无效"}.
{"HTTP File Upload","HTTP 文件上传"}.
{"Idle connection","空闲连接"}.
+{"If you already have {{ app_name }} installed, we recommend that you continue the account creation process using the app by clicking on the button below:","如果您已安装 {{ app_name }},我们推荐您点击下方按钮,使用该应用继续完成账号创建流程:"}.
+{"If you don't have an XMPP client installed yet, here's a list of suitable clients for your platform.","如果您尚未安装 XMPP 客户端,以下是适用于您平台的推荐客户端列表。"}.
{"If you don't see the CAPTCHA image here, visit the web page.","如果您在此处没有看到验证码图片,请访问网页。"}.
{"Import Directory","导入目录"}.
{"Import File","导入文件"}.
{"Import user data from jabberd14 spool file:","从 jabberd14 Spool 文件导入用户数据:"}.
-{"Import User from File at ","从以下位置的文件导入用户 "}.
+{"Import User from File at ","从文件导入用户,文件位于 "}.
{"Import users data from a PIEFXIS file (XEP-0227):","从 PIEFXIS 文件(XEP-0227)导入用户数据:"}.
{"Import users data from jabberd14 spool directory:","从 jabberd14 spool 目录导入用户数据:"}.
-{"Import Users from Dir at ","从以下位置的目录导入用户 "}.
+{"Import Users from Dir at ","从目录导入用户,目录位于 "}.
{"Import Users From jabberd14 Spool Files","从 jabberd14 Spool 文件导入用户"}.
{"Improper domain part of 'from' attribute","“from”属性域名部分不正确"}.
{"Improper message type","消息类型不正确"}.
@@ -196,6 +244,7 @@
{"Incorrect value of 'action' in data form","数据表单中“action”的值不正确"}.
{"Incorrect value of 'path' in data form","数据表单中“path”的值不正确"}.
{"Installed Modules:","已安装的模块:"}.
+{"Installed ok? Great! Click or tap the button below to accept your invite and continue with your account setup:","安装完成?太棒了!点击下方按钮接受邀请并继续账号设置:"}.
{"Install","安装"}.
{"Insufficient privilege","权限不足"}.
{"Internal server error","内部服务器错误"}.
@@ -203,6 +252,9 @@
{"Invalid node name","节点名称无效"}.
{"Invalid 'previd' value","“previd”值无效"}.
{"Invitations are not allowed in this conference","此会议不允许邀请"}.
+{"Invite expired","邀请已过期"}.
+{"Invite to {{ site_name }}","邀请加入 {{ site_name }}"}.
+{"Invite User","邀请用户"}.
{"IP addresses","IP 地址"}.
{"is now known as","现在昵称为"}.
{"It is not allowed to send error messages to the room. The participant (~s) has sent an error message (~s) and got kicked from the room","不允许向此房间发送错误消息。参与者(~s)发送了错误消息(~s),被踢出了房间"}.
@@ -212,6 +264,7 @@
{"January","一月"}.
{"JID normalization denied by service policy","服务策略拒绝 JID 规范化"}.
{"JID normalization failed","JID 规范化失败"}.
+{"Join {{ site_name }} with {{ app_name }}","加入 {{ site_name }} 使用 {{ app_name }}"}.
{"Joined MIX channels of ~ts","加入了 ~ts 的 MIX 频道"}.
{"Joined MIX channels:","加入了 MIX 频道:"}.
{"joins the room","加入房间"}.
@@ -223,10 +276,13 @@
{"Last message","最后一条消息"}.
{"Last month","上个月"}.
{"Last year","去年"}.
+{"Launch {{ app_name }} and sign in using your account credentials.","启动 {{ app_name }} 并使用您的账号凭据登录。"}.
+{"Launch Beagle IM, and select 'Yes' to add a new account. Click the '+' button under the empty account list and then enter your credentials.","启动 Beagle IM,然后选择“是”添加新账号。点击空白账号列表下方的“+”按钮,然后输入您的凭据。"}.
{"Least significant bits of SHA-256 hash of text should equal hexadecimal label","文本的 SHA-256 散列的最低有效位应等于十六进制标签"}.
{"leaves the room","离开房间"}.
-{"List of users with hats","有头衔的用户列表"}.
+{"List of Hats","头衔列表"}.
{"List users with hats","列出有头衔的用户"}.
+{"Log in via web","通过网页登录"}.
{"Logged Out","已登出"}.
{"Logging","日志记录"}.
{"Make participants list public","公开参与者列表"}.
@@ -243,11 +299,13 @@
{"Max payload size in bytes","最大有效负载大小(字节)"}.
{"Maximum file size","最大文件大小"}.
{"Maximum Number of History Messages Returned by Room","房间返回的最大历史消息数"}.
+{"Maximum number of invites reached","已达到最大邀请数"}.
{"Maximum number of items to persist","要保留的最大项目数"}.
{"Maximum Number of Occupants","最大使用者数"}.
{"May","五月"}.
+{"Members are allowed to invite others","允许成员邀请他人"}.
{"Membership is required to enter this room","进入此房间需要成员资格"}.
-{"Memorize your password, or write it in a paper placed in a safe place. In XMPP there isn't an automated way to recover your password if you forget it.","请记住您的密码,或写在放在安全地方的纸上。在 XMPP 中,如果您忘记密码,没有自动恢复密码的方法。"}.
+{"Memorize your password, or write it in a paper placed in a safe place. In XMPP there isn't an automated way to recover your password if you forget it.","请记住您的密码,或写在纸上并妥善保管。在 XMPP 中,如果您忘记密码,没有自动恢复密码的方法。"}.
{"Mere Availability in XMPP (No Show Value)","XMPP 中的可用性(无显示值)"}.
{"Message body","消息正文"}.
{"Message not found in forwarded payload","在转发的有效负载中未找到消息"}.
@@ -308,24 +366,27 @@
{"Node index not found","未找到节点索引"}.
{"Node not found","未找到节点"}.
{"Node ~p","节点 ~p"}.
-{"Nodeprep has failed","Nodeprep 失败了"}.
+{"Nodeprep has failed","Nodeprep 已失败"}.
{"Nodes","节点"}.
{"Node","节点"}.
{"None","无"}.
{"Not allowed","不允许"}.
{"Not Found","未找到"}.
+{"NOT FOUND","未找到"}.
{"Not subscribed","未订阅"}.
{"Notify subscribers when items are removed from the node","从节点中移除项目时通知订阅者"}.
{"Notify subscribers when the node configuration changes","节点配置更改时通知订阅者"}.
{"Notify subscribers when the node is deleted","删除节点时通知订阅者"}.
{"November","十一月"}.
+{"Number of active users","活跃用户数"}.
{"Number of answers required","所需答案数"}.
+{"Number of disabled users","禁用用户数"}.
+{"Number of idle users","闲置用户数"}.
{"Number of occupants","使用者数"}.
{"Number of Offline Messages","离线消息数"}.
{"Number of online users","在线用户数"}.
{"Number of registered users","注册用户数"}.
{"Number of seconds after which to automatically purge items, or `max` for no specific limit other than a server imposed maximum","自动清除项目前的秒数,`max` 表示除服务器强制规定的最大值外无其他特定限制"}.
-{"Occupants are allowed to invite others","允许使用者邀请他人"}.
{"Occupants are allowed to query others","允许使用者查询他人"}.
{"Occupants May Change the Subject","使用者可以更改主题"}.
{"October","十月"}.
@@ -348,9 +409,11 @@
{"Only service administrators are allowed to send service messages","只允许服务管理员发送服务消息"}.
{"Only those on a whitelist may associate leaf nodes with the collection","只有白名单上的那些可以将叶节点与集合关联"}.
{"Only those on a whitelist may subscribe and retrieve items","只有白名单上的那些才可以订阅和检索项目"}.
+{"Open the app","打开应用"}.
{"Organization Name","组织名称"}.
{"Organization Unit","组织单位"}.
{"Other Modules Available:","其他可用模块:"}.
+{"Other software","其他软件"}.
{"Outgoing s2s Connections","传出 s2s 连接"}.
{"Owner privileges required","需要所有者权限"}.
{"Packet relay is denied by service policy","服务策略拒绝数据包中继"}.
@@ -385,6 +448,7 @@
{"PubSub subscriber request","PubSub 订阅者请求"}.
{"Purge all items when the relevant publisher goes offline","相关发布者离线后清除所有项目"}.
{"Push record not found","未找到推送记录"}.
+{"QR code icon","二维码图标"}.
{"Queries to the conference members are not allowed in this room","此房间不允许向会议成员查询"}.
{"Query to another users is forbidden","禁止查询其他用户"}.
{"RAM and disc copy","RAM 和磁盘副本"}.
@@ -395,8 +459,11 @@
{"Receive notification of new items only","仅接收新项目的通知"}.
{"Receive notification of new nodes only","仅接收新节点的通知"}.
{"Recipient is not in the conference room","接收者不在会议室"}.
+{"Re-Enable User","重新启用用户"}.
{"Register an XMPP account","注册 XMPP 账号"}.
+{"Register on {{ site_name }}","在 {{ site_name }} 注册"}.
{"Register","注册"}.
+{"Registration error","注册错误"}.
{"Remote copy","远程副本"}.
{"Remove a hat from a user","移除用户头衔"}.
{"Remove User","移除用户"}.
@@ -406,7 +473,7 @@
{"Requested role","请求的角色"}.
{"Resources","资源"}.
{"Restart Service","重启服务"}.
-{"Restore Backup from File at ","从以下位置的文件恢复备份 "}.
+{"Restore Backup from File at ","从文件恢复备份,文件位于 "}.
{"Restore binary backup after next ejabberd restart (requires less memory):","在下次 ejabberd 重启后恢复二进制备份(所需内存较少):"}.
{"Restore binary backup immediately:","立即恢复二进制备份:"}.
{"Restore plain text backup immediately:","立即恢复纯文本备份:"}.
@@ -425,16 +492,21 @@
{"Roster size","名册大小"}.
{"Running Nodes","正在运行的节点"}.
{"~s invites you to the room ~s","~s 邀请您加入房间 ~s"}.
+{"Sad person holding empty box","悲伤的人手持空盒"}.
{"Saturday","周六"}.
+{"Scan invite code","扫描邀请码"}.
+{"Scan with mobile device","使用移动设备扫描"}.
{"Search from the date","从日期搜索"}.
{"Search Results for ","搜索结果 "}.
-{"Search the text","搜索文本"}.
+{"Search the text","搜索文字"}.
{"Search until the date","搜索截至日期"}.
{"Search users in ","在以下位置搜索用户 "}.
+{"Select","选择"}.
{"Send announcement to all online users on all hosts","向所有主机上的所有在线用户发送公告"}.
{"Send announcement to all online users","向所有在线用户发送公告"}.
{"Send announcement to all users on all hosts","向所有主机上的所有用户发送公告"}.
{"Send announcement to all users","向所有用户发送公告"}.
+{"Send this invite to your device","将此邀请发送至您的设备"}.
{"September","九月"}.
{"Server:","服务器:"}.
{"Service list retrieval timed out","服务列表检索超时"}.
@@ -445,9 +517,13 @@
{"Show Integral Table","显示完整表"}.
{"Show Occupants Join/Leave","显示使用者加入/离开"}.
{"Show Ordinary Table","显示普通表"}.
+{"Showing apps for your current platform only. You may also view all apps.","仅显示适用于您当前平台的应用。您也可以查看所有应用。"}.
+{"Show","显示"}.
{"Shut Down Service","关闭服务"}.
{"SOCKS5 Bytestreams","SOCKS5 字节流"}.
-{"Some XMPP clients can store your password in the computer, but you should do this only in your personal computer for safety reasons.","某些 XMPP 客户端可以将您的密码存储在计算机中,但出于安全考虑,您应该仅在个人计算机中存储密码。"}.
+{"Some XMPP clients can store your password in the computer, but you should do this only in your personal computer for safety reasons.","部分 XMPP 客户端可以将您的密码存储在计算机中,但出于安全考虑,您应该仅在个人计算机中存储密码。"}.
+{"Sorry, it looks like this invite code has expired!","抱歉,此邀请码似乎已过期!"}.
+{"Sorry, there was a problem registering your account.","抱歉,您的账号注册出现问题。"}.
{"Sources Specs:","源规格:"}.
{"Specify the access model","指定访问模型"}.
{"Specify the event message type","指定事件消息类型"}.
@@ -455,13 +531,22 @@
{"Stanza id is not valid","节 ID 无效"}.
{"Stanza ID","节 ID"}.
{"Statically specify a replyto of the node owner(s)","静态指定节点所有者的 replyto"}.
+{"Step 1: Download and install {{ app_name }}","步骤 1:下载并安装 {{ app_name }}"}.
+{"Step 1: Install {{ app_name }}","步骤 1:安装 {{ app_name }}"}.
+{"Step 2: Activate your account","步骤 2:启用您的账号"}.
+{"Step 2: Connect {{ app_name }} to your new account","步骤 2:将 {{ app_name }} 连接至您的新账号"}.
{"Stopped Nodes","已停止的节点"}.
{"Store binary backup:","存储二进制备份:"}.
{"Store plain text backup:","存储纯文本备份:"}.
-{"Stream management is already enabled","已启用流管理"}.
+{"Stream management is already enabled","流管理已启用"}.
{"Stream management is not enabled","未启用流管理"}.
+{"{{ site_name }} is part of XMPP, a secure and decentralized messaging network. To begin chatting using {{ app_name }} you need to first register an account.","{{ site_name }} 属于安全去中心化的 XMPP 即时通讯网络。要开始使用 {{ app_name }} 聊天,您需要先注册账号。"}.
+{"{{ site_name }} is part of XMPP, a secure and decentralized messaging network. To begin chatting you need to first register an account.","{{ site_name }} 属于安全去中心化的 XMPP 即时通讯网络。要开始聊天,您需要先注册账号。"}.
+{"No suitable software installed right now? You can also log in to your account through our online web chat!","暂未安装适用软件?您也可以通过我们的在线网页聊天登录账号!"}.
+{"Tip: You can open this invite on your mobile device by scanning a barcode with your camera.","提示:您可以使用手机相机扫描二维码,在移动设备上打开此邀请。"}.
{"Subject","主题"}.
{"Submitted","已提交"}.
+{"Submit","提交"}.
{"Subscriber Address","订阅者地址"}.
{"Subscribers may publish","订阅者可以发布"}.
{"Subscription requests must be approved and only subscribers may retrieve items","订阅请求必须得到批准,只有订阅者才能检索项目"}.
@@ -472,7 +557,7 @@
{"Text associated with a video","与视频相关的文字"}.
{"Text associated with speech","与语音相关的文字"}.
{"That nickname is already in use by another occupant","该昵称已被其他使用者使用"}.
-{"That nickname is registered by another person","该昵称已被另一用户注册了"}.
+{"That nickname is registered by another person","该昵称已被其他用户注册"}.
{"The account already exists","此账号已存在"}.
{"The account was not unregistered","此账号未注销"}.
{"The body text of the last received message","最后收到的消息的正文"}.
@@ -489,8 +574,11 @@
{"The JIDs of those to contact with questions","有疑问时需联系的人员的 JID"}.
{"The JIDs of those with an affiliation of owner","有所有者从属关系的人员的 JID"}.
{"The JIDs of those with an affiliation of publisher","有发布者从属关系的人员的 JID"}.
-{"The list of all online users","所有在线用户的列表"}.
-{"The list of all users","所有用户的列表"}.
+{"The list of all active users","所有活跃用户列表"}.
+{"The list of all disabled users","所有禁用用户列表"}.
+{"The list of all idle users","所有闲置用户列表"}.
+{"The list of all online users","所有在线用户列表"}.
+{"The list of all users","所有用户列表"}.
{"The list of JIDs that may associate leaf nodes with a collection","可以将叶节点与集合关联的 JID 列表"}.
{"The maximum number of child nodes that can be associated with a collection, or `max` for no specific limit other than a server imposed maximum","可以与集合关联的子节点的最大数量,或 `max` 表示除服务器强制规定的最大值外无其他特定限制"}.
{"The minimum number of milliseconds between sending any two notification digests","发送任意两个通知摘要之间的最小毫秒数"}.
@@ -510,16 +598,20 @@
{"The presence states for which an entity wants to receive notifications","实体要接收通知的在线状态"}.
{"The query is only allowed from local users","仅允许来自本地用户的查询"}.
{"The query must not contain elements","查询不能包含 元素"}.
+{"The role","角色"}.
{"The room subject can be modified by participants","参与者可以修改房间主题"}.
{"The semantic type information of data in the node, usually specified by the namespace of the payload (if any)","节点中数据的语义类型信息,通常由有效负载的命名空间指定(如果有)"}.
{"The sender of the last received message","最后收到的消息的发送者"}.
{"The stanza MUST contain only one element, one element, or one
element","节必须仅包含一个 元素、一个 元素或一个
元素"}.
{"The subscription identifier associated with the subscription request","与订阅请求关联的订阅标识符"}.
+{"The token provided is either invalid or expired.","提供的令牌无效或已过期。"}.
{"The URL of an XSL transformation which can be applied to payloads in order to generate an appropriate message body element.","XSL 转换的 URL,可以将其应用于有效负载以生成适当的消息正文元素。"}.
{"The URL of an XSL transformation which can be applied to the payload format in order to generate a valid Data Forms result that the client could display using a generic Data Forms rendering engine","XSL 转换的 URL,可以将其应用于有效负载格式,以生成有效的数据表单结果,客户端可以使用通用数据表单呈现引擎来显示该结果"}.
{"There was an error changing the password: ","更改密码时出错: "}.
{"There was an error creating the account: ","创建账号时出错: "}.
{"There was an error deleting the account: ","删除账号时出错: "}.
+{"This button works only if you have the app installed already!","此按钮仅在已安装应用时生效!"}.
+{"This is an invite from {{ inviter }} to connect and chat on the XMPP network. If you already have an XMPP client installed just press the button below!","这是来自 {{ inviter }} 的邀请,用于连接至 XMPP 网络进行聊天。如果您已安装 XMPP 客户端,请直接点击下方按钮!"}.
{"This is case insensitive: macbeth is the same that MacBeth and Macbeth.","此处不区分大小写:MacBeth 和 Macbeth 都是 macbeth。"}.
{"This page allows to register an XMPP account in this XMPP server. Your JID (Jabber ID) will be of the form: username@server. Please read carefully the instructions to fill correctly the fields.","本页面允许在此服务器中注册 XMPP 账号,您的 JID(Jabber ID)的格式为:用户名@服务器。请仔细阅读说明以正确填写字段。"}.
{"This page allows to unregister an XMPP account in this XMPP server.","本页面允许在此 XMPP 服务器中注销 XMPP 账号。"}.
@@ -528,7 +620,9 @@
{"Thursday","周四"}.
{"Time delay","时间延迟"}.
{"Timed out waiting for stream resumption","等待流恢复超时"}.
+{"To get started, you need to install an app for your platform:","开始前,请为您的设备平台安装应用:"}.
{"To register, visit ~s","要注册,请访问 ~s"}.
+{"To start chatting, you need to enter your new account credentials into your chosen XMPP software.","要开始聊天,您需要在您选择的 XMPP 软件中输入您的新账号凭据。"}.
{"To ~ts","到 ~ts"}.
{"Token TTL","令牌 TTL"}.
{"Too many active bytestreams","活动字节流太多"}.
@@ -536,7 +630,7 @@
{"Too many child elements","子元素太多"}.
{"Too many elements"," 元素太多"}.
{"Too many
elements","
元素太多"}.
-{"Too many (~p) failed authentications from this IP address (~s). The address will be unblocked at ~s UTC","有太多(~p)失败的身份验证来自此 IP 地址(~s),将在 UTC 时间 ~s 取消对该地址的屏蔽"}.
+{"Too many (~p) failed authentications from this IP address (~s). The address will be unblocked at ~s UTC","有太多(~p)失败的身份验证来自此 IP 地址(~s),将在 UTC 时间 ~s 解除对该地址的屏蔽"}.
{"Too many receiver fields were specified","指定的接收者字段太多"}.
{"Too many unacked stanzas","未确认的节太多"}.
{"Too many users in this conference","此会议中的用户太多"}.
@@ -561,6 +655,7 @@
{"Updating the vCard is not supported by the vCard storage backend","vCard 存储后端不支持更新 vCard"}.
{"Upgrade","升级"}.
{"URL for Archived Discussion Logs","已归档的讨论日志 URL"}.
+{"Use a QR code scanner on your mobile device to scan the code below:","使用移动设备上的二维码扫描器扫描下方二维码:"}.
{"User already exists","用户已存在"}.
{"User JID","用户 JID"}.
{"User (jid)","用户(JID)"}.
@@ -570,6 +665,9 @@
{"User session not found","未找到用户会话"}.
{"User session terminated","用户会话已终止"}.
{"User ~ts","用户 ~ts"}.
+{"Username invalid","用户名无效"}.
+{"Username is reserved","用户名已被保留"}.
+{"Username","用户名"}.
{"Username:","用户名:"}.
{"Users are not allowed to register accounts so quickly","不允许用户太频繁地注册账号"}.
{"Users Last Activity","用户上次活动"}.
@@ -586,9 +684,9 @@
{"Visitors are not allowed to change their nicknames in this room","不允许参观者在此房间中更改其昵称"}.
{"Visitors are not allowed to send messages to all occupants","不允许参观者向所有使用者发送消息"}.
{"Visitor","参观者"}.
-{"Voice requests are disabled in this conference","此会议中禁用了发言权请求"}.
+{"Voice requests are disabled in this conference","此会议中已禁用发言权请求"}.
{"Voice request","发言权请求"}.
-{"Web client which allows to join the room anonymously","允许匿名加入房间的 Web 客户端"}.
+{"Web client which allows to join the room anonymously","允许匿名加入房间的网络客户端"}.
{"Wednesday","周三"}.
{"When a new subscription is processed and whenever a subscriber comes online","处理新订阅时和订阅者上线时"}.
{"When a new subscription is processed","处理新订阅时"}.
@@ -603,9 +701,10 @@
{"Whether to notify owners about new subscribers and unsubscribes","是否通知所有者新的订阅者和退订者"}.
{"Who can send private messages","谁可以发送私信"}.
{"Who may associate leaf nodes with a collection","谁可以将叶节点与集合关联"}.
-{"Wrong parameters in the web formulary","Web 表单集中的参数错误"}.
+{"Wrong parameters in the web formulary","网络表单集中的参数错误"}.
{"Wrong xmlns","错误的 xmlns"}.
{"XMPP Account Registration","XMPP 账号注册"}.
+{"XMPP client for Haiku","适用于 Haiku 的 XMPP 客户端"}.
{"XMPP Domains","XMPP 域"}.
{"XMPP Show Value of Away","XMPP 的离开显示值"}.
{"XMPP Show Value of Chat","XMPP 的聊天显示值"}.
@@ -615,16 +714,26 @@
{"You are being removed from the room because of a system shutdown","由于系统关闭,您将被移出房间"}.
{"You are not allowed to send private messages","不允许您发送私信"}.
{"You are not joined to the channel","您未加入频道"}.
+{"You can connect to {{ site_name }} using any XMPP-compatible software. If your preferred software is not listed above, you may still register an account manually.","您可以使用任意 XMPP 兼容软件连接至 {{ site_name }}。如果您常用的软件未在上方列出,您仍然可以手动注册账号。"}.
{"You can later change your password using an XMPP client.","您之后可以使用 XMPP 客户端更改密码。"}.
+{"You can now set up {{ app_name }} and connect it to your new account.","您现在可以设置 {{ app_name }} 并将其连接至您的新账号。"}.
+{"You can start chatting right away with {{ app_name }}. Let's get started!","您现在可以使用 {{ app_name }} 开始聊天。开始吧!"}.
+{"You can transfer this invite to your mobile device by scanning a code with your camera.","您可以使用相机扫描二维码,将此邀请转移至您的移动设备。"}.
{"You have been banned from this room","禁止您进入此房间"}.
-{"You have joined too many conferences","您加入了太多会议"}.
+{"You have been invited to chat on {{ site_name }}, part of the XMPP secure and decentralized messaging network.","您已受邀在 {{ site_name }} 上聊天,该服务属于安全去中心化的 XMPP 即时通讯网络。"}.
+{"You have been invited to chat on {{ site_name }}, part of the XMPP secure and decentralized messaging network.","您已受邀在 {{ site_name }} 上聊天,该服务属于安全去中心化的 XMPP 即时通讯网络。"}.
+{"You have been invited to chat with {{ inviter }} on {{ site_name }}, part of the XMPP secure and decentralized messaging network.","您已受邀与 {{ inviter }} 在 {{ site_name }} 上聊天,该服务属于安全去中心化的 XMPP 即时通讯网络。"}.
+{"You have been invited to chat with {{ inviter }} on {{ site_name }}, part of the XMPP secure and decentralized messaging network.","您已受邀与 {{ inviter }} 在 {{ site_name }} 上聊天,该服务属于安全去中心化的 XMPP 即时通讯网络。"}.
+{"You have created an account on {{ site_name }}.","您已在 {{ site_name }} 创建账号。"}.
+{"You have joined too many conferences","您已加入太多会议"}.
{"You must fill in field \"Nickname\" in the form","您必须在表单中填写“昵称”字段"}.
{"You need a client that supports x:data and CAPTCHA to register","您需要支持 x:data 和验证码的客户端来注册"}.
{"You need a client that supports x:data to register the nickname","您需要支持 x:data 的客户端来注册昵称"}.
{"You need an x:data capable client to search","您需要支持 x:data 的客户端来搜索"}.
{"Your active privacy list has denied the routing of this stanza.","您的活动隐私列表已拒绝路由此节。"}.
{"Your contact offline message queue is full. The message has been discarded.","您的联系人离线消息队列已满。消息已被丢弃。"}.
-{"Your subscription request and/or messages to ~s have been blocked. To unblock your subscription request, visit ~s","您发给 ~s 的订阅请求和/或消息已被屏蔽。若要取消屏蔽您的订阅请求,请访问 ~s"}.
+{"Your password is stored encrypted on the server and will not be accessible after you close this page. Keep it safe and never share it with anyone.","您的密码已加密存储在服务器上,关闭此页面后将无法访问。请妥善保管您的密码,切勿与任何人分享。"}.
+{"Your subscription request and/or messages to ~s have been blocked. To unblock your subscription request, visit ~s","您发给 ~s 的订阅请求和/或消息已被屏蔽。若要解除屏蔽您的订阅请求,请访问 ~s"}.
{"Your XMPP account was successfully registered.","您的 XMPP 账号注册成功。"}.
{"Your XMPP account was successfully unregistered.","您的 XMPP 账号注销成功。"}.
{"You're not allowed to create nodes","不允许您创建节点"}.