File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -242,6 +242,19 @@ const JStoIdea = {
242242
243243 window . JSJavaBridge . callJava ( JSON . stringify ( params ) ) ;
244244 } ,
245+ setLanguage : ( message ) => {
246+ const params = {
247+ action : "updateLanguage/request" ,
248+ metadata : {
249+ callback : "IdeaToJSMessage" ,
250+ } ,
251+ payload : {
252+ language : message ?. language || "en" ,
253+ } ,
254+ } ;
255+ console . log ( "setLanguage params: " , params ) ;
256+ window . JSJavaBridge . callJava ( JSON . stringify ( params ) ) ;
257+ } ,
245258 userInput : ( message ) => {
246259 const params = {
247260 action : "input/request" ,
@@ -380,6 +393,9 @@ class IdeaBridge {
380393 accessKey : setting . apiKey ,
381394 keyType : setting . apiKey . startsWith ( "DC" ) ? "DevChat" : "OpenAi" ,
382395 } ) ;
396+ this . handle . getLanguage ( {
397+ language : setting . language ,
398+ } ) ;
383399 }
384400
385401 resviceAccessKey ( res : string = "" ) {
@@ -516,6 +532,9 @@ class IdeaBridge {
516532 case "openLink" :
517533 JStoIdea . openLink ( message ) ;
518534 break ;
535+ case "setLanguage" :
536+ JStoIdea . setLanguage ( message ) ;
537+ break ;
519538 case "userInput" :
520539 JStoIdea . userInput ( message ) ;
521540 break ;
Original file line number Diff line number Diff line change 1- import React from "react" ;
1+ import React , { useEffect } from "react" ;
22import {
33 Header ,
44 Avatar ,
@@ -22,7 +22,17 @@ const useStyles = createStyles((theme) => ({
2222
2323export default function Head ( ) {
2424 const { classes } = useStyles ( ) ;
25- const { t, i18n } = useTranslation ( ) ;
25+ const { i18n } = useTranslation ( ) ;
26+
27+ useEffect ( ( ) => {
28+ messageUtil . registerHandler ( "getLanguage" , ( data : { language : string } ) => {
29+ if ( data . language && data . language . toLocaleLowerCase ( ) === "en" ) {
30+ i18n . changeLanguage ( "en" ) ;
31+ } else {
32+ i18n . changeLanguage ( "zh" ) ;
33+ }
34+ } ) ;
35+ } , [ ] ) ;
2636
2737 const openSetting = ( ) => {
2838 messageUtil . sendMessage ( {
@@ -35,6 +45,10 @@ export default function Head() {
3545 const currentLang = i18n . language ;
3646 const newLang = currentLang === "en" ? "zh" : "en" ;
3747 i18n . changeLanguage ( newLang ) ;
48+ messageUtil . sendMessage ( {
49+ command : "setLanguage" ,
50+ language : newLang ,
51+ } ) ;
3852 } ;
3953
4054 return (
You can’t perform that action at this time.
0 commit comments