File tree Expand file tree Collapse file tree
packages/webgal/src/UI/Translation Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2,25 +2,54 @@ import useLanguage from '@/hooks/useLanguage';
22import { useEffect , useState } from 'react' ;
33import s from './translation.module.scss' ;
44import languages , { language } from '@/config/language' ;
5+ import { useSelector } from 'react-redux' ;
6+ import { RootState } from '@/store/store' ;
57
68export 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 < >
You can’t perform that action at this time.
0 commit comments