Fix nonint locale handling

This commit is contained in:
XECDesign 2022-01-05 16:52:08 +00:00 committed by GitHub
parent 26e568102f
commit 618a3fedce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -491,13 +491,17 @@ do_change_locale() {
if [ "$INTERACTIVE" = True ]; then if [ "$INTERACTIVE" = True ]; then
dpkg-reconfigure locales dpkg-reconfigure locales
else else
local LOCALE="$1" if ! LOCALE_LINE="$(grep -E "^$1( |$)" /usr/share/i18n/SUPPORTED)"; then
if ! LOCALE_LINE="$(grep -E "^$LOCALE( |$)" /usr/share/i18n/SUPPORTED)"; then
return 1 return 1
fi fi
local ENCODING="$(echo $LOCALE_LINE | cut -f2 -d " ")" export LC_ALL=C
echo "$LOCALE $ENCODING" > /etc/locale.gen export LANG=C
sed -i "s/^\s*LANG=\S*/LANG=$LOCALE/" /etc/default/locale local LG="/etc/locale.gen"
local NEW_LANG="$(echo $LOCALE_LINE | cut -f1 -d " ")"
[ -L "$LG" ] && [ "$(readlink $LG)" = "/usr/share/i18n/SUPPORTED" ] && rm -f "$LG"
echo "$LOCALE_LINE" > /etc/locale.gen
update-locale --no-checks LANG
update-locale --no-checks "LANG=$NEW_LANG"
dpkg-reconfigure -f noninteractive locales dpkg-reconfigure -f noninteractive locales
fi fi
} }