W dniu 31.08.2016 o 14:31, Vasco Almeida pisze: > Mark warnings, errors and other messages for translation. > Which discovered a few places with questionable code... (though there is one place with bad handling of translation) > Signed-off-by: Vasco Almeida <vascomalmeida@xxxxxxx> > --- > git-send-email.perl | 36 ++++++++++++++++++------------------ > 1 file changed, 18 insertions(+), 18 deletions(-) > > diff --git a/git-send-email.perl b/git-send-email.perl > index 2521832..e7f712e 100755 > --- a/git-send-email.perl > +++ b/git-send-email.perl > @@ -118,20 +118,20 @@ sub format_2822_time { > my $localmin = $localtm[1] + $localtm[2] * 60; > my $gmtmin = $gmttm[1] + $gmttm[2] * 60; > if ($localtm[0] != $gmttm[0]) { > - die "local zone differs from GMT by a non-minute interval\n"; > + die __("local zone differs from GMT by a non-minute interval\n"); > } > if ((($gmttm[6] + 1) % 7) == $localtm[6]) { > $localmin += 1440; > } elsif ((($gmttm[6] - 1) % 7) == $localtm[6]) { > $localmin -= 1440; > } elsif ($gmttm[6] != $localtm[6]) { > - die "local time offset greater than or equal to 24 hours\n"; > + die __("local time offset greater than or equal to 24 hours\n"); As one can see that this is the same message as below, so I wondered why the same test is repeated... But it is even worse. This test is first, wrongly described: it checks that the day of week is the same in local timezone and in UTC / GMT. But second, it is WRONG! For example if UTC time is just before midnight, then any positive timezone has different day of week (next day); if UTC is just before midnight, then any negative timezone has different day of week (previous day). $ LC_ALL=C TZ=US/Hawaii date --date="2016-10-01 01:00 UTC" Fri Sep 30 15:00:00 HST 2016 $ LC_ALL=C TZ=US/Hawaii date --date="2016-10-01 01:00 UTC" --utc Sat Oct 1 01:00:00 UTC 2016 > } > my $offset = $localmin - $gmtmin; > my $offhour = $offset / 60; > my $offmin = abs($offset % 60); > if (abs($offhour) >= 24) { > - die ("local time offset greater than or equal to 24 hours\n"); > + die __("local time offset greater than or equal to 24 hours\n"); This is good test. > } > > return sprintf("%s, %2d %s %d %02d:%02d:%02d %s%02d%02d", > @@ -199,13 +199,13 @@ sub do_edit { > map { > system('sh', '-c', $editor.' "$@"', $editor, $_); > if (($? & 127) || ($? >> 8)) { > - die("the editor exited uncleanly, aborting everything"); > + die(__("the editor exited uncleanly, aborting everything")); > } > } @_; > } else { > system('sh', '-c', $editor.' "$@"', $editor, @_); > if (($? & 127) || ($? >> 8)) { > - die("the editor exited uncleanly, aborting everything"); > + die(__("the editor exited uncleanly, aborting everything")); > } > } Here we see some unnecessary code duplication, and thus message duplication. > @@ -1410,7 +1410,7 @@ Message-Id: $message_id > $smtp->code =~ /250|200/ or die "Failed to send $subject\n".$smtp->message; > } > if ($quiet) { > - printf (($dry_run ? "Dry-" : "")."Sent %s\n", $subject); > + printf (($dry_run ? "Dry-" : ""). __("Sent %s\n"), $subject); > } else { > print (($dry_run ? "Dry-" : ""). __("OK. Log says:\n")); > if (!file_name_is_absolute($smtp_server)) { You would want to translate Dry-Sent and Dry-OK. -- Jakub Narębski