fast_gettext 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3b7df1ae6f9c9acae6fe82a22b0ce3efd1d545c9d814447070ebb59652a7fd71
4
- data.tar.gz: 05af6efd5f93f5ea8bf2f8be7314566d0238781f7d809799823223ec01866ce4
3
+ metadata.gz: 91bc0d49ead2bfbfad8065858e52255dfcd9938cb547f0b20984bb12cc202380
4
+ data.tar.gz: 45c2e546d2041e36b82a4d82593d4b1c014d46da561996037a76d6e911ed2cdb
5
5
  SHA512:
6
- metadata.gz: b0df4b37e9837b4661cf7c0cbef1c75144c3c2804b2da4110a4850c08eb3084a91cd419ffb5c796eff30ee96860d87cb555a3cb2bd3e99e25db64731868a08ff
7
- data.tar.gz: dc6f882c3c3fa4ea1c3fc2399077d149c3e981124de8f9da99e0ee7bdf2fd248ac74131cc92f9167d05ef15a04eb2ba4e25780ea1f8bc9ecfe04795776704310
6
+ metadata.gz: 1120024578b173fb99e2bf879b22654723efede889a98d7d950c8201aef11261566f6c70a6247f8ce937fef9f7ec88fe1a6dc9a874331e6cc41fbed55cc651f2
7
+ data.tar.gz: 6cdbf2dcec813b6fb0c0da4b87af33c372a2f87ea177fdafd0203cf3f45f565a5fe64b4e41fe4fedcd4450ec1a7196d4c5a015df35470b4cfdb8b21e4037b137
data/Readme.md CHANGED
@@ -95,8 +95,8 @@ FastGettext.locale = 'de'
95
95
 
96
96
  ### 4. Start translating
97
97
 
