HEX
Server: LiteSpeed
System: Linux s3604.bom1.stableserver.net 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User: dmstechonline (1480)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/dmstechonline/whatsapp.dmstech.online/node_modules/.vite/deps/laravel-vue-i18n.js
import "./chunk-QNPQGVCQ.js";
import {
  computed,
  reactive,
  watchEffect
} from "./chunk-GJ2CBTJY.js";
import "./chunk-ROME4SDB.js";

// node_modules/laravel-vue-i18n/dist/utils/get-plural-index.mjs
function getPluralIndex(lang, number) {
  switch (lang.replace("_", "-")) {
    case "af":
    case "af-ZA":
    case "bn":
    case "bn-BD":
    case "bn-IN":
    case "bg":
    case "bg-BG":
    case "ca":
    case "ca-AD":
    case "ca-ES":
    case "ca-FR":
    case "ca-IT":
    case "da":
    case "da-DK":
    case "de":
    case "de-AT":
    case "de-BE":
    case "de-CH":
    case "de-DE":
    case "de-LI":
    case "de-LU":
    case "el":
    case "el-CY":
    case "el-GR":
    case "en":
    case "en-AG":
    case "en-AU":
    case "en-BW":
    case "en-CA":
    case "en-DK":
    case "en-GB":
    case "en-HK":
    case "en-IE":
    case "en-IN":
    case "en-NG":
    case "en-NZ":
    case "en-PH":
    case "en-SG":
    case "en-US":
    case "en-ZA":
    case "en-ZM":
    case "en-ZW":
    case "eo":
    case "eo-US":
    case "es":
    case "es-AR":
    case "es-BO":
    case "es-CL":
    case "es-CO":
    case "es-CR":
    case "es-CU":
    case "es-DO":
    case "es-EC":
    case "es-ES":
    case "es-GT":
    case "es-HN":
    case "es-MX":
    case "es-NI":
    case "es-PA":
    case "es-PE":
    case "es-PR":
    case "es-PY":
    case "es-SV":
    case "es-US":
    case "es-UY":
    case "es-VE":
    case "et":
    case "et-EE":
    case "eu":
    case "eu-ES":
    case "eu-FR":
    case "fa":
    case "fa-IR":
    case "fi":
    case "fi-FI":
    case "fo":
    case "fo-FO":
    case "fur":
    case "fur-IT":
    case "fy":
    case "fy-DE":
    case "fy-NL":
    case "gl":
    case "gl-ES":
    case "gu":
    case "gu-IN":
    case "ha":
    case "ha-NG":
    case "he":
    case "he-IL":
    case "hu":
    case "hu-HU":
    case "is":
    case "is-IS":
    case "it":
    case "it-CH":
    case "it-IT":
    case "ku":
    case "ku-TR":
    case "lb":
    case "lb-LU":
    case "ml":
    case "ml-IN":
    case "mn":
    case "mn-MN":
    case "mr":
    case "mr-IN":
    case "nah":
    case "nb":
    case "nb-NO":
    case "ne":
    case "ne-NP":
    case "nl":
    case "nl-AW":
    case "nl-BE":
    case "nl-NL":
    case "nn":
    case "nn-NO":
    case "no":
    case "om":
    case "om-ET":
    case "om-KE":
    case "or":
    case "or-IN":
    case "pa":
    case "pa-IN":
    case "pa-PK":
    case "pap":
    case "pap-AN":
    case "pap-AW":
    case "pap-CW":
    case "ps":
    case "ps-AF":
    case "pt":
    case "pt-BR":
    case "pt-PT":
    case "so":
    case "so-DJ":
    case "so-ET":
    case "so-KE":
    case "so-SO":
    case "sq":
    case "sq-AL":
    case "sq-MK":
    case "sv":
    case "sv-FI":
    case "sv-SE":
    case "sw":
    case "sw-KE":
    case "sw-TZ":
    case "ta":
    case "ta-IN":
    case "ta-LK":
    case "te":
    case "te-IN":
    case "tk":
    case "tk-TM":
    case "ur":
    case "ur-IN":
    case "ur-PK":
    case "zu":
    case "zu-ZA":
      return number === 1 ? 0 : 1;
    case "am":
    case "am-ET":
    case "bh":
    case "fil":
    case "fil-PH":
    case "fr":
    case "fr-BE":
    case "fr-CA":
    case "fr-CH":
    case "fr-FR":
    case "fr-LU":
    case "gun":
    case "hi":
    case "hi-IN":
    case "hy":
    case "hy-AM":
    case "ln":
    case "ln-CD":
    case "mg":
    case "mg-MG":
    case "nso":
    case "nso-ZA":
    case "ti":
    case "ti-ER":
    case "ti-ET":
    case "wa":
    case "wa-BE":
    case "xbr":
      return number === 0 || number === 1 ? 0 : 1;
    case "be":
    case "be-BY":
    case "bs":
    case "bs-BA":
    case "hr":
    case "hr-HR":
    case "ru":
    case "ru-RU":
    case "ru-UA":
    case "sr":
    case "sr-ME":
    case "sr-RS":
    case "uk":
    case "uk-UA":
      return number % 10 == 1 && number % 100 != 11 ? 0 : number % 10 >= 2 && number % 10 <= 4 && (number % 100 < 10 || number % 100 >= 20) ? 1 : 2;
    case "cs":
    case "cs-CZ":
    case "sk":
    case "sk-SK":
      return number == 1 ? 0 : number >= 2 && number <= 4 ? 1 : 2;
    case "ga":
    case "ga-IE":
      return number == 1 ? 0 : number == 2 ? 1 : 2;
    case "lt":
    case "lt-LT":
      return number % 10 == 1 && number % 100 != 11 ? 0 : number % 10 >= 2 && (number % 100 < 10 || number % 100 >= 20) ? 1 : 2;
    case "sl":
    case "sl-SI":
      return number % 100 == 1 ? 0 : number % 100 == 2 ? 1 : number % 100 == 3 || number % 100 == 4 ? 2 : 3;
    case "mk":
    case "mk-MK":
      return number % 10 == 1 ? 0 : 1;
    case "mt":
    case "mt-MT":
      return number == 1 ? 0 : number == 0 || number % 100 > 1 && number % 100 < 11 ? 1 : number % 100 > 10 && number % 100 < 20 ? 2 : 3;
    case "lv":
    case "lv-LV":
      return number == 0 ? 0 : number % 10 == 1 && number % 100 != 11 ? 1 : 2;
    case "pl":
    case "pl-PL":
      return number == 1 ? 0 : number % 10 >= 2 && number % 10 <= 4 && (number % 100 < 12 || number % 100 > 14) ? 1 : 2;
    case "cy":
    case "cy-GB":
      return number == 1 ? 0 : number == 2 ? 1 : number == 8 || number == 11 ? 2 : 3;
    case "ro":
    case "ro-RO":
      return number == 1 ? 0 : number == 0 || number % 100 > 0 && number % 100 < 20 ? 1 : 2;
    case "ar":
    case "ar-AE":
    case "ar-BH":
    case "ar-DZ":
    case "ar-EG":
    case "ar-IN":
    case "ar-IQ":
    case "ar-JO":
    case "ar-KW":
    case "ar-LB":
    case "ar-LY":
    case "ar-MA":
    case "ar-OM":
    case "ar-QA":
    case "ar-SA":
    case "ar-SD":
    case "ar-SS":
    case "ar-SY":
    case "ar-TN":
    case "ar-YE":
      return number == 0 ? 0 : number == 1 ? 1 : number == 2 ? 2 : number % 100 >= 3 && number % 100 <= 10 ? 3 : number % 100 >= 11 && number % 100 <= 99 ? 4 : 5;
    default:
      return 0;
  }
}

// node_modules/laravel-vue-i18n/dist/pluralization.mjs
function choose(message, number, lang) {
  let segments = message.split("|");
  const extracted = extract(segments, number);
  if (extracted !== null) {
    return extracted.trim();
  }
  segments = stripConditions(segments);
  const pluralIndex = getPluralIndex(lang, number);
  if (segments.length === 1 || !segments[pluralIndex]) {
    return segments[0];
  }
  return segments[pluralIndex];
}
function extract(segments, number) {
  for (const part of segments) {
    let line = extractFromString(part, number);
    if (line !== null) {
      return line;
    }
  }
  return null;
}
function extractFromString(part, number) {
  const matches = part.match(/^[\{\[]([^\[\]\{\}]*)[\}\]](.*)/s) || [];
  if (matches.length !== 3) {
    return null;
  }
  const condition = matches[1];
  const value = matches[2];
  if (condition.includes(",")) {
    let [from, to] = condition.split(",");
    if (to === "*" && number >= parseFloat(from)) {
      return value;
    } else if (from === "*" && number <= parseFloat(to)) {
      return value;
    } else if (number >= parseFloat(from) && number <= parseFloat(to)) {
      return value;
    }
  }
  return parseFloat(condition) === number ? value : null;
}
function stripConditions(segments) {
  return segments.map((part) => part.replace(/^[\{\[]([^\[\]\{\}]*)[\}\]]/, ""));
}

