Index: /applications/editors/josm/i18n/i18n.pl
===================================================================
--- /applications/editors/josm/i18n/i18n.pl	(revision 36452)
+++ /applications/editors/josm/i18n/i18n.pl	(revision 36453)
@@ -283,20 +283,20 @@
   }
   # Test two - check if there are {..} which should not be
-  my @fmt = ();
+  my %fmt = ();
   my $fmt;
   my $fmte;
   my $fmte1 = "";
   my $trt = $tr; $trt =~ s/'[{}]'//g;
-  while($trt =~ /\{(.*?)\}/g) {push @fmt,$1};
-  while($trt =~ /\%([a-z]+)\%/g) {push @fmt,$1};
-  $fmt = join("_", sort @fmt); @fmt = ();
+  while($trt =~ /\{(.*?)\}/g) {$fmt{$1}++;}
+  while($trt =~ /\%([a-z]+)\%/g) {$fmt{$1}++;}
+  $fmt = join("_", sort keys %fmt); %fmt = ();
   my $ent = $en; $ent =~ s/'[{}]'//g;
-  while($ent =~ /\{(.*?)\}/g) {push @fmt,$1};
-  while($ent =~ /\%([a-z]+)\%/g) {push @fmt,$1};
-  $fmte = join("_", sort @fmt); @fmt = ();
+  while($ent =~ /\{(.*?)\}/g) {$fmt{$1}++};
+  while($ent =~ /\%([a-z]+)\%/g) {$fmt{$1}++;}
+  $fmte = join("_", sort keys %fmt); %fmt = ();
   if($en1)
   {
      my $en1t = $en1; $en1t =~ s/'[{}]'//g;
-     while($en1t =~ /\{(.*?)\}/g) {push @fmt,$1}; $fmte1 = join("_", sort @fmt);
+     while($en1t =~ /\{(.*?)\}/g) {$fmt{$1}++;} $fmte1 = join("_", sort keys %fmt);
   }
   if($fmt ne $fmte && $fmt ne $fmte1)
