PHT's for Differential.

Summary:
Went through this last night, I had to remove some static vars, but didn't see that as a huge perf issue.

Lint

Test Plan: Tested numerous differential pages, creating a diff, commenting, editing.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D4617
This commit is contained in:
Chad Little 2013-01-24 10:46:47 -08:00
parent 451ea2f958
commit 68affb72ec
13 changed files with 118 additions and 115 deletions

View file

@ -7,7 +7,7 @@ final class PhabricatorApplicationDifferential extends PhabricatorApplication {
} }
public function getShortDescription() { public function getShortDescription() {
return 'Review Code'; return pht('Review Code');
} }
public function getIconName() { public function getIconName() {

View file

@ -27,7 +27,7 @@ final class DifferentialAction {
self::ACTION_REJECT => 'requested changes to', self::ACTION_REJECT => 'requested changes to',
self::ACTION_RETHINK => 'planned changes to', self::ACTION_RETHINK => 'planned changes to',
self::ACTION_ABANDON => 'abandoned', self::ACTION_ABANDON => 'abandoned',
self::ACTION_CLOSE => pht('closed'), self::ACTION_CLOSE => 'closed',
self::ACTION_REQUEST => 'requested a review of', self::ACTION_REQUEST => 'requested a review of',
self::ACTION_RECLAIM => 'reclaimed', self::ACTION_RECLAIM => 'reclaimed',
self::ACTION_UPDATE => 'updated', self::ACTION_UPDATE => 'updated',
@ -49,20 +49,20 @@ final class DifferentialAction {
} }
public static function getActionVerb($action) { public static function getActionVerb($action) {
static $verbs = array( $verbs = array(
self::ACTION_COMMENT => 'Comment', self::ACTION_COMMENT => pht('Comment'),
self::ACTION_ACCEPT => "Accept Revision \xE2\x9C\x94", self::ACTION_ACCEPT => pht("Accept Revision \xE2\x9C\x94"),
self::ACTION_REJECT => "Request Changes \xE2\x9C\x98", self::ACTION_REJECT => pht("Request Changes \xE2\x9C\x98"),
self::ACTION_RETHINK => "Plan Changes \xE2\x9C\x98", self::ACTION_RETHINK => pht("Plan Changes \xE2\x9C\x98"),
self::ACTION_ABANDON => 'Abandon Revision', self::ACTION_ABANDON => pht('Abandon Revision'),
self::ACTION_REQUEST => 'Request Review', self::ACTION_REQUEST => pht('Request Review'),
self::ACTION_RECLAIM => 'Reclaim Revision', self::ACTION_RECLAIM => pht('Reclaim Revision'),
self::ACTION_RESIGN => 'Resign as Reviewer', self::ACTION_RESIGN => pht('Resign as Reviewer'),
self::ACTION_ADDREVIEWERS => 'Add Reviewers', self::ACTION_ADDREVIEWERS => pht('Add Reviewers'),
self::ACTION_ADDCCS => 'Add CCs', self::ACTION_ADDCCS => pht('Add CCs'),
self::ACTION_CLOSE => 'Close Revision', self::ACTION_CLOSE => pht('Close Revision'),
self::ACTION_CLAIM => 'Commandeer Revision', self::ACTION_CLAIM => pht('Commandeer Revision'),
self::ACTION_REOPEN => 'Reopen', self::ACTION_REOPEN => pht('Reopen'),
); );
if (!empty($verbs[$action])) { if (!empty($verbs[$action])) {

View file

@ -93,17 +93,17 @@ final class DifferentialChangeType {
} }
public static function getFullNameForChangeType($type) { public static function getFullNameForChangeType($type) {
static $types = array( $types = array(
self::TYPE_ADD => 'Added', self::TYPE_ADD => pht('Added'),
self::TYPE_CHANGE => 'Modified', self::TYPE_CHANGE => pht('Modified'),
self::TYPE_DELETE => 'Deleted', self::TYPE_DELETE => pht('Deleted'),
self::TYPE_MOVE_AWAY => 'Moved Away', self::TYPE_MOVE_AWAY => pht('Moved Away'),
self::TYPE_COPY_AWAY => 'Copied Away', self::TYPE_COPY_AWAY => pht('Copied Away'),
self::TYPE_MOVE_HERE => 'Moved Here', self::TYPE_MOVE_HERE => pht('Moved Here'),
self::TYPE_COPY_HERE => 'Copied Here', self::TYPE_COPY_HERE => pht('Copied Here'),
self::TYPE_MULTICOPY => 'Deleted After Multiple Copy', self::TYPE_MULTICOPY => pht('Deleted After Multiple Copy'),
self::TYPE_MESSAGE => 'Commit Message', self::TYPE_MESSAGE => pht('Commit Message'),
self::TYPE_CHILD => 'Contents Modified', self::TYPE_CHILD => pht('Contents Modified'),
); );
return idx($types, coalesce($type, '?'), 'Unknown'); return idx($types, coalesce($type, '?'), 'Unknown');
} }

View file

@ -252,7 +252,7 @@ final class DifferentialChangesetViewController extends DifferentialController {
$panel $panel
), ),
array( array(
'title' => 'Changeset View', 'title' => pht('Changeset View'),
)); ));
} }

