@shuo-li/i18n 1.0.5 → 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.
- package/dist/{chunk-JPKSBSEO.cjs → chunk-2EV6FQIL.cjs} +14 -4
- package/dist/{chunk-X6D2MZ7M.js → chunk-5VHZCG34.js} +14 -4
- package/dist/index.cjs +5 -5
- package/dist/index.js +3 -3
- package/dist/mp/index.cjs +5 -5
- package/dist/mp/index.js +3 -3
- package/dist/native/index.cjs +5 -5
- package/dist/native/index.js +3 -3
- package/package.json +1 -1
|
@@ -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
|
|
341
|
-
|
|
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
|
|
659
|
-
const
|
|
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
|
|
341
|
-
|
|
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
|
|
659
|
-
const
|
|
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
|
|
10
|
+
var _chunk2EV6FQILcjs = require('./chunk-2EV6FQIL.cjs');
|
|
11
11
|
|
|
12
12
|
// src/index.ts
|
|
13
13
|
var _i18next = require('i18next'); var _i18next2 = _interopRequireDefault(_i18next);
|
|
@@ -140,9 +140,9 @@ var IndexedDBAdapter = class {
|
|
|
140
140
|
cursor.continue();
|
|
141
141
|
};
|
|
142
142
|
});
|
|
143
|
-
if (found) return
|
|
143
|
+
if (!found) return false;
|
|
144
144
|
}
|
|
145
|
-
return
|
|
145
|
+
return true;
|
|
146
146
|
});
|
|
147
147
|
}
|
|
148
148
|
};
|
|
@@ -165,7 +165,7 @@ if (!_i18next2.default.isInitialized) {
|
|
|
165
165
|
}
|
|
166
166
|
});
|
|
167
167
|
}
|
|
168
|
-
var { initI18n, closeSSE, ensureModules, getResource, getAllRecordsByModule } =
|
|
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 =
|
|
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-
|
|
10
|
+
} from "./chunk-5VHZCG34.js";
|
|
11
11
|
|
|
12
12
|
// src/index.ts
|
|
13
13
|
import i18n from "i18next";
|
|
@@ -140,9 +140,9 @@ var IndexedDBAdapter = class {
|
|
|
140
140
|
cursor.continue();
|
|
141
141
|
};
|
|
142
142
|
});
|
|
143
|
-
if (found) return
|
|
143
|
+
if (!found) return false;
|
|
144
144
|
}
|
|
145
|
-
return
|
|
145
|
+
return true;
|
|
146
146
|
});
|
|
147
147
|
}
|
|
148
148
|
};
|
package/dist/mp/index.cjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunk2EV6FQILcjs = require('../chunk-2EV6FQIL.cjs');
|
|
6
6
|
|
|
7
7
|
// src/storage/wx-sqlite.ts
|
|
8
8
|
var DB_NAME = "i18n_cache";
|
|
@@ -113,9 +113,9 @@ var WxSQLiteAdapter = class {
|
|
|
113
113
|
`SELECT key FROM ${resourceTable(store.name)}
|
|
114
114
|
WHERE key NOT LIKE 'UNLOGIN_%' AND key NOT LIKE '__meta__:%' LIMIT 1`
|
|
115
115
|
);
|
|
116
|
-
if (result.rows.length
|
|
116
|
+
if (result.rows.length === 0) return false;
|
|
117
117
|
}
|
|
118
|
-
return
|
|
118
|
+
return true;
|
|
119
119
|
}
|
|
120
120
|
};
|
|
121
121
|
function rowToRecord(row) {
|
|
@@ -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 } =
|
|
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 =
|
|
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-
|
|
5
|
+
} from "../chunk-5VHZCG34.js";
|
|
6
6
|
|
|
7
7
|
// src/storage/wx-sqlite.ts
|
|
8
8
|
var DB_NAME = "i18n_cache";
|
|
@@ -113,9 +113,9 @@ var WxSQLiteAdapter = class {
|
|
|
113
113
|
`SELECT key FROM ${resourceTable(store.name)}
|
|
114
114
|
WHERE key NOT LIKE 'UNLOGIN_%' AND key NOT LIKE '__meta__:%' LIMIT 1`
|
|
115
115
|
);
|
|
116
|
-
if (result.rows.length
|
|
116
|
+
if (result.rows.length === 0) return false;
|
|
117
117
|
}
|
|
118
|
-
return
|
|
118
|
+
return true;
|
|
119
119
|
}
|
|
120
120
|
};
|
|
121
121
|
function rowToRecord(row) {
|
package/dist/native/index.cjs
CHANGED
|
@@ -7,7 +7,7 @@ var _chunkAJJKJPNBcjs = require('../chunk-AJJKJPNB.cjs');
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
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);
|
|
@@ -88,9 +88,9 @@ var SQLiteAdapter = class {
|
|
|
88
88
|
`SELECT key FROM ${resourceTable(store.name)}
|
|
89
89
|
WHERE key NOT LIKE 'UNLOGIN_%' AND key NOT LIKE '__meta__:%' LIMIT 1`
|
|
90
90
|
);
|
|
91
|
-
if (rows.length
|
|
91
|
+
if (rows.length === 0) return false;
|
|
92
92
|
}
|
|
93
|
-
return
|
|
93
|
+
return true;
|
|
94
94
|
}
|
|
95
95
|
};
|
|
96
96
|
function rowToRecord(row) {
|
|
@@ -121,7 +121,7 @@ if (!_i18next2.default.isInitialized) {
|
|
|
121
121
|
}
|
|
122
122
|
});
|
|
123
123
|
}
|
|
124
|
-
var { initI18n, closeSSE, ensureModules, getResource, getAllRecordsByModule } =
|
|
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 =
|
|
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;
|
package/dist/native/index.js
CHANGED
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
I18N_RESOURCES_UPDATED_EVENT,
|
|
8
8
|
createI18nManager,
|
|
9
9
|
emitI18nResourcesUpdated
|
|
10
|
-
} from "../chunk-
|
|
10
|
+
} from "../chunk-5VHZCG34.js";
|
|
11
11
|
|
|
12
12
|
// src/native/index.ts
|
|
13
13
|
import i18n from "i18next";
|
|
@@ -88,9 +88,9 @@ var SQLiteAdapter = class {
|
|
|
88
88
|
`SELECT key FROM ${resourceTable(store.name)}
|
|
89
89
|
WHERE key NOT LIKE 'UNLOGIN_%' AND key NOT LIKE '__meta__:%' LIMIT 1`
|
|
90
90
|
);
|
|
91
|
-
if (rows.length
|
|
91
|
+
if (rows.length === 0) return false;
|
|
92
92
|
}
|
|
93
|
-
return
|
|
93
|
+
return true;
|
|
94
94
|
}
|
|
95
95
|
};
|
|
96
96
|
function rowToRecord(row) {
|