diff --git a/bigbluebutton-html5/private/locales/bg_BG.json b/bigbluebutton-html5/private/locales/bg_BG.json
old mode 100755
new mode 100644
index 575eae9805496cceede9d7f63b06d6c4544535f9..b82bb8a1dd0361d4b8bcc71ddd812f16903a8f6c
--- a/bigbluebutton-html5/private/locales/bg_BG.json
+++ b/bigbluebutton-html5/private/locales/bg_BG.json
@@ -1,97 +1,11 @@
 {
-  "app.home.greeting": "Добре дошли, {0}! Вашата презентация ще започне всеки момент",
-  "app.userlist.usersTitle": "Потребители",
-  "app.userlist.participantsTitle": "Участници",
-  "app.userlist.messagesTitle": "Съобщения",
-  "app.userlist.presenter": "Лектор",
-  "app.userlist.you": "Вие",
-  "app.chat.submitLabel": "Изпрати",
-  "app.chat.inputLabel": "Въведи съобщение за {0}",
-  "app.chat.inputPlaceholder": "Съобщение {0}",
-  "app.chat.titlePublic": "Общ чат",
-  "app.chat.titlePrivate": "Private Chat with {0}",
-  "app.chat.partnerDisconnected": "{0} has left the meeting",
-  "app.chat.moreMessages": "More messages below",
-  "app.kickMessage": "You have been kicked out of the meeting",
-  "app.whiteboard.slideControls.prevSlideLabel": "Previous slide",
-  "app.whiteboard.slideControls.prevSlideDescrip": "Change the presentation to the previous slide",
-  "app.whiteboard.slideControls.nextSlideLabel": "Next slide",
-  "app.whiteboard.slideControls.nextSlideDescrip": "Change the presentation to the next slide",
-  "app.whiteboard.slideControls.skipSlideLabel": "Skip slide",
-  "app.whiteboard.slideControls.skipSlideDescrip": "Change the presentation to a specific slide",
-  "app.whiteboard.slideControls.fitWidthLabel": "Fit to width",
-  "app.whiteboard.slideControls.fitWidthDescrip": "Display the whole width of the slide",
-  "app.whiteboard.slideControls.fitScreenLabel": "Fit to screen",
-  "app.whiteboard.slideControls.fitScreenDescrip": "Display the whole slide",
-  "app.whiteboard.slideControls.zoomLabel": "Zoom",
-  "app.whiteboard.slideControls.zoomDescrip": "Change the zoom level of the presentation",
-  "app.failedMessage": "Apologies, trouble connecting to the server.",
-  "app.connectingMessage": "Connecting...",
-  "app.waitingMessage": "Disconnected. Trying to reconnect in {0} seconds...",
-  "app.navBar.settingsDropdown.optionsLabel": "Options",
-  "app.navBar.settingsDropdown.fullscreenLabel": "Make fullscreen",
-  "app.navBar.settingsDropdown.settingsLabel": "Open settings",
-  "app.navBar.settingsDropdown.aboutLabel": "About",
-  "app.navBar.settingsDropdown.leaveSessionLabel": "Logout",
-  "app.navBar.settingsDropdown.fullscreenDesc": "Make the settings menu fullscreen",
-  "app.navBar.settingsDropdown.settingsDesc": "Change the general settings",
-  "app.navBar.settingsDropdown.aboutDesc": "Show information about the client",
-  "app.navBar.settingsDropdown.leaveSessionDesc": "Leave the meeting",
-  "app.leaveConfirmation.title": "Leave Session",
-  "app.leaveConfirmation.message": "Do you want to leave this meeting?",
-  "app.leaveConfirmation.confirmLabel": "Leave",
-  "app.leaveConfirmation.confirmDesc": "Logs you out of the meeting",
-  "app.leaveConfirmation.dismissLabel": "Cancel",
-  "app.leaveConfirmation.dismissDesc": "Closes and rejects the leave confirmation",
-  "app.about.title": "About",
-  "app.about.version": "Client Build:",
-  "app.about.copyright": "Copyright:",
-  "app.about.confirmLabel": "OK",
-  "app.about.confirmDesc": "OK",
-  "app.about.dismissLabel": "Cancel",
-  "app.about.dismissDesc": "Close about client information",
-  "app.actionsBar.muteLabel": "Mute",
-  "app.actionsBar.camOffLabel": "Cam Off",
-  "app.actionsBar.raiseLabel": "Raise",
-  "app.actionsBar.actionsDropdown.actionsLabel": "Actions",
-  "app.actionsBar.actionsDropdown.presentationLabel": "Upload a presentation",
-  "app.actionsBar.actionsDropdown.initPollLabel": "Initiate a poll",
-  "app.actionsBar.actionsDropdown.desktopShareLabel": "Share your screen",
-  "app.actionsBar.actionsDropdown.presentationDesc": "Upload your presentation",
-  "app.actionsBar.actionsDropdown.initPollDesc": "Initiate a poll",
-  "app.actionsBar.actionsDropdown.desktopShareDesc": "Share your screen with others",
-  "app.actionsBar.emojiMenu.statusTriggerLabel": "Status",
-  "app.actionsBar.emojiMenu.awayLabel": "Away",
-  "app.actionsBar.emojiMenu.awayDesc": "Change your status to away",
-  "app.actionsBar.emojiMenu.raiseLabel": "Raise",
-  "app.actionsBar.emojiMenu.raiseDesc": "Raise your hand to ask a question",
-  "app.actionsBar.emojiMenu.undecidedLabel": "Undecided",
-  "app.actionsBar.emojiMenu.undecidedDesc": "Change your status to undecided",
-  "app.actionsBar.emojiMenu.confusedLabel": "Confused",
-  "app.actionsBar.emojiMenu.confusedDesc": "Change your status to confused",
-  "app.actionsBar.emojiMenu.sadLabel": "Sad",
-  "app.actionsBar.emojiMenu.sadDesc": "Change your status to sad",
-  "app.actionsBar.emojiMenu.happyLabel": "Happy",
-  "app.actionsBar.emojiMenu.happyDesc": "Change your status to happy",
-  "app.actionsBar.emojiMenu.clearLabel": "Clear",
-  "app.actionsBar.emojiMenu.clearDesc": "Clear your status",
-  "app.actionsBar.emojiMenu.applauseLabel": "Applaud",
-  "app.actionsBar.emojiMenu.applauseDesc": "Change your status to applause",
-  "app.actionsBar.emojiMenu.thumbsupLabel": "Thumbs up",
-  "app.actionsBar.emojiMenu.thumbsupDesc": "Change your status to thumbs up",
-  "app.actionsBar.emojiMenu.thumbsdownLabel": "Thumbs down",
-  "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.breakoutJoinConfirmation.title": "Join Breakout Room",
-  "app.breakoutJoinConfirmation.message": "Do you want to join",
-  "app.breakoutJoinConfirmation.confirmLabel": "Join",
-  "app.breakoutJoinConfirmation.confirmDesc": "Join you to the Breakout Room",
-  "app.breakoutJoinConfirmation.dismissLabel": "Cancel",
-  "app.breakoutJoinConfirmation.dismissDesc": "Closes and rejects Joining the Breakout Room",
-  "app.breakoutTimeRemainingMessage": "Breakout Room time remaining: {0}",
-  "app.breakoutWillCloseMessage": "Time ended. Breakout Room will close soon",
-  "app.calculatingBreakoutTimeRemaining": "Calculating remaining time...",
-  "app.audioModal.microphoneLabel": "Microphone",
-  "app.audioModal.listenOnlyLabel": "Listen Only"
+    "app.home.greeting": "Добре дошли, {name}! Вашата презентация ще започне всеки момент",
+    "app.userlist.usersTitle": "Потребители",
+    "app.userlist.participantsTitle": "Участници",
+    "app.userlist.messagesTitle": "Съобщения",
+    "app.userlist.presenter": "Лектор",
+    "app.userlist.you": "Вие",
+    "app.chat.submitLabel": "Изпрати",
+    "app.chat.titlePublic": "Общ чат"
 }
