diff --git a/bigbluebutton-html5/imports/locales/en.json b/bigbluebutton-html5/imports/locales/en.json index 0dd331828299848c7e2fdb8f8c3efaf0c41f693f..60ebcd92cb7bcae24acfb17e22cc6f8fb8f5ab96 100755 --- a/bigbluebutton-html5/imports/locales/en.json +++ b/bigbluebutton-html5/imports/locales/en.json @@ -83,6 +83,7 @@ "app.actionsBar.emojiMenu.thumbsdownDesc": "Change your status to thumbs down", "app.audioNotification.audioFailedMessage": "Your audio connection failed to connect. Try again.", "app.audioNotification.mediaFailedMessage": "getUserMicMedia failed, Only secure origins are allowed", + "app.audioNotification.closeLabel": "Close", "app.breakoutJoinConfirmation.title": "Join Breakout Room", "app.breakoutJoinConfirmation.message": "Do you want to join", "app.breakoutJoinConfirmation.confirmLabel": "Join", @@ -96,13 +97,20 @@ "app.audioModal.listenOnlyLabel": "Listen Only", "app.audioModal.audioChoiceLabel": "How would you like to join the audio?", "app.audioModal.audioChoiceDescription": "Select how to join the audio in this meeting", + "app.audioModal.closeLabel": "Close", "app.audio.joinAudio": "Join Audio", "app.audio.leaveAudio": "Leave Audio", + "app.audio.enterSessionLabel": "Enter Session", "app.audio.playSoundLabel": "Play Sound", "app.audio.backLabel": "Back", "app.audio.audioSettings.titleLabel": "Choose your audio settings", "app.audio.audioSettings.descriptionLabel": "Please note, a dialog will appear in your browser, requiring you to accept sharing your microphone.", "app.audio.audioSettings.microphoneSourceLabel": "Microphone source", "app.audio.audioSettings.speakerSourceLabel": "Speaker source", - "app.audio.audioSettings.microphoneStreamLabel": "Your audio stream volume" + "app.audio.audioSettings.microphoneStreamLabel": "Your audio stream volume", + "app.audio.listenOnly.backLabel": "Back", + "app.audio.listenOnly.closeLabel": "Close", + "app.presenterControls.previousSlideLabel": "Previous Slide", + "app.presenterControls.nextSlideLabel": "Next Slide" + } diff --git a/bigbluebutton-html5/imports/ui/components/audio-modal/join-audio/component.jsx b/bigbluebutton-html5/imports/ui/components/audio-modal/join-audio/component.jsx index 64f5c66f454d24f9dd475e0551ad218674fa73c6..f62303df847b71712ac2ab4fefd47929b1dc693b 100755 --- a/bigbluebutton-html5/imports/ui/components/audio-modal/join-audio/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/audio-modal/join-audio/component.jsx @@ -7,10 +7,16 @@ import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; const intlMessages = defineMessages({ microphoneLabel: { id: 'app.audioModal.microphoneLabel', + defaultMessage: 'Microphone', }, listenOnlyLabel: { id: 'app.audioModal.listenOnlyLabel', + defaultMessage: 'Listen Only', }, + closeLabel: { + id: 'app.audioModal.closeLabel', + defaultMessage: 'Close', + } }); class JoinAudio extends React.Component { @@ -42,7 +48,7 @@ class JoinAudio extends React.Component { <div> <div className={styles.center}> <Button className={styles.closeBtn} - label={'Close'} + label={intl.formatMessage(intlMessages.closeLabel)} icon={'close'} size={'lg'} circle={true} diff --git a/bigbluebutton-html5/imports/ui/components/audio-modal/listen-only/component.jsx b/bigbluebutton-html5/imports/ui/components/audio-modal/listen-only/component.jsx index be5fb859415b21cfa3cd3362faeb3e2e3ecb31f3..a78116e9eea0fcdde94506a09f6db47dc50ead31 100755 --- a/bigbluebutton-html5/imports/ui/components/audio-modal/listen-only/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/audio-modal/listen-only/component.jsx @@ -1,4 +1,5 @@ import React from 'react'; +import { defineMessages, injectIntl } from 'react-intl'; import Button from '/imports/ui/components/button/component'; import { clearModal } from '/imports/ui/components/app/service'; import styles from '../styles.scss'; @@ -7,7 +8,18 @@ import DeviceSelector from '/imports/ui/components/audio/device-selector/compone import AudioTestContainer from '/imports/ui/components/audio-test/container'; import EnterAudioContainer from '/imports/ui/components/enter-audio/container'; -export default class ListenOnly extends React.Component { +const intlMessages = defineMessages({ + backLabel: { + id: 'app.audio.listenOnly.backLabel', + defaultMessage: 'Back', + }, + closeLabel: { + id: 'app.audio.listenOnly.closeLabel', + defaultMessage: 'Close', + }, +}); + +class ListenOnly extends React.Component { constructor(props) { super(props); @@ -34,11 +46,15 @@ export default class ListenOnly extends React.Component { } render() { + const { + intl + } = this.props; + return ( <div> <div className={styles.center}> <Button className={styles.backBtn} - label={'Back'} + label={intl.formatMessage(intlMessages.backLabel)} icon={'left-arrow'} size={'md'} color={'primary'} @@ -46,7 +62,7 @@ export default class ListenOnly extends React.Component { onClick={this.chooseAudio} /> <Button className={styles.closeBtn} - label={'Close'} + label={intl.formatMessage(intlMessages.closeLabel)} icon={'close'} size={'lg'} circle={true} @@ -73,3 +89,5 @@ export default class ListenOnly extends React.Component { ); } }; + +export default injectIntl(ListenOnly); diff --git a/bigbluebutton-html5/imports/ui/components/audio-notification/component.jsx b/bigbluebutton-html5/imports/ui/components/audio-notification/component.jsx index f9dbb42410402359ad4731bc875b4e3902e51cca..86fb617d4ccf1f262e07c8dd3beebe441a4d7dd5 100755 --- a/bigbluebutton-html5/imports/ui/components/audio-notification/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/audio-notification/component.jsx @@ -1,4 +1,5 @@ import React, { Component, PropTypes } from 'react'; +import { defineMessages, injectIntl } from 'react-intl'; import styles from './styles.scss'; import cx from 'classnames'; import Button from '/imports/ui/components/button/component'; @@ -16,7 +17,14 @@ const defaultProps = { color: 'default', }; -export default class AudioNotification extends Component { +const intlMessages = defineMessages({ + closeLabel: { + id: 'app.audioNotification.closeLabel', + defaultMessage: 'Close', + }, +}); + +class AudioNotification extends Component { constructor(props) { super(props); @@ -28,18 +36,22 @@ export default class AudioNotification extends Component { } render() { - const { color, message } = this.props; + const { + color, + message, + intl, + } = this.props; - if(!color || !message ){ + if (!color || !message ){ return null; - }else{ + } else { return ( <div role="alert" className={cx(styles.audioNotifications, styles[this.props.color])}> {message} <Button className={styles.closeBtn} - label={'Close'} + label={intl.formatMessage(intlMessages.closeLabel)} icon={'close'} size={'sm'} circle={true} @@ -54,3 +66,5 @@ export default class AudioNotification extends Component { AudioNotification.propTypes = propTypes; AudioNotification.defaultProps = defaultProps; + +export default injectIntl(AudioNotification); diff --git a/bigbluebutton-html5/imports/ui/components/enter-audio/component.jsx b/bigbluebutton-html5/imports/ui/components/enter-audio/component.jsx index 1ce2815a4cb7e3ae677a2a50ade8ba7b855bcb52..627ae64030407e75bb999c825ffeaa81e20d2c06 100755 --- a/bigbluebutton-html5/imports/ui/components/enter-audio/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/enter-audio/component.jsx @@ -1,17 +1,22 @@ import React from 'react'; +import { defineMessages, injectIntl } from 'react-intl'; import Button from '/imports/ui/components/button/component'; import styles from '../settings/styles.scss'; -export default class EnterAudio extends React.Component { +class EnterAudio extends React.Component { constructor(props) { super(props); } render() { + const { + intl, + } = this.props; + return ( <div className={styles.half}> <Button className={styles.enterBtn} - label={'Enter Session'} + label={intl.formatMessage(intlMessages.enterSessionLabel)} size={'md'} color={'primary'} onClick={this.props.handleJoin} @@ -20,3 +25,12 @@ export default class EnterAudio extends React.Component { ); } }; + +const intlMessages = defineMessages({ + enterSessionLabel: { + id: 'app.audio.enterSessionLabel', + defaultMessage: 'Enter Session', + }, +}); + +export default injectIntl(EnterAudio); diff --git a/bigbluebutton-html5/imports/ui/components/whiteboard/slide-controls/component.jsx b/bigbluebutton-html5/imports/ui/components/whiteboard/slide-controls/component.jsx index 93ccc8bcfde8256af6c463b30b04cc24c1a192f1..9a260689ab518cc8d2bcdce350e069950196fcd3 100755 --- a/bigbluebutton-html5/imports/ui/components/whiteboard/slide-controls/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/whiteboard/slide-controls/component.jsx @@ -2,9 +2,20 @@ import React, { Component, PropTypes } from 'react'; import styles from './styles.scss'; import Button from '/imports/ui/components/button/component'; import classNames from 'classnames'; -import { FormattedMessage } from 'react-intl'; +import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; -export default class SlideControls extends Component { +const intlMessages = defineMessages({ + previousSlideLabel: { + id: 'app.presenterControls.previousSlideLabel', + defaultMessage: 'Previous Slide', + }, + nextSlideLabel: { + id: 'app.presenterControls.nextSlideLabel', + defaultMessage: 'Next Slide', + }, +}); + +class SlideControls extends Component { constructor(props) { super(props); @@ -48,6 +59,7 @@ export default class SlideControls extends Component { currentSlideNum, numberOfSlides, actions, + intl, } = this.props; return ( @@ -65,7 +77,7 @@ export default class SlideControls extends Component { icon={'left-arrow'} size={'md'} onClick={actions.previousSlideHandler} - label={'Previous Slide'} + label={intl.formatMessage(intlMessages.previousSlideLabel)} hideLabel={true} className={styles.prevSlide} /> @@ -80,7 +92,7 @@ export default class SlideControls extends Component { icon={'right-arrow'} size={'md'} onClick={actions.nextSlideHandler} - label={'Next Slide'} + label={intl.formatMessage(intlMessages.nextSlideLabel)} hideLabel={true} /> {/*Skip Slide drop down*/} @@ -248,3 +260,5 @@ export default class SlideControls extends Component { ); } } + +export default injectIntl(SlideControls);