@markuplint/i18n 3.4.0 → 3.6.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.
- package/lib/translator.d.ts +1 -1
- package/lib/translator.js +4 -4
- package/lib/types.d.ts +9 -9
- package/package.json +2 -2
package/lib/translator.d.ts
CHANGED
|
@@ -5,4 +5,4 @@ export declare function translator(localeSet?: LocaleSet): Translator;
|
|
|
5
5
|
*/
|
|
6
6
|
export declare function taggedTemplateTranslator(
|
|
7
7
|
localeSet?: LocaleSet,
|
|
8
|
-
): (strings: TemplateStringsArray
|
|
8
|
+
): (strings: Readonly<TemplateStringsArray>, ...keys: readonly Primitive[]) => string;
|
package/lib/translator.js
CHANGED
|
@@ -8,10 +8,10 @@ const defaultListFormat = {
|
|
|
8
8
|
};
|
|
9
9
|
function translator(localeSet) {
|
|
10
10
|
return (messageTmpl, ...keywords) => {
|
|
11
|
-
var _a;
|
|
11
|
+
var _a, _b;
|
|
12
12
|
let message = messageTmpl;
|
|
13
|
-
if (
|
|
14
|
-
const format = (localeSet === null || localeSet === void 0 ? void 0 : localeSet.listFormat)
|
|
13
|
+
if (typeof messageTmpl !== 'string') {
|
|
14
|
+
const format = (_a = localeSet === null || localeSet === void 0 ? void 0 : localeSet.listFormat) !== null && _a !== void 0 ? _a : defaultListFormat;
|
|
15
15
|
return `${format.quoteStart}${messageTmpl
|
|
16
16
|
.map(keyword => translateKeyword(keyword, '', localeSet))
|
|
17
17
|
.join(`${format.quoteEnd}${format.separator}${format.quoteStart}`)}${format.quoteEnd}`;
|
|
@@ -22,7 +22,7 @@ function translator(localeSet) {
|
|
|
22
22
|
}
|
|
23
23
|
const noTranslateIndex = Array.from(messageTmpl.matchAll(/(?<=\{)[0-9]+(?=\*\})/g)).map(m => m[0]);
|
|
24
24
|
const key = removeNoTranslateMark(messageTmpl).toLowerCase();
|
|
25
|
-
const sentence = (
|
|
25
|
+
const sentence = (_b = localeSet === null || localeSet === void 0 ? void 0 : localeSet.sentences) === null || _b === void 0 ? void 0 : _b[key];
|
|
26
26
|
messageTmpl = sentence !== null && sentence !== void 0 ? sentence : key;
|
|
27
27
|
messageTmpl =
|
|
28
28
|
removeNoTranslateMark(input.toLowerCase()) === messageTmpl ? removeNoTranslateMark(input) : messageTmpl;
|
package/lib/types.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
export type Translator = (messageTmpl: string | string[], ...keywords: Primitive[]) => string;
|
|
1
|
+
export type Translator = (messageTmpl: string | readonly string[], ...keywords: readonly Primitive[]) => string;
|
|
2
2
|
export type LocaleSet = {
|
|
3
|
-
locale: string;
|
|
4
|
-
listFormat?: ListFormat;
|
|
5
|
-
keywords?: LocalesKeywords;
|
|
6
|
-
sentences?: LocalesKeywords;
|
|
3
|
+
readonly locale: string;
|
|
4
|
+
readonly listFormat?: ListFormat;
|
|
5
|
+
readonly keywords?: LocalesKeywords;
|
|
6
|
+
readonly sentences?: LocalesKeywords;
|
|
7
7
|
};
|
|
8
8
|
export type ListFormat = {
|
|
9
|
-
quoteStart: string;
|
|
10
|
-
quoteEnd: string;
|
|
11
|
-
separator: string;
|
|
9
|
+
readonly quoteStart: string;
|
|
10
|
+
readonly quoteEnd: string;
|
|
11
|
+
readonly separator: string;
|
|
12
12
|
};
|
|
13
13
|
export type Primitive = string | number | boolean;
|
|
14
14
|
export type LocalesKeywords = {
|
|
15
|
-
[messageId: string]: string
|
|
15
|
+
readonly [messageId: string]: string;
|
|
16
16
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@markuplint/i18n",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.6.0",
|
|
4
4
|
"description": "HTML parser for markuplint",
|
|
5
5
|
"repository": "git@github.com:markuplint/markuplint.git",
|
|
6
6
|
"author": "Yusuke Hirao <yusukehirao@me.com>",
|
|
@@ -18,5 +18,5 @@
|
|
|
18
18
|
"build": "tsc",
|
|
19
19
|
"clean": "tsc --build --clean"
|
|
20
20
|
},
|
|
21
|
-
"gitHead": "
|
|
21
|
+
"gitHead": "715dd53d3b1064a9bcf616c1533921cad9e3b187"
|
|
22
22
|
}
|