i18n-js 3.0.0.rc3 → 3.0.0.rc4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +30 -21
- data/README.md +5 -7
- data/Rakefile +1 -1
- data/app/assets/javascripts/i18n.js +25 -30
- data/app/assets/javascripts/i18n/shims.js +93 -0
- data/app/assets/javascripts/i18n/translations.js.erb +2 -1
- data/i18n-js.gemspec +1 -2
- data/lib/i18n/js/version.rb +1 -1
- data/package.json +11 -0
- data/spec/js/translate.spec.js +5 -0
- data/spec/js/translations.js +5 -0
- metadata +20 -46
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 065703ea709f170b5326ad0bbbe60039cfcdaa30
|
4
|
+
data.tar.gz: 06edb6364fd9131dac979dd9052e5c94e2602d08
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 882399d880781f54c2a41febc8cd069a8e5f360219be69310a70071e511fc317c9331784ebf1ec94a76ec0555a835061877dc68185e2b322132a4ebef0a7fa94
|
7
|
+
data.tar.gz: db1adab1b748f5f06e0b2c58feee72a60348e56d99eb22421c6e46d02de5e041add56cd858ca1d616dbf06b504b8a62c83aadc3dd4f2858271a286694cb06211
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
source
|
1
|
+
source "https://rubygems.org"
|
2
2
|
gemspec
|
data/Gemfile.lock
CHANGED
@@ -1,43 +1,52 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
i18n-js (3.0.0.
|
4
|
+
i18n-js (3.0.0.rc4)
|
5
5
|
i18n
|
6
6
|
|
7
7
|
GEM
|
8
|
-
remote:
|
8
|
+
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
|
-
activesupport (3.2.
|
10
|
+
activesupport (3.2.12)
|
11
11
|
i18n (~> 0.6)
|
12
12
|
multi_json (~> 1.0)
|
13
13
|
awesome_print (1.1.0)
|
14
|
-
coderay (1.0.
|
15
|
-
diff-lcs (1.1
|
16
|
-
i18n (0.6.
|
14
|
+
coderay (1.0.9)
|
15
|
+
diff-lcs (1.2.1)
|
16
|
+
i18n (0.6.4)
|
17
17
|
method_source (0.8.1)
|
18
|
-
multi_json (1.
|
19
|
-
pry (0.9.
|
18
|
+
multi_json (1.6.1)
|
19
|
+
pry (0.9.12)
|
20
20
|
coderay (~> 1.0.5)
|
21
21
|
method_source (~> 0.8)
|
22
|
-
slop (~> 3.
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
22
|
+
slop (~> 3.4)
|
23
|
+
pry-meta (0.0.5)
|
24
|
+
awesome_print
|
25
|
+
pry
|
26
|
+
pry-nav
|
27
|
+
pry-remote
|
28
|
+
pry-nav (0.2.3)
|
29
|
+
pry (~> 0.9.10)
|
30
|
+
pry-remote (0.1.7)
|
31
|
+
pry (~> 0.9)
|
32
|
+
slop (~> 3.0)
|
33
|
+
rake (10.0.3)
|
34
|
+
rspec (2.13.0)
|
35
|
+
rspec-core (~> 2.13.0)
|
36
|
+
rspec-expectations (~> 2.13.0)
|
37
|
+
rspec-mocks (~> 2.13.0)
|
38
|
+
rspec-core (2.13.0)
|
39
|
+
rspec-expectations (2.13.0)
|
40
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
41
|
+
rspec-mocks (2.13.0)
|
42
|
+
slop (3.4.3)
|
33
43
|
|
34
44
|
PLATFORMS
|
35
45
|
ruby
|
36
46
|
|
37
47
|
DEPENDENCIES
|
38
48
|
activesupport
|
39
|
-
awesome_print
|
40
49
|
i18n-js!
|
41
|
-
pry
|
50
|
+
pry-meta
|
42
51
|
rake
|
43
52
|
rspec
|
data/README.md
CHANGED
@@ -65,6 +65,8 @@ Set your locale is easy as
|
|
65
65
|
I18n.currentLocale();
|
66
66
|
// pt-BR
|
67
67
|
|
68
|
+
**NOTE:** Just make sure you apply your configuration **after i18n.js** is loaded. Otherwise, your settings will be ignored.
|
69
|
+
|
68
70
|
In practice, you'll have something like the following in your `application.html.erb`:
|
69
71
|
|
70
72
|
<script type="text/javascript">
|
@@ -143,7 +145,7 @@ If you're using the same scope over and over again, you may use the `scope` opti
|
|
143
145
|
I18n.t("email", options);
|
144
146
|
I18n.t("username", options);
|
145
147
|
|
146
|
-
You also provide an array as scope.
|
148
|
+
You can also provide an array as scope.
|
147
149
|
|
148
150
|
// use the greetings.hello scope
|
149
151
|
I18n.t(["greetings", "hello"]);
|
@@ -267,10 +269,6 @@ The only requirement is that you need to set the `translations` attribute like f
|
|
267
269
|
message: "Uma mensagem especial para você"
|
268
270
|
}
|
269
271
|
|
270
|
-
## Troubleshooting
|
271
|
-
|
272
|
-
1. Want to support oldIE? Then you need to include something like [augment.js](http://augmentjs.com) or [es5-shim](https://github.com/kriskowal/es5-shim/).
|
273
|
-
|
274
272
|
## Maintainer
|
275
273
|
|
276
274
|
- Nando Vieira - <http://nandovieira.com.br>
|
@@ -294,11 +292,11 @@ You can run I18n tests using Node.js or your browser.
|
|
294
292
|
|
295
293
|
To use Node.js, install the `jasmine-node` library:
|
296
294
|
|
297
|
-
$ npm install jasmine-node
|
295
|
+
$ npm install jasmine-node
|
298
296
|
|
299
297
|
Then execute the following command from the lib's root directory:
|
300
298
|
|
301
|
-
$
|
299
|
+
$ npm test
|
302
300
|
|
303
301
|
To run using your browser, just open the `spec/js/specs.html` file.
|
304
302
|
|
data/Rakefile
CHANGED
@@ -116,8 +116,7 @@
|
|
116
116
|
return list;
|
117
117
|
};
|
118
118
|
|
119
|
-
//
|
120
|
-
//
|
119
|
+
// Hold pluralization rules.
|
121
120
|
I18n.pluralization = {};
|
122
121
|
|
123
122
|
// Return the pluralizer for a specific locale.
|
@@ -176,12 +175,12 @@
|
|
176
175
|
while (scopes.length) {
|
177
176
|
translations = translations[scopes.shift()];
|
178
177
|
|
179
|
-
if (
|
178
|
+
if (translations === undefined || translations === null) {
|
180
179
|
break;
|
181
180
|
}
|
182
181
|
}
|
183
182
|
|
184
|
-
if (translations) {
|
183
|
+
if (translations !== undefined && translations !== null) {
|
185
184
|
return translations;
|
186
185
|
}
|
187
186
|
}
|
@@ -230,7 +229,7 @@
|
|
230
229
|
options = this.prepareOptions(options);
|
231
230
|
var translation = this.lookup(scope, options);
|
232
231
|
|
233
|
-
if (
|
232
|
+
if (translation === undefined || translation === null) {
|
234
233
|
return this.missingTranslation(scope);
|
235
234
|
}
|
236
235
|
|
@@ -332,9 +331,9 @@
|
|
332
331
|
//
|
333
332
|
I18n.toNumber = function(number, options) {
|
334
333
|
options = this.prepareOptions(
|
335
|
-
|
336
|
-
this.lookup("number.format")
|
337
|
-
{precision: 3, separator: ".", delimiter: ",", strip_insignificant_zeros: false}
|
334
|
+
options
|
335
|
+
, this.lookup("number.format")
|
336
|
+
, {precision: 3, separator: ".", delimiter: ",", strip_insignificant_zeros: false}
|
338
337
|
);
|
339
338
|
|
340
339
|
var negative = number < 0
|
@@ -387,10 +386,10 @@
|
|
387
386
|
//
|
388
387
|
I18n.toCurrency = function(number, options) {
|
389
388
|
options = this.prepareOptions(
|
390
|
-
|
391
|
-
this.lookup("number.currency.format")
|
392
|
-
this.lookup("number.format")
|
393
|
-
{unit: "$", precision: 2, format: "%u%n", delimiter: ",", separator: "."}
|
389
|
+
options
|
390
|
+
, this.lookup("number.currency.format")
|
391
|
+
, this.lookup("number.format")
|
392
|
+
, {unit: "$", precision: 2, format: "%u%n", delimiter: ",", separator: "."}
|
394
393
|
);
|
395
394
|
|
396
395
|
number = this.toNumber(number, options);
|
@@ -545,9 +544,8 @@
|
|
545
544
|
hour12 = 12;
|
546
545
|
}
|
547
546
|
|
548
|
-
var padding = function(
|
549
|
-
|
550
|
-
return s.substr(s.length - 2);
|
547
|
+
var padding = function(number) {
|
548
|
+
return ("0" + number.toString()).substr(-2);
|
551
549
|
};
|
552
550
|
|
553
551
|
format = format.replace("%a", options.abbr_day_names[weekDay]);
|
@@ -577,10 +575,9 @@
|
|
577
575
|
return format;
|
578
576
|
};
|
579
577
|
|
580
|
-
//
|
581
|
-
|
582
|
-
|
583
|
-
var date = this.parseDate(d)
|
578
|
+
// Convert the given dateString into a formatted date.
|
579
|
+
I18n.toTime = function(scope, dateString) {
|
580
|
+
var date = this.parseDate(dateString)
|
584
581
|
, format = this.lookup(scope)
|
585
582
|
;
|
586
583
|
|
@@ -595,22 +592,20 @@
|
|
595
592
|
return this.strftime(date, format);
|
596
593
|
};
|
597
594
|
|
598
|
-
//
|
599
|
-
//
|
595
|
+
// Convert a number into a formatted percentage value.
|
600
596
|
I18n.toPercentage = function(number, options) {
|
601
597
|
options = this.prepareOptions(
|
602
|
-
|
603
|
-
this.lookup("number.percentage.format")
|
604
|
-
this.lookup("number.format")
|
605
|
-
{precision: 3, separator: ".", delimiter: ""}
|
598
|
+
options
|
599
|
+
, this.lookup("number.percentage.format")
|
600
|
+
, this.lookup("number.format")
|
601
|
+
, {precision: 3, separator: ".", delimiter: ""}
|
606
602
|
);
|
607
603
|
|
608
604
|
number = this.toNumber(number, options);
|
609
605
|
return number + "%";
|
610
606
|
};
|
611
607
|
|
612
|
-
//
|
613
|
-
//
|
608
|
+
// Convert a number into a readable size representation.
|
614
609
|
I18n.toHumanSize = function(number, options) {
|
615
610
|
var kb = 1024
|
616
611
|
, size = number
|
@@ -633,8 +628,8 @@
|
|
633
628
|
}
|
634
629
|
|
635
630
|
options = this.prepareOptions(
|
636
|
-
|
637
|
-
{precision: precision, format: "%n%u", delimiter: ""}
|
631
|
+
options
|
632
|
+
, {precision: precision, format: "%n%u", delimiter: ""}
|
638
633
|
);
|
639
634
|
|
640
635
|
number = this.toNumber(size, options);
|
@@ -650,4 +645,4 @@
|
|
650
645
|
I18n.t = I18n.translate;
|
651
646
|
I18n.l = I18n.localize;
|
652
647
|
I18n.p = I18n.pluralize;
|
653
|
-
})(typeof(exports) === "undefined" ?
|
648
|
+
})(typeof(exports) === "undefined" ? {} : exports);
|
@@ -0,0 +1,93 @@
|
|
1
|
+
// https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf
|
2
|
+
if (!Array.prototype.indexOf) {
|
3
|
+
Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) {
|
4
|
+
"use strict";
|
5
|
+
if (this == null) {
|
6
|
+
throw new TypeError();
|
7
|
+
}
|
8
|
+
var t = Object(this);
|
9
|
+
var len = t.length >>> 0;
|
10
|
+
if (len === 0) {
|
11
|
+
return -1;
|
12
|
+
}
|
13
|
+
var n = 0;
|
14
|
+
if (arguments.length > 1) {
|
15
|
+
n = Number(arguments[1]);
|
16
|
+
if (n != n) { // shortcut for verifying if it's NaN
|
17
|
+
n = 0;
|
18
|
+
} else if (n != 0 && n != Infinity && n != -Infinity) {
|
19
|
+
n = (n > 0 || -1) * Math.floor(Math.abs(n));
|
20
|
+
}
|
21
|
+
}
|
22
|
+
if (n >= len) {
|
23
|
+
return -1;
|
24
|
+
}
|
25
|
+
var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0);
|
26
|
+
for (; k < len; k++) {
|
27
|
+
if (k in t && t[k] === searchElement) {
|
28
|
+
return k;
|
29
|
+
}
|
30
|
+
}
|
31
|
+
return -1;
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
// Production steps of ECMA-262, Edition 5, 15.4.4.18
|
36
|
+
// Reference: http://es5.github.com/#x15.4.4.18
|
37
|
+
// https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/forEach
|
38
|
+
if ( !Array.prototype.forEach ) {
|
39
|
+
|
40
|
+
Array.prototype.forEach = function forEach( callback, thisArg ) {
|
41
|
+
|
42
|
+
var T, k;
|
43
|
+
|
44
|
+
if ( this == null ) {
|
45
|
+
throw new TypeError( "this is null or not defined" );
|
46
|
+
}
|
47
|
+
|
48
|
+
// 1. Let O be the result of calling ToObject passing the |this| value as the argument.
|
49
|
+
var O = Object(this);
|
50
|
+
|
51
|
+
// 2. Let lenValue be the result of calling the Get internal method of O with the argument "length".
|
52
|
+
// 3. Let len be ToUint32(lenValue).
|
53
|
+
var len = O.length >>> 0; // Hack to convert O.length to a UInt32
|
54
|
+
|
55
|
+
// 4. If IsCallable(callback) is false, throw a TypeError exception.
|
56
|
+
// See: http://es5.github.com/#x9.11
|
57
|
+
if ( {}.toString.call(callback) !== "[object Function]" ) {
|
58
|
+
throw new TypeError( callback + " is not a function" );
|
59
|
+
}
|
60
|
+
|
61
|
+
// 5. If thisArg was supplied, let T be thisArg; else let T be undefined.
|
62
|
+
if ( thisArg ) {
|
63
|
+
T = thisArg;
|
64
|
+
}
|
65
|
+
|
66
|
+
// 6. Let k be 0
|
67
|
+
k = 0;
|
68
|
+
|
69
|
+
// 7. Repeat, while k < len
|
70
|
+
while( k < len ) {
|
71
|
+
|
72
|
+
var kValue;
|
73
|
+
|
74
|
+
// a. Let Pk be ToString(k).
|
75
|
+
// This is implicit for LHS operands of the in operator
|
76
|
+
// b. Let kPresent be the result of calling the HasProperty internal method of O with argument Pk.
|
77
|
+
// This step can be combined with c
|
78
|
+
// c. If kPresent is true, then
|
79
|
+
if ( Object.prototype.hasOwnProperty.call(O, k) ) {
|
80
|
+
|
81
|
+
// i. Let kValue be the result of calling the Get internal method of O with argument Pk.
|
82
|
+
kValue = O[ k ];
|
83
|
+
|
84
|
+
// ii. Call the Call internal method of callback with T as the this value and
|
85
|
+
// argument list containing kValue, k, and O.
|
86
|
+
callback.call( T, kValue, k, O );
|
87
|
+
}
|
88
|
+
// d. Increase k by 1.
|
89
|
+
k++;
|
90
|
+
}
|
91
|
+
// 8. return undefined
|
92
|
+
};
|
93
|
+
}
|
data/i18n-js.gemspec
CHANGED
@@ -21,6 +21,5 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.add_development_dependency "activesupport"
|
22
22
|
s.add_development_dependency "rspec"
|
23
23
|
s.add_development_dependency "rake"
|
24
|
-
s.add_development_dependency "pry"
|
25
|
-
s.add_development_dependency "awesome_print"
|
24
|
+
s.add_development_dependency "pry-meta"
|
26
25
|
end
|
data/lib/i18n/js/version.rb
CHANGED
data/package.json
ADDED
data/spec/js/translate.spec.js
CHANGED
@@ -112,4 +112,9 @@ describe("Translate", function(){
|
|
112
112
|
actual = I18n.t("greetings•stranger");
|
113
113
|
expect(actual).toEqual("Hello stranger!");
|
114
114
|
});
|
115
|
+
|
116
|
+
it("returns boolean values", function() {
|
117
|
+
expect(I18n.t("booleans.yes")).toEqual(true);
|
118
|
+
expect(I18n.t("booleans.no")).toEqual(false);
|
119
|
+
});
|
115
120
|
});
|
data/spec/js/translations.js
CHANGED
metadata
CHANGED
@@ -1,110 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: i18n-js
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.0.
|
5
|
-
prerelease: 6
|
4
|
+
version: 3.0.0.rc4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Nando Vieira
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2013-03-07 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: i18n
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: activesupport
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rspec
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - '>='
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: rake
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - '>='
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - '>='
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
|
-
name: pry
|
70
|
+
name: pry-meta
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - '>='
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: '0'
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: '0'
|
94
|
-
- !ruby/object:Gem::Dependency
|
95
|
-
name: awesome_print
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
|
-
requirements:
|
99
|
-
- - ! '>='
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: '0'
|
102
|
-
type: :development
|
103
|
-
prerelease: false
|
104
|
-
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
|
-
requirements:
|
107
|
-
- - ! '>='
|
80
|
+
- - '>='
|
108
81
|
- !ruby/object:Gem::Version
|
109
82
|
version: '0'
|
110
83
|
description: It's a small library to provide the Rails I18n translations on the Javascript.
|
@@ -120,6 +93,7 @@ files:
|
|
120
93
|
- README.md
|
121
94
|
- Rakefile
|
122
95
|
- app/assets/javascripts/i18n.js
|
96
|
+
- app/assets/javascripts/i18n/shims.js
|
123
97
|
- app/assets/javascripts/i18n/translations.js.erb
|
124
98
|
- i18n-js.gemspec
|
125
99
|
- lib/i18n-js.rb
|
@@ -127,6 +101,7 @@ files:
|
|
127
101
|
- lib/i18n/js/engine.rb
|
128
102
|
- lib/i18n/js/middleware.rb
|
129
103
|
- lib/i18n/js/version.rb
|
104
|
+
- package.json
|
130
105
|
- spec/fixtures/custom_path.yml
|
131
106
|
- spec/fixtures/default.yml
|
132
107
|
- spec/fixtures/js_file_per_locale.yml
|
@@ -158,26 +133,25 @@ files:
|
|
158
133
|
- spec/spec_helper.rb
|
159
134
|
homepage: http://rubygems.org/gems/i18n-js
|
160
135
|
licenses: []
|
136
|
+
metadata: {}
|
161
137
|
post_install_message:
|
162
138
|
rdoc_options: []
|
163
139
|
require_paths:
|
164
140
|
- lib
|
165
141
|
required_ruby_version: !ruby/object:Gem::Requirement
|
166
|
-
none: false
|
167
142
|
requirements:
|
168
|
-
- -
|
143
|
+
- - '>='
|
169
144
|
- !ruby/object:Gem::Version
|
170
145
|
version: '0'
|
171
146
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
172
|
-
none: false
|
173
147
|
requirements:
|
174
|
-
- -
|
148
|
+
- - '>'
|
175
149
|
- !ruby/object:Gem::Version
|
176
150
|
version: 1.3.1
|
177
151
|
requirements: []
|
178
152
|
rubyforge_project:
|
179
|
-
rubygems_version:
|
153
|
+
rubygems_version: 2.0.2
|
180
154
|
signing_key:
|
181
|
-
specification_version:
|
155
|
+
specification_version: 4
|
182
156
|
summary: It's a small library to provide the Rails I18n translations on the Javascript.
|
183
157
|
test_files: []
|