add script to calculate i18n progress

This commit is contained in:
Bernd Storath
2025-11-12 08:23:44 +01:00
parent 6a282e6ab9
commit 26708305d6

19
scripts/i18n.sh Executable file
View File

@@ -0,0 +1,19 @@
#!/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