l10n 1.4.1 → 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: 98edc4c6d3ba2537048f259a94513f30cc63d724ef47d2b58d485e8851e6b1a2
4
- data.tar.gz: 9ce041fb0b01bfbfbf519614f9a04491bf83d72394094268cedbe7a3d64f1d7c
3
+ metadata.gz: 983a6cc561859d662fc97347df35643e42444b6c996b1ff224a327a0fe5dfe77
4
+ data.tar.gz: f4baa0c9c30895603cec6ec75c93236d1a9b8668e7d3f0912b2ae5303093cabe
5
5
  SHA512:
6
- metadata.gz: 4669d8e182957b4a8b38c8d4eb3fa10812942fe06f43bd2539e0aeff7b49851c26f45144f02fa507328ab1a048582935b47e4c9bd0b1c28fe7bb81ada423922d
7
- data.tar.gz: 48132d2234210fd4f1007c1732ea59a663ff7fd3de0487ca666e0fa3557d80b7367d88f5258c4b44330b712af560f4c8638e788534be73c4b819cb3282489a6f
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,6 +1,10 @@
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
+
1
4
  # L10n - I18n that roarrrs
2
5
 
3
- 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.
4
8
 
5
9
  ## Installation
6
10
 
@@ -97,18 +101,21 @@ I18n.locale = :de
97
101
 
98
102
  #### Formatting of numbers
99
103
 
100
- 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`.
101
107
 
102
108
  ```ruby
103
- I18n.as('de') { 1234.5.to_formatted_s } => "1.234,50"
104
- 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"
105
111
  ```
106
112
 
107
113
  This also works with `BigDecimal`s.
108
114
 
109
115
  #### Localization of decimal separator and delimiter for numbers
110
116
 
111
- 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.
112
119
 
113
120
  ```ruby
114
121
  I18n.as('de') { 1234.5.to_localized_s } => "1.234,5"
@@ -124,7 +131,9 @@ I18n.as(:en) { Numeric.localize('1,234.50') } => "1,234.50"
124
131
 
125
132
  ### Automatic localization of numeric values in Rails forms and models
126
133
 
127
- 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.
128
137
 
129
138
  ```ruby
130
139
  # in your template
@@ -144,7 +153,8 @@ I18n.locale = :en
144
153
 
145
154
  ### Accept-Language header parsing in ActionDispatch::Request
146
155
 
147
- 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`.
148
158
 
149
159
  ```ruby
150
160
  # in your controller
@@ -153,14 +163,15 @@ request.accept_locales => ["en-US", "en", "en-GB"]
153
163
 
154
164
  ### Javascript I18n, interpolation and pluralization
155
165
 
156
- 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
157
169
 
158
- ```javascript
159
- /* application.js */
160
- //= require i18n
170
+ ```sh
171
+ rake l10n:install:js
161
172
  ```
162
173
 
163
- The JS `String` prototype is extended with a `t()` function, supporting translation, pluralization and interpolation:
174
+ Place your JavaScript translations below the `javascript` key:
164
175
 
165
176
  ```yaml
166
177
  # en.yml
@@ -173,14 +184,36 @@ en:
173
184
  other: '{count} apples'
174
185
  ```
175
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
+
176
196
  ```ruby
177
- # in your application layout
178
- <%= i18n_script_tag %>
197
+ I18n.t(:javascript).to_json
179
198
  ```
180
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
+
181
214
  ```javascript
182
- // in any javascript
183
- "hello".t({ name: "JS" }) => "Hello JS!"
215
+ const translations = { "hello": "Hello {name}!", "apple": { "one": "{count} apple", "other": "{count} apples" } };
184
216
 
185
- "apple".t({ count: 5 }) => "5 apples"
217
+ I18n.t("hello", { "name": "JS"}, translations) => "Hello JS!"
218
+ I18n.t("apple", { count: 5 }, translations) => "5 apples"
186
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.4.1'
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.4.1
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: 2019-06-03 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: 5.2.0
34
- - - "~>"
33
+ version: 7.0.0
34
+ - - "<"
35
35
  - !ruby/object:Gem::Version
36
- version: 5.2.3
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: 5.2.0
44
- - - "~>"
43
+ version: 7.0.0
44
+ - - "<"
45
45
  - !ruby/object:Gem::Version
46
- version: 5.2.3
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: 5.2.0
54
- - - "~>"
53
+ version: 7.0.0
54
+ - - "<"
55
55
  - !ruby/object:Gem::Version
56
- version: 5.2.3
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: 5.2.0
64
- - - "~>"
63
+ version: 7.0.0
64
+ - - "<"
65
65
  - !ruby/object:Gem::Version
66
- version: 5.2.3
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: 5.2.0
74
- - - "~>"
73
+ version: 7.0.0
74
+ - - "<"
75
75
  - !ruby/object:Gem::Version
76
- version: 5.2.3
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: 5.2.0
84
- - - "~>"
83
+ version: 7.0.0
84
+ - - "<"
85
85
  - !ruby/object:Gem::Version
86
- version: 5.2.3
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: 5.2.0
94
- - - "~>"
93
+ version: 7.0.0
94
+ - - "<"
95
95
  - !ruby/object:Gem::Version
96
- version: 5.2.3
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: 5.2.0
104
- - - "~>"
103
+ version: 7.0.0
104
+ - - "<"
105
105
  - !ruby/object:Gem::Version
106
- version: 5.2.3
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
-