// node_modules/laravel-vue-i18n/dist/utils/avoid-exceptions.mjs
var avoidException = (callback, param, defaults = {}) => {
  try {
    return callback(param);
  } catch {
    return defaults;
  }
};
var avoidExceptionOnPromise = async (promise, defaults = {}) => {
  try {
    return (await promise).default || defaults;
  } catch (e) {
    return defaults;
  }
};

// node_modules/laravel-vue-i18n/dist/utils/has-php-translations.mjs
function hasPhpTranslations(isServer2) {
  return isServer2 || checkProcessEnv() || checkImportMeta();
}
function checkProcessEnv() {
  var _a;
  return typeof process !== "undefined" && ((_a = process.env) == null ? void 0 : _a.LARAVEL_VUE_I18N_HAS_PHP) ? true : false;
}
function checkImportMeta() {
  return typeof import.meta.env !== "undefined" && /** @ts-ignore */
  import.meta.env.VITE_LARAVEL_VUE_I18N_HAS_PHP ? true : false;
}

// node_modules/laravel-vue-i18n/dist/index.mjs
var isServer = typeof window === "undefined";
var sharedInstance = null;
var DEFAULT_OPTIONS = {
  lang: !isServer && document.documentElement.lang ? document.documentElement.lang.replace("-", "_") : null,
  fallbackLang: "en",
  fallbackMissingTranslations: false,
  resolve: (lang) => new Promise((resolve) => resolve({ default: {} })),
  onLoad: (lang) => {
  }
};
var DEFAULT_PLUGIN_OPTIONS = {
  shared: true
};
function isLoaded(lang) {
  return I18n.getSharedInstance().isLoaded(lang);
}
function loadLanguageAsync(lang, dashLangTry = false) {
  return I18n.getSharedInstance().loadLanguageAsync(lang, dashLangTry);
}
function trans(key, replacements = {}) {
  return I18n.getSharedInstance().trans(key, replacements);
}
function wTrans(key, replacements = {}) {
  return I18n.getSharedInstance().wTrans(key, replacements);
}
function transChoice(key, number, replacements = {}) {
  return I18n.getSharedInstance().transChoice(key, number, replacements);
}
function wTransChoice(key, number, replacements = {}) {
  return I18n.getSharedInstance().wTransChoice(key, number, replacements);
}
function getActiveLanguage() {
  return I18n.getSharedInstance().getActiveLanguage();
}
var reset = () => {
  sharedInstance == null ? void 0 : sharedInstance.reset();
};
var trans_choice = transChoice;
var i18nVue = {
  install(app, options = {}) {
    options = { ...DEFAULT_PLUGIN_OPTIONS, ...options };
    const i18n = options.shared ? I18n.getSharedInstance(options, true) : new I18n(options);
    app.config.globalProperties.$t = (key, replacements) => i18n.trans(key, replacements);
    app.config.globalProperties.$tChoice = (key, number, replacements) => i18n.transChoice(key, number, replacements);
    app.provide("i18n", i18n);
  }
};
var I18n = class _I18n {
  /**
   * Creates a new instance of the I18n class, applying default options
   */
  constructor(options = {}) {
    this.activeMessages = reactive({});
    this.fallbackMessages = reactive({});
    this.reset = () => {
      _I18n.loaded = [];
      this.options = DEFAULT_OPTIONS;
      for (const [key] of Object.entries(this.activeMessages)) {
        this.activeMessages[key] = null;
      }
      if (this === sharedInstance) {
        sharedInstance = null;
      }
    };
    this.options = { ...DEFAULT_OPTIONS, ...options };
    if (this.options.fallbackMissingTranslations) {
      this.loadFallbackLanguage();
    } else {
      this.load();
    }
  }
  /**
   * Sets options on the instance, preserving any values not present in new options
   */
  setOptions(options = {}, forceLoad = false) {
    this.options = { ...this.options, ...options };
    if (forceLoad) {
      this.load();
    }
    return this;
  }
  /**
   * Loads the language.
   */
  load() {
    this[isServer ? "loadLanguage" : "loadLanguageAsync"](this.getActiveLanguage());
  }
  /**
   * Load fallback language
   */
  loadFallbackLanguage() {
    if (!isServer) {
      this.resolveLangAsync(this.options.resolve, this.options.fallbackLang).then(({ default: messages2 }) => {
        this.applyFallbackLanguage(this.options.fallbackLang, messages2);
        this.load();
      });
      return;
    }
    const { default: messages } = this.resolveLang(this.options.resolve, this.options.fallbackLang);
    this.applyFallbackLanguage(this.options.fallbackLang, messages);
    this.loadLanguage(this.getActiveLanguage());
  }
  /**
   * Loads the language async.
   */
  loadLanguage(lang, dashLangTry = false) {
    const loadedLang = _I18n.loaded.find((row) => row.lang === lang);
    if (loadedLang) {
      this.setLanguage(loadedLang);
      return;
    }
    const { default: messages } = this.resolveLang(this.options.resolve, lang);
    this.applyLanguage(lang, messages, dashLangTry, this.loadLanguage);
  }
  /**
   * Loads the language file.
   */
  loadLanguageAsync(lang, dashLangTry = false, ignoreAbort = false) {
    var _a;
    if (!ignoreAbort) {
      (_a = this.abortController) == null ? void 0 : _a.abort();
      this.abortController = new AbortController();
    }
    const loadedLang = _I18n.loaded.find((row) => row.lang === lang);
    if (loadedLang) {
      return Promise.resolve(this.setLanguage(loadedLang));
    }
    return new Promise((resolve, reject) => {
      this.abortController.signal.addEventListener("abort", () => {
        resolve();
      });
      this.resolveLangAsync(this.options.resolve, lang).then(({ default: messages }) => {
        resolve(this.applyLanguage(lang, messages, dashLangTry, this.loadLanguageAsync));
      });
    });
  }
  /**
   * Resolves the language file or data, from direct data, synchronously.
   */
  resolveLang(callable, lang, data = {}) {
    if (!Object.keys(data).length) {
      data = avoidException(callable, lang);
    }
    if (hasPhpTranslations(isServer)) {
      return {
        default: {
          ...data,
          ...avoidException(callable, `php_${lang}`)
        }
      };
    }
    return { default: data };
  }
  /**
   * It resolves the language file or data, from direct data, require or Promise.
   */
  async resolveLangAsync(callable, lang) {
    let data = avoidException(callable, lang);
    if (!(data instanceof Promise)) {
      return this.resolveLang(callable, lang, data);
    }
    if (hasPhpTranslations(isServer)) {
      const phpLang = await avoidExceptionOnPromise(callable(`php_${lang}`));
      const jsonLang = await avoidExceptionOnPromise(data);
      return new Promise((resolve) => resolve({
        default: {
          ...phpLang,
          ...jsonLang
        }
      }));
    }
    return new Promise(async (resolve) => resolve({
      default: await avoidExceptionOnPromise(data)
    }));
  }
  /**
   * Applies the language data and saves it to the loaded storage.
   */
  applyLanguage(lang, messages, dashLangTry = false, callable) {
    if (Object.keys(messages).length < 1) {
      if (/[-_]/g.test(lang) && !dashLangTry) {
        return callable.call(this, lang.replace(/[-_]/g, (char) => char === "-" ? "_" : "-"), true, true);
      }
      if (lang !== this.options.fallbackLang) {
        return callable.call(this, this.options.fallbackLang, false, true);
      }
    }
    const data = { lang, messages };
    this.addLoadedLang(data);
    return this.setLanguage(data);
  }
  applyFallbackLanguage(lang, messages) {
    for (const [key, value] of Object.entries(messages)) {
      this.fallbackMessages[key] = value;
    }
    this.addLoadedLang({
      lang: this.options.fallbackLang,
      messages
    });
  }
  /**
   * Adds to the array of loaded languages.
   */
  addLoadedLang(data) {
    const foundIndex = _I18n.loaded.findIndex((item) => item.lang === data.lang);
    if (foundIndex !== -1) {
      _I18n.loaded[foundIndex] = data;
      return;
    }
    _I18n.loaded.push(data);
  }
  /**
   * Sets the language messages to the activeMessages.
   */
  setLanguage({ lang, messages }) {
    if (!isServer) {
      document.documentElement.setAttribute("lang", lang.replace("_", "-"));
    }
    this.options.lang = lang;
    for (const [key, value] of Object.entries(messages)) {
      this.activeMessages[key] = value;
    }
    for (const [key, value] of Object.entries(this.fallbackMessages)) {
      if (!this.isValid(messages[key]) || this.activeMessages[key] === key) {
        this.activeMessages[key] = value;
      }
    }
    for (const [key] of Object.entries(this.activeMessages)) {
      if (!this.isValid(messages[key]) && !this.isValid(this.fallbackMessages[key])) {
        this.activeMessages[key] = null;
      }
    }
    this.options.onLoad(lang);
    return lang;
  }
  /**
   * Returns the current active language.
   */
  getActiveLanguage() {
    return this.options.lang || this.options.fallbackLang;
  }
  /**
   * Checks if the language is loaded.
   */
  isLoaded(lang) {
    lang ?? (lang = this.getActiveLanguage());
    return _I18n.loaded.some((row) => row.lang.replace(/[-_]/g, "-") === lang.replace(/[-_]/g, "-"));
  }
  /**
   * Get the translation for the given key.
   */
  trans(key, replacements = {}) {
    return this.wTrans(key, replacements).value;
  }
  /**
   * Get the translation for the given key and watch for any changes.
   */
  wTrans(key, replacements = {}) {
    watchEffect(() => {
      let value = this.findTranslation(key);
      if (!this.isValid(value)) {
        value = this.findTranslation(key.replace(/\//g, "."));
      }
      this.activeMessages[key] = this.isValid(value) ? value : key;
    });
    return computed(() => this.makeReplacements(this.activeMessages[key], replacements));
  }
  /**
   * Translates the given message based on a count.
   */
  transChoice(key, number, replacements = {}) {
    return this.wTransChoice(key, number, replacements).value;
  }
  /**
   * Translates the given message based on a count and watch for changes.
   */
  wTransChoice(key, number, replacements = {}) {
    const message = this.wTrans(key, replacements);
    replacements.count = number.toString();
    return computed(() => this.makeReplacements(choose(message.value, number, this.options.lang), replacements));
  }
  /**
   * Find translation in memory.
   */
  findTranslation(key) {
    if (this.isValid(this.activeMessages[key])) {
      return this.activeMessages[key];
    }
    const hasChildItems = this.activeMessages[`${key}.0`] !== void 0;
    if (hasChildItems) {
      const childItems = Object.entries(this.activeMessages).filter((item) => item[0].startsWith(`${key}.`)).map((item) => item[1]);
      return reactive(childItems);
    }
    return this.activeMessages[key];
  }
  /**
   * Make the place-holder replacements on a line.
   */
  makeReplacements(message, replacements) {
    const capitalize = (s) => s.charAt(0).toUpperCase() + s.slice(1);
    Object.entries(replacements || []).sort((a, b) => a[0].length >= b[0].length ? -1 : 1).forEach(([key, value]) => {
      value = value.toString();
      message = (message || "").replace(new RegExp(`:${key}`, "g"), value).replace(new RegExp(`:${key.toUpperCase()}`, "g"), value.toUpperCase()).replace(new RegExp(`:${capitalize(key)}`, "g"), capitalize(value));
    });
    return message;
  }
  /**
   * Checks if the message provided is valid.
   */
  isValid(message) {
    return message !== void 0 && message !== null;
  }
  /**
   * Gets the shared I18n instance, instantiating it if not yet created
   */
  static getSharedInstance(options, forceLoad = false) {
    return (sharedInstance == null ? void 0 : sharedInstance.setOptions(options, forceLoad)) || (sharedInstance = new _I18n(options));
  }
};
I18n.loaded = [];
export {
  I18n,
  getActiveLanguage,
  i18nVue,
  isLoaded,
  loadLanguageAsync,
  reset,
  trans,
  transChoice,
  trans_choice,
  wTrans,
  wTransChoice
};
//# sourceMappingURL=laravel-vue-i18n.js.map