Skip to content

Commit 9cc7104

Browse files
feat: can apply default language in config
1 parent 60fa06e commit 9cc7104

1 file changed

Lines changed: 35 additions & 6 deletions

File tree

packages/webgal/src/UI/Translation/Translation.tsx

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,54 @@ import useLanguage from '@/hooks/useLanguage';
22
import { useEffect, useState } from 'react';
33
import s from './translation.module.scss';
44
import languages, { language } from '@/config/language';
5+
import { useSelector } from 'react-redux';
6+
import { RootState } from '@/store/store';
57

68
export default function Translation() {
79
const setLanguage = useLanguage();
810

911
const [isShowSelectLanguage, setIsShowSelectLanguage] = useState(false);
12+
const globalVar = useSelector((state: RootState) => state.userData.globalGameVar);
13+
const defaultLang = globalVar['Default_Language'] ?? '';
14+
15+
const setLang = (langId: language) => {
16+
setIsShowSelectLanguage(false);
17+
setLanguage(langId);
18+
};
1019

1120
useEffect(() => {
1221
const lang = window?.localStorage.getItem('lang');
1322
if (!lang) {
1423
setIsShowSelectLanguage(true);
24+
if (defaultLang) {
25+
switch (defaultLang) {
26+
case 'zh_CN':
27+
setLang(language.zhCn);
28+
break;
29+
case 'zh_TW':
30+
setLang(language.zhTw);
31+
break;
32+
case 'en':
33+
setLang(language.en);
34+
break;
35+
case 'jp':
36+
setLang(language.jp);
37+
break;
38+
case 'fr':
39+
setLang(language.fr);
40+
break;
41+
case 'de':
42+
setLang(language.de);
43+
break;
44+
default:
45+
setLang(language.zhCn);
46+
break;
47+
}
48+
}
1549
} else {
1650
setLanguage(Number(window?.localStorage.getItem('lang')), false);
1751
}
18-
}, []);
19-
20-
const setLang = (langId: language) => {
21-
setIsShowSelectLanguage(false);
22-
setLanguage(langId);
23-
};
52+
}, [defaultLang]);
2453

2554
return (
2655
<>

0 commit comments

Comments
 (0)