]> git.deb.at Git - deb/packages.git/blob - bin/translate_static_page
Enable zh-tw
[deb/packages.git] / bin / translate_static_page
1 #!/usr/bin/perl
2
3 use strict;
4 use warnings;
5
6 use POSIX;
7 use File::Basename;
8
9 use lib './lib';
10
11 use Packages::CommonCode qw(:all);
12 use Packages::Config qw( $TOPDIR $DBDIR @ARCHIVES @SUITES @LANGUAGES );
13 use Packages::Template;
14 use Packages::I18N::Locale;
15 &Packages::Config::init( './' );
16
17 my $template = new Packages::Template( "$TOPDIR/templates", 'html');
18
19 if( @ARGV % 2 ){
20     die "usage: translate_static_page [[template outputfile]...]\n";
21 }
22 my %pages = @ARGV;
23 print "translate static pages ...\n";
24 while( my ($tmpl, $output) = each %pages ) {
25     my $outdir = dirname($output);
26     my $outfile = basename($output);
27     mkdirp ( $outdir );
28     foreach my $lang (@LANGUAGES) {
29         my $charset = 'UTF-8';
30         my $cat = Packages::I18N::Locale->get_handle($lang)
31             or die "get_handle failed for $lang";
32         print "writing $outfile (lang=$lang)...\n";
33
34         my %content = ( po_lang => $lang, ddtp_lang => $lang,
35                         charset => $charset, cat => $cat,
36                         used_langs => \@LANGUAGES );
37
38         $template->page( $tmpl, \%content,
39                          "$TOPDIR/$output.$lang.html.new");
40         activate( "$TOPDIR/$output.$lang.html" );
41     }
42 }