diff --git a/bigbluebutton-html5/client/main.jsx b/bigbluebutton-html5/client/main.jsx index e9cf3747d49134abc07f06bd7f939347b4277f93..2ea403ed92a9935249c697e33c89f941091e18a8 100755 --- a/bigbluebutton-html5/client/main.jsx +++ b/bigbluebutton-html5/client/main.jsx @@ -6,13 +6,14 @@ import { IntlProvider } from 'react-intl'; let defaultLocale = 'en'; let browserLanguage = navigator.language; -let messages; +var messages; function loadMessages(browserLanguage) { + $.ajax({ type: 'GET', async: false, - url: `http://192.168.32.128/html5client/locale?locale=${browserLanguage}`, + url: `${window.location.origin}/html5client/locale?locale=${browserLanguage}`, dataType: 'json', success: setMessages, error: err, @@ -25,6 +26,7 @@ function loadMessages(browserLanguage) { function err(data) { console.log('Error : Locale Not Found, Using Default'); } + } // Helper to load javascript libraries from the BBB server diff --git a/bigbluebutton-html5/imports/startup/server/index.js b/bigbluebutton-html5/imports/startup/server/index.js index d7aff4b056a4bdc6de8bc5658e77815e744d8b13..02611e38a02c93f132f0ce979551607c9e64dac0 100755 --- a/bigbluebutton-html5/imports/startup/server/index.js +++ b/bigbluebutton-html5/imports/startup/server/index.js @@ -3,7 +3,6 @@ import '/server/server'; import { RedisPubSub } from '/imports/startup/server/RedisPubSub'; import { EventQueue } from '/imports/startup/server/EventQueue'; import { clearCollections } from '/imports/api/common/server/helpers'; -import { Meteor } from 'meteor/meteor'; import Locales from '/imports/locales'; Meteor.startup(function () { @@ -36,50 +35,23 @@ WebApp.connectHandlers.use('/check', (req, res, next) => { }); WebApp.connectHandlers.use('/locale', (req, res) => { + let defaultLocale = 'en'; - let availableTranslations = ['en', 'en-US', 'pt-BR']; - let defaultMessages = {}; - let newMessages = {}; - let languageRegion = null; - let language = null; - let foundl = false; - let foundlr = false; - - let browserLang = req.query.locale.split('-'); - - if (browserLang[1]) { - languageRegion = browserLang[0] + '-' + browserLang[1].toUpperCase(); - language = browserLang[0]; - } else { - language = browserLang[0]; - } - - defaultMessages = Locales[defaultLocale]; - - for (i = 0; i < availableTranslations.length; i++) { - if (languageRegion == availableTranslations[i]) { - foundlr = true; - } else if (language == availableTranslations[i]) { - foundl = true; - } - } + let [locale, region] = req.query.locale.split('-'); - if (foundlr) { - newMessages = Locales[languageRegion]; - foundlr = false; - }else if (foundl) { - newMessages = Locales[language]; - foundl = false; - } else { - newMessages = defaultMessages; - } + const defaultMessages = Locales[defaultLocale]; - let merged = {}; - Object.assign(merged, defaultMessages, newMessages); + let messages = Object.assign( + {}, + defaultMessages, + Locales[locale], + Locales[`${locale}-${region}`], + ); res.setHeader('Content-Type', 'application/json'); res.writeHead(200); - res.end(JSON.stringify(merged)); + res.end(JSON.stringify(messages)); + }); export const myQueue = new EventQueue();