@@ -5,7 +5,7 @@ import { withRouter } from 'react-router';
5
5
import { Link } from 'react-router' ;
6
6
import classNames from 'classnames' ;
7
7
import { withTranslation } from 'react-i18next' ;
8
- import i18next from 'i18next ' ;
8
+ import { languageKeyToLabel } from '../i18n ' ;
9
9
import * as IDEActions from '../modules/IDE/actions/ide' ;
10
10
import * as toastActions from '../modules/IDE/actions/toast' ;
11
11
import * as projectActions from '../modules/IDE/actions/project' ;
@@ -549,7 +549,7 @@ class Nav extends React.PureComponent {
549
549
550
550
renderLanguageMenu ( navDropdownState ) {
551
551
return (
552
- < ul className = "nav__items-right" title = "user-menu" >
552
+ < React . Fragment >
553
553
< li className = { navDropdownState . lang } >
554
554
< button
555
555
onClick = { this . toggleDropdownForLang }
@@ -561,7 +561,7 @@ class Nav extends React.PureComponent {
561
561
}
562
562
} }
563
563
>
564
- < span className = "nav__item-header" > { this . props . t ( 'Nav.Lang' ) } </ span >
564
+ < span className = "nav__item-header" > { languageKeyToLabel ( this . props . language ) } </ span >
565
565
< TriangleIcon className = "nav__item-header-triangle" focusable = "false" aria-hidden = "true" />
566
566
</ button >
567
567
< ul className = "nav__dropdown" >
@@ -597,14 +597,15 @@ class Nav extends React.PureComponent {
597
597
</ li >
598
598
</ ul >
599
599
</ li >
600
- </ ul >
600
+ </ React . Fragment >
601
601
) ;
602
602
}
603
603
604
604
605
605
renderUnauthenticatedUserMenu ( navDropdownState ) {
606
606
return (
607
607
< ul className = "nav__items-right" title = "user-menu" >
608
+ { getConfig ( 'TRANSLATIONS_ENABLED' ) && this . renderLanguageMenu ( navDropdownState ) }
608
609
< li className = "nav__item" >
609
610
< Link to = "/login" className = "nav__auth-button" >
610
611
< span className = "nav__item-header" > { this . props . t ( 'Nav.Login' ) } </ span >
@@ -623,10 +624,7 @@ class Nav extends React.PureComponent {
623
624
renderAuthenticatedUserMenu ( navDropdownState ) {
624
625
return (
625
626
< ul className = "nav__items-right" title = "user-menu" >
626
- < li className = "nav__item" >
627
- < span > { this . props . t ( 'Nav.Auth.Hello' ) } , { this . props . user . username } !</ span >
628
- </ li >
629
- < span className = "nav__item-spacer" > |</ span >
627
+ { getConfig ( 'TRANSLATIONS_ENABLED' ) && this . renderLanguageMenu ( navDropdownState ) }
630
628
< li className = { navDropdownState . account } >
631
629
< button
632
630
className = "nav__item-header"
@@ -639,7 +637,7 @@ class Nav extends React.PureComponent {
639
637
}
640
638
} }
641
639
>
642
- { this . props . t ( 'Nav.Auth.MyAccount ' ) }
640
+ < span > { this . props . t ( 'Nav.Auth.Hello ' ) } , { this . props . user . username } ! </ span >
643
641
< TriangleIcon className = "nav__item-header-triangle" focusable = "false" aria-hidden = "true" />
644
642
</ button >
645
643
< ul className = "nav__dropdown" >
@@ -755,7 +753,6 @@ class Nav extends React.PureComponent {
755
753
< header >
756
754
< nav className = "nav" title = "main-navigation" ref = { ( node ) => { this . node = node ; } } >
757
755
{ this . renderLeftLayout ( navDropdownState ) }
758
- { getConfig ( 'TRANSLATIONS_ENABLED' ) && this . renderLanguageMenu ( navDropdownState ) }
759
756
{ this . renderUserMenu ( navDropdownState ) }
760
757
</ nav >
761
758
</ header >
@@ -809,6 +806,7 @@ Nav.propTypes = {
809
806
} ) ,
810
807
t : PropTypes . func . isRequired ,
811
808
setLanguage : PropTypes . func . isRequired ,
809
+ language : PropTypes . string . isRequired ,
812
810
} ;
813
811
814
812
Nav . defaultProps = {
@@ -829,7 +827,8 @@ function mapStateToProps(state) {
829
827
project : state . project ,
830
828
user : state . user ,
831
829
unsavedChanges : state . ide . unsavedChanges ,
832
- rootFile : state . files . filter ( file => file . name === 'root' ) [ 0 ]
830
+ rootFile : state . files . filter ( file => file . name === 'root' ) [ 0 ] ,
831
+ language : state . preferences . language
833
832
} ;
834
833
}
835
834
0 commit comments