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 715-723
sub remove_pot {
Link Here
|
715 |
unlink "$Bin/$self->{domain}.pot"; |
719 |
unlink "$Bin/$self->{domain}.pot"; |
716 |
} |
720 |
} |
717 |
|
721 |
|
|
|
722 |
sub compress { |
723 |
my ($self, $files) = @_; |
724 |
my @langs = $self->{lang} ? ($self->{lang}) : $self->get_all_langs(); |
725 |
for my $lang ( @langs ) { |
726 |
$self->set_lang( $lang ); |
727 |
opendir( my $dh, $self->{path_po} ); |
728 |
my @files = grep { $_ =~ /^$self->{lang}.*po$/ } readdir $dh; |
729 |
foreach my $file ( @files ) { |
730 |
say "Compress file $file" if $self->{verbose}; |
731 |
system "$self->{gzip} -9 $self->{path_po}/$file"; |
732 |
} |
733 |
} |
734 |
} |
735 |
|
736 |
sub uncompress { |
737 |
my ($self, $files) = @_; |
738 |
my @langs = $self->{lang} ? ($self->{lang}) : $self->get_all_langs(); |
739 |
for my $lang ( @langs ) { |
740 |
opendir( my $dh, $self->{path_po} ); |
741 |
$self->set_lang( $lang ); |
742 |
my @files = grep { $_ =~ /^$self->{lang}.*po.gz$/ } readdir $dh; |
743 |
foreach my $file ( @files ) { |
744 |
say "Uncompress file $file" if $self->{verbose}; |
745 |
system "$self->{gunzip} $self->{path_po}/$file"; |
746 |
} |
747 |
} |
748 |
} |
749 |
|
718 |
sub install { |
750 |
sub install { |
719 |
my ($self, $files) = @_; |
751 |
my ($self, $files) = @_; |
720 |
return unless $self->{lang}; |
752 |
return unless $self->{lang}; |
|
|
753 |
$self->uncompress(); |
721 |
$self->install_tmpl($files) unless $self->{pref_only}; |
754 |
$self->install_tmpl($files) unless $self->{pref_only}; |
722 |
$self->install_prefs(); |
755 |
$self->install_prefs(); |
723 |
$self->install_messages(); |
756 |
$self->install_messages(); |
Lines 728-736
sub install {
Link Here
|
728 |
sub get_all_langs { |
761 |
sub get_all_langs { |
729 |
my $self = shift; |
762 |
my $self = shift; |
730 |
opendir( my $dh, $self->{path_po} ); |
763 |
opendir( my $dh, $self->{path_po} ); |
731 |
my @files = grep { $_ =~ /-pref.po$/ } |
764 |
my @files = grep { $_ =~ /-pref.(po|po.gz)$/ } |
732 |
readdir $dh; |
765 |
readdir $dh; |
733 |
@files = map { $_ =~ s/-pref.po$//; $_ } @files; |
766 |
@files = map { $_ =~ s/-pref.(po|po.gz)$//; $_ } @files; |
734 |
} |
767 |
} |
735 |
|
768 |
|
736 |
|
769 |
|
Lines 739-744
sub update {
Link Here
|
739 |
my @langs = $self->{lang} ? ($self->{lang}) : $self->get_all_langs(); |
772 |
my @langs = $self->{lang} ? ($self->{lang}) : $self->get_all_langs(); |
740 |
for my $lang ( @langs ) { |
773 |
for my $lang ( @langs ) { |
741 |
$self->set_lang( $lang ); |
774 |
$self->set_lang( $lang ); |
|
|
775 |
$self->uncompress(); |
742 |
$self->update_tmpl($files) unless $self->{pref_only}; |
776 |
$self->update_tmpl($files) unless $self->{pref_only}; |
743 |
$self->update_prefs(); |
777 |
$self->update_prefs(); |
744 |
$self->update_messages(); |
778 |
$self->update_messages(); |