You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nheko/resources/langs/nheko_zh_CN.ts

2004 lines
65 KiB

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
<context>
<name>Cache</name>
<message>
<location filename="../../src/Cache.cpp" line="+1658"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChatPage</name>
<message>
<location filename="../../src/ChatPage.cpp" line="+218"/>
<source>Failed to invite user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<location line="+947"/>
<source>Invited user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-458"/>
<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>
<location line="+415"/>
<source>Room %1 created.</source>
<translation type="unfinished"></translation>
</message>
<message>
<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>
<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>
<location line="+5"/>
<source>Kicked user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<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>
<location line="+5"/>
<source>Banned user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<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>
<location line="-874"/>
<source>Failed to upload media. Please try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+334"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<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>
<location line="+67"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation> OLM </translation>
</message>
<message>
<location line="+4"/>
<source>Failed to restore save data. Please login again.</source>
<translation></translation>
</message>
<message>
<location line="+165"/>
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+99"/>
<location line="+251"/>
<source>Please try to login again: %1</source>
<translation>%1</translation>
</message>
<message>
<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>
<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>
<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>
<context>
<name>EditModal</name>
<message>
<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>
<location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
<location line="+139"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-42"/>
<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>
<context>
<name>EncryptionIndicator</name>
<message>
<location filename="../qml/EncryptionIndicator.qml" line="+36"/>
<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>
<context>
<name>EventStore</name>
<message>
<location filename="../../src/timeline/EventStore.cpp" line="+418"/>
<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"/>
<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>
<location line="+14"/>
<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>
<location line="+10"/>
<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>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>-- Message by unverified device! --</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>InviteeItem</name>
<message>
<location filename="../../src/InviteeItem.cpp" line="+18"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LoginPage</name>
<message>
<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>
<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>
<location line="+5"/>
<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 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"/>
<location line="+191"/>
<source>LOGIN</source>
<translation></translation>
</message>
<message>
<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>
<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>
<location line="+55"/>
<source>SSO LOGIN</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+25"/>
<source>Empty password</source>
<translation></translation>
</message>
<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>
<context>
<name>MessageDelegate</name>
<message>
<location filename="../qml/delegates/MessageDelegate.qml" line="+66"/>
<location line="+6"/>
<source>redacted</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Encryption enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<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>
<location line="+6"/>
<source>topic changed to: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+0"/>
<source>removed topic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>%1 created and configured room: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>%1 placed a voice call.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>%1 placed a video call.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>%1 placed a call.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>%1 answered the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>%1 ended the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Negotiating call...</source>
<translation type="unfinished"></translation>
</message>
</context>
<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>
<location filename="../../src/RegisterPage.cpp" line="+88"/>
<source>Username</source>
<translation></translation>
</message>
<message>
<location line="+3"/>
<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>
<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"/>
<source>Homeserver</source>
<translation type="unfinished"></translation>
</message>
<message>
<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"/>
<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>
<location filename="../../src/Cache.cpp" line="+1443"/>
<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>
<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>
<location filename="../qml/StatusIndicator.qml" line="+14"/>
<source>Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Sent</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Received</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TextInputWidget</name>
<message>
<location filename="../../src/TextInputWidget.cpp" line="+574"/>
<source>Send a file</source>
<translation></translation>
</message>
<message>
<location line="+13"/>
<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>
<location line="+94"/>
<source>Select a file</source>
<translation></translation>
</message>
<message>
<location line="+0"/>
<source>All Files (*)</source>
<translation>*</translation>
</message>
<message>
<location line="+64"/>
<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>
<name>TimelineModel</name>
<message>
<location filename="../../src/timeline/TimelineModel.cpp" line="+805"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished">%1</translation>
</message>
<message>
<location line="+114"/>
<location line="+17"/>
<location line="+101"/>
<location line="+5"/>
<source>Failed to encrypt event, sending aborted!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+195"/>
<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="+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>
<message>
<location line="+68"/>
<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="+23"/>
<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="+3"/>
<source>%1 set the room history visible to members since they were invited.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>%1 set the room history visible to members since they joined the room.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+22"/>
<source>%1 has changed the room&apos;s permissions.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+33"/>
<source>%1 was invited.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
<source>%1 changed their display name and avatar.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>%1 changed their display name.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<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="+4"/>
<source>%1 joined.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<source>%1 rejected their invite.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Revoked the invite to %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>%1 left the room.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Kicked %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Unbanned %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+14"/>
<source>%1 was banned.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-11"/>
<source>%1 redacted their knock.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-943"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+945"/>
<source>Rejected the knock from %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>%1 left after having already left!</source>
<comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
<source> Reason: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-5"/>
<source>%1 knocked.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TimelineRow</name>
<message>
<location filename="../qml/TimelineRow.qml" line="+94"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+16"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TimelineView</name>
<message>
<location filename="../qml/TimelineView.qml" line="+61"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Read receipts</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>View raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>View decrypted raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Redact message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Save as</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+53"/>
<source>Back to room list</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
<location line="+15"/>
<source>No room selected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+28"/>
<source>Room options</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Invite users</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Members</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Leave room</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+253"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TrayIcon</name>
<message>
<location filename="../../src/TrayIcon.cpp" line="+122"/>
<source>Show</source>
<translation></translation>
</message>
<message>
<location line="+1"/>
<source>Quit</source>
<translation>退</translation>
</message>
</context>
<context>
<name>UserInfoWidget</name>
<message>
<location filename="../../src/UserInfoWidget.cpp" line="+95"/>
<source>Logout</source>
<translation></translation>
</message>
<message>
<location line="+20"/>
<source>Set custom status message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Custom status message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Status:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<source>Set presence automatically</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Online</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Unavailable</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Offline</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UserSettingsPage</name>
<message>
<location filename="../../src/UserSettingsPage.cpp" line="+566"/>
<source>Minimize to tray</source>
<translation></translation>
</message>
<message>
<location line="+3"/>
<source>Start in tray</source>
<translation></translation>
</message>
<message>
<location line="+7"/>
<source>Group&apos;s sidebar</source>
<translation></translation>
</message>
<message>
<location line="-3"/>
<source>Circular Avatars</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-63"/>
<source>CALLS</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+58"/>
<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="+4"/>
<source>Change the appearance of user avatars in chats.
OFF - square, ON - Circle.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Show a column containing groups and tags next to the room list.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Decrypt messages in sidebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Decrypt the messages shown in the sidebar.
Only affects messages in encrypted chats.</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>Show buttons to quickly reply, react or access additional options next to each message.</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>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="+2"/>
<source>Typing notifications</source>
<translation></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="+3"/>
<source>Sort rooms by unreads</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<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&apos;t seem to consider them as important as the other rooms.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Read receipts</source>
<translation></translation>
</message>
<message>
<location line="+2"/>
<source>Show if your message was read.
Status is displayed next to timestamps.</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>Allow using markdown in messages.
When disabled, all messages are sent as a plain text.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Desktop notifications</source>
<translation></translation>
</message>
<message>
<location line="+2"/>
<source>Notify about received message when the client is not currently focused.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Alert on notification</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<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="+2"/>
<source>Highlight message on hover</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Change the background color of messages when you hover over them.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Large Emoji in timeline</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="+5"/>
<source>Scale factor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Change the scale factor of the whole user interface.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Font size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Font Family</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Theme</source>
<translation></translation>
</message>
<message>
<location line="+4"/>
<source>Allow fallback call assist server</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="+4"/>
<source>Device ID</source>
<translation> ID</translation>
</message>
<message>
<location line="+1"/>
<source>Device Fingerprint</source>
<translation></translation>
</message>
<message>
<location line="-120"/>
<source>Session Keys</source>
<translation></translation>
</message>
<message>
<location line="+4"/>
<source>IMPORT</source>
<translation></translation>
</message>
<message>
<location line="+1"/>
<source>EXPORT</source>
<translation></translation>
</message>
<message>
<location line="-25"/>
<source>ENCRYPTION</source>
<translation></translation>
</message>
<message>
<location line="-78"/>
<source>GENERAL</source>
<translation></translation>
</message>
<message>
<location line="+30"/>
<source>INTERFACE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+172"/>
<source>Emoji Font Family</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+191"/>
<source>Open Sessions File</source>
<translation></translation>
</message>
<message>
<location line="+4"/>
<location line="+18"/>
<location line="+9"/>
<location line="+2"/>
<location line="+2"/>
<location line="+19"/>
<location line="+11"/>
<location line="+18"/>
<location line="+2"/>
<location line="+2"/>
<source>Error</source>
<translation></translation>
</message>
<message>
<location line="-74"/>
<location line="+32"/>
<source>File Password</source>
<translation></translation>
</message>
<message>
<location line="-31"/>
<source>Enter the passphrase to decrypt the file:</source>
<translation></translation>
</message>
<message>
<location line="+8"/>
<location line="+32"/>
<source>The password cannot be empty</source>
<translation></translation>
</message>
<message>
<location line="-8"/>
<source>Enter passphrase to encrypt your session keys:</source>
<translation></translation>
</message>
<message>
<location line="+15"/>
<source>File to save the exported session keys</source>
<translation></translation>
</message>
</context>
<context>
<name>WelcomePage</name>
<message>
<location filename="../../src/WelcomePage.cpp" line="+47"/>
<source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
<translation>使 nheko! Matrix </translation>
</message>
<message>
<location line="+1"/>
<source>Enjoy your stay!</source>
<translation>使</translation>
</message>
<message>
<location line="+23"/>
<source>REGISTER</source>
<translation></translation>
</message>
<message>
<location line="+5"/>
<source>LOGIN</source>
<translation></translation>
</message>
</context>
<context>
<name>descriptiveTime</name>
<message>
<location filename="../../src/Utils.cpp" line="+146"/>
<source>Yesterday</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>dialogs::AcceptCall</name>
<message>
<location filename="../../src/dialogs/AcceptCall.cpp" line="+89"/>
<source>Accept</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Reject</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>dialogs::CreateRoom</name>
<message>
<location filename="../../src/dialogs/CreateRoom.cpp" line="+36"/>
<source>Create room</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<source>Name</source>
<translation></translation>
</message>
<message>
<location line="+3"/>
<source>Topic</source>
<translation></translation>
</message>
<message>
<location line="+3"/>
<source>Alias</source>
<translation></translation>
</message>
<message>
<location line="+8"/>
<source>Room Visibility</source>
<translation></translation>
</message>
<message>
<location line="+8"/>
<source>Room Preset</source>
<translation></translation>
</message>
<message>
<location line="+9"/>
<source>Direct Chat</source>
<translation></translation>
</message>
</context>
<context>
<name>dialogs::FallbackAuth</name>
<message>
<location filename="../../src/dialogs/FallbackAuth.cpp" line="+30"/>
<source>Open Fallback in Browser</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Cancel</source>
<translation type="unfinished"></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::InviteUsers</name>
<message>
<location filename="../../src/dialogs/InviteUsers.cpp" line="+42"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>User ID to invite</source>
<translation> ID</translation>
</message>
</context>
<context>
<name>dialogs::JoinRoom</name>
<message>
<location filename="../../src/dialogs/JoinRoom.cpp" line="+30"/>
<source>Join</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Room ID or alias</source>
<translation> ID </translation>
</message>
</context>
<context>
<name>dialogs::LeaveRoom</name>
<message>
<location filename="../../src/dialogs/LeaveRoom.cpp" line="+31"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Are you sure you want to leave?</source>
<translation></translation>
</message>
</context>
<context>
<name>dialogs::Logout</name>
<message>
<location filename="../../src/dialogs/Logout.cpp" line="+47"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Logout. Are you sure?</source>
<translation></translation>
</message>
</context>
<context>
<name>dialogs::PlaceCall</name>
<message>
<location filename="../../src/dialogs/PlaceCall.cpp" line="+60"/>
<source>Voice</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>dialogs::PreviewUploadOverlay</name>
<message>
<location filename="../../src/dialogs/PreviewUploadOverlay.cpp" line="+41"/>
<source>Upload</source>
<translation></translation>
</message>
<message>
<location line="+1"/>
<source>Cancel</source>
<translation></translation>
</message>
<message>
<location line="+84"/>
<source>Media type: %1
Media size: %2
</source>
<translation>%1
%2
</translation>
</message>
</context>
<context>
<name>dialogs::ReCaptcha</name>
<message>
<location filename="../../src/dialogs/ReCaptcha.cpp" line="+31"/>
<source>Cancel</source>
<translation type="unfinished"></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>dialogs::ReadReceipts</name>
<message>
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+120"/>
<source>Read receipts</source>
<translation></translation>
</message>
<message>
<location line="+4"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>dialogs::ReceiptItem</name>
<message>
<location line="-46"/>
<source>Today %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Yesterday %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>dialogs::RoomSettings</name>
<message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+135"/>
<source>Settings</source>
<translation></translation>
</message>
<message>
<location line="+3"/>
<source>Info</source>
<translation></translation>
</message>
<message>
<location line="+11"/>
<source>Internal ID</source>
<translation> ID</translation>
</message>
<message>
<location line="+10"/>
<source>Room Version</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Notifications</source>
<translation></translation>
</message>
<message>
<location line="+2"/>
<source>Muted</source>
<translation></translation>
</message>
<message>
<location line="+2"/>
<source>Mentions only</source>
<translation></translation>
</message>
<message>
<location line="+1"/>
<source>All messages</source>
<translation></translation>
</message>
<message>
<location line="+97"/>
<source>Room access</source>
<translation>访</translation>
</message>
<message>
<location line="+2"/>
<source>Anyone and guests</source>
<translation>访</translation>
</message>
<message>
<location line="+1"/>
<source>Anyone</source>
<translation></translation>
</message>
<message>
<location line="+1"/>
<source>Invited users</source>
<translation></translation>
</message>
<message>
<location line="+50"/>
<source>Encryption</source>
<translation></translation>
</message>
<message>
<location line="+8"/>
<source>End-to-End Encryption</source>
<translation></translation>
</message>
<message>
<location line="+1"/>
<source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;Please take note that it can&apos;t be disabled afterwards.</source>
<translation>&lt;br&gt;</translation>
</message>
<message>
<location line="+27"/>
<source>Respond to key requests</source>
<translation></translation>
</message>
<message>
<location line="+3"/>
<source>Whether or not the client should respond automatically with the session keys
upon request. Use with caution, this is a temporary measure to test the
E2E implementation until device verification is completed.</source>
<translation>
使
</translation>
</message>
<message numerus="yes">
<location line="+51"/>
<source>%n member(s)</source>
<translation>
<numerusform>%n </numerusform>
</translation>
</message>
<message>
<location line="+140"/>
<source>Failed to enable encryption: %1</source>
<translation>%1</translation>
</message>
<message>
<location line="+147"/>
<source>Select an avatar</source>
<translation></translation>
</message>
<message>
<location line="+0"/>
<source>All Files (*)</source>
<translation>*</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="+35"/>
<location line="+20"/>
<source>Failed to upload image: %s</source>
<translation>%s</translation>
</message>
</context>
<context>
<name>dialogs::UserProfile</name>
<message>
<location filename="../../src/dialogs/UserProfile.cpp" line="+64"/>
<source>Ban the user from the room</source>
<translation></translation>
</message>
<message>
<location line="+8"/>
<source>Ignore messages from this user</source>
<translation></translation>
</message>
<message>
<location line="+9"/>
<source>Kick the user from the room</source>
<translation></translation>
</message>
<message>
<location line="+8"/>
<source>Start a conversation</source>
<translation></translation>
</message>
<message>
<location line="+14"/>
<source>Confirm DM</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Do you really want to invite %1 (%2) to a direct chat?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+54"/>
<source>Devices</source>
<translation></translation>
</message>
</context>
<context>
<name>emoji::Panel</name>
<message>
<location filename="../../src/emoji/Panel.cpp" line="+122"/>
<source>Smileys &amp; People</source>
<translatorcomment></translatorcomment>
<translation>Smileys &amp; People</translation>
</message>
<message>
<location line="+4"/>
<source>Animals &amp; Nature</source>
<translatorcomment></translatorcomment>
<translation>Animals &amp; Nature</translation>
</message>
<message>
<location line="+3"/>
<source>Food &amp; Drink</source>
<translatorcomment></translatorcomment>
<translation>Food &amp; Drink</translation>
</message>
<message>
<location line="+3"/>
<source>Activity</source>
<translatorcomment></translatorcomment>
<translation>Activity</translation>
</message>
<message>
<location line="+4"/>
<source>Travel &amp; Places</source>
<translatorcomment></translatorcomment>
<translation>Travel &amp; Places</translation>
</message>
<message>
<location line="+3"/>
<source>Objects</source>
<translatorcomment></translatorcomment>
<translation>Objects</translation>
</message>
<message>
<location line="+3"/>
<source>Symbols</source>
<translatorcomment></translatorcomment>
<translation>Symbols</translation>
</message>
<message>
<location line="+3"/>
<source>Flags</source>
<translatorcomment></translatorcomment>
<translation>Flags</translation>
</message>
</context>
<context>
<name>message-description sent:</name>
<message>
<location filename="../../src/Utils.h" line="+106"/>
<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="+5"/>
<source>You sent an image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>%1 sent an image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>You sent a file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>%1 sent a file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>You sent a video</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>%1 sent a video</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>You sent a sticker</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>%1 sent a sticker</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<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="+3"/>
<source>%1: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<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="+3"/>
<source>%1 placed a call</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>You answered a call</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>%1 answered a call</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>You ended a call</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>%1 ended a call</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>popups::UserMentions</name>
<message>
<location filename="../../src/popups/UserMentions.cpp" line="+64"/>
<source>This Room</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>All Rooms</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>utils</name>
<message>
<location filename="../../src/Utils.h" line="+4"/>
<source>Unknown Message Type</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>