|
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(); |