I18n locale

This commit is contained in:
pvincent
2026-08-26 21:29:56 +04:00
parent a8c6c4a2a9
commit 639b7d967e
5 changed files with 68 additions and 1 deletions
+19 -1
View File
@@ -318,7 +318,7 @@ function dump_stderr {
local last_error="${tmp_error[-1]}"
if [[ "$last_error" =~ $MIAOU_ERROR_REGEX ]]; then
tmp_error_count=$((tmp_error_count - 1))
miaou_debug "<hide_latest_miaou_error line=${last_error} count=$tmp_error_count/>"
miaou_debug "<hide_latest_miaou_error count=$tmp_error_count line={${last_error}}/>"
unset 'tmp_error[-1]'
if [[ $tmp_error_count == 0 ]]; then
# IDEA: grab last_stdout and test no carriage_return, cf: ../test/stub/tee_last_line.bash
@@ -653,6 +653,23 @@ function read {
2>&1 builtin 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_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"
}
## main
set -euo pipefail
@@ -685,6 +702,7 @@ else
exec 4>/dev/tty
fi
exec 3>&2 2>"$MIAOU_BASH_ERROR"
load_locale
miaou_debug "<main file=$BASH_ARGV0 pid=${BASHPID}/>"
fi