@spinajs/intl 2.0.45 → 2.0.48
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.
- package/README.md +11 -11
- package/lib/config/locales.d.ts +1 -0
- package/lib/config/locales.d.ts.map +1 -0
- package/lib/config/locales.js +1 -3
- package/lib/config/locales.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +44 -82
- package/lib/index.js.map +1 -1
- package/lib/sources.d.ts +1 -0
- package/lib/sources.d.ts.map +1 -0
- package/lib/sources.js +28 -58
- package/lib/sources.js.map +1 -1
- package/package.json +55 -52
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# `@spinajs/intl`
|
|
2
|
-
|
|
3
|
-
> TODO: description
|
|
4
|
-
|
|
5
|
-
## Usage
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
const intl = require('@spinajs/intl');
|
|
9
|
-
|
|
10
|
-
// TODO: DEMONSTRATE API
|
|
11
|
-
```
|
|
1
|
+
# `@spinajs/intl`
|
|
2
|
+
|
|
3
|
+
> TODO: description
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
const intl = require('@spinajs/intl');
|
|
9
|
+
|
|
10
|
+
// TODO: DEMONSTRATE API
|
|
11
|
+
```
|
package/lib/config/locales.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../src/config/locales.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,QAAA,MAAM,MAAM;;;;;;CAUX,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/lib/config/locales.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
1
|
/**
|
|
4
2
|
* Localisation configuration, structure like in
|
|
5
3
|
* https://github.com/mashpie/i18n-node
|
|
@@ -13,5 +11,5 @@ const config = {
|
|
|
13
11
|
queryParameter: 'lang',
|
|
14
12
|
},
|
|
15
13
|
};
|
|
16
|
-
|
|
14
|
+
export default config;
|
|
17
15
|
//# sourceMappingURL=locales.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locales.js","sourceRoot":"","sources":["../../src/config/locales.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"locales.js","sourceRoot":"","sources":["../../src/config/locales.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,GAAG;IACb,IAAI,EAAE;QACJ,aAAa,EAAE,IAAI;QAEnB,oBAAoB;QACpB,OAAO,EAAE,CAAC,IAAI,CAAC;QAEf,0EAA0E;QAC1E,cAAc,EAAE,MAAM;KACvB;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AsyncService } from '@spinajs/di';
|
|
2
2
|
import { Configuration } from '@spinajs/configuration';
|
|
3
3
|
import { Log } from '@spinajs/log';
|
|
4
|
-
export * from './sources';
|
|
4
|
+
export * from './sources.js';
|
|
5
5
|
export interface IPhraseWithOptions {
|
|
6
6
|
phrase: string;
|
|
7
7
|
locale: string;
|
|
@@ -109,3 +109,4 @@ export declare function __translateL(text: string): string[];
|
|
|
109
109
|
export declare function __translateH(text: string): any[];
|
|
110
110
|
export declare function guessLanguage(lang?: string): string;
|
|
111
111
|
export declare function defaultLanguage(): string;
|
|
112
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,YAAY,EAAkB,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,GAAG,EAAU,MAAM,cAAc,CAAC;AAO3C,cAAc,cAAc,CAAC;AAI7B,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,8BAAsB,IAAK,SAAQ,YAAY;IAC7C,OAAO,CAAC,cAAc,CAAS;IAE/B;;OAEG;IACH,IAAW,aAAa,IAOQ,MAAM,CALrC;IAED;;OAEG;IACH,IAAW,aAAa,CAAC,KAAK,EAAE,MAAM,EAMrC;IAED;;OAEG;IACI,OAAO,KAAM;IAEpB;;;;;;;OAOG;aACa,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM;IAE7E;;;;;;;OAOG;aACa,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAE7E;;;;OAIG;aACa,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAE3C;;;;OAIG;aACa,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE;CACzC;AAED;;;GAGG;AACH,qBACa,mCAAoC,SAAQ,IAAI;IAC3D;;OAEG;IACI,OAAO,KAAM;IAEpB;;OAEG;IAEH,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAG1B,OAAO;IAWpB;;;;;;;OAOG;IACI,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM;IAqBpE;;;;;;;OAOG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IA4EpE;;;;OAIG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAUlC;;;;OAIG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE;CAShC;AA4CD;;GAEG;AAEH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,UACxB,MAAM,GAAG,kBAAkB,WAAW,GAAG,EAAE,YAc1D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,UAC9B,MAAM,GAAG,kBAAkB,SAAS,MAAM,YAczD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,YAGxC;AACD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,SAGxC;AAED,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,UAiB1C;AAED,wBAAgB,eAAe,WAE9B"}
|
package/lib/index.js
CHANGED
|
@@ -1,54 +1,25 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
6
|
};
|
|
24
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
|
-
if (mod && mod.__esModule) return mod;
|
|
26
|
-
var result = {};
|
|
27
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
28
|
-
__setModuleDefault(result, mod);
|
|
29
|
-
return result;
|
|
30
|
-
};
|
|
31
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
32
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
33
|
-
};
|
|
34
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
35
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
36
9
|
};
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const TranslatioSources = __importStar(require("./sources"));
|
|
49
|
-
__exportStar(require("./sources"), exports);
|
|
10
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
11
|
+
import { Injectable, AsyncService, Autoinject, DI } from '@spinajs/di';
|
|
12
|
+
import { Configuration } from '@spinajs/configuration';
|
|
13
|
+
import { Log, Logger } from '@spinajs/log';
|
|
14
|
+
import { InvalidArgument } from '../../exceptions/lib/index.js';
|
|
15
|
+
import _ from 'lodash';
|
|
16
|
+
import * as util from 'util';
|
|
17
|
+
import * as MakePlural from 'make-plural';
|
|
18
|
+
import intervalParse from 'math-interval-parser';
|
|
19
|
+
import * as TranslatioSources from './sources.js';
|
|
20
|
+
export * from './sources.js';
|
|
50
21
|
const globalAny = global;
|
|
51
|
-
class Intl extends
|
|
22
|
+
export class Intl extends AsyncService {
|
|
52
23
|
constructor() {
|
|
53
24
|
super(...arguments);
|
|
54
25
|
/**
|
|
@@ -67,12 +38,11 @@ class Intl extends di_1.AsyncService {
|
|
|
67
38
|
*/
|
|
68
39
|
set CurrentLocale(value) {
|
|
69
40
|
if (!value) {
|
|
70
|
-
throw new
|
|
41
|
+
throw new InvalidArgument('value cannot be empty or null');
|
|
71
42
|
}
|
|
72
43
|
this._currentLocale = value;
|
|
73
44
|
}
|
|
74
45
|
}
|
|
75
|
-
exports.Intl = Intl;
|
|
76
46
|
/**
|
|
77
47
|
* Basic internationalization support. Text phrases are read from json files specified
|
|
78
48
|
* in system.dirs.locales
|
|
@@ -88,7 +58,7 @@ let SpineJsInternationalizationFromJson = class SpineJsInternationalizationFromJ
|
|
|
88
58
|
// tslint:disable-next-line: variable-name
|
|
89
59
|
async resolve() {
|
|
90
60
|
this.CurrentLocale = this.Configuration.get('intl.defaultLocale', 'en');
|
|
91
|
-
const sources = await
|
|
61
|
+
const sources = await DI.resolve(Array.ofType(TranslatioSources.TranslationSource));
|
|
92
62
|
for (const s of sources) {
|
|
93
63
|
const translations = await s.load();
|
|
94
64
|
this.Locales = _.merge(translations, this.Locales);
|
|
@@ -103,7 +73,6 @@ let SpineJsInternationalizationFromJson = class SpineJsInternationalizationFromJ
|
|
|
103
73
|
* @param args - argument passed to formatted text
|
|
104
74
|
*/
|
|
105
75
|
__(text, ...args) {
|
|
106
|
-
var _a, _b;
|
|
107
76
|
let locTable;
|
|
108
77
|
let toLocalize;
|
|
109
78
|
if (!text)
|
|
@@ -113,13 +82,13 @@ let SpineJsInternationalizationFromJson = class SpineJsInternationalizationFromJ
|
|
|
113
82
|
toLocalize = text;
|
|
114
83
|
}
|
|
115
84
|
else {
|
|
116
|
-
locTable =
|
|
85
|
+
locTable = this.Locales[text.locale] ?? this.Locales[this.CurrentLocale];
|
|
117
86
|
toLocalize = text.phrase;
|
|
118
87
|
}
|
|
119
88
|
if (!locTable) {
|
|
120
89
|
return util.format(toLocalize, ...args);
|
|
121
90
|
}
|
|
122
|
-
return util.format(
|
|
91
|
+
return util.format(locTable[toLocalize] ?? toLocalize, ...args);
|
|
123
92
|
}
|
|
124
93
|
/**
|
|
125
94
|
* Plurals translation of a single phrase.
|
|
@@ -130,7 +99,6 @@ let SpineJsInternationalizationFromJson = class SpineJsInternationalizationFromJ
|
|
|
130
99
|
* @example use like `__n("%s cats", 1) returns '1 cat'`
|
|
131
100
|
*/
|
|
132
101
|
__n(text, count) {
|
|
133
|
-
var _a, _b;
|
|
134
102
|
let locTable;
|
|
135
103
|
let toLocalize;
|
|
136
104
|
let locale;
|
|
@@ -142,8 +110,8 @@ let SpineJsInternationalizationFromJson = class SpineJsInternationalizationFromJ
|
|
|
142
110
|
toLocalize = text;
|
|
143
111
|
}
|
|
144
112
|
else {
|
|
145
|
-
locale =
|
|
146
|
-
locTable =
|
|
113
|
+
locale = text.locale ?? this.CurrentLocale;
|
|
114
|
+
locTable = this.Locales[text.locale] ?? this.Locales[this.CurrentLocale];
|
|
147
115
|
toLocalize = text.phrase;
|
|
148
116
|
}
|
|
149
117
|
if (/%/.test(toLocalize) && this.Locales[locale]) {
|
|
@@ -181,7 +149,7 @@ let SpineJsInternationalizationFromJson = class SpineJsInternationalizationFromJ
|
|
|
181
149
|
* [,20] - all numbers ≤20 (matches: 20, 21, 22, ...)
|
|
182
150
|
*/
|
|
183
151
|
function _matchInterval(c, eq) {
|
|
184
|
-
const interval =
|
|
152
|
+
const interval = intervalParse.default(eq);
|
|
185
153
|
if (interval) {
|
|
186
154
|
if (interval.from.value === c) {
|
|
187
155
|
return interval.from.included;
|
|
@@ -223,17 +191,17 @@ let SpineJsInternationalizationFromJson = class SpineJsInternationalizationFromJ
|
|
|
223
191
|
}
|
|
224
192
|
};
|
|
225
193
|
__decorate([
|
|
226
|
-
|
|
227
|
-
__metadata("design:type",
|
|
194
|
+
Logger('Intl'),
|
|
195
|
+
__metadata("design:type", Log)
|
|
228
196
|
], SpineJsInternationalizationFromJson.prototype, "Log", void 0);
|
|
229
197
|
__decorate([
|
|
230
|
-
|
|
231
|
-
__metadata("design:type",
|
|
198
|
+
Autoinject(),
|
|
199
|
+
__metadata("design:type", Configuration)
|
|
232
200
|
], SpineJsInternationalizationFromJson.prototype, "Configuration", void 0);
|
|
233
201
|
SpineJsInternationalizationFromJson = __decorate([
|
|
234
|
-
|
|
202
|
+
Injectable(Intl)
|
|
235
203
|
], SpineJsInternationalizationFromJson);
|
|
236
|
-
|
|
204
|
+
export { SpineJsInternationalizationFromJson };
|
|
237
205
|
/**
|
|
238
206
|
* I18n localization function. Returns localized string.
|
|
239
207
|
* If no translation is avaible at current selected language, then fallback to
|
|
@@ -243,7 +211,7 @@ exports.SpineJsInternationalizationFromJson = SpineJsInternationalizationFromJso
|
|
|
243
211
|
* @param locale - selected locale, if not specified - default locale is selected
|
|
244
212
|
*/
|
|
245
213
|
globalAny.__ = (text, ...args) => {
|
|
246
|
-
return
|
|
214
|
+
return DI.get(Intl).__(text, ...args);
|
|
247
215
|
};
|
|
248
216
|
/**
|
|
249
217
|
* Plurals translation of a single phrase. Singular and plural forms will get added to locales if unknown.
|
|
@@ -254,7 +222,7 @@ globalAny.__ = (text, ...args) => {
|
|
|
254
222
|
* @example use like `__n("%s cats", 1) returns `1 cat`
|
|
255
223
|
*/
|
|
256
224
|
globalAny.__n = (text, count) => {
|
|
257
|
-
return
|
|
225
|
+
return DI.get(Intl).__n(text, count);
|
|
258
226
|
};
|
|
259
227
|
/**
|
|
260
228
|
* Returns a list of translations for a given phrase in each language.
|
|
@@ -262,7 +230,7 @@ globalAny.__n = (text, count) => {
|
|
|
262
230
|
* @param text - text to translate
|
|
263
231
|
*/
|
|
264
232
|
globalAny.__l = (text) => {
|
|
265
|
-
return
|
|
233
|
+
return DI.get(Intl).__l(text);
|
|
266
234
|
};
|
|
267
235
|
/**
|
|
268
236
|
* Returns a hashed list of translations for a given phrase in each language.
|
|
@@ -270,14 +238,14 @@ globalAny.__l = (text) => {
|
|
|
270
238
|
* @param text - text to translate
|
|
271
239
|
*/
|
|
272
240
|
globalAny.__h = (text) => {
|
|
273
|
-
return
|
|
241
|
+
return DI.get(Intl).__h(text);
|
|
274
242
|
};
|
|
275
243
|
/**
|
|
276
244
|
* Helper function for translations ( eg. for use as in template rentering engines)
|
|
277
245
|
*/
|
|
278
|
-
function __translate(lang) {
|
|
246
|
+
export function __translate(lang) {
|
|
279
247
|
return (text, ...args) => {
|
|
280
|
-
const intl =
|
|
248
|
+
const intl = DI.get(Intl);
|
|
281
249
|
if (typeof text === 'string') {
|
|
282
250
|
return intl.__({
|
|
283
251
|
phrase: text,
|
|
@@ -287,10 +255,9 @@ function __translate(lang) {
|
|
|
287
255
|
return intl.__(text, ...args);
|
|
288
256
|
};
|
|
289
257
|
}
|
|
290
|
-
|
|
291
|
-
function __translateNumber(lang) {
|
|
258
|
+
export function __translateNumber(lang) {
|
|
292
259
|
return (text, count) => {
|
|
293
|
-
const intl =
|
|
260
|
+
const intl = DI.get(Intl);
|
|
294
261
|
if (typeof text === 'string') {
|
|
295
262
|
return intl.__n({
|
|
296
263
|
phrase: text,
|
|
@@ -300,39 +267,34 @@ function __translateNumber(lang) {
|
|
|
300
267
|
return intl.__n(text, count);
|
|
301
268
|
};
|
|
302
269
|
}
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
const intl = di_1.DI.get(Intl);
|
|
270
|
+
export function __translateL(text) {
|
|
271
|
+
const intl = DI.get(Intl);
|
|
306
272
|
return intl.__l(text);
|
|
307
273
|
}
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
const intl = di_1.DI.get(Intl);
|
|
274
|
+
export function __translateH(text) {
|
|
275
|
+
const intl = DI.get(Intl);
|
|
311
276
|
return intl.__h(text);
|
|
312
277
|
}
|
|
313
|
-
|
|
314
|
-
function guessLanguage(lang) {
|
|
278
|
+
export function guessLanguage(lang) {
|
|
315
279
|
let selectedLang = lang;
|
|
316
280
|
if (!selectedLang) {
|
|
317
|
-
const store =
|
|
281
|
+
const store = DI.get(AsyncLocalStorage);
|
|
318
282
|
if (store) {
|
|
319
|
-
const storage =
|
|
283
|
+
const storage = DI.get(AsyncLocalStorage).getStore();
|
|
320
284
|
if (!storage || !storage.language) {
|
|
321
|
-
selectedLang =
|
|
285
|
+
selectedLang = DI.get(Configuration).get('intl.defaultLocale');
|
|
322
286
|
}
|
|
323
287
|
else {
|
|
324
288
|
selectedLang = storage.language;
|
|
325
289
|
}
|
|
326
290
|
}
|
|
327
291
|
else {
|
|
328
|
-
selectedLang =
|
|
292
|
+
selectedLang = DI.get(Configuration).get('intl.defaultLocale');
|
|
329
293
|
}
|
|
330
294
|
}
|
|
331
295
|
return selectedLang;
|
|
332
296
|
}
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
return di_1.DI.get(configuration_1.Configuration).get('intl.defaultLocale');
|
|
297
|
+
export function defaultLanguage() {
|
|
298
|
+
return DI.get(Configuration).get('intl.defaultLocale');
|
|
336
299
|
}
|
|
337
|
-
exports.defaultLanguage = defaultLanguage;
|
|
338
300
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/sources.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../src/sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAQvD,8BAAsB,iBAAiB;IAErC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAGvC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC;aAEJ,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC;CACpC;AAED,qBACa,qBAAsB,SAAQ,iBAAiB;IAC7C,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC;CAoCjC;AAED,qBACa,mBAAoB,SAAQ,iBAAiB;IAC3C,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC;CA8BjC"}
|
package/lib/sources.js
CHANGED
|
@@ -1,76 +1,46 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
6
|
};
|
|
24
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
|
-
if (mod && mod.__esModule) return mod;
|
|
26
|
-
var result = {};
|
|
27
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
28
|
-
__setModuleDefault(result, mod);
|
|
29
|
-
return result;
|
|
30
|
-
};
|
|
31
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
32
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
33
9
|
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const fs = __importStar(require("fs"));
|
|
43
|
-
const _ = __importStar(require("lodash"));
|
|
44
|
-
const path_1 = require("path");
|
|
45
|
-
const log_1 = require("@spinajs/log");
|
|
46
|
-
class TranslationSource {
|
|
10
|
+
import { Configuration } from '@spinajs/configuration';
|
|
11
|
+
import { Autoinject, Injectable } from '@spinajs/di';
|
|
12
|
+
import glob from 'glob';
|
|
13
|
+
import * as fs from 'fs';
|
|
14
|
+
import _ from 'lodash';
|
|
15
|
+
import { normalize, resolve, basename } from 'path';
|
|
16
|
+
import { Logger } from '@spinajs/log';
|
|
17
|
+
export class TranslationSource {
|
|
47
18
|
}
|
|
48
19
|
__decorate([
|
|
49
|
-
|
|
50
|
-
__metadata("design:type",
|
|
20
|
+
Autoinject(),
|
|
21
|
+
__metadata("design:type", Configuration)
|
|
51
22
|
], TranslationSource.prototype, "Configuration", void 0);
|
|
52
23
|
__decorate([
|
|
53
|
-
|
|
24
|
+
Logger('intl'),
|
|
54
25
|
__metadata("design:type", Object)
|
|
55
26
|
], TranslationSource.prototype, "Log", void 0);
|
|
56
|
-
exports.TranslationSource = TranslationSource;
|
|
57
27
|
let JsonTranslationSource = class JsonTranslationSource extends TranslationSource {
|
|
58
28
|
async load() {
|
|
59
29
|
const localeDirs = this.Configuration.get('system.dirs.locales', []);
|
|
60
30
|
let translations = {};
|
|
61
31
|
localeDirs
|
|
62
32
|
.filter((d) => fs.existsSync(d))
|
|
63
|
-
.map((d) =>
|
|
33
|
+
.map((d) => glob.sync(`${d}/**/*.json`.replace(/\\/g, '/')))
|
|
64
34
|
.reduce((prev, current) => {
|
|
65
35
|
return prev.concat(_.flattenDeep(current));
|
|
66
36
|
}, [])
|
|
67
|
-
.map((f) =>
|
|
37
|
+
.map((f) => normalize(resolve(f)))
|
|
68
38
|
.map((f) => {
|
|
69
39
|
this.Log.trace(`Found json localisation file at ${f}`);
|
|
70
40
|
return f;
|
|
71
41
|
})
|
|
72
42
|
.forEach((f) => {
|
|
73
|
-
const lang =
|
|
43
|
+
const lang = basename(f, '.json');
|
|
74
44
|
let data;
|
|
75
45
|
try {
|
|
76
46
|
data = JSON.parse(fs.readFileSync(f, 'utf-8'));
|
|
@@ -89,38 +59,38 @@ let JsonTranslationSource = class JsonTranslationSource extends TranslationSourc
|
|
|
89
59
|
}
|
|
90
60
|
};
|
|
91
61
|
JsonTranslationSource = __decorate([
|
|
92
|
-
|
|
62
|
+
Injectable(TranslationSource)
|
|
93
63
|
], JsonTranslationSource);
|
|
94
|
-
|
|
64
|
+
export { JsonTranslationSource };
|
|
95
65
|
let JsTranslationSource = class JsTranslationSource extends TranslationSource {
|
|
96
66
|
async load() {
|
|
97
67
|
const localeDirs = this.Configuration.get('system.dirs.locales', []);
|
|
98
68
|
let translations = {};
|
|
99
|
-
localeDirs
|
|
69
|
+
const files = localeDirs
|
|
100
70
|
.filter((d) => fs.existsSync(d))
|
|
101
|
-
.map((d) =>
|
|
71
|
+
.map((d) => glob.sync(`${d}/**/*.{js,cjs}`.replace(/\\/g, '/')))
|
|
102
72
|
.reduce((prev, current) => {
|
|
103
73
|
return prev.concat(_.flattenDeep(current));
|
|
104
74
|
}, [])
|
|
105
|
-
.map((f) =>
|
|
75
|
+
.map((f) => normalize(resolve(f)))
|
|
106
76
|
.map((f) => {
|
|
107
77
|
this.Log.trace(`Found json localisation file at ${f}`);
|
|
108
78
|
return f;
|
|
109
|
-
})
|
|
110
|
-
|
|
111
|
-
const lang = (
|
|
112
|
-
let data =
|
|
113
|
-
if (!data) {
|
|
79
|
+
});
|
|
80
|
+
for (const f of files) {
|
|
81
|
+
const lang = basename(basename(f, '.js'), '.cjs');
|
|
82
|
+
let data = await import(`file://${f}`);
|
|
83
|
+
if (!data || !data.default) {
|
|
114
84
|
this.Log.warn(`No localisation data at ${f} for lang ${lang}`);
|
|
115
85
|
return;
|
|
116
86
|
}
|
|
117
|
-
translations = _.merge({ [lang]: data }, translations);
|
|
118
|
-
}
|
|
87
|
+
translations = _.merge({ [lang]: data.default }, translations);
|
|
88
|
+
}
|
|
119
89
|
return translations;
|
|
120
90
|
}
|
|
121
91
|
};
|
|
122
92
|
JsTranslationSource = __decorate([
|
|
123
|
-
|
|
93
|
+
Injectable(TranslationSource)
|
|
124
94
|
], JsTranslationSource);
|
|
125
|
-
|
|
95
|
+
export { JsTranslationSource };
|
|
126
96
|
//# sourceMappingURL=sources.js.map
|
package/lib/sources.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sources.js","sourceRoot":"","sources":["../src/sources.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sources.js","sourceRoot":"","sources":["../src/sources.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,52 +1,55 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@spinajs/intl",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "internationalization for spinajs framework",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"spinajs"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
"@spinajs/
|
|
45
|
-
"@spinajs/
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@spinajs/intl",
|
|
3
|
+
"version": "2.0.48",
|
|
4
|
+
"description": "internationalization for spinajs framework",
|
|
5
|
+
"exports": "./lib/index.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"private": false,
|
|
8
|
+
"engines": {
|
|
9
|
+
"node": ">=16.11"
|
|
10
|
+
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build": "npm run clean && npm run compile",
|
|
13
|
+
"compile": "tsc -b tsconfig.json",
|
|
14
|
+
"rimraf": "./node_modules/rimraf/bin.js",
|
|
15
|
+
"clean": "rimraf lib/ && rimraf tsconfig.tsbuildinfo",
|
|
16
|
+
"test": "ts-mocha -p tsconfig.json test/**/*.test.ts",
|
|
17
|
+
"coverage": "nyc npm run test",
|
|
18
|
+
"build-docs": "rimraf docs && typedoc --options typedoc.json src/",
|
|
19
|
+
"format": "prettier --write \"src/**/*.ts\"",
|
|
20
|
+
"lint": "eslint -c .eslintrc.cjs --ext .ts src --fix",
|
|
21
|
+
"preversion": "npm run lint",
|
|
22
|
+
"version": "npm run format && git add -A src",
|
|
23
|
+
"postinstall": "npm run build"
|
|
24
|
+
},
|
|
25
|
+
"files": [
|
|
26
|
+
"lib/**/*"
|
|
27
|
+
],
|
|
28
|
+
"types": "lib",
|
|
29
|
+
"repository": {
|
|
30
|
+
"type": "git",
|
|
31
|
+
"url": "git+https://github.com/spinajs/main.git"
|
|
32
|
+
},
|
|
33
|
+
"keywords": [
|
|
34
|
+
"spinajs",
|
|
35
|
+
"intl"
|
|
36
|
+
],
|
|
37
|
+
"author": "SpinaJS <spinajs@coderush.pl> (https://github.com/spinajs/main)",
|
|
38
|
+
"license": "MIT",
|
|
39
|
+
"bugs": {
|
|
40
|
+
"url": "https://github.com/spinajs/main/issues"
|
|
41
|
+
},
|
|
42
|
+
"homepage": "https://github.com/spinajs/main#readme",
|
|
43
|
+
"dependencies": {
|
|
44
|
+
"@spinajs/configuration": "^2.0.46",
|
|
45
|
+
"@spinajs/di": "^2.0.46",
|
|
46
|
+
"@spinajs/exceptions": "^2.0.39",
|
|
47
|
+
"@spinajs/log": "^2.0.46",
|
|
48
|
+
"@spinajs/reflection": "^2.0.46",
|
|
49
|
+
"glob": "^8.1.0",
|
|
50
|
+
"lodash": "^4.17.21",
|
|
51
|
+
"make-plural": "^7.2.0",
|
|
52
|
+
"math-interval-parser": "^2.0.1"
|
|
53
|
+
},
|
|
54
|
+
"gitHead": "002dc553b0ffffd72193d0121ac425a4083bc9ee"
|
|
55
|
+
}
|