UNPKG

next-i18next

Version:

The easiest way to translate your NextJs apps.

44 lines (43 loc) 1.51 kB
import i18n$1 from "i18next"; import fs from "fs"; import resourcesToBackend from "i18next-resources-to-backend"; //#region src/pagesRouter/createClient/node.ts function createFSBackend(config) { return resourcesToBackend((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.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 = i18n$1.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(i18n$1.t); return { i18n: instance, initPromise }; }; //#endregion export { node_default as default }; //# sourceMappingURL=node.mjs.map