gettext-setup 0.16 → 0.17
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/lib/gettext-setup/gettext_setup.rb +24 -9
- data/lib/tasks/gettext.rake +11 -6
- data/spec/fixtures/alt_locales/alt_locales.pot +25 -0
- data/spec/fixtures/alt_locales/config.yaml +22 -0
- data/spec/fixtures/alt_locales/jp/alt_locales.po +23 -0
- data/spec/lib/gettext_setup_spec.rb +45 -1
- metadata +88 -67
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 51e24d5a0de0289dfab4f0013cffdd6c753a97f5
|
4
|
+
data.tar.gz: 56b6f3143b3be413900d8fac7d409e53b9eb886a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4b8877f0d9a611c1af3c8bd01e14d1e513cee3a8f8dd65397f9be38ce08fd98880ee09535d5c4a68f6f9780746e37a14704e4140e758da22c7da155b5e76cf48
|
7
|
+
data.tar.gz: 3f30f76c29b8e1da5a2a87b43e9e1c1ad83192974b13d05281620b20e549900361812c2f825c06e15a93f7f064f019c10f89229afd76eb2a9ed55319917dcdc2
|
@@ -5,6 +5,8 @@ require 'locale'
|
|
5
5
|
|
6
6
|
module GettextSetup
|
7
7
|
@@config = nil
|
8
|
+
@@translation_repositories = {}
|
9
|
+
FastGettext.default_available_locales = []
|
8
10
|
|
9
11
|
# `locales_path` should include:
|
10
12
|
# - config.yaml
|
@@ -24,19 +26,28 @@ module GettextSetup
|
|
24
26
|
# Define our text domain, and set the path into our root. I would prefer to
|
25
27
|
# have something smarter, but we really want this up earlier even than our
|
26
28
|
# config loading happens so that errors there can be translated.
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
FastGettext.
|
29
|
+
add_repository_to_chain(config['project_name'], options)
|
30
|
+
|
31
|
+
# 'chain' is the only available multi-domain type in fast_gettext 1.1.0 We should consider
|
32
|
+
# investigating 'merge' once we can bump our dependency
|
33
|
+
FastGettext.add_text_domain('master_domain', type: :chain, chain: @@translation_repositories.values)
|
34
|
+
FastGettext.default_text_domain = 'master_domain'
|
32
35
|
|
33
36
|
# Likewise, be explicit in our default language choice.
|
34
37
|
FastGettext.default_locale = default_locale
|
35
|
-
FastGettext.default_available_locales = locales
|
38
|
+
FastGettext.default_available_locales = FastGettext.default_available_locales | locales
|
36
39
|
|
37
40
|
Locale.set_default(default_locale)
|
38
41
|
end
|
39
42
|
|
43
|
+
def self.add_repository_to_chain(project_name,options)
|
44
|
+
repository = FastGettext::TranslationRepository.build(project_name,
|
45
|
+
:path => locales_path,
|
46
|
+
:type => options[:file_format] || :po,
|
47
|
+
:ignore_fuzzy => false)
|
48
|
+
@@translation_repositories[project_name] = repository unless @@translation_repositories.key? project_name
|
49
|
+
end
|
50
|
+
|
40
51
|
def self.locales_path
|
41
52
|
@@locales_path
|
42
53
|
end
|
@@ -45,6 +56,10 @@ module GettextSetup
|
|
45
56
|
@@config ||= {}
|
46
57
|
end
|
47
58
|
|
59
|
+
def self.translation_repositories
|
60
|
+
@@translation_repositories
|
61
|
+
end
|
62
|
+
|
48
63
|
def self.default_locale
|
49
64
|
config['default_locale'] || "en"
|
50
65
|
end
|
@@ -86,12 +101,12 @@ module GettextSetup
|
|
86
101
|
pair[0] = FastGettext.default_locale if pair[0] == '*'
|
87
102
|
pair
|
88
103
|
end.sort_by do |(locale,qvalue)|
|
89
|
-
qvalue.to_f
|
104
|
+
-1 * qvalue.to_f
|
90
105
|
end.select do |(locale,_)|
|
91
106
|
FastGettext.available_locales.include?(locale)
|
92
107
|
end
|
93
|
-
if available_locales and available_locales.
|
94
|
-
available_locales.
|
108
|
+
if available_locales and available_locales.first
|
109
|
+
available_locales.first.first
|
95
110
|
else
|
96
111
|
# We can't satisfy the request preference. Just use the default locale.
|
97
112
|
default_locale
|
data/lib/tasks/gettext.rake
CHANGED
@@ -66,13 +66,18 @@ namespace :gettext do
|
|
66
66
|
old_pot = pot_file_path + ".old"
|
67
67
|
File.rename(pot_file_path, old_pot)
|
68
68
|
generate_new_pot
|
69
|
-
|
70
|
-
|
69
|
+
begin
|
70
|
+
_, stderr, status = Open3.capture3("msgcmp --use-untranslated '#{old_pot}' '#{pot_file_path}'")
|
71
|
+
if status == 1 || /this message is not used/.match(stderr)
|
72
|
+
File.delete(old_pot)
|
73
|
+
puts "String changes detected, replacing with updated POT file"
|
74
|
+
else
|
75
|
+
puts "No string changes detected, keeping old POT file"
|
76
|
+
File.rename(old_pot, pot_file_path)
|
77
|
+
end
|
78
|
+
rescue IOError
|
79
|
+
# Ignore; probably means msgcmp isn't installed.
|
71
80
|
File.delete(old_pot)
|
72
|
-
puts "String changes detected, replacing with updated POT file"
|
73
|
-
else
|
74
|
-
puts "No string changes detected, keeping old POT file"
|
75
|
-
File.rename(old_pot, pot_file_path)
|
76
81
|
end
|
77
82
|
end
|
78
83
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# SOME DESCRIPTIVE TITLE.
|
2
|
+
# Copyright (C) 2016 Puppet Labs, LLC.
|
3
|
+
# This file is distributed under the same license as the Sinatra i18n demo package.
|
4
|
+
# FIRST AUTHOR <EMAIL@ADDRESS>, 2016.
|
5
|
+
#
|
6
|
+
#, fuzzy
|
7
|
+
msgid ""
|
8
|
+
msgstr ""
|
9
|
+
"Project-Id-Version: alt_locales init-11-ga532a06\n"
|
10
|
+
"\n"
|
11
|
+
"Report-Msgid-Bugs-To: docs@puppetlabs.com\n"
|
12
|
+
"POT-Creation-Date: 2016-06-07 17:38-0500\n"
|
13
|
+
"PO-Revision-Date: 2016-06-07 17:38-0500\n"
|
14
|
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
15
|
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
16
|
+
"Language: \n"
|
17
|
+
"MIME-Version: 1.0\n"
|
18
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
19
|
+
"Content-Transfer-Encoding: 8bit\n"
|
20
|
+
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
21
|
+
|
22
|
+
#. GettextSetup.initialize(File::join(File::dirname(File::dirname(__FILE__)), 'fixtures'))
|
23
|
+
#: ../../lib/gettext_setup_spec.rb:25
|
24
|
+
msgid "Hello, world!"
|
25
|
+
msgstr ""
|
@@ -0,0 +1,22 @@
|
|
1
|
+
---
|
2
|
+
# This is the project-specific configuration file for setting up
|
3
|
+
# fast_gettext for your project.
|
4
|
+
gettext:
|
5
|
+
# This is used for the name of the .pot and .po files; they will be
|
6
|
+
# called <project_name>.pot?
|
7
|
+
project_name: 'alt_locales'
|
8
|
+
# This is used in comments in the .pot and .po files to indicate what
|
9
|
+
# project the files belong to and should bea little more desctiptive than
|
10
|
+
# <project_name>
|
11
|
+
package_name: alt_locales
|
12
|
+
# The locale that the default messages in the .pot file are in
|
13
|
+
default_locale: en
|
14
|
+
# The email used for sending bug reports.
|
15
|
+
bugs_address: docs@puppetlabs.com
|
16
|
+
# The holder of the copyright.
|
17
|
+
copyright_holder: Puppet Labs, LLC.
|
18
|
+
# Patterns for +Dir.glob+ used to find all files that might contain
|
19
|
+
# translatable content, relative to the project root directory
|
20
|
+
source_files:
|
21
|
+
- 'test_translation.rb'
|
22
|
+
- '../lib/**/*.rb'
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# German translations for Sinatra i18n demo package.
|
2
|
+
# Copyright (C) 2016 Puppet Labs, LLC.
|
3
|
+
# This file is distributed under the same license as the Sinatra i18n demo package.
|
4
|
+
# Automatically generated, 2016.
|
5
|
+
#
|
6
|
+
msgid ""
|
7
|
+
msgstr ""
|
8
|
+
"Project-Id-Version: Sinatra i18n demo \n"
|
9
|
+
"Report-Msgid-Bugs-To: docs@puppetlabs.com\n"
|
10
|
+
"POT-Creation-Date: 2016-04-05 10:39-0700\n"
|
11
|
+
"PO-Revision-Date: 2016-02-26 18:21-0800\n"
|
12
|
+
"Last-Translator: Automatically generated\n"
|
13
|
+
"Language-Team: none\n"
|
14
|
+
"Language: jp\n"
|
15
|
+
"MIME-Version: 1.0\n"
|
16
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
17
|
+
"Content-Transfer-Encoding: 8bit\n"
|
18
|
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
19
|
+
|
20
|
+
#: ../app.rb:14
|
21
|
+
msgid "Hello, world!"
|
22
|
+
msgstr "こんにちは世界"
|
23
|
+
|
@@ -31,6 +31,9 @@ describe GettextSetup do
|
|
31
31
|
expect(GettextSetup.negotiate_locale('en;q=1, de;q=2')).to eq('de')
|
32
32
|
expect(GettextSetup.negotiate_locale('en;q=1, de;q=0')).to eq('en')
|
33
33
|
end
|
34
|
+
it "chooses the first value when q values are equal" do
|
35
|
+
expect(GettextSetup.negotiate_locale('de;q=1, en;q=1')).to eq('de')
|
36
|
+
end
|
34
37
|
end
|
35
38
|
context 'set_default_locale' do
|
36
39
|
before :each do
|
@@ -45,10 +48,51 @@ describe GettextSetup do
|
|
45
48
|
context 'clear' do
|
46
49
|
it "can clear the locale" do
|
47
50
|
expect(GettextSetup.default_locale).to eq('en')
|
48
|
-
expect(GettextSetup.candidate_locales).to
|
51
|
+
expect(GettextSetup.candidate_locales).to include('en')
|
49
52
|
GettextSetup.clear
|
50
53
|
ENV['LANG'] = 'de_DE'
|
51
54
|
expect(GettextSetup.candidate_locales).to eq('de_DE,de,en')
|
52
55
|
end
|
53
56
|
end
|
57
|
+
context 'multiple locales' do
|
58
|
+
# locales/ loads the de locale and alt_locales/ loads the jp locale
|
59
|
+
before(:all) do
|
60
|
+
GettextSetup.initialize(File::join(File::dirname(File::dirname(__FILE__)), 'fixtures', 'alt_locales'))
|
61
|
+
end
|
62
|
+
it 'can aggregate locales across projects' do
|
63
|
+
expect(FastGettext.default_available_locales).to include('en','de','jp')
|
64
|
+
end
|
65
|
+
it 'can switch to loaded locale' do
|
66
|
+
FastGettext.locale = GettextSetup.negotiate_locale('de,en')
|
67
|
+
expect(FastGettext.locale).to eq('de')
|
68
|
+
FastGettext.locale = GettextSetup.negotiate_locale('jp')
|
69
|
+
expect(FastGettext.locale).to eq('jp')
|
70
|
+
end
|
71
|
+
end
|
72
|
+
context 'translation repository chain' do
|
73
|
+
before(:all) do
|
74
|
+
GettextSetup.initialize(File::join(File::dirname(File::dirname(__FILE__)), 'fixtures', 'alt_locales'))
|
75
|
+
end
|
76
|
+
it 'chain is not nil' do
|
77
|
+
expect(GettextSetup.translation_repositories).not_to be_nil
|
78
|
+
end
|
79
|
+
it 'can translate without switching text domains' do
|
80
|
+
FastGettext.locale = "de"
|
81
|
+
expect(_('Hello, world!')).to eq('Hallo, Welt!')
|
82
|
+
FastGettext.locale = "jp"
|
83
|
+
expect(_('Hello, world!')).to eq('こんにちは世界')
|
84
|
+
end
|
85
|
+
it 'does not allow duplicate repositories' do
|
86
|
+
GettextSetup.initialize(File::join(File::dirname(File::dirname(__FILE__)), 'fixtures', 'alt_locales'))
|
87
|
+
repos = GettextSetup.translation_repositories
|
88
|
+
expect(repos.select { |k,v| k == 'alt_locales' }.size).to eq(1)
|
89
|
+
end
|
90
|
+
it 'does allow multiple unique domains' do
|
91
|
+
GettextSetup.initialize(File::join(File::dirname(File::dirname(__FILE__)), 'fixtures', 'locales'))
|
92
|
+
repos = GettextSetup.translation_repositories
|
93
|
+
expect(repos.size) == 2
|
94
|
+
expect(repos.select { |k,v| k == 'alt_locales' }.size).to eq(1)
|
95
|
+
expect(repos.select { |k,v| k == 'sinatra-i18n' }.size).to eq(1)
|
96
|
+
end
|
97
|
+
end
|
54
98
|
end
|
metadata
CHANGED
@@ -1,181 +1,195 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gettext-setup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.17'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
+
name: fast_gettext
|
14
15
|
requirement: !ruby/object:Gem::Requirement
|
15
16
|
requirements:
|
16
|
-
- -
|
17
|
+
- - "~>"
|
17
18
|
- !ruby/object:Gem::Version
|
18
|
-
version:
|
19
|
-
name: gettext
|
20
|
-
prerelease: false
|
19
|
+
version: 1.1.0
|
21
20
|
type: :runtime
|
21
|
+
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 1.1.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
+
name: locale
|
28
29
|
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
|
-
- -
|
31
|
+
- - ">="
|
31
32
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
33
|
-
name: fast_gettext
|
34
|
-
prerelease: false
|
33
|
+
version: '0'
|
35
34
|
type: :runtime
|
35
|
+
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
42
43
|
requirement: !ruby/object:Gem::Requirement
|
43
44
|
requirements:
|
44
|
-
- -
|
45
|
+
- - "~>"
|
45
46
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
47
|
-
|
47
|
+
version: '1.3'
|
48
|
+
type: :development
|
48
49
|
prerelease: false
|
49
|
-
type: :runtime
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '1.3'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
+
name: gettext
|
56
57
|
requirement: !ruby/object:Gem::Requirement
|
57
58
|
requirements:
|
58
|
-
- -
|
59
|
+
- - ">="
|
59
60
|
- !ruby/object:Gem::Version
|
60
|
-
version:
|
61
|
-
name: bundler
|
62
|
-
prerelease: false
|
61
|
+
version: 3.0.2
|
63
62
|
type: :development
|
63
|
+
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 3.0.2
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
70
71
|
requirement: !ruby/object:Gem::Requirement
|
71
72
|
requirements:
|
72
|
-
- -
|
73
|
+
- - ">="
|
73
74
|
- !ruby/object:Gem::Version
|
74
75
|
version: '0'
|
75
|
-
name: rake
|
76
|
-
prerelease: false
|
77
76
|
type: :development
|
77
|
+
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
+
name: rack-test
|
84
85
|
requirement: !ruby/object:Gem::Requirement
|
85
86
|
requirements:
|
86
|
-
- -
|
87
|
+
- - ">="
|
87
88
|
- !ruby/object:Gem::Version
|
88
89
|
version: '0'
|
89
|
-
name: rack-test
|
90
|
-
prerelease: false
|
91
90
|
type: :development
|
91
|
+
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
+
name: rspec
|
98
99
|
requirement: !ruby/object:Gem::Requirement
|
99
100
|
requirements:
|
100
|
-
- - ~>
|
101
|
+
- - "~>"
|
101
102
|
- !ruby/object:Gem::Version
|
102
103
|
version: '3.1'
|
103
|
-
name: rspec
|
104
|
-
prerelease: false
|
105
104
|
type: :development
|
105
|
+
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - ~>
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '3.1'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
+
name: rspec-core
|
112
113
|
requirement: !ruby/object:Gem::Requirement
|
113
114
|
requirements:
|
114
|
-
- - ~>
|
115
|
+
- - "~>"
|
115
116
|
- !ruby/object:Gem::Version
|
116
117
|
version: '3.1'
|
117
|
-
name: rspec-core
|
118
|
-
prerelease: false
|
119
118
|
type: :development
|
119
|
+
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - ~>
|
122
|
+
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '3.1'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
+
name: rspec-expectations
|
126
127
|
requirement: !ruby/object:Gem::Requirement
|
127
128
|
requirements:
|
128
|
-
- - ~>
|
129
|
+
- - "~>"
|
129
130
|
- !ruby/object:Gem::Version
|
130
131
|
version: '3.1'
|
131
|
-
name: rspec-expectations
|
132
|
-
prerelease: false
|
133
132
|
type: :development
|
133
|
+
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- - ~>
|
136
|
+
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '3.1'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
|
+
name: rspec-mocks
|
140
141
|
requirement: !ruby/object:Gem::Requirement
|
141
142
|
requirements:
|
142
|
-
- - ~>
|
143
|
+
- - "~>"
|
143
144
|
- !ruby/object:Gem::Version
|
144
145
|
version: '3.1'
|
145
|
-
name: rspec-mocks
|
146
|
-
prerelease: false
|
147
146
|
type: :development
|
147
|
+
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- - ~>
|
150
|
+
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '3.1'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
|
+
name: simplecov
|
154
155
|
requirement: !ruby/object:Gem::Requirement
|
155
156
|
requirements:
|
156
|
-
- -
|
157
|
+
- - ">="
|
157
158
|
- !ruby/object:Gem::Version
|
158
159
|
version: '0'
|
159
|
-
name: simplecov
|
160
|
-
prerelease: false
|
161
160
|
type: :development
|
161
|
+
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
|
-
- -
|
164
|
+
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '0'
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
|
+
name: webmock
|
168
169
|
requirement: !ruby/object:Gem::Requirement
|
169
170
|
requirements:
|
170
|
-
- -
|
171
|
+
- - ">="
|
171
172
|
- !ruby/object:Gem::Version
|
172
173
|
version: '0'
|
173
|
-
|
174
|
+
type: :development
|
174
175
|
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: rubocop
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
175
188
|
type: :development
|
189
|
+
prerelease: false
|
176
190
|
version_requirements: !ruby/object:Gem::Requirement
|
177
191
|
requirements:
|
178
|
-
- -
|
192
|
+
- - ">="
|
179
193
|
- !ruby/object:Gem::Version
|
180
194
|
version: '0'
|
181
195
|
description: A gem to ease i18n
|
@@ -191,6 +205,9 @@ files:
|
|
191
205
|
- lib/gettext-setup/gettext_setup.rb
|
192
206
|
- lib/tasks/gettext.rake
|
193
207
|
- locales/config-sample.yaml
|
208
|
+
- spec/fixtures/alt_locales/alt_locales.pot
|
209
|
+
- spec/fixtures/alt_locales/config.yaml
|
210
|
+
- spec/fixtures/alt_locales/jp/alt_locales.po
|
194
211
|
- spec/fixtures/locales/config.yaml
|
195
212
|
- spec/fixtures/locales/de/sinatra-i18n.po
|
196
213
|
- spec/fixtures/locales/sinatra-i18n.pot
|
@@ -200,29 +217,33 @@ homepage: https://github.com/puppetlabs/gettext-setup-gem
|
|
200
217
|
licenses:
|
201
218
|
- Apache-2.0
|
202
219
|
metadata: {}
|
203
|
-
post_install_message:
|
220
|
+
post_install_message:
|
204
221
|
rdoc_options: []
|
205
222
|
require_paths:
|
206
223
|
- lib
|
207
224
|
required_ruby_version: !ruby/object:Gem::Requirement
|
208
225
|
requirements:
|
209
|
-
- -
|
226
|
+
- - ">="
|
210
227
|
- !ruby/object:Gem::Version
|
211
|
-
version:
|
228
|
+
version: 1.9.2
|
212
229
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
213
230
|
requirements:
|
214
|
-
- -
|
231
|
+
- - ">="
|
215
232
|
- !ruby/object:Gem::Version
|
216
233
|
version: '0'
|
217
234
|
requirements: []
|
218
|
-
rubyforge_project:
|
219
|
-
rubygems_version: 2.
|
220
|
-
signing_key:
|
235
|
+
rubyforge_project:
|
236
|
+
rubygems_version: 2.5.1
|
237
|
+
signing_key:
|
221
238
|
specification_version: 4
|
222
239
|
summary: A gem to ease internationalization with fast_gettext
|
223
240
|
test_files:
|
224
|
-
- spec/
|
241
|
+
- spec/fixtures/alt_locales/alt_locales.pot
|
242
|
+
- spec/fixtures/alt_locales/config.yaml
|
243
|
+
- spec/fixtures/alt_locales/jp/alt_locales.po
|
225
244
|
- spec/fixtures/locales/config.yaml
|
226
|
-
- spec/fixtures/locales/sinatra-i18n.pot
|
227
245
|
- spec/fixtures/locales/de/sinatra-i18n.po
|
246
|
+
- spec/fixtures/locales/sinatra-i18n.pot
|
228
247
|
- spec/lib/gettext_setup_spec.rb
|
248
|
+
- spec/spec_helper.rb
|
249
|
+
has_rdoc:
|