Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Van Landuyt <bob@vanlanduyt.co>2018-07-06 15:40:23 +0300
committerBob Van Landuyt <bob@vanlanduyt.co>2018-07-09 09:21:15 +0300
commitf3fbf50ad8e0bbd201c7e727b6adeb3a042f430c (patch)
tree1c7ec604332f471d399f6fc02324a489238ef9d2 /lib/tasks/gettext.rake
parent0ed8f3490e037d451841ec0e6fe226b9e62e8466 (diff)
Update `gettext:updated_check` regenerate pot file
Making the `gettext:updated_check` by completely regenerating the gitlab.pot. This avoids an issue where `gettext:find` would not pick up on changes if the file isn't removed first.
Diffstat (limited to 'lib/tasks/gettext.rake')
-rw-r--r--lib/tasks/gettext.rake30
1 files changed, 23 insertions, 7 deletions
diff --git a/lib/tasks/gettext.rake b/lib/tasks/gettext.rake
index 21998dd2f5b..6df7fe81437 100644
--- a/lib/tasks/gettext.rake
+++ b/lib/tasks/gettext.rake
@@ -19,6 +19,23 @@ namespace :gettext do
Rake::Task['gettext:po_to_json'].invoke
end
+ task :regenerate do
+ # Remove all translated files, this speeds up finding
+ FileUtils.rm Dir['locale/**/gitlab.*']
+ # remove the `pot` file to ensure it's completely regenerated
+ FileUtils.rm_f 'locale/gitlab.pot'
+
+ Rake::Task['gettext:find'].invoke
+
+ # leave only the required changes.
+ `git checkout -- locale/*/gitlab.po`
+
+ puts <<~MSG
+ All done. Please commit the changes to `locale/gitlab.pot`.
+
+ MSG
+ end
+
desc 'Lint all po files in `locale/'
task lint: :environment do
require 'simple_po_parser'
@@ -50,13 +67,12 @@ namespace :gettext do
end
task :updated_check do
+ pot_file = 'locale/gitlab.pot'
# Removing all pre-translated files speeds up `gettext:find` as the
# files don't need to be merged.
# Having `LC_MESSAGES/gitlab.mo files present also confuses the output.
FileUtils.rm Dir['locale/**/gitlab.*']
-
- # Make sure we start out with a clean pot.file
- `git checkout -- locale/gitlab.pot`
+ FileUtils.rm_f pot_file
# `gettext:find` writes touches to temp files to `stderr` which would cause
# `static-analysis` to report failures. We can ignore these.
@@ -64,18 +80,18 @@ namespace :gettext do
Rake::Task['gettext:find'].invoke
end
- pot_diff = `git diff -- locale/gitlab.pot`.strip
+ pot_diff = `git diff -- #{pot_file} | grep -E '^(\\+|-)msgid'`.strip
# reset the locale folder for potential next tasks
`git checkout -- locale`
if pot_diff.present?
raise <<~MSG
- Newly translated strings found, please add them to `gitlab.pot` by running:
+ Newly translated strings found, please add them to `#{pot_file}` by running:
- rm locale/**/gitlab.*; bin/rake gettext:find; git checkout -- locale/*/gitlab.po
+ bin/rake gettext:regenerate
- Then commit and push the resulting changes to `locale/gitlab.pot`.
+ Then commit and push the resulting changes to `#{pot_file}`.
The diff was: