{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "src/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "Translation",
          "declaration": {
            "name": "Translation",
            "module": "./controllers/localize.js"
          }
        },
        {
          "kind": "js",
          "name": "DefaultTranslation",
          "declaration": {
            "name": "DefaultTranslation",
            "module": "./controllers/localize.js"
          }
        },
        {
          "kind": "js",
          "name": "registerTranslation",
          "declaration": {
            "name": "registerTranslation",
            "module": "./controllers/localize.js"
          }
        },
        {
          "kind": "js",
          "name": "LocalizeController",
          "declaration": {
            "name": "LocalizeController",
            "module": "./controllers/localize.js"
          }
        },
        {
          "kind": "js",
          "name": "LocalizeMixin",
          "declaration": {
            "name": "LocalizeMixin",
            "module": "src/index.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/controllers/localize.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "update",
          "description": "Updates all localized elements that are currently connected"
        },
        {
          "kind": "function",
          "name": "registerTranslation",
          "parameters": [
            {
              "name": "translation",
              "type": {
                "text": "Translation[]"
              }
            }
          ],
          "description": "Registers one or more translations"
        },
        {
          "kind": "class",
          "description": "Localize Reactive Controller for components built with Lit\n\nTo use this controller, import the class and instantiate it in a custom element constructor:\n\nprivate localize = new LocalizeController(this);\n\nThis will add the element to the set and make it respond to changes to <html dir|lang> automatically. To make it\nrespond to changes to its own dir|lang properties, make it a property:",
          "name": "LocalizeController",
          "members": [
            {
              "kind": "field",
              "name": "host",
              "type": {
                "text": "ReactiveControllerHost & HTMLElement"
              },
              "default": "host"
            },
            {
              "kind": "method",
              "name": "hostConnected"
            },
            {
              "kind": "method",
              "name": "hostDisconnected"
            },
            {
              "kind": "method",
              "name": "dir",
              "description": "Gets the host element's directionality as determined by the `dir` attribute. The return value is transformed to\nlowercase."
            },
            {
              "kind": "method",
              "name": "lang",
              "description": "Gets the host element's language as determined by the `lang` attribute. The return value is transformed to\nlowercase."
            },
            {
              "kind": "method",
              "name": "getTranslationData",
              "privacy": "private",
              "parameters": [
                {
                  "name": "lang",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "exists",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "key",
                  "type": {
                    "text": "K"
                  }
                },
                {
                  "name": "options",
                  "type": {
                    "text": "Partial<ExistsOptions>"
                  }
                }
              ],
              "description": "Determines if the specified term exists, optionally checking the fallback translation."
            },
            {
              "kind": "method",
              "name": "term",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "key",
                  "type": {
                    "text": "K"
                  }
                },
                {
                  "name": "args",
                  "type": {
                    "text": "FunctionParams<UserTranslation[K]>"
                  }
                }
              ],
              "description": "Outputs a translated term."
            },
            {
              "kind": "method",
              "name": "date",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "dateToFormat",
                  "type": {
                    "text": "Date | string"
                  }
                },
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "Intl.DateTimeFormatOptions"
                  }
                }
              ],
              "description": "Outputs a localized date in the specified format."
            },
            {
              "kind": "method",
              "name": "number",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "numberToFormat",
                  "type": {
                    "text": "number | string"
                  }
                },
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "Intl.NumberFormatOptions"
                  }
                }
              ],
              "description": "Outputs a localized number in the specified format."
            },
            {
              "kind": "method",
              "name": "relativeTime",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "unit",
                  "type": {
                    "text": "Intl.RelativeTimeFormatUnit"
                  }
                },
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "Intl.RelativeTimeFormatOptions"
                  }
                }
              ],
              "description": "Outputs a localized time in relative format."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "update",
          "declaration": {
            "name": "update",
            "module": "src/controllers/localize.ts"
          }
        },
        {
          "kind": "js",
          "name": "registerTranslation",
          "declaration": {
            "name": "registerTranslation",
            "module": "src/controllers/localize.ts"
          }
        },
        {
          "kind": "js",
          "name": "LocalizeController",
          "declaration": {
            "name": "LocalizeController",
            "module": "src/controllers/localize.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/mixins/localization.ts",
      "declarations": [
        {
          "kind": "mixin",
          "description": "",
          "name": "LocalizeMixin",
          "members": [
            {
              "kind": "field",
              "name": "localize",
              "type": {
                "text": "LocalizeController"
              },
              "privacy": "public",
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "$localize",
              "description": "Restituisce tutta l'utility di traduzione",
              "return": {
                "type": {
                  "text": ""
                }
              },
              "readonly": true
            },
            {
              "kind": "method",
              "name": "$t",
              "privacy": "public",
              "parameters": [
                {
                  "name": "t",
                  "type": {
                    "text": "string"
                  },
                  "description": "La chiave del termine da localizzare (es. 'hello', 'submit', ecc.)."
                }
              ],
              "description": "Restituisce una stringa localizzata a partire da una chiave di termine.\n\nUtilizza il `LocalizeController` per accedere al dizionario corrente e\ntradurre la chiave fornita secondo la lingua attiva.",
              "return": {
                "type": {
                  "text": ""
                }
              }
            },
            {
              "kind": "method",
              "name": "$d",
              "privacy": "public",
              "parameters": [
                {
                  "name": "d",
                  "type": {
                    "text": "Date | string"
                  }
                },
                {
                  "name": "p",
                  "type": {
                    "text": "Intl.DateTimeFormatOptions"
                  },
                  "description": "Le opzioni di formattazione per `Intl.DateTimeFormat` (es. { year: 'numeric', month: 'long', day: 'numeric' })."
                },
                {
                  "description": "La data da formattare come stringa compatibile (es. ISO o con timezone, es. '2021-09-15 14:00:00 ET').",
                  "name": "n"
                }
              ],
              "description": "Formatta una data in base alla localizzazione attiva.\n\nUtilizza il `LocalizeController` per restituire una stringa localizzata\nsecondo le opzioni fornite (es. mese esteso, anno, ecc.).",
              "return": {
                "type": {
                  "text": ""
                }
              }
            },
            {
              "kind": "method",
              "name": "$n",
              "privacy": "public",
              "parameters": [
                {
                  "name": "d",
                  "type": {
                    "text": "number"
                  },
                  "description": "Il numero da formattare."
                },
                {
                  "name": "p",
                  "type": {
                    "text": "Intl.NumberFormatOptions"
                  },
                  "description": "Le opzioni di formattazione (es. { style: 'currency', currency: 'EUR' })."
                }
              ],
              "description": "Formatta un numero secondo le impostazioni locali dell'utente corrente.\n\nUtilizza il `LocalizeController` per applicare formattazione numerica,\nincluse opzioni come separatori, decimali, valute, ecc.",
              "return": {
                "type": {
                  "text": ""
                }
              }
            }
          ],
          "parameters": [
            {
              "name": "Base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "LocalizeMixin",
            "module": "src/mixins/localization.ts"
          }
        }
      ]
    }
  ]
}
