[FIXED] Externalizar mensajes de los scripts de Cortana a variables en head.es
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
6891a5734a
commit
c9529a1f93
6 changed files with 65 additions and 17 deletions
32
bin/cortana_alias.sh
Executable file
32
bin/cortana_alias.sh
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Source de head.es para cargar los mensajes
|
||||||
|
DEVSPATH=devs
|
||||||
|
BIN_HOME=$HOME/$DEVSPATH
|
||||||
|
BIN_MESG=bin/msg
|
||||||
|
BIN_LIBS=bin/lib
|
||||||
|
BIN_LANG=${LANG:0:2}
|
||||||
|
|
||||||
|
# Intentar cargar mensajes (si es posible)
|
||||||
|
if [ -f "$BIN_HOME/$BIN_LIBS/base.lib" ] && [ -f "$BIN_HOME/$BIN_MESG/head.$BIN_LANG" ]; then
|
||||||
|
source "$BIN_HOME/$BIN_LIBS/base.lib"
|
||||||
|
load_messages $BIN_HOME $BIN_MESG $BIN_LANG "head"
|
||||||
|
USE_MESSAGES=true
|
||||||
|
else
|
||||||
|
USE_MESSAGES=false
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Verificar si ~/.npm-global/bin está en el PATH
|
||||||
|
if [[ ":$PATH:" != *":$HOME/.npm-global/bin:"* ]]; then
|
||||||
|
# Si no está en el PATH, usamos la ruta completa en el alias
|
||||||
|
alias cortana="$HOME/.npm-global/bin/claude"
|
||||||
|
else
|
||||||
|
# Si está en el PATH, podemos usar el nombre directamente
|
||||||
|
alias cortana="claude"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Mostrar el mensaje usando variables si están disponibles
|
||||||
|
if [ "$USE_MESSAGES" = true ]; then
|
||||||
|
echo "${npm_046}"
|
||||||
|
else
|
||||||
|
echo "Alias cortana activado en la sesión actual."
|
||||||
|
fi
|
|
@ -45,20 +45,20 @@ if ! command -v dialog &>/dev/null; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Confirmar desactivación
|
# Confirmar desactivación
|
||||||
dialog --backtitle "${title}" --title "${npm_031}" --yesno "¿Desea desactivar el alias 'cortana' para Claude Code?" 7 50
|
dialog --backtitle "${title}" --title "${npm_031}" --yesno "${npm_048}" 7 50
|
||||||
if [[ $? -eq 0 ]]; then
|
if [[ $? -eq 0 ]]; then
|
||||||
# Crear un archivo fuente para la desactivación del alias
|
# Crear un archivo fuente para la desactivación del alias
|
||||||
UNALIAS_FILE="$BIN_HOME/bin/cortana_unalias.sh"
|
UNALIAS_FILE="$BIN_HOME/bin/cortana_unalias.sh"
|
||||||
echo '#!/bin/bash' > "$UNALIAS_FILE"
|
echo '#!/bin/bash' > "$UNALIAS_FILE"
|
||||||
echo 'unalias cortana 2>/dev/null' >> "$UNALIAS_FILE"
|
echo 'unalias cortana 2>/dev/null' >> "$UNALIAS_FILE"
|
||||||
echo 'echo "Alias cortana desactivado en la sesión actual."' >> "$UNALIAS_FILE"
|
echo "echo \"${npm_049}\"" >> "$UNALIAS_FILE"
|
||||||
chmod +x "$UNALIAS_FILE"
|
chmod +x "$UNALIAS_FILE"
|
||||||
|
|
||||||
# Ejecutar la función remove_cortana_alias del biblioteca base.lib para el archivo de configuración permanente
|
# Ejecutar la función remove_cortana_alias del biblioteca base.lib para el archivo de configuración permanente
|
||||||
remove_cortana_alias
|
remove_cortana_alias
|
||||||
|
|
||||||
# Crear un mensaje con instrucciones para desactivar el alias en la sesión actual
|
# Crear un mensaje con instrucciones para desactivar el alias en la sesión actual
|
||||||
dialog --backtitle "${title}" --title "${npm_041}" --msgbox "${npm_042}\n\nPara desactivar el alias en la sesión actual, ejecute:\n\nsource $UNALIAS_FILE\n\n" 10 70
|
dialog --backtitle "${title}" --title "${npm_041}" --msgbox "${npm_042}\n\n${npm_050}\n\nsource $UNALIAS_FILE\n\n" 10 70
|
||||||
else
|
else
|
||||||
dialog --backtitle "${title}" --title "${head_canceled}" --msgbox "${npm_008}" 6 40
|
dialog --backtitle "${title}" --title "${head_canceled}" --msgbox "${npm_008}" 6 40
|
||||||
exit 1
|
exit 1
|
||||||
|
|
|
@ -45,7 +45,7 @@ if ! command -v dialog &>/dev/null; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Confirmar activación
|
# Confirmar activación
|
||||||
dialog --backtitle "${title}" --title "${npm_031}" --yesno "¿Desea activar el alias 'cortana' para Claude Code?" 7 50
|
dialog --backtitle "${title}" --title "${npm_031}" --yesno "${npm_045}" 7 50
|
||||||
if [[ $? -eq 0 ]]; then
|
if [[ $? -eq 0 ]]; then
|
||||||
# Crear un archivo fuente para la activación del alias
|
# Crear un archivo fuente para la activación del alias
|
||||||
ALIAS_FILE="$BIN_HOME/bin/cortana_alias.sh"
|
ALIAS_FILE="$BIN_HOME/bin/cortana_alias.sh"
|
||||||
|
@ -58,14 +58,14 @@ if [[ $? -eq 0 ]]; then
|
||||||
echo ' # Si está en el PATH, podemos usar el nombre directamente' >> "$ALIAS_FILE"
|
echo ' # Si está en el PATH, podemos usar el nombre directamente' >> "$ALIAS_FILE"
|
||||||
echo ' alias cortana="claude"' >> "$ALIAS_FILE"
|
echo ' alias cortana="claude"' >> "$ALIAS_FILE"
|
||||||
echo 'fi' >> "$ALIAS_FILE"
|
echo 'fi' >> "$ALIAS_FILE"
|
||||||
echo 'echo "Alias cortana activado en la sesión actual."' >> "$ALIAS_FILE"
|
echo "echo \"${npm_046}\"" >> "$ALIAS_FILE"
|
||||||
chmod +x "$ALIAS_FILE"
|
chmod +x "$ALIAS_FILE"
|
||||||
|
|
||||||
# Ejecutar la función cortana_alias del biblioteca base.lib para el archivo de configuración permanente
|
# Ejecutar la función cortana_alias del biblioteca base.lib para el archivo de configuración permanente
|
||||||
cortana_alias
|
cortana_alias
|
||||||
|
|
||||||
# Crear un mensaje con instrucciones para activar el alias en la sesión actual
|
# Crear un mensaje con instrucciones para activar el alias en la sesión actual
|
||||||
dialog --backtitle "${title}" --title "${npm_036}" --msgbox "${npm_037}\n\nPara activar el alias en la sesión actual, ejecute:\n\nsource $ALIAS_FILE\n\n" 10 70
|
dialog --backtitle "${title}" --title "${npm_036}" --msgbox "${npm_037}\n\n${npm_047}\n\nsource $ALIAS_FILE\n\n" 10 70
|
||||||
else
|
else
|
||||||
dialog --backtitle "${title}" --title "${head_canceled}" --msgbox "${npm_008}" 6 40
|
dialog --backtitle "${title}" --title "${head_canceled}" --msgbox "${npm_008}" 6 40
|
||||||
exit 1
|
exit 1
|
||||||
|
|
|
@ -89,7 +89,7 @@ pre_anthropic() {
|
||||||
export PATH=~/.npm-global/bin:$PATH
|
export PATH=~/.npm-global/bin:$PATH
|
||||||
|
|
||||||
# Informar al usuario que debe reiniciar su terminal o usar source
|
# Informar al usuario que debe reiniciar su terminal o usar source
|
||||||
dialog --backtitle "${title}" --infobox "Configuración de PATH actualizada. Para aplicar cambios permanentes, reinicie su terminal después de la instalación o ejecute:\n\nsource $shell_config" 8 60
|
dialog --backtitle "${title}" --infobox "${npm_060}\n\nsource $shell_config" 8 60
|
||||||
sleep 4
|
sleep 4
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ check_dependencies() {
|
||||||
|
|
||||||
# Verificar que 'sops' esté instalado
|
# Verificar que 'sops' esté instalado
|
||||||
if ! command -v sops &>/dev/null; then
|
if ! command -v sops &>/dev/null; then
|
||||||
dialog --backtitle "$title" --title "${head_error}" --msgbox "El programa 'sops' no está instalado. Por favor, instálalo e inténtalo nuevamente." 7 50
|
dialog --backtitle "$title" --title "${head_error}" --msgbox "${npm_051}" 7 50
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -86,7 +86,7 @@ main() {
|
||||||
mkdir -p "${HOME}/.cortana"
|
mkdir -p "${HOME}/.cortana"
|
||||||
|
|
||||||
# Get SOPS config file path
|
# Get SOPS config file path
|
||||||
sops_file=$(dialog --backtitle "$title" --stdout --title "SOPS Configuration" \
|
sops_file=$(dialog --backtitle "$title" --stdout --title "${npm_052}" \
|
||||||
--fselect "$HOME/.cortana/cortana.sops.yaml" 8 60)
|
--fselect "$HOME/.cortana/cortana.sops.yaml" 8 60)
|
||||||
|
|
||||||
# Check if user canceled
|
# Check if user canceled
|
||||||
|
@ -98,8 +98,8 @@ main() {
|
||||||
|
|
||||||
# Check if file exists and ask for confirmation to overwrite
|
# Check if file exists and ask for confirmation to overwrite
|
||||||
if [ -f "$sops_file" ]; then
|
if [ -f "$sops_file" ]; then
|
||||||
dialog --backtitle "$title" --title "Confirmación" \
|
dialog --backtitle "$title" --title "${npm_031}" \
|
||||||
--yesno "El archivo $sops_file ya existe. ¿Desea sobrescribirlo?" 7 60
|
--yesno "El archivo $sops_file ${npm_053}" 7 60
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
clear
|
clear
|
||||||
|
@ -111,7 +111,7 @@ main() {
|
||||||
# Get Cortana token
|
# Get Cortana token
|
||||||
while true; do
|
while true; do
|
||||||
token=$(dialog --backtitle "$title" --stdout --title "${npm_000} Token" \
|
token=$(dialog --backtitle "$title" --stdout --title "${npm_000} Token" \
|
||||||
--passwordbox "Ingrese su token de API de ${npm_000}:" 8 60)
|
--passwordbox "${npm_054} ${npm_000}:" 8 60)
|
||||||
|
|
||||||
# Check if user canceled
|
# Check if user canceled
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
|
@ -122,19 +122,19 @@ main() {
|
||||||
|
|
||||||
# Validate token
|
# Validate token
|
||||||
if [ -z "$token" ]; then
|
if [ -z "$token" ]; then
|
||||||
dialog --backtitle "$title" --title "${head_error}" --msgbox "El token no puede estar vacío. Por favor ingrese un token válido." 7 60
|
dialog --backtitle "$title" --title "${head_error}" --msgbox "${npm_055}" 7 60
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check token length (should be at least 64 characters)
|
# Check token length (should be at least 64 characters)
|
||||||
if [ ${#token} -lt 64 ]; then
|
if [ ${#token} -lt 64 ]; then
|
||||||
dialog --backtitle "$title" --title "${head_error}" --msgbox "El token parece ser demasiado corto. Verifique que haya copiado el token completo." 7 60
|
dialog --backtitle "$title" --title "${head_error}" --msgbox "${npm_056}" 7 60
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check token format (should contain alphanumeric characters and some special chars)
|
# Check token format (should contain alphanumeric characters and some special chars)
|
||||||
if ! [[ "$token" =~ ^[A-Za-z0-9\#\-\_\.]+$ ]]; then
|
if ! [[ "$token" =~ ^[A-Za-z0-9\#\-\_\.]+$ ]]; then
|
||||||
dialog --backtitle "$title" --title "${head_warning}" --msgbox "El token contiene caracteres no estándar. Verifique que sea correcto." 7 60
|
dialog --backtitle "$title" --title "${head_warning}" --msgbox "${npm_057}" 7 60
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Token is valid
|
# Token is valid
|
||||||
|
@ -146,9 +146,9 @@ main() {
|
||||||
|
|
||||||
# Encrypt the token
|
# Encrypt the token
|
||||||
if encrypt_token "$sops_file" "$token"; then
|
if encrypt_token "$sops_file" "$token"; then
|
||||||
dialog --backtitle "$title" --title "${npm_014}" --msgbox "El token de ${npm_000} ha sido encriptado exitosamente en ${HOME}/.cortana/cortana.sops.yaml" 7 70
|
dialog --backtitle "$title" --title "${npm_014}" --msgbox "${npm_058} ${HOME}/.cortana/cortana.sops.yaml" 7 70
|
||||||
else
|
else
|
||||||
dialog --backtitle "$title" --title "${head_error}" --msgbox "Falló la encriptación del token de ${npm_000}." 7 50
|
dialog --backtitle "$title" --title "${head_error}" --msgbox "${npm_059}" 7 50
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,3 +113,19 @@ npm_041="Alias eliminado"
|
||||||
npm_042="Alias 'cortana' eliminado de"
|
npm_042="Alias 'cortana' eliminado de"
|
||||||
npm_043="Alias no encontrado"
|
npm_043="Alias no encontrado"
|
||||||
npm_044="El alias 'cortana' no existe en la configuración del shell."
|
npm_044="El alias 'cortana' no existe en la configuración del shell."
|
||||||
|
npm_045="¿Desea activar el alias 'cortana' para Claude Code?"
|
||||||
|
npm_046="Alias cortana activado en la sesión actual."
|
||||||
|
npm_047="Para activar el alias en la sesión actual, ejecute:"
|
||||||
|
npm_048="¿Desea desactivar el alias 'cortana' para Claude Code?"
|
||||||
|
npm_049="Alias cortana desactivado en la sesión actual."
|
||||||
|
npm_050="Para desactivar el alias en la sesión actual, ejecute:"
|
||||||
|
npm_051="El programa 'sops' no está instalado. Por favor, instálalo e inténtalo nuevamente."
|
||||||
|
npm_052="SOPS Configuration"
|
||||||
|
npm_053="El archivo ya existe. ¿Desea sobrescribirlo?"
|
||||||
|
npm_054="Ingrese su token de API de"
|
||||||
|
npm_055="El token no puede estar vacío. Por favor ingrese un token válido."
|
||||||
|
npm_056="El token parece ser demasiado corto. Verifique que haya copiado el token completo."
|
||||||
|
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_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:"
|
||||||
|
|
Loading…
Reference in a new issue