Skip to content
Snippets Groups Projects
Commit 84bc11aa authored by deniszgonjanin's avatar deniszgonjanin
Browse files

Fixed some issues with the Chat Translation

parent 89ec87d6
No related branches found
No related tags found
No related merge requests found
......@@ -6,7 +6,6 @@ package org.bigbluebutton.modules.chat.events
{
public static const PUBLIC_CHAT_MESSAGE_EVENT:String = 'PUBLIC_CHAT_MESSAGE_EVENT';
public var message:String;
public var transcript:Boolean = false;
public function PublicChatMessageEvent(type:String, bubbles:Boolean=true, cancelable:Boolean=false)
{
......
......@@ -114,11 +114,10 @@ package org.bigbluebutton.modules.chat.services
/**
* Called by the server to deliver a new chat message.
*/
public function newChatMessage(message:String, transcript:Boolean = false):void{
public function newChatMessage(message:String):void{
trace("Received New Chat Message " + message);
var event:PublicChatMessageEvent = new PublicChatMessageEvent(PublicChatMessageEvent.PUBLIC_CHAT_MESSAGE_EVENT);
event.message = message;
event.transcript = transcript;
var globalDispatcher:Dispatcher = new Dispatcher();
globalDispatcher.dispatchEvent(event);
......@@ -159,7 +158,7 @@ package org.bigbluebutton.modules.chat.services
var messages:Array = result as Array;
for (var i:int=0; i<messages.length; i++){
newChatMessage(messages[i] as String, true);
newChatMessage(messages[i] as String);
}
sendTranscriptLoadedEvent();
......
......@@ -41,14 +41,13 @@
msg = new Object();
msg.lastSenderName = lastSenderName;
lastSenderName = components[1];
msg.senderLanguage = components[4].toString();
msg.recepientLanguage = language.toString();
msg.translate = translate;
if (translate && (language != null) && (components[4] != null)){
translateMessage(components[0].toString(), components[4].toString(), language.toString());
msg.senderText = components[0];
} else{
msg.text = components[0];
msg.senderText = components[0];
}
msg.text = components[0];
msg.senderText = components[0];
msg.name = components[1];
msg.color = uint(components[2]);
......@@ -64,17 +63,6 @@
chatMessagesList.invalidateDisplayList();
}
private function translateMessage(text:String, fromLang:String, toLang:String):void{
var g:GoogleTranslation = new GoogleTranslation();
g.addEventListener(GoogleApiEvent.TRANSLATION_RESULT, onTranslationDone);
g.translate(text, fromLang, toLang);
}
private function onTranslationDone(e:GoogleApiEvent):void{
messages.getItemAt(messages.length - 1).text = (e.data as GoogleTranslationResult).result;
chatMessagesList.invalidateList();
}
public static function getMinutes():String{
var time:Date = new Date();
var minutes:String;
......
......@@ -5,7 +5,12 @@
<mx:Script>
<![CDATA[
import be.boulevart.google.ajaxapi.translation.GoogleTranslation;
import be.boulevart.google.ajaxapi.translation.data.GoogleTranslationResult;
import be.boulevart.google.events.GoogleApiEvent;
import mx.binding.utils.ChangeWatcher;
import mx.controls.Alert;
[Bindable] private var rolledOver:Boolean = false;
private var dataWatcher:ChangeWatcher;
......@@ -31,6 +36,8 @@
[Bindable] private var text:String;
[Bindable] private var color:String;
private var translated:Boolean = false;
private function onLinkClick(e:TextEvent):void{
var url:URLRequest = new URLRequest(e.text);
navigateToURL(url, '_blank');
......@@ -48,9 +55,14 @@
senderTime = data.senderTime;
time = data.time;
lastTime = data.lastTime;
senderText = data.senderText;
text = data.text;
senderText = data.senderText;
color = data.color;
if (data.translate && !translated && (data.senderLanguage != data.recepientLanguage)){
translateMessage(text, data.senderLanguage, data.recepientLanguage);
translated = true;
}
}
private function onRollOver():void{
......@@ -63,6 +75,18 @@
//txtMessage.htmlText = data.text;
}
private function translateMessage(text:String, fromLang:String, toLang:String):void{
var g:GoogleTranslation = new GoogleTranslation();
g.addEventListener(GoogleApiEvent.TRANSLATION_RESULT, onTranslationDone);
g.translate(text, fromLang, toLang);
}
private function onTranslationDone(e:GoogleApiEvent):void{
data.text = (e.data as GoogleTranslationResult).result;
dataChangeHandler();
//chatMessagesList.invalidateList();
}
]]>
</mx:Script>
......
......@@ -349,7 +349,7 @@
private function handlePublicChatMessageEvent(event:PublicChatMessageEvent):void {
LogUtil.debug("Got PublicChatMessageEvent");
showMessage(PUBLIC_CHAT_USERID, event.message, event.transcript);
showMessage(PUBLIC_CHAT_USERID, event.message);
if (!this.focus)
ExternalInterface.call("startblink", ResourceUtil.getInstance().getString('bbb.chat.publicMsgAwaiting'), ResourceUtil.getInstance().getString('bbb.chat.publicMsgAwaiting2'));
globalDispatcher.dispatchEvent(new BBBEvent(BBBEvent.RECEIVED_PUBLIC_CHAT_MESSAGE_EVENT, event.message));
......@@ -372,18 +372,14 @@
return chatTabs.getChildByName(id) as ChatBox;
}
private function showMessage(sender:String, message:String, transcript:Boolean = false):void{
private function showMessage(sender:String, message:String):void{
var chatBox:ChatBox;
if (! participantHasChatBox(sender)) {
chatBox = createChatBoxFor(sender);
}
var translate:Boolean;
if (!transcript) translate = autoTranslation;
else translate = false;
chatBox = getChatBoxForParticipant(sender);
chatBox.showNewMessage(message, translate, currentLangCode);
chatBox.showNewMessage(message, autoTranslation, currentLangCode);
if (! isChatBoxCurrentlySelected(sender)) {
notifyParticipantOfUnreadMessageFrom(sender);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment