Skip to content
Snippets Groups Projects
nheko_zh_CN.ts 73.7 KiB
Newer Older
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
Nicolas Werner's avatar
Nicolas Werner committed
<context>
    <name>ActiveCallBar</name>
    <message>
        <location filename="../qml/ActiveCallBar.qml" line="+49"/>
        <source>Initiating...</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+3"/>
        <source>Calling...</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+3"/>
        <source>Connecting...</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+48"/>
        <source>Unmute Mic</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+0"/>
        <source>Mute Mic</source>
        <translation type="unfinished"></translation>
    </message>
</context>
<context>
    <name>AwaitingVerificationConfirmation</name>
    <message>
        <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+7"/>
        <source>Awaiting Confirmation</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+12"/>
        <source>Waiting for other side to complete verification.</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+12"/>
        <source>Cancel</source>
        <translation type="unfinished">取消</translation>
    </message>
</context>
<context>
    <name>Cache</name>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location filename="../../src/Cache.cpp" line="+1732"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>You joined this room.</source>
        <translation type="unfinished"></translation>
    </message>
</context>
<context>
    <name>ChatPage</name>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location filename="../../src/ChatPage.cpp" line="+215"/>
        <source>Failed to invite user: %1</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+4"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+947"/>
        <source>Invited user: %1</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="-458"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <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 type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+415"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>Room %1 created.</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+26"/>
        <source>Confirm invite</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+1"/>
        <source>Do you really want to invite %1 (%2)?</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+11"/>
        <source>Failed to invite %1 to %2: %3</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+15"/>
        <source>Confirm kick</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+1"/>
        <source>Do you really want to kick %1 (%2)?</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+11"/>
        <source>Failed to kick %1 to %2: %3</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <source>Kicked user: %1</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+10"/>
        <source>Confirm ban</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+1"/>
        <source>Do you really want to ban %1 (%2)?</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+11"/>
        <source>Failed to ban %1 in %2: %3</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <source>Banned user: %1</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+10"/>
        <source>Confirm unban</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+1"/>
        <source>Do you really want to unban %1 (%2)?</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+11"/>
        <source>Failed to unban %1 in %2: %3</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+5"/>
        <source>Unbanned user: %1</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="-874"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>Failed to upload media. Please try again.</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+334"/>
        <source>Cache migration failed!</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+13"/>
        <source>Incompatible cache version</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+1"/>
        <source>The cache on your disk is newer than this version of Nheko supports. Please update or clear your cache.</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+67"/>
        <source>Failed to restore OLM account. Please login again.</source>
        <translation>恢复 OLM 账户失败请重新登录</translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+4"/>
        <source>Failed to restore save data. Please login again.</source>
        <translation>恢复保存的数据失败请重新登录</translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+165"/>
        <source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+99"/>
        <location line="+251"/>
        <source>Please try to login again: %1</source>
        <translation>请尝试再次登录%1</translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="-219"/>
        <source>Failed to join room: %1</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+5"/>
        <source>You joined the room</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+6"/>
        <source>Failed to remove invite: %1</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+19"/>
        <source>Room creation failed: %1</source>
        <translation>创建聊天室失败%1</translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+16"/>
        <source>Failed to leave room: %1</source>
        <translation>离开聊天室失败%1</translation>
    </message>
</context>
<context>
    <name>CommunitiesListItem</name>
    <message>
        <location filename="../../src/CommunitiesListItem.cpp" line="+133"/>
        <source>All rooms</source>
        <translation type="unfinished"></translation>
    </message>
        <location line="+4"/>
        <source>Favourite rooms</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Low priority rooms</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Server Notices</source>
        <comment>Tag translation for m.server_notice</comment>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+2"/>
        <location line="+2"/>
        <source> (tag)</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+3"/>
        <source> (community)</source>
        <translation type="unfinished"></translation>
    </message>
</context>
Nicolas Werner's avatar
Nicolas Werner committed
<context>
    <name>DigitVerification</name>
    <message>
        <location filename="../qml/device-verification/DigitVerification.qml" line="+7"/>
        <source>Verification Code</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+10"/>
        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+31"/>
        <source>They do not match!</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+13"/>
        <source>They match!</source>
        <translation type="unfinished"></translation>
    </message>
</context>
<context>
    <name>EditModal</name>
    <message>
