git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v7 09/16] i18n: add--interactive: mark edit_hunk_manually message for translation

From
Vasco Almeida <vascomalmeida@sapo.pt>
Date
Dec 14, 2016, 12:54 UTC
Message-ID
<20161214125439.8822-10-vascomalmeida@sapo.pt>
In-Reply-To
<20161214125439.8822-1-vascomalmeida@sapo.pt>

Mark message of edit_hunk_manually displayed in the editing file when user chooses 'e' option. The message had to be unfolded to allow translation of the $participle verb.

Some messages end up being exactly the same for some use cases, but left it for easier change in the future, e.g., wanting to change wording of one particular use case.

The comment character is now used according to the git configuration core.commentchar.

Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
---
 git-add--interactive.perl | 52 +++++++++++++++++++++++++++++++++++------------
 1 file changed, 39 insertions(+), 13 deletions(-)
diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index 045b847cf..e77f77613 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -1058,6 +1058,30 @@ sub color_diff {
 	} @_;
 }
 
+my %edit_hunk_manually_modes = (
+	stage => N__(
+"If the patch applies cleanly, the edited hunk will immediately be
+marked for staging."),
+	stash => N__(
+"If the patch applies cleanly, the edited hunk will immediately be
+marked for stashing."),
+	reset_head => N__(
+"If the patch applies cleanly, the edited hunk will immediately be
+marked for unstaging."),
+	reset_nothead => N__(
+"If the patch applies cleanly, the edited hunk will immediately be
+marked for applying."),
+	checkout_index => N__(
+"If the patch applies cleanly, the edited hunk will immediately be
+marked for discarding"),
+	checkout_head => N__(
+"If the patch applies cleanly, the edited hunk will immediately be
+marked for discarding."),
+	checkout_nothead => N__(
+"If the patch applies cleanly, the edited hunk will immediately be
+marked for applying."),
+);
+
 sub edit_hunk_manually {
 	my ($oldtext) = @_;
 
@@ -1065,22 +1089,24 @@ sub edit_hunk_manually {
 	my $fh;
 	open $fh, '>', $hunkfile
 		or die sprintf(__("failed to open hunk edit file for writing: %s"), $!);
-	print $fh "# Manual hunk edit mode -- see bottom for a quick guide\n";
+	print $fh Git::comment_lines __("Manual hunk edit mode -- see bottom for a quick guide.\n");
 	print $fh @$oldtext;
-	my $participle = $patch_mode_flavour{PARTICIPLE};
 	my $is_reverse = $patch_mode_flavour{IS_REVERSE};
 	my ($remove_plus, $remove_minus) = $is_reverse ? ('-', '+') : ('+', '-');
-	print $fh <<EOF;
-# ---
-# To remove '$remove_minus' lines, make them ' ' lines (context).
-# To remove '$remove_plus' lines, delete them.
-# Lines starting with # will be removed.
-#
-# If the patch applies cleanly, the edited hunk will immediately be
-# marked for $participle. If it does not apply cleanly, you will be given
-# an opportunity to edit again. If all lines of the hunk are removed,
-# then the edit is aborted and the hunk is left unchanged.
+	my $comment_line_char = Git::get_comment_line_char;
+	print $fh Git::comment_lines sprintf(__ <<EOF, $remove_minus, $remove_plus, $comment_line_char),
+---
+To remove '%s' lines, make them ' ' lines (context).
+To remove '%s' lines, delete them.
+Lines starting with %s will be removed.
 EOF
+__($edit_hunk_manually_modes{$patch_mode}),
+# TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
+__ <<EOF2 ;
+If it does not apply cleanly, you will be given an opportunity to
+edit again.  If all lines of the hunk are removed, then the edit is
+aborted and the hunk is left unchanged.
+EOF2
 	close $fh;
 
 	chomp(my $editor = run_cmd_pipe(qw(git var GIT_EDITOR)));
@@ -1092,7 +1118,7 @@ EOF
 
 	open $fh, '<', $hunkfile
 		or die sprintf(__("failed to open hunk edit file for reading: %s"), $!);
-	my @newtext = grep { !/^#/ } <$fh>;
+	my @newtext = grep { !/^$comment_line_char/ } <$fh>;
 	close $fh;
 	unlink $hunkfile;
 
-- 
2.11.0.44.g7d42c6c
Previous: Vasco AlmeidaNext: Vasco Almeida
Message 8 of 18 in “Mark strings in Perl scripts for translation”
  1. 00/16 Mark strings in Perl scripts for translationVasco Almeida, Dec 14, 2016
  2. 02/16 i18n: add--interactive: mark strings for translationVasco Almeida, Dec 14, 2016
  3. 06/16 i18n: add--interactive: mark plural stringsVasco Almeida, Dec 14, 2016
  4. 11/16 i18n: add--interactive: mark status words for translationVasco Almeida, Dec 14, 2016
  5. 05/16 i18n: clean.c: match string with git-add--interactive.perlVasco Almeida, Dec 14, 2016
  6. 12/16 i18n: send-email: mark strings for translationVasco Almeida, Dec 14, 2016
  7. 03/16 i18n: add--interactive: mark simple here-documents for translationVasco Almeida, Dec 14, 2016
  8. 09/16 i18n: add--interactive: mark edit_hunk_manually message for translationVasco Almeida, Dec 14, 2016
  9. 08/16 i18n: add--interactive: i18n of help_patch_cmdVasco Almeida, Dec 14, 2016
  10. 01/16 Git.pm: add subroutines for commenting linesVasco Almeida, Dec 14, 2016
  11. 10/16 i18n: add--interactive: remove %patch_modes entriesVasco Almeida, Dec 14, 2016
  12. 14/16 i18n: send-email: mark string with interpolation for translationVasco Almeida, Dec 14, 2016
  13. 07/16 i18n: add--interactive: mark patch prompt for translationVasco Almeida, Dec 14, 2016
  14. 04/16 i18n: add--interactive: mark strings with interpolation for translationVasco Almeida, Dec 14, 2016
  15. 13/16 i18n: send-email: mark warnings and errors for translationVasco Almeida, Dec 14, 2016
  16. 16/16 i18n: difftool: mark warnings for translationVasco Almeida, Dec 14, 2016
  17. 15/16 i18n: send-email: mark composing message for translationVasco Almeida, Dec 14, 2016
  18. Junio C HamanoDec 14, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.