CasperSecurity

Current Path : /usr/share/locales/
Upload File :
Current File : //usr/share/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
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY