[PATCH v2 00/11] Mark strings in perl script for translation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mark messages in some perl scripts for translation.

Since v1, adds brackets so parameter grouping of sprintf parameters is easier
to see.

Interdiff included below.

Vasco Almeida (11):
  i18n: add--interactive: mark strings for translation
  i18n: add--interactive: mark simple here documents for translation
  i18n: add--interactive: mark strings with interpolation for
    translation
  i18n: add--interactive: mark plural strings
  i18n: add--interactive: mark message for translation
  i18n: add--interactive: i18n of help_patch_cmd
  i18n: add--interactive: mark edit_hunk_manually message for
    translation
  i18n: send-email: mark strings for translation
  i18n: send-email: mark warnings and errors for translation
  i18n: send-email: mark string with interpolation for translation
  i18n: difftool: mark warnings for translation

 Makefile                  |   3 +-
 git-add--interactive.perl | 358 ++++++++++++++++++++++++++++++++++------------
 git-difftool.perl         |  18 +--
 git-send-email.perl       | 160 +++++++++++----------
 perl/Git/I18N.pm          |   4 +-
 t/t0202/test.pl           |  11 +-
 6 files changed, 376 insertions(+), 178 deletions(-)

---- >8 ----
diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index 1652a57..235142c 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -614,12 +614,12 @@ sub list_and_choose {
 			else {
 				$bottom = $top = find_unique($choice, @stuff);
 				if (!defined $bottom) {
-					error_msg sprintf __("Huh (%s)?\n"), $choice;
+					error_msg sprintf(__("Huh (%s)?\n"), $choice);
 					next TOPLOOP;
 				}
 			}
 			if ($opts->{SINGLETON} && $bottom != $top) {
-				error_msg sprintf __("Huh (%s)?\n"), $choice;
+				error_msg sprintf(__("Huh (%s)?\n"), $choice);
 				next TOPLOOP;
 			}
 			for ($i = $bottom-1; $i <= $top-1; $i++) {
@@ -669,17 +669,17 @@ sub say_n_paths {
 	my $did = shift @_;
 	my $cnt = scalar @_;
 	if ($did eq 'added') {
-		printf Q__("added one path\n", "added %d paths\n",
-			   $cnt), $cnt;
+		printf(Q__("added one path\n", "added %d paths\n",
+			   $cnt), $cnt);
 	} elsif ($did eq 'updated') {
-		printf Q__("updated one path\n", "updated %d paths\n",
-			   $cnt), $cnt;
+		printf(Q__("updated one path\n", "updated %d paths\n",
+			   $cnt), $cnt);
 	} elsif ($did eq 'reversed') {
-		printf Q__("reversed one path\n", "reversed %d paths\n",
-			   $cnt), $cnt;
+		printf(Q__("reversed one path\n", "reversed %d paths\n",
+			   $cnt), $cnt);
 	} else {
-		printf Q__("touched one path\n", "touched %d paths\n",
-			   $cnt), $cnt;
+		printf(Q__("touched one path\n", "touched %d paths\n",
+			   $cnt), $cnt);
 	}
 }
 
@@ -1056,12 +1056,12 @@ sub edit_hunk_manually {
 	my $hunkfile = $repo->repo_path . "/addp-hunk-edit.diff";
 	my $fh;
 	open $fh, '>', $hunkfile
-		or die sprintf __("failed to open hunk edit file for writing: %s"), $!;
+		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 @$oldtext;
 	my $is_reverse = $patch_mode_flavour{IS_REVERSE};
 	my ($remove_plus, $remove_minus) = $is_reverse ? ('-', '+') : ('+', '-');
-	print $fh (sprintf __(
+	print $fh sprintf(__(
 "# ---
 # To remove '%s' lines, make them ' ' lines (context).
 # To remove '%s' lines, delete them.
@@ -1121,7 +1121,7 @@ sub edit_hunk_manually {
 	}
 
 	open $fh, '<', $hunkfile
-		or die sprintf __("failed to open hunk edit file for reading: %s"), $!;
+		or die sprintf(__("failed to open hunk edit file for reading: %s"), $!);
 	my @newtext = grep { !/^#/ } <$fh>;
 	close $fh;
 	unlink $hunkfile;
@@ -1314,7 +1314,7 @@ sub apply_patch_for_checkout_commit {
 
 sub patch_update_cmd {
 	my @all_mods = list_modified($patch_mode_flavour{FILTER});
-	error_msg sprintf __("ignoring unmerged: %s\n"), $_->{VALUE}
+	error_msg sprintf(__("ignoring unmerged: %s\n"), $_->{VALUE})
 		for grep { $_->{UNMERGED} } @all_mods;
 	@all_mods = grep { !$_->{UNMERGED} } @all_mods;
 
@@ -1458,100 +1458,79 @@ sub patch_update_file {
 		if ($patch_mode eq 'stage') {
 			if ($hunk[$ix]{TYPE} eq 'mode') {
 			  print colored $prompt_color,
-			    sprintf __("Stage mode change [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Stage mode change [y,n,q,a,d,/%s,?]? "), $other);
 			} elsif ($hunk[$ix]{TYPE} eq 'deletion') {
 			  print colored $prompt_color,
-			    sprintf __("Stage deletion [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Stage deletion [y,n,q,a,d,/%s,?]? "), $other);
 			} else {
 			  print colored $prompt_color,
-			    sprintf __("Stage this hunk [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Stage this hunk [y,n,q,a,d,/%s,?]? "), $other);
 			}
 		} elsif ($patch_mode eq 'stash') {
 			if ($hunk[$ix]{TYPE} eq 'mode') {
 			  print colored $prompt_color,
-			    sprintf __("Stash mode change [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Stash mode change [y,n,q,a,d,/%s,?]? "), $other);
 			} elsif ($hunk[$ix]{TYPE} eq 'deletion') {
 			  print colored $prompt_color,
-			    sprintf __("Stash deletion [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Stash deletion [y,n,q,a,d,/%s,?]? "), $other);
 			} else {
 			  print colored $prompt_color,
-			    sprintf __("Stash this hunk [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Stash this hunk [y,n,q,a,d,/%s,?]? "), $other);
 			}
 		} elsif ($patch_mode eq 'reset_head') {
 			if ($hunk[$ix]{TYPE} eq 'mode') {
 			  print colored $prompt_color,
-			    sprintf __("Unstage mode change [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Unstage mode change [y,n,q,a,d,/%s,?]? "), $other);
 			} elsif ($hunk[$ix]{TYPE} eq 'deletion') {
 			  print colored $prompt_color,
-			    sprintf __("Unstage deletion [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Unstage deletion [y,n,q,a,d,/%s,?]? "), $other);
 			} else {
 			  print colored $prompt_color,
-			    sprintf __("Unstage this hunk [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Unstage this hunk [y,n,q,a,d,/%s,?]? "), $other);
 			}
 		} elsif ($patch_mode eq 'reset_nothead') {
 			if ($hunk[$ix]{TYPE} eq 'mode') {
 			  print colored $prompt_color,
-			    sprintf __("Apply mode change to index [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Apply mode change to index [y,n,q,a,d,/%s,?]? "), $other);
 			} elsif ($hunk[$ix]{TYPE} eq 'deletion') {
 			  print colored $prompt_color,
-			    sprintf __("Apply deletion to index [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Apply deletion to index [y,n,q,a,d,/%s,?]? "), $other);
 			} else {
 			  print colored $prompt_color,
-			    sprintf __("Apply this hunk to index [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Apply this hunk to index [y,n,q,a,d,/%s,?]? "), $other);
 			}
 		} elsif ($patch_mode eq 'checkout_index') {
 			if ($hunk[$ix]{TYPE} eq 'mode') {
 			  print colored $prompt_color,
-			    sprintf __("Discard mode change from worktree [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Discard mode change from worktree [y,n,q,a,d,/%s,?]? "), $other);
 			} elsif ($hunk[$ix]{TYPE} eq 'deletion') {
 			  print colored $prompt_color,
-			    sprintf __("Discard deletion from worktree [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Discard deletion from worktree [y,n,q,a,d,/%s,?]? "), $other);
 			} else {
 			  print colored $prompt_color,
-			    sprintf __("Discard this hunk from worktree [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Discard this hunk from worktree [y,n,q,a,d,/%s,?]? "), $other);
 			}
 		} elsif ($patch_mode eq 'checkout_head') {
 			if ($hunk[$ix]{TYPE} eq 'mode') {
 			  print colored $prompt_color,
-			    sprintf __("Discard mode change from index and worktree [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Discard mode change from index and worktree [y,n,q,a,d,/%s,?]? "), $other);
 			} elsif ($hunk[$ix]{TYPE} eq 'deletion') {
 			  print colored $prompt_color,
-			    sprintf __("Discard deletion from index and worktree [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Discard deletion from index and worktree [y,n,q,a,d,/%s,?]? "), $other);
 			} else {
 			  print colored $prompt_color,
-			    sprintf __("Discard this hunk from index and worktree [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Discard this hunk from index and worktree [y,n,q,a,d,/%s,?]? "), $other);
 			}
 		} elsif ($patch_mode eq 'checkout_nothead') {
 			if ($hunk[$ix]{TYPE} eq 'mode') {
 			  print colored $prompt_color,
-			    sprintf __("Apply mode change to index and worktree [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Apply mode change to index and worktree [y,n,q,a,d,/%s,?]? "), $other);
 			} elsif ($hunk[$ix]{TYPE} eq 'deletion') {
 			  print colored $prompt_color,
-			    sprintf __("Apply deletion to index and worktree [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Apply deletion to index and worktree [y,n,q,a,d,/%s,?]? "), $other);
 			} else {
 			  print colored $prompt_color,
-			    sprintf __("Apply this hunk to index and worktree [y,n,q,a,d,/%s,?]? "),
-				       $other;
+			    sprintf(__("Apply this hunk to index and worktree [y,n,q,a,d,/%s,?]? "), $other);
 			}
 		}
 		my $line = prompt_single_character;
