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

View File

@ -2,11 +2,11 @@
bbb.pageTitle = BigBlueButton bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml # 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.connecting = Xahis edirik gozləyin {0} modul yuklənir:
bbb.mainshell.statusProgress.loading = {0}(yuklənib) bbb.mainshell.statusProgress.loading = {0}(yuklənib)
bbb.mainshell.statusProgress.cannotConnectServer = Xahis edirik biz serverin test muddəti ərzində gozləyəsiz. 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.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.fullScreenBtn.toolTip = Pəncərəni bütün ekrana böyüt
bbb.mainshell.resetLayoutBtn.toolTip = Pəncərəni yenilə 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 bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml # MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7 bbb.mainshell.locale.version=0.71
bbb.mainshell.statusProgress.connecting = Свързване със сървърът bbb.mainshell.statusProgress.connecting = Свързване със сървърът
bbb.mainshell.statusProgress.loading = Зареждане на {0} модул/а bbb.mainshell.statusProgress.loading = Зареждане на {0} модул/а
bbb.mainshell.statusProgress.cannotConnectServer = Съжалявам, не мога да се свържа със сървърът. bbb.mainshell.statusProgress.cannotConnectServer = Съжалявам, не мога да се свържа със сървърът.

View File

@ -3,7 +3,7 @@
bbb.pageTitle = BigBlueButton bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml # 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.connecting = Připojuji se k serveru
bbb.mainshell.statusProgress.loading = Nahrávám {0} modulů bbb.mainshell.statusProgress.loading = Nahrávám {0} modulů
bbb.mainshell.statusProgress.cannotConnectServer = Omlouváme se, k serveru se nelze připojit. 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 # Presentation
bbb.presentation.title = Prezentace bbb.presentation.title = Prezentace
bbb.presentation.uploadPresBtn = Nahrát dokument pro prezentaci.
bbb.presentation.uploadPresBtn.toolTip = Nahrát dokument pro prezentaci. bbb.presentation.uploadPresBtn.toolTip = Nahrát dokument pro prezentaci.
bbb.presentation.backBtn.toolTip = Předchozí snímek. bbb.presentation.backBtn.toolTip = Předchozí snímek.
bbb.presentation.slideNumLbl.toolTip = Kliknutím vyberte snímek bbb.presentation.slideNumLbl.toolTip = Kliknutím vyberte snímek

View File

@ -3,7 +3,7 @@
bbb.pageTitle = BigBlueButton bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml # 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 = Bitte warten während {0} Module geladen werden:
bbb.mainshell.statusInfo.loaded = {0}(geladen) bbb.mainshell.statusInfo.loaded = {0}(geladen)
bbb.mainshell.statusInfo.testRTMPConnection = Bitte warten während die Verbindung zum Server getestet wird. 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 # PublishWindow.mxml
bbb.publishVideo.title = Kamera bbb.publishVideo.title = Kamera
bbb.publishVideo.startPublishBtn.toolTip = Veröffentliche 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 # DesktopPublishWindow.mxml
bbb.desktopPublish.title = Desktop Sharing bbb.desktopPublish.title = Desktop Sharing

View File

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

View File

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

View File

@ -3,7 +3,7 @@
bbb.pageTitle = BigBlueButton bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml # 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 = Por favor espere mientras cargamos {0} módulos:
bbb.mainshell.statusInfo.loaded = {0}(cargado) bbb.mainshell.statusInfo.loaded = {0}(cargado)
bbb.mainshell.statusInfo.testRTMPConnection = Por favor, espere mientras comprobamos su conexión al servidor. bbb.mainshell.statusInfo.testRTMPConnection = Por favor, espere mientras comprobamos su conexión al servidor.

View File

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

View File

