summaryrefslogtreecommitdiff
path: root/ext/data/schemas/dictionary-index-schema.json
blob: 000484320d230e454623dcd1369fd829f71cf56f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
{
    "$id": "dictionaryIndex",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
        "isoLanguageCode": {
            "type": "string",
            "description": "ISO language code (ISO 639-1 where possible, ISO 639-3 otherwise).",
            "pattern": "^(aa|ab|ae|af|ak|am|an|ar|as|av|ay|az|az|ba|be|bg|bh|bi|bm|bn|bo|br|bs|ca|ce|ch|co|cr|cs|cu|cv|cy|da|de|dv|dz|ee|el|en|eo|es|et|eu|fa|ff|fi|fj|fo|fr|fy|ga|gd|gl|gn|grc|gu|gv|ha|he|hi|ho|hr|ht|hu|hy|hz|ia|id|ie|ig|ii|ik|io|is|it|iu|ja|jv|ka|kg|ki|kj|kk|kl|km|kn|ko|kr|ks|ku|kv|kw|ky|la|lb|lg|li|ln|lo|lt|lu|lv|mg|mh|mi|mk|ml|mn|mr|ms|mt|my|na|nb|nd|ne|ng|nl|nn|no|nr|nv|ny|oc|oj|om|or|os|pa|pi|pl|ps|pt|qu|rm|rn|ro|ru|rw|sa|sc|sd|se|sg|sh|si|sk|sl|sm|sn|so|sq|sr|ss|st|su|sv|sw|ta|te|tg|th|ti|tk|tl|tn|to|tr|ts|tt|tw|ty|ug|uk|ur|uz|ve|vi|vo|wa|wo|xh|yi|yo|za|zh|zu)$"
        }
    },
    "type": "object",
    "description": "Index file containing information about the data contained in the dictionary.",
    "required": [
        "title",
        "revision"
    ],
    "properties": {
        "title": {
            "type": "string",
            "description": "Title of the dictionary."
        },
        "revision": {
            "type": "string",
            "description": "Revision of the dictionary. This value is only used for displaying information."
        },
        "sequenced": {
            "type": "boolean",
            "default": false,
            "description": "Whether or not this dictionary contains sequencing information for related terms."
        },
        "format": {
            "type": "integer",
            "description": "Format of data found in the JSON data files.",
            "enum": [1, 2, 3]
        },
        "version": {
            "type": "integer",
            "description": "Alias for format.",
            "enum": [1, 2, 3]
        },
        "author": {
            "type": "string",
            "description": "Creator of the dictionary."
        },
        "url": {
            "type": "string",
            "description": "URL for the source of the dictionary."
        },
        "description": {
            "type": "string",
            "description": "Description of the dictionary data."
        },
        "attribution": {
            "type": "string",
            "description": "Attribution information for the dictionary data."
        },
        "sourceLanguage": {
            "$ref": "#/definitions/isoLanguageCode",
            "description": "Language of the terms in the dictionary."
        },
        "targetLanguage": {
            "$ref": "#/definitions/isoLanguageCode",
            "description": "Main language of the definitions in the dictionary."
        },
        "frequencyMode": {
            "type": "string",
            "enum": ["occurrence-based", "rank-based"]
        },
        "tagMeta": {
            "type": "object",
            "description": "Tag information for terms and kanji. This object is obsolete and individual tag files should be used instead.",
            "additionalProperties": {
                "type": "object",
                "description": "Information about a single tag. The object key is the name of the tag.",
                "properties": {
                    "category": {
                        "type": "string",
                        "description": "Category for the tag."
                    },
                    "order": {
                        "type": "number",
                        "description": "Sorting order for the tag."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Notes for the tag."
                    },
                    "score": {
                        "type": "number",
                        "description": "Score used to determine popularity. Negative values are more rare and positive values are more frequent. This score is also used to sort search results."
                    }
                },
                "additionalProperties": false
            }
        }
    },
    "anyOf": [
        {
            "required": ["format"]
        },
        {
            "required": ["version"]
        }
    ]
}