Lines 81-92
sub new {
Link Here
|
81 |
$self->{msginit} = `which msginit`; |
81 |
$self->{msginit} = `which msginit`; |
82 |
$self->{xgettext} = `which xgettext`; |
82 |
$self->{xgettext} = `which xgettext`; |
83 |
$self->{sed} = `which sed`; |
83 |
$self->{sed} = `which sed`; |
|
|
84 |
$self->{gzip} = `which gzip`; |
85 |
$self->{gunzip} = `which gunzip`; |
84 |
chomp $self->{cp}; |
86 |
chomp $self->{cp}; |
85 |
chomp $self->{msgmerge}; |
87 |
chomp $self->{msgmerge}; |
86 |
chomp $self->{msgfmt}; |
88 |
chomp $self->{msgfmt}; |
87 |
chomp $self->{msginit}; |
89 |
chomp $self->{msginit}; |
88 |
chomp $self->{xgettext}; |
90 |
chomp $self->{xgettext}; |
89 |
chomp $self->{sed}; |
91 |
chomp $self->{sed}; |
|
|
92 |
chomp $self->{gzip}; |
93 |
chomp $self->{gunzip}; |
90 |
|
94 |
|
91 |
unless ($self->{xgettext}) { |
95 |
unless ($self->{xgettext}) { |
92 |
die "Missing 'xgettext' executable. Have you installed the gettext package?\n"; |
96 |
die "Missing 'xgettext' executable. Have you installed the gettext package?\n"; |
Lines 716-724
sub remove_pot {
Link Here
|
716 |
unlink "$Bin/$self->{domain}.pot"; |
720 |
unlink "$Bin/$self->{domain}.pot"; |
717 |
} |
721 |
} |
718 |
|
722 |
|
|
|
723 |
sub compress { |
724 |
my ($self, $files) = @_; |
725 |
my @langs = $self->{lang} ? ($self->{lang}) : $self->get_all_langs(); |
726 |
for my $lang ( @langs ) { |
727 |
$self->set_lang( $lang ); |
728 |
opendir( my $dh, $self->{path_po} ); |
729 |
my @files = grep { $_ =~ /^$self->{lang}.*po$/ } readdir $dh; |
730 |
foreach my $file ( @files ) { |
731 |
say "Compress file $file" if $self->{verbose}; |
732 |
system "$self->{gzip} -9 $self->{path_po}/$file"; |
733 |
} |
734 |
} |
735 |
} |
736 |
|
737 |
sub uncompress { |
738 |
my ($self, $files) = @_; |
739 |
my @langs = $self->{lang} ? ($self->{lang}) : $self->get_all_langs(); |
740 |
for my $lang ( @langs ) { |
741 |
opendir( my $dh, $self->{path_po} ); |
742 |
$self->set_lang( $lang ); |
743 |
my @files = grep { $_ =~ /^$self->{lang}.*po.gz$/ } readdir $dh; |
744 |
foreach my $file ( @files ) { |
745 |
say "Uncompress file $file" if $self->{verbose}; |
746 |
system "$self->{gunzip} $self->{path_po}/$file"; |
747 |
} |
748 |
} |
749 |
} |
750 |
|
719 |
sub install { |
751 |
sub install { |
720 |
my ($self, $files) = @_; |
752 |
my ($self, $files) = @_; |
721 |
return unless $self->{lang}; |
753 |
return unless $self->{lang}; |
|
|
754 |
$self->uncompress(); |
722 |
$self->install_tmpl($files) unless $self->{pref_only}; |
755 |
$self->install_tmpl($files) unless $self->{pref_only}; |
723 |
$self->install_prefs(); |
756 |
$self->install_prefs(); |
724 |
$self->install_messages(); |
757 |
$self->install_messages(); |
Lines 729-737
sub install {
Link Here
|
729 |
sub get_all_langs { |
762 |
sub get_all_langs { |
730 |
my $self = shift; |
763 |
my $self = shift; |
731 |
opendir( my $dh, $self->{path_po} ); |
764 |
opendir( my $dh, $self->{path_po} ); |
732 |
my @files = grep { $_ =~ /-pref.po$/ } |
765 |
my @files = grep { $_ =~ /-pref.(po|po.gz)$/ } |
733 |
readdir $dh; |
766 |
readdir $dh; |
734 |
@files = map { $_ =~ s/-pref.po$//; $_ } @files; |
767 |
@files = map { $_ =~ s/-pref.(po|po.gz)$//; $_ } @files; |
735 |
} |
768 |
} |
736 |
|
769 |
|
737 |
|
770 |
|
Lines 740-745
sub update {
Link Here
|
740 |
my @langs = $self->{lang} ? ($self->{lang}) : $self->get_all_langs(); |
773 |
my @langs = $self->{lang} ? ($self->{lang}) : $self->get_all_langs(); |
741 |
for my $lang ( @langs ) { |
774 |
for my $lang ( @langs ) { |
742 |
$self->set_lang( $lang ); |
775 |
$self->set_lang( $lang ); |
|
|
776 |
$self->uncompress(); |
743 |
$self->update_tmpl($files) unless $self->{pref_only}; |
777 |
$self->update_tmpl($files) unless $self->{pref_only}; |
744 |
$self->update_prefs(); |
778 |
$self->update_prefs(); |
745 |
$self->update_messages(); |
779 |
$self->update_messages(); |