[IMPROVED] Integrar dialog con console.lib en scripts de instalación

- Incorporar funciones de diálogo de console.lib en ghadmin_install.sh
- Incorporar funciones de diálogo de console.lib en gladmin_install.sh
- Agregar variable head_success en head.es
- Mejorar mensajes y presentación de información

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Mauro Rosero P. 2025-03-19 17:54:10 -05:00
parent f415e54d34
commit f6f2ebcaa0
Signed by: mrosero
GPG key ID: 83BD2A5F674B7E26
3 changed files with 55 additions and 58 deletions

View file

@ -187,12 +187,14 @@ install_gh_macos() {
# Función para verificar si gh está instalado # Función para verificar si gh está instalado
check_gh() { check_gh() {
if command -v gh &> /dev/null; then if command -v gh &> /dev/null; then
echo "${ghmsg_015}" # Mostrar versión actual
echo "${ghmsg_016}" local current_version=$(gh --version | head -n 1)
gh --version
read -p "${ghmsg_017} " REINSTALL # Preguntar si se desea reinstalar o actualizar usando dialog
if [[ ! "$REINSTALL" =~ ^[Ss]$ ]]; then dialog_yesno "${ghmsg_015}\n${ghmsg_016}\n${current_version}\n\n${ghmsg_017}"
echo "${ghmsg_018}"
if [ $? -ne 0 ]; then
dialog_error_box "${head_info}" "${ghmsg_018}"
exit 0 exit 0
fi fi
fi fi
@ -200,6 +202,12 @@ check_gh() {
# Función principal # Función principal
main() { main() {
# Verificar que 'dialog' esté instalado
if ! command -v dialog &>/dev/null; then
echo "${head_001}"
exit 1
fi
# Verificar si ya está instalado # Verificar si ya está instalado
check_gh check_gh
@ -229,25 +237,19 @@ main() {
install_gh_macos install_gh_macos
;; ;;
*) *)
echo "${ghmsg_019} $DISTRO" dialog_error_box "${head_error}" "${ghmsg_019} $DISTRO\n\n${ghmsg_020}"
echo "${ghmsg_020}"
exit 1 exit 1
;; ;;
esac esac
# Verificar la instalación # Verificar la instalación
if command -v gh &> /dev/null; then if command -v gh &> /dev/null; then
echo "${ghmsg_008}" local current_version=$(gh --version | head -n 1)
gh --version
# Sugerir autenticación # Mostrar mensaje de éxito y sugerir autenticación usando dialog
echo "" dialog_error_box "${head_success}" "${ghmsg_008}\n\n${current_version}\n\n${ghmsg_021}\ngh auth login\n\n${ghmsg_022}"
echo "${ghmsg_021}"
echo "gh auth login"
echo ""
echo "${ghmsg_022}"
else else
echo "${ghmsg_023}" dialog_error_box "${head_error}" "${ghmsg_023}"
exit 1 exit 1
fi fi
} }
@ -255,12 +257,7 @@ main() {
# Ejecutar función principal # Ejecutar función principal
main "$@" main "$@"
# Limpiar la pantalla al finalizar
clear
exit 0 exit 0
# Importar bibliotecas necesarias
source "${BIN_HOME}/${BIN_BASE}/${BIN_LIBS}/base.lib"
# Cargar mensajes en el idioma del sistema o español por defecto
load_messages "${BIN_HOME}/${BIN_BASE}" "${BIN_MESG}" "${BIN_LANG}" "head"
# Variables globales
title="${head_000} ${head_002}"

View file

@ -381,12 +381,14 @@ install_glab_binary() {
# Función para verificar si glab está instalado # Función para verificar si glab está instalado
check_glab() { check_glab() {
if command -v glab &> /dev/null; then if command -v glab &> /dev/null; then
echo "${glmsg_040}" # Mostrar versión actual
echo "${glmsg_041}" local current_version=$(glab --version | head -n 1)
glab --version
read -p "${glmsg_042} " REINSTALL # Preguntar si se desea reinstalar o actualizar usando dialog
if [[ ! "$REINSTALL" =~ ^[Ss]$ ]]; then dialog_yesno "${glmsg_040}\n${glmsg_041}\n${current_version}\n\n${glmsg_042}"
echo "${glmsg_043}"
if [ $? -ne 0 ]; then
dialog_error_box "${head_info}" "${glmsg_043}"
exit 0 exit 0
fi fi
fi fi
@ -394,6 +396,12 @@ check_glab() {
# Función principal # Función principal
main() { main() {
# Verificar que 'dialog' esté instalado
if ! command -v dialog &>/dev/null; then
echo "${head_001}"
exit 1
fi
# Verificar si ya está instalado # Verificar si ya está instalado
check_glab check_glab
@ -440,14 +448,13 @@ main() {
fi fi
;; ;;
*) *)
echo "${glmsg_044} $DISTRO" dialog_error_box "${head_warning}" "${glmsg_044} $DISTRO\n${glmsg_045}"
echo "${glmsg_045}"
;; ;;
esac esac
# Si no se pudo instalar con el método específico para la distribución, intentar métodos alternativos # Si no se pudo instalar con el método específico para la distribución, intentar métodos alternativos
if [ "$install_success" = false ]; then if [ "$install_success" = false ]; then
echo "${glmsg_046}" dialog_error_box "${head_info}" "${glmsg_046}"
# Intentar instalar con Go # Intentar instalar con Go
if command -v go &> /dev/null; then if command -v go &> /dev/null; then
@ -467,25 +474,19 @@ main() {
# Si todos los métodos fallan # Si todos los métodos fallan
if [ "$install_success" = false ]; then if [ "$install_success" = false ]; then
echo "${glmsg_047}" dialog_error_box "${head_error}" "${glmsg_047}\n\n${glmsg_048}"
echo "${glmsg_048}"
exit 1 exit 1
fi fi
fi fi
# Verificar la instalación # Verificar la instalación
if command -v glab &> /dev/null; then if command -v glab &> /dev/null; then
echo "${glmsg_049}" local current_version=$(glab --version | head -n 1)
glab --version
# Sugerir autenticación # Mostrar mensaje de éxito y sugerir autenticación usando dialog
echo "" dialog_error_box "${head_success}" "${glmsg_049}\n\n${current_version}\n\n${glmsg_050}\nglab auth login\n\n${glmsg_051}"
echo "${glmsg_050}"
echo "glab auth login"
echo ""
echo "${glmsg_051}"
else else
echo "${glmsg_052}" dialog_error_box "${head_error}" "${glmsg_052}"
exit 1 exit 1
fi fi
} }
@ -493,12 +494,7 @@ main() {
# Ejecutar función principal # Ejecutar función principal
main "$@" main "$@"
# Limpiar la pantalla al finalizar
clear
exit 0 exit 0
# Importar bibliotecas necesarias
source "${BIN_HOME}/${BIN_BASE}/${BIN_LIBS}/base.lib"
# Cargar mensajes en el idioma del sistema o español por defecto
load_messages "${BIN_HOME}/${BIN_BASE}" "${BIN_MESG}" "${BIN_LANG}" "head"
# Variables globales
title="${head_000} ${head_002}"

View file

@ -18,6 +18,7 @@ head_installing="Instalando"
head_info="INFO" head_info="INFO"
head_warning="ADVERTENCIA" head_warning="ADVERTENCIA"
head_error="ERROR" head_error="ERROR"
head_success="ÉXITO"
head_unknow="UNKNOW" head_unknow="UNKNOW"
head_version="Versión" head_version="Versión"
head_ubuntu="ubuntu" head_ubuntu="ubuntu"
@ -84,7 +85,9 @@ git_end_commited="Todos los cambios al repositorio nuevo han sido aplicados!"
git_new_project_pushed="Proyecto ha sido creado/actualizado en repositorio remoto" git_new_project_pushed="Proyecto ha sido creado/actualizado en repositorio remoto"
npm_000="Cortana" npm_000="Cortana"
npm_000_0="Jarvis"
npm_000_1="Rosero One" npm_000_1="Rosero One"
npm_000_2="Alias"
npm_001="El programa 'dialog' no está instalado. Por favor, instálalo e inténtalo nuevamente." npm_001="El programa 'dialog' no está instalado. Por favor, instálalo e inténtalo nuevamente."
npm_002="No eres super usuario. Ingresa la contraseña para escalamiento:" npm_002="No eres super usuario. Ingresa la contraseña para escalamiento:"
npm_003="Contraseña incorrecta o error al escalar privilegios." npm_003="Contraseña incorrecta o error al escalar privilegios."
@ -103,22 +106,22 @@ npm_014="Instalación completada."
npm_015="Instalación completada. Versiones instaladas: Node.js: [versión] npm: [versión]" npm_015="Instalación completada. Versiones instaladas: Node.js: [versión] npm: [versión]"
npm_016="Instalador de Node.js y npm" npm_016="Instalador de Node.js y npm"
npm_017="Confirmar Sistema" npm_017="Confirmar Sistema"
npm_018="Instalación" npm_018="Instalación de Anthropic Claude Code"
npm_019="Versiones instaladas:" npm_019="Versiones instaladas:"
npm_020="No encontrado" npm_020="No encontrado"
npm_021="Instalación Finalizada" npm_021="Instalación Finalizada"
npm_022="npm no está instalado. Por favor instálalo e inténtalo de nuevo." npm_022="npm no está instalado. Por favor instálalo e inténtalo de nuevo."
npm_023="Se procederá a instalar Anthropoc Claude Code usando npm." npm_023="Se procederá a instalar Anthropic Claude Code usando npm."
npm_024="Instalación completada satisfactoriamente." npm_024="Instalación completada satisfactoriamente."
npm_025="Ocurrió un error durante la instalación." npm_025="Ocurrió un error durante la instalación."
npm_026="Desinstalar" npm_026="Desinstalar"
npm_027="Se procederá a desinstalar Anthropoc Claude Code usando npm." npm_027="Se procederá a desinstalar Anthropic Claude Code usando npm."
npm_028="Desinstalación Completa" npm_028="Desinstalación Completa"
npm_029="Desinstalación completada exitosamente." npm_029="Desinstalación completada exitosamente."
npm_030="Ocurrió un error durante la desinstalación." npm_030="Ocurrió un error durante la desinstalación."
npm_031="Confirmación" npm_031="Confirmación"
npm_032="¿Está seguro que desea desinstalar Anthropoc Claude Code?" npm_032="¿Está seguro que desea desinstalar Anthropic Claude Code?"
npm_033="¿Desea instalar Anthropoc Claude Code?" npm_033="¿Desea instalar Anthropic Claude Code?"
npm_034="Alias existente" npm_034="Alias existente"
npm_035="El alias 'cortana' ya existe en" npm_035="El alias 'cortana' ya existe en"
npm_036="Alias creado" npm_036="Alias creado"
@ -146,6 +149,7 @@ npm_057="El token contiene caracteres no estándar. Verifique que sea correcto."
npm_058="El token de Cortana ha sido encriptado exitosamente en" npm_058="El token de Cortana ha sido encriptado exitosamente en"
npm_059="Falló la encriptación del token de Cortana." npm_059="Falló la encriptación del token de Cortana."
npm_060="Configuración de PATH actualizada. Para aplicar cambios permanentes, reinicie su terminal después de la instalación o ejecute:" npm_060="Configuración de PATH actualizada. Para aplicar cambios permanentes, reinicie su terminal después de la instalación o ejecute:"
hx_001="Instalador de Helix Editor" hx_001="Instalador de Helix Editor"
hx_002="Este script instalará Helix Editor. Soporta Arch Linux, Debian/Ubuntu, Fedora, FreeBSD y macOS (Homebrew)." hx_002="Este script instalará Helix Editor. Soporta Arch Linux, Debian/Ubuntu, Fedora, FreeBSD y macOS (Homebrew)."
hx_003="Descargando la última versión de Helix..." hx_003="Descargando la última versión de Helix..."