{"version":3,"file":"index.mjs","sources":["../../../../packages/locale/index.ts"],"sourcesContent":["import dayjs from 'dayjs'\nimport { debugWarn } from '@element-plus/utils/error'\nimport defaultLang from './lang/en'\n\nexport type TranslatePair = {\n  [key: string]: string | string[] | TranslatePair\n}\n\nexport type Language = {\n  name: string\n  el: TranslatePair\n}\n\nlet lang: Language = defaultLang as Language\n\nlet i18nHandler: null | ((...args: any[]) => string) = null\n\nexport const i18n = (fn: (...args: any[]) => string) => {\n  i18nHandler = fn\n}\n\nexport const restoreHandler = () => (i18nHandler = defaultTranslator)\n\nfunction template(str: string, option) {\n  if (!str || !option) return str\n\n  return str.replace(/\\{(\\w+)\\}/g, (_, key) => {\n    return option[key]\n  })\n}\n\nconst defaultTranslator = (...args: any[]) => {\n  const [path, option] = args\n  let value\n  const array = path.split('.')\n  let current = lang\n  for (let i = 0, j = array.length; i < j; i++) {\n    const property = array[i]\n    value = current[property]\n    if (i === j - 1) return template(value, option)\n    if (!value) return ''\n    current = value\n  }\n}\n\nexport const t = (...args: any[]): string => {\n  if (i18nHandler) {\n    const translation = i18nHandler(...args)\n    return translation || defaultTranslator(...args)\n  }\n  return defaultTranslator(...args)\n}\n\nexport const use = (l: Language): void => {\n  debugWarn(\n    'deprecation',\n    `:\n      The previous i18n usage is deprecated please update to\n      the new one to get reactive i18n translations, refer to:\n      https://element-plus.org/#/en-US/component/i18n\n    `\n  )\n\n  lang = l || lang\n  if (lang.name) {\n    dayjs.locale(lang.name)\n  }\n}\n\nexport const setLocale = use\n"],"names":[],"mappings":";;;;AAaA,IAAI,OAAiB;AAErB,IAAI,cAAmD;MAE1C,OAAO,CAAC,OAAmC;AACtD,gBAAc;AAAA;MAGH,iBAAiB,MAAO,cAAc;AAEnD,kBAAkB,KAAa,QAAQ;AACrC,MAAI,CAAC,OAAO,CAAC;AAAQ,WAAO;AAE5B,SAAO,IAAI,QAAQ,cAAc,CAAC,GAAG,QAAQ;AAC3C,WAAO,OAAO;AAAA;AAAA;AAIlB,MAAM,oBAAoB,IAAI,SAAgB;AAC5C,QAAM,CAAC,MAAM,UAAU;AACvB,MAAI;AACJ,QAAM,QAAQ,KAAK,MAAM;AACzB,MAAI,UAAU;AACd,WAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,IAAI,GAAG,KAAK;AAC5C,UAAM,WAAW,MAAM;AACvB,YAAQ,QAAQ;AAChB,QAAI,MAAM,IAAI;AAAG,aAAO,SAAS,OAAO;AACxC,QAAI,CAAC;AAAO,aAAO;AACnB,cAAU;AAAA;AAAA;MAID,IAAI,IAAI,SAAwB;AAC3C,MAAI,aAAa;AACf,UAAM,cAAc,YAAY,GAAG;AACnC,WAAO,eAAe,kBAAkB,GAAG;AAAA;AAE7C,SAAO,kBAAkB,GAAG;AAAA;MAGjB,MAAM,CAAC,MAAsB;AACxC,YACE,eACA;AAAA;AAAA;AAAA;AAAA;AAOF,SAAO,KAAK;AACZ,MAAI,KAAK,MAAM;AACb,UAAM,OAAO,KAAK;AAAA;AAAA;MAIT,YAAY;;;;"}