{"version":3,"file":"index.cjs","sources":["../../localization/index.js"],"sourcesContent":["import { LocaleManager, RawBundleSource, useI18N } from '@dialpad/i18n-vue2';\n\nimport enUS from './en-US.ftl?raw';\nimport zhCN from './zh-CN.ftl?raw';\nimport nlNL from './nl-NL.ftl?raw';\nimport frFR from './fr-FR.ftl?raw';\nimport deDE from './de-DE.ftl?raw';\nimport itIT from './it-IT.ftl?raw';\nimport jaJP from './ja-JP.ftl?raw';\nimport ptBR from './pt-BR.ftl?raw';\nimport ruRU from './ru-RU.ftl?raw';\nimport esLA from './es-LA.ftl?raw';\n\nconst dialtoneNamespace = 'dialtone';\n\nexport class DialtoneLocalization {\n  constructor (locale = 'en-US') {\n    if (typeof DialtoneLocalization.instance === 'object') {\n      return DialtoneLocalization.instance;\n    }\n\n    this._locale = locale;\n    this._allowedLocales = {\n      ENGLISH: 'en-US',\n      CHINESE: 'zh-CN',\n      DUTCH: 'nl-NL',\n      FRENCH: 'fr-FR',\n      GERMAN: 'de-DE',\n      ITALIAN: 'it-IT',\n      JAPANESE: 'ja-JP',\n      PORTUGUESE: 'pt-BR',\n      RUSSIAN: 'ru-RU',\n      SPANISH: 'es-LA',\n    };\n\n    const bundleSource = new RawBundleSource({\n      resources: RawBundleSource.builtResources([\n        ['en-US', dialtoneNamespace, enUS],\n        ['zh-CN', dialtoneNamespace, zhCN],\n        ['nl-NL', dialtoneNamespace, nlNL],\n        ['fr-FR', dialtoneNamespace, frFR],\n        ['de-DE', dialtoneNamespace, deDE],\n        ['it-IT', dialtoneNamespace, itIT],\n        ['ja-JP', dialtoneNamespace, jaJP],\n        ['pt-BR', dialtoneNamespace, ptBR],\n        ['ru-RU', dialtoneNamespace, ruRU],\n        ['es-LA', dialtoneNamespace, esLA],\n      ]),\n    });\n\n    const localeManager = new LocaleManager({\n      bundleSource,\n      allowedLocales: Object.values(this.allowedLocales),\n      fallbackLocale: locale,\n      preferredLocale: locale,\n      namespaces: [dialtoneNamespace],\n    });\n\n    localeManager.install(dialtoneNamespace);\n\n    DialtoneLocalization.instance = this;\n    return this;\n  }\n\n  $t (...args) {\n    return useI18N(dialtoneNamespace).$t(...args);\n  }\n\n  $ta (...args) {\n    return useI18N(dialtoneNamespace).$ta(...args);\n  }\n\n  get currentLocale () {\n    return this._locale;\n  }\n\n  set currentLocale (newLocale) {\n    if (newLocale === this._locale) return;\n    if (!Object.values(this.allowedLocales).includes(newLocale)) {\n      throw new Error(`Locale ${newLocale} is not allowed, please use one of the following: ${Object.values(this.allowedLocales).join(', ')}`);\n    }\n\n    this._locale = newLocale;\n    useI18N(dialtoneNamespace).setI18N({ preferredLocale: newLocale }, dialtoneNamespace);\n  }\n\n  get allowedLocales () {\n    return this._allowedLocales;\n  }\n}\n"],"names":["dialtoneNamespace","DialtoneLocalization","locale","bundleSource","RawBundleSource","enUS","zhCN","nlNL","frFR","deDE","itIT","jaJP","ptBR","ruRU","esLA","LocaleManager","args","useI18N","newLocale"],"mappings":"gXAaMA,EAAoB,WAEnB,MAAMC,CAAqB,CAChC,YAAaC,EAAS,QAAS,CAC7B,GAAI,OAAOD,EAAqB,UAAa,SAC3C,OAAOA,EAAqB,SAG9B,KAAK,QAAUC,EACf,KAAK,gBAAkB,CACrB,QAAS,QACT,QAAS,QACT,MAAO,QACP,OAAQ,QACR,OAAQ,QACR,QAAS,QACT,SAAU,QACV,WAAY,QACZ,QAAS,QACT,QAAS,OACf,EAEI,MAAMC,EAAe,IAAIC,kBAAgB,CACvC,UAAWA,EAAe,gBAAC,eAAe,CACxC,CAAC,QAASJ,EAAmBK,SAAI,EACjC,CAAC,QAASL,EAAmBM,SAAI,EACjC,CAAC,QAASN,EAAmBO,SAAI,EACjC,CAAC,QAASP,EAAmBQ,SAAI,EACjC,CAAC,QAASR,EAAmBS,SAAI,EACjC,CAAC,QAAST,EAAmBU,SAAI,EACjC,CAAC,QAASV,EAAmBW,SAAI,EACjC,CAAC,QAASX,EAAmBY,SAAI,EACjC,CAAC,QAASZ,EAAmBa,SAAI,EACjC,CAAC,QAASb,EAAmBc,SAAI,CACzC,CAAO,CACP,CAAK,EAUD,OARsB,IAAIC,gBAAc,CACtC,aAAAZ,EACA,eAAgB,OAAO,OAAO,KAAK,cAAc,EACjD,eAAgBD,EAChB,gBAAiBA,EACjB,WAAY,CAACF,CAAiB,CACpC,CAAK,EAEa,QAAQA,CAAiB,EAEvCC,EAAqB,SAAW,KACzB,IACR,CAED,MAAOe,EAAM,CACX,OAAOC,EAAO,QAACjB,CAAiB,EAAE,GAAG,GAAGgB,CAAI,CAC7C,CAED,OAAQA,EAAM,CACZ,OAAOC,EAAO,QAACjB,CAAiB,EAAE,IAAI,GAAGgB,CAAI,CAC9C,CAED,IAAI,eAAiB,CACnB,OAAO,KAAK,OACb,CAED,IAAI,cAAeE,EAAW,CAC5B,GAAIA,IAAc,KAAK,QACvB,IAAI,CAAC,OAAO,OAAO,KAAK,cAAc,EAAE,SAASA,CAAS,EACxD,MAAM,IAAI,MAAM,UAAUA,CAAS,qDAAqD,OAAO,OAAO,KAAK,cAAc,EAAE,KAAK,IAAI,CAAC,EAAE,EAGzI,KAAK,QAAUA,EACfD,EAAO,QAACjB,CAAiB,EAAE,QAAQ,CAAE,gBAAiBkB,CAAS,EAAIlB,CAAiB,EACrF,CAED,IAAI,gBAAkB,CACpB,OAAO,KAAK,eACb,CACH"}