← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 8273: (Translations)Improved translation cleaning script to accept a single language. Uggh. Rewrite.

 

------------------------------------------------------------
revno: 8273
committer: Jason P. Pickering <jason.p.pickering@xxxxxxxxx>
branch nick: dhis2
timestamp: Wed 2012-09-26 20:25:15 +0000
message:
  (Translations)Improved translation cleaning script to accept a single language. Uggh. Rewrite.
modified:
  resources/util/clean_translations.sh


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'resources/util/clean_translations.sh'
--- resources/util/clean_translations.sh	2012-09-20 13:14:12 +0000
+++ resources/util/clean_translations.sh	2012-09-26 20:25:15 +0000
@@ -1,6 +1,8 @@
 #!/bin/bash
 #This script should clean all translation files in a given directory
-#removing all non-translated keys, and any legacy keys in the translation files.
+#removing all non-translated keys, and any legacy keys in the translation fi
+
+
 isNotSet() {
     if [[ ! ${!1} && ${!1-_} ]]
     then
@@ -12,27 +14,35 @@
   echo "Usage: $0  directory"
   exit 1
 fi
+#Parse the arguments
+TRANS_REGEX="i18n_*_*.properties"
+while getopts ":l:" opt; do
+	case $opt in
+	l)	TRANS_REGEX="i18n_*_"$OPTARG".properties";;
+	\?)	print >&2 "Usage: $0 [-l language_country] directory ..."
+		exit 1;;
+	esac
+done
+shift $(($OPTIND-1))
 
 DIR=$1 #The directory should be the first argument
-#TODO Test the directories are writable
 
 # save and change IFS
 OLDIFS=$IFS
 IFS=$'\n'
 
-fileArray=($(find $DIR -type f -name "i18n_*_*.properties"))
+fileArray=($(find $DIR -type f -name $TRANS_REGEX))
 
-# restore it
+# restore IFS
 IFS=$OLDIFS
 
-# get length of the files to iterate over
+# get length of the translation files
 tLen=${#fileArray[@]}
 
 #Find the template file
 TEMPLATE=($(find $DIR -name 'i18n*.properties' -type f | grep -P "i18n_(module|global).properties"))
 TEMPLATE_OUT="$(mktemp)"
-grep -Ev '^#' $TEMPLATE | sed '/^\r/d' | grep -Ev '^$'| sort > $TEMPLATE_OUT
-
+grep -Ev '^#' $TEMPLATE | sed '/^\r/d' | grep -Ev '^$' > $TEMPLATE_OUT
 declare -A template_array
 while IFS='=' read -r key val; do
         [[ $key = '#'* ]] && continue
@@ -44,8 +54,7 @@
 
         declare -A trans_array
         TRANS_FILE=${fileArray[$i]}
-        TRANS_OUT="$(mktemp)"
-        #make a backup copy
+	TRANS_OUT="$(mktemp)"
         cp $TRANS_FILE $TRANS_FILE.bak
         grep -Ev '^#' $TRANS_FILE | sed '/^\r/d' | grep -Ev '^$'| sort > $TRANS_OUT
 
@@ -58,7 +67,7 @@
 
         for key in "${!template_array[@]}"; do
 
-        isNotSet trans_array[${key}]
+	isNotSet trans_array[${key}]
         if [ $? -ne 1  ];then
                 translation=${trans_array[$key]}
                 template=${template_array[$key]}
@@ -71,6 +80,4 @@
 rm $TRANS_OUT
 unset trans_array
 done
-
 rm $TEMPLATE_OUT
-