UNPKG

@vyxos/astro-i18next

Version:

I18next integration for Astro with dynamic namespace loading.

36 lines (35 loc) 1.08 kB
// src/router-integration.ts function isBrowser() { return typeof globalThis !== "undefined" && "window" in globalThis; } function getGlobalWindow() { return isBrowser() ? window : void 0; } async function loadNamespacesForRoute(namespaces) { const win = getGlobalWindow(); if (win?.__i18nLoadNamespaces) { try { await win.__i18nLoadNamespaces(namespaces); } catch (error) { console.warn("[i18next] Failed to load namespaces:", namespaces, error); } } } async function useLoadNamespaces(namespaces) { const win = getGlobalWindow(); if (win?.__i18nLoadNamespaces) { return win.__i18nLoadNamespaces(namespaces); } return Promise.resolve(); } function preloadNamespaces(namespaces) { const win = getGlobalWindow(); if (win?.__i18nLoadNamespaces) { win.__i18nLoadNamespaces(namespaces).catch( (error) => console.warn("[i18next] Preload failed:", namespaces, error) ); } } export { loadNamespacesForRoute, preloadNamespaces, useLoadNamespaces }; //# sourceMappingURL=client.js.map //# sourceMappingURL=client.js.map