diff options
author | TDE Weblate <weblate@mirror.git.trinitydesktop.org> | 2018-12-31 19:05:08 +0000 |
---|---|---|
committer | TDE Weblate <weblate@mirror.git.trinitydesktop.org> | 2018-12-31 19:05:08 +0000 |
commit | 9f19f32b78ac2bde5437604a8c9bcebd3a727147 (patch) | |
tree | 6bd2e6ae680896bf597ef5f7cf9c29b5b113ccca /tde-i18n-ar/messages | |
parent | b38996e64d7fb00d147dab9e9d2a8d0efd9d958d (diff) | |
download | tde-i18n-9f19f32b78ac2bde5437604a8c9bcebd3a727147.tar.gz tde-i18n-9f19f32b78ac2bde5437604a8c9bcebd3a727147.zip |
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: tdesdk/tdecachegrind
Translate-URL: https://mirror.git.trinitydesktop.org/weblate/projects/tdesdk/tdecachegrind/
Diffstat (limited to 'tde-i18n-ar/messages')
-rw-r--r-- | tde-i18n-ar/messages/tdesdk/tdecachegrind.po | 2829 |
1 files changed, 1385 insertions, 1444 deletions
diff --git a/tde-i18n-ar/messages/tdesdk/tdecachegrind.po b/tde-i18n-ar/messages/tdesdk/tdecachegrind.po index f76ed8e702b..a4dc5179b8d 100644 --- a/tde-i18n-ar/messages/tdesdk/tdecachegrind.po +++ b/tde-i18n-ar/messages/tdesdk/tdecachegrind.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2014-09-29 12:05-0500\n" +"POT-Creation-Date: 2018-12-31 18:49+0100\n" "PO-Revision-Date: 2005-12-28 03:16+0100\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -13,940 +13,943 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: tabview.cpp:64 -msgid "Move to Top" +#: _translatorinfo:1 +msgid "" +"_: NAME OF TRANSLATORS\n" +"Your names" msgstr "" -#: tabview.cpp:68 -msgid "Move to Right" +#: _translatorinfo:2 +msgid "" +"_: EMAIL OF TRANSLATORS\n" +"Your emails" msgstr "" -#: tabview.cpp:72 -msgid "Move to Bottom" +#: cachegrindloader.cpp:141 +msgid "Import filter for Cachegrind/Callgrind generated profile data files" msgstr "" -#: tabview.cpp:76 -msgid "Move to Bottom Left" +#: cachegrindloader.cpp:738 +#, c-format +msgid "Loading %1" msgstr "" -#: tabview.cpp:77 tabview.cpp:94 treemap.cpp:2908 -msgid "Bottom Left" +#: callgraphview.cpp:306 +#, c-format +msgid "Call(s) from %1" msgstr "" -#: tabview.cpp:79 -msgid "Move Area To" +#: callgraphview.cpp:307 +#, c-format +msgid "Call(s) to %1" msgstr "" -#: tabview.cpp:81 -msgid "Hide This Tab" +#: callgraphview.cpp:308 +msgid "(unknown call)" msgstr "" -#: tabview.cpp:82 -msgid "Hide Area" +#: callgraphview.cpp:1425 +msgid "" +"<b>Call Graph around active Function</b><p>Depending on configuration, this " +"view shows the call graph environment of the active function. Note: the " +"shown cost is <b>only</b> the cost which is spent while the active function " +"was actually running; i.e. the cost shown for main() - if it's visible - " +"should be the same as the cost of the active function, as that's the part of " +"inclusive cost of main() spent while the active function was running.</" +"p><p>For cycles, blue call arrows indicate that this is an artificial call " +"added for correct drawing which actually never happened.</p><p>If the graph " +"is larger than the widget area, an overview panner is shown in one edge. " +"There are similar visualization options to the Call Treemap; the selected " +"function is highlighted.<p>" msgstr "" -#: tabview.cpp:95 -msgid "Show Hidden On" +#: callgraphview.cpp:1789 +msgid "" +"Warning: a long lasting graph layouting is in progress.\n" +"Reduce node/edge limits for speedup.\n" msgstr "" -#: tabview.cpp:242 -msgid "(No profile data file loaded)" +#: callgraphview.cpp:1792 +msgid "Layouting stopped.\n" msgstr "" -#: tabview.cpp:281 -msgid "Types" +#: callgraphview.cpp:1794 +msgid "The call graph has %1 nodes and %2 edges.\n" msgstr "" -#: tabview.cpp:284 -msgid "Callers" +#: callgraphview.cpp:1827 +msgid "No item activated for which to draw the call graph." msgstr "" -#: tabview.cpp:287 -msgid "All Callers" +#: callgraphview.cpp:1838 +msgid "No call graph can be drawn for the active item." msgstr "" -#: tabview.cpp:290 -msgid "Caller Map" +#: callgraphview.cpp:1867 +msgid "" +"No call graph is available because the following\n" +"command cannot be run:\n" +"'%1'\n" msgstr "" -#: tabview.cpp:293 -msgid "Source" +#: callgraphview.cpp:1870 callgraphview.cpp:2199 +msgid "Please check that 'dot' is installed (package GraphViz)." msgstr "" -#: tabview.cpp:297 -msgid "Parts" +#: callgraphview.cpp:2198 +msgid "Error running the graph layouting tool.\n" msgstr "" -#: tabview.cpp:300 -msgid "Call Graph" +#: callgraphview.cpp:2206 +msgid "" +"There is no call graph available for function\n" +"\t'%1'\n" +"because it has no cost of the selected event type." msgstr "" -#: tabview.cpp:303 -msgid "Callees" +#: callgraphview.cpp:2396 callgraphview.cpp:2400 callgraphview.cpp:2418 +#: callview.cpp:123 callview.cpp:128 coverageview.cpp:166 instrview.cpp:191 +#: sourceview.cpp:116 +msgid "Go to '%1'" msgstr "" -#: tabview.cpp:306 -msgid "All Callees" +#: callgraphview.cpp:2427 +msgid "Stop Layouting" msgstr "" -#: tabview.cpp:310 -msgid "Callee Map" +#: callgraphview.cpp:2435 +msgid "As PostScript" msgstr "" -#: instrview.cpp:131 tabview.cpp:313 -msgid "Assembler" +#: callgraphview.cpp:2436 +msgid "As Image ..." msgstr "" -#: tabview.cpp:553 -msgid "" -"<b>Information Tabs</b>" -"<p>This widget shows information for the current selected function in different " -"tabs: " -"<ul>" -"<li>The Costs tab shows a list of available event types and the inclusive and " -"self costs regarding to these types.</li>" -"<li>The Parts tab shows a list of trace parts if the trace consists of more " -"than one part (otherwise, this tab is hided). The cost of the selected function " -"spent in the different parts together with the calls happening is shown.</li>" -"<li>The Call Lists tab shows direct callers and callees of the function in more " -"detail.</li>" -"<li>The Coverage tab shows the same is the Call Lists tab, but not only direct " -"callers and callees but also indirect ones.</li>" -"<li>The Call Graph tab shows a graphical visualization of the calls done by " -"this function.</li>" -"<li>The Source tab presents annotated source code if debugging information and " -"the source file is available.</li>" -"<li>The Assembler tab presents annotated assembler code if trace information on " -"instruction level is available.</li></ul>For more information, see the <em>" -"What's This?</em> help of the corresponding tab widget</p>" +#: callgraphview.cpp:2438 +msgid "Export Graph" msgstr "" -#: tabview.cpp:630 -msgid "(No Data loaded)" +#: callgraphview.cpp:2443 callgraphview.cpp:2466 +msgid "Unlimited" msgstr "" -#: tabview.cpp:631 -msgid "(No function selected)" +#: callgraphview.cpp:2446 callgraphview.cpp:2469 +msgid "None" msgstr "" -#: tracedata.cpp:153 -msgid "Abstract Item" +#: callgraphview.cpp:2447 callgraphview.cpp:2470 +msgid "max. 2" msgstr "" -#: tracedata.cpp:154 -msgid "Cost Item" +#: callgraphview.cpp:2448 callgraphview.cpp:2471 +msgid "max. 5" msgstr "" -#: tracedata.cpp:155 -msgid "Part Source Line" +#: callgraphview.cpp:2449 callgraphview.cpp:2472 +msgid "max. 10" msgstr "" -#: tracedata.cpp:156 -msgid "Source Line" +#: callgraphview.cpp:2450 callgraphview.cpp:2473 +msgid "max. 15" msgstr "" -#: tracedata.cpp:157 -msgid "Part Line Call" +#: callgraphview.cpp:2460 callgraphview.cpp:2483 +#, c-format +msgid "< %1" msgstr "" -#: tracedata.cpp:158 -msgid "Line Call" +#: callgraphview.cpp:2489 +msgid "No Minimum" msgstr "" -#: tracedata.cpp:159 -msgid "Part Jump" +#: callgraphview.cpp:2493 +#, c-format +msgid "50 %" msgstr "" -#: tracedata.cpp:160 -msgid "Jump" +#: callgraphview.cpp:2494 +#, c-format +msgid "20 %" msgstr "" -#: tracedata.cpp:161 -msgid "Part Instruction" +#: callgraphview.cpp:2495 +#, c-format +msgid "10 %" msgstr "" -#: tracedata.cpp:162 -msgid "Instruction" +#: callgraphview.cpp:2496 +#, c-format +msgid "5 %" msgstr "" -#: tracedata.cpp:163 -msgid "Part Instruction Jump" +#: callgraphview.cpp:2497 +#, c-format +msgid "3 %" msgstr "" -#: tracedata.cpp:164 -msgid "Instruction Jump" +#: callgraphview.cpp:2498 +#, c-format +msgid "2 %" msgstr "" -#: tracedata.cpp:165 -msgid "Part Instruction Call" +#: callgraphview.cpp:2499 +#, c-format +msgid "1.5 %" msgstr "" -#: tracedata.cpp:166 -msgid "Instruction Call" +#: callgraphview.cpp:2500 +#, c-format +msgid "1 %" msgstr "" -#: tracedata.cpp:167 -msgid "Part Call" +#: callgraphview.cpp:2516 +msgid "Same as Node" msgstr "" -#: tracedata.cpp:168 -msgid "Call" +#: callgraphview.cpp:2517 +#, c-format +msgid "50 % of Node" msgstr "" -#: tracedata.cpp:169 -msgid "Part Function" +#: callgraphview.cpp:2518 +#, c-format +msgid "20 % of Node" msgstr "" -#: tracedata.cpp:170 -msgid "Function Source File" +#: callgraphview.cpp:2519 +#, c-format +msgid "10 % of Node" msgstr "" -#. i18n: file dumpselectionbase.ui line 300 -#: rc.cpp:144 rc.cpp:273 rc.cpp:318 rc.cpp:342 tracedata.cpp:171 -#, no-c-format -msgid "Function" +#: callgraphview.cpp:2529 +msgid "Caller Depth" msgstr "" -#: tracedata.cpp:172 -msgid "Function Cycle" +#: callgraphview.cpp:2530 +msgid "Callee Depth" msgstr "" -#: tracedata.cpp:173 -msgid "Part Class" +#: callgraphview.cpp:2531 +msgid "Min. Node Cost" msgstr "" -#: tracedata.cpp:174 -msgid "Class" +#: callgraphview.cpp:2532 +msgid "Min. Call Cost" msgstr "" -#: tracedata.cpp:175 -msgid "Part Source File" +#: callgraphview.cpp:2534 +msgid "Arrows for Skipped Calls" msgstr "" -#: tracedata.cpp:176 -msgid "Source File" +#: callgraphview.cpp:2536 +msgid "Inner-cycle Calls" msgstr "" -#: tracedata.cpp:177 -msgid "Part ELF Object" +#: callgraphview.cpp:2538 +msgid "Cluster Groups" msgstr "" -#: tracedata.cpp:178 -msgid "ELF Object" +#: callgraphview.cpp:2543 +msgid "Compact" msgstr "" -#: partview.cpp:46 tracedata.cpp:179 -msgid "Profile Part" +#: callgraphview.cpp:2544 +msgid "Normal" msgstr "" -#: tracedata.cpp:180 -msgid "Program Trace" +#: callgraphview.cpp:2545 +msgid "Tall" msgstr "" -#: tracedata.cpp:241 -msgid "%1 from %2" +#: callgraphview.cpp:2550 +msgid "Top to Down" msgstr "" -#: partgraph.cpp:423 tracedata.cpp:249 tracedata.cpp:254 tracedata.cpp:2824 -#: tracedata.cpp:3241 tracedata.cpp:3327 tracedata.cpp:4165 tracedata.cpp:4173 -#: tracedata.cpp:4238 -msgid "(unknown)" +#: callgraphview.cpp:2551 +msgid "Left to Right" msgstr "" -#: tracedata.cpp:2583 -msgid "(no caller)" +#: callgraphview.cpp:2552 +msgid "Circular" msgstr "" -#: tracedata.cpp:2590 tracedata.cpp:2609 -msgid "%1 via %2" +#: callgraphview.cpp:2558 +msgid "TopLeft" msgstr "" -#: tracedata.cpp:2599 -msgid "(no callee)" +#: callgraphview.cpp:2559 +msgid "TopRight" msgstr "" -#: tracedata.cpp:4467 -msgid "(not found)" +#: callgraphview.cpp:2560 +msgid "BottomLeft" msgstr "" -#: tracedata.cpp:5017 -msgid "Recalculating Function Cycles..." +#: callgraphview.cpp:2561 +msgid "BottomRight" msgstr "" -#. i18n: file tdecachegrindui.rc line 15 -#: rc.cpp:9 +#: callgraphview.cpp:2562 configdlgbase.ui:246 configdlgbase.ui:286 +#: configdlgbase.ui:302 #, no-c-format -msgid "&Layout" +msgid "Automatic" msgstr "" -#. i18n: file tdecachegrindui.rc line 32 -#: rc.cpp:12 -#, no-c-format -msgid "Sidebars" +#: callgraphview.cpp:2569 +msgid "Graph" msgstr "" -#. i18n: file tdecachegrindui.rc line 54 -#: rc.cpp:18 -#, no-c-format -msgid "State Toolbar" +#: callgraphview.cpp:2570 partselection.cpp:320 +msgid "Visualization" msgstr "" -#. i18n: file configdlgbase.ui line 37 -#: rc.cpp:24 -#, no-c-format -msgid "General" +#: callgraphview.cpp:2571 +msgid "Birds-eye View" msgstr "" -#. i18n: file configdlgbase.ui line 69 -#: rc.cpp:27 -#, no-c-format -msgid "Truncated when more/longer than:" +#: callitem.cpp:82 partlistitem.cpp:152 +msgid "(active)" msgstr "" -#. i18n: file configdlgbase.ui line 77 -#: rc.cpp:30 +#: callmapview.cpp:59 dumpselectionbase.ui:550 partselection.cpp:58 #, no-c-format -msgid "Precision of percentage values:" +msgid "Name" msgstr "" -#. i18n: file configdlgbase.ui line 85 -#: rc.cpp:33 +#: callmapview.cpp:60 callview.cpp:44 instrview.cpp:126 partselection.cpp:59 +#: sourceview.cpp:51 stackselectionbase.ui:31 #, no-c-format -msgid "Symbols in tooltips and context menus" +msgid "Cost" msgstr "" -#. i18n: file configdlgbase.ui line 141 -#: rc.cpp:36 +#: callmapview.cpp:61 dumpselectionbase.ui:950 functionselectionbase.ui:147 #, no-c-format -msgid "Maximum number of items in lists:" +msgid "Location" msgstr "" -#. i18n: file configdlgbase.ui line 162 -#: rc.cpp:39 +#: callmapview.cpp:63 dumpselectionbase.ui:754 stackselectionbase.ui:53 #, no-c-format -msgid "Cost Item Colors" +msgid "Calls" msgstr "" -#. i18n: file configdlgbase.ui line 246 -#: callgraphview.cpp:2562 rc.cpp:42 rc.cpp:51 rc.cpp:54 -#, no-c-format -msgid "Automatic" +#: callmapview.cpp:98 +msgid "" +"<b>Caller Map</b><p>This graph shows the nested hierarchy of all callers of " +"the current activated function. Each colored rectangle represents a " +"function; its size tries to be proportional to the cost spent therein while " +"the active function is running (however, there are drawing constrains).</p>" msgstr "" -#. i18n: file configdlgbase.ui line 254 -#: rc.cpp:45 -#, no-c-format -msgid "Object:" +#: callmapview.cpp:105 +msgid "" +"<b>Call Map</b><p>This graph shows the nested hierarchy of all callees of " +"the current activated function. Each colored rectangle represents a " +"function; its size tries to be proportional to the cost spent therein while " +"the active function is running (however, there are drawing constrains).</p>" msgstr "" -#. i18n: file configdlgbase.ui line 262 -#: rc.cpp:48 -#, no-c-format -msgid "Class:" +#: callmapview.cpp:113 +msgid "" +"<p>Appearance options can be found in the in the context menu. To get exact " +"size proportions, choose 'Hide incorrect borders'. As this mode can be " +"<em>very</em> time consuming, you may want to limit the maximum drawn " +"nesting level before. 'Best' determinates the split direction for children " +"from the aspect ratio of the parent. 'Always Best' decides on remaining " +"space for each sibling. 'Ignore Proportions' takes space for function name " +"drawing <em>before</em> drawing children. Note that size proportions can get " +"<em>heavily</em> wrong.</p><p>This is a <em>TreeMap</em> widget. Keyboard " +"navigation is available with the left/right arrow keys for traversing " +"siblings, and up/down arrow keys to go a nesting level up/down. <em>Return</" +"em> activates the current item.</p>" msgstr "" -#. i18n: file configdlgbase.ui line 310 -#: rc.cpp:57 -#, no-c-format -msgid "File:" +#: callmapview.cpp:167 +msgid "Go To" msgstr "" -#. i18n: file configdlgbase.ui line 376 -#: rc.cpp:60 -#, no-c-format -msgid "Annotations" +#: callmapview.cpp:184 +msgid "Stop at Depth" msgstr "" -#. i18n: file configdlgbase.ui line 395 -#: rc.cpp:63 -#, no-c-format -msgid "Context lines in annotations:" +#: callmapview.cpp:187 treemap.cpp:3101 +msgid "No Depth Limit" msgstr "" -#. i18n: file configdlgbase.ui line 423 -#: rc.cpp:66 -#, no-c-format -msgid "Source Folders" +#: callmapview.cpp:190 +msgid "Depth 10" msgstr "" -#. i18n: file configdlgbase.ui line 454 -#: rc.cpp:69 -#, no-c-format -msgid "Object / Related Source Base" +#: callmapview.cpp:192 +msgid "Depth 15" msgstr "" -#. i18n: file configdlgbase.ui line 483 -#: rc.cpp:72 -#, no-c-format -msgid "Add..." +#: callmapview.cpp:194 +msgid "Depth 20" msgstr "" -#. i18n: file dumpselectionbase.ui line 16 -#: rc.cpp:84 toplevel.cpp:352 toplevel.cpp:604 -#, no-c-format -msgid "Profile Dumps" +#: callmapview.cpp:198 treemap.cpp:3107 +msgid "Depth of '%1' (%2)" msgstr "" -#. i18n: file dumpselectionbase.ui line 32 -#: rc.cpp:87 -#, no-c-format -msgid "Target" +#: callmapview.cpp:204 +msgid "Decrement Depth (to %1)" msgstr "" -#. i18n: file dumpselectionbase.ui line 54 -#: rc.cpp:90 -#, no-c-format -msgid "Time" +#: callmapview.cpp:205 +msgid "Increment Depth (to %1)" msgstr "" -#. i18n: file dumpselectionbase.ui line 65 -#: rc.cpp:93 -#, no-c-format -msgid "Path" +#: callmapview.cpp:209 +msgid "Stop at Function" msgstr "" -#. i18n: file dumpselectionbase.ui line 106 -#: rc.cpp:99 -#, no-c-format -msgid "Target command:" +#: callmapview.cpp:210 +msgid "No Function Limit" msgstr "" -#. i18n: file dumpselectionbase.ui line 119 -#: rc.cpp:102 -#, no-c-format -msgid "Profiler options:" +#: callmapview.cpp:240 +msgid "Stop at Area" msgstr "" -#. i18n: file dumpselectionbase.ui line 125 -#: rc.cpp:105 -#, no-c-format -msgid "Option" +#: callmapview.cpp:243 treemap.cpp:3039 +msgid "No Area Limit" msgstr "" -#. i18n: file dumpselectionbase.ui line 136 -#: rc.cpp:108 rc.cpp:219 -#, no-c-format -msgid "Value" +#: callmapview.cpp:246 +msgid "50 Pixels" msgstr "" -#. i18n: file dumpselectionbase.ui line 147 -#: rc.cpp:111 -#, no-c-format -msgid "Trace" +#: callmapview.cpp:248 +msgid "100 Pixels" msgstr "" -#. i18n: file dumpselectionbase.ui line 160 -#: rc.cpp:114 rc.cpp:237 -#, no-c-format -msgid "Jumps" +#: callmapview.cpp:250 +msgid "200 Pixels" msgstr "" -#. i18n: file dumpselectionbase.ui line 174 -#: rc.cpp:117 -#, no-c-format -msgid "Instructions" +#: callmapview.cpp:252 +msgid "500 Pixels" msgstr "" -#. i18n: file dumpselectionbase.ui line 189 -#: rc.cpp:120 rc.cpp:240 -#, no-c-format -msgid "Events" +#: callmapview.cpp:258 treemap.cpp:3045 +msgid "Area of '%1' (%2)" msgstr "" -#. i18n: file dumpselectionbase.ui line 202 -#: rc.cpp:123 -#, no-c-format -msgid "Full Cache" +#: callmapview.cpp:264 treemap.cpp:3071 +msgid "Double Area Limit (to %1)" msgstr "" -#. i18n: file dumpselectionbase.ui line 216 -#: rc.cpp:126 -#, no-c-format -msgid "Custom" +#: callmapview.cpp:266 +msgid "Half Area Limit (to %1)" msgstr "" -#. i18n: file dumpselectionbase.ui line 231 -#: rc.cpp:129 -#, no-c-format -msgid "Collect" +#: callmapview.cpp:273 +msgid "Visualisation" msgstr "" -#. i18n: file dumpselectionbase.ui line 244 -#: rc.cpp:132 -#, no-c-format -msgid "At Startup" +#: callmapview.cpp:277 +msgid "Split Direction" msgstr "" -#. i18n: file dumpselectionbase.ui line 258 -#: rc.cpp:135 -#, no-c-format -msgid "While In" +#: callmapview.cpp:279 +msgid "Skip Incorrect Borders" msgstr "" -#. i18n: file dumpselectionbase.ui line 273 -#: rc.cpp:138 -#, no-c-format -msgid "Skip" +#: callmapview.cpp:284 +msgid "Border Width" msgstr "" -#. i18n: file dumpselectionbase.ui line 286 -#: rc.cpp:141 -#, no-c-format -msgid "PLT" +#: callmapview.cpp:285 +msgid "Border 0" msgstr "" -#. i18n: file dumpselectionbase.ui line 315 -#: rc.cpp:147 -#, no-c-format -msgid "Dump Profile" +#: callmapview.cpp:288 +msgid "Border 1" msgstr "" -#. i18n: file dumpselectionbase.ui line 328 -#: rc.cpp:150 -#, no-c-format -msgid "Every BBs" +#: callmapview.cpp:290 +msgid "Border 2" msgstr "" -#. i18n: file dumpselectionbase.ui line 342 -#: rc.cpp:153 rc.cpp:162 -#, no-c-format -msgid "On Entering" +#: callmapview.cpp:292 +msgid "Border 3" msgstr "" -#. i18n: file dumpselectionbase.ui line 356 -#: rc.cpp:156 -#, no-c-format -msgid "On Leaving" +#: callmapview.cpp:297 +msgid "Draw Symbol Names" msgstr "" -#. i18n: file dumpselectionbase.ui line 371 -#: rc.cpp:159 -#, no-c-format -msgid "Zero Events" +#: callmapview.cpp:298 +msgid "Draw Cost" msgstr "" -#. i18n: file dumpselectionbase.ui line 399 -#: rc.cpp:165 -#, no-c-format -msgid "Separate" +#: callmapview.cpp:299 +msgid "Draw Location" msgstr "" -#. i18n: file dumpselectionbase.ui line 412 -#: rc.cpp:168 -#, no-c-format -msgid "Threads" +#: callmapview.cpp:300 +msgid "Draw Calls" msgstr "" -#. i18n: file dumpselectionbase.ui line 426 -#: rc.cpp:171 -#, no-c-format -msgid "Recursions" +#: callmapview.cpp:303 partselection.cpp:342 +msgid "Ignore Proportions" msgstr "" -#. i18n: file dumpselectionbase.ui line 440 -#: rc.cpp:174 -#, no-c-format -msgid "Call Chain" +#: callmapview.cpp:304 partselection.cpp:344 treemap.cpp:2887 +msgid "Allow Rotation" msgstr "" -#. i18n: file dumpselectionbase.ui line 470 -#: rc.cpp:177 -#, no-c-format -msgid "Custom profiler options:" +#: callmapview.cpp:321 treemap.cpp:2889 +msgid "Shading" msgstr "" -#. i18n: file dumpselectionbase.ui line 508 -#: rc.cpp:180 -#, no-c-format -msgid "Run New Profile" +#: callmapview.cpp:431 +msgid "Call Map: Current is '%1'" msgstr "" -#. i18n: file dumpselectionbase.ui line 520 -#: rc.cpp:183 -#, no-c-format -msgid "Info" +#: callmapview.cpp:599 +msgid "(no function)" msgstr "" -#. i18n: file dumpselectionbase.ui line 531 -#: rc.cpp:186 -#, no-c-format -msgid "Dump reason:" +#: callmapview.cpp:741 callmapview.cpp:858 +msgid "(no call)" msgstr "" -#. i18n: file dumpselectionbase.ui line 544 -#: rc.cpp:189 -#, no-c-format -msgid "Event summary:" +#: callview.cpp:45 instrview.cpp:127 sourceview.cpp:52 +msgid "Cost 2" msgstr "" -#. i18n: file dumpselectionbase.ui line 550 -#: callmapview.cpp:59 partselection.cpp:58 rc.cpp:192 -#, no-c-format -msgid "Name" +#: callview.cpp:47 callview.cpp:51 +msgid "Count" msgstr "" -#. i18n: file dumpselectionbase.ui line 561 -#: rc.cpp:195 -#, no-c-format -msgid "Sum" +#: callview.cpp:48 coverageview.cpp:50 +msgid "Caller" msgstr "" -#. i18n: file dumpselectionbase.ui line 579 -#: rc.cpp:198 -#, no-c-format -msgid "Miscellaneous:" +#: callview.cpp:52 coverageview.cpp:56 +msgid "Callee" msgstr "" -#. i18n: file dumpselectionbase.ui line 617 -#: rc.cpp:201 -#, no-c-format -msgid "Show" +#: callview.cpp:85 +msgid "" +"<b>List of direct Callers</b><p>This list shows all functions calling the " +"current selected one directly, together with a call count and the cost spent " +"in the current selected function while being called from the function from " +"the list.</p><p>An icon instead of an inclusive cost specifies that this is " +"a call inside of a recursive cycle. An inclusive cost makes no sense here.</" +"p><p>Selecting a function makes it the current selected one of this " +"information panel. If there are two panels (Split mode), the function of the " +"other panel is changed instead.</p>" msgstr "" -#. i18n: file dumpselectionbase.ui line 625 -#: rc.cpp:204 -#, no-c-format -msgid "Compare" +#: callview.cpp:98 +msgid "" +"<b>List of direct Callees</b><p>This list shows all functions called by the " +"current selected one directly, together with a call count and the cost spent " +"in this function while being called from the selected function.</" +"p><p>Selecting a function makes it the current selected one of this " +"information panel. If there are two panels (Split mode), the function of the " +"other panel is changed instead.</p>" msgstr "" -#. i18n: file dumpselectionbase.ui line 637 -#: rc.cpp:207 +#: configdlg.cpp:58 dumpselectionbase.ui:824 #, no-c-format -msgid "State" +msgid "ELF Objects" msgstr "" -#. i18n: file dumpselectionbase.ui line 656 -#: rc.cpp:210 -#, no-c-format -msgid "Update" +#: configdlg.cpp:60 +msgid "Source Files" msgstr "" -#. i18n: file dumpselectionbase.ui line 664 -#: rc.cpp:213 -#, no-c-format -msgid "Every [s]:" +#: configdlg.cpp:61 +msgid "C++ Classes" msgstr "" -#. i18n: file dumpselectionbase.ui line 677 -#: rc.cpp:216 -#, no-c-format -msgid "Counter" +#: configdlg.cpp:62 +msgid "Function (no Grouping)" msgstr "" -#. i18n: file dumpselectionbase.ui line 699 -#: rc.cpp:222 -#, no-c-format -msgid "Dumps Done" +#: configdlg.cpp:157 configdlg.cpp:350 configdlg.cpp:371 +msgid "(always)" msgstr "" -#. i18n: file dumpselectionbase.ui line 713 -#: rc.cpp:225 -#, no-c-format -msgid "Is Collecting" +#: configdlg.cpp:210 +msgid "KCachegrind Configuration" msgstr "" -#. i18n: file dumpselectionbase.ui line 727 -#: rc.cpp:228 -#, no-c-format -msgid "Executed" +#: configdlg.cpp:211 +msgid "" +"The Maximum Number of List Items should be below 500.The previous set value " +"(%1) will still be used." msgstr "" -#. i18n: file dumpselectionbase.ui line 740 -#: rc.cpp:231 -#, no-c-format -msgid "Basic Blocks" +#: configdlg.cpp:384 +msgid "Choose Source Folder" msgstr "" -#. i18n: file dumpselectionbase.ui line 754 -#: callmapview.cpp:63 rc.cpp:234 rc.cpp:339 -#, no-c-format -msgid "Calls" +#: configuration.cpp:67 +msgid "Instruction Fetch" msgstr "" -#. i18n: file dumpselectionbase.ui line 796 -#: rc.cpp:243 -#, no-c-format -msgid "Ir" +#: configuration.cpp:68 +msgid "Data Read Access" msgstr "" -#. i18n: file dumpselectionbase.ui line 811 -#: rc.cpp:246 -#, no-c-format -msgid "Distinct" +#: configuration.cpp:69 +msgid "Data Write Access" msgstr "" -#. i18n: file dumpselectionbase.ui line 824 -#: configdlg.cpp:58 rc.cpp:249 -#, no-c-format -msgid "ELF Objects" +#: configuration.cpp:70 +msgid "L1 Instr. Fetch Miss" msgstr "" -#. i18n: file dumpselectionbase.ui line 838 -#: rc.cpp:252 -#, no-c-format -msgid "Functions" +#: configuration.cpp:71 +msgid "L1 Data Read Miss" msgstr "" -#. i18n: file dumpselectionbase.ui line 852 -#: rc.cpp:255 -#, no-c-format -msgid "Contexts" +#: configuration.cpp:72 +msgid "L1 Data Write Miss" msgstr "" -#. i18n: file dumpselectionbase.ui line 890 -#: rc.cpp:258 -#, no-c-format -msgid "Stack trace:" +#: configuration.cpp:73 +msgid "L2 Instr. Fetch Miss" msgstr "" -#. i18n: file dumpselectionbase.ui line 898 -#: rc.cpp:261 -#, no-c-format -msgid "Sync." +#: configuration.cpp:74 +msgid "L2 Data Read Miss" msgstr "" -#. i18n: file dumpselectionbase.ui line 906 -#: instrview.cpp:125 rc.cpp:264 sourceview.cpp:50 -#, no-c-format -msgid "#" +#: configuration.cpp:75 +msgid "L2 Data Write Miss" msgstr "" -#. i18n: file dumpselectionbase.ui line 917 -#: costtypeview.cpp:43 coverageview.cpp:46 partview.cpp:47 rc.cpp:267 -#: rc.cpp:309 -#, no-c-format -msgid "Incl." +#: configuration.cpp:76 +msgid "LL Instr. Fetch Miss" msgstr "" -#. i18n: file dumpselectionbase.ui line 928 -#: coverageview.cpp:49 partview.cpp:49 rc.cpp:270 rc.cpp:315 -#, no-c-format -msgid "Called" +#: configuration.cpp:77 +msgid "LL Data Read Miss" msgstr "" -#. i18n: file dumpselectionbase.ui line 950 -#: callmapview.cpp:61 rc.cpp:276 rc.cpp:321 -#, no-c-format -msgid "Location" +#: configuration.cpp:78 +msgid "LL Data Write Miss" msgstr "" -#. i18n: file dumpselectionbase.ui line 976 -#: rc.cpp:279 -#, no-c-format -msgid "Start" +#: configuration.cpp:79 +msgid "Samples" msgstr "" -#. i18n: file dumpselectionbase.ui line 1001 -#: rc.cpp:282 -#, no-c-format -msgid "Zero" +#: configuration.cpp:80 +msgid "System Time" msgstr "" -#. i18n: file dumpselectionbase.ui line 1009 -#: rc.cpp:285 -#, no-c-format -msgid "Dump" +#: configuration.cpp:81 +msgid "User Time" msgstr "" -#. i18n: file dumpselectionbase.ui line 1021 -#: rc.cpp:288 -#, no-c-format -msgid "Messages" +#: configuration.cpp:82 +msgid "L1 Miss Sum" msgstr "" -#. i18n: file dumpselectionbase.ui line 1045 -#: rc.cpp:291 -#, no-c-format -msgid "Kill Run" +#: configuration.cpp:83 +msgid "L2 Miss Sum" msgstr "" -#. i18n: file functionselectionbase.ui line 16 -#: rc.cpp:297 toplevel.cpp:594 -#, no-c-format -msgid "Function Profile" +#: configuration.cpp:84 +msgid "LL Miss Sum" +msgstr "" + +#: configuration.cpp:85 +msgid "Cycle Estimation" +msgstr "" + +#: costlistitem.cpp:60 +#, c-format +msgid "" +"_n: (%n item skipped)\n" +"(%n items skipped)" +msgstr "" + +#: costtypeitem.cpp:56 +msgid "Unknown Type" msgstr "" -#. i18n: file functionselectionbase.ui line 41 -#: rc.cpp:300 +#: costtypeview.cpp:42 +msgid "Event Type" +msgstr "" + +#: costtypeview.cpp:43 coverageview.cpp:46 dumpselectionbase.ui:917 +#: functionselectionbase.ui:103 partview.cpp:47 #, no-c-format -msgid "&Search:" +msgid "Incl." msgstr "" -#. i18n: file functionselectionbase.ui line 62 -#: costtypeview.cpp:44 coverageview.cpp:53 partview.cpp:48 rc.cpp:303 -#: rc.cpp:312 +#: costtypeview.cpp:44 coverageview.cpp:53 functionselectionbase.ui:62 +#: functionselectionbase.ui:114 partview.cpp:48 #, no-c-format msgid "Self" msgstr "" -#. i18n: file functionselectionbase.ui line 73 -#: rc.cpp:306 -#, no-c-format -msgid "Group" +#: costtypeview.cpp:45 +msgid "Short" msgstr "" -#. i18n: file partselectionbase.ui line 16 -#: rc.cpp:324 toplevel.cpp:276 toplevel.cpp:576 -#, no-c-format -msgid "Parts Overview" +#: costtypeview.cpp:47 +msgid "Formula" msgstr "" -#. i18n: file partselectionbase.ui line 60 -#: rc.cpp:327 -#, no-c-format -msgid "(no trace parts)" +#: costtypeview.cpp:81 +msgid "" +"<b>Cost Types List</b><p>This list shows all cost types available and what " +"the self/inclusive cost of the current selected function is for that cost " +"type.</p><p>By choosing a cost type from the list, you change the cost type " +"of costs shown all over KCachegrind to be the selected one.</p>" msgstr "" -#. i18n: file stackselectionbase.ui line 16 -#: rc.cpp:330 -#, no-c-format -msgid "Stack Selection" +#: costtypeview.cpp:98 +msgid "Set Secondary Event Type" msgstr "" -#. i18n: file stackselectionbase.ui line 31 -#: callmapview.cpp:60 callview.cpp:44 instrview.cpp:126 partselection.cpp:59 -#: rc.cpp:333 sourceview.cpp:51 -#, no-c-format -msgid "Cost" +#: costtypeview.cpp:100 +msgid "Remove Secondary Event Type" msgstr "" -#. i18n: file stackselectionbase.ui line 42 -#: rc.cpp:336 -#, no-c-format -msgid "Cost2" +#: costtypeview.cpp:105 +msgid "Edit Long Name" msgstr "" -#: partgraph.cpp:167 -#, c-format -msgid "Profile Part %1" +#: costtypeview.cpp:106 +msgid "Edit Short Name" msgstr "" -#: partgraph.cpp:226 -msgid "(no trace)" +#: costtypeview.cpp:107 +msgid "Edit Formula" msgstr "" -#: partgraph.cpp:229 -msgid "(no part)" +#: costtypeview.cpp:108 +msgid "Remove" msgstr "" -#: tips.txt:3 -msgid "" -"<p>...that the <em>What's This?</em> help for every GUI widget\n" -"in KCachegrind contains detailed usage information for this widget?\n" -"It is highly recommended to read at least these help texts on first\n" -"use. Request <em>What's This?</em> help by pressing\n" -"Shift+F1 and clicking on the widget.</p>\n" +#: costtypeview.cpp:115 +msgid "New Cost Type ..." msgstr "" -#: tips.txt:12 -msgid "" -"<p>...that you can get profile information at instruction level\n" -"with Calltree when you provide the option <em>--dump-instr=yes</em>?\n" -"Use the Assembler View for the instruction annotations.\n" -"</p>\n" +#: costtypeview.cpp:149 costtypeview.cpp:154 +#, c-format +msgid "New%1" msgstr "" -#: tips.txt:20 -msgid "" -"<p>...that you can use Alt-Left/Right keys of your keyboard to go\n" -"back/forward in the active object history ?</p>\n" +#: costtypeview.cpp:155 +#, c-format +msgid "New Cost Type %1" msgstr "" -#: tips.txt:26 +#: coverageitem.cpp:65 coverageitem.cpp:205 functionitem.cpp:72 +#, c-format msgid "" -"<p>...that you can navigate in the Callee/Caller Map View using\n" -"arrow keys? Use Left/Right to change to siblings of the current\n" -"item; use Up/Down to go one nesting level up/down. To select\n" -"the current item, press Space, and to activate it, press Return.\n" -"</p>\n" +"_n: (%n function skipped)\n" +"(%n functions skipped)" msgstr "" -#: tips.txt:35 -msgid "" -"<p>...that you can navigate in the Call Graph View using\n" -"arrow keys? Use Up/Down to go one calling level up/down, alternating\n" -"between calls and functions. Use Left/Right to change to siblings of a current\n" -"selected call. To activate the current item, press Return.\n" -"</p>\n" +#: coverageview.cpp:48 coverageview.cpp:54 +msgid "Distance" msgstr "" -#: tips.txt:44 -msgid "" -"<p>...that you can rapidly locate a function by entering part of its\n" -"name (case-insensitive) into the edit line of the toolbar\n" -"and hit return?</p>\n" +#: coverageview.cpp:49 dumpselectionbase.ui:928 functionselectionbase.ui:125 +#: partview.cpp:49 +#, no-c-format +msgid "Called" msgstr "" -#: tips.txt:51 -msgid "" -"<p>...that you can assign custom colors to \n" -"ELF objects/C++ Classes/Source Files for graph coloring\n" -"in <em>Settings->Configure KCachegrind...</em>?</p>\n" +#: coverageview.cpp:55 +msgid "Calling" msgstr "" -#: tips.txt:58 +#: coverageview.cpp:90 msgid "" -"<p>...that you can see if debug info is available for a selected \n" -"function by looking at the location label in the Info tab or\n" -"the source listing header in the source tab?</p>\n" -"<p>There must be the name of the source file (with extension).\n" -"If KCachegrind still doesn't show the source, make sure that you\n" -"have added the directory of the source file to the\n" -"<em>Source Directories</em> list in the configuration.\n" +"<b>List of all Callers</b><p>This list shows all functions calling the " +"current selected one, either directly or with several functions in-between " +"on the stack; the number of functions in-between plus one is called the " +"<em>Distance</em> (e.g. for function A,B,C there exists a call from A to C " +"when A calls B and B calls C, i.e. A => B => C. The distance here is 2).</" +"p><p>Absolute cost shown is the cost spent in the selected function while a " +"listed function is active; relative cost is the percentage of all cost spent " +"in the selected function while the listed one is active. The cost graphic " +"shows logarithmic percentage with a different color for each distance.</" +"p><p>As there can be many calls from the same function, the distance column " +"sometimes shows the range of distances for all calls happening; then, in " +"parentheses, there is the medium distance, i.e. the distance where most of " +"the call costs happened.</p><p>Selecting a function makes it the current " +"selected one of this information panel. If there are two panels (Split " +"mode), the function of the other panel is changed instead.</p>" msgstr "" -#: tips.txt:69 +#: coverageview.cpp:120 msgid "" -"<p>...that you can configure whether KCachgrind should\n" -"show absolute event counts or relative ones (percentage display)?</p>\n" +"<b>List of all Callees</b><p>This list shows all functions called by the " +"current selected one, either directly or with several function in-between on " +"the stack; the number of function in-between plus one is called the " +"<em>Distance</em> (e.g. for function A,B,C there exists a call from A to C " +"when A calls B and B calls C, i.e. A => B => C. The distance here is 2).</" +"p><p>Absolute cost shown is the cost spent in the listed function while the " +"selected is active; relative cost is the percentage of all cost spent in the " +"listed function while the selected one is active. The cost graphic always " +"shows logarithmic percentage with a different color for each distance.</" +"p><p>As there can be many calls to the same function, the distance column " +"sometimes shows the range of distances for all calls happening; then, in " +"parentheses, there is the medium distance, i.e. the distance where most of " +"the call costs happened.</p><p>Selecting a function makes it the current " +"selected one of this information panel. If there are two panels (Split " +"mode), the function of the other panel is changed instead.</p>" msgstr "" -#: tips.txt:75 -msgid "" -"<p>...that you can configure the maximum number of items\n" -"for all function lists in KCachegrind? Limiting the number\n" -"of items is done to get a fast reacting GUI. The last item in\n" -"the list will show you the number of skipped functions, together\n" -"with a cost condition for these skipped functions.</p>\n" -"<p>To activate a function with small costs, search for it and select\n" -"it in the flat profile. Selecting functions with small cost will\n" -"temporarily add them to the flat profile list.</p>\n" +#: functionselection.cpp:52 toplevel.cpp:772 +msgid "(No Grouping)" +msgstr "" + +#: functionselection.cpp:176 +#, c-format +msgid "Go to %1" +msgstr "" + +#: functionselection.cpp:203 +msgid "Show All Items" msgstr "" -#: tips.txt:87 +#: functionselection.cpp:226 +msgid "No Grouping" +msgstr "" + +#: functionselection.cpp:243 toplevel.cpp:763 +msgid "Grouping" +msgstr "" + +#: instritem.cpp:106 sourceitem.cpp:86 +msgid "Active call to '%1'" +msgstr "" + +#: instritem.cpp:108 sourceitem.cpp:88 msgid "" -"<p>...that the Coverage tab - in contrast to the Call Lists tab -\n" -"shows <em>all</em> functions that are calling the selected function\n" -"(upper part) / are called by the selected function (bottom part),\n" -"no matter how many function are between them on the stack?</p>\n" -"<p>Examples:</p>\n" -"<p>An entry in the upper list for function foo1() with a value of 50%\n" -"with function bar() selected means that 50% of all the cost of function\n" -"bar() happened while called from function foo1().</p>\n" -"<p>An entry in the bottom list for function foo2() with a value of 50%\n" -"with function bar() selected means that 50% of all the cost of function\n" -"bar() happened while calling foo2() from bar().</p>\n" +"_n: %n call to '%1'\n" +"%n calls to '%1'" msgstr "" -#: tips.txt:102 +#: instritem.cpp:137 +msgid "Jump %1 of %2 times to 0x%3" +msgstr "" + +#: instritem.cpp:142 +msgid "Jump %1 times to 0x%2" +msgstr "" + +#: instritem.cpp:185 sourceitem.cpp:169 +msgid "(cycle)" +msgstr "" + +#: dumpselectionbase.ui:906 instrview.cpp:125 sourceview.cpp:50 +#, no-c-format +msgid "#" +msgstr "" + +#: instrview.cpp:129 +msgid "Hex" +msgstr "" + +#: instrview.cpp:131 tabview.cpp:313 +msgid "Assembler" +msgstr "" + +#: instrview.cpp:132 +msgid "Source Position" +msgstr "" + +#: instrview.cpp:163 msgid "" -"<p>...that waiting for the tool tip inside of a tree map\n" -"shows the list of names of the nested rectangles the mouse\n" -"pointer is over?</p>\n" -"<p>Items from this list can be selected by pressing the right\n" -"mouse button.</p>\n" +"<b>Annotated Assembler</b><p>The annotated assembler list shows the machine " +"code instructions of the current selected function together with (self) cost " +"spent while executing an instruction. If this is a call instruction, lines " +"with details on the call happening are inserted into the source: the cost " +"spent inside of the call, the number of calls happening, and the call " +"destination.</p><p>The disassembler output shown is generated with the " +"'objdump' utility from the 'binutils' package.</p><p>Select a line with call " +"information to make the destination function of this call current.</p>" +msgstr "" + +#: instrview.cpp:195 +#, c-format +msgid "Go to Address %1" +msgstr "" + +#: instrview.cpp:207 +msgid "Hex Code" +msgstr "" + +#: instrview.cpp:426 +msgid "There is no instruction info in the profile data file." +msgstr "" + +#: instrview.cpp:428 +msgid "For the Valgrind Calltree Skin, rerun with option" +msgstr "" + +#: instrview.cpp:429 +msgid " --dump-instr=yes" +msgstr "" + +#: instrview.cpp:430 +msgid "To see (conditional) jumps, additionally specify" +msgstr "" + +#: instrview.cpp:431 +msgid " --trace-jump=yes" +msgstr "" + +#: instrview.cpp:629 +msgid "There is an error trying to execute the command" +msgstr "" + +#: instrview.cpp:634 instrview.cpp:900 +msgid "Check that you have installed 'objdump'." +msgstr "" + +#: instrview.cpp:636 instrview.cpp:902 +msgid "This utility can be found in the 'binutils' package." +msgstr "" + +#: instrview.cpp:739 +msgid "(No Assembler)" msgstr "" -#: tips.txt:111 +#: instrview.cpp:875 +#, c-format msgid "" -"<p>...that you can constrain the cost counts shown to only a\n" -"few parts of the whole trace by selecting these parts in the\n" -"\"Trace Selection\" Dockable?</p>\n" -"<p>To generate multiple parts in a profiling run with\n" -"cachegrind, use e.g. option --cachedumps=xxx for parts\n" -"of a length of xxx basic blocks (A basic block is a run\n" -"of not-branching assembler statements inside of your program\n" -"code).</p>\n" +"_n: There is %n cost line without assembler code.\n" +"There are %n cost lines without assembler code." +msgstr "" + +#: instrview.cpp:877 +msgid "This happens because the code of" +msgstr "" + +#: instrview.cpp:880 +msgid "does not seem to match the profile data file." +msgstr "" + +#: instrview.cpp:883 +msgid "Are you using an old profile data file or is the above mentioned" +msgstr "" + +#: instrview.cpp:885 +msgid "ELF object from an updated installation/another machine?" +msgstr "" + +#: instrview.cpp:893 +msgid "There seems to be an error trying to execute the command" +msgstr "" + +#: instrview.cpp:898 +msgid "Check that the ELF object used in the command exists." msgstr "" #: main.cpp:38 @@ -973,366 +976,374 @@ msgstr "" msgid "Author/Maintainer" msgstr "" -#: coverageitem.cpp:65 coverageitem.cpp:205 functionitem.cpp:72 +#: partgraph.cpp:167 #, c-format -msgid "" -"_n: (%n function skipped)\n" -"(%n functions skipped)" +msgid "Profile Part %1" msgstr "" -#: costlistitem.cpp:60 -#, c-format -msgid "" -"_n: (%n item skipped)\n" -"(%n items skipped)" +#: partgraph.cpp:226 +msgid "(no trace)" msgstr "" -#: _translatorinfo.cpp:1 -msgid "" -"_: NAME OF TRANSLATORS\n" -"Your names" +#: partgraph.cpp:229 +msgid "(no part)" msgstr "" -#: _translatorinfo.cpp:3 -msgid "" -"_: EMAIL OF TRANSLATORS\n" -"Your emails" +#: partgraph.cpp:423 tracedata.cpp:249 tracedata.cpp:254 tracedata.cpp:2824 +#: tracedata.cpp:3241 tracedata.cpp:3327 tracedata.cpp:4165 tracedata.cpp:4173 +#: tracedata.cpp:4238 +msgid "(unknown)" msgstr "" -#: callmapview.cpp:98 -msgid "" -"<b>Caller Map</b>" -"<p>This graph shows the nested hierarchy of all callers of the current " -"activated function. Each colored rectangle represents a function; its size " -"tries to be proportional to the cost spent therein while the active function is " -"running (however, there are drawing constrains).</p>" +#: partlistitem.cpp:49 +msgid " (Thread %1)" msgstr "" -#: callmapview.cpp:105 -msgid "" -"<b>Call Map</b>" -"<p>This graph shows the nested hierarchy of all callees of the current " -"activated function. Each colored rectangle represents a function; its size " -"tries to be proportional to the cost spent therein while the active function is " -"running (however, there are drawing constrains).</p>" +#: partlistitem.cpp:56 +msgid "(none)" msgstr "" -#: callmapview.cpp:113 -msgid "" -"<p>Appearance options can be found in the in the context menu. To get exact " -"size proportions, choose 'Hide incorrect borders'. As this mode can be <em>" -"very</em> time consuming, you may want to limit the maximum drawn nesting level " -"before. 'Best' determinates the split direction for children from the aspect " -"ratio of the parent. 'Always Best' decides on remaining space for each sibling. " -"'Ignore Proportions' takes space for function name drawing <em>before</em> " -"drawing children. Note that size proportions can get <em>heavily</em> wrong.</p>" -"<p>This is a <em>TreeMap</em> widget. Keyboard navigation is available with the " -"left/right arrow keys for traversing siblings, and up/down arrow keys to go a " -"nesting level up/down. <em>Return</em> activates the current item.</p>" +#: partselection.cpp:151 +msgid "Profile Part Overview: Current is '%1'" msgstr "" -#: callmapview.cpp:167 -msgid "Go To" +#: partselection.cpp:287 +msgid "Deselect" msgstr "" -#: callmapview.cpp:184 -msgid "Stop at Depth" +#: partselection.cpp:287 partselection.cpp:311 +msgid "Select" msgstr "" -#: callmapview.cpp:187 treemap.cpp:3101 -msgid "No Depth Limit" +#: partselection.cpp:292 +msgid "Select All Parts" msgstr "" -#: callmapview.cpp:190 -msgid "Depth 10" +#: partselection.cpp:294 +msgid "Visible Parts" msgstr "" -#: callmapview.cpp:192 -msgid "Depth 15" +#: partselection.cpp:296 +msgid "Hide Selected Parts" msgstr "" -#: callmapview.cpp:194 -msgid "Depth 20" +#: partselection.cpp:297 +msgid "Unhide Hidden Parts" msgstr "" -#: callmapview.cpp:198 treemap.cpp:3107 -msgid "Depth of '%1' (%2)" +#: partselection.cpp:302 toplevel.cpp:1687 +msgid "Go Back" msgstr "" -#: callmapview.cpp:204 -msgid "Decrement Depth (to %1)" +#: partselection.cpp:322 +msgid "Partitioning Mode" msgstr "" -#: callmapview.cpp:205 -msgid "Increment Depth (to %1)" +#: partselection.cpp:323 +msgid "Diagram Mode" msgstr "" -#: callmapview.cpp:209 -msgid "Stop at Function" +#: partselection.cpp:324 +msgid "Zoom Function" msgstr "" -#: callmapview.cpp:210 -msgid "No Function Limit" +#: partselection.cpp:325 +msgid "Show Direct Calls" msgstr "" -#: callmapview.cpp:240 -msgid "Stop at Area" +#: partselection.cpp:326 +msgid "Increment Shown Call Levels" msgstr "" -#: callmapview.cpp:243 treemap.cpp:3039 -msgid "No Area Limit" +#: partselection.cpp:340 +msgid "Draw Names" msgstr "" -#: callmapview.cpp:246 -msgid "50 Pixels" +#: partselection.cpp:341 +msgid "Draw Costs" msgstr "" -#: callmapview.cpp:248 -msgid "100 Pixels" +#: partselection.cpp:343 +msgid "Draw Frames" msgstr "" -#: callmapview.cpp:250 -msgid "200 Pixels" +#: partselection.cpp:359 +msgid "Hide Info" msgstr "" -#: callmapview.cpp:252 -msgid "500 Pixels" +#: partselection.cpp:361 +msgid "Show Info" msgstr "" -#: callmapview.cpp:258 treemap.cpp:3045 -msgid "Area of '%1' (%2)" +#: partselection.cpp:541 +msgid "(no trace loaded)" msgstr "" -#: callmapview.cpp:264 treemap.cpp:3071 -msgid "Double Area Limit (to %1)" +#: partview.cpp:46 tracedata.cpp:179 +msgid "Profile Part" msgstr "" -#: callmapview.cpp:266 -msgid "Half Area Limit (to %1)" +#: partview.cpp:51 +msgid "Comment" msgstr "" -#: callmapview.cpp:273 -msgid "Visualisation" +#: partview.cpp:73 +msgid "" +"<b>Trace Part List</b><p>This list shows all trace parts of the loaded " +"trace. For each part, the self/inclusive cost of the current selected " +"function, spent in the part, is shown; percentage costs are always relative " +"to the total cost <em>of the part</em> (not to the whole trace as in the " +"Trace Part Overview). Also shown are the calls happening to/from the current " +"function inside of the trace part.</p><p>By choosing one or more trace parts " +"from the list, the costs shown all over KCachegrind will only be the ones " +"spent in the selected part(s). If no list selection is shown, in fact all " +"trace parts are selected implicitly.</p><p>This is a multi-selection list. " +"You can select ranges by dragging the mouse or use SHIFT/CTRL modifiers. " +"Selection/Deselection of trace parts can also be done by using the Trace " +"Part Overview Dockable. This one also supports multiple selection.</" +"p><p>Note that the list is hidden if only one trace part is loaded.</p>" msgstr "" -#: callmapview.cpp:277 -msgid "Split Direction" +#: partview.cpp:106 +msgid "Select '%1'" msgstr "" -#: callmapview.cpp:279 -msgid "Skip Incorrect Borders" +#: partview.cpp:107 +msgid "Hide '%1'" msgstr "" -#: callmapview.cpp:284 -msgid "Border Width" +#: partview.cpp:111 +msgid "Hide Selected" msgstr "" -#: callmapview.cpp:285 -msgid "Border 0" +#: partview.cpp:112 +msgid "Show All" msgstr "" -#: callmapview.cpp:288 -msgid "Border 1" +#: sourceitem.cpp:125 +msgid "Jump %1 of %2 times to %3" msgstr "" -#: callmapview.cpp:290 -msgid "Border 2" +#: sourceitem.cpp:130 +msgid "Jump %1 times to %2" msgstr "" -#: callmapview.cpp:292 -msgid "Border 3" +#: sourceview.cpp:54 sourceview.cpp:554 +msgid "Source (unknown)" msgstr "" -#: callmapview.cpp:297 -msgid "Draw Symbol Names" +#: sourceview.cpp:89 +msgid "" +"<b>Annotated Source</b><p>The annotated source list shows the source lines " +"of the current selected function together with (self) cost spent while " +"executing the code of this source line. If there was a call in a source " +"line, lines with details on the call happening are inserted into the source: " +"the cost spent inside of the call, the number of calls happening, and the " +"call destination.</p><p>Select a inserted call information line to make the " +"destination function current.</p>" msgstr "" -#: callmapview.cpp:298 -msgid "Draw Cost" +#: sourceview.cpp:120 +#, c-format +msgid "Go to Line %1" msgstr "" -#: callmapview.cpp:299 -msgid "Draw Location" +#: sourceview.cpp:293 +msgid "(No Source)" msgstr "" -#: callmapview.cpp:300 -msgid "Draw Calls" +#: sourceview.cpp:512 +msgid "There is no cost of current selected type associated" msgstr "" -#: callmapview.cpp:303 partselection.cpp:342 -msgid "Ignore Proportions" +#: sourceview.cpp:514 +msgid "with any source line of this function in file" msgstr "" -#: callmapview.cpp:304 partselection.cpp:344 treemap.cpp:2887 -msgid "Allow Rotation" +#: sourceview.cpp:518 +msgid "Thus, no annotated source can be shown." msgstr "" -#: callmapview.cpp:321 treemap.cpp:2889 -msgid "Shading" +#: sourceview.cpp:553 +msgid "Source ('%1')" msgstr "" -#: callmapview.cpp:431 -msgid "Call Map: Current is '%1'" +#: sourceview.cpp:559 +msgid "--- Inlined from '%1' ---" msgstr "" -#: callmapview.cpp:599 -msgid "(no function)" +#: sourceview.cpp:560 +msgid "--- Inlined from unknown source ---" msgstr "" -#: callmapview.cpp:741 callmapview.cpp:858 -msgid "(no call)" +#: sourceview.cpp:565 +msgid "There is no source available for the following function:" msgstr "" -#: instritem.cpp:106 sourceitem.cpp:86 -msgid "Active call to '%1'" +#: sourceview.cpp:570 +msgid "This is because no debug information is present." msgstr "" -#: instritem.cpp:108 sourceitem.cpp:88 -msgid "" -"_n: %n call to '%1'\n" -"%n calls to '%1'" +#: sourceview.cpp:572 +msgid "Recompile source and redo the profile run." msgstr "" -#: sourceitem.cpp:125 -msgid "Jump %1 of %2 times to %3" +#: sourceview.cpp:575 +msgid "The function is located in this ELF object:" msgstr "" -#: sourceitem.cpp:130 -msgid "Jump %1 times to %2" +#: sourceview.cpp:583 +msgid "This is because its source file cannot be found:" msgstr "" -#: instritem.cpp:185 sourceitem.cpp:169 -msgid "(cycle)" +#: sourceview.cpp:587 +msgid "Add the folder of this file to the source folder list." msgstr "" -#: costtypeview.cpp:42 -msgid "Event Type" +#: sourceview.cpp:589 +msgid "The list can be found in the configuration dialog." msgstr "" -#: costtypeview.cpp:45 -msgid "Short" +#: tabview.cpp:64 +msgid "Move to Top" msgstr "" -#: costtypeview.cpp:47 -msgid "Formula" +#: tabview.cpp:65 tabview.cpp:91 +msgid "Top" msgstr "" -#: costtypeview.cpp:81 -msgid "" -"<b>Cost Types List</b>" -"<p>This list shows all cost types available and what the self/inclusive cost of " -"the current selected function is for that cost type.</p>" -"<p>By choosing a cost type from the list, you change the cost type of costs " -"shown all over KCachegrind to be the selected one.</p>" +#: tabview.cpp:68 +msgid "Move to Right" msgstr "" -#: costtypeview.cpp:98 -msgid "Set Secondary Event Type" +#: tabview.cpp:69 tabview.cpp:92 +msgid "Right" msgstr "" -#: costtypeview.cpp:100 -msgid "Remove Secondary Event Type" +#: tabview.cpp:72 +msgid "Move to Bottom" msgstr "" -#: costtypeview.cpp:105 -msgid "Edit Long Name" +#: tabview.cpp:73 tabview.cpp:93 +msgid "Bottom" msgstr "" -#: costtypeview.cpp:106 -msgid "Edit Short Name" +#: tabview.cpp:76 +msgid "Move to Bottom Left" msgstr "" -#: costtypeview.cpp:107 -msgid "Edit Formula" +#: tabview.cpp:77 tabview.cpp:94 treemap.cpp:2908 +msgid "Bottom Left" msgstr "" -#: costtypeview.cpp:115 -msgid "New Cost Type ..." +#: tabview.cpp:79 +msgid "Move Area To" msgstr "" -#: costtypeview.cpp:149 costtypeview.cpp:154 -#, c-format -msgid "New%1" +#: tabview.cpp:81 +msgid "Hide This Tab" msgstr "" -#: costtypeview.cpp:155 -#, c-format -msgid "New Cost Type %1" +#: tabview.cpp:82 +msgid "Hide Area" msgstr "" -#: callview.cpp:45 instrview.cpp:127 sourceview.cpp:52 -msgid "Cost 2" +#: tabview.cpp:95 +msgid "Show Hidden On" msgstr "" -#: callview.cpp:47 callview.cpp:51 -msgid "Count" +#: tabview.cpp:242 +msgid "(No profile data file loaded)" msgstr "" -#: callview.cpp:48 coverageview.cpp:50 -msgid "Caller" +#: tabview.cpp:281 +msgid "Types" msgstr "" -#: callview.cpp:52 coverageview.cpp:56 -msgid "Callee" +#: tabview.cpp:284 +msgid "Callers" msgstr "" -#: callview.cpp:85 -msgid "" -"<b>List of direct Callers</b>" -"<p>This list shows all functions calling the current selected one directly, " -"together with a call count and the cost spent in the current selected function " -"while being called from the function from the list.</p>" -"<p>An icon instead of an inclusive cost specifies that this is a call inside of " -"a recursive cycle. An inclusive cost makes no sense here.</p>" -"<p>Selecting a function makes it the current selected one of this information " -"panel. If there are two panels (Split mode), the function of the other panel is " -"changed instead.</p>" +#: tabview.cpp:287 +msgid "All Callers" msgstr "" -#: callview.cpp:98 +#: tabview.cpp:290 +msgid "Caller Map" +msgstr "" + +#: tabview.cpp:293 +msgid "Source" +msgstr "" + +#: tabview.cpp:297 +msgid "Parts" +msgstr "" + +#: tabview.cpp:300 +msgid "Call Graph" +msgstr "" + +#: tabview.cpp:303 +msgid "Callees" +msgstr "" + +#: tabview.cpp:306 +msgid "All Callees" +msgstr "" + +#: tabview.cpp:310 +msgid "Callee Map" +msgstr "" + +#: tabview.cpp:553 msgid "" -"<b>List of direct Callees</b>" -"<p>This list shows all functions called by the current selected one directly, " -"together with a call count and the cost spent in this function while being " -"called from the selected function.</p>" -"<p>Selecting a function makes it the current selected one of this information " -"panel. If there are two panels (Split mode), the function of the other panel is " -"changed instead.</p>" +"<b>Information Tabs</b><p>This widget shows information for the current " +"selected function in different tabs: <ul><li>The Costs tab shows a list of " +"available event types and the inclusive and self costs regarding to these " +"types.</li><li>The Parts tab shows a list of trace parts if the trace " +"consists of more than one part (otherwise, this tab is hided). The cost of " +"the selected function spent in the different parts together with the calls " +"happening is shown.</li><li>The Call Lists tab shows direct callers and " +"callees of the function in more detail.</li><li>The Coverage tab shows the " +"same is the Call Lists tab, but not only direct callers and callees but also " +"indirect ones.</li><li>The Call Graph tab shows a graphical visualization of " +"the calls done by this function.</li><li>The Source tab presents annotated " +"source code if debugging information and the source file is available.</" +"li><li>The Assembler tab presents annotated assembler code if trace " +"information on instruction level is available.</li></ul>For more " +"information, see the <em>What's This?</em> help of the corresponding tab " +"widget</p>" msgstr "" -#: callgraphview.cpp:2396 callgraphview.cpp:2400 callgraphview.cpp:2418 -#: callview.cpp:123 callview.cpp:128 coverageview.cpp:166 instrview.cpp:191 -#: sourceview.cpp:116 -msgid "Go to '%1'" +#: tabview.cpp:630 +msgid "(No Data loaded)" msgstr "" -#: cachegrindloader.cpp:141 -msgid "Import filter for Cachegrind/Callgrind generated profile data files" +#: tabview.cpp:631 +msgid "(No function selected)" msgstr "" -#: cachegrindloader.cpp:738 -#, c-format -msgid "Loading %1" +#: partselectionbase.ui:16 toplevel.cpp:276 toplevel.cpp:576 +#, no-c-format +msgid "Parts Overview" msgstr "" #: toplevel.cpp:283 msgid "" -"<b>The Parts Overview</b>" -"<p>A trace consists of multiple trace parts when there are several profile data " -"files from one profile run. The Trace Part Overview dockable shows these, " -"horizontally ordered in execution time; the rectangle sizes are proportional to " -"the total cost spent in the parts. You can select one or several parts to " -"constrain all costs shown to these parts only.</p>" -"<p>The parts are further subdivided: there is a partitioning and an callee " -"split mode: " -"<ul>" -"<li>Partitioning: You see the partitioning into groups for a trace part, " -"according to the group type selected. E.g. if ELF object groups are selected, " -"you see colored rectangles for each used ELF object (shared library or " -"executable), sized according to the cost spent therein.</li>" -"<li>Callee: A rectangle showing the inclusive cost of the current selected " -"function in the trace part is shown. This is split up into smaller rectangles " -"to show the costs of its callees.</li></ul></p>" +"<b>The Parts Overview</b><p>A trace consists of multiple trace parts when " +"there are several profile data files from one profile run. The Trace Part " +"Overview dockable shows these, horizontally ordered in execution time; the " +"rectangle sizes are proportional to the total cost spent in the parts. You " +"can select one or several parts to constrain all costs shown to these parts " +"only.</p><p>The parts are further subdivided: there is a partitioning and an " +"callee split mode: <ul><li>Partitioning: You see the partitioning into " +"groups for a trace part, according to the group type selected. E.g. if ELF " +"object groups are selected, you see colored rectangles for each used ELF " +"object (shared library or executable), sized according to the cost spent " +"therein.</li><li>Callee: A rectangle showing the inclusive cost of the " +"current selected function in the trace part is shown. This is split up into " +"smaller rectangles to show the costs of its callees.</li></ul></p>" msgstr "" #: toplevel.cpp:313 @@ -1341,12 +1352,11 @@ msgstr "" #: toplevel.cpp:315 msgid "" -"<b>The Top Cost Call Stack</b>" -"<p>This is a purely fictional 'most probable' call stack. It is built up by " -"starting with the current selected function and adds the callers/callees with " -"highest cost at the top and to bottom.</p>" -"<p>The <b>Cost</b> and <b>Calls</b> columns show the cost used for all calls " -"from the function in the line above.</p>" +"<b>The Top Cost Call Stack</b><p>This is a purely fictional 'most probable' " +"call stack. It is built up by starting with the current selected function " +"and adds the callers/callees with highest cost at the top and to bottom.</" +"p><p>The <b>Cost</b> and <b>Calls</b> columns show the cost used for all " +"calls from the function in the line above.</p>" msgstr "" #: toplevel.cpp:328 @@ -1355,42 +1365,38 @@ msgstr "" #: toplevel.cpp:338 msgid "" -"<b>The Flat Profile</b>" -"<p>The flat profile contains a group and a function selection list. The group " -"list contains all groups where costs are spent in, depending on the chosen " -"group type. The group list is hidden when group type 'Function' is selected." -"<p>" -"<p>The function list contains the functions of the selected group (or all for " -"'Function' group type), ordered by the costs spent therein. Functions with " -"costs less than 1% are hidden on default.</p>" +"<b>The Flat Profile</b><p>The flat profile contains a group and a function " +"selection list. The group list contains all groups where costs are spent in, " +"depending on the chosen group type. The group list is hidden when group type " +"'Function' is selected.<p><p>The function list contains the functions of the " +"selected group (or all for 'Function' group type), ordered by the costs " +"spent therein. Functions with costs less than 1% are hidden on default.</p>" +msgstr "" + +#: dumpselectionbase.ui:16 toplevel.cpp:352 toplevel.cpp:604 +#, no-c-format +msgid "Profile Dumps" msgstr "" #: toplevel.cpp:362 msgid "" -"<b>Profile Dumps</b>" -"<p>This dockable shows in the top part the list of loadable profile dumps in " -"all subdirectories of: " -"<ul>" -"<li>current working directory of KCachegrind, i.e. where it was started from, " -"and " -"<li>the default profile dump directory given in the configuration.</ul> " -"The list is sorted according the the target command profiled in the " -"corresponding dump.</p>" -"<p>On selecting a profile dump, information for it is shown in the bottom area " -"of the dockable: " -"<ul>" -"<li><b>Options</b> allows you to view the profiled command and profile options " -"of this dump. By changing any item, a new (yet unexisting) profile template is " -"created. Press <b>Run Profile</b> to start aprofile run with these options in " -"the background. " -"<li><b>Info</b> gives detailed info on the selected dump like event cost " -"summary and properties of the simulated cache. " -"<li><b>State</b> is only available for current happening profiles runs. Press " -"<b>Update</b> to see different counters of the run, and a stack trace of the " -"current position in the program profiled. Check the <b>Every</b> " -"option to let KCachegrind regularly poll these data. Check the <b>Sync</b> " -"option to let the dockable activate the top function in the current loaded " -"dump.</ul></p>" +"<b>Profile Dumps</b><p>This dockable shows in the top part the list of " +"loadable profile dumps in all subdirectories of: <ul><li>current working " +"directory of KCachegrind, i.e. where it was started from, and <li>the " +"default profile dump directory given in the configuration.</ul> The list is " +"sorted according the the target command profiled in the corresponding dump.</" +"p><p>On selecting a profile dump, information for it is shown in the bottom " +"area of the dockable: <ul><li><b>Options</b> allows you to view the profiled " +"command and profile options of this dump. By changing any item, a new (yet " +"unexisting) profile template is created. Press <b>Run Profile</b> to start " +"aprofile run with these options in the background. <li><b>Info</b> gives " +"detailed info on the selected dump like event cost summary and properties of " +"the simulated cache. <li><b>State</b> is only available for current " +"happening profiles runs. Press <b>Update</b> to see different counters of " +"the run, and a stack trace of the current position in the program profiled. " +"Check the <b>Every</b> option to let KCachegrind regularly poll these data. " +"Check the <b>Sync</b> option to let the dockable activate the top function " +"in the current loaded dump.</ul></p>" msgstr "" #: toplevel.cpp:450 @@ -1399,14 +1405,17 @@ msgstr "" #: toplevel.cpp:454 msgid "" -"<b>Duplicate Current Layout</b>" -"<p>Make a copy of the current layout.</p>" +"<b>Duplicate Current Layout</b><p>Make a copy of the current layout.</p>" +msgstr "" + +#: toplevel.cpp:458 +msgid "&Remove" msgstr "" #: toplevel.cpp:461 msgid "" -"<b>Remove Current Layout</b>" -"<p>Delete current layout and make the previous active.</p>" +"<b>Remove Current Layout</b><p>Delete current layout and make the previous " +"active.</p>" msgstr "" #: toplevel.cpp:465 @@ -1451,8 +1460,12 @@ msgstr "" #: toplevel.cpp:505 msgid "" -"<b>Add Profile Data</b>" -"<p>This opens an additional profile data file in the current window.</p>" +"<b>Add Profile Data</b><p>This opens an additional profile data file in the " +"current window.</p>" +msgstr "" + +#: toplevel.cpp:509 +msgid "&Reload" msgstr "" #: toplevel.cpp:517 @@ -1465,9 +1478,8 @@ msgstr "" #: toplevel.cpp:525 msgid "" -"<b>Export Call Graph</b>" -"<p>Generates a file with extension .dot for the tools of the GraphViz " -"package.</p>" +"<b>Export Call Graph</b><p>Generates a file with extension .dot for the " +"tools of the GraphViz package.</p>" msgstr "" #: toplevel.cpp:531 @@ -1476,27 +1488,26 @@ msgstr "" #: toplevel.cpp:540 msgid "" -"<b>Force Dump</b>" -"<p>This forces a dump for a Callgrind profile run in the current directory. " -"This action is checked while KCachegrind looks for the dump. If the dump is " -"finished, it automatically reloads the current trace. If this is the one from " -"the running Callgrind, the new created trace part will be loaded, too.</p>" -"<p>Force dump creates a file 'callgrind.cmd', and checks every second for its " -"existence. A running Callgrind will detect this file, dump a trace part, and " -"delete 'callgrind.cmd'. The deletion is detected by KCachegrind, and it does a " -"Reload. If there's <em>no</em> Callgrind running, press 'Force Dump' again to " -"cancel the dump request. This deletes 'callgrind.cmd' itself and stops polling " -"for a new dump.</p>" -"<p>Note: A Callgrind run <em>only</em> detects existence of 'callgrind.cmd' " -"when actively running a few milliseconds, i.e. <em>not</em> " -"sleeping. Tip: For a profiled GUI program, you can awake Callgrind e.g. by " -"resizing a window of the program.</p>" +"<b>Force Dump</b><p>This forces a dump for a Callgrind profile run in the " +"current directory. This action is checked while KCachegrind looks for the " +"dump. If the dump is finished, it automatically reloads the current trace. " +"If this is the one from the running Callgrind, the new created trace part " +"will be loaded, too.</p><p>Force dump creates a file 'callgrind.cmd', and " +"checks every second for its existence. A running Callgrind will detect this " +"file, dump a trace part, and delete 'callgrind.cmd'. The deletion is " +"detected by KCachegrind, and it does a Reload. If there's <em>no</em> " +"Callgrind running, press 'Force Dump' again to cancel the dump request. This " +"deletes 'callgrind.cmd' itself and stops polling for a new dump.</p><p>Note: " +"A Callgrind run <em>only</em> detects existence of 'callgrind.cmd' when " +"actively running a few milliseconds, i.e. <em>not</em> sleeping. Tip: For a " +"profiled GUI program, you can awake Callgrind e.g. by resizing a window of " +"the program.</p>" msgstr "" #: toplevel.cpp:565 msgid "" -"<b>Open Profile Data</b>" -"<p>This opens a profile data file, with possible multiple parts</p>" +"<b>Open Profile Data</b><p>This opens a profile data file, with possible " +"multiple parts</p>" msgstr "" #: toplevel.cpp:581 @@ -1511,6 +1522,11 @@ msgstr "" msgid "Show/Hide the Call Stack Dockable" msgstr "" +#: functionselectionbase.ui:16 toplevel.cpp:594 +#, no-c-format +msgid "Function Profile" +msgstr "" + #: toplevel.cpp:599 msgid "Show/Hide the Function Profile Dockable" msgstr "" @@ -1541,29 +1557,16 @@ msgstr "" #: toplevel.cpp:638 msgid "" -"<b>Show percentage costs relative to parent</b>" -"<p>If this is switched off, percentage costs are always shown relative to the " -"total cost of the profile part(s) that are currently browsed. By turning on " -"this option, percentage cost of shown cost items will be relative to the parent " -"cost item." -"<ul>" -"<table>" -"<tr>" -"<td><b>Cost Type</td>" -"<td><b>Parent Cost</td></tr>" -"<tr>" -"<td>Function Cumulative</td>" -"<td>Total</td></tr>" -"<tr>" -"<td>Function Self</td>" -"<td>Function Group (*) / Total</td></tr>" -"<tr>" -"<td>Call</td>" -"<td>Function Cumulative</td></tr>" -"<tr>" -"<td>Source Line</td>" -"<td>Function Cumulative</td></tr></table>" -"<p>(*) Only if function grouping is switched on (e.g. ELF object grouping)." +"<b>Show percentage costs relative to parent</b><p>If this is switched off, " +"percentage costs are always shown relative to the total cost of the profile " +"part(s) that are currently browsed. By turning on this option, percentage " +"cost of shown cost items will be relative to the parent cost item." +"<ul><table><tr><td><b>Cost Type</td><td><b>Parent Cost</td></" +"tr><tr><td>Function Cumulative</td><td>Total</td></tr><tr><td>Function Self</" +"td><td>Function Group (*) / Total</td></tr><tr><td>Call</td><td>Function " +"Cumulative</td></tr><tr><td>Source Line</td><td>Function Cumulative</td></" +"tr></table><p>(*) Only if function grouping is switched on (e.g. ELF object " +"grouping)." msgstr "" #: toplevel.cpp:653 @@ -1576,17 +1579,16 @@ msgstr "" #: toplevel.cpp:662 msgid "" -"<b>Detect recursive cycles</b>" -"<p>If this is switched off, the treemap drawing will show black areas when a " -"recursive call is made instead of drawing the recursion ad infinitum. Note that " -"the size of black areas often will be wrong, as inside recursive cycles the " -"cost of calls cannot be determined; the error is small, however, for false " -"cycles (see documentation)." -"<p>The correct handling for cycles is to detect them and collapse all functions " -"of a cycle into a virtual function, which is done when this option is selected. " -"Unfortunately, with GUI applications, this often will lead to huge false " -"cycles, making the analysis impossible; therefore, there is the option to " -"switch this off." +"<b>Detect recursive cycles</b><p>If this is switched off, the treemap " +"drawing will show black areas when a recursive call is made instead of " +"drawing the recursion ad infinitum. Note that the size of black areas often " +"will be wrong, as inside recursive cycles the cost of calls cannot be " +"determined; the error is small, however, for false cycles (see " +"documentation).<p>The correct handling for cycles is to detect them and " +"collapse all functions of a cycle into a virtual function, which is done " +"when this option is selected. Unfortunately, with GUI applications, this " +"often will lead to huge false cycles, making the analysis impossible; " +"therefore, there is the option to switch this off." msgstr "" #: toplevel.cpp:684 toplevel.cpp:724 @@ -1599,9 +1601,8 @@ msgstr "" #: toplevel.cpp:696 toplevel.cpp:710 msgid "" -"<b>Go Up</b>" -"<p>Go to last selected caller of current function. If no caller was visited, " -"use that with highest cost.</p>" +"<b>Go Up</b><p>Go to last selected caller of current function. If no caller " +"was visited, use that with highest cost.</p>" msgstr "" #: toplevel.cpp:702 @@ -1624,18 +1625,10 @@ msgstr "" msgid "Select secondary event type for cost e.g. shown in annotations" msgstr "" -#: functionselection.cpp:243 toplevel.cpp:763 -msgid "Grouping" -msgstr "" - #: toplevel.cpp:766 msgid "Select how functions are grouped into higher level cost items" msgstr "" -#: functionselection.cpp:52 toplevel.cpp:772 -msgid "(No Grouping)" -msgstr "" - #: toplevel.cpp:782 msgid "Split" msgstr "" @@ -1690,10 +1683,6 @@ msgstr "" msgid "Show Relative Cost" msgstr "" -#: partselection.cpp:302 toplevel.cpp:1687 -msgid "Go Back" -msgstr "" - #: toplevel.cpp:1688 msgid "Go Forward" msgstr "" @@ -1735,853 +1724,805 @@ msgstr "" msgid "(No Function Up)" msgstr "" -#: costtypeitem.cpp:56 -msgid "Unknown Type" -msgstr "" - -#: functionselection.cpp:176 -#, c-format -msgid "Go to %1" -msgstr "" - -#: functionselection.cpp:203 -msgid "Show All Items" -msgstr "" - -#: functionselection.cpp:226 -msgid "No Grouping" -msgstr "" - -#: sourceview.cpp:54 sourceview.cpp:554 -msgid "Source (unknown)" -msgstr "" - -#: sourceview.cpp:89 -msgid "" -"<b>Annotated Source</b>" -"<p>The annotated source list shows the source lines of the current selected " -"function together with (self) cost spent while executing the code of this " -"source line. If there was a call in a source line, lines with details on the " -"call happening are inserted into the source: the cost spent inside of the call, " -"the number of calls happening, and the call destination.</p>" -"<p>Select a inserted call information line to make the destination function " -"current.</p>" -msgstr "" - -#: sourceview.cpp:120 -#, c-format -msgid "Go to Line %1" -msgstr "" - -#: sourceview.cpp:293 -msgid "(No Source)" -msgstr "" - -#: sourceview.cpp:512 -msgid "There is no cost of current selected type associated" -msgstr "" - -#: sourceview.cpp:514 -msgid "with any source line of this function in file" -msgstr "" - -#: sourceview.cpp:518 -msgid "Thus, no annotated source can be shown." -msgstr "" - -#: sourceview.cpp:553 -msgid "Source ('%1')" -msgstr "" - -#: sourceview.cpp:559 -msgid "--- Inlined from '%1' ---" -msgstr "" - -#: sourceview.cpp:560 -msgid "--- Inlined from unknown source ---" -msgstr "" - -#: sourceview.cpp:565 -msgid "There is no source available for the following function:" -msgstr "" - -#: sourceview.cpp:570 -msgid "This is because no debug information is present." -msgstr "" - -#: sourceview.cpp:572 -msgid "Recompile source and redo the profile run." -msgstr "" - -#: sourceview.cpp:575 -msgid "The function is located in this ELF object:" -msgstr "" - -#: sourceview.cpp:583 -msgid "This is because its source file cannot be found:" -msgstr "" - -#: sourceview.cpp:587 -msgid "Add the folder of this file to the source folder list." -msgstr "" - -#: sourceview.cpp:589 -msgid "The list can be found in the configuration dialog." +#: tracedata.cpp:153 +msgid "Abstract Item" msgstr "" -#: configuration.cpp:67 -msgid "Instruction Fetch" +#: tracedata.cpp:154 +msgid "Cost Item" msgstr "" -#: configuration.cpp:68 -msgid "Data Read Access" +#: tracedata.cpp:155 +msgid "Part Source Line" msgstr "" -#: configuration.cpp:69 -msgid "Data Write Access" +#: tracedata.cpp:156 +msgid "Source Line" msgstr "" -#: configuration.cpp:70 -msgid "L1 Instr. Fetch Miss" +#: tracedata.cpp:157 +msgid "Part Line Call" msgstr "" -#: configuration.cpp:71 -msgid "L1 Data Read Miss" +#: tracedata.cpp:158 +msgid "Line Call" msgstr "" -#: configuration.cpp:72 -msgid "L1 Data Write Miss" +#: tracedata.cpp:159 +msgid "Part Jump" msgstr "" -#: configuration.cpp:73 -msgid "L2 Instr. Fetch Miss" +#: tracedata.cpp:160 +msgid "Jump" msgstr "" -#: configuration.cpp:74 -msgid "L2 Data Read Miss" +#: tracedata.cpp:161 +msgid "Part Instruction" msgstr "" -#: configuration.cpp:75 -msgid "L2 Data Write Miss" +#: tracedata.cpp:162 +msgid "Instruction" msgstr "" -#: configuration.cpp:76 -msgid "LL Instr. Fetch Miss" +#: tracedata.cpp:163 +msgid "Part Instruction Jump" msgstr "" -#: configuration.cpp:77 -msgid "LL Data Read Miss" +#: tracedata.cpp:164 +msgid "Instruction Jump" msgstr "" -#: configuration.cpp:78 -msgid "LL Data Write Miss" +#: tracedata.cpp:165 +msgid "Part Instruction Call" msgstr "" -#: configuration.cpp:79 -msgid "Samples" +#: tracedata.cpp:166 +msgid "Instruction Call" msgstr "" -#: configuration.cpp:80 -msgid "System Time" +#: tracedata.cpp:167 +msgid "Part Call" msgstr "" -#: configuration.cpp:81 -msgid "User Time" +#: tracedata.cpp:168 +msgid "Call" msgstr "" -#: configuration.cpp:82 -msgid "L1 Miss Sum" +#: tracedata.cpp:169 +msgid "Part Function" msgstr "" -#: configuration.cpp:83 -msgid "L2 Miss Sum" +#: tracedata.cpp:170 +msgid "Function Source File" msgstr "" -#: configuration.cpp:84 -msgid "LL Miss Sum" +#: dumpselectionbase.ui:300 dumpselectionbase.ui:939 +#: functionselectionbase.ui:136 stackselectionbase.ui:64 tracedata.cpp:171 +#, no-c-format +msgid "Function" msgstr "" -#: configuration.cpp:85 -msgid "Cycle Estimation" +#: tracedata.cpp:172 +msgid "Function Cycle" msgstr "" -#: configdlg.cpp:60 -msgid "Source Files" +#: tracedata.cpp:173 +msgid "Part Class" msgstr "" -#: configdlg.cpp:61 -msgid "C++ Classes" +#: tracedata.cpp:174 +msgid "Class" msgstr "" -#: configdlg.cpp:62 -msgid "Function (no Grouping)" +#: tracedata.cpp:175 +msgid "Part Source File" msgstr "" -#: configdlg.cpp:157 configdlg.cpp:350 configdlg.cpp:371 -msgid "(always)" +#: tracedata.cpp:176 +msgid "Source File" msgstr "" -#: configdlg.cpp:210 -msgid "KCachegrind Configuration" +#: tracedata.cpp:177 +msgid "Part ELF Object" msgstr "" -#: configdlg.cpp:211 -msgid "" -"The Maximum Number of List Items should be below 500.The previous set value " -"(%1) will still be used." +#: tracedata.cpp:178 +msgid "ELF Object" msgstr "" -#: configdlg.cpp:384 -msgid "Choose Source Folder" +#: tracedata.cpp:180 +msgid "Program Trace" msgstr "" -#: partview.cpp:51 -msgid "Comment" +#: tracedata.cpp:241 +msgid "%1 from %2" msgstr "" -#: partview.cpp:73 -msgid "" -"<b>Trace Part List</b>" -"<p>This list shows all trace parts of the loaded trace. For each part, the " -"self/inclusive cost of the current selected function, spent in the part, is " -"shown; percentage costs are always relative to the total cost <em>" -"of the part</em> (not to the whole trace as in the Trace Part Overview). Also " -"shown are the calls happening to/from the current function inside of the trace " -"part.</p>" -"<p>By choosing one or more trace parts from the list, the costs shown all over " -"KCachegrind will only be the ones spent in the selected part(s). If no list " -"selection is shown, in fact all trace parts are selected implicitly.</p>" -"<p>This is a multi-selection list. You can select ranges by dragging the mouse " -"or use SHIFT/CTRL modifiers. Selection/Deselection of trace parts can also be " -"done by using the Trace Part Overview Dockable. This one also supports multiple " -"selection.</p>" -"<p>Note that the list is hidden if only one trace part is loaded.</p>" +#: tracedata.cpp:2583 +msgid "(no caller)" msgstr "" -#: partview.cpp:106 -msgid "Select '%1'" +#: tracedata.cpp:2590 tracedata.cpp:2609 +msgid "%1 via %2" msgstr "" -#: partview.cpp:107 -msgid "Hide '%1'" +#: tracedata.cpp:2599 +msgid "(no callee)" msgstr "" -#: partview.cpp:111 -msgid "Hide Selected" +#: tracedata.cpp:4467 +msgid "(not found)" msgstr "" -#: partview.cpp:112 -msgid "Show All" +#: tracedata.cpp:5017 +msgid "Recalculating Function Cycles..." msgstr "" -#: callgraphview.cpp:306 -#, c-format -msgid "Call(s) from %1" +#: traceitemview.cpp:53 +msgid "No description available" msgstr "" -#: callgraphview.cpp:307 +#: treemap.cpp:1281 #, c-format -msgid "Call(s) to %1" -msgstr "" - -#: callgraphview.cpp:308 -msgid "(unknown call)" -msgstr "" - -#: callgraphview.cpp:1425 -msgid "" -"<b>Call Graph around active Function</b>" -"<p>Depending on configuration, this view shows the call graph environment of " -"the active function. Note: the shown cost is <b>only</b> " -"the cost which is spent while the active function was actually running; i.e. " -"the cost shown for main() - if it's visible - should be the same as the cost of " -"the active function, as that's the part of inclusive cost of main() spent while " -"the active function was running.</p>" -"<p>For cycles, blue call arrows indicate that this is an artificial call added " -"for correct drawing which actually never happened.</p>" -"<p>If the graph is larger than the widget area, an overview panner is shown in " -"one edge. There are similar visualization options to the Call Treemap; the " -"selected function is highlighted." -"<p>" -msgstr "" - -#: callgraphview.cpp:1789 -msgid "" -"Warning: a long lasting graph layouting is in progress.\n" -"Reduce node/edge limits for speedup.\n" +msgid "Text %1" msgstr "" -#: callgraphview.cpp:1792 -msgid "" -"Layouting stopped.\n" +#: treemap.cpp:2809 +msgid "Recursive Bisection" msgstr "" -#: callgraphview.cpp:1794 -msgid "" -"The call graph has %1 nodes and %2 edges.\n" +#: treemap.cpp:2810 +msgid "Columns" msgstr "" -#: callgraphview.cpp:1827 -msgid "No item activated for which to draw the call graph." +#: treemap.cpp:2811 +msgid "Rows" msgstr "" -#: callgraphview.cpp:1838 -msgid "No call graph can be drawn for the active item." +#: treemap.cpp:2812 +msgid "Always Best" msgstr "" -#: callgraphview.cpp:1867 -msgid "" -"No call graph is available because the following\n" -"command cannot be run:\n" -"'%1'\n" +#: treemap.cpp:2813 +msgid "Best" msgstr "" -#: callgraphview.cpp:1870 callgraphview.cpp:2199 -msgid "Please check that 'dot' is installed (package GraphViz)." +#: treemap.cpp:2814 +msgid "Alternate (V)" msgstr "" -#: callgraphview.cpp:2198 -msgid "" -"Error running the graph layouting tool.\n" +#: treemap.cpp:2815 +msgid "Alternate (H)" msgstr "" -#: callgraphview.cpp:2206 -msgid "" -"There is no call graph available for function\n" -"\t'%1'\n" -"because it has no cost of the selected event type." +#: treemap.cpp:2816 +msgid "Horizontal" msgstr "" -#: callgraphview.cpp:2427 -msgid "Stop Layouting" +#: treemap.cpp:2817 +msgid "Vertical" msgstr "" -#: callgraphview.cpp:2435 -msgid "As PostScript" +#: treemap.cpp:2872 +msgid "Nesting" msgstr "" -#: callgraphview.cpp:2436 -msgid "As Image ..." +#: treemap.cpp:2874 +msgid "Border" msgstr "" -#: callgraphview.cpp:2438 -msgid "Export Graph" +#: treemap.cpp:2875 +msgid "Correct Borders Only" msgstr "" -#: callgraphview.cpp:2443 callgraphview.cpp:2466 -msgid "Unlimited" +#: treemap.cpp:2877 treemap.cpp:2878 treemap.cpp:2879 treemap.cpp:2880 +#, c-format +msgid "Width %1" msgstr "" -#: callgraphview.cpp:2446 callgraphview.cpp:2469 -msgid "None" +#: treemap.cpp:2902 +msgid "Visible" msgstr "" -#: callgraphview.cpp:2447 callgraphview.cpp:2470 -msgid "max. 2" +#: treemap.cpp:2903 +msgid "Take Space From Children" msgstr "" -#: callgraphview.cpp:2448 callgraphview.cpp:2471 -msgid "max. 5" +#: treemap.cpp:2905 +msgid "Top Left" msgstr "" -#: callgraphview.cpp:2449 callgraphview.cpp:2472 -msgid "max. 10" +#: treemap.cpp:2906 +msgid "Top Center" msgstr "" -#: callgraphview.cpp:2450 callgraphview.cpp:2473 -msgid "max. 15" +#: treemap.cpp:2907 +msgid "Top Right" msgstr "" -#: callgraphview.cpp:2460 callgraphview.cpp:2483 -#, c-format -msgid "< %1" +#: treemap.cpp:2909 +msgid "Bottom Center" msgstr "" -#: callgraphview.cpp:2489 -msgid "No Minimum" +#: treemap.cpp:2910 +msgid "Bottom Right" msgstr "" -#: callgraphview.cpp:2493 -#, c-format -msgid "50 %" +#: treemap.cpp:2987 +msgid "No %1 Limit" msgstr "" -#: callgraphview.cpp:2494 +#: treemap.cpp:3056 treemap.cpp:3067 #, c-format -msgid "20 %" +msgid "" +"_n: 1 Pixel\n" +"%n Pixels" msgstr "" -#: callgraphview.cpp:2495 -#, c-format -msgid "10 %" +#: treemap.cpp:3073 +msgid "Halve Area Limit (to %1)" msgstr "" -#: callgraphview.cpp:2496 +#: treemap.cpp:3118 #, c-format -msgid "5 %" +msgid "Depth %1" msgstr "" -#: callgraphview.cpp:2497 -#, c-format -msgid "3 %" +#: treemap.cpp:3122 +msgid "Decrement (to %1)" msgstr "" -#: callgraphview.cpp:2498 -#, c-format -msgid "2 %" +#: treemap.cpp:3124 +msgid "Increment (to %1)" msgstr "" -#: callgraphview.cpp:2499 -#, c-format -msgid "1.5 %" +#: configdlgbase.ui:16 +#, no-c-format +msgid "Configuration" msgstr "" -#: callgraphview.cpp:2500 -#, c-format -msgid "1 %" +#: configdlgbase.ui:37 +#, no-c-format +msgid "General" msgstr "" -#: callgraphview.cpp:2516 -msgid "Same as Node" +#: configdlgbase.ui:69 +#, no-c-format +msgid "Truncated when more/longer than:" msgstr "" -#: callgraphview.cpp:2517 -#, c-format -msgid "50 % of Node" +#: configdlgbase.ui:77 +#, no-c-format +msgid "Precision of percentage values:" msgstr "" -#: callgraphview.cpp:2518 -#, c-format -msgid "20 % of Node" +#: configdlgbase.ui:85 +#, no-c-format +msgid "Symbols in tooltips and context menus" msgstr "" -#: callgraphview.cpp:2519 -#, c-format -msgid "10 % of Node" +#: configdlgbase.ui:141 +#, no-c-format +msgid "Maximum number of items in lists:" msgstr "" -#: callgraphview.cpp:2529 -msgid "Caller Depth" +#: configdlgbase.ui:162 +#, no-c-format +msgid "Cost Item Colors" msgstr "" -#: callgraphview.cpp:2530 -msgid "Callee Depth" +#: configdlgbase.ui:254 +#, no-c-format +msgid "Object:" msgstr "" -#: callgraphview.cpp:2531 -msgid "Min. Node Cost" +#: configdlgbase.ui:262 +#, no-c-format +msgid "Class:" msgstr "" -#: callgraphview.cpp:2532 -msgid "Min. Call Cost" +#: configdlgbase.ui:310 +#, no-c-format +msgid "File:" msgstr "" -#: callgraphview.cpp:2534 -msgid "Arrows for Skipped Calls" +#: configdlgbase.ui:376 +#, no-c-format +msgid "Annotations" msgstr "" -#: callgraphview.cpp:2536 -msgid "Inner-cycle Calls" +#: configdlgbase.ui:395 +#, no-c-format +msgid "Context lines in annotations:" msgstr "" -#: callgraphview.cpp:2538 -msgid "Cluster Groups" +#: configdlgbase.ui:423 +#, no-c-format +msgid "Source Folders" msgstr "" -#: callgraphview.cpp:2543 -msgid "Compact" +#: configdlgbase.ui:454 +#, no-c-format +msgid "Object / Related Source Base" msgstr "" -#: callgraphview.cpp:2544 -msgid "Normal" +#: configdlgbase.ui:483 +#, no-c-format +msgid "Add..." msgstr "" -#: callgraphview.cpp:2545 -msgid "Tall" +#: configdlgbase.ui:508 +#, no-c-format +msgid "Delete" msgstr "" -#: callgraphview.cpp:2550 -msgid "Top to Down" +#: configdlgbase.ui:585 +#, no-c-format +msgid "&OK" msgstr "" -#: callgraphview.cpp:2551 -msgid "Left to Right" +#: configdlgbase.ui:596 +#, no-c-format +msgid "&Cancel" msgstr "" -#: callgraphview.cpp:2552 -msgid "Circular" +#: dumpselectionbase.ui:32 +#, no-c-format +msgid "Target" msgstr "" -#: callgraphview.cpp:2558 -msgid "TopLeft" +#: dumpselectionbase.ui:54 +#, no-c-format +msgid "Time" msgstr "" -#: callgraphview.cpp:2559 -msgid "TopRight" +#: dumpselectionbase.ui:65 +#, no-c-format +msgid "Path" msgstr "" -#: callgraphview.cpp:2560 -msgid "BottomLeft" +#: dumpselectionbase.ui:87 +#, no-c-format +msgid "Options" msgstr "" -#: callgraphview.cpp:2561 -msgid "BottomRight" +#: dumpselectionbase.ui:106 +#, no-c-format +msgid "Target command:" msgstr "" -#: callgraphview.cpp:2569 -msgid "Graph" +#: dumpselectionbase.ui:119 +#, no-c-format +msgid "Profiler options:" msgstr "" -#: callgraphview.cpp:2570 partselection.cpp:320 -msgid "Visualization" +#: dumpselectionbase.ui:125 +#, no-c-format +msgid "Option" msgstr "" -#: callgraphview.cpp:2571 -msgid "Birds-eye View" +#: dumpselectionbase.ui:136 dumpselectionbase.ui:688 +#, no-c-format +msgid "Value" msgstr "" -#: partlistitem.cpp:49 -msgid " (Thread %1)" +#: dumpselectionbase.ui:147 +#, no-c-format +msgid "Trace" msgstr "" -#: partlistitem.cpp:56 -msgid "(none)" +#: dumpselectionbase.ui:160 dumpselectionbase.ui:768 +#, no-c-format +msgid "Jumps" msgstr "" -#: callitem.cpp:82 partlistitem.cpp:152 -msgid "(active)" +#: dumpselectionbase.ui:174 +#, no-c-format +msgid "Instructions" msgstr "" -#: partselection.cpp:151 -msgid "Profile Part Overview: Current is '%1'" +#: dumpselectionbase.ui:189 dumpselectionbase.ui:783 +#, no-c-format +msgid "Events" msgstr "" -#: partselection.cpp:287 -msgid "Deselect" +#: dumpselectionbase.ui:202 +#, no-c-format +msgid "Full Cache" msgstr "" -#: partselection.cpp:287 partselection.cpp:311 -msgid "Select" +#: dumpselectionbase.ui:216 +#, no-c-format +msgid "Custom" msgstr "" -#: partselection.cpp:292 -msgid "Select All Parts" +#: dumpselectionbase.ui:231 +#, no-c-format +msgid "Collect" msgstr "" -#: partselection.cpp:294 -msgid "Visible Parts" +#: dumpselectionbase.ui:244 +#, no-c-format +msgid "At Startup" msgstr "" -#: partselection.cpp:296 -msgid "Hide Selected Parts" +#: dumpselectionbase.ui:258 +#, no-c-format +msgid "While In" msgstr "" -#: partselection.cpp:297 -msgid "Unhide Hidden Parts" +#: dumpselectionbase.ui:273 +#, no-c-format +msgid "Skip" msgstr "" -#: partselection.cpp:322 -msgid "Partitioning Mode" +#: dumpselectionbase.ui:286 +#, no-c-format +msgid "PLT" msgstr "" -#: partselection.cpp:323 -msgid "Diagram Mode" +#: dumpselectionbase.ui:315 +#, no-c-format +msgid "Dump Profile" msgstr "" -#: partselection.cpp:324 -msgid "Zoom Function" +#: dumpselectionbase.ui:328 +#, no-c-format +msgid "Every BBs" msgstr "" -#: partselection.cpp:325 -msgid "Show Direct Calls" +#: dumpselectionbase.ui:342 dumpselectionbase.ui:384 +#, no-c-format +msgid "On Entering" msgstr "" -#: partselection.cpp:326 -msgid "Increment Shown Call Levels" +#: dumpselectionbase.ui:356 +#, no-c-format +msgid "On Leaving" msgstr "" -#: partselection.cpp:340 -msgid "Draw Names" +#: dumpselectionbase.ui:371 +#, no-c-format +msgid "Zero Events" msgstr "" -#: partselection.cpp:341 -msgid "Draw Costs" +#: dumpselectionbase.ui:399 +#, no-c-format +msgid "Separate" msgstr "" -#: partselection.cpp:343 -msgid "Draw Frames" +#: dumpselectionbase.ui:412 +#, no-c-format +msgid "Threads" msgstr "" -#: partselection.cpp:359 -msgid "Hide Info" +#: dumpselectionbase.ui:426 +#, no-c-format +msgid "Recursions" msgstr "" -#: partselection.cpp:361 -msgid "Show Info" +#: dumpselectionbase.ui:440 +#, no-c-format +msgid "Call Chain" msgstr "" -#: partselection.cpp:541 -msgid "(no trace loaded)" +#: dumpselectionbase.ui:470 +#, no-c-format +msgid "Custom profiler options:" msgstr "" -#: instrview.cpp:129 -msgid "Hex" +#: dumpselectionbase.ui:508 +#, no-c-format +msgid "Run New Profile" msgstr "" -#: instrview.cpp:132 -msgid "Source Position" +#: dumpselectionbase.ui:520 +#, no-c-format +msgid "Info" msgstr "" -#: instrview.cpp:163 -msgid "" -"<b>Annotated Assembler</b>" -"<p>The annotated assembler list shows the machine code instructions of the " -"current selected function together with (self) cost spent while executing an " -"instruction. If this is a call instruction, lines with details on the call " -"happening are inserted into the source: the cost spent inside of the call, the " -"number of calls happening, and the call destination.</p>" -"<p>The disassembler output shown is generated with the 'objdump' utility from " -"the 'binutils' package.</p>" -"<p>Select a line with call information to make the destination function of this " -"call current.</p>" +#: dumpselectionbase.ui:531 +#, no-c-format +msgid "Dump reason:" msgstr "" -#: instrview.cpp:195 -#, c-format -msgid "Go to Address %1" +#: dumpselectionbase.ui:544 +#, no-c-format +msgid "Event summary:" msgstr "" -#: instrview.cpp:207 -msgid "Hex Code" +#: dumpselectionbase.ui:561 +#, no-c-format +msgid "Sum" msgstr "" -#: instrview.cpp:426 -msgid "There is no instruction info in the profile data file." +#: dumpselectionbase.ui:579 +#, no-c-format +msgid "Miscellaneous:" msgstr "" -#: instrview.cpp:428 -msgid "For the Valgrind Calltree Skin, rerun with option" +#: dumpselectionbase.ui:617 +#, no-c-format +msgid "Show" msgstr "" -#: instrview.cpp:429 -msgid " --dump-instr=yes" +#: dumpselectionbase.ui:625 +#, no-c-format +msgid "Compare" msgstr "" -#: instrview.cpp:430 -msgid "To see (conditional) jumps, additionally specify" +#: dumpselectionbase.ui:637 +#, no-c-format +msgid "State" msgstr "" -#: instrview.cpp:431 -msgid " --trace-jump=yes" +#: dumpselectionbase.ui:656 +#, no-c-format +msgid "Update" msgstr "" -#: instrview.cpp:629 -msgid "There is an error trying to execute the command" +#: dumpselectionbase.ui:664 +#, no-c-format +msgid "Every [s]:" msgstr "" -#: instrview.cpp:634 instrview.cpp:900 -msgid "Check that you have installed 'objdump'." +#: dumpselectionbase.ui:677 +#, no-c-format +msgid "Counter" msgstr "" -#: instrview.cpp:636 instrview.cpp:902 -msgid "This utility can be found in the 'binutils' package." +#: dumpselectionbase.ui:699 +#, no-c-format +msgid "Dumps Done" msgstr "" -#: instrview.cpp:739 -msgid "(No Assembler)" +#: dumpselectionbase.ui:713 +#, no-c-format +msgid "Is Collecting" msgstr "" -#: instrview.cpp:875 -#, c-format -msgid "" -"_n: There is %n cost line without assembler code.\n" -"There are %n cost lines without assembler code." +#: dumpselectionbase.ui:727 +#, no-c-format +msgid "Executed" msgstr "" -#: instrview.cpp:877 -msgid "This happens because the code of" +#: dumpselectionbase.ui:740 +#, no-c-format +msgid "Basic Blocks" msgstr "" -#: instrview.cpp:880 -msgid "does not seem to match the profile data file." +#: dumpselectionbase.ui:796 +#, no-c-format +msgid "Ir" msgstr "" -#: instrview.cpp:883 -msgid "Are you using an old profile data file or is the above mentioned" +#: dumpselectionbase.ui:811 +#, no-c-format +msgid "Distinct" msgstr "" -#: instrview.cpp:885 -msgid "ELF object from an updated installation/another machine?" +#: dumpselectionbase.ui:838 +#, no-c-format +msgid "Functions" msgstr "" -#: instrview.cpp:893 -msgid "There seems to be an error trying to execute the command" +#: dumpselectionbase.ui:852 +#, no-c-format +msgid "Contexts" msgstr "" -#: instrview.cpp:898 -msgid "Check that the ELF object used in the command exists." +#: dumpselectionbase.ui:890 +#, no-c-format +msgid "Stack trace:" msgstr "" -#: instritem.cpp:137 -msgid "Jump %1 of %2 times to 0x%3" +#: dumpselectionbase.ui:898 +#, no-c-format +msgid "Sync." msgstr "" -#: instritem.cpp:142 -msgid "Jump %1 times to 0x%2" +#: dumpselectionbase.ui:976 +#, no-c-format +msgid "Start" msgstr "" -#: treemap.cpp:1281 -#, c-format -msgid "Text %1" +#: dumpselectionbase.ui:1001 +#, no-c-format +msgid "Zero" msgstr "" -#: treemap.cpp:2809 -msgid "Recursive Bisection" +#: dumpselectionbase.ui:1009 +#, no-c-format +msgid "Dump" msgstr "" -#: treemap.cpp:2810 -msgid "Columns" +#: dumpselectionbase.ui:1021 +#, no-c-format +msgid "Messages" msgstr "" -#: treemap.cpp:2811 -msgid "Rows" +#: dumpselectionbase.ui:1045 +#, no-c-format +msgid "Kill Run" msgstr "" -#: treemap.cpp:2812 -msgid "Always Best" +#: dumpselectionbase.ui:1070 +#, no-c-format +msgid "Clear" msgstr "" -#: treemap.cpp:2813 -msgid "Best" +#: functionselectionbase.ui:41 +#, no-c-format +msgid "&Search:" msgstr "" -#: treemap.cpp:2814 -msgid "Alternate (V)" +#: functionselectionbase.ui:73 +#, no-c-format +msgid "Group" msgstr "" -#: treemap.cpp:2815 -msgid "Alternate (H)" +#: partselectionbase.ui:60 +#, no-c-format +msgid "(no trace parts)" msgstr "" -#: treemap.cpp:2872 -msgid "Nesting" +#: stackselectionbase.ui:16 +#, no-c-format +msgid "Stack Selection" msgstr "" -#: treemap.cpp:2875 -msgid "Correct Borders Only" +#: stackselectionbase.ui:42 +#, no-c-format +msgid "Cost2" msgstr "" -#: treemap.cpp:2877 treemap.cpp:2878 treemap.cpp:2879 treemap.cpp:2880 -#, c-format -msgid "Width %1" +#: tdecachegrindui.rc:4 +#, no-c-format +msgid "&File" msgstr "" -#: treemap.cpp:2902 -msgid "Visible" +#: tdecachegrindui.rc:10 +#, no-c-format +msgid "&View" msgstr "" -#: treemap.cpp:2903 -msgid "Take Space From Children" +#: tdecachegrindui.rc:15 +#, no-c-format +msgid "&Layout" msgstr "" -#: treemap.cpp:2905 -msgid "Top Left" +#: tdecachegrindui.rc:32 +#, no-c-format +msgid "Sidebars" msgstr "" -#: treemap.cpp:2906 -msgid "Top Center" +#: tdecachegrindui.rc:41 +#, no-c-format +msgid "Main Toolbar" msgstr "" -#: treemap.cpp:2907 -msgid "Top Right" +#: tdecachegrindui.rc:54 +#, no-c-format +msgid "State Toolbar" msgstr "" -#: treemap.cpp:2909 -msgid "Bottom Center" +#: tips:3 +msgid "" +"<p>...that the <em>What's This?</em> help for every GUI widget\n" +"in KCachegrind contains detailed usage information for this widget?\n" +"It is highly recommended to read at least these help texts on first\n" +"use. Request <em>What's This?</em> help by pressing\n" +"Shift+F1 and clicking on the widget.</p>\n" msgstr "" -#: treemap.cpp:2910 -msgid "Bottom Right" +#: tips:13 +msgid "" +"<p>...that you can get profile information at instruction level\n" +"with Calltree when you provide the option <em>--dump-instr=yes</em>?\n" +"Use the Assembler View for the instruction annotations.\n" +"</p>\n" msgstr "" -#: treemap.cpp:2987 -msgid "No %1 Limit" +#: tips:22 +msgid "" +"<p>...that you can use Alt-Left/Right keys of your keyboard to go\n" +"back/forward in the active object history ?</p>\n" msgstr "" -#: treemap.cpp:3056 treemap.cpp:3067 -#, c-format +#: tips:29 msgid "" -"_n: 1 Pixel\n" -"%n Pixels" +"<p>...that you can navigate in the Callee/Caller Map View using\n" +"arrow keys? Use Left/Right to change to siblings of the current\n" +"item; use Up/Down to go one nesting level up/down. To select\n" +"the current item, press Space, and to activate it, press Return.\n" +"</p>\n" msgstr "" -#: treemap.cpp:3073 -msgid "Halve Area Limit (to %1)" +#: tips:39 +msgid "" +"<p>...that you can navigate in the Call Graph View using\n" +"arrow keys? Use Up/Down to go one calling level up/down, alternating\n" +"between calls and functions. Use Left/Right to change to siblings of a " +"current\n" +"selected call. To activate the current item, press Return.\n" +"</p>\n" msgstr "" -#: treemap.cpp:3118 -#, c-format -msgid "Depth %1" +#: tips:49 +msgid "" +"<p>...that you can rapidly locate a function by entering part of its\n" +"name (case-insensitive) into the edit line of the toolbar\n" +"and hit return?</p>\n" msgstr "" -#: treemap.cpp:3122 -msgid "Decrement (to %1)" +#: tips:57 +msgid "" +"<p>...that you can assign custom colors to \n" +"ELF objects/C++ Classes/Source Files for graph coloring\n" +"in <em>Settings->Configure KCachegrind...</em>?</p>\n" msgstr "" -#: treemap.cpp:3124 -msgid "Increment (to %1)" +#: tips:65 +msgid "" +"<p>...that you can see if debug info is available for a selected \n" +"function by looking at the location label in the Info tab or\n" +"the source listing header in the source tab?</p>\n" +"<p>There must be the name of the source file (with extension).\n" +"If KCachegrind still doesn't show the source, make sure that you\n" +"have added the directory of the source file to the\n" +"<em>Source Directories</em> list in the configuration.\n" msgstr "" -#: traceitemview.cpp:53 -msgid "No description available" +#: tips:77 +msgid "" +"<p>...that you can configure whether KCachgrind should\n" +"show absolute event counts or relative ones (percentage display)?</p>\n" msgstr "" -#: coverageview.cpp:48 coverageview.cpp:54 -msgid "Distance" +#: tips:84 +msgid "" +"<p>...that you can configure the maximum number of items\n" +"for all function lists in KCachegrind? Limiting the number\n" +"of items is done to get a fast reacting GUI. The last item in\n" +"the list will show you the number of skipped functions, together\n" +"with a cost condition for these skipped functions.</p>\n" +"<p>To activate a function with small costs, search for it and select\n" +"it in the flat profile. Selecting functions with small cost will\n" +"temporarily add them to the flat profile list.</p>\n" msgstr "" -#: coverageview.cpp:55 -msgid "Calling" +#: tips:97 +msgid "" +"<p>...that the Coverage tab - in contrast to the Call Lists tab -\n" +"shows <em>all</em> functions that are calling the selected function\n" +"(upper part) / are called by the selected function (bottom part),\n" +"no matter how many function are between them on the stack?</p>\n" +"<p>Examples:</p>\n" +"<p>An entry in the upper list for function foo1() with a value of 50%\n" +"with function bar() selected means that 50% of all the cost of function\n" +"bar() happened while called from function foo1().</p>\n" +"<p>An entry in the bottom list for function foo2() with a value of 50%\n" +"with function bar() selected means that 50% of all the cost of function\n" +"bar() happened while calling foo2() from bar().</p>\n" msgstr "" -#: coverageview.cpp:90 +#: tips:113 msgid "" -"<b>List of all Callers</b>" -"<p>This list shows all functions calling the current selected one, either " -"directly or with several functions in-between on the stack; the number of " -"functions in-between plus one is called the <em>Distance</em> " -"(e.g. for function A,B,C there exists a call from A to C when A calls B and B " -"calls C, i.e. A => B => C. The distance here is 2).</p>" -"<p>Absolute cost shown is the cost spent in the selected function while a " -"listed function is active; relative cost is the percentage of all cost spent in " -"the selected function while the listed one is active. The cost graphic shows " -"logarithmic percentage with a different color for each distance.</p>" -"<p>As there can be many calls from the same function, the distance column " -"sometimes shows the range of distances for all calls happening; then, in " -"parentheses, there is the medium distance, i.e. the distance where most of the " -"call costs happened.</p>" -"<p>Selecting a function makes it the current selected one of this information " -"panel. If there are two panels (Split mode), the function of the other panel is " -"changed instead.</p>" +"<p>...that waiting for the tool tip inside of a tree map\n" +"shows the list of names of the nested rectangles the mouse\n" +"pointer is over?</p>\n" +"<p>Items from this list can be selected by pressing the right\n" +"mouse button.</p>\n" msgstr "" -#: coverageview.cpp:120 +#: tips:123 msgid "" -"<b>List of all Callees</b>" -"<p>This list shows all functions called by the current selected one, either " -"directly or with several function in-between on the stack; the number of " -"function in-between plus one is called the <em>Distance</em> " -"(e.g. for function A,B,C there exists a call from A to C when A calls B and B " -"calls C, i.e. A => B => C. The distance here is 2).</p>" -"<p>Absolute cost shown is the cost spent in the listed function while the " -"selected is active; relative cost is the percentage of all cost spent in the " -"listed function while the selected one is active. The cost graphic always shows " -"logarithmic percentage with a different color for each distance.</p>" -"<p>As there can be many calls to the same function, the distance column " -"sometimes shows the range of distances for all calls happening; then, in " -"parentheses, there is the medium distance, i.e. the distance where most of the " -"call costs happened.</p>" -"<p>Selecting a function makes it the current selected one of this information " -"panel. If there are two panels (Split mode), the function of the other panel is " -"changed instead.</p>" +"<p>...that you can constrain the cost counts shown to only a\n" +"few parts of the whole trace by selecting these parts in the\n" +"\"Trace Selection\" Dockable?</p>\n" +"<p>To generate multiple parts in a profiling run with\n" +"cachegrind, use e.g. option --cachedumps=xxx for parts\n" +"of a length of xxx basic blocks (A basic block is a run\n" +"of not-branching assembler statements inside of your program\n" +"code).</p>\n" msgstr "" |