gettext-setup 0.30 → 0.31
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 12e71aa5e0dfcabd81f9815b7288de5edea56295600b5b82fce740614374b948
|
4
|
+
data.tar.gz: c42ce6ef320c3999fcfa6895d9c2d7ceaab93980459cfd8985a19a389eb6a08a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ee5e91fd99697e94de0f11bf162c5353e32cb86d273da51e6188e821a95065674d68aaad626c0c21a3f6e2c1ef10999c74228b62e2eb18c87b84ef97e55148a
|
7
|
+
data.tar.gz: 5b384a1a0ef825e3d591fba2ce46a6356a0fb2cdfe6b03b0de89b1863db66ccc3666bb1aa79643f64974ba2f911fd81c1ba83fb26152ed390eef710c392c0302
|
@@ -58,6 +58,7 @@ module GettextSetup
|
|
58
58
|
|
59
59
|
def self.config?
|
60
60
|
raise NoConfigFoundError, File.join(locales_path, 'config.yaml') unless @config
|
61
|
+
|
61
62
|
@config
|
62
63
|
end
|
63
64
|
|
@@ -113,9 +114,11 @@ module GettextSetup
|
|
113
114
|
# return the default locale
|
114
115
|
def self.negotiate_locale(accept_header)
|
115
116
|
unless @config
|
116
|
-
raise ArgumentError, 'No config.yaml found! Use
|
117
|
+
raise ArgumentError, 'No config.yaml found! Use ' \
|
118
|
+
'`GettextSetup.initialize(locales_path)` to locate your config.yaml'
|
117
119
|
end
|
118
120
|
return FastGettext.default_locale if accept_header.nil?
|
121
|
+
|
119
122
|
available_locales = accept_header.split(',').map do |locale|
|
120
123
|
pair = locale.strip.split(';q=')
|
121
124
|
pair << '1.0' unless pair.size == 2
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'erb'
|
2
2
|
require 'json'
|
3
|
+
require 'date'
|
3
4
|
|
4
5
|
module GettextSetup
|
5
6
|
module MetadataPot
|
@@ -13,7 +14,7 @@ module GettextSetup
|
|
13
14
|
|
14
15
|
def self.metadata(metadata_file = 'metadata.json')
|
15
16
|
if File.exist?(metadata_file)
|
16
|
-
file = open(metadata_file)
|
17
|
+
file = File.open(metadata_file)
|
17
18
|
json = file.read
|
18
19
|
JSON.parse(json)
|
19
20
|
else
|
@@ -28,7 +29,7 @@ module GettextSetup
|
|
28
29
|
end
|
29
30
|
|
30
31
|
def self.generate_metadata_pot(pot_metadata = metadata, path = metadata_path)
|
31
|
-
open(path, 'w') do |f|
|
32
|
+
File.open(path, 'w') do |f|
|
32
33
|
f << pot_string(pot_metadata)
|
33
34
|
end
|
34
35
|
end
|
data/lib/gettext-setup/pot.rb
CHANGED
@@ -25,28 +25,39 @@ module GettextSetup
|
|
25
25
|
|
26
26
|
def self.pot_file_path
|
27
27
|
return if GettextSetup.locales_path.nil?
|
28
|
+
|
28
29
|
return if GettextSetup.config['project_name'].nil?
|
30
|
+
|
29
31
|
File.join(GettextSetup.locales_path, GettextSetup.config['project_name'] + '.pot')
|
30
32
|
end
|
31
33
|
|
32
34
|
def self.po_file_path(language)
|
33
35
|
return if GettextSetup.locales_path.nil?
|
36
|
+
|
34
37
|
return if GettextSetup.config['project_name'].nil?
|
38
|
+
|
35
39
|
return if language.nil?
|
40
|
+
|
36
41
|
File.join(GettextSetup.locales_path, language, GettextSetup.config['project_name'] + '.po')
|
37
42
|
end
|
38
43
|
|
39
44
|
def self.string_changes?(old_pot, new_pot)
|
40
45
|
# Warnings will be in another language if locale is not set to en_US
|
41
46
|
_, stderr, status = Open3.capture3("LANG=en_US msgcmp --use-untranslated '#{old_pot}' '#{new_pot}'")
|
42
|
-
if status.exitstatus == 1 ||
|
47
|
+
return true if status.exitstatus == 1 || \
|
48
|
+
/this message is not used/.match(stderr) || \
|
49
|
+
/this message is used but not defined/.match(stderr)
|
50
|
+
|
51
|
+
if stderr =~ /msgcmp: command not found/
|
52
|
+
puts 'Warning - msgcmp is not present on the system'
|
43
53
|
return true
|
44
54
|
end
|
45
|
-
|
55
|
+
|
56
|
+
false
|
46
57
|
rescue IOError
|
47
58
|
# probably means msgcmp is not present on the system
|
48
59
|
# so return true to be on the safe side
|
49
|
-
|
60
|
+
true
|
50
61
|
end
|
51
62
|
|
52
63
|
# @param [:locales_path] opts
|
@@ -176,6 +187,7 @@ module GettextSetup
|
|
176
187
|
_, _, _, wait = Open3.popen3(cmd)
|
177
188
|
exitstatus = wait.value
|
178
189
|
raise 'PO files failed to merge' unless exitstatus.success?
|
190
|
+
|
179
191
|
puts "PO files have been successfully merged, #{target_filename} has been created."
|
180
192
|
exitstatus
|
181
193
|
end
|
@@ -164,7 +164,7 @@ describe GettextSetup::Pot do
|
|
164
164
|
before :all do
|
165
165
|
{ 'ruby' => 'ruby.pot', 'puppet' => 'puppet.pot', 'metadata' => 'metadata.pot' }.each do |pot_type, pot_name|
|
166
166
|
File.open(File.join(merge_locales_path, pot_name), 'w') do |file|
|
167
|
-
file.write
|
167
|
+
file.write <<POT
|
168
168
|
# Copyright (C) 2017 Puppet, Inc.
|
169
169
|
# This file is distributed under the same license as the puppetlabs-mysql package.
|
170
170
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2017.
|
@@ -186,7 +186,7 @@ describe GettextSetup::Pot do
|
|
186
186
|
#: ../lib/puppet/parser/functions/mysql_strip_hash.rb:11
|
187
187
|
msgid "this is a #{pot_type} string"
|
188
188
|
msgstr ""
|
189
|
-
|
189
|
+
POT
|
190
190
|
end
|
191
191
|
end
|
192
192
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gettext-setup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.31'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-08-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fast_gettext
|
@@ -223,32 +223,31 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
223
223
|
- !ruby/object:Gem::Version
|
224
224
|
version: '0'
|
225
225
|
requirements: []
|
226
|
-
|
227
|
-
rubygems_version: 2.5.1
|
226
|
+
rubygems_version: 3.0.3
|
228
227
|
signing_key:
|
229
228
|
specification_version: 4
|
230
229
|
summary: A gem to ease internationalization with fast_gettext
|
231
230
|
test_files:
|
231
|
+
- spec/spec_helper.rb
|
232
|
+
- spec/lib/tasks/gettext_rake_spec.rb
|
233
|
+
- spec/lib/gettext-setup/pot_spec.rb
|
234
|
+
- spec/lib/gettext-setup/metadata_pot_spec.rb
|
235
|
+
- spec/lib/gettext-setup/gettext_setup_spec.rb
|
236
|
+
- spec/fixtures/fixture_locales/test_strings.rb
|
232
237
|
- spec/fixtures/fixture_locales/config.yaml
|
233
238
|
- spec/fixtures/fixture_locales/fixture_locales.pot
|
234
239
|
- spec/fixtures/fixture_locales/jp/fixture_locales.po
|
235
|
-
- spec/fixtures/
|
240
|
+
- spec/fixtures/locales/sinatra-i18n.pot
|
236
241
|
- spec/fixtures/locales/config.yaml
|
237
242
|
- spec/fixtures/locales/de/sinatra-i18n.po
|
238
|
-
- spec/fixtures/locales/sinatra-i18n.pot
|
239
243
|
- spec/fixtures/merge_locales/config.yaml
|
240
|
-
- spec/fixtures/spec_locales/config.yaml
|
241
|
-
- spec/fixtures/spec_locales/sinatra-i18n.pot
|
242
|
-
- spec/fixtures/string_changes/add.pot
|
243
|
-
- spec/fixtures/string_changes/change.pot
|
244
244
|
- spec/fixtures/string_changes/non_string_changes.pot
|
245
|
-
- spec/fixtures/string_changes/old.pot
|
246
245
|
- spec/fixtures/string_changes/remove.pot
|
246
|
+
- spec/fixtures/string_changes/old.pot
|
247
|
+
- spec/fixtures/string_changes/change.pot
|
248
|
+
- spec/fixtures/string_changes/add.pot
|
249
|
+
- spec/fixtures/spec_locales/sinatra-i18n.pot
|
250
|
+
- spec/fixtures/spec_locales/config.yaml
|
251
|
+
- spec/fixtures/tmp_locales/sinatra-i18n.pot
|
247
252
|
- spec/fixtures/tmp_locales/config.yaml
|
248
253
|
- spec/fixtures/tmp_locales/de/sinatra-i18n.po
|
249
|
-
- spec/fixtures/tmp_locales/sinatra-i18n.pot
|
250
|
-
- spec/lib/gettext-setup/gettext_setup_spec.rb
|
251
|
-
- spec/lib/gettext-setup/metadata_pot_spec.rb
|
252
|
-
- spec/lib/gettext-setup/pot_spec.rb
|
253
|
-
- spec/lib/tasks/gettext_rake_spec.rb
|
254
|
-
- spec/spec_helper.rb
|