summaryrefslogtreecommitdiff
path: root/tooling/bin/gettext_extractor
diff options
context:
space:
mode:
Diffstat (limited to 'tooling/bin/gettext_extractor')
-rwxr-xr-xtooling/bin/gettext_extractor29
1 files changed, 29 insertions, 0 deletions
diff --git a/tooling/bin/gettext_extractor b/tooling/bin/gettext_extractor
new file mode 100755
index 00000000000..39f029616df
--- /dev/null
+++ b/tooling/bin/gettext_extractor
@@ -0,0 +1,29 @@
+#!/usr/bin/env ruby
+# frozen_string_literal: true
+
+require_relative '../lib/tooling/gettext_extractor'
+
+pot_file = ARGV.shift
+
+if !pot_file || !Dir.exist?(File.dirname(pot_file))
+ abort <<~MSG
+ Please provide a target file name as the first argument, e.g.
+ #{$PROGRAM_NAME} locale/gitlab.pot
+ MSG
+end
+
+puts <<~MSG
+ Extracting translatable strings from source files...
+MSG
+
+root_dir = File.expand_path('../../', __dir__)
+
+extractor = Tooling::GettextExtractor.new(
+ glob_base: root_dir
+)
+
+File.write(pot_file, extractor.generate_pot)
+
+puts <<~MSG
+ All done. Please commit the changes to `#{pot_file}`.
+MSG