@@ -1589,13 +1568,13 @@ sub patch_update_file {
 					chomp $response;
 				}
 				if ($response !~ /^\s*\d+\s*$/) {
-					error_msg sprintf __("Invalid number: '%s'\n"),
-						      $response;
+					error_msg sprintf(__("Invalid number: '%s'\n"),
+							     $response);
 				} elsif (0 < $response && $response <= $num) {
 					$ix = $response - 1;
 				} else {
-					error_msg sprintf __("Sorry, only %s hunks available.\n"),
-						      $num;
+					error_msg sprintf(__("Sorry, only %s hunks available.\n"),
+							     $num);
 				}
 				next;
 			}
@@ -1633,7 +1612,7 @@ sub patch_update_file {
 				if ($@) {
 					my ($err,$exp) = ($@, $1);
 					$err =~ s/ at .*git-add--interactive line \d+, <STDIN> line \d+.*$//;
-					error_msg sprintf __("Malformed search regexp %s: %s\n"), $exp, $err;
+					error_msg sprintf(__("Malformed search regexp %s: %s\n"), $exp, $err);
 					next;
 				}
 				my $iy = $ix;
@@ -1690,10 +1669,10 @@ sub patch_update_file {
 			elsif ($other =~ /s/ && $line =~ /^s/) {
 				my @split = split_hunk($hunk[$ix]{TEXT}, $hunk[$ix]{DISPLAY});
 				if (1 < @split) {
-					print colored $header_color, sprintf
+					print colored $header_color, sprintf(
 						Q__("Split into %d hunk.\n",
 						    "Split into %d hunks.\n",
-						    scalar(@split)), scalar(@split);
+						    scalar(@split)), scalar(@split));
 				}
 				splice (@hunk, $ix, 1, @split);
 				$num = scalar @hunk;
@@ -1798,19 +1777,19 @@ sub process_args {
 				$patch_mode = $1;
 				$arg = shift @ARGV or die __("missing --");
 			} else {
-				die sprintf __("unknown --patch mode: %s"), $1;
+				die sprintf(__("unknown --patch mode: %s"), $1);
 			}
 		} else {
 			$patch_mode = 'stage';
 			$arg = shift @ARGV or die __("missing --");
 		}
-		die sprintf __("invalid argument %s, expecting --"),
-			       $arg unless $arg eq "--";
+		die sprintf(__("invalid argument %s, expecting --"),
+			       $arg) unless $arg eq "--";
 		%patch_mode_flavour = %{$patch_modes{$patch_mode}};
 		$cmd = 1;
 	}
 	elsif ($arg ne "--") {
-		die sprintf __("invalid argument %s, expecting --"), $arg;
+		die sprintf(__("invalid argument %s, expecting --"), $arg);
 	}
 }
 
