@spinajs/intl 2.0.179 → 2.0.181
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/lib/cjs/config/locales.d.ts +12 -12
- package/lib/cjs/config/locales.js +16 -16
- package/lib/cjs/index.browser.d.ts +1 -1
- package/lib/cjs/index.browser.js +17 -17
- package/lib/cjs/index.d.ts +115 -115
- package/lib/cjs/index.js +333 -333
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/index.node.d.ts +2 -2
- package/lib/cjs/index.node.js +18 -18
- package/lib/cjs/interfaces.d.ts +7 -7
- package/lib/cjs/interfaces.js +26 -26
- package/lib/cjs/interfaces.js.map +1 -1
- package/lib/cjs/sources.d.ts +7 -7
- package/lib/cjs/sources.js +110 -110
- package/lib/cjs/sources.js.map +1 -1
- package/lib/mjs/config/locales.d.ts +12 -12
- package/lib/mjs/config/locales.js +14 -14
- package/lib/mjs/index.browser.d.ts +1 -1
- package/lib/mjs/index.browser.js +1 -1
- package/lib/mjs/index.d.ts +115 -115
- package/lib/mjs/index.js +294 -294
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/index.node.d.ts +2 -2
- package/lib/mjs/index.node.js +2 -2
- package/lib/mjs/interfaces.d.ts +7 -7
- package/lib/mjs/interfaces.js +22 -22
- package/lib/mjs/interfaces.js.map +1 -1
- package/lib/mjs/sources.d.ts +7 -7
- package/lib/mjs/sources.js +81 -81
- package/lib/mjs/sources.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +5 -5
package/lib/mjs/index.js
CHANGED
|
@@ -1,295 +1,295 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { AsyncLocalStorage } from 'async_hooks';
|
|
11
|
-
import { Injectable, AsyncService, Autoinject, DI } from '@spinajs/di';
|
|
12
|
-
import { Configuration } from '@spinajs/configuration-common';
|
|
13
|
-
import { Log, Logger } from '@spinajs/log-common';
|
|
14
|
-
import { InvalidArgument } from '@spinajs/exceptions';
|
|
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 { TranslationSource } from './interfaces.js';
|
|
20
|
-
export * from "./interfaces.js";
|
|
21
|
-
const globalAny = global;
|
|
22
|
-
export class Intl extends AsyncService {
|
|
23
|
-
constructor() {
|
|
24
|
-
super(...arguments);
|
|
25
|
-
/**
|
|
26
|
-
* Map with avaible translations, keyed by locale name
|
|
27
|
-
*/
|
|
28
|
-
this.Locales = {};
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Currently selected locale
|
|
32
|
-
*/
|
|
33
|
-
get CurrentLocale() {
|
|
34
|
-
return this._currentLocale;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Currently selected locale
|
|
38
|
-
*/
|
|
39
|
-
set CurrentLocale(value) {
|
|
40
|
-
if (!value) {
|
|
41
|
-
throw new InvalidArgument('value cannot be empty or null');
|
|
42
|
-
}
|
|
43
|
-
this._currentLocale = value;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Basic internationalization support. Text phrases are read from json files specified
|
|
48
|
-
* in system.dirs.locales
|
|
49
|
-
*/
|
|
50
|
-
let SpineJsInternationalizationFromJson = class SpineJsInternationalizationFromJson extends Intl {
|
|
51
|
-
constructor() {
|
|
52
|
-
super(...arguments);
|
|
53
|
-
/**
|
|
54
|
-
* Map with avaible translations, keyed by locale name
|
|
55
|
-
*/
|
|
56
|
-
this.Locales = {};
|
|
57
|
-
}
|
|
58
|
-
// tslint:disable-next-line: variable-name
|
|
59
|
-
async resolve() {
|
|
60
|
-
this.CurrentLocale = this.Configuration.get('intl.defaultLocale', 'en');
|
|
61
|
-
const sources = await DI.resolve(Array.ofType(TranslationSource));
|
|
62
|
-
for (const s of sources) {
|
|
63
|
-
const translations = await s.load();
|
|
64
|
-
this.Locales = _.merge(translations, this.Locales);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* I18n localization function. Returns localized string.
|
|
69
|
-
* If no translation is avaible at current selected language, then fallback to
|
|
70
|
-
* default language, if still no translation exists, original text is returned
|
|
71
|
-
*
|
|
72
|
-
* @param text - text to localize.
|
|
73
|
-
* @param args - argument passed to formatted text
|
|
74
|
-
*/
|
|
75
|
-
__(text, ...args) {
|
|
76
|
-
let locTable;
|
|
77
|
-
let toLocalize;
|
|
78
|
-
if (!text)
|
|
79
|
-
return '';
|
|
80
|
-
if (_.isString(text)) {
|
|
81
|
-
locTable = this.Locales[this.CurrentLocale];
|
|
82
|
-
toLocalize = text;
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
locTable = this.Locales[text.locale] ?? this.Locales[this.CurrentLocale];
|
|
86
|
-
toLocalize = text.phrase;
|
|
87
|
-
}
|
|
88
|
-
if (!locTable) {
|
|
89
|
-
return util.format(toLocalize, ...args);
|
|
90
|
-
}
|
|
91
|
-
return util.format(locTable[toLocalize] ?? toLocalize, ...args);
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Plurals translation of a single phrase.
|
|
95
|
-
* Returns translated, parsed and substituted string based on count parameter.
|
|
96
|
-
*
|
|
97
|
-
* @param text - text to localize
|
|
98
|
-
* @param count - number of items/things
|
|
99
|
-
* @example use like `__n("%s cats", 1) returns '1 cat'`
|
|
100
|
-
*/
|
|
101
|
-
__n(text, count) {
|
|
102
|
-
let locTable;
|
|
103
|
-
let toLocalize;
|
|
104
|
-
let locale;
|
|
105
|
-
if (!text)
|
|
106
|
-
return '';
|
|
107
|
-
if (_.isString(text)) {
|
|
108
|
-
locale = this.CurrentLocale;
|
|
109
|
-
locTable = this.Locales[this.CurrentLocale];
|
|
110
|
-
toLocalize = text;
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
locale = text.locale ?? this.CurrentLocale;
|
|
114
|
-
locTable = this.Locales[text.locale] ?? this.Locales[this.CurrentLocale];
|
|
115
|
-
toLocalize = text.phrase;
|
|
116
|
-
}
|
|
117
|
-
if (/%/.test(toLocalize) && this.Locales[locale]) {
|
|
118
|
-
const phrase = locTable[toLocalize];
|
|
119
|
-
const pluralVerb = MakePlural[locale](count);
|
|
120
|
-
if (phrase[pluralVerb]) {
|
|
121
|
-
return util.format(phrase[pluralVerb], count);
|
|
122
|
-
}
|
|
123
|
-
else if (phrase.other) {
|
|
124
|
-
return util.format(_getInterval(phrase.other, count), count);
|
|
125
|
-
}
|
|
126
|
-
return this.__(text, count);
|
|
127
|
-
}
|
|
128
|
-
return this.__(text, count);
|
|
129
|
-
function _getInterval(text, count) {
|
|
130
|
-
let toReturn = text;
|
|
131
|
-
const phrases = text.split(/\|/);
|
|
132
|
-
phrases.some((phrase) => {
|
|
133
|
-
const matches = phrase.match(/^\s*([\(\)\[\]\d,]+)?\s*(.*)$/);
|
|
134
|
-
if (matches[1] && _matchInterval(count, matches[1])) {
|
|
135
|
-
toReturn = matches[2];
|
|
136
|
-
return true;
|
|
137
|
-
}
|
|
138
|
-
else {
|
|
139
|
-
toReturn = phrase;
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
return toReturn;
|
|
143
|
-
/**
|
|
144
|
-
* test a number to match mathematical interval expressions
|
|
145
|
-
* [0,2] - 0 to 2 (including, matches: 0, 1, 2)
|
|
146
|
-
* ]0,3[ - 0 to 3 (excluding, matches: 1, 2)
|
|
147
|
-
* [1] - 1 (matches: 1)
|
|
148
|
-
* [20,] - all numbers ≥20 (matches: 20, 21, 22, ...)
|
|
149
|
-
* [,20] - all numbers ≤20 (matches: 20, 21, 22, ...)
|
|
150
|
-
*/
|
|
151
|
-
function _matchInterval(c, eq) {
|
|
152
|
-
const interval = intervalParse.default ? intervalParse.default(eq) : intervalParse(eq);
|
|
153
|
-
if (interval) {
|
|
154
|
-
if (interval.from.value === c) {
|
|
155
|
-
return interval.from.included;
|
|
156
|
-
}
|
|
157
|
-
if (interval.to.value === c) {
|
|
158
|
-
return interval.from.included;
|
|
159
|
-
}
|
|
160
|
-
return Math.min(interval.from.value, c) === interval.from.value && Math.max(interval.to.value, c) === interval.to.value;
|
|
161
|
-
}
|
|
162
|
-
return false;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Returns a list of translations for a given phrase in each language.
|
|
168
|
-
*
|
|
169
|
-
* @param text - text to translate
|
|
170
|
-
*/
|
|
171
|
-
__l(text) {
|
|
172
|
-
if (!text)
|
|
173
|
-
return [];
|
|
174
|
-
const extract = _.property(text);
|
|
175
|
-
return Array.from(Object.values(this.Locales)).map((v) => {
|
|
176
|
-
return extract(v);
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* Returns a hashed list of translations for a given phrase in each language.
|
|
181
|
-
*
|
|
182
|
-
* @param text - text to translate
|
|
183
|
-
*/
|
|
184
|
-
__h(text) {
|
|
185
|
-
if (!text)
|
|
186
|
-
return [];
|
|
187
|
-
const extract = _.property(text);
|
|
188
|
-
return Array.from(Object.values(this.Locales)).map((v, locale) => {
|
|
189
|
-
return { [locale]: extract(v) };
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
};
|
|
193
|
-
__decorate([
|
|
194
|
-
Logger('Intl'),
|
|
195
|
-
__metadata("design:type", Log)
|
|
196
|
-
], SpineJsInternationalizationFromJson.prototype, "Log", void 0);
|
|
197
|
-
__decorate([
|
|
198
|
-
Autoinject(),
|
|
199
|
-
__metadata("design:type", Configuration)
|
|
200
|
-
], SpineJsInternationalizationFromJson.prototype, "Configuration", void 0);
|
|
201
|
-
SpineJsInternationalizationFromJson = __decorate([
|
|
202
|
-
Injectable(Intl)
|
|
203
|
-
], SpineJsInternationalizationFromJson);
|
|
204
|
-
export { SpineJsInternationalizationFromJson };
|
|
205
|
-
/**
|
|
206
|
-
* I18n localization function. Returns localized string.
|
|
207
|
-
* If no translation is avaible at current selected language, then fallback to
|
|
208
|
-
* default language, if still no translation exists, original text is returned
|
|
209
|
-
*
|
|
210
|
-
* @param text - text to localize.
|
|
211
|
-
* @param locale - selected locale, if not specified - default locale is selected
|
|
212
|
-
*/
|
|
213
|
-
globalAny.__ = (text, ...args) => {
|
|
214
|
-
return DI.get(Intl).__(text, ...args);
|
|
215
|
-
};
|
|
216
|
-
/**
|
|
217
|
-
* Plurals translation of a single phrase. Singular and plural forms will get added to locales if unknown.
|
|
218
|
-
* Returns translated parsed and substituted string based on last count parameter.
|
|
219
|
-
*
|
|
220
|
-
* @param text - text to localize
|
|
221
|
-
* @param count - number of items/things
|
|
222
|
-
* @example use like `__n("%s cats", 1) returns `1 cat`
|
|
223
|
-
*/
|
|
224
|
-
globalAny.__n = (text, count) => {
|
|
225
|
-
return DI.get(Intl).__n(text, count);
|
|
226
|
-
};
|
|
227
|
-
/**
|
|
228
|
-
* Returns a list of translations for a given phrase in each language.
|
|
229
|
-
*
|
|
230
|
-
* @param text - text to translate
|
|
231
|
-
*/
|
|
232
|
-
globalAny.__l = (text) => {
|
|
233
|
-
return DI.get(Intl).__l(text);
|
|
234
|
-
};
|
|
235
|
-
/**
|
|
236
|
-
* Returns a hashed list of translations for a given phrase in each language.
|
|
237
|
-
*
|
|
238
|
-
* @param text - text to translate
|
|
239
|
-
*/
|
|
240
|
-
globalAny.__h = (text) => {
|
|
241
|
-
return DI.get(Intl).__h(text);
|
|
242
|
-
};
|
|
243
|
-
/**
|
|
244
|
-
* Helper function for translations ( eg. for use as in template rentering engines)
|
|
245
|
-
*/
|
|
246
|
-
export function __translate(lang) {
|
|
247
|
-
return (text, ...args) => {
|
|
248
|
-
const intl = DI.get(Intl);
|
|
249
|
-
if (typeof text === 'string') {
|
|
250
|
-
return intl.__({
|
|
251
|
-
phrase: text,
|
|
252
|
-
locale: lang,
|
|
253
|
-
}, ...args);
|
|
254
|
-
}
|
|
255
|
-
return intl.__(text, ...args);
|
|
256
|
-
};
|
|
257
|
-
}
|
|
258
|
-
export function __translateNumber(lang) {
|
|
259
|
-
return (text, count) => {
|
|
260
|
-
const intl = DI.get(Intl);
|
|
261
|
-
if (typeof text === 'string') {
|
|
262
|
-
return intl.__n({
|
|
263
|
-
phrase: text,
|
|
264
|
-
locale: lang,
|
|
265
|
-
}, count);
|
|
266
|
-
}
|
|
267
|
-
return intl.__n(text, count);
|
|
268
|
-
};
|
|
269
|
-
}
|
|
270
|
-
export function __translateL(text) {
|
|
271
|
-
const intl = DI.get(Intl);
|
|
272
|
-
return intl.__l(text);
|
|
273
|
-
}
|
|
274
|
-
export function __translateH(text) {
|
|
275
|
-
const intl = DI.get(Intl);
|
|
276
|
-
return intl.__h(text);
|
|
277
|
-
}
|
|
278
|
-
export function guessLanguage(lang) {
|
|
279
|
-
if (!lang) {
|
|
280
|
-
if (typeof AsyncLocalStorage === 'function') {
|
|
281
|
-
const store = DI.get(AsyncLocalStorage);
|
|
282
|
-
if (store) {
|
|
283
|
-
const storage = DI.get(AsyncLocalStorage).getStore();
|
|
284
|
-
if (storage && storage.language) {
|
|
285
|
-
return storage.language;
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
return lang ?? DI.get(Configuration).get('intl.defaultLocale');
|
|
291
|
-
}
|
|
292
|
-
export function defaultLanguage() {
|
|
293
|
-
return DI.get(Configuration).get('intl.defaultLocale');
|
|
294
|
-
}
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { AsyncLocalStorage } from 'async_hooks';
|
|
11
|
+
import { Injectable, AsyncService, Autoinject, DI } from '@spinajs/di';
|
|
12
|
+
import { Configuration } from '@spinajs/configuration-common';
|
|
13
|
+
import { Log, Logger } from '@spinajs/log-common';
|
|
14
|
+
import { InvalidArgument } from '@spinajs/exceptions';
|
|
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 { TranslationSource } from './interfaces.js';
|
|
20
|
+
export * from "./interfaces.js";
|
|
21
|
+
const globalAny = global;
|
|
22
|
+
export class Intl extends AsyncService {
|
|
23
|
+
constructor() {
|
|
24
|
+
super(...arguments);
|
|
25
|
+
/**
|
|
26
|
+
* Map with avaible translations, keyed by locale name
|
|
27
|
+
*/
|
|
28
|
+
this.Locales = {};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Currently selected locale
|
|
32
|
+
*/
|
|
33
|
+
get CurrentLocale() {
|
|
34
|
+
return this._currentLocale;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Currently selected locale
|
|
38
|
+
*/
|
|
39
|
+
set CurrentLocale(value) {
|
|
40
|
+
if (!value) {
|
|
41
|
+
throw new InvalidArgument('value cannot be empty or null');
|
|
42
|
+
}
|
|
43
|
+
this._currentLocale = value;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Basic internationalization support. Text phrases are read from json files specified
|
|
48
|
+
* in system.dirs.locales
|
|
49
|
+
*/
|
|
50
|
+
let SpineJsInternationalizationFromJson = class SpineJsInternationalizationFromJson extends Intl {
|
|
51
|
+
constructor() {
|
|
52
|
+
super(...arguments);
|
|
53
|
+
/**
|
|
54
|
+
* Map with avaible translations, keyed by locale name
|
|
55
|
+
*/
|
|
56
|
+
this.Locales = {};
|
|
57
|
+
}
|
|
58
|
+
// tslint:disable-next-line: variable-name
|
|
59
|
+
async resolve() {
|
|
60
|
+
this.CurrentLocale = this.Configuration.get('intl.defaultLocale', 'en');
|
|
61
|
+
const sources = await DI.resolve(Array.ofType(TranslationSource));
|
|
62
|
+
for (const s of sources) {
|
|
63
|
+
const translations = await s.load();
|
|
64
|
+
this.Locales = _.merge(translations, this.Locales);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* I18n localization function. Returns localized string.
|
|
69
|
+
* If no translation is avaible at current selected language, then fallback to
|
|
70
|
+
* default language, if still no translation exists, original text is returned
|
|
71
|
+
*
|
|
72
|
+
* @param text - text to localize.
|
|
73
|
+
* @param args - argument passed to formatted text
|
|
74
|
+
*/
|
|
75
|
+
__(text, ...args) {
|
|
76
|
+
let locTable;
|
|
77
|
+
let toLocalize;
|
|
78
|
+
if (!text)
|
|
79
|
+
return '';
|
|
80
|
+
if (_.isString(text)) {
|
|
81
|
+
locTable = this.Locales[this.CurrentLocale];
|
|
82
|
+
toLocalize = text;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
locTable = this.Locales[text.locale] ?? this.Locales[this.CurrentLocale];
|
|
86
|
+
toLocalize = text.phrase;
|
|
87
|
+
}
|
|
88
|
+
if (!locTable) {
|
|
89
|
+
return util.format(toLocalize, ...args);
|
|
90
|
+
}
|
|
91
|
+
return util.format(locTable[toLocalize] ?? toLocalize, ...args);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Plurals translation of a single phrase.
|
|
95
|
+
* Returns translated, parsed and substituted string based on count parameter.
|
|
96
|
+
*
|
|
97
|
+
* @param text - text to localize
|
|
98
|
+
* @param count - number of items/things
|
|
99
|
+
* @example use like `__n("%s cats", 1) returns '1 cat'`
|
|
100
|
+
*/
|
|
101
|
+
__n(text, count) {
|
|
102
|
+
let locTable;
|
|
103
|
+
let toLocalize;
|
|
104
|
+
let locale;
|
|
105
|
+
if (!text)
|
|
106
|
+
return '';
|
|
107
|
+
if (_.isString(text)) {
|
|
108
|
+
locale = this.CurrentLocale;
|
|
109
|
+
locTable = this.Locales[this.CurrentLocale];
|
|
110
|
+
toLocalize = text;
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
locale = text.locale ?? this.CurrentLocale;
|
|
114
|
+
locTable = this.Locales[text.locale] ?? this.Locales[this.CurrentLocale];
|
|
115
|
+
toLocalize = text.phrase;
|
|
116
|
+
}
|
|
117
|
+
if (/%/.test(toLocalize) && this.Locales[locale]) {
|
|
118
|
+
const phrase = locTable[toLocalize];
|
|
119
|
+
const pluralVerb = MakePlural[locale](count);
|
|
120
|
+
if (phrase[pluralVerb]) {
|
|
121
|
+
return util.format(phrase[pluralVerb], count);
|
|
122
|
+
}
|
|
123
|
+
else if (phrase.other) {
|
|
124
|
+
return util.format(_getInterval(phrase.other, count), count);
|
|
125
|
+
}
|
|
126
|
+
return this.__(text, count);
|
|
127
|
+
}
|
|
128
|
+
return this.__(text, count);
|
|
129
|
+
function _getInterval(text, count) {
|
|
130
|
+
let toReturn = text;
|
|
131
|
+
const phrases = text.split(/\|/);
|
|
132
|
+
phrases.some((phrase) => {
|
|
133
|
+
const matches = phrase.match(/^\s*([\(\)\[\]\d,]+)?\s*(.*)$/);
|
|
134
|
+
if (matches[1] && _matchInterval(count, matches[1])) {
|
|
135
|
+
toReturn = matches[2];
|
|
136
|
+
return true;
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
toReturn = phrase;
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
return toReturn;
|
|
143
|
+
/**
|
|
144
|
+
* test a number to match mathematical interval expressions
|
|
145
|
+
* [0,2] - 0 to 2 (including, matches: 0, 1, 2)
|
|
146
|
+
* ]0,3[ - 0 to 3 (excluding, matches: 1, 2)
|
|
147
|
+
* [1] - 1 (matches: 1)
|
|
148
|
+
* [20,] - all numbers ≥20 (matches: 20, 21, 22, ...)
|
|
149
|
+
* [,20] - all numbers ≤20 (matches: 20, 21, 22, ...)
|
|
150
|
+
*/
|
|
151
|
+
function _matchInterval(c, eq) {
|
|
152
|
+
const interval = intervalParse.default ? intervalParse.default(eq) : intervalParse(eq);
|
|
153
|
+
if (interval) {
|
|
154
|
+
if (interval.from.value === c) {
|
|
155
|
+
return interval.from.included;
|
|
156
|
+
}
|
|
157
|
+
if (interval.to.value === c) {
|
|
158
|
+
return interval.from.included;
|
|
159
|
+
}
|
|
160
|
+
return Math.min(interval.from.value, c) === interval.from.value && Math.max(interval.to.value, c) === interval.to.value;
|
|
161
|
+
}
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Returns a list of translations for a given phrase in each language.
|
|
168
|
+
*
|
|
169
|
+
* @param text - text to translate
|
|
170
|
+
*/
|
|
171
|
+
__l(text) {
|
|
172
|
+
if (!text)
|
|
173
|
+
return [];
|
|
174
|
+
const extract = _.property(text);
|
|
175
|
+
return Array.from(Object.values(this.Locales)).map((v) => {
|
|
176
|
+
return extract(v);
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Returns a hashed list of translations for a given phrase in each language.
|
|
181
|
+
*
|
|
182
|
+
* @param text - text to translate
|
|
183
|
+
*/
|
|
184
|
+
__h(text) {
|
|
185
|
+
if (!text)
|
|
186
|
+
return [];
|
|
187
|
+
const extract = _.property(text);
|
|
188
|
+
return Array.from(Object.values(this.Locales)).map((v, locale) => {
|
|
189
|
+
return { [locale]: extract(v) };
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
__decorate([
|
|
194
|
+
Logger('Intl'),
|
|
195
|
+
__metadata("design:type", Log)
|
|
196
|
+
], SpineJsInternationalizationFromJson.prototype, "Log", void 0);
|
|
197
|
+
__decorate([
|
|
198
|
+
Autoinject(),
|
|
199
|
+
__metadata("design:type", Configuration)
|
|
200
|
+
], SpineJsInternationalizationFromJson.prototype, "Configuration", void 0);
|
|
201
|
+
SpineJsInternationalizationFromJson = __decorate([
|
|
202
|
+
Injectable(Intl)
|
|
203
|
+
], SpineJsInternationalizationFromJson);
|
|
204
|
+
export { SpineJsInternationalizationFromJson };
|
|
205
|
+
/**
|
|
206
|
+
* I18n localization function. Returns localized string.
|
|
207
|
+
* If no translation is avaible at current selected language, then fallback to
|
|
208
|
+
* default language, if still no translation exists, original text is returned
|
|
209
|
+
*
|
|
210
|
+
* @param text - text to localize.
|
|
211
|
+
* @param locale - selected locale, if not specified - default locale is selected
|
|
212
|
+
*/
|
|
213
|
+
globalAny.__ = (text, ...args) => {
|
|
214
|
+
return DI.get(Intl).__(text, ...args);
|
|
215
|
+
};
|
|
216
|
+
/**
|
|
217
|
+
* Plurals translation of a single phrase. Singular and plural forms will get added to locales if unknown.
|
|
218
|
+
* Returns translated parsed and substituted string based on last count parameter.
|
|
219
|
+
*
|
|
220
|
+
* @param text - text to localize
|
|
221
|
+
* @param count - number of items/things
|
|
222
|
+
* @example use like `__n("%s cats", 1) returns `1 cat`
|
|
223
|
+
*/
|
|
224
|
+
globalAny.__n = (text, count) => {
|
|
225
|
+
return DI.get(Intl).__n(text, count);
|
|
226
|
+
};
|
|
227
|
+
/**
|
|
228
|
+
* Returns a list of translations for a given phrase in each language.
|
|
229
|
+
*
|
|
230
|
+
* @param text - text to translate
|
|
231
|
+
*/
|
|
232
|
+
globalAny.__l = (text) => {
|
|
233
|
+
return DI.get(Intl).__l(text);
|
|
234
|
+
};
|
|
235
|
+
/**
|
|
236
|
+
* Returns a hashed list of translations for a given phrase in each language.
|
|
237
|
+
*
|
|
238
|
+
* @param text - text to translate
|
|
239
|
+
*/
|
|
240
|
+
globalAny.__h = (text) => {
|
|
241
|
+
return DI.get(Intl).__h(text);
|
|
242
|
+
};
|
|
243
|
+
/**
|
|
244
|
+
* Helper function for translations ( eg. for use as in template rentering engines)
|
|
245
|
+
*/
|
|
246
|
+
export function __translate(lang) {
|
|
247
|
+
return (text, ...args) => {
|
|
248
|
+
const intl = DI.get(Intl);
|
|
249
|
+
if (typeof text === 'string') {
|
|
250
|
+
return intl.__({
|
|
251
|
+
phrase: text,
|
|
252
|
+
locale: lang,
|
|
253
|
+
}, ...args);
|
|
254
|
+
}
|
|
255
|
+
return intl.__(text, ...args);
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
export function __translateNumber(lang) {
|
|
259
|
+
return (text, count) => {
|
|
260
|
+
const intl = DI.get(Intl);
|
|
261
|
+
if (typeof text === 'string') {
|
|
262
|
+
return intl.__n({
|
|
263
|
+
phrase: text,
|
|
264
|
+
locale: lang,
|
|
265
|
+
}, count);
|
|
266
|
+
}
|
|
267
|
+
return intl.__n(text, count);
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
export function __translateL(text) {
|
|
271
|
+
const intl = DI.get(Intl);
|
|
272
|
+
return intl.__l(text);
|
|
273
|
+
}
|
|
274
|
+
export function __translateH(text) {
|
|
275
|
+
const intl = DI.get(Intl);
|
|
276
|
+
return intl.__h(text);
|
|
277
|
+
}
|
|
278
|
+
export function guessLanguage(lang) {
|
|
279
|
+
if (!lang) {
|
|
280
|
+
if (typeof AsyncLocalStorage === 'function') {
|
|
281
|
+
const store = DI.get(AsyncLocalStorage);
|
|
282
|
+
if (store) {
|
|
283
|
+
const storage = DI.get(AsyncLocalStorage).getStore();
|
|
284
|
+
if (storage && storage.language) {
|
|
285
|
+
return storage.language;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
return lang ?? DI.get(Configuration).get('intl.defaultLocale');
|
|
291
|
+
}
|
|
292
|
+
export function defaultLanguage() {
|
|
293
|
+
return DI.get(Configuration).get('intl.defaultLocale');
|
|
294
|
+
}
|
|
295
295
|
//# sourceMappingURL=index.js.map
|
package/lib/mjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/mjs/index.node.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./sources.js";
|
|
2
|
-
export * from "./index.js";
|
|
1
|
+
export * from "./sources.js";
|
|
2
|
+
export * from "./index.js";
|
|
3
3
|
//# sourceMappingURL=index.node.d.ts.map
|
package/lib/mjs/index.node.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./sources.js";
|
|
2
|
-
export * from "./index.js";
|
|
1
|
+
export * from "./sources.js";
|
|
2
|
+
export * from "./index.js";
|
|
3
3
|
//# sourceMappingURL=index.node.js.map
|
package/lib/mjs/interfaces.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Log } from '@spinajs/log-common';
|
|
2
|
-
import { Configuration } from "@spinajs/configuration-common";
|
|
3
|
-
export declare abstract class TranslationSource {
|
|
4
|
-
protected Configuration: Configuration;
|
|
5
|
-
protected Log: Log;
|
|
6
|
-
abstract load(): Promise<{}>;
|
|
7
|
-
}
|
|
1
|
+
import { Log } from '@spinajs/log-common';
|
|
2
|
+
import { Configuration } from "@spinajs/configuration-common";
|
|
3
|
+
export declare abstract class TranslationSource {
|
|
4
|
+
protected Configuration: Configuration;
|
|
5
|
+
protected Log: Log;
|
|
6
|
+
abstract load(): Promise<{}>;
|
|
7
|
+
}
|
|
8
8
|
//# sourceMappingURL=interfaces.d.ts.map
|