98
- FastGetText supports all the translation methods of [ruby-gettext](http://github.com/ruby-gettext/gettext) with added support for block defaults.
99
- (to get `*gettext` methods, use `FastGetText::TranslationAliased`)
98
+ FastGettext supports all the translation methods of [ruby-gettext](http://github.com/ruby-gettext/gettext) with added support for block defaults.
99
+ (to get `*gettext` methods, use `FastGettext::TranslationAliased`)
100
100
 
101
101
  #### `_()` or `gettext()`: basic translation
102
102
 
@@ -116,7 +116,7 @@ n_('Car', 'Cars', 2) == 'Autos' # German plural of Cars
116
116
  You'll often want to interpolate the results of `n_()` using ruby builtin `%` operator.
117
117
 
118
118
  ```ruby
119
- n_('Car', '#{n} Cars', 2) % { n: count } == '2 Autos'
119
+ n_('Car', '%{n} Cars', 2) % { n: count } == '2 Autos'
120
120
  ```
121
121
 
122
122
  #### `p_()` or `pgettext()`: translation with context
@@ -126,7 +126,7 @@ p_('File', 'Open') == _("File\004Open") == "öffnen"
126
126
  p_('Context', 'not-found') == 'not-found'
127
127
  ```
128
128
 
129
- #### `s_()` or `sgetext()`: translation with namespace
129
+ #### `s_()` or `sgettext()`: translation with namespace
130
130
 
131
131
  ```ruby
132
132
  s_('File|Open') == _('File|Open') == "öffnen"
@@ -153,13 +153,13 @@ sn_('Fruit|Apple', 'Apples', 1) == 'Apfel'
153
153
 
154
154
  #### `N_()` and `Nn_()`: make dynamic translations available to the parser.
155
155
 
156
- In many instances, your strings will not be found the by the ruby-parse. These methods
156
+ In many instances, your strings will not be found by the ruby parsing. These methods
157
157
  allow for those strings to be discovered.
158
158
 
159
159
  ```
160
160
  N_("active"); N_("inactive"); N_("paused") # possible value of status for parser to find.
161
161
  Nn_("active", "inactive", "paused") # alternative method
162
- _("Your account is #{account_state}.") % { account_state: status }
162
+ _("Your account is %{account_state}.") % { account_state: _(status) }
163
163
  ```
164
164
 
165
165
 
@@ -180,7 +180,7 @@ Use the [original GetText](http://github.com/ruby-gettext/gettext) to create and
180
180
 
181
181
  ### Database
182
182
  [Example migration for ActiveRecord](http://github.com/grosser/fast_gettext/blob/master/examples/db/migration.rb)<br/>
183
- The default plural separator is `||||` but you may overwrite it (or suggest a better one..).
183
+ The default plural separator is `||||` but you may overwrite it (or suggest a better one...).
184
184
 
185
185
  This is usable with any model DataMapper/Sequel or any other(non-database) backend, the only thing you need to do is respond to the self.translation(key, locale) call.
186
186
  If you want to use your own models, have a look at the [default models](http://github.com/grosser/fast_gettext/tree/master/lib/fast_gettext/translation_repository/db_models) to see what you want/need to implement.
@@ -305,7 +305,7 @@ Unfound may not always mean missing, if you choose not to translate a word becau
305
305
  A lambda or anything that responds to `call` will do as callback. A good starting point may be `examples/missing_translations_logger.rb`.
306
306
 
307
307
  ### Plugins
308
- Want a xml version ?
308
+ Want an xml version?
309
309
  Write your own TranslationRepository!
310
310
 
311
311
  ```Ruby
@@ -362,7 +362,7 @@ Alternatively you can use [merge repository](https://github.com/grosser/fast_get
362
362
 
363
363
  #### Block defaults
364
364
 
365
- All the translation methods (includ MultiDomain) support a block default, a feature not provided by ruby-gettext. When a translation is
365
+ All the translation methods (including MultiDomain) support a block default, a feature not provided by ruby-gettext. When a translation is
366
366
  not found, if a block is provided the block is always returned. Otherwise, a key is returned. Methods doing pluralization will attempt a simple translation of alternate keys.
367
367
 
368
368
  ```ruby
@@ -422,4 +422,4 @@ Mo/Po-file parsing from Masao Mutoh, see vendor/README
422
422
  [Michael Grosser](http://grosser.it)<br/>
423
423
  michael@grosser.it<br/>
424
424
  License: MIT, some vendor parts under the same license terms as Ruby (see headers)<br/>
425
- [![Build Status](https://travis-ci.org/grosser/fast_gettext.png)](https://travis-ci.org/grosser/fast_gettext)
425
+ [![CI](https://github.com/grosser/fast_gettext/actions/workflows/actions.yml/badge.svg)](https://github.com/grosser/fast_gettext/actions/workflows/actions.yml)
@@ -11,6 +11,7 @@ module FastGettext
11
11
  # file => path or FastGettext::GetText::MOFile
12
12
  def initialize(file, options = {})
13
13
  @filename = file
14
+ @data = nil
14
15
  load_data if options[:eager_load]
15
16
  end
16
17
 
@@ -172,7 +172,7 @@ module FastGettext
172
172
  locales = locales.to_s.gsub(/\s/, '')
173
173
  found = [[]]
174
174
  locales.split(',').each do |part|
175
- if part =~ /;q=/ # contains language and weight ?
175
+ if part.include? ';q=' # contains language and weight ?
176
176
  found.last << part.split(/;q=/)
177
177
  found.last.flatten!
178
178
  found << []
@@ -47,7 +47,7 @@ module FastGettext
47
47
  Dir[File.join(path, '*')].each do |locale_folder|
48
48
  next unless File.basename(locale_folder) =~ LOCALE_REX
49
49
 
50
- file = File.join(locale_folder, relative_file_path).untaint
50
+ file = File.join(locale_folder, relative_file_path)
51
51
  next unless File.exist? file
52
52
 
53
53
  locale = File.basename(locale_folder)
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'active_record'
4
3
  module FastGettext
5
4
  module TranslationRepository
6
5
  # Responsibility:
@@ -31,7 +30,7 @@ module FastGettext
31
30
  end
32
31
 
33
32
  def pluralisation_rule
34
- @model.pluralsation_rule if @model.respond_to? :pluralsation_rule
33
+ @model.pluralisation_rule if @model.respond_to? :pluralisation_rule
35
34
  end
36
35
 
37
36
  def [](key)
@@ -51,6 +50,7 @@ module FastGettext
51
50
  end
52
51
 
53
52
  def self.require_models
53
+ require 'active_record'
54
54
  folder = "fast_gettext/translation_repository/db_models"
55
55
  require "#{folder}/translation_key"
56
56
  require "#{folder}/translation_text"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FastGettext
4
- VERSION = Version = '2.0.0' # rubocop:disable Naming/ConstantName
4
+ VERSION = Version = '2.1.0' # rubocop:disable Naming/ConstantName
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fast_gettext
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Grosser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-21 00:00:00.000000000 Z
11
+ date: 2021-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -94,20 +94,6 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: wwtd
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
97
  - !ruby/object:Gem::Dependency
112
98
  name: rubocop
113
99
  requirement: !ruby/object:Gem::Requirement
@@ -195,15 +181,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
195
181
  requirements:
196
182
  - - ">="
197
183
  - !ruby/object:Gem::Version
198
- version: 2.3.0
184
+ version: 2.5.0
199
185
  required_rubygems_version: !ruby/object:Gem::Requirement
200
186
  requirements:
201
187
  - - ">="
202
188
  - !ruby/object:Gem::Version
203
189
  version: '0'
204
190
  requirements: []
205
- rubyforge_project:
206
- rubygems_version: 2.7.6
191
+ rubygems_version: 3.2.16
207
192
  signing_key:
208
193
  specification_version: 4
209
194
  summary: A simple, fast, memory-efficient and threadsafe implementation of GetText