@@ -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,21 +561,11 @@ 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" >
568
568
569
- < li className = "nav__dropdown-item" >
570
- < button
571
- onFocus = { this . handleFocusForLang }
572
- onBlur = { this . handleBlur }
573
- value = "it"
574
- onClick = { e => this . handleLangSelection ( e ) }
575
- >
576
- Italian (Test Fallback)
577
- </ button >
578
- </ li >
579
569
< li className = "nav__dropdown-item" >
580
570
< button
581
571
onFocus = { this . handleFocusForLang }
@@ -597,14 +587,15 @@ class Nav extends React.PureComponent {
597
587
</ li >
598
588
</ ul >
599
589
</ li >
600
- </ ul >
590
+ </ React . Fragment >
601
591
) ;
602
592
}
603
593
604
594
605
595
renderUnauthenticatedUserMenu ( navDropdownState ) {
606
596
return (
607
597
< ul className = "nav__items-right" title = "user-menu" >
598
+ { getConfig ( 'TRANSLATIONS_ENABLED' ) && this . renderLanguageMenu ( navDropdownState ) }
608
599
< li className = "nav__item" >
609
600
< Link to = "/login" className = "nav__auth-button" >
610
601
< span className = "nav__item-header" > { this . props . t ( 'Nav.Login' ) } </ span >
@@ -623,10 +614,7 @@ class Nav extends React.PureComponent {
623
614
renderAuthenticatedUserMenu ( navDropdownState ) {
624
615
return (
625
616
< 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 >
617
+ { getConfig ( 'TRANSLATIONS_ENABLED' ) && this . renderLanguageMenu ( navDropdownState ) }
630
618
< li className = { navDropdownState . account } >
631
619
< button
632
620
className = "nav__item-header"
@@ -639,7 +627,7 @@ class Nav extends React.PureComponent {
639
627
}
640
628
} }
641
629
>
642
- { this . props . t ( 'Nav.Auth.MyAccount ' ) }
630
+ < span > { this . props . t ( 'Nav.Auth.Hello ' ) } , { this . props . user . username } ! </ span >
643
631
< TriangleIcon className = "nav__item-header-triangle" focusable = "false" aria-hidden = "true" />
644
632
</ button >
645
633
< ul className = "nav__dropdown" >
@@ -755,7 +743,6 @@ class Nav extends React.PureComponent {
755
743
< header >
756
744
< nav className = "nav" title = "main-navigation" ref = { ( node ) => { this . node = node ; } } >
757
745
{ this . renderLeftLayout ( navDropdownState ) }
758
- { getConfig ( 'TRANSLATIONS_ENABLED' ) && this . renderLanguageMenu ( navDropdownState ) }
759
746
{ this . renderUserMenu ( navDropdownState ) }
760
747
</ nav >
761
748
</ header >
@@ -809,6 +796,7 @@ Nav.propTypes = {
809
796
} ) ,
810
797
t : PropTypes . func . isRequired ,
811
798
setLanguage : PropTypes . func . isRequired ,
799
+ language : PropTypes . string . isRequired ,
812
800
} ;
813
801
814
802
Nav . defaultProps = {
@@ -829,7 +817,8 @@ function mapStateToProps(state) {
829
817
project : state . project ,
830
818
user : state . user ,
831
819
unsavedChanges : state . ide . unsavedChanges ,
832
- rootFile : state . files . filter ( file => file . name === 'root' ) [ 0 ]
820
+ rootFile : state . files . filter ( file => file . name === 'root' ) [ 0 ] ,
821
+ language : state . preferences . language
833
822
} ;
834
823
}
835
824
0 commit comments