@yamato-daiwa/es-extensions-localization-russian 0.0.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/Distributable/cjs/Errors/AlgorithmMismatchErrorLocalization.russian.js +6 -0
- package/Distributable/cjs/Errors/ClassRedundantSubsequentInitializationErrorLocalization.russian.js +7 -0
- package/Distributable/cjs/Errors/ClassRequiredInitializationHasNotBeenExecutedErrorLocalization.russian.js +8 -0
- package/Distributable/cjs/Errors/ConfigFileNotFoundErrorLocalization.russian.js +14 -0
- package/Distributable/cjs/Errors/CrossBrowserIssueErrorLocalization.russian.js +6 -0
- package/Distributable/cjs/Errors/DOM_ElementRetrievingFailedErrorLocalization.russian.js +7 -0
- package/Distributable/cjs/Errors/DataRetrievingFailedErrorLocalization.russian.js +7 -0
- package/Distributable/cjs/Errors/DataSubmittingFailedErrorLocalization.russian.js +7 -0
- package/Distributable/cjs/Errors/FileReadingFailedErrorLocalization.russian.js +7 -0
- package/Distributable/cjs/Errors/FileWritingFailedErrorLocalization.russian.js +7 -0
- package/Distributable/cjs/Errors/ImproperUsageErrorLocalization.russian.js +6 -0
- package/Distributable/cjs/Errors/IncompatiblePropertiesInObjectTypeParameterLocalization.russian.js +9 -0
- package/Distributable/cjs/Errors/InterProcessInteractionFailedErrorLocalization.russian.js +6 -0
- package/Distributable/cjs/Errors/InvalidConfigErrorLocalization.russian.js +7 -0
- package/Distributable/cjs/Errors/InvalidExternalDataErrorLocalization.russian.js +12 -0
- package/Distributable/cjs/Errors/InvalidParameterValueErrorLocalization.russian.js +11 -0
- package/Distributable/cjs/Errors/ModuleDynamicLoadingFailedErrorLocalization.russian.js +7 -0
- package/Distributable/cjs/Errors/UnexpectedEventErrorLocalization.russian.js +6 -0
- package/Distributable/cjs/Errors/UnsupportedScenarioErrorLocalization.russian.js +6 -0
- package/Distributable/cjs/LoggerLocalization__Russian.js +16 -0
- package/Distributable/cjs/RawObjectDataProcessorLocalization.russian.js +238 -0
- package/Distributable/cjs/index.js +50 -0
- package/Distributable/esm/Errors/AlgorithmMismatchErrorLocalization.russian.d.ts +3 -0
- package/Distributable/esm/Errors/AlgorithmMismatchErrorLocalization.russian.js +4 -0
- package/Distributable/esm/Errors/ClassRedundantSubsequentInitializationErrorLocalization.russian.d.ts +3 -0
- package/Distributable/esm/Errors/ClassRedundantSubsequentInitializationErrorLocalization.russian.js +5 -0
- package/Distributable/esm/Errors/ClassRequiredInitializationHasNotBeenExecutedErrorLocalization.russian.d.ts +3 -0
- package/Distributable/esm/Errors/ClassRequiredInitializationHasNotBeenExecutedErrorLocalization.russian.js +6 -0
- package/Distributable/esm/Errors/ConfigFileNotFoundErrorLocalization.russian.d.ts +3 -0
- package/Distributable/esm/Errors/ConfigFileNotFoundErrorLocalization.russian.js +12 -0
- package/Distributable/esm/Errors/CrossBrowserIssueErrorLocalization.russian.d.ts +3 -0
- package/Distributable/esm/Errors/CrossBrowserIssueErrorLocalization.russian.js +4 -0
- package/Distributable/esm/Errors/DOM_ElementRetrievingFailedErrorLocalization.russian.d.ts +3 -0
- package/Distributable/esm/Errors/DOM_ElementRetrievingFailedErrorLocalization.russian.js +5 -0
- package/Distributable/esm/Errors/DataRetrievingFailedErrorLocalization.russian.d.ts +3 -0
- package/Distributable/esm/Errors/DataRetrievingFailedErrorLocalization.russian.js +5 -0
- package/Distributable/esm/Errors/DataSubmittingFailedErrorLocalization.russian.d.ts +3 -0
- package/Distributable/esm/Errors/DataSubmittingFailedErrorLocalization.russian.js +5 -0
- package/Distributable/esm/Errors/FileReadingFailedErrorLocalization.russian.d.ts +3 -0
- package/Distributable/esm/Errors/FileReadingFailedErrorLocalization.russian.js +5 -0
- package/Distributable/esm/Errors/FileWritingFailedErrorLocalization.russian.d.ts +3 -0
- package/Distributable/esm/Errors/FileWritingFailedErrorLocalization.russian.js +5 -0
- package/Distributable/esm/Errors/ImproperUsageErrorLocalization.russian.d.ts +3 -0
- package/Distributable/esm/Errors/ImproperUsageErrorLocalization.russian.js +4 -0
- package/Distributable/esm/Errors/IncompatiblePropertiesInObjectTypeParameterLocalization.russian.d.ts +3 -0
- package/Distributable/esm/Errors/IncompatiblePropertiesInObjectTypeParameterLocalization.russian.js +7 -0
- package/Distributable/esm/Errors/InterProcessInteractionFailedErrorLocalization.russian.d.ts +3 -0
- package/Distributable/esm/Errors/InterProcessInteractionFailedErrorLocalization.russian.js +4 -0
- package/Distributable/esm/Errors/InvalidConfigErrorLocalization.russian.d.ts +3 -0
- package/Distributable/esm/Errors/InvalidConfigErrorLocalization.russian.js +5 -0
- package/Distributable/esm/Errors/InvalidExternalDataErrorLocalization.russian.d.ts +3 -0
- package/Distributable/esm/Errors/InvalidExternalDataErrorLocalization.russian.js +9 -0
- package/Distributable/esm/Errors/InvalidParameterValueErrorLocalization.russian.d.ts +3 -0
- package/Distributable/esm/Errors/InvalidParameterValueErrorLocalization.russian.js +9 -0
- package/Distributable/esm/Errors/ModuleDynamicLoadingFailedErrorLocalization.russian.d.ts +3 -0
- package/Distributable/esm/Errors/ModuleDynamicLoadingFailedErrorLocalization.russian.js +5 -0
- package/Distributable/esm/Errors/UnexpectedEventErrorLocalization.russian.d.ts +3 -0
- package/Distributable/esm/Errors/UnexpectedEventErrorLocalization.russian.js +4 -0
- package/Distributable/esm/Errors/UnsupportedScenarioErrorLocalization.russian.d.ts +3 -0
- package/Distributable/esm/Errors/UnsupportedScenarioErrorLocalization.russian.js +4 -0
- package/Distributable/esm/LoggerLocalization__Russian.d.ts +3 -0
- package/Distributable/esm/LoggerLocalization__Russian.js +14 -0
- package/Distributable/esm/RawObjectDataProcessorLocalization.russian.d.ts +4 -0
- package/Distributable/esm/RawObjectDataProcessorLocalization.russian.js +236 -0
- package/Distributable/esm/index.d.ts +26 -0
- package/Distributable/esm/index.js +26 -0
- package/LICENSE +21 -0
- package/README.md +104 -0
- package/package.json +45 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const FileReadingFailedErrorLocalization__Russian = {
|
|
2
|
+
defaultTitle: "Ошибка при чтении файла",
|
|
3
|
+
generateDescription: (namedParameters) => `Произошла ошибка при чтении файла пути '${namedParameters.filePath}'.`
|
|
4
|
+
};
|
|
5
|
+
export default FileReadingFailedErrorLocalization__Russian;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const FileWritingFailedErrorLocalization__Russian = {
|
|
2
|
+
defaultTitle: "Ошибка при записи файла",
|
|
3
|
+
generateDescription: (namedParameters) => `Произошла ошибки при записи файла по пути\n: '${namedParameters.filePath}'`
|
|
4
|
+
};
|
|
5
|
+
export default FileWritingFailedErrorLocalization__Russian;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { IncompatiblePropertiesInObjectTypeParameterError } from "@yamato-daiwa/es-extensions";
|
|
2
|
+
declare const IncompatiblePropertiesInObjectTypeParameterErrorLocalization__Russian: IncompatiblePropertiesInObjectTypeParameterError.Localization;
|
|
3
|
+
export default IncompatiblePropertiesInObjectTypeParameterErrorLocalization__Russian;
|
package/Distributable/esm/Errors/IncompatiblePropertiesInObjectTypeParameterLocalization.russian.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const IncompatiblePropertiesInObjectTypeParameterErrorLocalization__Russian = {
|
|
2
|
+
defaultTitle: "Несовместимые свойства в объектном параметре",
|
|
3
|
+
generateDescription: (namedParameters) => `В параметре '${namedParameters.parameterName}' типа 'объект' свойство ` +
|
|
4
|
+
`'${namedParameters.conflictingPropertyName}' несовместимо со следующими свойствами:` +
|
|
5
|
+
`${namedParameters.incompatiblePropertiesNames.reduce((accumulatingString, propertyName) => `${accumulatingString}\n- ${propertyName}`, "")}`
|
|
6
|
+
};
|
|
7
|
+
export default IncompatiblePropertiesInObjectTypeParameterErrorLocalization__Russian;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { InterProcessInteractionFailedError } from "@yamato-daiwa/es-extensions";
|
|
2
|
+
declare const InterProcessInteractionFailedErrorLocalization__Russian: InterProcessInteractionFailedError.Localization;
|
|
3
|
+
export default InterProcessInteractionFailedErrorLocalization__Russian;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { insertSubstring } from "@yamato-daiwa/es-extensions";
|
|
2
|
+
export const InvalidExternalDataErrorLocalization__Russian = {
|
|
3
|
+
defaultTitle: "Внешние данные не соответствуют ожидаемым",
|
|
4
|
+
generateDescription: (namedParameters) => `Внешние данные '${namedParameters.mentionToExpectedData}' не соответствуют ожидаемым.` +
|
|
5
|
+
`${insertSubstring(namedParameters.messageSpecificPart, {
|
|
6
|
+
modifier: (messageSpecificPart) => `\n${messageSpecificPart}`
|
|
7
|
+
})}`
|
|
8
|
+
};
|
|
9
|
+
export default InvalidExternalDataErrorLocalization__Russian;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { insertSubstring } from "@yamato-daiwa/es-extensions";
|
|
2
|
+
const InvalidParameterValueErrorLocalization__Russian = {
|
|
3
|
+
defaultTitle: "Невалидное значение параметра",
|
|
4
|
+
generateDescription: (namedParameters) => `Значение параметра '${namedParameters.parameterName}' невалидно.` +
|
|
5
|
+
`${insertSubstring(namedParameters.messageSpecificPart, {
|
|
6
|
+
modifier: (messageSpecificPart) => `\n${messageSpecificPart}`
|
|
7
|
+
})}`
|
|
8
|
+
};
|
|
9
|
+
export default InvalidParameterValueErrorLocalization__Russian;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const ModuleDynamicLoadingFailedErrorLocalization__Russian = {
|
|
2
|
+
defaultTitle: "Ошибка динамической подгрузки модуля",
|
|
3
|
+
generateDescription: (namedParameters) => `Произошла ошибка при динамической подгрузке модуля '${namedParameters.modulePath}'.`
|
|
4
|
+
};
|
|
5
|
+
export default ModuleDynamicLoadingFailedErrorLocalization__Russian;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const LoggerLocalization__Russian = {
|
|
2
|
+
badgesDefaultTitles: {
|
|
3
|
+
error: "Ошибка",
|
|
4
|
+
success: "Нормальное завершение",
|
|
5
|
+
warning: "Предупреждение",
|
|
6
|
+
info: "Оповещение"
|
|
7
|
+
},
|
|
8
|
+
errorType: "Тип ошибки",
|
|
9
|
+
occurrenceLocation: "Локализация происшествия",
|
|
10
|
+
caughtError: "Перехваченная ошибка",
|
|
11
|
+
wrappableError: "Обёрнутая ошибка",
|
|
12
|
+
appendedData: "Приложенные данные"
|
|
13
|
+
};
|
|
14
|
+
export default LoggerLocalization__Russian;
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import { RawObjectDataProcessor, stringifyAndFormatArbitraryValue, insertSubstring } from "@yamato-daiwa/es-extensions";
|
|
2
|
+
const RawObjectDataProcessorLocalization__Russian = {
|
|
3
|
+
errorMessageBasicTemplate({ targetPropertyDotSeparatedQualifiedName, targetPropertyNewName, targetPropertyValue, targetPropertyValueSpecification, targetPropertyStringifiedValueBeforeFirstPreValidationModification, title, specificMessagePart }) {
|
|
4
|
+
const propertyOrElementSpecification__stringified = stringifyAndFormatArbitraryValue({
|
|
5
|
+
...targetPropertyValueSpecification,
|
|
6
|
+
type: this.valueType(targetPropertyValueSpecification.type)
|
|
7
|
+
});
|
|
8
|
+
return `${title}` +
|
|
9
|
+
`\n\n● Свойство / элемент: '${targetPropertyDotSeparatedQualifiedName}'` +
|
|
10
|
+
`${insertSubstring(targetPropertyNewName, { modifier: (targetSubstring) => ` (новое имя: ${targetSubstring})` })}` +
|
|
11
|
+
`\n${specificMessagePart}` +
|
|
12
|
+
`\n\n● Спецификация свойства / элемента: \n${propertyOrElementSpecification__stringified}` +
|
|
13
|
+
`\n● Действительное значение: ${stringifyAndFormatArbitraryValue(targetPropertyValue)}` +
|
|
14
|
+
`${insertSubstring(targetPropertyStringifiedValueBeforeFirstPreValidationModification, {
|
|
15
|
+
modifier: (targetSubstring) => `\n● Значение свойства перед первой предвалидационной модификацией: ${targetSubstring}`
|
|
16
|
+
})}`;
|
|
17
|
+
},
|
|
18
|
+
buildErrorMessagesListItemHeading(messageNumber) { return `=== Ошибка №${messageNumber} ==========`; },
|
|
19
|
+
rawDataIsNullErrorMessage: "Первый параметр 'RawObjectDataProcessor.process' имеет значение null.",
|
|
20
|
+
buildRawDataIsNotObjectErrorMessage: (actualType) => `Первый параметр 'RawObjectDataProcessor.process' не является объектом (object) имеет и тип '${actualType}'.`,
|
|
21
|
+
buildValueTypeDoesNotMatchWithExpectedErrorMessageTextData({ targetPropertyValue, targetPropertyValueSpecification }) {
|
|
22
|
+
return {
|
|
23
|
+
title: "Несоответствие ожидаемого и реального типов значения",
|
|
24
|
+
specificMessagePart: `Ожидалось, что это значение будет иметь тип '${this.valueType(targetPropertyValueSpecification.type)}, ' ` +
|
|
25
|
+
`в то время как на самом деле оно имеет тип '${typeof targetPropertyValue}'.`
|
|
26
|
+
};
|
|
27
|
+
},
|
|
28
|
+
buildPreValidationModificationFailedErrorMessageTextData(thrownError) {
|
|
29
|
+
return {
|
|
30
|
+
title: "Предвалидационная модификация повлекла ошибку",
|
|
31
|
+
specificMessagePart: "Предвалидационная модификация повлекла за собой возникновение ошибки:\n" +
|
|
32
|
+
`${stringifyAndFormatArbitraryValue(thrownError)}\n` +
|
|
33
|
+
"Эта предвалидационная модификация будет проигнорирована."
|
|
34
|
+
};
|
|
35
|
+
},
|
|
36
|
+
requiredPropertyIsMissingErrorMessageTextData: {
|
|
37
|
+
title: "Отсутствие обязательного свойства",
|
|
38
|
+
specificMessagePart: "Данное свойство имеет значение 'undefined', хотя помечено как обязательное."
|
|
39
|
+
},
|
|
40
|
+
buildConditionallyRequiredPropertyIsMissingErrorMessageTextData(verbalRequirementCondition) {
|
|
41
|
+
return {
|
|
42
|
+
title: "Отсутствие условно обязательно свойства",
|
|
43
|
+
specificMessagePart: "Данное свойство имеет значение 'undefined', хотя условие:\n" +
|
|
44
|
+
`'${verbalRequirementCondition}'\n при котором оно обязательно, выполнено.`
|
|
45
|
+
};
|
|
46
|
+
},
|
|
47
|
+
nonNullableValueIsNullErrorMessageTextData: {
|
|
48
|
+
title: "Запрещённое null-значение",
|
|
49
|
+
specificMessagePart: "Это значение - null, хотя такой вариант не был разрешён спецификацией."
|
|
50
|
+
},
|
|
51
|
+
buildIndexedArrayElementsCountIsLessThanRequiredMinimumErrorMessageTextData({ minimalElementsCount, actualElementsCount }) {
|
|
52
|
+
return {
|
|
53
|
+
title: "Количество элементов нумерованного массива не достигает минимального ожидаемого значения",
|
|
54
|
+
specificMessagePart: `Это значение типа 'нумерованный массив' имеет ${actualElementsCount} элементов, ` +
|
|
55
|
+
`хотя ожидалось не менее ${minimalElementsCount}.`
|
|
56
|
+
};
|
|
57
|
+
},
|
|
58
|
+
buildIndexedArrayElementsCountIsMoreThanAllowedMaximumErrorMessageTextData({ maximalElementsCount, actualElementsCount }) {
|
|
59
|
+
return {
|
|
60
|
+
title: "Количество элементов нумерованного массива превышает максимальное ожидаемое значение",
|
|
61
|
+
specificMessagePart: `Это значение типа 'нумерованный массив' имеет ${actualElementsCount} элементов, ` +
|
|
62
|
+
`хотя ожидалось не более ${maximalElementsCount}.`
|
|
63
|
+
};
|
|
64
|
+
},
|
|
65
|
+
buildIndexedArrayElementsCountDoesNotMatchWithSpecifiedExactNumberErrorMessageTextData({ exactElementsCount, actualElementsCount }) {
|
|
66
|
+
return {
|
|
67
|
+
title: "Количество элементов нумерованного массива отлично от ожидаемого фиксированного значения",
|
|
68
|
+
specificMessagePart: `Это значение типа 'нумерованный массив' имеет ${actualElementsCount} элементов, ` +
|
|
69
|
+
`хотя ожидалось ровно ${exactElementsCount}.`
|
|
70
|
+
};
|
|
71
|
+
},
|
|
72
|
+
indexedArrayDisallowedUndefinedElementErrorMessageTextData: {
|
|
73
|
+
title: "Запрещённый пустой (undefined) элемент нумерованного массива",
|
|
74
|
+
specificMessagePart: "Это значение типа 'нумерованный массив' имеет пустой ('undefined') элемент, хотя" +
|
|
75
|
+
"хотя таковые не были разрешены спецификацией валидных данных."
|
|
76
|
+
},
|
|
77
|
+
indexedArrayDisallowedNullElementErrorMessageTextData: {
|
|
78
|
+
title: "Запрещённый пустой (null) элемент нумерованного массива",
|
|
79
|
+
specificMessagePart: "Это значение типа 'нумерованный массив' имеет пустой ('null') элемент, хотя" +
|
|
80
|
+
"хотя таковые не были разрешены спецификацией валидных данных."
|
|
81
|
+
},
|
|
82
|
+
buildAssociativeArrayEntriesCountIsLessThanRequiredMinimumErrorMessageTextData({ minimalEntriesCount, actualEntriesCount }) {
|
|
83
|
+
return {
|
|
84
|
+
title: "Количество вхождений ассоциативного массива не достигает минимального ожидаемого значения",
|
|
85
|
+
specificMessagePart: `Это значение типа 'ассоциативный массив' имеет ${actualEntriesCount} вхождений, ` +
|
|
86
|
+
`хотя ожидалось не менее ${minimalEntriesCount}.`
|
|
87
|
+
};
|
|
88
|
+
},
|
|
89
|
+
buildAssociativeArrayEntriesCountIsMoreThanAllowedMaximumErrorMessageTextData({ maximalEntriesCount, actualEntriesCount }) {
|
|
90
|
+
return {
|
|
91
|
+
title: "Количество вхождений ассоциативного массива превышает максимальное ожидаемое значение",
|
|
92
|
+
specificMessagePart: `Это значение типа 'ассоциативный массив' имеет ${actualEntriesCount} вхождений, ` +
|
|
93
|
+
`хотя ожидалось не более ${maximalEntriesCount}.`
|
|
94
|
+
};
|
|
95
|
+
},
|
|
96
|
+
buildAssociativeArrayEntriesCountDoesNotMatchWithSpecifiedExactNumberErrorMessageTextData({ exactEntriesCount, actualEntriesCount }) {
|
|
97
|
+
return {
|
|
98
|
+
title: "Количество вхождений ассоциативного массива отлично от ожидаемого фиксированного значения",
|
|
99
|
+
specificMessagePart: `Это значение типа 'ассоциативный массив' имеет ${actualEntriesCount} вхождений, ` +
|
|
100
|
+
`хотя ожидалось ровно ${exactEntriesCount}.`
|
|
101
|
+
};
|
|
102
|
+
},
|
|
103
|
+
buildRequiredKeysOfAssociativeArrayAreMissingErrorMessageTextData(missingRequiredKeys) {
|
|
104
|
+
return {
|
|
105
|
+
title: "Отсутствуют объявленные обязательными ключи ассоциативного массива",
|
|
106
|
+
specificMessagePart: "Следующие ключи этого ассоциативного массива отсутствуют несмотря на то, что помечены как " +
|
|
107
|
+
`обязательные:\n ${stringifyAndFormatArbitraryValue(missingRequiredKeys)}`
|
|
108
|
+
};
|
|
109
|
+
},
|
|
110
|
+
buildRequiredAlternativeKeysOfAssociativeArrayAreMissingErrorMessageTextData(requiredKeysAlternatives) {
|
|
111
|
+
return {
|
|
112
|
+
title: "Отсутствуют альтернативно обязательные ключи",
|
|
113
|
+
specificMessagePart: "Один из следующих ключей обязан присутствовать в этом ассоциативном массиве, хотя на самом " +
|
|
114
|
+
`деле ни одного из них нет.\n${stringifyAndFormatArbitraryValue(requiredKeysAlternatives)}`
|
|
115
|
+
};
|
|
116
|
+
},
|
|
117
|
+
buildDisallowedKeysFoundInAssociativeArrayErrorMessageTextData(foundDisallowedKeys) {
|
|
118
|
+
return {
|
|
119
|
+
title: "Запрещённые ключи ассоциативного массива",
|
|
120
|
+
specificMessagePart: "Нижеследующие ключи присутствуют в этом значении типа 'ассоциативный массив', хотя они были " +
|
|
121
|
+
`запрещены.\n${stringifyAndFormatArbitraryValue(foundDisallowedKeys)}`
|
|
122
|
+
};
|
|
123
|
+
},
|
|
124
|
+
associativeArrayDisallowedUndefinedValueErrorMessageTextData: {
|
|
125
|
+
title: "Неразрешённые значения ассоциативного массива типа 'undefined'",
|
|
126
|
+
specificMessagePart: "Это значение ассоциативного массива имеет тип 'undefined', хотя такие значение не были разрешены."
|
|
127
|
+
},
|
|
128
|
+
associativeArrayDisallowedNullValueErrorMessageTextData: {
|
|
129
|
+
title: "Неразрешённые значения ассоциативного массива типа 'null'",
|
|
130
|
+
specificMessagePart: "Это значение ассоциативного массива имеет тип 'null', хотя такие значение не были разрешены."
|
|
131
|
+
},
|
|
132
|
+
valueType(valueType) {
|
|
133
|
+
const targetValueTypeID = RawObjectDataProcessor.
|
|
134
|
+
getNormalizedValueTypeID(valueType);
|
|
135
|
+
switch (targetValueTypeID) {
|
|
136
|
+
case RawObjectDataProcessor.ValuesTypesIDs.number: return "Число";
|
|
137
|
+
case RawObjectDataProcessor.ValuesTypesIDs.string: return "Строка";
|
|
138
|
+
case RawObjectDataProcessor.ValuesTypesIDs.boolean: return "Булевский тип";
|
|
139
|
+
case RawObjectDataProcessor.ValuesTypesIDs.indexedArrayOfUniformElements: return "Индексный массив однородных элементов";
|
|
140
|
+
case RawObjectDataProcessor.ValuesTypesIDs.fixedKeyAndValuePairsObject: return "Объект с фиксированными ключами";
|
|
141
|
+
case RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues:
|
|
142
|
+
return "Ассоциативный массив однородных элементов";
|
|
143
|
+
case RawObjectDataProcessor.ValuesTypesIDs.oneOf: return "Позволено несколько типов";
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
numbersSet(numberSet) {
|
|
147
|
+
switch (numberSet) {
|
|
148
|
+
case RawObjectDataProcessor.NumbersSets.naturalNumber: return "Натуральные числа";
|
|
149
|
+
case RawObjectDataProcessor.NumbersSets.nonNegativeInteger: return "Неотрицательные целые числа";
|
|
150
|
+
case RawObjectDataProcessor.NumbersSets.negativeInteger: return "Отрицательный целый числа";
|
|
151
|
+
case RawObjectDataProcessor.NumbersSets.negativeIntegerOrZero: return "Отрицательное целое число или ноль";
|
|
152
|
+
case RawObjectDataProcessor.NumbersSets.anyInteger: return "Целое число любого знака";
|
|
153
|
+
case RawObjectDataProcessor.NumbersSets.positiveDecimalFraction: return "Положительная десятичная дробь";
|
|
154
|
+
case RawObjectDataProcessor.NumbersSets.negativeDecimalFraction: return "Отрицательная десятичная дробь";
|
|
155
|
+
case RawObjectDataProcessor.NumbersSets.decimalFractionOfAnySign: return "Десятичная дробь любого знака";
|
|
156
|
+
case RawObjectDataProcessor.NumbersSets.anyRealNumber: return "Любое действительное число";
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
buildNumberValueIsNotBelongToExpectedNumbersSetErrorMessageTextData(expectedNumberSet) {
|
|
160
|
+
return {
|
|
161
|
+
title: "Несоответствие реального подмножества чисел данных ожидаемому",
|
|
162
|
+
specificMessagePart: "Вопреки ожиданиям, данное значение не принадлежит множеству " +
|
|
163
|
+
`'${this.numbersSet(expectedNumberSet)}'.`
|
|
164
|
+
};
|
|
165
|
+
},
|
|
166
|
+
valueIsNotAmongAllowedAlternativesErrorMessageTextData: {
|
|
167
|
+
title: "Неразрешенный вариант значения",
|
|
168
|
+
specificMessagePart: "Это значение отсутствует среди допустимых вариантов."
|
|
169
|
+
},
|
|
170
|
+
buildNumericValueIsSmallerThanRequiredMinimumErrorMessageTextData(requiredMinimum) {
|
|
171
|
+
return {
|
|
172
|
+
title: "Нехватка до наименьшего разрешённого значения",
|
|
173
|
+
specificMessagePart: `Это числовое значение не достигает минимально разрешённого ${requiredMinimum}.`
|
|
174
|
+
};
|
|
175
|
+
},
|
|
176
|
+
buildNumericValueIsGreaterThanAllowedMaximumErrorMessageTextData(allowedMaximum) {
|
|
177
|
+
return {
|
|
178
|
+
title: "Превышение максимально разрешённого значения",
|
|
179
|
+
specificMessagePart: `Это числовое значение превышает максимально разрешённое ${allowedMaximum}.`
|
|
180
|
+
};
|
|
181
|
+
},
|
|
182
|
+
buildCharactersCountIsLessThanRequiredErrorMessageTextData({ minimalCharactersCount, realCharactersCount }) {
|
|
183
|
+
return {
|
|
184
|
+
title: "Нехватка количества символов",
|
|
185
|
+
specificMessagePart: `Это строчное значение имеет ${realCharactersCount} символов, в то время как требуется минимум ` +
|
|
186
|
+
`${minimalCharactersCount}.`
|
|
187
|
+
};
|
|
188
|
+
},
|
|
189
|
+
buildCharactersCountIsMoreThanAllowedErrorMessageTextData({ maximalCharactersCount, realCharactersCount }) {
|
|
190
|
+
return {
|
|
191
|
+
title: "Превышение максимального количества символов",
|
|
192
|
+
specificMessagePart: `Это строчное значение имеет ${realCharactersCount} символов, в то время как позволено ` +
|
|
193
|
+
`максимум ${maximalCharactersCount}.`
|
|
194
|
+
};
|
|
195
|
+
},
|
|
196
|
+
buildCharactersCountDoesNotMatchWithSpecifiedErrorMessageTextData({ fixedCharactersCount, realCharactersCount }) {
|
|
197
|
+
return {
|
|
198
|
+
title: "Несоответствие требуемому фиксированному числу символов",
|
|
199
|
+
specificMessagePart: `Эта строка имеет ${realCharactersCount} символов, в то время как требуется ровно ` +
|
|
200
|
+
`${fixedCharactersCount}.`
|
|
201
|
+
};
|
|
202
|
+
},
|
|
203
|
+
buildRegularExpressionMismatchErrorMessageTextData(regularExpression) {
|
|
204
|
+
return {
|
|
205
|
+
title: "Несоответствие регулярному выражению",
|
|
206
|
+
specificMessagePart: `Это значение не соответствует регулярному выражению \n ${regularExpression.toString()}`
|
|
207
|
+
};
|
|
208
|
+
},
|
|
209
|
+
buildDisallowedBooleanValueVariantErrorMessageTextData(disallowedVariant) {
|
|
210
|
+
return {
|
|
211
|
+
title: "Неразрешённый вариант булевского значения",
|
|
212
|
+
specificMessagePart: `Позволено только ${!disallowedVariant}, но не ${disallowedVariant}.`
|
|
213
|
+
};
|
|
214
|
+
},
|
|
215
|
+
buildIncompatibleValuesTypesAlternativesErrorDescription(targetValueSpecification) {
|
|
216
|
+
return "Значения типа 'ValuesTypesIDs.fixedKeyAndValuePairsObject' (алиас: 'Object')и" +
|
|
217
|
+
"'ValuesTypesIDs.associativeArrayOfUniformTypeValues'(алиас: Map)не могут быть указанны одновременно как варианты " +
|
|
218
|
+
"'ValuesTypesIDs.oneOf', потому как точки зрения ECMAScript оба имеют тип 'object'. Значение помечено как невалидное.\n" +
|
|
219
|
+
`${stringifyAndFormatArbitraryValue(targetValueSpecification)}`;
|
|
220
|
+
},
|
|
221
|
+
buildUnsupportedValueTypeErrorMessageTextData(propertyDataForMessagesBuilding) {
|
|
222
|
+
return {
|
|
223
|
+
title: "Неизвестное значение",
|
|
224
|
+
specificMessagePart: `Это значение типа ${typeof propertyDataForMessagesBuilding.targetPropertyValue} не может ` +
|
|
225
|
+
"быть получено путём преобразования из JSON в нативный ECMAScript объект, а RawObjectDataProcessor поддерживает " +
|
|
226
|
+
"только данные, совместимые с форматом JSON."
|
|
227
|
+
};
|
|
228
|
+
},
|
|
229
|
+
buildCustomValidationFailedErrorMessageTextData(customValidationDescription) {
|
|
230
|
+
return {
|
|
231
|
+
title: "Пользовательская валидация не пройдена",
|
|
232
|
+
specificMessagePart: `Это значение не прошло пользовательскую валидацию '${customValidationDescription}'.`
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
};
|
|
236
|
+
export default RawObjectDataProcessorLocalization__Russian;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @yamato-daiwa/es-extensions-localization-russian v0.0
|
|
3
|
+
* (c) 2021 Sole proprietorship "Yamato Daiwa" Takeshi Tokugawa
|
|
4
|
+
* Released under the MIT License.
|
|
5
|
+
*/
|
|
6
|
+
export { default as RawObjectDataProcessorLocalization__Russian } from "./RawObjectDataProcessorLocalization.russian";
|
|
7
|
+
export { default as LoggerLocalization__Russian } from "./LoggerLocalization__Russian";
|
|
8
|
+
export { default as AlgorithmMismatchErrorLocalization__Russian } from "./Errors/AlgorithmMismatchErrorLocalization.russian";
|
|
9
|
+
export { default as ClassRedundantSubsequentInitializationErrorLocalization__Russian } from "./Errors/ClassRedundantSubsequentInitializationErrorLocalization.russian";
|
|
10
|
+
export { default as ClassRequiredInitializationHasNotBeenExecutedErrorLocalization__Russian } from "./Errors/ClassRequiredInitializationHasNotBeenExecutedErrorLocalization.russian";
|
|
11
|
+
export { default as ConfigFileNotFoundErrorLocalization__Russian } from "./Errors/ConfigFileNotFoundErrorLocalization.russian";
|
|
12
|
+
export { default as CrossBrowserIssueErrorLocalization__Russian } from "./Errors/CrossBrowserIssueErrorLocalization.russian";
|
|
13
|
+
export { default as DataRetrievingFailedErrorLocalization__Russian } from "./Errors/DataRetrievingFailedErrorLocalization.russian";
|
|
14
|
+
export { default as DataSubmittingFailedErrorLocalization__Russian } from "./Errors/DataSubmittingFailedErrorLocalization.russian";
|
|
15
|
+
export { default as DOM_ElementRetrievingFailedErrorLocalization__Russian } from "./Errors/DOM_ElementRetrievingFailedErrorLocalization.russian";
|
|
16
|
+
export { default as FileReadingFailedErrorLocalization__Russian } from "./Errors/FileReadingFailedErrorLocalization.russian";
|
|
17
|
+
export { default as FileWritingFailedErrorLocalization__Russian } from "./Errors/FileWritingFailedErrorLocalization.russian";
|
|
18
|
+
export { default as ImproperUsageErrorLocalization__Russian } from "./Errors/ImproperUsageErrorLocalization.russian";
|
|
19
|
+
export { default as IncompatiblePropertiesInObjectTypeParameterErrorLocalization__Russian } from "./Errors/IncompatiblePropertiesInObjectTypeParameterLocalization.russian";
|
|
20
|
+
export { default as InterProcessInteractionFailedErrorLocalization__Russian } from "./Errors/InterProcessInteractionFailedErrorLocalization.russian";
|
|
21
|
+
export { default as InvalidConfigErrorLocalization__Russian } from "./Errors/InvalidConfigErrorLocalization.russian";
|
|
22
|
+
export { default as InvalidExternalDataErrorLocalization__Russian } from "./Errors/InvalidExternalDataErrorLocalization.russian";
|
|
23
|
+
export { default as InvalidParameterValueErrorLocalization__Russian } from "./Errors/InvalidParameterValueErrorLocalization.russian";
|
|
24
|
+
export { default as ModuleDynamicLoadingFailedErrorLocalization__Russian } from "./Errors/ModuleDynamicLoadingFailedErrorLocalization.russian";
|
|
25
|
+
export { default as UnexpectedEventErrorLocalization__Russian } from "./Errors/UnexpectedEventErrorLocalization.russian";
|
|
26
|
+
export { default as UnsupportedScenarioErrorLocalization__Russian } from "./Errors/UnsupportedScenarioErrorLocalization.russian";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @yamato-daiwa/es-extensions-localization-russian v0.0
|
|
3
|
+
* (c) 2021 Sole proprietorship "Yamato Daiwa" Takeshi Tokugawa
|
|
4
|
+
* Released under the MIT License.
|
|
5
|
+
*/
|
|
6
|
+
export { default as RawObjectDataProcessorLocalization__Russian } from "./RawObjectDataProcessorLocalization.russian";
|
|
7
|
+
export { default as LoggerLocalization__Russian } from "./LoggerLocalization__Russian";
|
|
8
|
+
export { default as AlgorithmMismatchErrorLocalization__Russian } from "./Errors/AlgorithmMismatchErrorLocalization.russian";
|
|
9
|
+
export { default as ClassRedundantSubsequentInitializationErrorLocalization__Russian } from "./Errors/ClassRedundantSubsequentInitializationErrorLocalization.russian";
|
|
10
|
+
export { default as ClassRequiredInitializationHasNotBeenExecutedErrorLocalization__Russian } from "./Errors/ClassRequiredInitializationHasNotBeenExecutedErrorLocalization.russian";
|
|
11
|
+
export { default as ConfigFileNotFoundErrorLocalization__Russian } from "./Errors/ConfigFileNotFoundErrorLocalization.russian";
|
|
12
|
+
export { default as CrossBrowserIssueErrorLocalization__Russian } from "./Errors/CrossBrowserIssueErrorLocalization.russian";
|
|
13
|
+
export { default as DataRetrievingFailedErrorLocalization__Russian } from "./Errors/DataRetrievingFailedErrorLocalization.russian";
|
|
14
|
+
export { default as DataSubmittingFailedErrorLocalization__Russian } from "./Errors/DataSubmittingFailedErrorLocalization.russian";
|
|
15
|
+
export { default as DOM_ElementRetrievingFailedErrorLocalization__Russian } from "./Errors/DOM_ElementRetrievingFailedErrorLocalization.russian";
|
|
16
|
+
export { default as FileReadingFailedErrorLocalization__Russian } from "./Errors/FileReadingFailedErrorLocalization.russian";
|
|
17
|
+
export { default as FileWritingFailedErrorLocalization__Russian } from "./Errors/FileWritingFailedErrorLocalization.russian";
|
|
18
|
+
export { default as ImproperUsageErrorLocalization__Russian } from "./Errors/ImproperUsageErrorLocalization.russian";
|
|
19
|
+
export { default as IncompatiblePropertiesInObjectTypeParameterErrorLocalization__Russian } from "./Errors/IncompatiblePropertiesInObjectTypeParameterLocalization.russian";
|
|
20
|
+
export { default as InterProcessInteractionFailedErrorLocalization__Russian } from "./Errors/InterProcessInteractionFailedErrorLocalization.russian";
|
|
21
|
+
export { default as InvalidConfigErrorLocalization__Russian } from "./Errors/InvalidConfigErrorLocalization.russian";
|
|
22
|
+
export { default as InvalidExternalDataErrorLocalization__Russian } from "./Errors/InvalidExternalDataErrorLocalization.russian";
|
|
23
|
+
export { default as InvalidParameterValueErrorLocalization__Russian } from "./Errors/InvalidParameterValueErrorLocalization.russian";
|
|
24
|
+
export { default as ModuleDynamicLoadingFailedErrorLocalization__Russian } from "./Errors/ModuleDynamicLoadingFailedErrorLocalization.russian";
|
|
25
|
+
export { default as UnexpectedEventErrorLocalization__Russian } from "./Errors/UnexpectedEventErrorLocalization.russian";
|
|
26
|
+
export { default as UnsupportedScenarioErrorLocalization__Russian } from "./Errors/UnsupportedScenarioErrorLocalization.russian";
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2021-present, Sole proprietorship "Yamato Daiwa" Takeshi Tokugawa
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Русификация `@yamato-daiwa/es-extensions`
|
|
2
|
+
|
|
3
|
+
## Установка
|
|
4
|
+
|
|
5
|
+
**@yamato-daiwa/es-extensions-localization-russian** является одноранговой зависимостью (peer dependency) по отношению к
|
|
6
|
+
**@yamato-daiwa/es-extensions**. Версии должны совпадать с точностью до минорной (число между двумя точками).
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
npm i @yamato-daiwa/es-extensions-localization-russian @yamato-daiwa/es-extensions -E
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Подход
|
|
13
|
+
|
|
14
|
+
Локализация хотя и не содержит "тяжёлых" вычислений, но даёт дополнительный код, что критично для скриптов,
|
|
15
|
+
который будет выполняться в браузерной среде. Поэтому локализовать всё (даже то, что не использовано) - не рекомендуемый
|
|
16
|
+
подход, когда речь идёт о подготовке скриптов к продакшену.
|
|
17
|
+
|
|
18
|
+
В связи в этим, на данный момент функциональности, полностью локализующей библиотеку не предлагается.
|
|
19
|
+
См. "доступная функциональность" ниже о том, как и что из библиотеки **@yamato-daiwa/es-extensions** можно локализовать.
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## Доступная функциональность
|
|
23
|
+
|
|
24
|
+
### Локализация класса RawObjectDataProcessor
|
|
25
|
+
|
|
26
|
+
Класс [RawObjectDataProcessor](https://github.com/TokugawaTakeshi/Yamato-Daiwa-ES-Extensions/blob/master/CoreLibrary/Package/Documentation/RawObjectDataProcessor/RawObjectDataProcessor.md#quick-example)
|
|
27
|
+
можно локализовать как на время одного выполнения [метода `process`](https://github.com/TokugawaTakeshi/Yamato-Daiwa-ES-Extensions/blob/master/CoreLibrary/Package/Documentation/RawObjectDataProcessor/RawObjectDataProcessor.md#process),
|
|
28
|
+
так и на всё время выполнения приложения. В любом случае понадобится объект локализации **RawObjectDataProcessorLocalization__Russian**.
|
|
29
|
+
|
|
30
|
+
Для локализации на время одного выполнения метода `process` необходимо передать **RawObjectDataProcessorLocalization__Russian**
|
|
31
|
+
через свойство **localization** третьего параметра:
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
import { RawObjectDataProcessor } from "@yamato-daiwa/es-extensions";
|
|
35
|
+
import { RawObjectDataProcessorLocalization__Russian } from "@yamato-daiwa/es-extensions-localization-russian";
|
|
36
|
+
|
|
37
|
+
type User = {
|
|
38
|
+
ID: string;
|
|
39
|
+
familyName: string;
|
|
40
|
+
givenName: string;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
const processingResult: RawObjectDataProcessor.ProcessingResult<User> = RawObjectDataProcessor.process(
|
|
45
|
+
rawData,
|
|
46
|
+
{
|
|
47
|
+
nameForLogging: "User",
|
|
48
|
+
subtype: RawObjectDataProcessor.ObjectSubtypes.fixedKeyAndValuePairsObject,
|
|
49
|
+
properties: { /* */ }
|
|
50
|
+
},
|
|
51
|
+
{ localization: RawObjectDataProcessorLocalization__Russian }
|
|
52
|
+
);
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
Для локализации на всё время выполнения приложения необходимо вызывать метод `setDefaultLocalization`:
|
|
57
|
+
|
|
58
|
+
```typescript
|
|
59
|
+
import { RawObjectDataProcessor } from "@yamato-daiwa/es-extensions";
|
|
60
|
+
import { RawObjectDataProcessorLocalization__Russian } from "@yamato-daiwa/es-extensions-localization-russian";
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
RawObjectDataProcessor.setDefaultLocalization(RawObjectDataProcessorLocalization__Russian);
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
### Локализация фасада Logger
|
|
68
|
+
|
|
69
|
+
Объект **LoggerLocalization__Russian** локализует только те строки, которые принадлежат непосредственно классу
|
|
70
|
+
[**Logger**](https://github.com/TokugawaTakeshi/Yamato-Daiwa-ES-Extensions/blob/master/CoreLibrary/Package/Documentation/Logging/Logger/Logger.md)
|
|
71
|
+
(а таких [немного](https://github.com/TokugawaTakeshi/Yamato-Daiwa-ES-Extensions/blob/master/CoreLibrary/Package/Source/Logging/LoggerLocalization__English.ts)),
|
|
72
|
+
однако сообщения об ошибках должны быть локализованы отдельно (см. **локализация классов ошибок** для примера с готовыми
|
|
73
|
+
классами ошибок этой той же библиотеки).
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
import { Logger } from "@yamato-daiwa/es-extensions";
|
|
77
|
+
import LoggerLocalization__Russian from "@yamato-daiwa/es-extensions-localization-russian";
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
Logger.setLocalization(LoggerLocalization__Russian);
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
### Локализация классов ошибок
|
|
85
|
+
|
|
86
|
+
Объект, содержащий данные локализации, имеет имя согласно схеме
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
[ имя класса ошибки ]Lozalization__Russian
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Например, для **AlgorithmMismatchError** это будет **AlgorithmMismatchErrorLocalization__Russian**.
|
|
93
|
+
Имена всех доступных классов ошибок можно посмотреть в
|
|
94
|
+
[официальной документации](https://github.com/TokugawaTakeshi/Yamato-Daiwa-ES-Extensions/blob/master/CoreLibrary/Package/README.md#logging).
|
|
95
|
+
|
|
96
|
+
Импортированный объект локализации следует присвоить открытому статическому полю соответствующего класса ошибки.
|
|
97
|
+
Например, для **AlgorithmMismatchError** это будет:
|
|
98
|
+
|
|
99
|
+
```typescript
|
|
100
|
+
import { AlgorithmMismatchError } from "@yamato-daiwa/es-extensions";
|
|
101
|
+
import { AlgorithmMismatchErrorLocalization__Russian } from "@yamato-daiwa/es-extensions-localization-russian";
|
|
102
|
+
|
|
103
|
+
AlgorithmMismatchError.localization = AlgorithmMismatchErrorLocalization__Russian;
|
|
104
|
+
```
|