{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "$schema": {
      "type": "string",
      "description": "URL to a schema file"
    },
    "scope": {
      "type": "string",
      "enum": [
        "Server",
        "Framework",
        "Control",
        "Application"
      ],
      "description": "Describes if this file targets a server, framework or control file when it is copied inside the hmi project."
    },
    "source": {
      "type": "string",
      "description": "Identifies the localization file source for project level override. Required in engineering environment if file is used to override localization files with Control or Function scope. Example: 'TcHmi.Controls.System.TcHmiControl'"
    },
    "order": {
      "type": "integer",
      "description": "Load order of language files. If multiple files of the same language are available the one with the lowest order will be used for conflicting variables."
    },
    "locale": {
      "description": "Language and Region (optionally) as described in ISO 639/BCP 47 (Examples: 'en', 'en-US').",
      "format": "locale",
      "type": "string"
    },
    "localizedText": {
      "type": "object",
      "description": "Name of each additionalProperties entry is the name of each text variable.",
      "additionalProperties": {
        "description": "Localized text. It may contain placeholders like {0}, {1}, ... May be null if current locale does not have a text.",
        "anyOf": [
          {
            "description": "Localized text. It may contain placeholders like {0}, {1}, ...",
            "type": "string"
          },
          {
            "description": "Localized key which has no text value in this locale.",
            "type": "null"
          }
        ]
      }
    }
  },
  "required": [
    "locale",
    "localizedText"
  ],
  "additionalProperties": false
}