File: gettext.rake

package info (click to toggle)
ruby-gettext-setup 0.34-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 292 kB
  • sloc: ruby: 807; makefile: 5
file content (68 lines) | stat: -rw-r--r-- 1,773 bytes parent folder | download
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