l10n 1.6.0 → 2.0.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: 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
-