[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:
parent
d3bad69f02
commit
efb5aa5d2a
2 changed files with 32 additions and 14 deletions
|
@ -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"
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue