diff --git a/installTorrServerLinux.sh b/installTorrServerLinux.sh index 8ddc0e987..8e4a8d2dd 100755 --- a/installTorrServerLinux.sh +++ b/installTorrServerLinux.sh @@ -110,20 +110,20 @@ declare -A MSG_EN=( [use_auth]="Use user \"%s\" with password \"%s\" for authentication" # Prompts - [want_update]="Want to update TorrServer? (Yes/No) " - [want_install]="Want to install or configure TorrServer? (Yes|No) Type Delete to uninstall. " - [want_reconfigure]="Do you want to reconfigure TorrServer settings? (Yes/No) " - [change_port]="Change TorrServer web-port? (Yes/No) " + [want_update]="Want to update TorrServer?" + [want_install]="Want to install or configure TorrServer? Type Delete to uninstall." + [want_reconfigure]="Do you want to reconfigure TorrServer settings?" + [change_port]="Change TorrServer web-port?" [enter_port]="Enter port number: " - [enable_auth]="Enable server authorization? (Yes/No) " + [enable_auth]="Enable server authorization?" [prompt_user]="User: " [prompt_password]="Password: " - [change_auth_credentials]="Change authentication username and password? (Yes/No) " - [enable_rdb]="Start TorrServer in public read-only mode? (Yes/No) " - [enable_log]="Enable TorrServer log output to file? (Yes/No) " - [enable_bbr]="Enable BBR (recommended for better download speed)? (Yes/No) " - [confirm_delete]="Are you sure you want to delete TorrServer? (Yes/No) " - [prompt_run_as_root]="Run service as root user? (Yes/No) " + [change_auth_credentials]="Change authentication username and password?" + [enable_rdb]="Start TorrServer in public read-only mode?" + [enable_log]="Enable TorrServer log output to file?" + [enable_bbr]="Enable BBR (recommended for better download speed)?" + [confirm_delete]="Are you sure you want to delete TorrServer?" + [prompt_run_as_root]="Run service as root user?" # Uninstall [install_dir_label]="TorrServer install dir -" @@ -237,20 +237,20 @@ declare -A MSG_RU=( [use_auth]="Для авторизации используйте пользователя «%s» с паролем «%s»" # Prompts - [want_update]="Хотите обновить TorrServer? (Yes/No) " - [want_install]="Хотите установить, обновить или настроить TorrServer? (Yes|No) Для удаления введите «Delete» " - [want_reconfigure]="Хотите перенастроить параметры TorrServer? (Yes/No) " - [change_port]="Хотите изменить порт для TorrServer? (Yes/No) " + [want_update]="Хотите обновить TorrServer?" + [want_install]="Хотите установить, обновить или настроить TorrServer? Для удаления введите «Delete»" + [want_reconfigure]="Хотите перенастроить параметры TorrServer?" + [change_port]="Хотите изменить порт для TorrServer?" [enter_port]="Введите номер порта: " - [enable_auth]="Включить авторизацию на сервере? (Yes/No) " + [enable_auth]="Включить авторизацию на сервере?" [prompt_user]="Пользователь: " [prompt_password]="Пароль: " - [change_auth_credentials]="Изменить имя пользователя и пароль для авторизации? (Yes/No) " - [enable_rdb]="Запускать TorrServer в публичном режиме без возможности изменения настроек через веб сервера? (Yes/No) " - [enable_log]="Включить запись журнала работы TorrServer в файл? (Yes/No) " - [enable_bbr]="Включить BBR (рекомендуется для лучшей скорости загрузки)? (Yes/No) " - [confirm_delete]="Вы уверены что хотите удалить программу? (Yes/No) " - [prompt_run_as_root]="Запускать службу от пользователя root? (Yes/No) " + [change_auth_credentials]="Изменить имя пользователя и пароль для авторизации?" + [enable_rdb]="Запускать TorrServer в публичном режиме без возможности изменения настроек через веб сервера?" + [enable_log]="Включить запись журнала работы TorrServer в файл?" + [enable_bbr]="Включить BBR (рекомендуется для лучшей скорости загрузки)?" + [confirm_delete]="Вы уверены что хотите удалить программу?" + [prompt_run_as_root]="Запускать службу от пользователя root?" # Uninstall [install_dir_label]="Директория c TorrServer -" @@ -352,6 +352,15 @@ colorize() { fi } +# Highlight first letter of a word with specified color +highlightFirstLetter() { + local color="$1" + local word="$2" + local first_char="${word:0:1}" + local rest="${word:1}" + printf "%s%s" "$(colorize "$color" "$first_char")" "$rest" +} + isRoot() { [[ $EUID -eq 0 ]] } @@ -406,6 +415,7 @@ getIP() { promptYesNo() { local prompt="$1" local default="${2:-n}" + local recommended="${3:-$default}" if [[ $SILENT_MODE -eq 1 ]]; then if [[ "$default" == "y" ]]; then @@ -415,9 +425,36 @@ promptYesNo() { fi fi + # Determine colors based on recommendation + local yes_color no_color + if [[ "$recommended" == "y" ]]; then + yes_color="green" + no_color="red" + else + yes_color="red" + no_color="green" + fi + + # Define localized Yes/No words + local yes_word no_word + if [[ $lang == "ru" ]]; then + yes_word="Да" + no_word="Нет" + else + yes_word="Yes" + no_word="No" + fi + + # Highlight first letter of each word + local yes_text + local no_text + yes_text="$(highlightFirstLetter "$yes_color" "$yes_word")" + no_text="$(highlightFirstLetter "$no_color" "$no_word")" + local answer - IFS= read -r -p " $prompt " answer