my $msgfmt = $ENV{'MSGFMT'} || 'msgfmt';
# order as in the GNU gettext manual
-my %plural_rules = {
+my %plural_rules = (
'ja' => 'nplurals=1; plural=0;',
'en' => 'nplurals=2; plural=n != 1;',
'fr' => 'nplurals=2; plural=n>1;',
'cs' => 'nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;',
'pl' => 'nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;',
'sl' => 'nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;',
-};
+);
-my %plural_forms = {
+my %plural_forms = (
'af' => 'en',
'cs' => 'cs',
'de' => 'en',
'tr' => 'ja',
'zh_CN' => 'ja',
'zh_TW' => 'ja',
-};
+);
my @all_languages;
if (! -f "$dirname/po/$lang.po.mrg" && -f "$dirname/po/$lang.po.new") {
my $pe = $plural_rules{$plural_forms{$lang}};
+ $pe =~ s/\&/\\\&/g;
system("cat $dirname/po/$lang.po.new | sed '/Plural-Forms:/s/nplurals=INTEGER; plural=EXPRESSION;/$pe/' >$outdir/$catalogname-$lang.po");
}