From 242434109c14a494dee7738b9c343f5947d20506 Mon Sep 17 00:00:00 2001
From: Timothy Pearson This widget shows information for the current selected function in different "
+"tabs: "
+""
+"
For more information, see the "
+"What's This? help of the corresponding tab widget
本畫面以不同分頁顯示目前所選擇函數的資訊: " +"
...that the What's This? 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 What's This? help by pressing\n" +"Shift+F1 and clicking on the widget.
\n" +msgstr "" +"每個使用者介面元件中的「這是什麼?」說明內含了此元件的詳細用法資訊。建議第一次使用時先閱讀它。您以可以按 Shift+F1 叫出。
\n" -#: tracedata.cpp:182 -msgid "ELF Object" -msgstr "ELF 物件" +#: tips.txt:12 +msgid "" +"...that you can get profile information at instruction level\n" +"with Calltree when you provide the option --dump-instr=yes?\n" +"Use the Assembler View for the instruction annotations.\n" +"
\n" +msgstr "" +"若您提供這個選項:--dump-instr=yes,您可以在呼叫樹模式取得指令層級的分析檔資訊。\n" +"用「組譯器檢視」取得指令的註記。
\n" -#: partview.cpp:46 tracedata.cpp:183 -msgid "Profile Part" -msgstr "分析檔部件" +#: tips.txt:20 +msgid "" +"...that you can use Alt-Left/Right keys of your keyboard to go\n" +"back/forward in the active object history ?
\n" +msgstr "" +"您可以用 Alt 加上左右鍵來在目前的物件歷史中往返。
\n" -#: tracedata.cpp:184 -msgid "Program Trace" -msgstr "程式追蹤" +#: tips.txt:26 +msgid "" +"...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" +"
\n" +msgstr "" +"您可以用方向鍵在呼叫者/被呼叫者地圖中導覽。用左右鍵來跳到相鄰的節點,上下鍵則在不同的巢狀等級間來回。要選取目前的項目,您可以按空白鍵,按下 Enter " +"鍵則是啟用。
\n" -#: tracedata.cpp:245 -msgid "%1 from %2" -msgstr "%1 從 %2" +#: tips.txt:35 +msgid "" +"...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" +"
\n" +msgstr "" +"您可以用方向鍵在呼叫圖檢視中導覽。用左右鍵來跳到與目前選取的呼叫相鄰的節點,上下鍵則在不同的呼叫等級間來回,切換呼叫函式。按下 Enter " +"鍵則是啟用目前的項目。
\n" -#: partgraph.cpp:423 tracedata.cpp:253 tracedata.cpp:258 tracedata.cpp:2828 -#: tracedata.cpp:3245 tracedata.cpp:3331 tracedata.cpp:4169 tracedata.cpp:4177 -#: tracedata.cpp:4242 -msgid "(unknown)" -msgstr "(未知)" +#: tips.txt:44 +msgid "" +"...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?
\n" +msgstr "" +"您可以在工具列的編輯欄中輸入某函式的部份名稱(不分大小寫),再按下 Enter 鍵就可以快速找到該函式的位置。
\n" -#: tracedata.cpp:2587 -msgid "(no caller)" -msgstr "(無呼叫者)" +#: tips.txt:51 +msgid "" +"...that you can assign custom colors to \n" +"ELF objects/C++ Classes/Source Files for graph coloring\n" +"in Settings->Configure KCachegrind...?
\n" +msgstr "" +"您可以指定自訂的顏色給圖形中的 ELF 物件、C++ 類別或源碼檔。您只要在「設定」─「設定 KCachegrind...」中設定即可。
\n" -#: tracedata.cpp:2594 tracedata.cpp:2613 -msgid "%1 via %2" -msgstr "%1 經過 %2" +#: tips.txt:58 +msgid "" +"...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?
\n" +"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" +"Source Directories list in the configuration.\n" +msgstr "" +"
如果有提供除錯資訊的話,您可以在資訊分頁中的「位置」標籤處,或是源碼分頁處的源碼標頭處看到所選取函式的除錯資訊。
\n" +"必須要有源碼檔的檔名(包括副檔名)。如果 KCachegrind 還是沒有顯示源碼,請確定您已將源碼檔所在的路徑加到設定中的「源碼目錄」清單中。
" +"\n" -#: tracedata.cpp:2603 -msgid "(no callee)" -msgstr "(無被呼叫者)" +#: tips.txt:69 +msgid "" +"...that you can configure whether KCachgrind should\n" +"show absolute event counts or relative ones (percentage display)?
\n" +msgstr "" +"您可以設定是否要讓 KCachegrind 顯示絕對事件計數或相對事件計數(以百分比顯示)。
\n" -#: tracedata.cpp:4471 -msgid "(not found)" -msgstr "(未找到)" +#: tips.txt:75 +msgid "" +"...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.
\n" +"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.
\n" +msgstr "" +"您可以在 KCachegrind " +"中設定所有函式清單中的最大顯示數目。這樣的話,清單中的最後一個項目會顯示出還有多少函式未顯示出來,以及這些未顯示函式的花費。
\n" +"要啟動較少花費的函式,您可以搜尋並在簡單分析檔中選取。這樣會暫時新增到簡單分析檔清單中。
\n" -#: tracedata.cpp:5021 -msgid "Recalculating Function Cycles..." -msgstr "重新計算函式循環..." +#: tips.txt:87 +msgid "" +"...that the Coverage tab - in contrast to the Call Lists tab -\n" +"shows all 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?
\n" +"Examples:
\n" +"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().
\n" +"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().
\n" +msgstr "" +"「總體呼叫頁」顯示的是呼叫選取的函式的所有函式(上半部),以及被選取的函式呼叫的函式(下半部),包括直接與間接呼叫。
\n" +"例如:
\n" +"選取函式 bar(),上半部清單中的函式 foo1() 數值 50% 表示從 foo1() 呼叫 bar() 時的花費佔全部花費的 50%。
\n" +"下半部清單中的函式 foo2() 數值 50% 表示 bar() 呼叫 foo2() 時的花費佔全部花費的 50%。
\n" + +#: tips.txt:102 +msgid "" +"...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?
\n" +"Items from this list can be selected by pressing the right\n" +"mouse button.
\n" +msgstr "" +"滑鼠指標指在樹狀地圖中上頭時稍等一下,會跑出逼個工具提示,裡面會顯示巢狀矩形的名稱清單。
\n" +"清單中的項目可以用滑鼠右鍵選取。
\n" + +#: tips.txt:111 +msgid "" +"...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?
\n" +"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).
\n" +msgstr "" +"您可以限制只顯示一小部份部件的花費計數,只要在「追蹤選擇」元件中選取這些部件即可。
\n" +"要在 cachegrind 的分析執行中產生多個部件,可以用像這樣的選項:--cachedumps=xxx 表示 xxx " +"個基本區塊。(基本區塊是在您的程式碼中不分支的組譯敘述)。
\n" + +#. i18n: file dumpselectionbase.ui line 824 +#: configdlg.cpp:58 rc.cpp:249 +#, no-c-format +msgid "ELF Objects" +msgstr "ELF 物件" + +#: 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 "選擇來源資料夾" #. i18n: file dumpselectionbase.ui line 550 #: callmapview.cpp:59 partselection.cpp:58 rc.cpp:192 @@ -222,11 +386,11 @@ msgstr "隱藏已選取的部件" msgid "Unhide Hidden Parts" msgstr "重新顯示隱藏的部件" -#: partselection.cpp:302 toplevel.cpp:1692 +#: partselection.cpp:302 toplevel.cpp:1687 msgid "Go Back" msgstr "返回" -#: callgraphview.cpp:2571 partselection.cpp:320 +#: callgraphview.cpp:2570 partselection.cpp:320 msgid "Visualization" msgstr "視覺化" @@ -282,1161 +446,1090 @@ msgstr "顯示資訊" msgid "(no trace loaded)" msgstr "(未載入追蹤)" -#: costtypeview.cpp:42 -msgid "Event Type" -msgstr "事件類型" - -#. i18n: file dumpselectionbase.ui line 917 -#: costtypeview.cpp:43 coverageview.cpp:46 partview.cpp:47 rc.cpp:267 -#: rc.cpp:309 +#. i18n: file dumpselectionbase.ui line 950 +#: callmapview.cpp:61 rc.cpp:276 rc.cpp:321 #, no-c-format -msgid "Incl." -msgstr "引入" +msgid "Location" +msgstr "位置" -#. i18n: file functionselectionbase.ui line 62 -#: costtypeview.cpp:44 coverageview.cpp:53 partview.cpp:48 rc.cpp:303 -#: rc.cpp:312 +#. i18n: file dumpselectionbase.ui line 754 +#: callmapview.cpp:63 rc.cpp:234 rc.cpp:339 #, no-c-format -msgid "Self" -msgstr "自身" +msgid "Calls" +msgstr "呼叫" -#: costtypeview.cpp:45 -msgid "Short" -msgstr "短" +#: callmapview.cpp:98 +msgid "" +"Caller Map" +"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).
" +msgstr "" +"呼叫者地圖 " +"這個圖形顯示目前活躍的函式所有呼叫者的巢狀架構。每個彩色的矩形表示一個函式,大小會與該函式執行時的花費成比例。(不過畫圖形時會有所限制,所以是盡量成比例)" +"。
" -#: costtypeview.cpp:47 -msgid "Formula" -msgstr "公式" +#: callmapview.cpp:105 +msgid "" +"Call Map" +"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).
" +msgstr "" +"呼叫地圖 " +"這個圖形顯示目前活躍的函式所有呼叫的巢狀架構。每個彩色的矩形表示一個函式,大小會與該函式執行時的花費成比例。(不過畫圖形時會有所限制,所以是盡量成比例)。" +"
" -#: costtypeview.cpp:81 +#: callmapview.cpp:113 msgid "" -"Cost Types List" -"This list shows all cost types available and what the self/inclusive cost of " -"the current selected function is for that cost type.
" -"By choosing a cost type from the list, you change the cost type of costs " -"shown all over KCachegrind to be the selected one.
" +"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 " +"very 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 before " +"drawing children. Note that size proportions can get heavily wrong.
" +"This is a TreeMap 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. Return activates the current item.
" msgstr "" -"花費類型清單" -"這份清單顯示所有可用的花費類型(cost type)以及目前所選取的函式在該類型的自身與引入的花費。
" -"選取其中一種類型,您可以改變所有 KCachegrind 的花費成為該類型。
" +"外觀選項可以在選單中找到。要取得精準的大小比例,選擇「隱藏不正確的框線」。這個模式可能會非常" +"花時間,您可能要先限制一下最多的巢狀等級。「最佳」會依父函式的比例來分離子函式的方向。「總是最佳」會依剩餘空間來決定。「忽略比例」會在畫子函式前先保留函式名稱空" +"間。注意大小的比例有可能會錯得很離譜。
" +"有一種「樹狀地圖」元件。可以用鍵盤左右鍵來導覽所有的子節點,上下鍵則可以進出巢狀等級。Enter 鍵會啟動目前的項目。
" -#: costtypeview.cpp:98 -msgid "Set Secondary Event Type" -msgstr "設定次要事件類型" +#: callmapview.cpp:167 +msgid "Go To" +msgstr "跳到" -#: costtypeview.cpp:100 -msgid "Remove Secondary Event Type" -msgstr "移除次要事件類型" +#: callmapview.cpp:184 +msgid "Stop at Depth" +msgstr "停止於深度" -#: costtypeview.cpp:105 -msgid "Edit Long Name" -msgstr "編輯長名稱" +#: callmapview.cpp:187 treemap.cpp:3101 +msgid "No Depth Limit" +msgstr "沒有深度限制" -#: costtypeview.cpp:106 -msgid "Edit Short Name" -msgstr "編輯短名稱" +#: callmapview.cpp:190 +msgid "Depth 10" +msgstr "深度 10" -#: costtypeview.cpp:107 -msgid "Edit Formula" -msgstr "編輯公式" +#: callmapview.cpp:192 +msgid "Depth 15" +msgstr "深度 15" -#: costtypeview.cpp:115 -msgid "New Cost Type ..." -msgstr "新增花費類型..." +#: callmapview.cpp:194 +msgid "Depth 20" +msgstr "深度 20" -#: costtypeview.cpp:149 costtypeview.cpp:154 -#, c-format -msgid "New%1" -msgstr "新增%1" +#: callmapview.cpp:198 treemap.cpp:3107 +msgid "Depth of '%1' (%2)" +msgstr "%1 的深度(%2)" -#: costtypeview.cpp:155 -#, c-format -msgid "New Cost Type %1" -msgstr "新增花費類型 %1" +#: callmapview.cpp:204 +msgid "Decrement Depth (to %1)" +msgstr "遞減深度(到 %1)" -#: sourceitem.cpp:125 -msgid "Jump %1 of %2 times to %3" -msgstr "跳到 %3 %1 次,總共需要 %2 次" +#: callmapview.cpp:205 +msgid "Increment Depth (to %1)" +msgstr "遞增深度(到 %1)" -#: sourceitem.cpp:130 -msgid "Jump %1 times to %2" -msgstr "跳躍到 %2 %1 次" +#: callmapview.cpp:209 +msgid "Stop at Function" +msgstr "停止於函式" -#: costlistitem.cpp:60 -#, c-format -msgid "" -"_n: (%n item skipped)\n" -"(%n items skipped)" -msgstr "略過 %n 個項目" +#: callmapview.cpp:210 +msgid "No Function Limit" +msgstr "無函式限制" -#: traceitemview.cpp:53 -msgid "No description available" -msgstr "沒有可用的描述" +#: callmapview.cpp:240 +msgid "Stop at Area" +msgstr "停止於區域" -#. i18n: file partselectionbase.ui line 16 -#: rc.cpp:324 toplevel.cpp:281 toplevel.cpp:581 -#, no-c-format -msgid "Parts Overview" -msgstr "部件概觀" +#: callmapview.cpp:243 treemap.cpp:3039 +msgid "No Area Limit" +msgstr "沒有區域限制" -#: toplevel.cpp:288 -msgid "" -"The Parts Overview" -"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.
" -"The parts are further subdivided: there is a partitioning and an callee " -"split mode: " -"
當某個分析檔中還有多個分析資料檔時,這份概觀可以看到所有的追蹤部件。追蹤部件概觀水平軸為執行時間,矩形大小與部件的總花費成比例。您可以選擇多個部件來顯示這" -"些部件的總花費。
" -"這些部件可以再更進一步細分:有分割模式與被呼叫者模式: " -"
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.
" -"The Cost and Calls columns show the cost used for all calls " -"from the function in the line above.
" -msgstr "" -"最高花費呼叫堆疊" -"這只是純虛構的「最有可能的」呼叫堆疊。它是從目前選取的函式開始,針對每個呼叫者與被呼叫者的最高花費放到堆疊中。
" -"花費與呼叫欄位顯示呼叫所使用的花費。
" +#: callmapview.cpp:250 +msgid "200 Pixels" +msgstr "200 像素" -#: toplevel.cpp:333 -msgid "Flat Profile" -msgstr "簡單分析檔" +#: callmapview.cpp:252 +msgid "500 Pixels" +msgstr "500 像素" -#: toplevel.cpp:343 -msgid "" -"The Flat Profile" -"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." -"
" -"
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.
" -msgstr "" -"簡單分析檔" -"簡單分析檔(Flat " -"Profile)包含一個群組與函式選取清單。根據所選取的群組型態,群組清單包含了所有花費到的群組。若是群組型態選擇為「函式」則群組清單會被隱藏起來。
" -"函式清單則包含了所選取的群組的函式,(如果群組型態為「函式」則包含所有的函式),依花費排序。花費少於 1% 的則預設為隱藏。
" +#: callmapview.cpp:258 treemap.cpp:3045 +msgid "Area of '%1' (%2)" +msgstr "%1 的區域 (%2)" -#. i18n: file dumpselectionbase.ui line 16 -#: rc.cpp:84 toplevel.cpp:357 toplevel.cpp:609 -#, no-c-format -msgid "Profile Dumps" -msgstr "分析檔傾印" +#: callmapview.cpp:264 treemap.cpp:3071 +msgid "Double Area Limit (to %1)" +msgstr "將區域限制加倍(到 %1)" -#: toplevel.cpp:367 -msgid "" -"Profile Dumps" -"This dockable shows in the top part the list of loadable profile dumps in " -"all subdirectories of: " -"
On selecting a profile dump, information for it is shown in the bottom area " -"of the dockable: " -"
這個嵌入元件的上半部顯示以下目錄及其子目錄中,可載入的分析檔傾印: " -"
選取某個分析檔傾印,其資訊會顯示在此元件的下半部: " -"
Make a copy of the current layout.
" -msgstr "複製目前的佈局複製目前的佈局。
" +#: callmapview.cpp:277 +msgid "Split Direction" +msgstr "分割方向" -#: toplevel.cpp:466 -msgid "" -"Remove Current Layout" -"Delete current layout and make the previous active.
" -msgstr "移除目前的佈局刪除目前的佈局,並回到上一個。
" +#: callmapview.cpp:279 +msgid "Skip Incorrect Borders" +msgstr "略過不正確的邊框" -#: toplevel.cpp:470 -msgid "&Go to Next" -msgstr "跳到下一個(&G)" +#: callmapview.cpp:284 +msgid "Border Width" +msgstr "邊框寬度" -#: toplevel.cpp:474 -msgid "Go to Next Layout" -msgstr "跳到下一個佈局" +#: callmapview.cpp:285 +msgid "Border 0" +msgstr "邊框 0" -#: toplevel.cpp:477 -msgid "&Go to Previous" -msgstr "跳到上一個(&G)" +#: callmapview.cpp:288 +msgid "Border 1" +msgstr "邊框 1" -#: toplevel.cpp:481 -msgid "Go to Previous Layout" -msgstr "跳到上一個佈局" +#: callmapview.cpp:290 +msgid "Border 2" +msgstr "邊框 2" -#: toplevel.cpp:484 -msgid "&Restore to Default" -msgstr "還原預設值(&R)" +#: callmapview.cpp:292 +msgid "Border 3" +msgstr "邊框 3" -#: toplevel.cpp:487 -msgid "Restore Layouts to Default" -msgstr "還原佈局預設值" +#: callmapview.cpp:297 +msgid "Draw Symbol Names" +msgstr "繪製符號名稱" -#: toplevel.cpp:490 -msgid "&Save as Default" -msgstr "儲存為預設值(&S)" +#: callmapview.cpp:298 +msgid "Draw Cost" +msgstr "繪製花費" -#: toplevel.cpp:493 -msgid "Save Layouts as Default" -msgstr "儲存佈局為預設值" +#: callmapview.cpp:299 +msgid "Draw Location" +msgstr "繪製位置" -#: toplevel.cpp:504 -msgid "NewOpen new empty KCachegrind window.
" -msgstr "新增開啟新的空白 KCachegrind 視窗。
" +#: callmapview.cpp:300 +msgid "Draw Calls" +msgstr "繪製呼叫" -#: toplevel.cpp:507 -msgid "&Add..." -msgstr "新增(&A)..." +#: callmapview.cpp:321 treemap.cpp:2889 +msgid "Shading" +msgstr "遮蔽" -#: toplevel.cpp:510 -msgid "" -"Add Profile Data" -"This opens an additional profile data file in the current window.
" -msgstr "新增分析檔資料在目前視窗中開啟新的分析資料檔。
" +#: callmapview.cpp:431 +msgid "Call Map: Current is '%1'" +msgstr "呼叫映射:目前是 %1" -#: toplevel.cpp:522 -msgid "Reload Profile DataThis loads any new created parts, too.
" -msgstr "重新載入分析資料這也會載入任何新建立的部件。
" +#: callmapview.cpp:599 +msgid "(no function)" +msgstr "(無函式)" -#: toplevel.cpp:526 -msgid "&Export Graph" -msgstr "匯出圖形(&E)" +#: callmapview.cpp:741 callmapview.cpp:858 +msgid "(no call)" +msgstr "(無呼叫)" -#: toplevel.cpp:530 -msgid "" -"Export Call Graph" -"Generates a file with extension .dot for the tools of the GraphViz " -"package.
" -msgstr "匯出呼叫圖產生副檔名為 .dot 的 GraphViz 套件工具的檔案。
" +#. 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 "引入" -#: toplevel.cpp:536 -msgid "&Force Dump" -msgstr "強制傾印(&F)" +#: coverageview.cpp:48 coverageview.cpp:54 +msgid "Distance" +msgstr "距離" -#: toplevel.cpp:545 -msgid "" -"Force Dump" -"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.
" -"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 no Callgrind running, press 'Force Dump' again to " -"cancel the dump request. This deletes 'callgrind.cmd' itself and stops polling " -"for a new dump.
" -"Note: A Callgrind run only detects existence of 'callgrind.cmd' " -"when actively running a few milliseconds, i.e. not " -"sleeping. Tip: For a profiled GUI program, you can awake Callgrind e.g. by " -"resizing a window of the program.
" -msgstr "" -"強制傾印 " -"強制 Callgrind 執行分析檔傾印在目前的目錄中。當 KCachegrind " -"要尋找傾印時可以勾選此選項。傾印完成後,會自動重新載入目前的追蹤。如果是 Callgrind 傾印,則也會載入新建立的追蹤部件。
" -"強制傾印會建立一個叫做 callgrind.cmd 的檔案,並每秒鐘檢查其存在與否。執行中的 Callgrind 會偵測此檔,傾印追蹤部件,並刪除 " -"callgrind.cmd 檔。KCachegrind 會偵測到刪除的動作,並做重新載入。如果沒有執行 " -"Callgrind,再按一次「強制傾印」會取消傾印的要求。這會刪除 callgrind.cmd 檔並停止輪詢新的傾印。
" -"注意:Callgrind 執行時只會在實際執行的時間(只有幾毫秒)才會偵測 callgrind.cmd " -"檔的存在與否,休眠(Sleep)時並不會偵測。提示:若是使用者介面的程式分析檔,您可以用調整視窗大小來叫醒 Callgrind。
" - -#: toplevel.cpp:570 -msgid "" -"Open Profile Data" -"This opens a profile data file, with possible multiple parts
" -msgstr "開啟分析檔資料開啟分析檔資料。
" - -#: toplevel.cpp:586 -msgid "Show/Hide the Parts Overview Dockable" -msgstr "顯示/隱藏部件概觀嵌入面板" - -#: toplevel.cpp:590 -msgid "Call Stack" -msgstr "呼叫堆疊" - -#: toplevel.cpp:595 -msgid "Show/Hide the Call Stack Dockable" -msgstr "顯示/隱藏呼叫堆疊嵌入面板" - -#. i18n: file functionselectionbase.ui line 16 -#: rc.cpp:297 toplevel.cpp:599 +#. i18n: file dumpselectionbase.ui line 928 +#: coverageview.cpp:49 partview.cpp:49 rc.cpp:270 rc.cpp:315 #, no-c-format -msgid "Function Profile" -msgstr "函式分析檔" - -#: toplevel.cpp:604 -msgid "Show/Hide the Function Profile Dockable" -msgstr "顯示/隱藏函式分析檔嵌入面板" - -#: toplevel.cpp:614 -msgid "Show/Hide the Profile Dumps Dockable" -msgstr "顯示/隱藏分析檔傾印嵌入面板" - -#: toplevel.cpp:619 -msgid "Show Relative Costs" -msgstr "顯示相對花費" +msgid "Called" +msgstr "已呼叫" -#: toplevel.cpp:626 -msgid "Show Absolute Costs" -msgstr "顯示絕對花費" +#: callview.cpp:48 coverageview.cpp:50 +msgid "Caller" +msgstr "呼叫者" -#: toplevel.cpp:629 -msgid "Show relative instead of absolute costs" -msgstr "顯示相對花費而非絕對花費" +#. 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 "自身" -#: toplevel.cpp:633 -msgid "Percentage Relative to Parent" -msgstr "相對於父項目的百分比" +#: coverageview.cpp:55 +msgid "Calling" +msgstr "呼叫中" -#: toplevel.cpp:639 -msgid "Show percentage costs relative to parent" -msgstr "顯示相對於父項目的相關花費百分比" +#: callview.cpp:52 coverageview.cpp:56 +msgid "Callee" +msgstr "被呼叫者" -#: toplevel.cpp:643 +#: coverageview.cpp:90 msgid "" -"Show percentage costs relative to parent" -"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." -"
Cost Type | " -"Parent Cost |
Function Cumulative | " -"Total |
Function Self | " -"Function Group (*) / Total |
Call | " -"Function Cumulative |
Source Line | " -"Function Cumulative |
(*) Only if function grouping is switched on (e.g. ELF object grouping)." +"List of all Callers" +"
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 Distance " +"(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).
" +"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.
" +"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.
" +"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.
" msgstr "" -"顯示相對於父項目的相關花費百分比 " -"關閉此選項的話,則花費百分比是以相對於目前瀏覽的分析檔部件的總花費。開啟此選項,則此百分比是相對於父項目的相關花費。 " -"
花費型態 | " -"父項目花費 |
函式累積 | " -"總計 |
函式本身 | " -"函式群組(*) / 總計 |
呼叫 | " -"函式累積 |
源碼行號 | " -"函式累積 |
(*):只有在打開函式群組時(例如 ELF 物件群組)
" - -#: toplevel.cpp:658 -msgid "Do Cycle Detection" -msgstr "執行循環偵測" - -#: toplevel.cpp:664 -msgid "Skip Cycle Detection" -msgstr "略過循環偵測" +"所有呼叫者清單 " +"此清單顯示目前選取函式的所有呼叫者函式,包括直接呼叫與間接呼叫。間接呼叫的數字加一稱為「距離」(例如,函式 A 呼叫函式 B,函式 B 又呼叫函式 " +"C,則函式 A 到 C 的距離為 2)
" +"顯示的「絕對花費」是當一個已列出的所選函式使用時的花費;「相對花費」是此函式相對於所有已選函式的花費。花費圖形以對每個距離以不同顏色顯示對數百分比。
" +"因為有可能同一個函式中會有許多呼叫,距離欄位有時會顯示所有發生呼叫的函式的距離範圍,這種狀況下,括弧中顯示的是平均距離,也就是發生呼叫最多花費的地方。" +"p> " +"
選擇某函式可以看每個函式的資訊。如果在分割模式下的兩個面板,會在另一個面板改變。
" -#: toplevel.cpp:667 +#: coverageview.cpp:120 msgid "" -"Detect recursive cycles" -"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)." -"
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." +"List of all Callees" +"
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 Distance " +"(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).
" +"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.
" +"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.
" +"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.
" msgstr "" -"偵測遞迴循環 " -"關閉此選項的話,樹狀圖會以黑色區域表示遞迴呼叫,而非無限制地畫遞迴。注意,黑色區域的大小通常會是錯的,因為遞迴循環時呼叫的花費無法立即決定。不過對假循環而" -"言,這個問題並不大(請參考文件說明)。
" -"勾選此選項的話,會去偵測並展開所有的函式成為一虛擬函式,以便正確處理。不過,對使用者介面的應用程式來說,這會產生巨大的假循環,變得無法分析。因此,就必須關" -"掉這個選項。
" - -#: toplevel.cpp:689 toplevel.cpp:729 -msgid "Go back in function selection history" -msgstr "在函式選擇歷史中往後" - -#: toplevel.cpp:695 toplevel.cpp:741 -msgid "Go forward in function selection history" -msgstr "在函式選擇歷史中往前" - -#: toplevel.cpp:701 toplevel.cpp:715 -msgid "" -"Go Up" -"Go to last selected caller of current function. If no caller was visited, " -"use that with highest cost.
" -msgstr "往上到此函式最後一個選取的呼叫者。如果沒有,則使用最高花費。
" - -#: toplevel.cpp:707 -msgid "&Up" -msgstr "向上(&U)" - -#: toplevel.cpp:746 toplevel.cpp:1651 -msgid "Primary Event Type" -msgstr "主要事件型態" - -#: toplevel.cpp:748 -msgid "Select primary event type of costs" -msgstr "選擇花費的主要事件型態" - -#: toplevel.cpp:758 toplevel.cpp:1654 -msgid "Secondary Event Type" -msgstr "次要事件型態" - -#: toplevel.cpp:760 -msgid "Select secondary event type for cost e.g. shown in annotations" -msgstr "選擇花費的次要事件型態。" - -#: functionselection.cpp:243 toplevel.cpp:768 -msgid "Grouping" -msgstr "群組" - -#: toplevel.cpp:771 -msgid "Select how functions are grouped into higher level cost items" -msgstr "選擇函式要怎麼併入高階花費項目" - -#: functionselection.cpp:52 toplevel.cpp:777 -msgid "(No Grouping)" -msgstr "(無群組)" - -#: toplevel.cpp:787 -msgid "Split" -msgstr "分割" - -#: toplevel.cpp:791 -msgid "Show two information panels" -msgstr "顯示兩個資訊面板" +"被呼叫者清單" +"這份清單顯示所有被目前選取的函式呼叫的函式,包括直接與間接呼叫。間接呼叫的數字加一稱為「距離」(例如,函式 A 呼叫函式 B,函式 B 又呼叫函式 " +"C,則函式 A 到 C 的距離為 2)
" +"顯示的「絕對花費」是當一個已列出的所選函式使用時的花費;「相對花費」是此函式相對於所有已選函式的花費。花費圖形以對每個距離以不同顏色顯示對數百分比。
" +"因為有可能同一個函式中會有許多呼叫,距離欄位有時會顯示所有發生呼叫的函式的距離範圍,這種狀況下,括弧中顯示的是平均距離,也就是發生呼叫最多花費的地方。" +"p> " +"
選擇某函式可以看每個函式的資訊。如果在分割模式下的兩個面板,會在另一個面板改變。
" -#: toplevel.cpp:795 -msgid "Split Horizontal" -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" -#: toplevel.cpp:800 -msgid "Change Split Orientation when main window is split." -msgstr "主視窗分割時變更分割方向" +#: callview.cpp:45 instrview.cpp:127 sourceview.cpp:52 +msgid "Cost 2" +msgstr "花費 2" -#: toplevel.cpp:808 -msgid "Tip of the &Day..." -msgstr "每日提示(&D)..." +#: callview.cpp:47 callview.cpp:51 +msgid "Count" +msgstr "計數" -#: toplevel.cpp:809 -msgid "Show \"Tip of the Day\"" -msgstr "顯示「每日提示」" +#: callview.cpp:85 +msgid "" +"List of direct Callers" +"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.
" +"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.
" +"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.
" +msgstr "" +"直接呼叫者清單 " +"這個清單顯示直接呼叫目前選取函式的所有函式,以及呼叫次數與呼叫花費。
" +"如果顯示一圖示而非引入花費,則表示這個呼叫是在遞迴循環之中。引入花費在此沒有意義。
" +"選擇某個函式會在目前資訊面板的顯示中跳到該函式。如果有兩個面板(分割模式),則會變換另一個面板的函式。
" -#: toplevel.cpp:1012 toplevel.cpp:1061 +#: callview.cpp:98 msgid "" -"cachegrind.out* callgrind.out*|Callgrind Profile Data\n" -"*|All Files" +"List of direct Callees" +"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.
" +"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.
" msgstr "" -"cachegrind.out* callgrind.out*|Callgrind 分析資料檔\n" -"*|所有檔案" +"直接被呼叫者清單 " +"這個清單顯示目前選取函式直接呼叫的所有函式,以及呼叫次數與呼叫花費。
" +"選擇某個函式會在目前資訊面板的顯示中跳到該函式。如果有兩個面板(分割模式),則會變換另一個面板的函式。
" -#: toplevel.cpp:1014 -msgid "Select Callgrind Profile Data" -msgstr "選擇 Callgrind 分析資料" +#: instritem.cpp:106 sourceitem.cpp:86 +msgid "Active call to '%1'" +msgstr "使用中到 %1 的呼叫" -#: toplevel.cpp:1063 -msgid "Add Callgrind Profile Data" -msgstr "新增 Callgrind 分析資料" +#: instritem.cpp:108 sourceitem.cpp:88 +msgid "" +"_n: %n call to '%1'\n" +"%n calls to '%1'" +msgstr "%n 個到 %1 的呼叫" -#: toplevel.cpp:1221 toplevel.cpp:1574 -msgid "(Hidden)" -msgstr "(隱藏)" +#: instritem.cpp:137 +msgid "Jump %1 of %2 times to 0x%3" +msgstr "跳躍到 0x%3 %1 次,共要 %2 次" -#: toplevel.cpp:1626 -msgid "Hide" -msgstr "隱藏" +#: instritem.cpp:142 +msgid "Jump %1 times to 0x%2" +msgstr "跳躍到 0x%2 %1 次" -#: toplevel.cpp:1659 -msgid "Show Absolute Cost" -msgstr "顯示絕對花費" +#: instritem.cpp:185 sourceitem.cpp:169 +msgid "(cycle)" +msgstr "(循環)" -#: toplevel.cpp:1662 -msgid "Show Relative Cost" -msgstr "顯示相對花費" +#: tracedata.cpp:153 +msgid "Abstract Item" +msgstr "抽象項目" -#: toplevel.cpp:1693 -msgid "Go Forward" -msgstr "往前" +#: tracedata.cpp:154 +msgid "Cost Item" +msgstr "花費項目" -#: toplevel.cpp:1694 -msgid "Go Up" -msgstr "往上" +#: tracedata.cpp:155 +msgid "Part Source Line" +msgstr "源碼行部件" -#: toplevel.cpp:1926 -#, c-format -msgid "Layout Count: %1" -msgstr "佈局計數:%1" +#: tracedata.cpp:156 +msgid "Source Line" +msgstr "源碼行" -#: toplevel.cpp:1933 -msgid "No profile data file loaded." -msgstr "沒有載入分析資料檔。" +#: tracedata.cpp:157 +msgid "Part Line Call" +msgstr "行呼叫部件" -#: toplevel.cpp:1942 -msgid "Total %1 Cost: %2" -msgstr "總計 %1 花費:%2" +#: tracedata.cpp:158 +msgid "Line Call" +msgstr "行呼叫" -#: toplevel.cpp:1954 -msgid "No event type selected" -msgstr "(沒有選擇事件型態)" +#: tracedata.cpp:159 +msgid "Part Jump" +msgstr "跳躍部件" -#: toplevel.cpp:2199 toplevel.cpp:2235 toplevel.cpp:2271 -msgid "(No Stack)" -msgstr "(沒有堆疊)" +#: tracedata.cpp:160 +msgid "Jump" +msgstr "跳躍" -#: toplevel.cpp:2205 -msgid "(No next function)" -msgstr "(沒有下一個函式)" +#: tracedata.cpp:161 +msgid "Part Instruction" +msgstr "指令部件" -#: toplevel.cpp:2241 -msgid "(No previous function)" -msgstr "(沒有前一個函式)" +#: tracedata.cpp:162 +msgid "Instruction" +msgstr "指令" -#: toplevel.cpp:2276 -msgid "(No Function Up)" -msgstr "(沒有函式往上)" +#: tracedata.cpp:163 +msgid "Part Instruction Jump" +msgstr "指令跳躍部件" -#. i18n: file dumpselectionbase.ui line 906 -#: instrview.cpp:125 rc.cpp:264 sourceview.cpp:50 -#, no-c-format -msgid "#" -msgstr "#" +#: tracedata.cpp:164 +msgid "Instruction Jump" +msgstr "指令跳躍" -#: callview.cpp:45 instrview.cpp:127 sourceview.cpp:52 -msgid "Cost 2" -msgstr "花費 2" +#: tracedata.cpp:165 +msgid "Part Instruction Call" +msgstr "指令呼叫部件" -#: instrview.cpp:129 -msgid "Hex" -msgstr "十六進位值" +#: tracedata.cpp:166 +msgid "Instruction Call" +msgstr "指令呼叫" + +#: tracedata.cpp:167 +msgid "Part Call" +msgstr "呼叫部件" -#: instrview.cpp:131 tabview.cpp:313 -msgid "Assembler" -msgstr "組譯器" +#: tracedata.cpp:168 +msgid "Call" +msgstr "呼叫" -#: instrview.cpp:132 -msgid "Source Position" -msgstr "源碼位置" +#: tracedata.cpp:169 +msgid "Part Function" +msgstr "函式部件" -#: instrview.cpp:163 -msgid "" -"Annotated Assembler" -"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.
" -"The disassembler output shown is generated with the 'objdump' utility from " -"the 'binutils' package.
" -"Select a line with call information to make the destination function of this " -"call current.
" -msgstr "" -"註記組譯器(Annotated Assembler) " -"註記組譯器顯示目前選取的函式的機器碼指令,以及執行該指令時的花費。如果是呼叫指令,則呼叫時發生的詳情會插入到源碼中,包括呼叫的花費,呼叫的次數,以及呼叫的" -"目的地。
" -"反組譯輸出可以用 objdump 產生,通常會包在 binutils 套件中。
" -"選取呼叫資訊中的某一行可以眺到被呼叫的函式。
" +#: tracedata.cpp:170 +msgid "Function Source File" +msgstr "函式源碼檔案" -#: callgraphview.cpp:2397 callgraphview.cpp:2401 callgraphview.cpp:2419 -#: callview.cpp:123 callview.cpp:128 coverageview.cpp:166 instrview.cpp:191 -#: sourceview.cpp:116 -msgid "Go to '%1'" -msgstr "跳到 %1" +#. 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 "函式" -#: instrview.cpp:195 -#, c-format -msgid "Go to Address %1" -msgstr "跳到位址 %1" +#: tracedata.cpp:172 +msgid "Function Cycle" +msgstr "函式循環" -#: instrview.cpp:207 -msgid "Hex Code" -msgstr "十六進位碼" +#: tracedata.cpp:173 +msgid "Part Class" +msgstr "類別部件" -#: instrview.cpp:426 -msgid "There is no instruction info in the profile data file." -msgstr "此分析資料檔中沒有指令資訊。" +#: tracedata.cpp:174 +msgid "Class" +msgstr "類別" -#: instrview.cpp:428 -msgid "For the Valgrind Calltree Skin, rerun with option" -msgstr "要用 Valgrind Calltree Skin,請重新執行並指定選項" +#: tracedata.cpp:175 +msgid "Part Source File" +msgstr "程式源碼檔案部件" -#: instrview.cpp:429 -msgid " --dump-instr=yes" -msgstr " --dump-instr=yes" +#: tracedata.cpp:176 +msgid "Source File" +msgstr "程式源碼檔案" -#: instrview.cpp:430 -msgid "To see (conditional) jumps, additionally specify" -msgstr "想要看條件式的跳躍,請額外指定選項" +#: tracedata.cpp:177 +msgid "Part ELF Object" +msgstr "ELF 物件部件" -#: instrview.cpp:431 -msgid " --trace-jump=yes" -msgstr " --trace-jump=yes" +#: tracedata.cpp:178 +msgid "ELF Object" +msgstr "ELF 物件" -#: instrview.cpp:629 -msgid "There is an error trying to execute the command" -msgstr "執行此指令時發生錯誤" +#: partview.cpp:46 tracedata.cpp:179 +msgid "Profile Part" +msgstr "分析檔部件" -#: instrview.cpp:634 instrview.cpp:900 -msgid "Check that you have installed 'objdump'." -msgstr "請檢查您是否已安裝 objdump。" +#: tracedata.cpp:180 +msgid "Program Trace" +msgstr "程式追蹤" -#: instrview.cpp:636 instrview.cpp:902 -msgid "This utility can be found in the 'binutils' package." -msgstr "這個工具可以在 binutils 套件中找到。" +#: tracedata.cpp:241 +msgid "%1 from %2" +msgstr "%1 從 %2" -#: instrview.cpp:739 -msgid "(No Assembler)" -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 "(未知)" -#: 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 個花費線沒有組譯碼。" +#: tracedata.cpp:2583 +msgid "(no caller)" +msgstr "(無呼叫者)" -#: instrview.cpp:877 -msgid "This happens because the code of" -msgstr "發生的原因是因為這個的程式碼:" +#: tracedata.cpp:2590 tracedata.cpp:2609 +msgid "%1 via %2" +msgstr "%1 經過 %2" -#: instrview.cpp:880 -msgid "does not seem to match the profile data file." -msgstr "似乎無法符合此分析資料檔。" +#: tracedata.cpp:2599 +msgid "(no callee)" +msgstr "(無被呼叫者)" -#: instrview.cpp:883 -msgid "Are you using an old profile data file or is the above mentioned" -msgstr "您正使用舊的分析資料檔,還是像上面提到的" +#: tracedata.cpp:4467 +msgid "(not found)" +msgstr "(未找到)" -#: instrview.cpp:885 -msgid "ELF object from an updated installation/another machine?" -msgstr "這是從已更新的安裝或其他機器來的 ELF 物件嗎?" +#: tracedata.cpp:5017 +msgid "Recalculating Function Cycles..." +msgstr "重新計算函式循環..." -#: instrview.cpp:893 -msgid "There seems to be an error trying to execute the command" -msgstr "試著執行此命令時發生錯誤" +#. i18n: file partselectionbase.ui line 16 +#: rc.cpp:324 toplevel.cpp:276 toplevel.cpp:576 +#, no-c-format +msgid "Parts Overview" +msgstr "部件概觀" -#: instrview.cpp:898 -msgid "Check that the ELF object used in the command exists." -msgstr "請檢查命令中使用的 ELF 物件存在。" +#: toplevel.cpp:283 +msgid "" +"The Parts Overview" +"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.
" +"The parts are further subdivided: there is a partitioning and an callee " +"split mode: " +"
當某個分析檔中還有多個分析資料檔時,這份概觀可以看到所有的追蹤部件。追蹤部件概觀水平軸為執行時間,矩形大小與部件的總花費成比例。您可以選擇多個部件來顯示這" +"些部件的總花費。
" +"這些部件可以再更進一步細分:有分割模式與被呼叫者模式: " +"
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.
" +"The Cost and Calls columns show the cost used for all calls " +"from the function in the line above.
" +msgstr "" +"最高花費呼叫堆疊" +"這只是純虛構的「最有可能的」呼叫堆疊。它是從目前選取的函式開始,針對每個呼叫者與被呼叫者的最高花費放到堆疊中。
" +"花費與呼叫欄位顯示呼叫所使用的花費。
" -#: callgraphview.cpp:308 -msgid "(unknown call)" -msgstr "(未知的呼叫)" +#: toplevel.cpp:328 +msgid "Flat Profile" +msgstr "簡單分析檔" -#: callgraphview.cpp:1425 +#: toplevel.cpp:338 msgid "" -"Call Graph around active Function" -"Depending on configuration, this view shows the call graph environment of " -"the active function. Note: the shown cost is only " -"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.
" -"For cycles, blue call arrows indicate that this is an artificial call added " -"for correct drawing which actually never happened.
" -"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." +"The Flat Profile" +"
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." "
" +"
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.
" msgstr "" -"活躍函式的呼叫圖環境 " -"根據設定,此檢視顯示活躍函式的呼叫圖環境。注意:顯示的花費只表示此函式執行中的花費,也就是說,main() 函式顯示的花費會跟此函式的花費一樣,因為那是 " -"main() 的引入花費。
" -"對循環而言,藍色的呼叫箭頭表示是人工加上去修正的,實際上不會發生。
" -"如果此圖大於元件的大小,則會在一邊顯示略圖。類似呼叫樹狀圖的視覺選項,選取的函式會被突顯。
" +"簡單分析檔" +"簡單分析檔(Flat " +"Profile)包含一個群組與函式選取清單。根據所選取的群組型態,群組清單包含了所有花費到的群組。若是群組型態選擇為「函式」則群組清單會被隱藏起來。
" +"函式清單則包含了所選取的群組的函式,(如果群組型態為「函式」則包含所有的函式),依花費排序。花費少於 1% 的則預設為隱藏。
" -#: callgraphview.cpp:1789 +#. i18n: file dumpselectionbase.ui line 16 +#: rc.cpp:84 toplevel.cpp:352 toplevel.cpp:604 +#, no-c-format +msgid "Profile Dumps" +msgstr "分析檔傾印" + +#: toplevel.cpp:362 msgid "" -"Warning: a long lasting graph layouting is in progress.\n" -"Reduce node/edge limits for speedup.\n" +"Profile Dumps" +"This dockable shows in the top part the list of loadable profile dumps in " +"all subdirectories of: " +"
On selecting a profile dump, information for it is shown in the bottom area " +"of the dockable: " +"
這個嵌入元件的上半部顯示以下目錄及其子目錄中,可載入的分析檔傾印: " +"
選取某個分析檔傾印,其資訊會顯示在此元件的下半部: " +"
Make a copy of the current layout.
" +msgstr "複製目前的佈局複製目前的佈局。
" -#: callgraphview.cpp:1794 +#: toplevel.cpp:461 msgid "" -"The call graph has %1 nodes and %2 edges.\n" -msgstr "" -"呼叫圖中含有 %1 個節點與 %2 個邊線。\n" +"Remove Current Layout" +"Delete current layout and make the previous active.
" +msgstr "移除目前的佈局刪除目前的佈局,並回到上一個。
" -#: callgraphview.cpp:1827 -msgid "No item activated for which to draw the call graph." -msgstr "沒有激發要繪製呼叫圖的項目。" +#: toplevel.cpp:465 +msgid "&Go to Next" +msgstr "跳到下一個(&G)" -#: callgraphview.cpp:1838 -msgid "No call graph can be drawn for the active item." -msgstr "沒有目前活躍的項目可繪製呼叫圖。" +#: toplevel.cpp:469 +msgid "Go to Next Layout" +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" +#: toplevel.cpp:472 +msgid "&Go to Previous" +msgstr "跳到上一個(&G)" -#: callgraphview.cpp:1870 callgraphview.cpp:2200 -msgid "Please check that 'dot' is installed (package GraphViz)." -msgstr "請檢查 dot 已安裝(在 GraphViz 套件中)" +#: toplevel.cpp:476 +msgid "Go to Previous Layout" +msgstr "跳到上一個佈局" -#: callgraphview.cpp:2199 -msgid "" -"Error running the graph layouting tool.\n" -msgstr "" -"執行圖形佈局工具時發生錯誤。\n" +#: toplevel.cpp:479 +msgid "&Restore to Default" +msgstr "還原預設值(&R)" -#: callgraphview.cpp:2207 -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 的呼叫圖,因為沒有所選取事件型態的花費。" +#: toplevel.cpp:482 +msgid "Restore Layouts to Default" +msgstr "還原佈局預設值" -#: callgraphview.cpp:2428 -msgid "Stop Layouting" -msgstr "停止佈局" +#: toplevel.cpp:485 +msgid "&Save as Default" +msgstr "儲存為預設值(&S)" -#: callgraphview.cpp:2436 -msgid "As PostScript" -msgstr "為 PostScript 檔" +#: toplevel.cpp:488 +msgid "Save Layouts as Default" +msgstr "儲存佈局為預設值" -#: callgraphview.cpp:2437 -msgid "As Image ..." -msgstr "為影像檔..." +#: toplevel.cpp:499 +msgid "NewOpen new empty KCachegrind window.
" +msgstr "新增開啟新的空白 KCachegrind 視窗。
" -#: callgraphview.cpp:2439 -msgid "Export Graph" -msgstr "匯出圖形" +#: toplevel.cpp:502 +msgid "&Add..." +msgstr "新增(&A)..." -#: callgraphview.cpp:2444 callgraphview.cpp:2467 -msgid "Unlimited" -msgstr "無限制" +#: toplevel.cpp:505 +msgid "" +"Add Profile Data" +"This opens an additional profile data file in the current window.
" +msgstr "新增分析檔資料在目前視窗中開啟新的分析資料檔。
" -#: callgraphview.cpp:2447 callgraphview.cpp:2470 -msgid "None" -msgstr "無" +#: toplevel.cpp:517 +msgid "Reload Profile DataThis loads any new created parts, too.
" +msgstr "重新載入分析資料這也會載入任何新建立的部件。
" -#: callgraphview.cpp:2448 callgraphview.cpp:2471 -msgid "max. 2" -msgstr "最大 2" +#: toplevel.cpp:521 +msgid "&Export Graph" +msgstr "匯出圖形(&E)" -#: callgraphview.cpp:2449 callgraphview.cpp:2472 -msgid "max. 5" -msgstr "最大 5" +#: toplevel.cpp:525 +msgid "" +"Export Call Graph" +"Generates a file with extension .dot for the tools of the GraphViz " +"package.
" +msgstr "匯出呼叫圖產生副檔名為 .dot 的 GraphViz 套件工具的檔案。
" -#: callgraphview.cpp:2450 callgraphview.cpp:2473 -msgid "max. 10" -msgstr "最大 10" +#: toplevel.cpp:531 +msgid "&Force Dump" +msgstr "強制傾印(&F)" -#: callgraphview.cpp:2451 callgraphview.cpp:2474 -msgid "max. 15" -msgstr "最大 15" +#: toplevel.cpp:540 +msgid "" +"Force Dump" +"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.
" +"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 no Callgrind running, press 'Force Dump' again to " +"cancel the dump request. This deletes 'callgrind.cmd' itself and stops polling " +"for a new dump.
" +"Note: A Callgrind run only detects existence of 'callgrind.cmd' " +"when actively running a few milliseconds, i.e. not " +"sleeping. Tip: For a profiled GUI program, you can awake Callgrind e.g. by " +"resizing a window of the program.
" +msgstr "" +"強制傾印 " +"強制 Callgrind 執行分析檔傾印在目前的目錄中。當 KCachegrind " +"要尋找傾印時可以勾選此選項。傾印完成後,會自動重新載入目前的追蹤。如果是 Callgrind 傾印,則也會載入新建立的追蹤部件。
" +"強制傾印會建立一個叫做 callgrind.cmd 的檔案,並每秒鐘檢查其存在與否。執行中的 Callgrind 會偵測此檔,傾印追蹤部件,並刪除 " +"callgrind.cmd 檔。KCachegrind 會偵測到刪除的動作,並做重新載入。如果沒有執行 " +"Callgrind,再按一次「強制傾印」會取消傾印的要求。這會刪除 callgrind.cmd 檔並停止輪詢新的傾印。
" +"注意:Callgrind 執行時只會在實際執行的時間(只有幾毫秒)才會偵測 callgrind.cmd " +"檔的存在與否,休眠(Sleep)時並不會偵測。提示:若是使用者介面的程式分析檔,您可以用調整視窗大小來叫醒 Callgrind。
" -#: callgraphview.cpp:2461 callgraphview.cpp:2484 -#, c-format -msgid "< %1" -msgstr "< %1" +#: toplevel.cpp:565 +msgid "" +"Open Profile Data" +"This opens a profile data file, with possible multiple parts
" +msgstr "開啟分析檔資料開啟分析檔資料。
" -#: callgraphview.cpp:2490 -msgid "No Minimum" -msgstr "無最小值" +#: toplevel.cpp:581 +msgid "Show/Hide the Parts Overview Dockable" +msgstr "顯示/隱藏部件概觀嵌入面板" -#: callgraphview.cpp:2494 -#, c-format -msgid "50 %" -msgstr "50 %" +#: toplevel.cpp:585 +msgid "Call Stack" +msgstr "呼叫堆疊" -#: callgraphview.cpp:2495 -#, c-format -msgid "20 %" -msgstr "20 %" +#: toplevel.cpp:590 +msgid "Show/Hide the Call Stack Dockable" +msgstr "顯示/隱藏呼叫堆疊嵌入面板" -#: callgraphview.cpp:2496 -#, c-format -msgid "10 %" -msgstr "10 %" +#. i18n: file functionselectionbase.ui line 16 +#: rc.cpp:297 toplevel.cpp:594 +#, no-c-format +msgid "Function Profile" +msgstr "函式分析檔" -#: callgraphview.cpp:2497 -#, c-format -msgid "5 %" -msgstr "5 %" +#: toplevel.cpp:599 +msgid "Show/Hide the Function Profile Dockable" +msgstr "顯示/隱藏函式分析檔嵌入面板" -#: callgraphview.cpp:2498 -#, c-format -msgid "3 %" -msgstr "3 %" +#: toplevel.cpp:609 +msgid "Show/Hide the Profile Dumps Dockable" +msgstr "顯示/隱藏分析檔傾印嵌入面板" -#: callgraphview.cpp:2499 -#, c-format -msgid "2 %" -msgstr "2 %" +#: toplevel.cpp:614 +msgid "Show Relative Costs" +msgstr "顯示相對花費" -#: callgraphview.cpp:2500 -#, c-format -msgid "1.5 %" -msgstr "1.5 %" +#: toplevel.cpp:621 +msgid "Show Absolute Costs" +msgstr "顯示絕對花費" -#: callgraphview.cpp:2501 -#, c-format -msgid "1 %" -msgstr "1 %" +#: toplevel.cpp:624 +msgid "Show relative instead of absolute costs" +msgstr "顯示相對花費而非絕對花費" -#: callgraphview.cpp:2517 -msgid "Same as Node" -msgstr "與節點相同" +#: toplevel.cpp:628 +msgid "Percentage Relative to Parent" +msgstr "相對於父項目的百分比" -#: callgraphview.cpp:2518 -#, c-format -msgid "50 % of Node" -msgstr "50% 的節點" +#: toplevel.cpp:634 +msgid "Show percentage costs relative to parent" +msgstr "顯示相對於父項目的相關花費百分比" + +#: toplevel.cpp:638 +msgid "" +"Show percentage costs relative to parent" +"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." +"
Cost Type | " +"Parent Cost |
Function Cumulative | " +"Total |
Function Self | " +"Function Group (*) / Total |
Call | " +"Function Cumulative |
Source Line | " +"Function Cumulative |
(*) Only if function grouping is switched on (e.g. ELF object grouping)." +msgstr "" +"顯示相對於父項目的相關花費百分比 " +"
關閉此選項的話,則花費百分比是以相對於目前瀏覽的分析檔部件的總花費。開啟此選項,則此百分比是相對於父項目的相關花費。 " +"
花費型態 | " +"父項目花費 |
函式累積 | " +"總計 |
函式本身 | " +"函式群組(*) / 總計 |
呼叫 | " +"函式累積 |
源碼行號 | " +"函式累積 |
(*):只有在打開函式群組時(例如 ELF 物件群組)
" -#: callgraphview.cpp:2519 -#, c-format -msgid "20 % of Node" -msgstr "20% 的節點" +#: toplevel.cpp:653 +msgid "Do Cycle Detection" +msgstr "執行循環偵測" -#: callgraphview.cpp:2520 -#, c-format -msgid "10 % of Node" -msgstr "10% 的節點" +#: toplevel.cpp:659 +msgid "Skip Cycle Detection" +msgstr "略過循環偵測" -#: callgraphview.cpp:2530 -msgid "Caller Depth" -msgstr "呼叫者深度" +#: toplevel.cpp:662 +msgid "" +"Detect recursive cycles" +"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)." +"
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 "" +"偵測遞迴循環 " +"
關閉此選項的話,樹狀圖會以黑色區域表示遞迴呼叫,而非無限制地畫遞迴。注意,黑色區域的大小通常會是錯的,因為遞迴循環時呼叫的花費無法立即決定。不過對假循環而" +"言,這個問題並不大(請參考文件說明)。
" +"勾選此選項的話,會去偵測並展開所有的函式成為一虛擬函式,以便正確處理。不過,對使用者介面的應用程式來說,這會產生巨大的假循環,變得無法分析。因此,就必須關" +"掉這個選項。
" -#: callgraphview.cpp:2531 -msgid "Callee Depth" -msgstr "被呼叫者深度" +#: toplevel.cpp:684 toplevel.cpp:724 +msgid "Go back in function selection history" +msgstr "在函式選擇歷史中往後" -#: callgraphview.cpp:2532 -msgid "Min. Node Cost" -msgstr "最小節點花費" +#: toplevel.cpp:690 toplevel.cpp:736 +msgid "Go forward in function selection history" +msgstr "在函式選擇歷史中往前" -#: callgraphview.cpp:2533 -msgid "Min. Call Cost" -msgstr "最小呼叫花費" +#: toplevel.cpp:696 toplevel.cpp:710 +msgid "" +"Go Up" +"Go to last selected caller of current function. If no caller was visited, " +"use that with highest cost.
" +msgstr "往上到此函式最後一個選取的呼叫者。如果沒有,則使用最高花費。
" -#: callgraphview.cpp:2535 -msgid "Arrows for Skipped Calls" -msgstr "被略過呼叫的箭頭" +#: toplevel.cpp:702 +msgid "&Up" +msgstr "向上(&U)" -#: callgraphview.cpp:2537 -msgid "Inner-cycle Calls" -msgstr "內部循環呼叫" +#: toplevel.cpp:741 toplevel.cpp:1646 +msgid "Primary Event Type" +msgstr "主要事件型態" -#: callgraphview.cpp:2539 -msgid "Cluster Groups" -msgstr "叢集群組" +#: toplevel.cpp:743 +msgid "Select primary event type of costs" +msgstr "選擇花費的主要事件型態" -#: callgraphview.cpp:2544 -msgid "Compact" -msgstr "簡潔" +#: toplevel.cpp:753 toplevel.cpp:1649 +msgid "Secondary Event Type" +msgstr "次要事件型態" -#: callgraphview.cpp:2545 -msgid "Normal" -msgstr "正常" +#: toplevel.cpp:755 +msgid "Select secondary event type for cost e.g. shown in annotations" +msgstr "選擇花費的次要事件型態。" -#: callgraphview.cpp:2546 -msgid "Tall" -msgstr "高" +#: functionselection.cpp:243 toplevel.cpp:763 +msgid "Grouping" +msgstr "群組" -#: callgraphview.cpp:2551 -msgid "Top to Down" -msgstr "上到下" +#: toplevel.cpp:766 +msgid "Select how functions are grouped into higher level cost items" +msgstr "選擇函式要怎麼併入高階花費項目" -#: callgraphview.cpp:2552 -msgid "Left to Right" -msgstr "左到右" +#: functionselection.cpp:52 toplevel.cpp:772 +msgid "(No Grouping)" +msgstr "(無群組)" -#: callgraphview.cpp:2553 -msgid "Circular" -msgstr "圓形" +#: toplevel.cpp:782 +msgid "Split" +msgstr "分割" -#: callgraphview.cpp:2559 -msgid "TopLeft" -msgstr "左上方" +#: toplevel.cpp:786 +msgid "Show two information panels" +msgstr "顯示兩個資訊面板" -#: callgraphview.cpp:2560 -msgid "TopRight" -msgstr "右上方" +#: toplevel.cpp:790 +#, fuzzy +msgid "SplitQt::Horizontal" +msgstr "水平分割" -#: callgraphview.cpp:2561 -msgid "BottomLeft" -msgstr "左下方" +#: toplevel.cpp:795 +#, fuzzy +msgid "Change Split Qt::Orientation when main window is split." +msgstr "主視窗分割時變更分割方向" -#: callgraphview.cpp:2562 -msgid "BottomRight" -msgstr "右下方" +#: toplevel.cpp:803 +msgid "Tip of the &Day..." +msgstr "每日提示(&D)..." -#. i18n: file configdlgbase.ui line 246 -#: callgraphview.cpp:2563 rc.cpp:42 rc.cpp:51 rc.cpp:54 -#, no-c-format -msgid "Automatic" -msgstr "自動" +#: toplevel.cpp:804 +msgid "Show \"Tip of the Day\"" +msgstr "顯示「每日提示」" -#: callgraphview.cpp:2570 -msgid "Graph" -msgstr "圖" +#: toplevel.cpp:1007 toplevel.cpp:1056 +msgid "" +"cachegrind.out* callgrind.out*|Callgrind Profile Data\n" +"*|All Files" +msgstr "" +"cachegrind.out* callgrind.out*|Callgrind 分析資料檔\n" +"*|所有檔案" -#: callgraphview.cpp:2572 -msgid "Birds-eye View" -msgstr "鳥瞰檢視" +#: toplevel.cpp:1009 +msgid "Select Callgrind Profile Data" +msgstr "選擇 Callgrind 分析資料" -#: _translatorinfo.cpp:1 -msgid "" -"_: NAME OF TRANSLATORS\n" -"Your names" -msgstr "Frank Weng (a.k.a. Franklin),Franklin Weng" +#: toplevel.cpp:1058 +msgid "Add Callgrind Profile Data" +msgstr "新增 Callgrind 分析資料" -#: _translatorinfo.cpp:3 -msgid "" -"_: EMAIL OF TRANSLATORS\n" -"Your emails" -msgstr "franklin at goodhorse dot idv dot tw" +#: toplevel.cpp:1216 toplevel.cpp:1569 +msgid "(Hidden)" +msgstr "(隱藏)" -#: coverageitem.cpp:65 coverageitem.cpp:205 functionitem.cpp:72 -#, c-format -msgid "" -"_n: (%n function skipped)\n" -"(%n functions skipped)" -msgstr "(已略過 %n 個函式)" +#: toplevel.cpp:1621 +msgid "Hide" +msgstr "隱藏" -#: main.cpp:38 -msgid "RunThis list shows all cost types available and what the self/inclusive cost of " +"the current selected function is for that cost type.
" +"By choosing a cost type from the list, you change the cost type of costs " +"shown all over KCachegrind to be the selected one.
" +msgstr "" +"花費類型清單" +"這份清單顯示所有可用的花費類型(cost type)以及目前所選取的函式在該類型的自身與引入的花費。
" +"選取其中一種類型,您可以改變所有 KCachegrind 的花費成為該類型。
" -#: tabview.cpp:290 -msgid "Caller Map" -msgstr "呼叫者地圖" +#: costtypeview.cpp:98 +msgid "Set Secondary Event Type" +msgstr "設定次要事件類型" -#: tabview.cpp:293 -msgid "Source" -msgstr "來源" +#: costtypeview.cpp:100 +msgid "Remove Secondary Event Type" +msgstr "移除次要事件類型" -#: tabview.cpp:297 -msgid "Parts" -msgstr "部件" +#: costtypeview.cpp:105 +msgid "Edit Long Name" +msgstr "編輯長名稱" -#: tabview.cpp:300 -msgid "Call Graph" -msgstr "呼叫圖" +#: costtypeview.cpp:106 +msgid "Edit Short Name" +msgstr "編輯短名稱" -#: tabview.cpp:303 -msgid "Callees" -msgstr "被呼叫者" +#: costtypeview.cpp:107 +msgid "Edit Formula" +msgstr "編輯公式" -#: tabview.cpp:306 -msgid "All Callees" -msgstr "所有被呼叫者" +#: costtypeview.cpp:115 +msgid "New Cost Type ..." +msgstr "新增花費類型..." -#: tabview.cpp:310 -msgid "Callee Map" -msgstr "被呼叫者地圖" +#: costtypeview.cpp:149 costtypeview.cpp:154 +#, c-format +msgid "New%1" +msgstr "新增%1" -#: tabview.cpp:553 -msgid "" -"Information Tabs" -"This widget shows information for the current selected function in different " -"tabs: " -"
本畫面以不同分頁顯示目前所選擇函數的資訊: " -"
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 Distance " -"(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).
" -"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.
" -"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.
" -"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.
" -msgstr "" -"所有呼叫者清單 " -"此清單顯示目前選取函式的所有呼叫者函式,包括直接呼叫與間接呼叫。間接呼叫的數字加一稱為「距離」(例如,函式 A 呼叫函式 B,函式 B 又呼叫函式 " -"C,則函式 A 到 C 的距離為 2)
" -"顯示的「絕對花費」是當一個已列出的所選函式使用時的花費;「相對花費」是此函式相對於所有已選函式的花費。花費圖形以對每個距離以不同顏色顯示對數百分比。
" -"因為有可能同一個函式中會有許多呼叫,距離欄位有時會顯示所有發生呼叫的函式的距離範圍,這種狀況下,括弧中顯示的是平均距離,也就是發生呼叫最多花費的地方。" -"p> " -"
選擇某函式可以看每個函式的資訊。如果在分割模式下的兩個面板,會在另一個面板改變。
" - -#: coverageview.cpp:120 -msgid "" -"List of all Callees" -"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 Distance " -"(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).
" -"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.
" -"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.
" -"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.
" -msgstr "" -"被呼叫者清單" -"這份清單顯示所有被目前選取的函式呼叫的函式,包括直接與間接呼叫。間接呼叫的數字加一稱為「距離」(例如,函式 A 呼叫函式 B,函式 B 又呼叫函式 " -"C,則函式 A 到 C 的距離為 2)
" -"顯示的「絕對花費」是當一個已列出的所選函式使用時的花費;「相對花費」是此函式相對於所有已選函式的花費。花費圖形以對每個距離以不同顏色顯示對數百分比。
" -"因為有可能同一個函式中會有許多呼叫,距離欄位有時會顯示所有發生呼叫的函式的距離範圍,這種狀況下,括弧中顯示的是平均距離,也就是發生呼叫最多花費的地方。" -"p> " -"
選擇某函式可以看每個函式的資訊。如果在分割模式下的兩個面板,會在另一個面板改變。
" - -#: configuration.cpp:63 -msgid "Instruction Fetch" -msgstr "指令抓取" - -#: configuration.cpp:64 -msgid "Data Read Access" -msgstr "資料讀取存取" - -#: configuration.cpp:65 -msgid "Data Write Access" -msgstr "資料寫入存取" - -#: configuration.cpp:66 -msgid "L1 Instr. Fetch Miss" -msgstr "L1 指令抓取失誤" - -#: configuration.cpp:67 -msgid "L1 Data Read Miss" -msgstr "L1 資料讀取失誤" - -#: configuration.cpp:68 -msgid "L1 Data Write Miss" -msgstr "L1 資料寫入失誤" - -#: configuration.cpp:69 -msgid "L2 Instr. Fetch Miss" -msgstr "L2 指令抓取失誤" - -#: configuration.cpp:70 -msgid "L2 Data Read Miss" -msgstr "L2 資料讀取失誤" - -#: configuration.cpp:71 -msgid "L2 Data Write Miss" -msgstr "L2 資料寫入失誤" - -#: configuration.cpp:72 -msgid "Samples" -msgstr "樣本" - -#: configuration.cpp:73 -msgid "System Time" -msgstr "系統時間" +msgid "Add the folder of this file to the source folder list." +msgstr "新增此檔案所在的資料夾到程式源碼資料夾清單中。" -#: configuration.cpp:74 -msgid "User Time" -msgstr "使用者時間" +#: sourceview.cpp:589 +msgid "The list can be found in the configuration dialog." +msgstr "這個清單可以在設定對話框中找到。" -#: configuration.cpp:75 -msgid "L1 Miss Sum" -msgstr "L1 失誤總和" +#: functionselection.cpp:176 +#, c-format +msgid "Go to %1" +msgstr "跳到 %1" -#: configuration.cpp:76 -msgid "L2 Miss Sum" -msgstr "L2 失誤總和" +#: functionselection.cpp:203 +msgid "Show All Items" +msgstr "顯示全部項目" -#: configuration.cpp:77 -msgid "Cycle Estimation" -msgstr "循環估計" +#: functionselection.cpp:226 +msgid "No Grouping" +msgstr "未群組" #. i18n: file tdecachegrindui.rc line 15 #: rc.cpp:9 @@ -1738,6 +1679,12 @@ msgstr "清單中最大項目數:" msgid "Cost Item Colors" msgstr "花費項目顏色" +#. i18n: file configdlgbase.ui line 246 +#: callgraphview.cpp:2562 rc.cpp:42 rc.cpp:51 rc.cpp:54 +#, no-c-format +msgid "Automatic" +msgstr "自動" + #. i18n: file configdlgbase.ui line 254 #: rc.cpp:45 #, no-c-format @@ -2050,12 +1997,6 @@ msgstr "已執行" 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 @@ -2068,12 +2009,6 @@ msgstr "Ir" 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 @@ -2098,12 +2033,6 @@ msgstr "堆疊追蹤:" msgid "Sync." 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 @@ -2164,572 +2093,666 @@ msgstr "堆疊選擇" msgid "Cost2" msgstr "花費2" -#: treemap.cpp:1281 +#: partgraph.cpp:167 #, c-format -msgid "Text %1" -msgstr "文字 %1" +msgid "Profile Part %1" +msgstr "分析檔部件 %1" -#: treemap.cpp:2809 -msgid "Recursive Bisection" -msgstr "遞迴對切" +#: partgraph.cpp:226 +msgid "(no trace)" +msgstr "(無追蹤)" + +#: partgraph.cpp:229 +msgid "(no part)" +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 "循環估計" + +#: partview.cpp:51 +msgid "Comment" +msgstr "註解" + +#: partview.cpp:73 +msgid "" +"Trace Part List" +"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 " +"of the part (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.
" +"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.
" +"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.
" +"Note that the list is hidden if only one trace part is loaded.
" +msgstr "" +"追蹤部件清單 " +"這份清單顯示載入的追蹤的所有追蹤部件。每個部件中包含目前選取的函式在該部件中的自身與引入的花費,百分比是相對於該部件的總花費(不是追蹤部件概觀中的總花費)" +"。另外也會呼叫目前函式的呼叫者與被呼叫者。
" +"若從清單中選擇追蹤部件,就只會顯示選取的部件的花費。如果沒有選擇任何部件,則預設是選取所有的部件。
" +"這是可以多重選擇的清單,您可以拖曳滑鼠來選取一個範圍,或是用 Shift 或 Ctrl 鍵來在「追蹤部件概觀」元件中選擇部件。
" +"注意若是只載入一個追蹤部件,則此元件是隱藏的。
" + +#: 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 "全部顯示" + +#: traceitemview.cpp:53 +msgid "No description available" +msgstr "沒有可用的描述" + +#: coverageitem.cpp:65 coverageitem.cpp:205 functionitem.cpp:72 +#, c-format +msgid "" +"_n: (%n function skipped)\n" +"(%n functions skipped)" +msgstr "(已略過 %n 個函式)" + +#: callgraphview.cpp:306 +#, c-format +msgid "Call(s) from %1" +msgstr "從 %1 來的呼叫" + +#: callgraphview.cpp:307 +#, c-format +msgid "Call(s) to %1" +msgstr "呼叫 %1" + +#: callgraphview.cpp:308 +msgid "(unknown call)" +msgstr "(未知的呼叫)" + +#: callgraphview.cpp:1425 +msgid "" +"Call Graph around active Function" +"Depending on configuration, this view shows the call graph environment of " +"the active function. Note: the shown cost is only " +"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.
" +"For cycles, blue call arrows indicate that this is an artificial call added " +"for correct drawing which actually never happened.
" +"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." +"
" +msgstr "" +"活躍函式的呼叫圖環境 " +"
根據設定,此檢視顯示活躍函式的呼叫圖環境。注意:顯示的花費只表示此函式執行中的花費,也就是說,main() 函式顯示的花費會跟此函式的花費一樣,因為那是 " +"main() 的引入花費。
" +"對循環而言,藍色的呼叫箭頭表示是人工加上去修正的,實際上不會發生。
" +"如果此圖大於元件的大小,則會在一邊顯示略圖。類似呼叫樹狀圖的視覺選項,選取的函式會被突顯。
" + +#: callgraphview.cpp:1789 +msgid "" +"Warning: a long lasting graph layouting is in progress.\n" +"Reduce node/edge limits for speedup.\n" +msgstr "" +"警告:正在進行長而持續的佈局作業。\n" +"要加速,請降低節點與邊線的限制。\n" + +#: callgraphview.cpp:1792 +msgid "" +"Layouting stopped.\n" +msgstr "" +"佈局停止。\n" + +#: callgraphview.cpp:1794 +msgid "" +"The call graph has %1 nodes and %2 edges.\n" +msgstr "" +"呼叫圖中含有 %1 個節點與 %2 個邊線。\n" + +#: callgraphview.cpp:1827 +msgid "No item activated for which to draw the call graph." +msgstr "沒有激發要繪製呼叫圖的項目。" + +#: callgraphview.cpp:1838 +msgid "No call graph can be drawn for the active item." +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:2810 -msgid "Columns" -msgstr "欄" +#: callgraphview.cpp:1870 callgraphview.cpp:2199 +msgid "Please check that 'dot' is installed (package GraphViz)." +msgstr "請檢查 dot 已安裝(在 GraphViz 套件中)" -#: treemap.cpp:2811 -msgid "Rows" -msgstr "列" +#: callgraphview.cpp:2198 +msgid "" +"Error running the graph layouting tool.\n" +msgstr "" +"執行圖形佈局工具時發生錯誤。\n" -#: treemap.cpp:2812 -msgid "Always Best" -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 的呼叫圖,因為沒有所選取事件型態的花費。" -#: treemap.cpp:2813 -msgid "Best" -msgstr "最好的" +#: callgraphview.cpp:2427 +msgid "Stop Layouting" +msgstr "停止佈局" -#: treemap.cpp:2814 -msgid "Alternate (V)" -msgstr "替代(垂直)" +#: callgraphview.cpp:2435 +msgid "As PostScript" +msgstr "為 PostScript 檔" -#: treemap.cpp:2815 -msgid "Alternate (H)" -msgstr "替代(水平)" +#: callgraphview.cpp:2436 +msgid "As Image ..." +msgstr "為影像檔..." -#: treemap.cpp:2872 -msgid "Nesting" -msgstr "巢狀" +#: 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 "無" -#: callmapview.cpp:321 treemap.cpp:2889 -msgid "Shading" -msgstr "遮蔽" +#: callgraphview.cpp:2447 callgraphview.cpp:2470 +msgid "max. 2" +msgstr "最大 2" -#: treemap.cpp:2902 -msgid "Visible" -msgstr "可見的" +#: callgraphview.cpp:2448 callgraphview.cpp:2471 +msgid "max. 5" +msgstr "最大 5" -#: treemap.cpp:2903 -msgid "Take Space From Children" -msgstr "由子系統取得空間" +#: callgraphview.cpp:2449 callgraphview.cpp:2472 +msgid "max. 10" +msgstr "最大 10" -#: treemap.cpp:2905 -msgid "Top Left" -msgstr "左上方" +#: callgraphview.cpp:2450 callgraphview.cpp:2473 +msgid "max. 15" +msgstr "最大 15" -#: treemap.cpp:2906 -msgid "Top Center" -msgstr "頂端中央" +#: callgraphview.cpp:2460 callgraphview.cpp:2483 +#, c-format +msgid "< %1" +msgstr "< %1" -#: treemap.cpp:2907 -msgid "Top Right" -msgstr "右上方" +#: callgraphview.cpp:2489 +msgid "No Minimum" +msgstr "無最小值" -#: treemap.cpp:2909 -msgid "Bottom Center" -msgstr "底端中央" +#: callgraphview.cpp:2493 +#, c-format +msgid "50 %" +msgstr "50 %" -#: treemap.cpp:2910 -msgid "Bottom Right" -msgstr "右下方" +#: callgraphview.cpp:2494 +#, c-format +msgid "20 %" +msgstr "20 %" -#: treemap.cpp:2987 -msgid "No %1 Limit" -msgstr "沒有 %1 限制" +#: callgraphview.cpp:2495 +#, c-format +msgid "10 %" +msgstr "10 %" -#: callmapview.cpp:243 treemap.cpp:3039 -msgid "No Area Limit" -msgstr "沒有區域限制" +#: callgraphview.cpp:2496 +#, c-format +msgid "5 %" +msgstr "5 %" -#: callmapview.cpp:258 treemap.cpp:3045 -msgid "Area of '%1' (%2)" -msgstr "%1 的區域 (%2)" +#: callgraphview.cpp:2497 +#, c-format +msgid "3 %" +msgstr "3 %" -#: treemap.cpp:3056 treemap.cpp:3067 +#: callgraphview.cpp:2498 #, c-format -msgid "" -"_n: 1 Pixel\n" -"%n Pixels" -msgstr "%n 像素" +msgid "2 %" +msgstr "2 %" -#: callmapview.cpp:264 treemap.cpp:3071 -msgid "Double Area Limit (to %1)" -msgstr "將區域限制加倍(到 %1)" +#: callgraphview.cpp:2499 +#, c-format +msgid "1.5 %" +msgstr "1.5 %" -#: treemap.cpp:3073 -msgid "Halve Area Limit (to %1)" -msgstr "將區域限制減半(到 %1)" +#: callgraphview.cpp:2500 +#, c-format +msgid "1 %" +msgstr "1 %" -#: callmapview.cpp:187 treemap.cpp:3101 -msgid "No Depth Limit" -msgstr "沒有深度限制" +#: callgraphview.cpp:2516 +msgid "Same as Node" +msgstr "與節點相同" -#: callmapview.cpp:198 treemap.cpp:3107 -msgid "Depth of '%1' (%2)" -msgstr "%1 的深度(%2)" +#: callgraphview.cpp:2517 +#, c-format +msgid "50 % of Node" +msgstr "50% 的節點" -#: treemap.cpp:3118 +#: callgraphview.cpp:2518 #, c-format -msgid "Depth %1" -msgstr "深度 %1" +msgid "20 % of Node" +msgstr "20% 的節點" -#: treemap.cpp:3122 -msgid "Decrement (to %1)" -msgstr "遞減(到 %1)" +#: callgraphview.cpp:2519 +#, c-format +msgid "10 % of Node" +msgstr "10% 的節點" -#: treemap.cpp:3124 -msgid "Increment (to %1)" -msgstr "遞增(到 %1)" +#: callgraphview.cpp:2529 +msgid "Caller Depth" +msgstr "呼叫者深度" -#: callmapview.cpp:98 -msgid "" -"Caller Map" -"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).
" -msgstr "" -"呼叫者地圖 " -"這個圖形顯示目前活躍的函式所有呼叫者的巢狀架構。每個彩色的矩形表示一個函式,大小會與該函式執行時的花費成比例。(不過畫圖形時會有所限制,所以是盡量成比例)" -"。
" +#: callgraphview.cpp:2530 +msgid "Callee Depth" +msgstr "被呼叫者深度" -#: callmapview.cpp:105 -msgid "" -"Call Map" -"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).
" -msgstr "" -"呼叫地圖 " -"這個圖形顯示目前活躍的函式所有呼叫的巢狀架構。每個彩色的矩形表示一個函式,大小會與該函式執行時的花費成比例。(不過畫圖形時會有所限制,所以是盡量成比例)。" -"
" +#: callgraphview.cpp:2531 +msgid "Min. Node Cost" +msgstr "最小節點花費" -#: callmapview.cpp:113 -msgid "" -"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 " -"very 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 before " -"drawing children. Note that size proportions can get heavily wrong.
" -"This is a TreeMap 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. Return activates the current item.
" -msgstr "" -"外觀選項可以在選單中找到。要取得精準的大小比例,選擇「隱藏不正確的框線」。這個模式可能會非常" -"花時間,您可能要先限制一下最多的巢狀等級。「最佳」會依父函式的比例來分離子函式的方向。「總是最佳」會依剩餘空間來決定。「忽略比例」會在畫子函式前先保留函式名稱空" -"間。注意大小的比例有可能會錯得很離譜。
" -"有一種「樹狀地圖」元件。可以用鍵盤左右鍵來導覽所有的子節點,上下鍵則可以進出巢狀等級。Enter 鍵會啟動目前的項目。
" +#: callgraphview.cpp:2532 +msgid "Min. Call Cost" +msgstr "最小呼叫花費" -#: callmapview.cpp:167 -msgid "Go To" -msgstr "跳到" +#: callgraphview.cpp:2534 +msgid "Arrows for Skipped Calls" +msgstr "被略過呼叫的箭頭" -#: callmapview.cpp:184 -msgid "Stop at Depth" -msgstr "停止於深度" +#: callgraphview.cpp:2536 +msgid "Inner-cycle Calls" +msgstr "內部循環呼叫" -#: callmapview.cpp:190 -msgid "Depth 10" -msgstr "深度 10" +#: callgraphview.cpp:2538 +msgid "Cluster Groups" +msgstr "叢集群組" -#: callmapview.cpp:192 -msgid "Depth 15" -msgstr "深度 15" +#: callgraphview.cpp:2543 +msgid "Compact" +msgstr "簡潔" -#: callmapview.cpp:194 -msgid "Depth 20" -msgstr "深度 20" +#: callgraphview.cpp:2544 +msgid "Normal" +msgstr "正常" -#: callmapview.cpp:204 -msgid "Decrement Depth (to %1)" -msgstr "遞減深度(到 %1)" +#: callgraphview.cpp:2545 +msgid "Tall" +msgstr "高" -#: callmapview.cpp:205 -msgid "Increment Depth (to %1)" -msgstr "遞增深度(到 %1)" +#: callgraphview.cpp:2550 +msgid "Top to Down" +msgstr "上到下" -#: callmapview.cpp:209 -msgid "Stop at Function" -msgstr "停止於函式" +#: callgraphview.cpp:2551 +msgid "Left to Right" +msgstr "左到右" -#: callmapview.cpp:210 -msgid "No Function Limit" -msgstr "無函式限制" +#: callgraphview.cpp:2552 +msgid "Circular" +msgstr "圓形" -#: callmapview.cpp:240 -msgid "Stop at Area" -msgstr "停止於區域" +#: callgraphview.cpp:2558 +msgid "TopLeft" +msgstr "左上方" -#: callmapview.cpp:246 -msgid "50 Pixels" -msgstr "50 像素" +#: callgraphview.cpp:2559 +msgid "TopRight" +msgstr "右上方" -#: callmapview.cpp:248 -msgid "100 Pixels" -msgstr "100 像素" +#: callgraphview.cpp:2560 +msgid "BottomLeft" +msgstr "左下方" -#: callmapview.cpp:250 -msgid "200 Pixels" -msgstr "200 像素" +#: callgraphview.cpp:2561 +msgid "BottomRight" +msgstr "右下方" -#: callmapview.cpp:252 -msgid "500 Pixels" -msgstr "500 像素" +#: callgraphview.cpp:2569 +msgid "Graph" +msgstr "圖" -#: callmapview.cpp:266 -msgid "Half Area Limit (to %1)" -msgstr "將區域限制減半(到 %1)" +#: callgraphview.cpp:2571 +msgid "Birds-eye View" +msgstr "鳥瞰檢視" -#: callmapview.cpp:273 -msgid "Visualisation" -msgstr "視覺化" +#: treemap.cpp:1281 +#, c-format +msgid "Text %1" +msgstr "文字 %1" -#: callmapview.cpp:277 -msgid "Split Direction" -msgstr "分割方向" +#: treemap.cpp:2809 +msgid "Recursive Bisection" +msgstr "遞迴對切" -#: callmapview.cpp:279 -msgid "Skip Incorrect Borders" -msgstr "略過不正確的邊框" +#: treemap.cpp:2810 +msgid "Columns" +msgstr "欄" -#: callmapview.cpp:284 -msgid "Border Width" -msgstr "邊框寬度" +#: treemap.cpp:2811 +msgid "Rows" +msgstr "列" -#: callmapview.cpp:285 -msgid "Border 0" -msgstr "邊框 0" +#: treemap.cpp:2812 +msgid "Always Best" +msgstr "永遠最好的" -#: callmapview.cpp:288 -msgid "Border 1" -msgstr "邊框 1" +#: treemap.cpp:2813 +msgid "Best" +msgstr "最好的" -#: callmapview.cpp:290 -msgid "Border 2" -msgstr "邊框 2" +#: treemap.cpp:2814 +msgid "Alternate (V)" +msgstr "替代(垂直)" -#: callmapview.cpp:292 -msgid "Border 3" -msgstr "邊框 3" +#: treemap.cpp:2815 +msgid "Alternate (H)" +msgstr "替代(水平)" -#: callmapview.cpp:297 -msgid "Draw Symbol Names" -msgstr "繪製符號名稱" +#: treemap.cpp:2872 +msgid "Nesting" +msgstr "巢狀" -#: callmapview.cpp:298 -msgid "Draw Cost" -msgstr "繪製花費" +#: treemap.cpp:2875 +msgid "Correct Borders Only" +msgstr "只有正確的框線" -#: callmapview.cpp:299 -msgid "Draw Location" -msgstr "繪製位置" +#: treemap.cpp:2877 treemap.cpp:2878 treemap.cpp:2879 treemap.cpp:2880 +#, c-format +msgid "Width %1" +msgstr "寬度 %1" -#: callmapview.cpp:300 -msgid "Draw Calls" -msgstr "繪製呼叫" +#: treemap.cpp:2902 +msgid "Visible" +msgstr "可見的" -#: callmapview.cpp:431 -msgid "Call Map: Current is '%1'" -msgstr "呼叫映射:目前是 %1" +#: treemap.cpp:2903 +msgid "Take Space From Children" +msgstr "由子系統取得空間" -#: callmapview.cpp:599 -msgid "(no function)" -msgstr "(無函式)" +#: treemap.cpp:2905 +msgid "Top Left" +msgstr "左上方" -#: callmapview.cpp:741 callmapview.cpp:858 -msgid "(no call)" -msgstr "(無呼叫)" +#: treemap.cpp:2906 +msgid "Top Center" +msgstr "頂端中央" -#: cachegrindloader.cpp:141 -msgid "Import filter for Cachegrind/Callgrind generated profile data files" -msgstr "Cachegrind/Callgrind 產生的分析檔資料檔匯入過濾器" +#: treemap.cpp:2907 +msgid "Top Right" +msgstr "右上方" -#: cachegrindloader.cpp:738 -#, c-format -msgid "Loading %1" -msgstr "載入 %1 中" +#: treemap.cpp:2909 +msgid "Bottom Center" +msgstr "底端中央" -#: callview.cpp:47 callview.cpp:51 -msgid "Count" -msgstr "計數" +#: treemap.cpp:2910 +msgid "Bottom Right" +msgstr "右下方" -#: callview.cpp:85 -msgid "" -"List of direct Callers" -"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.
" -"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.
" -"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.
" -msgstr "" -"直接呼叫者清單 " -"這個清單顯示直接呼叫目前選取函式的所有函式,以及呼叫次數與呼叫花費。
" -"如果顯示一圖示而非引入花費,則表示這個呼叫是在遞迴循環之中。引入花費在此沒有意義。
" -"選擇某個函式會在目前資訊面板的顯示中跳到該函式。如果有兩個面板(分割模式),則會變換另一個面板的函式。
" +#: treemap.cpp:2987 +msgid "No %1 Limit" +msgstr "沒有 %1 限制" -#: callview.cpp:98 +#: treemap.cpp:3056 treemap.cpp:3067 +#, c-format msgid "" -"List of direct Callees" -"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.
" -"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.
" -msgstr "" -"直接被呼叫者清單 " -"這個清單顯示目前選取函式直接呼叫的所有函式,以及呼叫次數與呼叫花費。
" -"選擇某個函式會在目前資訊面板的顯示中跳到該函式。如果有兩個面板(分割模式),則會變換另一個面板的函式。
" +"_n: 1 Pixel\n" +"%n Pixels" +msgstr "%n 像素" -#: costtypeitem.cpp:56 -msgid "Unknown Type" -msgstr "未知類型" +#: treemap.cpp:3073 +msgid "Halve Area Limit (to %1)" +msgstr "將區域限制減半(到 %1)" -#: tips.cpp:3 -msgid "" -"...that the What's This? 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 What's This? help by pressing\n" -"Shift+F1 and clicking on the widget.
\n" -msgstr "" -"每個使用者介面元件中的「這是什麼?」說明內含了此元件的詳細用法資訊。建議第一次使用時先閱讀它。您以可以按 Shift+F1 叫出。
\n" +#: treemap.cpp:3118 +#, c-format +msgid "Depth %1" +msgstr "深度 %1" -#: tips.cpp:12 -msgid "" -"...that you can get profile information at instruction level\n" -"with Calltree when you provide the option --dump-instr=yes?\n" -"Use the Assembler View for the instruction annotations.\n" -"
\n" -msgstr "" -"若您提供這個選項:--dump-instr=yes,您可以在呼叫樹模式取得指令層級的分析檔資訊。\n" -"用「組譯器檢視」取得指令的註記。
\n" +#: treemap.cpp:3122 +msgid "Decrement (to %1)" +msgstr "遞減(到 %1)" -#: tips.cpp:20 -msgid "" -"...that you can use Alt-Left/Right keys of your keyboard to go\n" -"back/forward in the active object history ?
\n" -msgstr "" -"您可以用 Alt 加上左右鍵來在目前的物件歷史中往返。
\n" +#: treemap.cpp:3124 +msgid "Increment (to %1)" +msgstr "遞增(到 %1)" -#: tips.cpp:26 -msgid "" -"...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" -"
\n" -msgstr "" -"您可以用方向鍵在呼叫者/被呼叫者地圖中導覽。用左右鍵來跳到相鄰的節點,上下鍵則在不同的巢狀等級間來回。要選取目前的項目,您可以按空白鍵,按下 Enter " -"鍵則是啟用。
\n" +#: callitem.cpp:82 partlistitem.cpp:152 +msgid "(active)" +msgstr "(活躍)" -#: tips.cpp:35 -msgid "" -"...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" -"
\n" -msgstr "" -"您可以用方向鍵在呼叫圖檢視中導覽。用左右鍵來跳到與目前選取的呼叫相鄰的節點,上下鍵則在不同的呼叫等級間來回,切換呼叫函式。按下 Enter " -"鍵則是啟用目前的項目。
\n" +#: instrview.cpp:129 +msgid "Hex" +msgstr "十六進位值" -#: tips.cpp:44 -msgid "" -"...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?
\n" -msgstr "" -"您可以在工具列的編輯欄中輸入某函式的部份名稱(不分大小寫),再按下 Enter 鍵就可以快速找到該函式的位置。
\n" +#: instrview.cpp:132 +msgid "Source Position" +msgstr "源碼位置" -#: tips.cpp:51 +#: instrview.cpp:163 msgid "" -"...that you can assign custom colors to \n" -"ELF objects/C++ Classes/Source Files for graph coloring\n" -"in Settings->Configure KCachegrind...?
\n" +"Annotated Assembler" +"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.
" +"The disassembler output shown is generated with the 'objdump' utility from " +"the 'binutils' package.
" +"Select a line with call information to make the destination function of this " +"call current.
" msgstr "" -"您可以指定自訂的顏色給圖形中的 ELF 物件、C++ 類別或源碼檔。您只要在「設定」─「設定 KCachegrind...」中設定即可。
\n" +"註記組譯器(Annotated Assembler) " +"註記組譯器顯示目前選取的函式的機器碼指令,以及執行該指令時的花費。如果是呼叫指令,則呼叫時發生的詳情會插入到源碼中,包括呼叫的花費,呼叫的次數,以及呼叫的" +"目的地。
" +"反組譯輸出可以用 objdump 產生,通常會包在 binutils 套件中。
" +"選取呼叫資訊中的某一行可以眺到被呼叫的函式。
" -#: tips.cpp:58 -msgid "" -"...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?
\n" -"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" -"Source Directories list in the configuration.\n" -msgstr "" -"
如果有提供除錯資訊的話,您可以在資訊分頁中的「位置」標籤處,或是源碼分頁處的源碼標頭處看到所選取函式的除錯資訊。
\n" -"必須要有源碼檔的檔名(包括副檔名)。如果 KCachegrind 還是沒有顯示源碼,請確定您已將源碼檔所在的路徑加到設定中的「源碼目錄」清單中。
" -"\n" +#: instrview.cpp:195 +#, c-format +msgid "Go to Address %1" +msgstr "跳到位址 %1" -#: tips.cpp:69 -msgid "" -"...that you can configure whether KCachgrind should\n" -"show absolute event counts or relative ones (percentage display)?
\n" -msgstr "" -"您可以設定是否要讓 KCachegrind 顯示絕對事件計數或相對事件計數(以百分比顯示)。
\n" +#: instrview.cpp:207 +msgid "Hex Code" +msgstr "十六進位碼" -#: tips.cpp:75 -msgid "" -"...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.
\n" -"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.
\n" -msgstr "" -"您可以在 KCachegrind " -"中設定所有函式清單中的最大顯示數目。這樣的話,清單中的最後一個項目會顯示出還有多少函式未顯示出來,以及這些未顯示函式的花費。
\n" -"要啟動較少花費的函式,您可以搜尋並在簡單分析檔中選取。這樣會暫時新增到簡單分析檔清單中。
\n" +#: instrview.cpp:426 +msgid "There is no instruction info in the profile data file." +msgstr "此分析資料檔中沒有指令資訊。" -#: tips.cpp:87 -msgid "" -"...that the Coverage tab - in contrast to the Call Lists tab -\n" -"shows all 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?
\n" -"Examples:
\n" -"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().
\n" -"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().
\n" -msgstr "" -"「總體呼叫頁」顯示的是呼叫選取的函式的所有函式(上半部),以及被選取的函式呼叫的函式(下半部),包括直接與間接呼叫。
\n" -"例如:
\n" -"選取函式 bar(),上半部清單中的函式 foo1() 數值 50% 表示從 foo1() 呼叫 bar() 時的花費佔全部花費的 50%。
\n" -"下半部清單中的函式 foo2() 數值 50% 表示 bar() 呼叫 foo2() 時的花費佔全部花費的 50%。
\n" +#: instrview.cpp:428 +msgid "For the Valgrind Calltree Skin, rerun with option" +msgstr "要用 Valgrind Calltree Skin,請重新執行並指定選項" -#: tips.cpp:102 -msgid "" -"...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?
\n" -"Items from this list can be selected by pressing the right\n" -"mouse button.
\n" -msgstr "" -"滑鼠指標指在樹狀地圖中上頭時稍等一下,會跑出逼個工具提示,裡面會顯示巢狀矩形的名稱清單。
\n" -"清單中的項目可以用滑鼠右鍵選取。
\n" +#: instrview.cpp:429 +msgid " --dump-instr=yes" +msgstr " --dump-instr=yes" -#: tips.cpp:111 -msgid "" -"...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?
\n" -"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).
\n" -msgstr "" -"您可以限制只顯示一小部份部件的花費計數,只要在「追蹤選擇」元件中選取這些部件即可。
\n" -"要在 cachegrind 的分析執行中產生多個部件,可以用像這樣的選項:--cachedumps=xxx 表示 xxx " -"個基本區塊。(基本區塊是在您的程式碼中不分支的組譯敘述)。
\n" +#: instrview.cpp:430 +msgid "To see (conditional) jumps, additionally specify" +msgstr "想要看條件式的跳躍,請額外指定選項" -#: configdlg.cpp:60 -msgid "Source Files" -msgstr "程式源碼檔案" +#: instrview.cpp:431 +msgid " --trace-jump=yes" +msgstr " --trace-jump=yes" -#: configdlg.cpp:61 -msgid "C++ Classes" -msgstr "C++ 類別" +#: instrview.cpp:629 +msgid "There is an error trying to execute the command" +msgstr "執行此指令時發生錯誤" -#: configdlg.cpp:62 -msgid "Function (no Grouping)" -msgstr "功能(無群組)" +#: instrview.cpp:634 instrview.cpp:900 +msgid "Check that you have installed 'objdump'." +msgstr "請檢查您是否已安裝 objdump。" -#: configdlg.cpp:157 configdlg.cpp:350 configdlg.cpp:371 -msgid "(always)" -msgstr "(總是)" +#: instrview.cpp:636 instrview.cpp:902 +msgid "This utility can be found in the 'binutils' package." +msgstr "這個工具可以在 binutils 套件中找到。" -#: configdlg.cpp:210 -msgid "KCachegrind Configuration" -msgstr "KCachegrind 設定" +#: instrview.cpp:739 +msgid "(No Assembler)" +msgstr "(沒有組譯器)" -#: configdlg.cpp:211 +#: instrview.cpp:875 +#, c-format msgid "" -"The Maximum Number of List Items should be below 500.The previous set value " -"(%1) will still be used." -msgstr "最大的清單項目數應該在 500 以下。將改用之前的設定值(%1)。" +"_n: There is %n cost line without assembler code.\n" +"There are %n cost lines without assembler code." +msgstr "有 %n 個花費線沒有組譯碼。" -#: configdlg.cpp:384 -msgid "Choose Source Folder" -msgstr "選擇來源資料夾" +#: instrview.cpp:877 +msgid "This happens because the code of" +msgstr "發生的原因是因為這個的程式碼:" -#: partgraph.cpp:167 -#, c-format -msgid "Profile Part %1" -msgstr "分析檔部件 %1" +#: instrview.cpp:880 +msgid "does not seem to match the profile data file." +msgstr "似乎無法符合此分析資料檔。" -#: partgraph.cpp:226 -msgid "(no trace)" -msgstr "(無追蹤)" +#: instrview.cpp:883 +msgid "Are you using an old profile data file or is the above mentioned" +msgstr "您正使用舊的分析資料檔,還是像上面提到的" -#: partgraph.cpp:229 -msgid "(no part)" -msgstr "(無部件)" +#: instrview.cpp:885 +msgid "ELF object from an updated installation/another machine?" +msgstr "這是從已更新的安裝或其他機器來的 ELF 物件嗎?" -#: partview.cpp:51 -msgid "Comment" -msgstr "註解" +#: instrview.cpp:893 +msgid "There seems to be an error trying to execute the command" +msgstr "試著執行此命令時發生錯誤" -#: partview.cpp:73 -msgid "" -"Trace Part List" -"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 " -"of the part (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.
" -"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.
" -"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.
" -"Note that the list is hidden if only one trace part is loaded.
" -msgstr "" -"追蹤部件清單 " -"這份清單顯示載入的追蹤的所有追蹤部件。每個部件中包含目前選取的函式在該部件中的自身與引入的花費,百分比是相對於該部件的總花費(不是追蹤部件概觀中的總花費)" -"。另外也會呼叫目前函式的呼叫者與被呼叫者。
" -"若從清單中選擇追蹤部件,就只會顯示選取的部件的花費。如果沒有選擇任何部件,則預設是選取所有的部件。
" -"這是可以多重選擇的清單,您可以拖曳滑鼠來選取一個範圍,或是用 Shift 或 Ctrl 鍵來在「追蹤部件概觀」元件中選擇部件。
" -"注意若是只載入一個追蹤部件,則此元件是隱藏的。
" +#: instrview.cpp:898 +msgid "Check that the ELF object used in the command exists." +msgstr "請檢查命令中使用的 ELF 物件存在。" -#: partview.cpp:106 -msgid "Select '%1'" -msgstr "選擇 %1" +#: partlistitem.cpp:49 +msgid " (Thread %1)" +msgstr "(執行緒 %1)" -#: partview.cpp:107 -msgid "Hide '%1'" -msgstr "隱藏 %1" +#: partlistitem.cpp:56 +msgid "(none)" +msgstr "(無)" -#: partview.cpp:111 -msgid "Hide Selected" -msgstr "隱藏已選取項目" +#: main.cpp:38 +msgid "Run