@elice/material-runbox 1.260908.0 → 1.260910.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/_virtual/_rollupPluginBabelHelpers.js +16 -0
- package/cjs/assets/runbox-loading.svg.js +7 -0
- package/cjs/components/material-runbox/MaterialRunbox.js +16 -11
- package/cjs/components/material-runbox/MaterialRunboxContent.d.ts +2 -0
- package/cjs/components/material-runbox/MaterialRunboxContent.js +93 -65
- package/cjs/components/material-runbox/MaterialRunboxHeader.js +55 -69
- package/cjs/components/material-runbox/actions/MaterialRunboxActionDisconnect.d.ts +1 -4
- package/cjs/components/material-runbox/actions/MaterialRunboxActionDisconnect.js +29 -2
- package/cjs/components/material-runbox/actions/MaterialRunboxActionDisconnectMenuItem.d.ts +3 -0
- package/cjs/components/material-runbox/actions/MaterialRunboxActionDisconnectMenuItem.js +90 -0
- package/cjs/components/material-runbox/actions/MaterialRunboxActionMenu.d.ts +3 -1
- package/cjs/components/material-runbox/actions/MaterialRunboxActionMenu.js +26 -7
- package/cjs/components/material-runbox/actions/MaterialRunboxActionRestart.d.ts +1 -2
- package/cjs/components/material-runbox/actions/MaterialRunboxActionRestart.js +9 -26
- package/cjs/components/material-runbox/contexts/MaterialRunboxControlContext.d.ts +14 -0
- package/cjs/components/material-runbox/contexts/MaterialRunboxControlContext.js +56 -0
- package/cjs/components/material-runbox/contexts/index.d.ts +2 -0
- package/cjs/components/material-runbox/contexts/index.js +4 -0
- package/cjs/components/material-runbox/disk/MaterialRunboxDiskUsageAlert.d.ts +13 -0
- package/cjs/components/material-runbox/disk/MaterialRunboxDiskUsageAlert.js +71 -0
- package/cjs/components/material-runbox/disk/MaterialRunboxDiskUsageDialog.d.ts +10 -0
- package/cjs/components/material-runbox/disk/MaterialRunboxDiskUsageDialog.js +98 -0
- package/cjs/components/material-runbox/disk/MaterialRunboxEnvResetButton.d.ts +10 -0
- package/cjs/components/material-runbox/disk/MaterialRunboxEnvResetButton.js +151 -0
- package/cjs/components/material-runbox/disk/MaterialRunboxEnvResetDialog.d.ts +13 -0
- package/cjs/components/material-runbox/disk/MaterialRunboxEnvResetDialog.js +98 -0
- package/cjs/components/material-runbox/disk/index.d.ts +8 -1
- package/cjs/components/material-runbox/disk/index.js +8 -2
- package/cjs/components/material-runbox/hooks/index.d.ts +3 -0
- package/cjs/components/material-runbox/hooks/index.js +14 -0
- package/cjs/components/material-runbox/hooks/useRunboxControl.d.ts +4 -3
- package/cjs/components/material-runbox/hooks/useRunboxControl.js +43 -14
- package/cjs/components/material-runbox/hooks/useRunboxDiskUsage.d.ts +16 -0
- package/cjs/components/material-runbox/hooks/useRunboxDiskUsage.js +50 -0
- package/cjs/components/material-runbox/hooks/useRunboxNetworkStatus.d.ts +14 -0
- package/cjs/components/material-runbox/hooks/useRunboxNetworkStatus.js +65 -0
- package/cjs/components/material-runbox/hooks/useRunboxSessionEndWarning.d.ts +18 -0
- package/cjs/components/material-runbox/hooks/useRunboxSessionEndWarning.js +67 -0
- 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/runtime/Runtime.js +21 -18
- package/cjs/components/material-runbox/runtime/RuntimeChangeMaterialDialog.d.ts +0 -1
- package/cjs/components/material-runbox/runtime/RuntimeChangeMaterialDialog.js +9 -3
- package/cjs/components/material-runbox/runtime/RuntimeOverlayAssigned.d.ts +5 -3
- package/cjs/components/material-runbox/runtime/RuntimeOverlayAssigned.js +6 -54
- package/cjs/components/material-runbox/runtime/RuntimeOverlayConflicted.d.ts +0 -1
- package/cjs/components/material-runbox/runtime/RuntimeOverlayConflicted.js +68 -64
- package/cjs/components/material-runbox/runtime/RuntimeOverlayLoading.d.ts +9 -0
- package/cjs/components/material-runbox/runtime/RuntimeOverlayLoading.js +283 -0
- package/cjs/components/material-runbox/runtime/RuntimeOverlayQueued.d.ts +5 -3
- package/cjs/components/material-runbox/runtime/RuntimeOverlayQueued.js +6 -64
- package/cjs/components/material-runbox/runtime/RuntimeOverlayTerminated.d.ts +4 -1
- package/cjs/components/material-runbox/runtime/RuntimeOverlayTerminated.js +92 -70
- package/cjs/components/material-runbox/runtime/runtime-loading-tips.d.ts +7 -0
- package/cjs/components/material-runbox/runtime/runtime-loading-tips.js +148 -0
- package/cjs/components/material-runbox/status/MaterialRunboxStatusButton.d.ts +15 -0
- package/cjs/components/material-runbox/status/MaterialRunboxStatusButton.js +117 -0
- package/cjs/components/material-runbox/status/MaterialRunboxStatusConnectionItem.d.ts +12 -0
- package/cjs/components/material-runbox/status/MaterialRunboxStatusConnectionItem.js +35 -0
- package/cjs/components/material-runbox/status/MaterialRunboxStatusPopover.d.ts +14 -0
- package/cjs/components/material-runbox/status/MaterialRunboxStatusPopover.js +161 -0
- package/cjs/components/material-runbox/status/MaterialRunboxStatusResourceItem.d.ts +11 -0
- package/cjs/components/material-runbox/status/MaterialRunboxStatusResourceItem.js +41 -0
- package/cjs/components/material-runbox/status/index.d.ts +4 -0
- package/cjs/components/material-runbox/status/index.js +9 -0
- package/cjs/components/material-runbox/theme.d.ts +2 -0
- package/cjs/components/material-runbox/theme.js +15 -0
- package/cjs/components/material-runbox/timer/MaterialRunboxQuotaAlmostEndDialog.d.ts +11 -0
- package/cjs/components/material-runbox/timer/MaterialRunboxQuotaAlmostEndDialog.js +125 -0
- package/cjs/components/material-runbox/timer/MaterialRunboxQuotaAmount.d.ts +13 -0
- package/cjs/components/material-runbox/timer/MaterialRunboxQuotaAmount.js +56 -0
- package/cjs/components/material-runbox/timer/MaterialRunboxQuotaPerSessionAlmostEndDialog.d.ts +12 -0
- package/cjs/components/material-runbox/timer/MaterialRunboxQuotaPerSessionAlmostEndDialog.js +126 -0
- package/cjs/components/material-runbox/timer/MaterialRunboxQuotaTimePart.d.ts +15 -0
- package/cjs/components/material-runbox/timer/MaterialRunboxQuotaTimePart.js +50 -0
- package/cjs/components/material-runbox/timer/MaterialRunboxTimer.d.ts +6 -1
- package/cjs/components/material-runbox/timer/MaterialRunboxTimer.js +26 -18
- package/cjs/components/material-runbox/timer/MaterialRunboxTimerDetailPopover.js +21 -81
- package/cjs/components/shared/hooks/index.d.ts +1 -0
- package/cjs/components/shared/hooks/index.js +7 -0
- package/cjs/components/shared/hooks/useBreakpoint.d.ts +4 -0
- package/cjs/components/shared/hooks/useBreakpoint.js +12 -0
- package/es/_virtual/_rollupPluginBabelHelpers.js +13 -1
- package/es/assets/runbox-loading.svg.js +3 -0
- package/es/components/material-runbox/MaterialRunbox.js +16 -11
- package/es/components/material-runbox/MaterialRunboxContent.d.ts +2 -0
- package/es/components/material-runbox/MaterialRunboxContent.js +94 -66
- package/es/components/material-runbox/MaterialRunboxHeader.js +56 -70
- package/es/components/material-runbox/actions/MaterialRunboxActionDisconnect.d.ts +1 -4
- package/es/components/material-runbox/actions/MaterialRunboxActionDisconnect.js +30 -3
- package/es/components/material-runbox/actions/MaterialRunboxActionDisconnectMenuItem.d.ts +3 -0
- package/es/components/material-runbox/actions/MaterialRunboxActionDisconnectMenuItem.js +82 -0
- package/es/components/material-runbox/actions/MaterialRunboxActionMenu.d.ts +3 -1
- package/es/components/material-runbox/actions/MaterialRunboxActionMenu.js +28 -9
- package/es/components/material-runbox/actions/MaterialRunboxActionRestart.d.ts +1 -2
- package/es/components/material-runbox/actions/MaterialRunboxActionRestart.js +9 -26
- package/es/components/material-runbox/contexts/MaterialRunboxControlContext.d.ts +14 -0
- package/es/components/material-runbox/contexts/MaterialRunboxControlContext.js +46 -0
- package/es/components/material-runbox/contexts/index.d.ts +2 -0
- package/es/components/material-runbox/contexts/index.js +1 -0
- package/es/components/material-runbox/disk/MaterialRunboxDiskUsageAlert.d.ts +13 -0
- package/es/components/material-runbox/disk/MaterialRunboxDiskUsageAlert.js +67 -0
- package/es/components/material-runbox/disk/MaterialRunboxDiskUsageDialog.d.ts +10 -0
- package/es/components/material-runbox/disk/MaterialRunboxDiskUsageDialog.js +94 -0
- package/es/components/material-runbox/disk/MaterialRunboxEnvResetButton.d.ts +10 -0
- package/es/components/material-runbox/disk/MaterialRunboxEnvResetButton.js +143 -0
- package/es/components/material-runbox/disk/MaterialRunboxEnvResetDialog.d.ts +13 -0
- package/es/components/material-runbox/disk/MaterialRunboxEnvResetDialog.js +90 -0
- package/es/components/material-runbox/disk/index.d.ts +8 -1
- package/es/components/material-runbox/disk/index.js +4 -1
- package/es/components/material-runbox/hooks/index.d.ts +3 -0
- package/es/components/material-runbox/hooks/index.js +3 -0
- package/es/components/material-runbox/hooks/useRunboxControl.d.ts +4 -3
- package/es/components/material-runbox/hooks/useRunboxControl.js +43 -14
- package/es/components/material-runbox/hooks/useRunboxDiskUsage.d.ts +16 -0
- package/es/components/material-runbox/hooks/useRunboxDiskUsage.js +42 -0
- package/es/components/material-runbox/hooks/useRunboxNetworkStatus.d.ts +14 -0
- package/es/components/material-runbox/hooks/useRunboxNetworkStatus.js +59 -0
- package/es/components/material-runbox/hooks/useRunboxSessionEndWarning.d.ts +18 -0
- package/es/components/material-runbox/hooks/useRunboxSessionEndWarning.js +63 -0
- 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/runtime/Runtime.js +22 -19
- package/es/components/material-runbox/runtime/RuntimeChangeMaterialDialog.d.ts +0 -1
- package/es/components/material-runbox/runtime/RuntimeChangeMaterialDialog.js +9 -3
- package/es/components/material-runbox/runtime/RuntimeOverlayAssigned.d.ts +5 -3
- package/es/components/material-runbox/runtime/RuntimeOverlayAssigned.js +7 -55
- package/es/components/material-runbox/runtime/RuntimeOverlayConflicted.d.ts +0 -1
- package/es/components/material-runbox/runtime/RuntimeOverlayConflicted.js +69 -65
- package/es/components/material-runbox/runtime/RuntimeOverlayLoading.d.ts +9 -0
- package/es/components/material-runbox/runtime/RuntimeOverlayLoading.js +275 -0
- package/es/components/material-runbox/runtime/RuntimeOverlayQueued.d.ts +5 -3
- package/es/components/material-runbox/runtime/RuntimeOverlayQueued.js +7 -65
- package/es/components/material-runbox/runtime/RuntimeOverlayTerminated.d.ts +4 -1
- package/es/components/material-runbox/runtime/RuntimeOverlayTerminated.js +82 -60
- package/es/components/material-runbox/runtime/runtime-loading-tips.d.ts +7 -0
- package/es/components/material-runbox/runtime/runtime-loading-tips.js +146 -0
- package/es/components/material-runbox/status/MaterialRunboxStatusButton.d.ts +15 -0
- package/es/components/material-runbox/status/MaterialRunboxStatusButton.js +109 -0
- package/es/components/material-runbox/status/MaterialRunboxStatusConnectionItem.d.ts +12 -0
- package/es/components/material-runbox/status/MaterialRunboxStatusConnectionItem.js +31 -0
- package/es/components/material-runbox/status/MaterialRunboxStatusPopover.d.ts +14 -0
- package/es/components/material-runbox/status/MaterialRunboxStatusPopover.js +157 -0
- package/es/components/material-runbox/status/MaterialRunboxStatusResourceItem.d.ts +11 -0
- package/es/components/material-runbox/status/MaterialRunboxStatusResourceItem.js +37 -0
- package/es/components/material-runbox/status/index.d.ts +4 -0
- package/es/components/material-runbox/status/index.js +2 -0
- package/es/components/material-runbox/theme.d.ts +2 -0
- package/es/components/material-runbox/theme.js +12 -0
- package/es/components/material-runbox/timer/MaterialRunboxQuotaAlmostEndDialog.d.ts +11 -0
- package/es/components/material-runbox/timer/MaterialRunboxQuotaAlmostEndDialog.js +121 -0
- package/es/components/material-runbox/timer/MaterialRunboxQuotaAmount.d.ts +13 -0
- package/es/components/material-runbox/timer/MaterialRunboxQuotaAmount.js +52 -0
- package/es/components/material-runbox/timer/MaterialRunboxQuotaPerSessionAlmostEndDialog.d.ts +12 -0
- package/es/components/material-runbox/timer/MaterialRunboxQuotaPerSessionAlmostEndDialog.js +122 -0
- package/es/components/material-runbox/timer/MaterialRunboxQuotaTimePart.d.ts +15 -0
- package/es/components/material-runbox/timer/MaterialRunboxQuotaTimePart.js +46 -0
- package/es/components/material-runbox/timer/MaterialRunboxTimer.d.ts +6 -1
- package/es/components/material-runbox/timer/MaterialRunboxTimer.js +25 -17
- package/es/components/material-runbox/timer/MaterialRunboxTimerDetailPopover.js +18 -78
- package/es/components/shared/hooks/index.d.ts +1 -0
- package/es/components/shared/hooks/index.js +1 -0
- package/es/components/shared/hooks/useBreakpoint.d.ts +4 -0
- package/es/components/shared/hooks/useBreakpoint.js +10 -0
- package/package.json +7 -7
- package/cjs/assets/queue.gif.js +0 -7
- package/cjs/assets/runbox_logo.png.js +0 -7
- package/cjs/components/material-runbox/MaterialRunboxFooter.d.ts +0 -4
- package/cjs/components/material-runbox/MaterialRunboxFooter.js +0 -64
- package/cjs/components/material-runbox/disk/MaterialRunboxDiskAlmostFullSnackbar.d.ts +0 -5
- package/cjs/components/material-runbox/disk/MaterialRunboxDiskAlmostFullSnackbar.js +0 -98
- package/cjs/components/material-runbox/timer/MaterialRunboxAlmostEndSnackbars.d.ts +0 -6
- package/cjs/components/material-runbox/timer/MaterialRunboxAlmostEndSnackbars.js +0 -90
- package/es/assets/queue.gif.js +0 -3
- package/es/assets/runbox_logo.png.js +0 -3
- package/es/components/material-runbox/MaterialRunboxFooter.d.ts +0 -4
- package/es/components/material-runbox/MaterialRunboxFooter.js +0 -56
- package/es/components/material-runbox/disk/MaterialRunboxDiskAlmostFullSnackbar.d.ts +0 -5
- package/es/components/material-runbox/disk/MaterialRunboxDiskAlmostFullSnackbar.js +0 -94
- package/es/components/material-runbox/timer/MaterialRunboxAlmostEndSnackbars.d.ts +0 -6
- package/es/components/material-runbox/timer/MaterialRunboxAlmostEndSnackbars.js +0 -86
|
@@ -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}님의 런박스 총 사용 시간입니다.\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.popover.do_not_open":"런박스 실습 시 해당 팝업을 열지않기","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":"이 런박스 실습을 연결하면 다른 수업자료의 런박스는 종료됩니다. 계속하시겠습니까?"};
|
|
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.popover.do_not_open":"런박스 실습 시 해당 팝업을 열지않기","runbox.timer.almost_end.dialog.quota.title":"총 사용 가능 시간 {time} 남았습니다.","runbox.timer.almost_end.dialog.quota.description":"총 사용 가능 시간이 모두 소진되면 실습이 종료되며, 더 이상 접속할 수 없습니다.\n작업 중인 내용은 저장 후 종료해 주세요. 저장하지 않은 내용은 사라질 수 있습니다.","runbox.timer.almost_end.dialog.quota_per_session.title":"이번 접속 시간이 {time} 남았습니다.","runbox.timer.almost_end.dialog.quota_per_session.description":"접속 시간이 종료되면 연결이 종료됩니다. 총 사용 가능 시간이 남아 있으면 다시 접속해 이어서 실습할 수 있습니다.\n작업 중인 내용은 저장 후 종료해 주세요. 저장한 파일은 다시 접속해도 유지되며, 저장하지 않은 내용은 사라질 수 있습니다.","runbox.timer.almost_end.dialog.confirm":"계속하기","runbox.runtime.message.lxp_plan_required":"현재 기관에서는 런박스 수업 자료를 학습할 수 없습니다.\n자세한 사항은 기관 관리자에게 문의하세요.","runbox.runtime.message.runbox_unavailable":"런박스 사용 불가","runbox.runtime.message.startError":"런박스를 시작하는 중에 오류가 발생했습니다.","runbox.runtime.overlay.terminated.description.default":"런박스 실습을 진행하시려면, 연결하기 버튼을 눌러주세요.","runbox.runtime.overlay.terminated.description.os_disk_is_full":"저장 공간이 모두 소진되었습니다.\n실습 환경을 초기화한 후 다시 시작해 주세요.","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":"이 런박스 실습을 연결하면 다른 수업자료의 런박스는 종료됩니다. 계속하시겠습니까?","runbox.status.button.title":"연결 상태 및 리소스","runbox.status.network":"네트워크 상태","runbox.status.resource.preparing":"준비 중","runbox.status.runtime.connected":"런타임 연결됨","runbox.status.runtime.connecting":"런타임 연결 중","runbox.status.runtime.disconnected":"런타임 연결 끊김","runbox.disk.usage.dialog.title":"저장 공간 소진 안내","runbox.disk.usage.dialog.description.warning":"저장 공간을 80% 이상 사용했습니다. ({used} / {total})\n저장 공간이 부족하면 실습이 중단될 수 있습니다. 사용하지 않는 파일을 정리해 주세요.","runbox.disk.usage.dialog.description.error":"저장 공간을 90% 이상 사용했습니다. ({used} / {total})\n사용하지 않는 파일을 삭제하거나, 필요한 경우 실습 환경을 초기화해 저장 공간을 확보해 주세요.","runbox.disk.usage.dialog.actions.close":"닫기","runbox.disk.usage.alert.warning":"저장 공간을 80% 이상 사용했습니다. ({used} / {total}) 저장 공간이 부족하면 실습이 중단될 수 있습니다. 사용하지 않는 파일을 미리 정리해 주세요.","runbox.disk.usage.alert.error":"저장 공간을 90% 이상 사용했습니다. ({used} / {total}) 저장 공간이 부족하면 실습이 중단될 수 있습니다. 사용하지 않는 파일을 정리하거나 실습 환경을 초기화해 주세요.","runbox.disk.env_reset.title":"실습 환경 초기화","runbox.disk.env_reset.dialog.title":"실습 환경 초기화","runbox.disk.env_reset.dialog.description":"저장 공간을 확보하기 위해 런박스를 처음 실행했을 때 상태로 초기화합니다. 실습 중 생성하거나 저장한 파일은 모두 삭제되며 복구할 수 없습니다.","runbox.disk.env_reset.dialog.acknowledge":"초기화 후 저장한 파일을 복구할 수 없음을 확인했습니다.","runbox.disk.env_reset.dialog.actions.cancel":"취소","runbox.disk.env_reset.dialog.actions.confirm":"삭제","runbox.disk.env_reset.noti.success":"실습 환경을 초기화했습니다. 실습 환경을 다시 시작합니다.","runbox.disk.env_reset.noti.error":"실습 환경을 초기화하는 중에 오류가 발생했습니다.","runbox.disk.env_reset.noti.no_runtime":"초기화할 실습 환경이 없습니다. 런박스를 시작한 후 다시 시도해 주세요.","runbox.runtime.overlay.terminated.title.os_disk_is_full":"저장 공간이 가득 차\n실습을 진행할 수 없습니다.","runbox.runtime.loading.title":"실습용 컴퓨터를 준비하고 있어요","runbox.runtime.loading.description":"실습은 내 컴퓨터가 아닌 클라우드 실습 환경에서 진행됩니다. 지금 사용할 환경을 준비하고 있습니다. 잠시만 기다려주세요.","runbox.runtime.loading.illustration_alt":"런박스가 조립되는 로딩 애니메이션","runbox.runtime.loading.step.prepare":"실습 컴퓨터 준비","runbox.runtime.loading.step.prepare_progress":"실습용 컴퓨터 준비 중 ({current} / {total})","runbox.runtime.loading.step.connect":"실습용 컴퓨터 연결","runbox.runtime.loading.step.connect_progress":"실습용 컴퓨터 연결 중 ({current} / {total})","runbox.runtime.loading.step.material":"실습 자료 준비","runbox.runtime.loading.step.material_progress":"실습 자료 준비 중 ({current} / {total})","runbox.runtime.loading.step.status.completed":"완료","runbox.runtime.loading.step.status.active":"진행 중","runbox.runtime.loading.step.status.pending":"대기 중","runbox.runtime.loading.note.environment.title":"이 런박스는 내 컴퓨터와 별개의 환경이에요","runbox.runtime.loading.note.environment.description":"엘리스가 제공하는 별도의 실습 환경에 접속합니다. 코드와 프로그램은 런박스 안에서 실행됩니다.","runbox.runtime.loading.note.save.title":"작업한 파일은 런박스에 저장돼요","runbox.runtime.loading.note.save.description":"저장한 파일은 다시 접속해도 유지됩니다. 내 컴퓨터와는 별도로 저장되므로 작업 중인 내용은 꼭 저장해 주세요.","runbox.runtime.loading.tip.common.conflict.title":"다른 수업자료를 열면 이 런박스는 종료돼요","runbox.runtime.loading.tip.common.conflict.description":"저장하지 않은 내용이 있다면 먼저 저장해 주세요.","runbox.runtime.loading.tip.common.disk.title":"저장 공간에도 한도가 있어요","runbox.runtime.loading.tip.common.disk.description":"큰 파일이 쌓이면 실습이 멈출 수 있습니다.","runbox.runtime.loading.tip.common.quota.title":"실습에는 사용 시간 제한이 있어요","runbox.runtime.loading.tip.common.quota.description":"시간이 지나면 런박스 연결이 해제됩니다.","runbox.runtime.loading.tip.jupyter.cell_order.title":"셀은 위에서 아래로 순서대로 실행해요","runbox.runtime.loading.tip.jupyter.cell_order.description":"건너뛰면 앞 셀에서 만든 변수가 없어 오류가 납니다.","runbox.runtime.loading.tip.jupyter.run_cell.title":"실행 단축키는 Shift + Enter예요","runbox.runtime.loading.tip.jupyter.run_cell.description":"실행하고 그 셀에 머물려면 Ctrl + Enter를 씁니다.","runbox.runtime.loading.tip.jupyter.restart_kernel.title":"결과가 계속 이상하면 커널을 재시작해 보세요","runbox.runtime.loading.tip.jupyter.restart_kernel.description":"이전에 실행한 값이 남아 헷갈리는 경우가 많습니다.","runbox.runtime.loading.tip.jupyter.cell_number.title":"셀 앞의 번호는 실행한 순서예요","runbox.runtime.loading.tip.jupyter.cell_number.description":"표시된 숫자를 보면 어떤 순서로 실행했는지 알 수 있습니다.","runbox.runtime.loading.tip.vscode.save_before_run.title":"실행 전에 파일을 저장하세요","runbox.runtime.loading.tip.vscode.save_before_run.description":"저장하지 않은 내용은 실행 결과에 반영되지 않습니다.","runbox.runtime.loading.tip.vscode.terminal.title":"터미널은 상단 메뉴에서 열 수 있어요","runbox.runtime.loading.tip.vscode.terminal.description":"열면 보통 화면 아래쪽에 표시됩니다.","runbox.runtime.loading.tip.vscode.browser_shortcut.title":"브라우저에서 실행되는 VS Code예요","runbox.runtime.loading.tip.vscode.browser_shortcut.description":"일부 단축키는 브라우저 단축키와 겹칠 수 있어요.","runbox.runtime.loading.tip.vscode.explorer.title":"왼쪽 탐색기에 실습 파일이 있어요","runbox.runtime.loading.tip.vscode.explorer.description":"폴더를 펼쳐 파일을 열 수 있습니다.","runbox.runtime.loading.tip.gui.desktop.title":"화면 안에 또 하나의 컴퓨터가 있어요","runbox.runtime.loading.tip.gui.desktop.description":"프로그램 창을 열고 닫는 방식이 내 컴퓨터와 같습니다.","runbox.runtime.loading.tip.gui.clipboard.title":"복사·붙여넣기 방식이 다를 수 있어요","runbox.runtime.loading.tip.gui.clipboard.description":"내 컴퓨터에서 복사한 내용이 바로 붙여넣어지지 않을 수 있습니다.","runbox.runtime.loading.tip.gui.move_window.title":"창이 화면을 벗어나면 제목줄을 끌어 옮기세요","runbox.runtime.loading.tip.gui.move_window.description":"새로고침하면 작업 중인 내용이 사라질 수 있습니다.","runbox.runtime.loading.tip.gui.slow_start.title":"프로그램이 열리는 데 시간이 걸릴 수 있어요","runbox.runtime.loading.tip.gui.slow_start.description":"화면이 잠시 비어 보여도 조금만 기다려 주세요.","runbox.runtime.loading.tip.orange.widget.title":"코드를 쓰지 않고 위젯으로 분석해요","runbox.runtime.loading.tip.orange.widget.description":"왼쪽 목록에서 위젯을 끌어다 화면에 놓습니다.","runbox.runtime.loading.tip.orange.connect.title":"위젯을 선으로 이으면 데이터가 흘러가요","runbox.runtime.loading.tip.orange.connect.description":"앞 위젯의 결과가 뒤 위젯의 입력이 됩니다.","runbox.runtime.loading.tip.orange.load_data.title":"데이터를 불러오는 위젯부터 시작해요","runbox.runtime.loading.tip.orange.load_data.description":"실습 데이터를 먼저 열어야 뒤 단계가 동작합니다.","runbox.runtime.loading.tip.orange.open_settings.title":"위젯을 두 번 누르면 설정이 열려요","runbox.runtime.loading.tip.orange.open_settings.description":"분석 결과도 같은 방식으로 확인합니다.","runbox.runtime.loading.tip.app.web_service.title":"런박스 안에서 실행되는 웹 서비스예요","runbox.runtime.loading.tip.app.web_service.description":"화면에서 직접 구성하고 실행해볼 수 있습니다.","runbox.runtime.loading.tip.app.slow_start.title":"처음 화면이 열리는 데 시간이 걸릴 수 있어요","runbox.runtime.loading.tip.app.slow_start.description":"서비스가 준비될 때까지 잠시 기다려 주세요.","runbox.runtime.loading.tip.app.persisted.title":"만든 내용은 런박스에 저장돼요","runbox.runtime.loading.tip.app.persisted.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":"เวลาที่เหลือ","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.popover.do_not_open":"ไม่แสดงป๊อปอัปนี้เมื่อเริ่มเซสชัน","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 ในสื่อการสอนอื่น คุณต้องการดำเนินการต่อหรือไม่?"};
|
|
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.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.popover.do_not_open":"ไม่แสดงป๊อปอัปนี้เมื่อเริ่มเซสชัน","runbox.timer.almost_end.dialog.quota.title":"เหลือเวลาใช้งานทั้งหมด {time}","runbox.timer.almost_end.dialog.quota.description":"เมื่อเวลาใช้งานทั้งหมดหมดลง การฝึกปฏิบัติจะสิ้นสุดและไม่สามารถเชื่อมต่อได้อีก\nกรุณาบันทึกงานของคุณก่อนสิ้นสุด งานที่ไม่ได้บันทึกอาจสูญหาย","runbox.timer.almost_end.dialog.quota_per_session.title":"เหลือเวลาในการเชื่อมต่อครั้งนี้ {time}","runbox.timer.almost_end.dialog.quota_per_session.description":"เมื่อเวลาเชื่อมต่อสิ้นสุด ระบบจะตัดการเชื่อมต่อ หากยังมีเวลาใช้งานทั้งหมดเหลืออยู่ คุณสามารถเชื่อมต่อใหม่เพื่อฝึกปฏิบัติต่อได้\nกรุณาบันทึกงานของคุณก่อนสิ้นสุด ไฟล์ที่บันทึกไว้จะยังคงอยู่เมื่อเชื่อมต่อใหม่ แต่งานที่ไม่ได้บันทึกอาจสูญหาย","runbox.timer.almost_end.dialog.confirm":"ดำเนินการต่อ","runbox.runtime.message.lxp_plan_required":"ขณะนี้สถาบันของคุณไม่รองรับการใช้งานสื่อการเรียนการสอน Runbox\nโปรดติดต่อผู้ดูแลระบบของสถาบันของคุณสำหรับข้อมูลเพิ่มเติม","runbox.runtime.message.runbox_unavailable":"ไม่สามารถใช้ Runbox ได้","runbox.runtime.message.startError":"เกิดข้อผิดพลาดขณะเริ่ม Runbox","runbox.runtime.overlay.terminated.description.default":"หากต้องการดำเนินการฝึก Runbox ต่อ กรุณาคลิกปุ่มเชื่อมต่อ","runbox.runtime.overlay.terminated.description.os_disk_is_full":"พื้นที่จัดเก็บข้อมูลถูกใช้งานจนหมด\nกรุณารีเซ็ตสภาพแวดล้อมการฝึกปฏิบัติแล้วเริ่มต้นใหม่","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 ในสื่อการสอนอื่น คุณต้องการดำเนินการต่อหรือไม่?","runbox.status.button.title":"สถานะการเชื่อมต่อและทรัพยากร","runbox.status.network":"สถานะเครือข่าย","runbox.status.resource.preparing":"กำลังเตรียม","runbox.status.runtime.connected":"รันไทม์เชื่อมต่อแล้ว","runbox.status.runtime.connecting":"กำลังเชื่อมต่อรันไทม์","runbox.status.runtime.disconnected":"รันไทม์ถูกตัดการเชื่อมต่อ","runbox.disk.usage.dialog.title":"แจ้งเตือนพื้นที่จัดเก็บข้อมูล","runbox.disk.usage.dialog.description.warning":"คุณใช้พื้นที่จัดเก็บข้อมูลไปแล้วมากกว่า 80% ({used} / {total})\nหากพื้นที่ไม่เพียงพอ การฝึกปฏิบัติอาจหยุดลง กรุณาจัดการไฟล์ที่ไม่ใช้งาน","runbox.disk.usage.dialog.description.error":"คุณใช้พื้นที่จัดเก็บข้อมูลไปแล้วมากกว่า 90% ({used} / {total})\nกรุณาลบไฟล์ที่ไม่ใช้งาน หรือรีเซ็ตสภาพแวดล้อมการฝึกปฏิบัติเพื่อเพิ่มพื้นที่","runbox.disk.usage.dialog.actions.close":"ปิด","runbox.disk.usage.alert.warning":"คุณใช้พื้นที่จัดเก็บข้อมูลไปแล้วมากกว่า 80% ({used} / {total}) หากพื้นที่ไม่เพียงพอ การฝึกปฏิบัติอาจหยุดลง กรุณาจัดการไฟล์ที่ไม่ใช้งานล่วงหน้า","runbox.disk.usage.alert.error":"คุณใช้พื้นที่จัดเก็บข้อมูลไปแล้วมากกว่า 90% ({used} / {total}) หากพื้นที่ไม่เพียงพอ การฝึกปฏิบัติอาจหยุดลง กรุณาจัดการไฟล์ที่ไม่ใช้งาน หรือรีเซ็ตสภาพแวดล้อมการฝึกปฏิบัติ","runbox.disk.env_reset.title":"รีเซ็ตสภาพแวดล้อมการฝึกปฏิบัติ","runbox.disk.env_reset.dialog.title":"รีเซ็ตสภาพแวดล้อมการฝึกปฏิบัติ","runbox.disk.env_reset.dialog.description":"เพื่อเพิ่มพื้นที่จัดเก็บข้อมูล ระบบจะรีเซ็ตรันบ็อกซ์กลับไปเป็นสถานะเมื่อเริ่มใช้งานครั้งแรก ไฟล์ที่คุณสร้างหรือบันทึกไว้ระหว่างการฝึกปฏิบัติจะถูกลบทั้งหมดและไม่สามารถกู้คืนได้","runbox.disk.env_reset.dialog.acknowledge":"ฉันเข้าใจว่าไฟล์ที่บันทึกไว้จะไม่สามารถกู้คืนได้หลังการรีเซ็ต","runbox.disk.env_reset.dialog.actions.cancel":"ยกเลิก","runbox.disk.env_reset.dialog.actions.confirm":"ลบ","runbox.disk.env_reset.noti.success":"รีเซ็ตสภาพแวดล้อมการฝึกปฏิบัติแล้ว กำลังเริ่มต้นใหม่","runbox.disk.env_reset.noti.error":"เกิดข้อผิดพลาดขณะรีเซ็ตสภาพแวดล้อมการฝึกปฏิบัติ","runbox.disk.env_reset.noti.no_runtime":"ไม่มีสภาพแวดล้อมการฝึกปฏิบัติที่จะรีเซ็ต กรุณาเริ่มรันบ็อกซ์แล้วลองอีกครั้ง","runbox.runtime.overlay.terminated.title.os_disk_is_full":"พื้นที่จัดเก็บข้อมูลเต็ม\nจึงไม่สามารถดำเนินการฝึกปฏิบัติได้","runbox.runtime.loading.title":"Preparing your practice computer","runbox.runtime.loading.description":"Your practice runs in a cloud environment, not on your own computer. We are setting up the environment for you. Please wait a moment.","runbox.runtime.loading.illustration_alt":"Loading animation of a runbox being assembled","runbox.runtime.loading.step.prepare":"Preparing practice computer","runbox.runtime.loading.step.prepare_progress":"Preparing your practice computer ({current} / {total})","runbox.runtime.loading.step.connect":"Connecting to practice computer","runbox.runtime.loading.step.connect_progress":"Connecting to your practice computer ({current} / {total})","runbox.runtime.loading.step.material":"Preparing practice materials","runbox.runtime.loading.step.material_progress":"Preparing practice materials ({current} / {total})","runbox.runtime.loading.step.status.completed":"Done","runbox.runtime.loading.step.status.active":"In progress","runbox.runtime.loading.step.status.pending":"Waiting","runbox.runtime.loading.note.environment.title":"This runbox is separate from your computer","runbox.runtime.loading.note.environment.description":"You are connecting to a practice environment provided by Elice. Code and programs run inside the runbox.","runbox.runtime.loading.note.save.title":"Your files are saved in the runbox","runbox.runtime.loading.note.save.description":"Saved files persist across sessions. They are stored separately from your computer, so be sure to save your work.","runbox.runtime.loading.tip.common.conflict.title":"Opening another material stops this runbox","runbox.runtime.loading.tip.common.conflict.description":"Save anything you are working on before you leave.","runbox.runtime.loading.tip.common.disk.title":"Storage has a limit too","runbox.runtime.loading.tip.common.disk.description":"Practice can stop once large files pile up.","runbox.runtime.loading.tip.common.quota.title":"Practice time is limited","runbox.runtime.loading.tip.common.quota.description":"The runbox disconnects once the time is up.","runbox.runtime.loading.tip.jupyter.cell_order.title":"Run cells from top to bottom","runbox.runtime.loading.tip.jupyter.cell_order.description":"Skipping one leaves its variables undefined, so the next cell fails.","runbox.runtime.loading.tip.jupyter.run_cell.title":"Run a cell with Shift + Enter","runbox.runtime.loading.tip.jupyter.run_cell.description":"Use Ctrl + Enter to run it and stay where you are.","runbox.runtime.loading.tip.jupyter.restart_kernel.title":"Restart the kernel when results stop making sense","runbox.runtime.loading.tip.jupyter.restart_kernel.description":"Values from earlier runs are usually what is confusing you.","runbox.runtime.loading.tip.jupyter.cell_number.title":"The number beside a cell is its run order","runbox.runtime.loading.tip.jupyter.cell_number.description":"It tells you the order the cells actually ran in.","runbox.runtime.loading.tip.vscode.save_before_run.title":"Save the file before you run it","runbox.runtime.loading.tip.vscode.save_before_run.description":"Unsaved edits do not reach what you run.","runbox.runtime.loading.tip.vscode.terminal.title":"You can open the terminal from the top menu","runbox.runtime.loading.tip.vscode.terminal.description":"It usually appears at the bottom of the screen.","runbox.runtime.loading.tip.vscode.browser_shortcut.title":"This is VS Code running in your browser","runbox.runtime.loading.tip.vscode.browser_shortcut.description":"Some shortcuts may clash with your browser's own.","runbox.runtime.loading.tip.vscode.explorer.title":"Your practice files are in the left explorer","runbox.runtime.loading.tip.vscode.explorer.description":"Expand a folder to open a file.","runbox.runtime.loading.tip.gui.desktop.title":"There is another computer inside the screen","runbox.runtime.loading.tip.gui.desktop.description":"Windows open and close just like they do on your own machine.","runbox.runtime.loading.tip.gui.clipboard.title":"Copy and paste may work differently","runbox.runtime.loading.tip.gui.clipboard.description":"What you copied on your own machine may not paste straight in.","runbox.runtime.loading.tip.gui.move_window.title":"Drag the title bar if a window goes off screen","runbox.runtime.loading.tip.gui.move_window.description":"Reloading the page can lose work in progress.","runbox.runtime.loading.tip.gui.slow_start.title":"Programs can take a while to open","runbox.runtime.loading.tip.gui.slow_start.description":"Give it a moment even if the screen looks empty.","runbox.runtime.loading.tip.orange.widget.title":"You analyse with widgets, not code","runbox.runtime.loading.tip.orange.widget.description":"Drag a widget from the left list onto the canvas.","runbox.runtime.loading.tip.orange.connect.title":"Connect widgets with a line to pass data along","runbox.runtime.loading.tip.orange.connect.description":"One widget's output becomes the next one's input.","runbox.runtime.loading.tip.orange.load_data.title":"Start with the widget that loads data","runbox.runtime.loading.tip.orange.load_data.description":"Nothing downstream runs until the data is open.","runbox.runtime.loading.tip.orange.open_settings.title":"Double-click a widget to open its settings","runbox.runtime.loading.tip.orange.open_settings.description":"Results open the same way.","runbox.runtime.loading.tip.app.web_service.title":"This is a web service running inside the runbox","runbox.runtime.loading.tip.app.web_service.description":"You configure and run it right in the screen.","runbox.runtime.loading.tip.app.slow_start.title":"The first screen can take a while to open","runbox.runtime.loading.tip.app.slow_start.description":"Give the service a moment to get ready.","runbox.runtime.loading.tip.app.persisted.title":"What you build is saved in the runbox","runbox.runtime.loading.tip.app.persisted.description":"Reconnect later and pick up where you left off."};
|
|
2
2
|
|
|
3
3
|
export { th as default };
|
|
@@ -8,7 +8,8 @@ import RuntimeOverlayAssigned from './RuntimeOverlayAssigned.js';
|
|
|
8
8
|
import RuntimeOverlayQueued from './RuntimeOverlayQueued.js';
|
|
9
9
|
import RuntimeOverlayTerminated from './RuntimeOverlayTerminated.js';
|
|
10
10
|
import { useMaterialRunboxCommandContext } from '../contexts/MaterialRunboxCommandContext.js';
|
|
11
|
-
import {
|
|
11
|
+
import { useMaterialRunboxControlContext } from '../contexts/MaterialRunboxControlContext.js';
|
|
12
|
+
import { RunboxPreCheckResultType } from '../hooks/useRunboxControl.js';
|
|
12
13
|
import { useMaterialRunboxRunboxIdStarterGet } from '../hooks/useMaterialRunboxRunboxIdStarterGet.js';
|
|
13
14
|
|
|
14
15
|
//
|
|
@@ -19,9 +20,9 @@ var Runtime = function Runtime(props) {
|
|
|
19
20
|
var _useMaterialRunboxCom = useMaterialRunboxCommandContext(),
|
|
20
21
|
isLastCommandRunning = _useMaterialRunboxCom.isLastCommandRunning,
|
|
21
22
|
lastCommand = _useMaterialRunboxCom.lastCommand;
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
preCheckStatus =
|
|
23
|
+
var _useMaterialRunboxCon = useMaterialRunboxControlContext(),
|
|
24
|
+
startRuntime = _useMaterialRunboxCon.start,
|
|
25
|
+
preCheckStatus = _useMaterialRunboxCon.preCheckStatus;
|
|
25
26
|
//
|
|
26
27
|
var paramsUserId = (_a = props.isTutoring ? props.studentUserId : props.userId) !== null && _a !== void 0 ? _a : 0;
|
|
27
28
|
var _useMaterialRunboxRun = useMaterialRunboxRunboxIdStarterGet({
|
|
@@ -54,7 +55,7 @@ var Runtime = function Runtime(props) {
|
|
|
54
55
|
if (!props.runbox.id) {
|
|
55
56
|
return;
|
|
56
57
|
}
|
|
57
|
-
void
|
|
58
|
+
void startRuntime({
|
|
58
59
|
// check whether runtime is already assigned, or not.
|
|
59
60
|
// if runtime not assigned, should be restarted (ignore previous running state)
|
|
60
61
|
force: !props.runtime || forceRestart,
|
|
@@ -93,23 +94,25 @@ var Runtime = function Runtime(props) {
|
|
|
93
94
|
if ((preCheckStatus === null || preCheckStatus === void 0 ? void 0 : preCheckStatus.type) === RunboxPreCheckResultType.RuntimeRunningOnOtherRunbox) {
|
|
94
95
|
return jsx(RuntimeOverlayConflicted, {
|
|
95
96
|
courseId: props.courseId,
|
|
96
|
-
runningRunbox: preCheckStatus.runningRunbox
|
|
97
|
-
startRuntime: function startRuntime() {
|
|
98
|
-
// Force start this runbox.
|
|
99
|
-
// This will cause the conflicting runbox to be stopped by server.
|
|
100
|
-
void _startRuntime({
|
|
101
|
-
force: true,
|
|
102
|
-
runPreCheck: false
|
|
103
|
-
});
|
|
104
|
-
}
|
|
97
|
+
runningRunbox: preCheckStatus.runningRunbox
|
|
105
98
|
});
|
|
106
99
|
}
|
|
107
100
|
return jsx(EliceRunboxView, {
|
|
108
|
-
OverlayAssigned:
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
101
|
+
OverlayAssigned: function OverlayAssigned(overlayProps) {
|
|
102
|
+
return jsx(RuntimeOverlayAssigned, Object.assign({}, overlayProps, {
|
|
103
|
+
containerImageName: props.runbox.containerImageName
|
|
104
|
+
}));
|
|
105
|
+
},
|
|
106
|
+
OverlayQueued: function OverlayQueued(overlayProps) {
|
|
107
|
+
return jsx(RuntimeOverlayQueued, Object.assign({}, overlayProps, {
|
|
108
|
+
containerImageName: props.runbox.containerImageName
|
|
109
|
+
}));
|
|
110
|
+
},
|
|
111
|
+
OverlayTerminated: function OverlayTerminated(overlayProps) {
|
|
112
|
+
return jsx(RuntimeOverlayTerminated, Object.assign({}, overlayProps, {
|
|
113
|
+
runtimeTemplateId: props.runtimeTemplate.id,
|
|
114
|
+
courseId: props.courseId,
|
|
115
|
+
studentUserId: props.studentUserId
|
|
113
116
|
}));
|
|
114
117
|
}
|
|
115
118
|
}, viewRefreshTrigger);
|
|
@@ -4,7 +4,6 @@ interface RuntimeChangeMaterialDialogProps {
|
|
|
4
4
|
intl: EliceIntlShape;
|
|
5
5
|
open: boolean;
|
|
6
6
|
onClose: () => void;
|
|
7
|
-
startRuntime: () => void;
|
|
8
7
|
}
|
|
9
8
|
declare const RuntimeChangeMaterialDialog: React.FC<RuntimeChangeMaterialDialogProps>;
|
|
10
9
|
export default RuntimeChangeMaterialDialog;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { Dialog, DialogTitle, DialogContent, DialogActions, Button } from '@mui/material';
|
|
3
|
+
import { useMaterialRunboxControlContext } from '../contexts/MaterialRunboxControlContext.js';
|
|
3
4
|
|
|
4
5
|
var RuntimeChangeMaterialDialog = function RuntimeChangeMaterialDialog(_ref) {
|
|
5
6
|
var intl = _ref.intl,
|
|
6
7
|
open = _ref.open,
|
|
7
|
-
onClose = _ref.onClose
|
|
8
|
-
|
|
8
|
+
onClose = _ref.onClose;
|
|
9
|
+
var _useMaterialRunboxCon = useMaterialRunboxControlContext(),
|
|
10
|
+
start = _useMaterialRunboxCon.start;
|
|
9
11
|
/**
|
|
10
12
|
*
|
|
11
13
|
*/
|
|
@@ -16,7 +18,11 @@ var RuntimeChangeMaterialDialog = function RuntimeChangeMaterialDialog(_ref) {
|
|
|
16
18
|
*
|
|
17
19
|
*/
|
|
18
20
|
var handleClickConnect = function handleClickConnect() {
|
|
19
|
-
|
|
21
|
+
// Force start: the server stops the runbox currently holding the runtime.
|
|
22
|
+
void start({
|
|
23
|
+
force: true,
|
|
24
|
+
runPreCheck: false
|
|
25
|
+
});
|
|
20
26
|
};
|
|
21
27
|
return jsxs(Dialog, {
|
|
22
28
|
open: open,
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import type { WithIntlComponentBuilderProps } from '@elice/intl';
|
|
2
1
|
import type { EliceRunboxViewerOverlayAssignedComponentProps as AssignedComponentProps } from '@elice/runbox-client';
|
|
3
2
|
import type React from 'react';
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
export interface RuntimeOverlayAssignedProps extends AssignedComponentProps {
|
|
4
|
+
containerImageName?: string;
|
|
5
|
+
}
|
|
6
|
+
declare const RuntimeOverlayAssigned: React.FC<RuntimeOverlayAssignedProps>;
|
|
7
|
+
export default RuntimeOverlayAssigned;
|
|
@@ -1,60 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import { useTimeout } from 'react-use';
|
|
4
|
-
import { IntlComponentBuilder } from '@elice/intl';
|
|
5
|
-
import { Stack, Box, Typography } from '@mui/material';
|
|
6
|
-
import img from '../../../assets/queue.gif.js';
|
|
7
|
-
import messageEn from '../locales/en.json.js';
|
|
8
|
-
import messageKo from '../locales/ko.json.js';
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import RuntimeOverlayLoading from './RuntimeOverlayLoading.js';
|
|
9
3
|
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
var ASSIGNED_NORMAL_TIMEOUT = 30 * 1e3; // 30 sec
|
|
14
|
-
//
|
|
15
|
-
//
|
|
16
|
-
//
|
|
17
4
|
var RuntimeOverlayAssigned = function RuntimeOverlayAssigned(_ref) {
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
//
|
|
25
|
-
return jsxs(Stack, {
|
|
26
|
-
gap: "1.5rem",
|
|
27
|
-
sx: {
|
|
28
|
-
display: 'flex',
|
|
29
|
-
justifyContent: 'center',
|
|
30
|
-
alignItems: 'center',
|
|
31
|
-
width: '100%',
|
|
32
|
-
height: '100%'
|
|
33
|
-
},
|
|
34
|
-
children: [jsx(Box, {
|
|
35
|
-
component: "img",
|
|
36
|
-
src: img,
|
|
37
|
-
alt: "queue",
|
|
38
|
-
sx: {
|
|
39
|
-
width: '100%',
|
|
40
|
-
height: 'auto',
|
|
41
|
-
maxWidth: '13.375rem'
|
|
42
|
-
}
|
|
43
|
-
}), jsx(Typography, {
|
|
44
|
-
variant: "subtitle2",
|
|
45
|
-
color: "text:secondary",
|
|
46
|
-
sx: {
|
|
47
|
-
whiteSpace: 'pre-wrap',
|
|
48
|
-
textAlign: 'center'
|
|
49
|
-
},
|
|
50
|
-
children: timeout() ? intl.formatMessage({
|
|
51
|
-
id: 'runbox.runtime.overlay.assigned.description_timeout'
|
|
52
|
-
}) : intl.formatMessage({
|
|
53
|
-
id: 'runbox.runtime.overlay.assigned.description'
|
|
54
|
-
})
|
|
55
|
-
})]
|
|
5
|
+
var containerImageName = _ref.containerImageName;
|
|
6
|
+
return jsx(RuntimeOverlayLoading, {
|
|
7
|
+
activeStep: 2,
|
|
8
|
+
containerImageName: containerImageName
|
|
56
9
|
});
|
|
57
10
|
};
|
|
58
|
-
var RuntimeOverlayAssigned$1 = new IntlComponentBuilder(RuntimeOverlayAssigned).add('en', messageEn).add('ko', messageKo).addAsync('th', import('../locales/th.json.js')).addAsync('ja', import('../locales/ja.json.js')).build();
|
|
59
11
|
|
|
60
|
-
export { RuntimeOverlayAssigned
|
|
12
|
+
export { RuntimeOverlayAssigned as default };
|
|
@@ -4,7 +4,6 @@ import type { RunningRunbox } from '@elice/openapi-client-material-runbox';
|
|
|
4
4
|
type RuntimeOverlayConflictedProps = WithIntlComponentBuilderProps<{
|
|
5
5
|
courseId: number;
|
|
6
6
|
runningRunbox: RunningRunbox;
|
|
7
|
-
startRuntime: () => void;
|
|
8
7
|
}>;
|
|
9
8
|
declare const _default: React.ForwardRefExoticComponent<import("@elice/intl").IntlComponentExtraProps & Omit<RuntimeOverlayConflictedProps, keyof import("@elice/intl").IntlComponentExtraProps | "__intl"> & React.RefAttributes<any>>;
|
|
10
9
|
export default _default;
|
|
@@ -4,10 +4,10 @@ import React from 'react';
|
|
|
4
4
|
import { getOrgCourseGet } from '@elice/api-client';
|
|
5
5
|
import { IntlComponentBuilder } from '@elice/intl';
|
|
6
6
|
import { EliceIcon } from '@elice/mui-elements';
|
|
7
|
-
import { colors } from '@elice/mui-system';
|
|
8
7
|
import { faLinkSimple, faArrowUpRightFromSquare } from '@fortawesome/pro-solid-svg-icons';
|
|
9
|
-
import { Box, Stack, Typography, Button } from '@mui/material';
|
|
8
|
+
import { ThemeProvider, Box, Stack, Typography, Button } from '@mui/material';
|
|
10
9
|
import { useQuery } from '@tanstack/react-query';
|
|
10
|
+
import { runboxLightTheme, runboxDarkTheme } from '../theme.js';
|
|
11
11
|
import RuntimeChangeMaterialDialog from './RuntimeChangeMaterialDialog.js';
|
|
12
12
|
import img from '../../../assets/terminated.png.js';
|
|
13
13
|
import messageEn from '../locales/en.json.js';
|
|
@@ -20,8 +20,7 @@ import { useMaterialRunboxContext } from '../contexts/MaterialRunboxContext.js';
|
|
|
20
20
|
var RuntimeOverlayConflicted = function RuntimeOverlayConflicted(_ref) {
|
|
21
21
|
var intl = _ref.__intl,
|
|
22
22
|
courseId = _ref.courseId,
|
|
23
|
-
runningRunbox = _ref.runningRunbox
|
|
24
|
-
startRuntime = _ref.startRuntime;
|
|
23
|
+
runningRunbox = _ref.runningRunbox;
|
|
25
24
|
var _React$useState = React.useState(false),
|
|
26
25
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
27
26
|
isChangeMaterialDialogOpen = _React$useState2[0],
|
|
@@ -93,7 +92,7 @@ var RuntimeOverlayConflicted = function RuntimeOverlayConflicted(_ref) {
|
|
|
93
92
|
width: '32rem',
|
|
94
93
|
maxWidth: '100%',
|
|
95
94
|
padding: '1rem',
|
|
96
|
-
color: 'text.primary
|
|
95
|
+
color: 'text.primary',
|
|
97
96
|
bgcolor: 'grey.100',
|
|
98
97
|
cursor: runningRunboxLinkProps ? 'pointer' : 'default',
|
|
99
98
|
'&:hover': {
|
|
@@ -106,10 +105,10 @@ var RuntimeOverlayConflicted = function RuntimeOverlayConflicted(_ref) {
|
|
|
106
105
|
direction: "column",
|
|
107
106
|
alignItems: "flex-start",
|
|
108
107
|
children: [courseId !== runningCourse.id ? jsx(Typography, {
|
|
109
|
-
color: "text.tertiary
|
|
108
|
+
color: "text.tertiary",
|
|
110
109
|
children: runningCourse === null || runningCourse === void 0 ? void 0 : runningCourse.title
|
|
111
110
|
}) : null, jsx(Typography, {
|
|
112
|
-
color: "text.primary
|
|
111
|
+
color: "text.primary",
|
|
113
112
|
children: runningRunbox.title
|
|
114
113
|
})]
|
|
115
114
|
})
|
|
@@ -122,13 +121,15 @@ var RuntimeOverlayConflicted = function RuntimeOverlayConflicted(_ref) {
|
|
|
122
121
|
if (!isChangeMaterialDialogOpen) {
|
|
123
122
|
return null;
|
|
124
123
|
}
|
|
125
|
-
return jsx(
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
124
|
+
return jsx(ThemeProvider, {
|
|
125
|
+
theme: runboxDarkTheme,
|
|
126
|
+
children: jsx(RuntimeChangeMaterialDialog, {
|
|
127
|
+
intl: intl,
|
|
128
|
+
open: isChangeMaterialDialogOpen,
|
|
129
|
+
onClose: function onClose() {
|
|
130
|
+
return setChangeMaterialDialogOpen(false);
|
|
131
|
+
}
|
|
132
|
+
})
|
|
132
133
|
});
|
|
133
134
|
};
|
|
134
135
|
/**
|
|
@@ -141,58 +142,61 @@ var RuntimeOverlayConflicted = function RuntimeOverlayConflicted(_ref) {
|
|
|
141
142
|
//
|
|
142
143
|
//
|
|
143
144
|
var renderOverlay = function renderOverlay() {
|
|
144
|
-
return jsx(
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
children: intl.formatMessage({
|
|
167
|
-
id: 'runbox.runtime.overlay.conflicted.title'
|
|
168
|
-
})
|
|
169
|
-
}), renderNavButton(), jsx(Typography, {
|
|
170
|
-
variant: "body1",
|
|
171
|
-
textAlign: "center",
|
|
172
|
-
whiteSpace: "pre-line",
|
|
173
|
-
children: intl.formatMessage({
|
|
174
|
-
id: 'runbox.runtime.overlay.conflicted.description'
|
|
175
|
-
})
|
|
176
|
-
}), jsx(Button, {
|
|
177
|
-
variant: "contained",
|
|
178
|
-
color: "primary",
|
|
179
|
-
startIcon: jsx(EliceIcon, {
|
|
180
|
-
icon: faLinkSimple
|
|
181
|
-
}),
|
|
182
|
-
sx: {
|
|
183
|
-
width: '20rem',
|
|
184
|
-
maxWidth: '100%',
|
|
185
|
-
color: 'text.primary',
|
|
186
|
-
bgcolor: colors.elicepurple[700],
|
|
187
|
-
'&:hover': {
|
|
188
|
-
bgcolor: colors.elicepurple[800]
|
|
145
|
+
return jsx(ThemeProvider, {
|
|
146
|
+
theme: runboxLightTheme,
|
|
147
|
+
children: jsx(Box, {
|
|
148
|
+
sx: {
|
|
149
|
+
display: 'flex',
|
|
150
|
+
justifyContent: 'center',
|
|
151
|
+
alignItems: 'center',
|
|
152
|
+
width: '100%',
|
|
153
|
+
height: '100%',
|
|
154
|
+
backgroundColor: 'background.paper',
|
|
155
|
+
color: 'text.primary'
|
|
156
|
+
},
|
|
157
|
+
children: jsxs(Stack, {
|
|
158
|
+
gap: "1.5rem",
|
|
159
|
+
alignItems: "center",
|
|
160
|
+
children: [jsx(Box, {
|
|
161
|
+
component: "img",
|
|
162
|
+
src: img,
|
|
163
|
+
alt: "terminated",
|
|
164
|
+
sx: {
|
|
165
|
+
maxWidth: '10rem',
|
|
166
|
+
height: 'auto'
|
|
189
167
|
}
|
|
190
|
-
},
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
168
|
+
}), jsx(Typography, {
|
|
169
|
+
variant: "h6",
|
|
170
|
+
textAlign: "center",
|
|
171
|
+
children: intl.formatMessage({
|
|
172
|
+
id: 'runbox.runtime.overlay.conflicted.title'
|
|
173
|
+
})
|
|
174
|
+
}), renderNavButton(), jsx(Typography, {
|
|
175
|
+
variant: "body1",
|
|
176
|
+
textAlign: "center",
|
|
177
|
+
whiteSpace: "pre-line",
|
|
178
|
+
children: intl.formatMessage({
|
|
179
|
+
id: 'runbox.runtime.overlay.conflicted.description'
|
|
180
|
+
})
|
|
181
|
+
}), jsx(Box, {
|
|
182
|
+
sx: {
|
|
183
|
+
width: '20rem',
|
|
184
|
+
maxWidth: '100%'
|
|
185
|
+
},
|
|
186
|
+
children: jsx(Button, {
|
|
187
|
+
fullWidth: true,
|
|
188
|
+
variant: "contained",
|
|
189
|
+
color: "primary",
|
|
190
|
+
startIcon: jsx(EliceIcon, {
|
|
191
|
+
icon: faLinkSimple
|
|
192
|
+
}),
|
|
193
|
+
onClick: handleClickConnect,
|
|
194
|
+
children: intl.formatMessage({
|
|
195
|
+
id: 'runbox.common.connect'
|
|
196
|
+
})
|
|
197
|
+
})
|
|
198
|
+
})]
|
|
199
|
+
})
|
|
196
200
|
})
|
|
197
201
|
});
|
|
198
202
|
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { WithIntlComponentBuilderProps } from '@elice/intl';
|
|
3
|
+
export interface RuntimeOverlayLoadingProps {
|
|
4
|
+
activeStep: 1 | 2 | 3;
|
|
5
|
+
/** Container image name, which picks the tips shown while the runbox starts. */
|
|
6
|
+
containerImageName?: string;
|
|
7
|
+
}
|
|
8
|
+
declare const _default: React.ForwardRefExoticComponent<import("@elice/intl").IntlComponentExtraProps & Omit<WithIntlComponentBuilderProps<RuntimeOverlayLoadingProps>, keyof import("@elice/intl").IntlComponentExtraProps | "__intl"> & React.RefAttributes<any>>;
|
|
9
|
+
export default _default;
|