l10n 1.6.0 → 2.0.0

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
2
  SHA256:
3
- metadata.gz: 6644cfaf6aea0f30feeec78e291d9f5e8aa14533e768e0dfceb79848ffe596a8
4
- data.tar.gz: 515e0717bcd5fd57b9f564551f0f0a6e275d017713023385a7c36459ac87b95f
3
+ metadata.gz: 983a6cc561859d662fc97347df35643e42444b6c996b1ff224a327a0fe5dfe77
4
+ data.tar.gz: f4baa0c9c30895603cec6ec75c93236d1a9b8668e7d3f0912b2ae5303093cabe
5
5
  SHA512:
6
- metadata.gz: f1466c4890beff653f8614b0621095ce763c3512094086a61a1f38eb110e88d15661b3c4cc0c30b09db351b00d7a7f1824ef304c2f423af249425c87a542c82a
7
- data.tar.gz: 97b95622153d130ecf0a36a2e7e7149ec31d45df3eb129170d037e9b612694c7c24400a267b9634614002a9da6350ed486ceb279ebbbb80d1a1a2eb7aa9a8aab
6
+ metadata.gz: 9856cc22286c2cf3ec0731c46e047024f9963efdfd957126d6a0f659c0c435d8625b22b1aa2e2e70722b869d7663845c8879568fccab9e567450d1bdd73dc7df
7
+ data.tar.gz: 21bbb3ac8f822c9c70e2ce90fa74917bc621e86ea77dfd4ec87fcadbaf8d7cc39d0af425618bf2cae46b1736878b7680c1aa0f171fbea184abd982c3872260bd
data/CHANGELOG.md ADDED
@@ -0,0 +1,16 @@
1
+ ## 2.0.0 - Unreleased
2
+
3
+ - Support Rails 7
4
+ - use `to_lfs` instead of `to_formatted_s` which has been reclaimed by Rails
5
+ - JS: move implementation to ES module, drop JavaScriptHelper
6
+ - Inflections: drop ordinalization, provided by Rails now
7
+
8
+ ## 1.4.0 - 2018-06-21
9
+
10
+ - Removing jQuery dependency from i18n javascript
11
+
12
+ ## 1.1.0 - 2014-12-09
13
+
14
+ - Adding Time#l
15
+ - Adding I18n support for JavaScript
16
+ - Updating README
File without changes
data/README.md CHANGED
@@ -1,7 +1,10 @@
1
- [![Gem Version](https://badge.fury.io/rb/l10n.png)](http://badge.fury.io/rb/l10n) [![Build Status](https://travis-ci.org/mtgrosser/l10n.svg)](https://travis-ci.org/mtgrosser/l10n)
1
+ [![Gem Version](https://badge.fury.io/rb/l10n.png)](http://badge.fury.io/rb/l10n)
2
+ [![build](https://github.com/mtgrosser/l10n/actions/workflows/build.yml/badge.svg)](https://github.com/mtgrosser/l10n/actions/workflows/build.yml)
3
+
2
4
  # L10n - I18n that roarrrs
3
5
 
4
- L10n provides some useful extensions for Rails I18n, including column translations, localization of numeric form fields and JavaScript translation support.
6
+ L10n provides some useful extensions for Rails I18n, including column translations,
7
+ localization of numeric form fields and JavaScript translation support.
5
8
 
6
9
  ## Installation
7
10
 
@@ -98,18 +101,21 @@ I18n.locale = :de
98
101
 
99
102
  #### Formatting of numbers
100
103
 
101
- Calling `to_formatted_s` on `Numeric`s returns the number as a formatted string. The format is defined by the current locale and respects the decimal delimiters and separators defined in your `<locale>.yml`.
104
+ Calling `to_lfs` on `Numeric`s returns the number as a localized formatted string.
105
+ The format is defined by the current locale and respects the decimal delimiters
106
+ and separators defined in your `<locale>.yml`.
102
107
 
103
108
  ```ruby
104
- I18n.as('de') { 1234.5.to_formatted_s } => "1.234,50"
105
- I18n.as('en') { 1234.5.to_formatted_s } => "1,234.50"
109
+ I18n.as('de') { 1234.5.to_lfs } => "1.234,50"
110
+ I18n.as('en') { 1234.5.to_lfs } => "1,234.50"
106
111
  ```
107
112
 
108
113
  This also works with `BigDecimal`s.
109
114
 
110
115
  #### Localization of decimal separator and delimiter for numbers
111
116
 
112
- Localization converts decimal separators and delimiters between locales without re-formatting strings. `to_localized_s` can be called on any object.
117
+ Localization converts decimal separators and delimiters between locales without
118
+ re-formatting strings. `to_localized_s` can be called on any object.
113
119
 
114
120
  ```ruby
115
121
  I18n.as('de') { 1234.5.to_localized_s } => "1.234,5"
@@ -125,7 +131,9 @@ I18n.as(:en) { Numeric.localize('1,234.50') } => "1,234.50"
125
131
 
126
132
  ### Automatic localization of numeric values in Rails forms and models
127
133
 
128
- The `amount_field` form helper automatically formats numbers in the current locale. Numeric columns automatically convert the localized strings into numbers, respecting decimal delimiters and separators.
134
+ The `amount_field` form helper automatically formats numbers in the current locale.
135
+ Numeric columns automatically convert the localized strings into numbers,
136
+ respecting decimal delimiters and separators.
129
137
 
130
138
  ```ruby
131
139
  # in your template
@@ -145,7 +153,8 @@ I18n.locale = :en
145
153
 
146
154
  ### Accept-Language header parsing in ActionDispatch::Request
147
155
 
148
- The `Accept-Language` HTTP header will be parsed, and locales will be returned ordered by user preference. This comes in handy when setting the current locale in a `before_action`.
156
+ The `Accept-Language` HTTP header will be parsed, and locales will be returned ordered
157
+ by user preference. This comes in handy when setting the current locale in a `before_action`.
149
158
 
150
159
  ```ruby
151
160
  # in your controller
@@ -154,14 +163,15 @@ request.accept_locales => ["en-US", "en", "en-GB"]
154
163
 
155
164
  ### Javascript I18n, interpolation and pluralization
156
165
 
157
- If you need I18n support in your javascripts, require the `i18n` javascript from your `application.js`:
166
+ Due to the many different options of integrating JavaScript, the `l10n.js` file
167
+ is no longer provided as a standard Rails asset. Instead, it can be installed
168
+ manually using
158
169
 
159
- ```javascript
160
- /* application.js */
161
- //= require i18n
170
+ ```sh
171
+ rake l10n:install:js
162
172
  ```
163
173
 
164
- The JS `String` prototype is extended with a `t()` function, supporting translation, pluralization and interpolation:
174
+ Place your JavaScript translations below the `javascript` key:
165
175
 
166
176
  ```yaml
167
177
  # en.yml
@@ -174,14 +184,36 @@ en:
174
184
  other: '{count} apples'
175
185
  ```
176
186
 
187
+ Import the module:
188
+
189
+ ```javascript
190
+ import I18n from 'l10n';
191
+ ```
192
+
193
+ Render the translations either as JSON via an endpoint, or include them in a
194
+ `script` tag:
195
+
177
196
  ```ruby
178
- # in your application layout
179
- <%= i18n_script_tag %>
197
+ I18n.t(:javascript).to_json
180
198
  ```
181
199
 
200
+ Depending on the way the module is integrated, the translations can either be
201
+ set on the `I18n` object:
202
+
203
+ ```javascript
204
+ import I18n from 'l10n';
205
+ window.I18n = I18n;
206
+ I18n.translations = { "hello": "Hello {name}!", "apple": { "one": "{count} apple", "other": "{count} apples" } };
207
+
208
+ I18n.t("hello", { name: "JS" }) => "Hello JS!"
209
+ I18n.t("apple", { count: 5 }) => "5 apples"
210
+ ```
211
+
212
+ or you can supply them as an argument to the `translate` function:
213
+
182
214
  ```javascript
183
- // in any javascript
184
- "hello".t({ name: "JS" }) => "Hello JS!"
215
+ const translations = { "hello": "Hello {name}!", "apple": { "one": "{count} apple", "other": "{count} apples" } };
185
216
 
186
- "apple".t({ count: 5 }) => "5 apples"
217
+ I18n.t("hello", { "name": "JS"}, translations) => "Hello JS!"
218
+ I18n.t("apple", { count: 5 }, translations) => "5 apples"
187
219
  ```
@@ -0,0 +1,2 @@
1
+ say "Copy l10n.js to app/javascript"
2
+ copy_file "#{__dir__}/l10n.js", "app/javascript/l10n.js"
@@ -0,0 +1,45 @@
1
+ const I18n = {
2
+ translate: function(str, options, data) {
3
+ options = options || {};
4
+ var fallback = options['fallback'] || ('Translation missing: ' + str); // default is a JS reserved word
5
+ var translation, matches, method, match, interpolation_value;
6
+ var count = options['count'];
7
+ var keys = str.split('.');
8
+ var obj = data || this.translations;
9
+
10
+ var isString = function(value) {
11
+ return typeof value === 'string' || value instanceof String;
12
+ };
13
+
14
+ var isObject = function(value) {
15
+ return value && typeof value === 'object' && value.constructor === Object;
16
+ };
17
+
18
+ while(obj && keys.length) obj = obj[keys.shift()];
19
+ if (obj) {
20
+ if (isObject(obj) && count !== undefined) {
21
+ translation = obj[1 == count ? 'one' : 'other'];
22
+ } else {
23
+ translation = obj;
24
+ }
25
+ if (isString(translation) && (matches = translation.match(/{\w+?}/g))) {
26
+ while(match = matches.shift()) {
27
+ method = match.substr(1, match.length - 2);
28
+ interpolation_value = options[method];
29
+ if (interpolation_value == undefined) interpolation_value = ('undefined interpolation value: ' + method);
30
+ translation = translation.replace(new RegExp(match, 'g'), interpolation_value);
31
+ }
32
+ }
33
+ }
34
+ return translation || fallback;
35
+ },
36
+
37
+ t: function(str, options, data) {
38
+ return this.translate(str, options, data);
39
+ },
40
+
41
+ translations: {}
42
+
43
+ };
44
+
45
+ export default I18n;
@@ -1,8 +1,8 @@
1
1
  module L10n
2
2
  module CoreExtensions
3
3
  module DateTimeExt
4
- def localize(*args)
5
- I18n.l(self, *args)
4
+ def localize(*args, **kwargs)
5
+ I18n.l(self, *args, **kwargs)
6
6
  end
7
7
  alias :l :localize
8
8
  end
@@ -25,14 +25,16 @@ module L10n
25
25
  end
26
26
 
27
27
  module Formatting
28
- # un-deprecate method
29
- def to_formatted_s(format = :rounded, options = nil)
28
+ def to_localized_formatted_s(format = :rounded, options = nil)
30
29
  if options.nil? && format.is_a?(Hash)
31
30
  options = format
32
31
  format = :rounded
33
32
  end
34
- to_s(format, options || {})
33
+ options ||= {}
34
+ options[:locale] ||= I18n.locale
35
+ to_fs(format, options)
35
36
  end
37
+ alias_method :to_lfs, :to_localized_formatted_s
36
38
  end
37
39
 
38
40
  end
@@ -40,13 +42,7 @@ module L10n
40
42
  end
41
43
 
42
44
  Numeric.extend L10n::CoreExtensions::NumericExt::ClassMethods
43
-
44
- # Ruby 2.4+ unifies Fixnum & Bignum into Integer.
45
- numerics = 0.class == Integer ? [Integer] : [Fixnum, Bignum]
46
- numerics << Float
47
- numerics << Rational
48
-
49
- numerics.each do |klass|
45
+ [Integer, Float, BigDecimal, Rational].each do |klass|
50
46
  klass.include L10n::CoreExtensions::NumericExt::Localization
51
47
  klass.prepend L10n::CoreExtensions::NumericExt::Formatting
52
48
  end
@@ -8,4 +8,4 @@ module L10n
8
8
  end
9
9
  end
10
10
 
11
- Object.send :include, L10n::CoreExtensions::ObjectExt
11
+ Object.include L10n::CoreExtensions::ObjectExt
data/lib/l10n/forms.rb CHANGED
@@ -3,6 +3,7 @@ module L10n
3
3
  module FormBuilder
4
4
 
5
5
  def amount_field(field, options = {})
6
+ options = objectify_options(options)
6
7
  format_options = options.extract!(:locale, :precision, :significant, :separator, :delimiter, :strip_insignificant_zeros)
7
8
  value = L10n.number_to_rounded(object.public_send(field), format_options)
8
9
  options[:value] = value
@@ -92,4 +92,4 @@ module L10n
92
92
  end
93
93
  end
94
94
 
95
- I18n.send :include, L10n::I18nExtensions
95
+ I18n.include L10n::I18nExtensions
@@ -0,0 +1,11 @@
1
+ require 'rails/engine'
2
+
3
+ class L10n::Railtie < Rails::Railtie
4
+ initializer 'l10n' do |app|
5
+
6
+ end
7
+
8
+ rake_tasks do
9
+ load Pathname.new(__FILE__).dirname.join('..', 'tasks', 'l10n.rake')
10
+ end
11
+ end
data/lib/l10n/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module L10n
2
- VERSION = '1.6.0'
2
+ VERSION = '2.0.0'
3
3
  end
data/lib/l10n.rb CHANGED
@@ -6,19 +6,22 @@ require 'action_dispatch'
6
6
  require 'active_support/all'
7
7
 
8
8
  require_relative 'l10n/version'
9
- require_relative 'l10n/core_extensions'
9
+ require_relative 'l10n/core_extensions/object_ext'
10
+ require_relative 'l10n/core_extensions/string_ext'
11
+ require_relative 'l10n/core_extensions/symbol_ext'
12
+ require_relative 'l10n/core_extensions/date_time_ext'
13
+ require_relative 'l10n/core_extensions/numeric_ext'
10
14
  require_relative 'l10n/i18n_extensions'
11
- require_relative 'l10n/inflections'
15
+ #require_relative 'l10n/inflections'
12
16
  require_relative 'l10n/numeric_column_conversions'
13
17
  require_relative 'l10n/column_translation'
14
18
  require_relative 'l10n/translation_validator'
15
19
  require_relative 'l10n/forms'
16
- require_relative 'l10n/javascript_helper'
17
20
  require_relative 'l10n/request'
18
- require_relative 'l10n/engine'
21
+ require_relative 'l10n/railtie'
19
22
 
20
- files = Dir[File.join(File.dirname(__FILE__), 'locales/*.yml')]
21
- I18n.load_path.concat(files)
23
+ #files = Dir[File.join(File.dirname(__FILE__), 'locales/*.yml')]
24
+ #I18n.load_path.concat(files)
22
25
 
23
26
  module L10n
24
27
 
@@ -0,0 +1,8 @@
1
+ namespace :l10n do
2
+ namespace :install do
3
+ desc 'Copy the l10n.js file to assets'
4
+ task :js do
5
+ system "#{RbConfig.ruby} ./bin/rails app:template LOCATION=#{File.expand_path("../install/install.rb", __dir__)}"
6
+ end
7
+ end
8
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: l10n
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthias Grosser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-15 00:00:00.000000000 Z
11
+ date: 2022-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n
@@ -30,167 +30,108 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 6.0.0
33
+ version: 7.0.0
34
34
  - - "<"
35
35
  - !ruby/object:Gem::Version
36
- version: '6.2'
36
+ version: '7.1'
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: 6.0.0
43
+ version: 7.0.0
44
44
  - - "<"
45
45
  - !ruby/object:Gem::Version
46
- version: '6.2'
46
+ version: '7.1'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: activesupport
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: 6.0.0
53
+ version: 7.0.0
54
54
  - - "<"
55
55
  - !ruby/object:Gem::Version
56
- version: '6.2'
56
+ version: '7.1'
57
57
  type: :runtime
58
58
  prerelease: false
59
59
  version_requirements: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - ">="
62
62
  - !ruby/object:Gem::Version
63
- version: 6.0.0
63
+ version: 7.0.0
64
64
  - - "<"
65
65
  - !ruby/object:Gem::Version
66
- version: '6.2'
66
+ version: '7.1'
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: actionpack
69
69
  requirement: !ruby/object:Gem::Requirement
70
70
  requirements:
71
71
  - - ">="
72
72
  - !ruby/object:Gem::Version
73
- version: 6.0.0
73
+ version: 7.0.0
74
74
  - - "<"
75
75
  - !ruby/object:Gem::Version
76
- version: '6.2'
76
+ version: '7.1'
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - ">="
82
82
  - !ruby/object:Gem::Version
83
- version: 6.0.0
83
+ version: 7.0.0
84
84
  - - "<"
85
85
  - !ruby/object:Gem::Version
86
- version: '6.2'
86
+ version: '7.1'
87
87
  - !ruby/object:Gem::Dependency
88
88
  name: railties
89
89
  requirement: !ruby/object:Gem::Requirement
90
90
  requirements:
91
91
  - - ">="
92
92
  - !ruby/object:Gem::Version
93
- version: 6.0.0
93
+ version: 7.0.0
94
94
  - - "<"
95
95
  - !ruby/object:Gem::Version
96
- version: '6.2'
96
+ version: '7.1'
97
97
  type: :runtime
98
98
  prerelease: false
99
99
  version_requirements: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: 6.0.0
103
+ version: 7.0.0
104
104
  - - "<"
105
105
  - !ruby/object:Gem::Version
106
- version: '6.2'
107
- - !ruby/object:Gem::Dependency
108
- name: sqlite3
109
- requirement: !ruby/object:Gem::Requirement
110
- requirements:
111
- - - ">="
112
- - !ruby/object:Gem::Version
113
- version: '0'
114
- type: :development
115
- prerelease: false
116
- version_requirements: !ruby/object:Gem::Requirement
117
- requirements:
118
- - - ">="
119
- - !ruby/object:Gem::Version
120
- version: '0'
121
- - !ruby/object:Gem::Dependency
122
- name: byebug
123
- requirement: !ruby/object:Gem::Requirement
124
- requirements:
125
- - - ">="
126
- - !ruby/object:Gem::Version
127
- version: '0'
128
- type: :development
129
- prerelease: false
130
- version_requirements: !ruby/object:Gem::Requirement
131
- requirements:
132
- - - ">="
133
- - !ruby/object:Gem::Version
134
- version: '0'
135
- - !ruby/object:Gem::Dependency
136
- name: simplecov
137
- requirement: !ruby/object:Gem::Requirement
138
- requirements:
139
- - - ">="
140
- - !ruby/object:Gem::Version
141
- version: '0'
142
- type: :development
143
- prerelease: false
144
- version_requirements: !ruby/object:Gem::Requirement
145
- requirements:
146
- - - ">="
147
- - !ruby/object:Gem::Version
148
- version: '0'
149
- - !ruby/object:Gem::Dependency
150
- name: rake
151
- requirement: !ruby/object:Gem::Requirement
152
- requirements:
153
- - - ">="
154
- - !ruby/object:Gem::Version
155
- version: 0.8.7
156
- type: :development
157
- prerelease: false
158
- version_requirements: !ruby/object:Gem::Requirement
159
- requirements:
160
- - - ">="
161
- - !ruby/object:Gem::Version
162
- version: 0.8.7
106
+ version: '7.1'
163
107
  description: Extensions for Rails I18n
164
108
  email: mtgrosser@gmx.net
165
109
  executables: []
166
110
  extensions: []
167
111
  extra_rdoc_files: []
168
112
  files:
169
- - CHANGELOG
170
- - MIT-LICENSE
113
+ - CHANGELOG.md
114
+ - LICENSE
171
115
  - README.md
172
- - app/assets/javascripts/i18n.js
116
+ - lib/install/install.rb
117
+ - lib/install/l10n.js
173
118
  - lib/l10n.rb
174
119
  - lib/l10n/column_translation.rb
175
- - lib/l10n/core_extensions.rb
176
- - lib/l10n/core_extensions/big_decimal_ext.rb
177
120
  - lib/l10n/core_extensions/date_time_ext.rb
178
121
  - lib/l10n/core_extensions/numeric_ext.rb
179
122
  - lib/l10n/core_extensions/object_ext.rb
180
123
  - lib/l10n/core_extensions/string_ext.rb
181
124
  - lib/l10n/core_extensions/symbol_ext.rb
182
- - lib/l10n/engine.rb
183
125
  - lib/l10n/forms.rb
184
126
  - lib/l10n/i18n_extensions.rb
185
127
  - lib/l10n/inflections.rb
186
- - lib/l10n/javascript_helper.rb
187
128
  - lib/l10n/numeric_column_conversions.rb
188
129
  - lib/l10n/numericality_validator.rb
130
+ - lib/l10n/railtie.rb
189
131
  - lib/l10n/request.rb
190
132
  - lib/l10n/translation_validator.rb
191
133
  - lib/l10n/version.rb
192
- - lib/locales/de.yml
193
- - lib/locales/en.yml
134
+ - lib/tasks/l10n.rake
194
135
  homepage: https://github.com/mtgrosser/l10n
195
136
  licenses:
196
137
  - MIT
@@ -210,7 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
210
151
  - !ruby/object:Gem::Version
211
152
  version: '0'
212
153
  requirements: []
213
- rubygems_version: 3.0.3
154
+ rubygems_version: 3.1.4
214
155
  signing_key:
215
156
  specification_version: 4
216
157
  summary: Make I18n roar again
data/CHANGELOG DELETED
@@ -1,9 +0,0 @@
1
- * 1.4.0 - 2018-06-21
2
-
3
- - Removing jQuery dependency from i18n javascript
4
-
5
- * 1.1.0 - 2014-12-09
6
-
7
- - Adding Time#l
8
- - Adding I18n support for JavaScript
9
- - Updating README
@@ -1,42 +0,0 @@
1
- var I18n = I18n || {};
2
-
3
- I18n.translate = function(str, options) {
4
- options = options || {};
5
- var fallback = options['fallback'] || ('Translation missing: ' + str); // default is a JS reserved word
6
- var translation, matches, method, match, interpolation_value;
7
- var count = options['count'];
8
- var keys = str.split('.');
9
- var obj = this.translations;
10
-
11
- var isString = function(value) {
12
- return typeof value === 'string' || value instanceof String;
13
- };
14
-
15
- var isObject = function(value) {
16
- return value && typeof value === 'object' && value.constructor === Object;
17
- };
18
-
19
- while(obj && keys.length) obj = obj[keys.shift()];
20
- if (obj) {
21
- if (isObject(obj) && count !== undefined) {
22
- translation = obj[1 == count ? 'one' : 'other'];
23
- } else {
24
- translation = obj;
25
- }
26
- if (isString(translation) && (matches = translation.match(/{\w+?}/g))) {
27
- while(match = matches.shift()) {
28
- method = match.substr(1, match.length - 2);
29
- interpolation_value = options[method];
30
- if (interpolation_value == undefined) interpolation_value = ('undefined interpolation value: ' + method);
31
- translation = translation.replace(new RegExp(match, 'g'), interpolation_value);
32
- }
33
- }
34
- }
35
- return translation || fallback;
36
- };
37
-
38
- I18n.t = function(str, options) {
39
- return this.translate(str, options);
40
- };
41
-
42
- String.prototype.t = function(options){ return(I18n.translate(this, options)); }
@@ -1,17 +0,0 @@
1
- module L10n
2
- module CoreExtensions
3
- module BigDecimalExt
4
-
5
- def to_localized_s
6
- Numeric.localize(self)
7
- end
8
-
9
- def to_formatted_s(*args)
10
- L10n.number_to_rounded(self, *args)
11
- end
12
-
13
- end
14
- end
15
- end
16
-
17
- BigDecimal.prepend L10n::CoreExtensions::BigDecimalExt
@@ -1,6 +0,0 @@
1
- require 'l10n/core_extensions/object_ext'
2
- require 'l10n/core_extensions/string_ext'
3
- require 'l10n/core_extensions/symbol_ext'
4
- require 'l10n/core_extensions/date_time_ext'
5
- require 'l10n/core_extensions/numeric_ext'
6
- require 'l10n/core_extensions/big_decimal_ext'
data/lib/l10n/engine.rb DELETED
@@ -1,7 +0,0 @@
1
- require 'rails/engine'
2
-
3
- module L10n
4
- class Engine < ::Rails::Engine
5
-
6
- end
7
- end
@@ -1,17 +0,0 @@
1
- module L10n
2
- module JavaScriptHelper
3
-
4
- def i18n_script_tag
5
- javascript_tag %<
6
- var I18n = I18n || {};
7
-
8
- I18n.locale = function() {
9
- return("#{I18n.locale}");
10
- };
11
-
12
- I18n.translations = #{I18n.t(:javascript).to_json};
13
- >
14
- end
15
-
16
- end
17
- end
data/lib/locales/de.yml DELETED
@@ -1,8 +0,0 @@
1
- de:
2
- i18n:
3
- inflections:
4
- ordinals:
5
- first: .
6
- second: .
7
- third: .
8
- other: .
data/lib/locales/en.yml DELETED
@@ -1,9 +0,0 @@
1
- en:
2
- i18n:
3
- inflections:
4
- ordinals:
5
- first: st
6
- second: nd
7
- third: rd
8
- other: th
9
-