# 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