diff options
author | TDE Weblate <[email protected]> | 2018-12-31 19:05:08 +0000 |
---|---|---|
committer | TDE Weblate <[email protected]> | 2018-12-31 19:05:08 +0000 |
commit | 9f19f32b78ac2bde5437604a8c9bcebd3a727147 (patch) | |
tree | 6bd2e6ae680896bf597ef5f7cf9c29b5b113ccca /tde-i18n-zh_TW/messages/tdesdk/tdecachegrind.po | |
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-zh_TW/messages/tdesdk/tdecachegrind.po')
-rw-r--r-- | tde-i18n-zh_TW/messages/tdesdk/tdecachegrind.po | 3874 |
1 files changed, 1912 insertions, 1962 deletions
diff --git a/tde-i18n-zh_TW/messages/tdesdk/tdecachegrind.po b/tde-i18n-zh_TW/messages/tdesdk/tdecachegrind.po index b94cc9dc050..4fe5789f088 100644 --- a/tde-i18n-zh_TW/messages/tdesdk/tdecachegrind.po +++ b/tde-i18n-zh_TW/messages/tdesdk/tdecachegrind.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: tdecachegrind\n" -"POT-Creation-Date: 2014-09-29 12:05-0500\n" +"POT-Creation-Date: 2018-12-31 18:49+0100\n" "PO-Revision-Date: 2007-10-03 10:39+0800\n" "Last-Translator: Chih-Wei Huang <[email protected]>\n" "Language-Team: Chinese Traditional <[email protected]>\n" @@ -16,1069 +16,376 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" -#: tabview.cpp:64 -msgid "Move to Top" -msgstr "移動到頂端" - -#: tabview.cpp:68 -msgid "Move to Right" -msgstr "移動到右方" - -#: tabview.cpp:72 -msgid "Move to Bottom" -msgstr "移動到底端" - -#: tabview.cpp:76 -msgid "Move to Bottom Left" -msgstr "移動到左下方" - -#: tabview.cpp:77 tabview.cpp:94 treemap.cpp:2908 -msgid "Bottom Left" -msgstr "左下方" - -#: tabview.cpp:79 -msgid "Move Area To" -msgstr "移動區域到" - -#: tabview.cpp:81 -msgid "Hide This Tab" -msgstr "隱藏此分頁" - -#: tabview.cpp:82 -msgid "Hide Area" -msgstr "隱藏範圍" - -#: tabview.cpp:95 -msgid "Show Hidden On" -msgstr "顯示隱藏於" +#: _translatorinfo:1 +msgid "" +"_: NAME OF TRANSLATORS\n" +"Your names" +msgstr "Frank Weng (a.k.a. Franklin),Franklin Weng" -#: tabview.cpp:242 -msgid "(No profile data file loaded)" -msgstr "(沒有載入分析資料檔)" +#: _translatorinfo:2 +msgid "" +"_: EMAIL OF TRANSLATORS\n" +"Your emails" +msgstr "franklin at goodhorse dot idv dot tw" -#: tabview.cpp:281 -msgid "Types" -msgstr "類型" +#: cachegrindloader.cpp:141 +msgid "Import filter for Cachegrind/Callgrind generated profile data files" +msgstr "Cachegrind/Callgrind 產生的分析檔資料檔匯入過濾器" -#: tabview.cpp:284 -msgid "Callers" -msgstr "呼叫者" +#: cachegrindloader.cpp:738 +#, c-format +msgid "Loading %1" +msgstr "載入 %1 中" -#: tabview.cpp:287 -msgid "All Callers" -msgstr "所有呼叫者" +#: callgraphview.cpp:306 +#, c-format +msgid "Call(s) from %1" +msgstr "從 %1 來的呼叫" -#: tabview.cpp:290 -msgid "Caller Map" -msgstr "呼叫者地圖" +#: callgraphview.cpp:307 +#, c-format +msgid "Call(s) to %1" +msgstr "呼叫 %1" -#: tabview.cpp:293 -msgid "Source" -msgstr "來源" +#: callgraphview.cpp:308 +msgid "(unknown call)" +msgstr "(未知的呼叫)" -#: tabview.cpp:297 -msgid "Parts" -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 "" +"<b>活躍函式的呼叫圖環境</b> <p>根據設定,此檢視顯示活躍函式的呼叫圖環境。注" +"意:顯示的花費只表示此函式執行中的花費,也就是說,main() 函式顯示的花費會跟此" +"函式的花費一樣,因為那是 main() 的引入花費。</p> <p>對循環而言,藍色的呼叫箭" +"頭表示是人工加上去修正的,實際上不會發生。</p> <p>如果此圖大於元件的大小,則" +"會在一邊顯示略圖。類似呼叫樹狀圖的視覺選項,選取的函式會被突顯。</p>" -#: tabview.cpp:300 -msgid "Call Graph" -msgstr "呼叫圖" +#: callgraphview.cpp:1789 +msgid "" +"Warning: a long lasting graph layouting is in progress.\n" +"Reduce node/edge limits for speedup.\n" +msgstr "" +"警告:正在進行長而持續的佈局作業。\n" +"要加速,請降低節點與邊線的限制。\n" -#: tabview.cpp:303 -msgid "Callees" -msgstr "被呼叫者" +#: callgraphview.cpp:1792 +msgid "Layouting stopped.\n" +msgstr "佈局停止。\n" -#: tabview.cpp:306 -msgid "All Callees" -msgstr "所有被呼叫者" +#: callgraphview.cpp:1794 +msgid "The call graph has %1 nodes and %2 edges.\n" +msgstr "呼叫圖中含有 %1 個節點與 %2 個邊線。\n" -#: tabview.cpp:310 -msgid "Callee Map" -msgstr "被呼叫者地圖" +#: callgraphview.cpp:1827 +msgid "No item activated for which to draw the call graph." +msgstr "沒有激發要繪製呼叫圖的項目。" -#: instrview.cpp:131 tabview.cpp:313 -msgid "Assembler" -msgstr "組譯器" +#: callgraphview.cpp:1838 +msgid "No call graph can be drawn for the active item." +msgstr "沒有目前活躍的項目可繪製呼叫圖。" -#: tabview.cpp:553 +#: callgraphview.cpp:1867 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>" +"No call graph is available because the following\n" +"command cannot be run:\n" +"'%1'\n" msgstr "" -"<b>資訊分頁</b>" -"<p>本畫面以不同分頁顯示目前所選擇函數的資訊: " -"<ul>" -"<li>「花費」分頁顯示可用的事件型態清單,以及它們的引入與自身花費。</li>" -"<li>「部件」分頁在有一個以上的追蹤時顯示追蹤部件清單。(若只有一個則會隱藏此分頁。)也會顯示選取的函式在不同的部件,以及呼叫的花費。</li>" -"<li>「呼叫清單」分頁顯示此函式內直接呼叫的函式,與直接呼叫此函式的函式詳情。</li>" -"<li>「總體呼叫」分頁顯示的跟「呼叫清單」差不多,不過還包括間接呼叫。</li>" -"<li>「呼叫圖」分頁顯示此函式與呼叫者之間的圖形關係。</li>" -"<li>「源碼」分頁在除錯資訊與程式源碼檔可用時顯示源碼。</li>" -"<li>「組合」分頁顯示追蹤資訊的機械碼。</li></ul>更多詳情可以參考「這是什麼?」的說明元件。</p>" - -#: tabview.cpp:630 -msgid "(No Data loaded)" -msgstr "(沒有載入資料)" +"沒有可用的呼叫圖,因為以下的指令無法執行:\n" +"%1\n" -#: tabview.cpp:631 -msgid "(No function selected)" -msgstr "(沒有選取函式)" +#: callgraphview.cpp:1870 callgraphview.cpp:2199 +msgid "Please check that 'dot' is installed (package GraphViz)." +msgstr "請檢查 dot 已安裝(在 GraphViz 套件中)" -#: tracedata.cpp:153 -msgid "Abstract Item" -msgstr "抽象項目" +#: callgraphview.cpp:2198 +msgid "Error running the graph layouting tool.\n" +msgstr "執行圖形佈局工具時發生錯誤。\n" -#: tracedata.cpp:154 -msgid "Cost Item" -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." +msgstr "沒有函式 %1 的呼叫圖,因為沒有所選取事件型態的花費。" -#: tracedata.cpp:155 -msgid "Part Source Line" -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'" +msgstr "跳到 %1" -#: tracedata.cpp:156 -msgid "Source Line" -msgstr "源碼行" +#: callgraphview.cpp:2427 +msgid "Stop Layouting" +msgstr "停止佈局" -#: tracedata.cpp:157 -msgid "Part Line Call" -msgstr "行呼叫部件" +#: callgraphview.cpp:2435 +msgid "As PostScript" +msgstr "為 PostScript 檔" -#: tracedata.cpp:158 -msgid "Line Call" -msgstr "行呼叫" +#: callgraphview.cpp:2436 +msgid "As Image ..." +msgstr "為影像檔..." -#: tracedata.cpp:159 -msgid "Part Jump" -msgstr "跳躍部件" +#: callgraphview.cpp:2438 +msgid "Export Graph" +msgstr "匯出圖形" -#: tracedata.cpp:160 -msgid "Jump" -msgstr "跳躍" +#: callgraphview.cpp:2443 callgraphview.cpp:2466 +msgid "Unlimited" +msgstr "無限制" -#: tracedata.cpp:161 -msgid "Part Instruction" -msgstr "指令部件" +#: callgraphview.cpp:2446 callgraphview.cpp:2469 +msgid "None" +msgstr "無" -#: tracedata.cpp:162 -msgid "Instruction" -msgstr "指令" +#: callgraphview.cpp:2447 callgraphview.cpp:2470 +msgid "max. 2" +msgstr "最大 2" -#: tracedata.cpp:163 -msgid "Part Instruction Jump" -msgstr "指令跳躍部件" +#: callgraphview.cpp:2448 callgraphview.cpp:2471 +msgid "max. 5" +msgstr "最大 5" -#: tracedata.cpp:164 -msgid "Instruction Jump" -msgstr "指令跳躍" +#: callgraphview.cpp:2449 callgraphview.cpp:2472 +msgid "max. 10" +msgstr "最大 10" -#: tracedata.cpp:165 -msgid "Part Instruction Call" -msgstr "指令呼叫部件" +#: callgraphview.cpp:2450 callgraphview.cpp:2473 +msgid "max. 15" +msgstr "最大 15" -#: tracedata.cpp:166 -msgid "Instruction Call" -msgstr "指令呼叫" +#: callgraphview.cpp:2460 callgraphview.cpp:2483 +#, c-format +msgid "< %1" +msgstr "< %1" -#: tracedata.cpp:167 -msgid "Part Call" -msgstr "呼叫部件" +#: callgraphview.cpp:2489 +msgid "No Minimum" +msgstr "無最小值" -#: tracedata.cpp:168 -msgid "Call" -msgstr "呼叫" +#: callgraphview.cpp:2493 +#, c-format +msgid "50 %" +msgstr "50 %" -#: tracedata.cpp:169 -msgid "Part Function" -msgstr "函式部件" +#: callgraphview.cpp:2494 +#, c-format +msgid "20 %" +msgstr "20 %" -#: tracedata.cpp:170 -msgid "Function Source File" -msgstr "函式源碼檔案" +#: callgraphview.cpp:2495 +#, c-format +msgid "10 %" +msgstr "10 %" -#. 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" -msgstr "函式" +#: callgraphview.cpp:2496 +#, c-format +msgid "5 %" +msgstr "5 %" -#: tracedata.cpp:172 -msgid "Function Cycle" -msgstr "函式循環" +#: callgraphview.cpp:2497 +#, c-format +msgid "3 %" +msgstr "3 %" -#: tracedata.cpp:173 -msgid "Part Class" -msgstr "類別部件" +#: callgraphview.cpp:2498 +#, c-format +msgid "2 %" +msgstr "2 %" -#: tracedata.cpp:174 -msgid "Class" -msgstr "類別" +#: callgraphview.cpp:2499 +#, c-format +msgid "1.5 %" +msgstr "1.5 %" -#: tracedata.cpp:175 -msgid "Part Source File" -msgstr "程式源碼檔案部件" +#: callgraphview.cpp:2500 +#, c-format +msgid "1 %" +msgstr "1 %" -#: tracedata.cpp:176 -msgid "Source File" -msgstr "程式源碼檔案" +#: callgraphview.cpp:2516 +msgid "Same as Node" +msgstr "與節點相同" -#: tracedata.cpp:177 -msgid "Part ELF Object" -msgstr "ELF 物件部件" +#: callgraphview.cpp:2517 +#, c-format +msgid "50 % of Node" +msgstr "50% 的節點" -#: tracedata.cpp:178 -msgid "ELF Object" -msgstr "ELF 物件" +#: callgraphview.cpp:2518 +#, c-format +msgid "20 % of Node" +msgstr "20% 的節點" -#: partview.cpp:46 tracedata.cpp:179 -msgid "Profile Part" -msgstr "分析檔部件" +#: callgraphview.cpp:2519 +#, c-format +msgid "10 % of Node" +msgstr "10% 的節點" -#: tracedata.cpp:180 -msgid "Program Trace" -msgstr "程式追蹤" +#: callgraphview.cpp:2529 +msgid "Caller Depth" +msgstr "呼叫者深度" -#: tracedata.cpp:241 -msgid "%1 from %2" -msgstr "%1 從 %2" +#: callgraphview.cpp:2530 +msgid "Callee Depth" +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)" -msgstr "(未知)" +#: callgraphview.cpp:2531 +msgid "Min. Node Cost" +msgstr "最小節點花費" -#: tracedata.cpp:2583 -msgid "(no caller)" -msgstr "(無呼叫者)" +#: callgraphview.cpp:2532 +msgid "Min. Call Cost" +msgstr "最小呼叫花費" -#: tracedata.cpp:2590 tracedata.cpp:2609 -msgid "%1 via %2" -msgstr "%1 經過 %2" +#: callgraphview.cpp:2534 +msgid "Arrows for Skipped Calls" +msgstr "被略過呼叫的箭頭" -#: tracedata.cpp:2599 -msgid "(no callee)" -msgstr "(無被呼叫者)" +#: callgraphview.cpp:2536 +msgid "Inner-cycle Calls" +msgstr "內部循環呼叫" -#: tracedata.cpp:4467 -msgid "(not found)" -msgstr "(未找到)" +#: callgraphview.cpp:2538 +msgid "Cluster Groups" +msgstr "叢集群組" -#: tracedata.cpp:5017 -msgid "Recalculating Function Cycles..." -msgstr "重新計算函式循環..." +#: callgraphview.cpp:2543 +msgid "Compact" +msgstr "簡潔" -#. i18n: file tdecachegrindui.rc line 15 -#: rc.cpp:9 -#, no-c-format -msgid "&Layout" -msgstr "佈局(&L)" +#: callgraphview.cpp:2544 +msgid "Normal" +msgstr "正常" -#. i18n: file tdecachegrindui.rc line 32 -#: rc.cpp:12 -#, no-c-format -msgid "Sidebars" -msgstr "邊列" +#: callgraphview.cpp:2545 +msgid "Tall" +msgstr "高" -#. i18n: file tdecachegrindui.rc line 54 -#: rc.cpp:18 -#, no-c-format -msgid "State Toolbar" -msgstr "狀態工具列" +#: callgraphview.cpp:2550 +msgid "Top to Down" +msgstr "上到下" -#. i18n: file configdlgbase.ui line 37 -#: rc.cpp:24 -#, no-c-format -msgid "General" -msgstr "一般" +#: callgraphview.cpp:2551 +msgid "Left to Right" +msgstr "左到右" -#. i18n: file configdlgbase.ui line 69 -#: rc.cpp:27 -#, no-c-format -msgid "Truncated when more/longer than:" -msgstr "大於多少時截斷:" +#: callgraphview.cpp:2552 +msgid "Circular" +msgstr "圓形" -#. i18n: file configdlgbase.ui line 77 -#: rc.cpp:30 -#, no-c-format -msgid "Precision of percentage values:" -msgstr "百分比數值的精確度:" +#: callgraphview.cpp:2558 +msgid "TopLeft" +msgstr "左上方" -#. i18n: file configdlgbase.ui line 85 -#: rc.cpp:33 -#, no-c-format -msgid "Symbols in tooltips and context menus" -msgstr "在工具提示與內文選單中的符號" +#: callgraphview.cpp:2559 +msgid "TopRight" +msgstr "右上方" -#. i18n: file configdlgbase.ui line 141 -#: rc.cpp:36 -#, no-c-format -msgid "Maximum number of items in lists:" -msgstr "清單中最大項目數:" +#: callgraphview.cpp:2560 +msgid "BottomLeft" +msgstr "左下方" -#. i18n: file configdlgbase.ui line 162 -#: rc.cpp:39 -#, no-c-format -msgid "Cost Item Colors" -msgstr "花費項目顏色" +#: callgraphview.cpp:2561 +msgid "BottomRight" +msgstr "右下方" -#. i18n: file configdlgbase.ui line 246 -#: callgraphview.cpp:2562 rc.cpp:42 rc.cpp:51 rc.cpp:54 +#: callgraphview.cpp:2562 configdlgbase.ui:246 configdlgbase.ui:286 +#: configdlgbase.ui:302 #, no-c-format msgid "Automatic" msgstr "自動" -#. i18n: file configdlgbase.ui line 254 -#: rc.cpp:45 -#, no-c-format -msgid "Object:" -msgstr "物件:" - -#. i18n: file configdlgbase.ui line 262 -#: rc.cpp:48 -#, no-c-format -msgid "Class:" -msgstr "類別:" - -#. i18n: file configdlgbase.ui line 310 -#: rc.cpp:57 -#, no-c-format -msgid "File:" -msgstr "檔案:" - -#. i18n: file configdlgbase.ui line 376 -#: rc.cpp:60 -#, no-c-format -msgid "Annotations" -msgstr "註記" - -#. i18n: file configdlgbase.ui line 395 -#: rc.cpp:63 -#, no-c-format -msgid "Context lines in annotations:" -msgstr "註記裡的內容:" - -#. i18n: file configdlgbase.ui line 423 -#: rc.cpp:66 -#, no-c-format -msgid "Source Folders" -msgstr "程式源碼資料夾" - -#. i18n: file configdlgbase.ui line 454 -#: rc.cpp:69 -#, no-c-format -msgid "Object / Related Source Base" -msgstr "物件 / 相關來源基礎" - -#. i18n: file configdlgbase.ui line 483 -#: rc.cpp:72 -#, no-c-format -msgid "Add..." -msgstr "新增..." - -#. i18n: file dumpselectionbase.ui line 16 -#: rc.cpp:84 toplevel.cpp:352 toplevel.cpp:604 -#, no-c-format -msgid "Profile Dumps" -msgstr "分析檔傾印" - -#. i18n: file dumpselectionbase.ui line 32 -#: rc.cpp:87 -#, no-c-format -msgid "Target" -msgstr "目標" - -#. i18n: file dumpselectionbase.ui line 54 -#: rc.cpp:90 -#, no-c-format -msgid "Time" -msgstr "時間" - -#. i18n: file dumpselectionbase.ui line 65 -#: rc.cpp:93 -#, no-c-format -msgid "Path" -msgstr "路徑" - -#. i18n: file dumpselectionbase.ui line 106 -#: rc.cpp:99 -#, no-c-format -msgid "Target command:" -msgstr "目標命令:" - -#. i18n: file dumpselectionbase.ui line 119 -#: rc.cpp:102 -#, no-c-format -msgid "Profiler options:" -msgstr "分析檔選項:" - -#. i18n: file dumpselectionbase.ui line 125 -#: rc.cpp:105 -#, no-c-format -msgid "Option" -msgstr "選項" - -#. i18n: file dumpselectionbase.ui line 136 -#: rc.cpp:108 rc.cpp:219 -#, no-c-format -msgid "Value" -msgstr "數值" - -#. i18n: file dumpselectionbase.ui line 147 -#: rc.cpp:111 -#, no-c-format -msgid "Trace" -msgstr "追蹤" - -#. i18n: file dumpselectionbase.ui line 160 -#: rc.cpp:114 rc.cpp:237 -#, no-c-format -msgid "Jumps" -msgstr "跳躍" - -#. i18n: file dumpselectionbase.ui line 174 -#: rc.cpp:117 -#, no-c-format -msgid "Instructions" -msgstr "指令" - -#. i18n: file dumpselectionbase.ui line 189 -#: rc.cpp:120 rc.cpp:240 -#, no-c-format -msgid "Events" -msgstr "事件" - -#. i18n: file dumpselectionbase.ui line 202 -#: rc.cpp:123 -#, no-c-format -msgid "Full Cache" -msgstr "完整快取" - -#. i18n: file dumpselectionbase.ui line 216 -#: rc.cpp:126 -#, no-c-format -msgid "Custom" -msgstr "自訂" - -#. i18n: file dumpselectionbase.ui line 231 -#: rc.cpp:129 -#, no-c-format -msgid "Collect" -msgstr "收集" - -#. i18n: file dumpselectionbase.ui line 244 -#: rc.cpp:132 -#, no-c-format -msgid "At Startup" -msgstr "啟動時" - -#. i18n: file dumpselectionbase.ui line 258 -#: rc.cpp:135 -#, no-c-format -msgid "While In" -msgstr "當在" - -#. i18n: file dumpselectionbase.ui line 273 -#: rc.cpp:138 -#, no-c-format -msgid "Skip" -msgstr "略過" - -#. i18n: file dumpselectionbase.ui line 286 -#: rc.cpp:141 -#, no-c-format -msgid "PLT" -msgstr "PLT" - -#. i18n: file dumpselectionbase.ui line 315 -#: rc.cpp:147 -#, no-c-format -msgid "Dump Profile" -msgstr "傾印分析檔" - -#. i18n: file dumpselectionbase.ui line 328 -#: rc.cpp:150 -#, no-c-format -msgid "Every BBs" -msgstr "每次 BB" - -#. i18n: file dumpselectionbase.ui line 342 -#: rc.cpp:153 rc.cpp:162 -#, no-c-format -msgid "On Entering" -msgstr "進入時" - -#. i18n: file dumpselectionbase.ui line 356 -#: rc.cpp:156 -#, no-c-format -msgid "On Leaving" -msgstr "離開時" - -#. i18n: file dumpselectionbase.ui line 371 -#: rc.cpp:159 -#, no-c-format -msgid "Zero Events" -msgstr "清空事件" - -#. i18n: file dumpselectionbase.ui line 399 -#: rc.cpp:165 -#, no-c-format -msgid "Separate" -msgstr "分離" - -#. i18n: file dumpselectionbase.ui line 412 -#: rc.cpp:168 -#, no-c-format -msgid "Threads" -msgstr "執行緒" - -#. i18n: file dumpselectionbase.ui line 426 -#: rc.cpp:171 -#, no-c-format -msgid "Recursions" -msgstr "遞迴" - -#. i18n: file dumpselectionbase.ui line 440 -#: rc.cpp:174 -#, no-c-format -msgid "Call Chain" -msgstr "呼叫鍊" - -#. i18n: file dumpselectionbase.ui line 470 -#: rc.cpp:177 -#, no-c-format -msgid "Custom profiler options:" -msgstr "自訂分析器選項:" - -#. i18n: file dumpselectionbase.ui line 508 -#: rc.cpp:180 -#, no-c-format -msgid "Run New Profile" -msgstr "執行新分析檔" +#: callgraphview.cpp:2569 +msgid "Graph" +msgstr "圖" -#. i18n: file dumpselectionbase.ui line 520 -#: rc.cpp:183 -#, no-c-format -msgid "Info" -msgstr "資訊" +#: callgraphview.cpp:2570 partselection.cpp:320 +msgid "Visualization" +msgstr "視覺化" -#. i18n: file dumpselectionbase.ui line 531 -#: rc.cpp:186 -#, no-c-format -msgid "Dump reason:" -msgstr "傾印理由:" +#: callgraphview.cpp:2571 +msgid "Birds-eye View" +msgstr "鳥瞰檢視" -#. i18n: file dumpselectionbase.ui line 544 -#: rc.cpp:189 -#, no-c-format -msgid "Event summary:" -msgstr "事件摘要:" +#: callitem.cpp:82 partlistitem.cpp:152 +msgid "(active)" +msgstr "(活躍)" -#. i18n: file dumpselectionbase.ui line 550 -#: callmapview.cpp:59 partselection.cpp:58 rc.cpp:192 +#: callmapview.cpp:59 dumpselectionbase.ui:550 partselection.cpp:58 #, no-c-format msgid "Name" msgstr "名稱" -#. i18n: file dumpselectionbase.ui line 561 -#: rc.cpp:195 -#, no-c-format -msgid "Sum" -msgstr "總計" - -#. i18n: file dumpselectionbase.ui line 579 -#: rc.cpp:198 -#, no-c-format -msgid "Miscellaneous:" -msgstr "其他:" - -#. i18n: file dumpselectionbase.ui line 617 -#: rc.cpp:201 -#, no-c-format -msgid "Show" -msgstr "顯示" - -#. i18n: file dumpselectionbase.ui line 625 -#: rc.cpp:204 -#, no-c-format -msgid "Compare" -msgstr "比較" - -#. i18n: file dumpselectionbase.ui line 637 -#: rc.cpp:207 -#, no-c-format -msgid "State" -msgstr "狀態" - -#. i18n: file dumpselectionbase.ui line 656 -#: rc.cpp:210 -#, no-c-format -msgid "Update" -msgstr "更新" - -#. i18n: file dumpselectionbase.ui line 664 -#: rc.cpp:213 -#, no-c-format -msgid "Every [s]:" -msgstr "間隔(秒):" - -#. i18n: file dumpselectionbase.ui line 677 -#: rc.cpp:216 -#, no-c-format -msgid "Counter" -msgstr "計數器" - -#. i18n: file dumpselectionbase.ui line 699 -#: rc.cpp:222 -#, no-c-format -msgid "Dumps Done" -msgstr "傾印完成" - -#. i18n: file dumpselectionbase.ui line 713 -#: rc.cpp:225 -#, no-c-format -msgid "Is Collecting" -msgstr "收集中" - -#. i18n: file dumpselectionbase.ui line 727 -#: rc.cpp:228 -#, no-c-format -msgid "Executed" -msgstr "已執行" - -#. i18n: file dumpselectionbase.ui line 740 -#: rc.cpp:231 -#, no-c-format -msgid "Basic Blocks" -msgstr "基本區塊" - -#. i18n: file dumpselectionbase.ui line 754 -#: callmapview.cpp:63 rc.cpp:234 rc.cpp:339 -#, no-c-format -msgid "Calls" -msgstr "呼叫" - -#. i18n: file dumpselectionbase.ui line 796 -#: rc.cpp:243 -#, no-c-format -msgid "Ir" -msgstr "Ir" - -#. i18n: file dumpselectionbase.ui line 811 -#: rc.cpp:246 -#, no-c-format -msgid "Distinct" -msgstr "不同" - -#. i18n: file dumpselectionbase.ui line 824 -#: configdlg.cpp:58 rc.cpp:249 -#, no-c-format -msgid "ELF Objects" -msgstr "ELF 物件" - -#. i18n: file dumpselectionbase.ui line 838 -#: rc.cpp:252 -#, no-c-format -msgid "Functions" -msgstr "函式" - -#. i18n: file dumpselectionbase.ui line 852 -#: rc.cpp:255 -#, no-c-format -msgid "Contexts" -msgstr "內文" - -#. i18n: file dumpselectionbase.ui line 890 -#: rc.cpp:258 -#, no-c-format -msgid "Stack trace:" -msgstr "堆疊追蹤:" - -#. i18n: file dumpselectionbase.ui line 898 -#: rc.cpp:261 -#, no-c-format -msgid "Sync." -msgstr "同步" - -#. i18n: file dumpselectionbase.ui line 906 -#: instrview.cpp:125 rc.cpp:264 sourceview.cpp:50 -#, no-c-format -msgid "#" -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." -msgstr "引入" - -#. i18n: file dumpselectionbase.ui line 928 -#: coverageview.cpp:49 partview.cpp:49 rc.cpp:270 rc.cpp:315 -#, no-c-format -msgid "Called" -msgstr "已呼叫" - -#. i18n: file dumpselectionbase.ui line 950 -#: callmapview.cpp:61 rc.cpp:276 rc.cpp:321 -#, no-c-format -msgid "Location" -msgstr "位置" - -#. i18n: file dumpselectionbase.ui line 976 -#: rc.cpp:279 -#, no-c-format -msgid "Start" -msgstr "開始" - -#. i18n: file dumpselectionbase.ui line 1001 -#: rc.cpp:282 -#, no-c-format -msgid "Zero" -msgstr "歸零" - -#. i18n: file dumpselectionbase.ui line 1009 -#: rc.cpp:285 -#, no-c-format -msgid "Dump" -msgstr "傾印" - -#. i18n: file dumpselectionbase.ui line 1021 -#: rc.cpp:288 -#, no-c-format -msgid "Messages" -msgstr "訊息" - -#. i18n: file dumpselectionbase.ui line 1045 -#: rc.cpp:291 -#, no-c-format -msgid "Kill Run" -msgstr "終止執行" - -#. i18n: file functionselectionbase.ui line 16 -#: rc.cpp:297 toplevel.cpp:594 -#, no-c-format -msgid "Function Profile" -msgstr "函式分析檔" - -#. i18n: file functionselectionbase.ui line 41 -#: rc.cpp:300 -#, no-c-format -msgid "&Search:" -msgstr "搜尋(&S):" - -#. i18n: file functionselectionbase.ui line 62 -#: costtypeview.cpp:44 coverageview.cpp:53 partview.cpp:48 rc.cpp:303 -#: rc.cpp:312 -#, no-c-format -msgid "Self" -msgstr "自身" - -#. i18n: file functionselectionbase.ui line 73 -#: rc.cpp:306 -#, no-c-format -msgid "Group" -msgstr "群組" - -#. i18n: file partselectionbase.ui line 16 -#: rc.cpp:324 toplevel.cpp:276 toplevel.cpp:576 -#, no-c-format -msgid "Parts Overview" -msgstr "部件概觀" - -#. i18n: file partselectionbase.ui line 60 -#: rc.cpp:327 -#, no-c-format -msgid "(no trace parts)" -msgstr "(無追蹤部件)" - -#. i18n: file stackselectionbase.ui line 16 -#: rc.cpp:330 -#, no-c-format -msgid "Stack Selection" -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 +#: sourceview.cpp:51 stackselectionbase.ui:31 #, no-c-format msgid "Cost" msgstr "花費" -#. i18n: file stackselectionbase.ui line 42 -#: rc.cpp:336 +#: callmapview.cpp:61 dumpselectionbase.ui:950 functionselectionbase.ui:147 #, no-c-format -msgid "Cost2" -msgstr "花費2" - -#: partgraph.cpp:167 -#, c-format -msgid "Profile Part %1" -msgstr "分析檔部件 %1" - -#: partgraph.cpp:226 -msgid "(no trace)" -msgstr "(無追蹤)" - -#: partgraph.cpp:229 -msgid "(no part)" -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" -msgstr "" -"<p>每個使用者介面元件中的「這是什麼?」說明內含了此元件的詳細用法資訊。建議第一次使用時先閱讀它。您以可以按 Shift+F1 叫出。</p>\n" - -#: 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" -msgstr "" -"<p>若您提供這個選項:<em>--dump-instr=yes</em>,您可以在呼叫樹模式取得指令層級的分析檔資訊。\n" -"用「組譯器檢視」取得指令的註記。</p>\n" - -#: 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" -msgstr "" -"<p>您可以用 Alt 加上左右鍵來在目前的物件歷史中往返。</p>\n" - -#: tips.txt:26 -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" -msgstr "" -"<p>您可以用方向鍵在呼叫者/被呼叫者地圖中導覽。用左右鍵來跳到相鄰的節點,上下鍵則在不同的巢狀等級間來回。要選取目前的項目,您可以按空白鍵,按下 Enter " -"鍵則是啟用。</p>\n" - -#: 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" -msgstr "" -"<p>您可以用方向鍵在呼叫圖檢視中導覽。用左右鍵來跳到與目前選取的呼叫相鄰的節點,上下鍵則在不同的呼叫等級間來回,切換呼叫函式。按下 Enter " -"鍵則是啟用目前的項目。</p>\n" - -#: 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" -msgstr "" -"<p>您可以在工具列的編輯欄中輸入某函式的部份名稱(不分大小寫),再按下 Enter 鍵就可以快速找到該函式的位置。</p>\n" - -#: 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" -msgstr "" -"<p>您可以指定自訂的顏色給圖形中的 ELF 物件、C++ 類別或源碼檔。您只要在「設定」─「設定 KCachegrind...」中設定即可。</p>\n" - -#: tips.txt:58 -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 "" -"<p>如果有提供除錯資訊的話,您可以在資訊分頁中的「位置」標籤處,或是源碼分頁處的源碼標頭處看到所選取函式的除錯資訊。</p>\n" -"<p>必須要有源碼檔的檔名(包括副檔名)。如果 KCachegrind 還是沒有顯示源碼,請確定您已將源碼檔所在的路徑加到設定中的「源碼目錄」清單中。</p>" -"\n" - -#: tips.txt:69 -msgid "" -"<p>...that you can configure whether KCachgrind should\n" -"show absolute event counts or relative ones (percentage display)?</p>\n" -msgstr "" -"<p>您可以設定是否要讓 KCachegrind 顯示絕對事件計數或相對事件計數(以百分比顯示)。</p>\n" - -#: 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" -msgstr "" -"<p>您可以在 KCachegrind " -"中設定所有函式清單中的最大顯示數目。這樣的話,清單中的最後一個項目會顯示出還有多少函式未顯示出來,以及這些未顯示函式的花費。</p>\n" -"<p>要啟動較少花費的函式,您可以搜尋並在簡單分析檔中選取。這樣會暫時新增到簡單分析檔清單中。</p>\n" - -#: tips.txt:87 -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 "" -"<p>「總體呼叫頁」顯示的是呼叫選取的函式的所有函式(上半部),以及被選取的函式呼叫的函式(下半部),包括直接與間接呼叫。</p>\n" -"<p>例如:</p>\n" -"<p>選取函式 bar(),上半部清單中的函式 foo1() 數值 50% 表示從 foo1() 呼叫 bar() 時的花費佔全部花費的 50%。</p>\n" -"<p>下半部清單中的函式 foo2() 數值 50% 表示 bar() 呼叫 foo2() 時的花費佔全部花費的 50%。</p>\n" - -#: tips.txt:102 -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" -msgstr "" -"<p>滑鼠指標指在樹狀地圖中上頭時稍等一下,會跑出逼個工具提示,裡面會顯示巢狀矩形的名稱清單。</p>\n" -"<p>清單中的項目可以用滑鼠右鍵選取。</p>\n" - -#: tips.txt:111 -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" -msgstr "" -"<p>您可以限制只顯示一小部份部件的花費計數,只要在「追蹤選擇」元件中選取這些部件即可。</p>\n" -"<p>要在 cachegrind 的分析執行中產生多個部件,可以用像這樣的選項:--cachedumps=xxx 表示 xxx " -"個基本區塊。(基本區塊是在您的程式碼中不分支的組譯敘述)。</p>\n" - -#: main.cpp:38 -msgid "Run <exec> under cachegrind" -msgstr "在 cachegrind 下執行<exec>" - -#: main.cpp:39 -msgid "Show information of this trace" -msgstr "顯示此追蹤的資訊" - -#: main.cpp:46 -msgid "KCachegrind" -msgstr "KCachegrind" - -#: main.cpp:48 -msgid "TDE Frontend for Cachegrind" -msgstr "Cachegrind 的 TDE 前端程式" - -#: main.cpp:50 -msgid "(C) 2002, 2003, 2004" -msgstr "(c) 2002, 2003, 2004" - -#: main.cpp:53 -msgid "Author/Maintainer" -msgstr "作者/維護者" - -#: coverageitem.cpp:65 coverageitem.cpp:205 functionitem.cpp:72 -#, c-format -msgid "" -"_n: (%n function skipped)\n" -"(%n functions skipped)" -msgstr "(已略過 %n 個函式)" - -#: costlistitem.cpp:60 -#, c-format -msgid "" -"_n: (%n item skipped)\n" -"(%n items skipped)" -msgstr "略過 %n 個項目" - -#: _translatorinfo.cpp:1 -msgid "" -"_: NAME OF TRANSLATORS\n" -"Your names" -msgstr "Frank Weng (a.k.a. Franklin),Franklin Weng" +msgid "Location" +msgstr "位置" -#: _translatorinfo.cpp:3 -msgid "" -"_: EMAIL OF TRANSLATORS\n" -"Your emails" -msgstr "franklin at goodhorse dot idv dot tw" +#: callmapview.cpp:63 dumpselectionbase.ui:754 stackselectionbase.ui:53 +#, no-c-format +msgid "Calls" +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>" +"<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 "" -"<b>呼叫者地圖</b> " -"<p>這個圖形顯示目前活躍的函式所有呼叫者的巢狀架構。每個彩色的矩形表示一個函式,大小會與該函式執行時的花費成比例。(不過畫圖形時會有所限制,所以是盡量成比例)" -"。</p>" +"<b>呼叫者地圖</b> <p>這個圖形顯示目前活躍的函式所有呼叫者的巢狀架構。每個彩色" +"的矩形表示一個函式,大小會與該函式執行時的花費成比例。(不過畫圖形時會有所限" +"制,所以是盡量成比例)。</p>" #: 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>" +"<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 "" -"<b>呼叫地圖</b> " -"<p>這個圖形顯示目前活躍的函式所有呼叫的巢狀架構。每個彩色的矩形表示一個函式,大小會與該函式執行時的花費成比例。(不過畫圖形時會有所限制,所以是盡量成比例)。" -"</p>" +"<b>呼叫地圖</b> <p>這個圖形顯示目前活躍的函式所有呼叫的巢狀架構。每個彩色的矩" +"形表示一個函式,大小會與該函式執行時的花費成比例。(不過畫圖形時會有所限制," +"所以是盡量成比例)。</p>" #: 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>" +"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 "" -"<p>外觀選項可以在選單中找到。要取得精準的大小比例,選擇「隱藏不正確的框線」。這個模式可能會<em>非常</em>" -"花時間,您可能要先限制一下最多的巢狀等級。「最佳」會依父函式的比例來分離子函式的方向。「總是最佳」會依剩餘空間來決定。「忽略比例」會在畫子函式前先保留函式名稱空" -"間。注意大小的比例有可能會錯得很離譜。</p> " -"<p>有一種「樹狀地圖」元件。可以用鍵盤左右鍵來導覽所有的子節點,上下鍵則可以進出巢狀等級。Enter 鍵會啟動目前的項目。</p>" +"<p>外觀選項可以在選單中找到。要取得精準的大小比例,選擇「隱藏不正確的框線」。" +"這個模式可能會<em>非常</em>花時間,您可能要先限制一下最多的巢狀等級。「最佳」" +"會依父函式的比例來分離子函式的方向。「總是最佳」會依剩餘空間來決定。「忽略比" +"例」會在畫子函式前先保留函式名稱空間。注意大小的比例有可能會錯得很離譜。</p> " +"<p>有一種「樹狀地圖」元件。可以用鍵盤左右鍵來導覽所有的子節點,上下鍵則可以進" +"出巢狀等級。Enter 鍵會啟動目前的項目。</p>" #: callmapview.cpp:167 msgid "Go To" @@ -1232,32 +539,193 @@ msgstr "(無函式)" msgid "(no call)" msgstr "(無呼叫)" -#: instritem.cpp:106 sourceitem.cpp:86 -msgid "Active call to '%1'" -msgstr "使用中到 %1 的呼叫" +#: callview.cpp:45 instrview.cpp:127 sourceview.cpp:52 +msgid "Cost 2" +msgstr "花費 2" -#: instritem.cpp:108 sourceitem.cpp:88 +#: callview.cpp:47 callview.cpp:51 +msgid "Count" +msgstr "計數" + +#: callview.cpp:48 coverageview.cpp:50 +msgid "Caller" +msgstr "呼叫者" + +#: callview.cpp:52 coverageview.cpp:56 +msgid "Callee" +msgstr "被呼叫者" + +#: callview.cpp:85 msgid "" -"_n: %n call to '%1'\n" -"%n calls to '%1'" -msgstr "%n 個到 %1 的呼叫" +"<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 "" +"<b>直接呼叫者清單</b> <p>這個清單顯示直接呼叫目前選取函式的所有函式,以及呼叫" +"次數與呼叫花費。</p> <p>如果顯示一圖示而非引入花費,則表示這個呼叫是在遞迴循" +"環之中。引入花費在此沒有意義。</p> <p>選擇某個函式會在目前資訊面板的顯示中跳" +"到該函式。如果有兩個面板(分割模式),則會變換另一個面板的函式。</p>" -#: sourceitem.cpp:125 -msgid "Jump %1 of %2 times to %3" -msgstr "跳到 %3 %1 次,總共需要 %2 次" +#: 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 "" +"<b>直接被呼叫者清單</b> <p>這個清單顯示目前選取函式直接呼叫的所有函式,以及呼" +"叫次數與呼叫花費。</p> <p>選擇某個函式會在目前資訊面板的顯示中跳到該函式。如" +"果有兩個面板(分割模式),則會變換另一個面板的函式。</p>" -#: sourceitem.cpp:130 -msgid "Jump %1 times to %2" -msgstr "跳躍到 %2 %1 次" +#: configdlg.cpp:58 dumpselectionbase.ui:824 +#, no-c-format +msgid "ELF Objects" +msgstr "ELF 物件" -#: instritem.cpp:185 sourceitem.cpp:169 -msgid "(cycle)" -msgstr "(循環)" +#: configdlg.cpp:60 +msgid "Source Files" +msgstr "程式源碼檔案" + +#: configdlg.cpp:61 +msgid "C++ Classes" +msgstr "C++ 類別" + +#: configdlg.cpp:62 +msgid "Function (no Grouping)" +msgstr "功能(無群組)" + +#: configdlg.cpp:157 configdlg.cpp:350 configdlg.cpp:371 +msgid "(always)" +msgstr "(總是)" + +#: configdlg.cpp:210 +msgid "KCachegrind Configuration" +msgstr "KCachegrind 設定" + +#: configdlg.cpp:211 +msgid "" +"The Maximum Number of List Items should be below 500.The previous set value " +"(%1) will still be used." +msgstr "最大的清單項目數應該在 500 以下。將改用之前的設定值(%1)。" + +#: configdlg.cpp:384 +msgid "Choose Source Folder" +msgstr "選擇來源資料夾" + +#: configuration.cpp:67 +msgid "Instruction Fetch" +msgstr "指令抓取" + +#: configuration.cpp:68 +msgid "Data Read Access" +msgstr "資料讀取存取" + +#: configuration.cpp:69 +msgid "Data Write Access" +msgstr "資料寫入存取" + +#: configuration.cpp:70 +msgid "L1 Instr. Fetch Miss" +msgstr "L1 指令抓取失誤" + +#: configuration.cpp:71 +msgid "L1 Data Read Miss" +msgstr "L1 資料讀取失誤" + +#: configuration.cpp:72 +msgid "L1 Data Write Miss" +msgstr "L1 資料寫入失誤" + +#: configuration.cpp:73 +msgid "L2 Instr. Fetch Miss" +msgstr "L2 指令抓取失誤" + +#: configuration.cpp:74 +msgid "L2 Data Read Miss" +msgstr "L2 資料讀取失誤" + +#: configuration.cpp:75 +msgid "L2 Data Write Miss" +msgstr "L2 資料寫入失誤" + +#: configuration.cpp:76 +#, fuzzy +msgid "LL Instr. Fetch Miss" +msgstr "L1 指令抓取失誤" + +#: configuration.cpp:77 +#, fuzzy +msgid "LL Data Read Miss" +msgstr "L1 資料讀取失誤" + +#: configuration.cpp:78 +#, fuzzy +msgid "LL Data Write Miss" +msgstr "L1 資料寫入失誤" + +#: configuration.cpp:79 +msgid "Samples" +msgstr "樣本" + +#: configuration.cpp:80 +msgid "System Time" +msgstr "系統時間" + +#: configuration.cpp:81 +msgid "User Time" +msgstr "使用者時間" + +#: configuration.cpp:82 +msgid "L1 Miss Sum" +msgstr "L1 失誤總和" + +#: configuration.cpp:83 +msgid "L2 Miss Sum" +msgstr "L2 失誤總和" + +#: configuration.cpp:84 +#, fuzzy +msgid "LL Miss Sum" +msgstr "L1 失誤總和" + +#: configuration.cpp:85 +msgid "Cycle Estimation" +msgstr "循環估計" + +#: costlistitem.cpp:60 +#, c-format +msgid "" +"_n: (%n item skipped)\n" +"(%n items skipped)" +msgstr "略過 %n 個項目" + +#: costtypeitem.cpp:56 +msgid "Unknown Type" +msgstr "未知類型" #: 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 "Incl." +msgstr "引入" + +#: costtypeview.cpp:44 coverageview.cpp:53 functionselectionbase.ui:62 +#: functionselectionbase.ui:114 partview.cpp:48 +#, no-c-format +msgid "Self" +msgstr "自身" + #: costtypeview.cpp:45 msgid "Short" msgstr "短" @@ -1268,15 +736,14 @@ 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>" +"<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 "" -"<b>花費類型清單</b>" -"<p>這份清單顯示所有可用的花費類型(cost type)以及目前所選取的函式在該類型的自身與引入的花費。</p> " -"<p>選取其中一種類型,您可以改變所有 KCachegrind 的花費成為該類型。</p>" +"<b>花費類型清單</b><p>這份清單顯示所有可用的花費類型(cost type)以及目前所選" +"取的函式在該類型的自身與引入的花費。</p> <p>選取其中一種類型,您可以改變所有 " +"KCachegrind 的花費成為該類型。</p>" #: costtypeview.cpp:98 msgid "Set Secondary Event Type" @@ -1298,6 +765,10 @@ msgstr "編輯短名稱" msgid "Edit Formula" msgstr "編輯公式" +#: costtypeview.cpp:108 +msgid "Remove" +msgstr "" + #: costtypeview.cpp:115 msgid "New Cost Type ..." msgstr "新增花費類型..." @@ -1312,96 +783,658 @@ msgstr "新增%1" msgid "New Cost Type %1" msgstr "新增花費類型 %1" -#: callview.cpp:45 instrview.cpp:127 sourceview.cpp:52 -msgid "Cost 2" -msgstr "花費 2" +#: coverageitem.cpp:65 coverageitem.cpp:205 functionitem.cpp:72 +#, c-format +msgid "" +"_n: (%n function skipped)\n" +"(%n functions skipped)" +msgstr "(已略過 %n 個函式)" -#: callview.cpp:47 callview.cpp:51 -msgid "Count" -msgstr "計數" +#: coverageview.cpp:48 coverageview.cpp:54 +msgid "Distance" +msgstr "距離" -#: callview.cpp:48 coverageview.cpp:50 -msgid "Caller" -msgstr "呼叫者" +#: coverageview.cpp:49 dumpselectionbase.ui:928 functionselectionbase.ui:125 +#: partview.cpp:49 +#, no-c-format +msgid "Called" +msgstr "已呼叫" -#: callview.cpp:52 coverageview.cpp:56 -msgid "Callee" -msgstr "被呼叫者" +#: coverageview.cpp:55 +msgid "Calling" +msgstr "呼叫中" -#: callview.cpp:85 +#: coverageview.cpp:90 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>" +"<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 "" -"<b>直接呼叫者清單</b> " -"<p>這個清單顯示直接呼叫目前選取函式的所有函式,以及呼叫次數與呼叫花費。</p> " -"<p>如果顯示一圖示而非引入花費,則表示這個呼叫是在遞迴循環之中。引入花費在此沒有意義。</p> " -"<p>選擇某個函式會在目前資訊面板的顯示中跳到該函式。如果有兩個面板(分割模式),則會變換另一個面板的函式。</p>" +"<b>所有呼叫者清單</b> <p>此清單顯示目前選取函式的所有呼叫者函式,包括直接呼叫" +"與間接呼叫。間接呼叫的數字加一稱為「距離」(例如,函式 A 呼叫函式 B,函式 B " +"又呼叫函式 C,則函式 A 到 C 的距離為 2)</p> <p>顯示的「絕對花費」是當一個已" +"列出的所選函式使用時的花費;「相對花費」是此函式相對於所有已選函式的花費。花" +"費圖形以對每個距離以不同顏色顯示對數百分比。</p> <p>因為有可能同一個函式中會" +"有許多呼叫,距離欄位有時會顯示所有發生呼叫的函式的距離範圍,這種狀況下,括弧" +"中顯示的是平均距離,也就是發生呼叫最多花費的地方。</p> <p>選擇某函式可以看每" +"個函式的資訊。如果在分割模式下的兩個面板,會在另一個面板改變。</p>" -#: callview.cpp:98 +#: coverageview.cpp:120 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>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 "" -"<b>直接被呼叫者清單</b> " -"<p>這個清單顯示目前選取函式直接呼叫的所有函式,以及呼叫次數與呼叫花費。</p> " -"<p>選擇某個函式會在目前資訊面板的顯示中跳到該函式。如果有兩個面板(分割模式),則會變換另一個面板的函式。</p>" +"<b>被呼叫者清單</b><p>這份清單顯示所有被目前選取的函式呼叫的函式,包括直接與" +"間接呼叫。間接呼叫的數字加一稱為「距離」(例如,函式 A 呼叫函式 B,函式 B 又" +"呼叫函式 C,則函式 A 到 C 的距離為 2)</p> <p>顯示的「絕對花費」是當一個已列" +"出的所選函式使用時的花費;「相對花費」是此函式相對於所有已選函式的花費。花費" +"圖形以對每個距離以不同顏色顯示對數百分比。</p> <p>因為有可能同一個函式中會有" +"許多呼叫,距離欄位有時會顯示所有發生呼叫的函式的距離範圍,這種狀況下,括弧中" +"顯示的是平均距離,也就是發生呼叫最多花費的地方。</p> <p>選擇某函式可以看每個" +"函式的資訊。如果在分割模式下的兩個面板,會在另一個面板改變。</p>" -#: 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'" +#: functionselection.cpp:52 toplevel.cpp:772 +msgid "(No Grouping)" +msgstr "(無群組)" + +#: functionselection.cpp:176 +#, c-format +msgid "Go to %1" msgstr "跳到 %1" -#: cachegrindloader.cpp:141 -msgid "Import filter for Cachegrind/Callgrind generated profile data files" -msgstr "Cachegrind/Callgrind 產生的分析檔資料檔匯入過濾器" +#: functionselection.cpp:203 +msgid "Show All Items" +msgstr "顯示全部項目" -#: cachegrindloader.cpp:738 +#: 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 "使用中到 %1 的呼叫" + +#: instritem.cpp:108 sourceitem.cpp:88 +msgid "" +"_n: %n call to '%1'\n" +"%n calls to '%1'" +msgstr "%n 個到 %1 的呼叫" + +#: instritem.cpp:137 +msgid "Jump %1 of %2 times to 0x%3" +msgstr "跳躍到 0x%3 %1 次,共要 %2 次" + +#: instritem.cpp:142 +msgid "Jump %1 times to 0x%2" +msgstr "跳躍到 0x%2 %1 次" + +#: 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 "" +"<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 "" +"<b>註記組譯器(Annotated Assembler)</b> <p>註記組譯器顯示目前選取的函式的機" +"器碼指令,以及執行該指令時的花費。如果是呼叫指令,則呼叫時發生的詳情會插入到" +"源碼中,包括呼叫的花費,呼叫的次數,以及呼叫的目的地。</p> <p>反組譯輸出可以" +"用 objdump 產生,通常會包在 binutils 套件中。</p> <p>選取呼叫資訊中的某一行可" +"以眺到被呼叫的函式。</p>" + +#: instrview.cpp:195 #, c-format -msgid "Loading %1" -msgstr "載入 %1 中" +msgid "Go to Address %1" +msgstr "跳到位址 %1" + +#: 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 "要用 Valgrind Calltree Skin,請重新執行並指定選項" + +#: instrview.cpp:429 +msgid " --dump-instr=yes" +msgstr " --dump-instr=yes" + +#: instrview.cpp:430 +msgid "To see (conditional) jumps, additionally specify" +msgstr "想要看條件式的跳躍,請額外指定選項" + +#: instrview.cpp:431 +msgid " --trace-jump=yes" +msgstr " --trace-jump=yes" + +#: 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 "請檢查您是否已安裝 objdump。" + +#: instrview.cpp:636 instrview.cpp:902 +msgid "This utility can be found in the 'binutils' package." +msgstr "這個工具可以在 binutils 套件中找到。" + +#: instrview.cpp:739 +msgid "(No Assembler)" +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." +msgstr "有 %n 個花費線沒有組譯碼。" + +#: 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 "這是從已更新的安裝或其他機器來的 ELF 物件嗎?" + +#: 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 "請檢查命令中使用的 ELF 物件存在。" + +#: main.cpp:38 +msgid "Run <exec> under cachegrind" +msgstr "在 cachegrind 下執行<exec>" + +#: main.cpp:39 +msgid "Show information of this trace" +msgstr "顯示此追蹤的資訊" + +#: main.cpp:46 +msgid "KCachegrind" +msgstr "KCachegrind" + +#: main.cpp:48 +msgid "TDE Frontend for Cachegrind" +msgstr "Cachegrind 的 TDE 前端程式" + +#: main.cpp:50 +msgid "(C) 2002, 2003, 2004" +msgstr "(c) 2002, 2003, 2004" + +#: main.cpp:53 +msgid "Author/Maintainer" +msgstr "作者/維護者" + +#: partgraph.cpp:167 +#, c-format +msgid "Profile Part %1" +msgstr "分析檔部件 %1" + +#: partgraph.cpp:226 +msgid "(no trace)" +msgstr "(無追蹤)" + +#: partgraph.cpp:229 +msgid "(no part)" +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)" +msgstr "(未知)" + +#: partlistitem.cpp:49 +msgid " (Thread %1)" +msgstr "(執行緒 %1)" + +#: partlistitem.cpp:56 +msgid "(none)" +msgstr "(無)" + +#: partselection.cpp:151 +msgid "Profile Part Overview: Current is '%1'" +msgstr "分析檔部件概觀。目前為 %1" + +#: partselection.cpp:287 +msgid "Deselect" +msgstr "取消選擇" + +#: partselection.cpp:287 partselection.cpp:311 +msgid "Select" +msgstr "選擇" + +#: partselection.cpp:292 +msgid "Select All Parts" +msgstr "選擇全部的部件" + +#: partselection.cpp:294 +msgid "Visible Parts" +msgstr "可見的部件" + +#: partselection.cpp:296 +msgid "Hide Selected Parts" +msgstr "隱藏已選取的部件" + +#: partselection.cpp:297 +msgid "Unhide Hidden Parts" +msgstr "重新顯示隱藏的部件" + +#: partselection.cpp:302 toplevel.cpp:1687 +msgid "Go Back" +msgstr "返回" + +#: partselection.cpp:322 +msgid "Partitioning Mode" +msgstr "切割模式" + +#: partselection.cpp:323 +msgid "Diagram Mode" +msgstr "繪圖模式" + +#: partselection.cpp:324 +msgid "Zoom Function" +msgstr "縮放函式" + +#: partselection.cpp:325 +msgid "Show Direct Calls" +msgstr "顯示直接呼叫" + +#: partselection.cpp:326 +msgid "Increment Shown Call Levels" +msgstr "遞增顯示呼叫等級" + +#: partselection.cpp:340 +msgid "Draw Names" +msgstr "繪製名稱" + +#: partselection.cpp:341 +msgid "Draw Costs" +msgstr "繪製花費" + +#: partselection.cpp:343 +msgid "Draw Frames" +msgstr "繪製框架" + +#: partselection.cpp:359 +msgid "Hide Info" +msgstr "隱藏資訊" + +#: partselection.cpp:361 +msgid "Show Info" +msgstr "顯示資訊" + +#: partselection.cpp:541 +msgid "(no trace loaded)" +msgstr "(未載入追蹤)" + +#: partview.cpp:46 tracedata.cpp:179 +msgid "Profile Part" +msgstr "分析檔部件" + +#: partview.cpp:51 +msgid "Comment" +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>" +msgstr "" +"<b>追蹤部件清單</b> <p>這份清單顯示載入的追蹤的所有追蹤部件。每個部件中包含目" +"前選取的函式在該部件中的自身與引入的花費,百分比是相對於該部件的總花費(不是" +"追蹤部件概觀中的總花費)。另外也會呼叫目前函式的呼叫者與被呼叫者。</p> <p>若" +"從清單中選擇追蹤部件,就只會顯示選取的部件的花費。如果沒有選擇任何部件,則預" +"設是選取所有的部件。</p> <p>這是可以多重選擇的清單,您可以拖曳滑鼠來選取一個" +"範圍,或是用 Shift 或 Ctrl 鍵來在「追蹤部件概觀」元件中選擇部件。</p> <p>注意" +"若是只載入一個追蹤部件,則此元件是隱藏的。</p>" + +#: partview.cpp:106 +msgid "Select '%1'" +msgstr "選擇 %1" + +#: partview.cpp:107 +msgid "Hide '%1'" +msgstr "隱藏 %1" + +#: partview.cpp:111 +msgid "Hide Selected" +msgstr "隱藏已選取項目" + +#: partview.cpp:112 +msgid "Show All" +msgstr "全部顯示" + +#: sourceitem.cpp:125 +msgid "Jump %1 of %2 times to %3" +msgstr "跳到 %3 %1 次,總共需要 %2 次" + +#: sourceitem.cpp:130 +msgid "Jump %1 times to %2" +msgstr "跳躍到 %2 %1 次" + +#: 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 "" +"<b>註記源碼</b> <p>註記源碼清單顯示目前所選取的函式源碼,以及其執行時的花費。" +"如果在源碼中有呼叫,則呼叫發生時的詳情會被插入源碼中,包括呼叫時的花費,呼叫" +"的數量以及呼叫的目的地。</p> <p>選取被插入的呼叫資訊可以眺到該函式。</p>" + +#: sourceview.cpp:120 +#, c-format +msgid "Go to Line %1" +msgstr "跳到第 %1 行" + +#: 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 "程式源碼(%1)" + +#: sourceview.cpp:559 +msgid "--- Inlined from '%1' ---" +msgstr "--- 從 %1 引入 ---" + +#: 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 "這個函式位於此 ELF 物件中:" + +#: 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." +msgstr "這個清單可以在設定對話框中找到。" + +#: tabview.cpp:64 +msgid "Move to Top" +msgstr "移動到頂端" + +#: tabview.cpp:65 tabview.cpp:91 +#, fuzzy +msgid "Top" +msgstr "左上方" + +#: tabview.cpp:68 +msgid "Move to Right" +msgstr "移動到右方" + +#: tabview.cpp:69 tabview.cpp:92 +#, fuzzy +msgid "Right" +msgstr "右上方" + +#: tabview.cpp:72 +msgid "Move to Bottom" +msgstr "移動到底端" + +#: tabview.cpp:73 tabview.cpp:93 +#, fuzzy +msgid "Bottom" +msgstr "左下方" + +#: tabview.cpp:76 +msgid "Move to Bottom Left" +msgstr "移動到左下方" + +#: tabview.cpp:77 tabview.cpp:94 treemap.cpp:2908 +msgid "Bottom Left" +msgstr "左下方" + +#: tabview.cpp:79 +msgid "Move Area To" +msgstr "移動區域到" + +#: tabview.cpp:81 +msgid "Hide This Tab" +msgstr "隱藏此分頁" + +#: tabview.cpp:82 +msgid "Hide Area" +msgstr "隱藏範圍" + +#: tabview.cpp:95 +msgid "Show Hidden On" +msgstr "顯示隱藏於" + +#: tabview.cpp:242 +msgid "(No profile data file loaded)" +msgstr "(沒有載入分析資料檔)" + +#: tabview.cpp:281 +msgid "Types" +msgstr "類型" + +#: tabview.cpp:284 +msgid "Callers" +msgstr "呼叫者" + +#: tabview.cpp:287 +msgid "All Callers" +msgstr "所有呼叫者" + +#: 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>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 "" +"<b>資訊分頁</b><p>本畫面以不同分頁顯示目前所選擇函數的資訊: <ul><li>「花費」" +"分頁顯示可用的事件型態清單,以及它們的引入與自身花費。</li><li>「部件」分頁在" +"有一個以上的追蹤時顯示追蹤部件清單。(若只有一個則會隱藏此分頁。)也會顯示選" +"取的函式在不同的部件,以及呼叫的花費。</li><li>「呼叫清單」分頁顯示此函式內直" +"接呼叫的函式,與直接呼叫此函式的函式詳情。</li><li>「總體呼叫」分頁顯示的跟" +"「呼叫清單」差不多,不過還包括間接呼叫。</li><li>「呼叫圖」分頁顯示此函式與呼" +"叫者之間的圖形關係。</li><li>「源碼」分頁在除錯資訊與程式源碼檔可用時顯示源" +"碼。</li><li>「組合」分頁顯示追蹤資訊的機械碼。</li></ul>更多詳情可以參考「這" +"是什麼?」的說明元件。</p>" + +#: tabview.cpp:630 +msgid "(No Data loaded)" +msgstr "(沒有載入資料)" + +#: tabview.cpp:631 +msgid "(No function selected)" +msgstr "(沒有選取函式)" + +#: 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 "" -"<b>部件概觀</b>" -"<p>當某個分析檔中還有多個分析資料檔時,這份概觀可以看到所有的追蹤部件。追蹤部件概觀水平軸為執行時間,矩形大小與部件的總花費成比例。您可以選擇多個部件來顯示這" -"些部件的總花費。</p> " -"<p>這些部件可以再更進一步細分:有分割模式與被呼叫者模式: " -"<ul> " -"<li>分割模式(Partitioning):您可以看到追蹤部件被分割為多個群組,根據所選取的群組類型,例如選取了 ELF 物件群組,您可以看到每個被使用的 " -"ELF 物件(分享函式庫或執行檔)都分別用彩色的矩形表示,矩形大小與花費成比例。</li> " -"<li>被呼叫者(Callee)模式:顯示一個矩形,代表此追蹤部件裡目前所選取的函式的總花費。這裡面又分成小矩形,代表每個被呼叫者的花費。</li></ul>" -"</p>" +"<b>部件概觀</b><p>當某個分析檔中還有多個分析資料檔時,這份概觀可以看到所有的" +"追蹤部件。追蹤部件概觀水平軸為執行時間,矩形大小與部件的總花費成比例。您可以" +"選擇多個部件來顯示這些部件的總花費。</p> <p>這些部件可以再更進一步細分:有分" +"割模式與被呼叫者模式: <ul> <li>分割模式(Partitioning):您可以看到追蹤部件" +"被分割為多個群組,根據所選取的群組類型,例如選取了 ELF 物件群組,您可以看到每" +"個被使用的 ELF 物件(分享函式庫或執行檔)都分別用彩色的矩形表示,矩形大小與花" +"費成比例。</li> <li>被呼叫者(Callee)模式:顯示一個矩形,代表此追蹤部件裡目" +"前所選取的函式的總花費。這裡面又分成小矩形,代表每個被呼叫者的花費。</li></" +"ul></p>" #: toplevel.cpp:313 msgid "Top Cost Call Stack" @@ -1409,16 +1442,15 @@ 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 "" -"<b>最高花費呼叫堆疊</b>" -"<p>這只是純虛構的「最有可能的」呼叫堆疊。它是從目前選取的函式開始,針對每個呼叫者與被呼叫者的最高花費放到堆疊中。</p> " -"<p><b>花費</b>與<b>呼叫</b>欄位顯示呼叫所使用的花費。</p>" +"<b>最高花費呼叫堆疊</b><p>這只是純虛構的「最有可能的」呼叫堆疊。它是從目前選" +"取的函式開始,針對每個呼叫者與被呼叫者的最高花費放到堆疊中。</p> <p><b>花費</" +"b>與<b>呼叫</b>欄位顯示呼叫所使用的花費。</p>" #: toplevel.cpp:328 msgid "Flat Profile" @@ -1426,59 +1458,54 @@ 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 "" -"<b>簡單分析檔</b>" -"<p>簡單分析檔(Flat " -"Profile)包含一個群組與函式選取清單。根據所選取的群組型態,群組清單包含了所有花費到的群組。若是群組型態選擇為「函式」則群組清單會被隱藏起來。</p> " -"<p>函式清單則包含了所選取的群組的函式,(如果群組型態為「函式」則包含所有的函式),依花費排序。花費少於 1% 的則預設為隱藏。</p>" +"<b>簡單分析檔</b><p>簡單分析檔(Flat Profile)包含一個群組與函式選取清單。根" +"據所選取的群組型態,群組清單包含了所有花費到的群組。若是群組型態選擇為「函" +"式」則群組清單會被隱藏起來。</p> <p>函式清單則包含了所選取的群組的函式,(如" +"果群組型態為「函式」則包含所有的函式),依花費排序。花費少於 1% 的則預設為隱" +"藏。</p>" + +#: 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 "" -"<b>分析檔傾印(Profile dump)</b>" -"<p>這個嵌入元件的上半部顯示以下目錄及其子目錄中,可載入的分析檔傾印: " -"<ul>" -"<li>目前 KCachegrind 的工作目錄;</li>" -"<li>設定中所預設的分析檔傾印目錄。</li></ul> 這個清單依據分析檔分析的指令排序。</p> " -"<p>選取某個分析檔傾印,其資訊會顯示在此元件的下半部: " -"<ul>" -"<li><b>選項</b>讓您可以檢視此分析檔分析的指令,以及此傾印的分析檔選項。改變任何項目,新的分析檔樣本就會建立(但未儲存)。按下「執行分析檔」就會在背景" -"開始用新的選項來執行分析檔。</li> " -"<li><b>資訊</b>為所選取的傾印的詳細資訊,包括事件花費概要,模擬的快取的屬性等。</li> " -"<li><b>狀態</b>只對目前執行中的分析檔有用。按下「更新」可以看執行中的計數器,程式堆疊目前的位置。檢查每一個選項,讓 KCachegrind " -"可以常規性地輪詢這些資料。檢查同步選項讓此元件同步。</li></ul></p>" +"<b>分析檔傾印(Profile dump)</b><p>這個嵌入元件的上半部顯示以下目錄及其子目" +"錄中,可載入的分析檔傾印: <ul><li>目前 KCachegrind 的工作目錄;</li><li>設定" +"中所預設的分析檔傾印目錄。</li></ul> 這個清單依據分析檔分析的指令排序。</p> " +"<p>選取某個分析檔傾印,其資訊會顯示在此元件的下半部: <ul><li><b>選項</b>讓您" +"可以檢視此分析檔分析的指令,以及此傾印的分析檔選項。改變任何項目,新的分析檔" +"樣本就會建立(但未儲存)。按下「執行分析檔」就會在背景開始用新的選項來執行分" +"析檔。</li> <li><b>資訊</b>為所選取的傾印的詳細資訊,包括事件花費概要,模擬的" +"快取的屬性等。</li> <li><b>狀態</b>只對目前執行中的分析檔有用。按下「更新」可" +"以看執行中的計數器,程式堆疊目前的位置。檢查每一個選項,讓 KCachegrind 可以常" +"規性地輪詢這些資料。檢查同步選項讓此元件同步。</li></ul></p>" #: toplevel.cpp:450 msgid "&Duplicate" @@ -1486,14 +1513,17 @@ msgstr "複製(&D)" #: 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 "<b>複製目前的佈局</b><p>複製目前的佈局。</p>" +#: 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 "<b>移除目前的佈局</b><p>刪除目前的佈局,並回到上一個。</p>" #: toplevel.cpp:465 @@ -1538,10 +1568,14 @@ msgstr "新增(&A)..." #: 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 "<b>新增分析檔資料</b> <p>在目前視窗中開啟新的分析資料檔。</p>" +#: toplevel.cpp:509 +msgid "&Reload" +msgstr "" + #: toplevel.cpp:517 msgid "<b>Reload Profile Data</b><p>This loads any new created parts, too.</p>" msgstr "<b>重新載入分析資料</b><p>這也會載入任何新建立的部件。</p>" @@ -1552,10 +1586,10 @@ msgstr "匯出圖形(&E)" #: toplevel.cpp:525 msgid "" -"<b>Export Call Graph</b>" -"<p>Generates a file with extension .dot for the tools of the GraphViz " -"package.</p>" -msgstr "<b>匯出呼叫圖</b> <p>產生副檔名為 .dot 的 GraphViz 套件工具的檔案。</p>" +"<b>Export Call Graph</b><p>Generates a file with extension .dot for the " +"tools of the GraphViz package.</p>" +msgstr "" +"<b>匯出呼叫圖</b> <p>產生副檔名為 .dot 的 GraphViz 套件工具的檔案。</p>" #: toplevel.cpp:531 msgid "&Force Dump" @@ -1563,35 +1597,36 @@ msgstr "強制傾印(&F)" #: 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 "" -"<b>強制傾印</b> " -"<p>強制 Callgrind 執行分析檔傾印在目前的目錄中。當 KCachegrind " -"要尋找傾印時可以勾選此選項。傾印完成後,會自動重新載入目前的追蹤。如果是 Callgrind 傾印,則也會載入新建立的追蹤部件。</p> " -"<p>強制傾印會建立一個叫做 callgrind.cmd 的檔案,並每秒鐘檢查其存在與否。執行中的 Callgrind 會偵測此檔,傾印追蹤部件,並刪除 " -"callgrind.cmd 檔。KCachegrind 會偵測到刪除的動作,並做重新載入。如果沒有執行 " -"Callgrind,再按一次「強制傾印」會取消傾印的要求。這會刪除 callgrind.cmd 檔並停止輪詢新的傾印。</p> " -"<p>注意:Callgrind 執行時只會在實際執行的時間(只有幾毫秒)才會偵測 callgrind.cmd " -"檔的存在與否,休眠(Sleep)時並不會偵測。提示:若是使用者介面的程式分析檔,您可以用調整視窗大小來叫醒 Callgrind。</p>" +"<b>強制傾印</b> <p>強制 Callgrind 執行分析檔傾印在目前的目錄中。當 " +"KCachegrind 要尋找傾印時可以勾選此選項。傾印完成後,會自動重新載入目前的追" +"蹤。如果是 Callgrind 傾印,則也會載入新建立的追蹤部件。</p> <p>強制傾印會建立" +"一個叫做 callgrind.cmd 的檔案,並每秒鐘檢查其存在與否。執行中的 Callgrind 會" +"偵測此檔,傾印追蹤部件,並刪除 callgrind.cmd 檔。KCachegrind 會偵測到刪除的動" +"作,並做重新載入。如果沒有執行 Callgrind,再按一次「強制傾印」會取消傾印的要" +"求。這會刪除 callgrind.cmd 檔並停止輪詢新的傾印。</p> <p>注意:Callgrind 執行" +"時只會在實際執行的時間(只有幾毫秒)才會偵測 callgrind.cmd 檔的存在與否,休眠" +"(Sleep)時並不會偵測。提示:若是使用者介面的程式分析檔,您可以用調整視窗大小" +"來叫醒 Callgrind。</p>" #: 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 "<b>開啟分析檔資料</b><p>開啟分析檔資料。</p>" #: toplevel.cpp:581 @@ -1606,6 +1641,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 "顯示/隱藏函式分析檔嵌入面板" @@ -1636,50 +1676,24 @@ 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 "" -"<b>顯示相對於父項目的相關花費百分比</b> " -"<p>關閉此選項的話,則花費百分比是以相對於目前瀏覽的分析檔部件的總花費。開啟此選項,則此百分比是相對於父項目的相關花費。 " -"<ul>" -"<table>" -"<tr>" -"<td>花費型態</td>" -"<td>父項目花費</td></tr> " -"<tr>" -"<td>函式累積</td>" -"<td>總計</td></tr> " -"<tr>" -"<td>函式本身</td>" -"<td>函式群組(*) / 總計</td></tr> " -"<tr>" -"<td>呼叫</td>" -"<td>函式累積</td></tr> " -"<tr>" -"<td>源碼行號</td>" -"<td>函式累積</td></tr></table></p> " -"<p>(*):只有在打開函式群組時(例如 ELF 物件群組)</p>" +"<b>顯示相對於父項目的相關花費百分比</b> <p>關閉此選項的話,則花費百分比是以相" +"對於目前瀏覽的分析檔部件的總花費。開啟此選項,則此百分比是相對於父項目的相關" +"花費。 <ul><table><tr><td>花費型態</td><td>父項目花費</td></tr> <tr><td>函式" +"累積</td><td>總計</td></tr> <tr><td>函式本身</td><td>函式群組(*) / 總計</" +"td></tr> <tr><td>呼叫</td><td>函式累積</td></tr> <tr><td>源碼行號</td><td>函" +"式累積</td></tr></table></p> <p>(*):只有在打開函式群組時(例如 ELF 物件群" +"組)</p>" #: toplevel.cpp:653 msgid "Do Cycle Detection" @@ -1691,23 +1705,23 @@ 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 "" -"<b>偵測遞迴循環</b> " -"<p>關閉此選項的話,樹狀圖會以黑色區域表示遞迴呼叫,而非無限制地畫遞迴。注意,黑色區域的大小通常會是錯的,因為遞迴循環時呼叫的花費無法立即決定。不過對假循環而" -"言,這個問題並不大(請參考文件說明)。</p> " -"<p>勾選此選項的話,會去偵測並展開所有的函式成為一虛擬函式,以便正確處理。不過,對使用者介面的應用程式來說,這會產生巨大的假循環,變得無法分析。因此,就必須關" -"掉這個選項。</p>" +"<b>偵測遞迴循環</b> <p>關閉此選項的話,樹狀圖會以黑色區域表示遞迴呼叫,而非無" +"限制地畫遞迴。注意,黑色區域的大小通常會是錯的,因為遞迴循環時呼叫的花費無法" +"立即決定。不過對假循環而言,這個問題並不大(請參考文件說明)。</p> <p>勾選此" +"選項的話,會去偵測並展開所有的函式成為一虛擬函式,以便正確處理。不過,對使用" +"者介面的應用程式來說,這會產生巨大的假循環,變得無法分析。因此,就必須關掉這" +"個選項。</p>" #: toplevel.cpp:684 toplevel.cpp:724 msgid "Go back in function selection history" @@ -1719,10 +1733,10 @@ 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>" -msgstr "<b>往上</b><p>到此函式最後一個選取的呼叫者。如果沒有,則使用最高花費。</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 "" +"<b>往上</b><p>到此函式最後一個選取的呼叫者。如果沒有,則使用最高花費。</p>" #: toplevel.cpp:702 msgid "&Up" @@ -1744,18 +1758,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 "分割" @@ -1814,10 +1820,6 @@ msgstr "顯示絕對花費" msgid "Show Relative Cost" msgstr "顯示相對花費" -#: partselection.cpp:302 toplevel.cpp:1687 -msgid "Go Back" -msgstr "返回" - #: toplevel.cpp:1688 msgid "Go Forward" msgstr "往前" @@ -1859,900 +1861,848 @@ msgstr "(沒有前一個函式)" msgid "(No Function Up)" msgstr "(沒有函式往上)" -#: costtypeitem.cpp:56 -msgid "Unknown Type" -msgstr "未知類型" - -#: functionselection.cpp:176 -#, c-format -msgid "Go to %1" -msgstr "跳到 %1" - -#: 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 "" -"<b>註記源碼</b> " -"<p>註記源碼清單顯示目前所選取的函式源碼,以及其執行時的花費。如果在源碼中有呼叫,則呼叫發生時的詳情會被插入源碼中,包括呼叫時的花費,呼叫的數量以及呼叫的目的" -"地。</p> " -"<p>選取被插入的呼叫資訊可以眺到該函式。</p>" - -#: sourceview.cpp:120 -#, c-format -msgid "Go to Line %1" -msgstr "跳到第 %1 行" - -#: 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 "程式源碼(%1)" - -#: sourceview.cpp:559 -msgid "--- Inlined from '%1' ---" -msgstr "--- 從 %1 引入 ---" - -#: 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 "這個函式位於此 ELF 物件中:" +#: tracedata.cpp:153 +msgid "Abstract Item" +msgstr "抽象項目" -#: sourceview.cpp:583 -msgid "This is because its source file cannot be found:" -msgstr "這是因為它的程式源碼檔找不到:" +#: tracedata.cpp:154 +msgid "Cost Item" +msgstr "花費項目" -#: sourceview.cpp:587 -msgid "Add the folder of this file to the source folder list." -msgstr "新增此檔案所在的資料夾到程式源碼資料夾清單中。" +#: tracedata.cpp:155 +msgid "Part Source Line" +msgstr "源碼行部件" -#: sourceview.cpp:589 -msgid "The list can be found in the configuration dialog." -msgstr "這個清單可以在設定對話框中找到。" +#: tracedata.cpp:156 +msgid "Source Line" +msgstr "源碼行" -#: configuration.cpp:67 -msgid "Instruction Fetch" -msgstr "指令抓取" +#: tracedata.cpp:157 +msgid "Part Line Call" +msgstr "行呼叫部件" -#: configuration.cpp:68 -msgid "Data Read Access" -msgstr "資料讀取存取" +#: tracedata.cpp:158 +msgid "Line Call" +msgstr "行呼叫" -#: configuration.cpp:69 -msgid "Data Write Access" -msgstr "資料寫入存取" +#: tracedata.cpp:159 +msgid "Part Jump" +msgstr "跳躍部件" -#: configuration.cpp:70 -msgid "L1 Instr. Fetch Miss" -msgstr "L1 指令抓取失誤" +#: tracedata.cpp:160 +msgid "Jump" +msgstr "跳躍" -#: configuration.cpp:71 -msgid "L1 Data Read Miss" -msgstr "L1 資料讀取失誤" +#: tracedata.cpp:161 +msgid "Part Instruction" +msgstr "指令部件" -#: configuration.cpp:72 -msgid "L1 Data Write Miss" -msgstr "L1 資料寫入失誤" +#: tracedata.cpp:162 +msgid "Instruction" +msgstr "指令" -#: configuration.cpp:73 -msgid "L2 Instr. Fetch Miss" -msgstr "L2 指令抓取失誤" +#: tracedata.cpp:163 +msgid "Part Instruction Jump" +msgstr "指令跳躍部件" -#: configuration.cpp:74 -msgid "L2 Data Read Miss" -msgstr "L2 資料讀取失誤" +#: tracedata.cpp:164 +msgid "Instruction Jump" +msgstr "指令跳躍" -#: configuration.cpp:75 -msgid "L2 Data Write Miss" -msgstr "L2 資料寫入失誤" +#: tracedata.cpp:165 +msgid "Part Instruction Call" +msgstr "指令呼叫部件" -#: configuration.cpp:76 -#, fuzzy -msgid "LL Instr. Fetch Miss" -msgstr "L1 指令抓取失誤" +#: tracedata.cpp:166 +msgid "Instruction Call" +msgstr "指令呼叫" -#: configuration.cpp:77 -#, fuzzy -msgid "LL Data Read Miss" -msgstr "L1 資料讀取失誤" +#: tracedata.cpp:167 +msgid "Part Call" +msgstr "呼叫部件" -#: configuration.cpp:78 -#, fuzzy -msgid "LL Data Write Miss" -msgstr "L1 資料寫入失誤" +#: tracedata.cpp:168 +msgid "Call" +msgstr "呼叫" -#: configuration.cpp:79 -msgid "Samples" -msgstr "樣本" +#: tracedata.cpp:169 +msgid "Part Function" +msgstr "函式部件" -#: configuration.cpp:80 -msgid "System Time" -msgstr "系統時間" +#: tracedata.cpp:170 +msgid "Function Source File" +msgstr "函式源碼檔案" -#: configuration.cpp:81 -msgid "User Time" -msgstr "使用者時間" +#: dumpselectionbase.ui:300 dumpselectionbase.ui:939 +#: functionselectionbase.ui:136 stackselectionbase.ui:64 tracedata.cpp:171 +#, no-c-format +msgid "Function" +msgstr "函式" -#: configuration.cpp:82 -msgid "L1 Miss Sum" -msgstr "L1 失誤總和" +#: tracedata.cpp:172 +msgid "Function Cycle" +msgstr "函式循環" -#: configuration.cpp:83 -msgid "L2 Miss Sum" -msgstr "L2 失誤總和" +#: tracedata.cpp:173 +msgid "Part Class" +msgstr "類別部件" -#: configuration.cpp:84 -#, fuzzy -msgid "LL Miss Sum" -msgstr "L1 失誤總和" +#: tracedata.cpp:174 +msgid "Class" +msgstr "類別" -#: configuration.cpp:85 -msgid "Cycle Estimation" -msgstr "循環估計" +#: tracedata.cpp:175 +msgid "Part Source File" +msgstr "程式源碼檔案部件" -#: configdlg.cpp:60 -msgid "Source Files" +#: tracedata.cpp:176 +msgid "Source File" msgstr "程式源碼檔案" -#: configdlg.cpp:61 -msgid "C++ Classes" -msgstr "C++ 類別" - -#: configdlg.cpp:62 -msgid "Function (no Grouping)" -msgstr "功能(無群組)" - -#: configdlg.cpp:157 configdlg.cpp:350 configdlg.cpp:371 -msgid "(always)" -msgstr "(總是)" - -#: configdlg.cpp:210 -msgid "KCachegrind Configuration" -msgstr "KCachegrind 設定" +#: tracedata.cpp:177 +msgid "Part ELF Object" +msgstr "ELF 物件部件" -#: configdlg.cpp:211 -msgid "" -"The Maximum Number of List Items should be below 500.The previous set value " -"(%1) will still be used." -msgstr "最大的清單項目數應該在 500 以下。將改用之前的設定值(%1)。" +#: tracedata.cpp:178 +msgid "ELF Object" +msgstr "ELF 物件" -#: configdlg.cpp:384 -msgid "Choose Source Folder" -msgstr "選擇來源資料夾" +#: tracedata.cpp:180 +msgid "Program Trace" +msgstr "程式追蹤" -#: partview.cpp:51 -msgid "Comment" -msgstr "註解" +#: tracedata.cpp:241 +msgid "%1 from %2" +msgstr "%1 從 %2" -#: 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 "" -"<b>追蹤部件清單</b> " -"<p>這份清單顯示載入的追蹤的所有追蹤部件。每個部件中包含目前選取的函式在該部件中的自身與引入的花費,百分比是相對於該部件的總花費(不是追蹤部件概觀中的總花費)" -"。另外也會呼叫目前函式的呼叫者與被呼叫者。</p> " -"<p>若從清單中選擇追蹤部件,就只會顯示選取的部件的花費。如果沒有選擇任何部件,則預設是選取所有的部件。</p> " -"<p>這是可以多重選擇的清單,您可以拖曳滑鼠來選取一個範圍,或是用 Shift 或 Ctrl 鍵來在「追蹤部件概觀」元件中選擇部件。</p> " -"<p>注意若是只載入一個追蹤部件,則此元件是隱藏的。</p>" +#: tracedata.cpp:2583 +msgid "(no caller)" +msgstr "(無呼叫者)" -#: partview.cpp:106 -msgid "Select '%1'" -msgstr "選擇 %1" +#: tracedata.cpp:2590 tracedata.cpp:2609 +msgid "%1 via %2" +msgstr "%1 經過 %2" -#: partview.cpp:107 -msgid "Hide '%1'" -msgstr "隱藏 %1" +#: tracedata.cpp:2599 +msgid "(no callee)" +msgstr "(無被呼叫者)" -#: partview.cpp:111 -msgid "Hide Selected" -msgstr "隱藏已選取項目" +#: tracedata.cpp:4467 +msgid "(not found)" +msgstr "(未找到)" -#: partview.cpp:112 -msgid "Show All" -msgstr "全部顯示" +#: tracedata.cpp:5017 +msgid "Recalculating Function Cycles..." +msgstr "重新計算函式循環..." -#: callgraphview.cpp:306 -#, c-format -msgid "Call(s) from %1" -msgstr "從 %1 來的呼叫" +#: traceitemview.cpp:53 +msgid "No description available" +msgstr "沒有可用的描述" -#: callgraphview.cpp:307 +#: treemap.cpp:1281 #, c-format -msgid "Call(s) to %1" -msgstr "呼叫 %1" - -#: callgraphview.cpp:308 -msgid "(unknown call)" -msgstr "(未知的呼叫)" +msgid "Text %1" +msgstr "文字 %1" -#: 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 "" -"<b>活躍函式的呼叫圖環境</b> " -"<p>根據設定,此檢視顯示活躍函式的呼叫圖環境。注意:顯示的花費只表示此函式執行中的花費,也就是說,main() 函式顯示的花費會跟此函式的花費一樣,因為那是 " -"main() 的引入花費。</p> " -"<p>對循環而言,藍色的呼叫箭頭表示是人工加上去修正的,實際上不會發生。</p> " -"<p>如果此圖大於元件的大小,則會在一邊顯示略圖。類似呼叫樹狀圖的視覺選項,選取的函式會被突顯。</p>" +#: treemap.cpp:2809 +msgid "Recursive Bisection" +msgstr "遞迴對切" -#: callgraphview.cpp:1789 -msgid "" -"Warning: a long lasting graph layouting is in progress.\n" -"Reduce node/edge limits for speedup.\n" -msgstr "" -"警告:正在進行長而持續的佈局作業。\n" -"要加速,請降低節點與邊線的限制。\n" +#: treemap.cpp:2810 +msgid "Columns" +msgstr "欄" -#: callgraphview.cpp:1792 -msgid "" -"Layouting stopped.\n" -msgstr "" -"佈局停止。\n" +#: treemap.cpp:2811 +msgid "Rows" +msgstr "列" -#: callgraphview.cpp:1794 -msgid "" -"The call graph has %1 nodes and %2 edges.\n" -msgstr "" -"呼叫圖中含有 %1 個節點與 %2 個邊線。\n" +#: treemap.cpp:2812 +msgid "Always Best" +msgstr "永遠最好的" -#: callgraphview.cpp:1827 -msgid "No item activated for which to draw the call graph." -msgstr "沒有激發要繪製呼叫圖的項目。" +#: treemap.cpp:2813 +msgid "Best" +msgstr "最好的" -#: callgraphview.cpp:1838 -msgid "No call graph can be drawn for the active item." -msgstr "沒有目前活躍的項目可繪製呼叫圖。" +#: treemap.cpp:2814 +msgid "Alternate (V)" +msgstr "替代(垂直)" -#: callgraphview.cpp:1867 -msgid "" -"No call graph is available because the following\n" -"command cannot be run:\n" -"'%1'\n" -msgstr "" -"沒有可用的呼叫圖,因為以下的指令無法執行:\n" -"%1\n" +#: treemap.cpp:2815 +msgid "Alternate (H)" +msgstr "替代(水平)" -#: callgraphview.cpp:1870 callgraphview.cpp:2199 -msgid "Please check that 'dot' is installed (package GraphViz)." -msgstr "請檢查 dot 已安裝(在 GraphViz 套件中)" +#: treemap.cpp:2816 +#, fuzzy +msgid "Horizontal" +msgstr "水平分割" -#: callgraphview.cpp:2198 -msgid "" -"Error running the graph layouting tool.\n" +#: treemap.cpp:2817 +msgid "Vertical" msgstr "" -"執行圖形佈局工具時發生錯誤。\n" - -#: 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 "沒有函式 %1 的呼叫圖,因為沒有所選取事件型態的花費。" -#: callgraphview.cpp:2427 -msgid "Stop Layouting" -msgstr "停止佈局" - -#: callgraphview.cpp:2435 -msgid "As PostScript" -msgstr "為 PostScript 檔" +#: treemap.cpp:2872 +msgid "Nesting" +msgstr "巢狀" -#: callgraphview.cpp:2436 -msgid "As Image ..." -msgstr "為影像檔..." +#: treemap.cpp:2874 +#, fuzzy +msgid "Border" +msgstr "邊框 0" -#: callgraphview.cpp:2438 -msgid "Export Graph" -msgstr "匯出圖形" +#: treemap.cpp:2875 +msgid "Correct Borders Only" +msgstr "只有正確的框線" -#: callgraphview.cpp:2443 callgraphview.cpp:2466 -msgid "Unlimited" -msgstr "無限制" +#: treemap.cpp:2877 treemap.cpp:2878 treemap.cpp:2879 treemap.cpp:2880 +#, c-format +msgid "Width %1" +msgstr "寬度 %1" -#: callgraphview.cpp:2446 callgraphview.cpp:2469 -msgid "None" -msgstr "無" +#: treemap.cpp:2902 +msgid "Visible" +msgstr "可見的" -#: callgraphview.cpp:2447 callgraphview.cpp:2470 -msgid "max. 2" -msgstr "最大 2" +#: treemap.cpp:2903 +msgid "Take Space From Children" +msgstr "由子系統取得空間" -#: callgraphview.cpp:2448 callgraphview.cpp:2471 -msgid "max. 5" -msgstr "最大 5" +#: treemap.cpp:2905 +msgid "Top Left" +msgstr "左上方" -#: callgraphview.cpp:2449 callgraphview.cpp:2472 -msgid "max. 10" -msgstr "最大 10" +#: treemap.cpp:2906 +msgid "Top Center" +msgstr "頂端中央" -#: callgraphview.cpp:2450 callgraphview.cpp:2473 -msgid "max. 15" -msgstr "最大 15" +#: treemap.cpp:2907 +msgid "Top Right" +msgstr "右上方" -#: callgraphview.cpp:2460 callgraphview.cpp:2483 -#, c-format -msgid "< %1" -msgstr "< %1" +#: treemap.cpp:2909 +msgid "Bottom Center" +msgstr "底端中央" -#: callgraphview.cpp:2489 -msgid "No Minimum" -msgstr "無最小值" +#: treemap.cpp:2910 +msgid "Bottom Right" +msgstr "右下方" -#: callgraphview.cpp:2493 -#, c-format -msgid "50 %" -msgstr "50 %" +#: treemap.cpp:2987 +msgid "No %1 Limit" +msgstr "沒有 %1 限制" -#: callgraphview.cpp:2494 +#: treemap.cpp:3056 treemap.cpp:3067 #, c-format -msgid "20 %" -msgstr "20 %" +msgid "" +"_n: 1 Pixel\n" +"%n Pixels" +msgstr "%n 像素" -#: callgraphview.cpp:2495 -#, c-format -msgid "10 %" -msgstr "10 %" +#: treemap.cpp:3073 +msgid "Halve Area Limit (to %1)" +msgstr "將區域限制減半(到 %1)" -#: callgraphview.cpp:2496 +#: treemap.cpp:3118 #, c-format -msgid "5 %" -msgstr "5 %" +msgid "Depth %1" +msgstr "深度 %1" -#: callgraphview.cpp:2497 -#, c-format -msgid "3 %" -msgstr "3 %" +#: treemap.cpp:3122 +msgid "Decrement (to %1)" +msgstr "遞減(到 %1)" -#: callgraphview.cpp:2498 -#, c-format -msgid "2 %" -msgstr "2 %" +#: treemap.cpp:3124 +msgid "Increment (to %1)" +msgstr "遞增(到 %1)" -#: callgraphview.cpp:2499 -#, c-format -msgid "1.5 %" -msgstr "1.5 %" +#: configdlgbase.ui:16 +#, fuzzy, no-c-format +msgid "Configuration" +msgstr "KCachegrind 設定" -#: callgraphview.cpp:2500 -#, c-format -msgid "1 %" -msgstr "1 %" +#: configdlgbase.ui:37 +#, no-c-format +msgid "General" +msgstr "一般" -#: callgraphview.cpp:2516 -msgid "Same as Node" -msgstr "與節點相同" +#: configdlgbase.ui:69 +#, no-c-format +msgid "Truncated when more/longer than:" +msgstr "大於多少時截斷:" -#: callgraphview.cpp:2517 -#, c-format -msgid "50 % of Node" -msgstr "50% 的節點" +#: configdlgbase.ui:77 +#, no-c-format +msgid "Precision of percentage values:" +msgstr "百分比數值的精確度:" -#: callgraphview.cpp:2518 -#, c-format -msgid "20 % of Node" -msgstr "20% 的節點" +#: configdlgbase.ui:85 +#, no-c-format +msgid "Symbols in tooltips and context menus" +msgstr "在工具提示與內文選單中的符號" -#: callgraphview.cpp:2519 -#, c-format -msgid "10 % of Node" -msgstr "10% 的節點" +#: configdlgbase.ui:141 +#, no-c-format +msgid "Maximum number of items in lists:" +msgstr "清單中最大項目數:" -#: callgraphview.cpp:2529 -msgid "Caller Depth" -msgstr "呼叫者深度" +#: configdlgbase.ui:162 +#, no-c-format +msgid "Cost Item Colors" +msgstr "花費項目顏色" -#: callgraphview.cpp:2530 -msgid "Callee Depth" -msgstr "被呼叫者深度" +#: configdlgbase.ui:254 +#, no-c-format +msgid "Object:" +msgstr "物件:" -#: callgraphview.cpp:2531 -msgid "Min. Node Cost" -msgstr "最小節點花費" +#: configdlgbase.ui:262 +#, no-c-format +msgid "Class:" +msgstr "類別:" -#: callgraphview.cpp:2532 -msgid "Min. Call Cost" -msgstr "最小呼叫花費" +#: configdlgbase.ui:310 +#, no-c-format +msgid "File:" +msgstr "檔案:" -#: callgraphview.cpp:2534 -msgid "Arrows for Skipped Calls" -msgstr "被略過呼叫的箭頭" +#: configdlgbase.ui:376 +#, no-c-format +msgid "Annotations" +msgstr "註記" -#: callgraphview.cpp:2536 -msgid "Inner-cycle Calls" -msgstr "內部循環呼叫" +#: configdlgbase.ui:395 +#, no-c-format +msgid "Context lines in annotations:" +msgstr "註記裡的內容:" -#: callgraphview.cpp:2538 -msgid "Cluster Groups" -msgstr "叢集群組" +#: configdlgbase.ui:423 +#, no-c-format +msgid "Source Folders" +msgstr "程式源碼資料夾" -#: callgraphview.cpp:2543 -msgid "Compact" -msgstr "簡潔" +#: configdlgbase.ui:454 +#, no-c-format +msgid "Object / Related Source Base" +msgstr "物件 / 相關來源基礎" -#: callgraphview.cpp:2544 -msgid "Normal" -msgstr "正常" +#: configdlgbase.ui:483 +#, no-c-format +msgid "Add..." +msgstr "新增..." -#: callgraphview.cpp:2545 -msgid "Tall" -msgstr "高" +#: configdlgbase.ui:508 +#, no-c-format +msgid "Delete" +msgstr "" -#: callgraphview.cpp:2550 -msgid "Top to Down" -msgstr "上到下" +#: configdlgbase.ui:585 +#, no-c-format +msgid "&OK" +msgstr "" -#: callgraphview.cpp:2551 -msgid "Left to Right" -msgstr "左到右" +#: configdlgbase.ui:596 +#, no-c-format +msgid "&Cancel" +msgstr "" -#: callgraphview.cpp:2552 -msgid "Circular" -msgstr "圓形" +#: dumpselectionbase.ui:32 +#, no-c-format +msgid "Target" +msgstr "目標" -#: callgraphview.cpp:2558 -msgid "TopLeft" -msgstr "左上方" +#: dumpselectionbase.ui:54 +#, no-c-format +msgid "Time" +msgstr "時間" -#: callgraphview.cpp:2559 -msgid "TopRight" -msgstr "右上方" +#: dumpselectionbase.ui:65 +#, no-c-format +msgid "Path" +msgstr "路徑" -#: callgraphview.cpp:2560 -msgid "BottomLeft" -msgstr "左下方" +#: dumpselectionbase.ui:87 +#, fuzzy, no-c-format +msgid "Options" +msgstr "選項" -#: callgraphview.cpp:2561 -msgid "BottomRight" -msgstr "右下方" +#: dumpselectionbase.ui:106 +#, no-c-format +msgid "Target command:" +msgstr "目標命令:" -#: callgraphview.cpp:2569 -msgid "Graph" -msgstr "圖" +#: dumpselectionbase.ui:119 +#, no-c-format +msgid "Profiler options:" +msgstr "分析檔選項:" -#: callgraphview.cpp:2570 partselection.cpp:320 -msgid "Visualization" -msgstr "視覺化" +#: dumpselectionbase.ui:125 +#, no-c-format +msgid "Option" +msgstr "選項" -#: callgraphview.cpp:2571 -msgid "Birds-eye View" -msgstr "鳥瞰檢視" +#: dumpselectionbase.ui:136 dumpselectionbase.ui:688 +#, no-c-format +msgid "Value" +msgstr "數值" -#: partlistitem.cpp:49 -msgid " (Thread %1)" -msgstr "(執行緒 %1)" +#: dumpselectionbase.ui:147 +#, no-c-format +msgid "Trace" +msgstr "追蹤" -#: partlistitem.cpp:56 -msgid "(none)" -msgstr "(無)" +#: dumpselectionbase.ui:160 dumpselectionbase.ui:768 +#, no-c-format +msgid "Jumps" +msgstr "跳躍" -#: callitem.cpp:82 partlistitem.cpp:152 -msgid "(active)" -msgstr "(活躍)" +#: dumpselectionbase.ui:174 +#, no-c-format +msgid "Instructions" +msgstr "指令" -#: partselection.cpp:151 -msgid "Profile Part Overview: Current is '%1'" -msgstr "分析檔部件概觀。目前為 %1" +#: dumpselectionbase.ui:189 dumpselectionbase.ui:783 +#, no-c-format +msgid "Events" +msgstr "事件" -#: partselection.cpp:287 -msgid "Deselect" -msgstr "取消選擇" +#: dumpselectionbase.ui:202 +#, no-c-format +msgid "Full Cache" +msgstr "完整快取" -#: partselection.cpp:287 partselection.cpp:311 -msgid "Select" -msgstr "選擇" +#: dumpselectionbase.ui:216 +#, no-c-format +msgid "Custom" +msgstr "自訂" -#: partselection.cpp:292 -msgid "Select All Parts" -msgstr "選擇全部的部件" +#: dumpselectionbase.ui:231 +#, no-c-format +msgid "Collect" +msgstr "收集" -#: partselection.cpp:294 -msgid "Visible Parts" -msgstr "可見的部件" +#: dumpselectionbase.ui:244 +#, no-c-format +msgid "At Startup" +msgstr "啟動時" -#: partselection.cpp:296 -msgid "Hide Selected Parts" -msgstr "隱藏已選取的部件" +#: dumpselectionbase.ui:258 +#, no-c-format +msgid "While In" +msgstr "當在" -#: partselection.cpp:297 -msgid "Unhide Hidden Parts" -msgstr "重新顯示隱藏的部件" +#: dumpselectionbase.ui:273 +#, no-c-format +msgid "Skip" +msgstr "略過" -#: partselection.cpp:322 -msgid "Partitioning Mode" -msgstr "切割模式" +#: dumpselectionbase.ui:286 +#, no-c-format +msgid "PLT" +msgstr "PLT" -#: partselection.cpp:323 -msgid "Diagram Mode" -msgstr "繪圖模式" +#: dumpselectionbase.ui:315 +#, no-c-format +msgid "Dump Profile" +msgstr "傾印分析檔" -#: partselection.cpp:324 -msgid "Zoom Function" -msgstr "縮放函式" +#: dumpselectionbase.ui:328 +#, no-c-format +msgid "Every BBs" +msgstr "每次 BB" -#: partselection.cpp:325 -msgid "Show Direct Calls" -msgstr "顯示直接呼叫" +#: dumpselectionbase.ui:342 dumpselectionbase.ui:384 +#, no-c-format +msgid "On Entering" +msgstr "進入時" -#: partselection.cpp:326 -msgid "Increment Shown Call Levels" -msgstr "遞增顯示呼叫等級" +#: dumpselectionbase.ui:356 +#, no-c-format +msgid "On Leaving" +msgstr "離開時" -#: partselection.cpp:340 -msgid "Draw Names" -msgstr "繪製名稱" +#: dumpselectionbase.ui:371 +#, no-c-format +msgid "Zero Events" +msgstr "清空事件" -#: partselection.cpp:341 -msgid "Draw Costs" -msgstr "繪製花費" +#: dumpselectionbase.ui:399 +#, no-c-format +msgid "Separate" +msgstr "分離" -#: partselection.cpp:343 -msgid "Draw Frames" -msgstr "繪製框架" +#: dumpselectionbase.ui:412 +#, no-c-format +msgid "Threads" +msgstr "執行緒" -#: partselection.cpp:359 -msgid "Hide Info" -msgstr "隱藏資訊" +#: dumpselectionbase.ui:426 +#, no-c-format +msgid "Recursions" +msgstr "遞迴" -#: partselection.cpp:361 -msgid "Show Info" -msgstr "顯示資訊" +#: dumpselectionbase.ui:440 +#, no-c-format +msgid "Call Chain" +msgstr "呼叫鍊" -#: partselection.cpp:541 -msgid "(no trace loaded)" -msgstr "(未載入追蹤)" +#: dumpselectionbase.ui:470 +#, no-c-format +msgid "Custom profiler options:" +msgstr "自訂分析器選項:" -#: instrview.cpp:129 -msgid "Hex" -msgstr "十六進位值" +#: dumpselectionbase.ui:508 +#, no-c-format +msgid "Run New Profile" +msgstr "執行新分析檔" -#: instrview.cpp:132 -msgid "Source Position" -msgstr "源碼位置" +#: 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>" -msgstr "" -"<b>註記組譯器(Annotated Assembler)</b> " -"<p>註記組譯器顯示目前選取的函式的機器碼指令,以及執行該指令時的花費。如果是呼叫指令,則呼叫時發生的詳情會插入到源碼中,包括呼叫的花費,呼叫的次數,以及呼叫的" -"目的地。</p> " -"<p>反組譯輸出可以用 objdump 產生,通常會包在 binutils 套件中。</p> " -"<p>選取呼叫資訊中的某一行可以眺到被呼叫的函式。</p>" +#: dumpselectionbase.ui:531 +#, no-c-format +msgid "Dump reason:" +msgstr "傾印理由:" -#: instrview.cpp:195 -#, c-format -msgid "Go to Address %1" -msgstr "跳到位址 %1" +#: dumpselectionbase.ui:544 +#, no-c-format +msgid "Event summary:" +msgstr "事件摘要:" -#: instrview.cpp:207 -msgid "Hex Code" -msgstr "十六進位碼" +#: dumpselectionbase.ui:561 +#, no-c-format +msgid "Sum" +msgstr "總計" -#: instrview.cpp:426 -msgid "There is no instruction info in the profile data file." -msgstr "此分析資料檔中沒有指令資訊。" +#: dumpselectionbase.ui:579 +#, no-c-format +msgid "Miscellaneous:" +msgstr "其他:" -#: instrview.cpp:428 -msgid "For the Valgrind Calltree Skin, rerun with option" -msgstr "要用 Valgrind Calltree Skin,請重新執行並指定選項" +#: dumpselectionbase.ui:617 +#, no-c-format +msgid "Show" +msgstr "顯示" -#: instrview.cpp:429 -msgid " --dump-instr=yes" -msgstr " --dump-instr=yes" +#: dumpselectionbase.ui:625 +#, no-c-format +msgid "Compare" +msgstr "比較" -#: instrview.cpp:430 -msgid "To see (conditional) jumps, additionally specify" -msgstr "想要看條件式的跳躍,請額外指定選項" +#: dumpselectionbase.ui:637 +#, no-c-format +msgid "State" +msgstr "狀態" -#: instrview.cpp:431 -msgid " --trace-jump=yes" -msgstr " --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" -msgstr "執行此指令時發生錯誤" +#: dumpselectionbase.ui:664 +#, no-c-format +msgid "Every [s]:" +msgstr "間隔(秒):" -#: instrview.cpp:634 instrview.cpp:900 -msgid "Check that you have installed 'objdump'." -msgstr "請檢查您是否已安裝 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." -msgstr "這個工具可以在 binutils 套件中找到。" +#: dumpselectionbase.ui:699 +#, no-c-format +msgid "Dumps Done" +msgstr "傾印完成" -#: instrview.cpp:739 -msgid "(No Assembler)" -msgstr "(沒有組譯器)" +#: 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." -msgstr "有 %n 個花費線沒有組譯碼。" +#: dumpselectionbase.ui:727 +#, no-c-format +msgid "Executed" +msgstr "已執行" -#: instrview.cpp:877 -msgid "This happens because the code of" -msgstr "發生的原因是因為這個的程式碼:" +#: dumpselectionbase.ui:740 +#, no-c-format +msgid "Basic Blocks" +msgstr "基本區塊" -#: instrview.cpp:880 -msgid "does not seem to match the profile data file." -msgstr "似乎無法符合此分析資料檔。" +#: dumpselectionbase.ui:796 +#, no-c-format +msgid "Ir" +msgstr "Ir" -#: instrview.cpp:883 -msgid "Are you using an old profile data file or is the above mentioned" -msgstr "您正使用舊的分析資料檔,還是像上面提到的" +#: dumpselectionbase.ui:811 +#, no-c-format +msgid "Distinct" +msgstr "不同" -#: instrview.cpp:885 -msgid "ELF object from an updated installation/another machine?" -msgstr "這是從已更新的安裝或其他機器來的 ELF 物件嗎?" +#: dumpselectionbase.ui:838 +#, no-c-format +msgid "Functions" +msgstr "函式" -#: instrview.cpp:893 -msgid "There seems to be an error trying to execute the command" -msgstr "試著執行此命令時發生錯誤" +#: dumpselectionbase.ui:852 +#, no-c-format +msgid "Contexts" +msgstr "內文" -#: instrview.cpp:898 -msgid "Check that the ELF object used in the command exists." -msgstr "請檢查命令中使用的 ELF 物件存在。" +#: dumpselectionbase.ui:890 +#, no-c-format +msgid "Stack trace:" +msgstr "堆疊追蹤:" -#: instritem.cpp:137 -msgid "Jump %1 of %2 times to 0x%3" -msgstr "跳躍到 0x%3 %1 次,共要 %2 次" +#: dumpselectionbase.ui:898 +#, no-c-format +msgid "Sync." +msgstr "同步" -#: instritem.cpp:142 -msgid "Jump %1 times to 0x%2" -msgstr "跳躍到 0x%2 %1 次" +#: dumpselectionbase.ui:976 +#, no-c-format +msgid "Start" +msgstr "開始" -#: treemap.cpp:1281 -#, c-format -msgid "Text %1" -msgstr "文字 %1" +#: dumpselectionbase.ui:1001 +#, no-c-format +msgid "Zero" +msgstr "歸零" -#: treemap.cpp:2809 -msgid "Recursive Bisection" -msgstr "遞迴對切" +#: dumpselectionbase.ui:1009 +#, no-c-format +msgid "Dump" +msgstr "傾印" -#: treemap.cpp:2810 -msgid "Columns" -msgstr "欄" +#: dumpselectionbase.ui:1021 +#, no-c-format +msgid "Messages" +msgstr "訊息" -#: treemap.cpp:2811 -msgid "Rows" -msgstr "列" +#: dumpselectionbase.ui:1045 +#, no-c-format +msgid "Kill Run" +msgstr "終止執行" -#: treemap.cpp:2812 -msgid "Always Best" -msgstr "永遠最好的" +#: dumpselectionbase.ui:1070 +#, no-c-format +msgid "Clear" +msgstr "" -#: treemap.cpp:2813 -msgid "Best" -msgstr "最好的" +#: functionselectionbase.ui:41 +#, no-c-format +msgid "&Search:" +msgstr "搜尋(&S):" -#: treemap.cpp:2814 -msgid "Alternate (V)" -msgstr "替代(垂直)" +#: functionselectionbase.ui:73 +#, no-c-format +msgid "Group" +msgstr "群組" -#: treemap.cpp:2815 -msgid "Alternate (H)" -msgstr "替代(水平)" +#: partselectionbase.ui:60 +#, no-c-format +msgid "(no trace parts)" +msgstr "(無追蹤部件)" -#: treemap.cpp:2872 -msgid "Nesting" -msgstr "巢狀" +#: stackselectionbase.ui:16 +#, no-c-format +msgid "Stack Selection" +msgstr "堆疊選擇" -#: treemap.cpp:2875 -msgid "Correct Borders Only" -msgstr "只有正確的框線" +#: stackselectionbase.ui:42 +#, no-c-format +msgid "Cost2" +msgstr "花費2" -#: treemap.cpp:2877 treemap.cpp:2878 treemap.cpp:2879 treemap.cpp:2880 -#, c-format -msgid "Width %1" -msgstr "寬度 %1" +#: tdecachegrindui.rc:4 +#, fuzzy, no-c-format +msgid "&File" +msgstr "檔案:" -#: treemap.cpp:2902 -msgid "Visible" -msgstr "可見的" +#: tdecachegrindui.rc:10 +#, no-c-format +msgid "&View" +msgstr "" -#: treemap.cpp:2903 -msgid "Take Space From Children" -msgstr "由子系統取得空間" +#: tdecachegrindui.rc:15 +#, no-c-format +msgid "&Layout" +msgstr "佈局(&L)" -#: treemap.cpp:2905 -msgid "Top Left" -msgstr "左上方" +#: tdecachegrindui.rc:32 +#, no-c-format +msgid "Sidebars" +msgstr "邊列" -#: treemap.cpp:2906 -msgid "Top Center" -msgstr "頂端中央" +#: tdecachegrindui.rc:41 +#, fuzzy, no-c-format +msgid "Main Toolbar" +msgstr "狀態工具列" -#: treemap.cpp:2907 -msgid "Top Right" -msgstr "右上方" +#: tdecachegrindui.rc:54 +#, no-c-format +msgid "State Toolbar" +msgstr "狀態工具列" -#: treemap.cpp:2909 -msgid "Bottom Center" -msgstr "底端中央" +#: 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 "" +"<p>每個使用者介面元件中的「這是什麼?」說明內含了此元件的詳細用法資訊。建議第" +"一次使用時先閱讀它。您以可以按 Shift+F1 叫出。</p>\n" -#: treemap.cpp:2910 -msgid "Bottom Right" -msgstr "右下方" +#: 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 "" +"<p>若您提供這個選項:<em>--dump-instr=yes</em>,您可以在呼叫樹模式取得指令層" +"級的分析檔資訊。\n" +"用「組譯器檢視」取得指令的註記。</p>\n" -#: treemap.cpp:2987 -msgid "No %1 Limit" -msgstr "沒有 %1 限制" +#: 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 "<p>您可以用 Alt 加上左右鍵來在目前的物件歷史中往返。</p>\n" -#: treemap.cpp:3056 treemap.cpp:3067 -#, c-format +#: tips:29 msgid "" -"_n: 1 Pixel\n" -"%n Pixels" -msgstr "%n 像素" +"<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 "" +"<p>您可以用方向鍵在呼叫者/被呼叫者地圖中導覽。用左右鍵來跳到相鄰的節點,上下" +"鍵則在不同的巢狀等級間來回。要選取目前的項目,您可以按空白鍵,按下 Enter 鍵則" +"是啟用。</p>\n" -#: treemap.cpp:3073 -msgid "Halve Area Limit (to %1)" -msgstr "將區域限制減半(到 %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 "" +"<p>您可以用方向鍵在呼叫圖檢視中導覽。用左右鍵來跳到與目前選取的呼叫相鄰的節" +"點,上下鍵則在不同的呼叫等級間來回,切換呼叫函式。按下 Enter 鍵則是啟用目前的" +"項目。</p>\n" -#: treemap.cpp:3118 -#, c-format -msgid "Depth %1" -msgstr "深度 %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 "" +"<p>您可以在工具列的編輯欄中輸入某函式的部份名稱(不分大小寫),再按下 Enter " +"鍵就可以快速找到該函式的位置。</p>\n" -#: treemap.cpp:3122 -msgid "Decrement (to %1)" -msgstr "遞減(到 %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 "" +"<p>您可以指定自訂的顏色給圖形中的 ELF 物件、C++ 類別或源碼檔。您只要在「設" +"定」─「設定 KCachegrind...」中設定即可。</p>\n" -#: treemap.cpp:3124 -msgid "Increment (to %1)" -msgstr "遞增(到 %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 "" +"<p>如果有提供除錯資訊的話,您可以在資訊分頁中的「位置」標籤處,或是源碼分頁處" +"的源碼標頭處看到所選取函式的除錯資訊。</p>\n" +"<p>必須要有源碼檔的檔名(包括副檔名)。如果 KCachegrind 還是沒有顯示源碼,請" +"確定您已將源碼檔所在的路徑加到設定中的「源碼目錄」清單中。</p>\n" -#: traceitemview.cpp:53 -msgid "No description available" -msgstr "沒有可用的描述" +#: tips:77 +msgid "" +"<p>...that you can configure whether KCachgrind should\n" +"show absolute event counts or relative ones (percentage display)?</p>\n" +msgstr "" +"<p>您可以設定是否要讓 KCachegrind 顯示絕對事件計數或相對事件計數(以百分比顯" +"示)。</p>\n" -#: coverageview.cpp:48 coverageview.cpp:54 -msgid "Distance" -msgstr "距離" +#: 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 "" +"<p>您可以在 KCachegrind 中設定所有函式清單中的最大顯示數目。這樣的話,清單中" +"的最後一個項目會顯示出還有多少函式未顯示出來,以及這些未顯示函式的花費。</" +"p>\n" +"<p>要啟動較少花費的函式,您可以搜尋並在簡單分析檔中選取。這樣會暫時新增到簡單" +"分析檔清單中。</p>\n" -#: coverageview.cpp:55 -msgid "Calling" -msgstr "呼叫中" +#: 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 "" +"<p>「總體呼叫頁」顯示的是呼叫選取的函式的所有函式(上半部),以及被選取的函式" +"呼叫的函式(下半部),包括直接與間接呼叫。</p>\n" +"<p>例如:</p>\n" +"<p>選取函式 bar(),上半部清單中的函式 foo1() 數值 50% 表示從 foo1() 呼叫 " +"bar() 時的花費佔全部花費的 50%。</p>\n" +"<p>下半部清單中的函式 foo2() 數值 50% 表示 bar() 呼叫 foo2() 時的花費佔全部花" +"費的 50%。</p>\n" -#: 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 "" -"<b>所有呼叫者清單</b> " -"<p>此清單顯示目前選取函式的所有呼叫者函式,包括直接呼叫與間接呼叫。間接呼叫的數字加一稱為「距離」(例如,函式 A 呼叫函式 B,函式 B 又呼叫函式 " -"C,則函式 A 到 C 的距離為 2)</p> " -"<p>顯示的「絕對花費」是當一個已列出的所選函式使用時的花費;「相對花費」是此函式相對於所有已選函式的花費。花費圖形以對每個距離以不同顏色顯示對數百分比。</p" -"> " -"<p>因為有可能同一個函式中會有許多呼叫,距離欄位有時會顯示所有發生呼叫的函式的距離範圍,這種狀況下,括弧中顯示的是平均距離,也就是發生呼叫最多花費的地方。</" -"p> " -"<p>選擇某函式可以看每個函式的資訊。如果在分割模式下的兩個面板,會在另一個面板改變。</p>" +"<p>滑鼠指標指在樹狀地圖中上頭時稍等一下,會跑出逼個工具提示,裡面會顯示巢狀矩" +"形的名稱清單。</p>\n" +"<p>清單中的項目可以用滑鼠右鍵選取。</p>\n" -#: 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 "" -"<b>被呼叫者清單</b>" -"<p>這份清單顯示所有被目前選取的函式呼叫的函式,包括直接與間接呼叫。間接呼叫的數字加一稱為「距離」(例如,函式 A 呼叫函式 B,函式 B 又呼叫函式 " -"C,則函式 A 到 C 的距離為 2)</p> " -"<p>顯示的「絕對花費」是當一個已列出的所選函式使用時的花費;「相對花費」是此函式相對於所有已選函式的花費。花費圖形以對每個距離以不同顏色顯示對數百分比。</p" -"> " -"<p>因為有可能同一個函式中會有許多呼叫,距離欄位有時會顯示所有發生呼叫的函式的距離範圍,這種狀況下,括弧中顯示的是平均距離,也就是發生呼叫最多花費的地方。</" -"p> " -"<p>選擇某函式可以看每個函式的資訊。如果在分割模式下的兩個面板,會在另一個面板改變。</p>" +"<p>您可以限制只顯示一小部份部件的花費計數,只要在「追蹤選擇」元件中選取這些部" +"件即可。</p>\n" +"<p>要在 cachegrind 的分析執行中產生多個部件,可以用像這樣的選項:--" +"cachedumps=xxx 表示 xxx 個基本區塊。(基本區塊是在您的程式碼中不分支的組譯敘" +"述)。</p>\n" |