@@ -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,21 +561,11 @@ 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" >
568568
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 >
579569 < li className = "nav__dropdown-item" >
580570 < button
581571 onFocus = { this . handleFocusForLang }
@@ -597,14 +587,15 @@ class Nav extends React.PureComponent {
597587 </ li >
598588 </ ul >
599589 </ li >
600- </ ul >
590+ </ React . Fragment >
601591 ) ;
602592 }
603593
604594
605595 renderUnauthenticatedUserMenu ( navDropdownState ) {
606596 return (
607597 < ul className = "nav__items-right" title = "user-menu" >
598+ { getConfig ( 'TRANSLATIONS_ENABLED' ) && this . renderLanguageMenu ( navDropdownState ) }
608599 < li className = "nav__item" >
609600 < Link to = "/login" className = "nav__auth-button" >
610601 < span className = "nav__item-header" > { this . props . t ( 'Nav.Login' ) } </ span >
@@ -623,10 +614,7 @@ class Nav extends React.PureComponent {
623614 renderAuthenticatedUserMenu ( navDropdownState ) {
624615 return (
625616 < 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 ) }
630618 < li className = { navDropdownState . account } >
631619 < button
632620 className = "nav__item-header"
@@ -639,7 +627,7 @@ class Nav extends React.PureComponent {
639627 }
640628 } }
641629 >
642- { this . props . t ( 'Nav.Auth.MyAccount ' ) }
630+ < span > { this . props . t ( 'Nav.Auth.Hello ' ) } , { this . props . user . username } ! </ span >
643631 < TriangleIcon className = "nav__item-header-triangle" focusable = "false" aria-hidden = "true" />
644632 </ button >
645633 < ul className = "nav__dropdown" >
@@ -755,7 +743,6 @@ class Nav extends React.PureComponent {
755743 < header >
756744 < nav className = "nav" title = "main-navigation" ref = { ( node ) => { this . node = node ; } } >
757745 { this . renderLeftLayout ( navDropdownState ) }
758- { getConfig ( 'TRANSLATIONS_ENABLED' ) && this . renderLanguageMenu ( navDropdownState ) }
759746 { this . renderUserMenu ( navDropdownState ) }
760747 </ nav >
761748 </ header >
@@ -809,6 +796,7 @@ Nav.propTypes = {
809796 } ) ,
810797 t : PropTypes . func . isRequired ,
811798 setLanguage : PropTypes . func . isRequired ,
799+ language : PropTypes . string . isRequired ,
812800} ;
813801
814802Nav . defaultProps = {
@@ -829,7 +817,8 @@ function mapStateToProps(state) {
829817 project : state . project ,
830818 user : state . user ,
831819 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
833822 } ;
834823}
835824
0 commit comments