From 251438b2c2b284e6b75e31a87f33800b66f01b41 Mon Sep 17 00:00:00 2001 From: vrana Date: Mon, 6 Aug 2012 12:00:34 -0700 Subject: [PATCH] Translate change type header Summary: This is a tax for internationalization. Test Plan: Displayed a revision with added and moved files. Reviewers: epriestley Reviewed By: epriestley CC: aran, Korvin Differential Revision: https://secure.phabricator.com/D3166 --- .../parser/DifferentialChangesetParser.php | 266 ++++++++++++++---- 1 file changed, 213 insertions(+), 53 deletions(-) diff --git a/src/applications/differential/parser/DifferentialChangesetParser.php b/src/applications/differential/parser/DifferentialChangesetParser.php index 8c8a97a667..25cc840292 100644 --- a/src/applications/differential/parser/DifferentialChangesetParser.php +++ b/src/applications/differential/parser/DifferentialChangesetParser.php @@ -1722,32 +1722,6 @@ final class DifferentialChangesetParser { } protected function renderChangeTypeHeader($changeset, $force) { - - static $articles = array( - DifferentialChangeType::FILE_IMAGE => 'an', - ); - - static $files = array( - DifferentialChangeType::FILE_TEXT => 'file', - DifferentialChangeType::FILE_IMAGE => 'image', - DifferentialChangeType::FILE_DIRECTORY => 'directory', - DifferentialChangeType::FILE_BINARY => 'binary file', - DifferentialChangeType::FILE_SYMLINK => 'symlink', - DifferentialChangeType::FILE_SUBMODULE => 'submodule', - ); - - static $changes = array( - DifferentialChangeType::TYPE_ADD => 'added', - DifferentialChangeType::TYPE_CHANGE => 'changed', - DifferentialChangeType::TYPE_DELETE => 'deleted', - DifferentialChangeType::TYPE_MOVE_HERE => 'moved from', - DifferentialChangeType::TYPE_COPY_HERE => 'copied from', - DifferentialChangeType::TYPE_MOVE_AWAY => 'moved to', - DifferentialChangeType::TYPE_COPY_AWAY => 'copied to', - DifferentialChangeType::TYPE_MULTICOPY - => 'deleted after being copied to', - ); - $change = $changeset->getChangeType(); $file = $changeset->getFileType(); @@ -1757,41 +1731,227 @@ final class DifferentialChangesetParser { if ($force) { // We have to force something to render because there were no changes // of other kinds. - $message = "This {$files[$file]} was not modified."; + $message = pht('This file was not modified.'); } else { // Default case of changes to a text file, no metadata. return null; } } else { - $verb = idx($changes, $change, 'changed'); switch ($change) { - default: - $message = "This {$files[$file]} was {$verb}."; - break; - case DifferentialChangeType::TYPE_MOVE_HERE: - case DifferentialChangeType::TYPE_COPY_HERE: - $message = - "This {$files[$file]} was {$verb} ". - "". - phutil_escape_html($changeset->getOldFile()). - "."; - break; - case DifferentialChangeType::TYPE_MOVE_AWAY: - case DifferentialChangeType::TYPE_COPY_AWAY: - case DifferentialChangeType::TYPE_MULTICOPY: - $paths = $changeset->getAwayPaths(); - if (count($paths) > 1) { - $message = - "This {$files[$file]} was {$verb}: ". - "".phutil_escape_html(implode(', ', $paths))."."; - } else { - $message = - "This {$files[$file]} was {$verb} ". - "".phutil_escape_html(reset($paths))."."; + + case DifferentialChangeType::TYPE_ADD: + switch ($file) { + case DifferentialChangeType::FILE_TEXT: + $message = pht('This file was added.'); + break; + case DifferentialChangeType::FILE_IMAGE: + $message = pht('This image was added.'); + break; + case DifferentialChangeType::FILE_DIRECTORY: + $message = pht('This directory was added.'); + break; + case DifferentialChangeType::FILE_BINARY: + $message = pht('This binary file was added.'); + break; + case DifferentialChangeType::FILE_SYMLINK: + $message = pht('This symlink was added.'); + break; + case DifferentialChangeType::FILE_SUBMODULE: + $message = pht('This submodule was added.'); + break; } break; - case DifferentialChangeType::TYPE_CHANGE: - $message = "This is ".idx($articles, $file, 'a')." {$files[$file]}."; + + case DifferentialChangeType::TYPE_DELETE: + switch ($file) { + case DifferentialChangeType::FILE_TEXT: + $message = pht('This file was deleted.'); + break; + case DifferentialChangeType::FILE_IMAGE: + $message = pht('This image was deleted.'); + break; + case DifferentialChangeType::FILE_DIRECTORY: + $message = pht('This directory was deleted.'); + break; + case DifferentialChangeType::FILE_BINARY: + $message = pht('This binary file was deleted.'); + break; + case DifferentialChangeType::FILE_SYMLINK: + $message = pht('This symlink was deleted.'); + break; + case DifferentialChangeType::FILE_SUBMODULE: + $message = pht('This submodule was deleted.'); + break; + } + break; + + case DifferentialChangeType::TYPE_MOVE_HERE: + $from = + "". + phutil_escape_html($changeset->getOldFile()). + ""; + switch ($file) { + case DifferentialChangeType::FILE_TEXT: + $message = pht('This file was moved from %s.', $from); + break; + case DifferentialChangeType::FILE_IMAGE: + $message = pht('This image was moved from %s.', $from); + break; + case DifferentialChangeType::FILE_DIRECTORY: + $message = pht('This directory was moved from %s.', $from); + break; + case DifferentialChangeType::FILE_BINARY: + $message = pht('This binary file was moved from %s.', $from); + break; + case DifferentialChangeType::FILE_SYMLINK: + $message = pht('This symlink was moved from %s.', $from); + break; + case DifferentialChangeType::FILE_SUBMODULE: + $message = pht('This submodule was moved from %s.', $from); + break; + } + + case DifferentialChangeType::TYPE_COPY_HERE: + $from = + "". + phutil_escape_html($changeset->getOldFile()). + ""; + switch ($file) { + case DifferentialChangeType::FILE_TEXT: + $message = pht('This file was copied from %s.', $from); + break; + case DifferentialChangeType::FILE_IMAGE: + $message = pht('This image was copied from %s.', $from); + break; + case DifferentialChangeType::FILE_DIRECTORY: + $message = pht('This directory was copied from %s.', $from); + break; + case DifferentialChangeType::FILE_BINARY: + $message = pht('This binary file was copied from %s.', $from); + break; + case DifferentialChangeType::FILE_SYMLINK: + $message = pht('This symlink was copied from %s.', $from); + break; + case DifferentialChangeType::FILE_SUBMODULE: + $message = pht('This submodule was copied from %s.', $from); + break; + } + break; + + case DifferentialChangeType::TYPE_MOVE_AWAY: + $paths = + "". + phutil_escape_html(implode(', ', $changeset->getAwayPaths())). + ""; + switch ($file) { + case DifferentialChangeType::FILE_TEXT: + $message = pht('This file was moved to %s.', $paths); + break; + case DifferentialChangeType::FILE_IMAGE: + $message = pht('This image was moved to %s.', $paths); + break; + case DifferentialChangeType::FILE_DIRECTORY: + $message = pht('This directory was moved to %s.', $paths); + break; + case DifferentialChangeType::FILE_BINARY: + $message = pht('This binary file was moved to %s.', $paths); + break; + case DifferentialChangeType::FILE_SYMLINK: + $message = pht('This symlink was moved to %s.', $paths); + break; + case DifferentialChangeType::FILE_SUBMODULE: + $message = pht('This submodule was moved to %s.', $paths); + break; + } + break; + + case DifferentialChangeType::TYPE_COPY_AWAY: + $paths = + "". + phutil_escape_html(implode(', ', $changeset->getAwayPaths())). + ""; + switch ($file) { + case DifferentialChangeType::FILE_TEXT: + $message = pht('This file was copied to %s.', $paths); + break; + case DifferentialChangeType::FILE_IMAGE: + $message = pht('This image was copied to %s.', $paths); + break; + case DifferentialChangeType::FILE_DIRECTORY: + $message = pht('This directory was copied to %s.', $paths); + break; + case DifferentialChangeType::FILE_BINARY: + $message = pht('This binary file was copied to %s.', $paths); + break; + case DifferentialChangeType::FILE_SYMLINK: + $message = pht('This symlink was copied to %s.', $paths); + break; + case DifferentialChangeType::FILE_SUBMODULE: + $message = pht('This submodule was copied to %s.', $paths); + break; + } + break; + + case DifferentialChangeType::TYPE_MULTICOPY: + $paths = + "". + phutil_escape_html(implode(', ', $changeset->getAwayPaths())). + ""; + switch ($file) { + case DifferentialChangeType::FILE_TEXT: + $message = pht( + 'This file was deleted after being copied to %s.', + $paths); + break; + case DifferentialChangeType::FILE_IMAGE: + $message = pht( + 'This image was deleted after being copied to %s.', + $paths); + break; + case DifferentialChangeType::FILE_DIRECTORY: + $message = pht( + 'This directory was deleted after being copied to %s.', + $paths); + break; + case DifferentialChangeType::FILE_BINARY: + $message = pht( + 'This binary file was deleted after being copied to %s.', + $paths); + break; + case DifferentialChangeType::FILE_SYMLINK: + $message = pht( + 'This symlink was deleted after being copied to %s.', + $paths); + break; + case DifferentialChangeType::FILE_SUBMODULE: + $message = pht( + 'This submodule was deleted after being copied to %s.', + $paths); + break; + } + break; + + default: + switch ($file) { + case DifferentialChangeType::FILE_TEXT: + $message = pht('This is a file.'); + break; + case DifferentialChangeType::FILE_IMAGE: + $message = pht('This is an image.'); + break; + case DifferentialChangeType::FILE_DIRECTORY: + $message = pht('This is a directory.'); + break; + case DifferentialChangeType::FILE_BINARY: + $message = pht('This is a binary file.'); + break; + case DifferentialChangeType::FILE_SYMLINK: + $message = pht('This is a symlink.'); + break; + case DifferentialChangeType::FILE_SUBMODULE: + $message = pht('This is a submodule.'); + break; + } break; } }