@ -2,7 +2,7 @@
bbb.pageTitle = مجمع تشخصی مصلحت نظام bbb.pageTitle = مجمع تشخصی مصلحت نظام
# MainApplicationShell.mxml # MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7 bbb.mainshell.locale.version=0.71
bbb.mainshell.statusInfo = لطفا صبر کنید در حال بارگذاری افزونه ها {0} : bbb.mainshell.statusInfo = لطفا صبر کنید در حال بارگذاری افزونه ها {0} :
bbb.mainshell.statusInfo.loaded = {0}(بارگذاری شده) bbb.mainshell.statusInfo.loaded = {0}(بارگذاری شده)
bbb.mainshell.statusInfo.testRTMPConnection = لطفا تا کنترل اتصال شما به سرور صبر کنید. bbb.mainshell.statusInfo.testRTMPConnection = لطفا تا کنترل اتصال شما به سرور صبر کنید.
@ -12,7 +12,7 @@ bbb.mainshell.statusProgress.testRTMPTConnection = اتصال به RTMPT://{0}:8
bbb.mainshell.statusProgress.loading = بارگزاری: bbb.mainshell.statusProgress.loading = بارگزاری:
bbb.mainshell.statusProgress.loaded = Loading: {0} {1}% بارگزاری شده. bbb.mainshell.statusProgress.loaded = Loading: {0} {1}% بارگزاری شده.
bbb.mainshell.statusProgress.cannotConnectServer = متاسفانه برقراری تماس با سرور امکانپذیر نیست. 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.logBtn.toolTip = باز کردن پنجره لاگ
bbb.mainshell.fullScreenBtn.toolTip = رفتن به حالت تمام صفحه bbb.mainshell.fullScreenBtn.toolTip = رفتن به حالت تمام صفحه
bbb.mainshell.resetLayoutBtn.toolTip = بازیابی تنظیمات صفحه bbb.mainshell.resetLayoutBtn.toolTip = بازیابی تنظیمات صفحه

View File

@ -3,7 +3,7 @@
bbb.pageTitle = Big Blue Button bbb.pageTitle = Big Blue Button
# MainApplicationShell.mxml # 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 = Merci de patienter, chargement de {0} modules:
bbb.mainshell.statusInfo.loaded = {0}(chargé) bbb.mainshell.statusInfo.loaded = {0}(chargé)
bbb.mainshell.statusInfo.testRTMPConnection = Merci de patienter pendant le test de connexion au serveur. 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 bbb.pageTitle = Big Blue Button
# MainApplicationShell.mxml # MainApplicationShell.mxml
bbb.mainshell.locale.version=0.7 bbb.mainshell.locale.version=0.71
bbb.mainshell.statusProgress.connecting = Connexion au serveur bbb.mainshell.statusProgress.connecting = Connexion au serveur
bbb.mainshell.statusProgress.loading = Chargement de {0} modules bbb.mainshell.statusProgress.loading = Chargement de {0} modules
bbb.mainshell.statusProgress.cannotConnectServer = Désolé, impossible de communiquer avec le serveur 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ó bbb.pageTitle = MY-APP.EU Webtalálkozó
# MainApplicationShell.mxml # 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 = Kérem várjon, amíg {0} modult betöltődik:
bbb.mainshell.statusInfo.loaded = {0}(betöltve) 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. 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.loading = Betöltés:
bbb.mainshell.statusProgress.loaded = Betöltés: {0} {1}% betöltve. 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.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.logBtn.toolTip = Napló ablak
bbb.mainshell.fullScreenBtn.toolTip = Teljes képernyő bbb.mainshell.fullScreenBtn.toolTip = Teljes képernyő
bbb.mainshell.resetLayoutBtn.toolTip = Kinézet alaphelyzetbe bbb.mainshell.resetLayoutBtn.toolTip = Kinézet alaphelyzetbe

View File

