14
14
"Content-Transfer-Encoding: 8bit\n"
15
15
"Plural-Forms: nplurals=1; plural=0;\n"
17
#: libcore/tracedata.cpp:1349
21
#: libcore/tracedata.cpp:1356 libcore/tracedata.cpp:1375
26
#: libcore/tracedata.cpp:1365
30
#: libcore/tracedata.cpp:2047 libcore/tracedata.cpp:2111
31
#: libcore/tracedata.cpp:2950 libcore/tracedata.cpp:3051
32
#: libcore/costitem.cpp:62 libcore/costitem.cpp:67 libviews/partgraph.cpp:422
36
#: libcore/tracedata.cpp:2799
40
#: libcore/tracedata.cpp:3282
44
#: libcore/tracedata.cpp:3843
45
msgid "Recalculating Function Cycles..."
46
msgstr "正在重新计算函数循环..."
48
#: libcore/costitem.cpp:56
53
#: libcore/globalconfig.cpp:124
54
msgid "Instruction Fetch"
57
#: libcore/globalconfig.cpp:125
58
msgid "Data Read Access"
61
#: libcore/globalconfig.cpp:126
62
msgid "Data Write Access"
65
#: libcore/globalconfig.cpp:127
66
msgid "L1 Instr. Fetch Miss"
69
#: libcore/globalconfig.cpp:128
70
msgid "L1 Data Read Miss"
73
#: libcore/globalconfig.cpp:129
74
msgid "L1 Data Write Miss"
77
#: libcore/globalconfig.cpp:130
78
msgid "L2 Instr. Fetch Miss"
81
#: libcore/globalconfig.cpp:131
82
msgid "L2 Data Read Miss"
85
#: libcore/globalconfig.cpp:132
86
msgid "L2 Data Write Miss"
89
#: libcore/globalconfig.cpp:133
93
#: libcore/globalconfig.cpp:134
97
#: libcore/globalconfig.cpp:135
101
#: libcore/globalconfig.cpp:136
105
#: libcore/globalconfig.cpp:137
109
#: libcore/globalconfig.cpp:138
110
msgid "Cycle Estimation"
17
#: libcore/cachegrindloader.cpp:142
18
msgid "Import filter for Cachegrind/Callgrind generated profile data files"
19
msgstr "从 Cachegrind/Callgrind 生成的剖析档数据文件中导入过滤器"
113
21
#: libcore/context.cpp:70
114
22
msgid "Invalid Context"
223
131
msgid "Program Trace"
226
#: libcore/cachegrindloader.cpp:142
227
msgid "Import filter for Cachegrind/Callgrind generated profile data files"
228
msgstr "从 Cachegrind/Callgrind 生成的剖析档数据文件中导入过滤器"
134
#: libcore/costitem.cpp:56
139
#: libcore/costitem.cpp:62 libcore/costitem.cpp:67 libcore/tracedata.cpp:2047
140
#: libcore/tracedata.cpp:2111 libcore/tracedata.cpp:2950
141
#: libcore/tracedata.cpp:3051 libviews/partgraph.cpp:422
145
#: libcore/globalconfig.cpp:124
146
msgid "Instruction Fetch"
149
#: libcore/globalconfig.cpp:125
150
msgid "Data Read Access"
153
#: libcore/globalconfig.cpp:126
154
msgid "Data Write Access"
157
#: libcore/globalconfig.cpp:127
158
msgid "L1 Instr. Fetch Miss"
161
#: libcore/globalconfig.cpp:128
162
msgid "L1 Data Read Miss"
165
#: libcore/globalconfig.cpp:129
166
msgid "L1 Data Write Miss"
169
#: libcore/globalconfig.cpp:130
170
msgid "L2 Instr. Fetch Miss"
173
#: libcore/globalconfig.cpp:131
174
msgid "L2 Data Read Miss"
177
#: libcore/globalconfig.cpp:132
178
msgid "L2 Data Write Miss"
181
#: libcore/globalconfig.cpp:133
185
#: libcore/globalconfig.cpp:134
189
#: libcore/globalconfig.cpp:135
193
#: libcore/globalconfig.cpp:136
197
#: libcore/globalconfig.cpp:137
201
#: libcore/globalconfig.cpp:138
202
msgid "Cycle Estimation"
205
#: libcore/tracedata.cpp:1349
209
#: libcore/tracedata.cpp:1356 libcore/tracedata.cpp:1375
214
#: libcore/tracedata.cpp:1365
218
#: libcore/tracedata.cpp:2799
222
#: libcore/tracedata.cpp:3282
226
#: libcore/tracedata.cpp:3843
227
msgid "Recalculating Function Cycles..."
228
msgstr "正在重新计算函数循环..."
230
#: libviews/partview.cpp:45 libviews/coverageview.cpp:46
231
#: libviews/functionselection.cpp:87 libviews/eventtypeview.cpp:48
235
#: libviews/partview.cpp:46 libviews/coverageview.cpp:53
236
#: libviews/functionselection.cpp:79 libviews/functionselection.cpp:88
237
#: libviews/eventtypeview.cpp:49
241
#: libviews/partview.cpp:47 libviews/coverageview.cpp:49
242
#: libviews/functionselection.cpp:89
246
#: libviews/partview.cpp:49
250
#: libviews/partview.cpp:71
252
"<b>Trace Part List</b><p>This list shows all trace parts of the loaded "
253
"trace. For each part, the self/inclusive cost of the current selected "
254
"function, spent in the part, is shown; percentage costs are always relative "
255
"to the total cost <em>of the part</em> (not to the whole trace as in the "
256
"Trace Part Overview). Also shown are the calls happening to/from the current "
257
"function inside of the trace part.</p><p>By choosing one or more trace parts "
258
"from the list, the costs shown all over KCachegrind will only be the ones "
259
"spent in the selected part(s). If no list selection is shown, in fact all "
260
"trace parts are selected implicitly.</p><p>This is a multi-selection list. "
261
"You can select ranges by dragging the mouse or use SHIFT/CTRL modifiers. "
262
"Selection/Deselection of trace parts can also be done by using the Trace "
263
"Part Overview Dockable. This one also supports multiple selection.</"
264
"p><p>Note that the list is hidden if only one trace part is loaded.</p>"
267
#: libviews/eventtypeitem.cpp:59
271
#: libviews/callview.cpp:44 libviews/stackselection.cpp:53
272
#: libviews/callmapview.cpp:63 libviews/partselection.cpp:73
273
#: libviews/instrview.cpp:149 libviews/sourceview.cpp:52
277
#: libviews/callview.cpp:45 libviews/instrview.cpp:150
278
#: libviews/sourceview.cpp:53
282
#: libviews/callview.cpp:47 libviews/callview.cpp:51
286
#: libviews/callview.cpp:48 libviews/coverageview.cpp:50
290
#: libviews/callview.cpp:52 libviews/coverageview.cpp:56
294
#: libviews/callview.cpp:85
296
"<b>List of direct Callers</b><p>This list shows all functions calling the "
297
"current selected one directly, together with a call count and the cost spent "
298
"in the current selected function while being called from the function from "
299
"the list.</p><p>An icon instead of an inclusive cost specifies that this is "
300
"a call inside of a recursive cycle. An inclusive cost makes no sense here.</"
301
"p><p>Selecting a function makes it the current selected one of this "
302
"information panel. If there are two panels (Split mode), the function of the "
303
"other panel is changed instead.</p>"
305
"<b>直接调用方列表</b><p>此列表显示所有直接调用了当前选中函数的所有函数,以及"
306
"调用次数和调用开销。</p><p>如果显示的是图标而非引入开销,说明此次调用是在一个"
307
"循环之内。引入开销对此无意义。</p><p>选择一个函数可在此信息面板上跳转到它,如"
308
"果是在有两个面板的分割模式下,则切换到另一个面板。</p>"
310
#: libviews/callview.cpp:98
312
"<b>List of direct Callees</b><p>This list shows all functions called by the "
313
"current selected one directly, together with a call count and the cost spent "
314
"in this function while being called from the selected function.</"
315
"p><p>Selecting a function makes it the current selected one of this "
316
"information panel. If there are two panels (Split mode), the function of the "
317
"other panel is changed instead.</p>"
319
"<b>直接被调用方列表</b><p>此列表显示所有被当前选中函数直接调用的所有函数,以"
320
"及调用次数和调用开销。</p><p>选择一个函数可在此信息面板上跳转到它,如果是在有"
321
"两个面板的分割模式下,则切换到另一个面板。</p>"
323
#: libviews/callview.cpp:124 libviews/callview.cpp:129
324
#: libviews/coverageview.cpp:164 libviews/callgraphview.cpp:2934
325
#: libviews/callgraphview.cpp:2939 libviews/callgraphview.cpp:2957
326
#: libviews/functionselection.cpp:236 libviews/partselection.cpp:372
327
#: libviews/instrview.cpp:213 libviews/sourceview.cpp:115
332
#: libviews/stackselection.cpp:46
333
msgid "Stack Selection"
336
#: libviews/stackselection.cpp:54
340
#: libviews/stackselection.cpp:55 libviews/callmapview.cpp:66
230
344
#: libviews/instritem.cpp:103 libviews/sourceitem.cpp:85
249
#: libviews/stackselection.cpp:46
250
msgid "Stack Selection"
253
#: libviews/stackselection.cpp:53 libviews/partselection.cpp:73
254
#: libviews/instrview.cpp:149 libviews/sourceview.cpp:52
255
#: libviews/callmapview.cpp:63 libviews/callview.cpp:44
259
#: libviews/stackselection.cpp:54
263
#: libviews/stackselection.cpp:55 libviews/callmapview.cpp:66
267
#: libviews/partselection.cpp:59
268
msgid "Parts Overview"
271
#: libviews/partselection.cpp:72
272
msgctxt "A thing's name"
276
#: libviews/partselection.cpp:80
277
msgid "(no trace parts)"
280
#: libviews/partselection.cpp:107
282
"<b>The Parts Overview</b><p>A trace consists of multiple trace parts when "
283
"there are several profile data files from one profile run. The Trace Part "
284
"Overview dockable shows these, horizontally ordered in execution time; the "
285
"rectangle sizes are proportional to the total cost spent in the parts. You "
286
"can select one or several parts to constrain all costs shown to these parts "
287
"only.</p><p>The parts are further subdivided: there is a partitioning and an "
288
"callee split mode: <ul><li>Partitioning: You see the partitioning into "
289
"groups for a trace part, according to the group type selected. E.g. if ELF "
290
"object groups are selected, you see colored rectangles for each used ELF "
291
"object (shared library or executable), sized according to the cost spent "
292
"therein.</li><li>Callee: A rectangle showing the inclusive cost of the "
293
"current selected function in the trace part is shown. This is split up into "
294
"smaller rectangles to show the costs of its callees.</li></ul></p>"
296
"<b>部件概览</b><p>当某剖析档中含有多组剖析数据文件时,您可通过此概览看到所有"
297
"停靠部件。其水平轴为执行时间,矩形区域与部件总开销呈比例增大。您可同时选择一"
298
"个或几个部件来仅显示这些的部件总执行开销。</p><p>部件可进一步细分:有一个分割"
299
"模式和一个被调用方分割模式:<ul><li>分割模式:您会看到追踪部件被根据所选类型"
300
"划分为多个组。例如,若您选择了 ELF 对象组,就能看到每个被调用的 ELF 对象(共享"
301
"库或可执行程序)都分别以彩色矩形显示,其大小和开销呈比例。</li><li>被调用方模"
302
"式:每个显示的矩形都代表此追踪部件里当前选中函数的总开销。里面细分的小矩形代"
303
"表每个被调用方各自的开销。</li></ul></p>"
305
#: libviews/partselection.cpp:242
307
msgid "Profile Part Overview: Current is '%1'"
308
msgstr "剖析档部件概览:当前为“%1”"
310
#: libviews/partselection.cpp:348
312
msgid "Deselect '%1'"
315
#: libviews/partselection.cpp:350
320
#: libviews/partselection.cpp:355
321
msgid "Select All Parts"
324
#: libviews/partselection.cpp:356
325
msgid "Visible Parts"
328
#: libviews/partselection.cpp:357
329
msgid "Hide Selected Parts"
332
#: libviews/partselection.cpp:358
333
msgid "Show Hidden Parts"
336
#: libviews/partselection.cpp:372 libviews/instrview.cpp:213
337
#: libviews/callgraphview.cpp:2934 libviews/callgraphview.cpp:2939
338
#: libviews/callgraphview.cpp:2957 libviews/sourceview.cpp:115
339
#: libviews/functionselection.cpp:236 libviews/coverageview.cpp:164
340
#: libviews/callview.cpp:124 libviews/callview.cpp:129
345
#: libviews/partselection.cpp:381 libviews/callgraphview.cpp:3002
346
#: libviews/callmapview.cpp:344
347
msgid "Visualization"
350
#: libviews/partselection.cpp:382
351
msgid "Partitioning Mode"
354
#: libviews/partselection.cpp:384
355
msgid "Zoom Function"
358
#: libviews/partselection.cpp:386
359
msgid "Show Direct Calls"
362
#: libviews/partselection.cpp:387
363
msgid "Increment Shown Call Levels"
366
#: libviews/partselection.cpp:388
370
#: libviews/partselection.cpp:403
374
#: libviews/partselection.cpp:405
378
#: libviews/partselection.cpp:407 libviews/callmapview.cpp:373
379
msgid "Ignore Proportions"
382
#: libviews/partselection.cpp:409 libviews/callmapview.cpp:375
383
msgid "Allow Rotation"
386
#: libviews/partselection.cpp:411
390
#: libviews/partselection.cpp:425
394
#: libviews/partselection.cpp:425
398
#: libviews/partselection.cpp:573
399
msgid "(no trace loaded)"
402
363
#: libviews/sourceitem.cpp:125
404
365
msgid "Jump %1 of %2 times to %3"
409
370
msgid "Jump %1 times to %2"
410
371
msgstr "跳转到 %2 %1 次"
412
#: libviews/traceitemview.cpp:76
413
msgid "No description available"
416
#: libviews/instrview.cpp:148 libviews/sourceview.cpp:51
420
#: libviews/instrview.cpp:150 libviews/sourceview.cpp:53
421
#: libviews/callview.cpp:45
425
#: libviews/instrview.cpp:152
429
#: libviews/instrview.cpp:154
430
msgid "Assembly Instructions"
433
#: libviews/instrview.cpp:155
434
msgid "Source Position"
437
#: libviews/instrview.cpp:186
439
"<b>Annotated Machine Code</b><p>The annotated machine code list shows the "
440
"assembly instructions of the current selected function together with (self) "
441
"cost spent while executing an instruction. If this is a call instruction, "
442
"lines with details on the call happening are inserted into the source: the "
443
"cost spent inside of the call, the number of calls happening, and the call "
444
"destination.</p><p>The machine code shown is generated with the 'objdump' "
445
"utility from the 'binutils' package.</p><p>Select a line with call "
446
"information to make the destination function of this call current.</p>"
449
#: libviews/instrview.cpp:218
451
msgid "Go to Address %1"
454
#: libviews/instrview.cpp:230
458
#: libviews/instrview.cpp:451
459
msgid "There is no instruction info in the profile data file."
460
msgstr "剖析档数据文件中没有指令信息。"
462
#: libviews/instrview.cpp:453
463
msgid "Tip: For Callgrind, rerun with option"
464
msgstr "提示:要使用 Callgrind,请指定此选项并重新运行程序"
466
#: libviews/instrview.cpp:454
467
msgid " --dump-instr=yes"
468
msgstr " --dump-instr=yes"
470
#: libviews/instrview.cpp:455
471
msgid "To see (conditional) jumps, additionally specify"
472
msgstr "要查看有条件的跳转,请指定附加选项"
474
#: libviews/instrview.cpp:456
475
msgid " --trace-jump=yes"
476
msgstr " --trace-jump=yes"
478
#: libviews/instrview.cpp:668
479
msgid "For annotated machine code, the following object file is needed:"
480
msgstr "注释机器码需要以下对象文件:"
482
#: libviews/instrview.cpp:673
483
msgid "This file can not be found."
486
#: libviews/instrview.cpp:696
487
msgid "There is an error trying to execute the command"
490
#: libviews/instrview.cpp:700 libviews/instrview.cpp:956
491
msgid "Check that you have installed 'objdump'."
492
msgstr "请检查您是否已安装“objdump”程序。"
494
#: libviews/instrview.cpp:702 libviews/instrview.cpp:958
495
msgid "This utility can be found in the 'binutils' package."
496
msgstr "此工具可在“binutils”软件包里找到。"
498
#: libviews/instrview.cpp:800
499
msgid "(No Instruction)"
502
#: libviews/instrview.cpp:934
503
msgid "This happens because the code of"
506
#: libviews/instrview.cpp:937
507
msgid "does not seem to match the profile data file."
508
msgstr "似乎和此剖析档数据文件不匹配。"
510
#: libviews/instrview.cpp:940
511
msgid "Are you using an old profile data file or is the above mentioned"
512
msgstr "您是否正使用陈旧的剖析档数据文件,或是如上所言"
514
#: libviews/instrview.cpp:942
515
msgid "ELF object from an updated installation/another machine?"
516
msgstr "这是来自更新/其它的机器上的 ELF 对象吗?"
518
#: libviews/instrview.cpp:950
519
msgid "There seems to be an error trying to execute the command"
522
#: libviews/instrview.cpp:954
523
msgid "Check that the ELF object used in the command exists."
524
msgstr "请检查命令所用的 ELF 对象是否存在。"
373
#: libviews/coverageview.cpp:48 libviews/coverageview.cpp:54
377
#: libviews/coverageview.cpp:55
381
#: libviews/coverageview.cpp:90
383
"<b>List of all Callers</b><p>This list shows all functions calling the "
384
"current selected one, either directly or with several functions in-between "
385
"on the stack; the number of functions in-between plus one is called the "
386
"<em>Distance</em> (e.g. for function A,B,C there exists a call from A to C "
387
"when A calls B and B calls C, i.e. A => B => C. The distance here is 2).</"
388
"p><p>Absolute cost shown is the cost spent in the selected function while a "
389
"listed function is active; relative cost is the percentage of all cost spent "
390
"in the selected function while the listed one is active. The cost graphic "
391
"shows logarithmic percentage with a different color for each distance.</"
392
"p><p>As there can be many calls from the same function, the distance column "
393
"sometimes shows the range of distances for all calls happening; then, in "
394
"parentheses, there is the medium distance, i.e. the distance where most of "
395
"the call costs happened.</p><p>Selecting a function makes it the current "
396
"selected one of this information panel. If there are two panels (Split "
397
"mode), the function of the other panel is changed instead.</p>"
400
#: libviews/coverageview.cpp:120
402
"<b>List of all Callees</b><p>This list shows all functions called by the "
403
"current selected one, either directly or with several function in-between on "
404
"the stack; the number of function in-between plus one is called the "
405
"<em>Distance</em> (e.g. for function A,B,C there exists a call from A to C "
406
"when A calls B and B calls C, i.e. A => B => C. The distance here is 2).</"
407
"p><p>Absolute cost shown is the cost spent in the listed function while the "
408
"selected is active; relative cost is the percentage of all cost spent in the "
409
"listed function while the selected one is active. The cost graphic always "
410
"shows logarithmic percentage with a different color for each distance.</"
411
"p><p>As there can be many calls to the same function, the distance column "
412
"sometimes shows the range of distances for all calls happening; then, in "
413
"parentheses, there is the medium distance, i.e. the distance where most of "
414
"the call costs happened.</p><p>Selecting a function makes it the current "
415
"selected one of this information panel. If there are two panels (Split "
416
"mode), the function of the other panel is changed instead.</p>"
526
419
#: libviews/callgraphview.cpp:419
801
699
msgid "Images (*.png *.jpg)"
802
700
msgstr "图像(*.png *.jpg)"
702
#: libviews/partgraph.cpp:166
704
msgid "Profile Part %1"
707
#: libviews/partgraph.cpp:225
711
#: libviews/partgraph.cpp:228
715
#: libviews/callitem.cpp:80 libviews/partlistitem.cpp:148
719
#: libviews/functionselection.cpp:53
720
msgid "Function Profile"
723
#: libviews/functionselection.cpp:61
727
#: libviews/functionselection.cpp:80
731
#: libviews/functionselection.cpp:91 libviews/callmapview.cpp:64
735
#: libviews/functionselection.cpp:98
736
msgid "(No Grouping)"
739
#: libviews/functionselection.cpp:176
742
"<b>The Flat Profile</b><p>The flat profile contains a group and a function "
743
"selection list. The group list contains all groups where costs are spent in, "
744
"depending on the chosen group type. The group list is hidden when group type "
745
"'Function' is selected.</p><p>The function list contains the functions of "
746
"the selected group (or all for 'Function' group type), ordered by the costs "
747
"spent therein. Functions with costs less than 1% are hidden on default.</p>"
749
"<b>简单剖析档</b><p>简单剖析档包含一个组列表和一个函数选择列表。依据选择的组"
750
"类型,组列表中包含所有经受过执行开销的组。如果组类型为“函数”,组列表会被隐"
751
"藏。</p><p>函数列表包含选中组的函数(如果是“函数”组类型,则包含全部),并按开销"
752
"排序,开销低于 1% 的函数默认被隐藏。</p>"
754
#: libviews/functionselection.cpp:287
758
#: libviews/functionselection.cpp:290
762
#: libviews/treemap.cpp:1321
767
#: libviews/treemap.cpp:2848
768
msgid "Recursive Bisection"
771
#: libviews/treemap.cpp:2849
775
#: libviews/treemap.cpp:2850
779
#: libviews/treemap.cpp:2851
783
#: libviews/treemap.cpp:2852
787
#: libviews/treemap.cpp:2853
788
msgid "Alternate (V)"
791
#: libviews/treemap.cpp:2854
792
msgid "Alternate (H)"
795
#: libviews/treemap.cpp:2855
799
#: libviews/treemap.cpp:2856
804
803
#: libviews/tabview.cpp:113
805
804
msgid "Move to Top"
945
944
msgid "(No function selected)"
946
945
msgstr "(没有选择函数)"
948
#: libviews/sourceview.cpp:55 libviews/sourceview.cpp:592
949
msgid "Source (unknown)"
952
#: libviews/sourceview.cpp:90
954
"<b>Annotated Source</b><p>The annotated source list shows the source lines "
955
"of the current selected function together with (self) cost spent while "
956
"executing the code of this source line. If there was a call in a source "
957
"line, lines with details on the call happening are inserted into the source: "
958
"the cost spent inside of the call, the number of calls happening, and the "
959
"call destination.</p><p>Select a inserted call information line to make the "
960
"destination function current.</p>"
963
#: libviews/sourceview.cpp:120
965
msgid "Go to Line %1"
968
#: libviews/sourceview.cpp:295
972
#: libviews/sourceview.cpp:561
973
msgid "There is no cost of current selected type associated"
974
msgstr "没有与文件中函数的任何源码行相关"
976
#: libviews/sourceview.cpp:563
977
msgid "with any source line of this function in file"
980
#: libviews/sourceview.cpp:567
981
msgid "Thus, no annotated source can be shown."
982
msgstr "因此,不会显示注解来源。"
984
#: libviews/sourceview.cpp:591
986
msgid "Source ('%1')"
989
#: libviews/sourceview.cpp:597
991
msgid "--- Inlined from '%1' ---"
992
msgstr "--- 引入自“%1” ---"
994
#: libviews/sourceview.cpp:598
995
msgid "--- Inlined from unknown source ---"
996
msgstr "--- 引入自未知来源 ---"
998
#: libviews/sourceview.cpp:603
999
msgid "There is no source available for the following function:"
1000
msgstr "以下函数没有可参照源码:"
1002
#: libviews/sourceview.cpp:608
1003
msgid "This is because no debug information is present."
1004
msgstr "原因是里面没有调试信息。"
1006
#: libviews/sourceview.cpp:610
1007
msgid "Recompile source and redo the profile run."
1008
msgstr "请重新编译源码并重新执行此剖析档。"
1010
#: libviews/sourceview.cpp:613
1011
msgid "The function is located in this ELF object:"
1012
msgstr "此函数定位在 ELF 对象:"
1014
#: libviews/sourceview.cpp:621
1015
msgid "This is because its source file cannot be found:"
1016
msgstr "原因是找不到源码文件:"
1018
#: libviews/sourceview.cpp:625
1019
msgid "Add the folder of this file to the source folder list."
1020
msgstr "将此文件所在文件夹添加到源码文件夹列表。"
1022
#: libviews/sourceview.cpp:627
1023
msgid "The list can be found in the configuration dialog."
1024
msgstr "此列表可在配置对话框内找到。"
1026
#: libviews/partlistitem.cpp:45
1028
msgid " (Thread %1)"
1031
#: libviews/partlistitem.cpp:52
1035
#: libviews/partlistitem.cpp:148 libviews/callitem.cpp:80
1039
#: libviews/eventtypeitem.cpp:59
1040
msgid "Unknown Type"
1043
#: libviews/functionselection.cpp:53
1044
msgid "Function Profile"
1047
#: libviews/functionselection.cpp:61
1051
#: libviews/functionselection.cpp:79 libviews/functionselection.cpp:88
1052
#: libviews/coverageview.cpp:53 libviews/eventtypeview.cpp:49
1053
#: libviews/partview.cpp:46
1057
#: libviews/functionselection.cpp:80
1061
#: libviews/functionselection.cpp:87 libviews/coverageview.cpp:46
1062
#: libviews/eventtypeview.cpp:48 libviews/partview.cpp:45
1066
#: libviews/functionselection.cpp:89 libviews/coverageview.cpp:49
1067
#: libviews/partview.cpp:47
1071
#: libviews/functionselection.cpp:91 libviews/callmapview.cpp:64
1075
#: libviews/functionselection.cpp:98
1076
msgid "(No Grouping)"
1079
#: libviews/functionselection.cpp:176
1082
"<b>The Flat Profile</b><p>The flat profile contains a group and a function "
1083
"selection list. The group list contains all groups where costs are spent in, "
1084
"depending on the chosen group type. The group list is hidden when group type "
1085
"'Function' is selected.</p><p>The function list contains the functions of "
1086
"the selected group (or all for 'Function' group type), ordered by the costs "
1087
"spent therein. Functions with costs less than 1% are hidden on default.</p>"
1089
"<b>简单剖析档</b><p>简单剖析档包含一个组列表和一个函数选择列表。依据选择的组"
1090
"类型,组列表中包含所有经受过执行开销的组。如果组类型为“函数”,组列表会被隐"
1091
"藏。</p><p>函数列表包含选中组的函数(如果是“函数”组类型,则包含全部),并按开销"
1092
"排序,开销低于 1% 的函数默认被隐藏。</p>"
1094
#: libviews/functionselection.cpp:287
1098
#: libviews/functionselection.cpp:290
1102
#: libviews/coverageview.cpp:48 libviews/coverageview.cpp:54
1106
#: libviews/coverageview.cpp:50 libviews/callview.cpp:48
1110
#: libviews/coverageview.cpp:55
1114
#: libviews/coverageview.cpp:56 libviews/callview.cpp:52
1118
#: libviews/coverageview.cpp:90
1120
"<b>List of all Callers</b><p>This list shows all functions calling the "
1121
"current selected one, either directly or with several functions in-between "
1122
"on the stack; the number of functions in-between plus one is called the "
1123
"<em>Distance</em> (e.g. for function A,B,C there exists a call from A to C "
1124
"when A calls B and B calls C, i.e. A => B => C. The distance here is 2).</"
1125
"p><p>Absolute cost shown is the cost spent in the selected function while a "
1126
"listed function is active; relative cost is the percentage of all cost spent "
1127
"in the selected function while the listed one is active. The cost graphic "
1128
"shows logarithmic percentage with a different color for each distance.</"
1129
"p><p>As there can be many calls from the same function, the distance column "
1130
"sometimes shows the range of distances for all calls happening; then, in "
1131
"parentheses, there is the medium distance, i.e. the distance where most of "
1132
"the call costs happened.</p><p>Selecting a function makes it the current "
1133
"selected one of this information panel. If there are two panels (Split "
1134
"mode), the function of the other panel is changed instead.</p>"
1137
#: libviews/coverageview.cpp:120
1139
"<b>List of all Callees</b><p>This list shows all functions called by the "
1140
"current selected one, either directly or with several function in-between on "
1141
"the stack; the number of function in-between plus one is called the "
1142
"<em>Distance</em> (e.g. for function A,B,C there exists a call from A to C "
1143
"when A calls B and B calls C, i.e. A => B => C. The distance here is 2).</"
1144
"p><p>Absolute cost shown is the cost spent in the listed function while the "
1145
"selected is active; relative cost is the percentage of all cost spent in the "
1146
"listed function while the selected one is active. The cost graphic always "
1147
"shows logarithmic percentage with a different color for each distance.</"
1148
"p><p>As there can be many calls to the same function, the distance column "
1149
"sometimes shows the range of distances for all calls happening; then, in "
1150
"parentheses, there is the medium distance, i.e. the distance where most of "
1151
"the call costs happened.</p><p>Selecting a function makes it the current "
1152
"selected one of this information panel. If there are two panels (Split "
1153
"mode), the function of the other panel is changed instead.</p>"
1156
#: libviews/treemap.cpp:1321
1161
#: libviews/treemap.cpp:2848
1162
msgid "Recursive Bisection"
1165
#: libviews/treemap.cpp:2849
1169
#: libviews/treemap.cpp:2850
1173
#: libviews/treemap.cpp:2851
1177
#: libviews/treemap.cpp:2852
1181
#: libviews/treemap.cpp:2853
1182
msgid "Alternate (V)"
1185
#: libviews/treemap.cpp:2854
1186
msgid "Alternate (H)"
1189
#: libviews/treemap.cpp:2855
1193
#: libviews/treemap.cpp:2856
1197
947
#: libviews/callmapview.cpp:62
1199
949
msgid "A thing's name"
1377
1135
msgid "(no call)"
1138
#: libviews/traceitemview.cpp:76
1139
msgid "No description available"
1142
#: libviews/partselection.cpp:59
1143
msgid "Parts Overview"
1146
#: libviews/partselection.cpp:72
1147
msgctxt "A thing's name"
1151
#: libviews/partselection.cpp:80
1152
msgid "(no trace parts)"
1155
#: libviews/partselection.cpp:107
1157
"<b>The Parts Overview</b><p>A trace consists of multiple trace parts when "
1158
"there are several profile data files from one profile run. The Trace Part "
1159
"Overview dockable shows these, horizontally ordered in execution time; the "
1160
"rectangle sizes are proportional to the total cost spent in the parts. You "
1161
"can select one or several parts to constrain all costs shown to these parts "
1162
"only.</p><p>The parts are further subdivided: there is a partitioning and an "
1163
"callee split mode: <ul><li>Partitioning: You see the partitioning into "
1164
"groups for a trace part, according to the group type selected. E.g. if ELF "
1165
"object groups are selected, you see colored rectangles for each used ELF "
1166
"object (shared library or executable), sized according to the cost spent "
1167
"therein.</li><li>Callee: A rectangle showing the inclusive cost of the "
1168
"current selected function in the trace part is shown. This is split up into "
1169
"smaller rectangles to show the costs of its callees.</li></ul></p>"
1171
"<b>部件概览</b><p>当某剖析档中含有多组剖析数据文件时,您可通过此概览看到所有"
1172
"停靠部件。其水平轴为执行时间,矩形区域与部件总开销呈比例增大。您可同时选择一"
1173
"个或几个部件来仅显示这些的部件总执行开销。</p><p>部件可进一步细分:有一个分割"
1174
"模式和一个被调用方分割模式:<ul><li>分割模式:您会看到追踪部件被根据所选类型"
1175
"划分为多个组。例如,若您选择了 ELF 对象组,就能看到每个被调用的 ELF 对象(共享"
1176
"库或可执行程序)都分别以彩色矩形显示,其大小和开销呈比例。</li><li>被调用方模"
1177
"式:每个显示的矩形都代表此追踪部件里当前选中函数的总开销。里面细分的小矩形代"
1178
"表每个被调用方各自的开销。</li></ul></p>"
1180
#: libviews/partselection.cpp:242
1182
msgid "Profile Part Overview: Current is '%1'"
1183
msgstr "剖析档部件概览:当前为“%1”"
1185
#: libviews/partselection.cpp:348
1187
msgid "Deselect '%1'"
1190
#: libviews/partselection.cpp:350
1195
#: libviews/partselection.cpp:355
1196
msgid "Select All Parts"
1199
#: libviews/partselection.cpp:356
1200
msgid "Visible Parts"
1203
#: libviews/partselection.cpp:357
1204
msgid "Hide Selected Parts"
1207
#: libviews/partselection.cpp:358
1208
msgid "Show Hidden Parts"
1211
#: libviews/partselection.cpp:382
1212
msgid "Partitioning Mode"
1215
#: libviews/partselection.cpp:384
1216
msgid "Zoom Function"
1219
#: libviews/partselection.cpp:386
1220
msgid "Show Direct Calls"
1223
#: libviews/partselection.cpp:387
1224
msgid "Increment Shown Call Levels"
1227
#: libviews/partselection.cpp:388
1228
msgid "Diagram Mode"
1231
#: libviews/partselection.cpp:403
1235
#: libviews/partselection.cpp:405
1239
#: libviews/partselection.cpp:411
1243
#: libviews/partselection.cpp:425
1247
#: libviews/partselection.cpp:425
1251
#: libviews/partselection.cpp:573
1252
msgid "(no trace loaded)"
1380
1255
#: libviews/eventtypeview.cpp:47
1381
1256
msgid "Event Type"
1435
1310
msgid "New Event Type %1"
1436
1311
msgstr "新建事件类型 %1"
1438
#: libviews/callview.cpp:47 libviews/callview.cpp:51
1442
#: libviews/callview.cpp:85
1444
"<b>List of direct Callers</b><p>This list shows all functions calling the "
1445
"current selected one directly, together with a call count and the cost spent "
1446
"in the current selected function while being called from the function from "
1447
"the list.</p><p>An icon instead of an inclusive cost specifies that this is "
1448
"a call inside of a recursive cycle. An inclusive cost makes no sense here.</"
1449
"p><p>Selecting a function makes it the current selected one of this "
1450
"information panel. If there are two panels (Split mode), the function of the "
1451
"other panel is changed instead.</p>"
1453
"<b>直接调用方列表</b><p>此列表显示所有直接调用了当前选中函数的所有函数,以及"
1454
"调用次数和调用开销。</p><p>如果显示的是图标而非引入开销,说明此次调用是在一个"
1455
"循环之内。引入开销对此无意义。</p><p>选择一个函数可在此信息面板上跳转到它,如"
1456
"果是在有两个面板的分割模式下,则切换到另一个面板。</p>"
1458
#: libviews/callview.cpp:98
1460
"<b>List of direct Callees</b><p>This list shows all functions called by the "
1461
"current selected one directly, together with a call count and the cost spent "
1462
"in this function while being called from the selected function.</"
1463
"p><p>Selecting a function makes it the current selected one of this "
1464
"information panel. If there are two panels (Split mode), the function of the "
1465
"other panel is changed instead.</p>"
1467
"<b>直接被调用方列表</b><p>此列表显示所有被当前选中函数直接调用的所有函数,以"
1468
"及调用次数和调用开销。</p><p>选择一个函数可在此信息面板上跳转到它,如果是在有"
1469
"两个面板的分割模式下,则切换到另一个面板。</p>"
1471
#: libviews/partgraph.cpp:166
1473
msgid "Profile Part %1"
1476
#: libviews/partgraph.cpp:225
1480
#: libviews/partgraph.cpp:228
1484
#: libviews/partview.cpp:49
1488
#: libviews/partview.cpp:71
1490
"<b>Trace Part List</b><p>This list shows all trace parts of the loaded "
1491
"trace. For each part, the self/inclusive cost of the current selected "
1492
"function, spent in the part, is shown; percentage costs are always relative "
1493
"to the total cost <em>of the part</em> (not to the whole trace as in the "
1494
"Trace Part Overview). Also shown are the calls happening to/from the current "
1495
"function inside of the trace part.</p><p>By choosing one or more trace parts "
1496
"from the list, the costs shown all over KCachegrind will only be the ones "
1497
"spent in the selected part(s). If no list selection is shown, in fact all "
1498
"trace parts are selected implicitly.</p><p>This is a multi-selection list. "
1499
"You can select ranges by dragging the mouse or use SHIFT/CTRL modifiers. "
1500
"Selection/Deselection of trace parts can also be done by using the Trace "
1501
"Part Overview Dockable. This one also supports multiple selection.</"
1502
"p><p>Note that the list is hidden if only one trace part is loaded.</p>"
1313
#: libviews/partlistitem.cpp:45
1315
msgid " (Thread %1)"
1318
#: libviews/partlistitem.cpp:52
1322
#: libviews/instrview.cpp:148 libviews/sourceview.cpp:51
1326
#: libviews/instrview.cpp:152
1330
#: libviews/instrview.cpp:154
1331
msgid "Assembly Instructions"
1334
#: libviews/instrview.cpp:155
1335
msgid "Source Position"
1338
#: libviews/instrview.cpp:186
1340
"<b>Annotated Machine Code</b><p>The annotated machine code list shows the "
1341
"assembly instructions of the current selected function together with (self) "
1342
"cost spent while executing an instruction. If this is a call instruction, "
1343
"lines with details on the call happening are inserted into the source: the "
1344
"cost spent inside of the call, the number of calls happening, and the call "
1345
"destination.</p><p>The machine code shown is generated with the 'objdump' "
1346
"utility from the 'binutils' package.</p><p>Select a line with call "
1347
"information to make the destination function of this call current.</p>"
1350
#: libviews/instrview.cpp:218
1352
msgid "Go to Address %1"
1355
#: libviews/instrview.cpp:230
1359
#: libviews/instrview.cpp:451
1360
msgid "There is no instruction info in the profile data file."
1361
msgstr "剖析档数据文件中没有指令信息。"
1363
#: libviews/instrview.cpp:453
1364
msgid "Tip: For Callgrind, rerun with option"
1365
msgstr "提示:要使用 Callgrind,请指定此选项并重新运行程序"
1367
#: libviews/instrview.cpp:454
1368
msgid " --dump-instr=yes"
1369
msgstr " --dump-instr=yes"
1371
#: libviews/instrview.cpp:455
1372
msgid "To see (conditional) jumps, additionally specify"
1373
msgstr "要查看有条件的跳转,请指定附加选项"
1375
#: libviews/instrview.cpp:456
1376
msgid " --trace-jump=yes"
1377
msgstr " --trace-jump=yes"
1379
#: libviews/instrview.cpp:668
1380
msgid "For annotated machine code, the following object file is needed:"
1381
msgstr "注释机器码需要以下对象文件:"
1383
#: libviews/instrview.cpp:673
1384
msgid "This file can not be found."
1387
#: libviews/instrview.cpp:696
1388
msgid "There is an error trying to execute the command"
1391
#: libviews/instrview.cpp:700 libviews/instrview.cpp:956
1392
msgid "Check that you have installed 'objdump'."
1393
msgstr "请检查您是否已安装“objdump”程序。"
1395
#: libviews/instrview.cpp:702 libviews/instrview.cpp:958
1396
msgid "This utility can be found in the 'binutils' package."
1397
msgstr "此工具可在“binutils”软件包里找到。"
1399
#: libviews/instrview.cpp:800
1400
msgid "(No Instruction)"
1403
#: libviews/instrview.cpp:934
1404
msgid "This happens because the code of"
1407
#: libviews/instrview.cpp:937
1408
msgid "does not seem to match the profile data file."
1409
msgstr "似乎和此剖析档数据文件不匹配。"
1411
#: libviews/instrview.cpp:940
1412
msgid "Are you using an old profile data file or is the above mentioned"
1413
msgstr "您是否正使用陈旧的剖析档数据文件,或是如上所言"
1415
#: libviews/instrview.cpp:942
1416
msgid "ELF object from an updated installation/another machine?"
1417
msgstr "这是来自更新/其它的机器上的 ELF 对象吗?"
1419
#: libviews/instrview.cpp:950
1420
msgid "There seems to be an error trying to execute the command"
1421
msgstr "尝试执行命令时似乎出错"
1423
#: libviews/instrview.cpp:954
1424
msgid "Check that the ELF object used in the command exists."
1425
msgstr "请检查命令所用的 ELF 对象是否存在。"
1427
#: libviews/sourceview.cpp:55 libviews/sourceview.cpp:592
1428
msgid "Source (unknown)"
1431
#: libviews/sourceview.cpp:90
1433
"<b>Annotated Source</b><p>The annotated source list shows the source lines "
1434
"of the current selected function together with (self) cost spent while "
1435
"executing the code of this source line. If there was a call in a source "
1436
"line, lines with details on the call happening are inserted into the source: "
1437
"the cost spent inside of the call, the number of calls happening, and the "
1438
"call destination.</p><p>Select a inserted call information line to make the "
1439
"destination function current.</p>"
1442
#: libviews/sourceview.cpp:120
1444
msgid "Go to Line %1"
1447
#: libviews/sourceview.cpp:295
1451
#: libviews/sourceview.cpp:561
1452
msgid "There is no cost of current selected type associated"
1453
msgstr "没有与文件中函数的任何源码行相关"
1455
#: libviews/sourceview.cpp:563
1456
msgid "with any source line of this function in file"
1459
#: libviews/sourceview.cpp:567
1460
msgid "Thus, no annotated source can be shown."
1461
msgstr "因此,不会显示注解来源。"
1463
#: libviews/sourceview.cpp:591
1465
msgid "Source ('%1')"
1468
#: libviews/sourceview.cpp:597
1470
msgid "--- Inlined from '%1' ---"
1471
msgstr "--- 引入自“%1” ---"
1473
#: libviews/sourceview.cpp:598
1474
msgid "--- Inlined from unknown source ---"
1475
msgstr "--- 引入自未知来源 ---"
1477
#: libviews/sourceview.cpp:603
1478
msgid "There is no source available for the following function:"
1479
msgstr "以下函数没有可参照源码:"
1481
#: libviews/sourceview.cpp:608
1482
msgid "This is because no debug information is present."
1483
msgstr "原因是里面没有调试信息。"
1485
#: libviews/sourceview.cpp:610
1486
msgid "Recompile source and redo the profile run."
1487
msgstr "请重新编译源码并重新执行此剖析档。"
1489
#: libviews/sourceview.cpp:613
1490
msgid "The function is located in this ELF object:"
1491
msgstr "此函数定位在 ELF 对象:"
1493
#: libviews/sourceview.cpp:621
1494
msgid "This is because its source file cannot be found:"
1495
msgstr "原因是找不到源码文件:"
1497
#: libviews/sourceview.cpp:625
1498
msgid "Add the folder of this file to the source folder list."
1499
msgstr "将此文件所在文件夹添加到源码文件夹列表。"
1501
#: libviews/sourceview.cpp:627
1502
msgid "The list can be found in the configuration dialog."
1503
msgstr "此列表可在配置对话框内找到。"
1505
1505
#~ msgctxt "Top"
1506
1506
#~ msgid "Move to Top"