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();