hello
Server : Apache/2.4.52 (Ubuntu) System : Linux HAN2 5.15.0-185-generic #195-Ubuntu SMP Fri Jun 19 17:11:50 UTC 2026 x86_64 User : servadmin ( 1000) PHP Version : 8.1.2-1ubuntu2.25 Disable Function : NONE Directory : /usr/share/language-tools/ |
#!/bin/sh -pe
homedir=$1
language=$2
validated_language=
[ -n "$language" -a -n "$homedir" ] || exit 1
langtoolsdir=/usr/share/language-tools
is_valid_language_list() {
case "$1" in
''|*[!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.@:+-]*|:*|*:|*::*)
return 1
;;
*)
return 0
;;
esac
}
validated_language=$( "$langtoolsdir/language-validate" "$language" )
if ! dpkg -l language-selector-gnome > /dev/null 2>&1; then
renewed_langlist=$validated_language
elif [ "$language" = "${language%:*}" ]; then
renewed_langlist=$( "$langtoolsdir/update-langlist" "$validated_language" "$homedir" )
else
# $language contains a priority list
language_tail=${language#*:}
is_valid_language_list "$language_tail" || exit 1
renewed_langlist=$validated_language:$language_tail
fi
locale_name=$( "$langtoolsdir/language2locale" "$validated_language" )
( "$langtoolsdir/save-to-pam-env" "$homedir" "$locale_name" "$renewed_langlist" ) || exit 1
printf '%s\n' "$validated_language"