+
diff --git a/bigbluebutton-html5/private/locales/de.json b/bigbluebutton-html5/private/locales/de.json
old mode 100755
new mode 100644
index 78eea4450b2900f2078953426fb9f4cb2c2c0a30..0212550828014613a90d75b55c1002c809bc46eb
--- a/bigbluebutton-html5/private/locales/de.json
+++ b/bigbluebutton-html5/private/locales/de.json
@@ -1,187 +1,205 @@
 {
-  "app.home.greeting": "Willkommen {0}! Ihre Präsentation startet in Kürze...",
-  "app.userlist.usersTitle": "Teilnehmer",
-  "app.userlist.participantsTitle": "Teilnehmer",
-  "app.userlist.messagesTitle": "Nachrichten",
-  "app.userlist.presenter": "Präsentator",
-  "app.userlist.you": "Sie",
-  "app.userlist.Label": "Teilnehmerliste",
-  "app.chat.submitLabel": "Nachricht senden",
-  "app.chat.inputLabel": "Chat-Nachricht eingeben für {0}",
-  "app.chat.inputPlaceholder": "Nachricht an {0}",
-  "app.chat.titlePublic": "Öffentlicher Chat",
-  "app.chat.titlePrivate": "Privater Chat mit {0}",
-  "app.chat.partnerDisconnected": "{0} hat die Konferenz verlassen",
-  "app.chat.closeChatLabel": "Schließe {0}",
-  "app.chat.hideChatLabel": "Verstecke {0}",
-  "app.chat.moreMessages": "Weitere Nachrichten",
-  "app.userlist.menuTitleContext": "verfügbare Optionen",
-  "app.userlist.chatlistitem.unreadSingular": "{0} neue Nachricht",
-  "app.userlist.chatlistitem.unreadPlural": "{0} neue Nachrichten",
-  "app.chat.Label": "Chat",
-  "app.chat.emptyLogLabel": "Chat-Log ist leer",
-  "app.media.Label": "Medien",
-  "app.presentation.presentationToolbar.prevSlideLabel": "Vorherige Folie",
-  "app.presentation.presentationToolbar.prevSlideDescrip": "Präsentation zur vorherigen Folie wechseln",
-  "app.presentation.presentationToolbar.nextSlideLabel": "Nächste Folie",
-  "app.presentation.presentationToolbar.nextSlideDescrip": "Präsentation zur nächsten Folie wechseln",
-  "app.presentation.presentationToolbar.skipSlideLabel": "Folie auswählen",
-  "app.presentation.presentationToolbar.skipSlideDescrip": "Präsentation zu bestimmter Folie wechseln",
-  "app.presentation.presentationToolbar.fitWidthLabel": "An Breite anpassen",
-  "app.presentation.presentationToolbar.fitWidthDescrip": "Folie in voller Breite darstellen",
-  "app.presentation.presentationToolbar.fitScreenLabel": "An Bildschirm anpassen",
-  "app.presentation.presentationToolbar.fitScreenDescrip": "Folie vollständig darstellen",
-  "app.presentation.presentationToolbar.zoomLabel": "Vergrößerungsgrad",
-  "app.presentation.presentationToolbar.zoomDescrip": "Vergrößerungsgrad der Präsentation ändern",
-  "app.polling.pollingTitle": "Umfrage Optionen",
-  "app.failedMessage": "Es gibt Verbindungsprobleme mit dem Server.",
-  "app.connectingMessage": "Verbinde...",
-  "app.waitingMessage": "Verbindung unterbrochen. Versuche neu zu verbinden in {seconds} Sekunden...",
-  "app.navBar.settingsDropdown.optionsLabel": "Optionen",
-  "app.navBar.settingsDropdown.fullscreenLabel": "Als Vollbild darstellen",
-  "app.navBar.settingsDropdown.settingsLabel": "Einstellungen öffnen",
-  "app.navBar.settingsDropdown.aboutLabel": "Ãœber",
-  "app.navBar.settingsDropdown.leaveSessionLabel": "Ausloggen",
-  "app.navBar.settingsDropdown.fullscreenDesc": "Das Einstellungsmenü als Vollbild darstellen",
-  "app.navBar.settingsDropdown.settingsDesc": "Basiseinstellungen verändern",
-  "app.navBar.settingsDropdown.aboutDesc": "Informationen über den Client anzeigen",
-  "app.navBar.settingsDropdown.leaveSessionDesc": "Konferenz verlassen",
-  "app.navBar.settingsDropdown.exitFullScreenLabel": "Vollbild beenden",
-  "app.navBar.settingsDropdown.exitFullScreenDesc": "Vollbildmodus beenden",
-  "app.navBar.userListToggleBtnLabel": "Teilnehmerliste umschalten",
-  "app.navbar.toggleUserList.newMessages": "mit Benachrichtigung für neue Nachrichten",
-  "app.leaveConfirmation.title": "Konferenz verlassen",
-  "app.leaveConfirmation.message": "Wollen Sie die Konferenz verlassen?",
-  "app.leaveConfirmation.confirmLabel": "Verlassen",
-  "app.leaveConfirmation.confirmDesc": "Hiermit verlassen Sie Konferenz",
-  "app.leaveConfirmation.dismissLabel": "Abbrechen",
-  "app.leaveConfirmation.dismissDesc": "Schließt den Dialog zum Verlassen der Konferenz",
-  "app.about.title": "Ãœber",
-  "app.about.version": "Client Build:",
-  "app.about.copyright": "Copyright:",
-  "app.about.confirmLabel": "OK",
-  "app.about.confirmDesc": "OK",
-  "app.about.dismissLabel": "Abbrechen",
-  "app.about.dismissDesc": "Informationen über Client schließen",
-  "app.actionsBar.changeStatusLabel": "Status ändern",
-  "app.actionsBar.muteLabel": "Stummschalten",
-  "app.actionsBar.camOffLabel": "Kamera aus",
-  "app.actionsBar.raiseLabel": "Hand heben",
-  "app.actionsBar.Label": "Aktions-Leiste",
-  "app.submenu.application.applicationSectionTitle": "Anwendung",
-  "app.submenu.application.audioNotifyLabel": "Audiobenachrichtigungen für Chat",
-  "app.submenu.application.pushNotifyLabel": "Push-Benachrichtigungen für Chat",
-  "app.submenu.application.fontSizeControlLabel": "Schriftgröße",
-  "app.submenu.application.increaseFontBtnLabel": "Schriftgröße erhöhen",
-  "app.submenu.application.decreaseFontBtnLabel": "Schriftgröße verringern",
-  "app.submenu.application.languageLabel": "Sprache",
-  "app.submenu.application.ariaLanguageLabel": "Sprache ändern",
-  "app.submenu.application.languageOptionLabel": "Sprache auswählen",
-  "app.submenu.application.noLocaleOptionLabel": "Keine Sprachschemata verfügbar",
-  "app.submenu.audio.micSourceLabel": "Mikrofonauswahl",
-  "app.submenu.audio.speakerSourceLabel": "Lautsprecherauswahl",
-  "app.submenu.audio.streamVolumeLabel": "Ihre Audiolautstärke",
-  "app.submenu.video.title": "Video",
-  "app.submenu.video.videoSourceLabel": "Videoquelle ansehen",
-  "app.submenu.video.videoOptionLabel": "Videoeingang auswählen",
-  "app.submenu.video.videoQualityLabel": "Videoqualität",
-  "app.submenu.video.qualityOptionLabel": "Videoqualität auswählen",
-  "app.submenu.video.participantsCamLabel": "Webcamvideo anderer Teilnehmer darstellen",
-  "app.submenu.closedCaptions.closedCaptionsLabel": "Untertitel",
-  "app.submenu.closedCaptions.takeOwnershipLabel": "Untertitelkontrolle übernehmen",
-  "app.submenu.closedCaptions.languageLabel": "Sprache",
-  "app.submenu.closedCaptions.localeOptionLabel": "Sprache auswählen",
-  "app.submenu.closedCaptions.noLocaleOptionLabel": "Keine aktiven Gebietsschemata",
-  "app.submenu.closedCaptions.fontFamilyLabel": "Schriftart",
-  "app.submenu.closedCaptions.fontFamilyOptionLabel": "Schriftart auswählen",
-  "app.submenu.closedCaptions.fontSizeLabel": "Schriftgröße",
-  "app.submenu.closedCaptions.fontSizeOptionLabel": "Schriftgröße auswählen",
-  "app.submenu.closedCaptions.backgroundColorLabel": "Hintergrundfarbe",
-  "app.submenu.closedCaptions.fontColorLabel": "Schriftfarbe",
-  "app.submenu.participants.muteAllLabel": "Alle stummschalten außer Präsentator",
-  "app.submenu.participants.lockAllLabel": "Alle Teilnehmer sperren",
-  "app.submenu.participants.lockItemLabel": "Teilnehmer {0}",
-  "app.submenu.participants.lockMicDesc": "Deaktiviert das Mikrofon für alle gesperrten Teilnehmer",
-  "app.submenu.participants.lockCamDesc": "Deaktiviert die Webcam für alle gesperrten Teilnehmer",
-  "app.submenu.participants.lockPublicChatDesc": "Deaktiviert den öffentlichen Chat für alle gesperrten Teilnehmer",
-  "app.submenu.participants.lockPrivateChatDesc": "Deaktiviert den privaten Chat für alle gesperrten Teilnehmer",
-  "app.submenu.participants.lockLayoutDesc": "Sperrt das Layout für alle gesperrten Teilnehmer",
-  "app.submenu.participants.lockMicAriaLabel": "Mikrofonsperre",
-  "app.submenu.participants.lockCamAriaLabel": "Webcamsperre",
-  "app.submenu.participants.lockPublicChatAriaLabel": "Sperre für öffentlichen Chat",
-  "app.submenu.participants.lockPrivateChatAriaLabel": "Sperre für privaten Chat",
-  "app.submenu.participants.lockLayoutAriaLabel": "Layoutsperre",
-  "app.submenu.participants.lockMicLabel": "Mikrofon",
-  "app.submenu.participants.lockCamLabel": "Webcam",
-  "app.submenu.participants.lockPublicChatLabel": "Öffentlicher Chat",
-  "app.submenu.participants.lockPrivateChatLabel": "Privater Chat",
-  "app.submenu.participants.lockLayoutLabel": "Layout",
-  "app.settings.applicationTab.label": "Anwendung",
-  "app.settings.audioTab.label": "Audio",
-  "app.settings.videoTab.label": "Video",
-  "app.settings.closedcaptionTab.label": "Untertitel",
-  "app.settings.usersTab.label": "Teilnehmer",
-  "app.actionsBar.actionsDropdown.actionsLabel": "Aktionen",
-  "app.actionsBar.actionsDropdown.presentationLabel": "Eine Präsentation hochladen",
-  "app.actionsBar.actionsDropdown.initPollLabel": "Eine Umfrage starten",
-  "app.actionsBar.actionsDropdown.desktopShareLabel": "Bildschirm freigeben",
-  "app.actionsBar.actionsDropdown.presentationDesc": "Präsentation hochladen",
-  "app.actionsBar.actionsDropdown.initPollDesc": "Eine Umfrage starten",
-  "app.actionsBar.actionsDropdown.desktopShareDesc": "Ihren Bildschirm mit anderen teilen",
-  "app.actionsBar.emojiMenu.statusTriggerLabel": "Status",
-  "app.actionsBar.emojiMenu.awayLabel": "Abwesend",
-  "app.actionsBar.emojiMenu.awayDesc": "Ihren Status auf abwesend setzen",
-  "app.actionsBar.emojiMenu.raiseLabel": "Hand heben",
-  "app.actionsBar.emojiMenu.raiseDesc": "Heben Sie Ihre Hand, um eine Frage zu stellen",
-  "app.actionsBar.emojiMenu.undecidedLabel": "Unentschlossen",
-  "app.actionsBar.emojiMenu.undecidedDesc": "Ihren Status auf unentschlossen setzen",
-  "app.actionsBar.emojiMenu.confusedLabel": "Verwirrt",
-  "app.actionsBar.emojiMenu.confusedDesc": "Ihren Status auf verwirrt setzen",
-  "app.actionsBar.emojiMenu.sadLabel": "Traurig",
-  "app.actionsBar.emojiMenu.sadDesc": "Ihren Status auf traurig setzen",
-  "app.actionsBar.emojiMenu.happyLabel": "Glücklich",
-  "app.actionsBar.emojiMenu.happyDesc": "Ihren Status auf glücklich setzen",
-  "app.actionsBar.emojiMenu.clearLabel": "Status löschen",
-  "app.actionsBar.emojiMenu.clearDesc": "Ihren aktuellen Status zurücksetzen",
-  "app.actionsBar.emojiMenu.applauseLabel": "Applaus",
-  "app.actionsBar.emojiMenu.applauseDesc": "Ihren Status auf Applaus setzen",
-  "app.actionsBar.emojiMenu.thumbsupLabel": "Daumen hoch",
-  "app.actionsBar.emojiMenu.thumbsupDesc": "Ihren Status auf Daumen hoch setzen",
-  "app.actionsBar.emojiMenu.thumbsdownLabel": "Daumen runter",
-  "app.actionsBar.emojiMenu.thumbsdownDesc": "Ihren Status auf Daumen runter setzen",
-  "app.audioNotification.audioFailedMessage": "Ihre Audioverbindung konnte nicht hergestellt werden. Versuchen Sie es erneut.",
-  "app.audioNotification.mediaFailedMessage": "getUserMicMedia fehlgeschlagen. Nur sichere Quellen sind erlaubt",
-  "app.audioNotification.closeLabel": "Schließen",
-  "app.breakoutJoinConfirmation.title": "Dem Breakout-Raum beitreten",
-  "app.breakoutJoinConfirmation.message": "Möchten Sie beitreten",
-  "app.breakoutJoinConfirmation.confirmLabel": "Beitreten",
-  "app.breakoutJoinConfirmation.confirmDesc": "Dem Breakout-Raum beitreten",
-  "app.breakoutJoinConfirmation.dismissLabel": "Abbrechen",
-  "app.breakoutJoinConfirmation.dismissDesc": "Beitritt zum Breakout-Raum ablehnen",
-  "app.breakoutTimeRemainingMessage": "Verbleibende Zeit für den Breakout-Raum: {0}",
-  "app.breakoutWillCloseMessage": "Zeit abgelaufen. Der Breakout-Raum wird in Kürze geschlossen",
-  "app.calculatingBreakoutTimeRemaining": "Berechne die verbleibende Zeit...",
-  "app.audioModal.microphoneLabel": "Mit Mikrofon",
-  "app.audioModal.listenOnlyLabel": "Nur zuhören",
-  "app.audioModal.audioChoiceLabel": "Wie möchten Sie der Konferenz beitreten?",
-  "app.audioModal.audioChoiceDescription": "Wählen Sie aus, wie Sie an der Konferenz teilnehmen möchten",
-  "app.audioModal.closeLabel": "Schließen",
-  "app.audio.joinAudio": "Audio starten",
-  "app.audio.leaveAudio": "Audio beenden",
-  "app.audio.enterSessionLabel": "An Konferenz teilnehmen",
-  "app.audio.playSoundLabel": "Testmelodie abspielen",
-  "app.audio.backLabel": "Zurück",
-  "app.audio.audioSettings.titleLabel": "Audioeinstellungen vornehmen",
-  "app.audio.audioSettings.descriptionLabel": "Ein Dialogfenster wird sich in Ihrem Browser öffnen, in dem Sie der Freigabe Ihres Mikrofons zustimmen müssen.",
-  "app.audio.audioSettings.microphoneSourceLabel": "Mikrofoneingang",
-  "app.audio.audioSettings.speakerSourceLabel": "Lautsprechereingang",
-  "app.audio.audioSettings.microphoneStreamLabel": "Lautstärke Ihres Audiosignals",
-  "app.audio.listenOnly.backLabel": "Zurück",
-  "app.audio.listenOnly.closeLabel": "Schließen",
-  "app.error.kicked": "Sie wurden aus dem Meeting entfernt",
-  "app.dropdown.close": "Schließen",
-  "app.error.500": "Ups, irgendwas ist schiefgelaufen",
-  "app.error.404": "Nicht gefunden",
-  "app.error.401": "Nicht erlaubt",
-  "app.error.403": "Verboten"
+    "app.home.greeting": "Willkommen {0}! Ihre Präsentation wird in Kürze beginnen...",
+    "app.userlist.usersTitle": "Teilnehmer",
+    "app.userlist.participantsTitle": "Teilnehmer",
+    "app.userlist.messagesTitle": "Nachrichten",
+    "app.userlist.presenter": "Präsentator",
+    "app.userlist.you": "Sie",
+    "app.userlist.locked": "Gesperrt",
+    "app.userlist.Label": "Teilnehmerliste",
+    "app.chat.submitLabel": "Nachricht senden",
+    "app.chat.inputLabel": "Chatnachricht eingeben für {0}",
+    "app.chat.inputPlaceholder": "Nachricht {0}",
+    "app.chat.titlePublic": "Öffentlicher Chat",
+    "app.chat.titlePrivate": "Privater Chat mit {0}",
+    "app.chat.partnerDisconnected": "{0} hat die Konferenz verlassen",
+    "app.chat.closeChatLabel": "Schließen {0}",
+    "app.chat.hideChatLabel": "Verstecken {0}",
+    "app.chat.moreMessages": "Weitere Nachrichten",
+    "app.userlist.menuTitleContext": "verfügbare Optionen",
+    "app.userlist.chatlistitem.unreadSingular": "{0} neue Nachricht",
+    "app.userlist.chatlistitem.unreadPlural": "{0} neue Nachrichten",
+    "app.userlist.menu.chat.label": "Chat",
+    "app.userlist.menu.clearStatus.label": "Status löschen",
+    "app.userlist.menu.makePresenter.label": "Zum Präsentator machen",
+    "app.userlist.menu.kickUser.label": "Teilnehmer rauswerfen",
+    "app.userlist.menu.muteUserAudio.label": "Teilnehmer stummschalten",
+    "app.userlist.menu.unmuteUserAudio.label": "Stummschaltung aufheben",
+    "app.userlist.userAriaLabel": "Nutzer : {0}  Rolle: {1}  Person: {2}  Status: {3}",
+    "app.chat.Label": "Chat",
+    "app.chat.emptyLogLabel": "Chat-Log ist leer",
+    "app.media.Label": "Medien",
+    "app.presentation.presentationToolbar.prevSlideLabel": "Vorherige Folie",
+    "app.presentation.presentationToolbar.prevSlideDescrip": "Präsentation zur vorherigen Folie wechseln",
+    "app.presentation.presentationToolbar.nextSlideLabel": "Nächste Folie",
+    "app.presentation.presentationToolbar.nextSlideDescrip": "Präsentation zur nächsten Folie wechseln",
+    "app.presentation.presentationToolbar.skipSlideLabel": "Folie auswählen",
+    "app.presentation.presentationToolbar.skipSlideDescrip": "Präsentation zu bestimmter Folie wechseln",
+    "app.presentation.presentationToolbar.fitWidthLabel": "An Breite anpassen",
+    "app.presentation.presentationToolbar.fitWidthDescrip": "Folie in voller Breite darstellen",
+    "app.presentation.presentationToolbar.fitScreenLabel": "An Bildschirm anpassen",
+    "app.presentation.presentationToolbar.fitScreenDescrip": "Folie vollständig darstellen",
+    "app.presentation.presentationToolbar.zoomLabel": "Vergrößerungsgrad",
+    "app.presentation.presentationToolbar.zoomDescrip": "Vergrößerungsgrad der Präsentation ändern",
+    "app.polling.pollingTitle": "Umfrage Optionen",
+    "app.failedMessage": "Es gibt Verbindungsprobleme mit dem Server.",
+    "app.connectingMessage": "Verbinde...",
+    "app.waitingMessage": "Verbindung getrennt. Versuche sie wiederherzustellen in {0} Sekunden...",
+    "app.navBar.settingsDropdown.optionsLabel": "Optionen",
+    "app.navBar.settingsDropdown.fullscreenLabel": "Als Vollbild darstellen",
+    "app.navBar.settingsDropdown.settingsLabel": "Einstellungen öffnen",
+    "app.navBar.settingsDropdown.aboutLabel": "Ãœber",
+    "app.navBar.settingsDropdown.leaveSessionLabel": "Ausloggen",
+    "app.navBar.settingsDropdown.fullscreenDesc": "Das Einstellungsmenü als Vollbild darstellen",
+    "app.navBar.settingsDropdown.settingsDesc": "Basiseinstellungen verändern",
+    "app.navBar.settingsDropdown.aboutDesc": "Informationen über den Client anzeigen",
+    "app.navBar.settingsDropdown.leaveSessionDesc": "Konferenz verlassen",
+    "app.navBar.settingsDropdown.exitFullScreenLabel": "Vollbild beenden",
+    "app.navBar.settingsDropdown.exitFullScreenDesc": "Vollbildmodus beenden",
+    "app.navBar.userListToggleBtnLabel": "Teilnehmerliste umschalten",
+    "app.navbar.toggleUserList.newMessages": "mit Benachrichtigung für neue Nachrichten",
+    "app.leaveConfirmation.title": "Konferenz verlassen",
+    "app.leaveConfirmation.message": "Wollen Sie die Konferenz verlassen?",
+    "app.leaveConfirmation.confirmLabel": "Verlassen",
+    "app.leaveConfirmation.confirmDesc": "Hiermit verlassen Sie Konferenz",
+    "app.leaveConfirmation.dismissLabel": "Abbrechen",
+    "app.leaveConfirmation.dismissDesc": "Schließt den Dialog zum Verlassen der Konferenz",
+    "app.about.title": "Ãœber",
+    "app.about.version": "Client Build:",
+    "app.about.copyright": "Copyright:",
+    "app.about.confirmLabel": "OK",
+    "app.about.confirmDesc": "OK",
+    "app.about.dismissLabel": "Abbrechen",
+    "app.about.dismissDesc": "Informationen über Client schließen",
+    "app.actionsBar.changeStatusLabel": "Status ändern",
+    "app.actionsBar.muteLabel": "Stummschalten",
+    "app.actionsBar.unmuteLabel": "Freischalten",
+    "app.actionsBar.camOffLabel": "Kamera aus",
+    "app.actionsBar.raiseLabel": "Hand heben",
+    "app.actionsBar.Label": "Aktions-Leiste",
+    "app.submenu.application.applicationSectionTitle": "Anwendung",
+    "app.submenu.application.audioNotifyLabel": "Audiobenachrichtigungen für Chat",
+    "app.submenu.application.pushNotifyLabel": "Push-Benachrichtigungen für Chat",
+    "app.submenu.application.fontSizeControlLabel": "Schriftgröße",
+    "app.submenu.application.increaseFontBtnLabel": "Schriftgröße erhöhen",
+    "app.submenu.application.decreaseFontBtnLabel": "Schriftgröße verringern",
+    "app.submenu.application.languageLabel": "Sprache",
+    "app.submenu.application.ariaLanguageLabel": "Sprache ändern",
+    "app.submenu.application.languageOptionLabel": "Sprache auswählen",
+    "app.submenu.application.noLocaleOptionLabel": "Keine Sprachschemata verfügbar",
+    "app.submenu.audio.micSourceLabel": "Mikrofonauswahl",
+    "app.submenu.audio.speakerSourceLabel": "Lautsprecherauswahl",
+    "app.submenu.audio.streamVolumeLabel": "Ihre Audiolautstärke",
+    "app.submenu.video.title": "Video",
+    "app.submenu.video.videoSourceLabel": "Videoquelle ansehen",
+    "app.submenu.video.videoOptionLabel": "Videoeingang auswählen",
+    "app.submenu.video.videoQualityLabel": "Videoqualität",
+    "app.submenu.video.qualityOptionLabel": "Videoqualität auswählen",
+    "app.submenu.video.participantsCamLabel": "Webcamvideo anderer Teilnehmer darstellen",
+    "app.submenu.closedCaptions.closedCaptionsLabel": "Untertitel",
+    "app.submenu.closedCaptions.takeOwnershipLabel": "Untertitelkontrolle übernehmen",
+    "app.submenu.closedCaptions.languageLabel": "Sprache",
+    "app.submenu.closedCaptions.localeOptionLabel": "Sprache auswählen",
+    "app.submenu.closedCaptions.noLocaleOptionLabel": "Keine aktiven Gebietsschemata",
+    "app.submenu.closedCaptions.fontFamilyLabel": "Schriftart",
+    "app.submenu.closedCaptions.fontFamilyOptionLabel": "Schriftart auswählen",
+    "app.submenu.closedCaptions.fontSizeLabel": "Schriftgröße",
+    "app.submenu.closedCaptions.fontSizeOptionLabel": "Schriftgröße auswählen",
+    "app.submenu.closedCaptions.backgroundColorLabel": "Hintergrundfarbe",
+    "app.submenu.closedCaptions.fontColorLabel": "Schriftfarbe",
+    "app.submenu.participants.muteAllLabel": "Alle stummschalten außer Präsentator",
+    "app.submenu.participants.lockAllLabel": "Alle Teilnehmer sperren",
+    "app.submenu.participants.lockItemLabel": "Teilnehmer {0}",
+    "app.submenu.participants.lockMicDesc": "Deaktiviert das Mikrofon für alle gesperrten Teilnehmer",
+    "app.submenu.participants.lockCamDesc": "Deaktiviert die Webcam für alle gesperrten Teilnehmer",
+    "app.submenu.participants.lockPublicChatDesc": "Deaktiviert den öffentlichen Chat für alle gesperrten Teilnehmer",
+    "app.submenu.participants.lockPrivateChatDesc": "Deaktiviert den privaten Chat für alle gesperrten Teilnehmer",
+    "app.submenu.participants.lockLayoutDesc": "Sperrt das Layout für alle gesperrten Teilnehmer",
+    "app.submenu.participants.lockMicAriaLabel": "Mikrofonsperre",
+    "app.submenu.participants.lockCamAriaLabel": "Webcamsperre",
+    "app.submenu.participants.lockPublicChatAriaLabel": "Sperre für öffentlichen Chat",
+    "app.submenu.participants.lockPrivateChatAriaLabel": "Sperre für privaten Chat",
+    "app.submenu.participants.lockLayoutAriaLabel": "Layoutsperre",
+    "app.submenu.participants.lockMicLabel": "Mikrofon",
+    "app.submenu.participants.lockCamLabel": "Webcam",
+    "app.submenu.participants.lockPublicChatLabel": "Öffentlicher Chat",
+    "app.submenu.participants.lockPrivateChatLabel": "Privater Chat",
+    "app.submenu.participants.lockLayoutLabel": "Layout",
+    "app.settings.applicationTab.label": "Anwendung",
+    "app.settings.audioTab.label": "Audio",
+    "app.settings.videoTab.label": "Video",
+    "app.settings.closedcaptionTab.label": "Untertitel",
+    "app.settings.usersTab.label": "Teilnehmer",
+    "app.settings.main.label": "Einstellungen",
+    "app.settings.main.cancel.label": "Abbrechen",
+    "app.settings.main.cancel.label.description": "Verwirft die Änderungen und schließt das Einstellungsmenü",
+    "app.settings.main.save.label": "Speichern",
+    "app.settings.main.save.label.description": "Speichert die Einstellungen und schließt das Einstellungsmenü",
+    "app.actionsBar.actionsDropdown.actionsLabel": "Aktionen",
+    "app.actionsBar.actionsDropdown.presentationLabel": "Eine Präsentation hochladen",
+    "app.actionsBar.actionsDropdown.initPollLabel": "Eine Umfrage starten",
+    "app.actionsBar.actionsDropdown.desktopShareLabel": "Bildschirm freigeben",
+    "app.actionsBar.actionsDropdown.presentationDesc": "Präsentation hochladen",
+    "app.actionsBar.actionsDropdown.initPollDesc": "Eine Umfrage starten",
+    "app.actionsBar.actionsDropdown.desktopShareDesc": "Ihren Bildschirm mit anderen teilen",
+    "app.actionsBar.emojiMenu.statusTriggerLabel": "Status",
+    "app.actionsBar.emojiMenu.awayLabel": "Abwesend",
+    "app.actionsBar.emojiMenu.awayDesc": "Ihren Status auf abwesend setzen",
+    "app.actionsBar.emojiMenu.raiseLabel": "Hand heben",
+    "app.actionsBar.emojiMenu.raiseDesc": "Heben Sie Ihre Hand, um eine Frage zu stellen",
+    "app.actionsBar.emojiMenu.undecidedLabel": "Unentschlossen",
+    "app.actionsBar.emojiMenu.undecidedDesc": "Ihren Status auf unentschlossen setzen",
+    "app.actionsBar.emojiMenu.confusedLabel": "Verwirrt",
+    "app.actionsBar.emojiMenu.confusedDesc": "Ihren Status auf verwirrt setzen",
+    "app.actionsBar.emojiMenu.sadLabel": "Traurig",
+    "app.actionsBar.emojiMenu.sadDesc": "Ihren Status auf traurig setzen",
+    "app.actionsBar.emojiMenu.happyLabel": "Glücklich",
+    "app.actionsBar.emojiMenu.happyDesc": "Ihren Status auf glücklich setzen",
+    "app.actionsBar.emojiMenu.clearLabel": "Status löschen",
+    "app.actionsBar.emojiMenu.clearDesc": "Ihren aktuellen Status zurücksetzen",
+    "app.actionsBar.emojiMenu.applauseLabel": "Applaus",
+    "app.actionsBar.emojiMenu.applauseDesc": "Ihren Status auf Applaus setzen",
+    "app.actionsBar.emojiMenu.thumbsupLabel": "Daumen hoch",
+    "app.actionsBar.emojiMenu.thumbsupDesc": "Ihren Status auf Daumen hoch setzen",
+    "app.actionsBar.emojiMenu.thumbsdownLabel": "Daumen runter",
+    "app.actionsBar.emojiMenu.thumbsdownDesc": "Ihren Status auf Daumen runter setzen",
+    "app.actionsBar.currentStatusDesc": "Aktueller Status {0}",
+    "app.audioNotification.audioFailedMessage": "Audioverbindung konnte nicht hergestellt werden",
+    "app.audioNotification.mediaFailedMessage": "getUserMicMedia fehlgeschlagen. Nur sichere Quellen sind erlaubt",
+    "app.audioNotification.closeLabel": "Schließen",
+    "app.breakoutJoinConfirmation.title": "Dem Breakout-Raum beitreten",
+    "app.breakoutJoinConfirmation.message": "Möchten Sie beitreten",
+    "app.breakoutJoinConfirmation.confirmLabel": "Beitreten",
+    "app.breakoutJoinConfirmation.confirmDesc": "Dem Breakout-Raum beitreten",
+    "app.breakoutJoinConfirmation.dismissLabel": "Abbrechen",
+    "app.breakoutJoinConfirmation.dismissDesc": "Beitritt zum Breakout-Raum ablehnen",
+    "app.breakoutTimeRemainingMessage": "Verbleibende Breakout Raum Zeit: {0}",
+    "app.breakoutWillCloseMessage": "Zeit abgelaufen. Der Breakout-Raum wird in Kürze geschlossen",
+    "app.calculatingBreakoutTimeRemaining": "Berechne die verbleibende Zeit...",
+    "app.audioModal.microphoneLabel": "Mit Mikrofon",
+    "app.audioModal.listenOnlyLabel": "Nur zuhören",
+    "app.audioModal.audioChoiceLabel": "Wie möchten Sie der Konferenz beitreten?",
+    "app.audioModal.audioChoiceDescription": "Wählen Sie aus, wie Sie an der Konferenz teilnehmen möchten",
+    "app.audioModal.closeLabel": "Schließen",
+    "app.audio.joinAudio": "Audio starten",
+    "app.audio.leaveAudio": "Audio beenden",
+    "app.audio.enterSessionLabel": "An Konferenz teilnehmen",
+    "app.audio.playSoundLabel": "Testmelodie abspielen",
+    "app.audio.backLabel": "Zurück",
+    "app.audio.audioSettings.titleLabel": "Audioeinstellungen vornehmen",
+    "app.audio.audioSettings.descriptionLabel": "Ein Dialogfenster wird sich in Ihrem Browser öffnen, in dem Sie der Freigabe Ihres Mikrofons zustimmen müssen.",
+    "app.audio.audioSettings.microphoneSourceLabel": "Mikrofoneingang",
+    "app.audio.audioSettings.speakerSourceLabel": "Lautsprecherausgang",
+    "app.audio.audioSettings.microphoneStreamLabel": "Lautstärke Ihres Audiosignals",
+    "app.audio.listenOnly.backLabel": "Zurück",
+    "app.audio.listenOnly.closeLabel": "Schließen",
+    "app.error.kicked": "Sie wurden aus dem Meeting entfernt",
+    "app.error.meeting.ended": "Sie haben die Konferenz verlassen",
+    "app.dropdown.close": "Schließen",
+    "app.error.500": "Ups, irgendwas ist schiefgelaufen",
+    "app.error.404": "Nicht gefunden",
+    "app.error.401": "Nicht erlaubt",
+    "app.error.403": "Verboten",
+    "app.error.leaveLabel": "Erneut einloggen"
 }
+
diff --git a/bigbluebutton-html5/private/locales/en.json b/bigbluebutton-html5/private/locales/en.json
old mode 100755
new mode 100644
diff --git a/bigbluebutton-html5/private/locales/es_ES.json b/bigbluebutton-html5/private/locales/es_ES.json
new file mode 100644
index 0000000000000000000000000000000000000000..44b1f52bb11807e9bc8630ba8f2f6c8afd292080
--- /dev/null
+++ b/bigbluebutton-html5/private/locales/es_ES.json
@@ -0,0 +1,204 @@
+{
+    "app.home.greeting": "¡Bienvenido {0}! Tu presentación iniciará en breve...",
+    "app.userlist.usersTitle": "Usuarios",
+    "app.userlist.participantsTitle": "Participantes",
+    "app.userlist.messagesTitle": "Mensajes",
+    "app.userlist.presenter": "Presentador",
+    "app.userlist.you": "Tu",
+    "app.userlist.locked": "Bloqueado",
+    "app.userlist.Label": "Lista de usuarios",
+    "app.chat.submitLabel": "Enviar mensaje",
+    "app.chat.inputLabel": "Entrada de mensaje para chat {0}",
+    "app.chat.inputPlaceholder": "Mensaje {0}",
+    "app.chat.titlePublic": "Chat público",
+    "app.chat.titlePrivate": "Chat privado con {0}",
+    "app.chat.partnerDisconnected": "{0} ha abandonado la reunión",
+    "app.chat.closeChatLabel": "Cerrar {0}",
+    "app.chat.hideChatLabel": "Ocultar  {0}",
+    "app.chat.moreMessages": "Más mensajes abajo",
+    "app.userlist.menuTitleContext": "opciones disponibles",
+    "app.userlist.chatlistitem.unreadSingular": "{0} Nuevo mensaje",
+    "app.userlist.chatlistitem.unreadPlural": "{0} Nuevos mensajes",
+    "app.userlist.menu.chat.label": "Chat",
+    "app.userlist.menu.clearStatus.label": "Borrar el estado",
+    "app.userlist.menu.makePresenter.label": "Hacerte presentador",
+    "app.userlist.menu.kickUser.label": "Expulsar usuario",
+    "app.userlist.menu.muteUserAudio.label": "Silenciar usuario",
+    "app.userlist.menu.unmuteUserAudio.label": "De-silenciar usuario",
+    "app.userlist.userAriaLabel": "usuario : {0} rol: {1} persona: {2} estátus: {3}",
+    "app.chat.Label": "Chat",
+    "app.chat.emptyLogLabel": "Registro de chat vacío",
+    "app.media.Label": "Medios",
+    "app.presentation.presentationToolbar.prevSlideLabel": "Diapositiva anterior",
+    "app.presentation.presentationToolbar.prevSlideDescrip": "Cambiar la presentación a diapositiva anterior",
+    "app.presentation.presentationToolbar.nextSlideLabel": "Siguiente diapositiva",
+    "app.presentation.presentationToolbar.nextSlideDescrip": "Cambiar la presentación a diapositiva siguiente",
+    "app.presentation.presentationToolbar.skipSlideLabel": "Brincar diapositiva",
+    "app.presentation.presentationToolbar.skipSlideDescrip": "Cambiar la presentación a una diapositiva específica",
+    "app.presentation.presentationToolbar.fitWidthLabel": "Ajustar a lo ancho",
+    "app.presentation.presentationToolbar.fitWidthDescrip": "Desplegar todo el ancho de la diapositiva",
+    "app.presentation.presentationToolbar.fitScreenLabel": "Ajustar a la pantalla",
+    "app.presentation.presentationToolbar.fitScreenDescrip": "Desplegar toda la diapositiva",
+    "app.presentation.presentationToolbar.zoomLabel": "Zoom",
+    "app.presentation.presentationToolbar.zoomDescrip": "Cambiar el nivel de zoom de la presentación",
+    "app.polling.pollingTitle": "Opciones de votación",
+    "app.failedMessage": "Disculpas, problemas conectando al servidor.",
+    "app.connectingMessage": "Conectando...",
+    "app.waitingMessage": "Desconectado. Intentando reconectar en {0} segundos...",
+    "app.navBar.settingsDropdown.optionsLabel": "Opciones",
+    "app.navBar.settingsDropdown.fullscreenLabel": "Desplegar a pantalla completa",
+    "app.navBar.settingsDropdown.settingsLabel": "Abrir configuración",
+    "app.navBar.settingsDropdown.aboutLabel": "Acerca de",
+    "app.navBar.settingsDropdown.leaveSessionLabel": "Cerrar sesión",
+    "app.navBar.settingsDropdown.fullscreenDesc": "Hacer el menú de configuración a pantalla completa",
+    "app.navBar.settingsDropdown.settingsDesc": "Cambiar la configuración general",
+    "app.navBar.settingsDropdown.aboutDesc": "Mostrar información acerca del cliente",
+    "app.navBar.settingsDropdown.leaveSessionDesc": "Abandonar la reunión",
+    "app.navBar.settingsDropdown.exitFullScreenLabel": "Salir de pantalla completa",
+    "app.navBar.settingsDropdown.exitFullScreenDesc": "Salir del modo de pantalla completa",
+    "app.navBar.userListToggleBtnLabel": "Alternar lista de usuarios",
+    "app.navbar.toggleUserList.newMessages": "con un nuevo mensaje de notificación",
+    "app.leaveConfirmation.title": "Abandonar sesión",
+    "app.leaveConfirmation.message": "¿Quiere abandonar esta reunión?",
+    "app.leaveConfirmation.confirmLabel": "Salir",
+    "app.leaveConfirmation.confirmDesc": "Te desconecta de la reunión",
+    "app.leaveConfirmation.dismissLabel": "Cancelar",
+    "app.leaveConfirmation.dismissDesc": "Cierra y rechaza la confirmación de abandono",
+    "app.about.title": "Acerca de",
+    "app.about.version": "Construcción del cliente:",
+    "app.about.copyright": "Derechos de autor:",
+    "app.about.confirmLabel": "OK",
+    "app.about.confirmDesc": "OL",
+    "app.about.dismissLabel": "Cancelar",
+    "app.about.dismissDesc": "Cerrar información acerca del cliente",
+    "app.actionsBar.changeStatusLabel": "Cambiar estátus",
+    "app.actionsBar.muteLabel": "Silenciar",
+    "app.actionsBar.unmuteLabel": "De-silenciar",
+    "app.actionsBar.camOffLabel": "Cámara Apagada",
+    "app.actionsBar.raiseLabel": "Alzar",
+    "app.actionsBar.Label": "Barra de acciones",
+    "app.submenu.application.applicationSectionTitle": "Aplicación",
+    "app.submenu.application.audioNotifyLabel": "Notificación de audio para el chat",
+    "app.submenu.application.pushNotifyLabel": "Empujar notificaciones para el chat",
+    "app.submenu.application.fontSizeControlLabel": "Tamaño de fuente",
+    "app.submenu.application.increaseFontBtnLabel": "Incrementar tamaño de fuente",
+    "app.submenu.application.decreaseFontBtnLabel": "Reducir tamaño de fuente",
+    "app.submenu.application.languageLabel": "Lenguaje de aplicación",
+    "app.submenu.application.ariaLanguageLabel": "Cambiar lenguaje de aplicación",
+    "app.submenu.application.languageOptionLabel": "Seleccionar lenguaje",
+    "app.submenu.application.noLocaleOptionLabel": "No hay locales activos",
+    "app.submenu.audio.micSourceLabel": "Fuente de micrófono",
+    "app.submenu.audio.speakerSourceLabel": "Fuente de altavoces",
+    "app.submenu.audio.streamVolumeLabel": "Volumen del flujo de audio",
+    "app.submenu.video.title": "Video",
+    "app.submenu.video.videoSourceLabel": "Fuente del video",
+    "app.submenu.video.videoOptionLabel": "Escoger ver fuente",
+    "app.submenu.video.videoQualityLabel": "Calidad del Video",
+    "app.submenu.video.qualityOptionLabel": "Escoger calidad del video",
+    "app.submenu.video.participantsCamLabel": "Viendo webcams de participantes",
+    "app.submenu.closedCaptions.closedCaptionsLabel": "Subtítulos",
+    "app.submenu.closedCaptions.takeOwnershipLabel": "Tomar el control",
+    "app.submenu.closedCaptions.languageLabel": "Lenguaje",
+    "app.submenu.closedCaptions.localeOptionLabel": "Seleccionar lenguaje",
+    "app.submenu.closedCaptions.noLocaleOptionLabel": "No hay locales activos",
+    "app.submenu.closedCaptions.fontFamilyLabel": "Familia de fuente",
+    "app.submenu.closedCaptions.fontFamilyOptionLabel": "Seleccionar familia de fuente",
+    "app.submenu.closedCaptions.fontSizeLabel": "Tamaño de fuente",
+    "app.submenu.closedCaptions.fontSizeOptionLabel": "Seleccionar tamaño de fuente",
+    "app.submenu.closedCaptions.backgroundColorLabel": "Color de fondo",
+    "app.submenu.closedCaptions.fontColorLabel": "Color de fuente",
+    "app.submenu.participants.muteAllLabel": "Silenciar a todos menos al presentador",
+    "app.submenu.participants.lockAllLabel": "Bloquear a todos los participantes",
+    "app.submenu.participants.lockItemLabel": "Participantes {0}",
+    "app.submenu.participants.lockMicDesc": "Deshabilita micrófono a todos los participantes bloqueados",
+    "app.submenu.participants.lockCamDesc": "Deshabilita el webcam a todos los participantes bloqueados",
+    "app.submenu.participants.lockPublicChatDesc": "Deshabilita el chat público a todos los usuarios bloqueados",
+    "app.submenu.participants.lockPrivateChatDesc": "Deshabilita el chat privado a todos los usuarios bloqueados",
+    "app.submenu.participants.lockLayoutDesc": "Bloquea el diseño a todos los usuarios bloqueados",
+    "app.submenu.participants.lockMicAriaLabel": "Bloquea micrófono",
+    "app.submenu.participants.lockCamAriaLabel": "Bloquea webcam",
+    "app.submenu.participants.lockPublicChatAriaLabel": "Bloquea el chat público",
+    "app.submenu.participants.lockPrivateChatAriaLabel": "Bloquea el chat privado",
+    "app.submenu.participants.lockLayoutAriaLabel": "Bloquea el diseño",
+    "app.submenu.participants.lockMicLabel": "Micrófono",
+    "app.submenu.participants.lockCamLabel": "Webcam",
+    "app.submenu.participants.lockPublicChatLabel": "Chat público",
+    "app.submenu.participants.lockPrivateChatLabel": "Chat privado",
+    "app.submenu.participants.lockLayoutLabel": "Diseño",
+    "app.settings.applicationTab.label": "Aplicación",
+    "app.settings.audioTab.label": "Audio",
+    "app.settings.videoTab.label": "Video",
+    "app.settings.closedcaptionTab.label": "Subtítulos",
+    "app.settings.usersTab.label": "Participantes",
+    "app.settings.main.label": "Configuración",
+    "app.settings.main.cancel.label": "Cancela",
+    "app.settings.main.cancel.label.description": "Deshecha los cambios y cierra el menú de configuración",
+    "app.settings.main.save.label": "Guardar",
+    "app.settings.main.save.label.description": "Gurada cambios y cierra el menú de configuración",
+    "app.actionsBar.actionsDropdown.actionsLabel": "Acciones",
+    "app.actionsBar.actionsDropdown.presentationLabel": "Subir una presentación",
+    "app.actionsBar.actionsDropdown.initPollLabel": "Iniciar una encuesta",
+    "app.actionsBar.actionsDropdown.desktopShareLabel": "Compartir tu pantalla",
+    "app.actionsBar.actionsDropdown.presentationDesc": "Subir tu presentación",
+    "app.actionsBar.actionsDropdown.initPollDesc": "Iniciar una encuesta",
+    "app.actionsBar.actionsDropdown.desktopShareDesc": "Compartir tu pantalla con otros",
+    "app.actionsBar.emojiMenu.statusTriggerLabel": "Estátus",
+    "app.actionsBar.emojiMenu.awayLabel": "Ausente",
+    "app.actionsBar.emojiMenu.awayDesc": "Cambiar tu estatus a ausente",
+    "app.actionsBar.emojiMenu.raiseLabel": "Alzar",
+    "app.actionsBar.emojiMenu.raiseDesc": "Alzar la mano para preguntar",
+    "app.actionsBar.emojiMenu.undecidedLabel": "Indeciso",
+    "app.actionsBar.emojiMenu.undecidedDesc": "Cambiar tu estatus a indeciso",
+    "app.actionsBar.emojiMenu.confusedLabel": "Confundido",
+    "app.actionsBar.emojiMenu.confusedDesc": "Cambiar tu estatus a confundido",
+    "app.actionsBar.emojiMenu.sadLabel": "Triste",
+    "app.actionsBar.emojiMenu.sadDesc": "Cambiar tu estatus a triste",
+    "app.actionsBar.emojiMenu.happyLabel": "Feliz",
+    "app.actionsBar.emojiMenu.happyDesc": "Cambiar tu estatus a feliz",
+    "app.actionsBar.emojiMenu.clearLabel": "Limpiar",
+    "app.actionsBar.emojiMenu.clearDesc": "Limpia tu estatus",
+    "app.actionsBar.emojiMenu.applauseLabel": "Aplausos",
+    "app.actionsBar.emojiMenu.applauseDesc": "Cambiar tu estatus a aplausos",
+    "app.actionsBar.emojiMenu.thumbsupLabel": "Pulgares arriba",
+    "app.actionsBar.emojiMenu.thumbsupDesc": "Cambiar tu estatus a pulgares arriba",
+    "app.actionsBar.emojiMenu.thumbsdownLabel": "Pulgares abajo",
+    "app.actionsBar.emojiMenu.thumbsdownDesc": "Cambiar tu estatus a pulgares abajo",
+    "app.actionsBar.currentStatusDesc": "estatus actual {0}",
+    "app.audioNotification.audioFailedMessage": "Tu conexión de audio falló en conectarse",
+    "app.audioNotification.mediaFailedMessage": "getUserMicMedia falló, Solo orígenes seguros son admitidos",
+    "app.audioNotification.closeLabel": "Cerrar",
+    "app.breakoutJoinConfirmation.title": "Unirse a una sala de grupo",
+    "app.breakoutJoinConfirmation.message": "Quieres unirte",
+    "app.breakoutJoinConfirmation.confirmLabel": "Unirte",
+    "app.breakoutJoinConfirmation.confirmDesc": "Unirte a sala de grupo",
+    "app.breakoutJoinConfirmation.dismissLabel": "Cancelar",
+    "app.breakoutJoinConfirmation.dismissDesc": "Cierra y rechaza Unirse a Sala de Grupo",
+    "app.breakoutTimeRemainingMessage": "Tiempo restante en Sala de Grupo",
+    "app.breakoutWillCloseMessage": "Tiempo transcurrido. Sala de Grupo de cerrará en breve.",
+    "app.calculatingBreakoutTimeRemaining": "Calculando tiempo restante...",
+    "app.audioModal.microphoneLabel": "Micrófono",
+    "app.audioModal.listenOnlyLabel": "Solo escuchar",
+    "app.audioModal.audioChoiceLabel": "¿Como quieres unirte al audio?",
+    "app.audioModal.audioChoiceDescription": "Selecciona como quieres unirte al audio",
+    "app.audioModal.closeLabel": "Cerrar",
+    "app.audio.joinAudio": "Unirse al audio",
+    "app.audio.leaveAudio": "Abandonar audio",
+    "app.audio.enterSessionLabel": "Entrar a la sesión",
+    "app.audio.playSoundLabel": "Reproducir sonido",
+    "app.audio.backLabel": "Atrás",
+    "app.audio.audioSettings.titleLabel": "Seleccionar tu configuración de audio",
+    "app.audio.audioSettings.descriptionLabel": "Ten en cuenta que aparecerá un cuadro de diálogo en tu navegador, que te pide a aceptar compartir tu micrófono.",
+    "app.audio.audioSettings.microphoneSourceLabel": "Fuente del micrófono",
+    "app.audio.audioSettings.speakerSourceLabel": "Fuente de altavoz",
+    "app.audio.audioSettings.microphoneStreamLabel": "Tu volúmen del flujo de audio",
+    "app.audio.listenOnly.backLabel": "Atrás",
+    "app.audio.listenOnly.closeLabel": "Cerrar",
+    "app.error.kicked": "Haz sido expulsado de la reunión",
+    "app.dropdown.close": "Cerrar",
+    "app.error.500": "Ups, algo salio mal",
+    "app.error.404": "No se encontró",
+    "app.error.401": "No autorizado",
+    "app.error.403": "Prohibido",
+    "app.error.leaveLabel": "Ingresa de nuevo"
+}
+
diff --git a/bigbluebutton-html5/private/locales/fr.json b/bigbluebutton-html5/private/locales/fr.json
new file mode 100644
index 0000000000000000000000000000000000000000..f7ff98306898b76ca0f060df6e317b8d8aed7bed
--- /dev/null
+++ b/bigbluebutton-html5/private/locales/fr.json
@@ -0,0 +1,78 @@
+{
+    "app.userlist.usersTitle": "Utilisateurs",
+    "app.userlist.participantsTitle": "Participants",
+    "app.userlist.messagesTitle": "Messages",
+    "app.userlist.presenter": "Présentateur",
+    "app.userlist.you": "Vous",
+    "app.userlist.locked": "Verrouillé",
+    "app.userlist.Label": "Liste d'utilisateurs",
+    "app.chat.submitLabel": "Envoyer message",
+    "app.chat.inputPlaceholder": "Message {0}",
+    "app.chat.closeChatLabel": "Fermer {0}",
+    "app.chat.hideChatLabel": "Cacher {0}",
+    "app.userlist.menuTitleContext": "options disponibles",
+    "app.userlist.chatlistitem.unreadSingular": "{0} nouveau message",
+    "app.userlist.chatlistitem.unreadPlural": "{0} nouveaux messages",
+    "app.media.Label": "Média",
+    "app.presentation.presentationToolbar.fitScreenLabel": "Ajuster à l'écran",
+    "app.presentation.presentationToolbar.zoomLabel": "Zoom",
+    "app.connectingMessage": "Connexion en cours...",
+    "app.navBar.settingsDropdown.optionsLabel": "Options",
+    "app.navBar.settingsDropdown.fullscreenLabel": "Plein écran",
+    "app.navBar.settingsDropdown.aboutLabel": "À propos",
+    "app.navBar.settingsDropdown.leaveSessionLabel": "Déconnexion",
+    "app.navBar.settingsDropdown.exitFullScreenLabel": "Quitter le plein écran",
+    "app.navBar.settingsDropdown.exitFullScreenDesc": "Quitter le mode plein écran",
+    "app.leaveConfirmation.title": "Quitter la session",
+    "app.leaveConfirmation.confirmLabel": "Quitter",
+    "app.leaveConfirmation.dismissLabel": "Annuler",
+    "app.about.title": "À propos",
+    "app.about.version": "Client Build:",
+    "app.about.copyright": "Copyright :",
+    "app.about.confirmLabel": "OK",
+    "app.about.confirmDesc": "OK",
+    "app.about.dismissLabel": "Annuler",
+    "app.actionsBar.changeStatusLabel": "Changer le statut",
+    "app.actionsBar.Label": "Barre d'actions",
+    "app.submenu.application.applicationSectionTitle": "Application",
+    "app.submenu.application.languageLabel": "Langue de l'application",
+    "app.submenu.application.ariaLanguageLabel": "Changer la langue de l'application",
+    "app.submenu.application.languageOptionLabel": "Choisir la langue",
+    "app.submenu.video.title": "Vidéo",
+    "app.submenu.video.videoSourceLabel": "Voir la source",
+    "app.submenu.video.videoQualityLabel": "Qualité vidéo",
+    "app.submenu.video.qualityOptionLabel": "Choisissez la qualité vidéo",
+    "app.submenu.closedCaptions.languageLabel": "Langue",
+    "app.submenu.closedCaptions.localeOptionLabel": "Choisir la langue",
+    "app.submenu.closedCaptions.fontSizeLabel": "Taille des caractères",
+    "app.submenu.closedCaptions.fontSizeOptionLabel": "Choisissez la taille des caractères",
+    "app.submenu.closedCaptions.backgroundColorLabel": "Couleur du fond",
+    "app.submenu.closedCaptions.fontColorLabel": "Couleur des caractères",
+    "app.submenu.participants.lockItemLabel": "Participants {0}",
+    "app.submenu.participants.lockMicLabel": "Microphone",
+    "app.submenu.participants.lockCamLabel": "Webcam",
+    "app.settings.applicationTab.label": "Application",
+    "app.settings.audioTab.label": "Audio",
+    "app.settings.videoTab.label": "Vidéo",
+    "app.settings.usersTab.label": "Participants",
+    "app.settings.main.label": "Paramètres",
+    "app.settings.main.cancel.label": "Annuler",
+    "app.settings.main.cancel.label.description": "Annule les changements et ferme le menu des paramètres",
+    "app.settings.main.save.label": "Sauvegarder",
+    "app.settings.main.save.label.description": "Sauvegarde les changements et ferme le menu des paramètres",
+    "app.actionsBar.actionsDropdown.actionsLabel": "Actions",
+    "app.actionsBar.emojiMenu.statusTriggerLabel": "Statut",
+    "app.actionsBar.currentStatusDesc": "statut actuel {0}",
+    "app.audioNotification.closeLabel": "Fermer",
+    "app.breakoutJoinConfirmation.dismissLabel": "Annuler",
+    "app.calculatingBreakoutTimeRemaining": "Calcul du temps restant...",
+    "app.audioModal.microphoneLabel": "Microphone",
+    "app.audioModal.closeLabel": "Fermer",
+    "app.audio.audioSettings.microphoneStreamLabel": "Le volume de votre flux audio",
+    "app.audio.listenOnly.closeLabel": "Fermer",
+    "app.dropdown.close": "Fermer",
+    "app.error.500": "Oups, quelque chose s'est mal passé",
+    "app.error.404": "Non trouvé",
+    "app.error.403": "Interdit"
+}
+
diff --git a/bigbluebutton-html5/private/locales/id.json b/bigbluebutton-html5/private/locales/id.json
new file mode 100644
index 0000000000000000000000000000000000000000..8864769041ab622217b38596958e5a6ddb8471db
--- /dev/null
+++ b/bigbluebutton-html5/private/locales/id.json
@@ -0,0 +1,205 @@
+{
+    "app.home.greeting": "Selamat datang {0}! Presentasi anda akan mulai sesaat lagi...",
+    "app.userlist.usersTitle": "Pengguna",
+    "app.userlist.participantsTitle": "Peserta",
+    "app.userlist.messagesTitle": "Pesan",
+    "app.userlist.presenter": "Pemateri",
+    "app.userlist.you": "Anda",
+    "app.userlist.locked": "Terkunci",
+    "app.userlist.Label": "Daftar pengguna.",
+    "app.chat.submitLabel": "Kirimkan pesan",
+    "app.chat.inputLabel": "Input pesan untuk chat {0}",
+    "app.chat.inputPlaceholder": "Pesan {0}",
+    "app.chat.titlePublic": "Chat Publik",
+    "app.chat.titlePrivate": "Chat pribadi dengan {0}",
+    "app.chat.partnerDisconnected": "{0} sudah keluar dari meeting",
+    "app.chat.closeChatLabel": "Tutup {0}",
+    "app.chat.hideChatLabel": "Sembunyikan {0}",
+    "app.chat.moreMessages": "Lihat pesan lebih banyak dibawah ini",
+    "app.userlist.menuTitleContext": "Pilihan tersedia",
+    "app.userlist.chatlistitem.unreadSingular": "{0} Pesan Baru",
+    "app.userlist.chatlistitem.unreadPlural": "{0} Pesan Baru",
+    "app.userlist.menu.chat.label": "Chat",
+    "app.userlist.menu.clearStatus.label": "Normalkan Status",
+    "app.userlist.menu.makePresenter.label": "Ubah menjadi Pemateri",
+    "app.userlist.menu.kickUser.label": "Keluarkan Pengguna",
+    "app.userlist.menu.muteUserAudio.label": "Diamkan Mic Pengguna",
+    "app.userlist.menu.unmuteUserAudio.label": "Aktifkan Mic Pengguna",
+    "app.userlist.userAriaLabel": "pengguna : {0} peran: {1} orang: {2} status: {3}",
+    "app.chat.Label": "Chat",
+    "app.chat.emptyLogLabel": "Log Chatting kosong",
+    "app.media.Label": "Media",
+    "app.presentation.presentationToolbar.prevSlideLabel": "Slide Sebelumnya",
+    "app.presentation.presentationToolbar.prevSlideDescrip": "Ubah presentasi ke slide sebelumnya",
+    "app.presentation.presentationToolbar.nextSlideLabel": "Slide selanjutnya",
+    "app.presentation.presentationToolbar.nextSlideDescrip": "Ubah presentasi ke slide selanjutnya",
+    "app.presentation.presentationToolbar.skipSlideLabel": "Lewati Slide",
+    "app.presentation.presentationToolbar.skipSlideDescrip": "Ubah presentasi ke slide tertentu",
+    "app.presentation.presentationToolbar.fitWidthLabel": "Sesuaikan dengan lebar layar",
+    "app.presentation.presentationToolbar.fitWidthDescrip": "Tampilkan lebar slide seluruhnya",
+    "app.presentation.presentationToolbar.fitScreenLabel": "Sesuaikan dengan ukuran layar",
+    "app.presentation.presentationToolbar.fitScreenDescrip": "Tampilkan seluruh slide",
+    "app.presentation.presentationToolbar.zoomLabel": "Perbesar",
+    "app.presentation.presentationToolbar.zoomDescrip": "Ubah level zoom dari presentasi",
+    "app.polling.pollingTitle": "Pilihan Polling",
+    "app.failedMessage": "Mohon maaf, ada kesulitan terhubung ke server",
+    "app.connectingMessage": "Menghubungkan",
+    "app.waitingMessage": "Terputus. Sedang menghubungkan kembali dalam {0} detik...",
+    "app.navBar.settingsDropdown.optionsLabel": "Pilihan",
+    "app.navBar.settingsDropdown.fullscreenLabel": "Aktifkan layar penuh",
+    "app.navBar.settingsDropdown.settingsLabel": "Buka Pengaturan",
+    "app.navBar.settingsDropdown.aboutLabel": "Tentang",
+    "app.navBar.settingsDropdown.leaveSessionLabel": "Keluar",
+    "app.navBar.settingsDropdown.fullscreenDesc": "Buat menu pengaturan menjadi layar penuh",
+    "app.navBar.settingsDropdown.settingsDesc": "Ubah pengaturan umum",
+    "app.navBar.settingsDropdown.aboutDesc": "Tampilkan informasi tentang klien",
+    "app.navBar.settingsDropdown.leaveSessionDesc": "Keluar meeting",
+    "app.navBar.settingsDropdown.exitFullScreenLabel": "Keluar dari layar penuh",
+    "app.navBar.settingsDropdown.exitFullScreenDesc": "Keluar dari mode layar penuh",
+    "app.navBar.userListToggleBtnLabel": "Alihkan Daftar Pengguna",
+    "app.navbar.toggleUserList.newMessages": "Dengan notifikasi pesan baru",
+    "app.leaveConfirmation.title": "Keluar sesi",
+    "app.leaveConfirmation.message": "Anda ingin keluar dari meeting ini ?",
+    "app.leaveConfirmation.confirmLabel": "Keluar",
+    "app.leaveConfirmation.confirmDesc": "Anda keluar dari meeting",
+    "app.leaveConfirmation.dismissLabel": "Batalkan",
+    "app.leaveConfirmation.dismissDesc": "Tentang",
+    "app.about.title": "Tentang",
+    "app.about.version": "Versi klien:",
+    "app.about.copyright": "Hak Cipta:",
+    "app.about.confirmLabel": "OK",
+    "app.about.confirmDesc": "OK",
+    "app.about.dismissLabel": "Batalkan",
+    "app.about.dismissDesc": "Tutup informasi klien",
+    "app.actionsBar.changeStatusLabel": "Ubah Status",
+    "app.actionsBar.muteLabel": "Diamkan",
+    "app.actionsBar.unmuteLabel": "Aktifkan",
+    "app.actionsBar.camOffLabel": "Kamera Off",
+    "app.actionsBar.raiseLabel": "Naikan",
+    "app.actionsBar.Label": "Menu aksi",
+    "app.submenu.application.applicationSectionTitle": "Aplikasi",
+    "app.submenu.application.audioNotifyLabel": "Notifikasi audio untuk Chat",
+    "app.submenu.application.pushNotifyLabel": "Notifikasi otomatis untuk Chat",
+    "app.submenu.application.fontSizeControlLabel": "Ukuran Huruf",
+    "app.submenu.application.increaseFontBtnLabel": "Besarkan Ukuran Huruf Aplikasi",
+    "app.submenu.application.decreaseFontBtnLabel": "Kecilkan Ukuran Huruf Aplikasi",
+    "app.submenu.application.languageLabel": "Bahasa Aplikasi",
+    "app.submenu.application.ariaLanguageLabel": "Ubah Bahasa Aplikasi",
+    "app.submenu.application.languageOptionLabel": "Pilih Bahasa",
+    "app.submenu.application.noLocaleOptionLabel": "Tidak ada lokalisasi yang aktif",
+    "app.submenu.audio.micSourceLabel": "Sumber Mikropon",
+    "app.submenu.audio.speakerSourceLabel": "Sumber Speaker",
+    "app.submenu.audio.streamVolumeLabel": "Volume stream audio Anda",
+    "app.submenu.video.title": "Video",
+    "app.submenu.video.videoSourceLabel": "Lihat Sumber",
+    "app.submenu.video.videoOptionLabel": "Pilih Lihat Sumber",
+    "app.submenu.video.videoQualityLabel": "Kualitas Video",
+    "app.submenu.video.qualityOptionLabel": "Pilih kualitas video",
+    "app.submenu.video.participantsCamLabel": "Melihat Web Kamera Peserta",
+    "app.submenu.closedCaptions.closedCaptionsLabel": "Subtitel",
+    "app.submenu.closedCaptions.takeOwnershipLabel": "Ambil kepemilikan",
+    "app.submenu.closedCaptions.languageLabel": "Bahasa",
+    "app.submenu.closedCaptions.localeOptionLabel": "Pilih Bahasa",
+    "app.submenu.closedCaptions.noLocaleOptionLabel": "Tidaki ada lokalisasi yang aktif",
+    "app.submenu.closedCaptions.fontFamilyLabel": "Jenis Huruf",
+    "app.submenu.closedCaptions.fontFamilyOptionLabel": "Pilih jenis Huruf",
+    "app.submenu.closedCaptions.fontSizeLabel": "Ukuran Huruf",
+    "app.submenu.closedCaptions.fontSizeOptionLabel": "Pilih ukuran Huruf",
+    "app.submenu.closedCaptions.backgroundColorLabel": "Warna latar",
+    "app.submenu.closedCaptions.fontColorLabel": "Warna Huruf",
+    "app.submenu.participants.muteAllLabel": "Diamkan semua kecuali pemateri",
+    "app.submenu.participants.lockAllLabel": "Kunci semua peserta",
+    "app.submenu.participants.lockItemLabel": "Peserta {0}",
+    "app.submenu.participants.lockMicDesc": "Nonaktifkan mikropon untuk semua peserta yang terkunci",
+    "app.submenu.participants.lockCamDesc": "Nonaktifkan web kamera untuk semua peserta yang terkunci",
+    "app.submenu.participants.lockPublicChatDesc": "Nonaktifkan Chat publik untuk semua peserta yang terkunci",
+    "app.submenu.participants.lockPrivateChatDesc": "Nonaktifkan Chat privat untuk semua peserta yang terkunci",
+    "app.submenu.participants.lockLayoutDesc": "Kunci Layout untuk semua peserta yang terkunci",
+    "app.submenu.participants.lockMicAriaLabel": "Kunci Mikropon",
+    "app.submenu.participants.lockCamAriaLabel": "Kunci Web Kamera.",
+    "app.submenu.participants.lockPublicChatAriaLabel": "Chat publik terkunci",
+    "app.submenu.participants.lockPrivateChatAriaLabel": "Chat privat terkunci",
+    "app.submenu.participants.lockLayoutAriaLabel": "Layout terkunci",
+    "app.submenu.participants.lockMicLabel": "Mikropon",
+    "app.submenu.participants.lockCamLabel": "Web Kamera",
+    "app.submenu.participants.lockPublicChatLabel": "Chat Publik",
+    "app.submenu.participants.lockPrivateChatLabel": "Chat Privat",
+    "app.submenu.participants.lockLayoutLabel": "Layout",
+    "app.settings.applicationTab.label": "Aplikasi",
+    "app.settings.audioTab.label": "Audio",
+    "app.settings.videoTab.label": "Video",
+    "app.settings.closedcaptionTab.label": "Subtitel",
+    "app.settings.usersTab.label": "Partisipan",
+    "app.settings.main.label": "Pengaturan",
+    "app.settings.main.cancel.label": "Batalkan",
+    "app.settings.main.cancel.label.description": "Batalkan perubahan dan tutup menu pengaturan.",
+    "app.settings.main.save.label": "Simpan",
+    "app.settings.main.save.label.description": "Simpan perubahan dan tutup menu pengaturan",
+    "app.actionsBar.actionsDropdown.actionsLabel": "Aksi",
+    "app.actionsBar.actionsDropdown.presentationLabel": "Unggah presentasi",
+    "app.actionsBar.actionsDropdown.initPollLabel": "Mulai polling",
+    "app.actionsBar.actionsDropdown.desktopShareLabel": "Bagikan Layar",
+    "app.actionsBar.actionsDropdown.presentationDesc": "Unggah presentasi",
+    "app.actionsBar.actionsDropdown.initPollDesc": "Mulai polling",
+    "app.actionsBar.actionsDropdown.desktopShareDesc": "Bagikan layar anda dengan orang lain",
+    "app.actionsBar.emojiMenu.statusTriggerLabel": "Status",
+    "app.actionsBar.emojiMenu.awayLabel": "Tidak Fokus",
+    "app.actionsBar.emojiMenu.awayDesc": "Ubah status menjadi Tidak Fokus",
+    "app.actionsBar.emojiMenu.raiseLabel": "Naikan",
+    "app.actionsBar.emojiMenu.raiseDesc": "Angkat tangan untuk bertanya",
+    "app.actionsBar.emojiMenu.undecidedLabel": "Tidak memutuskan",
+    "app.actionsBar.emojiMenu.undecidedDesc": "Ubah status anda menjadi Tidak Memutuskan",
+    "app.actionsBar.emojiMenu.confusedLabel": "Bingung",
+    "app.actionsBar.emojiMenu.confusedDesc": "Ubah status anda menjadi Bingung",
+    "app.actionsBar.emojiMenu.sadLabel": "Sedih",
+    "app.actionsBar.emojiMenu.sadDesc": "Ubah status anda menjadi Sedih",
+    "app.actionsBar.emojiMenu.happyLabel": "Bahagia",
+    "app.actionsBar.emojiMenu.happyDesc": "Ubah status anda menjadi Bahagia",
+    "app.actionsBar.emojiMenu.clearLabel": "Normal",
+    "app.actionsBar.emojiMenu.clearDesc": "Normalkan status anda",
+    "app.actionsBar.emojiMenu.applauseLabel": "Tepuk tangan",
+    "app.actionsBar.emojiMenu.applauseDesc": "Ubah status anda menjadi Tepuk Tangan",
+    "app.actionsBar.emojiMenu.thumbsupLabel": "Jempol Atas",
+    "app.actionsBar.emojiMenu.thumbsupDesc": "Ubah status Anda menjadi Jempol Atas",
+    "app.actionsBar.emojiMenu.thumbsdownLabel": "Jempol Bawah",
+    "app.actionsBar.emojiMenu.thumbsdownDesc": "Ubah status Anda menjadi Jempol Bawah",
+    "app.actionsBar.currentStatusDesc": "status saat ini {0}",
+    "app.audioNotification.audioFailedMessage": "Koneksi audio anda gagal terhubung",
+    "app.audioNotification.mediaFailedMessage": "Aktivasi Mikropon  gagal, hanya sumber yang aman yang diizinkan ",
+    "app.audioNotification.closeLabel": "Tutup",
+    "app.breakoutJoinConfirmation.title": "Terhubung Ruang Diskusi Kelompok",
+    "app.breakoutJoinConfirmation.message": "Anda ingin bergabung ?",
+    "app.breakoutJoinConfirmation.confirmLabel": "Bergabung",
+    "app.breakoutJoinConfirmation.confirmDesc": "Sedang menghubungkan ke Ruang Diskusi Kelompok",
+    "app.breakoutJoinConfirmation.dismissLabel": "Batalkan",
+    "app.breakoutJoinConfirmation.dismissDesc": "Tutup dan tolak bergabung dengan Ruang diskusi kelompok",
+    "app.breakoutTimeRemainingMessage": "Waktu tersisa untuk Ruang Diskusi Kelompok: {0}",
+    "app.breakoutWillCloseMessage": "Waktu sudah habis. Ruang Diskusi Kelompok akan segera ditutup.",
+    "app.calculatingBreakoutTimeRemaining": "Menghitung sisa waktu...",
+    "app.audioModal.microphoneLabel": "MIkropon",
+    "app.audioModal.listenOnlyLabel": "Hanya Mendengar",
+    "app.audioModal.audioChoiceLabel": "Bagaimana anda akan terhubung dengan audio?",
+    "app.audioModal.audioChoiceDescription": "Pilih cara terhubung dengan audio di meeting ini",
+    "app.audioModal.closeLabel": "Tutup",
+    "app.audio.joinAudio": "Terhubung audio",
+    "app.audio.leaveAudio": "Tinggalkan audio",
+    "app.audio.enterSessionLabel": "Masuk sesi",
+    "app.audio.playSoundLabel": "Mainkan audio",
+    "app.audio.backLabel": "Kembali",
+    "app.audio.audioSettings.titleLabel": "Pilih pengaturan audio anda",
+    "app.audio.audioSettings.descriptionLabel": "Mohon diperhatikan, dialog akan muncul pada browser anda, Silakan untuk menekan tombol  menerima berbagi mikropon jika diminta.",
+    "app.audio.audioSettings.microphoneSourceLabel": "Sumber Mikropon",
+    "app.audio.audioSettings.speakerSourceLabel": "Sumber Speaker",
+    "app.audio.audioSettings.microphoneStreamLabel": "Volume stream audio anda",
+    "app.audio.listenOnly.backLabel": "Kembali",
+    "app.audio.listenOnly.closeLabel": "Tutup",
+    "app.error.kicked": "Anda telah dikeluarkan dari meeting",
+    "app.error.meeting.ended": "Anda telah keluar dari konferensi",
+    "app.dropdown.close": "Tutup",
+    "app.error.500": "Ops, sepertinya ada kesalahan",
+    "app.error.404": "Tidak ditemukan",
+    "app.error.401": "Tidak memiliki izin",
+    "app.error.403": "Dilarang",
+    "app.error.leaveLabel": "Log in Kembali"
+}
+
diff --git a/bigbluebutton-html5/private/locales/ja.json b/bigbluebutton-html5/private/locales/ja.json
new file mode 100644
index 0000000000000000000000000000000000000000..cb461a6244a1abf97151402d7356e1af90929aa8
--- /dev/null
+++ b/bigbluebutton-html5/private/locales/ja.json
@@ -0,0 +1,104 @@
+{
+    "app.home.greeting": "ようこそ {0} さん! プレゼンテーションは間もなく始まります…",
+    "app.userlist.usersTitle": "ユーザー",
+    "app.userlist.participantsTitle": "参加者",
+    "app.userlist.messagesTitle": "メッセージ",
+    "app.userlist.presenter": "プレゼンター",
+    "app.userlist.you": "あなた",
+    "app.userlist.locked": "ロック中",
+    "app.userlist.Label": "ユーザーリスト",
+    "app.chat.submitLabel": "メッセージを送信",
+    "app.chat.inputLabel": "チャット {0} へメッセージ入力",
+    "app.chat.inputPlaceholder": "メッセージ {0}",
+    "app.chat.titlePublic": "公開チャット",
+    "app.chat.titlePrivate": "{0} との非公開チャット",
+    "app.chat.partnerDisconnected": "{0} は会議から退出しました",
+    "app.chat.closeChatLabel": "{0} を閉じる",
+    "app.chat.hideChatLabel": "{0} を隠す",
+    "app.chat.moreMessages": "下にまだメッセージがあります",
+    "app.userlist.menuTitleContext": "利用可能なオプション",
+    "app.userlist.chatlistitem.unreadSingular": "{0} 件の新しいメッセージ",
+    "app.userlist.chatlistitem.unreadPlural": "{0} 件の新しいメッセージ",
+    "app.userlist.menu.chat.label": "チャット",
+    "app.userlist.menu.clearStatus.label": "ステータスをクリア",
+    "app.userlist.menu.makePresenter.label": "プレゼンターになる",
+    "app.userlist.menu.kickUser.label": "ユーザーを退出させる",
+    "app.userlist.menu.muteUserAudio.label": "ユーザーをミュート",
+    "app.userlist.menu.unmuteUserAudio.label": "ユーザーのミュートを解除",
+    "app.userlist.userAriaLabel": "ユーザー: {0} 役割: {1} 人: {2} ステータス : {3}",
+    "app.chat.Label": "チャット",
+    "app.chat.emptyLogLabel": "チャットログは空です",
+    "app.media.Label": "メディア",
+    "app.presentation.presentationToolbar.prevSlideLabel": "前のスライド",
+    "app.presentation.presentationToolbar.prevSlideDescrip": "プレゼンテーションを前のスライドへ変更",
+    "app.presentation.presentationToolbar.nextSlideLabel": "次のスライド",
+    "app.presentation.presentationToolbar.nextSlideDescrip": "プレゼンテーションを次のスライドへ変更",
+    "app.presentation.presentationToolbar.skipSlideLabel": "スライドをスキップ",
+    "app.presentation.presentationToolbar.skipSlideDescrip": "プレゼンテーションを特定のスライドへ変更",
+    "app.presentation.presentationToolbar.fitWidthLabel": "幅に合わせる",
+    "app.presentation.presentationToolbar.fitWidthDescrip": "スライドの全体幅で表示",
+    "app.presentation.presentationToolbar.fitScreenLabel": "画面に合わせる",
+    "app.presentation.presentationToolbar.fitScreenDescrip": "スライド全体を表示",
+    "app.presentation.presentationToolbar.zoomLabel": "ズーム",
+    "app.presentation.presentationToolbar.zoomDescrip": "プレゼンテーションのズームレベル変更",
+    "app.polling.pollingTitle": "投票オプション",
+    "app.failedMessage": "サーバー接続障害",
+    "app.connectingMessage": "接続中…",
+    "app.waitingMessage": "切断されました。 {0} 秒後に再接続します…",
+    "app.navBar.settingsDropdown.optionsLabel": "オプション",
+    "app.navBar.settingsDropdown.fullscreenLabel": "全画面表示に切替",
+    "app.navBar.settingsDropdown.settingsLabel": "設定を開く",
+    "app.navBar.settingsDropdown.aboutLabel": "アバウト",
+    "app.navBar.settingsDropdown.leaveSessionLabel": "ログアウト",
+    "app.navBar.settingsDropdown.fullscreenDesc": "設定メニューを全画面表示",
+    "app.navBar.settingsDropdown.settingsDesc": "一般の設定を変更",
+    "app.navBar.settingsDropdown.aboutDesc": "クライアントに関する情報を表示",
+    "app.navBar.settingsDropdown.leaveSessionDesc": "会議から退室",
+    "app.navBar.settingsDropdown.exitFullScreenLabel": "全画面表示を抜ける",
+    "app.navBar.settingsDropdown.exitFullScreenDesc": "全画面表示モードを抜ける",
+    "app.navBar.userListToggleBtnLabel": "ユーザーリストのトグル",
+    "app.navbar.toggleUserList.newMessages": "新着メッセージ通知",
+    "app.leaveConfirmation.title": "セッションから離れる",
+    "app.leaveConfirmation.message": "この会議から退室しますか?",
+    "app.leaveConfirmation.confirmLabel": "退室",
+    "app.leaveConfirmation.confirmDesc": "自分を会議からログアウトさせる",
+    "app.leaveConfirmation.dismissLabel": "キャンセル",
+    "app.leaveConfirmation.dismissDesc": "退出確認を破棄し閉じる",
+    "app.about.title": "アバウト",
+    "app.about.version": "Client Build:",
+    "app.about.copyright": "Copyright:",
+    "app.about.confirmLabel": "OK",
+    "app.about.confirmDesc": "OK",
+    "app.about.dismissLabel": "キャンセル",
+    "app.about.dismissDesc": "クライアント情報を閉じる",
+    "app.actionsBar.changeStatusLabel": "ステータス変更",
+    "app.actionsBar.muteLabel": "ミュート",
+    "app.actionsBar.unmuteLabel": "ミュート解除",
+    "app.actionsBar.camOffLabel": "カメラオフ",
+    "app.actionsBar.raiseLabel": "手をあげる",
+    "app.actionsBar.Label": "アクションバー",
+    "app.submenu.application.applicationSectionTitle": "アプリケーション",
+    "app.submenu.application.audioNotifyLabel": "チャットの音声通知",
+    "app.submenu.application.pushNotifyLabel": "チャットのプッシュ通知",
+    "app.submenu.application.fontSizeControlLabel": "フォントサイズ",
+    "app.submenu.application.increaseFontBtnLabel": "アプリケーションのフォントサイズを大きくする",
+    "app.submenu.application.decreaseFontBtnLabel": "アプリケーションのフォントサイズを小さくする",
+    "app.submenu.application.languageLabel": "アプリケーション言語",
+    "app.submenu.application.ariaLanguageLabel": "アプリケーション言語を変更",
+    "app.submenu.application.languageOptionLabel": "言語を選択",
+    "app.submenu.application.noLocaleOptionLabel": "アクティブなロケールがありません",
+    "app.submenu.audio.micSourceLabel": "マイクのソース",
+    "app.submenu.audio.speakerSourceLabel": "スピーカーのソース",
+    "app.submenu.audio.streamVolumeLabel": "音声ストリームの音量",
+    "app.submenu.video.title": "ビデオ",
+    "app.submenu.video.videoSourceLabel": "ソースを表示",
+    "app.submenu.video.videoOptionLabel": "ソース表示を選択",
+    "app.submenu.video.videoQualityLabel": "ビデオ品質",
+    "app.submenu.video.qualityOptionLabel": "ビデオ品質を選択",
+    "app.submenu.video.participantsCamLabel": "参加者のウェブカメラを見ています",
+    "app.submenu.closedCaptions.closedCaptionsLabel": "クローズドキャプション",
+    "app.submenu.closedCaptions.takeOwnershipLabel": "所有権をとる",
+    "app.submenu.closedCaptions.languageLabel": "言語",
+    "app.submenu.closedCaptions.localeOptionLabel": "言語を選択"
+}
+
diff --git a/bigbluebutton-html5/private/locales/ja_JP.json b/bigbluebutton-html5/private/locales/ja_JP.json
new file mode 100644
index 0000000000000000000000000000000000000000..26b22b32a47895454c734b362e318d563b7b85b1
--- /dev/null
+++ b/bigbluebutton-html5/private/locales/ja_JP.json
@@ -0,0 +1,205 @@
+{
+    "app.home.greeting": "ようこそ {0} さん! プレゼンテーションは間もなく始まります…",
+    "app.userlist.usersTitle": "ユーザー",
+    "app.userlist.participantsTitle": "参加者",
+    "app.userlist.messagesTitle": "メッセージ",
+    "app.userlist.presenter": "プレゼンター",
+    "app.userlist.you": "あなた",
+    "app.userlist.locked": "ロック中",
+    "app.userlist.Label": "ユーザーリスト",
+    "app.chat.submitLabel": "メッセージを送信",
+    "app.chat.inputLabel": "チャット {0} へメッセージ入力",
+    "app.chat.inputPlaceholder": "メッセージ {0}",
+    "app.chat.titlePublic": "公開チャット",
+    "app.chat.titlePrivate": "{0} との非公開チャット",
+    "app.chat.partnerDisconnected": "{0} は会議から退出しました",
+    "app.chat.closeChatLabel": "{0} を閉じる",
+    "app.chat.hideChatLabel": "{0} を隠す",
+    "app.chat.moreMessages": "下にまだメッセージがあります",
+    "app.userlist.menuTitleContext": "利用可能なオプション",
+    "app.userlist.chatlistitem.unreadSingular": "{0} 件の新しいメッセージ",
+    "app.userlist.chatlistitem.unreadPlural": "{0} 件の新しいメッセージ",
+    "app.userlist.menu.chat.label": "チャット",
+    "app.userlist.menu.clearStatus.label": "ステータスをクリア",
+    "app.userlist.menu.makePresenter.label": "プレゼンターになる",
+    "app.userlist.menu.kickUser.label": "ユーザーを退出させる",
+    "app.userlist.menu.muteUserAudio.label": "ユーザーをミュート",
+    "app.userlist.menu.unmuteUserAudio.label": "ユーザーのミュートを解除",
+    "app.userlist.userAriaLabel": "ユーザー: {0}  役割: {1}  人: {2}  ステータス : {3}",
+    "app.chat.Label": "チャット",
+    "app.chat.emptyLogLabel": "チャットログは空です",
+    "app.media.Label": "メディア",
+    "app.presentation.presentationToolbar.prevSlideLabel": "前のスライド",
+    "app.presentation.presentationToolbar.prevSlideDescrip": "プレゼンテーションを前のスライドへ変更",
+    "app.presentation.presentationToolbar.nextSlideLabel": "次のスライド",
+    "app.presentation.presentationToolbar.nextSlideDescrip": "プレゼンテーションを次のスライドへ変更",
+    "app.presentation.presentationToolbar.skipSlideLabel": "スライドをスキップ",
+    "app.presentation.presentationToolbar.skipSlideDescrip": "プレゼンテーションを特定のスライドへ変更",
+    "app.presentation.presentationToolbar.fitWidthLabel": "幅に合わせる",
+    "app.presentation.presentationToolbar.fitWidthDescrip": "スライドの全体幅で表示",
+    "app.presentation.presentationToolbar.fitScreenLabel": "画面に合わせる",
+    "app.presentation.presentationToolbar.fitScreenDescrip": "スライド全体を表示",
+    "app.presentation.presentationToolbar.zoomLabel": "ズーム",
+    "app.presentation.presentationToolbar.zoomDescrip": "プレゼンテーションのズームレベル変更",
+    "app.polling.pollingTitle": "投票オプション",
+    "app.failedMessage": "サーバー接続障害",
+    "app.connectingMessage": "接続中…",
+    "app.waitingMessage": "切断されました。 {0} 秒後に再接続します…",
+    "app.navBar.settingsDropdown.optionsLabel": "オプション",
+    "app.navBar.settingsDropdown.fullscreenLabel": "全画面表示に切替",
+    "app.navBar.settingsDropdown.settingsLabel": "設定を開く",
+    "app.navBar.settingsDropdown.aboutLabel": "アバウト",
+    "app.navBar.settingsDropdown.leaveSessionLabel": "ログアウト",
+    "app.navBar.settingsDropdown.fullscreenDesc": "設定メニューを全画面表示",
+    "app.navBar.settingsDropdown.settingsDesc": "一般の設定を変更",
+    "app.navBar.settingsDropdown.aboutDesc": "クライアントに関する情報を表示",
+    "app.navBar.settingsDropdown.leaveSessionDesc": "会議から退室",
+    "app.navBar.settingsDropdown.exitFullScreenLabel": "全画面表示を抜ける",
+    "app.navBar.settingsDropdown.exitFullScreenDesc": "全画面表示モードを抜ける",
+    "app.navBar.userListToggleBtnLabel": "ユーザーリストのトグル",
+    "app.navbar.toggleUserList.newMessages": "新着メッセージ通知",
+    "app.leaveConfirmation.title": "セッションから離れる",
+    "app.leaveConfirmation.message": "この会議から退室しますか?",
+    "app.leaveConfirmation.confirmLabel": "退室",
+    "app.leaveConfirmation.confirmDesc": "自分を会議からログアウトさせる",
+    "app.leaveConfirmation.dismissLabel": "キャンセル",
+    "app.leaveConfirmation.dismissDesc": "退出確認を破棄し閉じる",
+    "app.about.title": "アバウト",
+    "app.about.version": "Client Build:",
+    "app.about.copyright": "Copyright:",
+    "app.about.confirmLabel": "OK",
+    "app.about.confirmDesc": "OK",
+    "app.about.dismissLabel": "キャンセル",
+    "app.about.dismissDesc": "クライアント情報を閉じる",
+    "app.actionsBar.changeStatusLabel": "ステータス変更",
+    "app.actionsBar.muteLabel": "ミュート",
+    "app.actionsBar.unmuteLabel": "ミュート解除",
+    "app.actionsBar.camOffLabel": "カメラオフ",
+    "app.actionsBar.raiseLabel": "手をあげる",
+    "app.actionsBar.Label": "アクションバー",
+    "app.submenu.application.applicationSectionTitle": "アプリケーション",
+    "app.submenu.application.audioNotifyLabel": "チャットの音声通知",
+    "app.submenu.application.pushNotifyLabel": "チャットのプッシュ通知",
+    "app.submenu.application.fontSizeControlLabel": "フォントサイズ",
+    "app.submenu.application.increaseFontBtnLabel": "アプリケーションのフォントサイズを大きくする",
+    "app.submenu.application.decreaseFontBtnLabel": "アプリケーションのフォントサイズを小さくする",
+    "app.submenu.application.languageLabel": "アプリケーション言語",
+    "app.submenu.application.ariaLanguageLabel": "アプリケーション言語を変更",
+    "app.submenu.application.languageOptionLabel": "言語を選択",
+    "app.submenu.application.noLocaleOptionLabel": "アクティブなロケールがありません",
+    "app.submenu.audio.micSourceLabel": "マイクのソース",
+    "app.submenu.audio.speakerSourceLabel": "スピーカーのソース",
+    "app.submenu.audio.streamVolumeLabel": "音声ストリームの音量",
+    "app.submenu.video.title": "ビデオ",
+    "app.submenu.video.videoSourceLabel": "ソースを表示",
+    "app.submenu.video.videoOptionLabel": "ソース表示を選択",
+    "app.submenu.video.videoQualityLabel": "ビデオ品質",
+    "app.submenu.video.qualityOptionLabel": "ビデオ品質を選択",
+    "app.submenu.video.participantsCamLabel": "参加者のウェブカメラを見ています",
+    "app.submenu.closedCaptions.closedCaptionsLabel": "クローズドキャプション",
+    "app.submenu.closedCaptions.takeOwnershipLabel": "所有権をとる",
+    "app.submenu.closedCaptions.languageLabel": "言語",
+    "app.submenu.closedCaptions.localeOptionLabel": "言語を選択",
+    "app.submenu.closedCaptions.noLocaleOptionLabel": "アクティブなロケールがありません",
+    "app.submenu.closedCaptions.fontFamilyLabel": "フォントファミリー",
+    "app.submenu.closedCaptions.fontFamilyOptionLabel": "フォントファミリーを選択",
+    "app.submenu.closedCaptions.fontSizeLabel": "フォントサイズ",
+    "app.submenu.closedCaptions.fontSizeOptionLabel": "フォントサイズを選択",
+    "app.submenu.closedCaptions.backgroundColorLabel": "背景色",
+    "app.submenu.closedCaptions.fontColorLabel": "フォント色",
+    "app.submenu.participants.muteAllLabel": "プレゼンター以外の全員をミュート",
+    "app.submenu.participants.lockAllLabel": "すべての参加者をロック",
+    "app.submenu.participants.lockItemLabel": "参加者 {0}",
+    "app.submenu.participants.lockMicDesc": "ロック中のすべての参加者のマイクを無効化",
+    "app.submenu.participants.lockCamDesc": "ロック中のすべての参加者のウェブカメラを無効化",
+    "app.submenu.participants.lockPublicChatDesc": "ロック中のすべての参加者の公開チャットを無効化",
+    "app.submenu.participants.lockPrivateChatDesc": "ロック中のすべての参加者の非公開チャットを無効化",
+    "app.submenu.participants.lockLayoutDesc": "ロック中のすべての参加者のレイアウトを固定",
+    "app.submenu.participants.lockMicAriaLabel": "マイクのロック",
+    "app.submenu.participants.lockCamAriaLabel": "ウェブカメラのロック",
+    "app.submenu.participants.lockPublicChatAriaLabel": "公開チャットのロック",
+    "app.submenu.participants.lockPrivateChatAriaLabel": "非公開チャットのロック",
+    "app.submenu.participants.lockLayoutAriaLabel": "レイアウトのロック",
+    "app.submenu.participants.lockMicLabel": "マイク",
+    "app.submenu.participants.lockCamLabel": "ウェブカメラ",
+    "app.submenu.participants.lockPublicChatLabel": "公開チャット",
+    "app.submenu.participants.lockPrivateChatLabel": "非公開チャット",
+    "app.submenu.participants.lockLayoutLabel": "レイアウト",
+    "app.settings.applicationTab.label": "アプリケーション",
+    "app.settings.audioTab.label": "音声",
+    "app.settings.videoTab.label": "ビデオ",
+    "app.settings.closedcaptionTab.label": "クローズドキャプション",
+    "app.settings.usersTab.label": "参加者",
+    "app.settings.main.label": "設定",
+    "app.settings.main.cancel.label": "キャンセル",
+    "app.settings.main.cancel.label.description": "変更を破棄し設定メニューを閉じる",
+    "app.settings.main.save.label": "保存",
+    "app.settings.main.save.label.description": "変更を保存し設定メニューを閉じる",
+    "app.actionsBar.actionsDropdown.actionsLabel": "アクション",
+    "app.actionsBar.actionsDropdown.presentationLabel": "プレゼンテーションをアップロード",
+    "app.actionsBar.actionsDropdown.initPollLabel": "投票を初期化",
+    "app.actionsBar.actionsDropdown.desktopShareLabel": "画面を共有する",
+    "app.actionsBar.actionsDropdown.presentationDesc": "プレゼンテーションをアップロード",
+    "app.actionsBar.actionsDropdown.initPollDesc": "投票を初期化",
+    "app.actionsBar.actionsDropdown.desktopShareDesc": "他の人と画面を共有する",
+    "app.actionsBar.emojiMenu.statusTriggerLabel": "ステータス",
+    "app.actionsBar.emojiMenu.awayLabel": "不在",
+    "app.actionsBar.emojiMenu.awayDesc": "スタータスを「不在」にする",
+    "app.actionsBar.emojiMenu.raiseLabel": "手をあげる",
+    "app.actionsBar.emojiMenu.raiseDesc": "手をあげて質問する",
+    "app.actionsBar.emojiMenu.undecidedLabel": "未決定",
+    "app.actionsBar.emojiMenu.undecidedDesc": "ステータスを「未決定」にする",
+    "app.actionsBar.emojiMenu.confusedLabel": "わけがわからない",
+    "app.actionsBar.emojiMenu.confusedDesc": "ステータスを「わけがわからない」にする",
+    "app.actionsBar.emojiMenu.sadLabel": "悲しい",
+    "app.actionsBar.emojiMenu.sadDesc": "ステータスを「悲しい」にする",
+    "app.actionsBar.emojiMenu.happyLabel": "ハッピー",
+    "app.actionsBar.emojiMenu.happyDesc": "ステータスを「ハッピー」にする",
+    "app.actionsBar.emojiMenu.clearLabel": "クリア",
+    "app.actionsBar.emojiMenu.clearDesc": "ステータスをクリア",
+    "app.actionsBar.emojiMenu.applauseLabel": "拍手",
+    "app.actionsBar.emojiMenu.applauseDesc": "ステータスを「拍手」にする",
+    "app.actionsBar.emojiMenu.thumbsupLabel": "賛成",
+    "app.actionsBar.emojiMenu.thumbsupDesc": "ステータスを「賛成」にする",
+    "app.actionsBar.emojiMenu.thumbsdownLabel": "反対",
+    "app.actionsBar.emojiMenu.thumbsdownDesc": "ステータスを「反対」にする",
+    "app.actionsBar.currentStatusDesc": "現在のステータス {0}",
+    "app.audioNotification.audioFailedMessage": "音声接続に失敗しました",
+    "app.audioNotification.mediaFailedMessage": "getUserMicMedia に失敗。安全な接続だけが許可されます",
+    "app.audioNotification.closeLabel": "閉じる",
+    "app.breakoutJoinConfirmation.title": "小会議室に参加",
+    "app.breakoutJoinConfirmation.message": "参加しますか",
+    "app.breakoutJoinConfirmation.confirmLabel": "参加",
+    "app.breakoutJoinConfirmation.confirmDesc": "自分を小会議室に参加させる",
+    "app.breakoutJoinConfirmation.dismissLabel": "キャンセル",
+    "app.breakoutJoinConfirmation.dismissDesc": "小会議室の参加を拒否し閉じる",
+    "app.breakoutTimeRemainingMessage": "小会議室残り時間: {0}",
+    "app.breakoutWillCloseMessage": "終了時間。間もなく小会議室を閉じます",
+    "app.calculatingBreakoutTimeRemaining": "残り時間計算中…",
+    "app.audioModal.microphoneLabel": "マイク",
+    "app.audioModal.listenOnlyLabel": "聴講のみ",
+    "app.audioModal.audioChoiceLabel": "音声はどうしますか?",
+    "app.audioModal.audioChoiceDescription": "この会議への音声参加方法を選択",
+    "app.audioModal.closeLabel": "閉じる",
+    "app.audio.joinAudio": "音声で参加",
+    "app.audio.leaveAudio": "音声をやめる",
+    "app.audio.enterSessionLabel": "セッションに入る",
+    "app.audio.playSoundLabel": "音を出す",
+    "app.audio.backLabel": "戻る",
+    "app.audio.audioSettings.titleLabel": "音声設定を選択",
+    "app.audio.audioSettings.descriptionLabel": "マイク共有の許可を求めるダイアログがブラウザ内に現われますのでご了承ください。",
+    "app.audio.audioSettings.microphoneSourceLabel": "マイクのソース",
+    "app.audio.audioSettings.speakerSourceLabel": "スピーカーのソース",
+    "app.audio.audioSettings.microphoneStreamLabel": "音声ストリームの音量",
+    "app.audio.listenOnly.backLabel": "戻る",
+    "app.audio.listenOnly.closeLabel": "閉じる",
+    "app.error.kicked": "会議から退室させられました",
+    "app.error.meeting.ended": "会議からログアウトしました",
+    "app.dropdown.close": "閉じる",
+    "app.error.500": "あっ、何かがおかしくなりました",
+    "app.error.404": "見つかりません",
+    "app.error.401": "権限がありません",
+    "app.error.403": "禁止されています",
+    "app.error.leaveLabel": "再ログイン"
+}
+
diff --git a/bigbluebutton-html5/private/locales/km.json b/bigbluebutton-html5/private/locales/km.json
new file mode 100644
index 0000000000000000000000000000000000000000..7c35763b4ed2eea9a178fab64ad68dc018b35eca
--- /dev/null
+++ b/bigbluebutton-html5/private/locales/km.json
@@ -0,0 +1,205 @@
+{
+    "app.home.greeting": "សូមស្វាគមន៍ {0}! បទ​បង្ហាញ​របស់​អ្នក​នឹង​ចាប់ផ្តើម​បន្តិច​ទៀត​នេះ ...",
+    "app.userlist.usersTitle": "អ្នកប្រើប្រាស់",
+    "app.userlist.participantsTitle": "អ្នកចូលរួម",
+    "app.userlist.messagesTitle": "សារ",
+    "app.userlist.presenter": "អ្នក​ធ្វើ​បទ​បង្ហាញ",
+    "app.userlist.you": "អ្នក",
+    "app.userlist.locked": "បាន​បិទ",
+    "app.userlist.Label": "បញ្ជី​អ្នកប្រើប្រាស់",
+    "app.chat.submitLabel": "ផ្ញើ​សារ",
+    "app.chat.inputLabel": "ការ​បញ្ចូល​សារ​សម្រាប់​ការ​ជជែក {0}",
+    "app.chat.inputPlaceholder": "សារ {0}",
+    "app.chat.titlePublic": "ជជែក​សាធារណៈ",
+    "app.chat.titlePrivate": "ជជែក​ឯកជន​ជាមួយ {0}",
+    "app.chat.partnerDisconnected": "{0} បាន​ចាកចេញ​ពី​ការ​ប្រជុំ",
+    "app.chat.closeChatLabel": "បិទ {0}",
+    "app.chat.hideChatLabel": "លាក់ {0}",
+    "app.chat.moreMessages": "សារ​ច្រើន​ទៀត​នៅ​ខាង​ក្រោម",
+    "app.userlist.menuTitleContext": "ជម្រើស​ដែល​មាន",
+    "app.userlist.chatlistitem.unreadSingular": "សារ​ថ្មី {0}",
+    "app.userlist.chatlistitem.unreadPlural": "សារ​ថ្មី {0}",
+    "app.userlist.menu.chat.label": "ជជែក",
+    "app.userlist.menu.clearStatus.label": "លុប​ស្ថានភាព",
+    "app.userlist.menu.makePresenter.label": "ធ្វើ​ជា​អ្នក​ធ្វើ​បទ​បង្ហាញ",
+    "app.userlist.menu.kickUser.label": "ដក​អ្នក​ប្រើប្រាស់​ចេញ",
+    "app.userlist.menu.muteUserAudio.label": "បិទ​សម្លេង​អ្នក​ប្រើប្រាស់",
+    "app.userlist.menu.unmuteUserAudio.label": "បើក​សម្លេង​អ្នក​ប្រើប្រាស់",
+    "app.userlist.userAriaLabel": "អ្នកប្រើ ៖ {0} តួនាទី​ ៖ {1} មនុស្ស ៖ {2} ស្ថានភាព​ ៖ {3}",
+    "app.chat.Label": "ជជែក",
+    "app.chat.emptyLogLabel": "កំណត់ត្រា​ការ​ជជែក​ទទេ",
+    "app.media.Label": "មេឌៀ",
+    "app.presentation.presentationToolbar.prevSlideLabel": "ស្លាយ​មុន",
+    "app.presentation.presentationToolbar.prevSlideDescrip": "ប្តូរ​បទ​បង្ហាញ​ទៅ​ស្លាយ​មុន",
+    "app.presentation.presentationToolbar.nextSlideLabel": "ស្លាយ​បន្ទាប់",
+    "app.presentation.presentationToolbar.nextSlideDescrip": "ប្តូរ​បទ​បង្ហាញ​ទៅ​ស្លាយ​បន្ទាប់",
+    "app.presentation.presentationToolbar.skipSlideLabel": "រំលង​ស្លាយ",
+    "app.presentation.presentationToolbar.skipSlideDescrip": "ប្តូរ​បទ​បង្ហាញ​ទៅ​កាន់​ស្លាយ​ណា​មួយ",
+    "app.presentation.presentationToolbar.fitWidthLabel": "ទំហំ​សម​នឹង​ប្រវែង​ទទឹង",
+    "app.presentation.presentationToolbar.fitWidthDescrip": "បង្ហាញ​ទំហំ​ទទឹង​ទាំង​មូល​របស់​ស្លាយ",
+    "app.presentation.presentationToolbar.fitScreenLabel": "ទំហំ​សម​នឹង​អេក្រង់​ទាំង​មូល",
+    "app.presentation.presentationToolbar.fitScreenDescrip": "បង្ហាញ​ស្លាយ​ទាំង​មូល",
+    "app.presentation.presentationToolbar.zoomLabel": "ពង្រីក/បង្រួម",
+    "app.presentation.presentationToolbar.zoomDescrip": "ប្តូរ​កម្រិត​ពង្រីក​របស់​បទ​បង្ហាញ",
+    "app.polling.pollingTitle": "ជម្រើសសម្រាប់ការ​ស្ទង់​មតិ",
+    "app.failedMessage": "សូមទោស! មាន​បញ្ហា​ក្នុង​ការ​ភ្ជាប់​ទៅ​កាន់​ម៉ាស៊ីន​បម្រើ",
+    "app.connectingMessage": "កំពុង​ភ្ជាប់...",
+    "app.waitingMessage": "ត្រូវ​បាន​ផ្តាច់! នឹង​ព្យាយាម​ភ្ជាប់​វិញ​ក្នុងរយៈពេល {0} វិនាទី...",
+    "app.navBar.settingsDropdown.optionsLabel": "ជម្រើស",
+    "app.navBar.settingsDropdown.fullscreenLabel": "បើក​ពេញ​អេក្រង់",
+    "app.navBar.settingsDropdown.settingsLabel": "បើក​ការ​កំណត់",
+    "app.navBar.settingsDropdown.aboutLabel": "អំពី",
+    "app.navBar.settingsDropdown.leaveSessionLabel": "ចាកចេញ",
+    "app.navBar.settingsDropdown.fullscreenDesc": "បើក​ម៉ឺនុយ​សម្រាប់​ការ​កំណត់​ពេញ​អេក្រង់",
+    "app.navBar.settingsDropdown.settingsDesc": "ប្តូរ​ការ​កំណត់​ទូទៅ",
+    "app.navBar.settingsDropdown.aboutDesc": "បង្ហាញ​ព័ត៌មាន​ពី​ម៉ាស៊ីន​ភ្ញៀវ",
+    "app.navBar.settingsDropdown.leaveSessionDesc": "ចាកចេញ​ពី​ការ​ប្រជុំ",
+    "app.navBar.settingsDropdown.exitFullScreenLabel": "ចាកចេញ​ពី​អេក្រង់​ពេញ",
+    "app.navBar.settingsDropdown.exitFullScreenDesc": "ចាកចេញ​ពី​អេក្រង់​ពេញ",
+    "app.navBar.userListToggleBtnLabel": "បិទ​បើក​បញ្ជី​អ្នកប្រើប្រាស់",
+    "app.navbar.toggleUserList.newMessages": "ជាមួយ​ការ​ជូន​ដំណឹង​ពី​សារ​ថ្មី",
+    "app.leaveConfirmation.title": "ចាកចេញ​ពី​វគ្គ​នេះ",
+    "app.leaveConfirmation.message": "តើ​អ្នក​ពិត​ជា​ចង់​ចាកចេញ​ពី​ការប្រជុំ​នេះ​មែន​ទេ?",
+    "app.leaveConfirmation.confirmLabel": "ចាកចេញ",
+    "app.leaveConfirmation.confirmDesc": "ដក​អ្នក​ចេញ​ពី​ការ​ប្រជុំ",
+    "app.leaveConfirmation.dismissLabel": "បោះបង់",
+    "app.leaveConfirmation.dismissDesc": "បិទ​និង​បដិសេធ​ការ​បញ្ជាក់​ពី​ការ​ចាកចេញ",
+    "app.about.title": "អំពី",
+    "app.about.version": "ជំនាន់​កសាង​របស់​ម៉ាស៊ីន​ភ្ញៀវ ៖",
+    "app.about.copyright": "សិទ្ធិ​អ្នកនិពន្ធ ៖",
+    "app.about.confirmLabel": "យល់ព្រម",
+    "app.about.confirmDesc": "យល់ព្រម",
+    "app.about.dismissLabel": "បោះបង់",
+    "app.about.dismissDesc": "បិទ​ព័ត៌មាន​ពី​ម៉ាស៊ីន​ភ្ញៀវ",
+    "app.actionsBar.changeStatusLabel": "ប្តូរ​ស្ថានភាព",
+    "app.actionsBar.muteLabel": "បិទ​សម្លេង",
+    "app.actionsBar.unmuteLabel": "បើក​សម្លេង",
+    "app.actionsBar.camOffLabel": "បិទ​កាមេរ៉ា",
+    "app.actionsBar.raiseLabel": "លើកដៃ",
+    "app.actionsBar.Label": "របារ​សកម្មភាព",
+    "app.submenu.application.applicationSectionTitle": "កម្មវិធី",
+    "app.submenu.application.audioNotifyLabel": "ការ​ជូន​ដំណឹង​ជា​សម្លេង​សម្រាប់​ការ​ជជែក",
+    "app.submenu.application.pushNotifyLabel": "ការ​ជូន​ដំណឹង​ដែល​លេច​ឡើង​សម្រាប់​ការ​ជជែក",
+    "app.submenu.application.fontSizeControlLabel": "ទំហំ​អក្សរ​",
+    "app.submenu.application.increaseFontBtnLabel": "បង្កើន​ទំហំ​អក្សរ​ក្នុង​កម្មវិធី",
+    "app.submenu.application.decreaseFontBtnLabel": "បន្ថយ​ទំហំ​អក្សរ​ក្នុង​កម្មវិធី",
+    "app.submenu.application.languageLabel": "ភាសា​របស់​កម្មវិធី",
+    "app.submenu.application.ariaLanguageLabel": "ប្តូរ​ភាសា​របស់​កម្មវិធី",
+    "app.submenu.application.languageOptionLabel": "ជ្រើសរើស​ភាសា",
+    "app.submenu.application.noLocaleOptionLabel": "មិន​មាន​ភាសា​ទេ",
+    "app.submenu.audio.micSourceLabel": "ប្រភព​មីក្រូហ្វូន",
+    "app.submenu.audio.speakerSourceLabel": "ប្រភព​ឧបករណ៍​បញ្ចេញ​សម្លេង",
+    "app.submenu.audio.streamVolumeLabel": "កម្រិត​សម្លេង",
+    "app.submenu.video.title": "វីដេអូ",
+    "app.submenu.video.videoSourceLabel": "បង្ហាញ​ប្រភព",
+    "app.submenu.video.videoOptionLabel": "ជ្រើសរើស​បង្ហាញ​ប្រភព",
+    "app.submenu.video.videoQualityLabel": "កម្រិត​គុណភាព​វីដេអូ",
+    "app.submenu.video.qualityOptionLabel": "ជ្រើសរើស​គុណភាព​វីដេអូ",
+    "app.submenu.video.participantsCamLabel": "កំពុង​បង្ហាញ​វេបខេម​របស់​អ្នក​ចូលរួម",
+    "app.submenu.closedCaptions.closedCaptionsLabel": "ចំណងជើង​ភ្ជាប់",
+    "app.submenu.closedCaptions.takeOwnershipLabel": "យក​ធ្វើ​ជា​របស់​ខ្លួន​ឯង",
+    "app.submenu.closedCaptions.languageLabel": "ភាសា",
+    "app.submenu.closedCaptions.localeOptionLabel": "ជ្រើសរើស​ភាសា",
+    "app.submenu.closedCaptions.noLocaleOptionLabel": "មិន​មាន​ភាសា",
+    "app.submenu.closedCaptions.fontFamilyLabel": "ពុម្ព​អក្សរ",
+    "app.submenu.closedCaptions.fontFamilyOptionLabel": "ជ្រើសរើស​ពុម្ព​អក្សរ",
+    "app.submenu.closedCaptions.fontSizeLabel": "ទំហំ​អក្សរ",
+    "app.submenu.closedCaptions.fontSizeOptionLabel": "ជ្រើសរើស​ទំហំ​អក្សរ",
+    "app.submenu.closedCaptions.backgroundColorLabel": "ពណ៌​ផ្ទៃ​ខាង​ក្រោយ",
+    "app.submenu.closedCaptions.fontColorLabel": "ពណ៌​អក្សរ​",
+    "app.submenu.participants.muteAllLabel": "បិទ​សម្លេង​ទាំងអស់​លើក​លែង​តែ​អ្នក​ធ្វើ​បទ​បង្ហាញ",
+    "app.submenu.participants.lockAllLabel": "បិទ​អ្នកចូលរួម​ទាំងអស់",
+    "app.submenu.participants.lockItemLabel": "អ្នកចូលរួម {0}",
+    "app.submenu.participants.lockMicDesc": "បិទ​មីក្រូហ្វូន​សម្រាប់​អ្នកចូលរួម​ដែល​បាន​បិទ​ទាំងអស់",
+    "app.submenu.participants.lockCamDesc": "បិទ​វេបខេម​សម្រាប់​អ្នកចូលរួម​ដែល​បាន​បិទ​ទាំងអស់",
+    "app.submenu.participants.lockPublicChatDesc": "បិទ​ការ​ជជែក​សាធារណៈ​សម្រាប់​អ្នក​ចូលរួម​ដែល​បាន​បិទ​ទាំងអស់",
+    "app.submenu.participants.lockPrivateChatDesc": "បិទ​ការ​ជជែក​ឯកជន​សម្រាប់​អ្នកចូលរួម​ដែល​បាន​បិទ​ទាំងអស់",
+    "app.submenu.participants.lockLayoutDesc": "បិទ​ទម្រង់​សម្រាប់​អ្នកចូលរួម​ដែល​បាន​បិទ​ទាំងអស់",
+    "app.submenu.participants.lockMicAriaLabel": "ការ​បិទ​មីក្រូហ្វូន",
+    "app.submenu.participants.lockCamAriaLabel": "ការ​បិទ​វេបខេម",
+    "app.submenu.participants.lockPublicChatAriaLabel": "ការ​បិទ​ការ​ជជែក​សាធារណៈ",
+    "app.submenu.participants.lockPrivateChatAriaLabel": "ការ​បិទ​ការ​ជជែក​ឯកជន",
+    "app.submenu.participants.lockLayoutAriaLabel": "ការ​បិទ​ទម្រង់",
+    "app.submenu.participants.lockMicLabel": "មីក្រូហ្វូន",
+    "app.submenu.participants.lockCamLabel": "វេបខេម",
+    "app.submenu.participants.lockPublicChatLabel": "ជជែក​សាធារណៈ",
+    "app.submenu.participants.lockPrivateChatLabel": "ជជែក​ឯកជន",
+    "app.submenu.participants.lockLayoutLabel": "ទម្រង់",
+    "app.settings.applicationTab.label": "កម្មវិធី",
+    "app.settings.audioTab.label": "សម្លេង",
+    "app.settings.videoTab.label": "វីដេអូ",
+    "app.settings.closedcaptionTab.label": "ចំណងជើង​ភ្ជាប់",
+    "app.settings.usersTab.label": "អ្នកចូលរួម",
+    "app.settings.main.label": "ការកំណត់",
+    "app.settings.main.cancel.label": "បោះបង់",
+    "app.settings.main.cancel.label.description": "បោះបង់​ការ​ផ្លាស់ប្ដូរ​ និង​បិទ​ម៉ឺនុយ​សម្រាប់​ការ​កំណត់",
+    "app.settings.main.save.label": "រក្សាទុក",
+    "app.settings.main.save.label.description": "រក្សា​ការ​ផ្លាស់​ប្តូរ និង​បិទ​ម៉ឺនុយ​សម្រាប់​ការ​កំណត់",
+    "app.actionsBar.actionsDropdown.actionsLabel": "សកម្មភាព",
+    "app.actionsBar.actionsDropdown.presentationLabel": "ផ្ទុក​ឡើង​បទ​បង្ហាញ",
+    "app.actionsBar.actionsDropdown.initPollLabel": "ចាប់ផ្តើម​ការ​ស្ទង់​មតិ",
+    "app.actionsBar.actionsDropdown.desktopShareLabel": "ចែក​រំលែក​អេក្រង់​របស់​អ្នក",
+    "app.actionsBar.actionsDropdown.presentationDesc": "ផ្ទុក​ឡើង​បទ​បង្ហាញ​របស់​អ្នក",
+    "app.actionsBar.actionsDropdown.initPollDesc": "ចាប់​ផ្តើម​ការ​ស្ទង់មតិ",
+    "app.actionsBar.actionsDropdown.desktopShareDesc": "ចែក​រំលែក​អេក្រង់​របស់​អ្នក​ជាមួយ​អ្នក​ដទៃ",
+    "app.actionsBar.emojiMenu.statusTriggerLabel": "ស្ថានភាព",
+    "app.actionsBar.emojiMenu.awayLabel": "នៅ​ឆ្ងាយ",
+    "app.actionsBar.emojiMenu.awayDesc": "ប្តូរ​ស្ថានភាព​របស់​អ្នក​ទៅ \"នៅឆ្ងាយ\"",
+    "app.actionsBar.emojiMenu.raiseLabel": "លើកដៃ",
+    "app.actionsBar.emojiMenu.raiseDesc": "លើកដៃ​របស់​អ្នក​ដើម្បី​សួរ​សំនួរ",
+    "app.actionsBar.emojiMenu.undecidedLabel": "មិន​សម្រេច​ចិត្ត",
+    "app.actionsBar.emojiMenu.undecidedDesc": "ប្តូរ​ស្ថានភាព​របស់​អ្នក​ទៅ \"មិន​សម្រេច​ចិត្ត\"",
+    "app.actionsBar.emojiMenu.confusedLabel": "ច្រឡំ",
+    "app.actionsBar.emojiMenu.confusedDesc": "ប្តូរ​ស្ថានភាព​របស់​អ្នក​ទៅ \"ច្រឡំ\"",
+    "app.actionsBar.emojiMenu.sadLabel": "មិន​សប្បាយ​ចិត្ត",
+    "app.actionsBar.emojiMenu.sadDesc": "ប្តូរ​ស្ថានភាព​របស់​អ្នក​ទៅ​ \"មិន​សប្បាយ​ចិត្ត\"",
+    "app.actionsBar.emojiMenu.happyLabel": "សប្បាយចិត្ត",
+    "app.actionsBar.emojiMenu.happyDesc": "ប្តូរ​ស្ថានភាព​របស់​អ្នក​ទៅ​ \"សប្បាយចិត្ត\"",
+    "app.actionsBar.emojiMenu.clearLabel": "លុបចេញ",
+    "app.actionsBar.emojiMenu.clearDesc": "លុប​ស្ថានភាព​របស់​អ្នក",
+    "app.actionsBar.emojiMenu.applauseLabel": "ទះដៃ",
+    "app.actionsBar.emojiMenu.applauseDesc": "ប្តូរ​ស្ថានភាព​របស់​អ្នក​ទៅ \"ទះដៃ\"",
+    "app.actionsBar.emojiMenu.thumbsupLabel": "មេដៃ​ឡើង",
+    "app.actionsBar.emojiMenu.thumbsupDesc": "ប្តូរ​ស្ថានភាព​របស់​អ្នក​ទៅ \"មេដៃ​ឡើង\"",
+    "app.actionsBar.emojiMenu.thumbsdownLabel": "មេ​ដៃ​ចុះ",
+    "app.actionsBar.emojiMenu.thumbsdownDesc": "ប្តូរ​ស្ថានភាព​របស់​អ្នក​ទៅ \"មេ​ដៃ​ចុះ\"",
+    "app.actionsBar.currentStatusDesc": "ស្ថានភាព​បច្ចុប្បន្ន {0}",
+    "app.audioNotification.audioFailedMessage": "ការ​តភ្ជាប់​សម្លេង​របស់​អ្នក​មិន​បាន​ជោគជ័យ",
+    "app.audioNotification.mediaFailedMessage": "getUserMicMedia មិន​បាន​ជោគជ័យ។ មាន​តែ​ប្រភព​ដើម​ដែល​មាន​សុវត្ថិភាព​ទេ​ទើប​ត្រូវ​បាន​អនុញ្ញាត។",
+    "app.audioNotification.closeLabel": "បិទ",
+    "app.breakoutJoinConfirmation.title": "ចូល​រួម​បន្ទប់​ពិភាក្សា",
+    "app.breakoutJoinConfirmation.message": "តើ​អ្នក​ចង់​ចូល​រួម",
+    "app.breakoutJoinConfirmation.confirmLabel": "ចូលរួម",
+    "app.breakoutJoinConfirmation.confirmDesc": "ដាក់​អ្នក​ទៅ​ក្នុង​បន្ទប់​ពិភាក្សា",
+    "app.breakoutJoinConfirmation.dismissLabel": "បោះបង់",
+    "app.breakoutJoinConfirmation.dismissDesc": "បិទ និង​បដិសេធ​ការ​ចូលរួម​ក្នុង​បន្ទប់​ពិភាក្សា",
+    "app.breakoutTimeRemainingMessage": "រយៈពេល​នៅ​សល់​ក្នុង​បន្ទប់​ពិភាក្សា៖ {0}",
+    "app.breakoutWillCloseMessage": "អស់​ពេល! បន្ទប់​ពិភាក្សា​នឹង​បិទ​នៅ​ពេល​បន្តិច​ទៀត",
+    "app.calculatingBreakoutTimeRemaining": "កំពុង​គណនា​ពេល​នៅ​សល់ ...​",
+    "app.audioModal.microphoneLabel": "មីក្រូហ្វូន",
+    "app.audioModal.listenOnlyLabel": "គ្រាន់តែ​ស្តាប់",
+    "app.audioModal.audioChoiceLabel": "តើ​អ្នក​ចង់​ចូលរួម​ដោយ​ប្រើ​សម្លេង​របៀប​ណា?",
+    "app.audioModal.audioChoiceDescription": "ជ្រើសរើស​របៀប​ចូលរួម​សម្លេង​ក្នុង​ការ​ប្រជុំ​នេះ",
+    "app.audioModal.closeLabel": "បិទ",
+    "app.audio.joinAudio": "ចូលរួម​ដោយ​ប្រើ​សម្លេង",
+    "app.audio.leaveAudio": "ចាកចេញ​ពី​ការ​សម្លេង",
+    "app.audio.enterSessionLabel": "ចូល​វគ្គ",
+    "app.audio.playSoundLabel": "លេង​សម្លេង",
+    "app.audio.backLabel": "ត្រឡប់",
+    "app.audio.audioSettings.titleLabel": "ជ្រើសរើស​ការ​កំណត់​សម្លេង​របស់​អ្នក",
+    "app.audio.audioSettings.descriptionLabel": "សូម​កត់​សំគាល់​ថា​ផ្ទាំង​មួយ​នឹង​លេច​ឡើង​ក្នុង​កម្មវិធី​រុករក​របស់​អ្នក​ដែល​ទាមទារ​ឲ្យ​អ្នក​យល់ព្រម​ក្នុង​ការ​ចែក​រំលែក​មីក្រូហ្វូន​របស់​អ្នក។",
+    "app.audio.audioSettings.microphoneSourceLabel": "ប្រភព​មីក្រូហ្វូន",
+    "app.audio.audioSettings.speakerSourceLabel": "ប្រភព​ឧបករណ៍​បញ្ចេញ​សម្លេង",
+    "app.audio.audioSettings.microphoneStreamLabel": "កម្រិត​សម្លេង",
+    "app.audio.listenOnly.backLabel": "ត្រឡប់",
+    "app.audio.listenOnly.closeLabel": "បិទ",
+    "app.error.kicked": "អ្នក​ត្រូវ​បាន​ដក​ចេញ​ពី​ការ​ប្រជុំ",
+    "app.error.meeting.ended": "You have logged out of the conference",
+    "app.dropdown.close": "បិទ",
+    "app.error.500": "អុញ! មាន​បញ្ហា​អ្វី​មួយ​ហើយ",
+    "app.error.404": "រក​មិន​ឃើញ",
+    "app.error.401": "មិន​អនុញ្ញាត",
+    "app.error.403": "ត្រូវ​បាន​ហាម​ឃាត់",
+    "app.error.leaveLabel": "ចូល​ម្តង​ទៀត"
+}
+
diff --git a/bigbluebutton-html5/private/locales/pt_BR.json b/bigbluebutton-html5/private/locales/pt_BR.json
old mode 100755
new mode 100644
index 977ecac483925f8d12edb9be9891b470d91fd1bd..5012281b494ede5706ef6c06f09445d52bc94c43
--- a/bigbluebutton-html5/private/locales/pt_BR.json
+++ b/bigbluebutton-html5/private/locales/pt_BR.json
@@ -1,97 +1,16 @@
 {
-  "app.home.greeting": "Bem-vindo {0}! Sua aprensentação começará em breve...",
-  "app.userlist.usersTitle": "Users",
-  "app.userlist.participantsTitle": "Participantes",
-  "app.userlist.messagesTitle": "Mensagens",
-  "app.userlist.presenter": "Apresentador",
-  "app.userlist.you": "Você",
-  "app.chat.submitLabel": "Enviar Mensagem",
-  "app.chat.inputLabel": "Campo de mensagem para conversa {0}",
-  "app.chat.inputPlaceholder": "Message {0}",
-  "app.chat.titlePublic": "Conversa Publíca",
-  "app.chat.titlePrivate": "Conversa Privada com {0}",
-  "app.chat.partnerDisconnected": "{0} saiu da sala",
-  "app.chat.moreMessages": "Mais mensagens abaixo",
-  "app.kickMessage": "Você foi expulso da apresentação",
-  "app.whiteboard.slideControls.prevSlideLabel": "Slide Anterior",
-  "app.whiteboard.slideControls.prevSlideDescrip": "Change the presentation to the previous slide",
-  "app.whiteboard.slideControls.nextSlideLabel": "Próximo Slide",
-  "app.whiteboard.slideControls.nextSlideDescrip": "Change the presentation to the next slide",
-  "app.whiteboard.slideControls.skipSlideLabel": "Pular Slide",
-  "app.whiteboard.slideControls.skipSlideDescrip": "Change the presentation to a specific slide",
-  "app.whiteboard.slideControls.fitWidthLabel": "Ajustar a largura",
-  "app.whiteboard.slideControls.fitWidthDescrip": "Display the whole width of the slide",
-  "app.whiteboard.slideControls.fitScreenLabel": "Ajustar a página",
-  "app.whiteboard.slideControls.fitScreenDescrip": "Display the whole slide",
-  "app.whiteboard.slideControls.zoomLabel": "Zoom",
-  "app.whiteboard.slideControls.zoomDescrip": "Change the zoom level of the presentation",
-  "app.failedMessage": "Desculpas, estamos com problemas para se conectar ao servidor.",
-  "app.connectingMessage": "Conectando...",
-  "app.waitingMessage": "Desconectado. Tentando reconectar em {0} segundos...",
-  "app.navBar.settingsDropdown.optionsLabel": "Options",
-  "app.navBar.settingsDropdown.fullscreenLabel": "Make fullscreen",
-  "app.navBar.settingsDropdown.settingsLabel": "Open settings",
-  "app.navBar.settingsDropdown.aboutLabel": "About",
-  "app.navBar.settingsDropdown.leaveSessionLabel": "Logout",
-  "app.navBar.settingsDropdown.fullscreenDesc": "Make the settings menu fullscreen",
-  "app.navBar.settingsDropdown.settingsDesc": "Change the general settings",
-  "app.navBar.settingsDropdown.aboutDesc": "Show information about the client",
-  "app.navBar.settingsDropdown.leaveSessionDesc": "Leave the meeting",
-  "app.leaveConfirmation.title": "Leave Session",
-  "app.leaveConfirmation.message": "Do you want to leave this meeting?",
-  "app.leaveConfirmation.confirmLabel": "Leave",
-  "app.leaveConfirmation.confirmDesc": "Logs you out of the meeting",
-  "app.leaveConfirmation.dismissLabel": "Cancel",
-  "app.leaveConfirmation.dismissDesc": "Closes and rejects the leave confirmation",
-  "app.about.title": "About",
-  "app.about.version": "Client Build:",
-  "app.about.copyright": "Copyright:",
-  "app.about.confirmLabel": "OK",
-  "app.about.confirmDesc": "OK",
-  "app.about.dismissLabel": "Cancel",
-  "app.about.dismissDesc": "Close about client information",
-  "app.actionsBar.muteLabel": "Mute",
-  "app.actionsBar.camOffLabel": "Cam Off",
-  "app.actionsBar.raiseLabel": "Raise",
-  "app.actionsBar.actionsDropdown.actionsLabel": "Actions",
-  "app.actionsBar.actionsDropdown.presentationLabel": "Upload a presentation",
-  "app.actionsBar.actionsDropdown.initPollLabel": "Initiate a poll",
-  "app.actionsBar.actionsDropdown.desktopShareLabel": "Share your screen",
-  "app.actionsBar.actionsDropdown.presentationDesc": "Upload your presentation",
-  "app.actionsBar.actionsDropdown.initPollDesc": "Initiate a poll",
-  "app.actionsBar.actionsDropdown.desktopShareDesc": "Share your screen with others",
-  "app.actionsBar.emojiMenu.statusTriggerLabel": "Status",
-  "app.actionsBar.emojiMenu.awayLabel": "Away",
-  "app.actionsBar.emojiMenu.awayDesc": "Change your status to away",
-  "app.actionsBar.emojiMenu.raiseLabel": "Raise",
-  "app.actionsBar.emojiMenu.raiseDesc": "Raise your hand to ask a question",
-  "app.actionsBar.emojiMenu.undecidedLabel": "Undecided",
-  "app.actionsBar.emojiMenu.undecidedDesc": "Change your status to undecided",
-  "app.actionsBar.emojiMenu.confusedLabel": "Confused",
-  "app.actionsBar.emojiMenu.confusedDesc": "Change your status to confused",
-  "app.actionsBar.emojiMenu.sadLabel": "Sad",
-  "app.actionsBar.emojiMenu.sadDesc": "Change your status to sad",
-  "app.actionsBar.emojiMenu.happyLabel": "Happy",
-  "app.actionsBar.emojiMenu.happyDesc": "Change your status to happy",
-  "app.actionsBar.emojiMenu.clearLabel": "Clear",
-  "app.actionsBar.emojiMenu.clearDesc": "Clear your status",
-  "app.actionsBar.emojiMenu.applauseLabel": "Applaud",
-  "app.actionsBar.emojiMenu.applauseDesc": "Change your status to applause",
-  "app.actionsBar.emojiMenu.thumbsupLabel": "Thumbs up",
-  "app.actionsBar.emojiMenu.thumbsupDesc": "Change your status to thumbs up",
-  "app.actionsBar.emojiMenu.thumbsdownLabel": "Thumbs down",
-  "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.breakoutJoinConfirmation.title": "Join Breakout Room",
-  "app.breakoutJoinConfirmation.message": "Do you want to join",
-  "app.breakoutJoinConfirmation.confirmLabel": "Join",
-  "app.breakoutJoinConfirmation.confirmDesc": "Join you to the Breakout Room",
-  "app.breakoutJoinConfirmation.dismissLabel": "Cancel",
-  "app.breakoutJoinConfirmation.dismissDesc": "Closes and rejects Joining the Breakout Room",
-  "app.breakoutTimeRemainingMessage": "Breakout Room time remaining: {0}",
-  "app.breakoutWillCloseMessage": "Time ended. Breakout Room will close soon",
-  "app.calculatingBreakoutTimeRemaining": "Calculating remaining time...",
-  "app.audioModal.microphoneLabel": "Microphone",
-  "app.audioModal.listenOnlyLabel": "Listen Only"
+    "app.home.greeting": "Bem-vindo {0}! Sua aprensentação começará em breve...",
+    "app.userlist.messagesTitle": "Mensagens",
+    "app.userlist.presenter": "Apresentador",
+    "app.userlist.you": "Você",
+    "app.chat.submitLabel": "Enviar Mensagem",
+    "app.chat.inputLabel": "Campo de mensagem para conversa {0}",
+    "app.chat.titlePublic": "Conversa Publíca",
+    "app.chat.titlePrivate": "Conversa Privada com {0}",
+    "app.chat.partnerDisconnected": "{0} saiu da sala",
+    "app.chat.moreMessages": "Mais mensagens abaixo",
+    "app.failedMessage": "Desculpas, estamos com problemas para se conectar ao servidor.",
+    "app.connectingMessage": "Conectando...",
+    "app.waitingMessage": "Desconectado. Tentando reconectar em {0} segundos..."
 }