Joe Donofry's avatar
Joe Donofry committed
        <location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
        <source>Apply</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+1"/>
        <source>Cancel</source>
        <translation type="unfinished">取消</translation>
    </message>
    <message>
        <location line="+10"/>
        <source>Name</source>
        <translation>名称</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Topic</source>
        <translation>主题</translation>
    </message>
</context>
<context>
    <name>EmojiPicker</name>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location filename="../qml/emoji/EmojiPicker.qml" line="+112"/>
        <location line="+181"/>
        <source>Search</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="-66"/>
        <source>People</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Nature</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Food</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Activity</source>
        <translation type="unfinished">Activity</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Travel</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Objects</source>
        <translation type="unfinished">Objects</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Symbols</source>
        <translation type="unfinished">Symbols</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Flags</source>
        <translation type="unfinished">Flags</translation>
    </message>
</context>
Nicolas Werner's avatar
Nicolas Werner committed
<context>
    <name>EmojiVerification</name>
    <message>
        <location filename="../qml/device-verification/EmojiVerification.qml" line="+7"/>
        <source>Verification Code</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+10"/>
        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+376"/>
        <source>They do not match!</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+13"/>
        <source>They match!</source>
        <translation type="unfinished"></translation>
    </message>
</context>
Nicolas Werner's avatar
Nicolas Werner committed
    <name>EncryptionIndicator</name>
Nicolas Werner's avatar
Nicolas Werner committed
        <location filename="../qml/EncryptionIndicator.qml" line="+19"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>Encrypted</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+2"/>
        <source>This message is not encrypted!</source>
        <translation type="unfinished"></translation>
    </message>
</context>
Nicolas Werner's avatar
Nicolas Werner committed
<context>
    <name>EventStore</name>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location filename="../../src/timeline/EventStore.cpp" line="+503"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>-- Encrypted Event (No keys found for decryption) --</source>
        <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+19"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+62"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
        <comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed.</comment>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="-48"/>
        <location line="+61"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>-- Decryption Error (%1) --</source>
        <comment>Placeholder, when the message can&apos;t be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="-51"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>-- Encrypted Event (Unknown event type) --</source>
        <comment>Placeholder, when the message was decrypted, but we couldn&apos;t parse it, because Nheko/mtxclient don&apos;t support that event type yet.</comment>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+13"/>
        <source>-- Replay attack! This message index was reused! --</source>
Nicolas Werner's avatar
Nicolas Werner committed
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+7"/>
        <source>-- Message by unverified device! --</source>
        <translation type="unfinished"></translation>
    </message>
</context>
Nicolas Werner's avatar
Nicolas Werner committed
<context>
    <name>Failed</name>
    <message>
        <location filename="../qml/device-verification/Failed.qml" line="+7"/>
        <source>Verification failed</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+15"/>
        <source>Other client does not support our verification protocol.</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+4"/>
        <source>Key mismatch detected!</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+2"/>
        <location line="+4"/>
        <source>Device verification timed out.</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="-2"/>
        <source>Other party canceled the verification.</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+18"/>
        <source>Close</source>
        <translation type="unfinished"></translation>
    </message>
</context>
<context>
    <name>InviteeItem</name>
    <message>
Joe Donofry's avatar
Joe Donofry committed
        <location filename="../../src/InviteeItem.cpp" line="+18"/>
        <source>Remove</source>
        <translation type="unfinished"></translation>
    </message>
</context>
<context>
    <name>LoginPage</name>
    <message>
Joe Donofry's avatar
Joe Donofry committed
        <location filename="../../src/LoginPage.cpp" line="+90"/>
        <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>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+2"/>
        <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&apos;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="+21"/>
        <source>Password</source>
        <translation>密码</translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+5"/>
        <source>Device name</source>
        <translation>设备名</translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+2"/>
Joe Donofry's avatar
Joe Donofry committed
        <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>
Nicolas Werner's avatar
Nicolas Werner committed
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+6"/>
        <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="+16"/>
Joe Donofry's avatar
Joe Donofry committed
        <location line="+191"/>
        <source>LOGIN</source>
        <translation>登录</translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="-100"/>
        <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>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+25"/>
        <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="+5"/>
        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
        <translation>发生了一个未知错误请确认服务器域名合法</translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+55"/>
        <source>SSO LOGIN</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+25"/>
        <source>Empty password</source>
        <translation>空密码</translation>
    </message>
