#!/bin/bash

differences_found=0

# Extract keys from the reference file and sort them
sort <(awk -F':' '{print $1}' internal/i18n/locales/en-US.yml) > sorted_reference_keys.txt
sed -i '/^\s*$/d' sorted_reference_keys.txt

for new_file in internal/i18n/locales/*.yml; do
    filename=$(basename $new_file)

    # Extract keys from the current file and sort them
    sort <(awk -F':' '{print $1}' $new_file) > sorted_new_keys.txt
    sed -i '/^\s*$/d' sorted_new_keys.txt

    comm -3 sorted_reference_keys.txt sorted_new_keys.txt > differences.txt

    if [ -s differences.txt ]; then
        while IFS= read -r line; do
            if [[ $line == $'\t'* ]]; then
                echo "+ Additional key in $filename: $(echo $line | awk '{$1=$1; print}')"
                differences_found=1
            fi
        done < differences.txt
    fi

    rm sorted_new_keys.txt
done

rm sorted_reference_keys.txt differences.txt

exit $differences_found