diff --git a/include/qsgen2/lang/nb_NO b/include/qsgen2/lang/nb_NO index 94922d3..5568ad2 100644 --- a/include/qsgen2/lang/nb_NO +++ b/include/qsgen2/lang/nb_NO @@ -1,6 +1,5 @@ typeset -A localization localization=( -_qsgen2_msg_1 "Bruk: qsgen2 add \"Nettstedsnavn\" \"sti/til/prosjekt\"" _qsgen2_msg_2 "- Tvungen oppdatering: Genererer alt" _qsgen2_msg_3 "* %SCRIPT_NAME% kan ikke analysere dette nettstedet. Avslutter. *" _qsgen2_msg_4 "Vennligst installer Pandoc." @@ -18,7 +17,7 @@ _blog_cache_msg_2 "1. _blog_cache: ${blog_file}" _blog_cache_msg_3 "2. _blog_cache: nåværende cache: ${current_hash}" _blog_cache_msg_4 "3. _blog_cache: ny cache-fil: ${blog_file}$" _blog_cache_msg_5 "4. _blog_cache: ny nåværende cache: ${current_hash}" -_pages_cache_msg_1 "SIDERS HASH VERDI: ${pages_cache[${name}]}" +_pages_cache_msg_1 "_pages_cache: PAGES HASH VERDI: ${pages_cache[${name}]}" _pages_cache_msg_2 "1. pages_cache: ${pages_cache[$file]}" _pages_cache_msg_3 "1. _pages_cache: nåværende cache: ${current_hash}" _pages_cache_msg_4 "2. _pages_cache: sidefil: ${pages_cache[$file]}" diff --git a/qsgen2 b/qsgen2 index 81c5875..37b4c3a 100755 --- a/qsgen2 +++ b/qsgen2 @@ -56,48 +56,50 @@ if (${globaldebug}); then fi function _msg() { - # Usage: _msg "key" local type=$1 - local key=$2 - local msg=${localization[$key]} - - # Check if message exists for the key - if [[ -z "$msg" ]]; then - printf "Localization key '%s' not found.\n" "$key" - return - fi - - # Dynamic replacement for known placeholders - msg=${msg//"%SCRIPT_NAME%"/${0:t}} - + shift # Remove the first argument so $@ now contains only message keys or parts + + local full_msg="" + for part in "$@"; do + if [[ -n "${localization[$part]}" ]]; then + # Part is a localization key + part="${localization[$part]}" + elif [[ "$part" == "%SCRIPT_NAME%" ]]; then + # Special handling for script name placeholder + part=${0:t} + fi + # Append part to the full message + full_msg+="$part" + done + # Apply color formatting based on type and use printf for safe output - case ${type} in + case $type in std) - printf "${green}%s${end}\n" "$msg" + printf "${green}%s${end}\n" "$full_msg" ;; info) - printf "${yellow}%s${end}\n" "$msg" + printf "${yellow}%s${end}\n" "$full_msg" ;; debug) - printf "${red}%s${end}\n" "$msg" + printf "${red}%s${end}\n" "$full_msg" ;; other) - printf "${bold_yellow}%s${end}\n" "$msg" + printf "${bold_yellow}%s${end}\n" "$full_msg" ;; sub) - printf "${magenta}%s${end}\n" "$msg" + printf "${magenta}%s${end}\n" "$full_msg" ;; main) - printf "${white}${green_bg} %s ${end}\n" "$msg" + printf "${white}${green_bg} %s ${end}\n" "$full_msg" ;; *) - printf "%s\n" "$msg" + printf "%s\n" "$full_msg" ;; esac } function _version() { - _msg info "_qsgen2_msg_7$(strftime "%Y")" + _msg info "_qsgen2_msg_7" "$(strftime "%Y")" echo "${yellow}- https://github.com/kekePower/qsgen2/${end}" _msg info "_qsgen2_msg_8" exit