intl-template 1.0.0-alpha.3 → 1.0.0-alpha.4
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/dist/intl.d.ts +7 -3
- package/dist/intl.js +18 -5
- package/dist/intl.js.map +1 -1
- package/package.json +1 -1
- package/src/intl.js +19 -4
package/dist/intl.d.ts
CHANGED
|
@@ -25,6 +25,8 @@ export class Runes extends Array<any> {
|
|
|
25
25
|
* Represents a Translation object that handles string translation based on locale and templates.
|
|
26
26
|
*/
|
|
27
27
|
export class Translation {
|
|
28
|
+
constructor(locale: any);
|
|
29
|
+
defaultLocale: any;
|
|
28
30
|
set templates(value: ProxyConstructor);
|
|
29
31
|
get templates(): ProxyConstructor;
|
|
30
32
|
/**
|
|
@@ -38,16 +40,18 @@ export class Translation {
|
|
|
38
40
|
*/
|
|
39
41
|
translate: (locale: string, strings: TemplateStringsArray | string, ...parts: any[]) => Runes;
|
|
40
42
|
/**
|
|
41
|
-
*
|
|
43
|
+
* Use regex extract template and vars
|
|
42
44
|
* @param {*} locale
|
|
43
45
|
* @param {*} regexString
|
|
44
46
|
* @param {*} matchString
|
|
45
47
|
* @returns {Runes}
|
|
46
48
|
*/
|
|
47
49
|
translateByRegEx: (locale: any, regexString: any, matchString: any) => Runes;
|
|
50
|
+
l10n: (strings: any, ...parts: any[]) => Runes;
|
|
51
|
+
l10nRegExp: (regexString: any, matchString: any) => Runes;
|
|
48
52
|
#private;
|
|
49
53
|
}
|
|
50
54
|
export default translation;
|
|
51
|
-
export
|
|
52
|
-
export
|
|
55
|
+
export function l10n(strings: any, ...parts: any[]): Runes;
|
|
56
|
+
export function l10nRegExp(regexString: any, matchString: any): Runes;
|
|
53
57
|
declare const translation: Translation;
|
package/dist/intl.js
CHANGED
|
@@ -27,7 +27,6 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
27
27
|
}
|
|
28
28
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
29
29
|
};
|
|
30
|
-
var _a, _b;
|
|
31
30
|
var _Translation_templates;
|
|
32
31
|
var Runes = /** @class */ (function (_super) {
|
|
33
32
|
__extends(Runes, _super);
|
|
@@ -69,7 +68,7 @@ export function parseTemplate(templateString) {
|
|
|
69
68
|
* Represents a Translation object that handles string translation based on locale and templates.
|
|
70
69
|
*/
|
|
71
70
|
var Translation = /** @class */ (function () {
|
|
72
|
-
function Translation() {
|
|
71
|
+
function Translation(locale) {
|
|
73
72
|
var _this = this;
|
|
74
73
|
/**
|
|
75
74
|
* Templates object that stores the translation templates for each locale.
|
|
@@ -116,6 +115,9 @@ var Translation = /** @class */ (function () {
|
|
|
116
115
|
}
|
|
117
116
|
var key = strings.join("{}");
|
|
118
117
|
var translation = (_a = __classPrivateFieldGet(_this, _Translation_templates, "f")) === null || _a === void 0 ? void 0 : _a[locale];
|
|
118
|
+
if (!translation) {
|
|
119
|
+
translation = __classPrivateFieldGet(_this, _Translation_templates, "f")[_this.defaultLocale];
|
|
120
|
+
}
|
|
119
121
|
var _d = (translation === null || translation === void 0 ? void 0 : translation[key]) || {}, template = _d.template, order = _d.order;
|
|
120
122
|
if (!template) {
|
|
121
123
|
if (((_c = (_b = import.meta) === null || _b === void 0 ? void 0 : _b.env) === null || _c === void 0 ? void 0 : _c.MODE) === "development") {
|
|
@@ -144,7 +146,7 @@ var Translation = /** @class */ (function () {
|
|
|
144
146
|
return runes;
|
|
145
147
|
};
|
|
146
148
|
/**
|
|
147
|
-
*
|
|
149
|
+
* Use regex extract template and vars
|
|
148
150
|
* @param {*} locale
|
|
149
151
|
* @param {*} regexString
|
|
150
152
|
* @param {*} matchString
|
|
@@ -154,6 +156,17 @@ var Translation = /** @class */ (function () {
|
|
|
154
156
|
var _a = regexTemplate(regexString, matchString), parts = _a.parts, strings = _a.strings;
|
|
155
157
|
return _this.translate.apply(_this, __spreadArray([locale, strings], parts, false));
|
|
156
158
|
};
|
|
159
|
+
this.l10n = function (strings) {
|
|
160
|
+
var parts = [];
|
|
161
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
162
|
+
parts[_i - 1] = arguments[_i];
|
|
163
|
+
}
|
|
164
|
+
return translation.translate.apply(translation, __spreadArray([_this.defaultLocale, strings], parts, false));
|
|
165
|
+
};
|
|
166
|
+
this.l10nRegExp = function (regexString, matchString) {
|
|
167
|
+
return translation.translateByRegEx(_this.defaultLocale, regexString, matchString);
|
|
168
|
+
};
|
|
169
|
+
this.defaultLocale = locale;
|
|
157
170
|
}
|
|
158
171
|
Object.defineProperty(Translation.prototype, "templates", {
|
|
159
172
|
get: function () {
|
|
@@ -176,8 +189,8 @@ export { Translation };
|
|
|
176
189
|
_Translation_templates = new WeakMap();
|
|
177
190
|
var translation = new Translation();
|
|
178
191
|
export default translation;
|
|
179
|
-
export var l10n = translation.
|
|
180
|
-
export var l10nRegExp = translation.
|
|
192
|
+
export var l10n = translation.l10n;
|
|
193
|
+
export var l10nRegExp = translation.l10nRegExp;
|
|
181
194
|
/**
|
|
182
195
|
* @param {string} regexString
|
|
183
196
|
* @param {string} matchString
|
package/dist/intl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intl.js","sourceRoot":"","sources":["../src/intl.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"intl.js","sourceRoot":"","sources":["../src/intl.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/intl.js
CHANGED
|
@@ -33,6 +33,10 @@ export function parseTemplate(templateString) {
|
|
|
33
33
|
* Represents a Translation object that handles string translation based on locale and templates.
|
|
34
34
|
*/
|
|
35
35
|
export class Translation {
|
|
36
|
+
constructor(locale) {
|
|
37
|
+
this.defaultLocale = locale
|
|
38
|
+
}
|
|
39
|
+
|
|
36
40
|
/**
|
|
37
41
|
* Templates object that stores the translation templates for each locale.
|
|
38
42
|
* @type {Proxy}
|
|
@@ -89,7 +93,10 @@ export class Translation {
|
|
|
89
93
|
}
|
|
90
94
|
|
|
91
95
|
const key = strings.join("{}")
|
|
92
|
-
|
|
96
|
+
let translation = this.#templates?.[locale]
|
|
97
|
+
if (!translation) {
|
|
98
|
+
translation = this.#templates[this.defaultLocale]
|
|
99
|
+
}
|
|
93
100
|
let { template, order } = translation?.[key] || {}
|
|
94
101
|
if (!template) {
|
|
95
102
|
if (import.meta?.env?.MODE === "development") {
|
|
@@ -123,7 +130,7 @@ export class Translation {
|
|
|
123
130
|
}
|
|
124
131
|
|
|
125
132
|
/**
|
|
126
|
-
*
|
|
133
|
+
* Use regex extract template and vars
|
|
127
134
|
* @param {*} locale
|
|
128
135
|
* @param {*} regexString
|
|
129
136
|
* @param {*} matchString
|
|
@@ -133,15 +140,23 @@ export class Translation {
|
|
|
133
140
|
const { parts, strings } = regexTemplate(regexString, matchString)
|
|
134
141
|
return this.translate(locale, strings, ...parts);
|
|
135
142
|
}
|
|
143
|
+
|
|
144
|
+
l10n = (strings, ...parts) => {
|
|
145
|
+
return translation.translate(this.defaultLocale, strings, ...parts)
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
l10nRegExp = (regexString, matchString) => {
|
|
149
|
+
return translation.translateByRegEx(this.defaultLocale, regexString, matchString)
|
|
150
|
+
}
|
|
136
151
|
}
|
|
137
152
|
|
|
138
153
|
const translation = new Translation()
|
|
139
154
|
|
|
140
155
|
export default translation
|
|
141
156
|
|
|
142
|
-
export const l10n = translation.
|
|
157
|
+
export const l10n = translation.l10n
|
|
143
158
|
|
|
144
|
-
export const l10nRegExp = translation.
|
|
159
|
+
export const l10nRegExp = translation.l10nRegExp
|
|
145
160
|
|
|
146
161
|
/**
|
|
147
162
|
* @param {string} regexString
|