From 9361981388ed372b0502aec7d74fee9cacb4cf86 Mon Sep 17 00:00:00 2001
From: Eugen Rochko <eugen@zeonfederated.com>
Date: Thu, 12 Sep 2019 04:58:33 +0200
Subject: [PATCH] Add missing locale file for ga and add rake task to check for
 it (#11813)

* Add missing locale file for ga and add rake task to check for it

* Update lib/tasks/repo.rake

Co-Authored-By: Yamagishi Kazutoshi <ykzts@desire.sh>

* Fix check-i18n build
---
 .circleci/config.yml                    |  2 ++
 app/javascript/mastodon/locales/ga.json |  1 +
 lib/tasks/repo.rake                     | 15 +++++++++++++++
 3 files changed, 18 insertions(+)
 create mode 100644 app/javascript/mastodon/locales/ga.json

diff --git a/.circleci/config.yml b/.circleci/config.yml
index 8ab08ebae5..ff8eb48598 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -173,9 +173,11 @@ jobs:
     <<: *defaults
     steps:
       - *attach_workspace
+      - *install_system_dependencies
       - run: bundle exec i18n-tasks check-normalized
       - run: bundle exec i18n-tasks unused -l en
       - run: bundle exec i18n-tasks check-consistent-interpolations
+      - run: bundle exec rake repo:check_locales_files
 
 workflows:
   version: 2
diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json
new file mode 100644
index 0000000000..0967ef424b
--- /dev/null
+++ b/app/javascript/mastodon/locales/ga.json
@@ -0,0 +1 @@
+{}
diff --git a/lib/tasks/repo.rake b/lib/tasks/repo.rake
index 8ceec30854..d1de17b7c0 100644
--- a/lib/tasks/repo.rake
+++ b/lib/tasks/repo.rake
@@ -76,4 +76,19 @@ namespace :repo do
       tmp.unlink
     end
   end
+
+  task check_locales_files: :environment do
+    pastel = Pastel.new
+
+    missing_yaml_files = I18n.available_locales.reject { |locale| File.exist?(Rails.root.join('config', 'locales', "#{locale}.yml")) }
+    missing_json_files = I18n.available_locales.reject { |locale| File.exist?(Rails.root.join('app', 'javascript', 'mastodon', 'locales', "#{locale}.json")) }
+
+    if missing_json_files.empty? && missing_yaml_files.empty?
+      puts pastel.green('OK')
+    else
+      puts pastel.red("Missing YAML files: #{pastel.bold(missing_yaml_files.join(', '))}") unless missing_yaml_files.empty?
+      puts pastel.red("Missing JSON files: #{pastel.bold(missing_json_files.join(', '))}") unless missing_json_files.empty?
+      exit(1)
+    end
+  end
 end
-- 
GitLab