{ "$id": "https://weblate.org/schemas/weblate-backup.schema.json", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "definitions": { "category": { "$id": "#/definitions/category", "title": "Category", "additionalProperties": false, "required": [ "name", "slug", "categories" ], "properties": { "name": { "$id": "#/definitions/category/name", "title": "Category name", "type": "string", "default": "", "examples": [ "My Category" ] }, "slug": { "$id": "#/definitions/category/slug", "title": "Full URL slug excluding the project slug", "type": "string", "default": "", "examples": [ "my-category", "my-category/my-subcategory" ] }, "check_flags": { "$id": "#/definitions/category/check_flags", "title": "Translation flags", "type": "string", "default": "" }, "license": { "$id": "#/definitions/category/license", "title": "Translation license", "type": "string", "default": "" }, "agreement": { "$id": "#/definitions/category/agreement", "title": "Contributor agreement", "type": "string", "default": "" }, "new_lang": { "$id": "#/definitions/category/new_lang", "title": "Adding new translation", "type": "string", "default": "" }, "language_code_style": { "$id": "#/definitions/category/language_code_style", "title": "Language code style", "type": "string", "default": "" }, "secondary_language": { "$id": "#/definitions/category/secondary_language", "title": "Secondary language code", "oneOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "commit_message": { "$id": "#/definitions/category/commit_message", "title": "Commit message when translating", "type": "string", "default": "" }, "add_message": { "$id": "#/definitions/category/add_message", "title": "Commit message when adding translation", "type": "string", "default": "" }, "delete_message": { "$id": "#/definitions/category/delete_message", "title": "Commit message when removing translation", "type": "string", "default": "" }, "merge_message": { "$id": "#/definitions/category/merge_message", "title": "Commit message when merging translation", "type": "string", "default": "" }, "addon_message": { "$id": "#/definitions/category/addon_message", "title": "Commit message when add-on makes a change", "type": "string", "default": "" }, "pull_message": { "$id": "#/definitions/category/pull_message", "title": "Merge request message", "type": "string", "default": "" }, "inherit_license": { "$id": "#/definitions/category/inherit_license", "title": "Inherit translation license", "type": "boolean", "default": false }, "inherit_agreement": { "$id": "#/definitions/category/inherit_agreement", "title": "Inherit contributor agreement", "type": "boolean", "default": false }, "inherit_new_lang": { "$id": "#/definitions/category/inherit_new_lang", "title": "Inherit adding new translation", "type": "boolean", "default": false }, "inherit_language_code_style": { "$id": "#/definitions/category/inherit_language_code_style", "title": "Inherit language code style", "type": "boolean", "default": false }, "inherit_secondary_language": { "$id": "#/definitions/category/inherit_secondary_language", "title": "Inherit secondary language", "type": "boolean", "default": false }, "inherit_commit_message": { "$id": "#/definitions/category/inherit_commit_message", "title": "Inherit commit message when translating", "type": "boolean", "default": false }, "inherit_add_message": { "$id": "#/definitions/category/inherit_add_message", "title": "Inherit commit message when adding translation", "type": "boolean", "default": false }, "inherit_delete_message": { "$id": "#/definitions/category/inherit_delete_message", "title": "Inherit commit message when removing translation", "type": "boolean", "default": false }, "inherit_merge_message": { "$id": "#/definitions/category/inherit_merge_message", "title": "Inherit commit message when merging translation", "type": "boolean", "default": false }, "inherit_addon_message": { "$id": "#/definitions/category/inherit_addon_message", "title": "Inherit commit message when add-on makes a change", "type": "boolean", "default": false }, "inherit_pull_message": { "$id": "#/definitions/category/inherit_pull_message", "title": "Inherit merge request message", "type": "boolean", "default": false }, "categories": { "$id": "#/definitions/category/items/category", "title": "Categories", "type": "array", "items": [ { "$ref": "#/definitions/category" } ], "default": [] } } } }, "title": "Weblate backup", "additionalProperties": false, "required": [ "metadata", "project", "labels" ], "properties": { "metadata": { "$id": "#root/metadata", "title": "Export metadata", "type": "object", "required": [ "version", "server", "domain", "timestamp" ], "additionalProperties": false, "properties": { "version": { "$id": "#root/metadata/version", "title": "Weblate version", "type": "string", "default": "", "examples": [ "4.13" ] }, "server": { "$id": "#root/metadata/server", "title": "Server name", "type": "string", "default": "", "examples": [ "Weblate" ] }, "domain": { "$id": "#root/metadata/domain", "title": "Server domain", "type": "string", "format": "hostname", "default": "", "examples": [ "weblate.example.com" ] }, "timestamp": { "$id": "#root/metadata/timestamp", "title": "Export timestamp", "type": "string", "format": "date-time", "default": "", "examples": [ "2019-11-18T18:53:54.862Z" ] } } }, "project": { "$id": "#root/project", "title": "Project", "type": "object", "additionalProperties": false, "required": [ "name", "slug", "web", "instructions", "access_control", "language_aliases", "use_shared_tm", "contribute_shared_tm", "translation_review", "source_review", "enable_hooks" ], "properties": { "name": { "$id": "#root/project/name", "title": "Project name", "type": "string", "default": "", "examples": [ "Hello" ] }, "slug": { "$id": "#root/project/slug", "title": "URL slug", "type": "string", "default": "", "examples": [ "hello" ] }, "web": { "$id": "#root/project/web", "title": "", "anyOf": [ { "type": "string", "format": "iri" }, { "type": "string", "maxLength": 0 } ], "default": "Project website", "examples": [ "https://weblate.org/" ] }, "instructions": { "$id": "#root/project/instructions", "title": "Translation instructions", "type": "string", "default": "" }, "access_control": { "$id": "#root/project/access_control", "title": "Access control", "type": "integer", "enum": [ 0, 1, 100, 200 ], "default": 0, "examples": [ 0 ] }, "language_aliases": { "$id": "#root/project/language_aliases", "title": "Language aliases", "type": "string", "default": "", "examples": [ "" ] }, "set_language_team": { "$id": "#root/project/set_language_team", "title": "Set \"Language-Team\" header", "type": "boolean", "default": false }, "use_shared_tm": { "$id": "#root/project/use_shared_tm", "title": "Use shared translation memory", "type": "boolean", "default": false }, "contribute_shared_tm": { "$id": "#root/project/contribute_shared_tm", "title": "Contribute to shared translation memory", "type": "boolean", "default": false }, "translation_review": { "$id": "#root/project/translation_review", "title": "Enable reviews", "type": "boolean", "default": false }, "source_review": { "$id": "#root/project/source_review", "title": "Enable source reviews", "type": "boolean", "default": false }, "enable_hooks": { "$id": "#root/project/enable_hooks", "title": "Enable hooks", "type": "boolean", "default": false }, "check_flags": { "$id": "#root/project/check_flags", "title": "Translation flags", "type": "string", "default": "" }, "license": { "$id": "#root/project/license", "title": "Translation license", "type": "string", "default": "" }, "agreement": { "$id": "#root/project/agreement", "title": "Contributor agreement", "type": "string", "default": "" }, "new_lang": { "$id": "#root/project/new_lang", "title": "Adding new translation", "type": "string", "default": "" }, "language_code_style": { "$id": "#root/project/language_code_style", "title": "Language code style", "type": "string", "default": "" }, "secondary_language": { "$id": "#root/project/secondary_language", "title": "Secondary language code", "oneOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "commit_message": { "$id": "#root/project/commit_message", "title": "Commit message when translating", "type": "string", "default": "" }, "add_message": { "$id": "#root/project/add_message", "title": "Commit message when adding translation", "type": "string", "default": "" }, "delete_message": { "$id": "#root/project/delete_message", "title": "Commit message when removing translation", "type": "string", "default": "" }, "merge_message": { "$id": "#root/project/merge_message", "title": "Commit message when merging translation", "type": "string", "default": "" }, "addon_message": { "$id": "#root/project/addon_message", "title": "Commit message when add-on makes a change", "type": "string", "default": "" }, "pull_message": { "$id": "#root/project/pull_message", "title": "Merge request message", "type": "string", "default": "" }, "inherit_license": { "$id": "#root/project/inherit_license", "title": "Inherit translation license", "type": "boolean", "default": false }, "inherit_agreement": { "$id": "#root/project/inherit_agreement", "title": "Inherit contributor agreement", "type": "boolean", "default": false }, "inherit_new_lang": { "$id": "#root/project/inherit_new_lang", "title": "Inherit adding new translation", "type": "boolean", "default": false }, "inherit_language_code_style": { "$id": "#root/project/inherit_language_code_style", "title": "Inherit language code style", "type": "boolean", "default": false }, "inherit_secondary_language": { "$id": "#root/project/inherit_secondary_language", "title": "Inherit secondary language", "type": "boolean", "default": false }, "inherit_commit_message": { "$id": "#root/project/inherit_commit_message", "title": "Inherit commit message when translating", "type": "boolean", "default": false }, "inherit_add_message": { "$id": "#root/project/inherit_add_message", "title": "Inherit commit message when adding translation", "type": "boolean", "default": false }, "inherit_delete_message": { "$id": "#root/project/inherit_delete_message", "title": "Inherit commit message when removing translation", "type": "boolean", "default": false }, "inherit_merge_message": { "$id": "#root/project/inherit_merge_message", "title": "Inherit commit message when merging translation", "type": "boolean", "default": false }, "inherit_addon_message": { "$id": "#root/project/inherit_addon_message", "title": "Inherit commit message when add-on makes a change", "type": "boolean", "default": false }, "inherit_pull_message": { "$id": "#root/project/inherit_pull_message", "title": "Inherit merge request message", "type": "boolean", "default": false } } }, "labels": { "$id": "#root/labels", "title": "Project labels", "type": "array", "default": [], "items": { "$id": "#root/labels/items", "title": "Items", "type": "object", "required": [ "name", "color" ], "additionalProperties": false, "properties": { "name": { "$id": "#root/auditlog/items/name", "title": "Label name", "type": "string", "default": "", "examples": [ "Label" ] }, "color": { "$id": "#root/auditlog/items/color", "title": "Color", "type": "string", "default": "", "examples": [ "navy" ], "enum": [ "navy", "blue", "aqua", "teal", "olive", "green", "lime", "yellow", "orange", "red", "maroon", "fuchsia", "purple", "black", "gray", "silver" ] } } } }, "categories": { "$id": "#root/categories", "title": "Project Categories", "type": "array", "default": [], "items": { "$ref": "#/definitions/category" } }, "teams": { "$id": "#root/teams", "title": "Teams", "type": "array", "default": [], "items": { "$id": "#root/teams/items", "title": "Team", "type": "object", "required": [ "name", "roles", "components", "language_selection", "languages", "admins", "enforced_2fa", "members", "autogroups" ], "additionalProperties": false, "properties": { "name": { "$id": "#root/teams/items/name", "title": "Team name", "type": "string", "default": "", "examples": [ "My Team" ] }, "roles": { "$id": "#root/teams/items/roles", "title": "Roles", "type": "array", "items": { "title": "Role name", "type": "string" }, "default": [], "examples": [ [ "Translate", "Billing" ] ] }, "components": { "$id": "#root/teams/items/components", "title": "Components", "type": "array", "items": { "title": "Full component URL slug excluding the project slug", "type": "string" }, "default": [], "examples": [ [ "my-category/my-component", "top-level-component" ] ] }, "language_selection": { "$id": "#root/teams/items/language_selection", "title": "Language Selection", "type": "integer", "enum": [ 0, 1 ], "default": 0 }, "languages": { "$id": "#root/teams/items/languages", "title": "Languages", "type": "array", "items": { "title": "Language code", "type": "string" }, "default": [], "examples": [ [ "en", "ru" ] ] }, "admins": { "$id": "#root/teams/items/admins", "title": "Admins", "type": "array", "items": { "title": "Username", "type": "string" }, "default": [], "examples": [ [ "admin" ] ] }, "enforced_2fa": { "$id": "#root/teams/items/enforced_2fa", "title": "Enforced two-factor authentication", "type": "boolean", "default": false }, "members": { "$id": "#root/teams/items/members", "title": "Members", "type": "array", "items": { "oneOf": [ { "title": "Username", "type": "string" }, { "title": "Team member", "type": "object", "additionalProperties": false, "required": [ "username", "limit_languages" ], "properties": { "username": { "title": "Username", "type": "string" }, "limit_languages": { "title": "Limited languages", "type": "array", "items": { "title": "Language code", "type": "string" }, "default": [] } } } ] }, "default": [], "examples": [ [ "user-1", { "username": "reviewer-cs", "limit_languages": [ "cs" ] } ] ] }, "autogroups": { "$id": "#root/teams/items/autogroups", "title": "Auto Groups", "type": "array", "items": { "title": "Regex to match", "type": "string" }, "examples": [ [ "^.*$" ] ] } } } } } }