@markuplint/i18n 1.1.1 → 2.0.0-alpha.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/$schema.json CHANGED
@@ -3,74 +3,130 @@
3
3
  "additionalProperties": false,
4
4
  "properties": {
5
5
  "$schema": { "type": "string" },
6
+ "listFormat": {
7
+ "type": "object",
8
+ "additionalProperties": false,
9
+ "required": ["quoteStart", "quoteEnd", "separator"],
10
+ "properties": {
11
+ "quoteStart": { "type": "string" },
12
+ "quoteEnd": { "type": "string" },
13
+ "separator": { "type": "string" }
14
+ }
15
+ },
6
16
  "keywords": {
7
17
  "type": "object",
8
18
  "additionalProperties": false,
9
19
  "properties": {
10
20
  "tag": { "type": "string" },
11
21
  "tag name": { "type": "string" },
22
+ "tag names": { "type": "string" },
23
+ "element": { "type": "string" },
24
+ "html elements": { "type": "string" },
12
25
  "attribute": { "type": "string" },
13
26
  "attributes": { "type": "string" },
14
27
  "attribute name": { "type": "string" },
28
+ "attribute names": { "type": "string" },
15
29
  "attribute value": { "type": "string" },
16
- "attribute id value": { "type": "string" },
17
- "element": { "type": "string" },
18
- "html elements": { "type": "string" },
19
30
  "class name": { "type": "string" },
20
- "quote": { "type": "string" },
21
- "double quotation mark": { "type": "string" },
22
- "single quotation mark": { "type": "string" },
31
+ "role": { "type": "string" },
32
+ "the abstract role": { "type": "string" },
33
+ "the implicit role": { "type": "string" },
34
+ "aria state/property": { "type": "string" },
35
+ "global state/property": { "type": "string" },
36
+ "value": { "type": "string" },
37
+ "default value": { "type": "string" },
38
+ "content": { "type": "string" },
39
+ "contents": { "type": "string" },
40
+ "descendant": { "type": "string" },
41
+ "semantics": { "type": "string" },
42
+ "accessible name": { "type": "string" },
23
43
  "lowercase": { "type": "string" },
24
44
  "uppercase": { "type": "string" },
25
45
  "illegal characters": { "type": "string" },
26
- "escape in character reference": { "type": "string" },
27
- "declarate": { "type": "string" },
28
- "deprecated": { "type": "string" },
29
- "obsolete": { "type": "string" },
30
- "indentation": { "type": "string" },
31
- "tab": { "type": "string" },
32
- "space": { "type": "string" },
33
- "break line": { "type": "string" },
34
- "line break": { "type": "string" },
35
- "equal sign": { "type": "string" },
46
+ "empty string": { "type": "string" },
47
+ "zero": { "type": "string" },
48
+ "one": { "type": "string" },
49
+ "integer": { "type": "string" },
50
+ "non-negative integer": { "type": "string" },
51
+ "floating-point number": { "type": "string" },
52
+ "angle": { "type": "string" },
53
+ "alpha channel value": { "type": "string" },
36
54
  "doctype": { "type": "string" },
37
55
  "obsolete doctype": { "type": "string" },
56
+ "hash-name reference": { "type": "string" },
38
57
  "top level": { "type": "string" },
58
+ "declarate": { "type": "string" },
39
59
  "the html specification": { "type": "string" },
40
- "settings": { "type": "string" }
60
+ "the svg specification": { "type": "string" },
61
+ "the wai-aria specification": { "type": "string" },
62
+ "aria in html specification": { "type": "string" },
63
+ "deprecated": { "type": "string" },
64
+ "c:deprecated": { "type": "string" },
65
+ "obsolete": { "type": "string" },
66
+ "c:obsolete": { "type": "string" },
67
+ "non-standard": { "type": "string" },
68
+ "c:non-standard": { "type": "string" },
69
+ "duplicated": { "type": "string" },
70
+ "c:duplicated": { "type": "string" },
71
+ "disallowed": { "type": "string" },
72
+ "c:disallowed": { "type": "string" },
73
+ "invalid": { "type": "string" },
74
+ "c:invalid": { "type": "string" },
75
+ "escape in character reference": { "type": "string" },
76
+ ". ": { "type": "string" }
41
77
  }
42
78
  },
43
- "{0} is {1}": { "type": "string" },
44
- "The {0} {1} is {2}": { "type": "string" },
45
- "Required {0}": { "type": "string" },
46
- "Required {0} on {1}": { "type": "string" },
47
- "Not required {0}": { "type": "string" },
48
- "Not required {0} on {1}": { "type": "string" },
49
- "Duplicate {0}": { "type": "string" },
50
- "Missing the {0} {1}": { "type": "string" },
51
- "Duplicate the {0} {1}": { "type": "string" },
52
- "{0} is must {1} on {2}": { "type": "string" },
53
- "{0} must {1}": { "type": "string" },
54
- "{0} should {1}": { "type": "string" },
55
- "{0} must be {1}": { "type": "string" },
56
- "{0} should be {1}": { "type": "string" },
57
- "{0} of {1} must be {2}": { "type": "string" },
58
- "{0} of {1} should be {2}": { "type": "string" },
59
- "Never {0}": { "type": "string" },
60
- "Insert {0}": { "type": "string" },
61
- "Never {0} {1}": { "type": "string" },
62
- "Values allowed for {0} attributes are {$}": { "type": "string" },
63
- "{0} width spaces": { "type": "string" },
64
- "Always insert {0} before {1} of {2}": { "type": "string" },
65
- "Never insert {0} before {1} of {2}": { "type": "string" },
66
- "Always insert {0} after {1} of {2}": { "type": "string" },
67
- "Never insert {0} after {1} of {2}": { "type": "string" },
68
- "{0} {1} is unmatched patterns ({2})": { "type": "string" },
69
- "Should increase indentation": { "type": "string" },
70
- "Should decrease indentation": { "type": "string" },
71
- "Start tag and end tag indentation should align": { "type": "string" },
72
- "Should have a unique label because {0} landmarks were markup more than once on a page": { "type": "string" },
73
- "The {0} element must be descendant of the {1} element": { "type": "string" },
74
- "Invalid content of the {0} element in {1}": { "type": "string" }
79
+ "sentences": {
80
+ "type": "object",
81
+ "additionalProperties": false,
82
+ "properties": {
83
+ "the {0}": { "type": "string" },
84
+ "the \"{0}\"": { "type": "string" },
85
+ "the \"{0}\" {1}": { "type": "string" },
86
+ "the current \"{0}\" {1}": { "type": "string" },
87
+ "the implicit \"{0}\" {1}": { "type": "string" },
88
+ "{0} of {1}": { "type": "string" },
89
+ "{0:c} and {1:c}": { "type": "string" },
90
+ "either {0}": { "type": "string" },
91
+ "{0} greater than {1}": { "type": "string" },
92
+ "less than {0}": { "type": "string" },
93
+ "less than or equal to {0}": { "type": "string" },
94
+ "in the range between {0} and {1}": { "type": "string" },
95
+ "valid {0}": { "type": "string" },
96
+ "unique {0}": { "type": "string" },
97
+ "{0} as {1}": { "type": "string" },
98
+ "the same {0} as {1}": { "type": "string" },
99
+ "{0} to {1}": { "type": "string" },
100
+ "{0} or {1}": { "type": "string" },
101
+ "{0} is {1}": { "type": "string" },
102
+ "{0} is {1:c}": { "type": "string" },
103
+ "{0} is not {1}": { "type": "string" },
104
+ "It is {0}": { "type": "string" },
105
+ "It is {0:c}": { "type": "string" },
106
+ "{0} must {1}": { "type": "string" },
107
+ "{0} should {1}": { "type": "string" },
108
+ "{0} must be {1}": { "type": "string" },
109
+ "{0} should be {1}": { "type": "string" },
110
+ "{0} must not {1}": { "type": "string" },
111
+ "{0} should not {1}": { "type": "string" },
112
+ "{0} must not be {1}": { "type": "string" },
113
+ "{0} should not be {1}": { "type": "string" },
114
+ "{0} expects {1}": { "type": "string" },
115
+ "{0} expects {1:c}": { "type": "string" },
116
+ "{0} has {1}": { "type": "string" },
117
+ "{0} behaves the same as {1} if {2}": { "type": "string" },
118
+ "{0} does not exist": { "type": "string" },
119
+ "{0} contradicts {1}": { "type": "string" },
120
+ "Require {0}": { "type": "string" },
121
+ "Never {0} {1}": { "type": "string" },
122
+ "Cannot overwrite {0}": { "type": "string" },
123
+ "Cannot overwrite {0} to {1}": { "type": "string" },
124
+ "{0:c} on {1}": { "type": "string" },
125
+ "{0} according to {1}": { "type": "string" },
126
+ "{0} is unmatched with the below patterns: {1}": { "type": "string" },
127
+ "Arrowed values are: {0}": { "type": "string" },
128
+ "Did you mean \"{0}\"?": { "type": "string" }
129
+ }
130
+ }
75
131
  }
