-
Notifications
You must be signed in to change notification settings - Fork 13
/
language.sh
37 lines (30 loc) · 978 Bytes
/
language.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/env bash
message="
Please select a language:
"
active_language="English"
available_languages=(Dutch English French German Hindi Italian Portuguese Spanish)
whiptail_args=(
--title "Open Voice OS Installation - Language"
--radiolist "$message"
--cancel-button "Exit"
"$TUI_WINDOW_HEIGHT" "$TUI_WINDOW_WIDTH" "${#available_languages[@]}"
)
for language in "${available_languages[@]}"; do
whiptail_args+=("$language" "")
if [[ $language = "$active_language" ]]; then
whiptail_args+=("on")
else
whiptail_args+=("off")
fi
done
# Retrieve language and make it lower case with ",,"
language=$(whiptail "${whiptail_args[@]}" 3>&1 1>&2 2>&3)
language="${language,,}"
if [ -z "$language" ]; then
exit 0
fi
# Hash of locales
declare -A locales
locales=(["english"]="en-us" ["french"]="fr-fr" ["german"]="de-de" ["italian"]="it-it" ["spanish"]="es-es" ["dutch"]="nl-nl" ["portuguese"]="pt-pt" ["hindi"]="hi-in")
export LOCALE="${locales[$language]}"