@@ -5,7 +5,7 @@ import { withRouter } from 'react-router';
55import { Link } from 'react-router' ;
66import classNames from 'classnames' ;
77import { withTranslation } from 'react-i18next' ;
8- import i18next from 'i18next ' ;
8+ import { languageKeyToLabel } from '../i18n ' ;
99import * as IDEActions from '../modules/IDE/actions/ide' ;
1010import * as toastActions from '../modules/IDE/actions/toast' ;
1111import * as projectActions from '../modules/IDE/actions/project' ;
@@ -549,7 +549,7 @@ class Nav extends React.PureComponent {
549549
550550 renderLanguageMenu ( navDropdownState ) {
551551 return (
552- < ul className = "nav__items-right" title = "user-menu" >
552+ < React . Fragment >
553553 < li className = { navDropdownState . lang } >
554554 < button
555555 onClick = { this . toggleDropdownForLang }
@@ -561,7 +561,7 @@ class Nav extends React.PureComponent {
561561 }
562562 } }
563563 >
564- < span className = "nav__item-header" > { this . props . t ( 'Nav.Lang' ) } </ span >
564+ < span className = "nav__item-header" > { languageKeyToLabel ( this . props . language ) } </ span >
565565 < TriangleIcon className = "nav__item-header-triangle" focusable = "false" aria-hidden = "true" />
566566 </ button >
567567 < ul className = "nav__dropdown" >
@@ -597,14 +597,15 @@ class Nav extends React.PureComponent {
597597 </ li >
598598 </ ul >
599599 </ li >
600- </ ul >
600+ </ React . Fragment >
601601 ) ;
602602 }
603603
604604
605605 renderUnauthenticatedUserMenu ( navDropdownState ) {
606606 return (
607607 < ul className = "nav__items-right" title = "user-menu" >
608+ { getConfig ( 'TRANSLATIONS_ENABLED' ) && this . renderLanguageMenu ( navDropdownState ) }
608609 < li className = "nav__item" >
609610 < Link to = "/login" className = "nav__auth-button" >
610611 < span className = "nav__item-header" > { this . props . t ( 'Nav.Login' ) } </ span >
@@ -623,10 +624,7 @@ class Nav extends React.PureComponent {
623624 renderAuthenticatedUserMenu ( navDropdownState ) {
624625 return (
625626 < 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 ) }
630628 < li className = { navDropdownState . account } >
631629 < button
632630 className = "nav__item-header"
@@ -639,7 +637,7 @@ class Nav extends React.PureComponent {
639637 }
640638 } }
641639 >
642- { this . props . t ( 'Nav.Auth.MyAccount ' ) }
640+ < span > { this . props . t ( 'Nav.Auth.Hello ' ) } , { this . props . user . username } ! </ span >
643641 < TriangleIcon className = "nav__item-header-triangle" focusable = "false" aria-hidden = "true" />
644642 </ button >
645643 < ul className = "nav__dropdown" >
@@ -755,7 +753,6 @@ class Nav extends React.PureComponent {
755753 < header >
756754 < nav className = "nav" title = "main-navigation" ref = { ( node ) => { this . node = node ; } } >
757755 { this . renderLeftLayout ( navDropdownState ) }
758- { getConfig ( 'TRANSLATIONS_ENABLED' ) && this . renderLanguageMenu ( navDropdownState ) }
759756 { this . renderUserMenu ( navDropdownState ) }
760757 </ nav >
761758 </ header >
@@ -809,6 +806,7 @@ Nav.propTypes = {
809806 } ) ,
810807 t : PropTypes . func . isRequired ,
811808 setLanguage : PropTypes . func . isRequired ,
809+ language : PropTypes . string . isRequired ,
812810} ;
813811
814812Nav . defaultProps = {
@@ -829,7 +827,8 @@ function mapStateToProps(state) {
829827 project : state . project ,
830828 user : state . user ,
831829 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
833832 } ;
834833}
835834
0 commit comments