Blame internal/translate

Packit 95306a
#!/usr/bin/perl -w
Packit 95306a
Packit 95306a
# This will create the YAML portion of the translation file from
Packit 95306a
# two sources:
Packit 95306a
#    the locale files
Packit 95306a
#    a google translation
Packit 95306a
#
Packit 95306a
# To do this, first translate the file 'dm_translate.html' at
Packit 95306a
#    http://translate.google.com/
Packit 95306a
# and paste the results into the file:
Packit 95306a
#    /tmp/translate
Packit 95306a
#
Packit 95306a
# Next set the locale in the following line, and then run the
Packit 95306a
# program.
Packit 95306a
Packit 95306a
$locale = 'tr';
Packit 95306a
Packit 95306a
##########################################################################
Packit 95306a
Packit 95306a
use DateTime::Locale;
Packit 95306a
use Encode;
Packit 95306a
Packit 95306a
my $obj = DateTime::Locale->load($locale);
Packit 95306a
my $tim = $obj->time_format_medium();
Packit 95306a
Packit 95306a
my @trans = `cat /tmp/translate`;
Packit 95306a
chomp(@trans);
Packit 95306a
Packit 95306a
while (! $trans[0]) {
Packit 95306a
   shift(@trans);
Packit 95306a
}
Packit 95306a
Packit 95306a
##########################################################################
Packit 95306a
Packit 95306a
my($hm,$ms);
Packit 95306a
if ($tim =~ /hh(.)mm/i) {
Packit 95306a
   $hm = '"[' . $1 . ']"';
Packit 95306a
}
Packit 95306a
if ($tim =~ /mm(.)ss/i) {
Packit 95306a
   $ms = '"[' . $1 . ']"';
Packit 95306a
}
Packit 95306a
print_list(1,"ampm",     $obj->am_pm_abbreviated());
Packit 95306a
Packit 95306a
###
Packit 95306a
Packit 95306a
@list = translate(\@trans);
Packit 95306a
print_list(0,"at",\@list);
Packit 95306a
Packit 95306a
###
Packit 95306a
Packit 95306a
print_list(1,"day_abb",  $obj->day_format_abbreviated(),   $obj->day_stand_alone_abbreviated());
Packit 95306a
print_list(1,"day_char", $obj->day_format_narrow(),        $obj->day_stand_alone_narrow());
Packit 95306a
print_list(1,"day_name", $obj->day_format_wide(),          $obj->day_stand_alone_wide());
Packit 95306a
Packit 95306a
###
Packit 95306a
Packit 95306a
@list = translate(\@trans);
Packit 95306a
print_list(0,"each",\@list);
Packit 95306a
Packit 95306a
@list = translate(\@trans);
Packit 95306a
print_list(0,"fields",\@list);
Packit 95306a
Packit 95306a
@list = translate(\@trans);
Packit 95306a
print_list(0,"last",\@list);
Packit 95306a
Packit 95306a
@list = translate(\@trans);
Packit 95306a
print_list(0,"mode",\@list);
Packit 95306a
Packit 95306a
###
Packit 95306a
Packit 95306a
print_list(1,"month_abb", $obj->month_format_abbreviated(), $obj->month_stand_alone_abbreviated());
Packit 95306a
print_list(1,"month_name",$obj->month_format_wide(),        $obj->month_stand_alone_wide());
Packit 95306a
Packit 95306a
###
Packit 95306a
Packit 95306a
@list = translate(\@trans);
Packit 95306a
print_list(0,"nextprev",\@list);
Packit 95306a
Packit 95306a
###
Packit 95306a
Packit 95306a
@list = translate(\@trans);
Packit 95306a
print "nth:\n";
Packit 95306a
foreach my $line (@list) {
Packit 95306a
   $line =~ s/^ \S+ ,\s* \S+ ,\s* \S+ \s+//x;
Packit 95306a
   if ($line =~ / (.*?) ,\s* (.*?) ,\s* (.*) $/x) {
Packit 95306a
      ($nth,$num,$numth) = ($1,$2,$3);
Packit 95306a
      print "  -\n";
Packit 95306a
      print "    - $nth\n";
Packit 95306a
      print "    - ''\n";
Packit 95306a
      print "    - $num\n";
Packit 95306a
      print "    - $numth\n"  if ($num ne $numth);
Packit 95306a
   } else {
Packit 95306a
      print "  -\n";
Packit 95306a
      print "    - $line\n";
Packit 95306a
   }
Packit 95306a
}
Packit 95306a
Packit 95306a
###
Packit 95306a
Packit 95306a
@list = translate(\@trans);
Packit 95306a
print_list(0,"of",\@list);
Packit 95306a
Packit 95306a
@list = translate(\@trans);
Packit 95306a
print_list(0,"offset_date",\@list);
Packit 95306a
Packit 95306a
@list = translate(\@trans);
Packit 95306a
print_list(0,"offset_time",\@list);
Packit 95306a
Packit 95306a
@list = translate(\@trans);
Packit 95306a
print_list(0,"on",\@list);
Packit 95306a
Packit 95306a
###
Packit 95306a
Packit 95306a
print_val ("sephm",$hm);
Packit 95306a
print_val ("sepms",$ms);
Packit 95306a
Packit 95306a
###
Packit 95306a
Packit 95306a
@list = translate(\@trans);
Packit 95306a
print_list(0,"times",\@list);
Packit 95306a
Packit 95306a
@list = translate(\@trans);
Packit 95306a
print_list(0,"when",\@list);
Packit 95306a
Packit 95306a
##########################################################################
Packit 95306a
Packit 95306a
sub translate {
Packit 95306a
   my($trans) = @_;
Packit 95306a
Packit 95306a
   while (! $$trans[0]) {
Packit 95306a
      shift(@$trans);
Packit 95306a
   }
Packit 95306a
Packit 95306a
   my @ret;
Packit 95306a
   while ($$trans[0]) {
Packit 95306a
      push(@ret,shift(@$trans));
Packit 95306a
   }
Packit 95306a
Packit 95306a
   return @ret;
Packit 95306a
}
Packit 95306a
Packit 95306a
sub print_val {
Packit 95306a
   my($label,$val) = @_;
Packit 95306a
   return  if (! $val);
Packit 95306a
Packit 95306a
   print "$label:\n";
Packit 95306a
   print "  - $val\n";
Packit 95306a
}
Packit 95306a
Packit 95306a
sub print_list {
Packit 95306a
   my($utf,$label,$vals,$vals2) = @_;
Packit 95306a
   my @vals;
Packit 95306a
   if (ref($vals)) {
Packit 95306a
      @vals = @$vals
Packit 95306a
   } elsif ($vals) {
Packit 95306a
      @vals = ($vals);
Packit 95306a
   }
Packit 95306a
Packit 95306a
   my @vals2;
Packit 95306a
   if (ref($vals2)) {
Packit 95306a
      @vals2 = @$vals2;
Packit 95306a
   } elsif ($vals2) {
Packit 95306a
      @vals2 = ($vals2);
Packit 95306a
   }
Packit 95306a
Packit 95306a
   print "$label:\n";
Packit 95306a
Packit 95306a
   if (@vals) {
Packit 95306a
      foreach my $val (@vals) {
Packit 95306a
         $val = encode_utf8(lc($val))  if ($utf);
Packit 95306a
         print "  -\n";
Packit 95306a
Packit 95306a
         if ($utf) {
Packit 95306a
            my $ascii = decode_utf8($val);
Packit 95306a
            $ascii    = encode("ascii",$ascii);
Packit 95306a
            if ($ascii ne $val) {
Packit 95306a
               print "    - $ascii\n";
Packit 95306a
            }
Packit 95306a
         }
Packit 95306a
Packit 95306a
         print "    - $val\n";
Packit 95306a
         if (@vals2) {
Packit 95306a
            $val2 = encode_utf8(lc(shift(@vals2)));
Packit 95306a
            if ($val2 ne $val) {
Packit 95306a
               print "    - $val2\n";
Packit 95306a
            }
Packit 95306a
         }
Packit 95306a
      }
Packit 95306a
Packit 95306a
   } else {
Packit 95306a
      print "  TRANSLATE\n";
Packit 95306a
   }
Packit 95306a
}
Packit 95306a
Packit 95306a
# Local Variables:
Packit 95306a
# mode: cperl
Packit 95306a
# indent-tabs-mode: nil
Packit 95306a
# cperl-indent-level: 3
Packit 95306a
# cperl-continued-statement-offset: 2
Packit 95306a
# cperl-continued-brace-offset: 0
Packit 95306a
# cperl-brace-offset: 0
Packit 95306a
# cperl-brace-imaginary-offset: 0
Packit 95306a
# cperl-label-offset: 0
Packit 95306a
# End: