Weblate · Schema

Weblate backup

LocalizationTranslationInternationalizationOpen SourceContinuous LocalizationVersion Control

Properties

Name Type Description
metadata object
project object
labels array
categories array
teams array
View JSON Schema on GitHub

JSON Schema

weblate-backup.schema.json Raw ↑
{
  "$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": [
              [
                "^.*$"
              ]
            ]
          }
        }
      }
    }
  }
}