{
  "$defs": {
    "__schema0": {
      "minLength": 1,
      "type": "string"
    },
    "__schema1": {
      "anyOf": [
        {
          "$ref": "#/$defs/__schema0"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "__schema10": {
      "additionalProperties": {
        "$ref": "#/$defs/__schema6"
      },
      "propertyNames": {
        "enum": [
          "zero",
          "one",
          "two",
          "few",
          "many",
          "other"
        ],
        "type": "string"
      },
      "type": "object"
    },
    "__schema11": {
      "const": "select",
      "type": "string"
    },
    "__schema12": {
      "additionalProperties": {
        "$ref": "#/$defs/__schema6"
      },
      "propertyNames": {
        "minLength": 1,
        "type": "string"
      },
      "type": "object"
    },
    "__schema13": {
      "type": "string"
    },
    "__schema14": {
      "type": "string"
    },
    "__schema15": {
      "additionalProperties": {
        "enum": [
          "printable",
          "string",
          "number",
          "integer",
          "plural-number"
        ],
        "type": "string"
      },
      "propertyNames": {
        "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$",
        "title": "MessageArgumentName",
        "type": "string"
      },
      "type": "object"
    },
    "__schema16": {
      "additionalProperties": {
        "$ref": "#/$defs/__schema5"
      },
      "propertyNames": {
        "minLength": 1,
        "type": "string"
      },
      "type": "object"
    },
    "__schema17": {
      "additionalProperties": {
        "type": "string"
      },
      "propertyNames": {
        "minLength": 1,
        "type": "string"
      },
      "type": "object"
    },
    "__schema18": {
      "additionalProperties": {
        "additionalProperties": false,
        "properties": {
          "family": {
            "enum": [
              "lua",
              "rml"
            ],
            "type": "string"
          },
          "occurrences": {
            "items": {
              "$ref": "#/$defs/__schema20"
            },
            "type": "array"
          },
          "ownerKey": {
            "minLength": 1,
            "type": "string"
          },
          "sourcePath": {
            "minLength": 1,
            "type": "string"
          },
          "sourceSnapshotFingerprint": {
            "$ref": "#/$defs/__schema19"
          }
        },
        "required": [
          "family",
          "ownerKey",
          "sourcePath",
          "sourceSnapshotFingerprint",
          "occurrences"
        ],
        "type": "object"
      },
      "propertyNames": {
        "minLength": 1,
        "type": "string"
      },
      "type": "object"
    },
    "__schema19": {
      "pattern": "^fnv1a:[0-9a-f]{32}$",
      "title": "LocalizationSourceTrackingFingerprint",
      "type": "string"
    },
    "__schema2": {
      "additionalProperties": {
        "additionalProperties": false,
        "properties": {
          "displayName": {
            "minLength": 1,
            "type": "string"
          },
          "fontStack": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/$defs/__schema3"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ]
          },
          "parentLocale": {
            "anyOf": [
              {
                "$ref": "#/$defs/__schema0"
              },
              {
                "type": "null"
              }
            ]
          },
          "supported": {
            "type": "boolean"
          }
        },
        "required": [
          "supported",
          "parentLocale",
          "fontStack"
        ],
        "type": "object"
      },
      "propertyNames": {
        "$ref": "#/$defs/__schema0"
      },
      "type": "object"
    },
    "__schema20": {
      "additionalProperties": false,
      "properties": {
        "anchorFingerprint": {
          "$ref": "#/$defs/__schema19"
        },
        "contextSnapshot": {
          "type": "string"
        },
        "messageId": {
          "$ref": "#/$defs/__schema5"
        },
        "ordinal": {
          "maximum": 9007199254740991,
          "minimum": 0,
          "type": "integer"
        },
        "sourceFingerprint": {
          "$ref": "#/$defs/__schema19"
        },
        "sourceSnapshot": {
          "type": "string"
        },
        "structuralFingerprint": {
          "$ref": "#/$defs/__schema19"
        },
        "translatorNoteSnapshot": {
          "type": "string"
        }
      },
      "required": [
        "messageId",
        "ordinal",
        "structuralFingerprint",
        "anchorFingerprint",
        "sourceFingerprint",
        "sourceSnapshot"
      ],
      "type": "object"
    },
    "__schema21": {
      "additionalProperties": {
        "additionalProperties": false,
        "properties": {
          "family": {
            "enum": [
              "lua",
              "rml"
            ],
            "type": "string"
          },
          "occurrence": {
            "$ref": "#/$defs/__schema20"
          },
          "ownerKey": {
            "minLength": 1,
            "type": "string"
          },
          "sourcePath": {
            "minLength": 1,
            "type": "string"
          },
          "sourceSnapshotFingerprint": {
            "$ref": "#/$defs/__schema19"
          },
          "translations": {
            "additionalProperties": {
              "$ref": "#/$defs/__schema22"
            },
            "propertyNames": {
              "$ref": "#/$defs/__schema0"
            },
            "type": "object"
          }
        },
        "required": [
          "family",
          "ownerKey",
          "sourcePath",
          "sourceSnapshotFingerprint",
          "occurrence",
          "translations"
        ],
        "type": "object"
      },
      "propertyNames": {
        "$ref": "#/$defs/__schema5"
      },
      "type": "object"
    },
    "__schema22": {
      "additionalProperties": false,
      "properties": {
        "acknowledgedGuidanceFingerprint": {
          "$ref": "#/$defs/__schema23"
        },
        "acknowledgedPresentationFingerprint": {
          "$ref": "#/$defs/__schema23"
        },
        "dialogueCues": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "id": {
                "minLength": 1,
                "type": "string"
              },
              "position": {
                "additionalProperties": false,
                "properties": {
                  "offset": {
                    "maximum": 9007199254740991,
                    "minimum": 0,
                    "type": "integer"
                  },
                  "order": {
                    "maximum": 9007199254740991,
                    "minimum": 0,
                    "type": "integer"
                  }
                },
                "required": [
                  "offset",
                  "order"
                ],
                "type": "object"
              }
            },
            "required": [
              "id",
              "position"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "model": {
          "minLength": 1,
          "type": "string"
        },
        "origin": {
          "enum": [
            "human",
            "ai",
            "imported",
            "unknown"
          ],
          "type": "string"
        },
        "pattern": {
          "$ref": "#/$defs/__schema6"
        },
        "provider": {
          "minLength": 1,
          "type": "string"
        },
        "review": {
          "enum": [
            "needs-review",
            "reviewed"
          ],
          "type": "string"
        },
        "sourceFingerprint": {
          "$ref": "#/$defs/__schema23"
        },
        "text": {
          "type": "string"
        },
        "useSource": {
          "const": true,
          "type": "boolean"
        }
      },
      "required": [
        "text",
        "sourceFingerprint",
        "origin",
        "review"
      ],
      "type": "object"
    },
    "__schema23": {
      "pattern": "^fnv1a:[0-9a-f]{32}$",
      "title": "LocalizationWorkflowFingerprint",
      "type": "string"
    },
    "__schema24": {
      "additionalProperties": {
        "additionalProperties": {
          "$ref": "#/$defs/__schema22"
        },
        "propertyNames": {
          "$ref": "#/$defs/__schema5"
        },
        "type": "object"
      },
      "propertyNames": {
        "$ref": "#/$defs/__schema0"
      },
      "type": "object"
    },
    "__schema25": {
      "additionalProperties": {
        "additionalProperties": {
          "anyOf": [
            {
              "additionalProperties": false,
              "properties": {
                "useSource": {
                  "const": true,
                  "type": "boolean"
                }
              },
              "required": [
                "useSource"
              ],
              "type": "object"
            },
            {
              "additionalProperties": false,
              "properties": {
                "asset": {
                  "$ref": "#/$defs/__schema3"
                },
                "model": {
                  "minLength": 1,
                  "type": "string"
                },
                "origin": {
                  "enum": [
                    "human",
                    "ai",
                    "imported",
                    "unknown"
                  ],
                  "type": "string"
                },
                "provider": {
                  "minLength": 1,
                  "type": "string"
                },
                "review": {
                  "enum": [
                    "needs-review",
                    "reviewed"
                  ],
                  "type": "string"
                },
                "sourceFingerprint": {
                  "$ref": "#/$defs/__schema23"
                }
              },
              "required": [
                "asset",
                "sourceFingerprint",
                "origin",
                "review"
              ],
              "type": "object"
            }
          ]
        },
        "propertyNames": {
          "minLength": 1,
          "type": "string"
        },
        "type": "object"
      },
      "propertyNames": {
        "$ref": "#/$defs/__schema0"
      },
      "type": "object"
    },
    "__schema3": {
      "additionalProperties": false,
      "properties": {
        "$ref": {
          "additionalProperties": false,
          "properties": {
            "collection": {
              "const": "assets",
              "type": "string"
            },
            "id": {
              "minLength": 1,
              "type": "string"
            }
          },
          "required": [
            "collection",
            "id"
          ],
          "type": "object"
        }
      },
      "required": [
        "$ref"
      ],
      "type": "object"
    },
    "__schema4": {
      "additionalProperties": {
        "oneOf": [
          {
            "additionalProperties": false,
            "properties": {
              "arguments": {
                "$ref": "#/$defs/__schema15"
              },
              "context": {
                "$ref": "#/$defs/__schema13"
              },
              "kind": {
                "const": "local",
                "type": "string"
              },
              "pattern": {
                "$ref": "#/$defs/__schema6"
              },
              "source": {
                "type": "string"
              },
              "translatorNote": {
                "$ref": "#/$defs/__schema14"
              }
            },
            "required": [
              "kind",
              "source"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "arguments": {
                "$ref": "#/$defs/__schema15"
              },
              "context": {
                "$ref": "#/$defs/__schema13"
              },
              "key": {
                "pattern": "^[A-Za-z][A-Za-z0-9_-]*(?:\\.[A-Za-z][A-Za-z0-9_-]*)+$",
                "title": "NamedMessageKey",
                "type": "string"
              },
              "kind": {
                "const": "named",
                "type": "string"
              },
              "pattern": {
                "$ref": "#/$defs/__schema6"
              },
              "source": {
                "type": "string"
              },
              "translatorNote": {
                "$ref": "#/$defs/__schema14"
              }
            },
            "required": [
              "kind",
              "key",
              "source"
            ],
            "type": "object"
          }
        ]
      },
      "propertyNames": {
        "$ref": "#/$defs/__schema5"
      },
      "type": "object"
    },
    "__schema5": {
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "title": "MessageId",
      "type": "string"
    },
    "__schema6": {
      "$ref": "#/$defs/__schema7",
      "title": "MessagePattern",
      "x-noveltea-documentation": {
        "constraints": [
          "Every plural pattern must contain an 'other' case.",
          "Every select pattern must contain an 'other' fallback case."
        ],
        "examples": [
          {
            "title": "Plural with nested select fallback",
            "value": {
              "argument": "count",
              "cases": {
                "one": {
                  "kind": "text",
                  "text": "One item"
                },
                "other": {
                  "argument": "audience",
                  "cases": {
                    "formal": {
                      "kind": "text",
                      "text": "{count} items"
                    },
                    "other": {
                      "kind": "text",
                      "text": "{count} things"
                    }
                  },
                  "kind": "select"
                }
              },
              "kind": "plural"
            }
          }
        ]
      }
    },
    "__schema7": {
      "oneOf": [
        {
          "additionalProperties": false,
          "properties": {
            "kind": {
              "const": "text",
              "type": "string"
            },
            "text": {
              "type": "string"
            }
          },
          "required": [
            "kind",
            "text"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "argument": {
              "$ref": "#/$defs/__schema9"
            },
            "cases": {
              "$ref": "#/$defs/__schema10"
            },
            "kind": {
              "$ref": "#/$defs/__schema8"
            }
          },
          "required": [
            "kind",
            "argument",
            "cases"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "argument": {
              "$ref": "#/$defs/__schema9"
            },
            "cases": {
              "$ref": "#/$defs/__schema12"
            },
            "kind": {
              "$ref": "#/$defs/__schema11"
            }
          },
          "required": [
            "kind",
            "argument",
            "cases"
          ],
          "type": "object"
        }
      ]
    },
    "__schema8": {
      "const": "plural",
      "type": "string"
    },
    "__schema9": {
      "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$",
      "title": "MessageSelectorArgumentName",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "assets": {
      "$ref": "#/$defs/__schema25"
    },
    "defaultLocale": {
      "$ref": "#/$defs/__schema0"
    },
    "locales": {
      "$ref": "#/$defs/__schema2"
    },
    "messages": {
      "$ref": "#/$defs/__schema4"
    },
    "orphanedMessages": {
      "$ref": "#/$defs/__schema21"
    },
    "sourceLocale": {
      "$ref": "#/$defs/__schema0"
    },
    "sourceLocaleLock": {
      "$ref": "#/$defs/__schema1"
    },
    "sourceMessageTracking": {
      "$ref": "#/$defs/__schema18"
    },
    "structuredMessageIds": {
      "$ref": "#/$defs/__schema16"
    },
    "translations": {
      "$ref": "#/$defs/__schema24"
    },
    "usageNotes": {
      "$ref": "#/$defs/__schema17"
    }
  },
  "required": [
    "sourceLocale",
    "defaultLocale",
    "locales",
    "messages",
    "structuredMessageIds",
    "usageNotes",
    "sourceMessageTracking",
    "orphanedMessages",
    "translations",
    "assets"
  ],
  "type": "object"
}
