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 <vascomalme...@sapo.pt>
> ---
>  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

Reply via email to