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