+
diff --git a/bigbluebutton-html5/private/locales/ru_RU.json b/bigbluebutton-html5/private/locales/ru_RU.json
new file mode 100644
index 0000000000000000000000000000000000000000..7435b44374bf98ad4758ea6284b4906fcab56b4b
--- /dev/null
+++ b/bigbluebutton-html5/private/locales/ru_RU.json
@@ -0,0 +1,114 @@
+{
+    "app.home.greeting": "Добро пожаловать {0}! Ваша презентация начнётся в ближайшее время... ",
+    "app.userlist.usersTitle": "Пользователи",
+    "app.userlist.participantsTitle": "Участники",
+    "app.userlist.messagesTitle": "Сообщения",
+    "app.userlist.presenter": "Ведущий",
+    "app.userlist.you": "Ð’Ñ‹",
+    "app.userlist.locked": "Блокирован",
+    "app.userlist.Label": "Список пользователей",
+    "app.chat.submitLabel": "Отправить сообщение",
+    "app.chat.inputLabel": "Поле ввода сообщения для {0}",
+    "app.chat.inputPlaceholder": "Сообщение {0}",
+    "app.chat.titlePublic": "Общий чат",
+    "app.chat.titlePrivate": "Приватный чат с {0}",
+    "app.chat.partnerDisconnected": "{0} покинул конференцию",
+    "app.chat.closeChatLabel": "Закрыть {0}",
+    "app.chat.hideChatLabel": "Спрятать {0}",
+    "app.chat.moreMessages": "Больше сообщений ниже",
+    "app.userlist.menuTitleContext": "Доступные опции",
+    "app.userlist.chatlistitem.unreadSingular": "{0} Новое сообщение",
+    "app.userlist.chatlistitem.unreadPlural": "{0} Новых сообщений",
+    "app.userlist.menu.chat.label": "Чат",
+    "app.userlist.menu.clearStatus.label": "Очистить статус",
+    "app.userlist.menu.makePresenter.label": "Сделать ведущим",
+    "app.userlist.menu.kickUser.label": "Исключить участника",
+    "app.userlist.menu.muteUserAudio.label": "Выключить микрофон у участника",
+    "app.userlist.menu.unmuteUserAudio.label": "Включить микрофон у участника",
+    "app.userlist.userAriaLabel": "user : {0}  role: {1}  person: {2}  status: {3}",
+    "app.chat.Label": "Чат",
+    "app.presentation.presentationToolbar.prevSlideLabel": "Предыдущий слайд",
+    "app.presentation.presentationToolbar.prevSlideDescrip": "Перейти к предыдущему слайду",
+    "app.presentation.presentationToolbar.nextSlideLabel": "Следующий слайд",
+    "app.presentation.presentationToolbar.nextSlideDescrip": "Перейти к следующему слайду",
+    "app.presentation.presentationToolbar.skipSlideLabel": "Пропустить слайд",
+    "app.presentation.presentationToolbar.skipSlideDescrip": "Перейти к определенному слайду",
+    "app.presentation.presentationToolbar.zoomDescrip": "Изменить масштабирование презентации",
+    "app.failedMessage": "Apologies, trouble connecting to the server.",
+    "app.connectingMessage": "Подключение...",
+    "app.waitingMessage": "Соединение потеряно. Попытка переподключения через {0} секунд...",
+    "app.navBar.settingsDropdown.optionsLabel": "Опции",
+    "app.navBar.settingsDropdown.fullscreenLabel": "Перейти в полноэкранный режим",
+    "app.navBar.settingsDropdown.settingsLabel": "Открыть настройки",
+    "app.navBar.settingsDropdown.aboutLabel": "О программе",
+    "app.navBar.settingsDropdown.leaveSessionLabel": "Выход",
+    "app.navBar.settingsDropdown.leaveSessionDesc": "Покинуть конференцию",
+    "app.leaveConfirmation.message": "Вы действительно хотите покинуть эту конференцию?",
+    "app.leaveConfirmation.dismissLabel": "Отмена",
+    "app.about.title": "О программе",
+    "app.about.dismissLabel": "Отмена",
+    "app.actionsBar.changeStatusLabel": "Изменить статус",
+    "app.actionsBar.muteLabel": "Выключить микрофон",
+    "app.actionsBar.unmuteLabel": "Включить микрофон",
+    "app.actionsBar.camOffLabel": "Выключить камеру",
+    "app.submenu.application.audioNotifyLabel": "Звуковые уведомления чата",
+    "app.submenu.application.pushNotifyLabel": "Пуш уведомления чата",
+    "app.submenu.application.fontSizeControlLabel": "Размер шрифта",
+    "app.submenu.application.languageOptionLabel": "Выберите язык",
+    "app.submenu.video.title": "Видео",
+    "app.submenu.video.videoQualityLabel": "Качество видео",
+    "app.submenu.video.qualityOptionLabel": "Выберите качество видео",
+    "app.submenu.closedCaptions.closedCaptionsLabel": "Субтитры",
+    "app.submenu.closedCaptions.takeOwnershipLabel": "Перехватить",
+    "app.submenu.closedCaptions.languageLabel": "Язык",
+    "app.submenu.closedCaptions.localeOptionLabel": "Выберите язык",
+    "app.submenu.closedCaptions.fontFamilyLabel": "Шрифт",
+    "app.submenu.closedCaptions.fontFamilyOptionLabel": "Выберите шрифт",
+    "app.submenu.closedCaptions.fontSizeLabel": "Размер шрифта",
+    "app.submenu.closedCaptions.fontSizeOptionLabel": "Выберите размер шрифта",
+    "app.submenu.closedCaptions.fontColorLabel": "Цвет шрифта",
+    "app.submenu.participants.muteAllLabel": "Выключить микрофоны у всех кроме ведущего",
+    "app.submenu.participants.lockAllLabel": "Блокировать всех участников",
+    "app.submenu.participants.lockItemLabel": "Participants {0}",
+    "app.submenu.participants.lockMicDesc": "Отключает микрофон у всех блокированных участников",
+    "app.submenu.participants.lockCamDesc": "Отключает веб-камеру у всех блокированных участников",
+    "app.submenu.participants.lockPublicChatDesc": "Отключает общий чат для всех блокированных участников",
+    "app.submenu.participants.lockPrivateChatDesc": "Отключает приватный чат для всех блокированных участников",
+    "app.submenu.participants.lockMicLabel": "Микрофон",
+    "app.submenu.participants.lockCamLabel": "Веб-камера",
+    "app.submenu.participants.lockPublicChatLabel": "Общий чат",
+    "app.submenu.participants.lockPrivateChatLabel": "Приватный чат",
+    "app.settings.audioTab.label": "Аудио",
+    "app.settings.videoTab.label": "Видео",
+    "app.settings.closedcaptionTab.label": "Субтитры",
+    "app.settings.usersTab.label": "Участники",
+    "app.settings.main.label": "Настройки",
+    "app.settings.main.cancel.label": "Отмена",
+    "app.settings.main.cancel.label.description": "Сбрасывает изменения и закрывает меню настроек",
+    "app.settings.main.save.label": "Сохранить",
+    "app.settings.main.save.label.description": "Сохраняет изменения и закрывает меню настроек",
+    "app.actionsBar.actionsDropdown.presentationLabel": "Загрузить презентацию",
+    "app.actionsBar.actionsDropdown.initPollLabel": "Начать опрос",
+    "app.actionsBar.actionsDropdown.presentationDesc": "Загрузите вашу презентацию",
+    "app.actionsBar.emojiMenu.statusTriggerLabel": "Статус",
+    "app.actionsBar.emojiMenu.clearLabel": "Сброс",
+    "app.actionsBar.emojiMenu.clearDesc": "Очистить статус",
+    "app.actionsBar.emojiMenu.applauseLabel": "Апплодисменты",
+    "app.audioNotification.closeLabel": "Закрыть",
+    "app.breakoutJoinConfirmation.title": "Присоединиться к комнате групповой работы",
+    "app.breakoutJoinConfirmation.confirmLabel": "Присоединиться",
+    "app.breakoutJoinConfirmation.confirmDesc": "Join you to the Breakout Room",
+    "app.breakoutJoinConfirmation.dismissLabel": "Отмена",
+    "app.breakoutWillCloseMessage": "Время вышло. Комната групповой работы скоро закроется.",
+    "app.calculatingBreakoutTimeRemaining": "Подсчёт оставшегося времени...",
+    "app.audioModal.microphoneLabel": "Микрофон",
+    "app.audioModal.audioChoiceDescription": "Выберите как подключиться к аудио в этой конференции",
+    "app.audioModal.closeLabel": "Закрыть",
+    "app.audio.backLabel": "Назад",
+    "app.audio.listenOnly.backLabel": "Назад",
+    "app.audio.listenOnly.closeLabel": "Закрыть",
+    "app.error.kicked": "Вас исключили из конференции",
+    "app.dropdown.close": "Закрыть",
+    "app.error.500": "Упс что-то пошло не так",
+}
+
diff --git a/bigbluebutton-html5/private/locales/uk_UA.json b/bigbluebutton-html5/private/locales/uk_UA.json
new file mode 100644
index 0000000000000000000000000000000000000000..729a58cbc8670a1a9a666d4904b4f91dec4bb013
--- /dev/null
+++ b/bigbluebutton-html5/private/locales/uk_UA.json
@@ -0,0 +1,52 @@
+{
+    "app.home.greeting": "Ласкаво просимо {0}! Ваша презентація почнеться найближчим часом... ",
+    "app.userlist.usersTitle": "Користувачі",
+    "app.userlist.participantsTitle": "Учасники",
+    "app.userlist.messagesTitle": "Повідомлення",
+    "app.userlist.presenter": "Ведучий",
+    "app.userlist.you": "Ви",
+    "app.userlist.locked": "Блокований",
+    "app.userlist.Label": "Лист учасників",
+    "app.chat.submitLabel": "Надіслати повідомлення",
+    "app.chat.inputLabel": "Message input for chat {0}",
+    "app.chat.inputPlaceholder": "Повідомлення {0}",
+    "app.chat.titlePublic": "Загальний чат",
+    "app.chat.titlePrivate": "Приватний чат з {0}",
+    "app.chat.partnerDisconnected": "{0} покинув конференцію",
+    "app.chat.closeChatLabel": "Закрити {0}",
+    "app.chat.hideChatLabel": "Приховати {0}",
+    "app.userlist.chatlistitem.unreadSingular": "{0} Нове повідомлення",
+    "app.userlist.chatlistitem.unreadPlural": "{0} Нових повідомленнь",
+    "app.userlist.menu.chat.label": "Чат",
+    "app.userlist.menu.clearStatus.label": "Очистити статус",
+    "app.userlist.menu.makePresenter.label": "Зробити ведучим",
+    "app.userlist.menu.kickUser.label": "Виключити юзера",
+    "app.userlist.menu.muteUserAudio.label": "Вимкнути мікрофон користувача",
+    "app.userlist.menu.unmuteUserAudio.label": "Увімкнути мікрофон користувача",
+    "app.chat.Label": "Чат",
+    "app.presentation.presentationToolbar.prevSlideLabel": "Попередній слайд",
+    "app.presentation.presentationToolbar.nextSlideLabel": "Наступний слайд",
+    "app.presentation.presentationToolbar.zoomLabel": "Масштаб презентації",
+    "app.presentation.presentationToolbar.zoomDescrip": "Змінити масштаб презентації",
+    "app.connectingMessage": "З'єднання...",
+    "app.navBar.settingsDropdown.optionsLabel": "Опції",
+    "app.navBar.settingsDropdown.settingsLabel": "Відкрити настройки",
+    "app.navBar.settingsDropdown.aboutLabel": "Про програму",
+    "app.navBar.settingsDropdown.leaveSessionLabel": "Вихід",
+    "app.navBar.settingsDropdown.settingsDesc": "Змінити загальні настройки",
+    "app.navBar.settingsDropdown.aboutDesc": "Show information about the client",
+    "app.navBar.settingsDropdown.leaveSessionDesc": "Залишити конференцію",
+    "app.leaveConfirmation.title": "Залишити сесію",
+    "app.leaveConfirmation.message": "Ви впевнені, що хочете залишити цю конференцію?",
+    "app.leaveConfirmation.confirmLabel": "Вихід",
+    "app.leaveConfirmation.dismissLabel": "Відміна",
+    "app.about.title": "Про програму",
+    "app.about.copyright": "Авторське право:",
+    "app.about.dismissLabel": "Відміна",
+    "app.actionsBar.changeStatusLabel": "Змінити статус",
+    "app.actionsBar.muteLabel": "Вимкнути мікрофон",
+    "app.actionsBar.unmuteLabel": "Увімкнути мікрофон",
+    "app.actionsBar.camOffLabel": "Вимкнути камеру",
+    "app.error.kicked": "Ви були виключени з конференції"
+}
+
diff --git a/bigbluebutton-html5/transifex.sh b/bigbluebutton-html5/transifex.sh
new file mode 100755
index 0000000000000000000000000000000000000000..1c003dedb885ac56cc6fac29b959bd2f0e20d587
--- /dev/null
+++ b/bigbluebutton-html5/transifex.sh
@@ -0,0 +1,59 @@
+#!/bin/bash
+
+#colors
+RED='\033[0;31m'
+GREEN='\033[1;32m'
+NC='\033[0m'
+
+if [ "$#" = 0 ]
+then
+ 	echo -e "${RED}ERR${NC}: Usage = ${GREEN}./transifex pt_BR de  ${NC}or  ${GREEN}./transifex all${NC}"
+else
+	read -p "Enter Transifex Username: " USER
+	read -p "password: " -s PW 
+	echo -e "\n----------------------------------\nchecking project info\n----------------------------------"
+	PROJECT_INFO=$( curl -L --user "$USER":"$PW" -X GET https://www.transifex.com/api/2/project/bigbluebutton-html5/languages/ )
+
+	if [ "$PROJECT_INFO" == "Authorization Required" ]
+	then
+        	echo -e "${RED}Err${NC} : $PROJECT_INFO"
+	else
+        	echo -e "Project Information Found :${GREEN} ✓${NC}"
+        	if [ "$PROJECT_INFO" == "Forbidden" ]
+        	then
+                	echo -e "${RED}Err${NC}: Invalid User Permissions"
+        	else
+			for ARG in "$@"
+			do
+        			if [ "$ARG" == "all"  ]
+        			then
+                			AVAILABLE_TRANSLATIONS=$( echo "$PROJECT_INFO" | grep 'language_code' | cut -d':' -f2 | tr -d '[",]' )
+
+                			echo "$AVAILABLE_TRANSLATIONS" | while read l
+                			do
+                        			LOCALE=$( echo "$l" | tr -d '[:space:]' )
+                        			TRANSLATION=$(curl -L --user "$USER":"$PW" -X GET "https://www.transifex.com/api/2/project/bigbluebutton-html5/resource/enjson/translation/$LOCALE/?mode=onlytranslated&file")
+                        			NO_EMPTY_STRINGS=$(echo "$TRANSLATION" | sed '/: \"\"/D' | sed '/}$/D')
+                        			NO_TRAILING_COMMA=$(echo "$NO_EMPTY_STRINGS" | sed  '$ s/,$//')
+                        			echo -e "$NO_TRAILING_COMMA\n}\n" > ./private/locales/"$LOCALE".json
+						echo -e "Added translation file $LOCALE.json : ${GREEN}✓${NC}"
+                			done
+        			else
+                			TRANSLATION=$(curl -L --user "$USER":"$PW" -X GET "https://www.transifex.com/api/2/project/bigbluebutton-html5/resource/enjson/translation/$ARG/?mode=onlytranslated&file")
+                			if [ "$TRANSLATION" == "Not Found" ]
+                			then
+                        			echo -e "${RED}Err${NC}: Translations not found for locale ->${RED}$ARG${NC}<-"
+                			else
+                        			NO_EMPTY_STRINGS=$(echo "$TRANSLATION" | sed '/: \"\"/D' | sed '/}$/D')
+                        			NO_TRAILING_COMMA=$(echo "$NO_EMPTY_STRINGS" | sed  '$ s/,//')
+                        			echo -e "$NO_TRAILING_COMMA\n}\n" > ./private/locales/"$ARG".json
+						echo -e "Added translation file $ARG.json :${GREEN} ✓${NC}"
+                			fi
+        			fi
+			done
+		
+        	fi
+
+	fi
+
+fi