|
|
@ -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' |
|
|
|
|
|
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_LOCALE=en |
|
|
miaou_debug "<load_locale fallback=$MIAOU_LOCALE LANG=$LANG convert_to=C/>" |
|
|
|
|
|
LANG=C |
|
|
LANG=C |
|
|
|
|
|
;; |
|
|
|
|
|
esac |
|
|
export LANG |
|
|
export LANG |
|
|
fi |
|
|
|
|
|
local locale_file |
|
|
|
|
|
locale_file="${MIAOU_BASH_DIR}/locales/${MIAOU_LOCALE}.sh" |
|
|
|
|
|
# shellcheck source=/dev/null |
|
|
|
|
|
source "$locale_file" |
|
|
|
|
|
|
|
|
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 |
|
|
## main |
|
|
|