Newer
Older
<?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"/>
<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"/>
<source>Invited user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<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>
<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>
<source>Failed to upload media. Please try again.</source>
<translation type="unfinished"></translation>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<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>
<source>Failed to restore OLM account. Please login again.</source>
<translation>恢复 OLM 账户失败。请重新登录。</translation>
</message>
<message>
<source>Failed to restore save data. Please login again.</source>
<translation>恢复保存的数据失败。请重新登录。</translation>
</message>
<message>
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
<translation type="unfinished"></translation>
<source>Please try to login again: %1</source>
<translation>请尝试再次登录:%1</translation>
</message>
<message>
<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>
<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>
<location line="+2"/>
<source>Server Notices</source>
<comment>Tag translation for m.server_notice</comment>
<translation type="unfinished"></translation>
</message>
<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>
<location line="+1"/>
<source>Cancel</source>
<translation type="unfinished">取消</translation>
<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>
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
<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>
<location filename="../qml/EncryptionIndicator.qml" line="+36"/>
<source>Encrypted</source>
<translation type="unfinished"></translation>
<message>
<location line="+2"/>
<source>This message is not encrypted!</source>
<translation type="unfinished"></translation>
</message>
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
<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'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'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'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't parse it, because Nheko/mtxclient don'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'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>
<source>Device name</source>
<translation>设备名</translation>
</message>
<message>
<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"/>
<source>LOGIN</source>
<translation>登录</translation>
</message>
<message>
<source>Autodiscovery failed. Received malformed response.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
<translation type="unfinished"></translation>
</message>
<message>
<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>
<context>
<name>MessageDelegate</name>
<message>
<location filename="../qml/delegates/MessageDelegate.qml" line="+66"/>
<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>
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
<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>
<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>
<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>
<source>No supported registration flows!</source>
<translation type="unfinished"></translation>
</message>
<message>
<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'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>
<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>
<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>
<source>New Tag</source>
<comment>Tag name prompt title</comment>
<translation type="unfinished"></translation>
</message>
<message>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+173"/>
<source>Accept</source>
<translation>接受</translation>
</message>
<message>
<source>Decline</source>
<translation>拒绝</translation>
</message>
</context>
<context>
<name>SideBarActions</name>
<message>
<location filename="../../src/SideBarActions.cpp" line="+40"/>
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
<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>
<location line="+1"/>
<source>Sent</source>
<translation type="unfinished"></translation>
<location line="+1"/>
<source>Received</source>
<translation type="unfinished"></translation>
<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 filename="../../src/TextInputWidget.h" line="+160"/>
<source>Write a message...</source>
<translation>写一条消息...</translation>
</message>
<message>
<source>Send a message</source>
<translation>发送一条消息</translation>
</message>
<message>
<location line="+8"/>
<source>Emoji</source>
<translation></translation>
</message>
<message>
<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>
<location filename="../../src/timeline/TimelineModel.cpp" line="+805"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished">删除消息失败:%1</translation>
<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>
<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>
<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>
<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's permissions.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%1 was invited.</source>
<translation type="unfinished"></translation>
</message>
<message>
<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>
<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>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
<message>
<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'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>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TimelineView</name>
<location filename="../qml/TimelineView.qml" line="+61"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
Nicolas Werner
committed
<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>