feat: add plugin localization contract

This commit is contained in:
2026-07-11 01:58:20 +08:00
parent ad2dd975e7
commit d69214ea18
14 changed files with 157 additions and 7 deletions
+25
View File
@@ -51,6 +51,31 @@
"type": "string",
"description": "Path to plugin icon (relative to plugin root)"
},
"localization": {
"type": "object",
"description": "Plugin-owned localization catalogs",
"properties": {
"defaultLocale": {
"type": "string",
"description": "Default locale used when the selected locale is unavailable",
"pattern": "^[a-z]{2}(?:-[a-z0-9]+)*$"
},
"locales": {
"type": "object",
"description": "Locale tags mapped to plugin-relative JSON catalog paths",
"propertyNames": {
"pattern": "^[a-z]{2}(?:-[a-z0-9]+)*$"
},
"additionalProperties": {
"type": "string",
"pattern": "^(?![\\\\/])(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*\\\\).+$"
},
"minProperties": 1
}
},
"required": ["defaultLocale", "locales"],
"additionalProperties": false
},
"provides": {
"type": "array",
"description": "Capabilities this plugin provides",