1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
# frozen_string_literal: true
require_relative '../gettext-setup/gettext_setup'
require_relative '../gettext-setup/pot'
require_relative '../gettext-setup/metadata_pot'
namespace :gettext do
desc 'Generate a new POT file and replace old if strings changed'
task :update_pot do
begin
result = GettextSetup::Pot.update_pot
exit 1 unless result
rescue GettextSetup::NoConfigFoundError => e
puts e.message
exit 1
end
end
desc 'Generate POT file'
task :pot, [:target_path] do |_, args|
begin
target_path = args.target_path
if GettextSetup::Pot.generate_new_pot(target_path: target_path)
target_path = GettextSetup::Pot.pot_file_path if target_path.nil?
puts "POT file #{target_path} has been generated"
else
exit 1
end
rescue GettextSetup::NoConfigFoundError => e
puts e.message
end
end
desc 'Generate POT file for metadata'
task :metadata_pot do
begin
result = GettextSetup::MetadataPot.generate_metadata_pot
if result
puts "POT metadata file #{GettextSetup::MetadataPot.metadata_path} has been generated"
else
exit 1
end
rescue GettextSetup::NoConfigFoundError => e
puts e.message
end
end
desc 'Update PO file for a specific language'
task :po, [:language] do |_, args|
begin
result = GettextSetup::Pot.generate_new_po(args.language)
exit 1 unless result
rescue GettextSetup::NoConfigFoundError => e
puts e.message
end
end
desc 'Merge all Pot files within locales folder'
task :merge do
begin
result = GettextSetup::Pot.merge
exit 1 unless result
rescue GettextSetup::NoConfigFoundError => e
puts e.message
end
end
end
|