Diff for /loncom/localize/localize/synch.pl between versions 1.8 and 1.9

version 1.8, 2008/07/10 19:10:26 version 1.9, 2009/01/13 12:31:13
Line 1 Line 1
 #$numbered=1;  #!/usr/bin/perl
   
   use strict;
   use warnings;
   
   # ----------------------------------------------------------------
   # Configuration
   
   #  Add a ascending number after each new translation
   # 1: add, 0: don't add
   my $numbered=0;
   
   # Add a comment after each new translation.
   # This comment contains a combination of translations which are build by using already existing translations.
   # 1: add, 0: don't add
   my $helper=0; 
   
   
   # ----------------------------------------------------------------
   # ----- Sub Routines -----
   
 sub readlexicon {  sub readlexicon {
     my $fn=shift;      my $fn=shift;
Line 17  sub readlexicon { Line 36  sub readlexicon {
   
 sub readnew {  sub readnew {
     open(IN,'newphrases.txt');      open(IN,'newphrases.txt');
     my %lexicon='';      my %lexicon=();
     while (my $line=<IN>) {      while (my $line=<IN>) {
  chomp($line);   chomp($line);
  $lexicon{$line}=$line;   $lexicon{$line}=$line;
Line 26  sub readnew { Line 45  sub readnew {
     return %lexicon;      return %lexicon;
 }  }
   
 # ==== Main Program  
   
 my %master=&readnew();  # ----------------------------------------------------------------
   # ----- Main Program -----
   
   my %master=&readnew();
   my $i;
   my $num;
   my $dlm;
   my $comment;
     
 foreach (<*.pm>) {  foreach (<*.pm>) {
     print "Reading: ".$_."\n";      print "Reading: ".$_."\n";
     %master=(%master,&readlexicon($_));      %master=(%master,&readlexicon($_));
 }  }
   
 # Remove obsolete from synch  # Remove obsolete from synch
   # Ignore all phrases in removephrases.txt for current synchronization
 open(IN,'removephrases.txt');  open(IN,'removephrases.txt');
 while (my $line=<IN>) {  while (my $line=<IN>) {
     chomp($line);      chomp($line);
Line 64  foreach my $fn (<*.pm>) { Line 89  foreach my $fn (<*.pm>) {
  foreach my $key (sort keys %master) {   foreach my $key (sort keys %master) {
     unless ($key) { next; }      unless ($key) { next; }
     unless ($lang{$key}) {      unless ($lang{$key}) {
  my $comment='';                  if ($helper) {
  my $copytrans=$key;      $comment='';
                 # Create comment based on already existing translations:      my $copytrans=$key;
  foreach (reverse sort keys %lang) {                      # Create comment based on already existing translations:
     $copytrans=~s/\Q$_\E/$lang{$_}/gsi; # \Q \E: escape meta characters      foreach (reverse sort keys %lang) {
  }          $copytrans=~s/\Q$_\E/$lang{$_}/gsi; # \Q \E: escape meta characters
  if (lc($copytrans) ne lc($key)) {      }
     $comment='# '.$copytrans;      if (lc($copytrans) ne lc($key)) {
           $comment='# '.$copytrans;
                       }
                 }                  }
  if ($numbered) {   if ($numbered) {
     $i++;      $i++;
Line 80  foreach my $fn (<*.pm>) { Line 107  foreach my $fn (<*.pm>) {
     $num='';      $num='';
  }   }
  if ($key=~/\'/) {   if ($key=~/\'/) {
     $del='"';      $dlm='"';
  } else {   } else {
     $del="'";      $dlm="'";
  }   }
  print OUT (<<ENDNEW);   if ($helper) {
    $del$key$del      print OUT (<<ENDNEW);
 => $del$key$num$del,     $dlm$key$dlm
   => $dlm$key$num$dlm,
 $comment  $comment
   
 ENDNEW  ENDNEW
    } else {
       print OUT (<<ENDNEW);
      $dlm$key$dlm
   => $dlm$key$num$dlm,
   
   ENDNEW
    }
     }      }
  }   }
   

Removed from v.1.8  
changed lines
  Added in v.1.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>