| Lines 82-93
          sub new {
      
      
        Link Here | 
        
          | 82 |     $self->{xgettext}        = `which xgettext`; | 82 |     $self->{xgettext}        = `which xgettext`; | 
        
          | 83 |     $self->{sed}             = `which sed`; | 83 |     $self->{sed}             = `which sed`; | 
        
          | 84 |     $self->{po2json}         = "$Bin/po2json"; | 84 |     $self->{po2json}         = "$Bin/po2json"; | 
            
              |  |  | 85 |     $self->{gzip}            = `which gzip`; | 
            
              | 86 |     $self->{gunzip}          = `which gunzip`; | 
        
          | 85 |     chomp $self->{cp}; | 87 |     chomp $self->{cp}; | 
        
          | 86 |     chomp $self->{msgmerge}; | 88 |     chomp $self->{msgmerge}; | 
        
          | 87 |     chomp $self->{msgfmt}; | 89 |     chomp $self->{msgfmt}; | 
        
          | 88 |     chomp $self->{msginit}; | 90 |     chomp $self->{msginit}; | 
        
          | 89 |     chomp $self->{xgettext}; | 91 |     chomp $self->{xgettext}; | 
        
          | 90 |     chomp $self->{sed}; | 92 |     chomp $self->{sed}; | 
            
              |  |  | 93 |     chomp $self->{gzip}; | 
            
              | 94 |     chomp $self->{gunzip}; | 
        
          | 91 |  | 95 |  | 
        
          | 92 |     unless ($self->{xgettext}) { | 96 |     unless ($self->{xgettext}) { | 
        
          | 93 |         die "Missing 'xgettext' executable. Have you installed the gettext package?\n"; | 97 |         die "Missing 'xgettext' executable. Have you installed the gettext package?\n"; | 
  
    | Lines 766-774
          sub remove_pot {
      
      
        Link Here | 
        
          | 766 |     unlink "$Bin/$self->{domain}-js.pot"; | 770 |     unlink "$Bin/$self->{domain}-js.pot"; | 
        
          | 767 | } | 771 | } | 
        
          | 768 |  | 772 |  | 
            
              |  |  | 773 | sub compress { | 
            
              | 774 |     my ($self, $files) = @_; | 
            
              | 775 |     my @langs = $self->{lang} ? ($self->{lang}) : $self->get_all_langs(); | 
            
              | 776 |     for my $lang ( @langs ) { | 
            
              | 777 |         $self->set_lang( $lang ); | 
            
              | 778 |         opendir( my $dh, $self->{path_po} ); | 
            
              | 779 |         my @files = grep { $_ =~ /^$self->{lang}.*po$/ } readdir $dh; | 
            
              | 780 |         foreach my $file ( @files ) { | 
            
              | 781 |             say "Compress file $file" if $self->{verbose}; | 
            
              | 782 |             system "$self->{gzip} -9 $self->{path_po}/$file"; | 
            
              | 783 |         } | 
            
              | 784 |     } | 
            
              | 785 | } | 
            
              | 786 |  | 
            
              | 787 | sub uncompress { | 
            
              | 788 |     my ($self, $files) = @_; | 
            
              | 789 |     my @langs = $self->{lang} ? ($self->{lang}) : $self->get_all_langs(); | 
            
              | 790 |     for my $lang ( @langs ) { | 
            
              | 791 |         opendir( my $dh, $self->{path_po} ); | 
            
              | 792 |         $self->set_lang( $lang ); | 
            
              | 793 |         my @files = grep { $_ =~ /^$self->{lang}.*po.gz$/ } readdir $dh; | 
            
              | 794 |         foreach my $file ( @files ) { | 
            
              | 795 |             say "Uncompress file $file" if $self->{verbose}; | 
            
              | 796 |             system "$self->{gunzip} $self->{path_po}/$file"; | 
            
              | 797 |         } | 
            
              | 798 |     } | 
            
              | 799 | } | 
            
              | 800 |  | 
        
          | 769 | sub install { | 801 | sub install { | 
        
          | 770 |     my ($self, $files) = @_; | 802 |     my ($self, $files) = @_; | 
        
          | 771 |     return unless $self->{lang}; | 803 |     return unless $self->{lang}; | 
            
              |  |  | 804 |     $self->uncompress(); | 
        
          | 772 |     $self->install_tmpl($files) unless $self->{pref_only}; | 805 |     $self->install_tmpl($files) unless $self->{pref_only}; | 
        
          | 773 |     $self->install_prefs(); | 806 |     $self->install_prefs(); | 
        
          | 774 |     $self->install_messages(); | 807 |     $self->install_messages(); | 
  
    | Lines 779-787
          sub install {
      
      
        Link Here | 
        
          | 779 | sub get_all_langs { | 812 | sub get_all_langs { | 
        
          | 780 |     my $self = shift; | 813 |     my $self = shift; | 
        
          | 781 |     opendir( my $dh, $self->{path_po} ); | 814 |     opendir( my $dh, $self->{path_po} ); | 
          
            
              | 782 |     my @files = grep { $_ =~ /-pref.po$/ } | 815 |     my @files = grep { $_ =~ /-pref.(po|po.gz)$/ } | 
        
          | 783 |         readdir $dh; | 816 |         readdir $dh; | 
          
            
              | 784 |     @files = map { $_ =~ s/-pref.po$//; $_ } @files; | 817 |     @files = map { $_ =~ s/-pref.(po|po.gz)$//; $_ } @files; | 
        
          | 785 | } | 818 | } | 
        
          | 786 |  | 819 |  | 
        
          | 787 |  | 820 |  | 
  
    | Lines 790-795
          sub update {
      
      
        Link Here | 
        
          | 790 |     my @langs = $self->{lang} ? ($self->{lang}) : $self->get_all_langs(); | 823 |     my @langs = $self->{lang} ? ($self->{lang}) : $self->get_all_langs(); | 
        
          | 791 |     for my $lang ( @langs ) { | 824 |     for my $lang ( @langs ) { | 
        
          | 792 |         $self->set_lang( $lang ); | 825 |         $self->set_lang( $lang ); | 
            
              |  |  | 826 |         $self->uncompress(); | 
        
          | 793 |         $self->update_tmpl($files) unless $self->{pref_only}; | 827 |         $self->update_tmpl($files) unless $self->{pref_only}; | 
        
          | 794 |         $self->update_prefs(); | 828 |         $self->update_prefs(); | 
        
          | 795 |         $self->update_messages(); | 829 |         $self->update_messages(); |