Merge branch 'master' of github.com:bigbluebutton/bigbluebutton

Conflicts:
	bigbluebutton-config/bin/bbb-conf
This commit is contained in:
Fred Dixon 2010-11-03 21:06:17 -04:00
commit b963201509
50 changed files with 320 additions and 499 deletions

View File

@ -150,7 +150,7 @@
<target name="build-deskshare" description="Compile Deskshare Module">
<build-module src="${SRC_DIR}" target="${DESKSHARE}" />
<echo message="Copying deskshare applet for Deskshare Module" />
<copy file="${PROD_RESOURCES_DIR}/bbb-deskshare-applet-0.64.jar" todir="${OUTPUT_DIR}"/>
<copy file="${PROD_RESOURCES_DIR}/bbb-deskshare-applet-0.71.jar" todir="${OUTPUT_DIR}"/>
</target>
<target name="build-phone" description="Compile Phone Module">

View File

@ -53,67 +53,67 @@ var hasProductInstall = DetectFlashVer(6, 0, 65);
var hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
if ( hasProductInstall && !hasRequestedVersion ) {
// DO NOT MODIFY THE FOLLOWING FOUR LINES
// Location visited after installation is complete if installation is required
var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
var MMredirectURL = window.location;
// DO NOT MODIFY THE FOLLOWING FOUR LINES
// Location visited after installation is complete if installation is required
var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
var MMredirectURL = window.location;
document.title = document.title.slice(0, 47) + " - Flash Player Installation";
var MMdoctitle = document.title;
AC_FL_RunContent(
"src", "playerProductInstall",
"FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
"width", "${width}",
"height", "${height}",
"align", "middle",
"id", "${application}",
"quality", "high",
"bgcolor", "${bgcolor}",
"name", "${application}",
"allowScriptAccess","sameDomain",
"type", "application/x-shockwave-flash",
"pluginspage", "http://www.adobe.com/go/getflashplayer"
);
AC_FL_RunContent(
"src", "playerProductInstall",
"FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
"width", "${width}",
"height", "${height}",
"align", "middle",
"id", "${application}",
"quality", "high",
"bgcolor", "${bgcolor}",
"name", "${application}",
"allowScriptAccess","sameDomain",
"type", "application/x-shockwave-flash",
"pluginspage", "http://www.adobe.com/go/getflashplayer"
);
} else if (hasRequestedVersion) {
// if we've detected an acceptable version
// embed the Flash Content SWF when all tests are passed
//
// NOTE: Don't use wmode=transparent because it messes up mouse wheel
// see. http://stackoverflow.com/questions/313966/mousewheel-not-working-when-published-movie-has-wmodetransparent
// ralam (mar 31, 2010)
AC_FL_RunContent(
"src", "${swf}",
"width", "${width}",
"height", "${height}",
"align", "middle",
"id", "${application}",
"quality", "high",
"bgcolor", "${bgcolor}",
"name", "${application}",
"allowScriptAccess","sameDomain",
"type", "application/x-shockwave-flash",
"pluginspage", "http://www.adobe.com/go/getflashplayer"
);
// if we've detected an acceptable version
// embed the Flash Content SWF when all tests are passed
//
// NOTE: Don't use wmode=transparent because it messes up mouse wheel
// see. http://stackoverflow.com/questions/313966/mousewheel-not-working-when-published-movie-has-wmodetransparent
// ralam (mar 31, 2010)
AC_FL_RunContent(
"src", "${swf}",
"width", "${width}",
"height", "${height}",
"align", "middle",
"id", "${application}",
"quality", "high",
"bgcolor", "${bgcolor}",
"name", "${application}",
"allowScriptAccess","sameDomain",
"type", "application/x-shockwave-flash",
"pluginspage", "http://www.adobe.com/go/getflashplayer"
);
} else { // flash is too old or we can't detect the plugin
var alternateContent = 'Alternate HTML content should be placed here. '
+ 'This content requires the Adobe Flash Player. '
+ '<a href=http://www.adobe.com/go/getflash/>Get Flash</a>';
+ 'This content requires the Adobe Flash Player. '
+ '<a href=http://www.adobe.com/go/getflash/>Get Flash</a>';
document.write(alternateContent); // insert non-flash content
}
// -->
function startApplet(IP, roomNumber, fullScreen)
{
var iframe = document.createElement("iframe");
iframe.id = "iframe";
document.body.appendChild(iframe);
frames[frames.length - 1].document.write(
"<applet code=\"org.bigbluebutton.deskshare.client.DeskShareApplet.class\"" +
"id=\"DeskShareApplet\" width=\"0\" height=\"400\" archive=\"bbb-deskshare-applet-0.64.jar\">" +
"<param name=\"ROOM\" value=\"" + roomNumber + "\"/>" +
"<param name=\"IP\" value=\"" + IP + "\"/>" +
"<param name=\"FULL_SCREEN\" value=\"" + fullScreen + "\"/>" +
"</applet>"
var iframe = document.createElement("iframe");
iframe.id = "iframe";
document.body.appendChild(iframe);
frames[frames.length - 1].document.write(
"<applet code=\"org.bigbluebutton.deskshare.client.DeskShareApplet.class\"" +
"id=\"DeskShareApplet\" width=\"0\" height=\"400\" archive=\"bbb-deskshare-applet-0.71.jar\">" +
"<param name=\"ROOM\" value=\"" + roomNumber + "\"/>" +
"<param name=\"IP\" value=\"" + IP + "\"/>" +
"<param name=\"FULL_SCREEN\" value=\"" + fullScreen + "\"/>" +
"</applet>"
);
}
@ -127,13 +127,13 @@ function setScreenCoordinates(x, y) {
}
function stopApplet(){
frames[frames.length - 1].document.DeskShareApplet.destroy();
removeFrame();
frames[frames.length - 1].document.DeskShareApplet.destroy();
removeFrame();
}
function checkForJava(){
// if (navigator.javaEnabled() || window.navigator.javaEnabled())
return 1;
// if (navigator.javaEnabled() || window.navigator.javaEnabled())
return 1;
}
var blinkTimer = false;
@ -141,75 +141,76 @@ var blinking = false;
var startblink = function(message1, message2)
{
if(!blinking)
{
document.title = (document.title == message2)?message1:message2;
blinkTimer = window.setTimeout("blinktitle('" + message1 + "', '" + message2 + "', 1)", 500);
blinking = true;
}
if(!blinking)
{
document.title = (document.title == message2)?message1:message2;
blinkTimer = window.setTimeout("blinktitle('" + message1 + "', '" + message2 + "', 1)", 500);
blinking = true;
}
}
var blinktitle = function(message1, message2)
{
document.title = (document.title == message2)?message1:message2;
blinkTimer = window.setTimeout("blinktitle('" + message1 + "', '" + message2 + "', 1)", 500);
document.title = (document.title == message2)?message1:message2;
blinkTimer = window.setTimeout("blinktitle('" + message1 + "', '" + message2 + "', 1)", 500);
}
var clearblink = function()
{
blinking = false;
if(blinkTimer)
{
window.clearTimeout(blinkTimer);
}
document.title = 'BigBlueButton';
blinking = false;
if(blinkTimer)
{
window.clearTimeout(blinkTimer);
}
document.title = 'BigBlueButton';
}
// Check locale
var localeChain = "en_US";
if (navigator.language)
localeChain = navigator.language;
localeChain = navigator.language;
else if (navigator.browserLanguage)
localeChain = navigator.browserLanguage;
else if (navigator.userLanguage)
localeChain = navigator.userLanguage;
localeChain = navigator.browserLanguage;
if(/^([a-z]+)-([a-z]+)$/i.test(localeChain)){
var matches = /^([a-z]+)-([a-z]+)$/i.exec(localeChain);
localeChain = matches[1].toLowerCase() + "_" + matches[2].toUpperCase();
var matches = /^([a-z]+)-([a-z]+)$/i.exec(localeChain);
localeChain = matches[1].toLowerCase() + "_" + matches[2].toUpperCase();
}
else if(/^en$/i.test(localeChain)){
localeChain = "en_US";
}
else if(/^([a-z]+)$/i.test(localeChain)){
var matches = /^([a-z]+)$/i.exec(localeChain);
localeChain = matches[1].toLowerCase();
var matches = /^([a-z]+)$/i.exec(localeChain);
localeChain = matches[1].toLowerCase() + "_" + matches[1].toUpperCase();
}
else{
localeChain = "en_US";
localeChain = "en_US";
}
function getLanguage(){
return localeChain;
return localeChain;
}
</script>
<noscript>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="${application}" width="${width}" height="${height}"
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
<param name="movie" value="${swf}.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="${bgcolor}" />
<param name="allowScriptAccess" value="sameDomain" />
<embed src="${swf}.swf" quality="high" bgcolor="${bgcolor}"
width="${width}" height="${height}" name="${application}" align="middle"
play="true"
loop="false"
quality="high"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer">
</embed>
</object>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="${application}" width="${width}" height="${height}"
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
<param name="movie" value="${swf}.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="${bgcolor}" />
<param name="allowScriptAccess" value="sameDomain" />
<embed src="${swf}.swf" quality="high" bgcolor="${bgcolor}"
width="${width}" height="${height}" name="${application}" align="middle"
play="true"
loop="false"
quality="high"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer">
</embed>
</object>
</noscript>
</body>
</html>

View File

@ -2,11 +2,11 @@
bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusProgress.connecting = Xahis edirik gozləyin {0} modul yuklənir:
bbb.mainshell.statusProgress.loading = {0}(yuklənib)
bbb.mainshell.statusProgress.cannotConnectServer = Xahis edirik biz serverin test muddəti ərzində gozləyəsiz.
bbb.mainshell.copyrightLabel2 = (c) 2010, Video Konfrans {0} - Daha ətraflə http://www.mina.az/.
bbb.mainshell.copyrightLabel2 = (c) 2010, BigBlueButton build {0} - For more information see http://www.bigbluebutton.org/.
bbb.mainshell.logBtn.toolTip = Loq pəncərəsini aç
bbb.mainshell.fullScreenBtn.toolTip = Pəncərəni bütün ekrana böyüt
bbb.mainshell.resetLayoutBtn.toolTip = Pəncərəni yenilə

View File

@ -1,183 +0,0 @@
# BigBlueButton.mxml
bbb.pageTitle =BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.statusInfo =しばらくお待ちください。{0} モジュールを読み込み中・・・
bbb.mainshell.statusInfo.loaded ={0}読み込み完了
bbb.mainshell.statusInfo.testRTMPConnection =しばらくお待ちください。サーバへのコネクションをテスト中です。
bbb.mainshell.statusInfo2 =ご注意:もし読み込みがストップした場合、ご使用のブラウザのキャッシュを削除した後、再度実行してみてください。
bbb.mainshell.statusProgress.testRTMPConnection =RTMP://{0}:1935/{1}への接続
bbb.mainshell.statusProgress.testRTMPTConnection =RTMP://{0}:80/{1}への接続
bbb.mainshell.statusProgress.loading =読み込み中...
bbb.mainshell.statusProgress.loaded =読み込み中・・・ {0} {1}% が読み込まれました。
bbb.mainshell.statusProgress.cannotConnectServer =申し訳ありません。サーバーに接続できません。
bbb.mainshell.copyrightLabel2 =(c) 2010, BigBlueButton build {0} - 詳細につきましては、http://www.bigbluebutton.org/をご覧ください。
bbb.mainshell.logBtn.toolTip =ログウィンドウを開く
bbb.mainshell.fullScreenBtn.toolTip =フルスクリーンで見る
bbb.mainshell.resetLayoutBtn.toolTip =レイアウトをリセット
# OldLocaleWarnWIndow.mxml
bbb.oldlocalewindow.reminder1=BigBlueButtonの古い言語翻訳を使用しているようです。
bbb.oldlocalewindow.reminder2=ご使用のブラウザのキャッシュを削除した後、再度実行してみてください。
bbb.oldlocalewindow.windowTitle=警告:古い言語翻訳
# LogWindow.mxml
bbb.logwindow.title =ログウィンドウ
bbb.logwindow.highlight =ハイライト:
bbb.logwindow.turnLoggingOff =ログ作業オフ
bbb.logwindow.clearBtn =クリア
bbb.logwindow.refreshBtn =更新
# JoinFailedWindow.mxml
bbb.joinFailedWindow.title =参加に失敗しました
bbb.joinFailedWindow.okBtn =OK
bbb.joinFailedWindow.failedInfo =有効なセッションがありません。[OK]をクリックしてログインしてください。
# MainToolbar.mxml
bbb.mainToolbar.loggedInUserLbl ={1}: ダイヤル: 613-520-7610 85115
bbb.mainToolbar.helpBtn =ヘルプ
bbb.mainToolbar.logoutBtn =ログアウト
bbb.mainToolbar.logoutBtn.toolTip =ログアウト
###### modules ######
# ViewersWindow.mxml
bbb.viewers.title =ユーザー{0} {1}
bbb.viewers.viewersGrid.nameItemRenderer =名前
bbb.viewers.viewersGrid.nameItemRenderer.nameLabel.toolTip =あなたはこのユーザーとしてログインしています。
bbb.viewers.viewersGrid.roleItemRenderer =役割
bbb.viewers.viewersGrid.statusItemRenderer =ステータス
bbb.viewers.viewersGrid.statusItemRenderer.raiseHand.toolTip =挙手件数 {0}
bbb.viewers.viewersGrid.statusItemRenderer.streamIcon.toolTip =クリックして閲覧
bbb.viewers.viewersGrid.statusItemRenderer.presIcon.toolTip =プレゼンター
bbb.viewers.presentBtn.toolTip =Web参加者をプレゼンターとして選択
bbb.viewers.raiseHandBtn.toolTip =クリックして挙手。
bbb.viewers.presentBtn.label =プレゼンターをスイッチ
# Presentation
## PresentationWindow.mxml
bbb.presentation.title =プレゼンテーション
bbb.presentation.uploadPresBtn =プレゼンテーションのドキュメントをアップロード。
bbb.presentation.uploadPresBtn.toolTip =プレゼンテーションのドキュメントをアップロード。
bbb.presentation.backBtn.toolTip =前のスライド。
bbb.presentation.slideNumLbl =
bbb.presentation.forwardBtn.toolTip =次のスライド
bbb.presentation.resetZoomBtn.toolTip =ズームをリセット
bbb.presentation.presenterNameLbl ={0} が、現在プレゼン中。
bbb.presentation.maximizeRestoreBtn.toolTip =このウィンドウを最大化
bbb.presentation.maximizeRestoreBtn.toolTip2 =前のサイズに戻す
bbb.presentation.clickToUpload =ロードプレゼンテーションをアップロード
bbb.presentation.maxUploadFileExceededAlert =エラー:このファイルは許可サイズより大きすぎます。
## PresentationWindowMediator.as
bbb.presentation.presenting ={0} が、現在プレゼン中。
bbb.presentation.pages ={0} / {1}
## FileUploadWindowMediator.as
bbb.presentation.uploadcomplete =アップロードが完了しました。文書を変換し終わるまで、しばらくお待ちください。
bbb.presentation.uploadsuccessful =アップロードに成功
bbb.presentation.uploaded =アップロードされました。
bbb.presentation.document.supported =アップロードしたドキュメントはサポートされています。変換を開始...
bbb.presentation.document.converted =正常にオフィス文書に変換されました。
bbb.presentation.error.document.convert.failed =エラー:オフィス文書への変換に失敗しました。
bbb.presentation.error.io =IOエラー管理者に連絡してください。
bbb.presentation.error.security =セキュリティエラー:管理者に連絡してください。
bbb.presentation.error.convert.format =エラー:アップロードされたファイルが有効な拡張子かどうか、ご確認ください。
bbb.presentation.error.convert.notsupported =エラー:アップロードしたドキュメントはサポートされていません。利用可能なファイルをアップロードしてください。
bbb.presentation.error.convert.soffice =エラー:アップロードしたドキュメントを変換に失敗しました。
bbb.presentation.error.convert.nbpage =エラー:アップロードしたドキュメントのページ数が特定できません。
bbb.presentation.error.convert.maxnbpagereach =エラー:アップロードしたドキュメントのページが多すぎます。
bbb.presentation.error.convert.swf =エラー:アップロードファイルの変換時。管理者にお問い合わせください。
bbb.presentation.error.convert.swfimage =画像ファイルをSWFファイルに変換時にエラー画像が破損していないかどうか、またJPG/PNGフォーマットかどうか、ご確認ください。
bbb.presentation.error.convert.swfpdf =PDFファイルをSWFファイルに変換時にエラーPDFファイルが破損していないかどうか、ご確認ください。
bbb.presentation.error.convert.thumbnail =サムネイル作成時にエラー。管理者にお問い合わせください。
bbb.presentation.converted ={1} 中、{0} スライドを変換しました。
bbb.presentation.extracting =スライドの抽出、{1} 中、{0} スライドを抽出しました。
bbb.presentation.ok =OK
bbb.presentation.uploadwindow.presentationfile =プレゼンテーションファイル
bbb.presentation.uploadwindow.pdf =PDF
bbb.presentation.uploadwindow.word =WORD
bbb.presentation.uploadwindow.excel =エクセル
bbb.presentation.uploadwindow.powerpoint =パワーポイント
bbb.presentation.uploadwindow.image =画像
## FileUploadWindow.mxml
bbb.fileupload.title =プレゼンテーションをアップロード
bbb.fileupload.fileLbl =ファイル:
bbb.fileupload.selectBtn.toolTip =ファイルを閲覧
bbb.fileupload.uploadBtn =アップロード
bbb.fileupload.uploadBtn.toolTip =ファイルをアップロード
bbb.fileupload.presentationNamesLbl =プレゼンテーションのアップロード:
bbb.fileupload.deleteBtn.toolTip =プレゼンテーションを削除
bbb.fileupload.showBtn =表示
bbb.fileupload.showBtn.toolTip =プレゼンテーションを表示
bbb.fileupload.okCancelBtn =キャンセル
bbb.fileupload.progressLbl.uploadSuccessful =アップロードが完了しました。文書を変換し終わるまで、しばらくお待ちください。
bbb.fileupload.progressBar.uploadSuccessful =アップロード成功
bbb.fileupload.progressLbl.uploading ={0}% がアップロードされました。
bbb.fileupload.progressBar.uploading ={0}% がアップロードされました。
bbb.fileupload.progressLbl.converting ={1} 中、{0} スライドを変換しました。
bbb.fileupload.progressBar.converting ={1} 中、{0} スライドを変換しました。
bbb.fileupload.progressLbl.extracting =スライドの抽出、{1} 中、{0} スライドを抽出しました。
bbb.fileupload.progressBar.extracting =スライドの抽出、{1} 中、{0} スライドを抽出しました。
bbb.fileupload.genThumbText =サムネイルの生成..
bbb.fileupload.progBarLbl =進捗:
# ChatWindow.mxml
bbb.chat.title =チャット
bbb.chat.cmpColorPicker.toolTip =テキスト色
bbb.chat.sendBtn =送信
bbb.chat.sendBtn.toolTip =メッセージを送信
bbb.chat.publicChatUsername =すべて
bbb.chat.publicMsgAwaiting =公開メッセージ待機中
bbb.chat.publicMsgAwaiting2 =*公開メッセージ待機中*
bbb.chat.privateMsgAwaiting =プライベートメッセージ待機中
bbb.chat.privateMsgAwaiting2 =*プライベートメッセージ待機中*
bbb.chat.privateChatSelect =プライベートにチャットする個人を選択
bbb.chat.chatOptions =チャットオプション
bbb.chat.fontSize =フォントサイズ
# ListenersWindow.mxml
bbb.listeners.title =リスナー{0} {1}
bbb.listeners.muteAllBtn.toolTip =ミュートすべて
bbb.listeners.unmuteAllBtn.toolTip =ミュート解除すべて
bbb.listeners.ejectBtn.toolTip =締め出す音声参加者を選択。
bbb.listeners.ejectTooltip =クリックしてユーザを締め出す。
# ListenerItem.mxml
bbb.listenerItem.nameLbl.toolTip =このユーザーを選択し、クリックしてミュートあるいは、ミュート解除。
bbb.listenerItem.talkImg.toolTip =会話中
bbb.listenerItem.lockImg.toolTip =クリックしてミュートまたはミュート解除を維持
bbb.listenerItem.muteUnmute.toolTip =このリスナーをミュートまたはミュート解除
# PublishWindow.mxml
bbb.publishVideo.title =ウェブカメラをストリーム
bbb.publishVideo.startPublishBtn.toolTip =ストリーミングを開始
# DesktopPublishWindow.mxml
bbb.desktopPublish.title =デスクトップの共有:プレゼンタのプレビュー
bbb.desktopView.title =デスクトップの共有
bbb.desktopView.fitToWindow =ウィンドウに合わせる
bbb.desktopView.actualSize =実サイズで表示
# ToolbarButton.mxml
bbb.toolbar.phone.toolTip =マイクを起動
bbb.toolbar.deskshare.toolTip =デスクトップを共有
bbb.toolbar.video.toolTip =カメラを起動
# HighlighterToolbar.mxml
bbb.highlighter.toolbar.pencil =蛍光ペン
bbb.highlighter.toolbar.ellipse =円形
bbb.highlighter.toolbar.rectangle =四角形
bbb.highlighter.toolbar.clear =ページをクリア
bbb.highlighter.toolbar.undo =元に戻す
bbb.highlighter.toolbar.color =色を選択
bbb.highlighter.toolbar.thickness =太さを変更
# WhiteboardButton.mxml
bbb.highlighter.button.toolTipShow =ホワイトボードを表示
bbb.highlighter.button.toolTipHide =ホワイトボードを非表示

View File

@ -4,7 +4,7 @@ bbb.pageTitle = BigBlueButton
bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusProgress.connecting = Свързване със сървърът
bbb.mainshell.statusProgress.loading = Зареждане на {0} модул/а
bbb.mainshell.statusProgress.cannotConnectServer = Съжалявам, не мога да се свържа със сървърът.

View File

@ -3,7 +3,7 @@
bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusProgress.connecting = Připojuji se k serveru
bbb.mainshell.statusProgress.loading = Nahrávám {0} modulů
bbb.mainshell.statusProgress.cannotConnectServer = Omlouváme se, k serveru se nelze připojit.
@ -40,6 +40,7 @@ bbb.viewers.kickUserBtn.toolTip = Vykopnout uživatele
# Presentation
bbb.presentation.title = Prezentace
bbb.presentation.uploadPresBtn = Nahrát dokument pro prezentaci.
bbb.presentation.uploadPresBtn.toolTip = Nahrát dokument pro prezentaci.
bbb.presentation.backBtn.toolTip = Předchozí snímek.
bbb.presentation.slideNumLbl.toolTip = Kliknutím vyberte snímek

View File

@ -3,7 +3,7 @@
bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusInfo = Bitte warten während {0} Module geladen werden:
bbb.mainshell.statusInfo.loaded = {0}(geladen)
bbb.mainshell.statusInfo.testRTMPConnection = Bitte warten während die Verbindung zum Server getestet wird.
@ -145,7 +145,8 @@ bbb.listenerItem.talkImg.toolTip = Sprecher
# PublishWindow.mxml
bbb.publishVideo.title = Kamera
bbb.publishVideo.startPublishBtn.toolTip = Veröffentliche Kamera
bbb.video.publish.close.tooltip = Stop sharing your video
bbb.video.publish.close.label = Schließen
# DesktopPublishWindow.mxml
bbb.desktopPublish.title = Desktop Sharing

View File

@ -2,7 +2,7 @@
bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusProgress.connecting = Σύνδεση στον εξυπηρετητή(server)
bbb.mainshell.statusProgress.loading = Φορτώνει {0} modules
bbb.mainshell.statusProgress.cannotConnectServer = Λυπούμαστε, αλλά δεν μπορούμε να συνδεθούμε στον εξυπηρετητή(server).

View File

@ -3,7 +3,7 @@
bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusProgress.connecting = Connecting to the server
bbb.mainshell.statusProgress.loading = Loading {0} modules
bbb.mainshell.statusProgress.cannotConnectServer = Sorry, we cannot connect to the server.
@ -40,6 +40,7 @@ bbb.viewers.kickUserBtn.toolTip = Kick User
# Presentation
bbb.presentation.title = Presentation
bbb.presentation.uploadPresBtn = Upload a document for presentation.
bbb.presentation.uploadPresBtn.toolTip = Upload a document for presentation.
bbb.presentation.backBtn.toolTip = Previous slide.
bbb.presentation.slideNumLbl.toolTip = Click to select a slide

View File

@ -3,7 +3,7 @@
bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusInfo = Por favor espere mientras cargamos {0} módulos:
bbb.mainshell.statusInfo.loaded = {0}(cargado)
bbb.mainshell.statusInfo.testRTMPConnection = Por favor, espere mientras comprobamos su conexión al servidor.

View File

@ -3,7 +3,7 @@
bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusInfo = Espere mientras se cargan los {0} modulos:
bbb.mainshell.statusInfo.loaded = {0}(cargado)
bbb.mainshell.statusInfo.testRTMPConnection = Por favor espere mientras se revisa su conexión al servidor.

View File

@ -2,7 +2,7 @@
bbb.pageTitle = مجمع تشخصی مصلحت نظام
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusInfo = لطفا صبر کنید در حال بارگذاری افزونه ها {0} :
bbb.mainshell.statusInfo.loaded = {0}(بارگذاری شده)
bbb.mainshell.statusInfo.testRTMPConnection = لطفا تا کنترل اتصال شما به سرور صبر کنید.
@ -12,7 +12,7 @@ bbb.mainshell.statusProgress.testRTMPTConnection = اتصال به RTMPT://{0}:8
bbb.mainshell.statusProgress.loading = بارگزاری:
bbb.mainshell.statusProgress.loaded = Loading: {0} {1}% بارگزاری شده.
bbb.mainshell.statusProgress.cannotConnectServer = متاسفانه برقراری تماس با سرور امکانپذیر نیست.
bbb.mainshell.copyrightLabel2 = (c) 2010, دکمه بزرگ آبی {0} - برای اطلاعات بیشتر به آدرس http://www.mahboubi.ir/ مراجعه کنید.
bbb.mainshell.copyrightLabel2 = (c) 2010, BigBlueButton build {0} - For more information see http://www.bigbluebutton.org/.
bbb.mainshell.logBtn.toolTip = باز کردن پنجره لاگ
bbb.mainshell.fullScreenBtn.toolTip = رفتن به حالت تمام صفحه
bbb.mainshell.resetLayoutBtn.toolTip = بازیابی تنظیمات صفحه

View File

@ -3,7 +3,7 @@
bbb.pageTitle = Big Blue Button
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusInfo = Merci de patienter, chargement de {0} modules:
bbb.mainshell.statusInfo.loaded = {0}(chargé)
bbb.mainshell.statusInfo.testRTMPConnection = Merci de patienter pendant le test de connexion au serveur.

View File

@ -2,7 +2,7 @@
bbb.pageTitle = Big Blue Button
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusProgress.connecting = Connexion au serveur
bbb.mainshell.statusProgress.loading = Chargement de {0} modules
bbb.mainshell.statusProgress.cannotConnectServer = Désolé, impossible de communiquer avec le serveur

View File

@ -3,7 +3,7 @@
bbb.pageTitle = MY-APP.EU Webtalálkozó
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusInfo = Kérem várjon, amíg {0} modult betöltődik:
bbb.mainshell.statusInfo.loaded = {0}(betöltve)
bbb.mainshell.statusInfo.testRTMPConnection = Kérem várjon míg a hálózati kapcsolat tesztelésre kerül.
@ -13,7 +13,7 @@ bbb.mainshell.statusProgress.testRTMPTConnection = Kapcsolódás az RTMPT://{0}:
bbb.mainshell.statusProgress.loading = Betöltés:
bbb.mainshell.statusProgress.loaded = Betöltés: {0} {1}% betöltve.
bbb.mainshell.statusProgress.cannotConnectServer = Sajnáljuk a szerverhez a kapcsolódás sikertelen.
bbb.mainshell.copyrightLabel2 = (c) 2010, BigBlueButton version {0} - Kérem jelentse a http://my-app.eu olcalon.
bbb.mainshell.copyrightLabel2 = (c) 2010, BigBlueButton version {0} - Kérem jelentse a http://www.bigbluebutton.org/.
bbb.mainshell.logBtn.toolTip = Napló ablak
bbb.mainshell.fullScreenBtn.toolTip = Teljes képernyő
bbb.mainshell.resetLayoutBtn.toolTip = Kinézet alaphelyzetbe

View File

@ -3,7 +3,7 @@
bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusInfo = Attendere il caricamento dei moduli {0} :
bbb.mainshell.statusInfo.loaded = {0}(Caricato)
bbb.mainshell.statusInfo.testRTMPConnection = Attendere prego. E' in corso il test della connessione

View File

@ -3,7 +3,7 @@
bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusProgress.connecting = サーバーへ接続しています。
bbb.mainshell.statusProgress.loading = 読み込み中・・・ {0} {1}% が読み込まれました。
bbb.mainshell.statusProgress.cannotConnectServer = 申し訳ありません。サーバーに接続できません。
@ -40,6 +40,7 @@ bbb.viewers.kickUserBtn.toolTip = 退室させる
# Presentation
bbb.presentation.title = プレゼンテーション
bbb.presentation.uploadPresBtn =プレゼンテーションのドキュメントをアップロード。
bbb.presentation.uploadPresBtn.toolTip = 資料をアップロードします。
bbb.presentation.backBtn.toolTip = 前のスライド
bbb.presentation.slideNumLbl.toolTip = スライドを一覧から選択

View File

@ -2,7 +2,7 @@
bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusInfo = Prašome palaukti, kraunami {0} moduliai:
bbb.mainshell.statusInfo.loaded = {0}(pakrauti)
bbb.mainshell.statusInfo.testRTMPConnection = Prašome palaukti, testuojamas prsijungimas prie serverio.

View File

@ -3,7 +3,7 @@
bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusInfo = Vennligst vent mens {0} moduler lastes:
bbb.mainshell.statusInfo.loaded = {0}(lastet)
bbb.mainshell.statusInfo.testRTMPConnection = Vennligst vent mens vi tester forbindelsen med serveren.

View File

@ -2,7 +2,7 @@
bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusInfo = Een ogenblik geduld, we moeten {0} modules laden:
bbb.mainshell.statusInfo.loaded = {0}(geladen)
bbb.mainshell.statusInfo.testRTMPConnection = Een ogenblikje, we testen je verbinding naar de server.

View File

@ -2,7 +2,7 @@
bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusInfo = Proszê czekaæ, ³adowanie {0} modu³ów w toku:
bbb.mainshell.statusInfo.loaded = {0}(za³adowano)
bbb.mainshell.statusInfo.testRTMPConnection = Proszê czekaæ, testujemy po³¹czenie z serwerem.

View File

@ -2,7 +2,7 @@
bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusInfo = Por favor, aguarde enquanto carregamos {0} módulos:
bbb.mainshell.statusInfo.loaded = {0}(carregado/s)
bbb.mainshell.statusInfo.testRTMPConnection = Por favor, aguarde enquanto testamos sua conexão com o servidor.

View File

@ -2,7 +2,7 @@
bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusInfo = Por favor, aguarde enquanto são carregados os {0} módulos:
bbb.mainshell.statusInfo.loaded = {0}(carregado/s)
bbb.mainshell.statusInfo.testRTMPConnection = Por favor, aguarde enquanto testamos a sua ligação ao servidor.

View File

@ -3,7 +3,7 @@
bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusInfo = Se încarcă {0} module, aşteptaţi:
bbb.mainshell.statusInfo.loaded = {0}(încărcat)
bbb.mainshell.statusInfo.testRTMPConnection = Se testează conexiunea cu serverul, aşteptaţi.

View File

@ -2,7 +2,7 @@
bbb.pageTitle = Конференции BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusProgress.connecting = Идёт подключение к серверу
bbb.mainshell.statusProgress.loading = Загружается {0} модулей
bbb.mainshell.statusProgress.cannotConnectServer = Не удалось соединиться с сервером.
@ -39,6 +39,7 @@ bbb.viewers.kickUserBtn.toolTip = Исключить из конференции
# Presentation
bbb.presentation.title = Презентация
bbb.presentation.uploadPresBtn = Загрузить документ для показа.
bbb.presentation.uploadPresBtn.toolTip = Загрузить документ для презентации.
bbb.presentation.backBtn.toolTip = Предыдущий слайд.
bbb.presentation.forwardBtn.toolTip = Следующий слайд
@ -112,7 +113,8 @@ bbb.listenerItem.muteUnmute.toolTip = Отключить/включить мик
# PublishWindow.mxml
bbb.publishVideo.title = Начать видеотрансляцию
bbb.publishVideo.startPublishBtn.toolTip = Начать видеотрансляцию
bbb.video.publish.close.tooltip = Stop sharing your video
bbb.video.publish.close.label = Close
# DesktopPublishWindow.mxml
bbb.desktopPublish.title = Трансляция рабочего стола

View File

@ -3,7 +3,7 @@
bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusInfo = Vänligen vänta medan vi hämtar {0} moduler:
bbb.mainshell.statusInfo.loaded = {0}(hämtad)
bbb.mainshell.statusInfo.testRTMPConnection = Vänligen vänta medan vi testar din internetuppkoppling till servern.

View File

@ -84,7 +84,7 @@ bbb.mainToolbar.logoutBtn=
bbb.mainToolbar.logoutBtn.toolTip=Ç\u0131k\u0131\u015f
bbb.mainshell.copyrightLabel2=(c) 2010, BigBlueButton sürüm {0} - Daha fazla bilgi için http://www.bigbluebutton.org/.
bbb.mainshell.fullScreenBtn.toolTip=Tam ekrana geç
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.logBtn.toolTip=Sistem Kayd\u0131 Penceresini Aç
bbb.mainshell.resetLayoutBtn.toolTip=Yerle\u015fimi S\u0131f\u0131rla
# MainApplicationShell.mxml

View File

@ -3,7 +3,7 @@
bbb.pageTitle = Đào tạo từ xa
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusInfo = Xin hãy đợi nạp {0} mô đun:
bbb.mainshell.statusInfo.loaded = {0}(đã nạp)
bbb.mainshell.statusInfo.testRTMPConnection = Hãy đợi kiểm tra kết nối của bạn tới máy chủ.
@ -13,7 +13,7 @@ bbb.mainshell.statusProgress.testRTMPTConnection = Kết nối tới RTMPT://{0}
bbb.mainshell.statusProgress.loading = Đang nạp:
bbb.mainshell.statusProgress.loaded = Đang nạp: {0} {1}%.
bbb.mainshell.statusProgress.cannotConnectServer = Xin lỗi, không thể kết nối tới máy chủ.
bbb.mainshell.copyrightLabel2 = (c) 2010 Trung tâm Tin học, Đại học Xây dựng.
bbb.mainshell.copyrightLabel2 = (c) 2010, BigBlueButton build {0} - For more information see http://www.bigbluebutton.org/.
bbb.mainshell.logBtn.toolTip = Mở cửa sổ Nhập ký
bbb.mainshell.fullScreenBtn.toolTip = Phóng Toàn màn hình
bbb.mainshell.resetLayoutBtn.toolTip = Đặt lại Bố cục

View File

@ -3,7 +3,7 @@
bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusProgress.connecting = 正在连接到服务器
bbb.mainshell.statusProgress.loading = 载入 {0} 模块
bbb.mainshell.statusProgress.cannotConnectServer = 抱歉,无法连接到服务器.
@ -40,6 +40,7 @@ bbb.viewers.kickUserBtn.toolTip = 踢出用户
# Presentation
bbb.presentation.title = 幻灯片演示
bbb.presentation.uploadPresBtn = 上传演示文件
bbb.presentation.uploadPresBtn.toolTip = 上传演示文件
bbb.presentation.backBtn.toolTip = 上一页
bbb.presentation.slideNumLbl.toolTip = 选择一页

View File

@ -3,7 +3,7 @@
bbb.pageTitle = Big Blue Button
# MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7
bbb.mainshell.locale.version=0.71
bbb.mainshell.statusInfo = 請稍候,正在載入 {0} 模組:
bbb.mainshell.statusInfo.loaded = {0}(載入完成)
bbb.mainshell.statusInfo.testRTMPConnection = 請稍候,正在測試連接到伺服器的連線

View File

@ -1,6 +1,6 @@
<?xml version="1.0" ?>
<config>
<localeversion>0.7</localeversion>
<localeversion>0.71</localeversion>
<version>VERSION</version>
<help url="http://HOST/help.html"/>
<porttest host="HOST" application="video"/>

View File

@ -109,7 +109,7 @@ function startApplet(IP, roomNumber, fullScreen)
document.body.appendChild(iframe);
frames[frames.length - 1].document.write(
"<applet code=\"org.bigbluebutton.deskshare.client.DeskShareApplet.class\"" +
"id=\"DeskShareApplet\" width=\"0\" height=\"400\" archive=\"bbb-deskshare-applet-0.64.jar\">" +
"id=\"DeskShareApplet\" width=\"0\" height=\"400\" archive=\"bbb-deskshare-applet-0.71.jar\">" +
"<param name=\"ROOM\" value=\"" + roomNumber + "\"/>" +
"<param name=\"IP\" value=\"" + IP + "\"/>" +
"<param name=\"FULL_SCREEN\" value=\"" + fullScreen + "\"/>" +
@ -169,20 +169,23 @@ var clearblink = function()
var localeChain = "en_US";
if (navigator.language)
localeChain = navigator.language;
localeChain = navigator.language;
else if (navigator.browserLanguage)
localeChain = navigator.browserLanguage;
localeChain = navigator.browserLanguage;
if(/^([a-z]+)-([a-z]+)$/i.test(localeChain)){
var matches = /^([a-z]+)-([a-z]+)$/i.exec(localeChain);
localeChain = matches[1].toLowerCase() + "_" + matches[2].toUpperCase();
var matches = /^([a-z]+)-([a-z]+)$/i.exec(localeChain);
localeChain = matches[1].toLowerCase() + "_" + matches[2].toUpperCase();
}
else if(/^en$/i.test(localeChain)){
localeChain = "en_US";
}
else if(/^([a-z]+)$/i.test(localeChain)){
var matches = /^([a-z]+)$/i.exec(localeChain);
localeChain = matches[1].toLowerCase();
var matches = /^([a-z]+)$/i.exec(localeChain);
localeChain = matches[1].toLowerCase() + "_" + matches[1].toUpperCase();
}
else{
localeChain = "en_US";
localeChain = "en_US";
}
function getLanguage(){

View File

@ -94,7 +94,7 @@ function startApplet(IP, roomNumber, captureX, captureY, captureWidth, captureHe
document.body.appendChild(iframe);
frames[frames.length - 1].document.write(
"<applet code=\"org.bigbluebutton.deskshare.client.DeskShareApplet.class\"" +
"id=\"DeskShareApplet\" width=\"0\" height=\"400\" archive=\"bbb-deskshare-applet-0.64.jar\">" +
"id=\"DeskShareApplet\" width=\"0\" height=\"400\" archive=\"bbb-deskshare-applet-0.71.jar\">" +
"<param name=\"ROOM\" value=\"" + roomNumber + "\"/>" +
"<param name=\"IP\" value=\"" + IP + "\"/>" +
"<param name=\"CAPTURE_WIDTH\" value=\"" + captureWidth + "\"/>" +

View File

@ -96,6 +96,7 @@
private function gotConfigParameters(e:ConfigEvent):void{
langSelector.visible = e.config.languageEnabled;
DEFAULT_HELP_URL = e.config.helpURL;
}
private function onDisconnectTest():void{

View File

@ -3,6 +3,7 @@
xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import org.bigbluebutton.modules.chat.views.ChatWindow;
import com.asfusion.mate.events.Dispatcher;
import mx.events.FlexEvent;
@ -24,17 +25,12 @@
]]>
</mx:Script>
<!--
This is the main event map for the chat module, think of it as the application controller.
-->
<EventHandlers type="{FlexEvent.PREINITIALIZE}">
<!--
The FlexEvent.PREINITIALIZE event is a good place for creating and initializing managers.
-->
<ObjectBuilder generator="{ChatEventMapDelegate}" constructorArguments="{scope.dispatcher}"/>
<ObjectBuilder generator="{ChatManager}" />
<ObjectBuilder generator="{PublicChatService}" />
<ObjectBuilder generator="{PrivateChatService}" />
</EventHandlers>
<EventHandlers type="{StartChatModuleEvent.START_CHAT_MODULE_EVENT}">
@ -53,7 +49,7 @@
</EventHandlers>
<EventHandlers type="{ConnectionEvent.CONNECT_EVENT}">
<MethodInvoker generator="{ChatEventMapDelegate}" method="openChatWindow" />
<MethodInvoker generator="{ChatEventMapDelegate}" method="openChatWindow"/>
<MethodInvoker generator="{PrivateChatService}" method="queryForParticipants"/>
</EventHandlers>
@ -76,15 +72,4 @@
<EventHandlers type="{TranscriptEvent.LOAD_TRANSCRIPT}" >
<MethodInvoker generator="{PublicChatService}" method="loadTranscript" />
</EventHandlers>
<!--EventHandlers type="{ConnectionEvent.CONNECT_EVENT}">
<MethodInvoker generator="{ChatManager}" method="receivedMessage" />
<EventAnnouncer dispatcherType="inherit"
generator="{ChatEvent}" bubbles="true"
type="{ChatEvent.PRIVATE_CHAT_MESSAGE_EVENT}" />
<EventAnnouncer dispatcherType="global"
generator="{ChatEvent}" bubbles="true"
type="{ChatEvent.PRIVATE_CHAT_MESSAGE_EVENT}" />
</EventHandlers-->
</EventMap>

View File

@ -1,11 +1,9 @@
package org.bigbluebutton.modules.chat.maps
{
package org.bigbluebutton.modules.chat.maps {
import com.asfusion.mate.events.Dispatcher;
import flash.events.IEventDispatcher;
import mx.controls.Alert;
import org.bigbluebutton.common.LogUtil;
import org.bigbluebutton.main.events.CloseWindowEvent;
import org.bigbluebutton.main.events.OpenWindowEvent;
import org.bigbluebutton.modules.chat.events.ChatOptionsEvent;
@ -13,8 +11,7 @@ package org.bigbluebutton.modules.chat.maps
import org.bigbluebutton.modules.chat.views.ChatWindow;
import org.bigbluebutton.util.i18n.ResourceUtil;
public class ChatEventMapDelegate
{
public class ChatEventMapDelegate {
private var dispatcher:IEventDispatcher;
private var _chatWindow:ChatWindow;
@ -24,14 +21,14 @@ package org.bigbluebutton.modules.chat.maps
private var translationEnabled:Boolean;
private var translationOn:Boolean;
public function ChatEventMapDelegate()
{
public function ChatEventMapDelegate() {
this.dispatcher = dispatcher;
_chatWindow = new ChatWindow();
globalDispatcher = new Dispatcher();
}
public function openChatWindow():void {
LogUtil.debug("Opening Chat Window!!!! " + (_chatWindow != null));
_chatWindow.title = ResourceUtil.getInstance().getString("bbb.chat.title");
_chatWindow.showCloseButton = false;
@ -39,7 +36,6 @@ package org.bigbluebutton.modules.chat.maps
// main application.
var event:OpenWindowEvent = new OpenWindowEvent(OpenWindowEvent.OPEN_WINDOW_EVENT);
event.window = _chatWindow;
trace("Dispatching OPEN CHAT WINDOW EVENT");
globalDispatcher.dispatchEvent(event);
_chatWindowOpen = true;
@ -51,7 +47,6 @@ package org.bigbluebutton.modules.chat.maps
public function closeChatWindow():void {
var event:CloseWindowEvent = new CloseWindowEvent(CloseWindowEvent.CLOSE_WINDOW_EVENT);
event.window = _chatWindow;
trace("Dispatching CLOSE CHAT WINDOW EVENT");
globalDispatcher.dispatchEvent(event);
_chatWindowOpen = false;

View File

@ -3,16 +3,17 @@ package org.bigbluebutton.modules.chat.model {
import be.boulevart.google.ajaxapi.translation.data.GoogleTranslationResult;
import be.boulevart.google.events.GoogleApiEvent;
import org.bigbluebutton.common.LogUtil;
import org.bigbluebutton.util.i18n.ResourceUtil;
public class ChatMessage {
[Bindable] public var lastSenderId:String;
[Bindable] public var senderId:String;
[Bindable] public var senderLanguage:String;
[Bindable] public var recepientLanguage:String;
[Bindable] public var receiverLanguage:String;
[Bindable] public var translate:Boolean;
[Bindable] public var color:uint;
[Bindable] public var senderColor:uint;
[Bindable] public var translateLocale:String = "";
[Bindable] public var translatedLocaleTooltip:String = "";
[Bindable] public var name:String;
[Bindable] public var senderTime:String;
@ -21,6 +22,7 @@ package org.bigbluebutton.modules.chat.model {
[Bindable] public var senderText:String;
[Bindable] public var translatedText:String;
[Bindable] public var translated:Boolean = false;
[Bindable] public var translatedColor:uint;
private var g:GoogleTranslation;
@ -29,21 +31,36 @@ package org.bigbluebutton.modules.chat.model {
g.addEventListener(GoogleApiEvent.TRANSLATION_RESULT, onTranslationDone);
}
public function translateMessage():void{
if ((senderLanguage != recepientLanguage) && !translated) {
// LogUtil.debug("Translating " + senderText + " from " + senderLanguage + " to " + recepientLanguage + ".");
g.translate(senderText, senderLanguage, recepientLanguage);
public function translateMessage():void {
if (!translate) return;
if ((senderLanguage != receiverLanguage) && !translated) {
// LogUtil.debug("Translating " + senderText + " from " + senderLanguage + " to " + receiverLanguage + ".");
g.translate(senderText, senderLanguage, receiverLanguage);
} else {
// LogUtil.debug("NOT Translating " + senderText + " from " + senderLanguage + " to " + recepientLanguage + ".");
// LogUtil.debug("NOT Translating " + senderText + " from " + senderLanguage + " to " + receiverLanguage + ".");
}
}
private function onTranslationDone(e:GoogleApiEvent):void{
private function onTranslationDone(e:GoogleApiEvent):void {
var result:GoogleTranslationResult = e.data as GoogleTranslationResult;
translated = true;
if (result.orig != senderText) return;
translatedText = result.result;
if (result.result != senderText) {
translated = true;
/**
* These next few lines adjust the chat message to display properly with the translation.
*/
translatedText = result.result + "<br/>";
senderText += "<br/>";
if (senderId != lastSenderId) {
translatedText += "<br/>";
senderText += "<br/>";
}
translateLocale = "<br/><i>" + senderLanguage + "->" + receiverLanguage + "</i>";
translatedColor = 0xCF4C5C;
}
}
}
}

View File

@ -57,8 +57,6 @@ package org.bigbluebutton.modules.chat.services
chatSO.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
chatSO.addEventListener(SyncEvent.SYNC, sharedObjectSyncHandler);
chatSO.client = this;
if (connection == null) trace("Joininh ChatSharedObject");
trace("Chat connection = " + connection.uri);
chatSO.connect(connection);
}
@ -153,7 +151,7 @@ package org.bigbluebutton.modules.chat.services
if (result == null) return;
var messages:Array = result as Array;
for (var i:int=0; i<messages.length; i++){
for (var i:int = 0; i < messages.length; i++){
newChatMessage(messages[i] as String);
}

View File

@ -1,17 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" click="setMessageRead()" xmlns:mate="http://mate.asfusion.com/" creationComplete="onCreationComplete()" >
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:mate="http://mate.asfusion.com/"
click="setMessageRead()"
creationComplete="onCreationComplete()" >
<mate:Listener type="{ChatOptionsEvent.CHANGE_FONT_SIZE}" method="changeFontSize" />
<mx:Script>
<![CDATA[
import org.bigbluebutton.modules.chat.model.ChatMessage;
import be.boulevart.google.ajaxapi.translation.GoogleTranslation;
import be.boulevart.google.ajaxapi.translation.data.GoogleTranslationResult;
import be.boulevart.google.events.GoogleApiEvent;
import com.adobe.serialization.json.JSON;
import mx.collections.ArrayCollection;
import mx.controls.Button;
import mx.core.ScrollPolicy;
@ -32,17 +29,24 @@
[Bindable] private var messages:ArrayCollection = new ArrayCollection();
private var lastCount:Number = 0;
private function onCreationComplete():void{
private var scrollTimer:Timer;
private var scrollBarWorkaround:Boolean = false;
private function onCreationComplete():void {
addContextMenuItems();
scrollTimer = new Timer(750, 2);
scrollTimer.addEventListener(TimerEvent.TIMER, onScrollTimer);
/**
* The next two lines will force the scrollbar to the end of the message when displaying the
* chat history.
*/
callLater(scrollToBottom);
scrollTimer.start();
}
private function updateScroll(e:Event = null):void{
chatMessagesList.verticalScrollPosition = chatMessagesList.maxVerticalScrollPosition;
chatMessagesList.verticalScrollPosition = chatMessagesList.maxVerticalScrollPosition;
}
public function showNewMessage(message:String, translate:Boolean, language:String = null):void
{
public function showNewMessage(message:String, translate:Boolean, language:String = null):void {
var timeString:String = getHours() + ":" + getMinutes();
var components:Array = message.split("|");
@ -52,35 +56,75 @@
msg.senderId = components[5];
msg.senderLanguage = components[4].toString();
msg.recepientLanguage = language.toString();
msg.receiverLanguage = language.toString();
msg.translate = translate;
msg.translatedText = components[0];
msg.senderText = components[0];
msg.name = components[1];
msg.color = uint(components[2]);
msg.senderColor = uint(components[2]);
msg.translatedColor = msg.senderColor;
msg.senderTime = components[3];
msg.time = timeString;
msg.lastTime = lastTime;
lastTime = timeString;
messages.addItem(msg);
/*********************************
* We put a blank message at the end to force the scrollbar to display the
* REAL last message.
*/
if (!scrollBarWorkaround) {
scrollBarWorkaround = true;
var blankStr:String = " \n";
var shimMsg:ChatMessage = new ChatMessage();
shimMsg.lastSenderId = blankStr;
shimMsg.senderId = blankStr;
shimMsg.senderLanguage = blankStr;
shimMsg.receiverLanguage = blankStr;
shimMsg.translate = false;
shimMsg.translatedText = blankStr;
shimMsg.senderText = blankStr;
shimMsg.name = blankStr;
shimMsg.senderColor = msg.senderColor;
shimMsg.translatedColor = 0xCECECE;
shimMsg.senderTime = blankStr;
shimMsg.time = blankStr;
shimMsg.lastTime = blankStr;
messages.addItem(shimMsg);
}
/**
* Add the REAL message before the shim message above.
*/
messages.addItemAt(msg, messages.length - 1);
/**
* Trigger to force the scrollbar to show the last message.
*/
if (scrollTimer != null) scrollTimer.start();
}
/**
* Magic sauce to force scrollbar to the bottom message. This took a lot
* of trial and error. If you change this, make sure you know what you are
* doing as I don't know why it works, but it does. (ralam Nov 3, 2010)
*/
private function scrollToBottom():void {
chatMessagesList.invalidateSize();
chatMessagesList.invalidateDisplayList();
var scrollTimer:Timer = new Timer(750, 1);
scrollTimer.addEventListener(TimerEvent.TIMER, onScrollTimer);
scrollTimer.start();
chatMessagesList.scrollToIndex(messages.length);
chatMessagesList.verticalScrollPosition = chatMessagesList.maxVerticalScrollPosition;
chatMessagesList.validateDisplayList();
chatMessagesList.validateNow();
}
private function onScrollTimer(e:TimerEvent):void{
updateScroll();
private function onScrollTimer(event:TimerEvent):void {
scrollToBottom();
}
public static function getMinutes():String{
public static function getMinutes():String {
var time:Date = new Date();
var minutes:String;
if (time.minutes < 10) minutes = "0" + time.minutes;
@ -88,7 +132,7 @@
return minutes;
}
public static function getHours():String{
public static function getHours():String {
var time:Date = new Date();
var hours:String;
if (time.hours < 10) hours = "0" + time.hours;
@ -119,9 +163,9 @@
var contextMenu:ContextMenu = new ContextMenu();
contextMenu.hideBuiltInItems();
var capyAllButton:ContextMenuItem = new ContextMenuItem(COPY_ALL_BUTTON);
capyAllButton.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemHandler);
contextMenu.customItems.push(capyAllButton);
var copyAllButton:ContextMenuItem = new ContextMenuItem(COPY_ALL_BUTTON);
copyAllButton.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemHandler);
contextMenu.customItems.push(copyAllButton);
this.contextMenu = contextMenu;
}
@ -134,7 +178,7 @@
private function getAllAsString():String{
var allText:String = "";
for (var i:int = 0; i<messages.length; i++){
for (var i:int = 0; i < messages.length; i++){
var item:ChatMessage = messages.getItemAt(i) as ChatMessage;
allText += "\n" + item.name + " - " + item.time + " : " + item.translatedText;
}

View File

@ -7,42 +7,11 @@
<![CDATA[
import org.bigbluebutton.modules.chat.model.ChatMessage;
import org.bigbluebutton.common.LogUtil;
import be.boulevart.google.ajaxapi.translation.GoogleTranslation;
import be.boulevart.google.ajaxapi.translation.data.GoogleTranslationResult;
import be.boulevart.google.events.GoogleApiEvent;
import flexlib.scheduling.Timeline;
import mx.binding.utils.ChangeWatcher;
import mx.controls.Alert;
[Bindable] private var rolledOver:Boolean = false;
private var dataWatcher:ChangeWatcher;
/**
* Chat Message Dynamic Object Anatomy:
* data.lastSenderName - The ID of the person who sent the previous message
* data.name - The name of the sender of the message
* data.senderTime - Local time in the sender's time zone
* data.time - Local time in recepient time zone
* data.lastTime - The time of the previously sent message
* data.senderText - The text of the message as it appeared on the sender's end
* data.text - The text contained in the message when translated to the recepient's language
* data.color - The color of the text as choosen by the sender
*/
[Bindable] private var senderId:String;
[Bindable] private var lastSenderId:String;
[Bindable] private var senderName:String
[Bindable] private var senderTime:String;
[Bindable] private var time:String;
[Bindable] private var lastTime:String;
[Bindable] private var senderText:String;
[Bindable] private var text:String;
[Bindable] private var color:uint;
private var translated:Boolean = false;
[Bindable] private var chatMsg:ChatMessage;
[Bindable] private var chatTime:String;
private function onLinkClick(e:TextEvent):void{
var url:URLRequest = new URLRequest(e.text);
@ -50,32 +19,30 @@
}
private function onCreationComplete():void{
this.dataWatcher = ChangeWatcher.watch(this, "data", dataChangeHandler);
chatMsg = data as ChatMessage;
var t:Timer = new Timer(200, 1);
t.addEventListener(TimerEvent.TIMER, changeData);
t.start();
}
/** Register a change handler as the renderer get recycled. If we don't
* do this, we'll get a stale data which will display the chat
* message repeatedly. (ralam Nov 1, 2010)
*/
ChangeWatcher.watch(this, "data", dataChangeHandler);
if (data != null) {
chatMsg = data as ChatMessage;
chatMsg.translateMessage();
}
private function changeData(e:TimerEvent):void{
dataChangeHandler();
/**
* The next line will refresh the display so that chat history don't show up as
* squished. Don't know fully hos this works but somehow when I put this in
* it fixed the problem. So if you remove this, make sure you test that the
* chat history shows up correctly. (ralam Nov 3, 2010)
*/
validateNow();
}
private function dataChangeHandler(e:Event = null):void{
if (data == null) {
return;
}
senderId = chatMsg.senderId;
lastSenderId = chatMsg.lastSenderId;
senderName = chatMsg.name;
senderTime = chatMsg.senderTime;
time = chatMsg.time;
lastTime = chatMsg.lastTime;
text = chatMsg.translatedText;
senderText = chatMsg.senderText;
color = chatMsg.color;
chatMsg = data as ChatMessage;
chatMsg.translateMessage();
}
@ -90,8 +57,10 @@
]]>
</mx:Script>
<mx:Label maxWidth="50" width="50" truncateToFit="true" id="lblName" text="{senderName}" visible="{!(senderId == lastSenderId)}" color="gray" />
<mx:Text id="txtMessage" htmlText="{rolledOver ? senderText : text}" link="onLinkClick(event)" color="{chatMsg.color}"
<mx:Label maxWidth="50" width="50" truncateToFit="true" id="lblName" text="{chatMsg.name} " visible="{!(chatMsg.senderId == chatMsg.lastSenderId)}" color="gray" />
<mx:Text id="txtMessage" htmlText="{rolledOver ? chatMsg.senderText : chatMsg.translatedText}" link="onLinkClick(event)" color="{chatMsg.senderColor}"
rollOver="onRollOver()" rollOut="onRollOut()" width="100%" />
<mx:Label id="lblTime" text="{rolledOver ? senderTime : time}" visible="{!(lastTime == time) || !(senderId == lastSenderId)}" color="gray" />
<mx:Text id="lblTime" htmlText="{rolledOver ? chatMsg.senderTime : chatMsg.time}{chatMsg.translateLocale}"
visible="{!(chatMsg.lastTime == chatMsg.time) || !(chatMsg.senderId == chatMsg.lastSenderId)}"
color="gray" />
</mx:HBox>

View File

@ -112,6 +112,7 @@
ExternalInterface.call("clearblink");
this.focus = true;
}
private function deactivate(event:Event):void{
this.focus = false;
}
@ -134,33 +135,26 @@
chatTabs.setClosePolicyForTab(chatTabs.getChildIndex(tabBox), SuperTab.CLOSE_NEVER);
}
public function setFocusOn(component:UIComponent):void
{
public function setFocusOn(component:UIComponent):void {
if (component.id == "txtMsg") {
component.setFocus();
component.drawFocus(true);
}
else
{
else {
this.txtMsg.setFocus();
this.txtMsg.drawFocus(true);
}
}
public function setFocusOff():void
{
public function setFocusOff():void {
this.txtMsg.drawFocus(false);
}
private function currentTime() : String
{
private function currentTime() : String {
return ChatBox.getHours() + ":" + ChatBox.getMinutes();
}
private function sendMessages():void
{
trace("Sending message");
private function sendMessages():void {
if (hasMessageToSend()){
if (isChatBoxCurrentlySelected(PUBLIC_CHAT_USERID)) {
sendPublicChatMessage();
@ -204,7 +198,6 @@
}
private function sendPublicChatMessage():void {
trace("Sending public chat message");
var publicEvent:SendPublicChatMessageEvent = new SendPublicChatMessageEvent(SendPublicChatMessageEvent.SEND_PUBLIC_CHAT_MESSAGE_EVENT);
publicEvent.message = parseURLs(cleanup(txtMsg.text));
publicEvent.color = cmpColorPicker.selectedColor.toString();
@ -214,13 +207,11 @@
}
private function queryForParticipants():void {
trace("Sending query for participants message");
var event:QueryParticipantsEvent = new QueryParticipantsEvent(QueryParticipantsEvent.QUERY_PARTICIPANTS_EVENT);
globalDispatcher.dispatchEvent(event);
}
private function sendPrivateChatMessage():void {
trace("Sending private chat message");
var privateEvent:SendPrivateChatMessageEvent = new SendPrivateChatMessageEvent(SendPrivateChatMessageEvent.SEND_PRIVATE_CHAT_MESSAGE_EVENT);
privateEvent.message = parseURLs(cleanup(txtMsg.text));
privateEvent.toUser = chatTabs.selectedChild.name;
@ -257,7 +248,6 @@
private function updateChatBoxThatParticipantHasLeft(userid:String):void {
if (participantHasChatBox(userid)) {
var chatBox:ChatBox = getChatBoxForParticipant(userid);
trace("Setting participantLoggedOut to true");
chatBox.participantLoggedOut = true;
if (isChatBoxCurrentlySelected(userid)) {
@ -290,10 +280,8 @@
txtMsg.enabled = true;
var chatBox:ChatBox = chatTabs.getChildAt(chatTabs.selectedIndex) as ChatBox;
if (chatBox.participantLoggedOut) {
trace("Disabling message box");
disableMessageEntryTextBox();
} else {
trace("Enabling message box");
enableMessageEntryTextBox();
}
}

View File

@ -1505,12 +1505,6 @@ if [ -n "$HOST" ]; then
if [ $VOICE_CONFERENCE == "bbb-voice-freeswitch.xml" ]; then
if [ -f /usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.properties ]; then
if echo "$HOST" | grep -q -E "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*"; then
IP=$HOST
else
IP=$(host $HOST | head -n 1 | sed "s/[^0-9]*\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\)/\1/g")
fi
echo "Assigning $IP for sip.server.host in /usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.properties"
sudo sed -i "s/sip.server.host=.*/sip.server.host=$IP/g" \
/usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.properties

View File

@ -37,9 +37,11 @@ public class AsteriskAgiService implements AgiScript {
public void service(AgiRequest request, AgiChannel channel)
throws AgiException {
}
private void setConferenceNotFound() {
channel.setVariable("CONFERENCE_FOUND", "0")
def number = request.getParameter("conference")
if (dynamicConferenceService.isMeetingWithVoiceBridgeExist(number)) {
channel.setVariable("CONFERENCE_FOUND", number)
} else {
channel.setVariable("CONFERENCE_FOUND", "0")
}
}
}

2
deskshare/app/build.gradle Normal file → Executable file
View File

@ -2,7 +2,7 @@ usePlugin 'scala'
usePlugin 'java'
usePlugin 'war'
version = '0.64'
version = '0.71'
jar.enabled = true

View File

@ -4,7 +4,7 @@ targetCompatibility=1.6
ant.importBuild 'build.xml'
version = '0.64'
version = '0.71'
archivesBaseName = 'bbb-deskshare-applet'
dependencies {
@ -26,6 +26,6 @@ jar.doFirst {
* do not want to sign and manage 2 jar files.
**/'''
jar.merge('../common/build/libs/bbb-deskshare-common-0.64.jar')
jar.merge('../common/build/libs/bbb-deskshare-common-0.71.jar')
}

4
deskshare/applet/build.xml Normal file → Executable file
View File

@ -29,7 +29,7 @@
</target>
<target name="signJar" depends="getPassword">
<signjar jar="build/libs/bbb-deskshare-applet-0.64.jar"
<signjar jar="build/libs/bbb-deskshare-applet-0.71.jar"
alias="${keystore.alias}"
keystore="${keystore}"
storepass="${keystore.password}" />
@ -64,7 +64,7 @@
</target>
<target name="sign-jar" depends="get-password">
<signjar jar="build/libs/bbb-deskshare-applet-0.64.jar"
<signjar jar="build/libs/bbb-deskshare-applet-0.71.jar"
alias="${keystore.alias}"
keystore="${keystore}"
storepass="${keystore.password}" />

View File

@ -107,7 +107,7 @@ public class ScreenSharerRunner {
System.out.println("-----------------------------------------------------------------------");
System.out.println(LICENSE_HEADER);
System.out.println("-----------------------------------------------------------------------\n\n");
System.out.println("Desktop Sharing v0.71-dev");
System.out.println("Desktop Sharing v0.71");
System.out.println("Start");
System.out.println("Connecting to " + ssi.host + ":" + ssi.port + " room " + ssi.room);
System.out.println("Sharing " + ssi.captureWidth + "x" + ssi.captureHeight + " at " + ssi.x + "," + ssi.y);

2
deskshare/common/build.gradle Normal file → Executable file
View File

@ -1,3 +1,3 @@
usePlugin 'java'
version = '0.64'
version = '0.71'
archivesBaseName = 'bbb-deskshare-common'