UNPKG

next-i18next

Version:

The easiest way to translate your NextJs apps.

48 lines (47 loc) 1.81 kB
const require_runtime = require("../_virtual/_rolldown/runtime.cjs"); let i18next = require("i18next"); i18next = require_runtime.__toESM(i18next); let fs = require("fs"); fs = require_runtime.__toESM(fs); let i18next_resources_to_backend = require("i18next-resources-to-backend"); i18next_resources_to_backend = require_runtime.__toESM(i18next_resources_to_backend); //#region src/pagesRouter/createClient/node.ts function createFSBackend(config) { return (0, i18next_resources_to_backend.default)((lng, ns) => { const backend = config.backend; let filePath; if (typeof backend?.loadPath === "function") filePath = backend.loadPath(lng, ns); else if (typeof backend?.loadPath === "string") filePath = backend.loadPath.replace("{{lng}}", lng).replace("{{ns}}", ns); else filePath = `./public/locales/${lng}/${ns}.json`; const content = fs.default.readFileSync(filePath, "utf-8"); return JSON.parse(content); }); } let globalInstance; var node_default = (config) => { if (config.ns === void 0) config.ns = []; let instance; if (!globalInstance) { globalInstance = i18next.default.createInstance(config); instance = globalInstance; } else instance = globalInstance.cloneInstance({ ...config, initAsync: false, initImmediate: false }); let initPromise; if (!instance.isInitialized) { const plugins = config?.use?.filter(Boolean) ?? []; if (!plugins.some((b) => b.type === "backend")) instance.use(createFSBackend(config)); plugins.forEach((x) => instance.use(x)); if (typeof config.onPreInitI18next === "function") config.onPreInitI18next(instance); initPromise = instance.init(config); } else initPromise = Promise.resolve(i18next.default.t); return { i18n: instance, initPromise }; }; //#endregion module.exports = node_default; //# sourceMappingURL=node.cjs.map