Nicolas Werner's avatar
Nicolas Werner committed
    <message>
        <location line="+52"/>
        <source>SSO login failed</source>
        <translation type="unfinished"></translation>
    </message>
</context>
<context>
    <name>MemberList</name>
    <message>
        <location filename="../../src/dialogs/MemberList.cpp" line="+90"/>
        <source>Room members</source>
        <translation>聊天室成员</translation>
    </message>
    <message>
        <location line="+4"/>
        <source>OK</source>
        <translation type="unfinished"></translation>
    </message>
</context>
Nicolas Werner's avatar
Nicolas Werner committed
<context>
    <name>MessageDelegate</name>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location filename="../qml/delegates/MessageDelegate.qml" line="+105"/>
        <location line="+9"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>redacted</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+9"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>Encryption enabled</source>
        <translation type="unfinished"></translation>
    </message>
Nicolas Werner's avatar
Nicolas Werner committed
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+9"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>room name changed to: %1</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+0"/>
        <source>removed room name</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+9"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>topic changed to: %1</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+0"/>
        <source>removed topic</source>
        <translation type="unfinished"></translation>
    </message>
Adasauce's avatar
Adasauce committed
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+9"/>
Adasauce's avatar
Adasauce committed
        <source>%1 created and configured room: %2</source>
        <translation type="unfinished"></translation>
    </message>
Nicolas Werner's avatar
Nicolas Werner committed
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+12"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>%1 placed a voice call.</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+2"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>%1 placed a video call.</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+2"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>%1 placed a call.</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+11"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>%1 answered the call.</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+9"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>%1 ended the call.</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+9"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>Negotiating call...</source>
        <translation type="unfinished"></translation>
    </message>
Nicolas Werner's avatar
Nicolas Werner committed
</context>
Nicolas Werner's avatar
Nicolas Werner committed
<context>
    <name>NewVerificationRequest</name>
    <message>
        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+7"/>
        <source>Send Device Verification Request</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+0"/>
        <source>Recieved Device Verification Request</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+10"/>
        <source>To ensure that no malicious user can eavesdrop on your encrypted communications, you can verify this device.</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+0"/>
        <source>The device was requested to be verified</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+8"/>
        <source>Cancel</source>
        <translation type="unfinished">取消</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 type="unfinished">接受</translation>
    </message>
</context>
Nicolas Werner's avatar
Nicolas Werner committed
<context>
    <name>Placeholder</name>
    <message>
        <location filename="../qml/delegates/Placeholder.qml" line="+4"/>
        <source>unimplemented event: </source>
        <translation type="unfinished"></translation>
    </message>
</context>
<context>
    <name>QuickSwitcher</name>
    <message>
        <location filename="../../src/QuickSwitcher.cpp" line="+74"/>
        <source>Search for a room...</source>
        <translation>寻找一个聊天室...</translation>
    </message>
</context>
<context>
    <name>RegisterPage</name>
    <message>
Joe Donofry's avatar
Joe Donofry committed
        <location filename="../../src/RegisterPage.cpp" line="+88"/>
        <source>Username</source>
        <translation>用户名</translation>
    </message>
    <message>
        <location line="+3"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <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="+4"/>
        <source>Password</source>
        <translation>密码</translation>
    </message>
Nicolas Werner's avatar
Nicolas Werner committed
    <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="+4"/>
        <source>Password confirmation</source>
        <translation>密码确认</translation>
    </message>
    <message>
        <location line="+4"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>Homeserver</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+2"/>
        <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="+17"/>
        <source>REGISTER</source>
        <translation>注册</translation>
    </message>
    <message>
        <location line="+55"/>
Joe Donofry's avatar
Joe Donofry committed
        <source>No supported registration flows!</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+135"/>
        <source>Invalid username</source>
        <translation>无效的用户名</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Password is not long enough (min 8 chars)</source>
        <translation>密码不够长至少8个字符</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Passwords don&apos;t match</source>
        <translation>密码不匹配</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Invalid server name</source>
        <translation>无效的服务器名</translation>
    </message>
</context>
<context>
    <name>RoomInfo</name>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location filename="../../src/Cache.cpp" line="+1815"/>
        <source>no version stored</source>
        <translation type="unfinished"></translation>
    </message>
