blob: 089af5fdbf101ba30f894a49cf34593d083dfc6d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
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
284
285
286
287
288
289
290
291
292
293
294
295
296
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
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
|
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
<context>
<name>GTrC</name>
<message>
<location filename="../KeyServerSyncModule.cpp" line="252"/>
<source>The following email addresses have status:
</source>
<translation>以下电子邮件地址的状态为:</translation>
</message>
<message>
<location filename="../KeyServerSyncModule.cpp" line="262"/>
<source>Could not parse status information.</source>
<translation>无法解析状态信息。</translation>
</message>
<message>
<location filename="../KeyServerSyncModule.cpp" line="230"/>
<location filename="../KeyServerSyncModule.cpp" line="273"/>
<source>Public Key Upload Successful</source>
<translation>公钥上传成功</translation>
</message>
<message>
<source>The public key was successfully uploaded to the key server keys.openpgp.org.
Fingerprint: %1
%2
Please check your email (%3) for further verification from keys.openpgp.org.
Note: For verification, you can find more information here: https://keys.openpgp.org/about</source>
<translation type="vanished">公钥已成功上传至密钥服务器 keys.openpgp.org。
指纹:%1
%2
请检查您的电子邮件(%3)以获取 keys.openpgp.org 的进一步验证信息。
注意:如需了解验证详情,请访问:https://keys.openpgp.org/about</translation>
</message>
<message>
<location filename="../KeyServerSyncModule.cpp" line="189"/>
<location filename="../KeyServerSyncModule.cpp" line="217"/>
<location filename="../KeyServerSyncModule.cpp" line="289"/>
<source>Key Upload Failed</source>
<translation>密钥上传失败</translation>
</message>
<message>
<location filename="../KeyServerSyncModule.cpp" line="190"/>
<source>Failed to export the public key before uploading.
Key: %1</source>
<translation>上传前导出公钥失败。
密钥:%1</translation>
</message>
<message>
<location filename="../KeyServerSyncModule.cpp" line="274"/>
<source>The public key was successfully uploaded to the key server %4.
Fingerprint: %1
%2
Please check your email (%3) for further verification from %4.</source>
<translation>公钥已成功上传至密钥服务器 %4。
指纹:%1
%2
请检查您的电子邮件(%3)以获取 %4 的进一步验证信息。</translation>
</message>
<message>
<location filename="../KeyServerSyncModule.cpp" line="218"/>
<location filename="../KeyServerSyncModule.cpp" line="290"/>
<source>Failed to upload public key to the server.
Fingerprint: %1
Error: %2</source>
<translation>无法将公钥上传至服务器。
指纹:%1
错误:%2</translation>
</message>
<message>
<location filename="../KeyServerSyncModule.cpp" line="101"/>
<source>The key server did not return a key.</source>
<translation>密钥服务器未返回任何密钥。</translation>
</message>
<message>
<location filename="../KeyServerSyncModule.cpp" line="127"/>
<source>Publish Without Verification?</source>
<translation>无验证发布?</translation>
</message>
<message>
<location filename="../KeyServerSyncModule.cpp" line="129"/>
<source>%1 does not support verified publishing (VKS), so the key would be uploaded over HKP instead.
The server will not confirm your email address, and the upload cannot be undone: HKP key servers do not allow keys to be removed.
Publish to %1 anyway?</source>
<translation>%1 不支持已验证发布(VKS),因此密钥将通过 HKP 上传。
服务器不会确认您的电子邮件地址,且上传无法撤销 — HKP 密钥服务器不允许删除密钥。
仍然发布到 %1?</translation>
</message>
<message>
<location filename="../KeyServerSyncModule.cpp" line="232"/>
<source>The public key was uploaded to the key server %2 over HKP.
Fingerprint: %1</source>
<translation>公钥已通过 HKP 上传至密钥服务器 %2。
指纹:%1</translation>
</message>
<message>
<location filename="../KeyServerSyncModule.cpp" line="325"/>
<source>Key Update Failed</source>
<translation>密钥更新失败</translation>
</message>
<message>
<location filename="../KeyServerSyncModule.cpp" line="326"/>
<source>Failed to retrieve public key from %3.
Key ID: %1
Error: %2</source>
<translation>无法从 %3 获取公钥。
密钥 ID:%1
错误:%2</translation>
</message>
<message>
<source>Failed to retrieve public key from the server.
Key ID: %1
Error: %2</source>
<translation type="vanished">无法从服务器获取公钥。
密钥 ID:%1
错误:%2</translation>
</message>
<message>
<location filename="../KeyServerSyncModule.cpp" line="375"/>
<source>Key Server</source>
<translation>密钥服务器</translation>
</message>
<message>
<location filename="../KeyServerSyncModule.cpp" line="376"/>
<source>Import public keys from a trusted key server.</source>
<translation>从受信任的密钥服务器导入公钥。</translation>
</message>
<message>
<location filename="../KeyServerSyncModule.cpp" line="424"/>
<source>Key Server Operations</source>
<translation>密钥服务器操作</translation>
</message>
<message>
<location filename="../KeyServerSyncModule.cpp" line="429"/>
<source>Publish Public Key to Key Server</source>
<translation>将公钥发布到密钥服务器</translation>
</message>
<message>
<location filename="../KeyServerSyncModule.cpp" line="436"/>
<source>Refresh Public Key From Key Server</source>
<translation>从密钥服务器更新公钥</translation>
</message>
<message>
<location filename="../KeyServerProbe.cpp" line="247"/>
<source>The server could not be reached.</source>
<translation>无法连接到服务器。</translation>
</message>
<message>
<location filename="../KeyServerProbe.cpp" line="249"/>
<source>The server responded, but not as a key server: it supports neither the HKP nor the VKS interface.</source>
<translation>服务器已响应,但并非密钥服务器:它既不支持 HKP 协议,也不支持 VKS 接口。</translation>
</message>
</context>
<context>
<name>KeyServerSettingsPage</name>
<message>
<location filename="../KeyServerSettingsPage.ui" line="17"/>
<location filename="../KeyServerSettingsPage.cpp" line="58"/>
<source>Key Server List</source>
<translation>密钥服务器列表</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.ui" line="49"/>
<location filename="../KeyServerSettingsPage.cpp" line="59"/>
<source>Add a Key Server</source>
<translation>添加密钥服务器</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.ui" line="82"/>
<location filename="../KeyServerSettingsPage.cpp" line="60"/>
<source>Operations</source>
<translation>操作</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.ui" line="60"/>
<location filename="../KeyServerSettingsPage.cpp" line="62"/>
<source>Add</source>
<translation>添加</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.ui" line="88"/>
<location filename="../KeyServerSettingsPage.cpp" line="63"/>
<source>Set As Default</source>
<translation>设为默认</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.ui" line="95"/>
<location filename="../KeyServerSettingsPage.cpp" line="64"/>
<source>Test Selected</source>
<translation>测试所选</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.ui" line="102"/>
<location filename="../KeyServerSettingsPage.cpp" line="65"/>
<source>Delete Selected</source>
<translation>删除所选</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="67"/>
<source>https://keys.example.org</source>
<translation>https://keys.example.org</translation>
</message>
<message>
<source>A new key server is tested against the HKP and VKS interfaces before it is added. Searching uses HKP; publishing and refreshing use VKS.</source>
<translation type="vanished">新密钥服务器在添加前会通过 HKP 和 VKS 接口进行测试。搜索使用 HKP;发布和刷新使用 VKS。</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="68"/>
<source>A new key server is tested against the HKP and VKS interfaces before it is added. Searching uses HKP. Publishing and refreshing always use the default server: over VKS where it offers it, over HKP otherwise.</source>
<translation>新密钥服务器在添加前会通过 HKP 和 VKS 接口进行测试。搜索使用 HKP。发布和刷新始终使用默认服务器:如果默认服务器支持 VKS 则通过 VKS,否则通过 HKP。</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Default</source>
<translation>默认</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Address</source>
<translation>地址</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>HKP</source>
<translation>HKP</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>VKS</source>
<translation>VKS</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Status</source>
<translation>状态</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="76"/>
<source>Last Tested</source>
<translation>上次测试</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="108"/>
<source>yes</source>
<translation>是</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="109"/>
<source>no</source>
<translation>否</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="127"/>
<source>Verified</source>
<translation>已验证</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="127"/>
<source>Unverified</source>
<translation>未验证</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="136"/>
<source>never</source>
<translation>从未</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="162"/>
<source>Invalid Address</source>
<translation>无效地址</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="163"/>
<source>"%1" is not a valid key server address.</source>
<translation>"%1" 不是有效的密钥服务器地址。</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="173"/>
<source>Already Listed</source>
<translation>已列出</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="174"/>
<source>%1 is already in the key server list.</source>
<translation>%1 已在密钥服务器列表中。</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="180"/>
<source>Insecure Key Server Address</source>
<translation>不安全的密钥服务器地址</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="181"/>
<source>%1 uses plain HTTP, so anyone on the network can see and change what you look up or publish. Add it anyway?</source>
<translation>%1 使用明文 HTTP,网络上的任何人都可以查看或篡改您查询或发布的内容。仍然添加吗?</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="229"/>
<source>No Verified Publishing</source>
<translation>无验证发布</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="230"/>
<source>%1 does not support the VKS interface, so publishing and refreshing will use HKP instead.
Over HKP the server does not confirm your email address, and an uploaded key cannot be removed again.
Use %1 as the default anyway?</source>
<translation>%1 不支持 VKS 接口,因此发布和刷新将改用 HKP。
通过 HKP,服务器不会确认您的电子邮件地址,且上传的密钥无法再次删除。
仍然将 %1 设为默认服务器吗?</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="291"/>
<source>Key Server Not Verified</source>
<translation>密钥服务器未验证</translation>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="292"/>
<source>%1 did not answer as a key server.
%2
It has been added and marked unverified; use Test Selected to try again.</source>
<translation>%1 未以密钥服务器身份响应。
%2
该服务器已添加并标记为未验证;请使用“测试所选”重试。</translation>
</message>
</context>
<context>
<name>SearchKeyDialog</name>
<message>
<location filename="../SearchKeyDialog.cpp" line="110"/>
<source>Key ID</source>
<translation>密钥 ID</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="110"/>
<source>UID</source>
<translation>UID</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="110"/>
<source>Creation Date</source>
<translation>创建日期</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Expiration Date</source>
<translation>到期日期</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Algorithm</source>
<translation>算法</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Key Size</source>
<translation>密钥大小</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="112"/>
<source>Status</source>
<translation>状态</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="115"/>
<source>By Key ID</source>
<translation>按密钥 ID</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="116"/>
<source>By Email</source>
<translation>按电子邮件</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="117"/>
<source>By Fingerprint</source>
<translation>按指纹</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="120"/>
<source>Enter a value, then press Enter or Search</source>
<translation>输入值,然后按回车或搜索</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="163"/>
<source>Search value is empty.</source>
<translation>搜索值不能为空。</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="179"/>
<source>Key server URL is empty.</source>
<translation>密钥服务器 URL 不能为空。</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="188"/>
<source>Invalid key server URL format.</source>
<translation>密钥服务器 URL 格式无效。</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="201"/>
<source>Invalid email format.</source>
<translation>电子邮件格式无效。</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="216"/>
<source>Invalid fingerprint format. It should be a hex string of length 16, 40 or 64.</source>
<translation>指纹格式无效。应为长度为 16、40 或 64 的十六进制字符串。</translation>
</message>
<message>
<source>Invalid fingerprint format. It should be a hex string of length 16 or 40.</source>
<translation type="vanished">指纹格式无效。应为长度为 16 或 40 的十六进制字符串。</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="230"/>
<source>Invalid Key ID format. It should be a hex string of length 8 or 16.</source>
<translation>密钥 ID 格式无效。应为长度为 8 或 16 的十六进制字符串。</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="236"/>
<source>Unknown search type.</source>
<translation>未知的搜索类型。</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="273"/>
<location filename="../SearchKeyDialog.cpp" line="283"/>
<source>No keys found matching your search.</source>
<translation>未找到与搜索匹配的密钥。</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="302"/>
<source>(no user ID published)</source>
<translation>(未发布用户 ID)</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="306"/>
<source>Unknown</source>
<translation>未知</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="310"/>
<source>Never</source>
<translation>永不</translation>
</message>
<message>
<location filename="../SearchKeyDialog.cpp" line="374"/>
<source>No GPG context is available.</source>
<translation>没有可用的 GPG 上下文。</translation>
</message>
<message>
<location filename="../SearchKeyDialog.ui" line="14"/>
<source>Search Keys</source>
<translation>搜索密钥</translation>
</message>
<message>
<location filename="../SearchKeyDialog.ui" line="36"/>
<source>Key Server</source>
<translation>密钥服务器</translation>
</message>
<message>
<location filename="../SearchKeyDialog.ui" line="56"/>
<source>Search Type</source>
<translation>搜索类型</translation>
</message>
<message>
<location filename="../SearchKeyDialog.ui" line="66"/>
<source>Search Value</source>
<translation>搜索值</translation>
</message>
<message>
<location filename="../SearchKeyDialog.ui" line="85"/>
<source>Search</source>
<translation>搜索</translation>
</message>
<message>
<location filename="../SearchKeyDialog.ui" line="105"/>
<source>Tips: double click to import the selected key.</source>
<translation>提示:双击可导入所选密钥。</translation>
</message>
</context>
</TS>
|