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

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

From
Vasco Almeida <vascomalmeida@sapo.pt>
Date
Nov 11, 2016, 12:45 UTC
Message-ID
<20161111124541.8216-10-vascomalmeida@sapo.pt>
In-Reply-To
<20161111124541.8216-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..7d1cc5652 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::config("core.commentchar") || '#';
+	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.rc0.33.gec17dab
Previous: Vasco AlmeidaNext: Vasco Almeida
Message 22 of 26 in “Mark strings in Perl scripts for translation”
  1. 00/16 Mark strings in Perl scripts for translationVasco Almeida, Nov 11, 2016
  2. 01/16 Git.pm: add subroutines for commenting linesVasco Almeida, Nov 11, 2016
  3. Vasco AlmeidaNov 22, 2016
  4. Junio C HamanoNov 22, 2016
  5. Vasco AlmeidaDec 9, 2016
  6. Johannes SchindelinDec 9, 2016
  7. Junio C HamanoDec 9, 2016
  8. Vasco AlmeidaDec 10, 2016
  9. Junio C HamanoDec 10, 2016
  10. Vasco AlmeidaDec 13, 2016
  11. Junio C HamanoDec 13, 2016
  12. 05/16 i18n: clean.c: match string with git-add--interactive.perlVasco Almeida, Nov 11, 2016
  13. 07/16 i18n: add--interactive: mark patch prompt for translationVasco Almeida, Nov 11, 2016
  14. 11/16 i18n: add--interactive: mark status words for translationVasco Almeida, Nov 11, 2016
  15. 12/16 i18n: send-email: mark strings for translationVasco Almeida, Nov 11, 2016
  16. 13/16 i18n: send-email: mark warnings and errors for translationVasco Almeida, Nov 11, 2016
  17. 15/16 i18n: send-email: mark composing message for translationVasco Almeida, Nov 11, 2016
  18. 08/16 i18n: add--interactive: i18n of help_patch_cmdVasco Almeida, Nov 11, 2016
  19. 14/16 i18n: send-email: mark string with interpolation for translationVasco Almeida, Nov 11, 2016
  20. 16/16 i18n: difftool: mark warnings for translationVasco Almeida, Nov 11, 2016
  21. 10/16 i18n: add--interactive: remove %patch_modes entriesVasco Almeida, Nov 11, 2016
  22. 09/16 i18n: add--interactive: mark edit_hunk_manually message for translationVasco Almeida, Nov 11, 2016
  23. 06/16 i18n: add--interactive: mark plural stringsVasco Almeida, Nov 11, 2016
  24. 04/16 i18n: add--interactive: mark strings with interpolation for translationVasco Almeida, Nov 11, 2016
  25. 02/16 i18n: add--interactive: mark strings for translationVasco Almeida, Nov 11, 2016
  26. 03/16 i18n: add--interactive: mark simple here-documents for translationVasco Almeida, Nov 11, 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.