|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
<!DOCTYPE TS>
|
|
|
|
<TS version="2.1" language="zh_CN">
|
|
|
|
<context>
|
|
|
|
<name>ActiveCallBar</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/voip/ActiveCallBar.qml" line="+108"/>
|
|
|
|
<source>Calling...</source>
|
|
|
|
<translation>响铃中…</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>Connecting...</source>
|
|
|
|
<translation>正在连接…</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+67"/>
|
|
|
|
<source>You are screen sharing</source>
|
|
|
|
<translation>你正在分享屏幕。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+17"/>
|
|
|
|
<source>Hide/Show Picture-in-Picture</source>
|
|
|
|
<translation>隐藏/展示 画中画</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+13"/>
|
|
|
|
<source>Unmute Mic</source>
|
|
|
|
<translation>取消麦克风静音</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>Mute Mic</source>
|
|
|
|
<translation>静音麦克风</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>Cache</name>
|
|
|
|
<message numerus="yes">
|
|
|
|
<location filename="../../src/Cache.cpp" line="+2580"/>
|
|
|
|
<source>%1 and %n other(s)</source>
|
|
|
|
<translation>
|
|
|
|
<numerusform>%1 和另外 %n 人</numerusform>
|
|
|
|
</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<location line="+175"/>
|
|
|
|
<source>Empty Room</source>
|
|
|
|
<translation>空房间</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>CallInvite</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/voip/CallInvite.qml" line="+77"/>
|
|
|
|
<source>Video Call</source>
|
|
|
|
<translation>视频通话</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>Voice Call</source>
|
|
|
|
<translation>语音通话</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+62"/>
|
|
|
|
<source>No microphone found.</source>
|
|
|
|
<translation>未检测到麦克风。</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>CallInviteBar</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/voip/CallInviteBar.qml" line="+66"/>
|
|
|
|
<source>Video Call</source>
|
|
|
|
<translation>视频通话</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>Voice Call</source>
|
|
|
|
<translation>语音通话</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+16"/>
|
|
|
|
<source>Devices</source>
|
|
|
|
<translation>设备</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+11"/>
|
|
|
|
<source>Accept</source>
|
|
|
|
<translation>接受</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+13"/>
|
|
|
|
<source>Unknown microphone: %1</source>
|
|
|
|
<translation>未知的麦克风:%1</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+9"/>
|
|
|
|
<source>Unknown camera: %1</source>
|
|
|
|
<translation>未知的摄像头:%1</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+14"/>
|
|
|
|
<source>Decline</source>
|
|
|
|
<translation>拒绝</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-31"/>
|
|
|
|
<source>No microphone found.</source>
|
|
|
|
<translation>未检测到麦克风。</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>CallManager</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/voip/CallManager.cpp" line="+519"/>
|
|
|
|
<source>Entire screen</source>
|
|
|
|
<translation>整个屏幕</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>ChatPage</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/ChatPage.cpp" line="+120"/>
|
|
|
|
<source>Failed to invite user: %1</source>
|
|
|
|
<translation>邀请用户失败: %1</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<location line="+732"/>
|
|
|
|
<source>Invited user: %1</source>
|
|
|
|
<translation>邀请已发送: %1</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-510"/>
|
|
|
|
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
|
|
|
|
<translation>无法迁移缓存到目前版本,可能有多种原因引发此类问题。您可以新建一个议题并继续使用之前版本,或者您可以尝试手动删除缓存。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+13"/>
|
|
|
|
<source>The cache on your disk is newer than this version of Nheko supports. Please update Nheko or clear your cache.</source>
|
|
|
|
<translation>当前设备中的缓存比Nheko支持的版本更新,请更新Nheko或清理缓存。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+41"/>
|
|
|
|
<source>Failed to open database, logging out!</source>
|
|
|
|
<translation>无法打开数据库,账户将登出!</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+301"/>
|
|
|
|
<source>Knock on room</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>You failed to join %1. You can try to knock, so that others can invite you in. Do you want to do so?
|
|
|
|
You may optionally provide a reason for others to accept your knock:</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Do you really want to knock on %1? You may optionally provide a reason for others to accept your knock:</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+14"/>
|
|
|
|
<source>Failed to knock room: %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+25"/>
|
|
|
|
<source>Confirm join</source>
|
|
|
|
<translation>确认加入</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Do you really want to join %1?</source>
|
|
|
|
<translation>你真的想要加入 %1 吗?</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+34"/>
|
|
|
|
<source>Room creation failed: Bad Alias</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+18"/>
|
|
|
|
<source>Room %1 created.</source>
|
|
|
|
<translation>房间“%1”已创建</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+43"/>
|
|
|
|
<location line="+469"/>
|
|
|
|
<source>Confirm invite</source>
|
|
|
|
<translation>确认邀请</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-468"/>
|
|
|
|
<source>Do you really want to invite %1 (%2)?</source>
|
|
|
|
<translation>你真的想要邀请 %1 (%2) 吗?</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+12"/>
|
|
|
|
<source>Failed to invite %1 to %2: %3</source>
|
|
|
|
<translation>未能成功邀请 %1 到 %2:%3</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+32"/>
|
|
|
|
<source>Kicked user: %1</source>
|
|
|
|
<translation>踢出用户: %1</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+26"/>
|
|
|
|
<source>Failed to ban %1 in %2: %3</source>
|
|
|
|
<translation>未能成功封禁 %2 里的 %1:%3</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>Banned user: %1</source>
|
|
|
|
<translation>禁止用户: %1</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+8"/>
|
|
|
|
<source>Confirm unban</source>
|
|
|
|
<translation>确认解封</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Do you really want to unban %1 (%2)?</source>
|
|
|
|
<translation>确认解封 %1 (%2) 吗?</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>Failed to unban %1 in %2: %3</source>
|
|
|
|
<translation>未能将 %2 里的 %1 成功解封:%3</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>Unbanned user: %1</source>
|
|
|
|
<translation>解禁用户: %1</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+374"/>
|
|
|
|
<source>Do you really want to start a private chat with %1?</source>
|
|
|
|
<translation>确认与%1开始私密聊天?</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-965"/>
|
|
|
|
<source>Cache migration failed!</source>
|
|
|
|
<translation>缓存迁移失败!</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+13"/>
|
|
|
|
<source>Incompatible cache version</source>
|
|
|
|
<translation>无法兼容缓存版本</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+61"/>
|
|
|
|
<source>Failed to restore OLM account. Please login again.</source>
|
|
|
|
<translation>恢复 OLM 账户失败。请重新登录。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<location line="+4"/>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>Failed to restore save data. Please login again.</source>
|
|
|
|
<translation>恢复保存的数据失败。请重新登录。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+94"/>
|
|
|
|
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
|
|
|
|
<translation>设置密钥失败。服务器返回信息: %1 %2。请稍后再试。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+35"/>
|
|
|
|
<location line="+112"/>
|
|
|
|
<source>Please try to login again: %1</source>
|
|
|
|
<translation>请尝试再次登录:%1</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+84"/>
|
|
|
|
<source>Failed to join room: %1</source>
|
|
|
|
<translation>无法加入房间: %1</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+9"/>
|
|
|
|
<source>Failed to remove invite: %1</source>
|
|
|
|
<translation>无法移除邀请: %1</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+27"/>
|
|
|
|
<source>Room creation failed: %1</source>
|
|
|
|
<translation>创建聊天室失败:%1</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+18"/>
|
|
|
|
<source>Failed to leave room: %1</source>
|
|
|
|
<translation>离开聊天室失败:%1</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+56"/>
|
|
|
|
<source>Reason for the kick</source>
|
|
|
|
<translation>踢出原因</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Enter reason for kicking %1 (%2) or hit enter for no reason:</source>
|
|
|
|
<translation>输入踢出 %1 (%2) 的原因,如无原因请敲回车:</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+15"/>
|
|
|
|
<source>Failed to kick %1 from %2: %3</source>
|
|
|
|
<translation>从%2: %3踢出%1失败</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+13"/>
|
|
|
|
<source>Reason for the ban</source>
|
|
|
|
<translation>封禁原因</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
|
|
|
|
<translation>输入封禁 %1 (%2) 的原因,如无原因请敲回车:</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/ChatPage.qml" line="+37"/>
|
|
|
|
<source>No network connection</source>
|
|
|
|
<translation>网络未连接</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>CommunitiesList</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/CommunitiesList.qml" line="+46"/>
|
|
|
|
<source>Hide rooms with this tag or from this space by default.</source>
|
|
|
|
<translation>默认隐藏带这个标签或来自此空间的房间。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+83"/>
|
|
|
|
<source>Expand</source>
|
|
|
|
<translation>展开</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>Collapse</source>
|
|
|
|
<translation>收起</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>CommunitiesModel</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/timeline/CommunitiesModel.cpp" line="+58"/>
|
|
|
|
<source>All rooms</source>
|
|
|
|
<translation>所有房间</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Shows all rooms without filtering.</source>
|
|
|
|
<translation>展示所有不带过滤器的房间。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+19"/>
|
|
|
|
<source>Direct Chats</source>
|
|
|
|
<translation>直接聊天</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Show direct chats.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+48"/>
|
|
|
|
<source>Favourites</source>
|
|
|
|
<translation>收藏</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Rooms you have favourited.</source>
|
|
|
|
<translation>你收藏的房间</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>Low Priority</source>
|
|
|
|
<translation>低优先级</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Rooms with low priority.</source>
|
|
|
|
<translation>低优先级房间</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>Server Notices</source>
|
|
|
|
<translation>服务器通知</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Messages from your server or administrator.</source>
|
|
|
|
<translation>来自服务器或管理员的消息。</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>CreateDirect</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/dialogs/CreateDirect.qml" line="+16"/>
|
|
|
|
<source>Create Direct Chat</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+60"/>
|
|
|
|
<source>User to invite</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>@user:server.tld</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+14"/>
|
|
|
|
<source>Encryption</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>CreateRoom</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/dialogs/CreateRoom.qml" line="+15"/>
|
|
|
|
<location line="+125"/>
|
|
|
|
<source>Create Room</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-98"/>
|
|
|
|
<source>Name</source>
|
|
|
|
<translation type="unfinished">名称</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>No name</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+8"/>
|
|
|
|
<source>Topic</source>
|
|
|
|
<translation type="unfinished">主题</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>No topic</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+18"/>
|
|
|
|
<source>Alias</source>
|
|
|
|
<translation type="unfinished">别名</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+12"/>
|
|
|
|
<source>Public</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>Public rooms can be joined by anyone, private rooms need explicit invites.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+12"/>
|
|
|
|
<source>Trusted</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>All invitees are given the same power level as the creator</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+13"/>
|
|
|
|
<source>Encryption</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>Caution: Encryption cannot be disabled</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>CrossSigningSecrets</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/ChatPage.cpp" line="+282"/>
|
|
|
|
<source>Decrypt secrets</source>
|
|
|
|
<translation>解密密钥</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Enter your recovery key or passphrase to decrypt your secrets:</source>
|
|
|
|
<translation>输入你的恢复密钥或口令以解密你的密钥:</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
|
|
|
|
<translation>填入你的恢复令牌或名为%1的口令以解密你的密钥</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+28"/>
|
|
|
|
<source>Decryption failed</source>
|
|
|
|
<translation>解密失败</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
|
|
|
|
<translation>用提供的恢复令牌或口令解密密钥失败</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>DigitVerification</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/device-verification/DigitVerification.qml" line="+12"/>
|
|
|
|
<source>Verification Code</source>
|
|
|
|
<translation>验证码</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+13"/>
|
|
|
|
<source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
|
|
|
|
<translation>请验证一下数字。你应该会在另一边看到相同的数字。如果它们不同,请按“它们不一致”来终止验证!</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+33"/>
|
|
|
|
<source>They do not match!</source>
|
|
|
|
<translation>它们不匹配</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+13"/>
|
|
|
|
<source>They match!</source>
|
|
|
|
<translation>匹配一致</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>EmojiPicker</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
|
|
|
|
<source>Search</source>
|
|
|
|
<translation>搜索</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+193"/>
|
|
|
|
<source>People</source>
|
|
|
|
<translation>人们</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Nature</source>
|
|
|
|
<translation>自然</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Food</source>
|
|
|
|
<translation>食物</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Activity</source>
|
|
|
|
<translation>Activity</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Travel</source>
|
|
|
|
<translation>旅行</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Objects</source>
|
|
|
|
<translation>物品</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Symbols</source>
|
|
|
|
<translation>标识</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Flags</source>
|
|
|
|
<translation>标识</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>EmojiVerification</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/device-verification/EmojiVerification.qml" line="+12"/>
|
|
|
|
<source>Verification Code</source>
|
|
|
|
<translation>验证码</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+13"/>
|
|
|
|
<source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
|
|
|
|
<translation>请验证一下表情。你应该会在另一边看到相同的表情,如果它们不一致,请按“它们不一致”来终止验证!</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+378"/>
|
|
|
|
<source>They do not match!</source>
|
|
|
|
<translation>它们不一致</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+13"/>
|
|
|
|
<source>They match!</source>
|
|
|
|
<translation>匹配一致</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>Encrypted</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/delegates/Encrypted.qml" line="+47"/>
|
|
|
|
<source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
|
|
|
|
<translation>没有找到解锁这条消息的密钥。我们尝试过自动获取密钥,如果你着急你可以持续尝试获取密钥。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>This message couldn't be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
|
|
|
|
<translation>这条消息无法被解密,因为我们只持有较之更新的消息的密钥。你可以继续尝试访问这条消息。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>There was an internal error reading the decryption key from the database.</source>
|
|
|
|
<translation>从数据库读取解密密钥时发生内部错误。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>There was an error decrypting this message.</source>
|
|
|
|
<translation>解密本消息时发生错误。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>The message couldn't be parsed.</source>
|
|
|
|
<translation>无法解析这条消息。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
|
|
|
|
<translation>该加密密钥被重复使用!聊天时可能插入了假消息!</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Unknown decryption error</source>
|
|
|
|
<translation>未知的解密错误</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>Request key</source>
|
|
|
|
<translation>请求密钥</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>EncryptionIndicator</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/EncryptionIndicator.qml" line="+54"/>
|
|
|
|
<source>This message is not encrypted!</source>
|
|
|
|
<translation>此条信息没有加密</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>Encrypted by a verified device</source>
|
|
|
|
<translation>已被受认证的设备加密</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Encrypted by an unverified device, but you have trusted that user so far.</source>
|
|
|
|
<translation>使用未受认证的设备加密,但你已信任该用户。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
|
|
|
|
<translation>由一台不受信任的设备或从备份等不可靠的来源导入的密钥加密</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>Failed</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/device-verification/Failed.qml" line="+12"/>
|
|
|
|
<source>Verification failed</source>
|
|
|
|
<translation>未通过认证</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+18"/>
|
|
|
|
<source>Other client does not support our verification protocol.</source>
|
|
|
|
<translation>其他客户端不支持我们的认证协议</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>Key mismatch detected!</source>
|
|
|
|
<translation>检测到密钥不匹配!</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Device verification timed out.</source>
|
|
|
|
<translation>设备验证已超时。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Other party canceled the verification.</source>
|
|
|
|
<translation>对方取消了认证。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Verification messages received out of order!</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Unknown verification error.</source>
|
|
|
|
<translation>未知的认证错误。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+16"/>
|
|
|
|
<source>Close</source>
|
|
|
|
<translation>关闭</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>ForwardCompleter</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/ForwardCompleter.qml" line="+40"/>
|
|
|
|
<source>Forward Message</source>
|
|
|
|
<translation>转发</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>HiddenEvents</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/ui/HiddenEvents.cpp" line="+79"/>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>Failed to set hidden events: %1</source>
|
|
|
|
<translation>设置隐藏事件失败:%1</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>HiddenEventsDialog</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+33"/>
|
|
|
|
<source>Hidden events for %1</source>
|
|
|
|
<translation>隐藏 %1 事件</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>Hidden events</source>
|
|
|
|
<translation>隐藏</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+18"/>
|
|
|
|
<source>These events will be <b>shown</b> in %1:</source>
|
|
|
|
<translation>以下事件将被在 %1 中 <b>展示</b> :</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>These events will be <b>shown</b> in all rooms:</source>
|
|
|
|
<translation>以下事件将在所有房间中 <b>展示</b> :</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+15"/>
|
|
|
|
<source>User events</source>
|
|
|
|
<translation>用户事件</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Joins, leaves, avatar and name changes, bans, …</source>
|
|
|
|
<translation>用户加入、离开、名称或头像变更、封禁等</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+16"/>
|
|
|
|
<source>Power level changes</source>
|
|
|
|
<translation>权限等级变化</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+16"/>
|
|
|
|
<source>Stickers</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>ImagePackEditorDialog</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+23"/>
|
|
|
|
<source>Editing image pack</source>
|
|
|
|
<translation>编辑表情包</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+63"/>
|
|
|
|
<source>Add images</source>
|
|
|
|
<translation>添加图片</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
|
|
|
|
<translation>图片(*.png *.webp *.gif *.jpg *.jpeg)</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Select images for pack</source>
|
|
|
|
<translation>从表情包中选取图像</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Add to pack</source>
|
|
|
|
<translation>添加到表情包</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+61"/>
|
|
|
|
<source>Change the overview image for this pack</source>
|
|
|
|
<translation>变更表情包的缩略图</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+13"/>
|
|
|
|
<source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
|
|
|
|
<translation>缩略图 (*.png *.webp *.jpg *.jpeg)</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Select overview image for pack</source>
|
|
|
|
<translation>选择表情包的缩略图</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+12"/>
|
|
|
|
<source>State key</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+8"/>
|
|
|
|
<source>Packname</source>
|
|
|
|
<translation>包名</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+8"/>
|
|
|
|
<source>Attribution</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+9"/>
|
|
|
|
<location line="+70"/>
|
|
|
|
<source>Use as Emoji</source>
|
|
|
|
<translation>作为 Emoji 使用</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-57"/>
|
|
|
|
<location line="+70"/>
|
|
|
|
<source>Use as Sticker</source>
|
|
|
|
<translation>作为贴纸使用</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-32"/>
|
|
|
|
<source>Shortcode</source>
|
|
|
|
<translation>短代码</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>Body</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+35"/>
|
|
|
|
<source>Remove from pack</source>
|
|
|
|
<translation>从表情包中移除</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>Remove</source>
|
|
|
|
<translation>移除</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>ImagePackSettingsDialog</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+24"/>
|
|
|
|
<source>Image pack settings</source>
|
|
|
|
<translation>表情包设置</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+54"/>
|
|
|
|
<source>Create account pack</source>
|
|
|
|
<translation>创建和账户关联的表情包</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+14"/>
|
|
|
|
<source>New room pack</source>
|
|
|
|
<translation>创建和房间关联的表情包</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+21"/>
|
|
|
|
<source>Private pack</source>
|
|
|
|
<translation>私有表情包</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Pack from this room</source>
|
|
|
|
<translation>来自本房间的表情包</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Globally enabled pack</source>
|
|
|
|
<translation>全局启用的表情包</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+66"/>
|
|
|
|
<source>Enable globally</source>
|
|
|
|
<translation>全局启用</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>Enables this pack to be used in all rooms</source>
|
|
|
|
<translation>允许在所有房间中使用该表情包</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>Edit</source>
|
|
|
|
<translation>编辑</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+65"/>
|
|
|
|
<source>Close</source>
|
|
|
|
<translation>关闭</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>InputBar</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/timeline/InputBar.cpp" line="+334"/>
|
|
|
|
<source>Select a file</source>
|
|
|
|
<translation type="unfinished">选择一个文件</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>All Files (*)</source>
|
|
|
|
<translation type="unfinished">所有文件(*)</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>InviteDialog</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/dialogs/InviteDialog.qml" line="+34"/>
|
|
|
|
<source>Invite users to %1</source>
|
|
|
|
<translation>邀请用户加入 %1</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+23"/>
|
|
|
|
<source>User ID to invite</source>
|
|
|
|
<translation type="unfinished">要邀请的用户 ID</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+14"/>
|
|
|
|
<source>@joe:matrix.org</source>
|
|
|
|
<comment>Example user id. The name 'joe' can be localized however you want.</comment>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+17"/>
|
|
|
|
<source>Add</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+84"/>
|
|
|
|
<source>Invite</source>
|
|
|
|
<translation>邀请</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>Cancel</source>
|
|
|
|
<translation type="unfinished">取消</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>JoinRoomDialog</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/dialogs/JoinRoomDialog.qml" line="+15"/>
|
|
|
|
<source>Join room</source>
|
|
|
|
<translation>加入房间</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+21"/>
|
|
|
|
<source>Room ID or alias</source>
|
|
|
|
<translation type="unfinished">聊天室 ID 或别名</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>LeaveRoomDialog</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+17"/>
|
|
|
|
<source>Leave room</source>
|
|
|
|
<translation type="unfinished">离开聊天室</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Are you sure you want to leave?</source>
|
|
|
|
<translation type="unfinished">你确定要离开吗?</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>LoginPage</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/pages/LoginPage.qml" line="+59"/>
|
|
|
|
<source>Matrix ID</source>
|
|
|
|
<translation></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>e.g @joe:matrix.org</source>
|
|
|
|
<translation>例如 @joe:matrix.org</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>Your login name. A mxid should start with @ followed by the user id. After the user id you need to include your server name after a :.
|
|
|
|
You can also put your homeserver address there, if your server doesn't support .well-known lookup.
|
|
|
|
Example: @user:server.my
|
|
|
|
If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+25"/>
|
|
|
|
<source>Password</source>
|
|
|
|
<translation>密码</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Your password.</source>
|
|
|
|
<translation>密码</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+8"/>
|
|
|
|
<source>Device name</source>
|
|
|
|
<translation>设备名</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided a default is used.</source>
|
|
|
|
<translation>设备名,将在验证你的设备时向其他设备展示。如果不输入则会设置为默认值。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>Homeserver address</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>server.my:8787</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>The address that can be used to contact you homeservers client API.
|
|
|
|
Example: https://server.my:8787</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+30"/>
|
|
|
|
<source>LOGIN</source>
|
|
|
|
<translation>登录</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+42"/>
|
|
|
|
<source>Back</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/LoginPage.cpp" line="+83"/>
|
|
|
|
<location line="+6"/>
|
|
|
|
<location line="+58"/>
|
|
|
|
<location line="+109"/>
|
|
|
|
<source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-139"/>
|
|
|
|
<source>Autodiscovery failed. Received malformed response.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+33"/>
|
|
|
|
<source>The required endpoints were not found. Possibly not a Matrix server.</source>
|
|
|
|
<translation>没找到要求的终端。可能不是一个 Matrix 服务器。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>Received malformed response. Make sure the homeserver domain is valid.</source>
|
|
|
|
<translation>收到形式错误的响应。请确认服务器域名合法。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+8"/>
|
|
|
|
<source>An unknown error occured. Make sure the homeserver domain is valid.</source>
|
|
|
|
<translation>发生了一个未知错误。请确认服务器域名合法。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+19"/>
|
|
|
|
<source>Sign in with Apple</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Continue with Facebook</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Sign in with Google</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Sign in with Twitter</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Login using %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+9"/>
|
|
|
|
<source>SSO LOGIN</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+58"/>
|
|
|
|
<source>Empty password</source>
|
|
|
|
<translation>空密码</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+52"/>
|
|
|
|
<source>SSO login failed</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>LogoutDialog</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/dialogs/LogoutDialog.qml" line="+14"/>
|
|
|
|
<source>Log out</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>A call is in progress. Log out?</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>Are you sure you want to log out?</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>MediaUpload</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/timeline/InputBar.cpp" line="+598"/>
|
|
|
|
<location line="+35"/>
|
|
|
|
<source>Failed to upload media. Please try again.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>MessageDelegate</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/delegates/MessageDelegate.qml" line="+205"/>
|
|
|
|
<source>%1 removed a message</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>%1 enabled encryption</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+25"/>
|
|
|
|
<source>%2 changed the room name to: %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>%1 removed the room name</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+14"/>
|
|
|
|
<source>%2 changed the topic to: %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>%1 removed the topic</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+14"/>
|
|
|
|
<source>%1 changed the room avatar</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+14"/>
|
|
|
|
<source>%1 changed the pinned messages.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+29"/>
|
|
|
|
<source>%1 changed the addresses for this room.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+14"/>
|
|
|
|
<source>%1 changed the parent spaces for this room.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+14"/>
|
|
|
|
<source>%1 created and configured room: %2</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+17"/>
|
|
|
|
<source>%1 placed a voice call.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>%1 placed a video call.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>%1 placed a call.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+16"/>
|
|
|
|
<source>%1 answered the call.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+14"/>
|
|
|
|
<source>%1 ended the call.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+14"/>
|
|
|
|
<source>%1 is negotiating the call...</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+80"/>
|
|
|
|
<source>Allow them in</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>MessageInput</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/MessageInput.qml" line="+56"/>
|
|
|
|
<source>Hang up</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>Place a call</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+27"/>
|
|
|
|
<source>Send a file</source>
|
|
|
|
<translation type="unfinished">发送一个文件</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+56"/>
|
|
|
|
<source>Write a message...</source>
|
|
|
|
<translation>写一条消息…</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+283"/>
|
|
|
|
<source>Stickers</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+24"/>
|
|
|
|
<source>Emoji</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+16"/>
|
|
|
|
<source>Send</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+11"/>
|
|
|
|
<source>You don't have permission to send messages in this room</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>MessageView</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/MessageView.qml" line="+117"/>
|
|
|
|
<source>Edit</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+17"/>
|
|
|
|
<source>React</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+17"/>
|
|
|
|
<source>Reply</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+12"/>
|
|
|
|
<source>Options</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+424"/>
|
|
|
|
<source>Reason for removal</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Enter reason for removal or hit enter for no reason:</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<location line="+134"/>
|
|
|
|
<source>&Copy</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-127"/>
|
|
|
|
<location line="+134"/>
|
|
|
|
<source>Copy &link location</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-126"/>
|
|
|
|
<source>Re&act</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+8"/>
|
|
|
|
<source>Repl&y</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>&Edit</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>Un&pin</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>&Pin</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>Read receip&ts</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>&Forward</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>&Mark as read</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>View raw message</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+8"/>
|
|
|
|
<source>View decrypted raw message</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>Remo&ve message</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+13"/>
|
|
|
|
<source>&Save as</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>&Open in external program</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>Copy link to eve&nt</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+45"/>
|
|
|
|
<source>&Go to quoted message</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>NewVerificationRequest</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/device-verification/NewVerificationRequest.qml" line="+12"/>
|
|
|
|
<source>Send Verification Request</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>Received Verification Request</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+19"/>
|
|
|
|
<source>To allow other users to see, which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>To allow other users to see, which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>%1 has requested to verify their device %2.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>%1 using the device %2 has requested to be verified.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Your device (%1) has requested to be verified.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+12"/>
|
|
|
|
<source>Cancel</source>
|
|
|
|
<translation>取消</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>Deny</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+13"/>
|
|
|
|
<source>Start verification</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>Accept</source>
|
|
|
|
<translation>接受</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>NotificationWarning</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/NotificationWarning.qml" line="+33"/>
|
|
|
|
<source>You are about to notify the whole room</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>NotificationsManager</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/notifications/Manager.cpp" line="+23"/>
|
|
|
|
<location filename="../../src/notifications/ManagerMac.cpp" line="+46"/>
|
|
|
|
<location filename="../../src/notifications/ManagerWin.cpp" line="+75"/>
|
|
|
|
<source>%1 sent an encrypted message</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>%1 replied: %2</source>
|
|
|
|
<comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
|
|
|
|
<location filename="../../src/notifications/ManagerWin.cpp" line="-1"/>
|
|
|
|
<source>%1 replied with an encrypted message</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>%1 replied to a message</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>%1 sent a message</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>PlaceCall</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/voip/PlaceCall.qml" line="+41"/>
|
|
|
|
<source>Place a call to %1?</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+16"/>
|
|
|
|
<source>No microphone found.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+24"/>
|
|
|
|
<source>Voice</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+13"/>
|
|
|
|
<source>Video</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+14"/>
|
|
|
|
<source>Screen</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+16"/>
|
|
|
|
<source>Cancel</source>
|
|
|
|
<translation type="unfinished">取消</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>Placeholder</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/delegates/Placeholder.qml" line="+12"/>
|
|
|
|
<source>unimplemented event: </source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>PowerLevelEditor</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/dialogs/PowerLevelEditor.qml" line="+24"/>
|
|
|
|
<source>Permissions in %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+14"/>
|
|
|
|
<source>Be careful when editing permissions. You can't lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+34"/>
|
|
|
|
<source>Roles</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>Users</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+20"/>
|
|
|
|
<source>Move permissions between roles to change them</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+22"/>
|
|
|
|
<location line="+182"/>
|
|
|
|
<source>Administrator (%1)</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-180"/>
|
|
|
|
<location line="+182"/>
|
|
|
|
<source>Moderator (%1)</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-180"/>
|
|
|
|
<location line="+182"/>
|
|
|
|
<source>Custom (%1)</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-169"/>
|
|
|
|
<source>Remove event type</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>Add event type</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+45"/>
|
|
|
|
<source>Move users up or down to change their permissions</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+137"/>
|
|
|
|
<source>Remove user</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>Add user</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>PowerlevelEditingModels</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/PowerlevelsEditModels.cpp" line="+530"/>
|
|
|
|
<source>Failed to update powerlevel: %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>PowerlevelsTypeListModel</name>
|
|
|
|
<message>
|
|
|
|
<location line="-379"/>
|
|
|
|
<source>Other events</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Other state events</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Remove other users</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Ban other users</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Invite other users</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Redact events sent by others</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Reactions</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Deprecated aliases events</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Change the room avatar</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Change the room addresses</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Send encrypted messages</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Enable encryption</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Change guest access</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Change history visibility</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Change who can join</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Send messages</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Change the room name</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Change the room permissions</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Change the rooms topic</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Change the widgets</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Change the widgets (experimental)</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Redact own events</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Change the pinned events</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Upgrade the room</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Send stickers</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>Edit child rooms</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Change parent spaces</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>Start a call</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Negotiate a call</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Answer a call</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Hang up a call</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Change the room emotes</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>PowerlevelsUserListModel</name>
|
|
|
|
<message>
|
|
|
|
<location line="+190"/>
|
|
|
|
<source>Other users</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>QCoreApplication</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/main.cpp" line="+213"/>
|
|
|
|
<source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>profile</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>profile name</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>ReadReceipts</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/dialogs/ReadReceipts.qml" line="+41"/>
|
|
|
|
<source>Read receipts</source>
|
|
|
|
<translation type="unfinished">阅读回执</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>ReadReceiptsModel</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
|
|
|
|
<source>Yesterday, %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>RegisterPage</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/pages/RegisterPage.qml" line="+93"/>
|
|
|
|
<source>Username</source>
|
|
|
|
<translation>用户名</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+21"/>
|
|
|
|
<location line="+96"/>
|
|
|
|
<source>Back</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-75"/>
|
|
|
|
<source>Password</source>
|
|
|
|
<translation>密码</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>Password confirmation</source>
|
|
|
|
<translation>密码确认</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-86"/>
|
|
|
|
<source>Homeserver</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>your.server</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+90"/>
|
|
|
|
<source>Your passwords do not match!</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>Device name</source>
|
|
|
|
<translation type="unfinished">设备名</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided a default is used.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+29"/>
|
|
|
|
<source>REGISTER</source>
|
|
|
|
<translation>注册</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/RegisterPage.cpp" line="+77"/>
|
|
|
|
<source>Autodiscovery failed. Received malformed response.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+25"/>
|
|
|
|
<source>The required endpoints were not found. Possibly not a Matrix server.</source>
|
|
|
|
<translation type="unfinished">没找到要求的终端。可能不是一个 Matrix 服务器。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>Received malformed response. Make sure the homeserver domain is valid.</source>
|
|
|
|
<translation type="unfinished">收到形式错误的响应。请确认服务器域名合法。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>An unknown error occured. Make sure the homeserver domain is valid.</source>
|
|
|
|
<translation type="unfinished">发生了一个未知错误。请确认服务器域名合法。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>Server does not support querying registration flows!</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>Server does not support registration.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+25"/>
|
|
|
|
<source>Invalid username.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Name already in use.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Part of the reserved namespace.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>ReplyPopup</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/ReplyPopup.qml" line="+66"/>
|
|
|
|
<source>Close</source>
|
|
|
|
<translation type="unfinished">关闭</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+16"/>
|
|
|
|
<source>Cancel Edit</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>RoomDirectory</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
|
|
|
|
<source>Explore Public Rooms</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+146"/>
|
|
|
|
<source>Search for public rooms</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+12"/>
|
|
|
|
<source>Choose custom homeserver</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>RoomInfo</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/Cache.cpp" line="+1960"/>
|
|
|
|
<source>no version stored</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>RoomList</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/RoomList.qml" line="+127"/>
|
|
|
|
<source>New tag</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Enter the tag you want to use:</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>Open separately</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+12"/>
|
|
|
|
<source>Leave room</source>
|
|
|
|
<translation type="unfinished">离开聊天室</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>Tag room as:</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+14"/>
|
|
|
|
<source>Favourite</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Low priority</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Server notice</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+13"/>
|
|
|
|
<source>Create new tag...</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+298"/>
|
|
|
|
<source>Status Message</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Enter your status message:</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>Profile settings</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>Set status message</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+81"/>
|
|
|
|
<source>Logout</source>
|
|
|
|
<translation type="unfinished">登出</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+40"/>
|
|
|
|
<source>Encryption not set up</source>
|
|
|
|
<extracomment>Cross-signing setup has not run yet.</extracomment>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>Unverified login</source>
|
|
|
|
<extracomment>The user just signed in with this device and hasn't verified their master key.</extracomment>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>Please verify your other devices</source>
|
|
|
|
<extracomment>There are unverified devices signed in to this account.</extracomment>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+20"/>
|
|
|
|
<source>Close</source>
|
|
|
|
<translation type="unfinished">关闭</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+64"/>
|
|
|
|
<source>Start a new chat</source>
|
|
|
|
<translation type="unfinished">开始新的聊天</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+8"/>
|
|
|
|
<source>Join a room</source>
|
|
|
|
<translation type="unfinished">加入聊天室</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>Create a new room</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+9"/>
|
|
|
|
<source>Start a direct chat</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+21"/>
|
|
|
|
<source>Room directory</source>
|
|
|
|
<translation type="unfinished">聊天室目录</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+19"/>
|
|
|
|
<source>Search rooms (Ctrl+K)</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+19"/>
|
|
|
|
<source>User settings</source>
|
|
|
|
<translation type="unfinished">用户设置</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>RoomMembers</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/dialogs/RoomMembers.qml" line="+20"/>
|
|
|
|
<source>Members of %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message numerus="yes">
|
|
|
|
<location line="+32"/>
|
|
|
|
<source>%n people in %1</source>
|
|
|
|
<comment>Summary above list of members</comment>
|
|
|
|
<translation type="unfinished">
|
|
|
|
<numerusform></numerusform>
|
|
|
|
</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>Invite more people</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+8"/>
|
|
|
|
<source>Search...</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>Sort by: </source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>User ID</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Display name</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Power level</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+105"/>
|
|
|
|
<source>Administrator: %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Moderator: %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>User: %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+18"/>
|
|
|
|
<source>This room is not encrypted!</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>This user is verified.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>This user isn't verified, but is still using the same master key from the first time you met.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>This user has unverified devices!</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>RoomSettings</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/dialogs/RoomSettings.qml" line="+28"/>
|
|
|
|
<source>Room Settings</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+117"/>
|
|
|
|
<source>Change name of this room</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message numerus="yes">
|
|
|
|
<location line="+22"/>
|
|
|
|
<source>%n member(s)</source>
|
|
|
|
<translation type="unfinished">
|
|
|
|
<numerusform></numerusform>
|
|
|
|
</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+8"/>
|
|
|
|
<source>View members of %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+43"/>
|
|
|
|
<source>Change topic of this room</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+31"/>
|
|
|
|
<source>SETTINGS</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>Notifications</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>Muted</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>Mentions only</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>All messages</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>Room access</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+8"/>
|
|
|
|
<source>Anyone and guests</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>Anyone</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>Invited users</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>By knocking</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>Restricted by membership in other rooms</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+13"/>
|
|
|
|
<source>Encryption</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+21"/>
|
|
|
|
<source>End-to-End Encryption</source>
|
|
|
|
<translation type="unfinished">端到端加密</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Encryption is currently experimental and things might break unexpectedly. <br>
|
|
|
|
Please take note that it can't be disabled afterwards.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+16"/>
|
|
|
|
<source>Permission</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>View and change the permissions in this room</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>Sticker & Emote Settings</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>Change</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Change what packs are enabled, remove packs or create new ones</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>Hidden events</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-19"/>
|
|
|
|
<location line="+30"/>
|
|
|
|
<source>Configure</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Select events to hide in this room</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+16"/>
|
|
|
|
<source>INFO</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>Internal ID</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+16"/>
|
|
|
|
<source>Copied to clipboard</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+19"/>
|
|
|
|
<source>Room Version</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+19"/>
|
|
|
|
<source>show less</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>show more</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/ui/RoomSettings.cpp" line="+180"/>
|
|
|
|
<source>Failed to enable encryption: %1</source>
|
|
|
|
<translation type="unfinished">启用加密失败:%1</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+309"/>
|
|
|
|
<source>Select an avatar</source>
|
|
|
|
<translation type="unfinished">选择一个头像</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>All Files (*)</source>
|
|
|
|
<translation type="unfinished">所有文件(*)</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+12"/>
|
|
|
|
<source>The selected file is not an image</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>Error while reading file: %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+32"/>
|
|
|
|
<location line="+19"/>
|
|
|
|
<source>Failed to upload image: %s</source>
|
|
|
|
<translation type="unfinished">上传图像失败:%s</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>RoomlistModel</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/timeline/RoomlistModel.cpp" line="+156"/>
|
|
|
|
<source>Pending invite.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+29"/>
|
|
|
|
<source>Previewing this room</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+33"/>
|
|
|
|
<source>No preview available</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>Root</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/Root.qml" line="+339"/>
|
|
|
|
<source>Please enter your login password to continue:</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>Please enter a valid email address to continue:</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>Please enter a valid phone number to continue:</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>Please enter the token, which has been sent to you:</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+16"/>
|
|
|
|
<source>Wait for the confirmation link to arrive, then continue.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>ScreenShare</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/voip/ScreenShare.qml" line="+29"/>
|
|
|
|
<source>Share desktop with %1?</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+11"/>
|
|
|
|
<source>Window:</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+20"/>
|
|
|
|
<source>Frame rate:</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+19"/>
|
|
|
|
<source>Include your camera picture-in-picture</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+12"/>
|
|
|
|
<source>Request remote camera</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<location line="+9"/>
|
|
|
|
<source>View your callee's camera like a regular video call</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>Hide mouse cursor</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+20"/>
|
|
|
|
<source>Share</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+15"/>
|
|
|
|
<source>Preview</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>Cancel</source>
|
|
|
|
<translation type="unfinished">取消</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>SecretStorage</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/Cache.cpp" line="-4382"/>
|
|
|
|
<source>Failed to connect to secret storage</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>SelfVerificationCheck</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/SelfVerificationCheck.qml" line="+40"/>
|
|
|
|
<source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don't share it with anyone and don't lose it! Do not pass go! Do not collect $200!</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+33"/>
|
|
|
|
<source>Encryption setup successfully</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+9"/>
|
|
|
|
<source>Failed to setup encryption: %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+22"/>
|
|
|
|
<source>Setup Encryption</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>Hello and welcome to Matrix!
|
|
|
|
It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+124"/>
|
|
|
|
<source>Activate Encryption</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
|
|
|
|
If you choose verify, you need to have the other device available. If you choose "enter passphrase", you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>verify</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>enter passphrase</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>SelfVerificationStatus</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+43"/>
|
|
|
|
<source>Failed to create keys for cross-signing!</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+16"/>
|
|
|
|
<source>Failed to create keys for online key backup!</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+29"/>
|
|
|
|
<source>Failed to create keys for secure server side secret storage!</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+44"/>
|
|
|
|
<source>Encryption Setup</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>Encryption setup failed: %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+140"/>
|
|
|
|
<source>Identity key changed. This breaks E2EE, so logging out.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>SingleImagePackModel</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/SingleImagePackModel.cpp" line="+269"/>
|
|
|
|
<location line="+25"/>
|
|
|
|
<source>Failed to update image pack: %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-12"/>
|
|
|
|
<source>Failed to delete old image pack: %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+27"/>
|
|
|
|
<location line="+44"/>
|
|
|
|
<source>Failed to open image: %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-15"/>
|
|
|
|
<location line="+29"/>
|
|
|
|
<source>Failed to upload image: %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>StatusIndicator</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/StatusIndicator.qml" line="+25"/>
|
|
|
|
<source>Failed</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Sent</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Received</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Read</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>StickerPicker</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
|
|
|
|
<source>Search</source>
|
|
|
|
<translation type="unfinished">搜索</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>Success</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/device-verification/Success.qml" line="+12"/>
|
|
|
|
<source>Successful Verification</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+15"/>
|
|
|
|
<source>Verification successful! Both sides verified their devices!</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+14"/>
|
|
|
|
<source>Close</source>
|
|
|
|
<translation type="unfinished">关闭</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>TimelineModel</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/timeline/TimelineModel.cpp" line="+1265"/>
|
|
|
|
<location line="+17"/>
|
|
|
|
<source>Message redaction failed: %1</source>
|
|
|
|
<translation type="unfinished">删除消息失败:%1</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+74"/>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>Failed to encrypt event, sending aborted!</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+174"/>
|
|
|
|
<source>Save image</source>
|
|
|
|
<translation type="unfinished">保存图像</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Save video</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Save audio</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Save file</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message numerus="yes">
|
|
|
|
<location line="+250"/>
|
|
|
|
<source>%1 and %2 are typing.</source>
|
|
|
|
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
|
|
|
|
<translation type="unfinished">
|
|
|
|
<numerusform></numerusform>
|
|
|
|
</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+67"/>
|
|
|
|
<source>%1 opened the room to the public.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>%1 made this room require and invitation to join.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>%1 allowed to join this room by knocking.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>%1 allowed members of the following rooms to automatically join this room: %2</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+26"/>
|
|
|
|
<source>%1 made the room open to guests.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>%1 has closed the room to guest access.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+23"/>
|
|
|
|
<source>%1 made the room history world readable. Events may be now read by non-joined people.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>%1 set the room history visible to members from this point on.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>%1 set the room history visible to members since they were invited.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>%1 set the room history visible to members since they joined the room.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+35"/>
|
|
|
|
<location line="+244"/>
|
|
|
|
<source>%1 has changed the room's permissions.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-221"/>
|
|
|
|
<source>%1 has changed the room's kick powerlevel from %2 to %3.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message numerus="yes">
|
|
|
|
<location line="+15"/>
|
|
|
|
<source>%n member(s) can now kick room members.</source>
|
|
|
|
<translation type="unfinished">
|
|
|
|
<numerusform></numerusform>
|
|
|
|
</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>%1 can now kick room members.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+12"/>
|
|
|
|
<source>%1 has changed the room's redact powerlevel from %2 to %3.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message numerus="yes">
|
|
|
|
<location line="+14"/>
|
|
|
|
<source>%n member(s) can now redact room messages.</source>
|
|
|
|
<translation type="unfinished">
|
|
|
|
<numerusform></numerusform>
|
|
|
|
</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>%1 can now redact room messages.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+12"/>
|
|
|
|
<source>%1 has changed the room's ban powerlevel from %2 to %3.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message numerus="yes">
|
|
|
|
<location line="+15"/>
|
|
|
|
<source>%n member(s) can now ban room members.</source>
|
|
|
|
<translation type="unfinished">
|
|
|
|
<numerusform></numerusform>
|
|
|
|
</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>%1 can now ban room members.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+13"/>
|
|
|
|
<source>%1 has changed the room's state_default powerlevel from %2 to %3.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message numerus="yes">
|
|
|
|
<location line="+15"/>
|
|
|
|
<source>%n member(s) can now send state events.</source>
|
|
|
|
<translation type="unfinished">
|
|
|
|
<numerusform></numerusform>
|
|
|
|
</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>%1 can now send state events.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+14"/>
|
|
|
|
<source>%1 has changed the room's invite powerlevel from %2 to %3.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>%1 has changed the room's events_default powerlevel from %2 to %3. New users can now not send any events.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+9"/>
|
|
|
|
<source>%1 has changed the room's events_default powerlevel from %2 to %3. New users can now send events that are not otherwise restricted.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>%1 has changed the room's events_default powerlevel from %2 to %3.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+12"/>
|
|
|
|
<source>%1 has made %2 an administrator of this room.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>%1 has made %2 a moderator of this room.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>%1 has downgraded %2 to moderator of this room.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>%1 has changed the powerlevel of %2 from %3 to %4.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+16"/>
|
|
|
|
<source>%1 allowed only administrators to send "%2".</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>%1 allowed only moderators to send "%2".</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>%1 allowed everyone to send "%2".</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>%1 has changed the powerlevel of event type "%2" from the default to %3.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>%1 has changed the powerlevel of event type "%2" from %3 to %4.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+66"/>
|
|
|
|
<source>(empty)</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>%1 removed the following images from the pack %2:<br>%3</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>%1 added the following images to the pack %2:<br>%3</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>%1 changed the sticker and emotes in this room.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+31"/>
|
|
|
|
<source>Removed by %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>%1 (%2) removed this message at %3</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Removed by %1 because: %2</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>%1 (%2) removed this message at %3
|
|
|
|
Reason: %4</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+126"/>
|
|
|
|
<source>%2 revoked the invite to %1.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-5"/>
|
|
|
|
<source>%2 kicked %1.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>%2 unbanned %1.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>%2 rejected the knock from %1.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-32"/>
|
|
|
|
<source>%1 changed their avatar.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>%1 changed some profile info.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>%1 joined.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>%1 joined via authorisation from %2's server.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+13"/>
|
|
|
|
<source>%1 rejected their invite.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-5"/>
|
|
|
|
<source>%1 left the room.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+31"/>
|
|
|
|
<source>Reason: %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-19"/>
|
|
|
|
<source>%1 redacted their knock.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-1403"/>
|
|
|
|
<source>You joined this room.</source>
|
|
|
|
<translation type="unfinished">您已加入此房间</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1355"/>
|
|
|
|
<source>%1 invited %2.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+12"/>
|
|
|
|
<source>%1 has changed their avatar and changed their display name to %2.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>%1 has changed their display name to %2.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+36"/>
|
|
|
|
<source>%1 left after having already left!</source>
|
|
|
|
<comment>This is a leave event after the user already left and shouldn't happen apart from state resets</comment>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>%1 banned %2</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>%1 knocked.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>TimelineRow</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/TimelineRow.qml" line="+241"/>
|
|
|
|
<source>Edited</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>TimelineView</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/TimelineView.qml" line="+36"/>
|
|
|
|
<source>No room open</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+154"/>
|
|
|
|
<source>No preview available</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+9"/>
|
|
|
|
<source>Settings</source>
|
|
|
|
<translation type="unfinished">设置</translation>
|
|
|
|
</message>
|
|
|
|
<message numerus="yes">
|
|
|
|
<location line="+12"/>
|
|
|
|
<source>%n member(s)</source>
|
|
|
|
<translation type="unfinished">
|
|
|
|
<numerusform></numerusform>
|
|
|
|
</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>View members of %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+35"/>
|
|
|
|
<source>join the conversation</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>accept invite</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>decline invite</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+27"/>
|
|
|
|
<source>Back to room list</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>TopBar</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/TopBar.qml" line="+95"/>
|
|
|
|
<source>Back to room list</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-76"/>
|
|
|
|
<source>No room selected</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+139"/>
|
|
|
|
<source>This room is not encrypted!</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>This room contains only verified devices.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>This room contains verified devices and devices which have never changed their master key.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>This room contains unverified devices!</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+22"/>
|
|
|
|
<source>Show or hide pinned messages</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+28"/>
|
|
|
|
<source>Room options</source>
|
|
|
|
<translation type="unfinished">聊天室选项</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+8"/>
|
|
|
|
<source>Invite users</source>
|
|
|
|
<translation>被邀请的用户</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>Members</source>
|
|
|
|
<translation type="unfinished">成员</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>Leave room</source>
|
|
|
|
<translation>离开聊天室</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>Settings</source>
|
|
|
|
<translation>设置</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+69"/>
|
|
|
|
<source>Unpin</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>TrayIcon</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/TrayIcon.cpp" line="+117"/>
|
|
|
|
<source>Show</source>
|
|
|
|
<translation>显示</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Quit</source>
|
|
|
|
<translation>退出</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>UIA</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/ui/UIA.cpp" line="+59"/>
|
|
|
|
<source>No available registration flows!</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+56"/>
|
|
|
|
<location line="+24"/>
|
|
|
|
<location line="+17"/>
|
|
|
|
<source>Registration aborted</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-27"/>
|
|
|
|
<source>Please enter a valid registration token.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+165"/>
|
|
|
|
<source>Invalid token</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>UploadBox</name>
|
|
|
|
<message numerus="yes">
|
|
|
|
<location filename="../qml/UploadBox.qml" line="+79"/>
|
|
|
|
<source>Upload %n file(s)</source>
|
|
|
|
<translation type="unfinished">
|
|
|
|
<numerusform></numerusform>
|
|
|
|
</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>UserProfile</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/dialogs/UserProfile.qml" line="+26"/>
|
|
|
|
<source>Global User Profile</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>Room User Profile</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+48"/>
|
|
|
|
<source>Change avatar globally.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>Change avatar. Will only apply to this room.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+84"/>
|
|
|
|
<source>Change display name globally.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>Change display name. Will only apply to this room.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+29"/>
|
|
|
|
<source>Room: %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>This is a room-specific profile. The user's name and avatar may be different from their global versions.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+15"/>
|
|
|
|
<source>Open the global profile for this user.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+9"/>
|
|
|
|
<location line="+200"/>
|
|
|
|
<source>Verify</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-162"/>
|
|
|
|
<source>Start a private chat.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+8"/>
|
|
|
|
<source>Kick the user.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+9"/>
|
|
|
|
<source>Ban the user.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+9"/>
|
|
|
|
<source>Refresh device list.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+56"/>
|
|
|
|
<source>Sign out this device.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+31"/>
|
|
|
|
<source>Change device name.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+22"/>
|
|
|
|
<source>Last seen %1 from %2</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+27"/>
|
|
|
|
<source>Unverify</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/ui/UserProfile.cpp" line="+153"/>
|
|
|
|
<source>Sign out device %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>You signed out this device.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+228"/>
|
|
|
|
<source>Select an avatar</source>
|
|
|
|
<translation type="unfinished">选择一个头像</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>All Files (*)</source>
|
|
|
|
<translation type="unfinished">所有文件(*)</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+12"/>
|
|
|
|
<source>The selected file is not an image</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>Error while reading file: %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>UserSettings</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/UserSettingsPage.cpp" line="+471"/>
|
|
|
|
<location filename="../../src/UserSettingsPage.h" line="+228"/>
|
|
|
|
<source>Default</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>UserSettingsModel</name>
|
|
|
|
<message>
|
|
|
|
<location line="+399"/>
|
|
|
|
<source>Theme</source>
|
|
|
|
<translation type="unfinished">主题</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Scale factor</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Highlight message on hover</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Large Emoji in timeline</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Minimize to tray</source>
|
|
|
|
<translation type="unfinished">最小化至托盘</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Start in tray</source>
|
|
|
|
<translation type="unfinished">在托盘启动</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Group's sidebar</source>
|
|
|
|
<translation type="unfinished">群组侧边栏</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Send messages as Markdown</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Enable message bubbles</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Enable small Avatars</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Play animated images only on hover</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Typing notifications</source>
|
|
|
|
<translation type="unfinished">打字通知</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Sort rooms by unreads</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Show buttons in timeline</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Limit width of timeline</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Read receipts</source>
|
|
|
|
<translation type="unfinished">阅读回执</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Desktop notifications</source>
|
|
|
|
<translation type="unfinished">桌面通知</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Alert on notification</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Circular Avatars</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Use identicons</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Open images with external program</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Open videos with external program</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Decrypt messages in sidebar</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Privacy Screen</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Privacy screen timeout (in seconds [0 - 3600])</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Touchscreen mode</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Font size</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Font Family</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Emoji Font Family</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Ringtone</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Microphone</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Camera</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Camera resolution</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Camera frame rate</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Allow fallback call assist server</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Send encrypted messages to verified users only</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Share keys with verified users and devices</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Online Key Backup</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Profile</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>User ID</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Accesstoken</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Device ID</source>
|
|
|
|
<translation type="unfinished">设备 ID</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Device Fingerprint</source>
|
|
|
|
<translation type="unfinished">设备指纹</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Homeserver</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Version</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Platform</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>GENERAL</source>
|
|
|
|
<translation type="unfinished">通用</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>TIMELINE</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>SIDEBAR</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>TRAY</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>NOTIFICATIONS</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>CALLS</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>ENCRYPTION</source>
|
|
|
|
<translation type="unfinished">加密</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>INFO</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Session Keys</source>
|
|
|
|
<translation type="unfinished">会话密钥</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Cross Signing Secrets</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Online backup key</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Self signing key</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>User signing key</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Master signing key</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Expose room information via D-Bus</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+95"/>
|
|
|
|
<source>Default</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+35"/>
|
|
|
|
<source>Set the notification sound to play when a call invite arrives</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen, when Nheko is maximised</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>Set timeout (in seconds) for how long after window loses
|
|
|
|
focus before the screen will be blurred.
|
|
|
|
Set to 0 to blur immediately after focus loss. Max value of 1 hour (3600 seconds)</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>Change the background color of messages when you hover over them.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Make font size larger if messages with only a few emojis are displayed.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Keep the application running in the background after closing the client window.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>Start the application in the background without showing the client window.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Show a column containing groups and tags next to the room list.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Allow using markdown in messages.
|
|
|
|
When disabled, all messages are sent as a plain text.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>Messages get a bubble background. This also triggers some layout changes (WIP).</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>Avatars are resized to fit above the message.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Plays media like GIFs or WEBPs only when explicitly hovering over them.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Show who is typing in a room.
|
|
|
|
This will also enable or disable sending typing notifications to others.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>Display rooms with new messages first.
|
|
|
|
If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
|
|
|
|
If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms, that you have muted, will still be sorted by timestamp, since you don't seem to consider them as important as the other rooms.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+8"/>
|
|
|
|
<source>Show buttons to quickly reply, react or access additional options next to each message.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>Show if your message was read.
|
|
|
|
Status is displayed next to timestamps.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Notify about received messages when the client is not currently focused.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>Change the appearance of user avatars in chats.
|
|
|
|
OFF - square, ON - circle.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+60"/>
|
|
|
|
<source>The key to verify your own devices. If it is cached, verifying one of your devices will mark it verified for all your other devices and for users that have verified you.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-64"/>
|
|
|
|
<source>Show an alert when a message is received.
|
|
|
|
This usually causes the application icon in the task bar to animate in some fashion.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+7"/>
|
|
|
|
<source>Display an identicon instead of a letter when no avatar is set.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Opens images with an external program when tapping the image.
|
|
|
|
Note that when this option is ON, opened files are left unencrypted on disk and must be manually deleted.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>Opens videos with an external program when tapping the video.
|
|
|
|
Note that when this option is ON, opened files are left unencrypted on disk and must be manually deleted.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>Decrypt the messages shown in the sidebar.
|
|
|
|
Only affects messages in encrypted chats.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>When the window loses focus, the timeline will
|
|
|
|
be blurred.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Will prevent text selection in the timeline to make touch scrolling easier.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>Change the scale factor of the whole user interface.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Will use turn.matrix.org as assist when your home server does not offer one.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>Requires a user to be verified to send encrypted messages to them. This improves safety but makes E2EE more tedious.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>Automatically replies to key requests from other users, if they are verified, even if that device shouldn't have access to those keys otherwise.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>Download message encryption keys from and upload to the encrypted online key backup.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+23"/>
|
|
|
|
<source>The key to decrypt online key backups. If it is cached, you can enable online key backup to store encryption keys securely encrypted on the server.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+9"/>
|
|
|
|
<source>The key to verify other users. If it is cached, verifying a user will verify all their devices.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>Your most important key. You don't need to have it cached, since not caching it makes it less likely it can be stolen and it is only needed to rotate your other signing keys.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>Allow third-party plugins and applications to load information about rooms you are in via D-Bus. This can have useful applications, but it also could be used for nefarious purposes. Enable at your own risk.
|
|
|
|
|
|
|
|
This setting will take effect upon restart.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+410"/>
|
|
|
|
<source>Select a file</source>
|
|
|
|
<translation type="unfinished">选择一个文件</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>All Files (*)</source>
|
|
|
|
<translation type="unfinished">所有文件(*)</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+89"/>
|
|
|
|
<source>Open Sessions File</source>
|
|
|
|
<translation type="unfinished">打开会话文件</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<location line="+18"/>
|
|
|
|
<location line="+8"/>
|
|
|
|
<location line="+18"/>
|
|
|
|
<location line="+11"/>
|
|
|
|
<location line="+18"/>
|
|
|
|
<source>Error</source>
|
|
|
|
<translation type="unfinished">错误</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-64"/>
|
|
|
|
<location line="+26"/>
|
|
|
|
<source>File Password</source>
|
|
|
|
<translation type="unfinished">文件密码</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-25"/>
|
|
|
|
<source>Enter the passphrase to decrypt the file:</source>
|
|
|
|
<translation type="unfinished">输入密码以解密文件:</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+8"/>
|
|
|
|
<location line="+26"/>
|
|
|
|
<source>The password cannot be empty</source>
|
|
|
|
<translation type="unfinished">密码不能为空</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-8"/>
|
|
|
|
<source>Enter passphrase to encrypt your session keys:</source>
|
|
|
|
<translation type="unfinished">输入密码以加密你的会话密钥:</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+15"/>
|
|
|
|
<source>File to save the exported session keys</source>
|
|
|
|
<translation type="unfinished">保存导出的会话密钥的文件</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>UserSettingsPage</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/pages/UserSettingsPage.qml" line="+213"/>
|
|
|
|
<source>REQUEST</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-4"/>
|
|
|
|
<source>DOWNLOAD</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-20"/>
|
|
|
|
<source>CACHED</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+0"/>
|
|
|
|
<source>NOT CACHED</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+49"/>
|
|
|
|
<source>Back</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="-42"/>
|
|
|
|
<source>IMPORT</source>
|
|
|
|
<translation>导入</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>EXPORT</source>
|
|
|
|
<translation>导出</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>VerificationManager</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/encryption/VerificationManager.cpp" line="+133"/>
|
|
|
|
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>Waiting</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/device-verification/Waiting.qml" line="+13"/>
|
|
|
|
<source>Waiting for other party…</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+18"/>
|
|
|
|
<source>Waiting for other side to accept the verification request.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Waiting for other side to continue the verification process.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>Waiting for other side to complete the verification process.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+17"/>
|
|
|
|
<source>Cancel</source>
|
|
|
|
<translation>取消</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>WelcomePage</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../qml/pages/WelcomePage.qml" line="+29"/>
|
|
|
|
<source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
|
|
|
|
<translation>欢迎使用 nheko! Matrix 协议的桌面客户端。</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+10"/>
|
|
|
|
<source>Enjoy your stay!</source>
|
|
|
|
<translation>祝您使用愉快!</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+14"/>
|
|
|
|
<source>REGISTER</source>
|
|
|
|
<translation>注册</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+8"/>
|
|
|
|
<source>LOGIN</source>
|
|
|
|
<translation>登录</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>descriptiveTime</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/Utils.cpp" line="+193"/>
|
|
|
|
<source>Yesterday</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>dialogs::FallbackAuth</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/dialogs/FallbackAuth.cpp" line="+38"/>
|
|
|
|
<source>Open Fallback in Browser</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Cancel</source>
|
|
|
|
<translation>取消</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Confirm</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+12"/>
|
|
|
|
<source>Open the fallback, follow the steps and confirm after completing them.</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>dialogs::ReCaptcha</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/dialogs/ReCaptcha.cpp" line="+38"/>
|
|
|
|
<source>Open reCAPTCHA</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Cancel</source>
|
|
|
|
<translation>取消</translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+1"/>
|
|
|
|
<source>Confirm</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+11"/>
|
|
|
|
<source>Solve the reCAPTCHA and press the confirm button</source>
|
|
|
|
<translation>解决 reCAPTCHA 并按确认按钮</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>message-description sent:</name>
|
|
|
|
<message>
|
|
|
|
<location filename="../../src/Utils.h" line="+117"/>
|
|
|
|
<source>You sent an audio clip</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>%1 sent an audio clip</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>You sent an image</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>%1 sent an image</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>You sent a file</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>%1 sent a file</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>You sent a video</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>%1 sent a video</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>You sent a sticker</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>%1 sent a sticker</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>You sent a notification</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>%1 sent a notification</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>You: %1</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>%1: %2</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+6"/>
|
|
|
|
<source>You sent an encrypted message</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>%1 sent an encrypted message</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+5"/>
|
|
|
|
<source>You placed a call</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>%1 placed a call</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>You answered a call</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>%1 answered a call</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+4"/>
|
|
|
|
<source>You ended a call</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
<message>
|
|
|
|
<location line="+2"/>
|
|
|
|
<source>%1 ended a call</source>
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
<context>
|
|
|
|
<name>utils</name>
|
|
|
|
<message>
|
|
|
|
<location line="+3"/>
|
|
|
|
<source>Unknown Message Type</source>
|
|
|
|
<translation>未知的消息类型</translation>
|
|
|
|
</message>
|
|
|
|
</context>
|
|
|
|
</TS>
|