Feat: Configure structured data output for agent forms #10866 (#10867)

### What problem does this PR solve?

Feat: Configure structured data output for agent forms #10866

### Type of change


- [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
balibabu
2025-10-29 12:19:24 +08:00
committed by GitHub
parent 415de50419
commit 4e69100ca7
51 changed files with 7343 additions and 317 deletions

View File

@ -0,0 +1,154 @@
import type { Translation } from '../translation-keys.ts';
export const de: Translation = {
collapse: 'Einklappen',
expand: 'Ausklappen',
fieldDescriptionPlaceholder: 'Zweck dieses Felds beschreiben',
fieldDelete: 'Feld löschen',
fieldDescription: 'Beschreibung',
fieldDescriptionTooltip: 'Kontext zur Bedeutung dieses Felds hinzufügen',
fieldNameLabel: 'Feldname',
fieldNamePlaceholder: 'z.B. firstName, age, isActive',
fieldNameTooltip:
'CamelCase für bessere Lesbarkeit verwenden (z.B. firstName)',
fieldRequiredLabel: 'Pflichtfeld',
fieldType: 'Feldart',
fieldTypeExample: 'Beispiel:',
fieldTypeTooltipString: 'string: Text',
fieldTypeTooltipNumber: 'number: Zahl',
fieldTypeTooltipBoolean: 'boolean: Wahr/Falsch',
fieldTypeTooltipObject: 'object: Verschachteltes JSON',
fieldTypeTooltipArray: 'array: Liste von Werten',
fieldAddNewButton: 'Feld hinzufügen',
fieldAddNewBadge: 'Schema-Builder',
fieldAddNewCancel: 'Abbrechen',
fieldAddNewConfirm: 'Feld hinzufügen',
fieldAddNewDescription: 'Neues Feld für das JSON-Schema erstellen',
fieldAddNewLabel: 'Neues Feld hinzufügen',
fieldTypeTextLabel: 'Text',
fieldTypeTextDescription: 'Für Textwerte wie Namen, Beschreibungen usw.',
fieldTypeNumberLabel: 'Zahl',
fieldTypeNumberDescription: 'Für Dezimal- oder Ganzzahlen',
fieldTypeBooleanLabel: 'Ja/Nein',
fieldTypeBooleanDescription: 'Für Wahr/Falsch-Werte',
fieldTypeObjectLabel: 'Gruppe',
fieldTypeObjectDescription: 'Zum Gruppieren verwandter Felder',
fieldTypeArrayLabel: 'Liste',
fieldTypeArrayDescription: 'Für Sammlungen von Elementen',
propertyDescriptionPlaceholder: 'Beschreibung hinzufügen...',
propertyDescriptionButton: 'Beschreibung hinzufügen...',
propertyRequired: 'Erforderlich',
propertyOptional: 'Optional',
propertyDelete: 'Feld löschen',
schemaEditorTitle: 'JSON-Schema-Editor',
schemaEditorToggleFullscreen: 'Vollbild umschalten',
schemaEditorEditModeVisual: 'Visuell',
schemaEditorEditModeJson: 'JSON',
arrayMinimumLabel: 'Mindestanzahl an Elementen',
arrayMinimumPlaceholder: 'Kein Minimum',
arrayMaximumLabel: 'Maximale Anzahl an Elemente',
arrayMaximumPlaceholder: 'Kein Maximum',
arrayForceUniqueItemsLabel: 'Nur eindeutige Elemente erlauben',
arrayItemTypeLabel: 'Elementtyp',
arrayValidationErrorMinMax:
"'minItems' darf nicht größer als 'maxItems' sein.",
arrayValidationErrorContainsMinMax:
"'minContains' darf nicht größer als 'maxContains' sein.",
booleanAllowFalseLabel: 'Falsch-Werte erlauben',
booleanAllowTrueLabel: 'Wahr-Werte erlauben',
booleanNeitherWarning:
'Achtung: Mindestens einer von beiden Werten muss erlaubt sein.',
numberMinimumLabel: 'Minimalwert',
numberMinimumPlaceholder: 'Kein Minimum',
numberMaximumLabel: 'Maximalwert',
numberMaximumPlaceholder: 'Kein Maximum',
numberExclusiveMinimumLabel: 'Exklusives Minimum',
numberExclusiveMinimumPlaceholder: 'Kein exklusives Minimum',
numberExclusiveMaximumLabel: 'Exklusives Maximum',
numberExclusiveMaximumPlaceholder: 'Kein exklusives Maximum',
numberMultipleOfLabel: 'Vielfaches von',
numberMultipleOfPlaceholder: 'Beliebig',
numberAllowedValuesEnumLabel: 'Erlaubte Werte (Enum)',
numberAllowedValuesEnumNone: 'Keine Einschränkung für Werte festgelegt',
numberAllowedValuesEnumAddLabel: 'Hinzufügen',
numberAllowedValuesEnumAddPlaceholder: 'Erlaubten Wert hinzufügen...',
numberValidationErrorMinMax: 'Minimum und Maximum müssen konsistent sein.',
numberValidationErrorBothExclusiveAndInclusiveMin:
"Sowohl 'exclusiveMinimum' als auch 'minimum' dürfen nicht gleichzeitig festgelegt werden.",
numberValidationErrorBothExclusiveAndInclusiveMax:
"Sowohl 'exclusiveMaximum' als auch 'maximum' dürfen nicht gleichzeitig festgelegt werden.",
numberValidationErrorEnumOutOfRange:
'Enum-Werte müssen innerhalb des definierten Bereichs liegen.',
objectPropertiesNone: 'Keine Eigenschaften definiert',
objectValidationErrorMinMax:
"'minProperties' darf nicht größer als 'maxProperties' sein.",
stringMinimumLengthLabel: 'Minimale Länge',
stringMinimumLengthPlaceholder: 'Kein Minimum',
stringMaximumLengthLabel: 'Maximale Länge',
stringMaximumLengthPlaceholder: 'Kein Maximum',
stringPatternLabel: 'Muster (Regex)',
stringPatternPlaceholder: '^[a-zA-Z]+$',
stringFormatLabel: 'Format',
stringFormatNone: 'Keins',
stringFormatDateTime: 'Datum und Uhrzeit',
stringFormatDate: 'Datum',
stringFormatTime: 'Uhrzeit',
stringFormatEmail: 'E-Mail',
stringFormatUri: 'URI',
stringFormatUuid: 'UUID',
stringFormatHostname: 'Hostname',
stringFormatIpv4: 'IPv4-Adresse',
stringFormatIpv6: 'IPv6-Adresse',
stringAllowedValuesEnumLabel: 'Erlaubte Werte (Enum)',
stringAllowedValuesEnumNone: 'Keine Einschränkung für Werte festgelegt',
stringAllowedValuesEnumAddPlaceholder: 'Erlaubten Wert hinzufügen...',
stringValidationErrorLengthRange:
"'Minimale Länge' darf nicht größer als 'Maximale Länge' sein.",
schemaTypeArray: 'Liste',
schemaTypeBoolean: 'Ja/Nein',
schemaTypeNumber: 'Zahl',
schemaTypeObject: 'Objekt',
schemaTypeString: 'Text',
schemaTypeNull: 'Leer',
inferrerTitle: 'JSON-Schema ableiten',
inferrerDescription:
'JSON-Dokument unten einfügen, um ein Schema daraus zu erstellen.',
inferrerCancel: 'Abbrechen',
inferrerGenerate: 'Schema erstellen',
inferrerErrorInvalidJson: 'Ungültiges JSON-Format. Bitte Eingabe prüfen.',
validatorTitle: 'JSON validieren',
validatorDescription:
'JSON-Dokument einfügen, um es gegen das aktuelle Schema zu prüfen. Die Validierung erfolgt automatisch beim Tippen.',
validatorCurrentSchema: 'Aktuelles Schema:',
validatorContent: 'Zu prüfendes JSON:',
validatorValid: 'JSON ist gültig zum Schema!',
validatorErrorInvalidSyntax: 'Ungültige JSON-Syntax',
validatorErrorSchemaValidation: 'Schema-Validierungsfehler',
validatorErrorCount: '{count} Validierungsfehler gefunden',
validatorErrorPathRoot: 'Wurzel',
validatorErrorLocationLineAndColumn: 'Zeile {line}, Spalte {column}',
validatorErrorLocationLineOnly: 'Zeile {line}',
visualizerDownloadTitle: 'Schema herunterladen',
visualizerDownloadFileName: 'schema.json',
visualizerSource: 'JSON-Schema-Quelle',
visualEditorNoFieldsHint1: 'Noch keine Felder definiert',
visualEditorNoFieldsHint2: 'Erstes Feld hinzufügen, um zu starten',
typeValidationErrorNegativeLength: 'Längenwerte dürfen nicht negativ sein.',
typeValidationErrorIntValue: 'Der Wert muss eine ganze Zahl sein.',
typeValidationErrorPositive: 'Der Wert muss positiv sein.',
};

View File

@ -0,0 +1,151 @@
import type { Translation } from '../translation-keys.ts';
export const en: Translation = {
collapse: 'Collapse',
expand: 'Expand',
fieldDescriptionPlaceholder: 'Describe the purpose of this field',
fieldDelete: 'Delete field',
fieldDescription: 'Description',
fieldDescriptionTooltip: 'Add context about what this field represents',
fieldNameLabel: 'Field Name',
fieldNamePlaceholder: 'e.g. firstName, age, isActive',
fieldNameTooltip: 'Use camelCase for better readability (e.g., firstName)',
fieldRequiredLabel: 'Required Field',
fieldType: 'Field Type',
fieldTypeExample: 'Example:',
fieldTypeTooltipString: 'string: Text',
fieldTypeTooltipNumber: 'number: Numeric',
fieldTypeTooltipBoolean: 'boolean: True/false',
fieldTypeTooltipObject: 'object: Nested JSON',
fieldTypeTooltipArray: 'array: Lists of values',
fieldAddNewButton: 'Add Field',
fieldAddNewBadge: 'Schema Builder',
fieldAddNewCancel: 'Cancel',
fieldAddNewConfirm: 'Add Field',
fieldAddNewDescription: 'Create a new field for your JSON schema',
fieldAddNewLabel: 'Add New Field',
fieldTypeTextLabel: 'Text',
fieldTypeTextDescription: 'For text values like names, descriptions, etc.',
fieldTypeNumberLabel: 'Number',
fieldTypeNumberDescription: 'For decimal or whole numbers',
fieldTypeBooleanLabel: 'Yes/No',
fieldTypeBooleanDescription: 'For true/false values',
fieldTypeObjectLabel: 'Group',
fieldTypeObjectDescription: 'For grouping related fields together',
fieldTypeArrayLabel: 'List',
fieldTypeArrayDescription: 'For collections of items',
propertyDescriptionPlaceholder: 'Add description...',
propertyDescriptionButton: 'Add description...',
propertyRequired: 'Required',
propertyOptional: 'Optional',
propertyDelete: 'Delete field',
schemaEditorTitle: 'JSON Schema Editor',
schemaEditorToggleFullscreen: 'Toggle fullscreen',
schemaEditorEditModeVisual: 'Visual',
schemaEditorEditModeJson: 'JSON',
arrayMinimumLabel: 'Minimum Items',
arrayMinimumPlaceholder: 'No minimum',
arrayMaximumLabel: 'Maximum Items',
arrayMaximumPlaceholder: 'No maximum',
arrayForceUniqueItemsLabel: 'Force unique items',
arrayItemTypeLabel: 'Item Type',
arrayValidationErrorMinMax: "'minItems' cannot be greater than 'maxItems'.",
arrayValidationErrorContainsMinMax:
"'minContains' cannot be greater than 'maxContains'.",
booleanAllowFalseLabel: 'Allow false value',
booleanAllowTrueLabel: 'Allow true value',
booleanNeitherWarning: 'Warning: You must allow at least one value.',
numberMinimumLabel: 'Minimum Value',
numberMinimumPlaceholder: 'No minimum',
numberMaximumLabel: 'Maximum Value',
numberMaximumPlaceholder: 'No maximum',
numberExclusiveMinimumLabel: 'Exclusive Minimum',
numberExclusiveMinimumPlaceholder: 'No exclusive min',
numberExclusiveMaximumLabel: 'Exclusive Maximum',
numberExclusiveMaximumPlaceholder: 'No exclusive max',
numberMultipleOfLabel: 'Multiple Of',
numberMultipleOfPlaceholder: 'Any',
numberAllowedValuesEnumLabel: 'Allowed Values (enum)',
numberAllowedValuesEnumNone: 'No restricted values set',
numberAllowedValuesEnumAddLabel: 'Add',
numberAllowedValuesEnumAddPlaceholder: 'Add allowed value...',
numberValidationErrorMinMax: 'Minimum and maximum values must be consistent.',
numberValidationErrorBothExclusiveAndInclusiveMin:
"Both 'exclusiveMinimum' and 'minimum' cannot be set at the same time.",
numberValidationErrorBothExclusiveAndInclusiveMax:
"Both 'exclusiveMaximum' and 'maximum' cannot be set at the same time.",
numberValidationErrorEnumOutOfRange:
'Enum values must be within the defined range.',
objectPropertiesNone: 'No properties defined',
objectValidationErrorMinMax:
"'minProperties' cannot be greater than 'maxProperties'.",
stringMinimumLengthLabel: 'Minimum Length',
stringMinimumLengthPlaceholder: 'No minimum',
stringMaximumLengthLabel: 'Maximum Length',
stringMaximumLengthPlaceholder: 'No maximum',
stringPatternLabel: 'Pattern (regex)',
stringPatternPlaceholder: '^[a-zA-Z]+$',
stringFormatLabel: 'Format',
stringFormatNone: 'None',
stringFormatDateTime: 'Date-Time',
stringFormatDate: 'Date',
stringFormatTime: 'Time',
stringFormatEmail: 'Email',
stringFormatUri: 'URI',
stringFormatUuid: 'UUID',
stringFormatHostname: 'Hostname',
stringFormatIpv4: 'IPv4 Address',
stringFormatIpv6: 'IPv6 Address',
stringAllowedValuesEnumLabel: 'Allowed Values (enum)',
stringAllowedValuesEnumNone: 'No restricted values set',
stringAllowedValuesEnumAddPlaceholder: 'Add allowed value...',
stringValidationErrorLengthRange:
"'Minimum Length' cannot be greater than 'Maximum Length'.",
schemaTypeArray: 'List',
schemaTypeBoolean: 'Yes/No',
schemaTypeNumber: 'Number',
schemaTypeObject: 'Object',
schemaTypeString: 'Text',
schemaTypeNull: 'Empty',
inferrerTitle: 'Infer JSON Schema',
inferrerDescription:
'Paste your JSON document below to generate a schema from it.',
inferrerCancel: 'Cancel',
inferrerGenerate: 'Generate Schema',
inferrerErrorInvalidJson: 'Invalid JSON format. Please check your input.',
validatorTitle: 'Validate JSON',
validatorDescription:
'Paste your JSON document to validate against the current schema. Validation occurs automatically as you type.',
validatorCurrentSchema: 'Current Schema:',
validatorContent: 'Your JSON:',
validatorValid: 'JSON is valid according to the schema!',
validatorErrorInvalidSyntax: 'Invalid JSON syntax',
validatorErrorSchemaValidation: 'Schema validation error',
validatorErrorCount: '{count} validation errors detected',
validatorErrorPathRoot: 'Root',
validatorErrorLocationLineAndColumn: 'Line {line}, Col {column}',
validatorErrorLocationLineOnly: 'Line {line}',
visualizerDownloadTitle: 'Download Schema',
visualizerDownloadFileName: 'schema.json',
visualizerSource: 'JSON Schema Source',
visualEditorNoFieldsHint1: 'No fields defined yet',
visualEditorNoFieldsHint2: 'Add your first field to get started',
typeValidationErrorNegativeLength: 'Length values cannot be negative.',
typeValidationErrorIntValue: 'Value must be an integer.',
typeValidationErrorPositive: 'Value must be positive.',
};

View File

@ -0,0 +1,157 @@
import type { Translation } from '../translation-keys.ts';
export const fr: Translation = {
collapse: 'Réduire',
expand: 'Étendre',
fieldDescriptionPlaceholder: 'Décrivez le but de ce champ',
fieldDelete: 'Supprimer le champ',
fieldDescription: 'Description',
fieldDescriptionTooltip: 'Ajoutez du contexte sur ce que ce champ représente',
fieldNameLabel: 'Nom du champ',
fieldNamePlaceholder: 'ex. prenom, age, estActif',
fieldNameTooltip:
'Utilisez camelCase pour une meilleure lisibilité (ex. prenom)',
fieldRequiredLabel: 'Champ obligatoire',
fieldType: 'Type de champ',
fieldTypeExample: 'Exemple:',
fieldTypeTooltipString: 'chaîne: Texte',
fieldTypeTooltipNumber: 'nombre: Numérique',
fieldTypeTooltipBoolean: 'booléen: Vrai/faux',
fieldTypeTooltipObject: 'objet: JSON imbriqué',
fieldTypeTooltipArray: 'tableau: Listes de valeurs',
fieldAddNewButton: 'Ajouter un champ',
fieldAddNewBadge: 'Constructeur de schéma',
fieldAddNewCancel: 'Annuler',
fieldAddNewConfirm: 'Ajouter un champ',
fieldAddNewDescription: 'Créez un nouveau champ pour votre schéma JSON',
fieldAddNewLabel: 'Ajouter un nouveau champ',
fieldTypeTextLabel: 'Texte',
fieldTypeTextDescription:
'Pour les valeurs textuelles comme les noms, descriptions, etc.',
fieldTypeNumberLabel: 'Nombre',
fieldTypeNumberDescription: 'Pour les nombres décimaux ou entiers',
fieldTypeBooleanLabel: 'Oui/Non',
fieldTypeBooleanDescription: 'Pour les valeurs vrai/faux',
fieldTypeObjectLabel: 'Groupe',
fieldTypeObjectDescription: 'Pour regrouper des champs connexes',
fieldTypeArrayLabel: 'Liste',
fieldTypeArrayDescription: "Pour les collections d'éléments",
propertyDescriptionPlaceholder: 'Ajouter une description...',
propertyDescriptionButton: 'Ajouter une description...',
propertyRequired: 'Obligatoire',
propertyOptional: 'Facultatif',
propertyDelete: 'Supprimer le champ',
schemaEditorTitle: 'Éditeur de schéma JSON',
schemaEditorToggleFullscreen: 'Basculer en plein écran',
schemaEditorEditModeVisual: 'Visuel',
schemaEditorEditModeJson: 'JSON',
arrayMinimumLabel: 'Éléments minimum',
arrayMinimumPlaceholder: 'Pas de minimum',
arrayMaximumLabel: 'Éléments maximum',
arrayMaximumPlaceholder: 'Pas de maximum',
arrayForceUniqueItemsLabel: 'Forcer les éléments uniques',
arrayItemTypeLabel: "Type d'élément",
arrayValidationErrorMinMax:
"'minItems' ne peut pas être supérieur à 'maxItems'.",
arrayValidationErrorContainsMinMax:
"'minContains' ne peut pas être supérieur à 'maxContains'.",
booleanAllowFalseLabel: 'Autoriser la valeur faux',
booleanAllowTrueLabel: 'Autoriser la valeur vrai',
booleanNeitherWarning:
'Avertissement: Vous devez autoriser au moins une valeur.',
numberMinimumLabel: 'Valeur minimale',
numberMinimumPlaceholder: 'Pas de minimum',
numberMaximumLabel: 'Valeur maximale',
numberMaximumPlaceholder: 'Pas de maximum',
numberExclusiveMinimumLabel: 'Minimum exclusif',
numberExclusiveMinimumPlaceholder: 'Pas de min exclusif',
numberExclusiveMaximumLabel: 'Maximum exclusif',
numberExclusiveMaximumPlaceholder: 'Pas de max exclusif',
numberMultipleOfLabel: 'Multiple de',
numberMultipleOfPlaceholder: 'Quelconque',
numberAllowedValuesEnumLabel: 'Valeurs autorisées (enum)',
numberAllowedValuesEnumNone: 'Aucune valeur restreinte définie',
numberAllowedValuesEnumAddLabel: 'Ajouter',
numberAllowedValuesEnumAddPlaceholder: 'Ajouter une valeur autorisée...',
numberValidationErrorMinMax: 'Minimum et maximum doivent être cohérents.',
numberValidationErrorBothExclusiveAndInclusiveMin:
"Les champs 'exclusiveMinimum' et 'minimum' ne peuvent pas être définis en même temps.",
numberValidationErrorBothExclusiveAndInclusiveMax:
"Les champs 'exclusiveMaximum' et 'maximum' ne peuvent pas être définis en même temps.",
numberValidationErrorEnumOutOfRange:
"Les valeurs d'énumération doivent être dans la plage définie.",
objectPropertiesNone: 'Aucune propriété définie',
objectValidationErrorMinMax:
"'minProperties' ne peut pas être supérieur à 'maxProperties'.",
stringMinimumLengthLabel: 'Longueur minimale',
stringMinimumLengthPlaceholder: 'Pas de minimum',
stringMaximumLengthLabel: 'Longueur maximale',
stringMaximumLengthPlaceholder: 'Pas de maximum',
stringPatternLabel: 'Motif (regex)',
stringPatternPlaceholder: '^[a-zA-Z]+$',
stringFormatLabel: 'Format',
stringFormatNone: 'Aucun',
stringFormatDateTime: 'Date-Heure',
stringFormatDate: 'Date',
stringFormatTime: 'Heure',
stringFormatEmail: 'Email',
stringFormatUri: 'URI',
stringFormatUuid: 'UUID',
stringFormatHostname: "Nom d'hôte",
stringFormatIpv4: 'Adresse IPv4',
stringFormatIpv6: 'Adresse IPv6',
stringAllowedValuesEnumLabel: 'Valeurs autorisées (enum)',
stringAllowedValuesEnumNone: 'Aucune valeur restreinte définie',
stringAllowedValuesEnumAddPlaceholder: 'Ajouter une valeur autorisée...',
stringValidationErrorLengthRange:
"'Longueur minimale' ne peut pas être supérieure à 'Longueur maximale'.",
schemaTypeArray: 'Liste',
schemaTypeBoolean: 'Oui/Non',
schemaTypeNumber: 'Nombre',
schemaTypeObject: 'Objet',
schemaTypeString: 'Texte',
schemaTypeNull: 'Vide',
inferrerTitle: 'Déduire le schéma JSON',
inferrerDescription:
'Collez votre document JSON ci-dessous pour en générer un schéma.',
inferrerCancel: 'Annuler',
inferrerGenerate: 'Générer le schéma',
inferrerErrorInvalidJson:
'Format JSON invalide. Veuillez vérifier votre saisie.',
validatorTitle: 'Valider le JSON',
validatorDescription:
'Collez votre document JSON pour le valider par rapport au schéma actuel. La validation se produit automatiquement pendant que vous tapez.',
validatorCurrentSchema: 'Schéma actuel:',
validatorContent: 'Votre JSON:',
validatorValid: 'Le JSON est valide selon le schéma!',
validatorErrorInvalidSyntax: 'Syntaxe JSON invalide',
validatorErrorSchemaValidation: 'Erreur de validation du schéma',
validatorErrorCount: '{count} erreurs de validation détectées',
validatorErrorPathRoot: 'Élément racine',
validatorErrorLocationLineAndColumn: 'Ligne {line}, Col {column}',
validatorErrorLocationLineOnly: 'Ligne {line}',
visualizerDownloadTitle: 'Télécharger le schéma',
visualizerDownloadFileName: 'schema.json',
visualizerSource: 'Source du schéma JSON',
visualEditorNoFieldsHint1: 'Aucun champ défini pour le moment',
visualEditorNoFieldsHint2: 'Ajoutez votre premier champ pour commencer',
typeValidationErrorNegativeLength:
'Les valeurs de longueur ne peuvent pas être négatives.',
typeValidationErrorIntValue: 'La valeur doit être un nombre entier.',
typeValidationErrorPositive: 'La valeur doit être positive.',
};

View File

@ -0,0 +1,156 @@
import type { Translation } from '../translation-keys.ts';
export const ru: Translation = {
collapse: 'Свернуть',
expand: 'Развернуть',
fieldDescriptionPlaceholder: 'Опишите назначение этого поля',
fieldDelete: 'Удалить поле',
fieldDescription: 'Описание',
fieldDescriptionTooltip: 'Добавьте контекст о том, что представляет это поле',
fieldNameLabel: 'Имя поля',
fieldNamePlaceholder: 'например, имя, возраст, активен',
fieldNameTooltip:
'Используйте camelCase для лучшей читаемости (например, firstName)',
fieldRequiredLabel: 'Обязательное поле',
fieldType: 'Тип поля',
fieldTypeExample: 'Пример:',
fieldTypeTooltipString: 'строка: Текст',
fieldTypeTooltipNumber: 'число: Числовое значение',
fieldTypeTooltipBoolean: 'логическое: Истина/ложь',
fieldTypeTooltipObject: 'объект: Вложенный JSON',
fieldTypeTooltipArray: 'массив: Списки значений',
fieldAddNewButton: 'Добавить поле',
fieldAddNewBadge: 'Конструктор схем',
fieldAddNewCancel: 'Отмена',
fieldAddNewConfirm: 'Добавить поле',
fieldAddNewDescription: 'Создайте новое поле для вашей схемы JSON',
fieldAddNewLabel: 'Добавить новое поле',
fieldTypeTextLabel: 'Текст',
fieldTypeTextDescription:
'Для текстовых значений, таких как имена, описания и т.д.',
fieldTypeNumberLabel: 'Число',
fieldTypeNumberDescription: 'Для десятичных или целых чисел',
fieldTypeBooleanLabel: 'Да/Нет',
fieldTypeBooleanDescription: 'Для значений истина/ложь',
fieldTypeObjectLabel: 'Группа',
fieldTypeObjectDescription: 'Для группировки связанных полей вместе',
fieldTypeArrayLabel: 'Список',
fieldTypeArrayDescription: 'Для коллекций элементов',
propertyDescriptionPlaceholder: 'Добавить описание...',
propertyDescriptionButton: 'Добавить описание...',
propertyRequired: 'Обязательное',
propertyOptional: 'Необязательное',
propertyDelete: 'Удалить поле',
schemaEditorTitle: 'Редактор JSON схем',
schemaEditorToggleFullscreen: 'Переключить полноэкранный режим',
schemaEditorEditModeVisual: 'Визуальный',
schemaEditorEditModeJson: 'JSON',
arrayMinimumLabel: 'Минимум элементов',
arrayMinimumPlaceholder: 'Нет минимума',
arrayMaximumLabel: 'Максимум элементов',
arrayMaximumPlaceholder: 'Нет максимума',
arrayForceUniqueItemsLabel: 'Требовать уникальные элементы',
arrayItemTypeLabel: 'Тип элемента',
arrayValidationErrorMinMax: "'minItems' не может быть больше 'maxItems'.",
arrayValidationErrorContainsMinMax:
"'minContains' не может быть больше 'maxContains'.",
booleanAllowFalseLabel: 'Разрешить значение ложь',
booleanAllowTrueLabel: 'Разрешить значение истина',
booleanNeitherWarning: 'Внимание: Вы должны разрешить хотя бы одно значение.',
numberMinimumLabel: 'Минимальное значение',
numberMinimumPlaceholder: 'Нет минимума',
numberMaximumLabel: 'Максимальное значение',
numberMaximumPlaceholder: 'Нет максимума',
numberExclusiveMinimumLabel: 'Исключающее минимальное',
numberExclusiveMinimumPlaceholder: 'Нет исключающего минимума',
numberExclusiveMaximumLabel: 'Исключающее максимальное',
numberExclusiveMaximumPlaceholder: 'Нет исключающего максимума',
numberMultipleOfLabel: 'Кратно',
numberMultipleOfPlaceholder: 'Любое',
numberAllowedValuesEnumLabel: 'Разрешенные значения (enum)',
numberAllowedValuesEnumNone: 'Нет ограниченных значений',
numberAllowedValuesEnumAddLabel: 'Добавить',
numberAllowedValuesEnumAddPlaceholder: 'Добавить разрешенное значение...',
numberValidationErrorMinMax:
'Минимальное и максимальное значения должны быть согласованы.',
numberValidationErrorBothExclusiveAndInclusiveMin:
"Оба поля 'exclusiveMinimum' и 'minimum' не могут быть установлены одновременно.",
numberValidationErrorBothExclusiveAndInclusiveMax:
"Оба поля 'exclusiveMaximum' и 'maximum' не могут быть установлены одновременно.",
numberValidationErrorEnumOutOfRange:
'Значения перечисления должны быть в пределах определенного диапазона.',
objectPropertiesNone: 'Нет определенных свойств',
objectValidationErrorMinMax:
"'minProperties' не может быть больше 'maxProperties'.",
stringMinimumLengthLabel: 'Минимальная длина',
stringMinimumLengthPlaceholder: 'Нет минимума',
stringMaximumLengthLabel: 'Максимальная длина',
stringMaximumLengthPlaceholder: 'Нет максимума',
stringPatternLabel: 'Шаблон (regex)',
stringPatternPlaceholder: '^[a-zA-Z]+$',
stringFormatLabel: 'Формат',
stringFormatNone: 'Нет',
stringFormatDateTime: 'Дата-Время',
stringFormatDate: 'Дата',
stringFormatTime: 'Время',
stringFormatEmail: 'Email',
stringFormatUri: 'URI',
stringFormatUuid: 'UUID',
stringFormatHostname: 'Имя хоста',
stringFormatIpv4: 'Адрес IPv4',
stringFormatIpv6: 'Адрес IPv6',
stringAllowedValuesEnumLabel: 'Разрешенные значения (enum)',
stringAllowedValuesEnumNone: 'Нет ограниченных значений',
stringAllowedValuesEnumAddPlaceholder: 'Добавить разрешенное значение...',
stringValidationErrorLengthRange:
"'Минимальная длина' не может быть больше 'Максимальной длины'.",
schemaTypeArray: 'Список',
schemaTypeBoolean: 'Да/Нет',
schemaTypeNumber: 'Число',
schemaTypeObject: 'Объект',
schemaTypeString: 'Текст',
schemaTypeNull: 'Пусто',
inferrerTitle: 'Вывести схему JSON',
inferrerDescription:
'Вставьте ваш документ JSON ниже, чтобы сгенерировать из него схему.',
inferrerCancel: 'Отмена',
inferrerGenerate: 'Сгенерировать схему',
inferrerErrorInvalidJson:
'Неверный формат JSON. Пожалуйста, проверьте ваши данные.',
validatorTitle: 'Проверить JSON',
validatorDescription:
'Вставьте ваш документ JSON для проверки по текущей схеме. Проверка происходит автоматически по мере ввода.',
validatorCurrentSchema: 'Текущая схема:',
validatorContent: 'Ваш JSON:',
validatorValid: 'JSON действителен в соответствии со схемой!',
validatorErrorInvalidSyntax: 'Неверный синтаксис JSON',
validatorErrorSchemaValidation: 'Ошибка проверки схемы',
validatorErrorCount: 'Обнаружено ошибок проверки: {count}',
validatorErrorPathRoot: 'Корень',
validatorErrorLocationLineAndColumn: 'Строка {line}, столбец {column}',
validatorErrorLocationLineOnly: 'Строка {line}',
visualizerDownloadTitle: 'Скачать схему',
visualizerDownloadFileName: 'schema.json',
visualizerSource: 'Источник схемы JSON',
visualEditorNoFieldsHint1: 'Пока не определено ни одного поля',
visualEditorNoFieldsHint2: 'Добавьте ваше первое поле, чтобы начать',
typeValidationErrorNegativeLength:
'Значения длины не могут быть отрицательными.',
typeValidationErrorIntValue: 'Значение должно быть целым числом.',
typeValidationErrorPositive: 'Значение должно быть положительным.',
};

View File

@ -0,0 +1,5 @@
import { createContext } from 'react';
import { en } from './locales/en';
import type { Translation } from './translation-keys.ts';
export const TranslationContext = createContext<Translation>(en);

View File

@ -0,0 +1,762 @@
export interface Translation {
/**
* The translation for the key `collapse`. English default is:
*
* > Collapse
*/
readonly collapse: string;
/**
* The translation for the key `expand`. English default is:
*
* > Expand
*/
readonly expand: string;
/**
* The translation for the key `fieldDelete`. English default is:
*
* > Delete field
*/
readonly fieldDelete: string;
/**
* The translation for the key `fieldDescriptionPlaceholder`. English default is:
*
* > Describe the purpose of this field
*/
readonly fieldDescriptionPlaceholder: string;
/**
* The translation for the key `fieldNamePlaceholder`. English default is:
*
* > e.g. firstName, age, isActive
*/
readonly fieldNamePlaceholder: string;
/**
* The translation for the key `fieldNameLabel`. English default is:
*
* > Field Name
*/
readonly fieldNameLabel: string;
/**
* The translation for the key `fieldNameTooltip`. English default is:
*
* > Use camelCase for better readability (e.g., firstName)
*/
readonly fieldNameTooltip: string;
/**
* The translation for the key `fieldRequiredLabel`. English default is:
*
* > Required Field
*/
readonly fieldRequiredLabel: string;
/**
* The translation for the key `fieldDescription`. English default is:
*
* > Description
*/
readonly fieldDescription: string;
/**
* The translation for the key `fieldDescriptionTooltip`. English default is:
*
* > Add context about what this field represents
*/
readonly fieldDescriptionTooltip: string;
/**
* The translation for the key `fieldType`. English default is:
*
* > Field Type
*/
readonly fieldType: string;
/**
* The translation for the key `fieldTypeExample`. English default is:
*
* > Example:
*/
readonly fieldTypeExample: string;
/**
* The translation for the key `fieldTypeTooltipString`. English default is:
*
* > string: Text
*/
readonly fieldTypeTooltipString: string;
/**
* The translation for the key `fieldTypeTooltipNumber`. English default is:
*
* > number: Numeric
*/
readonly fieldTypeTooltipNumber: string;
/**
* The translation for the key `fieldTypeTooltipBoolean`. English default is:
*
* > boolean: True/false
*/
readonly fieldTypeTooltipBoolean: string;
/**
* The translation for the key `fieldTypeTooltipObject`. English default is:
*
* > object: Nested JSON
*/
readonly fieldTypeTooltipObject: string;
/**
* The translation for the key `fieldTypeTooltipArray`. English default is:
*
* > array: Lists of values
*/
readonly fieldTypeTooltipArray: string;
/**
* The translation for the key `fieldAddNewButton`. English default is:
*
* > Add Field
*/
readonly fieldAddNewButton: string;
/**
* The translation for the key `fieldAddNewLabel`. English default is:
*
* > Add New Field
*/
readonly fieldAddNewLabel: string;
/**
* The translation for the key `fieldAddNewDescription`. English default is:
*
* > Create a new field for your JSON schema
*/
readonly fieldAddNewDescription: string;
/**
* The translation for the key `fieldAddNewBadge`. English default is:
*
* > Schema Builder
*/
readonly fieldAddNewBadge: string;
/**
* The translation for the key `fieldAddNewCancel`. English default is:
*
* > Cancel
*/
readonly fieldAddNewCancel: string;
/**
* The translation for the key `fieldAddNewConfirm`. English default is:
*
* > Add Field
*/
readonly fieldAddNewConfirm: string;
/**
* The translation for the key `fieldTypeTextLabel`. English default is:
*
* > Text
*/
readonly fieldTypeTextLabel: string;
/**
* The translation for the key `fieldTypeTextDescription`. English default is:
*
* > For text values like names, descriptions, etc.
*/
readonly fieldTypeTextDescription: string;
/**
* The translation for the key `fieldTypeNumberLabel`. English default is:
*
* > Number
*/
readonly fieldTypeNumberLabel: string;
/**
* The translation for the key `fieldTypeNumberDescription`. English default is:
*
* > For decimal or whole numbers
*/
readonly fieldTypeNumberDescription: string;
/**
* The translation for the key `fieldTypeBooleanLabel`. English default is:
*
* > Yes/No
*/
readonly fieldTypeBooleanLabel: string;
/**
* The translation for the key `fieldTypeBooleanDescription`. English default is:
*
* > For true/false values
*/
readonly fieldTypeBooleanDescription: string;
/**
* The translation for the key `fieldTypeObjectLabel`. English default is:
*
* > Group
*/
readonly fieldTypeObjectLabel: string;
/**
* The translation for the key `fieldTypeObjectDescription`. English default is:
*
* > For grouping related fields together
*/
readonly fieldTypeObjectDescription: string;
/**
* The translation for the key `fieldTypeArrayLabel`. English default is:
*
* > List
*/
readonly fieldTypeArrayLabel: string;
/**
* The translation for the key `fieldTypeArrayDescription`. English default is:
*
* > For collections of items
*/
readonly fieldTypeArrayDescription: string;
/**
* The translation for the key `propertyDescriptionPlaceholder`. English default is:
*
* > Add description...
*/
readonly propertyDescriptionPlaceholder: string;
/**
* The translation for the key `propertyDescriptionButton`. English default is:
*
* > Add description...
*/
readonly propertyDescriptionButton: string;
/**
* The translation for the key `propertyRequired`. English default is:
*
* > Required
*/
readonly propertyRequired: string;
/**
* The translation for the key `propertyOptional`. English default is:
*
* > Optional
*/
readonly propertyOptional: string;
/**
* The translation for the key `propertyDelete`. English default is:
*
* > Delete field
*/
readonly propertyDelete: string;
/**
* The translation for the key `arrayMinimumLabel`. English default is:
*
* > Minimum Items
*/
readonly arrayMinimumLabel: string;
/**
* The translation for the key `arrayMinimumPlaceholder`. English default is:
*
* > No minimum
*/
readonly arrayMinimumPlaceholder: string;
/**
* The translation for the key `arrayMaximumLabel`. English default is:
*
* > Maximum Items
*/
readonly arrayMaximumLabel: string;
/**
* The translation for the key `arrayMaximumPlaceholder`. English default is:
*
* > No maximum
*/
readonly arrayMaximumPlaceholder: string;
/**
* The translation for the key `arrayForceUniqueItemsLabel`. English default is:
*
* > Force unique items
*/
readonly arrayForceUniqueItemsLabel: string;
/**
* The translation for the key `arrayItemTypeLabel`. English default is:
*
* > Item Type
*/
readonly arrayItemTypeLabel: string;
/**
* The translation for the key `arrayValidationErrorMinMax`. English default is:
*
* > 'minItems' cannot be greater than 'maxItems'.
*/
readonly arrayValidationErrorMinMax: string;
/**
* The translation for the key `arrayValidationErrorContainsMinMax`. English default is:
*
* > 'minContains' cannot be greater than 'maxContains'.
*/
readonly arrayValidationErrorContainsMinMax: string;
/**
* The translation for the key `booleanAllowTrueLabel`. English default is:
*
* > Allow true value
*/
readonly booleanAllowTrueLabel: string;
/**
* The translation for the key `booleanAllowFalseLabel`. English default is:
*
* > Allow false value
*/
readonly booleanAllowFalseLabel: string;
/**
* The translation for the key `booleanNeitherWarning`. English default is:
*
* > Warning: You must allow at least one value.
*/
readonly booleanNeitherWarning: string;
/**
* The translation for the key `numberMinimumLabel`. English default is:
*
* > Minimum Value
*/
readonly numberMinimumLabel: string;
/**
* The translation for the key `numberMinimumPlaceholder`. English default is:
*
* > No minimum
*/
readonly numberMinimumPlaceholder: string;
/**
* The translation for the key `numberMaximumLabel`. English default is:
*
* > Maximum Value
*/
readonly numberMaximumLabel: string;
/**
* The translation for the key `numberMaximumPlaceholder`. English default is:
*
* > No maximum
*/
readonly numberMaximumPlaceholder: string;
/**
* The translation for the key `numberExclusiveMinimumLabel`. English default is:
*
* > Exclusive Minimum
*/
readonly numberExclusiveMinimumLabel: string;
/**
* The translation for the key `numberExclusiveMinimumPlaceholder`. English default is:
*
* > No exclusive min
*/
readonly numberExclusiveMinimumPlaceholder: string;
/**
* The translation for the key `numberExclusiveMaximumLabel`. English default is:
*
* > Exclusive Maximum
*/
readonly numberExclusiveMaximumLabel: string;
/**
* The translation for the key `numberExclusiveMaximumPlaceholder`. English default is:
*
* > No exclusive max
*/
readonly numberExclusiveMaximumPlaceholder: string;
/**
* The translation for the key `numberMultipleOfLabel`. English default is:
*
* > Multiple Of
*/
readonly numberMultipleOfLabel: string;
/**
* The translation for the key `numberMultipleOfPlaceholder`. English default is:
*
* > Any
*/
readonly numberMultipleOfPlaceholder: string;
/**
* The translation for the key `numberAllowedValuesEnumLabel`. English default is:
*
* > Allowed Values (enum)
*/
readonly numberAllowedValuesEnumLabel: string;
/**
* The translation for the key `numberAllowedValuesEnumNone`. English default is:
*
* > No restricted values set
*/
readonly numberAllowedValuesEnumNone: string;
/**
* The translation for the key `numberAllowedValuesEnumAddPlaceholder`. English default is:
*
* > Add allowed value...
*/
readonly numberAllowedValuesEnumAddPlaceholder: string;
/**
* The translation for the key `numberAllowedValuesEnumAddLabel`. English default is:
*
* > Add
*/
readonly numberAllowedValuesEnumAddLabel: string;
/**
* The translation for the key `numberValidationErrorExclusiveMinMax`. English default is:
*
* > Minimum and maximum values must be consistent.
*/
readonly numberValidationErrorMinMax: string;
/**
* The translation for the key `numberValidationErrorBothExclusiveAndInclusive`. English default is:
*
* > Both 'exclusiveMinimum' and 'minimum' cannot be set at the same time.
*/
readonly numberValidationErrorBothExclusiveAndInclusiveMin: string;
/**
* The translation for the key `numberValidationErrorBothExclusiveAndInclusiveMax`. English default is:
*
* > Both 'exclusiveMaximum' and 'maximum' cannot be set at the same time.
*/
readonly numberValidationErrorBothExclusiveAndInclusiveMax: string;
/**
* The translation for the key `numberValidationErrorEnumOutOfRange`. English default is:
*
* > Enum values must be within the defined range.
*/
readonly numberValidationErrorEnumOutOfRange: string;
/**
* The translation for the key `objectPropertiesNone`. English default is:
*
* > No properties defined
*/
readonly objectPropertiesNone: string;
/**
* The translation for the key `objectValidationErrorMinMax`. English default is:
*
* > 'minProperties' cannot be greater than 'maxProperties'.
*/
readonly objectValidationErrorMinMax: string;
/**
* The translation for the key `stringMinimumLengthLabel`. English default is:
*
* > Minimum Length
*/
readonly stringMinimumLengthLabel: string;
/**
* The translation for the key `stringMinimumLengthPlaceholder`. English default is:
*
* > No minimum
*/
readonly stringMinimumLengthPlaceholder: string;
/**
* The translation for the key `stringMaximumLengthLabel`. English default is:
*
* > Maximum Length
*/
readonly stringMaximumLengthLabel: string;
/**
* The translation for the key `stringMaximumLengthPlaceholder`. English default is:
*
* > No maximum
*/
readonly stringMaximumLengthPlaceholder: string;
/**
* The translation for the key `stringPatternLabel`. English default is:
*
* > Pattern (regex)
*/
readonly stringPatternLabel: string;
/**
* The translation for the key `stringPatternPlaceholder`. English default is:
*
* > ^[a-zA-Z]+$
*/
readonly stringPatternPlaceholder: string;
/**
* The translation for the key `stringFormatLabel`. English default is:
*
* > Format
*/
readonly stringFormatLabel: string;
/**
* The translation for the key `stringFormatNone`. English default is:
*
* > None
*/
readonly stringFormatNone: string;
/**
* The translation for the key `stringFormatDateTime`. English default is:
*
* > Date-Time
*/
readonly stringFormatDateTime: string;
/**
* The translation for the key `stringFormatDate`. English default is:
*
* > Date
*/
readonly stringFormatDate: string;
/**
* The translation for the key `stringFormatTime`. English default is:
*
* > Time
*/
readonly stringFormatTime: string;
/**
* The translation for the key `stringFormatEmail`. English default is:
*
* > Email
*/
readonly stringFormatEmail: string;
/**
* The translation for the key `stringFormatUri`. English default is:
*
* > URI
*/
readonly stringFormatUri: string;
/**
* The translation for the key `stringFormatUuid`. English default is:
*
* > UUID
*/
readonly stringFormatUuid: string;
/**
* The translation for the key `stringFormatHostname`. English default is:
*
* > Hostname
*/
readonly stringFormatHostname: string;
/**
* The translation for the key `stringFormatIpv4`. English default is:
*
* > IPv4 Address
*/
readonly stringFormatIpv4: string;
/**
* The translation for the key `stringFormatIpv6`. English default is:
*
* > IPv6 Address
*/
readonly stringFormatIpv6: string;
/**
* The translation for the key `stringAllowedValuesEnumLabel`. English default is:
*
* > Allowed Values (enum)
*/
readonly stringAllowedValuesEnumLabel: string;
/**
* The translation for the key `stringAllowedValuesEnumNone`. English default is:
*
* > No restricted values set
*/
readonly stringAllowedValuesEnumNone: string;
/**
* The translation for the key `stringAllowedValuesEnumAddPlaceholder`. English default is:
*
* > Add allowed value...
*/
readonly stringAllowedValuesEnumAddPlaceholder: string;
/**
* The translation for the key `stringValidationErrorMinLength`. English default is:
*
* > 'minLength' cannot be greater than 'maxLength'.
*/
readonly stringValidationErrorLengthRange: string;
/**
* The translation for the key `schemaTypeString`. English default is:
*
* > Text
*/
readonly schemaTypeString: string;
/**
* The translation for the key `schemaTypeNumber`. English default is:
*
* > Number
*/
readonly schemaTypeNumber: string;
/**
* The translation for the key `schemaTypeBoolean`. English default is:
*
* > Yes/No
*/
readonly schemaTypeBoolean: string;
/**
* The translation for the key `schemaTypeObject`. English default is:
*
* > Object
*/
readonly schemaTypeObject: string;
/**
* The translation for the key `schemaTypeArray`. English default is:
*
* > List
*/
readonly schemaTypeArray: string;
/**
* The translation for the key `schemaTypeNull`. English default is:
*
* > Empty
*/
readonly schemaTypeNull: string;
/**
* The translation for the key `schemaEditorTitle`. English default is:
*
* > JSON Schema Editor
*/
readonly schemaEditorTitle: string;
/**
* The translation for the key `schemaEditorToggleFullscreen`. English default is:
*
* > Toggle fullscreen
*/
readonly schemaEditorToggleFullscreen: string;
/**
* The translation for the key `schemaEditorEditModeVisual`. English default is:
*
* > Visual
*/
readonly schemaEditorEditModeVisual: string;
/**
* The translation for the key `schemaEditorEditModeJson`. English default is:
*
* > JSON
*/
readonly schemaEditorEditModeJson: string;
/**
* The translation for the key `inferrerTitle`. English default is:
*
* > Infer JSON Schema
*/
readonly inferrerTitle: string;
/**
* The translation for the key `inferrerDescription`. English default is:
*
* > Paste your JSON document below to generate a schema from it.
*/
readonly inferrerDescription: string;
/**
* The translation for the key `inferrerGenerate`. English default is:
*
* > Generate Schema
*/
readonly inferrerGenerate: string;
/**
* The translation for the key `inferrerCancel`. English default is:
*
* > Cancel
*/
readonly inferrerCancel: string;
/**
* The translation for the key `inferrerErrorInvalidJson`. English default is:
*
* > Invalid JSON format. Please check your input.
*/
readonly inferrerErrorInvalidJson: string;
/**
* The translation for the key `validatorTitle`. English default is:
*
* > Validate JSON
*/
readonly validatorTitle: string;
/**
* The translation for the key `validatorDescription`. English default is:
*
* > Paste your JSON document to validate against the current schema. Validation occurs automatically as you type.
*/
readonly validatorDescription: string;
/**
* The translation for the key `validatorCurrentSchema`. English default is:
*
* > Current Schema:
*/
readonly validatorCurrentSchema: string;
/**
* The translation for the key `validatorContent`. English default is:
*
* > Your JSON:
*/
readonly validatorContent: string;
/**
* The translation for the key `validatorValid`. English default is:
*
* > JSON is valid according to the schema!
*/
readonly validatorValid: string;
/**
* The translation for the key `validatorErrorInvalidSyntax`. English default is:
*
* > Invalid JSON syntax
*/
readonly validatorErrorInvalidSyntax: string;
/**
* The translation for the key `validatorErrorSchemaValidation`. English default is:
*
* > Schema validation error
*/
readonly validatorErrorSchemaValidation: string;
/**
* The translation for the key `validatorErrorCount`. English default is:
*
* > {count} validation errors detected
*/
readonly validatorErrorCount: string;
/**
* The translation for the key `validatorErrorPathRoot`. English default is:
*
* > Root
*/
readonly validatorErrorPathRoot: string;
/**
* The translation for the key `validatorErrorLocationLineAndColumn`. English default is:
*
* > Line {line}, Col {column}
*/
readonly validatorErrorLocationLineAndColumn: string;
/**
* The translation for the key `validatorErrorLocationLineOnly`. English default is:
*
* > Line {line}
*/
readonly validatorErrorLocationLineOnly: string;
/**
* The translation for the key `visualizerDownloadTitle`. English default is:
*
* > Download Schema
*/
readonly visualizerDownloadTitle: string;
/**
* The translation for the key `visualizerDownloadFileName`. English default is:
*
* > schema.json
*/
readonly visualizerDownloadFileName: string;
/**
* The translation for the key `visualizerSource`. English default is:
*
* > JSON Schema Source
*/
readonly visualizerSource: string;
/**
* The translation for the key `visualEditorNoFieldsHint1`. English default is:
*
* > No fields defined yet
*/
readonly visualEditorNoFieldsHint1: string;
/**
* The translation for the key `visualEditorNoFieldsHint2`. English default is:
*
* > Add your first field to get started
*/
readonly visualEditorNoFieldsHint2: string;
/**
* The translation for the key `typeValidationErrorNegativeLength`. English default is:
*
* > Length values cannot be negative.
*/
readonly typeValidationErrorNegativeLength: string;
/**
* The translation for the key `typeValidationErrorIntValue`. English default is:
*
* > Value must be an integer.
*/
readonly typeValidationErrorIntValue: string;
/**
* The translation for the key `typeValidationErrorPositive`. English default is:
*
* > Value must be positive.
*/
readonly typeValidationErrorPositive: string;
}