diff --git a/src/applications/xhprof/controller/PhabricatorXHProfProfileController.php b/src/applications/xhprof/controller/PhabricatorXHProfProfileController.php --- a/src/applications/xhprof/controller/PhabricatorXHProfProfileController.php +++ b/src/applications/xhprof/controller/PhabricatorXHProfProfileController.php @@ -43,10 +43,13 @@ $view->setIsFramed($is_framed); $view->setProfileData($data); + $crumbs = $this->buildApplicationCrumbs(); + $crumbs->addTextCrumb(pht('%s Profile', $symbol)); + return $this->buildStandardPageResponse( - $view, + array($crumbs, $view), array( - 'title' => 'Profile', + 'title' => pht('Profile'), 'frame' => $is_framed, )); } diff --git a/src/applications/xhprof/controller/PhabricatorXHProfSampleListController.php b/src/applications/xhprof/controller/PhabricatorXHProfSampleListController.php --- a/src/applications/xhprof/controller/PhabricatorXHProfSampleListController.php +++ b/src/applications/xhprof/controller/PhabricatorXHProfSampleListController.php @@ -80,12 +80,15 @@ } $list->setPager($pager); + $list->setNoDataString(pht('There are no profiling samples.')); - return $this->buildStandardPageResponse( - $list, + $crumbs = $this->buildApplicationCrumbs(); + $crumbs->addTextCrumb(pht('XHProf Samples')); + + return $this->buildApplicationPage( + array($crumbs, $list), array( 'title' => pht('XHProf Samples'), - 'device' => true, )); } diff --git a/src/applications/xhprof/view/PhabricatorXHProfProfileSymbolView.php b/src/applications/xhprof/view/PhabricatorXHProfProfileSymbolView.php --- a/src/applications/xhprof/view/PhabricatorXHProfProfileSymbolView.php +++ b/src/applications/xhprof/view/PhabricatorXHProfProfileSymbolView.php @@ -48,7 +48,7 @@ $rows = array(); $rows[] = array( - 'Metrics for this Call', + pht('Metrics for this Call'), '', '', '', @@ -62,7 +62,7 @@ )); $rows[] = array( - 'Parent Calls', + pht('Parent Calls'), '', '', '', @@ -79,7 +79,7 @@ $rows[] = array( - 'Child Calls', + pht('Child Calls'), '', '', '', @@ -102,9 +102,9 @@ $table = new AphrontTableView($rows); $table->setHeaders( array( - 'Symbol', - 'Count', - 'Wall Time', + pht('Symbol'), + pht('Count'), + pht('Wall Time'), '%', )); $table->setColumnClasses( @@ -115,8 +115,8 @@ 'n', )); - $panel = new AphrontPanelView(); - $panel->setHeader('XHProf Profile'); + $panel = new PHUIObjectBoxView(); + $panel->setHeader(pht('XHProf Profile')); $panel->appendChild($table); return $panel->render(); diff --git a/src/applications/xhprof/view/PhabricatorXHProfProfileTopLevelView.php b/src/applications/xhprof/view/PhabricatorXHProfProfileTopLevelView.php --- a/src/applications/xhprof/view/PhabricatorXHProfProfileTopLevelView.php +++ b/src/applications/xhprof/view/PhabricatorXHProfProfileTopLevelView.php @@ -54,7 +54,7 @@ $rows = array(); $rows[] = array( - 'Total', + pht('Total'), number_format($totals['ct']), number_format($totals['wt']).' us', '100.0%', @@ -82,16 +82,16 @@ $table = new AphrontTableView($rows); $table->setHeaders( array( - 'Symbol', - 'Count', + pht('Symbol'), + pht('Count'), javelin_tag( 'span', array( 'sigil' => 'has-tooltip', 'meta' => array( - 'tip' => 'Total wall time spent in this function and all of '. + 'tip' => pht('Total wall time spent in this function and all of '. 'its children (children are other functions it called '. - 'while executing).', + 'while executing).'), 'size' => 200, ), ), @@ -102,9 +102,9 @@ array( 'sigil' => 'has-tooltip', 'meta' => array( - 'tip' => 'Wall time spent in this function, excluding time '. + 'tip' => pht('Wall time spent in this function, excluding time '. 'spent in children (children are other functions it '. - 'called while executing).', + 'called while executing).'), 'size' => 200, ), ), @@ -121,18 +121,19 @@ 'n', )); - $panel = new AphrontPanelView(); - $panel->setHeader('XHProf Profile'); + $panel = new PHUIObjectBoxView(); + $header = id(new PHUIHeaderView()) + ->setHeaderText(pht('XHProf Profile')); if ($this->file) { - $panel->addButton( - phutil_tag( + $button = phutil_tag( 'a', array( 'href' => $this->file->getBestURI(), 'class' => 'green button', ), - 'Download .xhprof Profile')); + pht('Download .xhprof Profile')); + $header->addActionLink($button); } $panel->appendChild($table);