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 |
|
} |
} |
} |
} |
} |
|
|