diff --git a/.githooks/pre-commit b/.githooks/pre-commit
new file mode 100755
index 0000000000000000000000000000000000000000..c10e6b82d44e5e8ee52eb5c07ea94bdd6637335e
--- /dev/null
+++ b/.githooks/pre-commit
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+$(git rev-parse --show-toplevel)/utils/findMissingI18nKeys.sh
+FINDING_MISSING_KEYS=$?
+if [ $FINDING_MISSING_KEYS -ne 0 ]; then
+    echo "You must to complete all i18n keys used in pages"
+    exit $FINDING_MISSING_KEYS
+fi
+exit 0
diff --git a/.gitignore b/.gitignore
index 3fea6ecc2abc86553c5c0bee1c9219f11693f547..60cde3202016ffdb87282e29a32c1eae0c7349d0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -89,3 +89,7 @@ sw.*
 
 # Vim swap files
 *.swp
+
+# Script generated files
+*.missing
+keysUsed
\ No newline at end of file
diff --git a/utils/findMissingI18nKeys.sh b/utils/findMissingI18nKeys.sh
new file mode 100755
index 0000000000000000000000000000000000000000..262e01712572b249386d8a1089dde7b7e9d075fa
--- /dev/null
+++ b/utils/findMissingI18nKeys.sh
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+TMP_FILE=temp
+KEY_FILE=keysUsed
+
+grep --include=\*.vue --exclude=\*template.vue -roE -e "\\\$(t|tc)\((\"|')([a-Z.]*)(\"|')(, [a-Z._]*){0,1}\)" . > $TMP_FILE
+sed -i -e "s/'/\"/" $TMP_FILE
+sed -i -e "s/'/\"/" $TMP_FILE
+sed -i -E -e 's/\..*:\$(t|tc)\("([a-Z.]*).*$/\2/' $TMP_FILE
+
+sort $TMP_FILE | uniq > $KEY_FILE
+
+FILES="i18n/locales/*.json"
+for f in $FILES
+do
+    echo "Processing $f file..."
+    missingFile="$(basename $f).missing"
+    if [ -f $missingFile ]
+    then
+        rm -fr $missingFile
+    fi
+    while read key; do
+        jq -e ".$key" < $f > /dev/null
+        status=$?
+        if [ $status -ne 0 ]
+        then
+            echo $key >> $missingFile
+        fi
+    done < $KEY_FILE
+    # take action on each file. $f store current file name
+    # cat "$f"
+done
+
+MISSING_FILES="*.missing"
+RETURN_CODE=0
+if ls $MISSING_FILES 1> /dev/null 2>&1; then
+    for f in $MISSING_FILES
+    do
+        RETURN_CODE=$((RETURN_CODE+1))
+        echo "Missing keys in $f"
+        cat $f
+    done
+fi
+rm $KEY_FILE $TMP_FILE
+exit $RETURN_CODE