Skip to content

Commit d8e3762

Browse files
author
Nedyalko Nikolov
authored
Merge pull request #1 from NativeScript/nnikolov/TestAndroidAPI24
Updated test for API 24.
2 parents 28356d7 + e41473d commit d8e3762

File tree

6 files changed

+298
-27
lines changed

6 files changed

+298
-27
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"devDependencies": {
3-
"typescript": "^1.8.7"
3+
"typescript": "^1.8.9"
44
}
55
}

src/README.md

+36-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,43 @@ Welcome to the `nativescript-intl` plugin for NativeScript framework
22

33
# Prerequisites
44

5+
- installed [NativeScript](https://github.com/NativeScript/NativeScript)
56
- installed [NativeScript-CLI](https://github.com/NativeScript/nativescript-cli)
67

78
# Install `nativescript-intl` plugin.
89

9-
Navigate to project folder and run `NativeScript-CLI` command `tns plugin add nativescript-intl`.
10+
Navigate to project folder and run `NativeScript-CLI` command `tns plugin add nativescript-intl`.
11+
12+
This plugin provides similar to [Intl.js](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Intl) API for date, time and number formatting on a mobile device (Android and iOS).
13+
14+
## How to use
15+
16+
```JavaScript
17+
var intl = require("nativescript-intl");
18+
var dateFormat = new intl.DateTimeFormat('en-US', {'year': 'numeric', 'month': 'short', 'day': 'numeric'}).format(new Date(2016, 2, 23));
19+
var numberFormat = new intl.NumberFormat('en-US', {'style': 'currency', 'currency': 'USD', 'currencyDisplay': 'symbol'}).format(123456.789);
20+
21+
console.log("dateFormat: " + dateFormat);
22+
console.log("numberFormat: " + numberFormat);
23+
// prints Mar 23, 2016
24+
// $123456.79
25+
```
26+
27+
Since localization formatting is not exactly same on Android, iOS and [Intl.js](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Intl) there is another option to use this API.
28+
29+
## Custom pattern
30+
31+
```JavaScript
32+
var intl = require("nativescript-intl");
33+
var dateFormat = new intl.DateTimeFormat(null, null, 'y MMMM d, EEEE HH:mm:ss').format(new Date(2016, 2, 23, 12, 35, 40));
34+
var numberFormat = new intl.NumberFormat('en-US', {'style': 'currency', 'currency': 'USD', 'currencyDisplay': 'symbol'}, '#,##0.00 ¤').format(123456.789);
35+
36+
console.log("dateFormat: " + dateFormat);
37+
console.log("numberFormat: " + numberFormat);
38+
// prints 2016 March 23, Wednesday 2016 12:35:40
39+
// 123,456.79 $
40+
```
41+
42+
> Omitting locale will use the current locale setting on device.
43+
44+
> Keep in mind that ICU versions differ accross device OS versions, so this plugin could produce different results on a different API level (Android) and OS version (iOS).

src/package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
{
22
"name": "nativescript-intl",
3-
"version": "0.0.1",
3+
"version": "0.0.3",
44
"description": "Provides API for using Native date, time and number formatting with an API similar to Intl.js",
55
"main": "nativescript-intl.js",
66
"nativescript": {
77
"platforms": {
8-
"android": "1.6.2",
9-
"ios": "1.6.0"
8+
"android": "2.1.0",
9+
"ios": "2.1.0"
1010
}
1111
},
1212
"keywords": [
13-
"NativeScript", "localization", "globalization", "formatting"
13+
"NativeScript", "localization", "globalization", "formatting", "currency", "nativescript-angular"
1414
],
1515
"author": "Nedyalko Nikolov <[email protected]>"
1616
}

tests/app/tests/example.js

+17-17
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ var mediumDateTimeResultsAndroid = [
9595
"22 mar 2016 09:40:39", //22 mar 2016, 09:40:39
9696
"22 de mar de 2016 09:40:39", //22/03/2016, 09:40:39
9797
"22 mar. 2016 09:40:39", //22 mar. 2016, 09:40:39
98-
"22 марта 2016 г. 09:40:39", //22 марта 2016 г., 9:40:39
98+
"22 мар. 2016 г. 09:40:39", //22 мар. 2016 г., 9:40:39
9999
"22. мар 2016. 09.40.39",
100100
"22. mar 2016 09:40:39", //22. 3. 2016, 9:40:39
101101
"22. mar. 2016 09:40:39", //22. mar. 2016 09.40.39
@@ -275,7 +275,7 @@ var mediumDateResultsAndroid = [
275275
"22 mar 2016",
276276
"22 de mar de 2016", //22/03/2016
277277
"22 mar. 2016",
278-
"22 марта 2016 г.",
278+
"22 мар. 2016 г.",
279279
"22. мар 2016.",
280280
"22. mar 2016", //22. 3. 2016
281281
"22. mar. 2016",
@@ -867,7 +867,7 @@ var currencyCodes = [
867867
"UAH",
868868
"GBP",
869869
"USD",
870-
"NOK"
870+
"NOK"
871871
];
872872

873873
var currencyCodesResultsAndroid = [
@@ -886,7 +886,7 @@ var currencyCodesResultsAndroid = [
886886
"123456,79 EUR",
887887
"123456,79 HUF",
888888
"123456,79 EUR",
889-
"EUR123456,79",
889+
"123456,79 EUR",
890890
"123456,79 MDL",
891891
"EUR 123456,79",
892892
"123456,79 PLN",
@@ -943,7 +943,7 @@ var currencyCodesResultsIOS = [
943943
];
944944

945945
var currencyCodesGroupingResultsAndroid = [
946-
"EUR 123.456,79",
946+
"EUR 123 456,79",
947947
"123.456,79 EUR", //EUR 123.456,79"
948948
"123.456,79 EUR", //123 456,79 EUR
949949
"123 456,79 BGN",
@@ -958,7 +958,7 @@ var currencyCodesGroupingResultsAndroid = [
958958
"123.456,79 EUR",
959959
"123 456,79 HUF",
960960
"123.456,79 EUR",
961-
"EUR123456,79", //EUR123 456,79
961+
"123456,79 EUR",
962962
"123.456,79 MDL",
963963
"EUR 123.456,79",
964964
"123 456,79 PLN",
@@ -1028,15 +1028,15 @@ var currencyCodesSymbolResultsAndroid = [
10281028
"123456,79 €",
10291029
"123456,79 €",
10301030
"123456,79 €",
1031-
"123456,79 HUF",
1031+
"123456,79 Ft",
1032+
"123456,79 €",
10321033
"123456,79 €",
1033-
"€123456,79",
10341034
"123456,79 L", //123456,79 MDL
10351035
"€ 123456,79",
10361036
"123456,79 zł",
10371037
"123456,79 €",
10381038
"123456,79 RON",
1039-
"123456,79 руб.",
1039+
"123456,79 ₽", // 123456,79 RUB
10401040
"123457 RSD",
10411041
"123456,79 €",
10421042
"123457 SLL", //123456,79 €
@@ -1087,7 +1087,7 @@ var currencyCodesSymbolResultsIOS = [
10871087
];
10881088

10891089
var percentResults = [
1090-
"12.345.679 %",
1090+
"12 345 679 %",
10911091
"12.345.679%",
10921092
"12.345.679 %", //12 345 679 %
10931093
"12 345 679%",
@@ -1114,7 +1114,7 @@ var percentResults = [
11141114
"12.345.679%",
11151115
"12.345.679 %",
11161116
"12 345 679 %",
1117-
"12'345'679 %",
1117+
"12'345'679%",
11181118
"%12.345.679",
11191119
"12 345 679%",
11201120
"12,345,679%",
@@ -1123,7 +1123,7 @@ var percentResults = [
11231123
];
11241124

11251125
var decimalResults = [
1126-
"123.456,79",
1126+
"123 456,79",
11271127
"123.456,79",
11281128
"123.456,79", //123 456,79
11291129
"123 456,79",
@@ -1159,7 +1159,7 @@ var decimalResults = [
11591159
];
11601160

11611161
var customNumberPatternResultsAndroid = [
1162-
"123.456,79 €",
1162+
"123 456,79 €",
11631163
"123.456,79 €",
11641164
"123.456,79 €",
11651165
"123 456,79 лв.",
@@ -1172,18 +1172,18 @@ var customNumberPatternResultsAndroid = [
11721172
"123 456,79 €",
11731173
"123.456,79 €",
11741174
"123.456,79 €",
1175-
"123 456,79 HUF",
1175+
"123 456,79 Ft",
11761176
"123.456,79 €",
11771177
"123 456,79 €",
11781178
"123.456,79 L",
11791179
"123.456,79 €",
11801180
"123 456,79 zł",
11811181
"123 456,79 €",
11821182
"123.456,79 RON",
1183-
"123 456,79 руб.",
1184-
"123.456,79 RSD",
1183+
"123 456,79 ",
1184+
"123.457 RSD",
11851185
"123 456,79 €",
1186-
"123.456,79 SLL",
1186+
"123.457 SLL",
11871187
"123.456,79 €",
11881188
"123 456,79 kr",
11891189
"123'456.79 CHF",

0 commit comments

Comments
 (0)