gen_locale_library(){
    local LOCALE_LIST SHORT_LIST LOCALE_VARIABLES COUNTRY_NAME LANGUAGE_NAME
    LOCALE_LIST="${1}"
    
    ALL_LANGUAGES="$(grep "^country_name\|^lang_name\|^language\|^territory" "${PATH_TO_LOCALES}"/*)"
    if [ -z "$LOCALE_LIST" ]; then
        LOCALE_LIST="$(echo "$ALL_LANGUAGES" | cut -d":" -f1 | rev | cut -d"/" -f1 | rev |sort -u)"
    fi
    
    SHORT_LIST="$(echo "$ALL_LANGUAGES" | grep -f <(echo "$LOCALE_LIST" | sed "s/$/:/"))"
    #~ echo "$SHORT_LIST"
    while read -r language_code; do
        LOCALE_VARIABLES="$(echo "$SHORT_LIST" | grep "${PATH_TO_LOCALES}/$language_code:" | cut -d":" -f2-)"
        #~ echo "$LOCALE_VARIABLES"
        LANGUAGE_NAME="$(echo "$LOCALE_VARIABLES" | grep "^lang_name" | awk -F'"' '{print $2}')"
        COUNTRY_NAME="$(echo "$LOCALE_VARIABLES" | grep "^country_name" | awk -F'"' '{print $2}')"
        if [ -z "$LANGUAGE_NAME" ]; then
            LANGUAGE_NAME="$(echo "$LOCALE_VARIABLES" | grep -m1 "^language" | awk -F'"' '{print $2}')"
        fi
        if [ -z "$COUNTRY_NAME" ]; then
            COUNTRY_NAME="$(echo "$LOCALE_VARIABLES" | grep -m1 "^territory" | awk -F'"' '{print $2}')"
        fi
        
        COUNTRY_NAME="$(process_unicode "$COUNTRY_NAME")"
        LANGUAGE_NAME="$(process_unicode "$LANGUAGE_NAME")"
        
        if [ ! -z "$LANGUAGE_NAME" ]; then
            LANGUAGE_STRING="$language_code - $LANGUAGE_NAME"
            if [ ! -z "$COUNTRY_NAME" ]; then
                LANGUAGE_STRING="$LANGUAGE_STRING (${COUNTRY_NAME})"
            fi
            if [ -z "$LOADED_LANGUAGES" ]; then
                LOADED_LANGUAGES="$LANGUAGE_STRING"
            else
                LOADED_LANGUAGES="$LOADED_LANGUAGES"$'\n'"$LANGUAGE_STRING"
            fi
        fi
    done < <(echo "$LOCALE_LIST")
    echo "$LOADED_LANGUAGES"
}

process_unicode(){
    local RAW_STRING PROCESSED_STRING
    RAW_STRING="${1}"
    PROCESSED_STRING="$(echo "$RAW_STRING" | sed 's/<U/\\u/g' | sed 's/>//g')"
    echo -e "$PROCESSED_STRING"
}

### Saved for the future, if I need to crete a new locale-library
#~ LOADED_LANGUAGES="$(gen_locale_library)"
#~ echo "$LOADED_LANGUAGES" > ./locale.library
