/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/i18n-abide-simplejson@0.0.26/lib/i18n.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
var fs=require("fs"),gobbledygook=require("gobbledygook"),path=require("path"),util=require("util"),plist=require("plist");const DAVID_B_LABYRN="db-LB",BIDI_RTL_LANGS=["ar","db-LB","fa","he"],JS_PRE_LEN=24,JS_POST_LEN=3;var logger,localeFrom,parseAcceptLanguage,bestLanguage,format,languageFrom,normalizeLocale,translations={};function qualityCmp(e,a){return e.quality===a.quality?0:e.quality<a.quality?1:-1}exports.abide=function(e){function a(a){var t="messages."+("plist"===e.translation_type?"plist":"json");return path.resolve(path.join(__dirname,"..","..",".."),e.translation_directory,path.join(a,t))}return(e=e||{}).gettext_alias||(e.gettext_alias="gettext"),e.supported_languages||(e.supported_languages=["en-US"]),e.default_lang||(e.default_lang="en-US"),e.debug_lang||(e.debug_lang="it-CH"),e.disable_locale_check||(e.disable_locale_check=!1),e.translation_directory||(e.translation_directory="l18n/"),e.logger||(e.logger=console),e.translation_type=e.translation_type||"po",e.locale_on_url=!0===e.locale_on_url,logger=e.logger,e.supported_languages.forEach((function(t){var r=localeFrom(t);try{translations[r]=function(t){var r=a(t);if("plist"===e.translation_type)return plist.parseFileSync(r);if("key-value-json"===e.translation_type)return require(r);var o=fs.readFileSync(r).toString();return JSON.parse(o)}(r)}catch(n){if(e.default_lang===t||e.debug_lang===t)return;var o=util.format("Bad locale=[%s] missing .%s files in [%s]. See locale/README (%s)",r,e.translation_type,a(r),n);if(e.disable_locale_check)throw logger.error(o),o;logger.warn(o)}})),function(a,t,r){!function(a){if(e.locale_on_url){var t=a.url.match(/^\/([^\/]+)(\/|$)/);if(t&&t[1]){var r=bestLanguage(parseAcceptLanguage(t[1]),e.supported_languages,"unknown");"unknown"!==r&&(a.url=a.url.replace(t[0],"/"),a.headers["accept-language"]=r)}}}(a);var o,n,l,s=parseAcceptLanguage(a.headers["accept-language"]),i=bestLanguage(s,e.supported_languages,e.default_lang),g=e.debug_lang.toLowerCase(),u={};i&&i.toLowerCase&&i.toLowerCase()===g&&(i="db-LB"),t.local&&(t.locals=function(e,a){"string"==typeof e?t.local(e,a):Object.keys(e).forEach((function(a){t.local(a,e[a])}))}),u.lang=i,o=BIDI_RTL_LANGS.indexOf(i)>=0?"rtl":"ltr",u.lang_dir=o,a.lang=i,n=localeFrom(i),u.locale=n,a.locale=n;var c="format";if(u.format||a.format){if(!e.format_fn_name)throw console.error("It appears you are using middleware which already sets a variable 'format' on either the request or reponse. Please use format_fn_name in options to override this setting."),new Error("Bad Config - override format_fn_name");c=e.format_fn_name}u[c]=format,a[c]=format,u.setLocale=function(r){var o=languageFrom(r);if(translations[r]||o===e.default_lang){n=r;var l={};l.locale=r,a.locale=r,l.lang=o,a.lang=l.lang,l.lang_dir=BIDI_RTL_LANGS.indexOf(l.lang)>=0?"rtl":"ltr",a.lang_dir=l.lang_dir,"function"==typeof t.locals?t.locals(l):Object.keys(l).forEach((function(e){t.locals[e]=l[e]}))}},a.setLocale=u.setLocale,i.toLowerCase()==="db-LB".toLowerCase()?(l=gobbledygook,u.lang="db-LB"):l=function(a){return translations[n]?"plist"===e.translation_type||"key-value-json"===e.translation_type?translations[n][a]&&translations[n][a].length?translations[n][a]:translations[e.default_lang][a]||a:translations[n][a]&&translations[n][a].length?translations[n][a]:a:a},u[e.gettext_alias]=l,a.gettext=l,"function"==typeof t.locals?t.locals(u):t.locals=u,r()}},exports.parseAcceptLanguage=parseAcceptLanguage=function(e){if(!e||!e.split)return[];var a=e.split(",").map((function(e){var a=e.split(";"),t=1;if(a.length>1&&0===a[1].indexOf("q=")){var r=parseFloat(a[1].split("=")[1]);!1===isNaN(r)&&(t=r)}return{lang:a[0].trim(),quality:t}}));return a.sort(qualityCmp),a},exports.bestLanguage=bestLanguage=function(e,a,t){for(var r=a.map((function(e){return e.toLowerCase()})),o=0;o<e.length;o++){var n=e[o];if(-1!==r.indexOf(n.lang.toLowerCase()))return n.lang;if(-1!==r.indexOf(n.lang.split("-")[0].toLowerCase()))return n.lang.split("-")[0]}return t},exports.localeFrom=localeFrom=function(e){if(!e||!e.split)return"";var a,t=e.split("-");return 1===t.length?t[0].toLowerCase():2===t.length?(a=(a=t[1]).length>2?a[0].toUpperCase()+a.slice(1).toLowerCase():a.toUpperCase(),util.format("%s_%s",t[0].toLowerCase(),a)):3===t.length?util.format("%s_%s",t[0].toLowerCase(),t[2].toUpperCase()):(logger.error(util.format("Unable to map a local from language code [%s]",e)),e)},exports.languageFrom=languageFrom=function(e){if(!e||!e.split)return"";var a,t=e.split("_");return 1===t.length?t[0].toLowerCase():2===t.length?(a=(a=t[1]).length>2?a[0].toUpperCase()+a.slice(1).toLowerCase():a.toUpperCase(),util.format("%s-%s",t[0].toLowerCase(),a)):3===t.length?util.format("%s-%s",t[0].toLowerCase(),t[2].toUpperCase()):(logger.error(util.format("Unable to map a language from locale code [%s]",e)),e)},exports.normalizeLanguage=normalizeLanguage=function(e){return languageFrom(localeFrom(e))},exports.normalizeLocale=normalizeLocale=function(e){return localeFrom(languageFrom(e))},exports.format=format=function(e,a,t){return e?Array.isArray(a)||!1===t?e.replace(/%s/g,(function(){return String(a.shift())})):"object"==typeof a||!0===t?e.replace(/%\(\s*([^)]+)\s*\)s/g,(function(e,t){return String(a[t.trim()])})):e:""},exports.getLocales=function(){return Object.keys(translations)};
//# sourceMappingURL=/sm/ed20ed871a95e46257b06b6c4b59b584791dc0f1b4716205c6d783e4ffc8806b.map