Add download-translations.bash script

The script can be used to download the translations from Crowdin.

Change-Id: I295b34ef26d361a493e6fd82501bc70405e04ac1
diff --git a/src/_locales/README.md b/src/_locales/README.md
new file mode 100644
index 0000000..79bcafa
--- /dev/null
+++ b/src/_locales/README.md
@@ -0,0 +1,11 @@
+# _locales folder
+This folder contains the extension strings in various languages.
+
+*** note
+**Warning:** The only file that should be modified in this folder is the
+`en/messages.json` file.
+
+After modifying that file, it should get uploaded to Crowdin so it can be
+translated there, and afterwards the `downloadTranslations.bash` script at the
+`//tools/i18n` directory can be run to generate all the other subfolders.
+***
diff --git a/tools/i18n/.gitignore b/tools/i18n/.gitignore
new file mode 100644
index 0000000..68f35d8
--- /dev/null
+++ b/tools/i18n/.gitignore
@@ -0,0 +1 @@
+crowdin.yml
diff --git a/tools/i18n/crowdin.template.yml b/tools/i18n/crowdin.template.yml
new file mode 100644
index 0000000..3589ec3
--- /dev/null
+++ b/tools/i18n/crowdin.template.yml
@@ -0,0 +1,39 @@
+# Your Crowdin credentials
+"project_id" : "191707"
+"api_token" : "{{API_TOKEN}}"
+"base_path" : "../../."
+"base_url" : "https://api.crowdin.com"
+
+# Choose file structure in Crowdin
+"preserve_hierarchy": true
+
+# Files configuration
+files: [
+ {
+  # Source files filter
+  "source" : "src/_locales/en/messages.json",
+
+  # Where translations will be placed
+  "translation" : "src/_locales/%osx_locale%/%original_file_name%",
+
+  # Files or directories for ignore
+  "ignore" : ["OWNERS"],
+
+  # The dest allows you to specify a file name in Crowdin
+  # e.g. "/messages.json"
+  "dest" : "/messages.json",
+  "type" : "chrome",
+
+  "skip_untranslated_strings" : true,
+  "export_only_approved" : true,
+
+  "languages_mapping" : {
+    "osx_locale" : {
+      "es-AR" : "es_419",
+      "pt-PT" : "pt_PT",
+      "zh-CN" : "zh_CN",
+      "zh-TW" : "zh_TW",
+    }
+  },
+ }
+]
diff --git a/tools/i18n/download-translations.bash b/tools/i18n/download-translations.bash
new file mode 100644
index 0000000..075aee0
--- /dev/null
+++ b/tools/i18n/download-translations.bash
@@ -0,0 +1,18 @@
+#!/bin/bash
+emptyTranslationFile="{}"
+
+# Download new translations
+if [ ! -f "crowdin.yml" ]; then
+  echo "Copy crowdin.template.yml to crowdin.yml and fill in the API token."
+fi
+
+crowdin download -c crowdin.yml
+
+cd ../../src/_locales
+
+for lang in *; do
+  if [ "x$emptyTranslationFile" = "x$(cat $lang/messages.json)" ]; then
+    echo "$lang has an empty translation. Deleting folder..."
+    rm -rf $lang
+  fi
+done