920709e54f
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
59 lines
1.6 KiB
Perl
Executable file
59 lines
1.6 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
|
|
# Convenience script to update two po files at once
|
|
# This emulates the GNOME "update.pl" script
|
|
|
|
use strict;
|
|
use integer;
|
|
use Getopt::Long;
|
|
|
|
use vars qw( $pot_p );
|
|
|
|
GetOptions(
|
|
'--pot' => \$pot_p,
|
|
) || exit(1);
|
|
|
|
my $lang = $ARGV[0];
|
|
die <<EOF unless $pot_p || $lang =~ /^[a-z]{2}(?:_[A-Z]{2})?$/;
|
|
Usage: $0 LANG
|
|
$0 --pot
|
|
EOF
|
|
|
|
# Remember whether we see the "po" directory; this is used later to guess
|
|
# whether the current directory is translator/po or translator.
|
|
my $chdir_needed_p = 1 unless -d('po');
|
|
|
|
# Go through the theme/module combinations we need to update. There can be
|
|
# more than two; e.g., if we want ['default', 'opac'] too we can put it in
|
|
for my $spec (
|
|
['css', 'opac' ],
|
|
['default', 'intranet']
|
|
) {
|
|
my($theme, $module) = @$spec;
|
|
my $pid = fork;
|
|
die "fork: $!\n" unless defined $pid;
|
|
if (!$pid) {
|
|
|
|
# If current directory is translator/po instead of translator,
|
|
# then go back to the parent
|
|
if ($chdir_needed_p) {
|
|
chdir('..') || die "..: cd: $!\n";
|
|
}
|
|
|
|
# Now call tmpl_process3.pl to do the real work
|
|
#
|
|
# Traditionally, the pot file should be named PACKAGE.pot
|
|
# (for Koha probably something like koha_intranet_css.pot),
|
|
# but this is not Koha's convention.
|
|
#
|
|
my $target = "po/${theme}_${module}" . ($pot_p? ".pot": "_$lang.po");
|
|
rename($target, "$target~") if $pot_p;
|
|
exec('./tmpl_process3.pl', ($pot_p? 'create': 'update'),
|
|
'-i', "../../koha-tmpl/$module-tmpl/$theme/en/",
|
|
'-s', $target, '-r');
|
|
|
|
die "tmpl_process3.pl: exec: $!\n";
|
|
}
|
|
wait;
|
|
}
|
|
|