View file

@ -54,16 +54,16 @@ final class DifferentialCommentSaveController extends DifferentialController {
$dialog->addHiddenInput('ccs', $ccs); $dialog->addHiddenInput('ccs', $ccs);
$dialog->addHiddenInput('comment', $comment); $dialog->addHiddenInput('comment', $comment);
$dialog->setTitle('Action Has No Effect'); $dialog->setTitle(pht('Action Has No Effect'));
$dialog->appendChild( $dialog->appendChild(
'<p>'.phutil_escape_html($no_effect->getMessage()).'</p>'); '<p>'.phutil_escape_html($no_effect->getMessage()).'</p>');
if (strlen($comment) || $has_inlines) { if (strlen($comment) || $has_inlines) {
$dialog->addSubmitButton('Post as Comment'); $dialog->addSubmitButton(pht('Post as Comment'));
$dialog->appendChild('<br />'); $dialog->appendChild('<br />');
$dialog->appendChild( $dialog->appendChild(
'<p>Do you want to post your feedback anyway, as a normal '. '<p>'.pht('Do you want to post your feedback anyway, as a normal '.
'comment?</p>'); 'comment?').'</p>');
} }
return id(new AphrontDialogResponse())->setDialog($dialog); return id(new AphrontDialogResponse())->setDialog($dialog);

View file

@ -13,7 +13,7 @@ abstract class DifferentialController extends PhabricatorController {
$viewer_is_anonymous = !$this->getRequest()->getUser()->isLoggedIn(); $viewer_is_anonymous = !$this->getRequest()->getUser()->isLoggedIn();
$page = $this->buildStandardPageView(); $page = $this->buildStandardPageView();
$page->setApplicationName('Differential'); $page->setApplicationName(pht('Differential'));
$page->setBaseURI('/differential/'); $page->setBaseURI('/differential/');
$page->setTitle(idx($data, 'title')); $page->setTitle(idx($data, 'title'));
$page->setGlyph("\xE2\x9A\x99"); $page->setGlyph("\xE2\x9A\x99");
@ -31,7 +31,7 @@ abstract class DifferentialController extends PhabricatorController {
$crumbs->addAction( $crumbs->addAction(
id(new PhabricatorMenuItemView()) id(new PhabricatorMenuItemView())
->setHref($this->getApplicationURI('/diff/create/')) ->setHref($this->getApplicationURI('/diff/create/'))
->setName('Create Diff') ->setName(pht('Create Diff'))
->setIcon('create')); ->setIcon('create'));
return $crumbs; return $crumbs;

View file

@ -42,33 +42,33 @@ final class DifferentialDiffCreateController extends DifferentialController {
->setEncType('multipart/form-data') ->setEncType('multipart/form-data')
->setUser($request->getUser()) ->setUser($request->getUser())
->appendChild( ->appendChild(
'<p class="aphront-form-instructions">The best way to create a '. '<p class="aphront-form-instructions">'.pht('The best way to create '.
"Differential diff is by using $arcanist_link, but you ". 'a Differential diff is by using %s, but you '.
'can also just paste a diff (e.g., from <tt>svn diff</tt> or '. 'can also just paste a diff (e.g., from <tt>svn diff</tt> or '.
'<tt>git diff</tt>) into this box or upload it as a file if you '. '<tt>git diff</tt>) into this box or upload it as a file if you '.
'really want.</p>') 'really want.', $arcanist_link).'</p>')
->appendChild( ->appendChild(
id(new AphrontFormTextAreaControl()) id(new AphrontFormTextAreaControl())
->setLabel('Raw Diff') ->setLabel(pht('Raw Diff'))
->setName('diff') ->setName('diff')
->setHeight(AphrontFormTextAreaControl::HEIGHT_VERY_TALL)) ->setHeight(AphrontFormTextAreaControl::HEIGHT_VERY_TALL))
->appendChild( ->appendChild(
id(new AphrontFormFileControl()) id(new AphrontFormFileControl())
->setLabel('Raw Diff from file') ->setLabel(pht('Raw Diff from file'))
->setName('diff-file')) ->setName('diff-file'))
->appendChild( ->appendChild(
id(new AphrontFormSubmitControl()) id(new AphrontFormSubmitControl())
->setValue("Create Diff \xC2\xBB")); ->setValue(pht("Create Diff \xC2\xBB")));
$panel = new AphrontPanelView(); $panel = new AphrontPanelView();
$panel->setHeader('Create New Diff'); $panel->setHeader(pht('Create New Diff'));
$panel->appendChild($form); $panel->appendChild($form);
$panel->setWidth(AphrontPanelView::WIDTH_FORM); $panel->setWidth(AphrontPanelView::WIDTH_FORM);
return $this->buildStandardPageResponse( return $this->buildStandardPageResponse(
$panel, $panel,
array( array(
'title' => 'Create Diff', 'title' => pht('Create Diff'),
)); ));
} }

View file

@ -25,20 +25,23 @@ final class DifferentialDiffViewController extends DifferentialController {
'href' => PhabricatorEnv::getURI('/D'.$diff->getRevisionID()), 'href' => PhabricatorEnv::getURI('/D'.$diff->getRevisionID()),
), ),
phutil_escape_html('D'.$diff->getRevisionID())); phutil_escape_html('D'.$diff->getRevisionID()));
$top_panel->appendChild("<h1>This diff belongs to revision {$link}</h1>"); $top_panel->appendChild(
"<h1>".pht('This diff belongs to revision %s', $link)."</h1>");
} else { } else {
$action_panel = new AphrontPanelView(); $action_panel = new AphrontPanelView();
$action_panel->setHeader('Preview Diff'); $action_panel->setHeader('Preview Diff');
$action_panel->setWidth(AphrontPanelView::WIDTH_WIDE); $action_panel->setWidth(AphrontPanelView::WIDTH_WIDE);
$action_panel->appendChild( $action_panel->appendChild(
'<p class="aphront-panel-instructions">Review the diff for '. '<p class="aphront-panel-instructions">'.pht('Review the diff for '.
'correctness. When you are satisfied, either <strong>create a new '. 'correctness. When you are satisfied, either <strong>create a new '.
'revision</strong> or <strong>update an existing revision</strong>.'); 'revision</strong> or <strong>update an existing revision</strong>.'));
// TODO: implmenent optgroup support in AphrontFormSelectControl? // TODO: implmenent optgroup support in AphrontFormSelectControl?
$select = array(); $select = array();
$select[] = '<optgroup label="Create New Revision">'; $select[] = '<optgroup label="Create New Revision">';
$select[] = '<option value="">Create a new Revision...</option>'; $select[] = '<option value="">'.
pht('Create a new Revision...').
'</option>';
$select[] = '</optgroup>'; $select[] = '</optgroup>';
$revision_data = new DifferentialRevisionListData( $revision_data = new DifferentialRevisionListData(
@ -47,7 +50,7 @@ final class DifferentialDiffViewController extends DifferentialController {
$revisions = $revision_data->loadRevisions(); $revisions = $revision_data->loadRevisions();
if ($revisions) { if ($revisions) {
$select[] = '<optgroup label="Update Existing Revision">'; $select[] = '<optgroup label="'.pht('Update Existing Revision').'">';
foreach ($revisions as $revision) { foreach ($revisions as $revision) {
$select[] = phutil_render_tag( $select[] = phutil_render_tag(
'option', 'option',
@ -72,11 +75,11 @@ final class DifferentialDiffViewController extends DifferentialController {
->addHiddenInput('viaDiffView', 1) ->addHiddenInput('viaDiffView', 1)
->appendChild( ->appendChild(
id(new AphrontFormMarkupControl()) id(new AphrontFormMarkupControl())
->setLabel('Attach To') ->setLabel(pht('Attach To'))
->setValue($select)) ->setValue($select))
->appendChild( ->appendChild(
id(new AphrontFormSubmitControl()) id(new AphrontFormSubmitControl())
->setValue('Continue')); ->setValue(pht('Continue')));
$action_panel->appendChild($action_form); $action_panel->appendChild($action_form);
@ -133,7 +136,7 @@ final class DifferentialDiffViewController extends DifferentialController {
->setRenderingReferences($refs) ->setRenderingReferences($refs)
->setStandaloneURI('/differential/changeset/') ->setStandaloneURI('/differential/changeset/')
->setDiff($diff) ->setDiff($diff)
->setTitle('Diff '.$diff->getID()) ->setTitle(pht('Diff %d', $diff->getID()))
->setUser($request->getUser()); ->setUser($request->getUser());
return $this->buildStandardPageResponse( return $this->buildStandardPageResponse(
@ -146,7 +149,7 @@ final class DifferentialDiffViewController extends DifferentialController {
$details->render(), $details->render(),
)), )),
array( array(
'title' => 'Diff View', 'title' => pht('Diff View'),
)); ));
} }

View file

@ -95,7 +95,7 @@ final class DifferentialRevisionEditController extends DifferentialController {
$error_view = null; $error_view = null;
if ($errors) { if ($errors) {
$error_view = id(new AphrontErrorView()) $error_view = id(new AphrontErrorView())
->setTitle('Form Errors') ->setTitle(pht('Form Errors'))
->setErrors($errors); ->setErrors($errors);
} }
@ -103,13 +103,13 @@ final class DifferentialRevisionEditController extends DifferentialController {
$form $form
->appendChild( ->appendChild(
id(new AphrontFormTextAreaControl()) id(new AphrontFormTextAreaControl())
->setLabel('Comments') ->setLabel(pht('Comments'))
->setName('comments') ->setName('comments')
->setCaption("Explain what's new in this diff.") ->setCaption(pht("Explain what's new in this diff."))
->setValue($request->getStr('comments'))) ->setValue($request->getStr('comments')))
->appendChild( ->appendChild(
id(new AphrontFormSubmitControl()) id(new AphrontFormSubmitControl())
->setValue('Save')) ->setValue(pht('Save')))
->appendChild( ->appendChild(
id(new AphrontFormDividerControl())); id(new AphrontFormDividerControl()));
} }
@ -134,21 +134,22 @@ final class DifferentialRevisionEditController extends DifferentialController {
$panel = new AphrontPanelView(); $panel = new AphrontPanelView();
if ($revision->getID()) { if ($revision->getID()) {
if ($diff) { if ($diff) {
$panel->setHeader('Update Differential Revision'); $panel->setHeader(pht('Update Differential Revision'));
} else { } else {
$panel->setHeader('Edit Differential Revision'); $panel->setHeader(pht('Edit Differential Revision'));
} }
} else { } else {
$panel->setHeader('Create New Differential Revision'); $panel->setHeader(pht('Create New Differential Revision'));
} }
$panel->appendChild($form); $panel->appendChild($form);
$panel->setWidth(AphrontPanelView::WIDTH_FORM); $panel->setWidth(AphrontPanelView::WIDTH_FORM);
$panel->setNoBackground();
return $this->buildStandardPageResponse( return $this->buildStandardPageResponse(
array($error_view, $panel), array($error_view, $panel),
array( array(
'title' => 'Edit Differential Revision', 'title' => pht('Edit Differential Revision'),
)); ));
} }

View file

@ -101,9 +101,9 @@ final class DifferentialRevisionListController extends DifferentialController {
// the viewing user's). Show a warning instead. // the viewing user's). Show a warning instead.
$warning = new AphrontErrorView(); $warning = new AphrontErrorView();
$warning->setSeverity(AphrontErrorView::SEVERITY_WARNING); $warning->setSeverity(AphrontErrorView::SEVERITY_WARNING);
$warning->setTitle('User Required'); $warning->setTitle(pht('User Required'));
$warning->appendChild( $warning->appendChild(
'This filter requires that a user be specified above.'); pht('This filter requires that a user be specified above.'));
$panels[] = $warning; $panels[] = $warning;
} else { } else {
$query = $this->buildQuery($this->filter, $params); $query = $this->buildQuery($this->filter, $params);
@ -173,7 +173,7 @@ final class DifferentialRevisionListController extends DifferentialController {
->addHiddenInput('order', $params['order']) ->addHiddenInput('order', $params['order'])
->appendChild( ->appendChild(
id(new AphrontFormSubmitControl()) id(new AphrontFormSubmitControl())
->setValue('Filter Revisions')); ->setValue(pht('Filter Revisions')));
$filter_view = new AphrontListFilterView(); $filter_view = new AphrontListFilterView();
$filter_view->appendChild($filter_form); $filter_view->appendChild($filter_form);
@ -198,20 +198,20 @@ final class DifferentialRevisionListController extends DifferentialController {
return $this->buildApplicationPage( return $this->buildApplicationPage(
$side_nav, $side_nav,
array( array(
'title' => 'Differential Home', 'title' => pht('Differential Home'),
)); ));
} }
private function getFilters() { private function getFilters() {
return array( return array(
array(null, 'User Revisions'), array(null, pht('User Revisions')),
array('active', 'Active'), array('active', pht('Active')),
array('revisions', 'Revisions'), array('revisions', pht('Revisions')),
array('reviews', 'Reviews'), array('reviews', pht('Reviews')),
array('subscribed', 'Subscribed'), array('subscribed', pht('Subscribed')),
array('drafts', 'Draft Reviews'), array('drafts', pht('Draft Reviews')),
array(null, 'All Revisions'), array(null, pht('All Revisions')),
array('all', 'All'), array('all', pht('All')),
); );
} }
@ -328,18 +328,18 @@ final class DifferentialRevisionListController extends DifferentialController {
if ($control == 'subscriber') { if ($control == 'subscriber') {
$source = '/typeahead/common/allmailable/'; $source = '/typeahead/common/allmailable/';
$label = 'View Subscribers'; $label = pht('View Subscribers');
} else { } else {
$source = '/typeahead/common/accounts/'; $source = '/typeahead/common/accounts/';
switch ($this->filter) { switch ($this->filter) {
case 'revisions': case 'revisions':
$label = 'Authors'; $label = pht('Authors');
break; break;
case 'reviews': case 'reviews':
$label = 'Reviewers'; $label = pht('Reviewers');
break; break;
default: default:
$label = 'View Users'; $label = pht('View Users');
break; break;
} }
} }
@ -353,10 +353,10 @@ final class DifferentialRevisionListController extends DifferentialController {
case 'participants': case 'participants':
switch ($this->filter) { switch ($this->filter) {
case 'revisions': case 'revisions':
$label = 'Reviewers'; $label = pht('Reviewers');
break; break;
case 'reviews': case 'reviews':
$label = 'Authors'; $label = pht('Authors');
break; break;
} }
$value = mpull( $value = mpull(
@ -370,26 +370,26 @@ final class DifferentialRevisionListController extends DifferentialController {
case 'status': case 'status':
return id(new AphrontFormToggleButtonsControl()) return id(new AphrontFormToggleButtonsControl())
->setLabel('Status') ->setLabel(pht('Status'))
->setValue($params['status']) ->setValue($params['status'])
->setBaseURI($uri, 'status') ->setBaseURI($uri, 'status')
->setButtons( ->setButtons(
array( array(
'all' => 'All', 'all' => pht('All'),
'open' => 'Open', 'open' => pht('Open'),
'closed' => pht('Closed'), 'closed' => pht('Closed'),
'abandoned' => 'Abandoned', 'abandoned' => pht('Abandoned'),
)); ));
case 'order': case 'order':
return id(new AphrontFormToggleButtonsControl()) return id(new AphrontFormToggleButtonsControl())
->setLabel('Order') ->setLabel(pht('Order'))
->setValue($params['order']) ->setValue($params['order'])
->setBaseURI($uri, 'order') ->setBaseURI($uri, 'order')
->setButtons( ->setButtons(
array( array(
'modified' => 'Updated', 'modified' => pht('Updated'),
'created' => 'Created', 'created' => pht('Created'),
)); ));
default: default:
@ -444,7 +444,7 @@ final class DifferentialRevisionListController extends DifferentialController {
->setRevisions($active) ->setRevisions($active)
->loadAssets(); ->loadAssets();
$views[] = array( $views[] = array(
'title' => 'Action Required', 'title' => pht('Action Required'),
'view' => $view, 'view' => $view,
); );
@ -463,7 +463,7 @@ final class DifferentialRevisionListController extends DifferentialController {
->setUser($user); ->setUser($user);
$views[] = array( $views[] = array(
'title' => 'Flagged Revisions', 'title' => pht('Flagged Revisions'),
'view' => $view, 'view' => $view,
'special' => true, 'special' => true,
); );
@ -474,7 +474,7 @@ final class DifferentialRevisionListController extends DifferentialController {
->setRevisions($waiting) ->setRevisions($waiting)
->loadAssets(); ->loadAssets();
$views[] = array( $views[] = array(
'title' => 'Waiting On Others', 'title' => pht('Waiting On Others'),
'view' => $view, 'view' => $view,
); );
break; break;
@ -484,10 +484,10 @@ final class DifferentialRevisionListController extends DifferentialController {
case 'drafts': case 'drafts':
case 'all': case 'all':
$titles = array( $titles = array(
'revisions' => 'Revisions by Author', 'revisions' => pht('Revisions by Author'),
'reviews' => 'Revisions by Reviewer', 'reviews' => pht('Revisions by Reviewer'),
'subscribed' => 'Revisions by Subscriber', 'subscribed' => pht('Revisions by Subscriber'),
'all' => 'Revisions', 'all' => pht('Revisions'),
); );
$view = id(clone $template) $view = id(clone $template)
->setRevisions($revisions) ->setRevisions($revisions)
@ -504,5 +504,4 @@ final class DifferentialRevisionListController extends DifferentialController {
return $views; return $views;
} }
} }

View file

@ -118,7 +118,7 @@ final class DifferentialRevisionStatsController extends DifferentialController {
$filter_form->appendChild( $filter_form->appendChild(
$this->renderControl($params['phid'], $handles)); $this->renderControl($params['phid'], $handles));
$filter_form->appendChild(id(new AphrontFormSubmitControl()) $filter_form->appendChild(id(new AphrontFormSubmitControl())
->setValue('Filter Revisions')); ->setValue(pht('Filter Revisions')));
$side_nav->appendChild($filter_form); $side_nav->appendChild($filter_form);
@ -127,7 +127,7 @@ final class DifferentialRevisionStatsController extends DifferentialController {
$diffs = $this->loadDiffs($revisions); $diffs = $this->loadDiffs($revisions);
$panel = new AphrontPanelView(); $panel = new AphrontPanelView();
$panel->setHeader('Differential rate analysis'); $panel->setHeader(pht('Differential rate analysis'));
$panel->appendChild( $panel->appendChild(
id(new DifferentialRevisionStatsView()) id(new DifferentialRevisionStatsView())
->setComments($comments) ->setComments($comments)
@ -144,7 +144,7 @@ final class DifferentialRevisionStatsController extends DifferentialController {
return $this->buildStandardPageResponse( return $this->buildStandardPageResponse(
$side_nav, $side_nav,
array( array(
'title' => 'Differential statistics', 'title' => pht('Differential Statistics'),
)); ));
} }
@ -157,7 +157,7 @@ final class DifferentialRevisionStatsController extends DifferentialController {
} }
return id(new AphrontFormTokenizerControl()) return id(new AphrontFormTokenizerControl())
->setDatasource('/typeahead/common/users/') ->setDatasource('/typeahead/common/users/')
->setLabel('View User') ->setLabel(pht('View User'))
->setName('view_user') ->setName('view_user')
->setValue($value) ->setValue($value)
->setLimit(1); ->setLimit(1);

View file

@ -150,7 +150,7 @@ final class DifferentialRevisionViewController extends DifferentialController {
if (!$has_live_reviewer) { if (!$has_live_reviewer) {
$reviewer_warning = new AphrontErrorView(); $reviewer_warning = new AphrontErrorView();
$reviewer_warning->setSeverity(AphrontErrorView::SEVERITY_WARNING); $reviewer_warning->setSeverity(AphrontErrorView::SEVERITY_WARNING);
$reviewer_warning->setTitle('No Active Reviewers'); $reviewer_warning->setTitle(pht('No Active Reviewers'));
if ($revision->getReviewers()) { if ($revision->getReviewers()) {
$reviewer_warning->appendChild( $reviewer_warning->appendChild(
phutil_render_tag( phutil_render_tag(
@ -181,8 +181,8 @@ final class DifferentialRevisionViewController extends DifferentialController {
$warning->setTitle('Very Large Diff'); $warning->setTitle('Very Large Diff');
$warning->setSeverity(AphrontErrorView::SEVERITY_WARNING); $warning->setSeverity(AphrontErrorView::SEVERITY_WARNING);
$warning->appendChild( $warning->appendChild(
"<p>This diff is very large and affects {$count} files. Load ". '<p>'.pht('This diff is very large and affects %d files. Load '.
"each file individually. ". 'each file individually. ', $count).
"<strong>". "<strong>".
phutil_render_tag( phutil_render_tag(
'a', 'a',
@ -191,7 +191,7 @@ final class DifferentialRevisionViewController extends DifferentialController {
->alter('large', 'true') ->alter('large', 'true')
->setFragment('toc'), ->setFragment('toc'),
), ),
'Show All Files Inline'). pht('Show All Files Inline')).
"</strong>"); "</strong>");
$warning = $warning->render(); $warning = $warning->render();
@ -483,7 +483,7 @@ final class DifferentialRevisionViewController extends DifferentialController {
$links[] = array( $links[] = array(
'icon' => 'edit', 'icon' => 'edit',
'href' => "/differential/revision/edit/{$revision_id}/", 'href' => "/differential/revision/edit/{$revision_id}/",
'name' => 'Edit Revision', 'name' => pht('Edit Revision'),
); );
} }
@ -494,14 +494,14 @@ final class DifferentialRevisionViewController extends DifferentialController {
$links[] = array( $links[] = array(
'icon' => $viewer_is_cc ? 'subscribe-delete' : 'subscribe-add', 'icon' => $viewer_is_cc ? 'subscribe-delete' : 'subscribe-add',
'href' => "/differential/subscribe/{$action}/{$revision_id}/", 'href' => "/differential/subscribe/{$action}/{$revision_id}/",
'name' => $viewer_is_cc ? 'Unsubscribe' : 'Subscribe', 'name' => $viewer_is_cc ? pht('Unsubscribe') : pht('Subscribe'),
'instant' => true, 'instant' => true,
'sigil' => 'workflow', 'sigil' => 'workflow',
); );
} else { } else {
$links[] = array( $links[] = array(
'icon' => 'subscribe-auto', 'icon' => 'subscribe-auto',
'name' => 'Automatically Subscribed', 'name' => pht('Automatically Subscribed'),
'disabled' => true, 'disabled' => true,
); );
} }
@ -511,7 +511,7 @@ final class DifferentialRevisionViewController extends DifferentialController {
$links[] = array( $links[] = array(
'icon' => 'link', 'icon' => 'link',
'name' => 'Edit Dependencies', 'name' => pht('Edit Dependencies'),
'href' => "/search/attach/{$revision_phid}/DREV/dependencies/", 'href' => "/search/attach/{$revision_phid}/DREV/dependencies/",
'sigil' => 'workflow', 'sigil' => 'workflow',
); );
@ -519,7 +519,7 @@ final class DifferentialRevisionViewController extends DifferentialController {
if (PhabricatorEnv::getEnvConfig('maniphest.enabled')) { if (PhabricatorEnv::getEnvConfig('maniphest.enabled')) {
$links[] = array( $links[] = array(
'icon' => 'attach', 'icon' => 'attach',
'name' => 'Edit Maniphest Tasks', 'name' => pht('Edit Maniphest Tasks'),
'href' => "/search/attach/{$revision_phid}/TASK/", 'href' => "/search/attach/{$revision_phid}/TASK/",
'sigil' => 'workflow', 'sigil' => 'workflow',
); );
@ -528,14 +528,14 @@ final class DifferentialRevisionViewController extends DifferentialController {
if ($user->getIsAdmin()) { if ($user->getIsAdmin()) {
$links[] = array( $links[] = array(
'icon' => 'file', 'icon' => 'file',
'name' => 'MetaMTA Transcripts', 'name' => pht('MetaMTA Transcripts'),
'href' => "/mail/?phid={$revision_phid}", 'href' => "/mail/?phid={$revision_phid}",
); );
} }
$links[] = array( $links[] = array(
'icon' => 'file', 'icon' => 'file',
'name' => 'Herald Transcripts', 'name' => pht('Herald Transcripts'),
'href' => "/herald/transcript/?phid={$revision_phid}", 'href' => "/herald/transcript/?phid={$revision_phid}",
); );
} }
@ -543,7 +543,7 @@ final class DifferentialRevisionViewController extends DifferentialController {
$request_uri = $this->getRequest()->getRequestURI(); $request_uri = $this->getRequest()->getRequestURI();
$links[] = array( $links[] = array(
'icon' => 'download', 'icon' => 'download',
'name' => 'Download Raw Diff', 'name' => pht('Download Raw Diff'),
'href' => $request_uri->alter('download', 'true') 'href' => $request_uri->alter('download', 'true')
); );

View file

@ -25,16 +25,16 @@ final class DifferentialSubscribeController extends DifferentialController {
switch ($this->action) { switch ($this->action) {
case 'add': case 'add':
$button = 'Subscribe'; $button = pht('Subscribe');
$title = 'Subscribe to Revision'; $title = pht('Subscribe to Revision');
$prompt = 'Really subscribe to this revision?'; $prompt = pht('Really subscribe to this revision?');
break; break;
case 'rem': case 'rem':
$button = 'Unsubscribe'; $button = pht('Unsubscribe');
$title = 'Unsubscribe from Revision'; $title = pht('Unsubscribe from Revision');
$prompt = 'Really unsubscribe from this revision? Herald will '. $prompt = pht('Really unsubscribe from this revision? Herald will '.
'not resubscribe you to a revision you unsubscribe '. 'not resubscribe you to a revision you unsubscribe '.
'from.'; 'from.');
break; break;
default: default:
return new Aphront400Response(); return new Aphront400Response();