@elice/material-runbox 1.260429.0-improvetimerpopoverui.0 → 1.260430.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/material-runbox/locales/en.json.js +1 -1
- package/cjs/components/material-runbox/locales/ja.json.js +1 -1
- package/cjs/components/material-runbox/locales/ko.json.js +1 -1
- package/cjs/components/material-runbox/locales/th.json.js +1 -1
- package/cjs/components/material-runbox/timer/MaterialRunboxTimer.js +9 -11
- package/cjs/components/material-runbox/timer/MaterialRunboxTimerDetailPopover.d.ts +0 -1
- package/cjs/components/material-runbox/timer/MaterialRunboxTimerDetailPopover.js +31 -85
- package/es/components/material-runbox/locales/en.json.js +1 -1
- package/es/components/material-runbox/locales/ja.json.js +1 -1
- package/es/components/material-runbox/locales/ko.json.js +1 -1
- package/es/components/material-runbox/locales/th.json.js +1 -1
- package/es/components/material-runbox/timer/MaterialRunboxTimer.js +10 -12
- package/es/components/material-runbox/timer/MaterialRunboxTimerDetailPopover.d.ts +0 -1
- package/es/components/material-runbox/timer/MaterialRunboxTimerDetailPopover.js +35 -88
- package/package.json +5 -5
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var messageEn = {"common.cancel":"Cancel","material.tutoring.runbox_confirm_dialog.action.confirm":"Proceed","material.tutoring.runbox_confirm_dialog.content":"The Runbox environment is currently running for the {_termCourseRoleStudent}. If you connect, the remaining total runtime usage time will decrease. Do you want to proceed?","material.tutoring.runbox_confirm_dialog.title":"Running Runbox","runbox.action.autoShutdown.title":"Always on","runbox.action.autoShutdown.tooltip":"This feature is not available for this session, as it's set to automatically shut down upon departure.","runbox.action.grade.dialog.description.error":"There is a problem with the code or submission file.\nPlease check the error message below and verify that the submission format meets the requirements. Then, submit again.","runbox.action.grade.dialog.description.success":"Grading completed successfully.","runbox.action.grade.dialog.title":"Grading result","runbox.action.grade.noti.error":"An error occurred while grading the code.","runbox.action.grade.title":"Submit","runbox.action.grade.tooltip.onProgress":"Grading is in progress. Please wait for a moment. Depending on the {_termLibraryLecturePage}, grading may take up to 3 minutes.","runbox.action.reset.dialog.actions.confirm":"Reset","runbox.action.reset.dialog.isolated.description":"Are you sure you want to reset the runbox code? Your codes will be overwritten to default code of {_termLibraryLecturePage}.\nAfter reset, the runbox session will be refreshed.","runbox.action.reset.dialog.shared.description":"Do you want to reset the Runbox code? If you reset, the code written by team members will also be overwritten with the default code. The Runbox session will be refreshed after resetting.","runbox.action.reset.noti.error":"An error occurred while initializing the runbox code.","runbox.action.reset.title":"Reset code","runbox.action.restart.dialog.actions.confirm":"Restart","runbox.action.restart.dialog.isolated.description":"Are you sure you want to restart the runbox?","runbox.action.restart.dialog.shared.description":"The Runbox will also restart on your teammates' screens. Do you want to restart the Runbox?","runbox.action.restart.title":"Restart runbox","runbox.action.share.snackbar.copied.fail":"Copying the runbox URL failed, please try again","runbox.action.share.snackbar.copied.success":"The runbox URL was copied successfully.","runbox.action.share.title":"Share runbox URL","runbox.action.submitCountInfo.dialog.description":"You have exceeded the submission count limit","runbox.action.submitCountInfo.dialog.title":"Limit the number of submissions","runbox.action.submitCountInfo.tooltip.disabled":"The submission count has been used up","runbox.action.submitLog.dialog.download.tooltip":"Download submitted file","runbox.action.submitLog.dialog.title":"Submission History","runbox.action.submitLog.empty":"No submission history exists.","runbox.action.submitLog.title":"Runbox Submission History","runbox.action.disconnect.dialog.title":"Disconnect Runbox","runbox.action.disconnect.dialog.description":"You are currently in a practice session. Do you want to disconnect Runbox?\nIf you have any unsaved work, please save it first.","runbox.action.disconnect.dialog.disconnect":"Disconnect","runbox.action.disconnect.title":"Disconnect","runbox.action.menu.title":"More","runbox.alert.title":"You are connected to the student's currently running environment, and the total runtime usage time is being deducted. Please note that even if the student exits Runbox, time will continue to be deducted as long as tutoring continues.","runbox.common.close":"Close","runbox.common.retry":"Retry","runbox.common.score":"{score} points","runbox.common.support":"Support","runbox.common.connect":"Connect","runbox.context.command.ping.error":"An error occurred while processing task.","runbox.header.submitInfo":"{isIndividual, select, true {} other {Team}} submission count | {remainCount}/{totalCount} times left {isDailyLimitEnabled, select, true {today} other {}}","runbox.timer.title":"Remaining Time","runbox.timer.unlimited":"Unlimited","runbox.timer.tooltip.title":"View time information","runbox.timer.popover.title":"Runbox Usage Time Guide","runbox.timer.popover.description":"This is the
|
|
5
|
+
var messageEn = {"common.cancel":"Cancel","material.tutoring.runbox_confirm_dialog.action.confirm":"Proceed","material.tutoring.runbox_confirm_dialog.content":"The Runbox environment is currently running for the {_termCourseRoleStudent}. If you connect, the remaining total runtime usage time will decrease. Do you want to proceed?","material.tutoring.runbox_confirm_dialog.title":"Running Runbox","runbox.action.autoShutdown.title":"Always on","runbox.action.autoShutdown.tooltip":"This feature is not available for this session, as it's set to automatically shut down upon departure.","runbox.action.grade.dialog.description.error":"There is a problem with the code or submission file.\nPlease check the error message below and verify that the submission format meets the requirements. Then, submit again.","runbox.action.grade.dialog.description.success":"Grading completed successfully.","runbox.action.grade.dialog.title":"Grading result","runbox.action.grade.noti.error":"An error occurred while grading the code.","runbox.action.grade.title":"Submit","runbox.action.grade.tooltip.onProgress":"Grading is in progress. Please wait for a moment. Depending on the {_termLibraryLecturePage}, grading may take up to 3 minutes.","runbox.action.reset.dialog.actions.confirm":"Reset","runbox.action.reset.dialog.isolated.description":"Are you sure you want to reset the runbox code? Your codes will be overwritten to default code of {_termLibraryLecturePage}.\nAfter reset, the runbox session will be refreshed.","runbox.action.reset.dialog.shared.description":"Do you want to reset the Runbox code? If you reset, the code written by team members will also be overwritten with the default code. The Runbox session will be refreshed after resetting.","runbox.action.reset.noti.error":"An error occurred while initializing the runbox code.","runbox.action.reset.title":"Reset code","runbox.action.restart.dialog.actions.confirm":"Restart","runbox.action.restart.dialog.isolated.description":"Are you sure you want to restart the runbox?","runbox.action.restart.dialog.shared.description":"The Runbox will also restart on your teammates' screens. Do you want to restart the Runbox?","runbox.action.restart.title":"Restart runbox","runbox.action.share.snackbar.copied.fail":"Copying the runbox URL failed, please try again","runbox.action.share.snackbar.copied.success":"The runbox URL was copied successfully.","runbox.action.share.title":"Share runbox URL","runbox.action.submitCountInfo.dialog.description":"You have exceeded the submission count limit","runbox.action.submitCountInfo.dialog.title":"Limit the number of submissions","runbox.action.submitCountInfo.tooltip.disabled":"The submission count has been used up","runbox.action.submitLog.dialog.download.tooltip":"Download submitted file","runbox.action.submitLog.dialog.title":"Submission History","runbox.action.submitLog.empty":"No submission history exists.","runbox.action.submitLog.title":"Runbox Submission History","runbox.action.disconnect.dialog.title":"Disconnect Runbox","runbox.action.disconnect.dialog.description":"You are currently in a practice session. Do you want to disconnect Runbox?\nIf you have any unsaved work, please save it first.","runbox.action.disconnect.dialog.disconnect":"Disconnect","runbox.action.disconnect.title":"Disconnect","runbox.action.menu.title":"More","runbox.alert.title":"You are connected to the student's currently running environment, and the total runtime usage time is being deducted. Please note that even if the student exits Runbox, time will continue to be deducted as long as tutoring continues.","runbox.common.close":"Close","runbox.common.retry":"Retry","runbox.common.score":"{score} points","runbox.common.support":"Support","runbox.common.connect":"Connect","runbox.context.command.ping.error":"An error occurred while processing task.","runbox.header.submitInfo":"{isIndividual, select, true {} other {Team}} submission count | {remainCount}/{totalCount} times left {isDailyLimitEnabled, select, true {today} other {}}","runbox.timer.title":"Remaining Runbox Time","runbox.timer.unlimited":"Unlimited","runbox.timer.tooltip.title":"View time information","runbox.timer.popover.title":"Runbox Usage Time Guide","runbox.timer.popover.description":"This is the Runbox practice time granted to {user}.\nTime continues to decrease while connected. To stop the time deduction, disconnect or leave the course material. Please be sure to disconnect when not in use.","runbox.timer.popover.quota.title":"Total Available Time","runbox.timer.popover.quota_per_session.title":"Remaining Time for This Session","runbox.timer.popover.quota_per_session.description":"Each session has a maximum time limit of {time}. If total available time remains, you can reconnect to the Runbox and continue the session.","runbox.timer.popover.quota.disconnect":"Disconnect","runbox.timer.almost_end.snackbar.quota_per_session":"{time} remaining for the time allocated per practice session.","runbox.timer.almost_end.snackbar.quota":"{time} remaining for the total available Runbox usage time.","runbox.timer.almost_end.snackbar.detail":"Learn more","runbox.disk.almost_full.snackbar.almost_full":"The remaining disk space is {capacity}. If the space runs out, the session will end, so please save your ongoing work now.","runbox.runtime.message.lxp_plan_required":"Your institution currently does not support Runbox course materials.\nPlease contact your institution administrator for more details.","runbox.runtime.message.runbox_unavailable":"Runbox Unavailable","runbox.runtime.message.startError":"There was an error starting the runbox.","runbox.runtime.overlay.assigned.description":"(3 of 3)\nRunbox is running.\nPlease wait!","runbox.runtime.overlay.assigned.description_timeout":"(3 of 3)\nRunning the runbox is taking longer than we expected.\nPlease wait a little longer without refreshing!","runbox.runtime.overlay.queued.description":"(2 of 3)\nCurrently queued {waiters} times...","runbox.runtime.overlay.queued.description_zero":"(2 of 3)\nRunbox will run soon","runbox.runtime.overlay.terminated.description.default":"To continue your Runbox practice session, please click the Connect button.","runbox.runtime.overlay.terminated.description.os_disk_is_full":"The disk space has been completely used up, and the practice session has ended.","runbox.runtime.overlay.terminated.description.quota_exceeded":"The runtime has been terminated because the usage time has expired.","runbox.runtime.overlay.terminated.description.quota_per_session_exceeded":"The runtime has been terminated because the per-session usage time has expired.\nTo reconnect to Runbox, please click the button below.","runbox.runtime.overlay.terminated.title":"Runtime disconnected","runbox.runtime.overlay.terminated.connect":"Connect","runbox.runtime.overlay.terminated.unlimited":"Unlimited","runbox.runtime.overlay.terminated.contact":"Contact Customer Service","runbox.runtime.overlay.terminated.quota.total":"Total Available Time","runbox.runtime.overlay.terminated.quota.used":"Total Time Used","runbox.runtime.overlay.terminated.disk.total":"Total Disk","runbox.runtime.overlay.terminated.disk.used":"Total Disk Used","runbox.runtime.overlay.conflicted.description":"Connecting to this Runbox exercise will terminate the Runbox in another course material.\nPlease save any unsaved work first.","runbox.runtime.overlay.conflicted.title":"A Runbox is currently connected to another course material","runbox.runtime.dialog.change_material.title":"Notice of Runbox Connection Change","runbox.runtime.dialog.change_material.description":"Connecting to this Runbox exercise will terminate the Runbox in another course material. Do you want to continue?"};
|
|
6
6
|
|
|
7
7
|
exports.default = messageEn;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var ja = {"common.cancel":"キャンセル","material.tutoring.runbox_confirm_dialog.action.confirm":"進行","material.tutoring.runbox_confirm_dialog.content":"現在、{_termCourseRoleStudent} が実行中のランボックス環境です。接続すると、残りのランタイム使用時間が減少します。続行しますか?","material.tutoring.runbox_confirm_dialog.title":"実行中のランボックス","runbox.action.autoShutdown.title":"常にオン","runbox.action.autoShutdown.tooltip":"現在のセッションは離脱時に自動終了するため、この機能は使用できません。","runbox.action.grade.dialog.description.error":"コードまたは提出ファイルに問題があります。\n以下のエラーメッセージを確認し、提出形式が要件を満たしていることを確認してください。その後、再度提出してください。","runbox.action.grade.dialog.description.success":"成績評価が成功裏に完了しました。","runbox.action.grade.dialog.title":"成績結果","runbox.action.grade.noti.error":"コードの採点中にエラーが発生しました。","runbox.action.grade.title":"提出","runbox.action.grade.tooltip.onProgress":"採点中です。しばらくお待ちください。{_termLibraryLecturePage}によって、採点には最大3分かかる場合があります。","runbox.action.reset.dialog.actions.confirm":"リセット","runbox.action.reset.dialog.isolated.description":"ランボックスのコードをリセットしてもよろしいですか? あなたのコードは {_termLibraryLecturePage} のデフォルトコードに上書きされます。\nリセット後、ランボックスのセッションがリフレッシュされます。","runbox.action.reset.dialog.shared.description":"Runboxのコードを初期化しますか?初期化すると、チームメンバーの画面でもコードがデフォルトに上書きされます。初期化後、Runboxセッションがリフレッシュされます。","runbox.action.reset.noti.error":"ランボックスコードの初期化中にエラーが発生しました。","runbox.action.reset.title":"リセットコード","runbox.action.restart.dialog.actions.confirm":"再起動","runbox.action.restart.dialog.isolated.description":"再起動してもよろしいですか?","runbox.action.restart.dialog.shared.description":"チームメンバーの画面でもRunboxが再起動されます。Runboxを再起動しますか?","runbox.action.restart.title":"ランボックスを再起動してください","runbox.action.share.snackbar.copied.fail":"ランボックスのURLをコピーすることに失敗しました。もう一度お試しください。","runbox.action.share.snackbar.copied.success":"ランボックスのURLが正常にコピーされました。","runbox.action.share.title":"ランボックスのURLを共有してください。","runbox.action.submitCountInfo.dialog.description":"提出回数の制限を超えています","runbox.action.submitCountInfo.dialog.title":"投稿の数を制限してください。","runbox.action.submitCountInfo.tooltip.disabled":"提出回数が使い果たされました。","runbox.action.submitLog.dialog.download.tooltip":"提出ファイルをダウンロード","runbox.action.submitLog.dialog.title":"提出履歴","runbox.action.submitLog.empty":"提出履歴が存在しません。","runbox.action.submitLog.title":"ランボックス提出履歴","runbox.action.disconnect.dialog.title":"Runboxの接続を解除","runbox.action.disconnect.dialog.description":"現在、実習を進行中です。Runboxの接続を解除しますか?\n保存していない内容がある場合は、先に保存してください。","runbox.action.disconnect.dialog.disconnect":"接続解除","runbox.action.disconnect.title":"接続解除","runbox.action.menu.title":"その他","runbox.alert.title":"現在、学生が実行中の環境に接続しているため、ランタイムの全使用時間が減少しています。学生がランボックスを終了しても、チュータリングを続ける限り、時間が引き続き減少するのでご注意ください。","runbox.common.close":"閉じる","runbox.common.retry":"リトライ","runbox.common.score":"{score}点","runbox.common.support":"サポート","runbox.common.connect":"接続する","runbox.context.command.ping.error":"タスクの処理中にエラーが発生しました。","runbox.header.submitInfo":"{isIndividual, select, true {個人} other {チーム}}の提出回数 | {remainCount}/{totalCount} 回残っています {isDailyLimitEnabled, select, true {今日} other {}}","runbox.timer.title":"
|
|
5
|
+
var ja = {"common.cancel":"キャンセル","material.tutoring.runbox_confirm_dialog.action.confirm":"進行","material.tutoring.runbox_confirm_dialog.content":"現在、{_termCourseRoleStudent} が実行中のランボックス環境です。接続すると、残りのランタイム使用時間が減少します。続行しますか?","material.tutoring.runbox_confirm_dialog.title":"実行中のランボックス","runbox.action.autoShutdown.title":"常にオン","runbox.action.autoShutdown.tooltip":"現在のセッションは離脱時に自動終了するため、この機能は使用できません。","runbox.action.grade.dialog.description.error":"コードまたは提出ファイルに問題があります。\n以下のエラーメッセージを確認し、提出形式が要件を満たしていることを確認してください。その後、再度提出してください。","runbox.action.grade.dialog.description.success":"成績評価が成功裏に完了しました。","runbox.action.grade.dialog.title":"成績結果","runbox.action.grade.noti.error":"コードの採点中にエラーが発生しました。","runbox.action.grade.title":"提出","runbox.action.grade.tooltip.onProgress":"採点中です。しばらくお待ちください。{_termLibraryLecturePage}によって、採点には最大3分かかる場合があります。","runbox.action.reset.dialog.actions.confirm":"リセット","runbox.action.reset.dialog.isolated.description":"ランボックスのコードをリセットしてもよろしいですか? あなたのコードは {_termLibraryLecturePage} のデフォルトコードに上書きされます。\nリセット後、ランボックスのセッションがリフレッシュされます。","runbox.action.reset.dialog.shared.description":"Runboxのコードを初期化しますか?初期化すると、チームメンバーの画面でもコードがデフォルトに上書きされます。初期化後、Runboxセッションがリフレッシュされます。","runbox.action.reset.noti.error":"ランボックスコードの初期化中にエラーが発生しました。","runbox.action.reset.title":"リセットコード","runbox.action.restart.dialog.actions.confirm":"再起動","runbox.action.restart.dialog.isolated.description":"再起動してもよろしいですか?","runbox.action.restart.dialog.shared.description":"チームメンバーの画面でもRunboxが再起動されます。Runboxを再起動しますか?","runbox.action.restart.title":"ランボックスを再起動してください","runbox.action.share.snackbar.copied.fail":"ランボックスのURLをコピーすることに失敗しました。もう一度お試しください。","runbox.action.share.snackbar.copied.success":"ランボックスのURLが正常にコピーされました。","runbox.action.share.title":"ランボックスのURLを共有してください。","runbox.action.submitCountInfo.dialog.description":"提出回数の制限を超えています","runbox.action.submitCountInfo.dialog.title":"投稿の数を制限してください。","runbox.action.submitCountInfo.tooltip.disabled":"提出回数が使い果たされました。","runbox.action.submitLog.dialog.download.tooltip":"提出ファイルをダウンロード","runbox.action.submitLog.dialog.title":"提出履歴","runbox.action.submitLog.empty":"提出履歴が存在しません。","runbox.action.submitLog.title":"ランボックス提出履歴","runbox.action.disconnect.dialog.title":"Runboxの接続を解除","runbox.action.disconnect.dialog.description":"現在、実習を進行中です。Runboxの接続を解除しますか?\n保存していない内容がある場合は、先に保存してください。","runbox.action.disconnect.dialog.disconnect":"接続解除","runbox.action.disconnect.title":"接続解除","runbox.action.menu.title":"その他","runbox.alert.title":"現在、学生が実行中の環境に接続しているため、ランタイムの全使用時間が減少しています。学生がランボックスを終了しても、チュータリングを続ける限り、時間が引き続き減少するのでご注意ください。","runbox.common.close":"閉じる","runbox.common.retry":"リトライ","runbox.common.score":"{score}点","runbox.common.support":"サポート","runbox.common.connect":"接続する","runbox.context.command.ping.error":"タスクの処理中にエラーが発生しました。","runbox.header.submitInfo":"{isIndividual, select, true {個人} other {チーム}}の提出回数 | {remainCount}/{totalCount} 回残っています {isDailyLimitEnabled, select, true {今日} other {}}","runbox.timer.title":"残りのRunbox時間","runbox.timer.unlimited":"無制限","runbox.timer.tooltip.title":"時間の案内を見る","runbox.timer.popover.title":"ランボックス使用時間の案内","runbox.timer.popover.description":"{user}に付与されたランボックスの実習時間です。\n接続中は時間が減り続けます。時間の減少を止めるには、接続を解除するか教材から退出してください。使用しないときは必ず接続を解除してください。","runbox.timer.popover.quota.title":"総使用可能時間","runbox.timer.popover.quota_per_session.title":"今回の実習の残り時間","runbox.timer.popover.quota_per_session.description":"1回の実習には最大{time}の制限時間があります。総使用可能時間が残っていれば、再接続して実習を続けることができます。","runbox.timer.popover.quota.disconnect":"接続を解除","runbox.timer.almost_end.snackbar.quota_per_session":"1回の実習に割り当てられた時間は残り{time}です。","runbox.timer.almost_end.snackbar.quota":"Runboxの総利用可能時間は残り{time}です。","runbox.timer.almost_end.snackbar.detail":"詳細を見る","runbox.disk.almost_full.snackbar.almost_full":"ディスクの残り容量は {capacity} です。容量がすべてなくなると実習は終了しますので、進行中の作業を今すぐ保存してください。","runbox.runtime.message.lxp_plan_required":"現在、所属機関ではRunboxの学習資料を利用できません。\n詳細については機関の管理者にお問い合わせください。","runbox.runtime.message.runbox_unavailable":"Runboxは利用できません","runbox.runtime.message.startError":"ランボックスの起動中にエラーが発生しました。","runbox.runtime.overlay.assigned.description":"Runbox が実行中です。\nお待ちください!","runbox.runtime.overlay.assigned.description_timeout":"ランボックスを実行する時間が私たちの予想よりも長くかかっています。\n更新せずにもう少し待ってください!","runbox.runtime.overlay.queued.description":"現在{waiters}回待機中...","runbox.runtime.overlay.queued.description_zero":"Runboxはもうすぐ実行されます。","runbox.runtime.overlay.terminated.description.default":"Runboxの実習を続けるには、「接続」ボタンをクリックしてください。","runbox.runtime.overlay.terminated.description.os_disk_is_full":"ディスク容量をすべて使い切ったため、実習は終了しました。","runbox.runtime.overlay.terminated.description.quota_exceeded":"ランタイムの利用時間が終了したため、ランタイムは停止されました。","runbox.runtime.overlay.terminated.description.quota_per_session_exceeded":"Runboxセッションごとの利用時間が終了したため、ランタイムは停止されました。\nRunboxに再接続するには、下のボタンをクリックしてください。","runbox.runtime.overlay.terminated.title":"接続解除","runbox.runtime.overlay.terminated.connect":"接続","runbox.runtime.overlay.terminated.unlimited":"無制限","runbox.runtime.overlay.terminated.contact":"カスタマーサービスにお問い合わせ","runbox.runtime.overlay.terminated.quota.total":"利用可能時間の合計","runbox.runtime.overlay.terminated.quota.used":"総利用時間","runbox.runtime.overlay.terminated.disk.total":"ディスク合計","runbox.runtime.overlay.terminated.disk.used":"使用済みディスク合計","runbox.runtime.overlay.conflicted.description":"このランボックス演習に接続すると、他の教材のランボックスは終了します。\n保存していない内容がある場合は、先に保存してください。","runbox.runtime.overlay.conflicted.title":"現在、他の教材にランボックスが接続されています","runbox.runtime.dialog.change_material.title":"ランボックス接続変更のお知らせ","runbox.runtime.dialog.change_material.description":"このランボックス演習に接続すると、他の教材のランボックスは終了します。続行しますか?"};
|
|
6
6
|
|
|
7
7
|
exports.default = ja;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var messageKo = {"common.cancel":"취소","material.tutoring.runbox_confirm_dialog.action.confirm":"진행","material.tutoring.runbox_confirm_dialog.content":"현재 {_termCourseRoleStudent}이/가 실행 중인 런박스 환경입니다. 접속할 경우 남은 런타임 전체 사용 시간이 줄어듭니다. 계속 진행하시겠습니까?","material.tutoring.runbox_confirm_dialog.title":"실행 중인 런박스","runbox.action.autoShutdown.title":"항상 켜두기","runbox.action.autoShutdown.tooltip":"현재 이탈 시 종료되는 실습으로 해당 기능을 사용할 수 없습니다.","runbox.action.grade.dialog.description.error":"코드 또는 제출 파일에 문제가 있어 제출에 실패했습니다.\n아래 오류 메시지를 참고하여 제출 형식이 요구사항에 맞는지 확인한 뒤, 다시 제출해주세요.","runbox.action.grade.dialog.description.success":"채점이 완료되었습니다.","runbox.action.grade.dialog.title":"채점 결과","runbox.action.grade.noti.error":"코드를 채점하는 도중 오류가 발생했습니다.","runbox.action.grade.title":"제출","runbox.action.grade.tooltip.onProgress":"코드 채점이 진행 중 입니다. 잠시만 기다려 주세요. 실습에 따라 채점이 최대 3분까지 소요될 수 있습니다.","runbox.action.reset.dialog.actions.confirm":"초기화","runbox.action.reset.dialog.isolated.description":"런박스 코드를 초기화하시겠습니까? 초기화 시 학습{_termLibraryLecturePage}의 코드가 기본 코드로 덮어씌워집니다.\n초기화 이후 런박스 세션이 새로고침 됩니다.","runbox.action.reset.dialog.shared.description":"런박스 코드를 초기화하시겠습니까? 초기화 시 팀원들의 화면에서도 작성한 코드가 기본 코드로 덮어씌워집니다. 초기화 이후 런박스 세션이 새로고침 됩니다.","runbox.action.reset.noti.error":"런박스 코드를 초기화 하는 중에 오류가 발생했습니다.","runbox.action.reset.title":"코드 초기화","runbox.action.restart.dialog.actions.confirm":"재시작","runbox.action.restart.dialog.isolated.description":"런박스를 재시작 하시겠습니까?","runbox.action.restart.dialog.shared.description":"팀원들의 화면에서도 런박스가 재시작 됩니다. 런박스를 재시작하시겠습니까?","runbox.action.restart.title":"런박스 재시작","runbox.action.share.snackbar.copied.fail":"런박스 URL을 복사에 실패했습니다. 다시 시도해주세요.","runbox.action.share.snackbar.copied.success":"런박스 URL을 복사하였습니다.","runbox.action.share.title":"런박스 URL 복사","runbox.action.submitCountInfo.dialog.description":"제출 횟수 제한을 초과했습니다.","runbox.action.submitCountInfo.dialog.title":"제출 횟수 제한","runbox.action.submitCountInfo.tooltip.disabled":"제출 횟수를 모두 사용했습니다.","runbox.action.submitLog.dialog.download.tooltip":"제출 파일 다운로드","runbox.action.submitLog.dialog.title":"제출 이력","runbox.action.submitLog.empty":"제출 이력이 존재하지 않습니다.","runbox.action.submitLog.title":"런박스 제출 이력","runbox.action.disconnect.dialog.title":"런박스 연결 해제","runbox.action.disconnect.dialog.description":"현재 실습을 진행중 입니다. 런박스를 연결 해제하시겠습니까?\n저장하지 않은 내용이 있다면 먼저 저장해 주세요.","runbox.action.disconnect.dialog.disconnect":"연결 해제","runbox.action.disconnect.title":"연결 해제","runbox.action.menu.title":"더보기","runbox.alert.title":"현재 학생이 실행 중인 환경에 접속하였기 때문에, 런타임 전체 사용 시간이 차감되고 있습니다. 학생이 런박스를 종료하더라도, 튜터링을 진행하면 시간이 계속 차감되니 유의해 주세요.","runbox.common.close":"닫기","runbox.common.retry":"재시도","runbox.common.score":"{score}점","runbox.common.support":"고객센터","runbox.common.connect":"연결하기","runbox.context.command.ping.error":"런박스 작업을 수행하는 도중 오류가 발생했습니다.","runbox.header.submitInfo":"{isIndividual, select, true {} other {팀}} 제출 횟수 | {isDailyLimitEnabled, select, true {오늘} other {}} {remainCount}/{totalCount}회 남음","runbox.timer.title":"남은 시간","runbox.timer.unlimited":"제한없음","runbox.timer.tooltip.title":"시간 안내 보기","runbox.timer.popover.title":"런박스 사용 시간 안내","runbox.timer.popover.description":"{user}
|
|
5
|
+
var messageKo = {"common.cancel":"취소","material.tutoring.runbox_confirm_dialog.action.confirm":"진행","material.tutoring.runbox_confirm_dialog.content":"현재 {_termCourseRoleStudent}이/가 실행 중인 런박스 환경입니다. 접속할 경우 남은 런타임 전체 사용 시간이 줄어듭니다. 계속 진행하시겠습니까?","material.tutoring.runbox_confirm_dialog.title":"실행 중인 런박스","runbox.action.autoShutdown.title":"항상 켜두기","runbox.action.autoShutdown.tooltip":"현재 이탈 시 종료되는 실습으로 해당 기능을 사용할 수 없습니다.","runbox.action.grade.dialog.description.error":"코드 또는 제출 파일에 문제가 있어 제출에 실패했습니다.\n아래 오류 메시지를 참고하여 제출 형식이 요구사항에 맞는지 확인한 뒤, 다시 제출해주세요.","runbox.action.grade.dialog.description.success":"채점이 완료되었습니다.","runbox.action.grade.dialog.title":"채점 결과","runbox.action.grade.noti.error":"코드를 채점하는 도중 오류가 발생했습니다.","runbox.action.grade.title":"제출","runbox.action.grade.tooltip.onProgress":"코드 채점이 진행 중 입니다. 잠시만 기다려 주세요. 실습에 따라 채점이 최대 3분까지 소요될 수 있습니다.","runbox.action.reset.dialog.actions.confirm":"초기화","runbox.action.reset.dialog.isolated.description":"런박스 코드를 초기화하시겠습니까? 초기화 시 학습{_termLibraryLecturePage}의 코드가 기본 코드로 덮어씌워집니다.\n초기화 이후 런박스 세션이 새로고침 됩니다.","runbox.action.reset.dialog.shared.description":"런박스 코드를 초기화하시겠습니까? 초기화 시 팀원들의 화면에서도 작성한 코드가 기본 코드로 덮어씌워집니다. 초기화 이후 런박스 세션이 새로고침 됩니다.","runbox.action.reset.noti.error":"런박스 코드를 초기화 하는 중에 오류가 발생했습니다.","runbox.action.reset.title":"코드 초기화","runbox.action.restart.dialog.actions.confirm":"재시작","runbox.action.restart.dialog.isolated.description":"런박스를 재시작 하시겠습니까?","runbox.action.restart.dialog.shared.description":"팀원들의 화면에서도 런박스가 재시작 됩니다. 런박스를 재시작하시겠습니까?","runbox.action.restart.title":"런박스 재시작","runbox.action.share.snackbar.copied.fail":"런박스 URL을 복사에 실패했습니다. 다시 시도해주세요.","runbox.action.share.snackbar.copied.success":"런박스 URL을 복사하였습니다.","runbox.action.share.title":"런박스 URL 복사","runbox.action.submitCountInfo.dialog.description":"제출 횟수 제한을 초과했습니다.","runbox.action.submitCountInfo.dialog.title":"제출 횟수 제한","runbox.action.submitCountInfo.tooltip.disabled":"제출 횟수를 모두 사용했습니다.","runbox.action.submitLog.dialog.download.tooltip":"제출 파일 다운로드","runbox.action.submitLog.dialog.title":"제출 이력","runbox.action.submitLog.empty":"제출 이력이 존재하지 않습니다.","runbox.action.submitLog.title":"런박스 제출 이력","runbox.action.disconnect.dialog.title":"런박스 연결 해제","runbox.action.disconnect.dialog.description":"현재 실습을 진행중 입니다. 런박스를 연결 해제하시겠습니까?\n저장하지 않은 내용이 있다면 먼저 저장해 주세요.","runbox.action.disconnect.dialog.disconnect":"연결 해제","runbox.action.disconnect.title":"연결 해제","runbox.action.menu.title":"더보기","runbox.alert.title":"현재 학생이 실행 중인 환경에 접속하였기 때문에, 런타임 전체 사용 시간이 차감되고 있습니다. 학생이 런박스를 종료하더라도, 튜터링을 진행하면 시간이 계속 차감되니 유의해 주세요.","runbox.common.close":"닫기","runbox.common.retry":"재시도","runbox.common.score":"{score}점","runbox.common.support":"고객센터","runbox.common.connect":"연결하기","runbox.context.command.ping.error":"런박스 작업을 수행하는 도중 오류가 발생했습니다.","runbox.header.submitInfo":"{isIndividual, select, true {} other {팀}} 제출 횟수 | {isDailyLimitEnabled, select, true {오늘} other {}} {remainCount}/{totalCount}회 남음","runbox.timer.title":"남은 런박스 시간","runbox.timer.unlimited":"제한없음","runbox.timer.tooltip.title":"시간 안내 보기","runbox.timer.popover.title":"런박스 사용 시간 안내","runbox.timer.popover.description":"{user} 님에게 부여된 런박스 실습 시간입니다.\n연결 상태에서는 시간이 계속 차감되며, 연결을 해제하거나 수업 자료를 나가야 차감이 중단됩니다. 사용하지 않을 때는 꼭 연결을 해제해주세요.","runbox.timer.popover.quota.title":"총 사용 가능 시간","runbox.timer.popover.quota_per_session.title":"이번 실습 남은 시간","runbox.timer.popover.quota_per_session.description":"실습 회당 최대 {time}의 제한시간이 있습니다. 총 사용 가능 시간이 남아 있다면, 다시 런박스를 연결해 실습을 이어하실 수 있습니다.","runbox.timer.popover.quota.disconnect":"연결 해제","runbox.timer.almost_end.snackbar.quota_per_session":"실습 회당 부여된 시간 {time} 남았습니다.","runbox.timer.almost_end.snackbar.quota":"런박스 총 사용 가능 시간이 {time} 남았습니다.","runbox.timer.almost_end.snackbar.detail":"더 알아보기","runbox.disk.almost_full.snackbar.almost_full":"디스크 잔여 용량이 {capacity}입니다. 용량이 모두 소진되면 실습이 종료되니,\n진행 중인 작업을 지금 저장해 주세요.","runbox.runtime.message.lxp_plan_required":"현재 기관에서는 런박스 수업 자료를 학습할 수 없습니다.\n자세한 사항은 기관 관리자에게 문의하세요.","runbox.runtime.message.runbox_unavailable":"런박스 사용 불가","runbox.runtime.message.startError":"런박스를 시작하는 중에 오류가 발생했습니다.","runbox.runtime.overlay.assigned.description":"(3 / 3)\n런박스가 실행 중입니다.\n잠시만 기다려주세요!","runbox.runtime.overlay.assigned.description_timeout":"(3 / 3)\n런박스를 실행하는데\n예상보다 시간이 소요되고 있습니다.\n새로고침하지 말고 조금만 더 기다려주세요!","runbox.runtime.overlay.queued.description":"(2 / 3)\n현재 {waiters}번째 대기 중입니다...","runbox.runtime.overlay.queued.description_zero":"(2 / 3)\n곧 런박스가 실행됩니다.","runbox.runtime.overlay.terminated.description.default":"런박스 실습을 진행하시려면, 연결하기 버튼을 눌러주세요.","runbox.runtime.overlay.terminated.description.os_disk_is_full":"디스크 용량을 모두 소진하여 실습이 종료되었습니다.","runbox.runtime.overlay.terminated.description.quota_exceeded":"런타임 사용시간이 만료되어 런타임이 종료되었습니다.","runbox.runtime.overlay.terminated.description.quota_per_session_exceeded":"런박스 세션당 사용시간이 만료되어 런타임이 종료되었습니다.\n런박스를 재접속하려면 아래 버튼을 눌러주세요.","runbox.runtime.overlay.terminated.title":"연결 해제","runbox.runtime.overlay.terminated.connect":"연결하기","runbox.runtime.overlay.terminated.unlimited":"제한 없음","runbox.runtime.overlay.terminated.contact":"고객센터 문의하기","runbox.runtime.overlay.terminated.quota.total":"전체 사용 가능 시간","runbox.runtime.overlay.terminated.quota.used":"총 사용 시간","runbox.runtime.overlay.terminated.disk.total":"전체 디스크","runbox.runtime.overlay.terminated.disk.used":"총 사용 디스크","runbox.runtime.overlay.conflicted.description":"이 런박스 실습을 연결하면 다른 수업자료의 런박스는 종료됩니다.\n저장하지 않은 내용이 있다면 먼저 저장해 주세요.","runbox.runtime.overlay.conflicted.title":"현재 다른 수업자료에 런박스가 연결되어 있습니다","runbox.runtime.dialog.change_material.title":"런박스 연결 변경 안내","runbox.runtime.dialog.change_material.description":"이 런박스 실습을 연결하면 다른 수업자료의 런박스는 종료됩니다. 계속하시겠습니까?"};
|
|
6
6
|
|
|
7
7
|
exports.default = messageKo;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var th = {"common.cancel":"ยกเลิก","material.tutoring.runbox_confirm_dialog.action.confirm":"ดำเนินการ","material.tutoring.runbox_confirm_dialog.content":"ขณะนี้นักเรียน {_termCourseRoleStudent} กำลังทำงานในสภาพแวดล้อม Runbox หากคุณเชื่อมต่อ เวลาที่เหลือสำหรับการใช้งานรันไทม์ทั้งหมดจะลดลง คุณต้องการดำเนินการต่อหรือไม่?","material.tutoring.runbox_confirm_dialog.title":"รันบ็อกซ์กำลังทำงาน","runbox.action.autoShutdown.title":"เปิดตลอดเวลา","runbox.action.autoShutdown.tooltip":"คุณสมบัตินี้ไม่สามารถใช้งานได้ในเซสชันนี้ เนื่องจากมีการตั้งค่าให้ปิดการทำงานอัตโนมัติเมื่อออก","runbox.action.grade.dialog.description.error":"มีปัญหาในโค้ดหรือไฟล์ที่ส่ง\nกรุณาตรวจสอบข้อความข้อผิดพลาดด้านล่างและตรวจสอบว่ารูปแบบการส่งตรงกับความต้องการ จากนั้นส่งอีกครั้ง","runbox.action.grade.dialog.description.success":"การจัดเกรดเสร็จสมบูรณ์เรียบร้อยแล้ว","runbox.action.grade.dialog.title":"ผลการประเมินผลการเรียน","runbox.action.grade.noti.error":"เกิดข้อผิดพลาดขึ้นในขณะที่ทำการตรวจคะแนนของโค้ด","runbox.action.grade.title":"ส่ง","runbox.action.grade.tooltip.onProgress":"กำลังให้คะแนนโค้ด โปรดรอสักครู่ การให้คะแนนอาจใช้เวลาสูงสุด 3 นาที ขึ้นอยู่กับประเภทของการฝึกอบรม","runbox.action.reset.dialog.actions.confirm":"รีเซ็ต","runbox.action.reset.dialog.isolated.description":"ต้องการรีเซ็ตโค้ด Runbox หรือไม่? การรีเซ็ตจะแทนที่โค้ดของคุณด้วยโค้ดเริ่มต้นของหน้าเรียน {_termLibraryLecturePage} \nเซสชัน Runbox จะรีเฟรชหลังจากรีเซ็ต","runbox.action.reset.dialog.shared.description":"คุณต้องการรีเซ็ตโค้ดของ Runbox หรือไม่? หากทำการรีเซ็ต โค้ดที่ทีมเขียนไว้จะถูกเขียนทับด้วยโค้ดเริ่มต้น และเซสชันของ Runbox จะถูกรีเฟรชหลังจากนั้น","runbox.action.reset.noti.error":"เกิดข้อผิดพลาดระหว่างการรีเซ็ตโค้ด Runbox","runbox.action.reset.title":"รีเซ็ตโค้ด","runbox.action.restart.dialog.actions.confirm":"เริ่มต้นใหม่","runbox.action.restart.dialog.isolated.description":"ต้องการเริ่มต้น Runbox ใหม่หรือไม่?","runbox.action.restart.dialog.shared.description":"Runbox จะเริ่มต้นใหม่บนหน้าจอของเพื่อนร่วมทีมด้วย คุณต้องการเริ่มต้น Runbox ใหม่หรือไม่?","runbox.action.restart.title":"เริ่มต้น Runbox ใหม่","runbox.action.share.snackbar.copied.fail":"ล้มเหลวในการคัดลอก URL Runbox กรุณาลองอีกครั้ง","runbox.action.share.snackbar.copied.success":"คัดลอก URL Runbox สำเร็จ","runbox.action.share.title":"คัดลอก URL Runbox","runbox.action.submitCountInfo.dialog.description":"คุณใช้จำนวนครั้งในการส่งเกินขีดจำกัดแล้ว","runbox.action.submitCountInfo.dialog.title":"ข้อจำกัดจำนวนครั้งในการส่ง","runbox.action.submitCountInfo.tooltip.disabled":"คุณใช้จำนวนครั้งในการส่งทั้งหมดแล้ว","runbox.action.submitLog.dialog.download.tooltip":"ดาวน์โหลดไฟล์ที่ส่ง","runbox.action.submitLog.dialog.title":"ประวัติการส่ง","runbox.action.submitLog.empty":"ไม่มีประวัติการส่ง","runbox.action.submitLog.title":"ประวัติการส่ง Runbox","runbox.action.disconnect.dialog.title":"ยกเลิกการเชื่อมต่อ Runbox","runbox.action.disconnect.dialog.description":"คุณกำลังอยู่ในระหว่างการฝึกปฏิบัติ ต้องการยกเลิกการเชื่อมต่อ Runbox หรือไม่?\nหากมีงานที่ยังไม่ได้บันทึก กรุณาบันทึกก่อน","runbox.action.disconnect.dialog.disconnect":"ยกเลิกการเชื่อมต่อ","runbox.action.disconnect.title":"ยกเลิกการเชื่อมต่อ","runbox.action.menu.title":"เพิ่มเติม","runbox.alert.title":"คุณได้เชื่อมต่อกับสภาพแวดล้อมที่นักเรียนกำลังทำงานอยู่ และเวลาใช้งานรันไทม์ทั้งหมดกำลังถูกหัก โปรดทราบว่าหากนักเรียนออกจากรันบ็อกซ์ แต่การให้คำปรึกษายังดำเนินต่อไป เวลาจะยังคงถูกหัก","runbox.common.close":"ปิด","runbox.common.retry":"ลองใหม่","runbox.common.score":"{score} คะแนน","runbox.common.support":"สนับสนุน","runbox.common.connect":"เชื่อมต่อ","runbox.context.command.ping.error":"เกิดข้อผิดพลาดขณะดำเนินการ Runbox","runbox.header.submitInfo":"{isIndividual, select, true {การส่งแบบส่วนตัว} other {การส่งแบบทีม}} | {remainCount}/{totalCount} ครั้งที่เหลือ | {isDailyLimitEnabled, select, true {วันนี้} other {}} ","runbox.timer.title":"
|
|
5
|
+
var th = {"common.cancel":"ยกเลิก","material.tutoring.runbox_confirm_dialog.action.confirm":"ดำเนินการ","material.tutoring.runbox_confirm_dialog.content":"ขณะนี้นักเรียน {_termCourseRoleStudent} กำลังทำงานในสภาพแวดล้อม Runbox หากคุณเชื่อมต่อ เวลาที่เหลือสำหรับการใช้งานรันไทม์ทั้งหมดจะลดลง คุณต้องการดำเนินการต่อหรือไม่?","material.tutoring.runbox_confirm_dialog.title":"รันบ็อกซ์กำลังทำงาน","runbox.action.autoShutdown.title":"เปิดตลอดเวลา","runbox.action.autoShutdown.tooltip":"คุณสมบัตินี้ไม่สามารถใช้งานได้ในเซสชันนี้ เนื่องจากมีการตั้งค่าให้ปิดการทำงานอัตโนมัติเมื่อออก","runbox.action.grade.dialog.description.error":"มีปัญหาในโค้ดหรือไฟล์ที่ส่ง\nกรุณาตรวจสอบข้อความข้อผิดพลาดด้านล่างและตรวจสอบว่ารูปแบบการส่งตรงกับความต้องการ จากนั้นส่งอีกครั้ง","runbox.action.grade.dialog.description.success":"การจัดเกรดเสร็จสมบูรณ์เรียบร้อยแล้ว","runbox.action.grade.dialog.title":"ผลการประเมินผลการเรียน","runbox.action.grade.noti.error":"เกิดข้อผิดพลาดขึ้นในขณะที่ทำการตรวจคะแนนของโค้ด","runbox.action.grade.title":"ส่ง","runbox.action.grade.tooltip.onProgress":"กำลังให้คะแนนโค้ด โปรดรอสักครู่ การให้คะแนนอาจใช้เวลาสูงสุด 3 นาที ขึ้นอยู่กับประเภทของการฝึกอบรม","runbox.action.reset.dialog.actions.confirm":"รีเซ็ต","runbox.action.reset.dialog.isolated.description":"ต้องการรีเซ็ตโค้ด Runbox หรือไม่? การรีเซ็ตจะแทนที่โค้ดของคุณด้วยโค้ดเริ่มต้นของหน้าเรียน {_termLibraryLecturePage} \nเซสชัน Runbox จะรีเฟรชหลังจากรีเซ็ต","runbox.action.reset.dialog.shared.description":"คุณต้องการรีเซ็ตโค้ดของ Runbox หรือไม่? หากทำการรีเซ็ต โค้ดที่ทีมเขียนไว้จะถูกเขียนทับด้วยโค้ดเริ่มต้น และเซสชันของ Runbox จะถูกรีเฟรชหลังจากนั้น","runbox.action.reset.noti.error":"เกิดข้อผิดพลาดระหว่างการรีเซ็ตโค้ด Runbox","runbox.action.reset.title":"รีเซ็ตโค้ด","runbox.action.restart.dialog.actions.confirm":"เริ่มต้นใหม่","runbox.action.restart.dialog.isolated.description":"ต้องการเริ่มต้น Runbox ใหม่หรือไม่?","runbox.action.restart.dialog.shared.description":"Runbox จะเริ่มต้นใหม่บนหน้าจอของเพื่อนร่วมทีมด้วย คุณต้องการเริ่มต้น Runbox ใหม่หรือไม่?","runbox.action.restart.title":"เริ่มต้น Runbox ใหม่","runbox.action.share.snackbar.copied.fail":"ล้มเหลวในการคัดลอก URL Runbox กรุณาลองอีกครั้ง","runbox.action.share.snackbar.copied.success":"คัดลอก URL Runbox สำเร็จ","runbox.action.share.title":"คัดลอก URL Runbox","runbox.action.submitCountInfo.dialog.description":"คุณใช้จำนวนครั้งในการส่งเกินขีดจำกัดแล้ว","runbox.action.submitCountInfo.dialog.title":"ข้อจำกัดจำนวนครั้งในการส่ง","runbox.action.submitCountInfo.tooltip.disabled":"คุณใช้จำนวนครั้งในการส่งทั้งหมดแล้ว","runbox.action.submitLog.dialog.download.tooltip":"ดาวน์โหลดไฟล์ที่ส่ง","runbox.action.submitLog.dialog.title":"ประวัติการส่ง","runbox.action.submitLog.empty":"ไม่มีประวัติการส่ง","runbox.action.submitLog.title":"ประวัติการส่ง Runbox","runbox.action.disconnect.dialog.title":"ยกเลิกการเชื่อมต่อ Runbox","runbox.action.disconnect.dialog.description":"คุณกำลังอยู่ในระหว่างการฝึกปฏิบัติ ต้องการยกเลิกการเชื่อมต่อ Runbox หรือไม่?\nหากมีงานที่ยังไม่ได้บันทึก กรุณาบันทึกก่อน","runbox.action.disconnect.dialog.disconnect":"ยกเลิกการเชื่อมต่อ","runbox.action.disconnect.title":"ยกเลิกการเชื่อมต่อ","runbox.action.menu.title":"เพิ่มเติม","runbox.alert.title":"คุณได้เชื่อมต่อกับสภาพแวดล้อมที่นักเรียนกำลังทำงานอยู่ และเวลาใช้งานรันไทม์ทั้งหมดกำลังถูกหัก โปรดทราบว่าหากนักเรียนออกจากรันบ็อกซ์ แต่การให้คำปรึกษายังดำเนินต่อไป เวลาจะยังคงถูกหัก","runbox.common.close":"ปิด","runbox.common.retry":"ลองใหม่","runbox.common.score":"{score} คะแนน","runbox.common.support":"สนับสนุน","runbox.common.connect":"เชื่อมต่อ","runbox.context.command.ping.error":"เกิดข้อผิดพลาดขณะดำเนินการ Runbox","runbox.header.submitInfo":"{isIndividual, select, true {การส่งแบบส่วนตัว} other {การส่งแบบทีม}} | {remainCount}/{totalCount} ครั้งที่เหลือ | {isDailyLimitEnabled, select, true {วันนี้} other {}} ","runbox.timer.title":"เวลาที่เหลือของ Runbox","runbox.timer.unlimited":"ไม่จำกัด","runbox.timer.tooltip.title":"ดูข้อมูลเวลา","runbox.timer.popover.title":"คู่มือเวลาใช้งาน Runbox","runbox.timer.popover.description":"นี่คือเวลาการใช้งาน Runbox ที่มอบให้กับ {user}\nหากยังเชื่อมต่ออยู่ เวลาจะถูกหักออกอย่างต่อเนื่อง กรุณาตัดการเชื่อมต่อหรือออกจากเนื้อหาบทเรียนเมื่อไม่ใช้งานเพื่อหยุดการหักเวลา","runbox.timer.popover.quota.title":"เวลาที่สามารถใช้งานได้ทั้งหมด","runbox.timer.popover.quota_per_session.title":"เวลาที่เหลือของเซสชันนี้","runbox.timer.popover.quota_per_session.description":"แต่ละเซสชันมีเวลาจำกัดสูงสุดที่ {time} หากยังมีเวลารวมเหลืออยู่ คุณสามารถเชื่อมต่อใหม่และทำกิจกรรมต่อได้","runbox.timer.popover.quota.disconnect":"ตัดการเชื่อมต่อ","runbox.timer.almost_end.snackbar.quota_per_session":"เหลือเวลา {time} สำหรับแต่ละรอบการฝึกปฏิบัติ","runbox.timer.almost_end.snackbar.quota":"เหลือเวลาใช้งาน Runbox ทั้งหมด {time}","runbox.timer.almost_end.snackbar.detail":"ดูเพิ่มเติม","runbox.disk.almost_full.snackbar.almost_full":"พื้นที่ดิสก์ที่เหลืออยู่คือ {capacity} หากพื้นที่หมด การฝึกปฏิบัติจะสิ้นสุดลง กรุณาบันทึกงานที่กำลังทำอยู่ตอนนี้","runbox.runtime.message.lxp_plan_required":"ขณะนี้สถาบันของคุณไม่รองรับการใช้งานสื่อการเรียนการสอน Runbox\nโปรดติดต่อผู้ดูแลระบบของสถาบันของคุณสำหรับข้อมูลเพิ่มเติม","runbox.runtime.message.runbox_unavailable":"ไม่สามารถใช้ Runbox ได้","runbox.runtime.message.startError":"เกิดข้อผิดพลาดขณะเริ่ม Runbox","runbox.runtime.overlay.assigned.description":"(3 / 3)\nRunbox กำลังทำงานอยู่\nกรุณารอสักครู่!","runbox.runtime.overlay.assigned.description_timeout":"(3 / 3)\nRunbox ใช้เวลานานกว่าที่คาดไว้ในการทำงาน\nกรุณาอย่ารีเฟรชและรอสักครู่!","runbox.runtime.overlay.queued.description":"(2 / 3)\nกำลังรอคิวอยู่ที่ {waiters}...","runbox.runtime.overlay.queued.description_zero":"(2 / 3)\nRunbox ของคุณจะเริ่มทำงานเร็วๆ นี้","runbox.runtime.overlay.terminated.description.default":"หากต้องการดำเนินการฝึก Runbox ต่อ กรุณาคลิกปุ่มเชื่อมต่อ","runbox.runtime.overlay.terminated.description.os_disk_is_full":"พื้นที่ดิสก์ถูกใช้งานจนหมดแล้ว การฝึกปฏิบัติได้สิ้นสุดลง","runbox.runtime.overlay.terminated.description.quota_exceeded":"รันไทม์ถูกยกเลิกเนื่องจากเวลาการใช้งานหมดอายุแล้ว","runbox.runtime.overlay.terminated.description.quota_per_session_exceeded":"รันไทม์ถูกยกเลิกเนื่องจากเวลาการใช้งานต่อเซสชันหมดอายุแล้ว\nหากต้องการเชื่อมต่อกับ Runbox อีกครั้ง กรุณากดปุ่มด้านล่าง","runbox.runtime.overlay.terminated.title":"การเชื่อมต่อถูกยกเลิก","runbox.runtime.overlay.terminated.connect":"เชื่อมต่อ","runbox.runtime.overlay.terminated.unlimited":"ไม่จำกัด","runbox.runtime.overlay.terminated.contact":"ติดต่อฝ่ายบริการลูกค้า","runbox.runtime.overlay.terminated.quota.total":"เวลาที่สามารถใช้งานได้ทั้งหมด","runbox.runtime.overlay.terminated.quota.used":"เวลาที่ใช้ไปทั้งหมด","runbox.runtime.overlay.terminated.disk.total":"พื้นที่ดิสก์ทั้งหมด","runbox.runtime.overlay.terminated.disk.used":"พื้นที่ดิสก์ที่ใช้ไปทั้งหมด","runbox.runtime.overlay.conflicted.description":"การเชื่อมต่อกับการฝึก Runbox นี้จะยุติการทำงานของ Runbox ในสื่อการสอนอื่น\nกรุณาบันทึกงานที่ยังไม่ได้บันทึกก่อน","runbox.runtime.overlay.conflicted.title":"ขณะนี้ Runbox เชื่อมต่อกับสื่อการสอนอื่นอยู่","runbox.runtime.dialog.change_material.title":"ประกาศการเปลี่ยนการเชื่อมต่อ Runbox","runbox.runtime.dialog.change_material.description":"การเชื่อมต่อกับการฝึก Runbox นี้จะยุติการทำงานของ Runbox ในสื่อการสอนอื่น คุณต้องการดำเนินการต่อหรือไม่?"};
|
|
6
6
|
|
|
7
7
|
exports.default = th;
|
|
@@ -23,6 +23,7 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
|
23
23
|
//
|
|
24
24
|
//
|
|
25
25
|
var QUOTA_ALMOST_END_MINUTES = 30;
|
|
26
|
+
var QUOTA_POPOVER_AUTO_OPENED_KEY = 'MaterialRunboxTimer.timerDetailPopover.autoOpened';
|
|
26
27
|
//
|
|
27
28
|
//
|
|
28
29
|
//
|
|
@@ -43,20 +44,20 @@ var MaterialRunboxTimer = function MaterialRunboxTimer(_ref) {
|
|
|
43
44
|
_React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
|
|
44
45
|
isTimerDetailPopoverOpen = _React$useState2[0],
|
|
45
46
|
setTimerDetailPopoverOpen = _React$useState2[1];
|
|
46
|
-
var _useLocalStorage = reactUse.useLocalStorage(
|
|
47
|
-
_useLocalStorage2 = _rollupPluginBabelHelpers.slicedToArray(_useLocalStorage,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
//
|
|
51
|
-
//
|
|
47
|
+
var _useLocalStorage = reactUse.useLocalStorage(QUOTA_POPOVER_AUTO_OPENED_KEY, false),
|
|
48
|
+
_useLocalStorage2 = _rollupPluginBabelHelpers.slicedToArray(_useLocalStorage, 2),
|
|
49
|
+
wasTimerDetailPopoverAutoOpened = _useLocalStorage2[0],
|
|
50
|
+
setTimerDetailPopoverAutoOpened = _useLocalStorage2[1];
|
|
51
|
+
// Open the timer detail automatically at start, just for the first time.
|
|
52
52
|
React__default.default.useEffect(function () {
|
|
53
|
-
if (
|
|
53
|
+
if (wasTimerDetailPopoverAutoOpened || hideTimerPopover) {
|
|
54
54
|
return;
|
|
55
55
|
}
|
|
56
56
|
if (isRunboxRunning) {
|
|
57
57
|
setTimerDetailPopoverOpen(true);
|
|
58
|
+
setTimerDetailPopoverAutoOpened(true);
|
|
58
59
|
}
|
|
59
|
-
}, [hideTimerPopover, isRunboxRunning,
|
|
60
|
+
}, [hideTimerPopover, isRunboxRunning, wasTimerDetailPopoverAutoOpened, setTimerDetailPopoverOpen, setTimerDetailPopoverAutoOpened]);
|
|
60
61
|
/**
|
|
61
62
|
*
|
|
62
63
|
*/
|
|
@@ -115,9 +116,6 @@ var MaterialRunboxTimer = function MaterialRunboxTimer(_ref) {
|
|
|
115
116
|
})) : " ".concat(timeString)
|
|
116
117
|
})]
|
|
117
118
|
}),
|
|
118
|
-
sx: {
|
|
119
|
-
backgroundColor: isTimerDetailPopoverOpen ? 'action.focus' : 'unset'
|
|
120
|
-
},
|
|
121
119
|
onClick: function onClick() {
|
|
122
120
|
return setTimerDetailPopoverOpen(true);
|
|
123
121
|
}
|
|
@@ -5,6 +5,5 @@ interface MaterialRunboxTimerDetailPopoverProps extends PopoverProps {
|
|
|
5
5
|
onClose: () => void;
|
|
6
6
|
onClickDisconnect: () => void;
|
|
7
7
|
}
|
|
8
|
-
export declare const QUOTA_POPOVER_NOT_SHOW_ON_START = "MaterialRunboxTimer.timerDetailPopover.notShowOnStart";
|
|
9
8
|
declare const MaterialRunboxTimerDetailPopover: React.FC<MaterialRunboxTimerDetailPopoverProps>;
|
|
10
9
|
export default MaterialRunboxTimerDetailPopover;
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
|
|
6
6
|
var tslib = require('tslib');
|
|
7
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
-
var reactUse = require('react-use');
|
|
9
8
|
var apiClient = require('@elice/api-client');
|
|
10
9
|
var intl = require('@elice/intl');
|
|
11
10
|
var muiElements = require('@elice/mui-elements');
|
|
@@ -15,15 +14,6 @@ var material = require('@mui/material');
|
|
|
15
14
|
var reactQuery = require('@tanstack/react-query');
|
|
16
15
|
var time = require('../../../utils/time.js');
|
|
17
16
|
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
//
|
|
21
|
-
var QUOTA_ALMOST_END_MINUTES = 30;
|
|
22
|
-
var QUOTA_PER_SESSION_ALMOST_END_MINUTES = 10;
|
|
23
|
-
var QUOTA_POPOVER_NOT_SHOW_ON_START = 'MaterialRunboxTimer.timerDetailPopover.notShowOnStart';
|
|
24
|
-
//
|
|
25
|
-
//
|
|
26
|
-
//
|
|
27
17
|
var MaterialRunboxTimerDetailPopover = function MaterialRunboxTimerDetailPopover(_a) {
|
|
28
18
|
var userId = _a.userId,
|
|
29
19
|
open = _a.open,
|
|
@@ -34,10 +24,6 @@ var MaterialRunboxTimerDetailPopover = function MaterialRunboxTimerDetailPopover
|
|
|
34
24
|
var _useEliceRunboxQuota = runboxClient.useEliceRunboxQuota(),
|
|
35
25
|
quotaInfo = _useEliceRunboxQuota.quotaInfo,
|
|
36
26
|
quotaPerSessionInfo = _useEliceRunboxQuota.quotaPerSessionInfo;
|
|
37
|
-
var _useLocalStorage = reactUse.useLocalStorage(QUOTA_POPOVER_NOT_SHOW_ON_START, false),
|
|
38
|
-
_useLocalStorage2 = _rollupPluginBabelHelpers.slicedToArray(_useLocalStorage, 2),
|
|
39
|
-
notShowTimerDetailPopoverOnStart = _useLocalStorage2[0],
|
|
40
|
-
setNotShowTimerDetailPopoverOnStart = _useLocalStorage2[1];
|
|
41
27
|
var _useQuery = reactQuery.useQuery({
|
|
42
28
|
enabled: Boolean(userId),
|
|
43
29
|
queryKey: ['getOrgUserGet', userId],
|
|
@@ -131,7 +117,7 @@ var MaterialRunboxTimerDetailPopover = function MaterialRunboxTimerDetailPopover
|
|
|
131
117
|
/**
|
|
132
118
|
*
|
|
133
119
|
*/
|
|
134
|
-
var renderQuotaTimePart = function renderQuotaTimePart(value, unit
|
|
120
|
+
var renderQuotaTimePart = function renderQuotaTimePart(value, unit) {
|
|
135
121
|
var parts = intl$1.formatNumberToParts(value, {
|
|
136
122
|
style: 'unit',
|
|
137
123
|
unit: unit,
|
|
@@ -141,7 +127,6 @@ var MaterialRunboxTimerDetailPopover = function MaterialRunboxTimerDetailPopover
|
|
|
141
127
|
component: "span",
|
|
142
128
|
variant: "h5",
|
|
143
129
|
fontWeight: "extraBold",
|
|
144
|
-
color: color,
|
|
145
130
|
children: parts.map(function (part, index) {
|
|
146
131
|
if (part.type === 'unit') {
|
|
147
132
|
return jsxRuntime.jsx(material.Typography, {
|
|
@@ -160,26 +145,15 @@ var MaterialRunboxTimerDetailPopover = function MaterialRunboxTimerDetailPopover
|
|
|
160
145
|
/**
|
|
161
146
|
*
|
|
162
147
|
*/
|
|
163
|
-
var
|
|
148
|
+
var renderQuota = function renderQuota() {
|
|
164
149
|
if (quotaInfo.isUnlimited) {
|
|
165
|
-
return jsxRuntime.
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
children:
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
children: intl$1.formatMessage({
|
|
173
|
-
id: 'runbox.timer.popover.quota.title'
|
|
174
|
-
})
|
|
175
|
-
}), jsxRuntime.jsx(material.Typography, {
|
|
176
|
-
component: "span",
|
|
177
|
-
variant: "h5",
|
|
178
|
-
fontWeight: "extraBold",
|
|
179
|
-
children: intl$1.formatMessage({
|
|
180
|
-
id: 'runbox.timer.unlimited'
|
|
181
|
-
})
|
|
182
|
-
})]
|
|
150
|
+
return jsxRuntime.jsx(material.Typography, {
|
|
151
|
+
component: "span",
|
|
152
|
+
variant: "h5",
|
|
153
|
+
fontWeight: "extraBold",
|
|
154
|
+
children: intl$1.formatMessage({
|
|
155
|
+
id: 'runbox.timer.unlimited'
|
|
156
|
+
})
|
|
183
157
|
});
|
|
184
158
|
}
|
|
185
159
|
// Sync UI with the timer.
|
|
@@ -189,23 +163,9 @@ var MaterialRunboxTimerDetailPopover = function MaterialRunboxTimerDetailPopover
|
|
|
189
163
|
var _getTimeParts2 = time.getTimeParts(quotaInfo.quota * 60),
|
|
190
164
|
totalHours = _getTimeParts2.hours,
|
|
191
165
|
totalMinutes = _getTimeParts2.minutes;
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
direction: "column",
|
|
196
|
-
gap: "0.5rem",
|
|
197
|
-
padding: "1rem",
|
|
198
|
-
bgcolor: quotaBgColor,
|
|
199
|
-
children: [jsxRuntime.jsx(material.Typography, {
|
|
200
|
-
variant: "body2",
|
|
201
|
-
fontWeight: "bold",
|
|
202
|
-
children: intl$1.formatMessage({
|
|
203
|
-
id: 'runbox.timer.popover.quota.title'
|
|
204
|
-
})
|
|
205
|
-
}), jsxRuntime.jsxs(material.Typography, {
|
|
206
|
-
variant: "body2",
|
|
207
|
-
children: [renderQuotaTimePart(remainingHours, 'hour', quotaColor), " ", renderQuotaTimePart(remainingMinutes, 'minute', quotaColor), " / ", formatTimePart(totalHours, 'hour'), " ", totalMinutes > 0 ? formatTimePart(totalMinutes, 'minute') : null]
|
|
208
|
-
})]
|
|
166
|
+
return jsxRuntime.jsxs(material.Typography, {
|
|
167
|
+
variant: "body2",
|
|
168
|
+
children: [renderQuotaTimePart(remainingHours, 'hour'), " ", renderQuotaTimePart(remainingMinutes, 'minute'), " / ", formatTimePart(totalHours, 'hour'), " ", totalMinutes > 0 ? formatTimePart(totalMinutes, 'minute') : null]
|
|
209
169
|
});
|
|
210
170
|
};
|
|
211
171
|
/**
|
|
@@ -223,30 +183,17 @@ var MaterialRunboxTimerDetailPopover = function MaterialRunboxTimerDetailPopover
|
|
|
223
183
|
})]
|
|
224
184
|
});
|
|
225
185
|
}
|
|
226
|
-
|
|
227
|
-
remainingHours = _getTimeParts3.hours,
|
|
228
|
-
remainingMinutes = _getTimeParts3.minutes;
|
|
229
|
-
var _getTimeParts4 = time.getTimeParts(quotaPerSessionInfo.quota * 60),
|
|
230
|
-
totalHours = _getTimeParts4.hours,
|
|
231
|
-
totalMinutes = _getTimeParts4.minutes;
|
|
232
|
-
var perSessionColor = quotaPerSessionInfo.remainingQuota > QUOTA_PER_SESSION_ALMOST_END_MINUTES ? 'success.main' : 'warning.main';
|
|
233
|
-
var perSessionBgColor = quotaPerSessionInfo.remainingQuota > QUOTA_PER_SESSION_ALMOST_END_MINUTES ? undefined : 'warning.opacity03';
|
|
186
|
+
// TODO: Replace with `intl.formatDuration()` adding it to elice-intl.
|
|
234
187
|
return jsxRuntime.jsxs(material.Stack, {
|
|
235
188
|
direction: "column",
|
|
236
189
|
gap: "0.5rem",
|
|
237
190
|
padding: "1rem",
|
|
238
|
-
|
|
239
|
-
children: [jsxRuntime.jsx(material.Typography, {
|
|
191
|
+
children: [jsxRuntime.jsxs(material.Typography, {
|
|
240
192
|
variant: "body2",
|
|
241
193
|
fontWeight: "bold",
|
|
242
|
-
children: intl$1.formatMessage({
|
|
194
|
+
children: [intl$1.formatMessage({
|
|
243
195
|
id: 'runbox.timer.popover.quota_per_session.title'
|
|
244
|
-
})
|
|
245
|
-
}), jsxRuntime.jsxs(material.Typography, {
|
|
246
|
-
variant: "body2",
|
|
247
|
-
children: [remainingHours > 0 ? jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
248
|
-
children: [renderQuotaTimePart(remainingHours, 'hour', perSessionColor), " "]
|
|
249
|
-
}) : null, renderQuotaTimePart(remainingMinutes, 'minute', perSessionColor), " / ", totalHours > 0 ? "".concat(formatTimePart(totalHours, 'hour'), " ") : null, formatTimePart(totalMinutes, 'minute')]
|
|
196
|
+
}), " : ", formatTimePart(quotaPerSessionInfo.remainingQuota, 'minute')]
|
|
250
197
|
}), jsxRuntime.jsx(material.Typography, {
|
|
251
198
|
variant: "body2",
|
|
252
199
|
children: intl$1.formatMessage({
|
|
@@ -272,7 +219,21 @@ var MaterialRunboxTimerDetailPopover = function MaterialRunboxTimerDetailPopover
|
|
|
272
219
|
sx: {
|
|
273
220
|
bgcolor: 'background.neutral'
|
|
274
221
|
},
|
|
275
|
-
children: [
|
|
222
|
+
children: [jsxRuntime.jsxs(material.Stack, {
|
|
223
|
+
direction: "column",
|
|
224
|
+
gap: "0.5rem",
|
|
225
|
+
padding: "1rem",
|
|
226
|
+
children: [jsxRuntime.jsx(material.Typography, {
|
|
227
|
+
variant: "body2",
|
|
228
|
+
fontWeight: "bold",
|
|
229
|
+
children: intl$1.formatMessage({
|
|
230
|
+
id: 'runbox.timer.popover.quota.title'
|
|
231
|
+
})
|
|
232
|
+
}), jsxRuntime.jsx(material.Stack, {
|
|
233
|
+
direction: "row",
|
|
234
|
+
children: renderQuota()
|
|
235
|
+
})]
|
|
236
|
+
}), jsxRuntime.jsx(material.Divider, {}), renderQuotaPerSession()]
|
|
276
237
|
}), jsxRuntime.jsx(material.Button, {
|
|
277
238
|
fullWidth: true,
|
|
278
239
|
variant: "contained",
|
|
@@ -282,24 +243,9 @@ var MaterialRunboxTimerDetailPopover = function MaterialRunboxTimerDetailPopover
|
|
|
282
243
|
children: intl$1.formatMessage({
|
|
283
244
|
id: 'runbox.timer.popover.quota.disconnect'
|
|
284
245
|
})
|
|
285
|
-
}), jsxRuntime.jsx(material.FormControlLabel, {
|
|
286
|
-
control: jsxRuntime.jsx(material.Checkbox, {
|
|
287
|
-
size: "small",
|
|
288
|
-
checked: notShowTimerDetailPopoverOnStart,
|
|
289
|
-
onChange: function onChange(event) {
|
|
290
|
-
return setNotShowTimerDetailPopoverOnStart(event.target.checked);
|
|
291
|
-
}
|
|
292
|
-
}),
|
|
293
|
-
label: jsxRuntime.jsx(material.Typography, {
|
|
294
|
-
variant: "body2",
|
|
295
|
-
children: intl$1.formatMessage({
|
|
296
|
-
id: 'runbox.timer.popover.do_not_open'
|
|
297
|
-
})
|
|
298
|
-
})
|
|
299
246
|
})]
|
|
300
247
|
})
|
|
301
248
|
}));
|
|
302
249
|
};
|
|
303
250
|
|
|
304
|
-
exports.QUOTA_POPOVER_NOT_SHOW_ON_START = QUOTA_POPOVER_NOT_SHOW_ON_START;
|
|
305
251
|
exports.default = MaterialRunboxTimerDetailPopover;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var messageEn = {"common.cancel":"Cancel","material.tutoring.runbox_confirm_dialog.action.confirm":"Proceed","material.tutoring.runbox_confirm_dialog.content":"The Runbox environment is currently running for the {_termCourseRoleStudent}. If you connect, the remaining total runtime usage time will decrease. Do you want to proceed?","material.tutoring.runbox_confirm_dialog.title":"Running Runbox","runbox.action.autoShutdown.title":"Always on","runbox.action.autoShutdown.tooltip":"This feature is not available for this session, as it's set to automatically shut down upon departure.","runbox.action.grade.dialog.description.error":"There is a problem with the code or submission file.\nPlease check the error message below and verify that the submission format meets the requirements. Then, submit again.","runbox.action.grade.dialog.description.success":"Grading completed successfully.","runbox.action.grade.dialog.title":"Grading result","runbox.action.grade.noti.error":"An error occurred while grading the code.","runbox.action.grade.title":"Submit","runbox.action.grade.tooltip.onProgress":"Grading is in progress. Please wait for a moment. Depending on the {_termLibraryLecturePage}, grading may take up to 3 minutes.","runbox.action.reset.dialog.actions.confirm":"Reset","runbox.action.reset.dialog.isolated.description":"Are you sure you want to reset the runbox code? Your codes will be overwritten to default code of {_termLibraryLecturePage}.\nAfter reset, the runbox session will be refreshed.","runbox.action.reset.dialog.shared.description":"Do you want to reset the Runbox code? If you reset, the code written by team members will also be overwritten with the default code. The Runbox session will be refreshed after resetting.","runbox.action.reset.noti.error":"An error occurred while initializing the runbox code.","runbox.action.reset.title":"Reset code","runbox.action.restart.dialog.actions.confirm":"Restart","runbox.action.restart.dialog.isolated.description":"Are you sure you want to restart the runbox?","runbox.action.restart.dialog.shared.description":"The Runbox will also restart on your teammates' screens. Do you want to restart the Runbox?","runbox.action.restart.title":"Restart runbox","runbox.action.share.snackbar.copied.fail":"Copying the runbox URL failed, please try again","runbox.action.share.snackbar.copied.success":"The runbox URL was copied successfully.","runbox.action.share.title":"Share runbox URL","runbox.action.submitCountInfo.dialog.description":"You have exceeded the submission count limit","runbox.action.submitCountInfo.dialog.title":"Limit the number of submissions","runbox.action.submitCountInfo.tooltip.disabled":"The submission count has been used up","runbox.action.submitLog.dialog.download.tooltip":"Download submitted file","runbox.action.submitLog.dialog.title":"Submission History","runbox.action.submitLog.empty":"No submission history exists.","runbox.action.submitLog.title":"Runbox Submission History","runbox.action.disconnect.dialog.title":"Disconnect Runbox","runbox.action.disconnect.dialog.description":"You are currently in a practice session. Do you want to disconnect Runbox?\nIf you have any unsaved work, please save it first.","runbox.action.disconnect.dialog.disconnect":"Disconnect","runbox.action.disconnect.title":"Disconnect","runbox.action.menu.title":"More","runbox.alert.title":"You are connected to the student's currently running environment, and the total runtime usage time is being deducted. Please note that even if the student exits Runbox, time will continue to be deducted as long as tutoring continues.","runbox.common.close":"Close","runbox.common.retry":"Retry","runbox.common.score":"{score} points","runbox.common.support":"Support","runbox.common.connect":"Connect","runbox.context.command.ping.error":"An error occurred while processing task.","runbox.header.submitInfo":"{isIndividual, select, true {} other {Team}} submission count | {remainCount}/{totalCount} times left {isDailyLimitEnabled, select, true {today} other {}}","runbox.timer.title":"Remaining Time","runbox.timer.unlimited":"Unlimited","runbox.timer.tooltip.title":"View time information","runbox.timer.popover.title":"Runbox Usage Time Guide","runbox.timer.popover.description":"This is the
|
|
1
|
+
var messageEn = {"common.cancel":"Cancel","material.tutoring.runbox_confirm_dialog.action.confirm":"Proceed","material.tutoring.runbox_confirm_dialog.content":"The Runbox environment is currently running for the {_termCourseRoleStudent}. If you connect, the remaining total runtime usage time will decrease. Do you want to proceed?","material.tutoring.runbox_confirm_dialog.title":"Running Runbox","runbox.action.autoShutdown.title":"Always on","runbox.action.autoShutdown.tooltip":"This feature is not available for this session, as it's set to automatically shut down upon departure.","runbox.action.grade.dialog.description.error":"There is a problem with the code or submission file.\nPlease check the error message below and verify that the submission format meets the requirements. Then, submit again.","runbox.action.grade.dialog.description.success":"Grading completed successfully.","runbox.action.grade.dialog.title":"Grading result","runbox.action.grade.noti.error":"An error occurred while grading the code.","runbox.action.grade.title":"Submit","runbox.action.grade.tooltip.onProgress":"Grading is in progress. Please wait for a moment. Depending on the {_termLibraryLecturePage}, grading may take up to 3 minutes.","runbox.action.reset.dialog.actions.confirm":"Reset","runbox.action.reset.dialog.isolated.description":"Are you sure you want to reset the runbox code? Your codes will be overwritten to default code of {_termLibraryLecturePage}.\nAfter reset, the runbox session will be refreshed.","runbox.action.reset.dialog.shared.description":"Do you want to reset the Runbox code? If you reset, the code written by team members will also be overwritten with the default code. The Runbox session will be refreshed after resetting.","runbox.action.reset.noti.error":"An error occurred while initializing the runbox code.","runbox.action.reset.title":"Reset code","runbox.action.restart.dialog.actions.confirm":"Restart","runbox.action.restart.dialog.isolated.description":"Are you sure you want to restart the runbox?","runbox.action.restart.dialog.shared.description":"The Runbox will also restart on your teammates' screens. Do you want to restart the Runbox?","runbox.action.restart.title":"Restart runbox","runbox.action.share.snackbar.copied.fail":"Copying the runbox URL failed, please try again","runbox.action.share.snackbar.copied.success":"The runbox URL was copied successfully.","runbox.action.share.title":"Share runbox URL","runbox.action.submitCountInfo.dialog.description":"You have exceeded the submission count limit","runbox.action.submitCountInfo.dialog.title":"Limit the number of submissions","runbox.action.submitCountInfo.tooltip.disabled":"The submission count has been used up","runbox.action.submitLog.dialog.download.tooltip":"Download submitted file","runbox.action.submitLog.dialog.title":"Submission History","runbox.action.submitLog.empty":"No submission history exists.","runbox.action.submitLog.title":"Runbox Submission History","runbox.action.disconnect.dialog.title":"Disconnect Runbox","runbox.action.disconnect.dialog.description":"You are currently in a practice session. Do you want to disconnect Runbox?\nIf you have any unsaved work, please save it first.","runbox.action.disconnect.dialog.disconnect":"Disconnect","runbox.action.disconnect.title":"Disconnect","runbox.action.menu.title":"More","runbox.alert.title":"You are connected to the student's currently running environment, and the total runtime usage time is being deducted. Please note that even if the student exits Runbox, time will continue to be deducted as long as tutoring continues.","runbox.common.close":"Close","runbox.common.retry":"Retry","runbox.common.score":"{score} points","runbox.common.support":"Support","runbox.common.connect":"Connect","runbox.context.command.ping.error":"An error occurred while processing task.","runbox.header.submitInfo":"{isIndividual, select, true {} other {Team}} submission count | {remainCount}/{totalCount} times left {isDailyLimitEnabled, select, true {today} other {}}","runbox.timer.title":"Remaining Runbox Time","runbox.timer.unlimited":"Unlimited","runbox.timer.tooltip.title":"View time information","runbox.timer.popover.title":"Runbox Usage Time Guide","runbox.timer.popover.description":"This is the Runbox practice time granted to {user}.\nTime continues to decrease while connected. To stop the time deduction, disconnect or leave the course material. Please be sure to disconnect when not in use.","runbox.timer.popover.quota.title":"Total Available Time","runbox.timer.popover.quota_per_session.title":"Remaining Time for This Session","runbox.timer.popover.quota_per_session.description":"Each session has a maximum time limit of {time}. If total available time remains, you can reconnect to the Runbox and continue the session.","runbox.timer.popover.quota.disconnect":"Disconnect","runbox.timer.almost_end.snackbar.quota_per_session":"{time} remaining for the time allocated per practice session.","runbox.timer.almost_end.snackbar.quota":"{time} remaining for the total available Runbox usage time.","runbox.timer.almost_end.snackbar.detail":"Learn more","runbox.disk.almost_full.snackbar.almost_full":"The remaining disk space is {capacity}. If the space runs out, the session will end, so please save your ongoing work now.","runbox.runtime.message.lxp_plan_required":"Your institution currently does not support Runbox course materials.\nPlease contact your institution administrator for more details.","runbox.runtime.message.runbox_unavailable":"Runbox Unavailable","runbox.runtime.message.startError":"There was an error starting the runbox.","runbox.runtime.overlay.assigned.description":"(3 of 3)\nRunbox is running.\nPlease wait!","runbox.runtime.overlay.assigned.description_timeout":"(3 of 3)\nRunning the runbox is taking longer than we expected.\nPlease wait a little longer without refreshing!","runbox.runtime.overlay.queued.description":"(2 of 3)\nCurrently queued {waiters} times...","runbox.runtime.overlay.queued.description_zero":"(2 of 3)\nRunbox will run soon","runbox.runtime.overlay.terminated.description.default":"To continue your Runbox practice session, please click the Connect button.","runbox.runtime.overlay.terminated.description.os_disk_is_full":"The disk space has been completely used up, and the practice session has ended.","runbox.runtime.overlay.terminated.description.quota_exceeded":"The runtime has been terminated because the usage time has expired.","runbox.runtime.overlay.terminated.description.quota_per_session_exceeded":"The runtime has been terminated because the per-session usage time has expired.\nTo reconnect to Runbox, please click the button below.","runbox.runtime.overlay.terminated.title":"Runtime disconnected","runbox.runtime.overlay.terminated.connect":"Connect","runbox.runtime.overlay.terminated.unlimited":"Unlimited","runbox.runtime.overlay.terminated.contact":"Contact Customer Service","runbox.runtime.overlay.terminated.quota.total":"Total Available Time","runbox.runtime.overlay.terminated.quota.used":"Total Time Used","runbox.runtime.overlay.terminated.disk.total":"Total Disk","runbox.runtime.overlay.terminated.disk.used":"Total Disk Used","runbox.runtime.overlay.conflicted.description":"Connecting to this Runbox exercise will terminate the Runbox in another course material.\nPlease save any unsaved work first.","runbox.runtime.overlay.conflicted.title":"A Runbox is currently connected to another course material","runbox.runtime.dialog.change_material.title":"Notice of Runbox Connection Change","runbox.runtime.dialog.change_material.description":"Connecting to this Runbox exercise will terminate the Runbox in another course material. Do you want to continue?"};
|
|
2
2
|
|
|
3
3
|
export { messageEn as default };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var ja = {"common.cancel":"キャンセル","material.tutoring.runbox_confirm_dialog.action.confirm":"進行","material.tutoring.runbox_confirm_dialog.content":"現在、{_termCourseRoleStudent} が実行中のランボックス環境です。接続すると、残りのランタイム使用時間が減少します。続行しますか?","material.tutoring.runbox_confirm_dialog.title":"実行中のランボックス","runbox.action.autoShutdown.title":"常にオン","runbox.action.autoShutdown.tooltip":"現在のセッションは離脱時に自動終了するため、この機能は使用できません。","runbox.action.grade.dialog.description.error":"コードまたは提出ファイルに問題があります。\n以下のエラーメッセージを確認し、提出形式が要件を満たしていることを確認してください。その後、再度提出してください。","runbox.action.grade.dialog.description.success":"成績評価が成功裏に完了しました。","runbox.action.grade.dialog.title":"成績結果","runbox.action.grade.noti.error":"コードの採点中にエラーが発生しました。","runbox.action.grade.title":"提出","runbox.action.grade.tooltip.onProgress":"採点中です。しばらくお待ちください。{_termLibraryLecturePage}によって、採点には最大3分かかる場合があります。","runbox.action.reset.dialog.actions.confirm":"リセット","runbox.action.reset.dialog.isolated.description":"ランボックスのコードをリセットしてもよろしいですか? あなたのコードは {_termLibraryLecturePage} のデフォルトコードに上書きされます。\nリセット後、ランボックスのセッションがリフレッシュされます。","runbox.action.reset.dialog.shared.description":"Runboxのコードを初期化しますか?初期化すると、チームメンバーの画面でもコードがデフォルトに上書きされます。初期化後、Runboxセッションがリフレッシュされます。","runbox.action.reset.noti.error":"ランボックスコードの初期化中にエラーが発生しました。","runbox.action.reset.title":"リセットコード","runbox.action.restart.dialog.actions.confirm":"再起動","runbox.action.restart.dialog.isolated.description":"再起動してもよろしいですか?","runbox.action.restart.dialog.shared.description":"チームメンバーの画面でもRunboxが再起動されます。Runboxを再起動しますか?","runbox.action.restart.title":"ランボックスを再起動してください","runbox.action.share.snackbar.copied.fail":"ランボックスのURLをコピーすることに失敗しました。もう一度お試しください。","runbox.action.share.snackbar.copied.success":"ランボックスのURLが正常にコピーされました。","runbox.action.share.title":"ランボックスのURLを共有してください。","runbox.action.submitCountInfo.dialog.description":"提出回数の制限を超えています","runbox.action.submitCountInfo.dialog.title":"投稿の数を制限してください。","runbox.action.submitCountInfo.tooltip.disabled":"提出回数が使い果たされました。","runbox.action.submitLog.dialog.download.tooltip":"提出ファイルをダウンロード","runbox.action.submitLog.dialog.title":"提出履歴","runbox.action.submitLog.empty":"提出履歴が存在しません。","runbox.action.submitLog.title":"ランボックス提出履歴","runbox.action.disconnect.dialog.title":"Runboxの接続を解除","runbox.action.disconnect.dialog.description":"現在、実習を進行中です。Runboxの接続を解除しますか?\n保存していない内容がある場合は、先に保存してください。","runbox.action.disconnect.dialog.disconnect":"接続解除","runbox.action.disconnect.title":"接続解除","runbox.action.menu.title":"その他","runbox.alert.title":"現在、学生が実行中の環境に接続しているため、ランタイムの全使用時間が減少しています。学生がランボックスを終了しても、チュータリングを続ける限り、時間が引き続き減少するのでご注意ください。","runbox.common.close":"閉じる","runbox.common.retry":"リトライ","runbox.common.score":"{score}点","runbox.common.support":"サポート","runbox.common.connect":"接続する","runbox.context.command.ping.error":"タスクの処理中にエラーが発生しました。","runbox.header.submitInfo":"{isIndividual, select, true {個人} other {チーム}}の提出回数 | {remainCount}/{totalCount} 回残っています {isDailyLimitEnabled, select, true {今日} other {}}","runbox.timer.title":"
|
|
1
|
+
var ja = {"common.cancel":"キャンセル","material.tutoring.runbox_confirm_dialog.action.confirm":"進行","material.tutoring.runbox_confirm_dialog.content":"現在、{_termCourseRoleStudent} が実行中のランボックス環境です。接続すると、残りのランタイム使用時間が減少します。続行しますか?","material.tutoring.runbox_confirm_dialog.title":"実行中のランボックス","runbox.action.autoShutdown.title":"常にオン","runbox.action.autoShutdown.tooltip":"現在のセッションは離脱時に自動終了するため、この機能は使用できません。","runbox.action.grade.dialog.description.error":"コードまたは提出ファイルに問題があります。\n以下のエラーメッセージを確認し、提出形式が要件を満たしていることを確認してください。その後、再度提出してください。","runbox.action.grade.dialog.description.success":"成績評価が成功裏に完了しました。","runbox.action.grade.dialog.title":"成績結果","runbox.action.grade.noti.error":"コードの採点中にエラーが発生しました。","runbox.action.grade.title":"提出","runbox.action.grade.tooltip.onProgress":"採点中です。しばらくお待ちください。{_termLibraryLecturePage}によって、採点には最大3分かかる場合があります。","runbox.action.reset.dialog.actions.confirm":"リセット","runbox.action.reset.dialog.isolated.description":"ランボックスのコードをリセットしてもよろしいですか? あなたのコードは {_termLibraryLecturePage} のデフォルトコードに上書きされます。\nリセット後、ランボックスのセッションがリフレッシュされます。","runbox.action.reset.dialog.shared.description":"Runboxのコードを初期化しますか?初期化すると、チームメンバーの画面でもコードがデフォルトに上書きされます。初期化後、Runboxセッションがリフレッシュされます。","runbox.action.reset.noti.error":"ランボックスコードの初期化中にエラーが発生しました。","runbox.action.reset.title":"リセットコード","runbox.action.restart.dialog.actions.confirm":"再起動","runbox.action.restart.dialog.isolated.description":"再起動してもよろしいですか?","runbox.action.restart.dialog.shared.description":"チームメンバーの画面でもRunboxが再起動されます。Runboxを再起動しますか?","runbox.action.restart.title":"ランボックスを再起動してください","runbox.action.share.snackbar.copied.fail":"ランボックスのURLをコピーすることに失敗しました。もう一度お試しください。","runbox.action.share.snackbar.copied.success":"ランボックスのURLが正常にコピーされました。","runbox.action.share.title":"ランボックスのURLを共有してください。","runbox.action.submitCountInfo.dialog.description":"提出回数の制限を超えています","runbox.action.submitCountInfo.dialog.title":"投稿の数を制限してください。","runbox.action.submitCountInfo.tooltip.disabled":"提出回数が使い果たされました。","runbox.action.submitLog.dialog.download.tooltip":"提出ファイルをダウンロード","runbox.action.submitLog.dialog.title":"提出履歴","runbox.action.submitLog.empty":"提出履歴が存在しません。","runbox.action.submitLog.title":"ランボックス提出履歴","runbox.action.disconnect.dialog.title":"Runboxの接続を解除","runbox.action.disconnect.dialog.description":"現在、実習を進行中です。Runboxの接続を解除しますか?\n保存していない内容がある場合は、先に保存してください。","runbox.action.disconnect.dialog.disconnect":"接続解除","runbox.action.disconnect.title":"接続解除","runbox.action.menu.title":"その他","runbox.alert.title":"現在、学生が実行中の環境に接続しているため、ランタイムの全使用時間が減少しています。学生がランボックスを終了しても、チュータリングを続ける限り、時間が引き続き減少するのでご注意ください。","runbox.common.close":"閉じる","runbox.common.retry":"リトライ","runbox.common.score":"{score}点","runbox.common.support":"サポート","runbox.common.connect":"接続する","runbox.context.command.ping.error":"タスクの処理中にエラーが発生しました。","runbox.header.submitInfo":"{isIndividual, select, true {個人} other {チーム}}の提出回数 | {remainCount}/{totalCount} 回残っています {isDailyLimitEnabled, select, true {今日} other {}}","runbox.timer.title":"残りのRunbox時間","runbox.timer.unlimited":"無制限","runbox.timer.tooltip.title":"時間の案内を見る","runbox.timer.popover.title":"ランボックス使用時間の案内","runbox.timer.popover.description":"{user}に付与されたランボックスの実習時間です。\n接続中は時間が減り続けます。時間の減少を止めるには、接続を解除するか教材から退出してください。使用しないときは必ず接続を解除してください。","runbox.timer.popover.quota.title":"総使用可能時間","runbox.timer.popover.quota_per_session.title":"今回の実習の残り時間","runbox.timer.popover.quota_per_session.description":"1回の実習には最大{time}の制限時間があります。総使用可能時間が残っていれば、再接続して実習を続けることができます。","runbox.timer.popover.quota.disconnect":"接続を解除","runbox.timer.almost_end.snackbar.quota_per_session":"1回の実習に割り当てられた時間は残り{time}です。","runbox.timer.almost_end.snackbar.quota":"Runboxの総利用可能時間は残り{time}です。","runbox.timer.almost_end.snackbar.detail":"詳細を見る","runbox.disk.almost_full.snackbar.almost_full":"ディスクの残り容量は {capacity} です。容量がすべてなくなると実習は終了しますので、進行中の作業を今すぐ保存してください。","runbox.runtime.message.lxp_plan_required":"現在、所属機関ではRunboxの学習資料を利用できません。\n詳細については機関の管理者にお問い合わせください。","runbox.runtime.message.runbox_unavailable":"Runboxは利用できません","runbox.runtime.message.startError":"ランボックスの起動中にエラーが発生しました。","runbox.runtime.overlay.assigned.description":"Runbox が実行中です。\nお待ちください!","runbox.runtime.overlay.assigned.description_timeout":"ランボックスを実行する時間が私たちの予想よりも長くかかっています。\n更新せずにもう少し待ってください!","runbox.runtime.overlay.queued.description":"現在{waiters}回待機中...","runbox.runtime.overlay.queued.description_zero":"Runboxはもうすぐ実行されます。","runbox.runtime.overlay.terminated.description.default":"Runboxの実習を続けるには、「接続」ボタンをクリックしてください。","runbox.runtime.overlay.terminated.description.os_disk_is_full":"ディスク容量をすべて使い切ったため、実習は終了しました。","runbox.runtime.overlay.terminated.description.quota_exceeded":"ランタイムの利用時間が終了したため、ランタイムは停止されました。","runbox.runtime.overlay.terminated.description.quota_per_session_exceeded":"Runboxセッションごとの利用時間が終了したため、ランタイムは停止されました。\nRunboxに再接続するには、下のボタンをクリックしてください。","runbox.runtime.overlay.terminated.title":"接続解除","runbox.runtime.overlay.terminated.connect":"接続","runbox.runtime.overlay.terminated.unlimited":"無制限","runbox.runtime.overlay.terminated.contact":"カスタマーサービスにお問い合わせ","runbox.runtime.overlay.terminated.quota.total":"利用可能時間の合計","runbox.runtime.overlay.terminated.quota.used":"総利用時間","runbox.runtime.overlay.terminated.disk.total":"ディスク合計","runbox.runtime.overlay.terminated.disk.used":"使用済みディスク合計","runbox.runtime.overlay.conflicted.description":"このランボックス演習に接続すると、他の教材のランボックスは終了します。\n保存していない内容がある場合は、先に保存してください。","runbox.runtime.overlay.conflicted.title":"現在、他の教材にランボックスが接続されています","runbox.runtime.dialog.change_material.title":"ランボックス接続変更のお知らせ","runbox.runtime.dialog.change_material.description":"このランボックス演習に接続すると、他の教材のランボックスは終了します。続行しますか?"};
|
|
2
2
|
|
|
3
3
|
export { ja as default };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var messageKo = {"common.cancel":"취소","material.tutoring.runbox_confirm_dialog.action.confirm":"진행","material.tutoring.runbox_confirm_dialog.content":"현재 {_termCourseRoleStudent}이/가 실행 중인 런박스 환경입니다. 접속할 경우 남은 런타임 전체 사용 시간이 줄어듭니다. 계속 진행하시겠습니까?","material.tutoring.runbox_confirm_dialog.title":"실행 중인 런박스","runbox.action.autoShutdown.title":"항상 켜두기","runbox.action.autoShutdown.tooltip":"현재 이탈 시 종료되는 실습으로 해당 기능을 사용할 수 없습니다.","runbox.action.grade.dialog.description.error":"코드 또는 제출 파일에 문제가 있어 제출에 실패했습니다.\n아래 오류 메시지를 참고하여 제출 형식이 요구사항에 맞는지 확인한 뒤, 다시 제출해주세요.","runbox.action.grade.dialog.description.success":"채점이 완료되었습니다.","runbox.action.grade.dialog.title":"채점 결과","runbox.action.grade.noti.error":"코드를 채점하는 도중 오류가 발생했습니다.","runbox.action.grade.title":"제출","runbox.action.grade.tooltip.onProgress":"코드 채점이 진행 중 입니다. 잠시만 기다려 주세요. 실습에 따라 채점이 최대 3분까지 소요될 수 있습니다.","runbox.action.reset.dialog.actions.confirm":"초기화","runbox.action.reset.dialog.isolated.description":"런박스 코드를 초기화하시겠습니까? 초기화 시 학습{_termLibraryLecturePage}의 코드가 기본 코드로 덮어씌워집니다.\n초기화 이후 런박스 세션이 새로고침 됩니다.","runbox.action.reset.dialog.shared.description":"런박스 코드를 초기화하시겠습니까? 초기화 시 팀원들의 화면에서도 작성한 코드가 기본 코드로 덮어씌워집니다. 초기화 이후 런박스 세션이 새로고침 됩니다.","runbox.action.reset.noti.error":"런박스 코드를 초기화 하는 중에 오류가 발생했습니다.","runbox.action.reset.title":"코드 초기화","runbox.action.restart.dialog.actions.confirm":"재시작","runbox.action.restart.dialog.isolated.description":"런박스를 재시작 하시겠습니까?","runbox.action.restart.dialog.shared.description":"팀원들의 화면에서도 런박스가 재시작 됩니다. 런박스를 재시작하시겠습니까?","runbox.action.restart.title":"런박스 재시작","runbox.action.share.snackbar.copied.fail":"런박스 URL을 복사에 실패했습니다. 다시 시도해주세요.","runbox.action.share.snackbar.copied.success":"런박스 URL을 복사하였습니다.","runbox.action.share.title":"런박스 URL 복사","runbox.action.submitCountInfo.dialog.description":"제출 횟수 제한을 초과했습니다.","runbox.action.submitCountInfo.dialog.title":"제출 횟수 제한","runbox.action.submitCountInfo.tooltip.disabled":"제출 횟수를 모두 사용했습니다.","runbox.action.submitLog.dialog.download.tooltip":"제출 파일 다운로드","runbox.action.submitLog.dialog.title":"제출 이력","runbox.action.submitLog.empty":"제출 이력이 존재하지 않습니다.","runbox.action.submitLog.title":"런박스 제출 이력","runbox.action.disconnect.dialog.title":"런박스 연결 해제","runbox.action.disconnect.dialog.description":"현재 실습을 진행중 입니다. 런박스를 연결 해제하시겠습니까?\n저장하지 않은 내용이 있다면 먼저 저장해 주세요.","runbox.action.disconnect.dialog.disconnect":"연결 해제","runbox.action.disconnect.title":"연결 해제","runbox.action.menu.title":"더보기","runbox.alert.title":"현재 학생이 실행 중인 환경에 접속하였기 때문에, 런타임 전체 사용 시간이 차감되고 있습니다. 학생이 런박스를 종료하더라도, 튜터링을 진행하면 시간이 계속 차감되니 유의해 주세요.","runbox.common.close":"닫기","runbox.common.retry":"재시도","runbox.common.score":"{score}점","runbox.common.support":"고객센터","runbox.common.connect":"연결하기","runbox.context.command.ping.error":"런박스 작업을 수행하는 도중 오류가 발생했습니다.","runbox.header.submitInfo":"{isIndividual, select, true {} other {팀}} 제출 횟수 | {isDailyLimitEnabled, select, true {오늘} other {}} {remainCount}/{totalCount}회 남음","runbox.timer.title":"남은 시간","runbox.timer.unlimited":"제한없음","runbox.timer.tooltip.title":"시간 안내 보기","runbox.timer.popover.title":"런박스 사용 시간 안내","runbox.timer.popover.description":"{user}
|
|
1
|
+
var messageKo = {"common.cancel":"취소","material.tutoring.runbox_confirm_dialog.action.confirm":"진행","material.tutoring.runbox_confirm_dialog.content":"현재 {_termCourseRoleStudent}이/가 실행 중인 런박스 환경입니다. 접속할 경우 남은 런타임 전체 사용 시간이 줄어듭니다. 계속 진행하시겠습니까?","material.tutoring.runbox_confirm_dialog.title":"실행 중인 런박스","runbox.action.autoShutdown.title":"항상 켜두기","runbox.action.autoShutdown.tooltip":"현재 이탈 시 종료되는 실습으로 해당 기능을 사용할 수 없습니다.","runbox.action.grade.dialog.description.error":"코드 또는 제출 파일에 문제가 있어 제출에 실패했습니다.\n아래 오류 메시지를 참고하여 제출 형식이 요구사항에 맞는지 확인한 뒤, 다시 제출해주세요.","runbox.action.grade.dialog.description.success":"채점이 완료되었습니다.","runbox.action.grade.dialog.title":"채점 결과","runbox.action.grade.noti.error":"코드를 채점하는 도중 오류가 발생했습니다.","runbox.action.grade.title":"제출","runbox.action.grade.tooltip.onProgress":"코드 채점이 진행 중 입니다. 잠시만 기다려 주세요. 실습에 따라 채점이 최대 3분까지 소요될 수 있습니다.","runbox.action.reset.dialog.actions.confirm":"초기화","runbox.action.reset.dialog.isolated.description":"런박스 코드를 초기화하시겠습니까? 초기화 시 학습{_termLibraryLecturePage}의 코드가 기본 코드로 덮어씌워집니다.\n초기화 이후 런박스 세션이 새로고침 됩니다.","runbox.action.reset.dialog.shared.description":"런박스 코드를 초기화하시겠습니까? 초기화 시 팀원들의 화면에서도 작성한 코드가 기본 코드로 덮어씌워집니다. 초기화 이후 런박스 세션이 새로고침 됩니다.","runbox.action.reset.noti.error":"런박스 코드를 초기화 하는 중에 오류가 발생했습니다.","runbox.action.reset.title":"코드 초기화","runbox.action.restart.dialog.actions.confirm":"재시작","runbox.action.restart.dialog.isolated.description":"런박스를 재시작 하시겠습니까?","runbox.action.restart.dialog.shared.description":"팀원들의 화면에서도 런박스가 재시작 됩니다. 런박스를 재시작하시겠습니까?","runbox.action.restart.title":"런박스 재시작","runbox.action.share.snackbar.copied.fail":"런박스 URL을 복사에 실패했습니다. 다시 시도해주세요.","runbox.action.share.snackbar.copied.success":"런박스 URL을 복사하였습니다.","runbox.action.share.title":"런박스 URL 복사","runbox.action.submitCountInfo.dialog.description":"제출 횟수 제한을 초과했습니다.","runbox.action.submitCountInfo.dialog.title":"제출 횟수 제한","runbox.action.submitCountInfo.tooltip.disabled":"제출 횟수를 모두 사용했습니다.","runbox.action.submitLog.dialog.download.tooltip":"제출 파일 다운로드","runbox.action.submitLog.dialog.title":"제출 이력","runbox.action.submitLog.empty":"제출 이력이 존재하지 않습니다.","runbox.action.submitLog.title":"런박스 제출 이력","runbox.action.disconnect.dialog.title":"런박스 연결 해제","runbox.action.disconnect.dialog.description":"현재 실습을 진행중 입니다. 런박스를 연결 해제하시겠습니까?\n저장하지 않은 내용이 있다면 먼저 저장해 주세요.","runbox.action.disconnect.dialog.disconnect":"연결 해제","runbox.action.disconnect.title":"연결 해제","runbox.action.menu.title":"더보기","runbox.alert.title":"현재 학생이 실행 중인 환경에 접속하였기 때문에, 런타임 전체 사용 시간이 차감되고 있습니다. 학생이 런박스를 종료하더라도, 튜터링을 진행하면 시간이 계속 차감되니 유의해 주세요.","runbox.common.close":"닫기","runbox.common.retry":"재시도","runbox.common.score":"{score}점","runbox.common.support":"고객센터","runbox.common.connect":"연결하기","runbox.context.command.ping.error":"런박스 작업을 수행하는 도중 오류가 발생했습니다.","runbox.header.submitInfo":"{isIndividual, select, true {} other {팀}} 제출 횟수 | {isDailyLimitEnabled, select, true {오늘} other {}} {remainCount}/{totalCount}회 남음","runbox.timer.title":"남은 런박스 시간","runbox.timer.unlimited":"제한없음","runbox.timer.tooltip.title":"시간 안내 보기","runbox.timer.popover.title":"런박스 사용 시간 안내","runbox.timer.popover.description":"{user} 님에게 부여된 런박스 실습 시간입니다.\n연결 상태에서는 시간이 계속 차감되며, 연결을 해제하거나 수업 자료를 나가야 차감이 중단됩니다. 사용하지 않을 때는 꼭 연결을 해제해주세요.","runbox.timer.popover.quota.title":"총 사용 가능 시간","runbox.timer.popover.quota_per_session.title":"이번 실습 남은 시간","runbox.timer.popover.quota_per_session.description":"실습 회당 최대 {time}의 제한시간이 있습니다. 총 사용 가능 시간이 남아 있다면, 다시 런박스를 연결해 실습을 이어하실 수 있습니다.","runbox.timer.popover.quota.disconnect":"연결 해제","runbox.timer.almost_end.snackbar.quota_per_session":"실습 회당 부여된 시간 {time} 남았습니다.","runbox.timer.almost_end.snackbar.quota":"런박스 총 사용 가능 시간이 {time} 남았습니다.","runbox.timer.almost_end.snackbar.detail":"더 알아보기","runbox.disk.almost_full.snackbar.almost_full":"디스크 잔여 용량이 {capacity}입니다. 용량이 모두 소진되면 실습이 종료되니,\n진행 중인 작업을 지금 저장해 주세요.","runbox.runtime.message.lxp_plan_required":"현재 기관에서는 런박스 수업 자료를 학습할 수 없습니다.\n자세한 사항은 기관 관리자에게 문의하세요.","runbox.runtime.message.runbox_unavailable":"런박스 사용 불가","runbox.runtime.message.startError":"런박스를 시작하는 중에 오류가 발생했습니다.","runbox.runtime.overlay.assigned.description":"(3 / 3)\n런박스가 실행 중입니다.\n잠시만 기다려주세요!","runbox.runtime.overlay.assigned.description_timeout":"(3 / 3)\n런박스를 실행하는데\n예상보다 시간이 소요되고 있습니다.\n새로고침하지 말고 조금만 더 기다려주세요!","runbox.runtime.overlay.queued.description":"(2 / 3)\n현재 {waiters}번째 대기 중입니다...","runbox.runtime.overlay.queued.description_zero":"(2 / 3)\n곧 런박스가 실행됩니다.","runbox.runtime.overlay.terminated.description.default":"런박스 실습을 진행하시려면, 연결하기 버튼을 눌러주세요.","runbox.runtime.overlay.terminated.description.os_disk_is_full":"디스크 용량을 모두 소진하여 실습이 종료되었습니다.","runbox.runtime.overlay.terminated.description.quota_exceeded":"런타임 사용시간이 만료되어 런타임이 종료되었습니다.","runbox.runtime.overlay.terminated.description.quota_per_session_exceeded":"런박스 세션당 사용시간이 만료되어 런타임이 종료되었습니다.\n런박스를 재접속하려면 아래 버튼을 눌러주세요.","runbox.runtime.overlay.terminated.title":"연결 해제","runbox.runtime.overlay.terminated.connect":"연결하기","runbox.runtime.overlay.terminated.unlimited":"제한 없음","runbox.runtime.overlay.terminated.contact":"고객센터 문의하기","runbox.runtime.overlay.terminated.quota.total":"전체 사용 가능 시간","runbox.runtime.overlay.terminated.quota.used":"총 사용 시간","runbox.runtime.overlay.terminated.disk.total":"전체 디스크","runbox.runtime.overlay.terminated.disk.used":"총 사용 디스크","runbox.runtime.overlay.conflicted.description":"이 런박스 실습을 연결하면 다른 수업자료의 런박스는 종료됩니다.\n저장하지 않은 내용이 있다면 먼저 저장해 주세요.","runbox.runtime.overlay.conflicted.title":"현재 다른 수업자료에 런박스가 연결되어 있습니다","runbox.runtime.dialog.change_material.title":"런박스 연결 변경 안내","runbox.runtime.dialog.change_material.description":"이 런박스 실습을 연결하면 다른 수업자료의 런박스는 종료됩니다. 계속하시겠습니까?"};
|
|
2
2
|
|
|
3
3
|
export { messageKo as default };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var th = {"common.cancel":"ยกเลิก","material.tutoring.runbox_confirm_dialog.action.confirm":"ดำเนินการ","material.tutoring.runbox_confirm_dialog.content":"ขณะนี้นักเรียน {_termCourseRoleStudent} กำลังทำงานในสภาพแวดล้อม Runbox หากคุณเชื่อมต่อ เวลาที่เหลือสำหรับการใช้งานรันไทม์ทั้งหมดจะลดลง คุณต้องการดำเนินการต่อหรือไม่?","material.tutoring.runbox_confirm_dialog.title":"รันบ็อกซ์กำลังทำงาน","runbox.action.autoShutdown.title":"เปิดตลอดเวลา","runbox.action.autoShutdown.tooltip":"คุณสมบัตินี้ไม่สามารถใช้งานได้ในเซสชันนี้ เนื่องจากมีการตั้งค่าให้ปิดการทำงานอัตโนมัติเมื่อออก","runbox.action.grade.dialog.description.error":"มีปัญหาในโค้ดหรือไฟล์ที่ส่ง\nกรุณาตรวจสอบข้อความข้อผิดพลาดด้านล่างและตรวจสอบว่ารูปแบบการส่งตรงกับความต้องการ จากนั้นส่งอีกครั้ง","runbox.action.grade.dialog.description.success":"การจัดเกรดเสร็จสมบูรณ์เรียบร้อยแล้ว","runbox.action.grade.dialog.title":"ผลการประเมินผลการเรียน","runbox.action.grade.noti.error":"เกิดข้อผิดพลาดขึ้นในขณะที่ทำการตรวจคะแนนของโค้ด","runbox.action.grade.title":"ส่ง","runbox.action.grade.tooltip.onProgress":"กำลังให้คะแนนโค้ด โปรดรอสักครู่ การให้คะแนนอาจใช้เวลาสูงสุด 3 นาที ขึ้นอยู่กับประเภทของการฝึกอบรม","runbox.action.reset.dialog.actions.confirm":"รีเซ็ต","runbox.action.reset.dialog.isolated.description":"ต้องการรีเซ็ตโค้ด Runbox หรือไม่? การรีเซ็ตจะแทนที่โค้ดของคุณด้วยโค้ดเริ่มต้นของหน้าเรียน {_termLibraryLecturePage} \nเซสชัน Runbox จะรีเฟรชหลังจากรีเซ็ต","runbox.action.reset.dialog.shared.description":"คุณต้องการรีเซ็ตโค้ดของ Runbox หรือไม่? หากทำการรีเซ็ต โค้ดที่ทีมเขียนไว้จะถูกเขียนทับด้วยโค้ดเริ่มต้น และเซสชันของ Runbox จะถูกรีเฟรชหลังจากนั้น","runbox.action.reset.noti.error":"เกิดข้อผิดพลาดระหว่างการรีเซ็ตโค้ด Runbox","runbox.action.reset.title":"รีเซ็ตโค้ด","runbox.action.restart.dialog.actions.confirm":"เริ่มต้นใหม่","runbox.action.restart.dialog.isolated.description":"ต้องการเริ่มต้น Runbox ใหม่หรือไม่?","runbox.action.restart.dialog.shared.description":"Runbox จะเริ่มต้นใหม่บนหน้าจอของเพื่อนร่วมทีมด้วย คุณต้องการเริ่มต้น Runbox ใหม่หรือไม่?","runbox.action.restart.title":"เริ่มต้น Runbox ใหม่","runbox.action.share.snackbar.copied.fail":"ล้มเหลวในการคัดลอก URL Runbox กรุณาลองอีกครั้ง","runbox.action.share.snackbar.copied.success":"คัดลอก URL Runbox สำเร็จ","runbox.action.share.title":"คัดลอก URL Runbox","runbox.action.submitCountInfo.dialog.description":"คุณใช้จำนวนครั้งในการส่งเกินขีดจำกัดแล้ว","runbox.action.submitCountInfo.dialog.title":"ข้อจำกัดจำนวนครั้งในการส่ง","runbox.action.submitCountInfo.tooltip.disabled":"คุณใช้จำนวนครั้งในการส่งทั้งหมดแล้ว","runbox.action.submitLog.dialog.download.tooltip":"ดาวน์โหลดไฟล์ที่ส่ง","runbox.action.submitLog.dialog.title":"ประวัติการส่ง","runbox.action.submitLog.empty":"ไม่มีประวัติการส่ง","runbox.action.submitLog.title":"ประวัติการส่ง Runbox","runbox.action.disconnect.dialog.title":"ยกเลิกการเชื่อมต่อ Runbox","runbox.action.disconnect.dialog.description":"คุณกำลังอยู่ในระหว่างการฝึกปฏิบัติ ต้องการยกเลิกการเชื่อมต่อ Runbox หรือไม่?\nหากมีงานที่ยังไม่ได้บันทึก กรุณาบันทึกก่อน","runbox.action.disconnect.dialog.disconnect":"ยกเลิกการเชื่อมต่อ","runbox.action.disconnect.title":"ยกเลิกการเชื่อมต่อ","runbox.action.menu.title":"เพิ่มเติม","runbox.alert.title":"คุณได้เชื่อมต่อกับสภาพแวดล้อมที่นักเรียนกำลังทำงานอยู่ และเวลาใช้งานรันไทม์ทั้งหมดกำลังถูกหัก โปรดทราบว่าหากนักเรียนออกจากรันบ็อกซ์ แต่การให้คำปรึกษายังดำเนินต่อไป เวลาจะยังคงถูกหัก","runbox.common.close":"ปิด","runbox.common.retry":"ลองใหม่","runbox.common.score":"{score} คะแนน","runbox.common.support":"สนับสนุน","runbox.common.connect":"เชื่อมต่อ","runbox.context.command.ping.error":"เกิดข้อผิดพลาดขณะดำเนินการ Runbox","runbox.header.submitInfo":"{isIndividual, select, true {การส่งแบบส่วนตัว} other {การส่งแบบทีม}} | {remainCount}/{totalCount} ครั้งที่เหลือ | {isDailyLimitEnabled, select, true {วันนี้} other {}} ","runbox.timer.title":"
|
|
1
|
+
var th = {"common.cancel":"ยกเลิก","material.tutoring.runbox_confirm_dialog.action.confirm":"ดำเนินการ","material.tutoring.runbox_confirm_dialog.content":"ขณะนี้นักเรียน {_termCourseRoleStudent} กำลังทำงานในสภาพแวดล้อม Runbox หากคุณเชื่อมต่อ เวลาที่เหลือสำหรับการใช้งานรันไทม์ทั้งหมดจะลดลง คุณต้องการดำเนินการต่อหรือไม่?","material.tutoring.runbox_confirm_dialog.title":"รันบ็อกซ์กำลังทำงาน","runbox.action.autoShutdown.title":"เปิดตลอดเวลา","runbox.action.autoShutdown.tooltip":"คุณสมบัตินี้ไม่สามารถใช้งานได้ในเซสชันนี้ เนื่องจากมีการตั้งค่าให้ปิดการทำงานอัตโนมัติเมื่อออก","runbox.action.grade.dialog.description.error":"มีปัญหาในโค้ดหรือไฟล์ที่ส่ง\nกรุณาตรวจสอบข้อความข้อผิดพลาดด้านล่างและตรวจสอบว่ารูปแบบการส่งตรงกับความต้องการ จากนั้นส่งอีกครั้ง","runbox.action.grade.dialog.description.success":"การจัดเกรดเสร็จสมบูรณ์เรียบร้อยแล้ว","runbox.action.grade.dialog.title":"ผลการประเมินผลการเรียน","runbox.action.grade.noti.error":"เกิดข้อผิดพลาดขึ้นในขณะที่ทำการตรวจคะแนนของโค้ด","runbox.action.grade.title":"ส่ง","runbox.action.grade.tooltip.onProgress":"กำลังให้คะแนนโค้ด โปรดรอสักครู่ การให้คะแนนอาจใช้เวลาสูงสุด 3 นาที ขึ้นอยู่กับประเภทของการฝึกอบรม","runbox.action.reset.dialog.actions.confirm":"รีเซ็ต","runbox.action.reset.dialog.isolated.description":"ต้องการรีเซ็ตโค้ด Runbox หรือไม่? การรีเซ็ตจะแทนที่โค้ดของคุณด้วยโค้ดเริ่มต้นของหน้าเรียน {_termLibraryLecturePage} \nเซสชัน Runbox จะรีเฟรชหลังจากรีเซ็ต","runbox.action.reset.dialog.shared.description":"คุณต้องการรีเซ็ตโค้ดของ Runbox หรือไม่? หากทำการรีเซ็ต โค้ดที่ทีมเขียนไว้จะถูกเขียนทับด้วยโค้ดเริ่มต้น และเซสชันของ Runbox จะถูกรีเฟรชหลังจากนั้น","runbox.action.reset.noti.error":"เกิดข้อผิดพลาดระหว่างการรีเซ็ตโค้ด Runbox","runbox.action.reset.title":"รีเซ็ตโค้ด","runbox.action.restart.dialog.actions.confirm":"เริ่มต้นใหม่","runbox.action.restart.dialog.isolated.description":"ต้องการเริ่มต้น Runbox ใหม่หรือไม่?","runbox.action.restart.dialog.shared.description":"Runbox จะเริ่มต้นใหม่บนหน้าจอของเพื่อนร่วมทีมด้วย คุณต้องการเริ่มต้น Runbox ใหม่หรือไม่?","runbox.action.restart.title":"เริ่มต้น Runbox ใหม่","runbox.action.share.snackbar.copied.fail":"ล้มเหลวในการคัดลอก URL Runbox กรุณาลองอีกครั้ง","runbox.action.share.snackbar.copied.success":"คัดลอก URL Runbox สำเร็จ","runbox.action.share.title":"คัดลอก URL Runbox","runbox.action.submitCountInfo.dialog.description":"คุณใช้จำนวนครั้งในการส่งเกินขีดจำกัดแล้ว","runbox.action.submitCountInfo.dialog.title":"ข้อจำกัดจำนวนครั้งในการส่ง","runbox.action.submitCountInfo.tooltip.disabled":"คุณใช้จำนวนครั้งในการส่งทั้งหมดแล้ว","runbox.action.submitLog.dialog.download.tooltip":"ดาวน์โหลดไฟล์ที่ส่ง","runbox.action.submitLog.dialog.title":"ประวัติการส่ง","runbox.action.submitLog.empty":"ไม่มีประวัติการส่ง","runbox.action.submitLog.title":"ประวัติการส่ง Runbox","runbox.action.disconnect.dialog.title":"ยกเลิกการเชื่อมต่อ Runbox","runbox.action.disconnect.dialog.description":"คุณกำลังอยู่ในระหว่างการฝึกปฏิบัติ ต้องการยกเลิกการเชื่อมต่อ Runbox หรือไม่?\nหากมีงานที่ยังไม่ได้บันทึก กรุณาบันทึกก่อน","runbox.action.disconnect.dialog.disconnect":"ยกเลิกการเชื่อมต่อ","runbox.action.disconnect.title":"ยกเลิกการเชื่อมต่อ","runbox.action.menu.title":"เพิ่มเติม","runbox.alert.title":"คุณได้เชื่อมต่อกับสภาพแวดล้อมที่นักเรียนกำลังทำงานอยู่ และเวลาใช้งานรันไทม์ทั้งหมดกำลังถูกหัก โปรดทราบว่าหากนักเรียนออกจากรันบ็อกซ์ แต่การให้คำปรึกษายังดำเนินต่อไป เวลาจะยังคงถูกหัก","runbox.common.close":"ปิด","runbox.common.retry":"ลองใหม่","runbox.common.score":"{score} คะแนน","runbox.common.support":"สนับสนุน","runbox.common.connect":"เชื่อมต่อ","runbox.context.command.ping.error":"เกิดข้อผิดพลาดขณะดำเนินการ Runbox","runbox.header.submitInfo":"{isIndividual, select, true {การส่งแบบส่วนตัว} other {การส่งแบบทีม}} | {remainCount}/{totalCount} ครั้งที่เหลือ | {isDailyLimitEnabled, select, true {วันนี้} other {}} ","runbox.timer.title":"เวลาที่เหลือของ Runbox","runbox.timer.unlimited":"ไม่จำกัด","runbox.timer.tooltip.title":"ดูข้อมูลเวลา","runbox.timer.popover.title":"คู่มือเวลาใช้งาน Runbox","runbox.timer.popover.description":"นี่คือเวลาการใช้งาน Runbox ที่มอบให้กับ {user}\nหากยังเชื่อมต่ออยู่ เวลาจะถูกหักออกอย่างต่อเนื่อง กรุณาตัดการเชื่อมต่อหรือออกจากเนื้อหาบทเรียนเมื่อไม่ใช้งานเพื่อหยุดการหักเวลา","runbox.timer.popover.quota.title":"เวลาที่สามารถใช้งานได้ทั้งหมด","runbox.timer.popover.quota_per_session.title":"เวลาที่เหลือของเซสชันนี้","runbox.timer.popover.quota_per_session.description":"แต่ละเซสชันมีเวลาจำกัดสูงสุดที่ {time} หากยังมีเวลารวมเหลืออยู่ คุณสามารถเชื่อมต่อใหม่และทำกิจกรรมต่อได้","runbox.timer.popover.quota.disconnect":"ตัดการเชื่อมต่อ","runbox.timer.almost_end.snackbar.quota_per_session":"เหลือเวลา {time} สำหรับแต่ละรอบการฝึกปฏิบัติ","runbox.timer.almost_end.snackbar.quota":"เหลือเวลาใช้งาน Runbox ทั้งหมด {time}","runbox.timer.almost_end.snackbar.detail":"ดูเพิ่มเติม","runbox.disk.almost_full.snackbar.almost_full":"พื้นที่ดิสก์ที่เหลืออยู่คือ {capacity} หากพื้นที่หมด การฝึกปฏิบัติจะสิ้นสุดลง กรุณาบันทึกงานที่กำลังทำอยู่ตอนนี้","runbox.runtime.message.lxp_plan_required":"ขณะนี้สถาบันของคุณไม่รองรับการใช้งานสื่อการเรียนการสอน Runbox\nโปรดติดต่อผู้ดูแลระบบของสถาบันของคุณสำหรับข้อมูลเพิ่มเติม","runbox.runtime.message.runbox_unavailable":"ไม่สามารถใช้ Runbox ได้","runbox.runtime.message.startError":"เกิดข้อผิดพลาดขณะเริ่ม Runbox","runbox.runtime.overlay.assigned.description":"(3 / 3)\nRunbox กำลังทำงานอยู่\nกรุณารอสักครู่!","runbox.runtime.overlay.assigned.description_timeout":"(3 / 3)\nRunbox ใช้เวลานานกว่าที่คาดไว้ในการทำงาน\nกรุณาอย่ารีเฟรชและรอสักครู่!","runbox.runtime.overlay.queued.description":"(2 / 3)\nกำลังรอคิวอยู่ที่ {waiters}...","runbox.runtime.overlay.queued.description_zero":"(2 / 3)\nRunbox ของคุณจะเริ่มทำงานเร็วๆ นี้","runbox.runtime.overlay.terminated.description.default":"หากต้องการดำเนินการฝึก Runbox ต่อ กรุณาคลิกปุ่มเชื่อมต่อ","runbox.runtime.overlay.terminated.description.os_disk_is_full":"พื้นที่ดิสก์ถูกใช้งานจนหมดแล้ว การฝึกปฏิบัติได้สิ้นสุดลง","runbox.runtime.overlay.terminated.description.quota_exceeded":"รันไทม์ถูกยกเลิกเนื่องจากเวลาการใช้งานหมดอายุแล้ว","runbox.runtime.overlay.terminated.description.quota_per_session_exceeded":"รันไทม์ถูกยกเลิกเนื่องจากเวลาการใช้งานต่อเซสชันหมดอายุแล้ว\nหากต้องการเชื่อมต่อกับ Runbox อีกครั้ง กรุณากดปุ่มด้านล่าง","runbox.runtime.overlay.terminated.title":"การเชื่อมต่อถูกยกเลิก","runbox.runtime.overlay.terminated.connect":"เชื่อมต่อ","runbox.runtime.overlay.terminated.unlimited":"ไม่จำกัด","runbox.runtime.overlay.terminated.contact":"ติดต่อฝ่ายบริการลูกค้า","runbox.runtime.overlay.terminated.quota.total":"เวลาที่สามารถใช้งานได้ทั้งหมด","runbox.runtime.overlay.terminated.quota.used":"เวลาที่ใช้ไปทั้งหมด","runbox.runtime.overlay.terminated.disk.total":"พื้นที่ดิสก์ทั้งหมด","runbox.runtime.overlay.terminated.disk.used":"พื้นที่ดิสก์ที่ใช้ไปทั้งหมด","runbox.runtime.overlay.conflicted.description":"การเชื่อมต่อกับการฝึก Runbox นี้จะยุติการทำงานของ Runbox ในสื่อการสอนอื่น\nกรุณาบันทึกงานที่ยังไม่ได้บันทึกก่อน","runbox.runtime.overlay.conflicted.title":"ขณะนี้ Runbox เชื่อมต่อกับสื่อการสอนอื่นอยู่","runbox.runtime.dialog.change_material.title":"ประกาศการเปลี่ยนการเชื่อมต่อ Runbox","runbox.runtime.dialog.change_material.description":"การเชื่อมต่อกับการฝึก Runbox นี้จะยุติการทำงานของ Runbox ในสื่อการสอนอื่น คุณต้องการดำเนินการต่อหรือไม่?"};
|
|
2
2
|
|
|
3
3
|
export { th as default };
|
|
@@ -8,13 +8,14 @@ import { useEliceRunboxRunning, useEliceRunboxQuota } from '@elice/runbox-client
|
|
|
8
8
|
import { faTimer } from '@fortawesome/pro-solid-svg-icons';
|
|
9
9
|
import { Tooltip, Chip, Typography } from '@mui/material';
|
|
10
10
|
import MaterialRunboxAlmostEndSnackbars from './MaterialRunboxAlmostEndSnackbars.js';
|
|
11
|
-
import MaterialRunboxTimerDetailPopover
|
|
11
|
+
import MaterialRunboxTimerDetailPopover from './MaterialRunboxTimerDetailPopover.js';
|
|
12
12
|
import { getTimeParts } from '../../../utils/time.js';
|
|
13
13
|
|
|
14
14
|
//
|
|
15
15
|
//
|
|
16
16
|
//
|
|
17
17
|
var QUOTA_ALMOST_END_MINUTES = 30;
|
|
18
|
+
var QUOTA_POPOVER_AUTO_OPENED_KEY = 'MaterialRunboxTimer.timerDetailPopover.autoOpened';
|
|
18
19
|
//
|
|
19
20
|
//
|
|
20
21
|
//
|
|
@@ -35,20 +36,20 @@ var MaterialRunboxTimer = function MaterialRunboxTimer(_ref) {
|
|
|
35
36
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
36
37
|
isTimerDetailPopoverOpen = _React$useState2[0],
|
|
37
38
|
setTimerDetailPopoverOpen = _React$useState2[1];
|
|
38
|
-
var _useLocalStorage = useLocalStorage(
|
|
39
|
-
_useLocalStorage2 = _slicedToArray(_useLocalStorage,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
//
|
|
43
|
-
//
|
|
39
|
+
var _useLocalStorage = useLocalStorage(QUOTA_POPOVER_AUTO_OPENED_KEY, false),
|
|
40
|
+
_useLocalStorage2 = _slicedToArray(_useLocalStorage, 2),
|
|
41
|
+
wasTimerDetailPopoverAutoOpened = _useLocalStorage2[0],
|
|
42
|
+
setTimerDetailPopoverAutoOpened = _useLocalStorage2[1];
|
|
43
|
+
// Open the timer detail automatically at start, just for the first time.
|
|
44
44
|
React.useEffect(function () {
|
|
45
|
-
if (
|
|
45
|
+
if (wasTimerDetailPopoverAutoOpened || hideTimerPopover) {
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
48
|
if (isRunboxRunning) {
|
|
49
49
|
setTimerDetailPopoverOpen(true);
|
|
50
|
+
setTimerDetailPopoverAutoOpened(true);
|
|
50
51
|
}
|
|
51
|
-
}, [hideTimerPopover, isRunboxRunning,
|
|
52
|
+
}, [hideTimerPopover, isRunboxRunning, wasTimerDetailPopoverAutoOpened, setTimerDetailPopoverOpen, setTimerDetailPopoverAutoOpened]);
|
|
52
53
|
/**
|
|
53
54
|
*
|
|
54
55
|
*/
|
|
@@ -107,9 +108,6 @@ var MaterialRunboxTimer = function MaterialRunboxTimer(_ref) {
|
|
|
107
108
|
})) : " ".concat(timeString)
|
|
108
109
|
})]
|
|
109
110
|
}),
|
|
110
|
-
sx: {
|
|
111
|
-
backgroundColor: isTimerDetailPopoverOpen ? 'action.focus' : 'unset'
|
|
112
|
-
},
|
|
113
111
|
onClick: function onClick() {
|
|
114
112
|
return setTimerDetailPopoverOpen(true);
|
|
115
113
|
}
|
|
@@ -5,6 +5,5 @@ interface MaterialRunboxTimerDetailPopoverProps extends PopoverProps {
|
|
|
5
5
|
onClose: () => void;
|
|
6
6
|
onClickDisconnect: () => void;
|
|
7
7
|
}
|
|
8
|
-
export declare const QUOTA_POPOVER_NOT_SHOW_ON_START = "MaterialRunboxTimer.timerDetailPopover.notShowOnStart";
|
|
9
8
|
declare const MaterialRunboxTimerDetailPopover: React.FC<MaterialRunboxTimerDetailPopoverProps>;
|
|
10
9
|
export default MaterialRunboxTimerDetailPopover;
|
|
@@ -1,25 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import { __rest } from 'tslib';
|
|
3
|
-
import { jsx, jsxs
|
|
4
|
-
import { useLocalStorage } from 'react-use';
|
|
3
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
4
|
import { getOrgUserGet } from '@elice/api-client';
|
|
6
5
|
import { useRawEliceIntl } from '@elice/intl';
|
|
7
6
|
import { EliceIcon } from '@elice/mui-elements';
|
|
8
7
|
import { useEliceRunboxQuota } from '@elice/runbox-client';
|
|
9
8
|
import { faXmarkLarge } from '@fortawesome/pro-regular-svg-icons';
|
|
10
|
-
import { Popover, Stack, Card, Divider, Button,
|
|
9
|
+
import { Popover, Stack, Card, Typography, Divider, Button, IconButton } from '@mui/material';
|
|
11
10
|
import { useQuery } from '@tanstack/react-query';
|
|
12
11
|
import { getTimeParts } from '../../../utils/time.js';
|
|
13
12
|
|
|
14
|
-
//
|
|
15
|
-
//
|
|
16
|
-
//
|
|
17
|
-
var QUOTA_ALMOST_END_MINUTES = 30;
|
|
18
|
-
var QUOTA_PER_SESSION_ALMOST_END_MINUTES = 10;
|
|
19
|
-
var QUOTA_POPOVER_NOT_SHOW_ON_START = 'MaterialRunboxTimer.timerDetailPopover.notShowOnStart';
|
|
20
|
-
//
|
|
21
|
-
//
|
|
22
|
-
//
|
|
23
13
|
var MaterialRunboxTimerDetailPopover = function MaterialRunboxTimerDetailPopover(_a) {
|
|
24
14
|
var userId = _a.userId,
|
|
25
15
|
open = _a.open,
|
|
@@ -30,10 +20,6 @@ var MaterialRunboxTimerDetailPopover = function MaterialRunboxTimerDetailPopover
|
|
|
30
20
|
var _useEliceRunboxQuota = useEliceRunboxQuota(),
|
|
31
21
|
quotaInfo = _useEliceRunboxQuota.quotaInfo,
|
|
32
22
|
quotaPerSessionInfo = _useEliceRunboxQuota.quotaPerSessionInfo;
|
|
33
|
-
var _useLocalStorage = useLocalStorage(QUOTA_POPOVER_NOT_SHOW_ON_START, false),
|
|
34
|
-
_useLocalStorage2 = _slicedToArray(_useLocalStorage, 2),
|
|
35
|
-
notShowTimerDetailPopoverOnStart = _useLocalStorage2[0],
|
|
36
|
-
setNotShowTimerDetailPopoverOnStart = _useLocalStorage2[1];
|
|
37
23
|
var _useQuery = useQuery({
|
|
38
24
|
enabled: Boolean(userId),
|
|
39
25
|
queryKey: ['getOrgUserGet', userId],
|
|
@@ -127,7 +113,7 @@ var MaterialRunboxTimerDetailPopover = function MaterialRunboxTimerDetailPopover
|
|
|
127
113
|
/**
|
|
128
114
|
*
|
|
129
115
|
*/
|
|
130
|
-
var renderQuotaTimePart = function renderQuotaTimePart(value, unit
|
|
116
|
+
var renderQuotaTimePart = function renderQuotaTimePart(value, unit) {
|
|
131
117
|
var parts = intl.formatNumberToParts(value, {
|
|
132
118
|
style: 'unit',
|
|
133
119
|
unit: unit,
|
|
@@ -137,7 +123,6 @@ var MaterialRunboxTimerDetailPopover = function MaterialRunboxTimerDetailPopover
|
|
|
137
123
|
component: "span",
|
|
138
124
|
variant: "h5",
|
|
139
125
|
fontWeight: "extraBold",
|
|
140
|
-
color: color,
|
|
141
126
|
children: parts.map(function (part, index) {
|
|
142
127
|
if (part.type === 'unit') {
|
|
143
128
|
return jsx(Typography, {
|
|
@@ -156,26 +141,15 @@ var MaterialRunboxTimerDetailPopover = function MaterialRunboxTimerDetailPopover
|
|
|
156
141
|
/**
|
|
157
142
|
*
|
|
158
143
|
*/
|
|
159
|
-
var
|
|
144
|
+
var renderQuota = function renderQuota() {
|
|
160
145
|
if (quotaInfo.isUnlimited) {
|
|
161
|
-
return
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
children:
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
children: intl.formatMessage({
|
|
169
|
-
id: 'runbox.timer.popover.quota.title'
|
|
170
|
-
})
|
|
171
|
-
}), jsx(Typography, {
|
|
172
|
-
component: "span",
|
|
173
|
-
variant: "h5",
|
|
174
|
-
fontWeight: "extraBold",
|
|
175
|
-
children: intl.formatMessage({
|
|
176
|
-
id: 'runbox.timer.unlimited'
|
|
177
|
-
})
|
|
178
|
-
})]
|
|
146
|
+
return jsx(Typography, {
|
|
147
|
+
component: "span",
|
|
148
|
+
variant: "h5",
|
|
149
|
+
fontWeight: "extraBold",
|
|
150
|
+
children: intl.formatMessage({
|
|
151
|
+
id: 'runbox.timer.unlimited'
|
|
152
|
+
})
|
|
179
153
|
});
|
|
180
154
|
}
|
|
181
155
|
// Sync UI with the timer.
|
|
@@ -185,23 +159,9 @@ var MaterialRunboxTimerDetailPopover = function MaterialRunboxTimerDetailPopover
|
|
|
185
159
|
var _getTimeParts2 = getTimeParts(quotaInfo.quota * 60),
|
|
186
160
|
totalHours = _getTimeParts2.hours,
|
|
187
161
|
totalMinutes = _getTimeParts2.minutes;
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
direction: "column",
|
|
192
|
-
gap: "0.5rem",
|
|
193
|
-
padding: "1rem",
|
|
194
|
-
bgcolor: quotaBgColor,
|
|
195
|
-
children: [jsx(Typography, {
|
|
196
|
-
variant: "body2",
|
|
197
|
-
fontWeight: "bold",
|
|
198
|
-
children: intl.formatMessage({
|
|
199
|
-
id: 'runbox.timer.popover.quota.title'
|
|
200
|
-
})
|
|
201
|
-
}), jsxs(Typography, {
|
|
202
|
-
variant: "body2",
|
|
203
|
-
children: [renderQuotaTimePart(remainingHours, 'hour', quotaColor), " ", renderQuotaTimePart(remainingMinutes, 'minute', quotaColor), " / ", formatTimePart(totalHours, 'hour'), " ", totalMinutes > 0 ? formatTimePart(totalMinutes, 'minute') : null]
|
|
204
|
-
})]
|
|
162
|
+
return jsxs(Typography, {
|
|
163
|
+
variant: "body2",
|
|
164
|
+
children: [renderQuotaTimePart(remainingHours, 'hour'), " ", renderQuotaTimePart(remainingMinutes, 'minute'), " / ", formatTimePart(totalHours, 'hour'), " ", totalMinutes > 0 ? formatTimePart(totalMinutes, 'minute') : null]
|
|
205
165
|
});
|
|
206
166
|
};
|
|
207
167
|
/**
|
|
@@ -219,30 +179,17 @@ var MaterialRunboxTimerDetailPopover = function MaterialRunboxTimerDetailPopover
|
|
|
219
179
|
})]
|
|
220
180
|
});
|
|
221
181
|
}
|
|
222
|
-
|
|
223
|
-
remainingHours = _getTimeParts3.hours,
|
|
224
|
-
remainingMinutes = _getTimeParts3.minutes;
|
|
225
|
-
var _getTimeParts4 = getTimeParts(quotaPerSessionInfo.quota * 60),
|
|
226
|
-
totalHours = _getTimeParts4.hours,
|
|
227
|
-
totalMinutes = _getTimeParts4.minutes;
|
|
228
|
-
var perSessionColor = quotaPerSessionInfo.remainingQuota > QUOTA_PER_SESSION_ALMOST_END_MINUTES ? 'success.main' : 'warning.main';
|
|
229
|
-
var perSessionBgColor = quotaPerSessionInfo.remainingQuota > QUOTA_PER_SESSION_ALMOST_END_MINUTES ? undefined : 'warning.opacity03';
|
|
182
|
+
// TODO: Replace with `intl.formatDuration()` adding it to elice-intl.
|
|
230
183
|
return jsxs(Stack, {
|
|
231
184
|
direction: "column",
|
|
232
185
|
gap: "0.5rem",
|
|
233
186
|
padding: "1rem",
|
|
234
|
-
|
|
235
|
-
children: [jsx(Typography, {
|
|
187
|
+
children: [jsxs(Typography, {
|
|
236
188
|
variant: "body2",
|
|
237
189
|
fontWeight: "bold",
|
|
238
|
-
children: intl.formatMessage({
|
|
190
|
+
children: [intl.formatMessage({
|
|
239
191
|
id: 'runbox.timer.popover.quota_per_session.title'
|
|
240
|
-
})
|
|
241
|
-
}), jsxs(Typography, {
|
|
242
|
-
variant: "body2",
|
|
243
|
-
children: [remainingHours > 0 ? jsxs(Fragment, {
|
|
244
|
-
children: [renderQuotaTimePart(remainingHours, 'hour', perSessionColor), " "]
|
|
245
|
-
}) : null, renderQuotaTimePart(remainingMinutes, 'minute', perSessionColor), " / ", totalHours > 0 ? "".concat(formatTimePart(totalHours, 'hour'), " ") : null, formatTimePart(totalMinutes, 'minute')]
|
|
192
|
+
}), " : ", formatTimePart(quotaPerSessionInfo.remainingQuota, 'minute')]
|
|
246
193
|
}), jsx(Typography, {
|
|
247
194
|
variant: "body2",
|
|
248
195
|
children: intl.formatMessage({
|
|
@@ -268,7 +215,21 @@ var MaterialRunboxTimerDetailPopover = function MaterialRunboxTimerDetailPopover
|
|
|
268
215
|
sx: {
|
|
269
216
|
bgcolor: 'background.neutral'
|
|
270
217
|
},
|
|
271
|
-
children: [
|
|
218
|
+
children: [jsxs(Stack, {
|
|
219
|
+
direction: "column",
|
|
220
|
+
gap: "0.5rem",
|
|
221
|
+
padding: "1rem",
|
|
222
|
+
children: [jsx(Typography, {
|
|
223
|
+
variant: "body2",
|
|
224
|
+
fontWeight: "bold",
|
|
225
|
+
children: intl.formatMessage({
|
|
226
|
+
id: 'runbox.timer.popover.quota.title'
|
|
227
|
+
})
|
|
228
|
+
}), jsx(Stack, {
|
|
229
|
+
direction: "row",
|
|
230
|
+
children: renderQuota()
|
|
231
|
+
})]
|
|
232
|
+
}), jsx(Divider, {}), renderQuotaPerSession()]
|
|
272
233
|
}), jsx(Button, {
|
|
273
234
|
fullWidth: true,
|
|
274
235
|
variant: "contained",
|
|
@@ -278,23 +239,9 @@ var MaterialRunboxTimerDetailPopover = function MaterialRunboxTimerDetailPopover
|
|
|
278
239
|
children: intl.formatMessage({
|
|
279
240
|
id: 'runbox.timer.popover.quota.disconnect'
|
|
280
241
|
})
|
|
281
|
-
}), jsx(FormControlLabel, {
|
|
282
|
-
control: jsx(Checkbox, {
|
|
283
|
-
size: "small",
|
|
284
|
-
checked: notShowTimerDetailPopoverOnStart,
|
|
285
|
-
onChange: function onChange(event) {
|
|
286
|
-
return setNotShowTimerDetailPopoverOnStart(event.target.checked);
|
|
287
|
-
}
|
|
288
|
-
}),
|
|
289
|
-
label: jsx(Typography, {
|
|
290
|
-
variant: "body2",
|
|
291
|
-
children: intl.formatMessage({
|
|
292
|
-
id: 'runbox.timer.popover.do_not_open'
|
|
293
|
-
})
|
|
294
|
-
})
|
|
295
242
|
})]
|
|
296
243
|
})
|
|
297
244
|
}));
|
|
298
245
|
};
|
|
299
246
|
|
|
300
|
-
export {
|
|
247
|
+
export { MaterialRunboxTimerDetailPopover as default };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elice/material-runbox",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.260430.0",
|
|
4
4
|
"description": "User view and editing components of Elice material runbox",
|
|
5
5
|
"repository": "https://git.elicer.io/elice/frontend/library/elice-material",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
|
|
35
35
|
"react-transition-group": "^4.4.0",
|
|
36
36
|
"react-use": "^17.0.0",
|
|
37
|
-
"@elice/material-shared-types": "1.
|
|
38
|
-
"@elice/material-shared-utils": "1.
|
|
37
|
+
"@elice/material-shared-types": "1.260430.0",
|
|
38
|
+
"@elice/material-shared-utils": "1.260430.0"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"classnames": "^2.2.0",
|
|
@@ -74,8 +74,8 @@
|
|
|
74
74
|
"react-use": "^17.2.4",
|
|
75
75
|
"rollup": "^4.0.0",
|
|
76
76
|
"typescript": "~5.9.3",
|
|
77
|
-
"@elice/material-shared-types": "1.
|
|
78
|
-
"@elice/material-shared-utils": "1.
|
|
77
|
+
"@elice/material-shared-types": "1.260430.0",
|
|
78
|
+
"@elice/material-shared-utils": "1.260430.0"
|
|
79
79
|
},
|
|
80
80
|
"scripts": {
|
|
81
81
|
"start": "run-s watch",
|