{"version":3,"sources":["utils/init-i18next.ts"],"names":["i18next","resourcesToBackend","SUPPORTED_LANGUAGES","async","initI18Next","withNamespace","testLanguguage","language","isInitialized","navigatorLanguages","getActiveNavigatorLanguages","find","includes","lng","await","use","ns","fetch","json","init","supportedLngs","fallbackLng","nb-NO","nb","nn-NO","nn","en-US","en-GB","length","hasLoadedNamespace","loadNamespaces","updateLanguage","changeLanguage","let","userLocales","window","navigator","languages","localesWithFallback","globalSettings","twoLetterLocaleFallBacks","createTranslator","t","key","NS","COMMON","COMMON_PORTAL","COMMON_PRODUCT","COMMON_MEASUREMENT","ESTORE_CART","PORTAL_ARCHIVE_QR_CODE","PORTAL_ARCHIVE_PRODUCT_PRINT_CONFIG","PORTAL_ARCHIVE_PRODUCT_SUPPLIERS","PORTAL_ARCHIVE_VARIANT_ATTACH_PRODUCT","PORTAL_ARCHIVE_CATEGORY","PORTAL_ARCHIVE_ITEM","PORTAL_ESTORE_SHIPPING","PUBLIC_ESTORE_DETAILED_CART","PORTAL_ESTORE_FULFILLMENT","PORTAL_ESTORE_PURCHASE_ORDERS","PORTAL_SYS_MENU","COMMON_FORM_VALIDATION","PORTAL_SYS_HOMEPAGE","PORTAL_PAGE","PORTAL_ESTORE_PRODUCT_ADJUST_STOCK","PORTAL_ESTORE_PRODUCT_ADJUST_MULTIPLE_STOCK","PORTAL_ESTORE_PRODUCT_STOCK_CHANGE_REASON","PORTAL_ESTORE_PRODUCT_STOCK_HISTORY","PORTAL_SETTINGS_ESTORE_WAREHOUSE","PORTAL_SETTINGS_ESTORE_WAREHOUSE_PRODUCT_VIEW","PORTAL_ESTORE_PRODUCT_STOCK_SETTINGS","PORTAL_ESTORE_PRODUCT_STOCK_TYPE","PORTAL_ESTORE_PRODUCT_STOCK_GRID","PORTAL_COMMON_COLOR_PALETTE","PORTAL_ERROR_404","PORTAL_SETTINGS_ESTORE_PRODUCT_STATUS_TEXTS","PORTAL_SETTING_ESTORE_PRODUCT_STATUS_TEXTS_COMMON_PRODUCT_STATUS_TEXT","PORTAL_SETTING_ESTORE_PRODUCT_STATUS_TEXTS_ORDERING_PRODUCT_TEXTS","PORTAL_SETTING_ESTORE_PRODUCT_STATUS_TEXTS_PRODUCT_IN_STOCK_STATUS","PORTAL_SETTING_ESTORE_PRODUCT_STATUS_TEXTS_PRODUCT_OVERBUYING_NOTIFICATIONS","PORTAL_SETTING_ESTORE_PRODUCT_STATUS_TEXTS_PRODUCT_SUPPLIER_ORDER_STATUS","PORTAL_SETTING_ESTORE_OUT_OF_STOCK_PRODUCT_SETTINGS","PORTAL_SETTING_ESTORE_PRODUCT_STATUS_TEXT_VISIBILITY_SETTINGS","PORTAL_SETTING_ESTORE_PRODUCT_STATUS_SETTINGS","PORTAL_SETTING_ESTORE_PRODUCT_ALLOWED_BUY_OUT_OF_STOCK_GROUPS","PORTAL_ESTORE_ORDER_CUSTOMER_CARD_COMPACT","PORTAL_SETTINGS_ESTORE_ORDER","PORTAL_SETTINGS_ESTORE_ORDER_GENERAL","PORTAL_SETTINGS_ESTORE_ORDER_NOTIFICATION","PORTAL_SETTINGS_ESTORE_ORDER_CONDITIONS"],"mappings":"OASOA,YAAuB,iBACvBC,uBAAwB,+BAE/B,IAAMC,oBAAsB,CAAC,KAAM,MAEnCC,eAAeC,YAAYC,EAAwBC,EAAyB,MACxE,IAEUC,EA6BV,OA/BKP,QAAQQ,gBACHC,EAAqBC,4BAA2B,EAChDH,EAAWD,GAAkBG,EAAmBE,KAAK,GAAST,oBAAoBU,SAASC,CAAG,CAAC,GAAKJ,EAAmB,IAAM,KAEnIK,MAAMd,QACDe,IACGd,mBAAmBE,MAAOU,EAAUG,KACnBF,MAAMG,uBAAuBD,KAAMH,QAAU,GAC9CK,KAAI,CACnB,CAAC,EAELC,KAAK,CACFC,cAAelB,oBACfmB,YAAa,CACTC,QAAS,CAAC,MACVC,GAAI,CAAC,MACLC,QAAS,CAAC,MACVC,GAAI,CAAC,MACLC,QAAS,CAAC,MACVC,QAAS,CAAC,K,EAEdd,IAAKN,EACLS,GAAI,CAAC,S,CAER,GAGmB,EAAxBX,GAAeuB,QAAc,CAAC5B,QAAQ6B,mBAAmBxB,CAAa,GACtES,MAAMd,QAAQ8B,eAAezB,CAAa,EAGvCL,OACX,CAEAG,eAAe2B,eAAed,GACtBA,GAAIY,QAAU,CAAC5B,QAAQ6B,mBAAmBb,CAAE,GAC5CF,MAAMd,QAAQ8B,eAAed,CAAE,CAEvC,CAKAb,eAAe4B,iBACX,IAAMtB,EAAqBC,4BAA2B,EAChDH,EAAWE,EAAmBE,KAAK,GAAST,oBAAoBU,SAASC,CAAG,CAAC,GAAKJ,EAAmB,IAAM,KAE7GT,QAAQO,WAAaA,GAIzBO,MAAMd,QAAQgC,eAAezB,CAAQ,CACzC,CAEA,SAASG,8BACLuB,IAAIC,EAAcC,OAAOC,UAAUC,UAQnC,OANIF,OAAOG,qBAAuBH,OAAOG,oBAAoBV,OACzDM,EAAcC,OAAOG,oBACdH,OAAOI,gBAAkBJ,OAAOI,eAAeC,0BAA4BL,OAAOI,eAAeC,yBAAyBZ,SACjIM,EAAcC,OAAOI,eAAeC,0BAGjCN,GAAaN,OAASM,EAAc,CAAC,KAChD,CAEA,SAASO,iBAAiBzB,GACtB,OAAO,GAAiBhB,QAAQ0C,EAAEC,EAAK,CAAE3B,GAAAA,CAAE,CAAE,CACjD,CAEA,IAAM4B,GAAK,CACPC,OAAQ,SACRC,cAAe,gBACfC,eAAgB,iBAChBC,mBAAoB,qBACpBC,YAAa,cACbC,uBAAwB,yBACxBC,oCAAqC,sCACrCC,iCAAkC,2CAClCC,sCAAuC,wCACvCC,wBAAyB,0BACzBC,oBAAqB,sBACrBC,uBAAwB,yBACxBC,4BAA6B,8BAC7BC,0BAA2B,4BAC3BC,8BAA+B,gCAC/BC,gBAAiB,kBACjBC,uBAAwB,yBACxBC,oBAAqB,uBACrBC,YAAa,cACbC,mCAAoC,2CACpCC,4CAA6C,oDAC7CC,0CAA2C,4CAC3CC,oCAAqC,8CACrCC,iCAAkC,4CAClCC,8CAA+C,iEAC/CC,qCAAsC,+CACtCC,iCAAkC,2CAClCC,iCAAkC,2CAClCC,4BAA6B,8BAC7BC,iBAAkB,mBAClBC,4CAA6C,6EAC7CC,sEAAuE,kHACvEC,kEAAmE,wGACnEC,mEAAoE,0GACpEC,4EAA6E,4HAC7EC,yEAA0E,sHAC1EC,oDAAoD,qEACpDC,8DAA+D,mGAC/DC,8CAA+C,mGAC/CC,8DAA+D,mHAC/DC,0CAA2C,kDAC3CC,6BAA8B,uDAC9BC,qCAAsC,+DACtCC,0CAA2C,qEAC3CC,wCAAyC,iE,SAGpCrF,YAAmBwC,GAAIH,iBAAkBX,eAAgBC,cAAgB","file":"init-i18next.js","sourcesContent":["declare global {\r\n interface Object {\r\n localesWithFallback: string[];\r\n globalSettings: {\r\n twoLetterLocaleFallBacks: string[];\r\n };\r\n }\r\n}\r\n\r\nimport i18next, { i18n } from \"i18next\";\r\nimport resourcesToBackend from \"i18next-resources-to-backend\";\r\n\r\nconst SUPPORTED_LANGUAGES = [\"en\", \"no\"];\r\n\r\nasync function initI18Next(withNamespace?: string, testLanguguage: string = null) {\r\n if (!i18next.isInitialized) {\r\n const navigatorLanguages = getActiveNavigatorLanguages();\r\n const language = testLanguguage || navigatorLanguages.find((lng) => SUPPORTED_LANGUAGES.includes(lng)) || navigatorLanguages[0] || \"en\";\r\n\r\n await i18next\r\n .use(\r\n resourcesToBackend(async (lng: any, ns: any) => {\r\n const resp = await fetch(`/translations/${ns}.${lng}.json`);\r\n return resp.json();\r\n })\r\n )\r\n .init({\r\n supportedLngs: SUPPORTED_LANGUAGES,\r\n fallbackLng: {\r\n \"nb-NO\": [\"no\"],\r\n nb: [\"no\"],\r\n \"nn-NO\": [\"no\"],\r\n nn: [\"no\"],\r\n \"en-US\": [\"en\"],\r\n \"en-GB\": [\"en\"],\r\n },\r\n lng: language,\r\n ns: [\"common\"],\r\n //debug: true,\r\n });\r\n }\r\n\r\n if (withNamespace?.length > 0 && !i18next.hasLoadedNamespace(withNamespace)) {\r\n await i18next.loadNamespaces(withNamespace);\r\n }\r\n\r\n return i18next;\r\n}\r\n\r\nasync function loadNamespaces(ns: string) {\r\n if (ns?.length && !i18next.hasLoadedNamespace(ns)) {\r\n await i18next.loadNamespaces(ns);\r\n }\r\n}\r\n\r\n/**\r\n * Update the language of the i18next instance based on the user's languages or navigator languages.\r\n */\r\nasync function updateLanguage() {\r\n const navigatorLanguages = getActiveNavigatorLanguages();\r\n const language = navigatorLanguages.find((lng) => SUPPORTED_LANGUAGES.includes(lng)) || navigatorLanguages[0] || \"en\";\r\n\r\n if (i18next.language === language) {\r\n return;\r\n }\r\n\r\n await i18next.changeLanguage(language);\r\n}\r\n\r\nfunction getActiveNavigatorLanguages() {\r\n let userLocales = window.navigator.languages;\r\n\r\n if (window.localesWithFallback && window.localesWithFallback.length) {\r\n userLocales = window.localesWithFallback;\r\n } else if (window.globalSettings && window.globalSettings.twoLetterLocaleFallBacks && window.globalSettings.twoLetterLocaleFallBacks.length) {\r\n userLocales = window.globalSettings.twoLetterLocaleFallBacks;\r\n }\r\n\r\n return userLocales?.length ? userLocales : [\"en\"];\r\n}\r\n\r\nfunction createTranslator(ns: string) {\r\n return (key: string) => i18next.t(key, { ns });\r\n}\r\n\r\nconst NS = {\r\n COMMON: \"common\",\r\n COMMON_PORTAL: \"portal/common\",\r\n COMMON_PRODUCT: \"common/product\",\r\n COMMON_MEASUREMENT: \"common/measurement\",\r\n ESTORE_CART: \"estore/cart\",\r\n PORTAL_ARCHIVE_QR_CODE: \"portal/archive/qr-code\",\r\n PORTAL_ARCHIVE_PRODUCT_PRINT_CONFIG: \"portal/archive/product/print-config\",\r\n PORTAL_ARCHIVE_PRODUCT_SUPPLIERS: \"portal/archive/product/product-suppliers\",\r\n PORTAL_ARCHIVE_VARIANT_ATTACH_PRODUCT: \"portal/archive/variant-attach-product\",\r\n PORTAL_ARCHIVE_CATEGORY: \"portal/archive/category\",\r\n PORTAL_ARCHIVE_ITEM: \"portal/archive/item\",\r\n PORTAL_ESTORE_SHIPPING: \"portal/estore/shipping\",\r\n PUBLIC_ESTORE_DETAILED_CART: \"public/estore/detailed-cart\",\r\n PORTAL_ESTORE_FULFILLMENT: \"portal/estore/fulfillment\",\r\n PORTAL_ESTORE_PURCHASE_ORDERS: \"portal/estore/purchase-orders\",\r\n PORTAL_SYS_MENU: \"portal/sys/menu\",\r\n COMMON_FORM_VALIDATION: \"common/form/validation\",\r\n PORTAL_SYS_HOMEPAGE: \"portal/sys/home-page\",\r\n PORTAL_PAGE: \"portal/page\",\r\n PORTAL_ESTORE_PRODUCT_ADJUST_STOCK: \"portal/estore/product/adjust-stock-popup\",\r\n PORTAL_ESTORE_PRODUCT_ADJUST_MULTIPLE_STOCK: \"portal/estore/product/adjust-miltiple-stock-popup\",\r\n PORTAL_ESTORE_PRODUCT_STOCK_CHANGE_REASON: \"portal/estore/product/stock-change-reason\",\r\n PORTAL_ESTORE_PRODUCT_STOCK_HISTORY: \"portal/estore/product/product-stock-history\",\r\n PORTAL_SETTINGS_ESTORE_WAREHOUSE: \"portal/settings/estore/warehouse-settings\",\r\n PORTAL_SETTINGS_ESTORE_WAREHOUSE_PRODUCT_VIEW: \"portal/settings/estore/warehouse-product-view-display-settings\",\r\n PORTAL_ESTORE_PRODUCT_STOCK_SETTINGS: \"portal/estore/product/product-stock-settings\",\r\n PORTAL_ESTORE_PRODUCT_STOCK_TYPE: \"portal/estore/product/product-stock-type\",\r\n PORTAL_ESTORE_PRODUCT_STOCK_GRID: \"portal/estore/product/product-stock-grid\",\r\n PORTAL_COMMON_COLOR_PALETTE: \"portal/common/color-palette\",\r\n PORTAL_ERROR_404: \"portal/not-found\",\r\n PORTAL_SETTINGS_ESTORE_PRODUCT_STATUS_TEXTS: \"portal/settings/estore/product-statuses-settings/product-statuses-settings\",\r\n PORTAL_SETTING_ESTORE_PRODUCT_STATUS_TEXTS_COMMON_PRODUCT_STATUS_TEXT: \"portal/settings/estore/product-statuses-settings/common-product-status-texts/common-product-status-texts-config\",\r\n PORTAL_SETTING_ESTORE_PRODUCT_STATUS_TEXTS_ORDERING_PRODUCT_TEXTS: \"portal/settings/estore/product-statuses-settings/ordering-product-texts/ordering-product-texts-config\",\r\n PORTAL_SETTING_ESTORE_PRODUCT_STATUS_TEXTS_PRODUCT_IN_STOCK_STATUS: \"portal/settings/estore/product-statuses-settings/product-in-stock-status/product-in-stock-status-config\",\r\n PORTAL_SETTING_ESTORE_PRODUCT_STATUS_TEXTS_PRODUCT_OVERBUYING_NOTIFICATIONS: \"portal/settings/estore/product-statuses-settings/product-overbuying-notifications/product-overbuying-notifications-config\",\r\n PORTAL_SETTING_ESTORE_PRODUCT_STATUS_TEXTS_PRODUCT_SUPPLIER_ORDER_STATUS: \"portal/settings/estore/product-statuses-settings/product-supplier-order-status/product-supplier-order-status-config\",\r\n PORTAL_SETTING_ESTORE_OUT_OF_STOCK_PRODUCT_SETTINGS:\"portal/settings/estore/out-of-stock-settings/out-of-stock-settings\",\r\n PORTAL_SETTING_ESTORE_PRODUCT_STATUS_TEXT_VISIBILITY_SETTINGS: \"portal/settings/estore/product-statuses-settings/stock-status-visibility/stock-status-visibility\",\r\n PORTAL_SETTING_ESTORE_PRODUCT_STATUS_SETTINGS: \"portal/settings/estore/product-statuses-settings/product-status-settings/product-status-settings\",\r\n PORTAL_SETTING_ESTORE_PRODUCT_ALLOWED_BUY_OUT_OF_STOCK_GROUPS: \"portal/settings/estore/product-statuses-settings/allowed-buy-out-of-stock-groups/allowed-buy-out-of-stock-groups\",\r\n PORTAL_ESTORE_ORDER_CUSTOMER_CARD_COMPACT: \"portal/estore/order/order-customer-card-compact\",\r\n PORTAL_SETTINGS_ESTORE_ORDER: \"portal/settings/estore/order-settings/order-settings\",\r\n PORTAL_SETTINGS_ESTORE_ORDER_GENERAL: \"portal/settings/estore/order-settings/order-settings-general\",\r\n PORTAL_SETTINGS_ESTORE_ORDER_NOTIFICATION: \"portal/settings/estore/order-settings/order-settings-notifications\",\r\n PORTAL_SETTINGS_ESTORE_ORDER_CONDITIONS: \"portal/settings/estore/order-settings/order-settings-conditions\",\r\n};\r\n\r\nexport { initI18Next, i18n, NS, createTranslator, loadNamespaces, updateLanguage };\r\n"]}