taskwarrior/src/l10n/check_translations.sh
2016-12-31 08:47:47 -05:00

25 lines
837 B
Bash
Executable file

#!/bin/bash
REFERENCE_LANGUAGE_FILE="eng-USA.h"
TESTED_LANGUAGE_FILES=`ls *.h | grep -v $REFERENCE_LANGUAGE_FILE`
# At the beginning, we haven't detected any invalid translation files
MISMATCHED=0
# Generate list of keys, not including defines that are commented out. Strips out the leading whitespace.
cat $REFERENCE_LANGUAGE_FILE | grep "^[[:space:]]*#define" | sed -e 's/^ *//' - | cut -f2 -d' ' | sort > identifiers
# Generate report
for LANGUAGE_FILE in $TESTED_LANGUAGE_FILES
do
echo "Comparing $REFERENCE_LANGUAGE_FILE (left) to $LANGUAGE_FILE (right)"
cat $LANGUAGE_FILE | grep "^[[:space:]]*#define" | sed -e 's/^ *//' - | cut -f2 -d' ' | sort | diff identifiers -
MISMATCHED=$(($MISMATCHED+$?))
echo ""
done
# Cleanup
rm -f identifiers
# Exit with number of not synced translations files
exit $MISMATCHED