@ -3,7 +3,7 @@
bbb.pageTitle = BigBlueButton bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml # 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 = Attendere il caricamento dei moduli {0} :
bbb.mainshell.statusInfo.loaded = {0}(Caricato) bbb.mainshell.statusInfo.loaded = {0}(Caricato)
bbb.mainshell.statusInfo.testRTMPConnection = Attendere prego. E' in corso il test della connessione bbb.mainshell.statusInfo.testRTMPConnection = Attendere prego. E' in corso il test della connessione

View File

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

View File

@ -2,7 +2,7 @@
bbb.pageTitle = BigBlueButton bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml # 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 = Prašome palaukti, kraunami {0} moduliai:
bbb.mainshell.statusInfo.loaded = {0}(pakrauti) bbb.mainshell.statusInfo.loaded = {0}(pakrauti)
bbb.mainshell.statusInfo.testRTMPConnection = Prašome palaukti, testuojamas prsijungimas prie serverio. bbb.mainshell.statusInfo.testRTMPConnection = Prašome palaukti, testuojamas prsijungimas prie serverio.

View File

@ -3,7 +3,7 @@
bbb.pageTitle = BigBlueButton bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml # 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 = Vennligst vent mens {0} moduler lastes:
bbb.mainshell.statusInfo.loaded = {0}(lastet) bbb.mainshell.statusInfo.loaded = {0}(lastet)
bbb.mainshell.statusInfo.testRTMPConnection = Vennligst vent mens vi tester forbindelsen med serveren. bbb.mainshell.statusInfo.testRTMPConnection = Vennligst vent mens vi tester forbindelsen med serveren.

View File

@ -2,7 +2,7 @@
bbb.pageTitle = BigBlueButton bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml # 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 = Een ogenblik geduld, we moeten {0} modules laden:
bbb.mainshell.statusInfo.loaded = {0}(geladen) bbb.mainshell.statusInfo.loaded = {0}(geladen)
bbb.mainshell.statusInfo.testRTMPConnection = Een ogenblikje, we testen je verbinding naar de server. bbb.mainshell.statusInfo.testRTMPConnection = Een ogenblikje, we testen je verbinding naar de server.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -3,7 +3,7 @@
bbb.pageTitle = BigBlueButton bbb.pageTitle = BigBlueButton
# MainApplicationShell.mxml # 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 = Vänligen vänta medan vi hämtar {0} moduler:
bbb.mainshell.statusInfo.loaded = {0}(hämtad) bbb.mainshell.statusInfo.loaded = {0}(hämtad)
bbb.mainshell.statusInfo.testRTMPConnection = Vänligen vänta medan vi testar din internetuppkoppling till servern. 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.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.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.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.logBtn.toolTip=Sistem Kayd\u0131 Penceresini Aç
bbb.mainshell.resetLayoutBtn.toolTip=Yerle\u015fimi S\u0131f\u0131rla bbb.mainshell.resetLayoutBtn.toolTip=Yerle\u015fimi S\u0131f\u0131rla
# MainApplicationShell.mxml # MainApplicationShell.mxml

View File

@ -3,7 +3,7 @@
bbb.pageTitle = Đào tạo từ xa bbb.pageTitle = Đào tạo từ xa
# MainApplicationShell.mxml # 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 = Xin hãy đợi nạp {0} mô đun:
bbb.mainshell.statusInfo.loaded = {0}(đã nạp) 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ủ. 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.loading = Đang nạp:
bbb.mainshell.statusProgress.loaded = Đang nạp: {0} {1}%. 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.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.logBtn.toolTip = Mở cửa sổ Nhập ký
bbb.mainshell.fullScreenBtn.toolTip = Phóng Toàn màn hình bbb.mainshell.fullScreenBtn.toolTip = Phóng Toàn màn hình
bbb.mainshell.resetLayoutBtn.toolTip = Đặt lại Bố cục bbb.mainshell.resetLayoutBtn.toolTip = Đặt lại Bố cục

View File

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

View File

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

View File

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

View File

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

View File

