{"version":3,"sources":["locales.ts"],"sourcesContent":["export const getCurrentLanguage = () => {\n    if (typeof window === \"undefined\") return \"en\"\n\n    // First check URL path for language\n    const pathname = window.location.pathname\n    const pathSegments = pathname.split(\"/\").filter(Boolean)\n\n    const validLanguages = [\n        // Basic language codes\n        \"ar\", // Arabic\n        \"bg\", // Bulgarian\n        \"bn\", // Bengali\n        \"cs\", // Czech\n        \"da\", // Danish\n        \"de\", // German\n        \"el\", // Greek\n        \"en\", // English\n        \"es\", // Spanish\n        \"fi\", // Finnish\n        \"fr\", // French\n        \"he\", // Hebrew\n        \"hi\", // Hindi\n        \"hr\", // Croatian\n        \"hu\", // Hungarian\n        \"id\", // Indonesian\n        \"it\", // Italian\n        \"ja\", // Japanese\n        \"ko\", // Korean\n        \"lt\", // Lithuanian\n        \"ms\", // Malay\n        \"nb\", // Norwegian (Bokmål)\n        \"nl\", // Dutch\n        \"pl\", // Polish\n        \"ro\", // Romanian\n        \"ru\", // Russian\n        \"sk\", // Slovak\n        \"sl\", // Slovenian\n        \"sr\", // Serbian\n        \"sv\", // Swedish\n        \"ta\", // Tamil\n        \"th\", // Thai\n        \"tr\", // Turkish\n        \"uk\", // Ukrainian\n        \"vi\", // Vietnamese\n\n        // Region-specific language codes\n        \"pt-br\", // Portuguese (Brazil)\n        \"pt-pt\", // Portuguese (Portugal)\n        \"zh-cn\", // Chinese (Simplified)\n        \"zh-tw\", // Chinese (Traditional)\n    ]\n\n    // Helper function to normalize language codes\n    const normalizeLanguageCode = (code: string): string => {\n        const normalized = code.toLowerCase()\n        // Special handling for region-specific codes\n        if (normalized === \"pt\" || normalized.startsWith(\"pt-\")) {\n            // Default Portuguese to Brazilian Portuguese if no specific region\n            return normalized.length > 2 ? normalized : \"pt-br\"\n        }\n        if (normalized === \"zh\" || normalized.startsWith(\"zh-\")) {\n            // Default Chinese to Simplified Chinese if no specific region\n            return normalized.length > 2 ? normalized : \"zh-cn\"\n        }\n        return normalized\n    }\n\n    // Check if the first path segment is a valid language code\n    if (pathSegments[0]) {\n        const normalizedCode = normalizeLanguageCode(pathSegments[0])\n        if (validLanguages.includes(normalizedCode)) {\n            return normalizedCode\n        }\n    }\n\n    // Then check localStorage for checkoutLocale\n    const localStorageLocale = localStorage.getItem(\"checkoutLocale\")\n    if (localStorageLocale) {\n        const normalizedLocale = normalizeLanguageCode(localStorageLocale)\n        if (validLanguages.includes(normalizedLocale)) {\n            return normalizedLocale\n        }\n    }\n\n    // Then check if we have a default language set in the window config\n    if (window.__FcCheckoutConfigs?.locale) {\n        const configLocale = normalizeLanguageCode(\n            window.__FcCheckoutConfigs.locale\n        )\n        if (validLanguages.includes(configLocale)) {\n            return configLocale\n        }\n    }\n\n    return \"en\"\n}\n\nexport const appendLanguageToUrl = (url) => {\n    if (!url) return url\n\n    try {\n        const urlObj = new URL(url)\n        const currentLang = getCurrentLanguage()\n        urlObj.searchParams.delete(\"locale\")\n        urlObj.searchParams.append(\"locale\", currentLang)\n        return urlObj.toString()\n    } catch (error) {\n        console.error(\"Error in appendLanguageToUrl:\", error)\n        return url\n    }\n}\n\n// Helper function to map country code to appropriate locale\nexport const getLocaleFromCountry = (countryCode) => {\n    // Default fallback locale\n    if (!countryCode) return undefined\n\n    // Common country code to locale mappings\n    const countryToLocale = {\n        // North America\n        US: \"en-US\",\n        CA: \"en-CA\", // Default to English Canadian\n        QC: \"fr-CA\", // Quebec (special case)\n\n        // Europe\n        GB: \"en-GB\",\n        FR: \"fr-FR\",\n        DE: \"de-DE\",\n        IT: \"it-IT\",\n        ES: \"es-ES\",\n        PT: \"pt-PT\",\n        NL: \"nl-NL\",\n        BE: \"fr-BE\",\n        LU: \"fr-LU\",\n        CH: \"de-CH\",\n        AT: \"de-AT\",\n        SE: \"sv-SE\",\n        NO: \"nb-NO\",\n        DK: \"da-DK\",\n        FI: \"fi-FI\",\n        PL: \"pl-PL\",\n        CZ: \"cs-CZ\",\n        HU: \"hu-HU\",\n        RU: \"ru-RU\",\n\n        // Asia Pacific\n        CN: \"zh-CN\",\n        JP: \"ja-JP\",\n        KR: \"ko-KR\",\n        IN: \"en-IN\",\n        AU: \"en-AU\",\n        NZ: \"en-NZ\",\n\n        // Latin America\n        MX: \"es-MX\",\n        BR: \"pt-BR\",\n        AR: \"es-AR\",\n        CL: \"es-CL\",\n        CO: \"es-CO\",\n        PE: \"es-PE\",\n\n        // Middle East & Africa\n        AE: \"ar-AE\",\n        SA: \"ar-SA\",\n        ZA: \"en-ZA\",\n        IL: \"he-IL\",\n    }\n\n    return countryToLocale[countryCode] || undefined\n}\n"],"names":[],"mappings":"AAAA,OAAO,MAAM,mBAAqB,KAC9B,GAAI,OAAO,SAAW,YAAa,MAAO,KAE1C,oCAAoC;AACpC,MAAM,SAAW,OAAO,QAAQ,CAAC,QAAQ,CACzC,MAAM,aAAe,SAAS,KAAK,CAAC,KAAK,MAAM,CAAC,SAEhD,MAAM,eAAiB,CACnB,uBAAuB;AACvB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KAEA,iCAAiC;AACjC,QACA,QACA,QACA,QACH,CAED,8CAA8C;AAC9C,MAAM,sBAAwB,AAAC,OAC3B,MAAM,WAAa,KAAK,WAAW,GACnC,6CAA6C;AAC7C,GAAI,aAAe,MAAQ,WAAW,UAAU,CAAC,OAAQ,CACrD,mEAAmE;AACnE,OAAO,WAAW,MAAM,CAAG,EAAI,WAAa,QAChD,CACA,GAAI,aAAe,MAAQ,WAAW,UAAU,CAAC,OAAQ,CACrD,8DAA8D;AAC9D,OAAO,WAAW,MAAM,CAAG,EAAI,WAAa,QAChD,CACA,OAAO,WACX,EAEA,2DAA2D;AAC3D,GAAI,YAAY,CAAC,EAAE,CAAE,CACjB,MAAM,eAAiB,sBAAsB,YAAY,CAAC,EAAE,EAC5D,GAAI,eAAe,QAAQ,CAAC,gBAAiB,CACzC,OAAO,eACX,CACJ,CAEA,6CAA6C;AAC7C,MAAM,mBAAqB,aAAa,OAAO,CAAC,kBAChD,GAAI,mBAAoB,CACpB,MAAM,iBAAmB,sBAAsB,oBAC/C,GAAI,eAAe,QAAQ,CAAC,kBAAmB,CAC3C,OAAO,iBACX,CACJ,CAEA,oEAAoE;AACpE,GAAI,OAAO,mBAAmB,EAAE,OAAQ,CACpC,MAAM,aAAe,sBACjB,OAAO,mBAAmB,CAAC,MAAM,EAErC,GAAI,eAAe,QAAQ,CAAC,cAAe,CACvC,OAAO,aACX,CACJ,CAEA,MAAO,KACX,EAAC,AAED,OAAO,MAAM,oBAAsB,AAAC,MAChC,GAAI,CAAC,IAAK,OAAO,IAEjB,GAAI,CACA,MAAM,OAAS,IAAI,IAAI,KACvB,MAAM,YAAc,qBACpB,OAAO,YAAY,CAAC,MAAM,CAAC,UAC3B,OAAO,YAAY,CAAC,MAAM,CAAC,SAAU,aACrC,OAAO,OAAO,QAAQ,GAC1B,CAAE,MAAO,MAAO,CACZ,QAAQ,KAAK,CAAC,gCAAiC,OAC/C,OAAO,IACX,CACJ,EAAC,AAED,4DAA4D;AAC5D,OAAO,MAAM,qBAAuB,AAAC,cACjC,0BAA0B;AAC1B,GAAI,CAAC,YAAa,OAAO,UAEzB,yCAAyC;AACzC,MAAM,gBAAkB,CACpB,gBAAgB;AAChB,GAAI,QACJ,GAAI,QACJ,GAAI,QAEJ,SAAS;AACT,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QAEJ,eAAe;AACf,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QAEJ,gBAAgB;AAChB,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QAEJ,uBAAuB;AACvB,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,OACR,EAEA,OAAO,eAAe,CAAC,YAAY,EAAI,UAC3C,EAAC"}