[IMPROVED] Añadir soporte de localización a qr_secret.sh con developers.es

- Incorporar mensajes en developers.es para qr_secret.sh
- Mover todos los textos UI a variables localizables
- Reemplazar strings hardcodeados con referencias a variables de mensajes
- Seguir formato estándar de mensajes usado en otros scripts del proyecto
- Mejorar procesamiento de errores con mensajes consistentes

🤖 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-15 19:24:52 -05:00
parent d3bad69f02
commit efb5aa5d2a
Signed by: mrosero
GPG key ID: 83BD2A5F674B7E26
2 changed files with 32 additions and 14 deletions

View file

@ -60,3 +60,20 @@ cvmsg_015="El token no puede estar vacío. Por favor ingrese un token válido."
cvmsg_016="El token parece ser demasiado corto. Verifique que haya copiado el token completo."
cvmsg_017="El token contiene caracteres no estándar. Verifique que sea correcto."
# Mensajes para qr_secret.sh
qrmsg_000="EXTRACTOR DE SECRETOS QR"
qrmsg_001="Nombre del archivo"
qrmsg_002="Ingrese un nombre para el archivo (solo letras, números, ., - y _)"
qrmsg_003="Seleccione una imagen QR"
qrmsg_004="El nombre no puede estar vacío."
qrmsg_005="El nombre no puede contener espacios."
qrmsg_006="El nombre solo puede contener letras, números, ., - y _."
qrmsg_007="No se pudo extraer el secreto de la imagen QR seleccionada."
qrmsg_008="Secreto guardado correctamente en"
qrmsg_009="No se pudo guardar el secreto encriptado."
qrmsg_010="Operación cancelada."
qrmsg_011="Éxito"
qrmsg_012="Error"
qrmsg_013="Dialog no está instalado"
qrmsg_014="Zbar no está instalado"

View file

@ -45,28 +45,29 @@ source "${BIN_HOME}/${BIN_BASE}/${BIN_LIBS}/console.lib"
# Cargar mensajes en el idioma del sistema o español por defecto
load_messages "${BIN_HOME}/${BIN_BASE}" "${BIN_MESG}" "${BIN_LANG}" "head"
load_messages "${BIN_HOME}/${BIN_BASE}" "${BIN_MESG}" "${BIN_LANG}" "developers"
# Variables globales
title="${head_000} ${head_002}"
apps_title="Extractor de Secretos QR"
apps_title="${qrmsg_000}"
# Verificar dependencias
check_dependencies() {
# Verificar si dialog está instalado
if ! command -v dialog &> /dev/null; then
echo "Error: dialog no está instalado. Por favor, ejecute bin/bootstrap.sh para instalarlo."
echo "Error: ${qrmsg_013}. ${cvmsg_014}"
exit 1
fi
# Verificar si zbar está instalado
if ! command -v zbarimg &> /dev/null; then
echo "Error: zbar no está instalado. Por favor, ejecute bin/bootstrap.sh para instalarlo."
echo "Error: ${qrmsg_014}. ${cvmsg_014}"
exit 1
fi
# Verificar si sops está instalado
if ! command -v sops &> /dev/null; then
echo "Error: SOPS no está instalado. Por favor, ejecute bin/bootstrap.sh para instalarlo."
echo "Error: ${cvmsg_013}. ${cvmsg_014}"
exit 1
fi
}
@ -100,7 +101,7 @@ get_output_name() {
while [ "$valid" != "true" ]; do
# Solicitar nombre
dialog_input_box "Nombre del archivo" "Ingrese un nombre para el archivo (solo letras, números, ., - y _)" ""
dialog_input_box "${qrmsg_001}" "${qrmsg_002}" ""
if [ $codex -ne 0 ]; then
# Usuario canceló
@ -118,13 +119,13 @@ get_output_name() {
valid="true"
;;
1)
dialog_error_box "Error" "El nombre no puede estar vacío."
dialog_error_box "${qrmsg_012}" "${qrmsg_004}"
;;
2)
dialog_error_box "Error" "El nombre no puede contener espacios."
dialog_error_box "${qrmsg_012}" "${qrmsg_005}"
;;
3)
dialog_error_box "Error" "El nombre solo puede contener letras, números, ., - y _."
dialog_error_box "${qrmsg_012}" "${qrmsg_006}"
;;
esac
done
@ -139,7 +140,7 @@ select_qr_file() {
local home_dir="$HOME/"
exec 3>&1
local selected_file=$(dialog --backtitle "$title" --title "$apps_title" \
local selected_file=$(dialog --backtitle "$title" --title "${qrmsg_003}" \
--stdout --fselect "$home_dir" 15 60)
local exit_code=$?
exec 3>&-
@ -215,7 +216,7 @@ main() {
local output_name=$(get_output_name)
if [ $? -ne 0 ]; then
clear
echo "Operación cancelada."
echo "${qrmsg_010}"
exit 0
fi
@ -223,7 +224,7 @@ main() {
local qr_file=$(select_qr_file)
if [ $? -ne 0 ]; then
clear
echo "Operación cancelada."
echo "${qrmsg_010}"
exit 0
fi
@ -232,7 +233,7 @@ main() {
local extract_status=$?
if [ $extract_status -ne 0 ]; then
dialog_error_box "Error" "No se pudo extraer el secreto de la imagen QR seleccionada."
dialog_error_box "${qrmsg_012}" "${qrmsg_007}"
clear
exit 1
fi
@ -240,9 +241,9 @@ main() {
# Guardar secreto encriptado
save_encrypted_secret "$output_name" "$secret"
if [ $? -eq 0 ]; then
dialog_error_box "Éxito" "Secreto guardado correctamente en ${DEVELOPER_DIR}/${output_name}.totp.yaml"
dialog_error_box "${qrmsg_011}" "${qrmsg_008} ${DEVELOPER_DIR}/${output_name}.totp.yaml"
else
dialog_error_box "Error" "No se pudo guardar el secreto encriptado."
dialog_error_box "${qrmsg_012}" "${qrmsg_009}"
clear
exit 1
fi