@spyglassmc/locales 0.1.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/index.d.ts +33 -0
- package/lib/index.js +105 -0
- package/lib/locales/de.json +85 -0
- package/lib/locales/en.json +200 -0
- package/lib/locales/es.json +1 -0
- package/lib/locales/fr.json +124 -0
- package/lib/locales/it.json +80 -0
- package/lib/locales/ja.json +99 -0
- package/lib/locales/pt-br.json +166 -0
- package/lib/locales/zh-cn.json +200 -0
- package/lib/locales/zh-tw.json +191 -0
- package/package.json +19 -0
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
declare type Parameter = string | number | boolean | bigint | RegExp | Date | Iterable<string>;
|
|
2
|
+
/**
|
|
3
|
+
* @param key The locale key.
|
|
4
|
+
* @param params All parameters that will be filled into the locale string.
|
|
5
|
+
* If a string array is provided as a parameter, it will be converted to
|
|
6
|
+
* string by the `arrayToMessage` method with `quoted=true, conjunction='or'` arguments.
|
|
7
|
+
*/
|
|
8
|
+
export declare function localize(key: string, ...params: Parameter[]): string;
|
|
9
|
+
export declare function localeQuote(content: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* @param locale An [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag). Defaults to `en`.
|
|
12
|
+
*/
|
|
13
|
+
export declare function loadLocale(locale?: string): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Convert an array to human-readable message.
|
|
16
|
+
* @param quoted Whether or not to quote the parts. Defaults to `true`
|
|
17
|
+
* @param conjunction The conjunction to use. Defaults to `or`.
|
|
18
|
+
* @returns Human-readable message.
|
|
19
|
+
* @example // Using English
|
|
20
|
+
* arrayToMessage([]) // "nothing"
|
|
21
|
+
* arrayToMessage('foo') // "“foo”"
|
|
22
|
+
* arrayToMessage(['foo']) // "“foo”"
|
|
23
|
+
* arrayToMessage(['bar', 'foo']) // "“bar” or “foo”"
|
|
24
|
+
* arrayToMessage(['bar', 'baz', 'foo']) // "“bar”, “baz”, or “foo”"
|
|
25
|
+
* @example // Using Locale
|
|
26
|
+
* arrayToMessage([], false) // "nothing"
|
|
27
|
+
* arrayToMessage(['A'], false) // "A"
|
|
28
|
+
* arrayToMessage(['A', 'B'], false) // "A{conjunction.or_2}B"
|
|
29
|
+
* arrayToMessage(['A', 'B', 'C'], false) // "A{conjunction.or_3+_1}B{conjunction.or_3+_2}C"
|
|
30
|
+
*/
|
|
31
|
+
export declare function arrayToMessage(param: string | Iterable<string>, quoted?: boolean, conjunction?: 'and' | 'or'): string;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* istanbul ignore file */
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
6
|
+
}) : (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
o[k2] = m[k];
|
|
9
|
+
}));
|
|
10
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
11
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
12
|
+
}) : function(o, v) {
|
|
13
|
+
o["default"] = v;
|
|
14
|
+
});
|
|
15
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
16
|
+
if (mod && mod.__esModule) return mod;
|
|
17
|
+
var result = {};
|
|
18
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
19
|
+
__setModuleDefault(result, mod);
|
|
20
|
+
return result;
|
|
21
|
+
};
|
|
22
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
23
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.arrayToMessage = exports.loadLocale = exports.localeQuote = exports.localize = void 0;
|
|
27
|
+
const en_json_1 = __importDefault(require("./locales/en.json"));
|
|
28
|
+
const Locales = {
|
|
29
|
+
en: en_json_1.default,
|
|
30
|
+
};
|
|
31
|
+
let language = 'en';
|
|
32
|
+
/**
|
|
33
|
+
* @param key The locale key.
|
|
34
|
+
* @param params All parameters that will be filled into the locale string.
|
|
35
|
+
* If a string array is provided as a parameter, it will be converted to
|
|
36
|
+
* string by the `arrayToMessage` method with `quoted=true, conjunction='or'` arguments.
|
|
37
|
+
*/
|
|
38
|
+
function localize(key, ...params) {
|
|
39
|
+
const value = Locales[language][key] ?? Locales.en[key];
|
|
40
|
+
return _resolveLocalePlaceholders(value, params) ?? '';
|
|
41
|
+
}
|
|
42
|
+
exports.localize = localize;
|
|
43
|
+
function localeQuote(content) {
|
|
44
|
+
return localize('punc.quote', content);
|
|
45
|
+
}
|
|
46
|
+
exports.localeQuote = localeQuote;
|
|
47
|
+
/**
|
|
48
|
+
* @param locale An [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag). Defaults to `en`.
|
|
49
|
+
*/
|
|
50
|
+
async function loadLocale(locale = 'en') {
|
|
51
|
+
if (locale !== language) {
|
|
52
|
+
return _setupLanguage(locale);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.loadLocale = loadLocale;
|
|
56
|
+
function _resolveLocalePlaceholders(val, params) {
|
|
57
|
+
return val?.replace(/%\d+%/g, match => {
|
|
58
|
+
const index = parseInt(match.slice(1, -1));
|
|
59
|
+
let param = params[index];
|
|
60
|
+
if (typeof param !== 'string' && param[Symbol.iterator]) {
|
|
61
|
+
param = arrayToMessage(param);
|
|
62
|
+
}
|
|
63
|
+
return `${param ?? match}`;
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
async function _setupLanguage(code) {
|
|
67
|
+
const locale = await Promise.resolve().then(() => __importStar(require(`./locales/${code}.json`)));
|
|
68
|
+
Locales[code] = locale;
|
|
69
|
+
language = code;
|
|
70
|
+
// console.info(`[I18N] Set to “${code}”.`)
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Convert an array to human-readable message.
|
|
74
|
+
* @param quoted Whether or not to quote the parts. Defaults to `true`
|
|
75
|
+
* @param conjunction The conjunction to use. Defaults to `or`.
|
|
76
|
+
* @returns Human-readable message.
|
|
77
|
+
* @example // Using English
|
|
78
|
+
* arrayToMessage([]) // "nothing"
|
|
79
|
+
* arrayToMessage('foo') // "“foo”"
|
|
80
|
+
* arrayToMessage(['foo']) // "“foo”"
|
|
81
|
+
* arrayToMessage(['bar', 'foo']) // "“bar” or “foo”"
|
|
82
|
+
* arrayToMessage(['bar', 'baz', 'foo']) // "“bar”, “baz”, or “foo”"
|
|
83
|
+
* @example // Using Locale
|
|
84
|
+
* arrayToMessage([], false) // "nothing"
|
|
85
|
+
* arrayToMessage(['A'], false) // "A"
|
|
86
|
+
* arrayToMessage(['A', 'B'], false) // "A{conjunction.or_2}B"
|
|
87
|
+
* arrayToMessage(['A', 'B', 'C'], false) // "A{conjunction.or_3+_1}B{conjunction.or_3+_2}C"
|
|
88
|
+
*/
|
|
89
|
+
function arrayToMessage(param, quoted = true, conjunction = 'or') {
|
|
90
|
+
const getPart = (str) => quoted ? localeQuote(str) : str;
|
|
91
|
+
const arr = (typeof param === 'string' ? [param] : Array.from(param))
|
|
92
|
+
.map(getPart);
|
|
93
|
+
switch (arr.length) {
|
|
94
|
+
case 0:
|
|
95
|
+
return localize('nothing');
|
|
96
|
+
case 1:
|
|
97
|
+
return arr[0];
|
|
98
|
+
case 2:
|
|
99
|
+
return arr[0] + localize(`conjunction.${conjunction}_2`) + arr[1];
|
|
100
|
+
default:
|
|
101
|
+
return `${arr.slice(0, -1).join(localize(`conjunction.${conjunction}_3+_1`))}${localize(`conjunction.${conjunction}_3+_2`)}${arr[arr.length - 1]}`;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
exports.arrayToMessage = arrayToMessage;
|
|
105
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
{
|
|
2
|
+
"boolean": "einen Wahrheitswert",
|
|
3
|
+
"code-action.block-state-sort-keys": "Blockzustände sortieren",
|
|
4
|
+
"code-action.fix-file": "Alle automatisch behebbaren Probleme in dieser Datei beheben",
|
|
5
|
+
"code-action.fix-workspace": "Alle automatisch behebbaren Probleme im Arbeitsbereich beheben",
|
|
6
|
+
"code-action.id-attribute-datafix": "Den Namen dieses Attributs auf Version 1.16 aktualisieren",
|
|
7
|
+
"code-action.id-complete-default-namespace": "Standardnamensraum vervollständigen",
|
|
8
|
+
"code-action.id-create-file": "%0% im selben Datenpaket erstellen",
|
|
9
|
+
"code-action.id-omit-default-namespace": "Standardnamensraum auslassen",
|
|
10
|
+
"code-action.id-zombified-piglin-datafix": "ID zu zombified_piglin ändern",
|
|
11
|
+
"code-action.nbt-compound-sort-keys": "NBT-Compound-Eigenschaften sortieren",
|
|
12
|
+
"code-action.nbt-type-to-byte": "In ein NBT-Byte-Tag umwandeln",
|
|
13
|
+
"code-action.nbt-type-to-double": "In ein NBT-Double-Tag umwandeln",
|
|
14
|
+
"code-action.nbt-type-to-float": "In ein NBT-Float-Tag umwandeln",
|
|
15
|
+
"code-action.nbt-type-to-int": "In ein NBT-Int-Tag umwandeln",
|
|
16
|
+
"code-action.nbt-type-to-long": "In ein NBT-Long-Tag umwandeln",
|
|
17
|
+
"code-action.nbt-type-to-short": "In ein NBT-Short-Tag umwandeln",
|
|
18
|
+
"code-action.nbt-uuid-datafix": "Diese UUID auf Version 1.16 aktualisieren",
|
|
19
|
+
"code-action.selector-sort-keys": "Selektor-Argumente sortieren",
|
|
20
|
+
"code-action.string-double-quote": "Diese Zeichenkette in doppelte Anführungszeichen setzen",
|
|
21
|
+
"code-action.string-single-quote": "Diese Zeichenkette in einfache Anführungszeichen setzen",
|
|
22
|
+
"code-action.string-unquote": "Anführungszeichen von dieser Zeichenkette entfernen",
|
|
23
|
+
"code-action.vector-align-0.0": "Diesen Vektor am Ursprung des Blocks ausrichten",
|
|
24
|
+
"code-action.vector-align-0.5": "Diesen Vektor am Zentrum des Blocks ausrichten",
|
|
25
|
+
"conjunction.and_2": "und",
|
|
26
|
+
"conjunction.and_3+_1": ",",
|
|
27
|
+
"conjunction.and_3+_2": ", und",
|
|
28
|
+
"conjunction.or_2": "oder",
|
|
29
|
+
"conjunction.or_3+_1": ",",
|
|
30
|
+
"conjunction.or_3+_2": ", oder",
|
|
31
|
+
"duplicate-key": "Doppelter Schlüssel %0%",
|
|
32
|
+
"ending-quote": "ein schließendes Anführungszeichen %0%",
|
|
33
|
+
"entity": "ein Objekt",
|
|
34
|
+
"expected": "%0% erwartet",
|
|
35
|
+
"expected-got": "%0% erwartet, aber %1% erhalten",
|
|
36
|
+
"integer": "eine Ganzzahl",
|
|
37
|
+
"integer.between": "eine Ganzzahl zwischen %0% und %1%",
|
|
38
|
+
"key-not-following-convention": "Der Schlüssel %0% entspricht nicht der Namenskonvention %1%",
|
|
39
|
+
"long": "eine lange Ganzzahl",
|
|
40
|
+
"not-matching-any-child": "Ungültiger Argumenttyp",
|
|
41
|
+
"nothing": "nichts",
|
|
42
|
+
"number": "eine Zahl",
|
|
43
|
+
"number-range": "einen Wertebereich",
|
|
44
|
+
"number-range.missing-min-and-max": "Minimaler oder maximaler Wert erwartet",
|
|
45
|
+
"number.<=": "eine Zahl kleiner oder gleich %0%",
|
|
46
|
+
"number.>=": "eine Zahl größer oder gleich %0%",
|
|
47
|
+
"number.between": "eine Zahl zwischen %0% und %1%",
|
|
48
|
+
"objective": "ein Ziel",
|
|
49
|
+
"punc.period": ".",
|
|
50
|
+
"punc.quote": "„%0%“",
|
|
51
|
+
"quote": "ein Anführungszeichen („'“ oder „'“)",
|
|
52
|
+
"quote_prefer_double": "Doppelte Anführungszeichen ( „\"“) sind hier zu bevorzugen",
|
|
53
|
+
"quote_prefer_single": "Einfache Anführungszeichen ( „'“) sind hier zu bevorzugen",
|
|
54
|
+
"score-holder": "ein Objekt",
|
|
55
|
+
"server.new-version": "Der Datapack Language Server wurde aktualisiert: %0%",
|
|
56
|
+
"server.progress.fixing-workspace.begin": "Behebe alle automatisch behebbaren Probleme im Arbeitsbereich",
|
|
57
|
+
"server.progress.fixing-workspace.report": "behebe %0%",
|
|
58
|
+
"server.remove-cache-file": "Der Cache von DHP wurde in ein Verzeichnis von VSCode verschoben. Der „.datapack“-Ordner im Arbeitsbereich kann nun gelöscht werden.",
|
|
59
|
+
"server.show-release-notes": "Versionsinformationen anzeigen",
|
|
60
|
+
"string": "eine Zeichenkette",
|
|
61
|
+
"tag": "ein Etikett",
|
|
62
|
+
"team": "ein Team",
|
|
63
|
+
"time-unit": "eine Zeiteinheit",
|
|
64
|
+
"too-many-block-affected": "Zu viele Blöcke im angegebenen Bereich (maximal %0%, angegeben %1%)",
|
|
65
|
+
"unexpected-character": "Zeichen gefunden, die nicht [a-z0-9/._-] entsprechen",
|
|
66
|
+
"unexpected-datapack-tag": "Aliasse sind hier nicht erlaubt",
|
|
67
|
+
"unexpected-default-namespace": "Der Standardnamensraum sollte hier ausgelassen werden",
|
|
68
|
+
"unexpected-leading-slash": "Unerwarteter führender Schrägstrich „/“",
|
|
69
|
+
"unexpected-local-coordinate": "Lokale Koordinate %0% ist nicht erlaubt",
|
|
70
|
+
"unexpected-nbt": "Diese Eigenschaft existiert hier nicht",
|
|
71
|
+
"unexpected-nbt-array-type": "Ungültiger Array-Typ %0%. Sollte entweder „B“, „I“ oder „L“ sein",
|
|
72
|
+
"unexpected-nbt-path-filter": "Pfadfilter funktionieren nur mit Compound-Eigenschaften",
|
|
73
|
+
"unexpected-nbt-path-index": "Indizes funktionieren nur mit Listen oder Array-Eigenschaften",
|
|
74
|
+
"unexpected-nbt-path-key": "Schlüssel funktionieren nur mit Compound-Eigenschaften",
|
|
75
|
+
"unexpected-nbt-path-sub": "Die aktuelle Eigenschaft hat keine weiteren Elemente",
|
|
76
|
+
"unexpected-omitted-default-namespace": "Der Standardnamensraum kann hier nicht ausgelassen werden",
|
|
77
|
+
"unexpected-relative-coordinate": "Die relative Koordinate %0% ist nicht erlaubt",
|
|
78
|
+
"unexpected-scoreboard-sub-slot": "Nur „sidebar“ hat Unterkategorien",
|
|
79
|
+
"unknown-command": "Unbekannter Befehl %0%",
|
|
80
|
+
"unknown-key": "Unbekannter Schlüssel %0%",
|
|
81
|
+
"unquoted-string": "eine Zeichenkette ohne Anführungszeichen",
|
|
82
|
+
"unsorted-keys": "Unsortierte Schlüssel",
|
|
83
|
+
"uuid": "eine UUID",
|
|
84
|
+
"vector": "einen Vektor"
|
|
85
|
+
}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
{
|
|
2
|
+
"array": "an array",
|
|
3
|
+
"boolean": "a boolean",
|
|
4
|
+
"bug-of-mc": "Due to a bug of Minecraft (%0%), %1%. Please Mojang, fix your game",
|
|
5
|
+
"code-action.block-state-sort-keys": "Sort block state",
|
|
6
|
+
"code-action.command-replaceitem": "Update this command to /item … replace",
|
|
7
|
+
"code-action.fix-file": "Fix all auto-fixable problems in this file",
|
|
8
|
+
"code-action.fix-workspace": "Fix all auto-fixable problems in the workspace",
|
|
9
|
+
"code-action.id-attribute-datafix": "Update this attribute name to 1.16",
|
|
10
|
+
"code-action.id-complete-default-namespace": "Complete default namespace",
|
|
11
|
+
"code-action.id-create-file": "Create %0% in the same data pack",
|
|
12
|
+
"code-action.id-omit-default-namespace": "Omit default namespace",
|
|
13
|
+
"code-action.id-zombified-piglin-datafix": "Change this ID to Zombified Piglin's",
|
|
14
|
+
"code-action.nbt-compound-sort-keys": "Sort NBT compound tag",
|
|
15
|
+
"code-action.nbt-type-to-byte": "Convert to an NBT byte tag",
|
|
16
|
+
"code-action.nbt-type-to-double": "Convert to an NBT double tag",
|
|
17
|
+
"code-action.nbt-type-to-float": "Convert to an NBT float tag",
|
|
18
|
+
"code-action.nbt-type-to-int": "Convert to an NBT int tag",
|
|
19
|
+
"code-action.nbt-type-to-long": "Convert to an NBT long tag",
|
|
20
|
+
"code-action.nbt-type-to-short": "Convert to an NBT short tag",
|
|
21
|
+
"code-action.nbt-uuid-datafix": "Update this UUID to 1.16",
|
|
22
|
+
"code-action.selector-sort-keys": "Sort selector argument",
|
|
23
|
+
"code-action.string-double-quote": "Quote this string with double quotation marks",
|
|
24
|
+
"code-action.string-single-quote": "Quote this string with single quotation marks",
|
|
25
|
+
"code-action.string-unquote": "Unquote this string",
|
|
26
|
+
"code-action.vector-align-0.0": "Align this vector to block origin",
|
|
27
|
+
"code-action.vector-align-0.5": "Align this vector to block center",
|
|
28
|
+
"comment": "a comment starting with %0%",
|
|
29
|
+
"conjunction.and_2": " and ",
|
|
30
|
+
"conjunction.and_3+_1": ", ",
|
|
31
|
+
"conjunction.and_3+_2": ", and ",
|
|
32
|
+
"conjunction.or_2": " or ",
|
|
33
|
+
"conjunction.or_3+_1": ", ",
|
|
34
|
+
"conjunction.or_3+_2": ", or ",
|
|
35
|
+
"datafix.error.command-replaceitem": "/replaceitem was removed in 20w46a (the second snapshot of 1.17) in favour of /item",
|
|
36
|
+
"duplicate-key": "Duplicate key %0%",
|
|
37
|
+
"ending-quote": "an ending quote %0%",
|
|
38
|
+
"entity": "an entity",
|
|
39
|
+
"error.unparseable-content": "Encountered unparseable content",
|
|
40
|
+
"expected": "Expected %0%",
|
|
41
|
+
"expected-got": "Expected %0% but got %1%",
|
|
42
|
+
"float": "a float",
|
|
43
|
+
"float.between": "a float between %0% and %1%",
|
|
44
|
+
"integer": "an integer",
|
|
45
|
+
"integer.between": "an integer between %0% and %1%",
|
|
46
|
+
"json.doc.advancement.display": "Advancement display settings. If present, the advancement will be visible in the advancement tabs.",
|
|
47
|
+
"json.checker.item.duplicate": "Duplicate list item",
|
|
48
|
+
"json.checker.property.deprecated": "Property %0% is deprecated",
|
|
49
|
+
"json.checker.property.missing": "Missing property %0%",
|
|
50
|
+
"json.checker.property.unknown": "Unknown property %0%",
|
|
51
|
+
"json.checker.string.hex-color": "a 6-digit hexadecimal number",
|
|
52
|
+
"json.checker.tag-entry.duplicate": "Duplicate tag entry",
|
|
53
|
+
"key-not-following-convention": "Invalid key %0% which doesn't follow %1% convention",
|
|
54
|
+
"linter.diagnostic-message-wrapper": "%0% (rule: %1%)",
|
|
55
|
+
"linter.name-convention.illegal": "Name %0% doesn't match %1%",
|
|
56
|
+
"linter.undeclared-symbol.message": "Cannot find %0% %1%",
|
|
57
|
+
"linter-config-validator.name-convention.type": "Expects a string that contains a regular expression describing the name",
|
|
58
|
+
"linter-config-validator.wrapper": "%0%. See [the documentation](%1) for more information",
|
|
59
|
+
"long": "a long",
|
|
60
|
+
"mcfunction.completer.block.states.default-value": "Default: %0%",
|
|
61
|
+
"mcfunction.parser.entity-selector.arguments.not-applicable": "%0% is not applicable here",
|
|
62
|
+
"mcfunction.parser.entity-selector.arguments.unknown": "Unknown entity selector argument %0%",
|
|
63
|
+
"mcfunction.parser.entity-selector.entities-disallowed": "The selector contains non-player entities",
|
|
64
|
+
"mcfunction.parser.entity-selector.multiple-disallowed": "The selector contains multiple entities",
|
|
65
|
+
"mcfunction.parser.entity-selector.player-name.too-long": "Player names cannot be longer than %0% characters",
|
|
66
|
+
"mcfunction.parser.eoc-unexpected": "Expected more arguments",
|
|
67
|
+
"mcfunction.parser.leading-slash": "a leading slash %0%",
|
|
68
|
+
"mcfunction.parser.no-permission": "Permission level %0% is required, which is higher than %1% defined in config",
|
|
69
|
+
"mcfunction.parser.objective.too-long": "Objective names cannot be longer than %0% characters",
|
|
70
|
+
"mcfunction.parser.range.min>max": "The minimum value %0% is larger than the maximum value %1%",
|
|
71
|
+
"mcfunction.parser.score_holder.fake-name.too-long": "Fake names cannot be longer than %0% characters",
|
|
72
|
+
"mcfunction.parser.sep": "a space (%0%)",
|
|
73
|
+
"mcfunction.parser.trailing": "Trailing data encountered: %0%",
|
|
74
|
+
"mcfunction.parser.unknown-parser": "Parser %0% hasn't been supported yet",
|
|
75
|
+
"mcfunction.parser.uuid.invalid": "Invalid UUID format",
|
|
76
|
+
"mcfunction.parser.vector.local-disallowed": "Local coordinates disallowed",
|
|
77
|
+
"mcfunction.parser.vector.mixed": "Cannot mix local coordinates and world coordinates together",
|
|
78
|
+
"mcfunction.signature-help.command-documentation": "[Minecraft Wiki: `%0%` command](https://minecraft.fandom.com/wiki/Commands/%0%)",
|
|
79
|
+
"mcfunction.signature-help.argument-parser-documentation": "[Minecraft Wiki: `%0%` argument parser](https://minecraft.fandom.com/wiki/Argument_types#%0%)",
|
|
80
|
+
"missing-key": "Missing key %0%",
|
|
81
|
+
"nbt.checker.block-states.fake-boolean": "Boolean block state values should be quoted",
|
|
82
|
+
"nbt.checker.block-states.unexpected-value-type": "Block state values should be either a string or an int",
|
|
83
|
+
"nbt.checker.block-states.unknown-state": "Unknown block state %0% for the following block(s): %1%",
|
|
84
|
+
"nbt.checker.boolean.out-of-range": "A boolean value should be either %0% or %1%",
|
|
85
|
+
"nbt.checker.collection.length-between": "%0% with length between %1% and %2%",
|
|
86
|
+
"nbt.checker.compound.field.union-empty-members": "Disallowed property",
|
|
87
|
+
"nbt.checker.path.index-out-of-bound": "The provided index %0% is out of bound, as the collection can only have at most %1% elements",
|
|
88
|
+
"nbt.checker.path.unexpected-filter": "Compound filters can only be used on compound tags",
|
|
89
|
+
"nbt.checker.path.unexpected-index": "Indices can only be used on array or list tags",
|
|
90
|
+
"nbt.checker.path.unexpected-key": "String keys can only be specified for compound tags",
|
|
91
|
+
"nbt.node": "a tag",
|
|
92
|
+
"nbt.node.byte": "a byte tag",
|
|
93
|
+
"nbt.node.byte_array": "a byte array tag",
|
|
94
|
+
"nbt.node.compound": "a compound tag",
|
|
95
|
+
"nbt.node.double": "a double tag",
|
|
96
|
+
"nbt.node.float": "a float tag",
|
|
97
|
+
"nbt.node.int": "an int tag",
|
|
98
|
+
"nbt.node.int_array": "an int array tag",
|
|
99
|
+
"nbt.node.list": "a list tag",
|
|
100
|
+
"nbt.node.long": "a long tag",
|
|
101
|
+
"nbt.node.long_array": "a long array tag",
|
|
102
|
+
"nbt.node.path.end": "the end of path",
|
|
103
|
+
"nbt.node.path.filter": "a compound filter",
|
|
104
|
+
"nbt.node.path.index": "an index",
|
|
105
|
+
"nbt.node.path.key": "a key",
|
|
106
|
+
"nbt.node.short": "a short tag",
|
|
107
|
+
"nbt.node.string": "a string tag",
|
|
108
|
+
"nbt.parser.number.out-of-range": "This looks like %0%, but it is actually %1% due to the numeral value being out of [%2%, %3%]",
|
|
109
|
+
"nbtdoc.node.compound-definition": "a compound definition",
|
|
110
|
+
"nbtdoc.node.enum-definition": "an enum definition",
|
|
111
|
+
"nbtdoc.checker.duplicated-identifier": "Duplicated identifier %0%",
|
|
112
|
+
"nbtdoc.checker.duplicated-identifier.related": "Identifier %0% is declared here",
|
|
113
|
+
"nbtdoc.checker.entry.empty-mod-seg": "You cannot put “mod.nbtdoc” under a root directly",
|
|
114
|
+
"nbtdoc.checker.entry.undefined-mod-seg": "The current file is not under any roots and won't be checked semantically",
|
|
115
|
+
"nbtdoc.checker.ident-path.super-from-root": "This “super” it is out of the project's root",
|
|
116
|
+
"nbtdoc.checker.ident-path.unknown-identifier": "Identifier %0% does not exist in module %1%",
|
|
117
|
+
"nbtdoc.checker.ident-path.unknown-module": "Module %0% does not exist",
|
|
118
|
+
"nbtdoc.checker.inject-clause.unmatched-injection": "Cannot inject %0% with %1%",
|
|
119
|
+
"nbtdoc.checker.module-declaration.non-existent": "Implementation of module %0% does not exist",
|
|
120
|
+
"nbtdoc.checker.module-declaration.duplicated": "Module %0% has already been declared",
|
|
121
|
+
"nbtdoc.checker.module-declaration.duplicated.related": "Module %0% is declared here",
|
|
122
|
+
"nbtdoc.checker.type-not-assignable": "Type %0% is not assignable to type %1%",
|
|
123
|
+
"nbtdoc.parser.compound-definition.field-type": "a field type",
|
|
124
|
+
"nbtdoc.parser.float.illegal": "Encountered illegal float number",
|
|
125
|
+
"nbtdoc.parser.identifier": "an identifier",
|
|
126
|
+
"nbtdoc.parser.identifier.illegal": "%0% doesn't follow the format of %1%",
|
|
127
|
+
"nbtdoc.parser.inject-clause.definition-expected": "Expected either an enum inject or a compound inject",
|
|
128
|
+
"nbtdoc.parser.keyword.separation": "a separation",
|
|
129
|
+
"nbtdoc.parser.minecraft-identifier.colon-expected": "Expected the colon (%0%) of Minecraft identifier",
|
|
130
|
+
"nbtdoc.parser.syntax.doc-comment-unexpected": "Doc comments are not allowed here; you might want to replace the three slashes with two slashes",
|
|
131
|
+
"not-matching-any-child": "Invalid argument type",
|
|
132
|
+
"nothing": "nothing",
|
|
133
|
+
"number": "a number",
|
|
134
|
+
"number-range": "a number range",
|
|
135
|
+
"number-range.missing-min-and-max": "Expected either a minimum value or a maximum value",
|
|
136
|
+
"number.<=": "a number smaller than or equal to %0%",
|
|
137
|
+
"number.>=": "a number greater than or equal to %0%",
|
|
138
|
+
"number.between": "a number between %0% and %1%",
|
|
139
|
+
"object": "an object",
|
|
140
|
+
"objective": "an objective",
|
|
141
|
+
"objective-not-following-convention": "Invalid objective %0% which doesn't follow %1% convention",
|
|
142
|
+
"parser.float.illegal": "Illegal float numeral that doesn't follow %0%",
|
|
143
|
+
"parser.integer.illegal": "Illegal integer that doesn't follow %0%",
|
|
144
|
+
"parser.list.value": "a value",
|
|
145
|
+
"parser.list.trailing-sep": "Trailing separation",
|
|
146
|
+
"parser.record.key": "a key",
|
|
147
|
+
"parser.record.trailing-end": "Trailing separation",
|
|
148
|
+
"parser.record.unexpected-char": "Unexpected character %0%",
|
|
149
|
+
"parser.record.value": "a value",
|
|
150
|
+
"parser.resource-location.illegal": "Illegal character(s): %0%",
|
|
151
|
+
"parser.resource-location.namespace-expected": "Namespaces cannot be omitted here",
|
|
152
|
+
"parser.resource-location.tag-diallowed": "Tags are not allowed here",
|
|
153
|
+
"parser.string.illegal-brigadier": "Encountered non-[0-9A-Za-z_.+-] characters in %0%",
|
|
154
|
+
"parser.string.illegal-escape": "Unexpected escape character %0%",
|
|
155
|
+
"parser.string.illegal-quote": "Only %0% can be used to quote strings here",
|
|
156
|
+
"parser.string.illegal-unicode-escape": "Hexadecimal digit expected",
|
|
157
|
+
"punc.period": ".",
|
|
158
|
+
"punc.quote": "“%0%”",
|
|
159
|
+
"quote": "a quote (“'” or “\"”)",
|
|
160
|
+
"quote_prefer_double": "Double quote (“\"”) is preferable here",
|
|
161
|
+
"quote_prefer_single": "Single quote (“'”) is preferable here",
|
|
162
|
+
"resource-location": "a resource location",
|
|
163
|
+
"score-holder": "a score holder",
|
|
164
|
+
"scoreholder-not-following-convention": "Invalid score_holder %0% which doesn't follow %1% convention",
|
|
165
|
+
"server.new-version": "The Data-pack Language Server has been updated to a newer version: %0%",
|
|
166
|
+
"server.progress.fixing-workspace.begin": "Fixing all auto-fixable problems in the workspace",
|
|
167
|
+
"server.progress.fixing-workspace.report": "fixing %0%",
|
|
168
|
+
"server.progress.preparing.title": "Preparing Spyglass language features",
|
|
169
|
+
"server.remove-cache-file": "The cache file of DHP was moved to a storage location provided by VSCode. You can safely delete the ugly “.datapack” folder in your workspace root.",
|
|
170
|
+
"server.show-release-notes": "Show Release Notes",
|
|
171
|
+
"string": "a string",
|
|
172
|
+
"tag": "a tag",
|
|
173
|
+
"tag-not-following-convention": "Invalid tag %0% which doesn't follow %1% convention",
|
|
174
|
+
"team": "a team",
|
|
175
|
+
"team-not-following-convention": "Invalid team %0% which doesn't follow %1% convention",
|
|
176
|
+
"time-unit": "a time unit",
|
|
177
|
+
"too-many-block-affected": "Too many blocks in the specified area (maximum %0%, specified %1%)",
|
|
178
|
+
"too-many-chunk-affected": "Too many chunks in the specified area (maximum %0%, specified %1%)",
|
|
179
|
+
"unexpected-character": "Found non [a-z0-9/._-] character(s)",
|
|
180
|
+
"unexpected-datapack-tag": "Tags are not allowed here",
|
|
181
|
+
"unexpected-default-namespace": "Default namespace should be omitted here",
|
|
182
|
+
"unexpected-leading-slash": "Unexpected leading slash “/”",
|
|
183
|
+
"unexpected-local-coordinate": "Local coordinate %0% is not allowed",
|
|
184
|
+
"unexpected-nbt": "This tag doesn't exist here",
|
|
185
|
+
"unexpected-nbt-array-type": "Invalid array type %0%. Should be one of “B”, “I”, and “L”",
|
|
186
|
+
"unexpected-nbt-path-filter": "Compound filters are only used for compound tags",
|
|
187
|
+
"unexpected-nbt-path-index": "Indices are only used for lists/arrays tags",
|
|
188
|
+
"unexpected-nbt-path-key": "Keys are only used for compound tags",
|
|
189
|
+
"unexpected-nbt-path-sub": "The current tag doesn't have extra items",
|
|
190
|
+
"unexpected-omitted-default-namespace": "Default namespace shouldn't be omitted here",
|
|
191
|
+
"unexpected-relative-coordinate": "Relative coordinate %0% is not allowed",
|
|
192
|
+
"unexpected-scoreboard-sub-slot": "Only “sidebar” has sub slots",
|
|
193
|
+
"unknown-command": "Unknown command %0%",
|
|
194
|
+
"unknown-escape": "Unexpected escape character %0%",
|
|
195
|
+
"unknown-key": "Unknown key %0%",
|
|
196
|
+
"unquoted-string": "an unquoted string",
|
|
197
|
+
"unsorted-keys": "Unsorted keys",
|
|
198
|
+
"uuid": "a UUID",
|
|
199
|
+
"vector": "a vector"
|
|
200
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
{
|
|
2
|
+
"array": "un tableau",
|
|
3
|
+
"boolean": "un booléen",
|
|
4
|
+
"bug-of-mc": "À cause d'un bug de Minecraft (%0%), %1%. S'il vous plaît Mojang, corrigez votre jeu",
|
|
5
|
+
"code-action.block-state-sort-keys": "Trier les états de bloc",
|
|
6
|
+
"code-action.command-replaceitem": "Mettre à jour cette commande sous la forme /item ... replace",
|
|
7
|
+
"code-action.fix-file": "Corriger tous les problèmes auto-corrigibles dans ce fichier",
|
|
8
|
+
"code-action.fix-workspace": "Corriger tous les problèmes auto-corrigibles dans l'espace de travail",
|
|
9
|
+
"code-action.id-attribute-datafix": "Mettre à jour ce nom d'attribut pour la 1.16",
|
|
10
|
+
"code-action.id-complete-default-namespace": "Compléter l'espace de nommage par défaut",
|
|
11
|
+
"code-action.id-create-file": "Créer %0% dans le même pack de données",
|
|
12
|
+
"code-action.id-omit-default-namespace": "Omettre l'espace de nommage par défaut",
|
|
13
|
+
"code-action.id-zombified-piglin-datafix": "Changer cet ID en celui du Piglin zombifié",
|
|
14
|
+
"code-action.nbt-compound-sort-keys": "Trier les clés du compound NBT",
|
|
15
|
+
"code-action.nbt-type-to-byte": "Convertir en octet NBT",
|
|
16
|
+
"code-action.nbt-type-to-double": "Convertir en double NBT",
|
|
17
|
+
"code-action.nbt-type-to-float": "Convertir en un flottant NBT",
|
|
18
|
+
"code-action.nbt-type-to-int": "Convertir en entier NBT",
|
|
19
|
+
"code-action.nbt-type-to-long": "Convertir en long NBT",
|
|
20
|
+
"code-action.nbt-type-to-short": "Convertir en short NBT",
|
|
21
|
+
"code-action.nbt-uuid-datafix": "Mettre à jour cet UUID pour la 1.16",
|
|
22
|
+
"code-action.selector-sort-keys": "Trier les arguments du sélecteur",
|
|
23
|
+
"code-action.string-double-quote": "Encadrer cette chaîne de caractères avec des guillemets",
|
|
24
|
+
"code-action.string-single-quote": "Encadrer cette chaîne de caractères avec des apostrophes",
|
|
25
|
+
"code-action.string-unquote": "Enlever les délimiteurs autour de cette chaîne de caractères",
|
|
26
|
+
"code-action.vector-align-0.0": "Aligner ce vecteur à l'origine du bloc",
|
|
27
|
+
"code-action.vector-align-0.5": "Aligner ce vecteur au centre du bloc",
|
|
28
|
+
"comment": "un commentaire commençant par %0%",
|
|
29
|
+
"conjunction.and_2": "et",
|
|
30
|
+
"conjunction.and_3+_1": ",",
|
|
31
|
+
"conjunction.and_3+_2": ", et",
|
|
32
|
+
"conjunction.or_2": "ou",
|
|
33
|
+
"conjunction.or_3+_1": ",",
|
|
34
|
+
"conjunction.or_3+_2": ", ou",
|
|
35
|
+
"datafix.error.command-replaceitem": "/replaceitem a été enlevé en 20w46a (la deuxième snapshot de la 1.17) en faveur de /item",
|
|
36
|
+
"duplicate-key": "Clé duplique %0%",
|
|
37
|
+
"ending-quote": "un guillemet de fermeture %0%",
|
|
38
|
+
"entity": "une entité",
|
|
39
|
+
"error.unparseable-content": "Rencontré du contenu non interprétable",
|
|
40
|
+
"expected": "%0% attendu",
|
|
41
|
+
"expected-got": "Attendu %0% mais obtenu %1%",
|
|
42
|
+
"float": "un flottant",
|
|
43
|
+
"float.between": "un flottant entre %0% et %1%",
|
|
44
|
+
"integer": "un integer",
|
|
45
|
+
"integer.between": "un integer entre %0% et %1%",
|
|
46
|
+
"json.checker.property.deprecated": "La propriété %0% est obsolète",
|
|
47
|
+
"json.checker.property.missing": "Propriété %0% manquante",
|
|
48
|
+
"json.checker.property.unknown": "Propriété %0% inconnue",
|
|
49
|
+
"json.checker.string.hex-color": "un nombre hexadécimal à six chiffres",
|
|
50
|
+
"json.doc.advancement.display": "Paramètres d'affichages du progrès. Si présent, le progrès sera visible dans les onglets de progrès.",
|
|
51
|
+
"key-not-following-convention": "Clé invalide %0% qui ne suit pas la convention %1%",
|
|
52
|
+
"long": "un long",
|
|
53
|
+
"mcfunction.parser.entity-selector.arguments.not-applicable": "%0% n'est pas applicable ici",
|
|
54
|
+
"mcfunction.parser.entity-selector.arguments.unknown": "Argument de sélecteur d'entité inconnu %0%",
|
|
55
|
+
"mcfunction.parser.entity-selector.entities-disallowed": "Le sélecteur contient des entités non joueur",
|
|
56
|
+
"mcfunction.parser.entity-selector.multiple-disallowed": "Le sélecteur contient plusieurs entités",
|
|
57
|
+
"mcfunction.parser.entity-selector.player-name.too-long": "Les noms de joueurs ne peuvent pas avoir plus de %0% caractères",
|
|
58
|
+
"mcfunction.parser.eoc-unexpected": "Plus d'arguments attendus",
|
|
59
|
+
"mcfunction.parser.no-permission": "Le niveau de permission %0% est requis, mais le niveau de permission défini en configuration est seulement %1%",
|
|
60
|
+
"mcfunction.parser.objective.too-long": "Les noms d'objectifs ne peuvent pas avoir plus que %0% caractères",
|
|
61
|
+
"mcfunction.parser.range.min>max": "La valeur minimale %0% est plus grande que la valeur maximale %1%",
|
|
62
|
+
"mcfunction.parser.score_holder.fake-name.too-long": "Les faux noms ne peuvent pas avoir plus que %0% caractères",
|
|
63
|
+
"mcfunction.parser.sep": "un espace (%0%)",
|
|
64
|
+
"mcfunction.parser.trailing": "Trouvé des données supplémentaires à la fin",
|
|
65
|
+
"mcfunction.parser.unknown-parser": "L'analyseur %0% n'est pas supporté pour le moment",
|
|
66
|
+
"mcfunction.parser.uuid.invalid": "Format d'UUID invalide",
|
|
67
|
+
"mcfunction.parser.vector.local-disallowed": "Coordonnées locales interdites",
|
|
68
|
+
"mcfunction.parser.vector.mixed": "Les coordonnées locales et absolues/relatives ne peuvent pas être mélangées",
|
|
69
|
+
"missing-key": "Clé %0% manquante",
|
|
70
|
+
"nbt.checker.block-states.fake-boolean": "Les états de blocs booléens doivent être mises entre guillemets",
|
|
71
|
+
"nbt.checker.block-states.unexpected-value-type": "Les valeurs des états de blocs doivent être soit une chaîne de caractères soit un nombre entier",
|
|
72
|
+
"nbt.checker.block-states.unknown-state": "État de bloc %0% inconnu pour le(s) bloc(s) suivant(s) : %1%",
|
|
73
|
+
"nbt.checker.boolean.out-of-range": "Une valeur booléenne devrait être soit %0% soit %1%",
|
|
74
|
+
"nbt.checker.collection.length-between": "%0% de longueur comprise entre %1% et %2%",
|
|
75
|
+
"nbt.checker.compound.field.union-empty-members": "Propriété interdite",
|
|
76
|
+
"nbt.node": "un tag",
|
|
77
|
+
"nbt.node.byte": "un octet",
|
|
78
|
+
"nbt.node.byte_array": "un tableau d'octets",
|
|
79
|
+
"not-matching-any-child": "Type d'argument invalide",
|
|
80
|
+
"nothing": "rien",
|
|
81
|
+
"number": "un nombre",
|
|
82
|
+
"number-range": "un intervalle de valeur",
|
|
83
|
+
"number-range.missing-min-and-max": "Attendu une valeure minimale ou une valeure maximale",
|
|
84
|
+
"number.<=": "un nombre inférieur ou égal à %0%",
|
|
85
|
+
"number.>=": "un nombre supérieur ou égal à %0%",
|
|
86
|
+
"number.between": "un nombre entre %0% et %1%",
|
|
87
|
+
"objective": "un objectif",
|
|
88
|
+
"punc.period": ".",
|
|
89
|
+
"punc.quote": "“%0%”",
|
|
90
|
+
"quote": "un guillemet (“\"”) ou une apostrophe (“'”)",
|
|
91
|
+
"quote_prefer_double": "Des guillemets (“\"”) sont préférables ici",
|
|
92
|
+
"quote_prefer_single": "Une apostrophe (“'”) est préférable ici",
|
|
93
|
+
"score-holder": "un score holder",
|
|
94
|
+
"server.new-version": "Le Data-pack Language Server a été mis à jour vers une version plus récente : %0%",
|
|
95
|
+
"server.progress.fixing-workspace.begin": "Correction de tous les problèmes auto-corrigibles dans l'espace de travail",
|
|
96
|
+
"server.progress.fixing-workspace.report": "correction de %0%",
|
|
97
|
+
"server.remove-cache-file": "Le fichier de cache a été déplacé au chemin donné par VSCode. Vous pouvez supprimer sans risque le dossier “.datapack” du dossier racine de votre espace de travail.",
|
|
98
|
+
"server.show-release-notes": "Afficher les notes de version",
|
|
99
|
+
"string": "un string",
|
|
100
|
+
"tag": "un tag",
|
|
101
|
+
"team": "une équipe",
|
|
102
|
+
"time-unit": "une unité de temps",
|
|
103
|
+
"too-many-block-affected": "Trop de blocs dans la zone spécifiée (%0% au maximum, %1% spécifiés)",
|
|
104
|
+
"unexpected-character": "Trouvé un caractère(s) non-[a-z0-9/._-]",
|
|
105
|
+
"unexpected-datapack-tag": "Les tags ne sont pas admis ici",
|
|
106
|
+
"unexpected-default-namespace": "L'espace de nommage par défaut devrait être omis ici",
|
|
107
|
+
"unexpected-leading-slash": "Slash “/” inattendu",
|
|
108
|
+
"unexpected-local-coordinate": "La coordonnée locale %0% n'est pas admise",
|
|
109
|
+
"unexpected-nbt": "Ce tag n’existe pas",
|
|
110
|
+
"unexpected-nbt-array-type": "Type de tableau invalide %0%. Devrait être “B”, “I”, ou “L”",
|
|
111
|
+
"unexpected-nbt-path-filter": "Les filtres de champs sont seulement utilisés pour les tags de champs",
|
|
112
|
+
"unexpected-nbt-path-index": "Les indices sont seulement utilisés pour les tags de listes/tableaux",
|
|
113
|
+
"unexpected-nbt-path-key": "Les clés sont seulement utilisées pour les tags de champs",
|
|
114
|
+
"unexpected-nbt-path-sub": "Ce tag n'a pas d'items supplémentaires",
|
|
115
|
+
"unexpected-omitted-default-namespace": "L'espace de nom par défaut ne peut être omis ici",
|
|
116
|
+
"unexpected-relative-coordinate": "La coordonnée relative %0% n'est pas admise",
|
|
117
|
+
"unexpected-scoreboard-sub-slot": "Seulement “sidebar” a des sous-emplacements",
|
|
118
|
+
"unknown-command": "Commande inconnue %0%",
|
|
119
|
+
"unknown-key": "Clé inconnue %0%",
|
|
120
|
+
"unquoted-string": "une chaîne de caractères sans délimiteurs",
|
|
121
|
+
"unsorted-keys": "Clés non triées",
|
|
122
|
+
"uuid": "un UUID",
|
|
123
|
+
"vector": "un vecteur"
|
|
124
|
+
}
|