D7net Mini Sh3LL v1
Current File : //media/../../usr/share/doc/mount/../patch/../libwebp6/../../hal/../locales/remove-language-pack |
#!/bin/sh -e
if [ -z "$1" ]; then
echo "Usage: $0 <language code> <class> [<version>]"
exit 0
fi
# Copied from locale-gen
normalize_locale() {
# Insert a leading x in case $1 begins with a dash
this_locale=x$1
charset=
if echo $this_locale | LC_ALL=C grep '\.' > /dev/null 2>&1; then
charset=$(echo $this_locale | sed -e 's/^x//' -e 's/.*\(\.[^@]*\).*/\1/' | LC_ALL=C tr '[A-Z]' '[a-z]' | LC_ALL=C sed -e 's/[^a-z0-9.]//g')
fi
modifier=
if echo $this_locale | LC_ALL=C grep '@' > /dev/null 2>&1; then
modifier=$(echo $this_locale | sed -e 's/^x//' -e 's/.*\(@[^.]*\).*/\1/')
fi
main=$(echo $this_locale | sed -e 's/^x//' -e 's/[.@].*//')
echo $main$charset$modifier
}
get_supported_local_normalized() {
[ -e /etc/locale.gen ] || return 0
sort -u /etc/locale.gen | while read locale charset; do
case $locale in
\#*) continue ;;
"") continue ;;
esac
normalize_locale "$locale"
done
}
remove_locale() {
this_locale=$(normalize_locale "$1")
if ! echo "$supported_local_normalized" | fgrep -qx "$this_locale"; then
if [ -e /usr/lib/locale/locale-archive ]; then
localedef --delete-from-archive "$this_locale"
fi
fi
}
# remove binary locales
# do nothing for gnome/kde
if [ -z "$2" ]; then
# do not remove locales if we merely remove language-support-* without
# removing language-pack-*
if [ ! -e /var/lib/locales/supported.d/$1 ]; then
supported_local_normalized="$(get_supported_local_normalized)"
if [ "$1" = 'zh-hans' ]; then
remove_locale zh_CN.utf8
remove_locale zh_SG.utf8
elif [ "$1" = 'zh-hant' ]; then
remove_locale zh_HK.utf8
remove_locale zh_TW.utf8
else
if [ -e /usr/lib/locale/locale-archive ]; then
for l in $(localedef --list-archive|grep "^$1[._@]"); do
remove_locale "$l"
done
fi
fi
fi
fi
# ensure that .desktop caches are up to date
dpkg-trigger gmenucache || true
AnonSec - 2021 | Recode By D7net