{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://github.com/damian-buho/textlint-rule-ukraine/dictionary.schema.json",
  "title": "textlint-rule-ukraine dictionary",
  "description": "Dictionary of russified Ukrainian place/person names and their corrections",
  "type": "array",
  "items": {
    "type": "object",
    "required": ["wrong", "correct", "id", "tags"],
    "additionalProperties": false,
    "properties": {
      "wrong": {
        "type": "array",
        "minItems": 1,
        "items": {
          "type": "string",
          "minLength": 1
        },
        "uniqueItems": true,
        "description": "Incorrect (russified) spellings to detect"
      },
      "correct": {
        "type": "string",
        "minLength": 1,
        "description": "Correct Ukrainian spelling"
      },
      "id": {
        "type": "string",
        "pattern": "^[a-z0-9_-]+$",
        "description": "Unique identifier (lowercase, underscores, hyphens)"
      },
      "tags": {
        "type": "array",
        "minItems": 1,
        "items": {
          "type": "string",
          "enum": ["geo", "names", "extra"]
        },
        "uniqueItems": true,
        "description": "Tag groups controlling when this entry is active"
      },
      "exact": {
        "type": "boolean",
        "default": false,
        "description": "When true, output correct verbatim without case preservation"
      }
    }
  }
}
