Browse Source

fix LANG+LANGUAGE

main
pvincent 3 days ago
parent
commit
61910b1b14
  1. 31
      bin/miaou-bash

31
bin/miaou-bash

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

Loading…
Cancel
Save