spine-runtimes/spine-ts/spine-construct3/plugin.lang.schema.json
Davide Tantillo 93c56d08d0 c3 backup
2025-11-03 15:16:29 +01:00

208 lines
9.6 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://construct.net/sdk/schema/plugin.lang.schema.json",
"title": "Plugin language file JSON",
"description": "The language file with strings for a plugin.",
"type": "object",
"properties": {
"languageTag": {
"description": "An IETF language tag defining the translation language, e.g. \"en-US\".",
"type": "string"
},
"fileDescription": {
"description": "Optional description for this file (as a comment only).",
"type": "string"
},
"text": {
"type": "object",
"properties": {
"plugins": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"name": {
"description": "The display name of the plugin.",
"type": "string"
},
"description": {
"description": "The description of the plugin.",
"type": "string"
},
"help-url": {
"description": "A URL for documentation or support.",
"type": "string",
"format": "uri"
},
"properties": {
"description": "Language strings for plugin properties.",
"type": "object",
"additionalProperties": {
"description": "Language strings for a plugin property by its ID.",
"type": "object",
"properties": {
"name": {
"description": "Name of this plugin property.",
"type": "string"
},
"desc": {
"description": "Description of this plugin property.",
"type": "string"
},
"items": {
"$ref": "#/$defs/comboItems"
},
"itemGroups": {
"$ref": "#/$defs/comboItemGroups"
},
"link-text": {
"description": "Link text for a \"link\" type property.",
"type": "string"
}
},
"required": ["name", "desc"],
"additionalProperties": false
}
},
"aceCategories": {
"description": "Language strings for action/condition/expression categories.",
"type": "object",
"additionalProperties": {
"description": "Language string for an action/condition/expression category.",
"type": "string"
}
},
"conditions": {
"type": "object",
"additionalProperties": { "$ref": "#/$defs/acEntry" }
},
"actions": {
"type": "object",
"additionalProperties": { "$ref": "#/$defs/acEntry" }
},
"expressions": {
"type": "object",
"additionalProperties": { "$ref": "#/$defs/expEntry" }
}
},
"required": ["name", "description", "help-url"]
},
"minProperties": 1,
"maxProperties": 1
}
},
"required": ["plugins"],
"additionalProperties": false
}
},
"required": ["languageTag", "text"],
"$defs": {
"acEntry": {
"description": "Language strings for conditions or actions by their ID.",
"type": "object",
"properties": {
"list-name": {
"description": "The name that appears in the condition/action picker dialog.",
"type": "string"
},
"display-text": {
"description": "The text that appears in the event sheet. You can use simple BBCode tags like [b] and [i], and use {0}, {1} etc. as parameter placeholders.",
"type": "string"
},
"description": {
"description": "A description of the action or condition, which appears as a tip at the top of the condition/action picker dialog.",
"type": "string"
},
"params": {
"description": "Language strings for parameters of a condition or action.",
"type": "object",
"additionalProperties": {
"description": "Language strings for a parameter of a condition or action by the parameter ID.",
"type": "object",
"properties": {
"name": {
"description": "Language string for a parameter name.",
"type": "string"
},
"desc": {
"description": "Language string for a parameter description.",
"type": "string"
},
"items": {
"$ref": "#/$defs/comboItems"
}
},
"required": ["name", "desc"],
"additionalProperties": false
}
}
},
"required": ["list-name", "display-text", "description"],
"additionalProperties": false
},
"expEntry": {
"description": "Language strings for expressions by their ID.",
"type": "object",
"properties": {
"description": {
"description": "A description of the action or condition, which appears as a tip at the top of the condition/action picker dialog.",
"type": "string"
},
"translated-name": {
"description": "The translated name of the expression, which must be a valid expression identifier (e.g. no quotes/apostrophes or other characters with special meaning in expressions). Note for en-US this must match the expression name."
},
"params": {
"description": "Language strings for parameters of an expression.",
"type": "object",
"additionalProperties": {
"description": "Language strings for a parameter of an expression by the parameter ID.",
"type": "object",
"properties": {
"name": {
"description": "Language string for a parameter name.",
"type": "string"
},
"desc": {
"description": "Language string for a parameter description.",
"type": "string"
}
},
"required": ["name", "desc"],
"additionalProperties": false
}
}
},
"required": ["description", "translated-name"],
"additionalProperties": false
},
"comboItems": {
"description": "Items for a combo property, parameter or group.",
"type": "object",
"minProperties": 1,
"additionalProperties": {
"description": "Language string for a combo item, with the item ID as the key.",
"type": "string"
}
},
"comboItemGroups": {
"description": "Items for a combo-grouped parameter.",
"type": "object",
"minProperties": 1,
"additionalProperties": {
"description": "Language string for a combo item group.",
"type": "object",
"properties": {
"name": {
"description": "Name of this combo item group.",
"type": "string"
},
"items": {
"$ref": "#/$defs/comboItems"
}
},
"required": ["name", "items"]
}
}
}
}