76
132
  }
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # @markuplint/i18n
2
2
 
3
3
  [![npm version](https://badge.fury.io/js/%40markuplint%2Fi18n.svg)](https://www.npmjs.com/package/@markuplint/i18n)
4
- [![Build Status](https://travis-ci.org/markuplint/markuplint.svg?branch=master)](https://travis-ci.org/markuplint/markuplint)
5
- [![Coverage Status](https://coveralls.io/repos/github/markuplint/markuplint/badge.svg?branch=master)](https://coveralls.io/github/markuplint/markuplint?branch=master)
4
+ [![Build Status](https://travis-ci.org/markuplint/markuplint.svg?branch=main)](https://travis-ci.org/markuplint/markuplint)
5
+ [![Coverage Status](https://coveralls.io/repos/github/markuplint/markuplint/badge.svg?branch=main)](https://coveralls.io/github/markuplint/markuplint?branch=main)
6
6
 
7
7
  ## Install
8
8
 
@@ -17,7 +17,7 @@ $ yarn add @markuplint/i18n
17
17
  ## Contributing
18
18
 
19
19
  ```
20
- $ git clone git@github.com:markuplint/markuplint.git -b master
20
+ $ git clone git@github.com:markuplint/markuplint.git -b main
21
21
  $ yarn
22
22
  $ yarn build
23
23
  $ yarn test
@@ -25,4 +25,4 @@ $ yarn test
25
25
 
26
26
  ---
27
27
 
28
- Copyright © 2020 markuplint. Under the MIT License.
28
+ Copyright © 2021 markuplint. Under the MIT License.
package/lib/index.d.ts CHANGED
@@ -1,16 +1,2 @@
1
- export declare type Primitive = string | number | boolean;
2
- export declare type Translator = (messageTmpl: string, ...keywords: Primitive[]) => string;
3
- export interface LocaleSet {
4
- keywords: LocalesKeywords;
5
- [messageId: string]: string | void | LocalesKeywords;
6
- }
7
- export interface LocalesKeywords {
8
- [messageId: string]: string | void;
9
- }
10
- export declare class I18n {
11
- private static _singleton;
12
- static create(localeSet: LocaleSet | null): I18n;
13
- localeSet: LocaleSet | null;
14
- private constructor();
15
- translator(): Translator;
16
- }
1
+ export { translator } from './translator';
2
+ export { Translator, LocaleSet } from './types';
package/lib/index.js CHANGED
@@ -1,39 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.I18n = void 0;
4
- class I18n {
5
- constructor(localeSet) {
6
- this.localeSet = localeSet;
7
- }
8
- static create(localeSet) {
9
- if (!I18n._singleton) {
10
- I18n._singleton = new I18n(localeSet);
11
- }
12
- else {
13
- I18n._singleton.localeSet = localeSet;
14
- }
15
- return I18n._singleton;
16
- }
17
- translator() {
18
- const localeSet = this.localeSet;
19
- return (messageTmpl, ...keywords) => {
20
- let message = messageTmpl;
21
- if (localeSet) {
22
- const t = localeSet[messageTmpl];
23
- if (typeof t === 'string') {
24
- messageTmpl = t;
25
- }
26
- }
27
- message = messageTmpl.replace(/\{([0-9]+)\}/g, ($0, $1) => {
28
- const keyword = `${keywords[+$1]}` || '';
29
- if (localeSet) {
30
- return localeSet.keywords[keyword.toLowerCase()] || keyword;
31
- }
32
- return keyword;
33
- });
34
- return message;
35
- };
36
- }
37
- }
38
- exports.I18n = I18n;
39
- I18n._singleton = null;
3
+ exports.translator = void 0;
4
+ var translator_1 = require("./translator");
5
+ Object.defineProperty(exports, "translator", { enumerable: true, get: function () { return translator_1.translator; } });
@@ -0,0 +1,2 @@
1
+ import type { LocaleSet, Translator } from './types';
2
+ export declare function translator(localeSet?: LocaleSet): Translator;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.translator = void 0;
4
+ const defaultListFormat = {
5
+ quoteStart: '"',
6
+ quoteEnd: '"',
7
+ separator: ', ',
8
+ };
9
+ function translator(localeSet) {
10
+ return (messageTmpl, ...keywords) => {
11
+ var _a, _b;
12
+ let message = messageTmpl;
13
+ if (Array.isArray(messageTmpl)) {
14
+ const format = (localeSet === null || localeSet === void 0 ? void 0 : localeSet.listFormat) || defaultListFormat;
15
+ return `${format.quoteStart}${messageTmpl.join(`${format.quoteEnd}${format.separator}${format.quoteStart}`)}${format.quoteEnd}`;
16
+ }
17
+ if (keywords.length === 0) {
18
+ const keyword = (_a = localeSet === null || localeSet === void 0 ? void 0 : localeSet.keywords) === null || _a === void 0 ? void 0 : _a[messageTmpl];
19
+ return keyword || messageTmpl;
20
+ }
21
+ const sentence = (_b = localeSet === null || localeSet === void 0 ? void 0 : localeSet.sentences) === null || _b === void 0 ? void 0 : _b[messageTmpl];
22
+ if (sentence) {
23
+ messageTmpl = sentence;
24
+ }
25
+ message = messageTmpl.replace(/\{([0-9]+)(?::([c]))?\}/g, ($0, number, flag) => {
26
+ var _a, _b;
27
+ const num = parseInt(number);
28
+ if (isNaN(num)) {
29
+ return $0;
30
+ }
31
+ const keyword = keywords[num] != null ? toString(keywords[num], localeSet === null || localeSet === void 0 ? void 0 : localeSet.locale) : '';
32
+ const key = flag ? `${flag}:${keyword}` : keyword;
33
+ const replacedWord =
34
+ // finding with flag
35
+ ((_a = localeSet === null || localeSet === void 0 ? void 0 : localeSet.keywords) === null || _a === void 0 ? void 0 : _a[key.toLowerCase()]) ||
36
+ (
37
+ // finding without flag
38
+ (_b = localeSet === null || localeSet === void 0 ? void 0 : localeSet.keywords) === null || _b === void 0 ? void 0 : _b[keyword.toLowerCase()]);
39
+ return replacedWord || keyword;
40
+ });
41
+ return message;
42
+ };
43
+ }
44
+ exports.translator = translator;
45
+ function toString(value, locale = 'en') {
46
+ switch (typeof value) {
47
+ case 'string':
48
+ return value;
49
+ case 'number':
50
+ return value.toLocaleString(locale);
51
+ case 'boolean':
52
+ return `${value}`;
53
+ }
54
+ }
package/lib/types.d.ts ADDED
@@ -0,0 +1,16 @@
1
+ export declare type Translator = (messageTmpl: string | string[], ...keywords: Primitive[]) => string;
2
+ export declare type LocaleSet = {
3
+ locale: string;
4
+ listFormat?: ListFormat;
5
+ keywords?: LocalesKeywords;
6
+ sentences?: LocalesKeywords;
7
+ };
8
+ export declare type ListFormat = {
9
+ quoteStart: string;
10
+ quoteEnd: string;
11
+ separator: string;
12
+ };
13
+ export declare type Primitive = string | number | boolean;
14
+ export declare type LocalesKeywords = {
15
+ [messageId: string]: string | void;
16
+ };
package/lib/types.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/locales/en.json CHANGED
@@ -1,7 +1,9 @@
1
1
  {
2
- "$schema": "../$schema.json#",
3
2
  "keywords": {
4
3
  "html elements": "HTML elements",
5
- "the html specification": "the HTML specification"
4
+ "the html specification": "the HTML specification",
5
+ "the svg specification": "the SVG specification",
6
+ "the wai-aria specification": "the WAI-ARIA specification",
7
+ "aria in html specification": "ARIA in HTML specification"
6
8
  }
7
9
  }
package/locales/ja.json CHANGED
@@ -1,68 +1,114 @@
1
1
  {
2
- "$schema": "../$schema.json#",
2
+ "listFormat": {
3
+ "quoteStart": "「",
4
+ "quoteEnd": "」",
5
+ "separator": ""
6
+ },
3
7
  "keywords": {
4
8
  "tag": "タグ",
5
9
  "tag name": "タグ名",
10
+ "tag names": "タグ名",
11
+ "element": "要素",
12
+ "html elements": "HTML要素",
6
13
  "attribute": "属性",
7
14
  "attributes": "属性",
8
15
  "attribute name": "属性名",
16
+ "attribute names": "属性名",
9
17
  "attribute value": "属性値",
10
- "attribute id value": "id属性の値",
11
- "element": "要素",
12
- "html elements": "HTML要素",
13
18
  "class name": "クラス名",
14
- "quote": "囲う",
15
- "double quotation mark": "ダブルクオーテーション",
16
- "single quotation mark": "シングルクォーテーション",
19
+ "role": "ロール",
20
+ "the abstract role": "抽象ロール",
21
+ "the implicit role": "暗黙のロール",
22
+ "aria state/property": "ARIAステート/プロパティ",
23
+ "global state/property": "グローバルステート/プロパティ",
24
+ "value": "値",
25
+ "default value": "デフォルト値",
26
+ "content": "内容",
27
+ "contents": "内容",
28
+ "descendant": "子孫",
29
+ "semantics": "セマンティクス",
30
+ "accessible name": "アクセシブルな名前",
17
31
  "lowercase": "小文字",
18
32
  "uppercase": "大文字",
19
33
  "illegal characters": "不正な文字",
20
- "escape in character reference": "参照文字でエスケープ",
21
- "declarate": "宣言",
22
- "deprecated": "非推奨",
23
- "obsolete": "廃止ずみ",
24
- "indentation": "インデント",
25
- "tab": "タブ",
26
- "space": "スペース",
27
- "break line": "改行",
28
- "line break": "改行",
29
- "equal sign": "等号",
34
+ "empty string": "空文字",
35
+ "zero": "ゼロ",
36
+ "one": "1",
37
+ "integer": "整数",
38
+ "non-negative integer": "正の整数",
39
+ "floating-point number": "浮動小数点数",
40
+ "angle": "角度",
41
+ "alpha channel value": "不透明度",
30
42
  "doctype": "文書型",
31
43
  "obsolete doctype": "廃止された文書型",
44
+ "hash-name reference": "ハッシュ名参照",
32
45
  "top level": "トップレベル",
46
+ "declarate": "宣言",
33
47
  "the html specification": "HTMLの仕様",
34
- "settings": "設定"
48
+ "the svg specification": "SVGの仕様",
49
+ "the wai-aria specification": "WAI-ARIAの仕様",
50
+ "aria in html specification": "ARIA in HTMLの仕様",
51
+ "deprecated": "非推奨",
52
+ "c:deprecated": "は非推奨です",
53
+ "obsolete": "廃止ずみ",
54
+ "c:obsolete": "は廃止されています",
55
+ "non-standard": "非標準",
56
+ "c:non-standard": "は非標準です",
57
+ "duplicated": "重複",
58
+ "c:duplicated": "が重複しています",
59
+ "disallowed": "未許可",
60
+ "c:disallowed": "は許可されていません",
61
+ "invalid": "不正",
62
+ "c:invalid": "は妥当ではありません",
63
+ "escape in character reference": "文字参照でエスケープ",
64
+ ". ": "。"
35
65
  },
36
- "{0} is {1}": "{0}は{1}です",
37
- "The {0} {1} is {2}": "{0}{1}は{2}です",
38
- "Required {0}": "{0}が必要です",
39
- "Required {0} on {1}": "{1}には{0}が必要です",
40
- "Not required {0}": "{0}は不要です",
41
- "Not required {0} on {1}": "{1}には{0}は不要です",
42
- "Duplicate {0}": "{0}が重複しています",
43
- "Missing the {0} {1}": "{0}{1}が見つかりません",
44
- "Duplicate the {0} {1}": "{0}{1}が重複しています",
45
- "{0} is must {1} on {2}": "{0}{2}で{1}べきです",
46
- "{0} must {1}": "{0}は{1}するべきです",
47
- "{0} should {1}": "{0}は{1}してください",
48
- "{0} must be {1}": "{0}{1}にするべきです",
49
- "{0} should be {1}": "{0}は{1}にしてください",
50
- "{0} of {1} must be {2}": "{1}の{0}は{2}にするべきです",
51
- "{0} of {1} should be {2}": "{1}{0}は{2}にしてください",
52
- "Never {0}": "{0}しないでください",
53
- "Insert {0}": "{0}を入れてください",
54
- "Never {0} {1}": "{1}{0}しないでください",
55
- "Values allowed for {0} attributes are {$}": "{0}属性に許可される値は{$}です",
56
- "{0} width spaces": "{0}幅スペース",
57
- "Always insert {0} before {1} of {2}": "{2}{1}の前には{0}を入れてください",
58
- "Never insert {0} before {1} of {2}": "{2}の{1}の前には{0}を入れないでください",
59
- "Always insert {0} after {1} of {2}": "{2}の{1}の後には{0}を入れてください",
60
- "Never insert {0} after {1} of {2}": "{2}{1}の後には{0}を入れないでください",
61
- "{0} {1} is unmatched patterns ({2})": "{1}{0}は次のパターンにマッチしませんでした {2}",
62
- "Should increase indentation": "インデントを深くしてください",
63
- "Should decrease indentation": "インデントを浅くしてください",
64
- "Start tag and end tag indentation should align": "開始タグと終了タグのインデントを揃えてください",
65
- "Should have a unique label because {0} landmarks were markup more than once on a page": "{0}ランドマークが複数回マークアップされているため一意のラベルが必要です",
66
- "The {0} element must be descendant of the {1} element": "{0}要素は{1}要素の子孫でなければなりません",
67
- "Invalid content of the {0} element in {1}": "{1}において{0}要素の内容が不正です"
66
+ "sentences": {
67
+ "the {0}": "その{0}",
68
+ "the \"{0}\"": "{0}",
69
+ "the \"{0}\" {1}": "{1}{0}",
70
+ "the current \"{0}\" {1}": "現在の{1}「{0}",
71
+ "the implicit \"{0}\" {1}": "暗黙の{1}{0}",
72
+ "{0} of {1}": "{1}の{0}",
73
+ "{0:c} and {1:c}": "{0}且つ、{1}",
74
+ "either {0}": "{0}のいずれか",
75
+ "{0} greater than {1}": "{1}より大きい{0}",
76
+ "less than {0}": "{0}未満",
77
+ "less than or equal to {0}": "{0}以下",
78
+ "in the range between {0} and {1}": "{0}から{1}の範囲",
79
+ "valid {0}": "妥当な{0}",
80
+ "unique {0}": "一意の{0}",
81
+ "{0} as {1}": "{1}として{0}",
82
+ "the same {0} as {1}": "{1}と同等の{0}",
83
+ "{0} to {1}": "{0}から{1}",
84
+ "{0} or {1}": "{0}もしくは{1}",
85
+ "{0} is {1}": "{0}{1}です",
86
+ "{0} is {1:c}": "{0}{1:c}",
87
+ "{0} is not {1}": "{0}{1}ではありません",
88
+ "It is {0}": "{0}です",
89
+ "It is {0:c}": "{0:c}",
90
+ "{0} must {1}": "{0}{1}するべきです",
91
+ "{0} should {1}": "{0}{1}したほうがよいです",
92
+ "{0} must be {1}": "{0}は{1}にするべきです",
93
+ "{0} should be {1}": "{0}は{1}にしたほうがよいです",
94
+ "{0} must not {1}": "{0}は{1}するべきではありません",
95
+ "{0} should not {1}": "{0}は{1}しないほうがよいです",
96
+ "{0} must not be {1}": "{0}{1}にするべきではありません",
97
+ "{0} should not be {1}": "{0}{1}にしないほうがよいです",
98
+ "{0} expects {1}": "{0}には{1}が必要です",
99
+ "{0} expects {1:c}": "{0}は{1}である必要があります",
100
+ "{0} has {1}": "{0}は{1}を持っています",
101
+ "{0} behaves the same as {1} if {2}": "{0}は{2}の場合、{1}と同じ振る舞いをします",
102
+ "{0} does not exist": "{0}は存在しません",
103
+ "{0} contradicts {1}": "{0}は{1}と矛盾しています",
104
+ "Require {0}": "{0}が必要です",
105
+ "Never {0} {1}": "{1}を{0}しないでください",
106
+ "Cannot overwrite {0}": "{0}を上書きすることはできません",
107
+ "Cannot overwrite {0} to {1}": "{0}を{1}に上書きすることはできません",
108
+ "{0:c} on {1}": "{1}では、{0:c}",
109
+ "{0} according to {1}": "{1}において、{0}",
110
+ "{0} is unmatched with the below patterns: {1}": "{0}は次のパターンにマッチしませんでした {1}",
111
+ "Arrowed values are: {0}": "許可されている値は次のとおりです {0}",
112
+ "Did you mean \"{0}\"?": "「{0}」ですか?"
113
+ }
68
114
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@markuplint/i18n",
3
- "version": "1.1.1",
3
+ "version": "2.0.0-alpha.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>",
@@ -15,5 +15,5 @@
15
15
  "build": "tsc",
16
16
  "clean": "tsc --build --clean"
17
17
  },
18
- "gitHead": "46a4a218a03ff25750386d3d6d7e184bbef8b046"
18
+ "gitHead": "2e5b7e616411588b01c098deb35c6aa0470dfadb"
19
19
  }
@@ -1,13 +1,3 @@
1
1
  {
2
- "extends": "../../../tsconfig.json",
3
- "compilerOptions": {
4
- "composite": true
5
- },
6
- "references": [
7
- {
8
- "path": "../ml-ast"
9
- }
10
- ],
11
- "include": ["./src/**/*"],
12
- "exclude": ["node_modules"]
2
+ "extends": "../../../tsconfig.json"
13
3
  }