diff --git a/tools/generateTranslationDiffs.sh b/tools/generateTranslationDiffs.sh index dfa609e87..ad87252fb 100755 --- a/tools/generateTranslationDiffs.sh +++ b/tools/generateTranslationDiffs.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # # Append translation differences on the end of all files. Developers should run this script # after changing default, so that translators can easily see what items need to be translated. @@ -15,36 +15,34 @@ if [[ $? != 0 ]]; then exit fi -#First thing, we want to strip default of any !s and duplicates. -cat "default" | grep -v '^!' | sort -Vu > "$TEMP" +#First thing, we want to strip default of any "!" and duplicates. +grep -v '^!' default | sort -Vu > "$TEMP" mv "$TEMP" "default" echo "Generating differences... this may take a few minutes." -find . | -grep -v 'default' | -grep -v 'README' | -grep -v 'LICENSE' | -grep -v 'generateDiffs.sh' | -grep -v "$TEMP" | -grep -v '^.$' | +#Find all language files, excluding non-language files +find . -not -iname "default" -not -iname "LICENSE" -not -iname "README" -not -iname "*.sh" -not -iname ".*" -not -iname "$TEMP" | +#for every found language file X while read X; do echo "Working on differences for $X" - #Start by copying the existing file to a temporary one, after sorting and removing all - #previous differences - cat "$X" | grep -v '^!' | sort -Vu > "$TEMP" + #Start by copying the existing file to a temporary one, after sorting and removing all "!" + grep -v '^!' "$X" | sort -Vu > "$TEMP" echo -e "\n\n!!!!!!!!!!!!!!!!!!!!!!!!!\n! Untranslated keys follow; remove the ! prefix after an entry is translated.\n!!!!!!!!!!!!!!!!!!!!!!!!!\n\n" >> "$TEMP" - cat 'default' | grep -v '^#' | while read LINE; do - KEY=`echo "$LINE" | cut -f 1 -d ';'` - grep -q "^$KEY" "$X"; - if [[ $? != 0 ]]; then - echo "!$LINE" >> "$TEMP" - fi - done + #find every line that is not a comment + grep -v '^#' default | while read LINE + do + KEY=${LINE%%;*} + grep -q "^$KEY" "$X" + if [[ $? != 0 ]] + then + echo '!'"${LINE}" >> "$TEMP" + fi + done #Replace the old file with the new one, with a section at the end for differences. mv "$TEMP" "$X"