@shuo-li/i18n 1.0.6 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -231,6 +231,7 @@ var currentSig = null;
231
231
  var currentPromise = null;
232
232
  var resolvedStores = [];
233
233
  var resolvedModules = [];
234
+ var resolvedStaticModules = [];
234
235
  var resolvedLanguages = [];
235
236
  var unloginPullStarted = false;
236
237
  var managerOptions = null;
@@ -259,6 +260,7 @@ function closeSSE() {
259
260
  loadedModules.clear();
260
261
  loadingModules.clear();
261
262
  unloginPullStarted = false;
263
+ resolvedStaticModules = [];
262
264
  currentSig = null;
263
265
  currentPromise = null;
264
266
  }
@@ -334,11 +336,18 @@ async function _initI18n(options) {
334
336
  resolvedStores = options.stores;
335
337
  resolvedLanguages = _nullishCoalesce(options.languages, () => ( [options.langCode]));
336
338
  resolvedModules = _nullishCoalesce(options.modules, () => ( []));
339
+ resolvedStaticModules = options.staticLocales ? [...new Set(
340
+ Object.values(options.staticLocales).flatMap((langModules) => Object.keys(langModules))
341
+ )] : [];
337
342
  await storage.ensureStores(resolvedStores);
338
343
  await checkCacheVersion(storage, options);
344
+ const allKnownModules = sortedModules();
339
345
  for (const lang of resolvedLanguages) {
340
- for (const m of resolvedModules) {
341
- _i18next2.default.addResourceBundle(lang, m, getStaticLocale(m, lang), true, false);
346
+ for (const m of allKnownModules) {
347
+ const data = getStaticLocale(m, lang);
348
+ if (Object.keys(data).length > 0) {
349
+ _i18next2.default.addResourceBundle(lang, m, data, true, false);
350
+ }
342
351
  }
343
352
  }
344
353
  await injectCurrentLanguageModules(currentLang);
@@ -655,8 +664,9 @@ function buildSig(options) {
655
664
  return [options.apiContext.baseURL, options.langCode, cgKeys].join("|");
656
665
  }
657
666
  function sortedModules() {
658
- const priority = PRIORITY_MODULES.filter((m) => resolvedModules.includes(m));
659
- const rest = resolvedModules.filter((m) => !PRIORITY_MODULES.includes(m));
667
+ const all = [.../* @__PURE__ */ new Set([...resolvedStaticModules, ...resolvedModules])];
668
+ const priority = PRIORITY_MODULES.filter((m) => all.includes(m));
669
+ const rest = all.filter((m) => !PRIORITY_MODULES.includes(m));
660
670
  return [...priority, ...rest];
661
671
  }
662
672
  function getStaticLocale(moduleCode, langCode) {
@@ -231,6 +231,7 @@ var currentSig = null;
231
231
  var currentPromise = null;
232
232
  var resolvedStores = [];
233
233
  var resolvedModules = [];
234
+ var resolvedStaticModules = [];
234
235
  var resolvedLanguages = [];
235
236
  var unloginPullStarted = false;
236
237
  var managerOptions = null;
@@ -259,6 +260,7 @@ function closeSSE() {
259
260
  loadedModules.clear();
260
261
  loadingModules.clear();
261
262
  unloginPullStarted = false;
263
+ resolvedStaticModules = [];
262
264
  currentSig = null;
263
265
  currentPromise = null;
264
266
  }
@@ -334,11 +336,18 @@ async function _initI18n(options) {
334
336
  resolvedStores = options.stores;
335
337
  resolvedLanguages = options.languages ?? [options.langCode];
336
338
  resolvedModules = options.modules ?? [];
339
+ resolvedStaticModules = options.staticLocales ? [...new Set(
340
+ Object.values(options.staticLocales).flatMap((langModules) => Object.keys(langModules))
341
+ )] : [];
337
342
  await storage.ensureStores(resolvedStores);
338
343
  await checkCacheVersion(storage, options);
344
+ const allKnownModules = sortedModules();
339
345
  for (const lang of resolvedLanguages) {
340
- for (const m of resolvedModules) {
341
- i18n.addResourceBundle(lang, m, getStaticLocale(m, lang), true, false);
346
+ for (const m of allKnownModules) {
347
+ const data = getStaticLocale(m, lang);
348
+ if (Object.keys(data).length > 0) {
349
+ i18n.addResourceBundle(lang, m, data, true, false);
350
+ }
342
351
  }
343
352
  }
344
353
  await injectCurrentLanguageModules(currentLang);
@@ -655,8 +664,9 @@ function buildSig(options) {
655
664
  return [options.apiContext.baseURL, options.langCode, cgKeys].join("|");
656
665
  }
657
666
  function sortedModules() {
658
- const priority = PRIORITY_MODULES.filter((m) => resolvedModules.includes(m));
659
- const rest = resolvedModules.filter((m) => !PRIORITY_MODULES.includes(m));
667
+ const all = [.../* @__PURE__ */ new Set([...resolvedStaticModules, ...resolvedModules])];
668
+ const priority = PRIORITY_MODULES.filter((m) => all.includes(m));
669
+ const rest = all.filter((m) => !PRIORITY_MODULES.includes(m));
660
670
  return [...priority, ...rest];
661
671
  }
662
672
  function getStaticLocale(moduleCode, langCode) {
package/dist/index.cjs CHANGED
@@ -7,7 +7,7 @@ var _chunkAJJKJPNBcjs = require('./chunk-AJJKJPNB.cjs');
7
7
 
8
8
 
9
9
 
10
- var _chunkJPKSBSEOcjs = require('./chunk-JPKSBSEO.cjs');
10
+ var _chunk2EV6FQILcjs = require('./chunk-2EV6FQIL.cjs');
11
11
 
12
12
  // src/index.ts
13
13
  var _i18next = require('i18next'); var _i18next2 = _interopRequireDefault(_i18next);
@@ -165,7 +165,7 @@ if (!_i18next2.default.isInitialized) {
165
165
  }
166
166
  });
167
167
  }
168
- var { initI18n, closeSSE, ensureModules, getResource, getAllRecordsByModule } = _chunkJPKSBSEOcjs.createI18nManager.call(void 0, {
168
+ var { initI18n, closeSSE, ensureModules, getResource, getAllRecordsByModule } = _chunk2EV6FQILcjs.createI18nManager.call(void 0, {
169
169
  storage: new IndexedDBAdapter(),
170
170
  createWorker: () => new (0, _chunkAJJKJPNBcjs.WebWorkerAdapter)(
171
171
  new Worker(new URL("./workers/preload-worker.js", import.meta.url), { type: "module" })
@@ -181,4 +181,4 @@ var { initI18n, closeSSE, ensureModules, getResource, getAllRecordsByModule } =
181
181
 
182
182
 
183
183
 
184
- exports.I18N_RESOURCES_UPDATED_EVENT = _chunkJPKSBSEOcjs.I18N_RESOURCES_UPDATED_EVENT; exports.closeSSE = closeSSE; exports.emitI18nResourcesUpdated = _chunkJPKSBSEOcjs.emitI18nResourcesUpdated; exports.ensureModules = ensureModules; exports.getAllRecordsByModule = getAllRecordsByModule; exports.getResource = getResource; exports.initI18n = initI18n; exports.useDict = _chunkAJJKJPNBcjs.useDict; exports.useTranslation = _chunkAJJKJPNBcjs.useTranslation;
184
+ exports.I18N_RESOURCES_UPDATED_EVENT = _chunk2EV6FQILcjs.I18N_RESOURCES_UPDATED_EVENT; exports.closeSSE = closeSSE; exports.emitI18nResourcesUpdated = _chunk2EV6FQILcjs.emitI18nResourcesUpdated; exports.ensureModules = ensureModules; exports.getAllRecordsByModule = getAllRecordsByModule; exports.getResource = getResource; exports.initI18n = initI18n; exports.useDict = _chunkAJJKJPNBcjs.useDict; exports.useTranslation = _chunkAJJKJPNBcjs.useTranslation;
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  I18N_RESOURCES_UPDATED_EVENT,
8
8
  createI18nManager,
9
9
  emitI18nResourcesUpdated
10
- } from "./chunk-X6D2MZ7M.js";
10
+ } from "./chunk-5VHZCG34.js";
11
11
 
12
12
  // src/index.ts
13
13
  import i18n from "i18next";
package/dist/mp/index.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkJPKSBSEOcjs = require('../chunk-JPKSBSEO.cjs');
5
+ var _chunk2EV6FQILcjs = require('../chunk-2EV6FQIL.cjs');
6
6
 
7
7
  // src/storage/wx-sqlite.ts
8
8
  var DB_NAME = "i18n_cache";
@@ -181,7 +181,7 @@ function wxFetch(input, init) {
181
181
  }
182
182
 
183
183
  // src/mp/index.ts
184
- var { initI18n, closeSSE, ensureModules, getResource, getAllRecordsByModule } = _chunkJPKSBSEOcjs.createI18nManager.call(void 0, {
184
+ var { initI18n, closeSSE, ensureModules, getResource, getAllRecordsByModule } = _chunk2EV6FQILcjs.createI18nManager.call(void 0, {
185
185
  storage: new WxSQLiteAdapter(),
186
186
  createWorker: () => new WxWorkerAdapter(wx.createWorker("workers/preload-worker-mp.js")),
187
187
  fetchFn: wxFetch
@@ -194,4 +194,4 @@ var { initI18n, closeSSE, ensureModules, getResource, getAllRecordsByModule } =
194
194
 
195
195
 
196
196
 
197
- exports.I18N_RESOURCES_UPDATED_EVENT = _chunkJPKSBSEOcjs.I18N_RESOURCES_UPDATED_EVENT; exports.closeSSE = closeSSE; exports.emitI18nResourcesUpdated = _chunkJPKSBSEOcjs.emitI18nResourcesUpdated; exports.ensureModules = ensureModules; exports.getAllRecordsByModule = getAllRecordsByModule; exports.getResource = getResource; exports.initI18n = initI18n;
197
+ exports.I18N_RESOURCES_UPDATED_EVENT = _chunk2EV6FQILcjs.I18N_RESOURCES_UPDATED_EVENT; exports.closeSSE = closeSSE; exports.emitI18nResourcesUpdated = _chunk2EV6FQILcjs.emitI18nResourcesUpdated; exports.ensureModules = ensureModules; exports.getAllRecordsByModule = getAllRecordsByModule; exports.getResource = getResource; exports.initI18n = initI18n;
package/dist/mp/index.js CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  I18N_RESOURCES_UPDATED_EVENT,
3
3
  createI18nManager,
4
4
  emitI18nResourcesUpdated
5
- } from "../chunk-X6D2MZ7M.js";
5
+ } from "../chunk-5VHZCG34.js";
6
6
 
7
7
  // src/storage/wx-sqlite.ts
8
8
  var DB_NAME = "i18n_cache";
@@ -7,7 +7,7 @@ var _chunkAJJKJPNBcjs = require('../chunk-AJJKJPNB.cjs');
7
7
 
8
8
 
9
9
 
10
- var _chunkJPKSBSEOcjs = require('../chunk-JPKSBSEO.cjs');
10
+ var _chunk2EV6FQILcjs = require('../chunk-2EV6FQIL.cjs');
11
11
 
12
12
  // src/native/index.ts
13
13
  var _i18next = require('i18next'); var _i18next2 = _interopRequireDefault(_i18next);
@@ -121,7 +121,7 @@ if (!_i18next2.default.isInitialized) {
121
121
  }
122
122
  });
123
123
  }
124
- var { initI18n, closeSSE, ensureModules, getResource, getAllRecordsByModule } = _chunkJPKSBSEOcjs.createI18nManager.call(void 0, {
124
+ var { initI18n, closeSSE, ensureModules, getResource, getAllRecordsByModule } = _chunk2EV6FQILcjs.createI18nManager.call(void 0, {
125
125
  storage: new SQLiteAdapter(),
126
126
  // Hermes Worker(RN 0.71+),API 与 Web Worker 一致
127
127
  createWorker: () => new (0, _chunkAJJKJPNBcjs.WebWorkerAdapter)(
@@ -138,4 +138,4 @@ var { initI18n, closeSSE, ensureModules, getResource, getAllRecordsByModule } =
138
138
 
139
139
 
140
140
 
141
- exports.I18N_RESOURCES_UPDATED_EVENT = _chunkJPKSBSEOcjs.I18N_RESOURCES_UPDATED_EVENT; exports.closeSSE = closeSSE; exports.emitI18nResourcesUpdated = _chunkJPKSBSEOcjs.emitI18nResourcesUpdated; exports.ensureModules = ensureModules; exports.getAllRecordsByModule = getAllRecordsByModule; exports.getResource = getResource; exports.initI18n = initI18n; exports.useDict = _chunkAJJKJPNBcjs.useDict; exports.useTranslation = _chunkAJJKJPNBcjs.useTranslation;
141
+ exports.I18N_RESOURCES_UPDATED_EVENT = _chunk2EV6FQILcjs.I18N_RESOURCES_UPDATED_EVENT; exports.closeSSE = closeSSE; exports.emitI18nResourcesUpdated = _chunk2EV6FQILcjs.emitI18nResourcesUpdated; exports.ensureModules = ensureModules; exports.getAllRecordsByModule = getAllRecordsByModule; exports.getResource = getResource; exports.initI18n = initI18n; exports.useDict = _chunkAJJKJPNBcjs.useDict; exports.useTranslation = _chunkAJJKJPNBcjs.useTranslation;
@@ -7,7 +7,7 @@ import {
7
7
  I18N_RESOURCES_UPDATED_EVENT,
8
8
  createI18nManager,
9
9
  emitI18nResourcesUpdated
10
- } from "../chunk-X6D2MZ7M.js";
10
+ } from "../chunk-5VHZCG34.js";
11
11
 
12
12
  // src/native/index.ts
13
13
  import i18n from "i18next";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shuo-li/i18n",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "description": "Cross-platform i18n library for Web, React Native and WeChat MiniProgram",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",