Weblate · Schema

Weblate component backup

LocalizationTranslationInternationalizationOpen SourceContinuous LocalizationVersion Control

Properties

Name Type Description
component object
translations array
units array
screenshots array
pending_unit_changes array
View JSON Schema on GitHub

JSON Schema

weblate-component.schema.json Raw ↑
{
  "$id": "https://weblate.org/schemas/weblate-component.schema.json",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "definitions": {},
  "title": "Weblate component backup",
  "additionalProperties": false,
  "required": [
    "component",
    "translations",
    "units",
    "screenshots"
  ],
  "properties": {
    "component": {
      "$id": "#root/component",
      "title": "Component configuration",
      "type": "object",
      "required": [
        "name",
        "slug",
        "vcs",
        "repo",
        "push",
        "repoweb",
        "report_source_bugs",
        "branch",
        "push_branch",
        "filemask",
        "template",
        "edit_template",
        "intermediate",
        "new_base",
        "file_format",
        "locked",
        "allow_translation_propagation",
        "enable_suggestions",
        "suggestion_voting",
        "suggestion_autoaccept",
        "check_flags",
        "enforced_checks",
        "license",
        "agreement",
        "new_lang",
        "language_code_style",
        "manage_units",
        "merge_style",
        "commit_message",
        "add_message",
        "delete_message",
        "merge_message",
        "addon_message",
        "pull_message",
        "push_on_commit",
        "commit_pending_age",
        "auto_lock_error",
        "source_language",
        "language_regex",
        "variant_regex",
        "priority",
        "restricted",
        "is_glossary",
        "glossary_color",
        "remote_revision",
        "local_revision"
      ],
      "additionalProperties": false,
      "properties": {
        "name": {
          "$id": "#root/component/name",
          "title": "Project name",
          "type": "string",
          "default": "",
          "examples": [
            "Hello"
          ]
        },
        "slug": {
          "$id": "#root/component/slug",
          "title": "URL slug",
          "type": "string",
          "default": "",
          "examples": [
            "hello"
          ]
        },
        "category": {
          "$id": "#root/component/category",
          "title": "Full category URL slug excluding the project slug",
          "type": "string",
          "default": "",
          "examples": [
            "my-category",
            "my-category/my-subcategory"
          ]
        },
        "vcs": {
          "$id": "#root/component/vcs",
          "title": "Version control system",
          "type": "string"
        },
        "repo": {
          "$id": "#root/component/repo",
          "title": "Source code repository",
          "type": "string"
        },
        "push": {
          "$id": "#root/component/push",
          "title": "Repository push URL",
          "type": "string"
        },
        "repoweb": {
          "$id": "#root/component/",
          "title": "Repository browser",
          "type": "string"
        },
        "report_source_bugs": {
          "$id": "#root/component/report_source_bugs",
          "title": "Source string bug reporting address",
          "type": "string",
          "oneOf": [
            {
              "enum": [
                ""
              ]
            },
            {
              "format": "email"
            }
          ]
        },
        "branch": {
          "$id": "#root/component/branch",
          "title": "Repository branch",
          "type": "string"
        },
        "push_branch": {
          "$id": "#root/component/push_branch",
          "title": "Push branch",
          "type": "string"
        },
        "filemask": {
          "$id": "#root/component/filemask",
          "title": "File mask",
          "type": "string"
        },
        "template": {
          "$id": "#root/component/template",
          "title": "Monolingual base language file",
          "type": "string"
        },
        "edit_template": {
          "$id": "#root/component/edit_template",
          "title": "Edit base file",
          "type": "boolean"
        },
        "intermediate": {
          "$id": "#root/component/intermediate",
          "title": "Intermediate language file",
          "type": "string"
        },
        "new_base": {
          "$id": "#root/component/new_base",
          "title": "Template for new translations",
          "type": "string"
        },
        "file_format": {
          "$id": "#root/component/file_format",
          "title": "File format",
          "type": "string"
        },
        "locked": {
          "$id": "#root/component/locked",
          "title": "Locked",
          "type": "boolean"
        },
        "allow_translation_propagation": {
          "$id": "#root/component/allow_translation_propagation",
          "title": "Allow translation propagation",
          "type": "boolean"
        },
        "enable_suggestions": {
          "$id": "#root/component/enable_suggestions",
          "title": "Turn on suggestions",
          "type": "boolean"
        },
        "suggestion_voting": {
          "$id": "#root/component/suggestion_voting",
          "title": "Suggestion voting",
          "type": "boolean"
        },
        "suggestion_autoaccept": {
          "$id": "#root/component/suggestion_autoaccept",
          "title": "Autoaccept suggestions",
          "type": "integer"
        },
        "check_flags": {
          "$id": "#root/component/check_flags",
          "title": "Translation flags",
          "type": "string"
        },
        "enforced_checks": {
          "$id": "#root/component/enforced_checks",
          "title": "",
          "type": "array",
          "items": {
            "$id": "#root/component/items",
            "title": "Check name",
            "type": "string"
          }
        },
        "license": {
          "$id": "#root/component/license",
          "title": "Translation license",
          "type": "string"
        },
        "agreement": {
          "$id": "#root/component/agreement",
          "title": "Contributor agreement",
          "type": "string"
        },
        "new_lang": {
          "$id": "#root/component/new_lang",
          "title": "Adding new translation",
          "type": "string"
        },
        "language_code_style": {
          "$id": "#root/component/language_code_style",
          "title": "Language code style",
          "type": "string"
        },
        "secondary_language": {
          "$id": "#root/component/secondary_language",
          "title": "Secondary language code",
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "inherit_license": {
          "$id": "#root/component/inherit_license",
          "title": "Inherit translation license",
          "type": "boolean",
          "default": false
        },
        "inherit_agreement": {
          "$id": "#root/component/inherit_agreement",
          "title": "Inherit contributor agreement",
          "type": "boolean",
          "default": false
        },
        "inherit_new_lang": {
          "$id": "#root/component/inherit_new_lang",
          "title": "Inherit adding new translation",
          "type": "boolean",
          "default": false
        },
        "inherit_language_code_style": {
          "$id": "#root/component/inherit_language_code_style",
          "title": "Inherit language code style",
          "type": "boolean",
          "default": false
        },
        "inherit_secondary_language": {
          "$id": "#root/component/inherit_secondary_language",
          "title": "Inherit secondary language",
          "type": "boolean",
          "default": false
        },
        "inherit_commit_message": {
          "$id": "#root/component/inherit_commit_message",
          "title": "Inherit commit message when translating",
          "type": "boolean",
          "default": false
        },
        "inherit_add_message": {
          "$id": "#root/component/inherit_add_message",
          "title": "Inherit commit message when adding translation",
          "type": "boolean",
          "default": false
        },
        "inherit_delete_message": {
          "$id": "#root/component/inherit_delete_message",
          "title": "Inherit commit message when removing translation",
          "type": "boolean",
          "default": false
        },
        "inherit_merge_message": {
          "$id": "#root/component/inherit_merge_message",
          "title": "Inherit commit message when merging translation",
          "type": "boolean",
          "default": false
        },
        "inherit_addon_message": {
          "$id": "#root/component/inherit_addon_message",
          "title": "Inherit commit message when add-on makes a change",
          "type": "boolean",
          "default": false
        },
        "inherit_pull_message": {
          "$id": "#root/component/inherit_pull_message",
          "title": "Inherit merge request message",
          "type": "boolean",
          "default": false
        },
        "manage_units": {
          "$id": "#root/component/manage_units",
          "title": "Manage strings",
          "type": "boolean"
        },
        "merge_style": {
          "$id": "#root/component/merge_style",
          "title": "Merge style",
          "type": "string",
          "enum": [
            "merge",
            "rebase",
            "merge_noff"
          ]
        },
        "commit_message": {
          "$id": "#root/component/commit_message",
          "title": "Commit message when translating",
          "type": "string"
        },
        "add_message": {
          "$id": "#root/component/add_message",
          "title": "Commit message when adding translation",
          "type": "string"
        },
        "delete_message": {
          "$id": "#root/component/delete_message",
          "title": "Commit message when removing translation",
          "type": "string"
        },
        "merge_message": {
          "$id": "#root/component/merge_message",
          "title": "Commit message when merging translation",
          "type": "string"
        },
        "addon_message": {
          "$id": "#root/component/addon_message",
          "title": "Commit message when add-on makes a change",
          "type": "string"
        },
        "pull_message": {
          "$id": "#root/component/pull_message",
          "title": "Merge request message",
          "type": "string"
        },
        "push_on_commit": {
          "$id": "#root/component/push_on_commit",
          "title": "Push on commit",
          "type": "boolean"
        },
        "commit_pending_age": {
          "$id": "#root/component/commit_pending_age",
          "title": "Age of changes to commit",
          "type": "integer"
        },
        "auto_lock_error": {
          "$id": "#root/component/auto_lock_error",
          "title": "Lock on error",
          "type": "boolean"
        },
        "source_language": {
          "$id": "#root/component/source_language",
          "title": "Source language code",
          "type": "string"
        },
        "language_regex": {
          "$id": "#root/component/language_regex",
          "title": "Language filter",
          "type": "string"
        },
        "variant_regex": {
          "$id": "#root/component/variant_regex",
          "title": "Variants regular expression",
          "type": "string"
        },
        "priority": {
          "$id": "#root/component/priority",
          "title": "Priority",
          "type": "integer"
        },
        "restricted": {
          "$id": "#root/component/restricted",
          "title": "Restricted component",
          "type": "boolean"
        },
        "is_glossary": {
          "$id": "#root/component/is_glossary",
          "title": "Use as a glossary",
          "type": "boolean"
        },
        "glossary_color": {
          "$id": "#root/component/glossary_color",
          "title": "Glossary color",
          "type": "string"
        },
        "remote_revision": {
          "$id": "#root/component/remote_revision",
          "title": "Remote revision",
          "type": "string"
        },
        "local_revision": {
          "$id": "#root/component/local_revision",
          "title": "Local revision",
          "type": "string"
        }
      }
    },
    "translations": {
      "$id": "#root/translations",
      "title": "Translation data",
      "type": "array",
      "default": [],
      "items": {
        "$id": "#root/translations/items",
        "title": "Items",
        "type": "object",
        "required": [
          "id",
          "language_code",
          "plural",
          "revision",
          "filename"
        ],
        "additionalProperties": false,
        "properties": {
          "id": {
            "$id": "#root/translations/items/id",
            "title": "Primary key",
            "type": "integer"
          },
          "filename": {
            "$id": "#root/translations/items/filename",
            "title": "Filename",
            "type": "string"
          },
          "language_code": {
            "$id": "#root/translations/items/language_code",
            "title": "Language code",
            "type": "string"
          },
          "plural": {
            "$id": "#root/translations/items/plural",
            "title": "Plural definition",
            "type": "object",
            "required": [
              "source",
              "number",
              "formula",
              "type"
            ],
            "additionalProperties": false,
            "properties": {
              "source": {
                "$id": "#root/translations/items/plural/source",
                "title": "Plural definition source",
                "type": "integer"
              },
              "number": {
                "$id": "#root/translations/items/plural/number",
                "title": "Number of plurals",
                "type": "integer"
              },
              "formula": {
                "$id": "#root/translations/items/plural/formula",
                "title": "Plural formula",
                "type": "string"
              },
              "type": {
                "$id": "#root/translations/items/plural/type",
                "title": "Plural type",
                "type": "integer"
              }
            }
          },
          "revision": {
            "$id": "#root/translations/items/revision",
            "title": "File revision",
            "type": "string"
          },
          "check_flags": {
            "$id": "#root/translations/items/check_flags",
            "title": "Translation flags",
            "type": "string"
          }
        }
      }
    },
    "units": {
      "$id": "#root/units",
      "title": "Unit data",
      "type": "array",
      "items": {
        "$id": "#root/units/items",
        "title": "Unit data",
        "type": "object",
        "required": [
          "translation_id",
          "id_hash",
          "location",
          "context",
          "note",
          "flags",
          "source",
          "previous_source",
          "target",
          "state",
          "original_state",
          "details",
          "position",
          "num_words",
          "priority",
          "timestamp",
          "extra_flags",
          "explanation",
          "labels",
          "comments",
          "checks",
          "suggestions"
        ],
        "additionalProperties": false,
        "properties": {
          "translation_id": {
            "$id": "#root/units/items/translation_id",
            "title": "",
            "type": "integer"
          },
          "id_hash": {
            "$id": "#root/units/items/id_hash",
            "title": "",
            "pattern": "[0-9a-f]{16}",
            "type": "string"
          },
          "location": {
            "$id": "#root/units/items/location",
            "title": "",
            "type": "string"
          },
          "context": {
            "$id": "#root/units/items/context",
            "title": "",
            "type": "string"
          },
          "note": {
            "$id": "#root/units/items/note",
            "title": "",
            "type": "string"
          },
          "flags": {
            "$id": "#root/units/items/flags",
            "title": "",
            "type": "string"
          },
          "source": {
            "$id": "#root/units/items/source",
            "title": "",
            "type": "string"
          },
          "previous_source": {
            "$id": "#root/units/items/previous_source",
            "title": "",
            "type": "string"
          },
          "target": {
            "$id": "#root/units/items/target",
            "title": "",
            "type": "string"
          },
          "state": {
            "$id": "#root/units/items/state",
            "title": "",
            "type": "integer"
          },
          "original_state": {
            "$id": "#root/units/items/original_state",
            "title": "",
            "type": "integer"
          },
          "details": {
            "$id": "#root/units/items/details",
            "title": "",
            "type": "object"
          },
          "position": {
            "$id": "#root/units/items/position",
            "title": "",
            "type": "integer"
          },
          "num_words": {
            "$id": "#root/units/items/num_words",
            "title": "",
            "type": "integer"
          },
          "priority": {
            "$id": "#root/units/items/priority",
            "title": "",
            "type": "integer"
          },
          "pending": {
            "$id": "#root/units/items/pending",
            "title": "",
            "type": "boolean"
          },
          "timestamp": {
            "$id": "#root/units/items/timestamp",
            "type": "string",
            "format": "date-time",
            "default": "",
            "examples": [
              "2019-11-18T18:53:54.862Z"
            ]
          },
          "extra_flags": {
            "$id": "#root/units/items/extra_flags",
            "title": "",
            "type": "string"
          },
          "explanation": {
            "$id": "#root/units/itintegerems/explanation",
            "title": "",
            "type": "string"
          },
          "labels": {
            "$id": "#root/units/items/labels",
            "title": "",
            "type": "array",
            "items": {
              "$id": "#root/units/items/labels/items",
              "title": "Unit labels",
              "type": "string"
            }
          },
          "comments": {
            "$id": "#root/units/items/comments",
            "title": "",
            "type": "array",
            "items": {
              "$id": "#root/units/items/comments/items",
              "title": "Unit comments",
              "type": "object",
              "required": [
                "user",
                "comment",
                "timestamp",
                "resolved"
              ],
              "additionalProperties": false,
              "properties": {
                "user": {
                  "$id": "#root/units/items/comments/items/user",
                  "type": "string"
                },
                "comment": {
                  "$id": "#root/units/items/comments/items/comment",
                  "type": "string"
                },
                "timestamp": {
                  "$id": "#root/units/items/comments/items/timestamp",
                  "type": "string",
                  "format": "date-time",
                  "default": "",
                  "examples": [
                    "2019-11-18T18:53:54.862Z"
                  ]
                },
                "resolved": {
                  "$id": "#root/units/items/comments/items/resolved",
                  "type": "boolean"
                }
              }
            }
          },
          "checks": {
            "$id": "#root/units/items/checks",
            "title": "",
            "type": "array",
            "items": {
              "$id": "#root/units/items/checks/items",
              "title": "Unit checks",
              "type": "object",
              "required": [
                "name",
                "dismissed"
              ],
              "additionalProperties": false,
              "properties": {
                "name": {
                  "$id": "#root/units/items/checks/items/name",
                  "type": "string"
                },
                "dismissed": {
                  "$id": "#root/units/items/checks/items/dismissed",
                  "type": "boolean"
                }
              }
            }
          },
          "suggestions": {
            "$id": "#root/units/items/suggestions",
            "title": "",
            "type": "array",
            "items": {
              "$id": "#root/units/items/suggestions/items",
              "title": "Unit suggestions",
              "type": "object",
              "required": [
                "target",
                "user",
                "timestamp",
                "votes"
              ],
              "additionalProperties": false,
              "properties": {
                "target": {
                  "$id": "#root/units/items/suggestions/items/target",
                  "type": "string"
                },
                "user": {
                  "$id": "#root/units/items/suggestions/items/user",
                  "type": "string"
                },
                "timestamp": {
                  "$id": "#root/units/items/suggestions/items/timestamp",
                  "type": "string",
                  "format": "date-time",
                  "default": "",
                  "examples": [
                    "2019-11-18T18:53:54.862Z"
                  ]
                },
                "votes": {
                  "$id": "#root/units/items/suggestions/items/votes",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "user",
                      "value"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "user": {
                        "$id": "#root/units/items/suggestions/items/votes/items/user",
                        "type": "string"
                      },
                      "value": {
                        "$id": "#root/units/items/suggestions/items/votes/items/value",
                        "type": "integer",
                        "enum": [
                          -1,
                          1
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "screenshots": {
      "$id": "#root/screenshots",
      "title": "Screenshot data",
      "type": "array",
      "items": {
        "$id": "#root/screenshots/items",
        "type": "object",
        "required": [
          "name",
          "image",
          "translation_id",
          "units",
          "timestamp",
          "user"
        ],
        "additionalProperties": false,
        "properties": {
          "name": {
            "$id": "#root/screenshots/items/name",
            "type": "string"
          },
          "image": {
            "$id": "#root/screenshots/items/image",
            "type": "string"
          },
          "translation_id": {
            "$id": "#root/screenshots/items/translation_id",
            "title": "",
            "type": "integer"
          },
          "user": {
            "$id": "#root/screenshots/items/user",
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "timestamp": {
            "$id": "#root/screenshots/items/timestamp",
            "type": "string",
            "format": "date-time",
            "default": "",
            "examples": [
              "2019-11-18T18:53:54.862Z"
            ]
          },
          "units": {
            "$id": "#root/screenshots/items/units",
            "type": "array",
            "items": {
              "$id": "#root/screenshots/items/units/items",
              "pattern": "[0-9a-f]{16}",
              "type": "string"
            }
          }
        }
      }
    },
    "pending_unit_changes": {
      "$id": "#root/pending_unit_changes",
      "title": "Pending unit changes data",
      "type": "array",
      "items": {
        "$id": "#root/pending_unit_changes/items",
        "title": "Pending unit change data",
        "type": "object",
        "required": [
          "translation_id",
          "unit_id_hash",
          "author",
          "target",
          "explanation",
          "state",
          "timestamp",
          "add_unit",
          "source_unit_explanation"
        ],
        "additionalProperties": false,
        "properties": {
          "translation_id": {
            "$id": "#root/pending_unit_changes/items/translation_id",
            "title": "",
            "type": "integer"
          },
          "unit_id_hash": {
            "$id": "#root/pending_unit_changes/items/unit_id_hash",
            "title": "",
            "pattern": "[0-9a-f]{16}",
            "examples": [
              "1234567890abcdef"
            ]
          },
          "author": {
            "$id": "#root/pending_unit_changes/items/author",
            "title": "",
            "type": "string",
            "examples": [
              "weblate"
            ]
          },
          "target": {
            "$id": "#root/pending_unit_changes/items/target",
            "title": "",
            "type": "string",
            "examples": [
              "hello"
            ]
          },
          "explanation": {
            "$id": "#root/pending_unit_changes/items/explanation",
            "title": "",
            "type": "string",
            "examples": [
              "used as a greeting to begin conversation"
            ]
          },
          "state": {
            "$id": "#root/pending_unit_changes/items/state",
            "title": "",
            "type": "integer",
            "examples": [
              0
            ]
          },
          "timestamp": {
            "$id": "#root/pending_unit_changes/items/timestamp",
            "type": "string",
            "format": "date-time",
            "default": "",
            "examples": [
              "2019-11-18T18:53:54.862Z"
            ]
          },
          "add_unit": {
            "$id": "#root/pending_unit_changes/items/add_unit",
            "title": "",
            "type": "boolean",
            "default": false,
            "examples": [
              true,
              false
            ]
          },
          "source_unit_explanation": {
            "$id": "#root/pending_unit_changes/items/source_unit_explanation",
            "title": "",
            "type": "string",
            "examples": [
              "used as a greeting to begin conversation"
            ]
          }
        }
      }
    }
  }
}