sub new {
- my ($class, $lang, $pref_only) = @_;
+ my ($class, $lang, $pref_only, $verbose) = @_;
my $self = { };
'/prog/en/modules/admin/preferences';
set_lang( $self, $lang ) if $lang;
$self->{pref_only} = $pref_only;
- $self->{translator_path} = $Bin;
- $self->{path_po} = $self->{translator_path} . "/po";
+ $self->{verbose} = $verbose;
+ $self->{process} = "$Bin/tmpl_process3.pl " . ($verbose ? '' : '-q');
+ $self->{path_po} = "$Bin/po";
$self->{po} = {};
# Get all .pref file names
my $self = shift;
# Write .po entries into a file put in Koha standard po directory
Locale::PO->save_file_fromhash( $self->po_filename, $self->{po} );
- print "Saved in file: ", $self->po_filename, "\n";
+ print "Saved in file: ", $self->po_filename, "\n" if $self->{verbose};
}
sub update_prefs {
my $self = shift;
print "Update '", $self->{lang},
- "' preferences .po file from 'en' .pref files\n";
+ "' preferences .po file from 'en' .pref files\n" if $self->{verbose};
$self->get_po_merged_with_en();
$self->save_po();
}
$pref->{$tab} = $ntab;
}
my $file_trans = $self->{po_path_lang} . "/$file";
- print "Write $file\n";
+ print "Write $file\n" if $self->{verbose};
open my $fh, ">", $file_trans;
print $fh Dump($pref);
}
sub install_tmpl {
my $self = shift;
-
- print
- "Install templates\n";
+ print "Install templates\n" if $self->{verbose};
while ( my ($interface, $tmpl) = each %{$self->{interface}} ) {
print
" Install templates '$interface\n",
" From: $tmpl->{dir}/en/\n",
" To : $tmpl->{dir}/$self->{lang}\n",
- " With: $self->{path_po}/$self->{lang}$tmpl->{suffix}\n";
+ " With: $self->{path_po}/$self->{lang}$tmpl->{suffix}\n"
+ if $self->{verbose};
my $lang_dir = "$tmpl->{dir}/$self->{lang}";
mkdir $lang_dir unless -d $lang_dir;
system
- "$self->{translator_path}/tmpl_process3.pl install " .
+ "$self->{process} install " .
"-i $tmpl->{dir}/en/ " .
"-o $tmpl->{dir}/$self->{lang} ".
"-s $self->{path_po}/$self->{lang}$tmpl->{suffix} -r"
sub update_tmpl {
my $self = shift;
- print
- "Update templates\n";
+ print "Update templates\n" if $self->{verbose};
while ( my ($interface, $tmpl) = each %{$self->{interface}} ) {
print
" Update templates '$interface'\n",
" From: $tmpl->{dir}/en/\n",
- " To : $self->{path_po}/$self->{lang}$tmpl->{suffix}\n";
+ " To : $self->{path_po}/$self->{lang}$tmpl->{suffix}\n"
+ if $self->{verbose};
my $lang_dir = "$tmpl->{dir}/$self->{lang}";
mkdir $lang_dir unless -d $lang_dir;
system
- "$self->{translator_path}/tmpl_process3.pl update " .
+ "$self->{process} update " .
"-i $tmpl->{dir}/en/ " .
"-s $self->{path_po}/$self->{lang}$tmpl->{suffix} -r"
}
sub create_tmpl {
my $self = shift;
- print
- "Create templates\n";
+ print "Create templates\n" if $self->{verbose};
while ( my ($interface, $tmpl) = each %{$self->{interface}} ) {
print
" Create templates .po files for '$interface'\n",
" From: $tmpl->{dir}/en/\n",
- " To : $self->{path_po}/$self->{lang}$tmpl->{suffix}\n";
+ " To : $self->{path_po}/$self->{lang}$tmpl->{suffix}\n"
+ if $self->{verbose};
system
- "$self->{translator_path}/tmpl_process3.pl create " .
+ "$self->{process} create " .
"-i $tmpl->{dir}/en/ " .
"-s $self->{path_po}/$self->{lang}$tmpl->{suffix} -r"
}
die "$str_file: PO file is corrupted, or not a PO file\n" unless defined $href->{'""'};
$charset_out = TmplTokenizer::charset_canon $2 if $href->{'""'}->msgstr =~ /\bcharset=(["']?)([^;\s"'\\]+)\1/;
$charset_in = $charset_out;
- warn "Charset in/out: ".$charset_out;
# for my $msgid (keys %$href) {
# if ($msgid =~ /\bcharset=(["']?)([^;\s"'\\]+)\1/) {
# my $candidate = TmplTokenizer::charset_canon $2;
close INPUT;
close OUTPUT;
}
- $st = system('msgmerge', '-U', '-s', $str_file, $tmpfile2);
+ $st = system("msgmerge -U ".($quiet?'-q':'')." -s $str_file $tmpfile2");
} else {
error_normal "Text extraction failed: $xgettext: $!\n", undef;
error_additional "Will not run msgmerge\n", undef;
# Merge the temporary "pot file" with the specified po file ($str_file)
# FIXME: msgmerge(1) is a Unix dependency
# FIXME: need to check the return value
- $st = system('msgmerge', '-U', '-s', $str_file, $tmpfile2);
+ $st = system("msgmerge -U ".($quiet?'-q':'')." -s $str_file $tmpfile2");
} else {
error_normal "Text extraction failed: $xgettext: $!\n", undef;
error_additional "Will not run msgmerge\n", undef;