Apache/2.4.7 (Ubuntu) Linux sman1baleendah 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) safemode : OFF MySQL: ON | Perl: ON | cURL: OFF | WGet: ON > / usr / share / language-tools / | server ip : 172.67.156.115 your ip : 172.71.254.235 H O M E |
Filename | /usr/share/language-tools/language2locale |
Size | 1.62 kb |
Permission | rwxr-xr-x |
Owner | root : root |
Create time | 27-Apr-2025 09:54 |
Last modified | 18-Jan-2014 02:14 |
Last accessed | 05-Jul-2025 15:40 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
#!/bin/sh -e
#
# - 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
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
#
# - 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
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