i18n-js 3.6.0 → 3.7.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 +4 -4
- data/CHANGELOG.md +10 -1
- data/app/assets/javascripts/i18n.js +13 -13
- data/lib/i18n/js/version.rb +1 -1
- data/spec/js/localization.spec.js +14 -0
- data/spec/js/translations.js +10 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dbf33a6af551aff2ea13db6c39e84c568f426aaaacd78b1a27524917a05cc580
|
4
|
+
data.tar.gz: a7ba15b0084e0eed0eb8a9f3692131c8786401a3ed257217d0d6ba43cdefd3d3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f5bb0487ef02b35454d86e92c9d1634cee3ac9eaa302fcc19044e22c80491682fe4e5c44eef2d6aa90ff91ff0f15db4f2bd7539b4de8e66773be54ba880b193d
|
7
|
+
data.tar.gz: f6d56fb7550b4cce0d02e25cf98b38be75cfc3d0cb9cfe3ac0ba050621a08363b7ff49abc4ddc5803d8ac3be3f864bbb3187bb3476e18e91479484f8accd0622
|
data/CHANGELOG.md
CHANGED
@@ -18,6 +18,14 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
18
18
|
- Nothing
|
19
19
|
|
20
20
|
|
21
|
+
## [3.7.0] - 2020-05-29
|
22
|
+
|
23
|
+
### Added
|
24
|
+
|
25
|
+
- [JS] Allow options to be passed in when calling `I18n.localize`/`I18n.l`
|
26
|
+
(PR: https://github.com/fnando/i18n-js/pull/570)
|
27
|
+
|
28
|
+
|
21
29
|
## [3.6.0] - 2020-02-14
|
22
30
|
|
23
31
|
### Added
|
@@ -449,7 +457,8 @@ And today is not April Fools' Day
|
|
449
457
|
|
450
458
|
|
451
459
|
|
452
|
-
[Unreleased]: https://github.com/fnando/i18n-js/compare/v3.
|
460
|
+
[Unreleased]: https://github.com/fnando/i18n-js/compare/v3.7.0...HEAD
|
461
|
+
[3.6.0]: https://github.com/fnando/i18n-js/compare/v3.6.0...v3.7.0
|
453
462
|
[3.6.0]: https://github.com/fnando/i18n-js/compare/v3.5.1...v3.6.0
|
454
463
|
[3.5.1]: https://github.com/fnando/i18n-js/compare/v3.5.0...v3.5.1
|
455
464
|
[3.5.0]: https://github.com/fnando/i18n-js/compare/v3.4.2...v3.5.0
|
@@ -779,8 +779,8 @@
|
|
779
779
|
I18n.toCurrency = function(number, options) {
|
780
780
|
options = this.prepareOptions(
|
781
781
|
options
|
782
|
-
, this.lookup("number.currency.format")
|
783
|
-
, this.lookup("number.format")
|
782
|
+
, this.lookup("number.currency.format", options)
|
783
|
+
, this.lookup("number.format", options)
|
784
784
|
, CURRENCY_FORMAT
|
785
785
|
);
|
786
786
|
|
@@ -799,17 +799,17 @@
|
|
799
799
|
|
800
800
|
switch (scope) {
|
801
801
|
case "currency":
|
802
|
-
return this.toCurrency(value);
|
802
|
+
return this.toCurrency(value, options);
|
803
803
|
case "number":
|
804
|
-
scope = this.lookup("number.format");
|
804
|
+
scope = this.lookup("number.format", options);
|
805
805
|
return this.toNumber(value, scope);
|
806
806
|
case "percentage":
|
807
|
-
return this.toPercentage(value);
|
807
|
+
return this.toPercentage(value, options);
|
808
808
|
default:
|
809
809
|
var localizedValue;
|
810
810
|
|
811
811
|
if (scope.match(/^(date|time)/)) {
|
812
|
-
localizedValue = this.toTime(scope, value);
|
812
|
+
localizedValue = this.toTime(scope, value, options);
|
813
813
|
} else {
|
814
814
|
localizedValue = value.toString();
|
815
815
|
}
|
@@ -914,8 +914,8 @@
|
|
914
914
|
// %Y - Year with century
|
915
915
|
// %z/%Z - Timezone offset (+0545)
|
916
916
|
//
|
917
|
-
I18n.strftime = function(date, format) {
|
918
|
-
var options = this.lookup("date")
|
917
|
+
I18n.strftime = function(date, format, options) {
|
918
|
+
var options = this.lookup("date", options)
|
919
919
|
, meridianOptions = I18n.meridian()
|
920
920
|
;
|
921
921
|
|
@@ -984,9 +984,9 @@
|
|
984
984
|
};
|
985
985
|
|
986
986
|
// Convert the given dateString into a formatted date.
|
987
|
-
I18n.toTime = function(scope, dateString) {
|
987
|
+
I18n.toTime = function(scope, dateString, options) {
|
988
988
|
var date = this.parseDate(dateString)
|
989
|
-
, format = this.lookup(scope)
|
989
|
+
, format = this.lookup(scope, options)
|
990
990
|
;
|
991
991
|
|
992
992
|
// A date input of `null` or `undefined` will be returned as-is
|
@@ -1003,15 +1003,15 @@
|
|
1003
1003
|
return date_string;
|
1004
1004
|
}
|
1005
1005
|
|
1006
|
-
return this.strftime(date, format);
|
1006
|
+
return this.strftime(date, format, options);
|
1007
1007
|
};
|
1008
1008
|
|
1009
1009
|
// Convert a number into a formatted percentage value.
|
1010
1010
|
I18n.toPercentage = function(number, options) {
|
1011
1011
|
options = this.prepareOptions(
|
1012
1012
|
options
|
1013
|
-
, this.lookup("number.percentage.format")
|
1014
|
-
, this.lookup("number.format")
|
1013
|
+
, this.lookup("number.percentage.format", options)
|
1014
|
+
, this.lookup("number.format", options)
|
1015
1015
|
, PERCENTAGE_FORMAT
|
1016
1016
|
);
|
1017
1017
|
|
data/lib/i18n/js/version.rb
CHANGED
@@ -36,6 +36,20 @@ describe("Localization", function(){
|
|
36
36
|
expect(I18n.localize("date.formats.long", "2009-01-07")).toEqual("07 de Janeiro de 2009");
|
37
37
|
});
|
38
38
|
|
39
|
+
it("localizes strings with locale from options", function(){
|
40
|
+
I18n.locale = "en";
|
41
|
+
|
42
|
+
expect(I18n.localize("date.formats.default", "2009-11-29", { locale: "pt-BR" })).toEqual("29/11/2009");
|
43
|
+
expect(I18n.localize("date.formats.short", "2009-01-07", { locale: "pt-BR" })).toEqual("07 de Janeiro");
|
44
|
+
expect(I18n.localize("date.formats.long", "2009-01-07", { locale: "pt-BR" })).toEqual("07 de Janeiro de 2009");
|
45
|
+
expect(I18n.localize("time.formats.default", "2009-11-29 15:07:59", { locale: "pt-BR" })).toEqual("Domingo, 29 de Novembro de 2009, 15:07 h");
|
46
|
+
expect(I18n.localize("time.formats.short", "2009-01-07 09:12:35", { locale: "pt-BR" })).toEqual("07/01, 09:12 h");
|
47
|
+
expect(I18n.localize("time.formats.long", "2009-11-29 15:07:59", { locale: "pt-BR" })).toEqual("Domingo, 29 de Novembro de 2009, 15:07 h");
|
48
|
+
expect(I18n.localize("number", 1234567, { locale: "pt-BR" })).toEqual("1,234,567.000");
|
49
|
+
expect(I18n.localize("currency", 1234567, { locale: "pt-BR" })).toEqual("R$ 1.234.567,00");
|
50
|
+
expect(I18n.localize("percentage", 123.45, { locale: "pt-BR" })).toEqual("123,45%");
|
51
|
+
});
|
52
|
+
|
39
53
|
it("localizes time strings", function(){
|
40
54
|
I18n.locale = "pt-BR";
|
41
55
|
|
data/spec/js/translations.js
CHANGED
@@ -90,7 +90,16 @@
|
|
90
90
|
hello: "Olá Mundo!"
|
91
91
|
|
92
92
|
, number: {
|
93
|
-
|
93
|
+
currency: {
|
94
|
+
format: {
|
95
|
+
delimiter: ".",
|
96
|
+
format: "%u %n",
|
97
|
+
precision: 2,
|
98
|
+
separator: ",",
|
99
|
+
unit: "R$"
|
100
|
+
}
|
101
|
+
}
|
102
|
+
, percentage: {
|
94
103
|
format: {
|
95
104
|
delimiter: ""
|
96
105
|
, separator: ","
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: i18n-js
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nando Vieira
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-05-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: i18n
|
@@ -223,7 +223,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
223
223
|
- !ruby/object:Gem::Version
|
224
224
|
version: '0'
|
225
225
|
requirements: []
|
226
|
-
rubygems_version: 3.1.
|
226
|
+
rubygems_version: 3.1.3
|
227
227
|
signing_key:
|
228
228
|
specification_version: 4
|
229
229
|
summary: It's a small library to provide the Rails I18n translations on the Javascript.
|