diff --git a/bigbluebutton-html5/imports/ui/components/LanguageOverlay/component.jsx b/bigbluebutton-html5/imports/ui/components/LanguageOverlay/component.jsx index 56c81fa2afa49a601644d7694cbfb201f9056c30..6a1d53e4e568748c471546eabb8ab2a9a0f8713b 100644 --- a/bigbluebutton-html5/imports/ui/components/LanguageOverlay/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/LanguageOverlay/component.jsx @@ -1,8 +1,22 @@ import React, { Component } from 'react'; +import { defineMessages } from 'react-intl'; import Meeting from "/imports/ui/services/meeting"; import AudioManager from '/imports/ui/services/audio-manager'; import styles from "./styles.scss" +const intlMessages = defineMessages({ + originLanguage: { + id: 'app.translation.language.origin', + description: 'Name of origin language', + defaultMessage: 'Floor', + }, + noneLanguage: { + id: 'app.translation.language.none', + description: 'Name of none language', + defaultMessage: 'None', + }, +}); + class LanguageOverlay extends Component{ state = { @@ -29,23 +43,25 @@ class LanguageOverlay extends Component{ </div>); } componentDidMount() { + const { + intl, + } = this.props; + Meeting.getLanguages().then(languages => { if(this.props.filteredLanguages) { let filteredLanguageExtensions = new Set(this.props.filteredLanguages .map(language => language.extension)); languages = languages.filter(language => !filteredLanguageExtensions.has(language.extension)); } - this.state.languages = languages if(this.props.hasOwnProperty("translator") && this.props.translator){ - this.state.languages.push({name: "None", extension:-1}) + languages.push({name: intl.formatMessage(intlMessages.noneLanguage), extension:-1}) }else{ - this.state.languages.push({name: "Floor", extension:-1}) + languages.push({name: intl.formatMessage(intlMessages.originLanguage), extension:-1}) } - this.setState(this.state) + this.setState({languages: languages}) harborRender() }); - } } diff --git a/bigbluebutton-html5/imports/ui/components/actions-bar/component.jsx b/bigbluebutton-html5/imports/ui/components/actions-bar/component.jsx index 634a7275d5e53dd88891cb105b1375459eebaa2b..5499c0a1aac9018e60cf27b012b2392cd39213e9 100755 --- a/bigbluebutton-html5/imports/ui/components/actions-bar/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/actions-bar/component.jsx @@ -243,7 +243,12 @@ class ActionsBar extends PureComponent { { this.state.showLanguageChoice ? ( <div className={"sailingShip "+styles.languageOverlay}> - <LanguageOverlay current={this.state.translationLanguage} filteredLanguages={this.state.translatorLanguage ? [this.state.translatorLanguage] : []} clickHandler={this.handleLanguageSelection.bind(this) }/> + <LanguageOverlay + current={this.state.translationLanguage} + filteredLanguages={this.state.translatorLanguage ? [this.state.translatorLanguage] : []} + clickHandler={this.handleLanguageSelection.bind(this)} + intl={intl} + /> </div> ):null } @@ -303,7 +308,13 @@ class ActionsBar extends PureComponent { { this.state.showTranslatorChoice ? ( <div className={"sailingShip "+styles.translatorLanguageOverlay}> - <LanguageOverlay translator={true} current={this.state.translatorLanguage} filteredLanguages={this.state.translationLanguage ? [this.state.translationLanguage] : []} clickHandler={this.handleTranslatorLanguageSelection.bind(this) }/> + <LanguageOverlay + translator={true} + current={this.state.translatorLanguage} + filteredLanguages={this.state.translationLanguage ? [this.state.translationLanguage] : []} + clickHandler={this.handleTranslatorLanguageSelection.bind(this)} + intl={intl} + /> </div> ):null } diff --git a/bigbluebutton-html5/private/locales/de.json b/bigbluebutton-html5/private/locales/de.json index a917ed2c31633f61cbbe698b628f007031473e29..17b47b836e190e474ea34e5678647e9bf47c5c2d 100644 --- a/bigbluebutton-html5/private/locales/de.json +++ b/bigbluebutton-html5/private/locales/de.json @@ -704,7 +704,9 @@ "app.translation.confirmLanguage": "bestätigen", "app.translation.translator.microphone": "Übersetzer Micro", "app.translation.translator.selectLanguage": "Sprache Übersetzen", - "app.translation.selectTranslation": "Verfügbare Sprachen" + "app.translation.selectTranslation": "Verfügbare Sprachen", + "app.translation.language.origin": "Original", + "app.translation.language.none": "Keine" } diff --git a/bigbluebutton-html5/private/locales/en.json b/bigbluebutton-html5/private/locales/en.json index 57820c0686dea9511cd12c8a59c14bf98790e26e..d98d86f97680885c57b1ed5c82a7aa479beb6a0f 100755 --- a/bigbluebutton-html5/private/locales/en.json +++ b/bigbluebutton-html5/private/locales/en.json @@ -706,6 +706,8 @@ "app.translation.confirmLanguage": "confirm", "app.translation.translator.microphone": "Translator mic", "app.translation.translator.selectLanguage": "Translate to", - "app.translation.selectTranslation": "Available languages" + "app.translation.selectTranslation": "Available languages", + "app.translation.language.origin": "Floor", + "app.translation.language.none": "None" }