yast-rake 0.2.37 → 0.2.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/tasks/pot.rake +38 -15
- metadata +3 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 18af28aa52d36fae2562ec34077203bf5caf3133e2478bbb148a62cb12fdfa9d
|
|
4
|
+
data.tar.gz: 6de5e620075e519ab220a18c80c0dc490401e25ed1554a778092505968ac67dd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5620ca0179a75376946c702286ce5ddec59a5a112da7b0b05b686514f18621ece0c2a77f52cdb2928e1483a149310082ff97725efad3d654b37885da8f9855b3
|
|
7
|
+
data.tar.gz: d517ffc2098ccbf315132d51dcdc44adbe6dbfb8ba2718c13e7cc3989dc42f59a90c9e06676aec7cb2f359598c20ff883e20955974a2c5d463db1afbd094ff9d
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.2.
|
|
1
|
+
0.2.38
|
data/lib/tasks/pot.rake
CHANGED
|
@@ -27,19 +27,36 @@ task :pot do
|
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
namespace :check do
|
|
30
|
+
|
|
31
|
+
def interpolation_message
|
|
32
|
+
<<~MSG
|
|
33
|
+
Note: \#{foo} substitution in translatable strings does
|
|
34
|
+
not work properly, use
|
|
35
|
+
_("foo %{bar} baz") % { :bar => bar }
|
|
36
|
+
or
|
|
37
|
+
_("foo %s baz") % bar
|
|
38
|
+
MSG
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def angle_brackets_message
|
|
42
|
+
<<~MSG
|
|
43
|
+
Note: %<foo> placeholder should not be used in translatable strings
|
|
44
|
+
because GNU Gettext does not support any suitable language format for that,
|
|
45
|
+
use %{foo} instead.
|
|
46
|
+
MSG
|
|
47
|
+
end
|
|
48
|
+
|
|
30
49
|
# print failed lines and a hint to STDERR
|
|
31
|
-
def report_pot_errors(lines)
|
|
50
|
+
def report_pot_errors(lines, message)
|
|
51
|
+
return if lines.empty?
|
|
52
|
+
|
|
32
53
|
warn "Failed lines:"
|
|
33
54
|
warn "-" * 30
|
|
34
55
|
warn lines
|
|
35
56
|
warn "-" * 30
|
|
36
|
-
|
|
37
|
-
warn
|
|
38
|
-
|
|
39
|
-
warn " _(\"foo %{bar} baz\") % { :bar => bar }"
|
|
40
|
-
warn "or"
|
|
41
|
-
warn " _(\"foo %s baz\") % bar"
|
|
42
|
-
$stderr.puts
|
|
57
|
+
warn ""
|
|
58
|
+
warn message
|
|
59
|
+
warn ""
|
|
43
60
|
end
|
|
44
61
|
|
|
45
62
|
# remove gettext keywords and extra quotes
|
|
@@ -53,7 +70,9 @@ namespace :check do
|
|
|
53
70
|
end
|
|
54
71
|
|
|
55
72
|
desc "Check translatable strings for common mistakes"
|
|
56
|
-
# depends on the global "pot" task defined above
|
|
73
|
+
# depends on the global "pot" task defined above,
|
|
74
|
+
# this scans for the #{} interpolations (do not work in translations)
|
|
75
|
+
# and %<> (no compatible language format in Gettext)
|
|
57
76
|
task pot: :"rake:pot" do
|
|
58
77
|
Dir["*.pot"].each do |pot|
|
|
59
78
|
puts "Checking #{pot}..."
|
|
@@ -61,14 +80,18 @@ namespace :check do
|
|
|
61
80
|
# remove comments
|
|
62
81
|
lines.reject! { |line| line.match(/^#/) }
|
|
63
82
|
# Ruby substitution present?
|
|
64
|
-
lines.select
|
|
83
|
+
interpolations = lines.select { |line| line.include?("\#{") }
|
|
84
|
+
angle_brackets = lines.select { |line| line.include?("%<") }
|
|
85
|
+
|
|
86
|
+
next if interpolations.empty? && angle_brackets.empty?
|
|
87
|
+
|
|
88
|
+
clean_pot_lines(interpolations)
|
|
89
|
+
clean_pot_lines(angle_brackets)
|
|
65
90
|
|
|
66
|
-
|
|
91
|
+
report_pot_errors(interpolations, interpolation_message)
|
|
92
|
+
report_pot_errors(angle_brackets, angle_brackets_message)
|
|
67
93
|
|
|
68
|
-
|
|
69
|
-
report_pot_errors(lines)
|
|
70
|
-
raise "ERROR: Ruby substitution found in a translatable string"
|
|
71
|
-
end
|
|
94
|
+
raise "ERROR: Found invalid or unsupported translatable string"
|
|
72
95
|
end
|
|
73
96
|
end
|
|
74
97
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: yast-rake
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.38
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Josef Reidinger
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-
|
|
11
|
+
date: 2020-05-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: packaging_rake_tasks
|
|
@@ -86,8 +86,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
86
86
|
- !ruby/object:Gem::Version
|
|
87
87
|
version: '0'
|
|
88
88
|
requirements: []
|
|
89
|
-
|
|
90
|
-
rubygems_version: 2.7.6.2
|
|
89
|
+
rubygems_version: 3.1.2
|
|
91
90
|
signing_key:
|
|
92
91
|
specification_version: 4
|
|
93
92
|
summary: Rake tasks providing basic work-flow for Yast development
|