fix LANG+LANGUAGE
This commit is contained in:
+19
-12
@@ -1,4 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
# shellcheck source=/dev/null
|
||||||
|
|
||||||
|
# SHEBANG alternative:
|
||||||
#!/usr/bin/env -S -- bash -x
|
#!/usr/bin/env -S -- bash -x
|
||||||
|
|
||||||
# constants
|
# constants
|
||||||
@@ -632,20 +635,24 @@ function read {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function load_locale {
|
function load_locale {
|
||||||
MIAOU_LOCALE="${LANG%%_*}" # Get 'fr' from 'fr_FR.UTF-8'
|
miaou_debug "<load_locale LANG=$LANG>"
|
||||||
if [[ $MIAOU_LOCALE =~ en|es|fr ]]; then
|
MIAOU_LOCALE="${LANG:0:2}" # Get 'fr' from 'fr_FR.UTF-8'
|
||||||
miaou_debug "<load_locale language=$MIAOU_LOCALE LANG=$LANG/>"
|
case "$MIAOU_LOCALE" in
|
||||||
else
|
en) LANG=en_US.utf8 ;;
|
||||||
# fallback C/POSIX => en.sh
|
es) LANG=es_ES.utf8 ;;
|
||||||
|
fr) LANG=fr_FR.utf8 ;;
|
||||||
|
*)
|
||||||
|
miaou_debug "<fallback LANG=$LANG convert_to=C/>"
|
||||||
MIAOU_LOCALE=en
|
MIAOU_LOCALE=en
|
||||||
miaou_debug "<load_locale fallback=$MIAOU_LOCALE LANG=$LANG convert_to=C/>"
|
|
||||||
LANG=C
|
LANG=C
|
||||||
export LANG
|
;;
|
||||||
fi
|
esac
|
||||||
local locale_file
|
export LANG
|
||||||
locale_file="${MIAOU_BASH_DIR}/locales/${MIAOU_LOCALE}.sh"
|
unset LANGUAGE LC_ALL LC_MESSAGES
|
||||||
# shellcheck source=/dev/null
|
local translation="${MIAOU_BASH_DIR}/locales/${MIAOU_LOCALE}.sh"
|
||||||
source "$locale_file"
|
miaou_debug "<resource file=$translation/>"
|
||||||
|
source "$translation"
|
||||||
|
miaou_debug "</load_locale MIAOU_LOCALE=$MIAOU_LOCALE>"
|
||||||
}
|
}
|
||||||
|
|
||||||
## main
|
## main
|
||||||
|
|||||||
Reference in New Issue
Block a user