Files
wg-easy/scripts/i18n.sh
2025-11-12 08:23:44 +01:00

19 lines
655 B
Bash
Executable File

#!/bin/bash
folder="src/i18n/locales"
base_file="$folder/en.json"
# Get all leaf keys from the English base file
base_keys=$(jq -r 'paths(scalars) | map(tostring) | join(".")' "$base_file")
total=$(echo "$base_keys" | wc -l)
# Loop through all JSON files in the folder
for file in "$folder"/*.json; do
name=$(basename "$file" .json)
translated_keys=$(jq -r 'paths(scalars) | map(tostring) | join(".")' "$file")
done=$(comm -12 <(echo "$base_keys" | sort) <(echo "$translated_keys" | sort) | wc -l)
percent=$((100 * done / total))
check="[ ]"
[ "$percent" -eq 100 ] && check="[x]"
printf "%s %s (%d%%)\n" "- $check" "$name" "$percent"
done