</context>
<context>
    <name>RoomInfoListItem</name>
    <message>
        <location filename="../../src/RoomInfoListItem.cpp" line="+102"/>
        <source>Leave room</source>
        <translation>离开聊天室</translation>
    </message>
    <message>
        <location line="+7"/>
        <source>Tag room as:</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+18"/>
        <source>Favourite</source>
        <comment>Standard matrix tag for favourites</comment>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+3"/>
        <source>Low Priority</source>
        <comment>Standard matrix tag for low priority rooms</comment>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+3"/>
        <source>Server Notice</source>
        <comment>Standard matrix tag for server notices</comment>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+12"/>
        <source>Adds or removes the specified tag.</source>
        <comment>WhatsThis hint for tag menu actions</comment>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+38"/>
        <source>New tag...</source>
        <comment>Add a new tag to the room</comment>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+4"/>
        <source>New Tag</source>
        <comment>Tag name prompt title</comment>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+1"/>
        <source>Tag:</source>
        <comment>Tag name prompt</comment>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+173"/>
        <source>Accept</source>
        <translation>接受</translation>
    </message>
    <message>
        <location line="+3"/>
        <source>Decline</source>
        <translation>拒绝</translation>
    </message>
</context>
<context>
    <name>SideBarActions</name>
    <message>
Joe Donofry's avatar
Joe Donofry committed
        <location filename="../../src/SideBarActions.cpp" line="+40"/>
        <source>User settings</source>
        <translation>用户设置</translation>
    </message>
    <message>
        <location line="+7"/>
        <source>Create new room</source>
        <translation>创建新的聊天室</translation>
    </message>
    <message>
        <location line="+1"/>
        <source>Join a room</source>
        <translation>加入聊天室</translation>
    </message>
    <message>
        <location line="+16"/>
        <source>Start a new chat</source>
        <translation>开始新的聊天</translation>
    </message>
    <message>
        <location line="+15"/>
        <source>Room directory</source>
        <translation>聊天室目录</translation>
    </message>
</context>
<context>
    <name>StatusIndicator</name>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location filename="../qml/StatusIndicator.qml" line="+17"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>Failed</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+2"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>Sent</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+2"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>Received</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+2"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>Read</source>
        <translation type="unfinished"></translation>
    </message>
</context>
Nicolas Werner's avatar
Nicolas Werner committed
<context>
    <name>Success</name>
    <message>
        <location filename="../qml/device-verification/Success.qml" line="+6"/>
        <source>Successful Verification</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+12"/>
        <source>Verification successful! Both sides verified their devices!</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+12"/>
        <source>Close</source>
        <translation type="unfinished"></translation>
    </message>
</context>
<context>
    <name>TextInputWidget</name>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location filename="../../src/TextInputWidget.cpp" line="+574"/>
        <source>Send a file</source>
        <translation>发送一个文件</translation>
    </message>
    <message>
        <location line="+13"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <location filename="../../src/TextInputWidget.h" line="+160"/>
        <source>Write a message...</source>
        <translation>写一条消息...</translation>
    </message>
    <message>
        <location line="+31"/>
        <source>Send a message</source>
        <translation>发送一条消息</translation>
    </message>
    <message>
        <location line="+8"/>
        <source>Emoji</source>
        <translation></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+96"/>
        <source>Select a file</source>
        <translation>选择一个文件</translation>
    </message>
    <message>
        <location line="+0"/>
        <source>All Files (*)</source>
        <translation>所有文件*</translation>
    </message>
Nicolas Werner's avatar
Nicolas Werner committed
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+63"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>Place a call</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location line="+3"/>
        <source>Hang up</source>
        <translation type="unfinished"></translation>
    </message>
    <message>
        <location filename="../../src/TextInputWidget.h" line="-5"/>
        <source>Connection lost. Nheko is trying to re-connect...</source>
        <translation>连接丢失Nheko 正在尝试重连...</translation>
    </message>
</context>
<context>
Nicolas Werner's avatar
Nicolas Werner committed
    <name>TimelineModel</name>
Nicolas Werner's avatar
Nicolas Werner committed
        <location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <source>Message redaction failed: %1</source>
        <translation type="unfinished">删除消息失败%1</translation>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+125"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+17"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+88"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+5"/>
        <source>Failed to encrypt event, sending aborted!</source>
Emi Simpson's avatar
Emi Simpson committed
        <translation type="unfinished"></translation>
    </message>
    <message>
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+236"/>
Nicolas Werner's avatar
Nicolas Werner committed
        <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">
Nicolas Werner's avatar
Nicolas Werner committed
        <location line="+129"/>
        <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>