#!/usr/bin/perl -w # # Script that translates .sgml files using the .po files generated from # the script update_po.pl # # Copyright (C) 2001 Héctor García Álvarez. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of the # License, or (at your option) any later version. # # This script is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this library; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # # # Authors: Héctor García Álvarez ## Loaded modules use File::Basename; use Getopt::Long; my $LANG = $ARGV[0]; my %string; my $texto_original=""; my $texto_traducido=""; if (! $LANG){ print "Usage: update_translation.pl LANGCODE\n"; exit; } chdir ("./C"); ## Reading the po file #print "Loading ".$LANG.".po\n"; #&load_translated_strings ($LANG.".po"); ## Checking for the lang dir if ( !(-d "../".$LANG) ) { mkdir ("../".$LANG, 0755) ; } open FILES, ") { undef %string; s/\n//g; $Original_file = $_ ; s/.\///g; $Translated_file = "../".$LANG."/".$_; # print $Original_file."\n"; # print $Translated_file."\n"; &load_translated_strings ("../".$LANG.".po/".$_.".po"); print "Translating ".$Original_file ; system "rm -f $Translated_file"; &translate_file ($Translated_file , $Original_file); print ".\n"; } close FILES; exit 0; sub load_translated_strings () { my $FILE=$_[0]; open (IN, "<$FILE") || die "I can't find $FILE"; while () { if ( /#: /) { &original; &traduccion; # print "Original \n##".$texto_original."##\n"; # print "Traducción \n##".$texto_traducido."##\n"; $string{$texto_original} = $texto_traducido; } } close (IN); } sub translate_file () { my $OUTFILE=$_[0]; my $INFILE=$_[1]; open OUT, ">>$OUTFILE"; open (IN, "<$INFILE") || die "can't open $INFILE: $!"; while () { my $imprimir = 0; if ( //) ) { while () { $Salida .= $_ ; if ( /-->/ ) { last ; } } } $imprimir = 1; } elsif ( // ) { my $number_of_para = 1; $Salida = $_ ; if ( !(/<\/para>/) ) { while () { if ( // ) { $number_of_para++; } $Salida .= $_ ; if ( /<\/para>/ ) { $number_of_para--; if ( $number_of_para==0) {last ; } } } } $imprimir = 1; } elsif ( // ) { $Salida = $_ ; if ( !(/<\/title>/) ) { while (<IN>) { $Salida .= $_ ; if ( /<\/title>/ ) { last ; } } } $imprimir = 1; } elsif ( /<glossterm>/ ) { $Salida = $_ ; if ( !(/<\/glossterm>/) ) { while (<IN>) { $Salida .= $_ ; if ( /<\/glossterm>/ ) { last ; } } } $imprimir = 1; } elsif ( /<guilabel>/ ) { $Salida = $_ ; if ( !(/<\/guilabel>/) ) { while (<IN>) { $Salida .= $_ ; if ( /<\/guilabel>/ ) { last ; } } } $imprimir = 1; } if ( $imprimir == 0 ) { print (OUT $_); } else { my $impreso=0; foreach my $theMessage (sort keys %string) { if (!($theMessage cmp $Salida)) { my $tag = $string{$Salida} ; if ( $tag cmp "") { $tag =~ s/\\"/"/mg ; print (OUT $tag); } else { print (OUT $Salida); } $impreso=1; } } if ( $impreso == 0) { print "No lo encuentro\n##".$Salida."##\n"; $impreso=0; } $imprimir = 0; } } close IN; close OUT; } #exit 0; sub original () { my $tmp = ""; while (<IN>) { if ( !(/^#: /) ) { if ( /msgid ""/) { s/msgid ""\n//; } if ( /msgstr/) { $tmp =~ s/\\n/\n/sg ; $tmp =~ s/\\t/\t/sg ; $tmp =~ s/\\"/"/sg ; $texto_original = $tmp; last ; } s/msgid "//; s/\s*"// ; s/"\n// ; s/\n// ; $tmp .= $_; } } } sub traduccion () { my $tmp = ""; my $first = 0; if ( /msgstr "/) { if ( /msgstr ""/) { $tmp = ""; $first = 1; } else { $tmp = $_; $tmp =~ s/msgstr "//; $tmp =~ s/"\n// ; } } while (<IN>) { if ( !($_ cmp "\n") ) { $tmp =~ s/\\n/\n/sg ; $tmp =~ s/\\t/\t/sg ; $tmp =~ s/\"/"/sg ; if ( $first == 1 ) { $texto_traducido = "" ; } else { $texto_traducido = $tmp; } last ; } $first = 0; s/msgstr "//; s/"\n// ; s/\s*"// ; $tmp .= $_; } if ( eof IN ) { $tmp =~ s/\\n/\n/sg ; $tmp =~ s/\\t/\t/sg ; $tmp =~ s/\"/"/sg ; $texto_traducido = $tmp; } } e.</a></td><td>lofi</td><td><span title='2005-01-11 06:04:32 +0800'>2005-01-11</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+2</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=cf425e4436f7fe8e30336b5a7a2f851ea8bad0f1'>o Update to development version 2.5.28 patch kit l</a></td><td>lioux</td><td><span title='2005-01-10 14:59:43 +0800'>2005-01-10</span></td><td>2</td><td><span class='deletions'>-4</span>/<span class='insertions'>+4</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=f47770c2499bd16130aff591c5a962fb8f0d931f'>Update to development version 2.5.28 patch kit k</a></td><td>lioux</td><td><span title='2005-01-10 01:29:24 +0800'>2005-01-10</span></td><td>2</td><td><span class='deletions'>-3</span>/<span class='insertions'>+3</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=ab121d131613fdcc78b62e35e07967672c74ff52'>Use a wildcard %%AUTOCONF%% that is replaceable from within the</a></td><td>lioux</td><td><span title='2005-01-10 01:29:07 +0800'>2005-01-10</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=99d353c45659936625a5d50f16efd04d97b3f7c4'>Update references from net/mldonkey to net/mldonkey-devel after</a></td><td>lioux</td><td><span title='2005-01-10 01:01:42 +0800'>2005-01-10</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=f522d894114c012fbbf1531e6fe695fd71aa94b0'>. Fix packing list.</a></td><td>glewis</td><td><span title='2005-01-09 14:10:05 +0800'>2005-01-09</span></td><td>3</td><td><span class='deletions'>-0</span>/<span class='insertions'>+3</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=9f4d134a5028db130c16f9439ed3f02681f00a27'>o After repo copy from net/mldonkey</a></td><td>lioux</td><td><span title='2005-01-09 12:00:39 +0800'>2005-01-09</span></td><td>5</td><td><span class='deletions'>-39</span>/<span class='insertions'>+45</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=2b057ccb70be4ae33d990d2952bf52dc7176cb51'>Update references from net/mldonkey to net/mldonkey-devel after</a></td><td>lioux</td><td><span title='2005-01-09 11:55:16 +0800'>2005-01-09</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=2cd9d8529791ed58545a5eea9811171fb9cc249b'>o Add CONFLICTS on upcoming net/mldonkey{,-core,-gui}-devel repocopied</a></td><td>lioux</td><td><span title='2005-01-09 11:45:31 +0800'>2005-01-09</span></td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+2</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=c7f615e19730ccc38ff99b0cbade6a31c7085f35'>o Update btdownloadgui.py to latest Codeville development code</a></td><td>lioux</td><td><span title='2005-01-09 04:28:03 +0800'>2005-01-09</span></td><td>2</td><td><span class='deletions'>-2</span>/<span class='insertions'>+124</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=4edae36f8257acba7dcce28378231db3829c8c19'>- Add rcNG script</a></td><td>sem</td><td><span title='2005-01-09 02:44:55 +0800'>2005-01-09</span></td><td>4</td><td><span class='deletions'>-1</span>/<span class='insertions'>+71</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=86b5a0c8ab8f249a28f9880f3ec7e9087f2cdf50'>Update to 0.1.2</a></td><td>lioux</td><td><span title='2005-01-09 01:45:41 +0800'>2005-01-09</span></td><td>4</td><td><span class='deletions'>-43</span>/<span class='insertions'>+52</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=388269f19a798a225d8e9cf429b7465953b6914e'>o Fix header files: stdint.h -> inttypes.h</a></td><td>lioux</td><td><span title='2005-01-09 01:35:15 +0800'>2005-01-09</span></td><td>1</td><td><span class='deletions'>-2</span>/<span class='insertions'>+16</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=766f8ad1b0061faf87d87755705df376b38e45ce'>Fix BROKEN on OSVERSION >= 502126: USE_GCC=3.3</a></td><td>lioux</td><td><span title='2005-01-09 00:51:14 +0800'>2005-01-09</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=53182fab3402f3607c544e1d160fc85d9aabd145'>Update to version 0.3.5</a></td><td>markus</td><td><span title='2005-01-08 20:57:22 +0800'>2005-01-08</span></td><td>4</td><td><span class='deletions'>-6</span>/<span class='insertions'>+6</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=7872ab1432660ea7c5246de2b8419baeaff2917c'>o Add a missing exception handler around httplib requests</a></td><td>lioux</td><td><span title='2005-01-07 02:33:11 +0800'>2005-01-07</span></td><td>2</td><td><span class='deletions'>-1</span>/<span class='insertions'>+46</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=2edb607f12a78f08785f2c7c75044df23fbede1f'>o Fix build: qmake is available under LOCALBASE not X11BASE</a></td><td>lioux</td><td><span title='2005-01-05 23:45:41 +0800'>2005-01-05</span></td><td>1</td><td><span class='deletions'>-10</span>/<span class='insertions'>+2</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=8feb43af3950d63198fac562f73b3c2e13386592'>o Fix PLIST</a></td><td>lioux</td><td><span title='2005-01-04 05:11:58 +0800'>2005-01-04</span></td><td>2</td><td><span class='deletions'>-0</span>/<span class='insertions'>+3</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=6ab85c1b23442b88c3ada7d478341998d1aff9cf'>o Fix PLIST</a></td><td>lioux</td><td><span title='2005-01-03 09:59:10 +0800'>2005-01-03</span></td><td>3</td><td><span class='deletions'>-3</span>/<span class='insertions'>+6</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=7843e1f34e1e57433ce26ae02f2bdb4e2aeea165'>Reset bouncing maintainer address:</a></td><td>kris</td><td><span title='2005-01-02 07:50:51 +0800'>2005-01-02</span></td><td>3</td><td><span class='deletions'>-3</span>/<span class='insertions'>+3</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=41aa99b87f1fc1de75ee54ee38b4782ee393704b'>Say hello to the linux mega patch, it consolidates our linux bits a</a></td><td>netchild</td><td><span title='2005-01-01 02:24:10 +0800'>2005-01-01</span></td><td>5</td><td><span class='deletions'>-3</span>/<span class='insertions'>+6</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=f1ad311c5b51459f59afd8f57b6c5a2322ec8de7'>Update to snapshot 20041202</a></td><td>lioux</td><td><span title='2004-12-31 19:51:12 +0800'>2004-12-31</span></td><td>3</td><td><span class='deletions'>-8</span>/<span class='insertions'>+13</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=fa8483ae6927115e2192bba83b7ce9facad7ede3'>o Update to Freenet Stable build 5100 released 20041220 snapshot</a></td><td>lioux</td><td><span title='2004-12-31 19:31:58 +0800'>2004-12-31</span></td><td>4</td><td><span class='deletions'>-8</span>/<span class='insertions'>+8</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=20836ba57494eea8f6346da868c89daa657a4e78'>o Update to <bsd.java.mk> standard 2.0</a></td><td>lioux</td><td><span title='2004-12-31 19:14:19 +0800'>2004-12-31</span></td><td>14</td><td><span class='deletions'>-130</span>/<span class='insertions'>+95</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=cb780cbe7b8829808a538cb013f3535115ab23ac'>o Track BitTorrent's codeville development repository</a></td><td>lioux</td><td><span title='2004-12-29 11:35:40 +0800'>2004-12-29</span></td><td>3</td><td><span class='deletions'>-1</span>/<span class='insertions'>+27</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=70068f126823ebf85d110ec69faaa56f3d73571b'>Chase the new location for update-desktop-database by allowing the command</a></td><td>marcus</td><td><span title='2004-12-29 10:18:31 +0800'>2004-12-29</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=eb09ccf7c4805f2b0adfe51124d4f72c6df8b946'>Update to 1.3.4 which adds support for the compact tracker protocol</a></td><td>marius</td><td><span title='2004-12-28 23:27:54 +0800'>2004-12-28</span></td><td>3</td><td><span class='deletions'>-24</span>/<span class='insertions'>+4</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=dec379151a79e061ee8e7eb6bc485a593546ac99'>- Take care of leftover directory</a></td><td>pav</td><td><span title='2004-12-28 10:31:37 +0800'>2004-12-28</span></td><td>4</td><td><span class='deletions'>-12</span>/<span class='insertions'>+7</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=9cfddf2275b6bb0faf0610b2cdfe08750bf965d4'>Update to version 0.3.4</a></td><td>markus</td><td><span title='2004-12-27 05:33:21 +0800'>2004-12-27</span></td><td>7</td><td><span class='deletions'>-68</span>/<span class='insertions'>+7</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=6f4fe714ce55d287601b89a1ca35ef1645670466'>o Add dependency on dns/py-dnspython which enable a notification</a></td><td>lioux</td><td><span title='2004-12-26 18:48:12 +0800'>2004-12-26</span></td><td>2</td><td><span class='deletions'>-1</span>/<span class='insertions'>+15</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-graphics/commit/net-p2p?id=1bada54b2724762505ebdb9c276d1814940bfa51'>- Fix build with a fresh giFT port.</a></td><td>sem</td><td><span title='2004-12-26 03:55:26 +0800'>2004-12-26</span>