@ -94,7 +94,7 @@ function startApplet(IP, roomNumber, captureX, captureY, captureWidth, captureHe
document.body.appendChild(iframe); document.body.appendChild(iframe);
frames[frames.length - 1].document.write( frames[frames.length - 1].document.write(
"<applet code=\"org.bigbluebutton.deskshare.client.DeskShareApplet.class\"" + "<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=\"ROOM\" value=\"" + roomNumber + "\"/>" +
"<param name=\"IP\" value=\"" + IP + "\"/>" + "<param name=\"IP\" value=\"" + IP + "\"/>" +
"<param name=\"CAPTURE_WIDTH\" value=\"" + captureWidth + "\"/>" + "<param name=\"CAPTURE_WIDTH\" value=\"" + captureWidth + "\"/>" +

View File

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

View File

@ -3,6 +3,7 @@
xmlns:mx="http://www.adobe.com/2006/mxml"> xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script> <mx:Script>
<![CDATA[ <![CDATA[
import org.bigbluebutton.modules.chat.views.ChatWindow;
import com.asfusion.mate.events.Dispatcher; import com.asfusion.mate.events.Dispatcher;
import mx.events.FlexEvent; import mx.events.FlexEvent;
@ -24,17 +25,12 @@
]]> ]]>
</mx:Script> </mx:Script>
<!--
This is the main event map for the chat module, think of it as the application controller.
-->
<EventHandlers type="{FlexEvent.PREINITIALIZE}"> <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="{ChatEventMapDelegate}" constructorArguments="{scope.dispatcher}"/>
<ObjectBuilder generator="{ChatManager}" /> <ObjectBuilder generator="{ChatManager}" />
<ObjectBuilder generator="{PublicChatService}" /> <ObjectBuilder generator="{PublicChatService}" />
<ObjectBuilder generator="{PrivateChatService}" /> <ObjectBuilder generator="{PrivateChatService}" />
</EventHandlers> </EventHandlers>
<EventHandlers type="{StartChatModuleEvent.START_CHAT_MODULE_EVENT}"> <EventHandlers type="{StartChatModuleEvent.START_CHAT_MODULE_EVENT}">
@ -53,7 +49,7 @@
</EventHandlers> </EventHandlers>
<EventHandlers type="{ConnectionEvent.CONNECT_EVENT}"> <EventHandlers type="{ConnectionEvent.CONNECT_EVENT}">
<MethodInvoker generator="{ChatEventMapDelegate}" method="openChatWindow" /> <MethodInvoker generator="{ChatEventMapDelegate}" method="openChatWindow"/>
<MethodInvoker generator="{PrivateChatService}" method="queryForParticipants"/> <MethodInvoker generator="{PrivateChatService}" method="queryForParticipants"/>
</EventHandlers> </EventHandlers>
@ -75,16 +71,5 @@
<EventHandlers type="{TranscriptEvent.LOAD_TRANSCRIPT}" > <EventHandlers type="{TranscriptEvent.LOAD_TRANSCRIPT}" >
<MethodInvoker generator="{PublicChatService}" method="loadTranscript" /> <MethodInvoker generator="{PublicChatService}" method="loadTranscript" />
</EventHandlers> </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> </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 com.asfusion.mate.events.Dispatcher;
import flash.events.IEventDispatcher; import flash.events.IEventDispatcher;
import mx.controls.Alert; import org.bigbluebutton.common.LogUtil;
import org.bigbluebutton.main.events.CloseWindowEvent; import org.bigbluebutton.main.events.CloseWindowEvent;
import org.bigbluebutton.main.events.OpenWindowEvent; import org.bigbluebutton.main.events.OpenWindowEvent;
import org.bigbluebutton.modules.chat.events.ChatOptionsEvent; 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.modules.chat.views.ChatWindow;
import org.bigbluebutton.util.i18n.ResourceUtil; import org.bigbluebutton.util.i18n.ResourceUtil;
public class ChatEventMapDelegate public class ChatEventMapDelegate {
{
private var dispatcher:IEventDispatcher; private var dispatcher:IEventDispatcher;
private var _chatWindow:ChatWindow; private var _chatWindow:ChatWindow;
@ -24,22 +21,21 @@ package org.bigbluebutton.modules.chat.maps
private var translationEnabled:Boolean; private var translationEnabled:Boolean;
private var translationOn:Boolean; private var translationOn:Boolean;
public function ChatEventMapDelegate() public function ChatEventMapDelegate() {
{
this.dispatcher = dispatcher; this.dispatcher = dispatcher;
_chatWindow = new ChatWindow(); _chatWindow = new ChatWindow();
globalDispatcher = new Dispatcher(); globalDispatcher = new Dispatcher();
} }
public function openChatWindow():void { public function openChatWindow():void {
LogUtil.debug("Opening Chat Window!!!! " + (_chatWindow != null));
_chatWindow.title = ResourceUtil.getInstance().getString("bbb.chat.title"); _chatWindow.title = ResourceUtil.getInstance().getString("bbb.chat.title");
_chatWindow.showCloseButton = false; _chatWindow.showCloseButton = false;
// Use the GLobal Dispatcher so that this message will be heard by the // Use the GLobal Dispatcher so that this message will be heard by the
// main application. // main application.
var event:OpenWindowEvent = new OpenWindowEvent(OpenWindowEvent.OPEN_WINDOW_EVENT); var event:OpenWindowEvent = new OpenWindowEvent(OpenWindowEvent.OPEN_WINDOW_EVENT);
event.window = _chatWindow; event.window = _chatWindow;
trace("Dispatching OPEN CHAT WINDOW EVENT");
globalDispatcher.dispatchEvent(event); globalDispatcher.dispatchEvent(event);
_chatWindowOpen = true; _chatWindowOpen = true;
@ -51,7 +47,6 @@ package org.bigbluebutton.modules.chat.maps
public function closeChatWindow():void { public function closeChatWindow():void {
var event:CloseWindowEvent = new CloseWindowEvent(CloseWindowEvent.CLOSE_WINDOW_EVENT); var event:CloseWindowEvent = new CloseWindowEvent(CloseWindowEvent.CLOSE_WINDOW_EVENT);
event.window = _chatWindow; event.window = _chatWindow;
trace("Dispatching CLOSE CHAT WINDOW EVENT");
globalDispatcher.dispatchEvent(event); globalDispatcher.dispatchEvent(event);
_chatWindowOpen = false; _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.ajaxapi.translation.data.GoogleTranslationResult;
import be.boulevart.google.events.GoogleApiEvent; import be.boulevart.google.events.GoogleApiEvent;
import org.bigbluebutton.common.LogUtil; import org.bigbluebutton.util.i18n.ResourceUtil;
public class ChatMessage { public class ChatMessage {
[Bindable] public var lastSenderId:String; [Bindable] public var lastSenderId:String;
[Bindable] public var senderId:String; [Bindable] public var senderId:String;
[Bindable] public var senderLanguage:String; [Bindable] public var senderLanguage:String;
[Bindable] public var recepientLanguage:String; [Bindable] public var receiverLanguage:String;
[Bindable] public var translate:Boolean; [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 name:String;
[Bindable] public var senderTime:String; [Bindable] public var senderTime:String;
@ -21,6 +22,7 @@ package org.bigbluebutton.modules.chat.model {
[Bindable] public var senderText:String; [Bindable] public var senderText:String;
[Bindable] public var translatedText:String; [Bindable] public var translatedText:String;
[Bindable] public var translated:Boolean = false; [Bindable] public var translated:Boolean = false;
[Bindable] public var translatedColor:uint;
private var g:GoogleTranslation; private var g:GoogleTranslation;
@ -29,21 +31,36 @@ package org.bigbluebutton.modules.chat.model {
g.addEventListener(GoogleApiEvent.TRANSLATION_RESULT, onTranslationDone); g.addEventListener(GoogleApiEvent.TRANSLATION_RESULT, onTranslationDone);
} }
public function translateMessage():void{ public function translateMessage():void {
if ((senderLanguage != recepientLanguage) && !translated) { if (!translate) return;
// LogUtil.debug("Translating " + senderText + " from " + senderLanguage + " to " + recepientLanguage + ".");
g.translate(senderText, senderLanguage, recepientLanguage); if ((senderLanguage != receiverLanguage) && !translated) {
// LogUtil.debug("Translating " + senderText + " from " + senderLanguage + " to " + receiverLanguage + ".");
g.translate(senderText, senderLanguage, receiverLanguage);
} else { } 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; var result:GoogleTranslationResult = e.data as GoogleTranslationResult;
translated = true;
if (result.orig != senderText) return; if (result.result != senderText) {
translated = true;
translatedText = result.result;
/**
* 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(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
chatSO.addEventListener(SyncEvent.SYNC, sharedObjectSyncHandler); chatSO.addEventListener(SyncEvent.SYNC, sharedObjectSyncHandler);
chatSO.client = this; chatSO.client = this;
if (connection == null) trace("Joininh ChatSharedObject");
trace("Chat connection = " + connection.uri);
chatSO.connect(connection); chatSO.connect(connection);
} }
@ -153,7 +151,7 @@ package org.bigbluebutton.modules.chat.services
if (result == null) return; if (result == null) return;
var messages:Array = result as Array; 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); newChatMessage(messages[i] as String);
} }

View File

@ -1,17 +1,14 @@
<?xml version="1.0" encoding="utf-8"?> <?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" /> <mate:Listener type="{ChatOptionsEvent.CHANGE_FONT_SIZE}" method="changeFontSize" />
<mx:Script> <mx:Script>
<![CDATA[ <![CDATA[
import org.bigbluebutton.modules.chat.model.ChatMessage; 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.collections.ArrayCollection;
import mx.controls.Button; import mx.controls.Button;
import mx.core.ScrollPolicy; import mx.core.ScrollPolicy;
@ -32,17 +29,24 @@
[Bindable] private var messages:ArrayCollection = new ArrayCollection(); [Bindable] private var messages:ArrayCollection = new ArrayCollection();
private var lastCount:Number = 0; private var lastCount:Number = 0;
private function onCreationComplete():void{ private var scrollTimer:Timer;
private var scrollBarWorkaround:Boolean = false;
private function onCreationComplete():void {
addContextMenuItems(); 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{ public function showNewMessage(message:String, translate:Boolean, language:String = null):void {
chatMessagesList.verticalScrollPosition = chatMessagesList.maxVerticalScrollPosition;
chatMessagesList.verticalScrollPosition = chatMessagesList.maxVerticalScrollPosition;
}
public function showNewMessage(message:String, translate:Boolean, language:String = null):void
{
var timeString:String = getHours() + ":" + getMinutes(); var timeString:String = getHours() + ":" + getMinutes();
var components:Array = message.split("|"); var components:Array = message.split("|");
@ -52,35 +56,75 @@
msg.senderId = components[5]; msg.senderId = components[5];
msg.senderLanguage = components[4].toString(); msg.senderLanguage = components[4].toString();
msg.recepientLanguage = language.toString(); msg.receiverLanguage = language.toString();
msg.translate = translate; msg.translate = translate;
msg.translatedText = components[0]; msg.translatedText = components[0];
msg.senderText = components[0]; msg.senderText = components[0];
msg.name = components[1]; msg.name = components[1];
msg.color = uint(components[2]); msg.senderColor = uint(components[2]);
msg.translatedColor = msg.senderColor;
msg.senderTime = components[3]; msg.senderTime = components[3];
msg.time = timeString; msg.time = timeString;
msg.lastTime = lastTime; msg.lastTime = lastTime;
lastTime = timeString; 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.invalidateSize();
chatMessagesList.invalidateDisplayList(); chatMessagesList.invalidateDisplayList();
chatMessagesList.scrollToIndex(messages.length);
var scrollTimer:Timer = new Timer(750, 1); chatMessagesList.verticalScrollPosition = chatMessagesList.maxVerticalScrollPosition;
scrollTimer.addEventListener(TimerEvent.TIMER, onScrollTimer); chatMessagesList.validateDisplayList();
scrollTimer.start(); chatMessagesList.validateNow();
} }
private function onScrollTimer(e:TimerEvent):void{ private function onScrollTimer(event:TimerEvent):void {
updateScroll(); scrollToBottom();
} }
public static function getMinutes():String{ public static function getMinutes():String {
var time:Date = new Date(); var time:Date = new Date();
var minutes:String; var minutes:String;
if (time.minutes < 10) minutes = "0" + time.minutes; if (time.minutes < 10) minutes = "0" + time.minutes;
@ -88,7 +132,7 @@
return minutes; return minutes;
} }
public static function getHours():String{ public static function getHours():String {
var time:Date = new Date(); var time:Date = new Date();
var hours:String; var hours:String;
if (time.hours < 10) hours = "0" + time.hours; if (time.hours < 10) hours = "0" + time.hours;
@ -119,9 +163,9 @@
var contextMenu:ContextMenu = new ContextMenu(); var contextMenu:ContextMenu = new ContextMenu();
contextMenu.hideBuiltInItems(); contextMenu.hideBuiltInItems();
var capyAllButton:ContextMenuItem = new ContextMenuItem(COPY_ALL_BUTTON); var copyAllButton:ContextMenuItem = new ContextMenuItem(COPY_ALL_BUTTON);
capyAllButton.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemHandler); copyAllButton.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemHandler);
contextMenu.customItems.push(capyAllButton); contextMenu.customItems.push(copyAllButton);
this.contextMenu = contextMenu; this.contextMenu = contextMenu;
} }
@ -134,7 +178,7 @@
private function getAllAsString():String{ private function getAllAsString():String{
var allText: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; var item:ChatMessage = messages.getItemAt(i) as ChatMessage;
allText += "\n" + item.name + " - " + item.time + " : " + item.translatedText; allText += "\n" + item.name + " - " + item.time + " : " + item.translatedText;
} }

View File

@ -6,43 +6,12 @@
<mx:Script> <mx:Script>
<![CDATA[ <![CDATA[
import org.bigbluebutton.modules.chat.model.ChatMessage; import org.bigbluebutton.modules.chat.model.ChatMessage;
import org.bigbluebutton.common.LogUtil; 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.binding.utils.ChangeWatcher;
import mx.controls.Alert;
[Bindable] private var rolledOver:Boolean = false;
[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 chatMsg:ChatMessage;
[Bindable] private var chatTime:String;
private function onLinkClick(e:TextEvent):void{ private function onLinkClick(e:TextEvent):void{
var url:URLRequest = new URLRequest(e.text); var url:URLRequest = new URLRequest(e.text);
@ -50,33 +19,31 @@
} }
private function onCreationComplete():void{ private function onCreationComplete():void{
this.dataWatcher = ChangeWatcher.watch(this, "data", dataChangeHandler); /** Register a change handler as the renderer get recycled. If we don't
chatMsg = data as ChatMessage; * do this, we'll get a stale data which will display the chat
var t:Timer = new Timer(200, 1); * message repeatedly. (ralam Nov 1, 2010)
t.addEventListener(TimerEvent.TIMER, changeData); */
t.start(); ChangeWatcher.watch(this, "data", dataChangeHandler);
} if (data != null) {
chatMsg = data as ChatMessage;
private function changeData(e:TimerEvent):void{ chatMsg.translateMessage();
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{ private function dataChangeHandler(e:Event = null):void{
if (data == null) { if (data == null) {
return; return;
} }
chatMsg = data as ChatMessage;
senderId = chatMsg.senderId; chatMsg.translateMessage();
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.translateMessage();
} }
private function onRollOver():void{ private function onRollOver():void{
@ -86,12 +53,14 @@
private function onRollOut():void{ private function onRollOut():void{
rolledOver = false; rolledOver = false;
} }
]]> ]]>
</mx:Script> </mx:Script>
<mx:Label maxWidth="50" width="50" truncateToFit="true" id="lblName" text="{senderName}" visible="{!(senderId == lastSenderId)}" color="gray" /> <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 ? senderText : text}" link="onLinkClick(event)" color="{chatMsg.color}" <mx:Text id="txtMessage" htmlText="{rolledOver ? chatMsg.senderText : chatMsg.translatedText}" link="onLinkClick(event)" color="{chatMsg.senderColor}"
rollOver="onRollOver()" rollOut="onRollOut()" width="100%" /> 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> </mx:HBox>

View File

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

View File

@ -1505,12 +1505,6 @@ if [ -n "$HOST" ]; then
if [ $VOICE_CONFERENCE == "bbb-voice-freeswitch.xml" ]; then if [ $VOICE_CONFERENCE == "bbb-voice-freeswitch.xml" ]; then
if [ -f /usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.properties ]; 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" 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" \ sudo sed -i "s/sip.server.host=.*/sip.server.host=$IP/g" \
/usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.properties /usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.properties

View File

@ -35,11 +35,13 @@ public class AsteriskAgiService implements AgiScript {
def dynamicConferenceService def dynamicConferenceService
public void service(AgiRequest request, AgiChannel channel) public void service(AgiRequest request, AgiChannel channel)
throws AgiException { throws AgiException {
} def number = request.getParameter("conference")
if (dynamicConferenceService.isMeetingWithVoiceBridgeExist(number)) {
private void setConferenceNotFound() { channel.setVariable("CONFERENCE_FOUND", number)
channel.setVariable("CONFERENCE_FOUND", "0") } 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 'java'
usePlugin 'war' usePlugin 'war'
version = '0.64' version = '0.71'
jar.enabled = true jar.enabled = true

View File

@ -4,7 +4,7 @@ targetCompatibility=1.6
ant.importBuild 'build.xml' ant.importBuild 'build.xml'
version = '0.64' version = '0.71'
archivesBaseName = 'bbb-deskshare-applet' archivesBaseName = 'bbb-deskshare-applet'
dependencies { dependencies {
@ -26,6 +26,6 @@ jar.doFirst {
* do not want to sign and manage 2 jar files. * 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>
<target name="signJar" depends="getPassword"> <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}" alias="${keystore.alias}"
keystore="${keystore}" keystore="${keystore}"
storepass="${keystore.password}" /> storepass="${keystore.password}" />
@ -64,7 +64,7 @@
</target> </target>
<target name="sign-jar" depends="get-password"> <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}" alias="${keystore.alias}"
keystore="${keystore}" keystore="${keystore}"
storepass="${keystore.password}" /> storepass="${keystore.password}" />

View File

@ -107,7 +107,7 @@ public class ScreenSharerRunner {
System.out.println("-----------------------------------------------------------------------"); System.out.println("-----------------------------------------------------------------------");
System.out.println(LICENSE_HEADER); System.out.println(LICENSE_HEADER);
System.out.println("-----------------------------------------------------------------------\n\n"); 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("Start");
System.out.println("Connecting to " + ssi.host + ":" + ssi.port + " room " + ssi.room); 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); 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' usePlugin 'java'
version = '0.64' version = '0.71'
archivesBaseName = 'bbb-deskshare-common' archivesBaseName = 'bbb-deskshare-common'