1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7663],{57663:function(e,o,t){t.d(o,{I18nProvider:function(){return c},Q:function(){return h}});var n=t(57437),a=t(2265);let r={vi:{"lang.switchToEn":"English","lang.switchToVi":"Tiếng Viá»t","notif.title":"Th\xf4ng b\xe1o","notif.markAll":"Ä\xe1nh dấu Ä\xe3 Äá»c","notif.empty":"Chưa c\xf3 th\xf4ng b\xe1o","notif.enablePush":"Báºt th\xf4ng b\xe1o tr\xean m\xe1y t\xednh","notif.pushOn":"Ä\xe3 báºt th\xf4ng b\xe1o m\xe1y t\xednh","notif.pushDenied":"Th\xf4ng b\xe1o bá» chặn â h\xe3y báºt lại trong c\xe0i Äặt tr\xecnh duyá»t.","nav.home":"Trang chá»§","nav.booking":"Thá»i kh\xf3a biá»u","nav.roomSchedule":"Lá»ch ph\xf2ng","nav.search":"T\xecm lá»ch","nav.adminDashboard":"Quản trá»","nav.about":"Giá»i thiá»u","nav.apps":"Tiá»n \xedch","nav.appProfile":"Há» sÆ¡ khoa há»c","nav.appTasks":"Nhiá»m vụ & Äá»nh mức","nav.login":"ÄÄng nháºp","nav.logout":"ÄÄng xuất","nav.openMenu":"Má» menu","nav.closeMenu":"Ä\xf3ng menu","common.save":"Lưu","common.cancel":"Huá»·","common.close":"Ä\xf3ng","course.moveToPending":"Chuyá»n sang chá» xếp","course.locked":"Ä\xe3 kho\xe1","course.confirmUnschedule":"Xo\xe1 to\xe0n bá» lá»ch Ä\xe3 xếp cá»§a m\xf4n n\xe0y v\xe0 chuyá»n vá» trạng th\xe1i chá» xếp? M\xf4n há»c vẫn ÄÆ°á»£c giữ lại.","booking.classroomSchedule":"Lá»ch ph\xf2ng há»c","booking.personalSchedule":"Lá»ch c\xe1 nh\xe2n","booking.classSchedule":"Lá»ch lá»p","booking.lecturerSchedule":"Lá»ch giảng vi\xean","booking.eventBooking":"Äặt ph\xf2ng sá»± kiá»n","myev.searchPh":"T\xecm sá»± kiá»n / ph\xf2ng","myev.all":"Tất cả","myev.approved":"Ä\xe3 duyá»t","myev.pending":"Chá» duyá»t","myev.rejected":"Từ chá»i","myev.futureOnly":"Sắp tá»i","myev.noMatch":"Kh\xf4ng c\xf3 sá»± kiá»n khá»p.","myev.noEvents":"Chưa c\xf3 sá»± kiá»n.","myev.owner":"Ngưá»i Äặt","myev.host":"Chá»§ tr\xec","myev.attendee":"Tham dá»±","myev.cancelled":"Ä\xe3 huá»·","booking.tabCourses":"M\xf4n há»c","booking.tabMyEvents":"Sá»± kiá»n cá»§a t\xf4i","booking.coursesEvents":"M\xf4n há»c & Sá»± kiá»n","cal.today":"H\xf4m nay","cal.back":"Trưá»c","cal.next":"Sau","cal.month":"Th\xe1ng","cal.week":"Tuần","cal.day":"Ng\xe0y","cal.agenda":"Lá»ch biá»u","cal.date":"Ng\xe0y","cal.time":"Giá»","cal.event":"Sá»± kiá»n","cal.noEventsRange":"Kh\xf4ng c\xf3 sá»± kiá»n trong khoảng n\xe0y.","booking.searchSchedule":"T\xecm lá»ch","booking.pleaseChoose":"Vui l\xf2ng chá»n m\xf4n há»c","booking.dutyRoster":"Lá»ch trá»±c","booking.lockedFrozen":"M\xf4n Ä\xe3 kho\xe1 â lá»ch ÄÆ°á»£c giữ nguy\xean (má» kho\xe1 Äá» Äá»i)","booking.selectCourse":"Chá»n m\xf4n há»c","booking.pendingClass":"M\xf4n chá» xếp","booking.plannedClass":"M\xf4n Ä\xe3 xếp","booking.noAction":"Kh\xf4ng cần thao t\xe1c","booking.autoJump":"Tá»± nhảy tá»i ng\xe0y bắt Äầu","booking.compactMode":"Chế Äá» gá»n (kh\xf4ng ng\xe0y)","booking.mergeGroups":"Gá»p nh\xf3m nhá» (_A/_B/_C)","booking.term":"Há»c k\xec","booking.academicYear":"NÄm há»c","booking.sessionCount":"Sá» buá»i","booking.sessionsUnit":"buá»i","booking.weeksUnit":"tuần","booking.pickTermHint":"Chá»n há»c k\xec, ng\xe0y bắt Äầu v\xe0 ng\xe0y kết th\xfac Äá» xếp lá»ch.","booking.mergingClasses":"Äang gá»p c\xe1c lá»p","booking.exactClass":"Chá» lá»p","booking.compactFrom":"Từ ng\xe0y","booking.compactTo":"Äến ng\xe0y","booking.compactRange":"Gá»n từ {from} Äến {to}","booking.noCoursesInRange":"Kh\xf4ng c\xf3 buá»i há»c n\xe0o trong khoảng n\xe0y","booking.weeks":"{n} tuần","booking.noTeacherTitle":"M\xf4n chưa c\xf3 giảng vi\xean â kh\xf4ng thá» xếp lá»ch","booking.noTeacherDesc":"M\xf4n n\xe0y thiếu giảng vi\xean n\xean kh\xf4ng ÄÆ°á»£c chá»n ph\xf2ng hay xếp lá»ch. H\xe3y th\xeam giảng vi\xean cho m\xf4n (sá»a trong danh s\xe1ch hoặc trang M\xf4n há»c), sau Ä\xf3 má»i xếp ph\xf2ng.","room.mscbMismatch":"M\xe3 c\xe1n bá» kh\xf4ng Ä\xfang vá»i t\xe0i khoản Äang ÄÄng nháºp.","event.details":"Th\xf4ng tin sá»± kiá»n","event.room":"Ph\xf2ng","event.class":"Lá»p","event.time":"Thá»i gian","event.teacher":"Giảng vi\xean","event.host":"Ngưá»i phụ tr\xe1ch","event.attendees":"Ngưá»i tham dá»±","event.note":"Ghi ch\xfa","event.restricted":"Bạn kh\xf4ng c\xf3 quyá»n xem chi tiết. Vui l\xf2ng li\xean há» quản trá» vi\xean.","common.bookingInfo":"Th\xf4ng tin Äặt lá»ch","common.credits":"tiết","common.lock":"Kho\xe1","common.unlock":"Má» kho\xe1","common.search":"T\xecm kiếm","common.typeToSearch":"Nháºp Äá» t\xecm...","common.actions":"Thao t\xe1c","common.status":"Trạng th\xe1i","common.export":"Xuất","common.import":"Nháºp","common.open":"Má»","common.yes":"C\xf3","common.no":"Kh\xf4ng","common.class":"Lá»p","common.noInfo":"Chưa c\xf3","common.cancel":"Huá»·","common.delete":"Xo\xe1","common.edit":"Sá»a","common.save":"Lưu","common.error":"Lá»i","common.done":"Xong","common.back":"Quay lại","user.title":"Ngưá»i d\xf9ng","user.total":"{n} t\xe0i khoản","user.add":"Th\xeam ngưá»i d\xf9ng","user.searchPh":"T\xecm theo t\xean, email hoặc MSCBâ¦","user.colName":"Há» T\xcaN","user.colEmail":"EMAIL","user.colMscb":"MSCB","user.colDept":"Bá» M\xd4N","user.colAdmin":"QUYá»N","user.colActions":"THAO T\xc1C","user.roleAdmin":"Admin","user.roleUser":"Ngưá»i d\xf9ng","user.none":"Kh\xf4ng c\xf3 ngưá»i d\xf9ng.","user.editTitle":"Sá»a ngưá»i d\xf9ng","user.addTitle":"Th\xeam ngưá»i d\xf9ng","user.fName":"Há» t\xean","user.fMscb":"M\xe3 c\xe1n bá» (MSCB)","user.fDept":"Bá»
1 m\xf4n / ÄÆ¡n vá»","user.fDeptPh":"Chá»n hoặc nháºp bá» m\xf4n","user.fRank":"Ngạch","user.fDegree":"Há»c vá»","user.fAdmin":"Quyá»n quản trá»","user.emailRequired":"Vui l\xf2ng nháºp email","user.saveChanges":"Lưu thay Äá»i","user.importTitle":"Nháºp ngưá»i d\xf9ng từ CSV / Excel","user.importDesc":"Cá»t bắt buá»c: email. Tuỳ chá»n: name, teacher_id, isAdmin (true/false). Ngưá»i d\xf9ng Ä\xe3 c\xf3 sẽ ÄÆ°á»£c cáºp nháºt theo email.","user.importing":"Äang nháºpâ¦","user.importDone":"Xong â th\xeam {a}, cáºp nháºt {u}.","user.deleteTitle":"Xo\xe1 ngưá»i d\xf9ng?","user.deleteDesc":"Xo\xe1 {email}? Kh\xf4ng thá» ho\xe0n t\xe1c.","share.title":"Quản l\xfd chia sẻ lá»ch ph\xf2ng (QR)","share.create":"Tạo li\xean kết chia sẻ","share.searchPh":"T\xecm theo ti\xeau Äá», m\xe3 hoặc ph\xf2ng...","share.colTitle":"TI\xcaU Äá»","share.colRooms":"PH\xd2NG","share.colCode":"M\xc3","share.colLogin":"Y\xcaU CẦU ÄÄNG NHẬP","share.colLink":"LI\xcaN KẾT / QR","share.none":"Chưa c\xf3 li\xean kết chia sẻ.","share.editTitle":"Sá»a li\xean kết chia sẻ","share.createTitle":"Tạo li\xean kết chia sẻ má»i","share.fTitle":"Ti\xeau Äá» chia sẻ","share.fTitlePh":"VD: M\xe0n h\xecnh sảnh","share.roomsLabel":"Lá»ch c\xe1c ph\xf2ng","share.roomsPh":"T\xecm v\xe0 th\xeam ph\xf2ng...","share.noRooms":"Chưa chá»n ph\xf2ng","share.classesLabel":"Lá»ch c\xe1c lá»p","share.classesPh":"T\xecm v\xe0 th\xeam lá»p...","share.noClasses":"Chưa chá»n lá»p","share.colClasses":"Lá»P","share.needRoomOrClass":"Vui l\xf2ng chá»n \xedt nhất má»t ph\xf2ng hoặc má»t lá»p.","share.usersUnit":"{n} chá»","share.settings":"Thiết láºp hiá»n thá» & bảo máºt","share.requireLogin":"Y\xeau cầu ÄÄng nháºp qua Physoom (chá» chia sẻ ná»i bá»)","share.showTeacher":"Hiá»n giảng vi\xean","share.showClass":"Hiá»n m\xe3 lá»p","share.showCourse":"Hiá»n t\xean m\xf4n","share.update":"Cáºp nháºt li\xean kết","share.selectAtLeastOne":"Vui l\xf2ng chá»n \xedt nhất má»t ph\xf2ng.","share.confirmDelete":"Bạn c\xf3 chắc muá»n thu há»i v\xe0 xo\xe1 li\xean kết chia sẻ n\xe0y?","share.linkCopied":"Ä\xe3 sao ch\xe9p li\xean kết!","share.qrTitle":"M\xe3 QR","share.quickCode":"M\xe3 truy cáºp nhanh","share.enterAt":"Nháºp tại","share.liveTitle":"Lá»ch ph\xf2ng trá»±c tiếp","share.standardView":"Dạng lá»ch","share.slotView":"Lưá»i tiết","share.allRooms":"Tất cả ph\xf2ng ({n})","share.weekPrev":"Tuần trưá»c","share.weekNext":"Tuần sau","share.thisWeek":"Tuần n\xe0y","share.week":"Tuần","share.loginRequired":"Cần ÄÄng nháºp","share.loginRequiredDesc":"Lá»ch ph\xf2ng n\xe0y y\xeau cầu bạn ÄÄng nháºp bằng t\xe0i khoản.","share.loginToView":"ÄÄng nháºp Äá» xem","share.errorTitle":"Lá»i tải lá»ch","share.errorDesc":"Li\xean kết c\xf3 thá» kh\xf4ng hợp lá», Ä\xe3 bá» xo\xe1 hoặc hết hạn.","nav.help":"Trợ gi\xfap","guide.title":"Hưá»ng dẫn sá» dụng","guide.subtitle":"C\xe1ch d\xf9ng Physoom: xem lá»ch ph\xf2ng, Äặt ph\xf2ng, xếp lá»ch m\xf4n há»c v\xe0 quản trá».","guide.startTour":"Xem hưá»ng dẫn nhanh","guide.pageTour":"Hưá»ng dẫn trang n\xe0y","guide.toc":"Mục lục","guide.tourError":"Kh\xf4ng má» ÄÆ°á»£c hưá»ng dẫn nhanh tr\xean trang n\xe0y.","tour.next":"Tiếp","tour.prev":"Trưá»c","tour.done":"Xong","rb.title":"Quản l\xfd Äặt ph\xf2ng","rb.tabPending":"Chá» duyá»t","rb.tabAll":"Tất cả sá»± kiá»n","rb.tabCalendar":"Lá»ch","rb.tabRooms":"Ph\xf2ng","rb.addBooking":"Th\xeam Äặt ph\xf2ng","rb.searchEvents":"T\xecm theo ti\xeau Äá», ph\xf2ng hoặc ngưá»i y\xeau cầu...","rb.filterRoom":"Lá»c theo ph\xf2ng","rb.filterStatus":"Lá»c theo trạng th\xe1i","rb.allStatuses":"Tất cả trạng th\xe1i","rb.approved":"Ä\xe3 duyá»t","rb.rejected":"Từ chá»i","rb.noEvents":"Kh\xf4ng c\xf3 sá»± kiá»n","rb.colTitle":"Ti\xeau Äá»","rb.colRoom":"Ph\xf2ng","rb.colRequestedBy":"Ngưá»i y\xeau cầu","rb.colStart":"Bắt Äầu","rb.colEnd":"Kết th\xfac","rb.searchRooms":"T\xecm theo t\xean, vá» tr\xed hoặc quản l\xfd...","rb.publicBo
1oking":"Äặt c\xf4ng khai","rb.public":"C\xf4ng khai","rb.private":"Ri\xeang tư","rb.location":"Vá» tr\xed","rb.allLocations":"Tất cả vá» tr\xed","rb.noRooms":"Kh\xf4ng c\xf3 ph\xf2ng","rb.colLimit":"Sức chứa","rb.share":"Chia sẻ","rb.copied":"Ä\xe3 ch\xe9p!","rb.selectRoomView":"Chá»n ph\xf2ng Äá» xem lá»ch","rb.classChip":"Lá»p há»c","rb.approve":"Duyá»t","rb.reject":"Từ chá»i","rb.addEvent":"+ Th\xeam sá»± kiá»n","rb.capacity":"Sức chứa","rb.createdBy":"Ngưá»i tạo","rb.course":"M\xf4n há»c","rb.classOnlyAdmin":"Chá» quản trá» vi\xean má»i quản l\xfd lá»ch m\xf4n há»c.","rb.manageCourse":"Quản l\xfd lá»ch m\xf4n","rb.viewInBooking":"Xem trong Äặt ph\xf2ng","rb.legendClass":"Lá»p há»c","rb.slotHasClass":"Khung n\xe0y Ä\xe3 c\xf3 lá»p","rb.slotHasEvent":"Khung n\xe0y Ä\xe3 c\xf3 sá»± kiá»n","rb.legendApproved":"Ä\xe3 duyá»t","rb.legendPending":"Chá» duyá»t","rb.legendRejected":"Từ chá»i","import.selectTerm":"Chá»n há»c kỳ (bắt buá»c)","import.downloadTemplate":"Tải file mẫu","import.termHint":"â ï¸ Phải chá»n há»c kỳ trưá»c khi nháºp","import.termPrefix":"Há»c kỳ","import.termPlaceholder":"Chá»n há»c kỳ Äá» Äặt ng\xe0y v\xe0 n\xe9 ng\xe0y nghá»","import.selectFirst":"Vui l\xf2ng chá»n há»c kỳ trưá»c khi nháºp.","import.importing":"ÄANG NHẬP...","import.stepRoom":"Ph\xf2ng","import.stepCourse":"M\xf4n há»c","import.stepBooking":"Xếp lá»ch","import.csvHeader":"Nháºp file CSV / Excel","dz.title":"K\xe9o-thả file Excel / CSV v\xe0o Ä\xe2y","dz.browse":"hoặc bấm Äá» chá»n","import.importData":"Nháºp dữ liá»u","search.title":"T\xecm lá»ch","search.subtitle":"Tra cứu lá»ch theo giảng vi\xean, ph\xf2ng hoặc lá»p â g\xf5 Äá» t\xecm nhanh, xem tr\xean lá»ch v\xe0 xuất ra file.","search.needLogin":"Bạn cần ÄÄng nháºp Äá» t\xecm lá»ch. Äang chuyá»n hưá»ngâ¦","search.by":"T\xecm theo","search.teacher":"Giảng vi\xean","search.room":"Ph\xf2ng","search.class":"Lá»p","search.byRoom":"T\xecm theo ph\xf2ng","search.byClass":"T\xecm theo m\xe3 lá»p","common.somethingWrong":"Ä\xe3 xảy ra lá»i.","common.loginFirst":"Vui l\xf2ng ÄÄng nháºp trưá»c.","cbr.noRoom":"Chưa chá»n ph\xf2ng","cbr.scheduleErr":"Ä\xe3 xảy ra lá»i khi xếp lá»ch.","cbr.couldNotSchedule":"Kh\xf4ng thá» xếp v\xe0o \xf4 n\xe0y.","cbr.conflictReason":"Tr\xf9ng lá»ch â kiá»m tra ng\xe0y há»c kỳ v\xe0 c\xe1c lá»ch Ä\xe3 c\xf3.","cbr.scheduled":"Ä\xe3 xếp lá»ch m\xf4n.","cbr.maxStudent":"Sức chứa tá»i Äa","cbr.chooseRoom":"Vui l\xf2ng chá»n ph\xf2ng Äá» xem lá»ch","dnd.title":"X\xe1c nháºn Äá»i thá»i gian","dnd.current":"Hiá»n tại","dnd.reapprove":"Äá»i thá»i gian sẽ cần duyá»t lại nếu bạn kh\xf4ng phải admin hoặc quản l\xfd ph\xf2ng.","del.title":"X\xe1c nháºn xo\xe1","del.thisOnly":"Chá» xo\xe1 buá»i n\xe0y.","del.thisFuture":"Xo\xe1 buá»i n\xe0y v\xe0 c\xe1c buá»i sau trong chuá»i.","del.series":"Xo\xe1 to\xe0n bá» chuá»i lặp lại.","del.course":"Xo\xe1 tất cả lá»ch Ä\xe3 xếp cá»§a m\xf4n n\xe0y (má»i thứ, má»i ph\xf2ng).","del.permanent":"Thao t\xe1c n\xe0y l\xe0 vÄ©nh viá»
n v\xe0 kh\xf4ng thá» ho\xe0n t\xe1c.","del.how":"Bạn muá»n xo\xe1 lá»ch n\xe0y như thế n\xe0o?","del.thisOccurrence":"Chá» buá»i n\xe0y","del.fromForward":"Từ Ä\xe2y vá» sau","del.allOccurrences":"Tất cả c\xe1c buá»i","del.allCourse":"Tất cả lá»ch cá»§a m\xf4n n\xe0y","del.permanentDetail":"Thao t\xe1c n\xe0y l\xe0 vÄ©nh viá»
n v\xe0 kh\xf4ng thá» ho\xe0n t\xe1c. To\xe0n bá» dữ liá»u li\xean quan theo lá»±a chá»n sẽ bá» xo\xe1.","del.confirmDelete":"X\xe1c nháºn xo\xe1","cm.population":"Sá» sinh vi\xean","cm.enterPopulation":"Nháºp sá» sinh vi\xean","cm.startDate":"Ng\xe0y bắt Äầu","cm.credit":"Sá» tiết","cm.enterCredit":"Nháºp sá» tiết","cm.duration":"Sá» tuần","cm.enterDuration":"Nháºp sá» tuần","cm.location":"Äá»a Äiá»m","cm.selectLocation":"Chá»n Äá»a Äiá»m","cm.term":"Há»c kỳ","cm.selectTerm":"Chá»n há»c kỳ","cm.category":"Loại ph\xf2ng","cm.selectCategory":"Chá»n loại ph\xf2ng","cm.note":"Ghi ch\xfa","cm.enterNote":"Nháºp ghi ch\xfa","cm.addEmail":"Th\xeam email","re.editPrefix":"Sá»a","re.booking":"Äặt ph\xf2ng","re.addBooking":"Th\xeam Äặt ph\xf2ng","re.searchNameEmail"
1:"T\xecm theo t\xean hoặc email","re.title":"Ti\xeau Äá»","re.start":"Bắt Äầu","re.noPast":"Kh\xf4ng thá» Äặt ph\xf2ng cho thá»i gian trong qu\xe1 khứ.","re.invalidRange":"Giá» kết th\xfac phải sau giá» bắt Äầu.","re.end":"Kết th\xfac","re.durationMin":"Thá»i lượng (ph\xfat)","re.durationEg":"VD: 90","re.hostBy":"Ngưá»i phụ tr\xe1ch (tuỳ chá»n)","re.members":"Th\xe0nh vi\xean tham dá»± (tuỳ chá»n)","re.reapprovalTitle":"Lưu \xfd vá» viá»c duyá»t lại","re.reapprovalBody":"Äá»i thá»i gian hoặc ph\xf2ng sẽ ÄÆ°a lá»ch vá» trạng th\xe1i chá» duyá»t v\xe0 cần duyá»t lại. Chá» Äá»i ti\xeau Äá», ngưá»i phụ tr\xe1ch hoặc ngưá»i tham dá»± th\xec \xe1p dụng ngay.","re.timeRoomChanged":"â Thá»i gian hoặc ph\xf2ng Ä\xe3 thay Äá»i â sẽ cần duyá»t lại.","re.notPublic":" (kh\xf4ng c\xf4ng khai)","re.willReview":"Y\xeau cầu cá»§a bạn sẽ ÄÆ°á»£c quản l\xfd hoặc admin xem x\xe9t trưá»c khi duyá»t.","re.create":"Tạo","re.editWarn":"Äá»i thá»i gian hoặc ph\xf2ng sẽ cần duyá»t lại. Äá»i ti\xeau Äá» v\xe0 ngưá»i tham dá»± \xe1p dụng ngay.","re.noEditPerm":"Bạn kh\xf4ng c\xf3 quyá»n sá»a sá»± kiá»n n\xe0y.","re.contactHost":"Li\xean há» ngưá»i tạo hoặc ngưá»i phụ tr\xe1ch:","re.createdByLabel":"Ngưá»i tạo","dash.creditGroups":"nh\xf3m tiết","auth.username":"T\xean ÄÄng nháºp","auth.email":"Email","auth.password":"Máºt khẩu","auth.passwordAgain":"Nháºp lại máºt khẩu","auth.register":"ÄÄng k\xfd","auth.login":"ÄÄng nháºp","auth.haveAccount":"Ä\xe3 c\xf3 t\xe0i khoản?","auth.noAccount":"Chưa c\xf3 t\xe0i khoản?","sched.editDates":"Sá»a / dá»i ng\xe0y lá»ch","sched.endDate":"Ng\xe0y kết th\xfac","sched.desc":"Äá»i ng\xe0y bắt Äầu/kết th\xfac sẽ xếp lại to\xe0n bá» lá»ch cá»§a m\xf4n theo khoảng ng\xe0y má»i (giữ nguy\xean thứ v\xe0 tiết). C\xf3 thá» d\xf9ng Äá» dá»i lá»ch hoặc ná»i rá»ng/thu ngắn sá» tuần.","sched.saved":"Ä\xe3 cáºp nháºt lá»ch.","sched.needDates":"Vui l\xf2ng chá»n ng\xe0y bắt Äầu v\xe0 kết th\xfac.","sched.weeksInfo":"{n} tuần","admin.nav.meeting":"Lá»ch há»p","admin.nav.search":"T\xecm lá»ch","admin.nav.classGroups":"Quản l\xfd lá»p","cg.title":"Quản l\xfd nh\xf3m lá»p","cg.subtitle":"C\xe1c lá»p ÄÆ°á»£c gá»p theo quy tắc: háºu tá» chữ c\xe1i cuá»i (_A/_B/_C) l\xe0 ph\xe2n nh\xf3m nhá» v\xe0 gá»p v\xe0o lá»p gá»c; c\xf2n 25VLH, _DKD1, _DKD2 l\xe0 c\xe1c lá»p kh\xe1c nhau. C\xf3 thá» ghi Ä\xe8 thá»§ c\xf4ng b\xean dưá»i.","cg.courses":"m\xf4n","cg.overrideTitle":"Ghi Ä\xe8 nh\xf3m theo từng lá»p","cg.colClass":"Lá»p","cg.colGroup":"Nh\xf3m hiá»n tại","cg.colAction":"Ghi Ä\xe8 nh\xf3m","cg.overridden":"Ä\xe3 ghi Ä\xe8","cg.rule":"quy tắc","cg.save":"Lưu","cg.resetToRule":"Äặt lại theo quy tắc","cg.saved":"Ä\xe3 lưu ghi Ä\xe8 nh\xf3m.","cg.reset":"Ä\xe3 Äặt lại vá» quy tắc.","cg.saveFailed":"Thao t\xe1c thất bại.","cg.empty":"Kh\xf4ng c\xf3 lá»p n\xe0o.","meet.title":"Lá»ch há»p â Äá» rảnh cá»§a khoa","meet.subtitle":"Chá»n cÆ¡ sá» & Äá» d\xe0i buá»i há»p Äá» xem má»i khung giá» c\xf3 bao nhi\xeau giảng vi\xean rảnh. Ngưá»i Äang dạy á» cÆ¡ sá» kh\xe1c cần thá»i gian di chuyá»n n\xean bá» t\xednh vưá»ng.","meet.campus":"CÆ¡ sá» há»p","meet.duration":"Äá» d\xe0i","meet.buffer":"Äá»m di chuyá»n","meet.scope":"Nh\xf3m ngưá»i","meet.allDept":"Cả khoa","meet.pickPeople":"Chá»n ngưá»i","meet.week":"Tuần (chá»n 1 ng\xe0y)","meet.byDayTiet":"Sá» ngưá»i rảnh theo Thứ \xd7 Tiết","meet.detailTitle":"Chi tiết khung Ä\xe3 chá»n","meet.free":"Rảnh","meet.teach":"Báºn dạy","meet.travel":"Vưá»ng di chuyá»n","meet.bestSlots":"Khung tá»t nhất (nhiá»u ngưá»i rảnh)","meet.freeList":"Rảnh","meet.teachList":"Äang dạy c\xf9ng cÆ¡ sá»","meet.travelList":"Vưá»ng di chuyá»n","meet.bookMeeting":"Äặt ph\xf2ng há»p cho khung n\xe0y","meet.needSlot":"Bấm má»t \xf4 tr\xean bảng Äá» xem ai rảnh / báºn.","meet.legendLess":"\xedt rảnh","meet.legendMore":"nhiá»u rảnh","meet.tiet":"Tiết","meet.travelReason":"dạy {campus} {from}â{to} \xb7 cần {buffer}â² di chuyá»n","meet.teachReason":"dạy {from}â{to} \xb7 {campus}","meet.minutes":"{n}â²","meet.mins":"ph\xfat","meet.loadingWeek":"Äang tải lá»ch tuầnâ¦","meet.bestInRegion":"Gợi \xfd trong v\xf9ng Ä\xe3 chá»n","meet.clearRegion":"
1Xo\xe1 v\xf9ng","meet.deptFilter":"Bá» m\xf4n","meet.deptUnit":"bá» m\xf4n","meet.noDept":"Kh\xf4ng c\xf3 bá» m\xf4n","meet.selectAll":"Tất cả","meet.clearAll":"Bá» chá»n","meet.pickMode":"Chá»n khung y\xeau th\xedch","meet.pickModeOn":"Äang chá»n \xb7 bấm Äá» xong","meet.dragHint":'\uD83D\uDCA1 Bấm "Chá»n khung y\xeau th\xedch" rá»i k\xe9o-thả (hoặc bấm từng \xf4) Äá» Ä\xe1nh dấu khung ưa th\xedch â c\xf3 thá» nhiá»u v\xf9ng rá»i nhau â chá» gợi \xfd trong Ä\xf3.',"gcal.title":"Google Calendar","gcal.connect":"Kết ná»i Google Calendar","gcal.connected":"Ä\xe3 kết ná»i Google","gcal.syncNow":"Äá»ng bá» ngay","gcal.syncDesc":"Äẩy lá»ch hiá»n tại v\xe0o Google Calendar","gcal.disconnect":"Ngắt kết ná»i","gcal.synced":"Ä\xe3 Äá»ng bá» lá»ch v\xe0o Google","gcal.syncFailed":"Äá»ng bá» thất bại","gcal.disconnected":"Ä\xe3 ngắt kết ná»i Google","gcal.later":"Äá» sau","gcal.bannerText":"Äá»ng bá» thá»i kho\xe1 biá»u sang Google Calendar Äá» nháºn nhắc tr\xean Äiá»n thoại â kết ná»i má»t lần, tá»± cáºp nháºt vá» sau.","ics.addToCalendar":"Th\xeam v\xe0o lá»ch","ics.google":"Th\xeam v\xe0o Google Calendar","ics.googleDesc":"Tá»± Äá»ng bá». Google c\xf3 thá» hiá»n link l\xe0m t\xean â Äá»i t\xean trong Settings cá»§a lá»ch.","ics.apple":"Th\xeam v\xe0o Apple Calendar","ics.appleDesc":"ÄÄng k\xfd tr\xean m\xe1y Mac/iPhone â tá»± Äá»ng bá»","ics.outlook":"Th\xeam v\xe0o Outlook (cÆ¡ quan)","ics.outlookDesc":"T\xe0i khoản tá» chức (office.com) â tá»± Äá»ng bá»","ics.outlookPersonal":"Th\xeam v\xe0o Outlook (c\xe1 nh\xe2n)","ics.outlookPersonalDesc":"T\xe0i khoản outlook.com / hotmail â tá»± Äá»ng bá»","ics.download":"Tải file .ics","ics.downloadDesc":"Nháºp má»t lần v\xe0o Google/Outlook/Apple Calendar","ics.subscribe":"Sao ch\xe9p link Äá»ng bá»","ics.subscribeDesc":"D\xe1n v\xe0o 'Th\xeam lá»ch từ URL' Äá» tá»± cáºp nháºt","ics.copied":"Ä\xe3 sao ch\xe9p link. D\xe1n v\xe0o Google Calendar â Th\xeam lá»ch â Từ URL.","ics.copyFailed":"Kh\xf4ng sao ch\xe9p ÄÆ°á»£c link.","home.welcomeBack":"Ch\xe0o mừng trá» lại,","home.userTagline":"Quản l\xfd Äặt ph\xf2ng theo m\xf4n há»c, xem t\xecnh trạng ph\xf2ng, hoặc Äặt ph\xf2ng cho sá»± kiá»n tiếp theo cá»§a bạn.","home.goToBooking":"Äến trang Äặt lá»ch","home.viewRoomSchedule":"Xem lá»ch ph\xf2ng","home.badge":"Váºt l\xfd - Váºt l\xfd Kỹ thuáºt","home.title":"Há» thá»ng Äặt ph\xf2ng & Lá»ch há»c","home.subtitle":"Äặt ph\xf2ng há»c cho m\xf4n há»c, giữ ph\xf2ng cho sá»± kiá»n v\xe0 xem t\xecnh trạng ph\xf2ng theo thá»i gian thá»±c â tất cả á» má»t nÆ¡i.","home.signInGoogle":"ÄÄng nháºp vá»i Google","home.whatYouCanDo":"Bạn c\xf3 thá» l\xe0m g\xec","home.open":"Má»","home.loginRequired":"Cần ÄÄng nháºp","home.feat.course.title":"Äặt ph\xf2ng m\xf4n há»c","home.feat.course.desc":"Xếp ph\xf2ng há»c cho c\xe1c m\xf4n suá»t cả há»c kỳ, c\xf3 ph\xe1t hiá»n tr\xf9ng lá»ch.","home.feat.roomSchedule.title":"Lá»ch ph\xf2ng","home.feat.roomSchedule.desc":"Xem t\xecnh trạng ph\xf2ng theo thá»i gian thá»±c tr\xean to\xe0n bá» cÆ¡ sá».","home.feat.event.title":"Äặt ph\xf2ng sá»± kiá»n","home.feat.event.desc":"Giữ ph\xf2ng cho sá»± kiá»n, há»i thảo hoặc buá»i há»p ri\xeang lẻ, x\xe1c nháºn tức th\xec.","home.feat.manager.title":"Quản l\xfd ph\xf2ng","home.feat.manager.desc":"Quản l\xfd quyá»n truy cáºp ph\xf2ng, duyá»t y\xeau cầu v\xe0 theo d\xf5i sá» dụng c\xe1c ph\xf2ng bạn phụ tr\xe1ch.","home.adminOnly":"Quản trá»","home.showcase.title":"Xem ph\xf2ng theo thá»i gian thá»±c","home.showcase.desc":"Lá»ch ph\xf2ng trá»±c quan theo tuần: biết ngay ph\xf2ng n\xe0o trá»ng, ph\xf2ng n\xe0o Äang c\xf3 lá»p â tr\xean to\xe0n bá» cÆ¡ sá».","home.showcase.cta":"Xem lá»ch ph\xf2ng","home.heroImageAlt":"Váºt l\xfd & Váºt l\xfd Kỹ thuáºt","about.badge":"Giá»i thiá»u Physoom","about.title":"Xếp lá»ch cho Khoa Váºt l\xfd - Váºt l\xfd Kỹ thuáºt, ÄÆ°á»£c l\xe0m má»i","about.subt
1itle":"Physoom thay thế quy tr\xecnh d\xf9ng bảng t\xednh cháºm v\xe0 dá»
sai bằng má»t há» thá»ng chung, thá»i gian thá»±c Äá» sắp xếp lá»ch giảng dạy v\xe0 Äặt ph\xf2ng.","about.whatTitle":"Physoom l\xe0 g\xec?","about.whatBody":"Physoom l\xe0 ứng dụng ÄÆ°á»£c ph\xe1t triá»n Äá» há» trợ c\xe1n bá» Khoa Váºt l\xfd - Váºt l\xfd Kỹ thuáºt tại VNU-HCMUS sắp xếp lá»ch giảng dạy hiá»u quả hÆ¡n. C\xe1ch l\xe0m truyá»n thá»ng bằng Excel tá»n nhiá»u thá»i gian v\xe0 c\xf4ng sức Äá» phá»i hợp giữa c\xe1c giảng vi\xean v\xe0 tá»i ưu lá»ch cá»§a má»i ngưá»i. Vá»i Physoom, giảng vi\xean dá»
d\xe0ng nháºp thá»i gian rảnh v\xe0 mong muá»n, ÄỠứng dụng tạo lá»ch tá»i ưu chá» trong má»t phần thá»i gian â Äá»ng thá»i giảm khả nÄng tr\xf9ng lá»ch.","about.whyTitle":"V\xec sao hữu \xedch","about.benefit.conflict.title":"Ph\xe1t hiá»n tr\xf9ng lá»ch","about.benefit.conflict.desc":"Tr\xf9ng ph\xf2ng, giảng vi\xean v\xe0 lá»p ÄÆ°á»£c tá»± Äá»ng cảnh b\xe1o trưá»c khi th\xe0nh vấn Äá».","about.benefit.fast.title":"Nhanh hÆ¡n Excel","about.benefit.fast.desc":"Dá»±ng lá»ch cả há»c kỳ chá» trong má»t phần thá»i gian so vá»i c\xe1ch d\xf9ng bảng t\xednh truyá»n thá»ng.","about.benefit.realtime.title":"Thá»i gian thá»±c","about.benefit.realtime.desc":"Thấy ch\xednh x\xe1c ph\xf2ng n\xe0o Ä\xe3 ÄÆ°á»£c Äặt tr\xean to\xe0n bá» cÆ¡ sá», cáºp nháºt ngay khi c\xf3 thay Äá»i.","about.benefit.team.title":"Cho cả nh\xf3m","about.benefit.team.desc":"Giảng vi\xean, ngưá»i quản l\xfd ph\xf2ng v\xe0 quản trá» vi\xean Äá»u c\xf3 quy tr\xecnh ph\xf9 hợp vá»i viá»c m\xecnh cần l\xe0m.","about.createdBy":"ÄÆ°á»£c ph\xe1t triá»n bá»i","about.createdFor":"cho c\xe1n bá» Khoa Váºt l\xfd - Váºt l\xfd Kỹ thuáºt tại VNU-HCMUS","room.title":"Lá»ch ph\xf2ng","room.subtitle":"Xem t\xecnh trạng ph\xf2ng theo thá»i gian thá»±c tr\xean to\xe0n khoa.","room.quickAccess":"Truy cáºp nhanh bằng m\xe3 chia sẻ","room.go":"Äi","room.codeHint":"Lấy m\xe3 n\xe0y từ m\xe0n h\xecnh hiá»n thá», poster QR hoặc quản trá» vi\xean cá»§a bạn.","room.orMscb":"Hoặc d\xf9ng MSCB b\xean dưá»i Äá» xem lá»ch ph\xf2ng","room.loginToView":"ÄÄng nháºp bằng t\xe0i khoản trưá»ng Äá» xem lá»ch ph\xf2ng vá»i MSCB cá»§a bạn.","room.enterMscb":"Nháºp MSCB cá»§a bạn Äá» xem lá»ch ph\xf2ng","room.selectHint":"Chá»n má»t ph\xf2ng Äá» xem chi tiết v\xe0 lá»ch.","room.pleaseSelect":"Vui l\xf2ng chá»n ph\xf2ng Äá» xem lá»ch.","room.maxCap":"Sức chứa tá»i Äa:","room.students":"sinh vi\xean","room.submit":"X\xe1c nháºn","room.codeLen":"M\xe3 phải gá»m 6 k\xfd tá»±","room.codeNotFound":"Kh\xf4ng t\xecm thấy m\xe3. Vui l\xf2ng kiá»m tra lại.","room.codeError":"C\xf3 lá»i xảy ra. Vui l\xf2ng thá» lại.","room.roomLabel":"Ph\xf2ng","room.searchByRoom":"T\xecm theo ph\xf2ng","room.idRequired":"Bắt buá»c
1nháºp m\xe3","admin.dashboard":"Bảng Äiá»u khiá»n","admin.overview":"Tá»ng quan ph\xf2ng, m\xf4n há»c v\xe0 t\xecnh trạng Äặt lá»ch","admin.nav.dashboard":"Tá»ng quan","admin.grp.booking":"Xếp lá»ch","admin.grp.catalog":"Danh mục","admin.grp.system":"Há» thá»ng","admin.nav.course":"M\xf4n há»c","admin.nav.room":"Ph\xf2ng","admin.nav.courseBooking":"Äặt ph\xf2ng m\xf4n há»c","admin.nav.roomBooking":"Äặt ph\xf2ng sá»± kiá»n","admin.nav.terms":"Há»c kỳ & Ng\xe0y nghá»","admin.nav.apiKeys":"Kh\xf3a API","admin.nav.users":"Ngưá»i d\xf9ng","admin.nav.viewShare":"Chia sẻ lá»ch","dash.totalRooms":"Tá»ng sá» ph\xf2ng","dash.totalCourses":"Tá»ng sá» m\xf4n","dash.bookedCourses":"M\xf4n Ä\xe3 Äặt","dash.eventBookings":"Äặt ph\xf2ng sá»± kiá»n","dash.approvalRate":"Tá» lá» duyá»t","dash.locations":"Äá»a Äiá»m","dash.noBookings":"Chưa c\xf3 Äặt lá»ch","dash.noEvents":"Chưa c\xf3 sá»± kiá»n","dash.noData":"Chưa c\xf3 dữ liá»u","dash.byLocation":"Theo Äá»a Äiá»m","dash.byCredit":"Theo tiết","dash.b
1yStatus":"Theo trạng th\xe1i","dash.bookingStatus":"Trạng th\xe1i Äặt lá»ch","dash.approved":"Ä\xe3 duyá»t","dash.pending":"Chá» duyá»t","dash.rejected":"Từ chá»i","dash.notBooked":"Chưa Äặt","terms.title":"Há»c kỳ & Ng\xe0y nghá»","terms.createNew":"Tạo má»i","terms.colTitle":"T\xcaN","terms.colType":"LOẠI","terms.colStart":"NG\xc0Y BẮT ÄẦU","terms.colEnd":"NG\xc0Y KẾT TH\xdaC","terms.colActions":"THAO T\xc1C","terms.empty":"Chưa c\xf3 há»c kỳ hoặc ng\xe0y nghá».","terms.createModal":"Tạo Há»c kỳ hoặc Ng\xe0y nghá»","terms.editModal":"Sá»a Há»c kỳ / Ng\xe0y nghá»","terms.fieldTitle":"T\xean","terms.fieldTitlePh":"VD: HK1 2026 hoặc Nghá» Tết","terms.fieldType":"Loại","terms.typeTerm":"Há»c kỳ","terms.typeHoliday":"Ng\xe0y nghá» / Nghá» lá»
","terms.startDate":"Ng\xe0y bắt Äầu","terms.endDate":"Ng\xe0y kết th\xfac","terms.delete":"Xo\xe1","terms.confirmDelete":"Bạn c\xf3 chắc muá»n xo\xe1 mục n\xe0y?","terms.colCourses":"Sá» m\xf4n","terms.deleteBlocked":"C\xf2n {n} m\xf4n â kh\xf4ng thá» xo\xe1 há»c kỳ","terms.rescheduled":"Ä\xe3 dá»i {n} buá»i theo há»c kỳ má»i.","terms.conflictTitle":"Dá»i há»c kỳ sẽ g\xe2y tr\xf9ng lá»ch","terms.conflictCount":"{n} trưá»ng hợp tr\xf9ng","terms.conflictBody":"C\xe1c buá»i dưá»i Ä\xe2y sẽ Äụng ph\xf2ng/giảng vi\xean cá»§a lá»ch kh\xe1c. Huá»· Äá» chá»nh lại, hoặc vẫn \xe1p dụng.","terms.applyAnyway":"Vẫn \xe1p dụng","terms.expandOnGrow":"Ná»i cả c\xe1c m\xf4n ngắn hÆ¡n kỳ l\xean bằng há»c kỳ","terms.expandHint":"M\xf4n chạy ÄỦ kỳ cÅ© sẽ tá»± co/gi\xe3n theo kỳ má»i. M\xf4n ngắn hÆ¡n kỳ (vd 4 tuần) mặc Äá»nh giữ nguy\xean (chá» r\xfat nếu kỳ má»i c\xf2n ngắn hÆ¡n). Tick Äá» ná»i cả những m\xf4n ngắn Ä\xf3 l\xean bằng há»c kỳ.","terms.loadNational":"Nạp lá»
quá»c gia (VN)","terms.year":"NÄm","terms.nationalAdded":"Ä\xe3 th\xeam {n} ng\xe0y lá»
quá»c gia cho nÄm {y}.","terms.nationalNoneNew":"C\xe1c ng\xe0y lá»
quá»c gia nÄm {y} Ä\xe3 c\xf3 sẵn.","terms.nationalNoLunar":"Chưa c\xf3 sẵn ng\xe0y Tết/Giá» tá» cho nÄm {y} â chá» th\xeam c\xe1c lá»
dương lá»ch. Vui l\xf2ng kiá»m tra v\xe0 th\xeam Tết thá»§ c\xf4ng.","tbl.search":"T\xecm theo t\xean...","tbl.columns":"Cá»t","tbl.deleteSelected":"Xo\xe1 Ä\xe3 chá»n","tbl.addNew":"Th\xeam má»i","tbl.rowsPerPage":"Sá» d\xf2ng má»i trang:","tbl.selectedOf":"{n} / {total} Ä\xe3 chá»n","tbl.allSelected":"Ä\xe3 chá»n tất cả","tbl.previous":"Trưá»c","tbl.next":"Sau","tbl.actions":"Thao t\xe1c","tbl.edit":"Sá»a","tbl.delete":"Xo\xe1","form.title":"T\xean","form.note":"Ghi ch\xfa","form.save":"Lưu","form.cancel":"Huá»·","form.required":"Bắt buá»c","room.createRoom":"Tạo ph\xf2ng","room.updateRoom":"Cáºp nháºt ph\xf2ng","room.enterTitle":"Nháºp t\xean ph\xf2ng","room.capacity":"Sức chứa","room.enterCapacity":"Nháºp sức chứa","room.location":"Äá»a Äiá»m","room.selectLocation":"Chá»n Äá»a Äiá»m","room.category":"Ph\xe2n loại","room.selectCategory":"Chá»n ph\xe2n loại","room.enterNote":"Nháºp ghi ch\xfa (nếu c\xf3)","room.total":"Tá»ng {n} ph\xf2ng","course.createData":"Tạo dữ liá»u","course.updateData":"Cáºp nháºt dữ liá»u","course.courseId":"M\xe3 m\xf4n","course.courseIdExt":"M\xe3 m\xf4n má» rá»ng","course.classId":"M\xe3 lá»p","course.addClassId":"Th\xeam m\xe3 lá»p","course.teacherEmails":"Email giảng vi\xean","course.saved":"Ä\xe3 lưu th\xe0nh c\xf4ng!","course.saveFailed":"Lưu thất bại.","course.validationFailed":"Kiá»m tra dữ liá»u thất bại. Vui l\xf2ng thá» lại.","course.unexpectedError":"C\xf3 lá»i xảy ra. Vui l\xf2ng thá» lại.","users.title":"Ngưá»i d\xf9ng","users.totalAccounts":"{n} t\xe0i khoản","users.addUser":"Th\xeam ngưá»i d\xf9ng","users.editUser":"Sá»a ngưá»i d\xf9ng","users.import":"Nháºp từ CSV / Excel","users.name":"T\xean","users.email":"Email","users.admin":"Quản trá» vi\xean","users.confirmDelete":"Xo\xe1 ngưá»i d\xf9ng n\xe0y?"},en:{"lang.switchToEn":"English","lang.switchToVi":"Tiếng Viá»t","notif.title":"Notifications","notif.markAll":"Mark all read","notif.empty":"No notifications yet","notif.enablePush":"Enable desktop notifications","notif.pushOn":"Desktop notifications on","notif.pushDenied":"Notifications blocked â re-enable in browser settings.","nav.home":"Home","nav.booking":"Timetable","nav.roomSchedule":"Room Schedule","nav.search":"Find schedule","nav.adminDashboard":"Admin Dashboard","nav.about":"About","nav.apps":"Apps","nav.appProfile":"Research profile","nav.appTasks":"Duties & quota","nav.login":"Login","nav.logout":"Logout","nav.openMenu":"Open menu","nav.closeMenu":"Close menu","common.save":"Save","common.cancel":"Cancel","common.close":"Close","course.moveToPending":"Move to pen
1ding","course.locked":"Locked","course.confirmUnschedule":"Remove all scheduled sessions for this course and move it back to pending? The course itself is kept.","booking.classroomSchedule":"Classroom schedule","booking.personalSchedule":"Personal schedule","booking.classSchedule":"Class schedule","booking.lecturerSchedule":"Lecturer schedule","booking.eventBooking":"Event Booking","myev.searchPh":"Search event / room","myev.all":"All","myev.approved":"Approved","myev.pending":"Pending","myev.rejected":"Rejected","myev.futureOnly":"Upcoming","myev.noMatch":"No matching events.","myev.noEvents":"No events yet.","myev.owner":"Owner","myev.host":"Host","myev.attendee":"Attendee","myev.cancelled":"Cancelled","booking.tabCourses":"Courses","booking.tabMyEvents":"My Events","booking.coursesEvents":"Courses & Events","cal.today":"Today","cal.back":"Back","cal.next":"Next","cal.month":"Month","cal.week":"Week","cal.day":"Day","cal.agenda":"Agenda","cal.date":"Date","cal.time":"Time","cal.event":"Event","cal.noEventsRange":"No events in this range.","booking.searchSchedule":"Search Schedule","booking.pleaseChoose":"Please choose course","booking.dutyRoster":"Duty roster","booking.lockedFrozen":"Course is locked â schedule is frozen (unlock to change)","booking.selectCourse":"Select Course","booking.pendingClass":"Pending class","booking.plannedClass":"Planned class","booking.noAction":"No action needed","booking.autoJump":"Auto jump to start day","booking.compactMode":"Compact mode (no dates)","booking.mergeGroups":"Merge sub-sections (_A/_B/_C)","booking.term":"Term","booking.academicYear":"Academic year","booking.sessionCount":"Sessions","booking.sessionsUnit":"sessions","booking.weeksUnit":"weeks","booking.pickTermHint":"Pick a term, start date and end date to schedule.","booking.mergingClasses":"Merging classes","booking.exactClass":"This class only","booking.compactFrom":"From","booking.compactTo":"To","booking.compactRange":"Compact from {from} to {to}","booking.noCoursesInRange":"No sessions in this range","booking.weeks":"{n} weeks","booking.noTeacherTitle":"No lecturer assigned â cannot schedule","booking.noTeacherDesc":"This course has no lecturer, so a room cannot be picked or scheduled. Add a lecturer to the course first (edit it in the list or the Courses page), then schedule.","room.mscbMismatch":"Staff co
1de doesn't match your account.","event.details":"Event details","event.room":"Room","event.class":"Class","event.time":"Time","event.teacher":"Lecturer","event.host":"Host","event.attendees":"Attendees","event.note":"Note","event.restricted":"You don't have permission to view details. Please contact an admin.","common.bookingInfo":"Booking info","common.credits":"periods","common.lock":"Lock","common.unlock":"Unlock","common.search":"Search","common.typeToSearch":"Type to search...","common.actions":"Actions","common.status":"Status","common.export":"Export","common.import":"Import","common.open":"Open","common.yes":"Yes","common.no":"No","common.class":"Class","common.noInfo":"No info","common.cancel":"Cancel","common.delete":"Delete","common.edit":"Edit","common.save":"Save","common.error":"Error","common.done":"Done","common.back":"Back","user.title":"Users","user.total":"{n} total accounts","user.add":"Add User","user.searchPh":"Search by name, email or MSCBâ¦","user.colName":"NAME","user.colEmail":"EMAIL","user.colMscb":"MSCB","user.colDept":"DEPARTMENT","user.colAdmin":"ADMIN","user.colActions":"ACTIONS","user.roleAdmin":"Admin","user.roleUser":"User","user.none":"No users found.","user.editTitle":"Edit User","user.addTitle":"Add User","user.fName":"Name","user.fMscb":"Teacher ID (MSCB)","user.fDept":"Department / Unit","user.fDeptPh":"Pick or type a department","user.fRank":"Rank","user.fDegree":"Degree","user.fAdmin":"Admin privileges","user.emailRequired":"Email is required","user.saveChanges":"Save changes","user.importTitle":"Import Users from CSV / Excel","user.importDesc":"Required column: email. Optional: name, teacher_id, isAdmin (true/false). Existing users are updated by email.","user.importing":"Importingâ¦","user.importDone":"Done â {a} added, {u} updated.","user.deleteTitle":"Delete user?","user.deleteDesc":"Remove {email}? This cannot be undone.","share.title":"QR Room Sharing Management","share.create":"Create Share Link","share.searchPh":"Search by title, code or room...","share.colTitle":"TITLE","share.colRooms":"ROOMS","share.colCode":"CODE","share.colLogin":"LOGIN REQUIRED","share.colLink":"LINK / QR","share.none":"No active shares found.","share.editTitle":"Edit Share Link","share.createTitle":"Create New Share Link","share.fTitle":"Share Title","share.fTitlePh":"e.g. Lobby Screens","share.roomsLabel":"Rooms Schedule","share.roomsPh":"Search and add rooms...","share.noRooms":"No rooms selected","share.classesLabel":"Classes Schedule","share.classesPh":"Search and add classes...","share.noClasses":"No classes selected","share.colClasses":"CLASSES","share.needRoomOrClass":"Please select at least one room or one class.","share.usersUnit":"{n} users","share.settings":"Display & Security Settings","share.requireLogin":"Require Login via Physoom (Internal sharing only)","share.showTeacher":"Show Teacher","share.showClass":"Show Class IDs","share.showCourse":"Show Course Names","share.update":"Update Share Link","share.selectAtLeastOne":"Please select at least one room.","share.confirmDelete":"Are you sure you want to revoke and delete this share link?","share.linkCopied":"Link copied to clipboard!","share.qrTitle":"QR Code","share.quickCode":"Quick access code","share.enterAt":"Enter at","share.liveTitle":"Live Room Schedule","share.standardView":"Standard View","share.slotView":"Tiết Grid","share.allRooms":"All rooms ({n})","share.weekPrev":"Prev week","share.weekNext":"Next week","share.thisWeek":"This week","share.week":"Week","share.loginRequired":"Login Required","share.loginRequiredDesc":"This room schedule requires you to be logged into your account.","share.loginToView":"Login to View","share.errorTitle":"Error Loading Schedule","share.errorDesc":"This link may be invalid, deleted, or expired.","nav.help":"Help","guide.title":"User Guide","guide.subtitle":"How to use Physoom: view room schedules, book rooms, schedule courses, and administer.","guide.startTour":"Take a quick tour","guide.pageTour":"Guide for this page","guide.toc":"Contents","guide.tourError":"Couldn't start the tour on this page.","tour.next":"Next","tour.prev":"Back","tour.done":"Done","rb.title":"Room Booking Management","rb.tabPending":"Pending","rb.tabAll":"All Events","rb.tabCalendar":"Calendar","rb.tabRooms":"Rooms","rb.addBooking":"Add Booking","rb.searchEvents":"Search by title, room or requester...","rb.f
1ilterRoom":"Filter by room","rb.filterStatus":"Filter by status","rb.allStatuses":"All statuses","rb.approved":"Approved","rb.rejected":"Rejected","rb.noEvents":"No events found","rb.colTitle":"Title","rb.colRoom":"Room","rb.colRequestedBy":"Requested By","rb.colStart":"Start","rb.colEnd":"End","rb.searchRooms":"Search by name, location or manager...","rb.publicBooking":"Public booking","rb.public":"Public","rb.private":"Private","rb.location":"Location","rb.allLocations":"All locations","rb.noRooms":"No rooms found","rb.colLimit":"Limit","rb.share":"Share","rb.copied":"Copied!","rb.selectRoomView":"Select a room to view its schedule","rb.classChip":"Class","rb.approve":"Approve","rb.reject":"Reject","rb.addEvent":"+ Add Event","rb.capacity":"Capacity","rb.createdBy":"Created by","rb.course":"Course","rb.classOnlyAdmin":"Only admins can manage course bookings.","rb.manageCourse":"Manage Course Booking","rb.viewInBooking":"View in Room Booking","rb.legendClass":"Class","rb.slotHasClass":"This slot already has a class","rb.slotHasEvent":"This slot already has an event","rb.legendApproved":"Approved","rb.legendPending":"Pending","rb.legendRejected":"Rejected","import.selectTerm":"Select Term (Required)","import.downloadTemplate":"Download template","import.termHint":"â ï¸ A term must be selected before importing","import.termPrefix":"Term","import.termPlaceholder":"Choose a term to set dates and avoid holidays","import.selectFirst":"Please select a term before importing.","import.importing":"IMPORTING...","import.stepRoom":"Room","import.stepCourse":"Course","import.stepBooking":"Booking","import.csvHeader":"Import CSV / Excel file","dz.title":"Drag & Drop your Excel / CSV file here","dz.browse":"or click to browse","import.importData":"Import Data","search.title":"Find schedule","search.subtitle":"Look up schedules by teacher, room or class â type to search, view on the calendar, and export.","search.needLogin":"Please sign in to find schedules. Redirectingâ¦","search.by":"Search by","search.teacher":"Teacher","search.room":"Room","search.class":"Class","search.byRoom":"Search by Room","search.byClass":"Search by Class id","common.somethingWrong":"Something went wrong.","common.loginFirst":"Please login first.","cbr.noRoom":"No room selected","cbr.scheduleErr":"Something went wrong while scheduling.","cbr.couldNotSchedule":"C
1ould not schedule this slot.","cbr.conflictReason":"Scheduling conflict â check the term dates and existing bookings.","cbr.scheduled":"Course scheduled.","cbr.maxStudent":"Max student","cbr.chooseRoom":"Please choose room to view schedule","dnd.title":"Confirm Time Change","dnd.current":"Current","dnd.reapprove":"Changing the time will require re-approval if you are not an admin or room manager.","del.title":"Confirm Deletion","del.thisOnly":"Delete only this specific occurrence.","del.thisFuture":"Delete this and all future occurrences in this series.","del.series":"Delete the entire recurring series.","del.course":"Remove all scheduled sessions for this course across all weekdays and rooms.","del.permanent":"This action is permanent and cannot be undone.","del.how":"How would you like to delete this schedule?","del.thisOccurrence":"This occurrence only","del.fromForward":"From this point forward","del.allOccurrences":"All occurrences","del.allCourse":"All schedules for this course","del.permanentDetail":"This action is permanent and cannot be undone. All related data for the selected mode will be removed.","del.confirmDelete":"Confirm Delete","cm.population":"Population","cm.enterPopulation":"Enter population","cm.startDate":"Start Date","cm.credit":"Periods","cm.enterCredit":"Enter periods","cm.duration":"Duration","cm.enterDuration":"Enter duration in weeks","cm.location":"Location","cm.selectLocation":"Select a location","cm.term":"Term","cm.selectTerm":"Select a term","cm.category":"Category","cm.selectCategory":"Select a category","cm.note":"Note","cm.enterNote":"Enter Note","cm.addEmail":"Add Email","re.editPrefix":"Edit","re.booking":"Booking","re.addBooking":"Add Booking","re.searchNameEmail":"Search by name or email","re.title":"Title","re.start":"Start","re.noPast":"Can't book a room for a time in the past.","re.invalidRange":"End time must be after start time.","re.end":"End","re.durationMin":"Duration (minutes)","re.durationEg":"e.g. 90","re.hostBy":"Host by (optional)","re.members":"Members attending (optional)","re.reapprovalTitle":"Note on re-approval","re.reapprovalBody":"Changing time or room will reset this booking to pending and require re-approval. Updating title, host, or attendees only will be applied immediately.","re.timeRoomChanged":"â Time or room has changed â re-approval will be required.","re.notPublic":" (not public)","re.willReview":"Your request will be reviewed by a manager or admin before approval.","re.create":"Create","re.editWarn":"Changing time or room will require re-approval. Title and attendee changes apply immediately.","re.noEditPerm":"You don't have permission to edit this event.","re.contactHost":"Contact the creator or host:","re.createdByLabel":"Created by","dash.creditGroups":"period groups","auth.username":"Username","auth.email":"Email","auth.password":"Password","auth.passwordAgain":"Repeat password","auth.register":"Register","auth.login":"Login","auth.haveAccount":"Have an account?","auth.noAccount":"Don't have an account?","sched.editDates":"Edit / move schedule dates","sched.endDate":"End Date","sched.desc":"Changing the start/end date re-generates the whole schedule for this course over the new range (same weekday and periods). Use it to move the schedule or extend/shorten the number of weeks.","sched.saved":"Schedule updated.","sched.needDates":"Please pick both start and end dates.","sched.weeksInfo":"{n} weeks","admin.nav.meeting":"Meetings","admin.nav.search":"Find schedule","admin.nav.classGroups":"Classes","cg.title":"Class group management","cg.subtitle":"Classes are grouped by rule: a trailing letter suffix (_A/_B/_C) is a sub-section and merges into the base class, while 25VLH, _DKD1, _DKD2 are different classes. Override manually below.","cg.courses":"courses","cg.overrideTitle":"Per-class group override","cg.colClass":"Class","cg.colGroup":"Current group","cg.colAction":"Override group","cg.overridden":"overridden","cg.rule":"rule","cg.save":"Save","cg.resetToRule":"Reset to rule","cg.saved":"Group override saved.","cg.reset":"Reset to rule.","cg.saveFailed":"Operation failed.","cg.empty":"No classes.","meet.title":"Meeting planner â department availability","meet.subtitle":"Pick a campus & meeting length to see how many lecturers are free in each slot. Anyone teaching at the other campus needs travel time and is flagged as unavailable.","meet.campus":"Meeting campus","meet.duration":"Length","meet.buffer":"Travel buffer","meet.scope":"Group","meet.allDept":"Whole department","meet.pickPeople":"Pick people","meet.week":"Week (pick any day)","meet.byDayTiet":"People free by day \xd7 period","meet.detailTitle":"Selected slot","meet.free":"Free","meet.teach":"Teaching","meet.travel":"Travel clash","meet.bestSlots":"Best slots (most people free)","meet.freeList":"Free","meet.teachList":"Teaching at this campus","meet.travelList":"Travel clash","meet.bookMeeting":"Book a meeting room for this slot","meet.needSlot":"Click a cell to see who's free / busy.","meet.legendLess":"fewer free","meet.legendMore":"more free","meet.tiet":"Period","meet.travelReason":"teaches {campus} {from}â{to} \xb7 needs {buffer}â² travel","meet.teachReason":"teaches {from}â{to} \xb7 {campus}","meet.minutes":"{n}â²","meet.mins":"min","meet.loadingWeek":"Loading the weekâ¦","meet.bestInRegion":"Best slots in your region","meet.clearRegion":"Clear region","meet.deptFilter":"Department","meet.deptUnit":"dept(s)","meet.noDept":"No department","meet.selectAll":"All","meet.clearAll":"Clear","meet.pickMode":"Pick favorite slots","meet.pickModeOn":"Picking \xb7 click to finish","meet.dragHint":'\uD83D\uDCA1 Click "P
1ick favorite slots", then drag (or click cells) to mark preferred windows â several disjoint areas allowed â recommendations stay inside them.',"gcal.title":"Google Calendar","gcal.connect":"Connect Google Calendar","gcal.connected":"Google connected","gcal.syncNow":"Sync now","gcal.syncDesc":"Push your current schedule to Google Calendar","gcal.disconnect":"Disconnect","gcal.synced":"Schedule synced to Google","gcal.syncFailed":"Sync failed","gcal.disconnected":"Google disconnected","gcal.later":"Later","gcal.bannerText":"Sync your timetable to Google Calendar to get reminders on your phone â connect once, it keeps itself updated.","ics.addToCalendar":"Add to calendar","ics.google":"Add to Google Calendar","ics.googleDesc":"Auto-syncs. Google may show the link as the name â rename it in the calendar's Settings.","ics.apple":"Add to Apple Calendar","ics.appleDesc":"Subscribe on Mac/iPhone â auto-syncs","ics.outlook":"Add to Outlook (work)","ics.outlookDesc":"Organization account (office.com) â auto-syncs","ics.outlookPersonal":"Add to Outlook (personal)","ics.outlookPersonalDesc":"outlook.com / hotmail account â auto-syncs","ics.download":"Download .ics file","ics.downloadDesc":"One-time import into Google/Outlook/Apple Calendar","ics.subscribe":"Copy subscribe link","ics.subscribeDesc":"Paste into 'Add calendar from URL' to keep it in sync","ics.copied":"Link copied. Paste into Google Calendar â Add â From URL.","ics.copyFailed":"Could not copy the link.","home.welcomeBack":"Welcome back,","home.userTagline":"Manage course room bookings, browse room availability, or reserve a space for your next event.","home.goToBooking":"Go to Booking","home.viewRoomSchedule":"View Room Schedule","home.badge":"Physics & Engineering Physics","home.title":"Room Booking & Schedule System","home.subtitle":"Book classrooms for courses, reserve rooms for events, and view real-time room availability â all in one place.","home.signInGoogle":"Sign in with Google","home.whatYouCanDo":"What you can do","home.open":"Open","home.loginRequired":"Login required","home.feat.course.title":"Course Booking","home.feat.course.desc":"Schedule classrooms for your courses across the full semester with conflict detection.","home.feat.roomSchedule.title":"Room Schedule","home.feat.roomSchedule.desc":"Browse real-time room availability and see what's happening across all facilities.","home.feat.event.title":"Event Booking","home.feat.event.desc":"Reserve rooms for one-off events, seminars, or meetings with instant confirmation.","home.feat.manager.title":"Room Manager","home.feat.manager.desc":"Manage room access, approve requests, and track usage for your assigned rooms.","home.adminOnly":"Admin","home.showcase.title":"See rooms in real time","home.showcase.desc":"A clear weekly room calendar: instantly see which rooms are free and which are in class â across every facility.","home.showcase.cta":"View room schedule","home.heroImageAlt":"Physics & Engineering Physics","about.badge":"About Physoom","about.title":"Scheduling for Physics & Engineering Physics, reinvented","about.subtitle":"Physoom replaces the slow, error-prone spreadsheet workflow with a shared, real-time system for arranging teaching schedules and room bookings.","about.whatTitle":"What is Physoom?","about.whatBody":"Physoom is an app developed to help the Physics & Engineering Physics staff at VNU-HCMUS arrange teaching schedules more efficiently. The traditional method of using Excel required a lot of time and effort to coordinate between teachers and tighten everyone's schedule and needs. With Physoom, teachers can easily input their availability and preferences, letting the app generate optimized schedules in a fraction of the time â while reducing the likelihood of scheduling conflicts.","about.whyTitle":"Why it helps","about.benefit.conflict.title":"Conflict detection","about.benefit.conflict.desc":"Overlapping rooms, teachers, and classes are flagged automatically before they become a problem.","about.benefit.fast.title":"Faster than Excel","about.benefit.fast.desc":"Build a full semester of schedules in a fraction of the time the traditional spreadsheet workflow took.","about.benefit.realtime.title":"Real-time availability","about.benefit.realtime.desc":"See exactly what's booked across every room and facility, updated live as bookings change.","about.benefit.team.title":"Built for teams","about.benefit.team.desc":"Teachers, room managers, and admins each get a workflow tuned to what they actually need to do.","about.createdBy":"Created by","about.createdFor":"for the Physics & Engineering Physics staff at VNU-HCMUS","room.title":"Room Schedule","room.subtitle":"Browse real-time room availability across the department.","room.quickAccess":"Quick access with a share code","room.go":"Go","room.codeHint":"Get this code from a display screen, QR poster, or your administrator.","room.orMscb":"Or use your MSCB below to view the room schedule","room.loginToView":"Log in with your school account to view the room schedule with your MSCB.","room.enterMscb":"Enter your MSCB to view the room schedule","room.selectHint":"Select a room to see its details and schedule.","room.pleaseSelect":"Please select a room to view its schedule.","room.maxCap":"Max capacity:","room.students":"students","room.submit":"Submit","room.codeLen":"Code must be 6 characters","room.codeNotFound":"Code not found. Please check and try again.","room.codeError":"Something went wrong. Please try again.","room.roomLabel":"Room","room.searchByRoom":"Search by Room","room.idRequired":"ID is required","admin.dashboard":"Dashboard","admin.overview":"Overview of rooms, courses and booking status","admin.nav.dashboard":"Dashboard","admin.grp.booking":"Scheduling","admin.grp.catalog":"Catalog","admin.grp.system":"System","admin.nav.course":"Course","admin.nav.room":"Room","admin.nav.courseBooking":"Course Booking","admin.nav.roomBooking":"Room Booking","admin.nav.terms":"Terms & Holidays","admin.nav.apiKeys":"API Keys","admin.nav.users":"Users","admin.nav.viewShare":"View Share","dash.totalRooms":"Total Rooms","dash.totalCourses":"Total Courses","dash.bookedCourses":"Booked Courses","dash.eventBookings":"Event Bookings","dash.approvalRate":"Approval Rate","dash.locations":"locations","dash.noBookings":"No bookings yet","dash.noEvents":"No events yet","dash.noData":"No data yet","dash.b
1yLocation":"By location","dash.byCredit":"By periods","dash.byStatus":"By status","dash.bookingStatus":"Booking Status","dash.approved":"Approved","dash.pending":"Pending","dash.rejected":"Rejected","dash.notBooked":"Not booked","terms.title":"Terms & Holidays","terms.createNew":"Create New","terms.colTitle":"TITLE","terms.colType":"TYPE","terms.colStart":"START DATE","terms.colEnd":"END DATE","terms.colActions":"ACTIONS","terms.empty":"No terms or holidays found.","terms.createModal":"Create Term or Holiday","terms.editModal":"Edit Term / Holiday","terms.fieldTitle":"Title","terms.fieldTitlePh":"e.g. Fall 2026 or Spring Break","terms.fieldType":"Type","terms.typeTerm":"Academic Term","terms.typeHoliday":"Holiday / Break","terms.startDate":"Start Date","terms.endDate":"End Date","terms.delete":"Delete","terms.confirmDelete":"Are you sure you want to delete this?","terms.colCourses":"Courses","terms.deleteBlocked":"{n} courses linked â can't delete this term","terms.rescheduled":"Rescheduled {n} sessions to the new term dates.","terms.conflictTitle":"Shifting this term would clash with other schedules","terms.conflictCount":"{n} conflicts","terms.conflictBody":"The sessions below would clash with another schedule's room/teacher. Cancel to adjust, or apply anyway.","terms.applyAnyway":"Apply anyway","terms.expandOnGrow":"Also expand shorter-than-term courses to the full term","terms.expandHint":"Courses that ran the FULL old term auto-scale to the new term. Shorter courses (e.g. 4 weeks) keep their length by default (only trimmed if the new term is shorter). Tick to expand those short courses to the full term too.","terms.loadNational":"Load VN national holidays","terms.year":"Year","terms.nationalAdded":"Added {n} national holidays for {y}.","terms.nationalNoneNew":"National holidays for {y} already exist.","terms.nationalNoLunar":"Tết / Hung Kings dates aren't preset for {y} â only fixed-date holidays were added. Please add Tết manually.","tbl.search":"Search by name...","tbl.columns":"Columns","tbl.deleteSelected":"Delete Selected","tbl.addNew":"Add New","tbl.rowsPerPage":"Rows per page:","tbl.selectedOf":"{n} of {total} selected","tbl.allSelected":"All items selected","tbl.previous":"Previous","tbl.next":"Next","tbl.actions":"Actions","tbl.edit":"Edit","tbl.delete":"Delete","form.title":"Title","form.note":"Note","form.save":"Save","form.cancel":"Cancel","form.required":"Required","room.createRoom":"Create Room","room.updateRoom":"Update Room","room.enterTitle":"Enter room title","room.capacity":"Capacity Limit","room.enterCapacity":"Enter capacity limit","room.location":"Location","room.selectLocation":"Select a location","room.category":"Category","room.selectCategory":"Select a category","room.enterNote":"Enter any additional notes","room.total":"Total {n} rooms","course.createData":"Create Data","course.updateData":"Update Data","course.courseId":"Course ID","course.courseIdExt":"Course ID Extend","course.classId":"Class ID","course.addClassId":"Add class ID","course.teacherEmails":"Teacher Emails","course.saved":"Data saved successfully!","course.saveFailed":"Failed to save the data.","course.validationFailed":"Validation failed. Please try again.","course.unexpectedError":"An unexpected error occurred. Please try again.","users.title":"Users","users.totalAccounts":"{n} total accounts","users.addUser":"Add User","users.editUser":"Edit User","users.import":"Import from CSV / Excel","users.name":"Name","users.email":"Email","users.admin":"Admin","users.confirmDelete":"Delete this user?"}},i=(0,a.createContext)({lang:"vi",setLang:()=>{},t:e=>e}),s="physoom-lang";function c(e){let{children:o}=e,[t,c]=(0,a.useState)("vi"),[h,l]=(0,a.useState)(!1);(0,a.useEffect)(()=>
1{l(!0);try{let e=localStorage.getItem(s);("vi"===e||"en"===e)&&c(e)}catch(e){}},[]);let m=(0,a.useCallback)(e=>{c(e);try{localStorage.setItem(s,e)}catch(e){}},[]),d=(0,a.useCallback)((e,o)=>{var n,a;let i=null!==(a=null!==(n=(r[t]||r.en)[e])&&void 0!==n?n:r.en[e])&&void 0!==a?a:e;if(o)for(let[e,t]of Object.entries(o))i=i.replace(RegExp("\\{".concat(e,"\\}"),"g"),String(t));return i},[t]);return(0,n.jsx)(i.Provider,{value:{lang:h?t:"vi",setLang:m,t:d},children:o})}function h(){return(0,a.useContext)(i)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.