diff --git a/git-difftool.perl b/git-difftool.perl
index fe7f003..de8d783 100755
--- a/git-difftool.perl
+++ b/git-difftool.perl
@@ -452,11 +452,11 @@ sub dir_diff
 		}
 
 		if (exists $wt_modified{$file} and exists $tmp_modified{$file}) {
-			warn sprintf __(
-"warning: Both files modified:
-'%s/%s' and '%s/%s'.
-warning: Working tree file has been left.
-warning:\n"), $workdir, $file, $b, $file;
+			warn sprintf(__(
+				"warning: Both files modified:\n" .
+				"'%s/%s' and '%s/%s'.\n" .
+				"warning: Working tree file has been left.\n" .
+				"warning:\n"), $workdir, $file, $b, $file);
 			$error = 1;
 		} elsif (exists $tmp_modified{$file}) {
 			my $mode = stat("$b/$file")->mode;
@@ -468,9 +468,9 @@ warning:\n"), $workdir, $file, $b, $file;
 		}
 	}
 	if ($error) {
-		warn sprintf __(
-"warning: Temporary files exist in '%s'.
-warning: You may want to cleanup or recover these.\n"), $tmpdir;
+		warn sprintf(__(
+			"warning: Temporary files exist in '%s'.\n" .
+			"warning: You may want to cleanup or recover these.\n"), $tmpdir);
 		exit(1);
 	} else {
 		exit_cleanup($tmpdir, $rc);
diff --git a/git-send-email.perl b/git-send-email.perl
index f445a5e..c29381b 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -434,7 +434,7 @@ $smtp_encryption = '' unless (defined $smtp_encryption);
 my(%suppress_cc);
 if (@suppress_cc) {
 	foreach my $entry (@suppress_cc) {
-		die sprintf __("Unknown --suppress-cc field: '%s'\n"), $entry
+		die sprintf(__("Unknown --suppress-cc field: '%s'\n"), $entry)
 			unless $entry =~ /^(?:all|cccmd|cc|author|self|sob|body|bodycc)$/;
 		$suppress_cc{$entry} = 1;
 	}
@@ -585,12 +585,12 @@ sub is_format_patch_arg {
 		if (defined($format_patch)) {
 			return $format_patch;
 		}
-		die sprintf __(
+		die sprintf(__(
 "File '%s' exists but it could also be the range of commits
 to produce patches for.  Please disambiguate by...
 
     * Saying \"./%s\" if you mean a file; or
-    * Giving --format-patch option if you mean a range."), $f, $f;
+    * Giving --format-patch option if you mean a range."), $f, $f);
 	} catch Git::Error::Command with {
 		# Not a valid revision.  Treat it as a filename.
 		return 0;
@@ -606,7 +606,7 @@ while (defined(my $f = shift @ARGV)) {
 		@ARGV = ();
 	} elsif (-d $f and !is_format_patch_arg($f)) {
 		opendir my $dh, $f
-			or die sprintf __("Failed to opendir %s: %s"), $f, $!;
+			or die sprintf(__("Failed to opendir %s: %s"), $f, $!);
 
 		push @files, grep { -f $_ } map { catfile($f, $_) }
 				sort readdir $dh;
@@ -628,8 +628,8 @@ if ($validate) {
 	foreach my $f (@files) {
 		unless (-p $f) {
 			my $error = validate_patch($f);
-			$error and die sprintf __("fatal: %s: %s\nwarning: no patches were sent\n"),
-						  $f, $error;
+			$error and die sprintf(__("fatal: %s: %s\nwarning: no patches were sent\n"),
+						  $f, $error);
 		}
 	}
 }
@@ -652,7 +652,7 @@ sub get_patch_subject {
 		return "GIT: $1\n";
 	}
 	close $fh;
-	die sprintf __("No subject line in %s ?"), $fn;
+	die sprintf(__("No subject line in %s ?"), $fn);
 }
 
 if ($compose) {
@@ -662,7 +662,7 @@ if ($compose) {
 		tempfile(".gitsendemail.msg.XXXXXX", DIR => $repo->repo_path()) :
 		tempfile(".gitsendemail.msg.XXXXXX", DIR => "."))[1];
 	open my $c, ">", $compose_filename
-		or die sprintf __("Failed to open for writing %s: %s"), $compose_filename, $!;
+		or die sprintf(__("Failed to open for writing %s: %s"), $compose_filename, $!);
 
 
 	my $tpl_sender = $sender || $repoauthor || $repocommitter || '';
@@ -693,10 +693,10 @@ EOT
 	}
 
 	open my $c2, ">", $compose_filename . ".final"
-		or die sprintf __("Failed to open %s.final : %s"), $compose_filename, $!;
+		or die sprintf(__("Failed to open %s.final : %s"), $compose_filename, $!);
 
 	open $c, "<", $compose_filename
-		or die sprintf __("Failed to open %s : %s"), $compose_filename, $!;
+		or die sprintf(__("Failed to open %s : %s"), $compose_filename, $!);
 
 	my $need_8bit_cte = file_has_nonascii($compose_filename);
 	my $in_body = 0;
@@ -772,7 +772,7 @@ sub ask {
 		if ($confirm_only) {
 			# TRANSLATORS: Keep [y/N] as is.
 			my $yesno = $term->readline(
-				sprintf __("Are you sure you want to use <%s> [y/N]? "), $resp);
+				sprintf(__("Are you sure you want to use <%s> [y/N]? "), $resp));
 			if (defined $yesno && $yesno =~ /y/i) {
 				return $resp;
 			}
@@ -851,7 +851,7 @@ my %EXPANDED_ALIASES;
 sub expand_one_alias {
 	my $alias = shift;
 	if ($EXPANDED_ALIASES{$alias}) {
-		die sprintf __("fatal: alias '%s' expands to itself\n"), $alias;
+		die sprintf(__("fatal: alias '%s' expands to itself\n"), $alias);
 	}
 	local $EXPANDED_ALIASES{$alias} = 1;
 	return $aliases{$alias} ? expand_aliases(@{$aliases{$alias}}) : $alias;
@@ -1226,7 +1226,7 @@ sub ssl_verify_params {
 		return (SSL_verify_mode => SSL_VERIFY_PEER(),
 			SSL_ca_file => $smtp_ssl_cert_path);
 	} else {
-		die sprintf __("CA path \"%s\" does not exist"), $smtp_ssl_cert_path;
+		die sprintf(__("CA path \"%s\" does not exist"), $smtp_ssl_cert_path);
 	}
 }
 
@@ -1388,7 +1388,7 @@ Message-Id: $message_id
 					# supported commands
 					$smtp->hello($smtp_domain);
 				} else {
-					die sprintf __("Server does not support STARTTLS! %s"), $smtp->message;
+					die sprintf(__("Server does not support STARTTLS! %s"), $smtp->message);
 				}
 			}
 		}
@@ -1445,7 +1445,7 @@ $subject = $initial_subject;
 $message_num = 0;
 
 foreach my $t (@files) {
-	open my $fh, "<", $t or die sprintf __("can't open file %s"), $t;
+	open my $fh, "<", $t or die sprintf(__("can't open file %s"), $t);
 
 	my $author = undef;
 	my $sauthor = undef;
@@ -1678,7 +1678,7 @@ sub recipients_cmd {
 		       $prefix, $what, $address, $cmd) unless $quiet;
 		}
 	close $fh
-	    or die sprintf __("(%s) failed to close pipe to '%s'"), $prefix, $cmd;
+	    or die sprintf(__("(%s) failed to close pipe to '%s'"), $prefix, $cmd);
 	return @addresses;
 }
 
@@ -1732,10 +1732,10 @@ sub unique_email_list {
 sub validate_patch {
 	my $fn = shift;
 	open(my $fh, '<', $fn)
-		or die sprintf __("unable to open %s: %s\n"), $fn, $!;
+		or die sprintf(__("unable to open %s: %s\n"), $fn, $!);
 	while (my $line = <$fh>) {
 		if (length($line) > 998) {
-			return sprintf __("%s: patch contains a line longer than 998 characters"), $.;
+			return sprintf(__("%s: patch contains a line longer than 998 characters"), $.);
 		}
 	}
 	return;
@@ -1744,7 +1744,7 @@ sub validate_patch {
 sub file_has_nonascii {
 	my $fn = shift;
 	open(my $fh, '<', $fn)
-		or die sprintf __("unable to open %s: %s\n"), $fn, $!;
+		or die sprintf(__("unable to open %s: %s\n"), $fn, $!);
 	while (my $line = <$fh>) {
 		return 1 if $line =~ /[^[:ascii:]]/;
 	}
@@ -1754,7 +1754,7 @@ sub file_has_nonascii {
 sub body_or_subject_has_nonascii {
 	my $fn = shift;
 	open(my $fh, '<', $fn)
-		or die sprintf __("unable to open %s: %s\n"), $fn, $!;
+		or die sprintf(__("unable to open %s: %s\n"), $fn, $!);
 	while (my $line = <$fh>) {
 		last if $line =~ /^$/;
 		return 1 if $line =~ /^Subject.*[^[:ascii:]]/;
---- >8 ----

-- 
2.7.4




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]