Changeset 5304


Ignore:
Timestamp:
06/18/09 07:05:08 (3 years ago)
Author:
szabgab
Message:

refactoring the mo creating code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Padre/dev.pl

    r5166 r5304  
    2323} 
    2424 
    25 my $msgfmt; 
    26 if ( $^O =~ /(linux|bsd)/ ) { 
    27     $msgfmt = scalar File::Which::which('msgfmt'); 
    28 } elsif ( $^O eq 'MSWin32' ) { 
    29     eval { 
    30         require File::Glob::Windows; 
    31     }; 
    32     if( $@ ) { 
    33         die("Default glob() will misinterpret spaces in folder names as seperators, install File::Glob::Windows to fix this behavior!"); 
    34     } 
    35     my $p = "C:/Program Files/GnuWin32/bin/msgfmt.exe"; 
    36     if ( -e $p ) { 
    37         $msgfmt = $p; 
    38     } else { 
    39         $msgfmt = scalar File::Which::which('msgfmt'); 
    40     } 
    41 } 
     25convert_po_to_mo($FindBin::Bin); 
    4226 
    43 if ( $msgfmt ) { 
    44     convert_po_to_mo($FindBin::Bin); 
    45 } 
    4627 
    4728my $perl = Probe::Perl->find_perl_interpreter; 
     
    7657        my @plugins = grep { $_ =~ /^Padre-Plugin-/ } readdir $dh; 
    7758        foreach my $plugin ( @plugins ) { 
    78             if( $msgfmt ) { 
    79                 convert_po_to_mo("$dir/$plugin"); 
    80             } 
     59            convert_po_to_mo("$dir/$plugin"); 
    8160            push @cmd, "-I$dir/$plugin/lib"; 
    8261        } 
     
    9473 
    9574sub convert_po_to_mo { 
    96     my $path = shift; 
     75    my $path   = shift; 
     76    my $msgfmt = get_msgfmt(); 
     77    return if not $msgfmt; 
     78 
    9779    my @mo; 
    9880    if ( $^O eq 'MSWin32' ) { 
     
    11395    } 
    11496} 
     97 
     98sub get_msgfmt { 
     99 
     100    my $msgfmt; 
     101    if ( $^O =~ /(linux|bsd)/ ) { 
     102        $msgfmt = scalar File::Which::which('msgfmt'); 
     103    } elsif ( $^O eq 'MSWin32' ) { 
     104        eval { 
     105            require File::Glob::Windows; 
     106        }; 
     107        if( $@ ) { 
     108            die("Default glob() will misinterpret spaces in folder names as seperators, install File::Glob::Windows to fix this behavior!"); 
     109        } 
     110        my $p = "C:/Program Files/GnuWin32/bin/msgfmt.exe"; 
     111        if ( -e $p ) { 
     112            $msgfmt = $p; 
     113        } else { 
     114            $msgfmt = scalar File::Which::which('msgfmt'); 
     115        } 
     116    } 
     117     
     118    return $msgfmt; 
     119} 
Note: See TracChangeset for help on using the changeset viewer.