Skip to content

Commit c80a63a

Browse files
committed
Extract-translators fix enumeration of translators and writing to po file.
1 parent b04726b commit c80a63a

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

util/extract-translators.pl

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
use strict;
22
use warnings;
33
use utf8;
4+
use Data::Dumper;
45

56
my $start = 0;
67
my $credits = 0;
7-
my $extract_re = qr{^# ([-[:alpha:]\d_., ]+)(?: [(<].*[)>])*, ([-\d, ]+)};
8+
my $extract_re = qr{^# ([-[:alpha:]\d_., ]+)(?: [(<].*[)>])*,? ([-\d, ]+).?$};
89
my $credits_re = qr(^msgid "translator-credits"$);
910
my %translators = ();
1011
my $infile = shift;
@@ -16,16 +17,14 @@
1617
if ($_ =~ $extract_re && $start < 1) {
1718
$start++;
1819
}
19-
if ($start == 1 && $_ !~ $extract_re) {
20-
$start++;
21-
}
2220

2321
if ($start == 1) {
2422
my $input = $_;
2523
utf8::decode($input);
2624
$input =~ $extract_re;
2725
unless ($1) {
2826
print $OUTFILE $_;
27+
$start++;
2928
next;
3029
}
3130
my $name = $1;
@@ -38,17 +37,18 @@
3837
}
3938
}
4039
if ($_ =~ $credits_re && %translators) {
41-
my $translators_str;
4240
$credits++;
4341
print $OUTFILE $_;
4442
print $OUTFILE "msgstr \"\"\n";
43+
my @translator_list = ();
4544
foreach my $translator (sort(keys(%translators))) {
4645
my $dates = join(", ", sort(@{$translators{$translator}}));
47-
$translators_str .= "$translator: $dates; ";
46+
push @translator_list, "$translator: $dates";
4847
}
48+
my $translators_str = join("; ", @translator_list);
4949
if (defined $translators_str) {
50-
print $OUTFILE "\"$_;\"\n" for map substr($_, 0, 72), $translators_str =~ m[(.{1,72})(?:; |$)]g;
51-
print $OUTFILE "\"\n\n";
50+
print $OUTFILE "\"$_\"\n" for map substr($_, 0, 72), $translators_str =~ m[(.{1,72})(?:; |$)]g;
51+
print $OUTFILE "\n";
5252
}
5353
}
5454
$credits++ if ($credits && substr($_, 0, 1) eq "#");

0 commit comments

Comments
 (0)