[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
|
||||
|
||||
# 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
|
||||
# Crear un archivo fuente para la desactivación del alias
|
||||
UNALIAS_FILE="$BIN_HOME/bin/cortana_unalias.sh"
|
||||
echo '#!/bin/bash' > "$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"
|
||||
|
||||
# Ejecutar la función remove_cortana_alias del biblioteca base.lib para el archivo de configuración permanente
|
||||
remove_cortana_alias
|
||||
|
||||
# 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
|
||||
dialog --backtitle "${title}" --title "${head_canceled}" --msgbox "${npm_008}" 6 40
|
||||
exit 1
|
||||
|
|
|
@ -45,7 +45,7 @@ if ! command -v dialog &>/dev/null; then
|
|||
fi
|
||||
|
||||
# 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
|
||||
# Crear un archivo fuente para la activación del alias
|
||||
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 ' alias cortana="claude"' >> "$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"
|
||||
|
||||
# Ejecutar la función cortana_alias del biblioteca base.lib para el archivo de configuración permanente
|
||||
cortana_alias
|
||||
|
||||
# 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
|
||||
dialog --backtitle "${title}" --title "${head_canceled}" --msgbox "${npm_008}" 6 40
|
||||
exit 1
|
||||
|
|
|
@ -89,7 +89,7 @@ pre_anthropic() {
|
|||
export PATH=~/.npm-global/bin:$PATH
|
||||
|
||||
# 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
|
||||
}
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ check_dependencies() {
|
|||
|
||||
# Verificar que 'sops' esté instalado
|
||||
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
|
||||
fi
|
||||
}
|
||||
|
@ -86,7 +86,7 @@ main() {
|
|||
mkdir -p "${HOME}/.cortana"
|
||||
|
||||
# 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)
|
||||
|
||||
# Check if user canceled
|
||||
|
@ -98,8 +98,8 @@ main() {
|
|||
|
||||
# Check if file exists and ask for confirmation to overwrite
|
||||
if [ -f "$sops_file" ]; then
|
||||
dialog --backtitle "$title" --title "Confirmación" \
|
||||
--yesno "El archivo $sops_file ya existe. ¿Desea sobrescribirlo?" 7 60
|
||||
dialog --backtitle "$title" --title "${npm_031}" \
|
||||
--yesno "El archivo $sops_file ${npm_053}" 7 60
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
clear
|
||||
|
@ -111,7 +111,7 @@ main() {
|
|||
# Get Cortana token
|
||||
while true; do
|
||||
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
|
||||
if [ $? -ne 0 ]; then
|
||||
|
@ -122,19 +122,19 @@ main() {
|
|||
|
||||
# Validate token
|
||||
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
|
||||
fi
|
||||
|
||||
# Check token length (should be at least 64 characters)
|
||||
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
|
||||
fi
|
||||
|
||||
# Check token format (should contain alphanumeric characters and some special chars)
|
||||
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
|
||||
|
||||
# Token is valid
|
||||
|
@ -146,9 +146,9 @@ main() {
|
|||
|
||||
# Encrypt the token
|
||||
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
|
||||
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
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -113,3 +113,19 @@ npm_041="Alias eliminado"
|
|||
npm_042="Alias 'cortana' eliminado de"
|
||||
npm_043="Alias no encontrado"
|
||||
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