Skip to content

Commit 0bc9980

Browse files
Map1enNatsumi-sama
authored andcommitted
refactor: use lazy loading for localization files
1 parent fdeb8fa commit 0bc9980

File tree

19 files changed

+51
-52
lines changed

19 files changed

+51
-52
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"dev": "cross-env PLATFORM=windows vite serve src",
88
"dev-linux": "cross-env PLATFORM=linux vite serve src",
99
"dev:test": "concurrently \"npm run dev\" \"jest --watchAll\"",
10-
"localization": "node ./src/localization/localizationHelperCLI.js",
10+
"localization": "node ./src/shared/utils/localizationHelperCLI.js",
1111
"test": "jest",
1212
"test:coverage": "jest --coverage",
1313
"prod": "cross-env PLATFORM=windows vite build src",
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

src/localization/index.js

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
const langCodes = [
2+
'cs',
3+
'en',
4+
'es',
5+
'fr',
6+
'hu',
7+
'ja',
8+
'ko',
9+
'pl',
10+
'pt',
11+
'ru',
12+
'th',
13+
'vi',
14+
'zh-CN',
15+
'zh-TW'
16+
];
17+
18+
async function getLocalizationStrings() {
19+
const urlPromises = Promise.all(
20+
langCodes.map((code) =>
21+
import(`./${code}.json?url`).then((m) => m.default)
22+
)
23+
);
24+
25+
const urls = await urlPromises;
26+
const fetchPromises = Promise.all(
27+
urls.map((url) => fetch(url).then((res) => res.json()))
28+
);
29+
const results = await fetchPromises;
30+
const entries = langCodes.map((code, index) => {
31+
return [code, results[index]];
32+
});
33+
34+
return Object.fromEntries(entries);
35+
}
36+
37+
export { getLocalizationStrings };
File renamed without changes.
File renamed without changes.

src/localization/localizedStrings.js

Lines changed: 0 additions & 44 deletions
This file was deleted.

0 commit comments

Comments
 (0)