PageSourceSearch

https://admin.hostmeapp.com/assets/ko--1xajMJG.js

js hostmeapp.com collected 2026-10-01 10:45:15 UTC 190,651 bytes, 1 lines download raw bytes

1const e={signIn:"로그인",signUp:"회원가입",welcome:"Hostme에 다시 오신 것을 환영합니다",email:"이메일",emailPlaceholder:"you{'@'}restaurant.com",password:"비밀번호",passwordPlaceholder:"비밀번호를 입력하세요",createPasswordPlaceholder:"비밀번호를 만드세요 (6자 이상)",fillAllFields:"모든 항목을 입력해 주세요",invalidCredentials:"이메일 또는 비밀번호가 올바르지 않습니다",connectionError:"연결 오류가 발생했습니다. 다시 시도해 주세요.",signingIn:"로그인 중…",forgotPassword:"비밀번호를 잊으셨나요?",forgotPasswordTitle:"비밀번호 재설정",forgotPasswordHint:"계정에 등록된 이메일을 입력하시면 비밀번호 재설정 링크를 보내 드립니다.",sendResetLink:"재설정 링크 보내기",resetEmailSent:"메일함을 확인해 주세요",resetEmailSentHint:"{email} 계정이 있다면 방금 재설정 링크를 보냈습니다. 링크는 1시간 후 만료됩니다.",backToSignIn:"로그인으로 돌아가기",resetPasswordTitle:"새 비밀번호 설정",resetPasswordHint:"이전에 사용한 적 없는 안전한 비밀번호를 선택하세요.",newPassword:"새 비밀번호",confirmPassword:"비밀번호 확인",confirmPasswordPlaceholder:"새 비밀번호를 다시 입력하세요",passwordMismatch:"비밀번호가 일치하지 않습니다",passwordTooShort:"비밀번호는 6자 이상이어야 합니다",resetPassword:"비밀번호 변경",resetting:"저장 중…",invalidResetLink:"재설정 링크가 유효하지 않거나 만료되었습니다. 새로 요청해 주세요.",resetSuccess:"비밀번호가 변경되었습니다. 새 비밀번호로 로그인해 주세요.",alreadyHaveAccount:"이미 계정이 있으신가요?",noAccount:"계정이 없으신가요?",enterEmail:"이메일 입력",verifyEmail:"이메일 인증",createAccount:"계정 만들기",yourRestaurant:"레스토랑 정보",welcomeSubtitle:"시작하려면 첫 레스토랑을 등록해 주세요.",signOut:"로그아웃",stepOf:"{total}단계 중 {step}단계",continue:"계속",sending:"전송 중…",confirmationSent:"6자리 코드를 보낸 주소:",codeValidFor:"코드는 {minutes}분 동안 유효합니다.",invalidCode:"코드가 올바르지 않습니다. 다시 시도해 주세요.",invalidCodeWithAttempts:"코드가 올바르지 않습니다. {attempts}회 남았습니다.",codeExpired:"코드가 만료되었습니다. 새 코드를 요청해 주세요.",tooManyAttempts:"시도 횟수를 초과했습니다. 새 코드를 요청해 주세요.",emailAlreadyRegistered:"이미 가입된 이메일입니다. 로그인을 시도해 주세요.",rateLimitReached:"요청이 너무 많습니다. 잠시 후 다시 시도해 주세요.",emailProviderDown:"지금은 메일을 보낼 수 없습니다. 잠시 후 다시 시도해 주세요.",invalidRegistrationToken:"인증이 만료되었습니다. 처음부터 다시 시작해 주세요.",validationFailed:"다음 항목을 확인해 주세요:",fieldRequired:"필수 항목입니다: {field}",resendEmail:"다시 보내기",resendEmailCountdown:"다시 보내기 ({seconds}초)",fullName:"성명",fullNamePlaceholder:"홍길동",firstName:"이름",firstNamePlaceholder:"길동",lastName:"성",lastNamePlaceholder:"홍",phone:"전화번호",phonePlaceholder:"+82 10 1234 5678",yourPhone:"전화번호",job:"레스토랑에서의 역할",jobPlaceholder:"총지배인",invalidPhone:"전화번호를 확인해 주세요 — 번호를 인식하지 못했습니다.",howDidYouHear:"Hostme를 어떻게 알게 되셨나요?",optional:"선택",select:"선택...",googleSearch:"Google 검색",socialMedia:"소셜 미디어",referral:"지인 추천",eventConference:"행사 / 컨퍼런스",other:"기타",creatingAccount:"계정 생성 중…",restaurantName:"레스토랑 이름",restaurantNamePlaceholder:"우리 레스토랑",address:"주소",addressPlaceholder:"서울시 중구 을지로 30",language:"언어",website:"웹사이트",websitePlaceholder:"https://myrestaurant.com",creatingRestaurant:"레스토랑 생성 중…",finishSetup:"설정 완료",joinYourTeam:"팀에 참여하기",invitedTo:"초대받은 레스토랑: {restaurant}
1",invalidInviteLink:"초대 링크가 올바르지 않습니다. 팀에 초대를 다시 보내 달라고 요청해 주세요.",inviteExpired:"초대가 만료되었거나 더 이상 유효하지 않습니다.",inviteVerifyFailed:"초대를 확인하지 못했습니다. 다시 시도해 주세요.",goToSignIn:"로그인하기",yourNamePlaceholder:"이름",joining:"참여 중…",joinTeam:"팀 참여"},t={operations:"운영",guests:"고객",growth:"마케팅",management:"관리",account:"계정",home:"홈",dashboard:"대시보드",reservations:"예약",floorTables:"홀과 테이블",orderingMenu:"주문과 메뉴",guestManagement:"고객 관리",messaging:"메시지",campaigns:"캠페인",events:"이벤트",marketing:"마케팅",onlinePresence:"온라인 채널",analytics:"분석",settings:"설정",integrations:"연동",administration:"관리자",help:"도움말",collapseSidebar:"사이드바 접기",expandSidebar:"사이드바 펼치기",selectRestaurant:"레스토랑 선택"},a={profile:"프로필",language:"언어",notifications:"알림",contactSupport:"문의하기",helpCenter:"도움말 센터",darkMode:"다크 모드",on:"켜짐",off:"꺼짐",signOut:"로그아웃"},o={title:"데이터를 불러오지 못했습니다",body:"서버가 응답하지 않아 어떤 매장에 접근할 수 있는지 확인하지 못했습니다. 데이터는 그대로 있으니 잠시 후 다시 시도해 주세요."},i={later:"나중에",next:"다음",back:"이전",start:"시작하기",menuItem:"새 관리자 패널 안내",updated:{title:"Hostme가 업데이트되었습니다",body:"새로운 버전의 관리자 패널입니다. 익숙하게 쓰시던 기능은 모두 그대로 있습니다. 예약, 고객, 좌석 배치도, 설정이 빠짐없이 이전되었고 사라진 데이터는 없습니다. 테이블과 예약, 웨이팅은 이전과 똑같이 호스트 패널에서 관리합니다.",more:"새 관리자 패널 안내"},whatsNew:{title:"새로워진 점",lead:"이전 관리자 패널은 주로 설정을 보관하는 곳이었습니다. 이제는 이곳에서 레스토랑을 운영합니다:",crm:"고객별 방문 이력이 담긴 CRM, 태그와 세그먼트, 마케팅 캠페인과 자동 발송 캠페인, 그리고 내장 분석 기능.",today:"영업 전에 확인하는 오늘의 대시보드: 예약, 총 인원, 테이블 점유율, 그리고 고객 브리핑 — VIP, 생일, 알레르기, 단체 예약.",tools:"새로워진 좌석 배치도 편집기: 스케치나 사진으로 배치도를 만들고, 테이블을 한 번에 수정하고, 데코 라이브러리를 살펴보고, 휴대폰으로도 작업할 수 있습니다.",languages:"관리자 패널이 22개 언어를 지원합니다 — 직원마다 각자의 언어로 일합니다.",ui:"새로워진 인터페이스, 22개 언어, 그리고 기본으로 켜져 있는 다크 모드.",theme:"다크 모드가 새로 생겼고 기본으로 켜져 있습니다 — 라이트 모드는 한 번만 누르면 됩니다.",themeToggle:"다크 모드",week:"새로워진 Hostme 관리자 패널에 담긴 여러 개선 사항 중 일부입니다. 직접 사용해 보시고 더 똑똑하고 편리해진 레스토랑 관리를 경험해 보세요."},help:{title:"잘 모르겠다면",body:"검색으로 어떤 설정이든 그에 대한 안내를 찾을 수 있고, 모든 설정에는 도움말 문서나 가이드 링크가 있습니다.",support:"잘 되지 않는 게 있나요? 저희에게 알려 주세요. 언제든 도와드리겠습니다.",classicLead:"기존 관리자 패널이 더 편하신가요? 연말까지 사용하실 수 있습니다:"}},s={en:"영어",ru:"러시아어",uk:"우크라이나어",es:"스페인어",de:"독일어",fr:"프랑스어",pt:"포르투갈어",it:"이탈리아어",pl:"폴란드어",sv:"스웨덴어",da:"덴마크어",sr:"세르비아어",bn:"벵골어",zh:"중국어"},n={title:"대시보드",errors:{noRestaurant:"선택된 레스토랑이 없습니다",loadFailed:"대시보드 데이터를 불러오지 못했습니다"},allClear:"모두 정상 — 확인할 항목이 없습니다",actionItems:"확인이 필요한 항목",timeline:"오늘의 타임라인",timelineOther:"타임라인",coversByHour:"시간대별 인원",reservationsToday:"예약",coversToday:"총 인원",waitlistNow:"웨이팅",tablesOccupied:"테이블",trend:"7일 추이",covers:"총 인원",reservations:"예약",noShows:"노쇼",noTrendData:"최근 7일간 예약 데이터가 없습니다",quickActions:"빠른 작업",resetRotation:"홀 직원 순환 초기화",unseatAll:"모든 테이블 비우기",newReservation:"새 예약",availability:"예약 가능 시간",openHostPanel:"호스트 패널 열기",confirmResetRotation:"홀 직원 순환을 초기화할까요?",confirmUnseatAll:"모든 테이블을 비울까요?",resetRotationDesc:"이 레스토랑의 홀 직원 순환 카운터가 초기화됩니다.",unseatAllDesc:"현재 사용 중인 테이블이 모두 비워집니다.",confirm:"확인",processing:"처리 중...",rotationReset:"홀 직원 순환을 초기화했습니다",allTablesReleased:"모든 테이블을 비웠습니다",actionFailed:"작업에 실패했습니다",unconfirmedReservations:"미확정 예약 {count}건",pendingDeposits:"대기 중인 예약금 {count}건",campaignFinished:"'{name}' 캠페인이 종료되었습니다 — 리포트 보기",campaignsFinished:"종료된 캠페인 {count}건 — 리포트 보기",disableReservations:"온라인 예약 중지",confirmDisableReservations:"온라인 예약을 중지할까요?",disableReservationsDesc:"제한된 시간대의 새 예약이 차단됩니다. 고객은 제한 시간 이후나 다른 날짜로는 계속 예약할 수 있습니다. 기존 예약은 영향을 받지 않습니다.",disable:"중지",disableUntilEndOfDay:"오늘 영업 종료까지",disableUntilTime:"특정 시각까지",restrictionsEnabled:"온라인 예약을 중지했습니다",restrictionsRemoved:"온라인 예약을 다시 시작했습니다",enableReservations:"온라인 예약 재개",reservationsDisabledTitle:"온라인 예약이 중지되었습니다",restrictionDescEndOfDay:"오늘 영업 종료까지 예약이 중지되어 있습니다",restrictionDescUntilTime:"오늘 {time}까지 예약이 중지되어 있습니다",confirmEnableReservations:"온라인 예약을 다시 시작할까요?",confirmEnableReservationsDesc:"현재 제한이 해제되고 고객이 다시 온라인으로 예약할 수 있게 됩니다.",statusOpen:"영업 중",statusClosed:"영업 종료",bookingActive:"온라인 예약 가능",bookingRestricted:"온라인 예약 제한됨",bookingClosed:"온라인 예약 마감",bookingClosedForToday:"오늘 온라인 예약이 마감되었습니다",dateNav:{today:"오늘",selectDate:"날짜 선택",previousDay:"이전 날",nextDay:"다음 날"},export:{title:"선택한 날짜의 예약 내보내기",button:"내보내기",time:"시간",guest:"고객",party:"인원",table:"테이블",status:"상태",source:"예약 경로",deposit:"예약금",tags:"태그",notes:"메모"}
1,onboarding:{title:"시작하기",subtitle:"오늘 바로 시작하세요",description:"아래 단계를 완료하시면 Hostme가 알아서 일해 드립니다!",tileBadge:"시작하기",tileProgress:"{total}단계 중 {done}단계 완료",tileProgressNone:"레스토랑을 준비해 볼까요",tileCta:"설정 계속하기",tileCtaStart:"설정 시작하기",tileDismissAria:"시작 안내 숨기기",modalIntro:"레스토랑 설정을 마무리해 주세요. 각 단계는 몇 분이면 끝나며, 중단한 곳부터 이어서 진행할 수 있습니다.",watchTutorials:"사용법 영상 보기",scheduleDemo:"데모 신청하기",scheduleDemoUrl:"https://www.hostmeapp.com/request-demo",stepStatusComplete:"완료",stepStatusPending:"진행 전",stepOpenCta:"열기",stepHelpCta:"도움말 문서",dismissBtn:"다시 보지 않기",dismissError:"설정을 저장하지 못했습니다. 다시 시도해 주세요.",dismissConfirmTitle:"시작하기 체크리스트를 숨길까요?",dismissConfirmMessage:"설정 → 인터페이스에서 언제든지 다시 표시할 수 있습니다.",dismissConfirmYes:"네, 숨깁니다",closeBtn:"닫기",allDoneTitle:"준비가 끝났습니다!",allDoneDesc:"모든 시작 단계를 마쳤습니다. 수고하셨습니다.",steps:{restaurantProfile:{title:"레스토랑 프로필 설정",description:"이름, 주소, 전화번호, 로고를 입력하세요 — 예약 위젯과 확인 메시지, Restogram 공개 페이지에 사용됩니다.",timeEstimate:"약 3분"},floorPlan:{title:"좌석 배치도 만들기",description:"좌석 배치도를 만들거나 데모 배치도로 시작하세요. 그래야 예약을 받고 고객을 안내할 수 있습니다.",timeEstimate:"약 10분"},adjustAvailability:{title:"예약 가능 시간 설정",description:"영업시간, 온라인 예약 시간, 타임슬롯을 설정해 준비된 시간에만 예약이 들어오도록 하세요.",timeEstimate:"약 5분"},onlineReservations:{title:"온라인 예약 받기 시작",description:"승인 방식, 예약 가능 인원, 마감 시간을 정해 두면 홀이 바쁜 시간에도 24시간 예약을 받을 수 있습니다.",timeEstimate:"약 5분"},inviteTeam:{title:"팀원 초대",description:"호스트, 매니저 등 직원을 추가해 팀 전체가 하나의 Hostme에서 일하도록 하세요 — 중복 예약도, 어긋난 홀 상황도 없습니다.",timeEstimate:"약 2분"},adjustFloorRules:{title:"홀 규칙 설정",description:"회전율, 테이블 선점 시간, 상태, 배정과 홀 직원 규칙을 설정하세요 — 기본값만 잘 잡아도 테이블 회전율이 15~30% 올라갑니다.",timeEstimate:"약 10분"}}},guestAlerts:{title:"영업 전 고객 알림",subtitle:"오늘 특별히 신경 써야 할 예약",empty:"이번 영업에 특별히 신경 쓸 고객은 없습니다.",unknownGuest:"고객",categoryVip:"VIP",categoryBirthday:"생일",categoryLarge:"단체",categoryAllergy:"알레르기",categoryVegetarian:"채식",categoryEvent:"행사",tabs:{all:"전체 중요",vip:"VIP",birthdays:"생일",largeParties:"단체",allergies:"알레르기",events:"행사"},party:"{count}명",partyOne:"1명",table:"{table}번 테이블",birthdayDetail:"오늘 생일",largePartyDetail:"{count}명 단체",allergyDetail:"알레르기: {list}",vegetarianDetail:"채식",eventDetail:"행사 예약"}},r={title:"프로필",tabProfile:"프로필",tabPassword:"비밀번호",fullName:"성명",email:"이메일",phone:"전화번호",phonePlaceholder:"+82 10 0000 0000",nameRequired:"이름을 입력해 주세요",emailRequired:"이메일을 입력해 주세요",profileUpdated:"프로필을 저장했습니다",updateFailed:"프로필을 저장하지 못했습니다",saving:"저장 중...",changePassword:"비밀번호 변경",currentPassword:"현재 비밀번호",newPassword:"새 비밀번호",newPasswordPlaceholder:"6자 이상",confirmNewPassword:"새 비밀번호 확인",showPassword:"비밀번호 표시",hidePassword:"비밀번호 숨기기",currentPasswordRequired:"현재 비밀번호를 입력해 주세요",passwordMinLength:"새 비밀번호는 6자 이상이어야 합니다",passwordsMismatch:"비밀번호가 일치하지 않습니다",passwordChanged:"비밀번호를 변경했습니다",passwordChangeFailed:"비밀번호를 변경하지 못했습니다",changing:"변경 중...",deleteAccount:"계정 삭제",phoneAlreadyExists:"이미 다른 계정에서 사용 중인 전화번호입니다.",phoneInvalid:"올바른 전화번호를 입력해 주세요."},l={title:"계정 삭제",warningIntro:"계정을 삭제하면 접근 권한이 영구히 사라지며 되돌릴 수 없습니다. 혼자 소유하고 계신 레스토랑은 함께 삭제됩니다.",passwordLabel:"비밀번호로 확인",passwordPlaceholder:"비밀번호",passwordRequired:"확인을 위해 비밀번호를 입력해 주세요.",confirmButton:"내 계정 삭제",deleting:"삭제 ì
1¤‘…",wrongPassword:"비밀번호가 올바르지 않습니다.",failed:"계정을 삭제하지 못했습니다. 다시 시도해 주세요.",blockedIntro:"아래 항목이 해결되어야 계정을 삭제할 수 있습니다:",reasonActiveSubscription:"소유하신 레스토랑 중 하나에 이용 중인 구독이 있습니다. 계정을 삭제하기 전에 구독을 해지해 주세요.",reasonSoleOwner:"팀원이나 데이터가 남아 있는 레스토랑의 유일한 소유자입니다. 소유권을 넘기거나 레스토랑을 삭제해 주세요.",blockedHint:"소유자와 팀원 관리는 관리자 → 팀에서, 구독은 결제 메뉴에서 할 수 있습니다."},d={title:"알림",soundAlertsFor:"소리로 알릴 항목",storedPerDevice:"기기별로 저장됩니다.",browserBlocked:"브라우저가 알림을 차단하고 있습니다. 브라우저 설정에서 허용해 주세요.",pushNotifications:"푸시 알림",tabSounds:"소리",enableAlerts:"이 기기에서 알림 받기",pushAllVenues:"모든 레스토랑의 알림이 옵니다. 필요 없는 곳은 꺼 주세요.",pushBlockedApp:"휴대폰 설정에서 알림이 꺼져 있습니다. 알림을 받으려면 켜 주세요.",pushNotAsked:"아직 알림이 켜져 있지 않습니다. 휴대폰 설정에서 켜 주세요.",openPhoneSettings:"설정 열기",newReservation:"새 예약",newWaitlist:"새 웨이팅 등록",newOrder:"새 주문",guestMessage:"고객 메시지",checkInStatus:"체크인 상태",incomingCall:"수신 전화",pushTypesTitle:"어떤 알림을 받을지",pushTypesHint:"이 기기에 적용되며, 모든 레스토랑에 동일하게 적용됩니다.",pushTypesFailed:"저장하지 못했습니다. 다시 시도해 주세요.",pushTypes:{reservation:{new:"새 예약",request:"예약 요청",changed:"예약 변경",canceled:"예약 취소",reminder:"예약 리마인더"},order:{new:"새 주문",changed:"주문 변경",canceled:"주문 취소",reminder:"주문 리마인더"},lead:{new:"웹사이트 신규 문의"},message:{new:"고객 메시지"}},tabVenues:"레스토랑",tabTypes:"종류",pushPickVenues:"이 기기에서 알림을 받을 레스토랑을 선택하세요.",typesNeedVenue:"알림이 켜진 레스토랑이 아직 없습니다 — 「레스토랑」 탭에서 켜 주세요."},c={title:"검색 (⌘K)",placeholder:"페이지, 설정 검색…",noResults:"검색 결과가 없습니다",system:"관리",openHelp:"도움말 센터 열기",helpGroup:"도움말 센터"},u={titleToday:"구독이 오늘 종료됩니다",title:"구독이 {n}일 후 종료됩니다 | 구독이 {n}일 후 종료됩니다",endsOn:"{date} 종료",reactivate:"재개"},p={alphaBadge:"Alpha",comingSoon:"'{tab}' 내용은 ê³§ 제공됩니다",dismiss:"숨기기",minutes:"분",days:"일",distanceMi:"마일",distanceKm:"km",monthNames:{1:"1월",2:"2월",3:"3월",4:"4월",5:"5월",6:"6월",7:"7월",8:"8월",9:"9월",10:"10월",11:"11월",12:"12월"},guests:"명",remove:"제거",done:"완료",more:"더보기",default:"기본값",retry:"다시 시도",discard:"되돌리기",saved:"저장됨",saveChanges:"변경 사항 저장",unlimited:"무제한",moveUp:"위로 이동",moveDown:"아래로 이동",cancel:"취소",clear:"지우기",reset:"초기화",noColor:"색상 없음",moreColors:"다른 색상",resetTo:"기본 색상으로 초기화: {color}",create:"만들기",save:"저장",add:"추가",back:"이전",next:"다음",saving:"저장 중…",settingsSaved:"설정을 저장했습니다",free:"무료",month:"월",verify:"확인",verifying:"확인 중…",close:"닫기",on:"켜짐",off:"꺼짐",submitRequest:"요청 보내기",requestSent:"요청을 보냈습니다",preview:"미리보기",buyNow:"구매하기",request:"요청",sendVerification:"인증 보내기",copy:"복사",copied:"복사했습니다!",selectDate:"날짜를 선택하세요",expiredBadge:"만료됨",loading:"불러오는 중…",open:"열기",change:"변경",current:"현재",edit:"편집",rename:"이름 변경",delete:"삭제",insert:"삽입",apply:"적용",dragToReorder:"끌어서 순서 변경",unsavedChangesTitle:"저장하지 않은 변경 사항",unsavedChangesMessage:"이 페이지에 저장하지 않은 변경 사항이 있습니다. 저장하거나 되돌리거나, 그대로 남아 편집을 이어갈 수 있습니다.",saveAndLeave:"저장하고 나가기",discardAndLeave:"되돌리고 나가기",stayOnPage:"페이지에 머물기",discardChangesMessage:"입력한 내용은 저장되지 않습니다.",tierBadge:{requires:"{tier} 요금제 필요",included:"{tier} 요금제에 포함",grandeFeatureHint:"이 기능은 Grande 요금제에서 사용할 수 있습니다. 구독을 업그레이드하면 고객에게 제공할 수 있습니다.",clickToUpgrade:"눌러서 업그레이드",tiers:{grande:"Grande",pro:"Pro",premium:"Premium",enterprise:"Enterprise",basic:"Basic",piccolo:"Piccolo",medio:"Medio"}},upgradeModal:{grande:{title:"{tier} 기능 사용하기",titleWithFeature:"{tier} 요금제로 '{feature}' 사용하기",intro:"현재 요금제에는 이 기능이 없습니다. {tier} 요금제로 변경하시면 이 기능은 물론 해당 요금제에 포함된 모든 기능을 사용할 수 있습니다.",perks:["맞춤 예약 상태와 고객 응대 흐름","로고와 브랜드 색상을 입힌 위젯, 이메일, SMS","사전 주문, 맞춤 주문 상태, 고급 정책 설정","이메일 알림 전체 맞춤 설정과 프로모션 템플릿","우선 지원과 전담 도ìž
1… 안내"],ctaOwner:"요금제 선택",ctaOwnerHint:"결제 메뉴의 요금제 목록이 열립니다."},noSubscription:{title:"이용 중인 구독이 없습니다",intro:"현재 레스토랑에 이용 중인 구독이 없어 유료 기능(이벤트 포함)이 꺼져 있습니다. 요금제를 선택하시면 Hostme의 모든 기능으로 고객을 맞이할 수 있습니다.",perks:["예약, 웨이팅, 테이블 관리","월 한도와 초과 요금이 적용되는 이벤트","여러 채널을 통한 고객 메시지 (이메일, SMS, WhatsApp, Telegram)","온라인 예약 위젯과 Google Reserve 연동","적립 프로그램과 고객 CRM"],ctaOwner:"요금제 선택",ctaOwnerHint:"결제 메뉴의 요금제 목록이 열립니다."},contactOwner:{title:"매니저나 소유자에게 문의해 주세요",intro:"구독과 결제는 Owner, Manager, Support 역할에서 관리합니다. 레스토랑 계정을 담당하는 분에게 어떤 기능이 필요한지 알려 주시면 몇 번의 클릭으로 업그레이드할 수 있습니다.",whatYouUnlock:"{tier} 요금제로 사용할 수 있는 기능:",closeBtn:"알겠습니다"},closeBtn:"나중에",backdropDismiss:"닫기"},gotIt:"알겠습니다",newBadge:"신규"},m={owner:"소유자",manager:"매니저",host:"호스트",kitchen:"주방",marketing:"마케팅",itSupport:"IT 지원",support:"지원"},g={title:"이미지 추가",select:"선택",tab_upload:"업로드",tab_gallery:"갤러리",tab_url:"URL로 추가",clickToUpload:"눌러서 이미지를 선택하세요",uploadAnother:"눌러서 이미지를 더 업로드하세요",uploading:"업로드 중",loadingGallery:"갤러리 불러오는 중",galleryEmpty:"아직 업로드된 이미지가 없습니다",imageUrl:"이미지 URL",imageAlt:"대체 텍스트 (접근성용)"},h={templates:"템플릿",templatesLoading:"템플릿 불러오는 중…",templatesError:"템플릿을 불러오지 못했습니다",templatesEmpty:"저장된 템플릿이 없습니다",blankTemplate:"빈 템플릿 (내용 지우기)",useSimpleEditor:"간단 편집기 사용",htmlPreview:"이메일 미리보기",insertVariable:"변수 삽입",image:"이미지",button:"버튼",link:"링크",source:"코드",preview:"미리보기",color:"기본 색상",insertImage:"이미지 삽입",insertButton:"버튼 삽입",insertLink:"링크 삽입",sourceCode:"HTML 원본",sourceCodeHint:"HTML 원본을 편집합니다. 변경하면 편집기 내용이 대체됩니다.",buttonText:"버튼 문구",linkText:"링크 문구",linkTextPlaceholder:"선택 사항 — 비워 두면 URL이 표시됩니다",linkTextHint:"비워 두면 현재 선택한 텍스트에 링크가 걸립니다.",linkUrl:"URL",buttonColor:"버튼 색상",textColor:"글자 색상",highlightColor:"강조 색상",fontSize:"글자 크기",fontSizeDefault:"크기",primaryColor:"기본 색상",primaryColorHint:"앞으로 삽입되는 버튼과 링크의 색상이 바뀌며, 현재 문서에 이미 있는 버튼 배경색도 함께 바꿉니다.",urlBuilder:"URL 만들기",buildUrl:"URL 생성",urlBuilderHint:"tables.hostmeapp.com 예약 링크를 미리 채워진 상태로 만듭니다.",urlDate:"날짜",urlTime:"시간",urlPersons:"인원",urlArea:"구역",urlMode:"예약 방식",urlModeAuto:"레스토랑 기본 설정",urlModeAutoConfirm:"자동 확정",urlModeRequest:"신청만 받기",urlGenerated:"생성된 URL",urlGeneratedPayload:"생성된 payload",useUrl:"URL 사용",urlBuilderTarget:"예약 대상",urlBuilderTargetRestaurant:"레스토랑",urlAreaAny:"전체",urlBuilderQuickReplyHint:"봇이 인식하는 WhatsApp 빠른 답장 콜백 payload(book?…)를 만듭니다.",imageTab_upload:"업로드",imageTab_gallery:"갤러리",imageTab_url:"URL로 추가",clickToUpload:"눌러서 이미지를 선택하세요",uploadAnother:"눌러서 이미지를 더 업로드하세요",uploading:"업로드 중",loadingGallery:"갤러리 불러오는 중",galleryEmpty:"아직 업로드된 이미지가 없습니다",imageUrl:"이미지 URL",imageAlt:"대체 텍스트 (접근성용)",desktop:"데스크톱",mobile:"모바일",subject:"제목"},b={tabActive:"진행 중",tabDraft:"임시저장",tabPast:"지난 이벤트",createEvent:"이벤트 만들기",noSubscription:{title:"이벤트는 이용 중인 요금제에서 사용할 수 있습니다",description:"테마 디너, 시음회, 라이브 공연 같은 특별한 이벤트를 만들고 고객 예약을 받아 보세요. 구독하시면 이벤트를 사용할 수 있습니다.",cta:"요금제 선택"},editEvent:"이벤트 편집",backToList:"이벤트 목록으로",discardConfirm:"저장하지 않은 변경 사항을 되돌릴까요?",unsavedBadge:"저장하지 않은 변경 사항",unsavedLeaveConfirm:"저장하지 않은 변경 사항이 있습니다. 그래도 페이지를 나갈까요?",requiredField:"필수 항목입니다.",saveDisabledHint:"저장하려면 이벤트 이름과 시작 날짜를 입력해 주세요.",draftHint:"새 이벤트는 임시저장 상태로 만들어집니다. 만든 뒤 편집 화면에서 사진, 테이블 규칙, 예약금 등을 추가하고 준비가 되면 활성화하세요.",editorTabs:{information:"기본 정보",onlineBooking:"온라인 예약",depositsFees:"예약금과 수수료",coverPacing:"고객 흐름",blockedTables:"테이블 차단",tableRules:"테이블 규칙",ordering:"주문",publicPage:"공개 페이지",floorPlans:"좌석 배치도",createOnlyHint:"생성 후 사용 가능"},override:{badge:"이 이벤트에만 적용",description:"여기서 변경한 내용은 이 이벤트에만 적용됩니다. 레스토랑 기본 설정은 그대로 유지됩니다.",viewDefault:"레스토랑 기본 설정 보기"},section:{basicTitle:"이벤트 정보",basicDesc:"고객에게 보이는 공개 이름과 설명입니다.",publicPageTitle:"공개 페이지",publicPageDesc:"레스토랑 페이지에 이벤트를 노출하고 고객용 공개 링크를 공유하세요.",tagsTitle:"태그",tagsDesc:"이벤트 페이지에서 고객에게 보이는 카테고리 태그입니다.",scheduleTitle:"일정",scheduleDesc:"이벤트가 열리는 시간과 예약 가능한 시간대를 지정합니다.",photosMainTitle:"대표 사진",photosMainDesc:"공개 프로필의 이벤트 페이지 상단에 표시되는 대표 이미지입니다.",photosGalleryTitle:"사진 갤러리",photosGalleryDesc:"카테고리별로 묶인 추가 사진입니다. 공개 프로필의 이벤트 갤러리에 표시됩니다.",floorPlansTitle:"좌석 배치도",floorPlansDesc:"이 이벤트에 사용할 좌석 배치도를 선택하세요.",visibilityTitle:"공개 여부와 상태",visibilityDesc:"이벤트를 공개할지, 고객에게 보일지 설정합니다."},eventName:"이벤트 이름",eventNamePlaceholder:"예: 와인 시음회의 ë°¤",description:"설명",descriptionPlaceholder:"이벤트를 설명해 주세요…",tagsLabel:"태그",tagsPlaceholder:"이벤트 태그를 입력하세요",tagsHint:"Enter 또는 쉼표를 누르면 태그가 추가됩니다. 고객이 이벤트를 찾는 데 도움이 됩니다.",startDate:"시작 날짜",endDate:"종료 날짜",startTime:"시작 시간",endTime:"종료 시간",repeatEvent:"매주 반복",repeatEventHint:"한 번의 기간 대신 매주 반복되는 일정을 사용합니다.",weeklySchedule:"주간 일정",weeklyScheduleHint:"이벤트가 열리는 요일마다 시간대를 지정하세요. 시간대가 없는 요일은 휴무로 처리됩니다.",slots:{title:"시간대 설정",hint:"예약을 받지 않는 시간대는 해제하세요.",enableAll:"전체 사용",summaryAll:"전체 {n}개 시간대 사용",summarySome:"{total}개 중 {n}개 시간대 사용"},showOnPublicPage:"레스토랑 페이지에 노출",showOnPublicPageHint:"이 이벤트가 공개 페이지에 표시됩니다",linkToEventPage:"이벤트 페이지 링크",activeEvent:"활ì„
1±",activeEventHint:"비활성화하면 공개하지 않고 임시저장 상태로 보관합니다",makeActive:"활성화",moveToDraft:"비활성화",archive:"보관",duplicate:"다시 열기",duplicateNameSuffix:"(복사본)",archiveHint:"이미 끝난 이벤트입니다. 보관하면 활성 목록에서 사라집니다.",untitled:"이름 없는 이벤트",statusDraft:"임시저장",statusPast:"종료",statusOngoing:"진행 중",statusUpcoming:"예정",statusOutdated:"기한 지남",deleteConfirmTitle:"이벤트 삭제",deleteConfirmMessage:"'{name}' 이벤트를 삭제할까요? 이 작업은 되돌릴 수 없습니다.",emptyActiveTitle:"활성 이벤트가 없습니다",emptyActiveDescription:"첫 이벤트를 만들어 고객을 모아 보세요.",emptyDraftTitle:"임시저장된 이벤트가 없습니다",emptyDraftDescription:"활성화하지 않고 저장하면 여기에 표시됩니다.",emptyPastTitle:"지난 이벤트가 없습니다",emptyPastDescription:"종료일이 지난 이벤트가 여기에 표시됩니다.",pricing:{piccolo:"Piccolo 요금제에서는 이벤트를 사용한 만큼 청구합니다.",mezzo:"Mezzo 요금제는 매월 예정 이벤트 1건을 무료로 포함합니다.",grande:"Grande 요금제는 매월 예정 이벤트 5건을 무료로 포함합니다.",extra:"추가 이벤트는 매월 건당 20 USD(또는 현지 통화 상당액)가 청구됩니다."},usage:{title:"{plan} 요금제",unlimited:"요금제에 이벤트가 무제한으로 포함되어 있습니다.",withinQuota:"이번 기간 {quota}ê±´ 중 {used}ê±´ 사용 · {days}일 후 초기화. 추가 이벤트는 건당 {price}입니다.",overQuota:"{quota}ê±´ 중 {used}ê±´ 사용 · 이번 기간 초과 {overage}ê±´. 예상 추가 요금: {estimated} (건당 {price}). {days}일 후 초기화됩니다."},quotaConfirm:{title:"월 한도를 초과할까요?",body:"이번 청구 기간에 {quota}ê±´ 중 {used}건을 사용했습니다. 이 이벤트를 활성화하면 초과 이벤트로 청구되며, 요금은 {price}입니다.",bodyOver:"이번 기간에 이미 {quota}ê±´ 중 {used}건을 사용했습니다. 이 이벤트를 활성화하면 초과 이벤트가 하나 더 추가되며, 요금은 {price}입니다.",confirm:"그래도 활성화"},gallery:{title:"사진 갤러리",hint:"이벤트 페이지의 공개 갤러리에 표시되는 사진입니다. 카테고리로 섹션(음식, 인테리어 등)을 나눌 수 있습니다.",createHint:"사진을 올리려면 이벤트를 먼저 저장해 주세요.",empty:"아직 사진이 없습니다. 아래에서 첫 사진을 올려 보세요.",upload:"사진 올리기",uploading:"업로드 중…",maxSize:"JPG / PNG, 사진당 최대 3MB.",errorTooLarge:"'{name}' 파일이 3MB 제한을 넘습니다.",categoryNone:"카테고리 선택",categoryPick:"카테고리",categories:{drink:"음료",food:"음식",interior:"인테리어",outdoor:"야외",style:"스타일",other:"기타"}},mainPhoto:{title:"이벤트 대표 사진",hint:"이벤트 공개 페이지 상단의 대표 이미지와 검색 결과의 썸네일로 사용됩니다.",upload:"대표 사진 올리기"}},v=JSON.parse(`{"title":"캠페인","tabCampaigns":"캠페인","tabAutomations":"자동화","tabReports":"리포트","subAll":"전체","subActive":"진행 중","subCompleted":"완료","subDrafts":"임시저장","filterChannelLabel":"채널","filterChannel":{"email":"이메일","sms":"SMS","whatsapp":"WhatsApp"},"filterAllChannels":"전체","filterChannelsSelected":"{count}개 선택","filterClear":"초기화","filterEmptyTitle":"필터에 맞는 캠페인이 없습니다","filterEmptyHint":"다른 채널을 선택하거나 필터를 초기화해 전체 캠페인을 확인하세요.","filterScopeNote":"최근 캠페인에서 검색합니다 — 이전 캠페인을 페이지로 넘겨 보려면 필터를 초기화하세요.","tokens":"토큰","createCampaign":"캠페인 만들기","subscriptionRequired":{"title":"캠페인은 이용 중인 요금제에서 사용할 수 있습니다","description":"이메일, SMS, WhatsApp으로 고객에게 캠페인과 자동 발송을 보내고, 열람과 클릭을 리포트에서 확인하세요. 구독하시면 캠페인 기능 전체를 사용할 수 있습니다.","cta":"요금제 선택"},"editCampaign":"캠페인 편집","sendCampaign":"캠페인 발송","scheduleCampaign":"캠페인 예약","balanceTitle":"잔액","balanceCurrent":"현재 잔액","balanceRefresh":"새로고침","balanceHeldNote":"진행 중인 캠페인에 {count} 보류 중","balancePerChannelMsgs":"ê±´","balancePackagesTitle":"마케팅 캠페인 패키지","balancePackagesEmpty":"지금은 이용 가능한 패키지가 없습니다.","balanceBuy":"패키지 구매","balanceBuying":"결제 페이지 여는 중…","balanceCheckoutNote":"안전한 결제 페이지로 이동합니다. 결제가 끝나면 토큰이 자동으로 충전됩니다.","activateConfirmTitle":"캠페인 활ì„
1±í™”","activateConfirmMessage":"'{name}' 캠페인을 발송할까요?","activateRecipients":"수신자","activateCost":"잔액에서 차감될 금액","activateBalance":"현재 잔액","activateRemaining":"발송 후 잔액","activateInsufficient":"토큰이 부족합니다","activateInsufficientHint":"이 캠페인을 보내려면 잔액을 충전해 주세요.","activateTopUp":"충전","activateConfirmButton":"활성화","testTitle":"테스트 발송","testShort":"테스트","testDescription":"활성화하기 전에 '{name}' 캠페인을 테스트로 보내 내용과 서식을 확인하세요.","testRecipientHint":"테스트 메시지는 계정에 등록된 이메일과 전화번호로 발송됩니다.","testRecipientLabel":"테스트 수신처","testRecipientPlaceholderEmail":"name{'@'}example.com","testRecipientPlaceholderPhone":"+82 10 1234 5678","testRecipientOwnerNote":"계정 연락처를 그대로 두거나 원하는 주소를 입력하세요.","testEstimatedCost":"예상 비용","testSend":"테스트 발송","smsUnicode":"유니코드","smsSegmentsLabel":"SMS 세그먼트","campaignName":"캠페인 이름","campaignNamePlaceholder":"예: 여름 특별 프로모션","selectChannels":"채널","configureChannel":"채널 설정","disabledChannelsWarning":"이 캠페인에는 메시지 → 채널에서 꺼져 있는 채널이 {count}개 있습니다. 채널을 켜기 전까지는 발송되지 않습니다.","language":"언어","step":"{total}단계 중 {current}단계","step_details":"세부 정보","step_content":"내용","step_audience":"대상","step_schedule":"일정","selectChannel":"채널 선택","channelLockedHint":"캠페인을 만든 뒤에는 채널을 변경할 수 없습니다.","disabledChannelLockedHint":"이 마케팅 채널은 아직 설정되지 않았습니다. 발송 전에 {link}에서 제공업체를 설정해 주세요.","disabledChannelLockedHintLink":"연동 → 채널","untitled":"이름 없는 캠페인","saveAndContinue":"저장하고 계속","continue":"계속","discardExit":"저장하지 않고 나가기","cancelCampaign":"캠페인 취소","testSendHint":"캠페인을 활성화하기 전에 본인 연락처로 테스트를 보내 보세요.","emailSubject":"제목","emailSubjectPlaceholder":"예: 회원님만을 위한 특별 혜택…","emailPreheader":"미리보기 문구","emailPreheaderPlaceholder":"메일함에 표시되는 짧은 미리보기 문구","emailHeader":"헤더","emailBody":"본문","emailBodyPlaceholder":"이메일 본문을 작성하세요…","smsText":"SMS 문구","smsTextPlaceholder":"SMS 메시지를 입력하세요…","characters":"자","pushTitle":"알림 제목","pushTitlePlaceholder":"예: 회원님만을 위한 특별 혜택!","pushBody":"알림 내용","pushBodyPlaceholder":"알림에 표시될 메시지…","whatsappText":"WhatsApp 메시지","whatsappTextPlaceholder":"WhatsApp 메시지를 입력하세요…","whatsappTemplateNote":"WhatsApp 메시지는 사전 승인된 템플릿을 사용해야 합니다. 맞춤 템플릿 설정은 지원팀에 문의해 주세요.","whatsappEditor":{"typeLabel":"템플릿 유형","typeCard":"단일 카드","typeCarousel":"캐러셀","typeCardHint":"헤더, 본문, 푸터, 버튼으로 구성된 메시지 하나.","typeCarouselHint":"소개 문구와 넘겨 ë³¼ 수 있는 카드 최대 10장.","headerLabel":"헤더","headerImage":"이미지","headerText":"텍스트","headerImageUrl":"이미지 URL","headerImagePlaceholder":"https://…/image.jpg","headerTextPlaceholder":"헤더 문구","bodyLabel":"본문","bodyPlaceholder":"안녕하세요, 저희 레스토랑에서 테이블을 예약해 보세요 — 변수는 선택기에서 삽입하세요.","footerLabel":"푸터","footerPlaceholder":"예: 수신 거부하려면 STOP이라고 답장하세요","introLabel":"소개 메시지","introPlaceholder":"최신 혜택을 확인하세요 — 변수는 선택기에서 삽입하세요.","buttonsLabel":"버튼","addButton":"버튼 추가","buttonType":"유형","buttonTitle":"버튼 문구","buttonTypeQuickReply":"빠른 답장","buttonTypeUrl":"웹사이트 열기","buttonTypePhone":"전화 걸기","buttonUrl":"URL","buttonUrlPlaceholder":"https://…","buttonPhone":"전화번호","buttonPhonePlaceholder":"+12025551234","buttonCode":"Callback payload","buttonCodePlaceholder":"book?r=…&t=…","buildUrl":"URL 생성","removeButton":"제거","cardsLabel":"카드","addCard":"카드 추가","card":"카드 {n}","removeCard":"카드 제거","cardTitle":"제목","cardTitlePlaceholder":"예: 재즈의 ë°¤","cardBody":"설명","cardBodyPlaceholder":"예: 6월 14일 금요일, 20:00","cardImageUrl":"이미지 URL","cardImageLabel":"이미지","syncButtons":"버튼 복사","syncButtonsHint":"캐러셀의 모든 카드는 같은 버튼을 가져야 합니다 — 개수와 유형이 같고 순서도 같아야 합니다.","previewEmpty":"여기에 WhatsApp 메시지 미리보기가 표시됩니다.","approvalNote":"WhatsApp은 모든 템플릿의 승인을 요구합니다. 저장하면 이 템플릿이 WhatsApp 검수로 전송되며, 승인된 뒤에 캠페인을 시작할 수 있습니다.","errors":{"MEDIA_OR_HEADER_REQUIRED":"헤더 이미지나 헤더 문구를 추가해 주세요.","MEDIA_AND_HEADER_CONFLICT":"이미지와 텍스트 헤더 중 하나만 사용하세요.","BODY_REQUIRED":"본문을 입력해 주세요.","BODY_TOO_LONG":"본문은 {max}자 이하여야 합니다.","FOOTER_TOO_LONG":"푸터는 {max}자 이하여야 합니다.","HEADER_TEXT_TOO_LONG":"헤더 문구는 {max}자 이하여야 합니다.","INVALID_VARIABLE_PLACEMENT":"변수 앞뒤에 텍스트를 넣어 주세요 — 변수로 시작하거나 끝날 수 없고, 변수 두 개를 붙여 쓸 수 없습니다.","TOO_MANY_BUTTONS":"버튼은 최대 {max}개까지 가능합니다.","TOO_MANY_URL_BUTTONS":"링크 버튼은 최대 {max}개까지 가능합니다.","BUTTON_TITLE_REQUIRED":"버튼 문구를 입력해 주세요.","BUTTON_TITLE_TOO_LONG":"버튼 문구는 {max}자 이하여야 합니다.","QUICK_REPLY_PAYLOAD_REQUIRED":"빠른 답장에 사용할 callback payload를 추가해 주세요.","URL_REQUIRED":"URL을 입력해 주세요.","URL_INVALID":"올바른 http(s) URL을 입력해 주세요.","PHONE_REQUIRED":"전화번호를 입력해 주세요.","PHONE_INVALID":"E.164 형식으로 전화번호를 입력해 주세요 (예: +12025551234).","AT_LEAST_1_CARD":"카드를 최소 한 장 추가해 주세요.","MAX_10_CARDS":"카드는 최대 {max}장까지 가능합니다.","CARD_MEDIA_REQUIRED":"카드마다 이미지가 필요합니다.","CARD_TITLE_REQUIRED":"카드 제목을 입력해 주세요.","CARD_TITLE_TOO_LONG":"카드 제목은 {max}자 이하여야 합니다.","CARD_BODY_REQUIRED":"카드 설명을 입력해 주세요.","CARD_BODY_TOO_LONG":"카드 설명은 {max}자 이하여야 합니다.","CAROUSEL_BUTTONS_COUNT_MISMATCH":"이 카드의 버튼 개수는 카드 1ê³¼ 같아야 합니다 ({expected}개).","CAROUSEL_BUTTONS_TYPE_MISMATCH":"이 카드의 버튼 유형은 카드 1ê³¼ 순서까지 같아야 합니다."}},"whatsappTemplateStatus":{"label":"WhatsApp 템플릿","unsubmitted":"미제출","pending":"검수 중","received":"검수 중","approved":"승인됨","rejected":"거부됨","paused":"일시 중지","disabled":"사용 중지","unknown":"알 수 없음","unsubmittedDesc":"이 템플릿은 아직 검수에 제출되지 않았습니다. 임시저장하면 WhatsApp으로 제출됩니다.","pendingDesc":"WhatsApp이 이 템플릿을 검수하고 있습니다. 승인되면 캠페인을 활성화할 수 있습니다.","receivedDesc":"제공업체가 접수했으며 WhatsApp 검수를 기다리고 있습니다.","approvedDesc":"WhatsApp 승인 완료 — 이 캠페인을 활성화할 수 있습니다.","rejectedDesc":"WhatsApp이 이 템플릿을 거부했습니다. 내용을 수정하고 저장하면 다시 제출됩니다.","pausedDesc":"WhatsApp이 이 템플릿을 일시 중지했습니다 (품질 문제인 경우가 많습니다). 수정 후 다시 제출해 주세요.","disabledDesc":"이 템플릿은 WhatsApp에서 영구적으로 사용 중지되었습니다. 새 템플릿을 만들어 주세요.","unknownDesc":"템플릿 상태를 확인할 수 없습니다.","blockedHint":"템플릿이 승인되기 전까지는 이 WhatsApp 캠페인을 보낼 수 없습니다."}
1,"personalizationVars":"사용 가능한 변수","audienceTitle":"세그먼트","audienceDescription":"이 캠페인은 선택한 채널이 켜져 있는 모든 레스토랑 고객에게 발송됩니다.","audienceSegmentHint":"고급 세그먼트 빌더는 곧 제공됩니다. 현재는 조건에 맞는 모든 연락처로 발송됩니다.","presetsTitle":"빠른 설정","presetsHint":"시작점을 선택하세요.","audienceAllGuests":"전체 고객","audienceAllGuestsHint":"필터 없음 — 조건에 맞는 모든 연락처가 이 캠페인을 받습니다.","audienceAllGuestsInline":"전체 고객 — 필터 없이 조건에 맞는 모든 연락처.","editFilters":"필터 수정","editFiltersShort":"수정","openBuilder":"빌더 열기","clearSegment":"초기화","previewRecipients":"수신자","recipientsUnit":"명","tokensUnit":"토큰","tokensUnitShort":"토큰","previewCost":"예상 비용","spentCost":"사용함","previewLoading":"계산 중…","previewError":"계산하지 못했습니다. 다시 시도해 주세요.","previewNeedsChannel":"1단계에서 채널을 선택하면 예상 비용이 표시됩니다.","viewSegmentInGuestBook":"이 고객들을 고객 명부에서 보기","viewSegmentInGuestBookShort":"고객 명부에서 보기","tokenBalance":"토큰 잔액","balanceTotal":"전체","balanceHeld":"보류","balanceAvailable":"사용 가능","sendNow":"즉시 발송","sendNowHint":"캠페인이 바로 발송을 시작합니다","scheduleLater":"예약 발송","scheduleLaterHint":"발송할 날짜와 시간을 선택하세요","scheduleDate":"날짜","scheduleTime":"시간","emptyCampaigns":"아직 캠페인이 없습니다","emptyCampaignsHint":"첫 캠페인을 만들어 고객과 소통을 시작하세요.","emptyAutomations":"아직 자동화가 없습니다","emptyAutomationsHint":"자동 메시지는 예약, 방문, 후기 같은 고객 행동에 따라 발송됩니다.","deleteConfirmTitle":"캠페인 삭제","deleteTriggerTitle":"자동화 삭제","deleteConfirmMessage":"'{name}' 항목을 삭제할까요? 이 작업은 되돌릴 수 없습니다.","statusDraft":"임시저장","statusActive":"활성","statusInProgress":"발송 중","statusFinished":"완료","statusCanceled":"취소됨","statusTesting":"테스트 중","statusScheduled":"예약됨","statusFailed":"실패","statusTrigger":"트리거","triggerBookingCreated":"예약 생성","triggerBookingReminder":"예약 리마인더","triggerBookingCanceled":"예약 취소","triggerBookingCompleted":"방문 완료","triggerBirthday":"생일","triggerFeedback":"후기 요청","triggerWinBack":"재방문 유도","triggerCustom":"맞춤 트리거","triggerActive":"활성","triggerInactive":"비활성","sent":"발송","sentShort":"발송","delivered":"전달","opened":"열람","clicked":"클릭","bounced":"반송","undelivered":"미전달","spam":"스팸","failed":"실패","bookings":"예약","deliveryRate":"전달률","openRate":"열람률","clickRate":"클릭률","reportsOverview":"개요","reportsScopeNote":"최근 캠페인을 표시합니다 — 이전 캠페인은 아직 이 합계에 포함되지 않습니다.","reportsTotalCampaigns":"전체 캠페인","reportsTotalSent":"총 발송","reportsCampaignDetail":"리포트","reportsSelectCampaign":"캠페인을 선택하세요…","reportsSelectPrompt":"위에서 캠페인을 선택하면 상세 리포트가 표시됩니다.","reportsFunnel":"전달 퍼널","reportsDetailed":"상세 내역","reportsChannelBreakdown":"채널별","reportsComparison":"전체 캠페인","reportsColCampaign":"캠페인","reportsColDate":"날짜","reportsExportCsv":"내보내기","reportsExportCampaignCsv":"내보내기","reportsUniqueTotalHint":"열람·클릭 열은 고유 / 전체 순으로 표시됩니다. 비율은 고유 수신자 기준입니다.","reportsTotalLabel":"전체 {n}","reportsSentLabel":"{n} 발송","reportsCampaignsCount":"캠페인 {n}개","reportsBounced":"반송","reportsUndelivered":"미전달","reportsSpam":"스팸","reportsFailed":"실패","reportsEmpty":"완료된 캠페인이 없습니다","reportsEmptyHint":"캠페인 발송이 끝나면 리포트가 여기에 표시됩니다.","reportsFilterEmpty":"필터에 맞는 캠페인이 없습니다","reportsFilterEmptyHint":"다른 캠페인 유형이나 채널을 선택하거나 필터를 초기화하세요.","reportsT
1ypeLabel":"유형","reportsColType":"유형","reportsTypeAll":"전체","reportsTypeCampaigns":"캠페인","reportsTypeAutomations":"자동화","reportsTypeCampaign":"캠페인","reportsTypeAutomation":"자동화","reportsTypeAutomationShort":"자동","created":"생성일","recipients":"명","scheduledFor":"예약됨","sentOfPlanned":"{planned}ê±´ 중 {sent}ê±´ 발송","sendsImmediately":"즉시 발송","sendsImmediatelyShort":"즉시","sentOn":"발송일","sendTiming":"발송 시점","saveError":"캠페인을 저장하지 못했습니다. 다시 시도해 주세요.","saveErrorNoSubscription":"레스토랑에 이용 중인 구독이 없습니다. 캠페인을 저장하고 보내려면 관리자 → 결제에서 구독을 시작해 주세요.","start":"시작","activateMissingContent":"시작하려면 메시지 내용을 입력해 주세요","activateMissingContentHint":"내용이 없는 채널: {channels}. 캠페인을 열어 선택한 채널마다 메시지를 채워 주세요.","activateNoChannels":"채널을 하나 이상 선택해 주세요","activateNoChannelsHint":"시작하기 전에 캠페인을 열어 이메일, SMS, WhatsApp 중 하나를 선택해 주세요.","send":"발송","duplicate":"복제","viewReport":"리포트","moreActions":"작업","searchPlaceholder":"이름으로 캠페인 검색…","searchPlaceholderShort":"캠페인 검색…","searchClear":"검색 지우기","colName":"캠페인","colUpdated":"최근 수정","colStatus":"상태","colChannel":"채널","colSegment":"수신자","colSchedule":"날짜","colActions":"","statsSent":"발송","statsDelivered":"전달","statsOpened":"열람","triggerUnknown":"알 수 없는 트리거","triggerNoShow":"노쇼","triggerPostVisit":"방문 후","triggerInactivity":"미방문 기간","triggerNewGuest":"신규 고객","createAutomation":"자동화 만들기","editAutomation":"자동화 편집","automationsDescription":"고객이 예약하거나, 방문하거나, 노쇼하거나, 후기를 남기거나, 한동안 오지 않을 때 자동으로 메시지를 보냅니다.","automationsAlphaTitle":"자동화 — Alpha","automationsAlphaHint":"자동화는 아직 알파 단계이며 활발히 테스트 중입니다. 트리거와 조건을 계속 추가하고 있으니 변경이 있을 수 있으며, 문제가 있으면 알려 주세요.","channelEmail":"이메일","channelSms":"SMS","channelWhatsapp":"WhatsApp"}`),y={createTitle:"자동화 만들기",editTitle:"자동화 편집",step_trigger:"트리거",step_content:"채널과 내용",step_audience:"대상",step_review:"검토 후 저장",step_settings:"설정",summarySection:"요약",automationName:"자동화 이름",automationNamePlaceholder:"예: 생일 축하 메시지",pickTrigger:"트리거 선택",groupScheduled:"일정 기반",groupEvent:"이벤트 기반",typeBirthday:"생일",descBirthday:"고객의 생일에 실행됩니다.",typeAnniversary:"기념일",descAnniversary:"고객의 기념일에 실행됩니다.",typeJoined:"가입",descJoined:"고객이 CRM에 등록된 날짜를 기준으로 실행됩니다.",typeLastVisit:"마지막 방문",descLastVisit:"마지막 방문일을 기준으로 고객의 재방문을 유도합니다.",typeVisits:"방문 횟수",descVisits:"고객의 총 방문 횟수가 기준값에 도달했을 때.",typeVisits30:"방문 횟수 (30일)",descVisits30:"최근 30일 방문 횟수가 기준값에 도달했을 때.",typeCancelations:"취소 횟수",descCancelations:"총 취소 횟수가 기준값에 도달했을 때.",typeSpent:"사용 금액",descSpent:"총 사용 금액이 기준값에 도달했을 때.",typeTotalEvents:"전체 이벤트 예약",descTotalEvents:"총 이벤트 예약 수가 기준값에 도달했을 때.",typeStatusAssigned:"예약 상태 변경",descStatusAssigned:"예약이 특정 상태가 되면 실행됩니다.",typeTagAssigned:"태그 지정",descTagAssigned:"고객에게 태그가 지정되면 실행됩니다.",conditions:"ì¡°ê±´",when:"시점",dateModeToday:"당일",dateModeBefore:"이전",dateModeAfter:"이후",daysSuffix:"일",thresholdLabel:"기준값",thresholdPlaceholder:"예: 5",bookingStatuses:"예약 상태",statusConfirmed:"확정",statusCanceled:"취소됨",statusNoShow:"노쇼",statusClosed:"마감",tagsLabel:"태그",tagsPlaceholder:"태그를 입력하고 Enter를 누르세요",tagsHint:"이 태그 중 하나라도 지정되면 자동화가 실행됩니다.",delayLabel:"이벤트 후 지연",minutesSuffix:"분",sendTimeLabel:"발송 시각 (현지)",sendTimeHint:"이 시각 ±30분 이내에 발송됩니다.",audienceTitle:"ë
1Œ€ìƒ",audienceHint:"트리거 조건에 맞는 모든 고객입니다. 세그먼트 필터를 추가하면 대상을 더 좁힐 수 있습니다.",triggerType:"트리거 유형",activateOnSave:"바로 활성화",activateOnSaveHint:"활성화하면 조건에 맞는 고객에게 자동화가 실행됩니다. 언제든지 일시 중지할 수 있습니다.",saveAsDraft:"임시저장",saveAndActivate:"저장하고 활성화",balanceWarning:"잔액이 없습니다 — 활성화에 실패할 수 있습니다. 활성화 전에 충전해 주세요.",summaryOnTheDay:"당일 실행",summaryNDaysBefore:"{n}일 전 실행",summaryNDaysAfter:"{n}일 후 실행",summaryThreshold:"기준값: {n}",summarySendAt:"현지 시각 {time}에 발송",summaryDelay:"{n}분 지연"},T=JSON.parse(`{"bookingRules":{"managerNotifications":"매니저 알림","managerNotificationsDesc":"새 예약과 다가오는 예약을 팀이 어떻게 안내받을지 설정합니다.","notificationEmail":"알림 이메일","notificationEmailPlaceholder":"manager{'@'}restaurant.com","notificationEmailHint":"새 예약 알림이 이 주소로 발송됩니다. 여러 주소는 쉼표로 구분하세요.","useManagerEmail":"매니저 이메일을 발신 주소로 사용","useManagerEmailHint":"고객 확인 메일이 noreply{'@'}hostmeapp.com 대신 매장 이메일에서 발송됩니다. 고객이 팀에 바로 답장할 수 있습니다.","notifyPhone":"SMS 알림 전화번호","notifyPhoneHint":"새 예약을 SMS로 받습니다. 비워 두면 발송하지 않습니다.","minutesToNotify":"예약 전 사전 알림","minutesToNotifyHint":"위의 이메일 수신자와 SMS 번호 모두, 다가오는 예약 시각보다 이만큼 앞서 알림을 받습니다.","minutesToNotifyZeroHint":"0으로 두면 사전 알림을 완전히 끕니다.","minutesToNotifyTip":"팁: 캐주얼 다이닝은 30분, 파인다이닝은 테이블 준비를 위해 60~120분을 권장합니다.","customerReminder":"고객 확인 리마인더","customerReminderDesc":"방문 전에 예약을 확정해 달라고 고객에게 자동으로 알립니다. 리마인더를 쓰는 매장은 노쇼가 30~40% 줄어듭니다.","enableReminders":"고객에게 확인 리마인더 발송","enableRemindersHint":"고객이 예약을 확정하거나 취소해 달라는 메시지를 받습니다.","reminderMinutes":"방문 전 리마인더 발송 시점","reminderMinutesHint":"예약 시각보다 얼마나 앞서 확인 리마인더를 보낼지 정합니다.","reminderPreset30":"30분","reminderPreset60":"1시간","reminderPreset120":"2시간","reminderPreset1440":"1일","reminderCustom":"직접 입력","reminderPreview":"고객이 받는 메시지: \\"리마인더 — {restaurant} 예약이 {time} 후입니다. 확인 부탁드립니다.\\"","reservationWaitlist":"예약 대기 목록","reservationWaitlistDesc":"원하는 시간에 빈자리가 없을 때, 호스트가 예약을 거절하는 대신 고객을 대기 목록에 올릴 수 있습니다. 자리가 나면 한 번의 클릭으로 예약을 확정합니다.","reservationWaitlistNote":"매장에서 자리를 기다리는 고객을 관리하는 웨이팅('{link}' 탭)과는 다릅니다.","reservationWaitlistEnabled":"예약 대기 목록 사용","hostPartySize":"인원 (직원 예약)","hostPartySizeDesc":"직원이 전화나 현장에서 만드는 예약의 인원 제한을 설정합니다.","onlinePartySizeNote":"온라인 예약 제한은 {link} 탭에서 설정합니다.","partySizeMinMaxError":"최소 인원은 최대 인원보다 작거나 같아야 합니다","outsideHours":"영업시간 외 예약","outsideHoursDesc":"이미 영업이 끝난 시간에도 호스트가 직접 예약을 만들 수 있게 합니다 — 예를 들어 21시 마감인데 22시 예약. 고객의 온라인 예약에는 영향을 주지 않습니다.","outsideHoursToggle":"영업시간 외 예약 허용","minPartySize":"최소","maxPartySize":"최대","partySizeUnit":"명","partySizeOnlineNote":"온라인 예약 제한 →","partySizeOnlineLink":"온라인 예약 탭","specialRequests":{"title":"특별 요청 항목","desc":"예약을 만들 때 표시할 항목을 선택하세요. 켜진 항목은 호스트 패널과 온라인 예약 위젯 양쪽에 표시됩니다.","groupAccessibility":"접근성","groupDietary":"식단","groupSeating":"좌석 선호","groupOther":"기타","allergy":"알레르기 주의","vegetarian":"채식","event":"기념일 / 특별한 날","booth":"부스석","table":"특정 테이블","highTop":"하이 테이블","highChair":"하이체어 필요","stroller":"유모차","babyCarrier":"아기 바구니","wheelchair":"휠체어 이용 가능","vaccination":"백신 접종 / 검사 증명","customFieldsTitle":"맞춤 항목","customFieldsDesc":"예약을 만들 때 직원이나 고객이 입력하는 항목을 직접 추가하세요. 끌어서 순서를 바꿀 수 있습니다.","customFieldsFlags":"온라인 예약 양식에 넣으려면 '온라인'을, 특별 요청 섹션 위로 올려 고객이 펼치지 않아도 보이게 하려면 '강조'를 선택하세요.","noCustomFields":"아직 맞춤 항목이 없습니다. 고객에게 추가 정보를 받으려면 항목을 추가하세요.","addCustomField":"항목 추가","cfDescriptionPlaceholder":"항목 이름, 예: 방문 목적, 프로모션 코드","cfTypeText":"텍스트","cfTypeSwitch":"스위치","cfColDescription":"설명","cfColType":"유형","cfColOnline":"온라인","cfOnlineHint":"이 항목을 고객용 온라인 예약 양식에 표시합니다","cfColFeatured":"강조","cfFeaturedHint":"이 항목을 특별 요청 섹션 위에 표시해 고객이 펼치지 않아도 보이게 합니다.","cfChangeIcon":"아이콘 변경"},"cancellationReasons":{"title":"취소·거절 사유","desc":"직원이 예약을 취소하거나 거절할 때 선택할 수 있는 사유입니다. 메모는 고객에게 보내는 알림에 포함됩니다.","reasonPlaceholder":"사유 이름","notePlaceholder":"고객에게 보낼 메모","addReason":"사유 추가","defaultBadge":"기본","defaultHint":"기본 사유는 삭제할 수 없습니다","charCount":"{count}/64","defaults":{"guestRequest":"고객 요청","noShow":"노쇼"}},"noShow":{"title":"노쇼 처리","desc":"예약 시각이 지난 뒤 늦게 오는 고객을 노쇼로 표시할 수 있게 되기까지 시스템이 기다리는 시간입니다. 호스트가 만든 예약과 온라인 예약 모두에 적용됩니다.","gracePeriod":"도착 유예 시간","gracePeriodWarn":"0으로 두면 유예 시간이 없어 늦은 고객을 바로 노쇼로 표시할 수 있습니다."}},"onlineBooking":{"approvalMode":"승인 방식","approvalModeDesc":"온라인 예약을 어떻게 승인할지 설정합니다. 자동 승인은 소규모 예약을 빠르게 처리하고, 직접 확인은 팀이 모든 예약을 통제할 수 있게 합니다.","autoApproveAll":"모든 예약 자동 승인","autoApproveAllHint":"모든 온라인 예약이 직원 확인 없이 즉시 확정됩니다.","manualFromSize":"단체 예약은 승인 필요","manualFromSizeHint":"이 인원 이상은 호스트가 확정하고, 그보다 적은 예약은 자동으로 확정됩니다.","manualReviewAll":"모든 예약 직접 확인","manualReviewAllHint":"모든 온라인 예약이 팀의 승인이나 거절 전까지 신청 상태로 대기합니다.","guests":"명","guestsOrMore":"명 이상","onlinePartySize":"온라인 예약 인원","onlinePartySizeDesc":"고객이 온라인으로 예약할 때 선택할 수 있는 최소·최대 인원을 설정합니다.","minPartySize":"최소","maxPartySize":"최대","hostPartySizeNote":"직원·전화 예약 제한은 {link} 탭에서 설정합니다.","bookingWindow":"예약 가능 기간","bookingWindowDesc":"고객이 온라인으로 예약할 수 있는 범위를 정합니다 — 가장 임박한 예약부터 얼마나 먼 날짜까지 가능한지.","earliestBooking":"최소 예약 리드타임","notice30":"30분","notice60":"1시간","notice120":"2시간","notice240":"4시간","notice480":"8시간","notice1440":"1일","noticeCustom"
1:"직접 입력","latestBooking":"최대 예약 가능 일수","daysInAdvance":"일","cutoffTime":"당일 예약 마감 시각","cutoffDisabled":"사용 안 함","cutoffTimeHint":"이 시각 이후에는 당일 온라인 예약을 받지 않습니다. 사용하지 않으면 영업 종료까지 예약을 받습니다.","bookingForm":"예약 양식","bookingFormDesc":"온라인 예약 양식에 어떤 선택 항목과 입력란을 표시할지 설정합니다. 이 설정은 온라인 위젯에만 적용되며, 관리자 패널의 호스트 예약 양식에는 영향을 주지 않습니다.","bookingFormCrossLink":"기본 특별 요청 체크박스와 맞춤 항목은 {link}에서 설정합니다.","showNotes":"메모 입력란 표시","showNotesHint":"온라인 예약 양식에 '메모' 입력란을 표시해 고객이 예약과 함께 자유롭게 내용을 남길 수 있게 합니다.","allowChooseArea":"고객이 좌석 구역을 선택하도록 허용","allowChooseAreaHint":"고객에게 이용 가능한 구역(테라스, 홀, 바 등)이 보이고 하나를 고를 수 있습니다. 꺼져 있으면 구역 목록이 위젯에도, 연동된 서비스에도 전달되지 않습니다.","allowChooseTable":"고객이 테이블을 선택하도록 허용","allowChooseTableHint":"고객에게 좌석 배치도가 보이고 원하는 테이블을 고를 수 있습니다.","requireTableSelection":"테이블 선택 필수","requireTableSelectionHint":"고객이 예약을 마치려면 반드시 테이블을 골라야 합니다. 꺼져 있으면 선택 사항입니다.","coversAvailable":"예약 가능 좌석 수","coversAvailableDesc":"특정 시점에 온라인 예약으로 받을 수 있는 최대 좌석 수입니다. 온라인 수용 인원을 제한하지 않으려면 '무제한'을 켜세요.","covers":"석","approvalAreasTitle":"항상 승인이 필요한 구역","approvalAreasHint":"이 구역의 예약은 인원과 관계없이 호스트가 확정합니다 — 나머지가 모두 자동 승인이어도 마찬가지입니다.","approvalAreasNeedPicker":"온라인 예약 시 고객에게 구역을 묻지 않으므로 그런 예약에는 구역이 없고 이 규칙도 적용되지 않습니다. {link}에서 '고객이 좌석 구역을 선택하도록 허용'을 켜 주세요.","summaryAutoAll":"현재: 모든 온라인 예약이 자동으로 확정됩니다.","summaryAutoExceptAreas":"현재: 예약이 자동으로 확정되며, {areas} 구역만 호스트 확인을 기다립니다.","summaryFromSize":"현재: {size}명 이상 예약은 호스트 확인을 기다리고, 그보다 적으면 자동으로 확정됩니다.","summaryFromSizeAndAreas":"현재: {size}명 이상 예약과 {areas} 구역 예약은 호스트 확인을 기다립니다. 나머지는 자동입니다.","summaryManualAll":"현재: 모든 온라인 예약을 호스트가 직접 확정합니다."},"depositsFees":{"enableFeeCollection":"결제 수집 사용","enableFeeCollectionDesc":"예약에 예약금이나 취소 수수료를 부과할 수 있습니다. 결제 대행사 연동이 필요합니다.","enableFeeCollectionLabel":"예약에 대해 결제 받기","providerNotConnected":"연결된 결제 대행사가 없습니다. 결제 수집을 켜기 전에 {link}에서 결제 대행사를 설정해 주세요.","providerConnected":"결제 대행사 연결됨","integrationsLink":"연동","rules":"규칙","rulesDesc":"예약할 때 예약금을 미리 받을지, 기한이 지난 뒤 취소하면 취소 수수료를 받을지 선택하세요.","feeMode":"결제 방식","deposit":"예약금","depositHint":"고객이 예약할 때 결제합니다. 환불 정책에 따라 환불됩니다.","cancellationFee":"취소 수수료","cancellationFeeHint":"취소 가능 기간이 지난 뒤 취소할 때만 고객에게 청구됩니다.","refundPercent":"기본 환불 비율","refundPercentHint":"직원이 예약을 취소했을 때 환불되는 예약금 비율입니다.","cancellationPeriod":"취소 가능 기간","useSpecificTime":"하루 중 특정 시각으로 설정","hoursLabel":"예약 몇 시간 전","hoursBeforeReservation":"예약 몇 시간 전","hoursUnit":"시간","hoursHint":"예약 시각을 기준으로 이 시간 이내에 취소하면 고객에게 청구됩니다.","timeLabel":"예약 당일 마감 시각","timeHint":"예약 당일 이 시각 이후에 취소하면 고객에게 청구됩니다.","feesByGroup":"인원별 금액","feesByGroupDesc":"인원 규모마다 금액을 설정하세요. 단체에는 다른 예약금이나 수수료를 적용할 수 있습니다.","groupSize":"인원 규모","amount":"금액","no
1Rules":"아직 설정된 결제 규칙이 없습니다.","addRule":"결제 규칙 추가","paymentTimeoutTitle":"결제 제한 시간","paymentTimeoutDesc":"예약금이나 사전 승인이 필요한 경우, 고객이 기한 내에 결제하지 않으면 예약을 자동으로 취소합니다. 취소 전에 리마인더를 보낼 수도 있습니다.","autoCancelLabel":"자동 취소 시점","autoCancelHint":"예약을 만든 시점부터의 시간입니다. 그때까지 결제하지 않으면 예약이 자동으로 취소됩니다.","paymentReminderLabel":"결제 리마인더 발송","paymentReminderHint":"예약을 만든 시점부터 리마인더를 보내기까지의 시간입니다. 0이면 보내지 않습니다. 자동 취소 시간보다 짧아야 합니다.","paymentTimeoutWarning":"리마인더가 자동 취소 시점과 같거나 ê·¸ 이후에 발송되어 고객이 받을 수 없습니다. 리마인더 값을 자동 취소 값보다 작게 설정해 주세요.","minutesUnit":"분","paymentMethods":"결제 수단","paymentMethodsDesc":"예약금이나 수수료를 받을 때 사용할 결제 수단을 선택하세요.","cashPayment":"현금","cashPaymentHint":"매장에서 현금을 받습니다.","cardPayment":"카드","cardPaymentHint":"온라인으로 카드 결제를 받습니다. 결제 대행사 연동이 필요합니다.","invoicePayment":"인보이스","invoicePaymentHint":"고객에게 청구서를 보냅니다. 결제 대행사 연동이 필요합니다.","requiresProvider":"이 결제 수단을 사용하려면 {link}에서 결제 대행사를 연결해 주세요."},"waitlist":{"autoCall":"자동 호출과 테이블 배정","autoCallDesc":"테이블이 비었을 때 고객에게 어떻게 알리고 어떻게 안내할지 설정합니다. 자동 호출은 다음 순번 고객에게 알림을 보내고, 자동 배정은 가장 알맞은 테이블을 자동으로 고릅니다.","autoCallGuest":"테이블이 비면 고객 자동 호출","autoCallGuestHint":"알맞은 테이블이 비면 웨이팅 다음 순번 고객에게 자동으로 알립니다.","autoTableAssignment":"테이블 자동 배정 (웨이팅)","autoTableAssignmentHint":"웨이팅 고객을 호출할 때 시스템이 테이블을 미리 골라 둡니다. 이 기능을 켜면 수동 자동 호출은 꺼집니다. {link}의 예약 자동 배정 설정과는 별개입니다.","autoCallCancelDelay":"응답이 없으면 자동 취소","autoCallCancelDelayHint":"지정한 시간 안에 응답이 없으면 호출을 자동으로 취소하고 다음 고객으로 넘어갑니다.","autoCallCancelDelayTime":"취소 시점","waitTime":"예상 대기 시간 계산","waitTimeDesc":"웨이팅 고객의 예상 대기 시간을 어떻게 계산할지 선택하세요. 계산 결과는 고객에게 표시되어 기다리는 시간을 가늠하게 해 줍니다.","etaMethod":"계산 방식","etaAverage":"평균 대기 시간","etaAverageHint":"최근 기록의 평균 회전율을 바탕으로 대기 시간을 계산합니다.","etaTableAvailability":"테이블 여유 기준","etaTableAvailabilityHint":"앞으로의 테이블 여유와 인원을 바탕으로 대기 시간을 계산합니다.","lookBackWindow":"평균 대기 시간 분석 기간","lookBackWindowHint":"평균 대기 시간을 계산할 때 얼마나 이전 기록까지 볼지 정합니다.","adjustWaitTime":"테이블 배정 시 대기 시간 조정","adjustWaitTimeHint":"테이블이 배정되면 남은 고객의 예상 대기 시간을 자동으로 다시 계산합니다.","holdSettings":"보류 설정","holdSettingsDesc":"고객을 ì
1–¼ë§ˆë‚˜ 오래 보류할 수 있는지, 호스트가 웨이팅 항목을 직접 보류할 수 있는지 설정합니다.","enableManualHold":"직접 보류 허용","enableManualHoldHint":"호스트가 웨이팅 항목을 직접 보류할 수 있게 합니다 (예: 테이블을 정리하는 동안).","maximumHoldTime":"최대 보류 시간","maximumHoldTimeHint":"고객이 보류 상태로 머물 수 있는 최대 시간이며, 이후에는 자동으로 대기열로 돌아갑니다.","workflow":"처리 방식 설정","workflowDesc":"호스트가 웨이팅을 등록하는 과정을 설정합니다.","showSpecialRequests":"등록 과정에 특별 요청 표시","showSpecialRequestsHint":"새 고객을 웨이팅에 추가할 때 특별 요청 항목(접근성, 좌석 선호 등)을 표시합니다."},"statuses":{"preSeatingTitle":"착석 전 상태","preSeatingDesc":"고객이 실제로 착석하기 전까지 예약이 거치는 상태입니다. 어느 팀이 착석 준비가 되었는지 호스트가 파악하는 데 도움이 됩니다.","customTableTitle":"맞춤 테이블 상태","customTableDesc":"착석한 고객의 식사 진행 상태입니다 (에피타이저, 메인, 디저트, 계산).","customTableDescProgress":"'진행률 %'는 예상 식사 종료 시각을 앞당깁니다 — 비워 두면 예약의 예상 종료 시각이 그대로 유지됩니다.","grandeUpgrade":"상태를 새로 추가하거나 맞춤 상태를 삭제하는 기능은 Grande 요금제에서 사용할 수 있습니다. 아래 기존 상태의 색상, 적용 대상, 순서, 사용 여부는 어느 요금제에서나 수정할 수 있습니다.","noPreSeating":"착석 전 상태가 설정되어 있지 않습니다.","noTableStates":"맞춤 테이블 상태가 설정되어 있지 않습니다.","addStatus":"상태 추가","colTitle":"이름","colReservation":"예약","colWaiting":"웨이팅","colActive":"사용","colDuration":"진행률","appliesToReservation":"예약에 적용","appliesToWaiting":"웨이팅에 적용","colorPicker":"상태 색상 선택","titlePlaceholder":"상태 이름","dragToReorder":"끌어서 순서 변경","defaults":{"called":"호출함","checkIn":"체크인","partiallyArrived":"일부 도착","late":"지연","drinks":"음료","starters":"에피타이저","mainCourse":"메인 요리","dessert":"디저트","billDropped":"계산서 전달","paidBill":"결제 완료"}}}`),S=JSON.parse('{"cancelSubscription":{"backToBilling":"결제로 돌아가기","heroTitle":"떠나신다니 아쉽습니다","heroDesc":"구독을 해지하시는 이유를 알려 주세요 — 레스토랑에 무엇이 가장 중요한지 파악하는 데 도움이 됩니다.","steps":{"reason":"사유","feedback":"의견"},"reason":{"title":"해지하시는 이유는 무엇인가요?","messageLabel":"더 하실 말씀이 있나요? (선택)","messagePlaceholder":"조금 더 자세히 알려 주세요 — 무엇이 달랐다면 좋았을까요?","vendorLabel":"어떤 플랫폼으로 옮기시나요?","vendorPlaceholder":"플랫폼을 선택하세요…","options":{"TooExpensive":{"label":"가격이 부담스러움","hint":"Hostme는 전화 응대에 드는 시간과 노쇼 손실을 줄여 비용을 상쇄하도록 만들어졌습니다. 계산이 맞지 않으셨다면 어떤 요금제나 부가 기능이 부담이었는지 알려 주세요."},"MissingFeatures":{"label":"필요한 기능이 없음","hint":"무엇이 부족했는지 알려 주세요 — 저희는 매 릴리스마다 고객이 요청한 기능을 추가합니다."},"TechnicalIssues":{"label":"기술적인 문제","hint":"오류, 느린 화면, 동기화 문제 — 구체적으로 알려 주시면 재현하고 고치는 데 도움이 됩니다."},"NotUsingApp":{"label":"앱을 잘 쓰지 않음","hint":"처음 적응이 잘 되지 않았을 수 있습니다. 원하시면 1:1 사용 안내를 무료로 도와드리겠습니다."},"SwitchingToAnotherApp":{"label":"다른 플랫폼으로 이동","hint":"어떤 서비스인지, 무엇이 결정적이었는지 알려 주시면 감사하겠습니다."},"ChangePlan":{"label":"요금제만 바꾸고 싶음","hint":"해지하실 필요 없습니다 — 요금제만 바로 변경할 수 있습니다. 요금제 선택 화면으로 안내해 드리겠습니다."},"SeasonalBusiness":{"label":"시즌 휴업","hint":""},"CloseOfBusiness":{"label":"폐업","hint":""},"Mistake":{"label":"실수로 구독함","hint":""}},"vendors":{"OpenTable":"OpenTable","Tock":"Tock","Resy":"Resy","Toast":"Toast","Sevenrooms":"SevenR
1ooms","WaitlistMe":"Waitlist Me","Eat":"Eat App","Yelp":"Yelp Reservations","Tablein":"Tablein","Wisely":"Wisely","Other":"기타"}},"aftermath":{"title":"해지 후 24시간 뒤에 일어나는 일","bullets":{"onlineBookings":"온라인 예약(위젯, 고객 앱, 딥링크)이 중지됩니다.","hostPanel":"호스트 패널에 예약 가능 시간이 더 이상 표시되지 않아 새 예약을 받을 수 없습니다.","guestApp":"Hostme 고객 앱 검색에서 레스토랑이 제외됩니다.","googleIntegrations":"Google Reserve와 Google Business Messages 연동이 해제됩니다.","integrations":"모든 외부 연동(POS, 마케팅, 결제)이 중지됩니다.","addOns":"사용 중인 부가 서비스(SMS, WhatsApp, 유료 메시지)가 해지되고 청구도 멈춥니다.","reactivate":"기간이 끝나기 전에는 언제든지 다시 시작할 수 있습니다 — {count}일 남았습니다. | 기간이 끝나기 전에는 언제든지 다시 시작할 수 있습니다 — {count}일 남았습니다."}},"feedback":{"heroTitle":"마지막으로 — Hostme는 어떠셨나요?","heroDesc":"솔직한 의견이 제품을 만듭니다. 이번이 마지막 단계입니다.","title":"사용 경험을 어떻게 설명하시겠어요?","desc":"Hostme와 함께한 시간을 가장 잘 나타내는 항목을 골라 주세요.","messageLabel":"좋았던 점이나 아쉬웠던 점은 무엇인가요? (선택)","messagePlaceholder":"구체적인 순간이나 기능, 응대 경험이 팀에 가장 큰 도움이 됩니다.","options":{"MetExpectations":{"label":"기대에 부합했습니다","hint":"Hostme가 약속한 대로 동작했습니다 — 떠나시더라도 제품은 제 역할을 했습니다."},"DidntMeetExpectations":{"label":"기대에 미치지 못했습니다","hint":"무언가 맞지 않았습니다 — 기능, 지원, 성능 또는 전반적인 적합성."},"DidntUseTheApp":{"label":"사실상 사용하지 않았습니다","hint":"도입 과정이나 시간, 우선순위 때문에 제대로 써 보지 못하셨습니다."}}},"cta":{"continue":"계속 →","browsePlans":"요금제 보기 →","backToReason":"이전","cancelFinal":"구독 해지","dismiss":"취소"}},"reservations":{"title":"예약","bookingRules":"예약 규칙","onlineBooking":"온라인 예약","depositsFees":"예약금과 수수료","waitlist":"웨이팅","statusesWorkflows":"상태와 흐름"},"floorTables":{"title":"홀과 테이블","floorPlans":"좌석 배치도","tableRules":"테이블 규칙","availability":"예약 가능 시간","coverPacing":"고객 흐름","blockedTables":"차단된 테이블"},"ordering":{"title":"주문","menuBuilder":"메뉴 구성","products":"상품","categories":"카테고리","modifiers":"추가 옵션","settings":"설정"},"guests":{"title":"고객","guestBook":"고객 명부","tagsSegments":"태그","settings":"설정"},"messaging":{"title":"메시지","channels":"채널","templates":"템플릿","emailCustomization":"이메일 맞춤 설정","branding":"브랜딩","policies":"정책"},"marketing":{"title":"캠페인","campaigns":"캠페인","events":"이벤트"},"events":{"title":"이벤트"},"onlinePresence":{"title":"온라인 채널","publicPage":"공개 페이지","widgetGenerator":"위젯 생성기","customizationTab":"맞춤 설정","partnerNetworks":"파트너 네트워크","publicLinks":"공개 링크","publicLinksDesc":"레스토랑 공개 페이지 주소와 웹사이트 링크입니다.","publicPageUrl":"공개 페이지 URL","website":"웹사이트","websitePlaceholder":"https://www.yourrestaurant.com","visibility":"노출 설정","visibilityDesc":"레스토랑을 Hostme 검색 결과에 표시할지 설정합니다.","showOnHostme":"Hostme에 표시","showOnHostmeHint":"켜면 레스토랑이 Hostme 검색과 목록에 표시됩니다.","profileInfo":"프로필 정보","profileInfoDesc":"고객에게 보이는 레스토랑 기본 정보입니다.","description":"설명","descriptionPlaceholder":"고객에게 레스토랑을 소개해 주세요…","priceRange":"가격대","selectPriceRange":"가격대를 ì
1„ íƒí•˜ì„¸ìš”","priceRangeOptions":{"budget":"$ — 부담 없는","moderate":"$$ — 보통","upscale":"$$$ — 고급","fineDining":"$$$$ — 파인다이닝"},"categoryLabels":{"bbq":"바비큐","breakfastBrunch":"아침/브런치","bar":"바","cafe":"카페","chinese":"중식","creativeCocktails":"시그니처 칵테일","desserts":"디저트","family":"가족","farmToTable":"팜투테이블","fish":"생선 요리","french":"프랑스식","global":"세계 요리","indian":"인도식","italian":"이탈리아식","japaneseSushi":"일식/스시","liveMusic":"라이브 음악","mediterranean":"지중해식","mexican":"멕시코식","pho":"쌀국수","pizza":"피자","ramen":"라멘","romantic":"로맨틱","seafood":"해산물","southern":"서던 요리","spanishTapas":"스페인식/타파스","steak":"스테이크","thai":"태국식","vegetarian":"채식","wings":"치킨 윙"},"cuisineLabels":{"american":"미국식","asian":"아시아식","chinese":"중식","french":"프랑스식","indian":"인도식","italian":"이탈리아식","japanese":"일식","korean":"한식","mediterranean":"지중해식","mexican":"멕시코식","middleEastern":"중동식","seafood":"해산물","southern":"서던 요리","spanish":"스페인식","thai":"태국식","vietnamese":"베트남식"},"categories":"카테고리","categoriesDesc":"레스토랑을 가장 잘 나타내는 카테고리를 선택하세요.","cuisine":"요리","cuisineDesc":"제공하시는 요리를 선택하세요.","photos":"사진","photosDesc":"사진을 추가해 예비 고객에게 레스토랑을 보여 주세요.","uploadPhotos":"사진 올리기","brandingImages":"브랜드 이미지","brandingImagesDesc":"위젯과 공개 페이지에 쓰이는 로고와 홍보 이미지입니다.","logo":"로고","uploadLogo":"로고 올리기","promoImage":"홍보 이미지","uploadPromoImage":"이미지 올리기","socialMedia":"소셜 미디어","socialMediaDesc":"고객이 팔로우할 수 있도록 소셜 미디어 링크를 추가하세요.","importData":"데이터 가져오기","importDataDesc":"외부 서비스를 연결해 리뷰와 기타 데이터를 가져옵니다.","foursquarePlaceId":"Foursquare Place ID","foursquarePlaceholder":"예: 4b7a1…","googlePlaceId":"Google Place ID","googlePlaceholder":"예: ChIJ…","widgetsTitle":"예약 위젯","widgetsDesc":"공개 페이지에 예약과 웨이팅 위젯을 켭니다.","widgets":{"reserveDesc":"예약 위젯을 표시해 고객이 공개 페이지에서 바로 테이블을 예약할 수 있게 합니다.","waitlistDesc":"웨이팅 위젯을 표시해 만석일 때 고객이 대기 줄에 설 수 있게 합니다."},"servicesTitle":"편의 사항","servicesDesc":"레스토랑이 제공하는 편의 사항을 선택하세요 — 공개 페이지에 아이콘으로 표시됩니다.","services":{"reserve":"예약","waitlist":"웨이팅","delivery":"배달","takeout":"포장","outdoor":"야외 좌석","wifi":"무료 Wi-Fi","kids":"아이 동반 가능","cash":"현금 전용","cards":"카드 결제 가능","vegetarian":"채식 메뉴","businesslunch":"비즈니스 런치","entertainment":"공연·엔터테인먼트","dresscode":"드레스 코드"},"widget":{"type":"위젯 유형","typeDesc":"웹사이트에 넣을 예약 위젯 유형을 선택하세요.","reservation":"예약","reservationDesc":"고객이 웹사이트에서 바로 테이블을 예약할 수 있게 합니다.","waitlist":"웨이팅","waitlistDesc":"고객이 원격으로 대기 줄에 설 수 있게 합니다.","delivery":"배달 / 포장","deliveryDesc":"배달이나 포장 주문을 온라인으로 받습니다.","settings":"위젯 설정","settingsDesc":"위젯의 배치와 동작 방식을 설정합니다.","layout":"배치","layoutHorizontal":"가로형","layoutVertical":"세로형","layoutAdaptive":"적응형","layoutButton":"버튼만","timeAppearance":"시간 표시 방식","timeCalendar":"달력 형식","timeHourly":"시간 단위 선택","timePeriods":"하루 시간대별","timeHidden":"숨김","preferredGuests":"기본 인원 수","adaptiveLayout":"적응형 배치","adaptiveButtonDesc":"버튼을 삽입된 영역의 가로 폭에 맞춰 늘립니다.","advancedCustomization":"고급 설정","colorScheme":"색상 테마","schemeDark":"다크","schemeLight":"라이트","language":"언어","guestRequired":"인원 선택 필수","guestRequiredDesc":"고객이 진행하기 전에 인원을 선택해야 합니다.","dateRequired":"날짜 선택 필수","dateRequiredDesc":"고객이 진행하기 전에 날짜를 선택해야 합니다.","timeRequired":"시간 선택 필수","timeRequiredDesc":"고객이 진행하기 전에 시간대를 선택해야 합니다.","hideHeader":"헤더 숨기기","hideHeaderDesc":"레스토랑 이름과 로고가 있는 위젯 헤더를 없앱니다.","multiRestaurants":"여러 매장","multiRestaurantsDesc":"고객이 위젯 하나에서 여러 매장 중 하나를 고를 수 있습니다.","selectRestaurants":"매장 선택","restaurantsSelected":"위젯에 매장 {count}ê³³","inPlace":"페이지 내 진행","inPlaceDesc":"별도 페이지로 이동하지 않고 웹사이트에서 바로 예약을 마칩니다.","waitTime":"대기 시간","waitTimeDesc":"현재 예상 대기 시간을 고객에게 표시합니다.","embedStyle":"삽입 방식","embedStyleDesc":"웹사이트에 위젯을 어떤 방식으로 넣을지 선택하세요.","styleWidget":"위젯","styleButton":"버튼","styleLink":"링크","width":"너비","height":"높이","buttonText":"버튼 문구","defaultButtonText":"테이블 예약하기","linkText":"링크 문구","defaultLinkText":"테이블 예약하기","defaultLinkTextWaitlist":"대기 줄 서기","defaultLinkTextDelivery":"온라인 주문하기","buttonColor":"버튼 색상","preview":"미리보기","embedCode":"삽입 코드","directLinks":"다이렉트 링크","directLinksDesc":"링크를 복사해 웹사이트나 소셜 미디어에 붙여 넣으세요. UTM 태그를 쓰면 Hostme 분석에서 유입 경로를 확인할 수 있습니다.","directLinksHint":"UTM 태그를 쓰면 Hostme 분석에서 유입 경로를 확인할 수 있습니다.","brandCallout":"강조 색상을 바꾸거나 Hostme 로고를 숨기고 싶으신가요?","brandCalloutLink":"브랜드 설정으로 이동 →","reservationLink":"예약 페이지 다이렉트 링크","waitlistLink":"웨이팅 페이지 다이렉트 링크","waitlistKioskLink":"웨이팅 페이지 다이렉트 링크 (키오스크 모드)","deliveryLink":"배달·포장 페이지 다이렉트 링크"},"customization":{"brandColor":"브랜드 색상","brandColorDesc":"예약 위젯과 고객용 페이지에 쓸 기본 색상을 선택하세요.","logoInWidgets":"Hostme 로고","logoInWidgetsDesc":"예약 위젯에 Hostme 로고를 표시할지 설정합니다.","showLogo":"Hostme 로고 표시","showLogoHint":"예약과 웨이팅 위젯에 \\"Powered by Hostme\\" 로고를 표시합니다.","guestNote":"고객 예약 안내문","guestNoteDesc":"고객이 예약할 때 표시되는 안내 문구입니다.","guestNotePlaceholder":"예: 취소 정책을 확인해 주세요…","guestNoteHint":"이 안내문은 예약 확인 페이지에 표시됩니다."},"partners":{"googleReserve":"Google 예약","googleReserveDesc":"고객이 Google 검색과 지도에서 바로 예약할 수 있게 합니다.","googleWaitlist":"Google 웨이팅","googleWaitlistDesc":"고객이 Google 검색과 지도에서 대기 줄에 설 수 있게 합니다.","hostmeNetwork":"Hostme 네트워크","hostmeNetworkDesc":"Hostme 예약 네트워크와 모바일 앱에 레스토랑을 등록합니다.","yandexEda":"Yandex Eats","yandexEdaDesc":"얀덱스 예약 시스템에 연결하면 얀덱스의 모든 서비스 — Eats, 지도, 검색, Go, Alice AI — 에서 온라인 예약을 받을 수 있습니다. 방문한 고객 1명당 얀덱스 수수료 79루블이 별도로 청구됩니다.","comingSoon":"준비 중","saveError":"저장하지 못했습니다 — 다시 시도해 주세요.","googleSyncNote":"변경 사항이 적용되기까지 최대 24시간이 걸립니다 — Google이 주소, 전화번호 등을 먼저 다시 확인하기 때문입니다. 실시간 상태는 여기에 표시되지 않습니다.","googleDisableNote":"Google 예약은 즉시 중단되지 않습니다. 지금 바로 온라인 예약을 멈추려면: {link}","yandexConfigure":"인증 정보 설정","yandexDisconnectTitle":"얀덱스 연결을 해제할까요?","yandexDisconnectMessage":"얀덱스 연동과 인증 정보가 삭제됩니다. 나중에 다시 연결할 수 있지만 인증 정보를 다시 입력해야 합니다.","yandexDisconnectConfirm":"연결 해제","verificationRequired":"인증 필요","verificationRequiredDesc":"파트너 네트워크 연동을 켜려면 먼저 레스토랑 인증이 필요합니다. 인증은 지원팀에 문의해 주세요.","howItWorks":"작동 방식","howItWorksDesc":"파트너 네트워크는 레스토랑을 주요 플랫폼과 연결합니다. 켜 두면 고객이 Google, Hostme 앱 등에서 ë 
1ˆìŠ¤í† ëž‘ì„ 찾아 바로 예약할 수 있습니다. 변경 사항은 자동으로 저장됩니다."}},"analytics":{"title":"분석","overview":"개요","reservations":"예약","noShows":"노쇼","waitlist":"웨이팅","tables":"테이블","guests":"고객","customRequest":"맞춤 요청","orders":"주문"},"settings":{"title":"설정","restaurant":"레스토랑","interface":"인터페이스"},"integrations":{"title":"연동","connected":"연결됨","pos":"POS 시스템","payments":"결제","thirdParty":"외부 앱","channels":"채널"},"administration":{"title":"관리자","restaurants":"레스토랑","team":"팀","billing":"결제","activityLog":"변경 기록"}}'),P={timeFormat:"시간 표기",timeFormatDesc:"관리자 패널 전체에서 시간을 어떻게 표시할지 선택하세요 — 모든 시간 선택기, 일정, 리포트가 자동으로 바뀝니다.",timeFormat12h:"12시간제",timeFormat24h:"24시간제",timeFormatExample24:"예: 14:30, 09:00",timeFormatExample12:"예: 오후 2:30, 오전 9:00",restaurant:{info:"레스토랑 정보",infoDesc:"레스토랑 기본 정보 — 이름, 연락처, 웹사이트.",name:"레스토랑 이름",phone:"전화번호",website:"웹사이트",location:"위치",locationDesc:"레스토랑의 실제 주소와 시간대입니다.",address:"주소",city:"도시",state:"시·도",zip:"우편번호",country:"국가",timezone:"시간대",regional:"지역 설정",regionalDesc:"레스토랑의 언어와 통화 설정입니다.",language:"기본 언어",languageHint:"고객 대상 안내와 위젯에 사용되는 언어입니다.",currency:"통화",currencyHint:"예약금, 수수료, 주문, 재무 리포트에 사용되는 통화입니다."},interface:{workflowShortcuts:"빠른 작업",workflowShortcutsDesc:"확인 단계를 건너뛰고 반복 작업을 자동화해 자주 하는 일을 빠르게 처리합니다.",skipConfirmDialog:"확인 ì°½ 건너뛰기",skipConfirmDialogDesc:'예약 상태를 바꿀 때 "정말 하시겠어요?" 창을 띄우지 않습니다.',skipBookWizard:"워크인 빠른 착석",skipBookWizardDesc:"예약 없이 온 고객을 한 번의 탭으로 착석시킵니다 — 이름이나 전화번호를 입력하지 않습니다.",skipGroupSizeStep:"인원 선택 단계 건너뛰기",skipGroupSizeStepDesc:"매번 묻지 않고 기본 인원을 자동으로 사용합니다.",defaultGroupSize:"기본 인원",autocloseSeated:"착석한 예약 자동 마감",autocloseSeatedDesc:"고객이 착석하면 예약을 자동으로 마감합니다.",noteDisplay:"기본 메모 표시",noteDisplayDesc:"기본 화면의 예약 카드에 어떤 종류의 메모를 표시할지 선택하세요.",noteType:"표시할 메모 종류",noteSpecialRequests:"특별 요청",noteInternalNotes:"내부 메모",noteGuestNotes:"고객 메모",moduleVisibility:"모듈 표시",moduleVisibilityDesc:"사용하지 않는 패널을 숨겨 사이드바를 단순하게 만드세요.",hideTablesPanel:"테이블 패널 숨기기",hideWaitlistPanel:"웨이팅 패널 숨기기",hideReservationPanel:"예약 패널 숨기기",hideTimelinePanel:"타임라인 패널 숨기기",hideServersPanel:"홀 직원 관리 패널 숨기기",hideGuestbookPanel:"고객 명부 패널 숨기기",chatSupport:"지원",chatSupportDesc:"앱 내 지원 채팅 사용 여부를 설정합니다.",disableChatSupport:"지원 채팅 끄기",disableChatSupportDesc:"소유자를 제외한 모든 사용자에게 앱 내 지원 채팅 위젯을 숨깁니다.",onboarding:"시작하기 체크리스트",onboardingDesc:"대시보드의 시작 안내 타일과 창을 표시하거나 숨깁니다.",onboardingShow:"대시보드에 표시",onboardingShowDesc:"켜면 모든 설정 단계를 마칠 때까지 대시보드에 '시작하기' 타일이 표시됩니다.",onboardingSaveError:"설정을 변경하지 못했습니다. 다시 시도해 주세요.",hostPanelVersionTitle:"호스트 패널 버전",hostPanelVersionSectionDesc:"이 레스토랑 직원이 사용할 호스트 패널 버전을 선택하세요.",hostPanelRestaurantVersion:"레스토랑 버전",hostPanelRestaurantVersionDesc:"이 레스토랑의 모든 직원과 모든 기기에 적용되는 기본값입니다.",hostPanelThisDevice:"이 기기에만",hostPanelThisDeviceDesc:"나머지 직원을 레스토랑 버전에서 옮기지 않고 내 기기에서만 다른 버전을 써 ë³¼ 수 있습니다 — 예를 들어 매니저가 v2를 미리 보는 경우.",overrideActive:"이 기기는 레스토랑 버전을 따르지 않습니다.",followRestaurantDefault:"레스토랑 버전 따르기",versionModalTitle:"레스토랑의 호스트 패널 버전을 바꿀까요?",versionModalBody:"레스토랑을 {version} 버전으로 바꾸면 이 레스토랑의 모든 직원과 모든 기기에 적용됩니다. 푸시 알림과 이메일 링크도 선택한 버전의 패널로 연결됩니다.",versionModalDeviceHint:"개별 기기는 '이 기기에만' 설정으로 각자 버전을 바꿀 수 있으며, 다른 사람에게는 영향을 주지 않습니다.",versionModalConfirm:"버전 변경",guestAppVersion:"고객 앱",guestAppVersionDesc:"고객이 사용하는 화면입니다 (Restogram).",widgetVersion:"예약 위젯",widgetVersionDesc:"웹사이트에 삽입하는 예약 위젯입니다.",versionComingSoon:"준비 중",adminVersionTitle:"클래식 관리자 패널",adminVersionSectionDesc:"이 레스토랑은 이전 버전 관리자 패널에서 옮겨 왔습니다. 당분간 필요하시면 다시 돌아갈 수 있으며, 이전 관리자 패널은 연말까지 사용할 수 있습니다.",adminVersionThisDevice:"이 기기에만",adminVersionThisDeviceDesc:"나머지 팀원은 새 관리자 패널에 그대로 남습니다. 새 관리자 패널을 다시 열면 이 기기도 새 패널로 돌아옵니다.",adminVersionSwitchAction:"클래식 관리자 패널 열기",adminVersionDirectLink:"바로가기 링크: {link}",adminVersionModalTitle:"클래식 관리자 패널로 돌아갈까요?",adminVersionModalBody:"그곳에서 작업하는 동안에는 이 기기에서 호스트 패널의 링크도 클래식 관리자 패널을 엽니다.",adminVersionModalConfirm:"클래식으로 이동",adminVersionModalHint:"이 기기에만, 그리고 새 관리자 패널을 다시 열 때까지만 적용됩니다. ê·¸ 후에는 모든 링크가 다시 이곳으로 연결됩니다.",panelPrefsV2:"패널 설정 (v2)",panelPrefsV2Desc:"버전 2에서 추가된 레스토랑 공통 호스트 패널 설정입니다.",panelPrefsV2Placeholder:"버전 2 호스트 패널 설정은 패널에서 관리자 패널로 옮겨지면 여기에 표시됩니다."}},f=JSON.parse(`{"floorPlans":{"title":"좌석 배치도","description":"레스토랑의 좌석 배치도를 관리합니다. 배치도 하나가 테이블과 구역이 있는 실제 공간 하나를 나타냅니다.","noFloors":"아직 좌석 배치도가 없습니다","noFloorsHint":"첫 좌석 배치도를 만들어 테이블 배치를 시작하세요.","addFloor":"좌석 배치도 추가","editFloor":"배치도 이름 변경","openBuilder":"편집기에서 열기","floorName":"배치도 이름","floorNamePlaceholder":"메인 홀","tablesCount":"테이블 {count}개","tablesOnlineSuffix":"온라인 {online}개","coversCount":"{count}석","online":"사용 중","offline":"사용 안 함","areas":"구역","areasTitle":"좌석 구역","areasDescription":"좌석 구역(테라스, 바, 정원 등)을 정의해 두면 배치도 편집기에서 테이블을 배정할 수 있습니다. 개수는 모든 배치도를 합산한 값입니다.","areasRenameHint":"구역 이름을 바꿔도 테이블 배정은 그대로 유지됩니다. 새 이름이 모든 배치도와 일정, 진행 중인 예약에 자동으로 적용됩니다.","noAreas":"정의된 구역이 없습니다","addArea":"구역 추가","editArea":"구역 이름 변경","deleteArea":"구역 삭제","areaDuplicate":"같은 이름의 구역이 이미 있습니다.","areaSaveError":"구역을 저장하지 못했습니다. 다시 시도해 주세요.","areaDeleteError":"구역을 삭제하지 못했습니다. 다시 시도해 주세요.","areaServerError":"서버가 처리하지 못했습니다. 잠시 후 다시 시도하시거나 지원팀에 문의해 주세요.","floorDuplicate":"같은 이름의 좌석 배치도가 이미 있습니다.","floorSaveError":"좌석 배치도를 저장하지 못했습니다. 다시 시도해 주세요.","floorDeleteError":"좌석 배치도를 삭제하지 못했습니다. 다시 시도해 주세요.","floorForbidden":"이 레스토랑의 좌석 배치도를 변경할 권한이 없습니다.","floorServerError":"서버가 처리하지 못했습니다. 잠시 후 다시 시도하시거나 지원팀에 문의해 주세요.","areaConfirmDelete":"'{name}' 구역을 삭제할까요? 이 구역의 테이블 {tables}개가 모든 배치도에서 구역 없음 상태가 되고, 예약 승인 규칙에서도 이 구역이 사라집니다.","areaName":"구역 이름","areaNamePlaceholder":"테라스","deleteFloor":"좌석 배치도 삭제","floorConfirmDelete":"'{name}' 좌석 배치도를 삭제할까요? 모든 테이블과 저장된 배치가 사라지며, 되돌릴 수 없습니다.","activateConflictTitle":"테이블 번호 중복","activateConflictMsg":"{floors}에서 이미 {numbers} 테이블을 사용 중입니다. 번호는 사용 중인 배치도끼리 겹칠 수 없으므로 '{target}' 배치도를 켜면 다음이 꺼집니다: {floors}","activateSwap":"끄고 켜기","deleteFloorConfirm":"정말 진행할까요? 좌석 배치도와 ê·¸ 안의 모든 테이블이 삭제됩니다.","create":"만들기","areaColor":"구역 색상","floorDeleteBooked":"{tables} 테이블 — 진행 중인 예약 {count}ê±´. 배치도를 삭제하면 이 예약들은 테이블을 잃습니다. | 진행 중인 예약이 있는 테이블: {tables} (총 {count}ê±´). 배치도를 삭제하면 이 예약들은 테이블을 잃습니다.","checkingBookings":"예약 확인 중…","offlineWithBookingsTitle":"이 배치도에 예약된 고객이 있습니다","offlineWithBookingsBody":"'{name}' 배치도를 끄면 해당 테이블을 사용할 수 없게 되어 이 예약들은 테이블을 잃습니다. 언제든지 다시 켤 수 있습니다.","offlineWithBookingsConfirm":"그래도 끄기"},"tableRules":{"title":"테이블 규칙","description":"큰 단체를 받을 때 테이블을 어떻게 붙일 수 있는지 규칙을 설정합니다.","combinationsTitle":"테이블 조합","combinationsDesc":"어떤 테이블을 붙일 수 있고 합쳤을 때 몇 명까지 받을 수 있는지 정합니다.","noCombinations":"정의된 테이블 조합이 없습니다","noCombinationsHint":"테이블 조합을 쓰면 인접한 테이블을 붙여 큰 단체를 받을 수 있습니다.","onlyPreset":"지정한 조합만 허용","onlyPresetHint":"켜면 아래에 지정한 조합만 허용됩니다. 끄면 인접한 테이블은 자유롭게 붙일 수 있습니다.","addCombination":"조합 추가","tables":"테이블","minCovers":"최소 좌석","maxCovers":"최대 좌석","removeCombination":"제거","turnaroundTitle":"인원별 이용 시간","turnaroundDesc":"예약이 테이블을 차지하는 시간을 인원별로 정합니다. 단체는 보통 더 오래 머뭅니다. 첫 번째로 맞는 규칙이 적용됩니다.","turnoverByGroup":"인원별 이용 시간","turnoverByGroupHint":"예약이 테이블을 차지하는 시간을 인원별로 정합니다. 단체는 보통 더 오래 머뭅니다. 첫 번째로 맞는 규칙이 적용됩니다.","holdTime":"인원별 테이블 선점 시간","holdTimeHint":"배정된 테이블이 예약 시작 전에 '예약 예정' 상태로 잡혀 있는 시간이며, 인원별로 설정합니다. 첫 번째로 맞는 규칙이 적용됩니다.","holdMinutes":"선점 시간(분)","partySize":"인원","duration":"이용 시간","addRow":"규칙 추가","seatingPolicy":"착석 정책","seatingPolicyDesc":"예약, 워크인, 웨이팅 모두에 적용되는 착석 규칙입니다.","autoTableAssignment":"새 예약에 테이블 자동 배정","autoTableAssignmentHint":"예약을 만들거나 워크인 고객을 앉힐 때, 인원과 여유를 ë³´ê³  가장 알맞은 테이블을 시스템이 제안합니다. 호스트는 언제든 바꿀 수 있습니다. 예약과 워크인 모두에 적용됩니다.","autoTableAssignmentWaitlistNote":"웨이팅에는 별도의 자동 배정 설정이 있습니다:","autoTableAssignmentWaitlistLink":"웨이팅 설정 열기 →","seatingPolicyConflict":"자동 배정과 테이블 없이 착석은 동시에 켤 수 없습니다 — 테이블 없이 앉힐 수 있다면 자동으로 배정할 대상이 없기 때문입니다. 하나를 켜면 다른 하나가 꺼집니다.","seatWithoutTable":"테이블 없이 착석 허용","seatWithoutTableHint":"지정된 테이블이 없어도 고객을 앉힐 수 있습니다 (바나 카운터, 빠르게 회전하는 워크인에 유용합니다).","trackCreators":"작성자·수정자 기록","trackCreatorsHint":"'선택' 또는 '필수'로 설정하면 각 예약을 누가 만들고 수정했는지 기록이 남습니다. 기록은 예약 카드에 표시됩니다.","trackCreatorsOff":"사용 안 함","trackCreatorsOptional":"선택","trackCreatorsRequired":"필수","serverRotation":"홀 직원 순환","serverRotationDesc":"새로 온 팀에 홀 직원을 어떻게 배정할지 설정합니다. 자동 순환은 착석을 고르게 분배합니다.","serverRotationFutureNote":"직원 명단과 섹션 배정은 별도의 홀 직원 관리 화면에서 설정할 예정입니다 (준비 중).","manualServerAssignment":"직접 배정만 사용","manualServerAssignmentHint":"자동 순환을 꺼서 호스트가 팀마다 직원을 직접 고르게 합니다.","rotationRule":"순환 방식","rotationLastSeated":"마지막 착석 시각 기준","rotationLastSeatedHint":"담당 섹션에서 마지막 착석이 가장 ì˜
1¤ëž˜ì „인 직원.","rotationLowestParties":"담당 팀 수가 가장 적은 순","rotationLowestPartiesHint":"그날 착석시킨 팀 수가 가장 적은 직원.","rotationLowestTables":"담당 테이블 수가 가장 적은 순","rotationLowestTablesHint":"그날 배정된 테이블 수가 가장 적은 직원.","rotationLowestGuests":"현재 담당 인원이 가장 적은 순","rotationLowestGuestsHint":"지금 담당하고 있는 고객 수가 가장 적은 직원.","rotationAlphabetical":"가나다순","rotationAlphabeticalHint":"이름의 가나다순으로 다음 직원이 정해집니다.","noServerSections":"홀 섹션 사용 안 함","noServerSectionsHint":"홀 전체를 하나의 구역으로 봅니다 — 섹션별 직원 배정이 없습니다.","tableStatusWorkflow":"테이블 상태 흐름","tableStatusWorkflowDesc":"식사가 진행되는 동안 테이블 상태가 어떻게 동작할지 세부 설정합니다.","groupSizeValidation":"인원 확인","groupSizeValidationHint":"인원 범위에 맞지 않는 테이블에 팀을 앉히지 못하게 합니다.","syncByCourse":"코스에 맞춰 상태 동기화","syncByCourseHint":"코스가 나갈 때마다 테이블 상태를 자동으로 넘깁니다.","dontSyncStates":"테이블 상태를 동기화하지 않음","dontSyncStatesHint":"테이블 상태를 각각 독립적으로 둡니다 — 직원이 직접 변경해야 합니다."},"availability":{"title":"예약 가능 시간표","description":"레스토랑이 예약을 받는 시간을 설정합니다. 요일마다 다르게 설정할 수 있습니다.","operatingHoursTitle":"영업시간","operatingHoursDesc":"레스토랑이 실제로 문을 여는 시간입니다. 온라인 예약 시간대, 워크인, 공개 위젯의 상한으로 사용됩니다.","scheduleTitle":"온라인 예약 시간","scheduleDesc":"고객이 온라인으로 예약할 수 있는 시간입니다(위젯, Google 예약). 보통 영업시간보다 좁습니다.","closuresTitle":"온라인 예약 예외일","closuresDesc":"온라인 예약을 다른 시간에 받거나 아예 받지 않는 특정 날짜입니다. 공휴일, 단독 행사, 단축 영업 등. 영업시간은 바뀌지 않으며, 호스트는 여전히 고객을 받고 직접 예약을 만들 수 있습니다.","noClosures":"설정된 예외가 없습니다","addClosure":"예외 추가","removeClosure":"삭제","outdatedBadge":"기한 지남","repeatYearly":"매년 반복","restrictionTimeSlots":"예약 접수 시간대","restrictionAddTimeSlot":"접수 시간대 추가","restrictionAllDay":"하루 종일 예약을 받지 않음","dayPlaceholder":"DD","closed":"휴무","notBookable":"예약 불가","addInterval":"시간대 추가","removeInterval":"삭제","applyToAll":"모든 요일에 적용","applyToAllShort":"전체 적용","applyToAllHint":"이 시간대를 모든 요일에 복사합니다","slots":{"title":"예약 시간대","manage":"고객이 예약할 수 있는 시간대 설정","hint":"온라인 예약에서 제외할 시간대를 꺼 두세요.","summaryAll":"전체 {n}개 시간대 사용 가능","summarySome":"{total}개 중 {n}개 사용 가능","enableAll":"전체 사용","loading":"시간대 불러오는 중…","error":"시간대를 불러오지 못했습니다.","retry":"다시 시도","empty":"이 날짜에는 시간대가 없습니다."},"exceptionsTitle":"특별 기간","exceptionsDesc":"공휴일, 특별 행사, 계절 변화에 맞춰 기본 시간표를 덮어씁니다.","noExceptions":"설정된 특별 기간이 없습니다","addException":"특별 기간 추가","exceptionName":"기간 이름","exceptionNamePlaceholder":"공휴일 영업시간","dateRange":"기간","from":"시작","to":"종료","removeException":"삭제","dayNames":{"0":"일요일","1":"월요일","2":"화요일","3":"수요일","4":"목요일","5":"금요일","6":"토요일"}},"coverPacing":{"title":"고객 흐름","slotSize":"시간 단위","slotSizeHint":"고객이 선택하는 시간 간격입니다. 15분이면 12:00, 12:15, 12:30이 됩니다. 아래의 모든 제한은 이 시간 단위 하나를 기준으로 계산됩니다.","slotSizeMinutes":"{value}분","maxCoversPerSlot":"시간대당 최대 인원","maxCoversPerSlotHint":"같은 시각에 몇 명까지 올 수 있는지 정합니다. 한도가 차면 고객에게 더 늦은 시간을 제안합니다.","maxReservationsPerSlot":"시간대당 최대 예약 건수","maxReservationsPerSlotHint":"한 시간대에 받을 수 있는 개별 예약의 최대 건수입니다.","hardMaxReservations":"예약 건수 절대 상한","hardMaxReservationsHint":"호스트가 만든 예약까지 포함하는 절대 한도입니다.","hostLimits":"호스트 예약 한도","hostLimits
1Desc":"호스트나 직원이 만드는 예약에 적용할 추가 한도를 설정합니다.","totalCoversOnline":"동시 온라인 예약 인원","totalCoversOnlineHint":"홀의 어느 정도를 온라인 예약 — 웹사이트, 위젯, Google — 에 배정할지 정합니다. ê·¸ 시각에 앉아 있는 모든 사람을 세며, 먼저 온 고객도 포함됩니다. 나머지 자리는 호스트와 워크인 고객 몫입니다.","totalCoversHost":"동시 호스트 예약 인원","totalCoversHostHint":"호스트가 만드는 예약에 대해서도 같습니다. POS 연동으로 들어온 예약은 이 두 한도 어디에도 포함되지 않습니다.","seatingOptimization":"착석 최적화","seatingOptimizationDesc":"시스템이 테이블 배정을 최적화해 홀을 더 잘 활용하도록 합니다.","optimizeForHost":"호스트 예약 최적화","optimizeForHostHint":"호스트가 만든 예약에 가장 알맞은 테이블을 시스템이 제안합니다.","optimizeForGuest":"고객 예약 최적화","optimizeForGuestHint":"온라인 예약에 가장 알맞은 테이블을 시스템이 고릅니다.","unlimited":"무제한","exceptionsTitle":"요일 예외","exceptionsDesc":"특정 요일에만 적용할 규칙입니다 — 예를 들어 금요일에는 시간대당 8명까지만 받기. '시간대당 최대 인원'보다 우선합니다.","noExceptions":"설정된 예외가 없습니다","addException":"예외 추가","dayOfWeek":"요일","maxCovers":"최대 인원","removeException":"삭제","pacingTitle":"고객을 ì
1–¼ë§ˆë‚˜ 빨리 받을지","pacingDesc":"입구의 흐름을 고르게 만들어 주방과 호스트에게 한꺼번에 몰리지 않게 합니다.","maxBookingsPerSlot":"시간대당 최대 예약 건수","maxBookingsPerSlotHint":"같은 시각에 몇 팀까지 받을지 정합니다. 2인 예약 세 건은 여섯 명뿐이지만 착석은 세 번입니다. 웹사이트는 가득 ì°¬ 시각을 더 이상 제안하지 않지만, 호스트는 직접 예약을 추가할 수 있습니다.","hardLimitsTitle":"넘을 수 없는 한도","hardLimitsDesc":"초과 방지 장치입니다. 이 값을 넘으면 직접 입력해도 예약이 저장되지 않습니다.","hardMaxCoversPerSlot":"시간대당 인원 절대 한도","hardMaxCoversPerSlotHint":"이 수를 넘으면 호스트가 직접 입력해도 같은 시각에 고객을 더 앉힐 수 없습니다. 온라인 예약에는 영향이 없으며, 온라인에는 위의 일반 한도가 적용됩니다.","hardMaxBookingsPerSlot":"시간대당 예약 건수 절대 한도","hardMaxBookingsPerSlotHint":"이 수를 넘으면 직접 입력해도 예약이 저장되지 않습니다. 일반 한도보다 크게 잡으세요 — ê·¸ 차이가 호스트가 쓸 수 있는 여유입니다.","hardBelowSoftWarn":"절대 한도가 일반 한도보다 낮습니다 — 호스트에게 남는 여유가 없습니다.","channelQuotasTitle":"채널별로 홀을 얼마나 배정할지","channelQuotasDesc":"온라인 예약과 호스트 예약으로 같은 시각에 앉는 고객 수를 각각 제한합니다.","exceptionWhen":"적용 ì¡°ê±´","allDaysUsed":"모든 요일에 이미 예외가 설정되어 있습니다","exceptionNoWindow":"시간 범위가 설정되지 않아 이 규칙은 적용되지 않습니다. 시간을 추가해 주세요."},"blockedTables":{"title":"차단된 테이블","description":"특정 기간 동안 특정 테이블을 차단합니다. 차단된 테이블은 예약과 워크인 모두 받을 수 없습니다.","pinProtection":"PIN 보호","pinProtectionDesc":"테이블 차단을 해제할 때 PIN을 요구해 임의 변경을 막습니다.","requirePin":"차단 해제 시 PIN 요구","pinCode":"PIN 번호","pinPlaceholder":"4자리 PIN을 입력하세요","pinRequired":"보호를 켜려면 PIN을 입력해 주세요.","periodsTitle":"차단 기간","periodsDesc":"특정 테이블을 차단할 시간 범위를 설정합니다.","noPeriods":"설정된 차단 기간이 없습니다","noPeriodsHint":"행사나 정비를 위해 테이블을 비워 두려면 차단 기간을 추가하세요.","addPeriod":"차단 기간 추가","tables":"테이블","allTables":"모든 테이블","from":"시작","to":"종료","selectTables":"테이블 선택","tablesSelected":"테이블 {count}개 선택됨","allDay":"하루 종일","timeSlots":"시간대","addTimeSlot":"시간대 추가","removePeriod":"삭제","outdatedBadge":"기한 지남"},"tablesPicker":{"allTables":"모든 테이블","allTablesHint":"비워 두면 모든 테이블에 적용됩니다.","selectTables":"테이블을 선택하세요…","oneSelected":"테이블 1개 선택됨","nSelected":"테이블 {count}개 선택됨","searchPlaceholder":"테이블 검색…","selectAll":"전체 선택","clear":"선택 해제","noMatches":"검색 결과에 맞는 테이블이 없습니다","noTables":"사용할 수 있는 테이블이 없습니다. 먼저 좌석 배치도에 테이블을 추가하세요.","unknownGroup":"선택되어 있지만 현재 배치도에 없음","unknownHint":"예전에 선택했으나 지금 배치도에는 없는 테이블입니다. 눌러서 삭제하세요.","offlineHint":"사용하지 않는 배치도에 있는 테이블입니다.","groupBy":"분류 기준:","byArea":"구역","byFloor":"배치도"},"activeReservations":{"table":"{n}번 테이블","count":"진행 중인 예약: {count}ê±´","guestsHeading":"예약한 고객","noName":"이름 없음","noTime":"예약 없음","party":"인원: {count}명","andMore":"외 {count}명"}}`),D={menuBuilder:{title:"메뉴",description:"섹션과 상품으로 레스토랑 메뉴를 만들고 관리합니다.",noMenus:"아직 메뉴가 없습니다",noMenusHint:"첫 메뉴를 만들어 시작하세요.",addMenu:"메뉴 추가",menuName:"메뉴 이름",menuNamePlaceholder:"예: 런치 메뉴",active:"사용 중",inactive:"사용 안 함",products:"상품 {count}개",sections:"섹션",menuContent:"메뉴 구성",menuContentDesc:"이 메뉴를 이루는 섹션과 상품입니다. 섹션 이름을 누르면 이름을 바꿀 수 있습니다.",noSections:"이 메뉴에 섹션이 없습니다",addSection:"섹션 추가",newSectionName:"새 섹션",deleteSection:"섹션 삭제",deleteSectionConfirm:"'{name}' 섹션과 ê·¸ 안의 모든 상품을 이 메뉴에서 삭제할까요?",deleteMenu:"메뉴 삭제",deleteMenuConfirm:"'{name}' 메뉴를 삭제할까요? 되돌릴 수 없습니다.",unsavedSwitchMessage:"이 메뉴에 저장하지 않은 변경 사항이 있습니다. 저장하지 않고 계속할까요?",unsavedSwitchConfirm:"저장하지 않고 계속",menuDetails:"메뉴 정보",menuDetailsDesc:"메뉴 이름을 수정하고 사용 여부를 ì
1„¤ì •합니다.",sectionsDesc:"이 메뉴의 섹션을 확인하고 관리합니다.",noProducts:"이 섹션에 상품이 없습니다",addProduct:"상품 추가",addProductHint:"이 섹션에 추가할 상품을 고르세요.",removeProduct:"섹션에서 빼기",noMatchingProducts:"일치하는 상품이 없습니다.",allProductsAdded:"모든 상품이 이미 이 섹션에 있습니다.",modifiersToggle:"추가 옵션 설정",modifiersToggleDescription:"이 메뉴에서 추가 옵션을 켜거나 끕니다."},products:{title:"상품",description:"모든 메뉴의 상품을 관리합니다.",searchPlaceholder:"상품 검색…",allCategories:"전체 카테고리",noProducts:"상품을 찾을 수 없습니다",noProductsHint:"카테고리에 추가하면 상품이 여기에 표시됩니다.",loadMore:"더 보기",showingCount:"{total}개 중 {shown}개 표시",loadError:"상품을 불러오지 못했습니다.",modifiers:"추가 옵션",addModifier:"추가 옵션 넣기",removeModifier:"{name} 옵션 빼기",viaCategory:"카테고리에서 상속",modifierViaCategoryHint:"카테고리 전체에 적용된 옵션입니다 — '추가 옵션' 탭에서 관리하세요.",noModifiers:"연결된 추가 옵션이 없습니다.",available:"판매 중",unavailable:"판매 중지",editProduct:"상품 편집",deleteProduct:"상품 삭제",deleteProductConfirm:"'{name}' 상품을 삭제할까요? 되돌릴 수 없습니다.",newProduct:"새 상품",newProductName:"새 상품",createNeedsCategory:"상품을 추가하려면 먼저 카테고리를 하나 이상 만들어 주세요.",name:"이름",productDescription:"설명",price:"가격",pickupPrice:"포장 가격",deliveryPrice:"배달 가격",taxRate:"세율",pickupTaxRate:"포장 세율",deliveryTaxRate:"배달 세율",pricesAndTaxes:"가격과 세금",pricesAndTaxesHint:"포장·배달 값을 비워 두면 기본 가격과 세율이 적용됩니다.",image:"이미지",uploadImage:"이미지 올리기",changeImage:"이미지 교체",removeImage:"이미지 삭제",requiredFieldHint:"*가 붙은 항목은 필수입니다.",category:"카테고리",createNewCategory:"+ 새 카테고리 만들기…",newCategoryPlaceholder:"카테고리 이름",createCategory:"만들기",noCategory:"카테고리 없음",availability:"판매 중",pickup:"포장",delivery:"배달"},categories:{title:"카테고리",description:"메뉴 항목을 정리하는 상품 그룹입니다.",newCategory:"새 카테고리",newCategoryName:"새 카테고리",deleteCategory:"카테고리 삭제",deleteCategoryConfirm:"'{name}' 카테고리를 삭제할까요? 되돌릴 수 없습니다.",deleteCategoryWithProductsConfirm:"'{name}' 카테고리를 삭제할까요? 이 카테고리의 상품 {count}개가 카테고리 없음 상태가 됩니다.",markActive:"사용으로 변경",markInactive:"사용 안 함으로 변경",noCategories:"카테고리를 찾을 수 없습니다",noCategoriesHint:"'새 카테고리'를 눌러 만들어 보세요.",active:"사용 중",inactive:"사용 안 함",totalProducts:"상품 {count}개",activeProducts:"판매 중 {count}개",productCount:"상품 {count}개, 판매 중 {active}개",noProducts:"이 카테고리에 상품이 없습니다",manageCategories:"카테고리 관리",manageCategoriesDescription:"상품을 분류하는 카테고리를 만들고, 이름을 바꾸고, 사용 여부를 정하거나 삭제합니다.",backToList:"목록으로",selectCategory:"카테고리 선택",editCategory:"카테고리 편집",categoryName:"카테고리 이름",productsInsideHint:"현재 이 카테고리의 상품: {count}개"},modifiers:{title:"추가 옵션",description:"추가 옵션과 ê·¸ 선택지를 관리합니다. 추가 옵션을 상품에 연결하면 고객이 주문을 세부 조정할 수 있습니다.",noModifiers:"아직 추가 옵션이 없습니다",noModifiersHint:"추가 옵션을 만들면 상품에 선택지를 붙일 수 있습니다.",addModifier:"추가 옵션 만들기",newModifier:"새 추가 옵션",modifierName:"추가 옵션 이름",modifierNamePlaceholder:"예: 소스 선택",editModifier:"추가 옵션 편집",displayName:"표시 이름",active:"사용 중",inactive:"사용 안 함",type:"유형",typeNote:"메모",typeOptions:"선택지",typeNoteHint:"주문 위젯에 표시되는 자유 입력 메모이며, 고를 선택지는 없습니다.",typeOptionsHint:"고를 수 있는 선택지 목록입니다 (맛, 크기, 추가 재료 등).",summaryNote:"메모",summaryOptions:"선택지 {count}개",selectionMode:"선택 방식",singleSelect:"하나만 (라디오 버튼)",singleSelectHint:"고객이 정확히 하나를 고릅니다.",multiSelect:"여러 개 (체크박스)",multiSelectHint:"고객이 여러 개를 고를 수 있습니다.",minSelections:"최소 선택",maxSelections:"최대 선택",unlimited:"제한 없음",selectionLimitsHint:"고객이 몇 개를 반드시 골라야 하는지, 몇 개까지 고를 수 있는지 제한합니다.",linkedProducts:"연결된 상품 {count}개",linkedProductsTitle:"연결된 상품",linkedProductsHint:"주문 위젯에서 이 추가 옵션이 표시될 상품입니다.",linkProducts:"상품 연결",noLinkedProducts:"아직 연결된 상품이 없습니다.",linkProductsModalTitle:"상품 연결",searchProducts:"상품 검색…",selectAll:"전체 선택",selectNone:"선택 해제",selectedCount:"{count}개 선택됨",deleteModifier:"추가 옵션 삭제",deleteModifierConfirm:"'{name}' 추가 옵션을 삭제할까요? 연결된 모든 상품에서도 함께 사라집니다.",options:"선택지",addOption:"선택지 추가",optionName:"선택지 이름",optionNamePlaceholder:"예: 두유",optionDescription:"설명 (선택)",optionPrice:"가격",optionTaxRate:"세율 (선택)",default:"기본값",defaultHint:"고객이 추가 옵션을 열었을 때 미리 선택되어 있습니다.",noOptions:"아직 선택지가 없습니다 — 첫 선택지를 추가하세요.",deleteOption:"선택지 삭제",deleteOptionConfirm:"이 선택지를 삭제할까요?"},settings:{noMenu:"— 없음 —",min:"분",cutoffDisabled:"사용 안 함",cutoffHint:"이 시각 이후에는 당일 온라인 주문을 받지 않습니다. 사용하지 않으면 영업 종료까지 주문을 받습니다.",maxOrdersHint:"한 시간대에 받을 수 있는 온라인 주문 건수입니다.",maxOrdersZeroWarning:"0이면 온라인 주문을 받지 않으며, 위젯에 주문 불가로 표시됩니다. 0보다 큰 값을 지정하세요.",delivery:{title:"배달",description:"배달 주문 설정: 시간, 메뉴, 요금, 제한.",enabled:"배달 주문 받기",scheduleForLater:"예약 주문 í—
1ˆìš©",useOpenHours:"레스토랑 영업시간 사용",menu:"배달 메뉴",minimumNotice:"최소 준비 시간",maxDaysToOrder:"최대 예약 가능 일수",maxOrdersPerSlot:"시간대당 최대 주문",cutoffTime:"마감 시각",guestNote:"고객 안내문",distanceFeeRules:"거리별 요금 규칙",distance:"거리",fee:"배달료",minOrder:"최소 주문",noDistanceFeeRules:"설정된 거리별 요금 규칙이 없습니다.",discountRules:"할인 규칙",orderAmount:"주문 금액",discount:"할인",noDiscountRules:"설정된 할인 규칙이 없습니다."},takeaway:{title:"포장",description:"포장 주문 옵션을 설정합니다.",enabled:"포장 주문 받기",scheduleForLater:"예약 주문 허용",useOpenHours:"레스토랑 영업시간 사용",menu:"포장 메뉴",minimumNotice:"최소 준비 시간",maxDaysToOrder:"최대 예약 가능 일수",maxOrdersPerSlot:"시간대당 최대 주문",cutoffTime:"마감 시각",guestNote:"고객 안내문"},preorder:{title:"사전 주문",description:"고객이 방문 전에 미리 음식을 주문할 수 있게 합니다.",enabled:"사전 주문 받기",menu:"사전 주문 메뉴",minOrder:"최소 주문 금액"},digital:{title:"디지털 메뉴",description:"QR 코드나 링크로 ë³¼ 수 있는 디지털 메뉴를 설정합니다.",enabled:"디지털 메뉴 사용",menu:"디지털 메뉴"},tips:{title:"팁",description:"온라인 주문의 팁 옵션을 설정합니다.",enabled:"팁 받기",options:"팁 비율"},taxes:{title:"세금",description:"온라인 주문의 부가세와 세금 설정입니다.",includeVAT:"가격에 부가세 포함"},additional:{title:"특별 요청 항목",description:"고객이 주문과 함께 요청할 수 있는 추가 항목입니다.",contactless:"비대면 배달",dontDisturb:"벨 누르지 않기",needCardReader:"카드 단말기 필요"},statuses:{title:"주문 상태",description:"주문 처리 단계를 관리합니다. 기본 상태는 삭제할 수 없습니다.",grandeUpgrade:"상태를 새로 추가하거나 맞춤 상태를 삭제하는 기능은 Grande 요금제에서 사용할 수 있습니다. 아래 기존 상태의 색상, 적용 대상, 순서, 사용 여부는 어느 요금제에서나 수정할 수 있습니다.",addStatus:"맞춤 상태 추가",colDelivery:"배달",colPickup:"포장",applyDelivery:"배달에 적용",applyPickup:"포장에 적용",system:{kitchen:"조리 중",ready:"준비 완료",inroute:"배달 중"}}}},C={title:"아이콘 선택",searchPlaceholder:"아이콘 검색…",catAll:"전체",catFood:"음식과 음료",catPeople:"사람",catSeating:"좌석",catCommunication:"소통",catStatus:"상태",catObjects:"사물",catTravel:"여행",catTechnology:"기술",catFinance:"금융",catNature:"자연",catMood:"분위기",catTime:"시간",catEntertainment:"엔터테인먼트",catMusic:"음악",catGeneral:"일반",noResults:"아이콘을 찾을 수 없습니다"},w={restaurants:{list:"내 레스토랑",listDesc:"접근 권한이 있는 레스토랑입니다. 다른 레스토랑으로 전환하거나 더 이상 필요 없는 곳을 삭제할 수 있습니다.",current:"현재",switchTo:"전환",remove:"삭제",removeTitle:"레스토랑 삭제",removeDesc:"'{name}' 레스토랑을 영구히 삭제하려고 합니다. 되돌릴 수 없으며 모든 예약, 설정, 결제 데이터가 사라집니다.",removeConfirm:"레스토랑 삭제",removeReason:"삭제 사유",removeReasonPlaceholder:"이 레스토랑을 삭제하려는 이유를 알려 주세요…",empty:"아직 접근 권한이 있는 레스토랑이 없습니다.",addNew:"추가",addNewTitle:"새 레스토랑 추가",addNewDesc:"내 계정에 매장ì
1„ 하나 더 만듭니다. 만든 분이 자동으로 소유자가 됩니다.",addNewSubmit:"레스토랑 만들기",subscriptionWarning:"매장 하나에 구독 하나입니다. 새 레스토랑을 추가하면 별도의 구독이 생성되며 결제 금액이 달라질 수 있습니다.",iUnderstand:"이 레스토랑에 대해 별도의 구독이 생성된다는 점을 이해했습니다.",verified:"인증됨",suspended:"이용 정지",suspendedDesc:"결제 문제로 현재 이용이 정지된 레스토랑입니다.",offline:"비공개",offlineDesc:"공개 예약 채널에서 숨겨진 레스토랑입니다."},team:{members:"팀원",membersDesc:"이 레스토랑의 관리자 화면에 접근할 수 있는 사람입니다.",name:"이름",email:"이메일",role:"역할",actions:"작업",noMembers:"팀원을 찾을 수 없습니다.",removeUser:"삭제",removeTitle:"팀원 삭제",removeDesc:"'{name}' 님을 팀에서 삭제하려고 합니다. 이 레스토랑의 관리자 화면에 접근할 수 없게 됩니다.",removeConfirm:"사용자 삭제",changeRole:"역할 변경",changeRoleTitle:"역할 변경",changeRoleDesc:"{name} 님의 역할을 변경합니다. 새 권한은 즉시 적용되며 다시 초대할 필요가 없습니다.",currentRole:"현재 역할",newRole:"새 역할",inviteTitle:"팀원 초대",inviteDesc:"이 레스토랑 팀에 참여하도록 초대장을 보냅니다.",emailPlaceholder:"colleague{'@'}example.com",invite:"초대",sendInvite:"초대장 보내기",sendShort:"보내기",pendingInvitations:"대기 중인 초대",pendingDesc:"보냈지만 아직 수락되지 않은 초대입니다.",pending:"대기 중",noPending:"ë
1Œ€ê¸° 중인 초대가 없습니다.",resend:"다시 보내기",cancelInvite:"취소"},billing:{currentPlan:"현재 요금제",currentPlanDesc:"이용 중인 구독과 결제 정보입니다.",renewsOn:"{date} 갱신",nextBilling:"다음 결제일",endedOn:"종료일",startedOn:"시작일",includes:"포함 내역",eventsUsage:"이번 기간 이벤트",eventsRemaining:"{count}ê±´ 남음",eventsOverage:"한도를 넘는 이벤트는 건별로 청구됩니다",eventsOverageDetail:"한도 초과 {overage}ê±´ · 다음 청구서에 약 {estimated}",eventsOveragePerEvent:"초과 이벤트는 건당 {price}",trialPeriodHeader:"체험 기간",trialDaysCounter:"{total}일 중 {remaining}일 남음",trialEndsToday:"체험 기간이 오늘 끝납니다",paymentStatusHeader:"결제 상태",paymentFailedMessage:"마지막 결제가 실패했습니다 — 이용 정지를 피하려면 카드를 변경해 주세요",changePlan:"요금제 변경",choosePlan:"요금제 선택",plansModalTitle:"요금제 선택",plansModalDesc:"레스토랑에 맞는 요금제를 고르세요.",noPlans:"지금은 선택할 수 있는 요금제가 없습니다.",noPlansForInterval:"이 결제 주기에는 선택할 수 있는 요금제가 없습니다.",switchToPlan:"이 요금제로 변경",upgrade:"상위 요금제로",downgrade:"하위 요금제로",intervalTab:{day:"일 단위",week:"주 단위",month:"월 단위",year:"연 단위"},pricePeriod:{day:"일",week:"주",month:"월",year:"년"},priceNote:{billedAnnually:"연 1회 결제",billedMonthly:"월 1회 결제"},parties:"팀",partiesUnlimited:"무제한",scrollToPlan:"{n}번 요금제로 이동",subStatus:{active:"이용 중",trialing:"체험 중",past_due:"연체",canceled:"해지됨",incomplete:"미완료",incomplete_expired:"만료됨",inactive:"활성화 대기",unpaid:"미결제",paused:"일시 중지"},cancelSubscription:"구독 해지",cancelShort:"해지",noSubscription:"이용 중인 구독이 없습니다. 아래에서 요금제를 선택해 시작하세요.",availablePlans:"이용 가능한 요금제",availablePlansDesc:"레스토랑에 맞는 요금제를 선택하세요.",selectPlan:"요금제 선택",activePlan:"현재 요금제",paymentMethods:"결제 수단",paymentMethodsDesc:"구독 자동 결제에 사용할 등록된 카드입니다.",noCards:"등록된 결제 수단이 없습니다.",defaultCard:"기본",expires:"{month}/{year}까지 유효",removeCard:"카드 삭제",removeCardTitle:"결제 수단 삭제",removeCardDesc:"끝자리가 {last4}인 카드를 삭제할까요?",removeCardConfirm:"카드 삭제",addCard:"카드 추가",addCardTitle:"결제 수단 추가",addCardDesc:"구독 결제에 사용할 카드를 추가하세요. 결제는 Stripe를 통해 처리됩니다.",addCardSubmit:"카드 추가",cardholderName:"카드 소유자 이름",cardholderNamePlaceholder:"홍길동",cardholderEmail:"이메일",cardholderEmailPlaceholder:"hong{'@'}example.com",cardDetails:"카드 정보",stripeSecured:"카드 정보는 암호화되어 Stripe가 처리합니다. 저희는 카드 번호를 저장하지 않습니다.",addCardMissingFields:"카드 소유자 이름과 이메일을 입력해 주세요.",addCardError:"카드를 추가하지 못했습니다. 정보를 확인하고 다시 시도해 주세요.",addCardNotConfigured:"이 환경에서는 카드 결제가 설정되어 있지 않습니다.",history:"결제 내역",historyDesc:"이 레스토랑의 지난 청구와 결제 내역입니다.",noCharges:"아직 결제 내역이 없습니다.",noChargesFiltered:"선택한 조건에 맞는 결제 내역이 없습니다.",date:"날짜",amount:"금액",status:"상태",refunded:"환불",paid:"결제 완료",unpaid:"미결제",invoice:"청구서",invoiceNumber:"청구서 번호",invoiceUnavailable:"청구서를 ë³¼ 수 없습니다",product:"상품",productUnknown:"알 수 없음",productUnavailable:"이 결제의 상품 정보는 아직 제공되지 않습니다.",productNames:{Other:"기타",Subscription:"구독",MarketingTokens:"마케팅 토큰",PhoneNumber:"전화번호",SmsPack:"SMS 패키지",WhatsAppPack:"WhatsApp 패키지",GuestDeposit:"고객 예약금",GiftCard:"기프트 카드",PaidEvent:"유료 이벤트"},downloadInvoicePdf:"청구서 PDF 내려받기",viewReceipt:"영수증 보기",statusSucceeded:"성공",statusFailed:"실패",statusPending:"처리 중",statusRefunded:"환불됨",statusPartiallyRefunded:"부분 환불",filterAll:"전체",filterPaid:"결제 완료",filterFailed:"실패",filterRefunded:"환불",dateRange30d:"최근 30일",dateRange90d:"최근 90일",dateRangeYear:"올해",dateRangeAll:"전체 기간",exportCsv:"내보내기",amountTooltip:"기본 금액 {subtotal} + 팁 {tips} + 배달료 {delivery}",refundedAmount:"{amount} 환불됨",refundedAmountShort:"−{amount} 환불",pageOf:"{total}페이지 중 {current}페이지",prevPage:"이전 페이지",nextPage:"다음 페이지",cancelTitle:"구독 해지",cancelDesc:"정말 구독을 해지할까요? 현재 결제 기간이 끝나면 유료 기능을 사용할 수 없게 됩니다.",cancelReasonLabel:"해지 사유",cancelReasonPlaceholder:"구독을 해지하시는 이유를 알려 주세요…",cancelConfirm:"구독 해지"},activityLog:{title:"변경 기록",description:"레스토랑 설정의 모든 변경을 추적합니다 — 누가, 무엇을, 언제 바꿨는지.",entries:"ê±´",searchPlaceholder:"변경 내용 검색…",searchShort:"검색…",allUsers:"전체 팀원",undefinedUser:"알 수 없는 사용자",allOperations:"전체 작업",resetFilters:"초기화",noResults:"조건에 맞는 기록이 없습니다. 필터를 조정해 보세요.",empty:"아직 기록된 활동이 없습니다.",noReadableChanges:"표시할 정리된 변경 내용이 없습니다.",showRaw:"원본 JSON 보기",hideRaw:"원본 JSON 숨기기",op:{create:"생성",update:"수정",delete:"삭제",disable:"사용 중지",activate:"사용 시작"},changes:{enabled:"{field} — 켜짐",disabled:"{field} — 꺼짐",set:"{field}: '{value}'(으)로 설정",cleared:"{field}: 지움",changed:"{field}: '{from}' → '{to}'",items:"항목 {count}개"}}},k={status:{connected:"연결됨",available:"사용 가능",error:"오류"},actions:{connect:"연결",buy:"구매",reconnect:"다시 연결",settings:"설정",remove:"연결 해제",fix:"수정",getSetUp:"설정하기",comingSoon:"준비 중"},sections:{connected:"연결됨",available:"사용 가능"}
1,pos:{emptyTitle:"POS 시스템 없음",emptyDescription:"POS 시스템을 연결하면 예약, 메뉴, 테이블 상태가 자동으로 동기화됩니다."},payments:{emptyTitle:"결제 대행사 없음",emptyDescription:"결제 연동을 켜면 예약금, 선결제, 앱 내 결제를 받을 수 있습니다."},stripeAttach:{progress:"Stripe 연결 중…",errorTitle:"Stripe를 연결하지 못했습니다",errorBody:"연결이 완료되지 않았습니다. '연동'에서 다시 시도해 주세요.",errorGatewayBody:"이 매장은 이미 다른 결제 대행사로 결제를 받고 있습니다. 연동에서 해당 앱의 연결을 끊거나 결제 기능을 끈 다음 Stripe를 연결해 주세요. 결제 계정을 삭제해도 대행사는 해제되지 않습니다.",back:"연동으로 돌아가기"},thirdParty:{emptyTitle:"외부 앱 없음",emptyDescription:"사용할 수 있는 연동을 둘러보고 레스토랑의 기능을 넓혀 보세요."},channels:{emptyTitle:"메시지 채널 없음",emptyDescription:"SMS, WhatsApp, Telegram, Max 연동이 여기에 표시됩니다."},connectedTab:{emptyTitle:"연결된 연동 없음",emptyDescription:"어떤 분류에서든 연동을 연결하면 여기에 유형별로 묶여 표시됩니다."},settingsModal:{title:"설정 — {app}",requiresDependency:"'{dependency}' 연동이 필요합니다. 마켓플레이스에서 설치하면 이 설정을 사용할 수 있습니다.",noSettings:"이 앱에는 설정할 수 있는 항목이 없습니다."},detailsPanel:{features:"기능",settings:"설정",reconnectTitle:"이 연동 다시 연결하기",reconnectHint:"예를 들어 봇을 바꾸거나 인증 정보를 갱신할 때 사용합니다.",nothingToConfigure:"이 연동에는 설정할 항목이 없습니다."},airsales:{settings:{clientId:{label:"Hostme Client ID",desc:"Hostme에서 발급합니다 — AiR Sales 계정에 복사해 넣으세요. Hostme 아이디와 비밀번호는 필요하지 않습니다."},clientSecret:{label:"Hostme Client Secret",desc:"Hostme에서 발급합니다 — AiR Sales 계정에 복사해 넣으세요. 앱 연결을 해제하면 접근이 즉시 차단됩니다."}}},yandex:{connectHelp:"얀덱스 이츠에 연결해야 합니다. {link} — 예약 시스템으로 Hostme를 지정하고 위의 세 항목을 입력하세요. 연결이 끝나면 Yandex Client ID와 Secret을 받게 되며, 아래에 붙여 넣으시면 됩니다.",connectHelpLink:"신청서 작성하기",features:{reservationPull:{title:"얀덱스에서 예약 받기",desc:"얀덱스 이츠가 예약 가능 시간, 테이블, 시간대를 확인하고 Hostme에서 예약을 만들거나 조회하거나 취소할 수 있게 합니다."},reservationPush:{title:"얀덱스로 상태 전송",desc:"Hostme가 예약 상태 변경을 얀덱스 이츠로 다시 전달합니다."}},settings:{pullClientId:{label:"Hostme Client ID",desc:"Hostme에서 발급합니다 — 얀덱스 이츠 파트너 화면에 복사해 넣으세요."},pullClientSecret:{label:"Hostme Client Secret",desc:"Hostme에서 발급합니다 — 얀덱스 이츠 파트너 화면에 복사해 넣으세요."},pushClientId:{label:"Yandex Client ID"},pushClientSecret:{label:"Yandex Client Secret"}}},popular:"인기",removeModal:{title:"연동 삭제",message:"{app} 연동을 삭제할까요? 사용 중인 연결과 설정이 사라집니다.",confirm:"삭제"},oauth:{waitingTitle:"{app} 인증을 기다리는 중…",waitingHint:"팝업 창에서 로그인을 마쳐 주세요. 완료되면 연동 목록이 자동으로 새로고침됩니다."},planRequired:"{plan} 요금제 필요",unlockPlanRequired:"{capability} 기능을 쓰려면 {plan} 요금제가 필요합니다",unlockNotAvailable:"{capability} 기능은 월 요금제에 포함되지 않습니다 — 영업팀에 문의해 주세요",grandeBanner:{title:"연동은 Grande 요금제 기능입니다",description:"Grande 요금제에서는 모든 POS, 결제 대행사, 외부 앱을 연결할 수 있습니다. 업그레이드하면 마켓플레이스 전체를 사용할 수 있습니다.",cta:"Grande로 업그레이드"},priceLabel:"${price}/월",featureToggle:"{feature} 사용",names:{airsales:"AiR Sales — AI 음성 호스트"},descriptions:{poster:"카페, 바, 소규모 체인을 위한 클라우드 POS — 메뉴, 주문, 고객 이력이 실시간으로 동기화됩니다.",lightspeed:"메뉴, 재고, 리포트를 갖춘 클라우드 레스토랑 POS — 예약이 바로 좌석 배치도에 반영됩니다.",squarePos:"단일 매장과 성장하는 브랜드를 위한 Square의 레스토랑 POS — 계산서가 Hostme 예약과 연결됩니다.",iiko:"러시아를 대표하는 레스토랑 관리 플랫폼 — POS, 주방, 재고에 이제 예약까지 한곳에서.",rkeeper:"클래식 레스토랑과 체인을 위한 검증된 엔터프라이즈 POS — 예약, 테이블, 계산서를 주고받습니다.",rk7:"체인 운영을 위한 R-Keeper의 대표 플랫폼 — 테이블 상태, 주문, 고객 이력을 한 흐름으로.",clover:"하드웨어와 클라우드를 결합한 올인원 POS — Hostme 예약을 Clover 단말기와 백오피스에 연결하세요.",kounta:"Lightspeed의 í
1´ë¼ìš°ë“œ 호스피탈리티 POS(구 Kounta) — 메뉴, 계산서, 테이블 상태를 Hostme와 동기화합니다.",omnivore:"70개 이상의 POS를 잇는 범용 연동 계층 — 한 번의 연결로 수십 개 브랜드를.",toast:"레스토랑, 카페, 바를 위해 만들어진 Android 기반 클라우드 올인원 관리 시스템.",bookingSync:"외부 예약 시스템과 동기화 — Google, Hostme, 웹사이트에서 들어온 예약을 POS로 바로 전달합니다.",tbank:"빠른 도입과 경쟁력 있는 수수료의 러시아 결제 서비스 — 예약에서 바로 예약금과 선결제를 받습니다.",yookassa:"러시아의 올인원 결제 서비스 — 카드, SBP, 전자지갑을 한 화면에서, 환불과 정기결제까지.",paygateway:"범용 e-POS 결제 서비스: 자동 결제 수납과 PIN 코드 판매 — WebMoney, RBK Money, MoneyMail, WebCreds, 결제 단말기, Yandex.Money.",stripe:"Stripe로 예약금, 노쇼 수수료, 온라인 주문 결제를 받습니다 — 고객 예약을 위한 안전한 카드 결제.",squarePayment:"단순한 정액 수수료의 Square — 계약이나 숨은 비용 없이 온라인과 매장에서 카드 결제를 받습니다.",whatsapp:"WhatsApp Business 계정으로 메시지를 보냅니다 — 고객이 이미 쓰는 채널에서 확인, 리마인더, 답장까지.",telegram:"고객 알림용 Telegram 봇 연동 — 고객이 봇으로 전화번호를 전달해 인증하고 메시지를 받습니다.",twilio:"Twilio 게이트웨이로 SMS를 주고받습니다 — 신뢰받는 글로벌 제공업체의 프로그래밍 가능한 메시징.",sendgrid:"고객 이메일을 위한 SendGrid 연동 — 높은 도달률의 확인, 리마인더, 알림 메일.",max:"고객 알림용 MAX 메신저 봇 연동 — 고객이 봇으로 전화번호를 전달해 인증하고 메시지를 받습니다.",meta:"Meta Business 계정을 연결해 광고, 오디언스, 전환 이벤트를 Hostme와 동기화하세요.",facebook:"Facebookê³¼ Instagram 예약 채널 연결 — 고객이 Meta 프로필에서 바로 예약합니다.",tripadvisor:"Tripadvisor 예약 채널 연결 — Tripadvisor 페이지에서 예약을 받습니다.",michelin:"미쉐린 가이드 예약 채널 연결 — 가이드를 보는 고객에게서 예약을 받습니다.",wix:"Wix 웹사이트와 Hostme 연동 — Wix 페이지에서 바로 예약을 받습니다.",google:"Google 예약 및 비즈니스 프로필 연동 — 고객이 검색과 지도에서 바로 예약합니다.",segment:"고객 이벤트를 Segment로 보내 CDP, 분석, 연결된 모든 마케팅 도구에 활용하세요.",premiumbonus:"Premium Bonus 적립·CRM — 방문에 포인트를 적립하고 적립 프로필을 Hostme 예약과 연결합니다.",brandtrack:"매장을 위한 라이선스 배경음악 — 플레이리스트와 음량을 Hostme에서 바로 관리합니다.",beeline:"Beeline 가상 교환기 — 발신번호가 예약 카드에 표시되고 고객에게 한 번의 클릭으로 전화를 겁니다.",asterisk:"Asterisk PBX 연동 — 발신번호와 통화 기록을 고객 카드 안에서 바로 확인합니다.",sipuni:"Sipuni 클라우드 교환기 — 수신 전화는 고객 카드를 띄우고, 발신은 예약에서 바로 시작합니다.",hotlead:"Hotlead 가상 교환기 — 발신번호 확인과 예약에서 한 번의 클릭으로 거는 전화.",uiscom:"UIS 클라우드 교환기 — 발신번호와 콜 트래킹이 고객 카드와 연동됩니다.",telphin:"Telphin 가상 교환기 — 수신 번호로 고객을 확인하고 한 번의 클릭으로 전화를 겁니다.",rostelekom:"Rostelecom 가상 교환기 — 발신번호 확인과 예약에서 바로 거는 전화.",mango:"Mango Office 클라우드 교환기 — 발신번호 확인, 통화 녹음, 예약에서 바로 거는 전화.",yandexEda:"얀덱스의 모든 서비스에서 온라인 예약: Eats, 지도, 검색, Go, Alice AI. 방문한 고객 1명당 얀덱스 수수료 79루블이 별도로 청구됩니다.",hostmeSms:"Hostme 게이트웨이를 통한 안내 SMS — 확인, 리마인더, 취소 알림.",hostmeMarketingSms:"Hostme 게이트웨이를 통한 마케팅 SMS — 프로모션, 공지, 한동안 오지 않은 고객 재방문 유도.",hostmeDedicated:"전용 SMS 발신자명 — 고객에게 단축번호 대신 레스토랑 이름이 표시됩니다.",events:"레스토랑 이벤트 관리 — 티켓 판매, 예약금, 행사 예약을 한곳에서.",autoTags:"행동에 따라 고객에게 태그 자동 부여 — VIP, 단골, 노쇼 등 수십 가지 규칙이 자동 적용됩니다.",premiumReports:"확장 분석과 ë§
1žì¶¤ 리포트 — 매출, 방문, 영업 성과, 예약 경로.",premiumCampaigns:"마케팅 캠페인용 프리미엄 세그먼트와 시나리오 — A/B 테스트, 트리거, 고급 분석.",privateFeedback:"방문 직후 고객의 비공개 후기 수집 — 공개 플랫폼에 올라가기 전에 대응하세요.",customApp:"API로 직접 만든 서비스를 Hostme에 연결 — 예약 이벤트, 고객, 알림을 실시간으로.",thermalPrinter:"관리자 패널에서 바로 영수증과 사전 주문서를 영수증 프린터로 출력 — 호스트와 홀 직원용.",websiteLeads:"웹사이트 문의를 Hostme로 수집 — 문의 양식이 바로 CRMê³¼ 콜백 대기열로 들어갑니다.",aiAgent:"고객 응대 AI 채팅 상담원 — 질문에 답하고 예약 내용을 확인하며, 복잡한 건은 호스트에게 넘깁니다.",aiAdminAgent:"호스트와 매니저를 위한 관리자 패널 AI 상담원 — 다음 할 일을 제안하고 고객과 예약을 자연어로 찾아 줍니다.",mobilePush:"Hostme 고객 앱을 통한 모바일 푸시 알림 — SMS 비용 없이 즉시 전달.",whoIsCalling:"수신 전화 발신번호 확인 — 전화가 오면 고객 카드, 이력, 선호가 즉시 표시됩니다.",campaignsService:"Hostme 마케팅 캠페인 서비스 — 고객 프로필별로 나눈 이메일, SMS, 푸시 캠페인.",airsales:"AI 음성 호스트 — 1초 안에 전화를 받아 빈자리를 확인하고 직접 예약까지 잡습니다. 24시간 내내.",starter:"레스토랑을 위한 자체 배달 앱과 웹사이트 — 중개 수수료 없이 주문을 직접 받습니다.",unlimitedSms:"무제한 SMS 발신·수신 서비스 — 이동통신에 연결된 아무 기기에서나 Android 앱으로 실행합니다.",e2eMock:"SMS 채널을 흉내 내는 종단 간 테스트 스텁입니다. 발신 메시지는 e2eoutbox 테이블에 기록되고, 수신 webhook 데이터는 표준 수신 메시지 처리 흐름으로 정규화됩니다. 자동 테스트 전용입니다."}},A={title:"고객",guestBook:"고객 명부",tagsSegments:"태그",settings:"설정",searchPlaceholder:"이름, 전화번호, 이메일로 고객 검색…",searchPlaceholderShort:"검색",filters:"필터",export:"내보내기",exportTitle:"고객 내보내기",exportEmailNote:"파일은 백그라운드에서 만들어져 레스토랑 소유자의 이메일로 발송됩니다.",exportFilteredNote:"현재 적용한 필터가 내보내기에도 적용됩니다.",exporting:"내보내는 중…",exportError:"내보내기를 시작하지 못했습니다. 다시 시도해 주세요.",addGuest:"고객 추가",allTags:"전체 태그",allStatuses:"전체 상태",allSources:"전체 유입 경로",statusActive:"활성",statusBlacklisted:"차단됨",resetFilters:"필터 초기화",loading:"불러오는 중…",totalGuests:"고객 {count}명",colName:"이름",colPhone:"전화번호",colEmail:"이메일",colVisits:"방문",colLastVisit:"마지막 방문",colLastVisitShort:"최근",colTags:"태그",blocked:"차단됨",noResults:"검색 결과에 맞는 고객이 없습니다.",empty:"아직 고객이 없습니다.",addFirstGuest:"첫 고객을 추가해 보세요",page:"{total}페이지 중 {page}페이지",bulk:{toggle:"선택",exit:"선택 종료",selectAllOnPage:"이 페이지 전체 선택",selectedCount:"{count}명 선택됨",clear:"선택 해제",applyTags:"태그 적용",delete:"삭제"},bulkTags:{title:"태그 적용",subtitle:"여러 고객에게 태그를 한 번에 추가합니다.",scope:"적용 대상",scopeSelected:"선택한 고객",scopeMatching:"현재 필터에 해당하는 전체",guestsCount:"고객 {count}명",pickTags:"추가할 태그",noTags:"아직 태그가 없습니다. '태그' 탭에서 먼저 태그를 만들어 주세요.",addOnlyHint:"태그는 기존 태그에 더해집니다 — 기존 태그가 사라지지 않습니다.",applyBtn:"고객 {count}명에게 추가",applying:"적용하는 중…",progress:"{total}명 중 {done}명 처리",failedCount:"실패 {count}ê±´"},bulkDelete:{title:"고객 삭제",warning:"이 작업은 되돌릴 수 없습니다.",warningDetail:"고객 프로필, 태그, 메모가 삭제됩니다. 방문 이력은 지난 예약에 남아 있을 수 있습니다.",confirmLabel:"이해했습니다 — 고객 {count}명 삭제",deleteBtn:"고객 {count}명 삭제",deleting:"삭제하는 중…"}
1,duplicates:{openBtn:"중복 찾기",title:"중복 검사",subtitle:"전화번호나 이메일이 같은 고객 기록을 찾아봅니다.",startHint:"검사를 시작하면 중복으로 보이는 고객이 묶여서 표시됩니다.",scanBtn:"지금 검사",scanning:"검사 중… {total}명 중 {done}명",scannedTotal:"총 {count}명의 고객을 검사했습니다.",byPhone:"전화번호 기준",byEmail:"이메일 기준",guestsAffected:"해당 고객 {count}명",sharedPhone:"같은 전화번호",sharedEmail:"같은 이메일",visits:"방문 {count}회",noneFound:"중복이 없습니다.",rescan:"다시 검사",actionsHint:"고객을 누르면 프로필이 열립니다. 합칠지는 팀에서 결정하세요."},firstName:"이름",lastName:"성",phone:"전화번호",email:"이메일",guestProfile:"고객 프로필",memberSince:"등록일",statistics:"통계",totalVisits:"총 방문",last30Days:"최근 30일",cancellations:"취소",noShows:"노쇼",preferences:"선호 사항",vegetarian:"채식",handicapAccessible:"휠체어 이용 가능",allergies:"알레르기",tablePreference:"선호 테이블",birthday:"생일",anniversary:"기념일",noPreferences:"등록된 선호 사항이 없습니다.",notes:"메모",noNotes:"아직 메모가 없습니다.",marketingOptIn:"마케팅 수신: 동의",marketingOptOut:"마케팅 수신: 거부",uploadPhoto:"사진 올리기",changePhoto:"사진 변경",removePhoto:"사진 삭제",addTag:"태그 추가",reservationBreakdown:"예약",visitHistory:"방문 이력",totalReservations:"총 예약",onlineReservations:"온라인 예약",hostReservations:"호스트 예약",avgCheck:"평균 결제액",noVisits:"기록된 방문이 없습니다.",table:"테이블",ppl:"명",block:"고객 차단",unblock:"차단 해제",delete:"삭제",confirmDelete:"삭제 확인",tagsTitle:"고객 태그",tagsDescription:"고객을 분류하고 정리할 태그를 만들고 관리합니다.",addNewTag:"태그 추가",tagNamePlaceholder:"태그 이름…",systemTag:"기본",guestsWithTag:"고객 {count}명",noTags:"아직 만든 태그가 없습니다.",addFirstTag:"첫 태그를 만들어 보세요",searchTags:"태그 검색…",noTagsMatch:"검색 결과에 맞는 태그가 없습니다.",viewGuestsWithTag:"이 태그가 붙은 고객 보기",autoTags:"자동 태그",autoTagsDesc:"예약과 방문 행동에 따라 고객에게 태그를 자동으로 붙입니다.",autoTagsTabDescription:"고객이 각 태그를 언제 자동으로 받을지 설정하세요. 태그 이름이 비어 있는 규칙은 동작하지 않습니다.",autoTagsAlphaTitle:"자동 태그 — Alpha",autoTagsAlphaHint:"자동 태그는 초기 알파 단계이며, 소수의 레스토랑과 함께 다듬고 있습니다. 테스트가 끝나는 대로 모두에게 열립니다. 기다려 주셔서 감사합니다!",autoTagsLoading:"자동 태그 규칙을 불러오는 중…",autoTagsLoadError:"자동 태그 규칙을 불러오지 못했습니다.",autoTagsRetry:"다시 시도",autoTagsBackendMissingTitle:"자동 태그를 사용할 수 없습니다",autoTagsBackendMissingHint:"이 계정은 아직 자동 태그 기능에 접근할 수 없습니다. 사용을 원하시면 지원팀에 문의해 주세요.",autoTagsNotEnabledTitle:"자동 태그를 켜지 못했습니다",autoTagsNotEnabledHint:"이 레스토랑에 자동 태그 기능을 켜지 못했습니다. 다시 시도하시거나 지원팀에 문의해 주세요.",autoTagsEnable:"자동 태그 사용",autoTagsEnabling:"자동 태그를 켜는 중…",autoTagsNoRules:"자동 태그 규칙을 아직 사용할 수 없습니다.",autoTagsNoEvents:"이 레스토랑에는 아직 마케팅 이벤트가 없습니다.",autoTagsRuleEnable:"이 규칙 사용",autoTagsRuleTagName:"태그 이름",autoTagsRuleTagNamePlaceholder:"예: VIP, 단골, 이탈 위험",autoTagsRuleSpentAtLeast:"최소 사용 금액",autoTagsRuleVisitsAtLeast:"최소 방문 횟수",autoTagsRulePeriod:"기간",autoTagsSaved:"저장됨",settingsTitle:"고객 설정",settingsDescription:"고객 프로필과 알림을 어떻게 관리할지 설정합니다.",notifyOnBlacklist:"차단 시 고객에게 알림",notifyOnBlacklistDesc:"켜면 고객이 이 레스토랑의 차단 목록에 추가될 때 자동으로 알림을 받습니다.",dataHygiene:{title:"데이터 정리",description:"고객 명부를 깨끗하고 정확하게 유지하는 도구입니다."}},H=JSON.parse(`{"channels":{"title":"소통 채널","description":"SMS, WhatsApp, 이메일, Telegram 채널을 설정합니다","configure":"설정","unavailable":"사용 불가","backToChannels":"채널 목록으로","providerCount":"제공업체 {count}ê³³","devBannerTitle":"채널 기능은 개발 중입니다","devBannerHint":"이 화면은 아ì
1§ 준비되지 않았습니다. SMS, WhatsApp, 이메일, Telegram을 설정하시려면 당분간 '연동'의 채널 탭을 이용해 주세요.","devBannerLink":"채널 연동 열기","status":{"enabled":"사용 중","disabled":"사용 안 함","unavailable":"사용 불가","pending":"대기 중","pendingSetup":"설정 대기","configured":"설정 완료","actionRequired":"설정하기"},"max":{"title":"MAX 채널 설정","description":"MAX 메신저 연동을 설정합니다","comingSoon":"준비 중","comingSoonDesc":"MAX 메신저 연동은 현재 개발 중입니다. 조금만 기다려 주세요."},"sms":{"title":"SMS 채널 설정","description":"SMS 제공업체와 발신자 설정","noProvider":"사용 중인 SMS 제공업체가 없습니다","noProviderHint":"SMS를 보내려면 제공업체를 하나 이상 켜 주세요.","providers":"SMS 제공업체","priorityHint":"메시지는 우선순위가 가장 높은 제공업체로 발송됩니다. 실패하면 다음 업체를 사용합니다.","activeDragPriority":"{count}ê³³ 사용 중 · 끌어서 우선순위 변경","numberType":"번호 유형","buyDedicated":"전용 번호 구매","buyDedicatedDesc":"번호가 즉시 배정됩니다.","buyDedicatedComingSoon":"준비 중","alphanumericSenderId":"영문 발신자명","alphanumericSenderIdDesc":"번호 대신 브랜드 이름을 표시합니다.","notAvailableWarning":"모든 국가에서 사용할 수 있는 것은 아닙니다. 규정은 지역마다 다릅니다.","yourBrandPlaceholder":"브랜드명","reasonPlaceholder":"신청 사유 (선택)","apiKey":"API 키","enterApiKeyPlaceholder":"Beeline API 키를 입력하세요","apiKeyVerified":"API 키가 확인되었습니다","invalidApiKey":"API 키가 올바르지 않습니다. 확인 후 다시 시도해 주세요.","androidSetup":"Android 휴대폰 설정","androidSetupDesc":"Android 휴대폰에 Hostme SMS Gateway 앱을 설치하세요. 메시지는 사용 중인 요금제로 직접 발송됩니다."},"whatsapp":{"title":"WhatsApp 채널 설정","description":"발송용 WhatsApp Business API를 설정합니다","noProviderConnected":"연결된 WhatsApp 제공업체가 없습니다","chooseProviderHint":"아래에서 제공업체를 선택하면 WhatsApp 발송을 시작할 수 있습니다.","provider":"제공업체","standard":"WhatsApp 스탠다드","standardPrice":"$0.05 / ê±´","standardDesc":"전체 WhatsApp Business API","lite":"WhatsApp 라이트","litePrice":"$20 / 월","liteDesc":"개인 WhatsApp을 연결해 사용","whatsappMirror":"WhatsApp 미러","linkWhatsApp":"개인 WhatsApp 계정을 연결하세요","scanQrHint":"휴대폰에서 WhatsApp 열기 → 연결된 기기 → 기기 연결 → 이 QR 코드 스캔","qrError":"QR 코드를 만들지 못했습니다. 다시 시도해 주세요.","senderIdentity":"발신자 정보","hostmeNumber":"Hostme 번호","hostmeNumberDesc":"Hostme가 제공하는 공용 번호","dedicatedNumber":"전용 번호","dedicatedNumberDesc":"보유하신 SMS 전용 번호 사용","requiresDedicated":"SMS 전용 번호가 필요합니다","requestDedicated":"전용 번호 신청","dedicatedNumberOption":"전용 번호","senderIdOption":"영문 발신자명","preferredAreaCodePlaceholder":"희망 지역번호","reasonPlaceholder":"사유 (선택)","whatsappBusiness":"WhatsApp Business","previewMessage":"안녕하세요! {restaurant} 예약이 오늘 저녁 7시로 확정되었습니다. ê³§ 뵙겠습니다!","linkStatus":{"linked":"연결됨","linkedDesc":"WhatsApp 계정이 연결되어 있습니다.","pending":"연결 대기 중","pendingDesc":"QR 코드를 스캔해 설정을 마쳐 주세요.","failed":"연결 실패","failedDesc":"연결하지 못했습니다. QR 코드를 새로 만들어 다시 시도해 주세요.","notLinked":"연결 안 됨","notLinkedDesc":"WhatsApp이 아직 연결되지 않았습니다."}},"email":{"title":"이메일 채널 설정","description":"이메일 발신자 설정","senderName":"발신자 이름","restaurantNamePlaceholder":"레스토랑 이름","senderNameHint":"이 이름이 보내는 메일의 '보낸사람'에 표시됩니다.","senderEmail":"발신 이메일","hostmeDefault":"Hostme 기본값","customEmail":"직접 지정한 이메일","customEmailDesc":"인증된 본인 이메일을 사용합니다","pen
1dingVerification":"인증 대기 중","verified":"인증됨","verifyCustomEmail":"사용할 이메일 주소 인증하기","verificationSentTo":"{email} 주소로 인증 메일을 보냈습니다. 받은편지함을 확인해 주세요.","emailPlaceholder":"your{'@'}email.com","yourRestaurant":"레스토랑 이름","reservationConfirmation":"예약 확인","previewMessage":"안녕하세요, 오늘 저녁 7시 예약이 확정되었습니다..."},"telegram":{"title":"Telegram 채널 설정","description":"발송용 Telegram 봇을 설정합니다","botMode":"봇 모드","hostmeBot":"Hostme 봇","hostmeBotPrice":"$0.02 / 건","hostmeBotDesc":"공용 Hostme 봇 사용","yourOwnBot":"직접 만든 봇","ownBotPrice":"$20 / 월","ownBotDesc":"{'@'}BotFather로 만든 본인 봇 연결","connectYourBot":"봇 연결하기","howToGetToken":"봇 토큰 받는 방법","step1":"Telegram을 열고 {'@'}BotFather를 검색하세요","step2":"/newbot 을 보내고 안내에 따르세요","step3":"API 토큰을 복사해 아래에 붙여 넣으세요","botToken":"봇 토큰","tokenPlaceholder":"123456:ABC-DEF1234...","botConnected":"봇이 연결되었습니다","invalidToken":"토큰이 올바르지 않습니다. 확인 후 다시 시도해 주세요.","selectBot":"봇 선택","selectBotPlaceholder":"봇을 선택하세요...","externalConnection":"외부 연결이 감지되었습니다","externalConnectionDefault":"이 봇은 다른 서비스에도 연결되어 있습니다.","forwardingMode":"전달 방식","mirror":"미러","mirrorDesc":"두 서비스 모두로 메시지를 전달합니다","exclusive":"단독 사용","exclusiveDesc":"Hostme에서만 사용합니다","hostmeBotFallback":"Hostme 봇","telegramBot":"Telegram 봇","previewMessage":"안녕하세요! {restaurant} 예약이 오늘 저녁 7시로 확정되었습니다.","step2b":"안내에 따르세요"}},"tagPicker":{"search":"변수 검색…","noResults":"일치하는 변수가 없습니다","insertTitle":"변수 삽입","categories":{"restaurant":"레스토랑","guest":"고객","booking":"예약","links":"링크"},"tags":{"Restaurant_Name":{"label":"이름","desc":"레스토랑 이름"},"Restaurant_Address":{"label":"주소","desc":"전체 주소"},"Restaurant_Phone":{"label":"전화번호","desc":"전화번호"},"Restaurant_Links_GuestAppUrl":{"label":"예약 페이지","desc":"온라인 예약 링크"},"Guest_CustomerName":{"label":"성명","desc":"고객 성명"},"Guest_FirstName":{"label":"이름","desc":"고객 이름"},"Guest_LastName":{"label":"성","desc":"고객 성"},"Guest_Phone":{"label":"전화번호","desc":"고객 전화번호"},"Booking_ReservationDate":{"label":"날짜","desc":"예약 날짜"},"Booking_ReservationTime":{"label":"시간","desc":"예약 시간"},"Booking_ReservationDateTime":{"label":"날짜와 시간","desc":"전체 날짜와 시간"},"Booking_PartySize":{"label":"인원","desc":"고객 수"},"Booking_TableNumber":{"label":"테이블","desc":"테이블 번호"},"Booking_Areas":{"label":"구역","desc":"좌석 구역 이름"},"Booking_Duration":{"label":"이용 시간","desc":"예약 이용 시간"},"Booking_Note":{"label":"메모","desc":"고객 메모 또는 특별 요청"},"Booking_Reason":{"label":"사유","desc":"취소 사유"},"Booking_WaitTime":{"label":"대기 시간","desc":"예상 대기 시간"},"Booking_MinutesToConfirm":{"label":"확정까지 분","desc":"자동 취소까지 남은 분"},"Booking_Links_GuestReservationEditUrl":{"label":"변경 링크","desc":"고객이 예약을 변경하는 링크"},"Booking_Links_ReservationFeedbackUrl":{"label":"후기 링크","desc":"방문 후 후기 링크"},"Booking_Links_GuestReservationPayUrl":{"label":"결제 링크","desc":"온라인 결제 링크"},"ManageLink":{"label":"관리 링크","desc":"일반 관리 링크"}}},"templates":{"sectionTitle":"템플릿","sectionDesc":"템플릿 종류와 편집할 템플릿을 고르세요.","template":"템플릿","language":"언어","selectTemplate":"편집할 템플릿을 선택하세요","channels":"알림 채널","sendTest":"테스트 메일 보내기","testTitle":"테스트 메일 보내기","testDescription":"내용과 서
1식을 확인하실 수 있도록 '{name}' 테스트 메일을 보냅니다.","testDirtyHint":"테스트를 보내려면 변경 사항을 저장해 주세요","testSentTo":"받는 사람","testOwnerNote":"테스트 메일은 계정에 등록된 이메일 주소로 발송됩니다.","testOwnerFallback":"계정 이메일","testConfirm":"테스트 보내기","testSentToast":"테스트 메일을 보냈습니다","resetDefault":"기본값으로 초기화","resetConfirmTitle":"템플릿을 기본값으로 되돌릴까요?","resetConfirmMessage":"이 템플릿과 언어의 제목, 미리보기 문구, 헤더, 본문, SMS, WhatsApp, 푸시 제목이 모두 기본 내용으로 돌아갑니다. 되돌릴 수 없습니다.","subject":"제목","preheader":"미리보기 문구","header":"헤더","emailContent":"이메일 내용","smsText":"SMS 문구","pushTitle":"푸시 제목","whatsappText":"WhatsApp 문구","channelsDesc":"이 템플릿에 사용할 알림 채널을 켜거나 끕니다.","emailContentDesc":"메일 제목, 미리보기 문구, 헤더, 본문을 설정합니다.","emailBody":"이메일 본문","smsAndPush":"SMS와 푸시","smsAndPushDesc":"이 템플릿의 SMS 문구와 푸시 알림 제목을 설정합니다.","whatsappDesc":"이 템플릿의 WhatsApp 메시지 문구를 설정합니다.","folderReservation":"예약","folderWaitlist":"웨이팅","folderOrder":"주문","folderTakeaway":"포장","folderStaffReservation":"직원 · 예약","folderStaffOrder":"직원 · 주문","folderStaffSystem":"시스템","folderStaffWebsiteLead":"웹사이트 문의","names":{"canceled":"취소됨","changed":"변경됨","confirmed":"확정됨","feedback":"후기","generic":"일반","invitation":"ì´
1ˆëŒ€","invitationaccepted":"초대 수락","invoice":"청구서","paymentreminder":"결제 리마인더","rejected":"거절됨","reminder":"리마인더","requested":"신청됨","approved":"승인됨","called":"호출함","canceledbyguest":"고객이 취소","canceledbyhost":"호스트가 취소","seated":"착석","ready":"준비 완료","loyalty":"적립","welcome":"환영 인사","approvalforhost":"승인 (호스트)","canceledforhost":"취소 (호스트)","changedforhost":"변경 (호스트)","newreservationforhost":"새 예약 (호스트)","reminderforhost":"리마인더 (호스트)","canceledorderforhost":"주문 취소 (호스트)","changedorderforhost":"주문 변경 (호스트)","neworderforhost":"새 주문 (호스트)","reminderorderforhost":"주문 리마인더 (호스트)","appfeedback":"앱 후기","blocked":"차단됨","confirmemail":"이메일 인증","exporttocsv":"CSV 내보내기","invitationforuser":"사용자 초대","paymentlink":"결제 링크","receipt":"영수증","remindertopay":"결제 리마인더","renewal":"구독 갱신","resetpassword":"비밀번호 재설정","specialdays":"특별한 날","welcomeforowner":"환영 인사 (소유자)","welcomeforuser":"환영 인사 (사용자)","accountarchived":"계정 보관됨","notification":"보관 예정 안내","existingaccountsignin":"기존 계정 로그인","registrationcode":"가입 인증 코드","abandoned":"문의 미완료","submitted":"문의 접수"},"availableVariables":"사용 가능한 변수","clickFieldToInsert":"먼저 입력란을 클릭한 다음 변수를 클릭하면 삽입됩니다."},"customization":{"emailTypeTitle":"메일에 표시할 내용","emailTypeDesc":"메일 종류를 고른 뒤, 고객에게 보여 줄 항목을 선택하세요. 종류마다 구성 요소가 다릅니다.","toggleSectionLabel":"표시 항목 설정","reservation":"예약","waitlist":"웨이팅","order":"주문","reservationSection":"예약 정보","orderSection":"주문과 추가 항목","restaurantSection":"레스토랑 정보","brandingSection":"브랜딩과 홍보","logoSection":"로고와 제작자","socialSection":"소셜 미디어","policySection":"정책","otherSection":"기타 항목","toggles":{"showreservationdetails":"예약 상세","showguestname":"고객 이름","showduration":"이용 시간","showtablenumber":"테이블 번호","showtablenotes":"테이블 메모","showareas":"구역","showallergies":"알레르기","showdeposit":"예약금","showreason":"사유","shownote":"메모","showmanagebutton":"예약 보기·변경 버튼","showorder":"주문","showadditionals":"추가 항목","showcustomadditionals":"직접 만든 추가 항목","showrestaurantdetails":"레스토랑 상세","showrestaurantaddress":"주소","showrestaurantservices":"편의 사항","showrestaurantlogo":"레스토랑 로고","showauthorlogo":"제작자 로고","showpromo":"홍보","showheaderpromo":"상단 홍보 문구","showtwitter":"Twitter","showfacebook":"Facebook","showinstagram":"Instagram","showyelp":"Yelp","showtripadvisor":"TripAdvisor","showgoogle":"Google","showcustompolicY1":"맞춤 정책 #1","showcustompolicY2":"맞춤 정책 #2","showcustompolicY3":"맞춤 정책 #3","showcustompolicyordeR1":"주문 정책"}},"branding":{"colors":"브랜드 색상","backgroundColor":"ë°°ê²½ 색상","textColor":"글자 색상","logo":"레스토랑 로고","uploadLogo":"로고 올리기","changeLogo":"로고 변경","logoHint":"권장 사양: 200×200px, PNG 또는 SVG, 최대 2MB","promo":"홍보 영역","promoImage":"홍보 이미지","uploadImage":"이미지 올리기","changeImage":"이미지 변경","promoContent":"홍보 문구","promoContentPlaceholder":"메일에 넣을 홍보 문구를 입력하세요...","colorsDesc":"메일 템플릿에 쓰이는 배경색과 글자색을 설정합니다.","logoDesc":"메일 머리글에 표시할 레스토랑 로고를 올리세요.","promoDesc":"보내는 메일에 넣을 홍보 이미지와 문구를 추가하세요."},"policies":{"language":"언어","promo":"홍보 영역","customPolicy1":"맞춤 정책 #1","customPolicy2":"맞춤 정책 #2","customPolicy3":"맞춤 정책 #3","orderPolicy":"주문 정책","blockTitle":"제목","blockContent":"내용","languageDesc":"정책 문구를 편집할 언어를 선택하세요."}}`),R={title:"분석",errors:{loadFailed:"분석 데이터를 불러오지 못했습니다"},range7d:"7일",range30d:"30일",range7dShort:"7일",range30dShort:"30일",range7dXShort:"7일",range30dXShort:"30일",customRequestTitle:"우리 레스토랑에 맞춘 분석",customRequestComingSoon:"준비 중",customRequestComingSoonNote:"지금 만들고 있습니다 — 요청 화면은 ê³§ 이어지는 릴리스에서 여기에 생깁니다. 그동안에는 담당 매니저에게 원하시는 지표를 말씀해 주세요.",customRequestDesc:"사업 운영에 어떤 숫자가 필요한지 알려 주세요 — 시간대별 객단가, 호스트별 성과, 코í
1˜¸íЏ 재방문율, 웨이팅 전환율 등 무엇이든 좋습니다. 저희가 리포트를 만들어 바로 이 화면에 추가해 드립니다.",customRequestCta:"맞춤 리포트 요청",customRequestGrandeOnly:"맞춤 분석은 Grande 요금제에서 사용할 수 있습니다.",customRequestUpgradeCta:"Grande로 업그레이드",comparePrevious:"이전 기간과 비교",comparePreviousShort:"비교",previousPeriod:"이전 기간",noData:"이 기간에는 데이터가 없습니다",sourceLabels:{online:"온라인",host:"호스트"},totalReservations:"총 예약",totalCovers:"총 인원",noShowRate:"노쇼 비율",avgPartySize:"평균 인원",dailyCovers:"일별 인원",covers:"인원",bySource:"경로별 예약",exportReservations:"예약 내보내기",exportColumns:{id:"예약 ID",posReferenceId:"POS 참조 ID",vendorAppId:"연결 ID",date:"날짜",time:"시간",guest:"고객",phone:"전화번호",covers:"인원",table:"테이블",status:"상태",source:"유입 경로",channel:"채널",deposit:"예약금"},byVendor:"업체별 예약",vendorNames:{yandexEats:"Yandex Eats",google:"Reserve with Google",airsales:"AiR Sales"},vendorHostme:"Hostme",vendorOther:"기타",byStatus:"상태별 예약",outcomes:"ê²°ê³¼",onlineRequests:"온라인 신청",onlineRequestsDesc:"호스트 확인이 필요했던 예약",autoApprovalEnabled:"자동 승인이 켜져 있습니다. 온라인 예약은 직접 확인하지 않아도 자동으로 확정됩니다.",reservationVolume:"예약 건수 추이",reservations:"예약",peakHours:"피크 시간 히트맵",topStats:"핵심 지표",busiestDay:"가장 바쁜 요일",busiestHour:"가장 바쁜 시간",avgDaily:"일평균",noShows:"노쇼",noShowTrend:"노쇼 비율 추이",canceledCount:"취소",topNoShowGuests:"노쇼가 많은 고객",guest:"고객",visits:"방문",lastVisit:"마지막 방문",lastVisitShort:"최근",tags:"태그",totalWaitings:"총 웨이팅",avgWait:"평균 대기",conversionRate:"착석 비율",abandonRate:"이탈 비율",waitDistribution:"대기 시간 분포",waitMinutes:"대기 시간(분)",peakWaits:"시간대별 평균 대기",guests:"고객",totalTables:"총 테이블",avgUtilization:"평균 가동률",avgTurnsPerDay:"일평균 회전",tablePerformance:"테이블 성과",table:"테이블",seats:"좌석",turns:"회전",turnsShort:"회전",avgOccupancy:"평균 점유",utilization:"가동률",totalGuests:"총 고객",newGuests:"신규 고객",returningGuests:"재방문",avgVisits:"평균 방문",visitFrequency:"방문 빈도",visitsCount:"방문 횟수",topGuests:"주요 고객",export:"내보내기",vsPrev:"이전 대비",minUnit:"분",partiesUnit:"팀",dayMon:"월",dayTue:"화",dayWed:"수",dayThu:"목",dayFri:"금",daySat:"토",daySun:"일",statusApproved:"확정",statusClosed:"마감",statusSeated:"착석 중",statusPending:"대기 중",statusRejected:"거절됨",statusCanceled:"레스토랑이 취소",statusCanceledByClient:"고객이 취소",statusNoShow:"노쇼",statusConfirmed:"확정",statusFinished:"완료",requestApproved:"승인됨",orders:"주문",totalOrders:"총 주문",dailyOrders:"일별 주문",avgTicket:"평균 객단가",avgFulfillment:"평균 배달 시간",typeTakeaway:"포장",typeDelivery:"배달",typeUnknown:"알 수 없음",cancelRate:"취소 비율",byType:"유형별",coversInPeriod:"기간 내 인원"},M={title:"세그먼트",tabLabel:"세그먼트",removeFilterChip:"{label} 삭제",builderTitle:"고객 필터",builderTitleAudience:"대상 선택",applyFilters:"적용",applyAndClose:"적용하고 닫기",save:"저장",resetFilters:"전체 초기화",reset:"초기화",cancel:"취소",saveAs:"세그먼트로 저장…",saveAsDisabled:"맞춤 세그먼트 저장 — 준비 중",customSegmentsFeature:"맞춤 세그먼트",segmentNamePlaceholder:"세그먼트 이름",saveSegmentChanges:"변경 사항 저장",editSegmentTitle:"세그먼트 편집",deleteSegmentTitle:"세그먼트를 삭제할까요?",deleteSegmentMessage:"'{name}' 세그먼트가 전체 네트워크에서 삭제됩니다. 되돌릴 수 없습니다.",deleteSegmentMessageSingle:"'{name}' 세그먼트가 삭제됩니다. 되돌릴 수 없습니다.",apply:"적용",nameLabel:"이름",descriptionLabel:"설명",descriptionPlaceholder:"예: 동네 VIP 고객",noDescription:"설명 없음",optional:"선택",saveDialogTitle:"세그먼트 저장",saveDialogHint:"이름을 지으면 캠페인, 자동화, 고객 명부에서 다시 쓸 수 있습니다.",savedSegmentsLabel:"저장된 세그먼트",savedSegmentsComingSoon:"준비 중",quickStart:"빠른 시작",quickStartHint:"프리셋을 고르면 아래 필터가 채워집니다 — 직접 만드셔도 됩니다.",quickStartApplied:"적용됨: {name}",quickStartCustom:"직접 만든 필터 — 아래 그룹을 조정하세요.",groupsHeader:"필터",noActiveFilters:"적용된 필터가 없습니다 — 모든 고객이 포함됩니다.",activeGroups:"필터 {count}개 | 필터 {count}개",recipientsTitle:"수신자",recipientsCount:"수신자 {count}명 | 수신자 {count}명",recipientsEmpty:"이 필터에 해당하는 수신자가 없습니다.",recipientsHint:"{total}명 중 처음 {count}명 표시",costEstimate:"예상 비용",tokensUnit:"토큰",noChannelHint:"채널을 선택하지 않아 채널별 ì¡°ê±´ 없이 미리보기만 표시합니다.",rangeFrom
1:"부터",rangeTo:"까지",rangeBetween:"사이",min:"최소",max:"최대",anyValue:"전체",section:{visits:"방문",reservations:"예약",money:"금액"},groups:{guestTags:"고객 태그",languages:"언어",requestTypes:"특별 요청",joinDate:"가입일",lastVisit:"마지막 방문",visitDate:"방문일",visitDateHelper:"범위는 90일로 제한됩니다 — ê·¸ 밖의 날짜는 선택할 수 없습니다.",totalVisits:"총 방문",visits30:"최근 30일 방문",visitsPeriod:"기간 내 방문",cancelations:"취소",totalReservations:"총 예약",onlineReservations:"온라인 예약",inHouseReservations:"매장 예약",totalSpent:"총 사용 금액",averageCheque:"평균 객단가",events:"이벤트",restaurants:"레스토랑",gender:"성별",blacklisted:"차단된 고객",birthMonth:"생일"},blacklistedHint:"차단된 고객만 표시",period:{30:"최근 30일",45:"최근 45일",90:"최근 90일",180:"최근 180일",all:"전체 기간"},eventsEmpty:"이 레스토랑에는 아직 이벤트가 없습니다.",eventsLoading:"이벤트 불러오는 중…",requestType:{Allergy:"알레르기 있음",Vegetarian:"채식",HandicapAccessible:"휠체어 이용"},birthday:{dayPlaceholder:"DD",monthPlaceholder:"월"},presets:{all_guests:{name:"전체 고객",description:"필터 없음"},new_30d:{name:"신규 (30일)",description:"최근 30일 내 가입"},new_90d:{name:"신규 (90일)",description:"최근 90일 내 가입"},lapsed_180d:{name:"이탈 (6개월)",description:"마지막 방문이 180일 이전"},lapsed_1y:{name:"이탈 (1년)",description:"마지막 방문이 365일 이전"},frequent:{name:"단골",description:"총 10회 이상 방문"},vip:{name:"VIP",description:"VIP 태그가 붙은 고객"},high_spenders:{name:"고액 고객",description:"누적 500 이상 사용"},cancellers:{name:"취소가 잦은 고객",description:"취소 3회 이상"},blacklisted:{name:"차단 목록",description:"차단된 고객"},allergies:{name:"알레르기 있음",description:"음식 알레르기가 있는 고객"},vegetarian:{name:"채식 고객",description:"채식하는 고객"},birthday_this_month:{name:"이번 달 생일",description:"이번 달에 생일이 있는 고객"}},savedSegments:{title:"저장된 세그먼트",builtIn:"기본 프리셋",custom:"내 세그먼트",customComingSoon:"자주 쓰는 필터 조합을 저장해 한 번에 불러 쓰세요. Grande 요금제에서 사용할 수 있습니다.",previewCount:"고객 {count}명 | 고객 {count}명",openInBuilder:"편집기에서 열기"},tabPage:{builtInDescription:"가장 흔한 고객 그룹을 다루는 빠른 필터입니다. 카드를 누르면 필터가 적용되고 해당 고객이 고객 명부에 표시됩니다.",useFilter:"필터 적용",newSegment:"새 세그먼트",customDescription:"저장해 둔 필터 조합입니다 — 캠페인, 자동화, 고객 명부에서 다시 쓸 수 있습니다.",applyHint:"누르면 고객 명부에 적용됩니다",customEmptyTitle:"아직 저장된 세그먼트가 없습니다",customEmptyHint:"필터를 만들어 저장하면 캠페인, 자동화, 고객 명부에서 다시 쓸 수 있습니다."},comingSoon:"준비 중"},B={usage:{loading:"불러오는 중…",trial:{title:"체험 · {days}일 남음"},trialEndingSoon:{title:"체험 기간이 {days}일 후 끝납니다",titleToday:"체험 기간이 오늘 끝납니다"},paymentFailed:{title:"결제 실패",subtext:"이용 정지를 피하려면 카드를 변경해 주세요"},noSubscription:{title:"이용 중인 구독 없음",subtext:"계속하시려면 요금제를 선택하세요"},active:{fallbackTitle:"구독",subtext:"이벤트 {used} / {quota} · {days}일 후 초기화"},events:{usedOfQuota:"이벤트 {used} / {quota}",unlimited:"∞ 이벤트 무제한",trialDaysLeft:"{total}일 중 {remaining}일 남음"},cta:{upgrade:"업그레이드",addPayment:"결제 수단 추가",updatePayment:"카드 변경",choosePlan:"요금제 선택",viewBilling:"결제 열기"},noAccess:{contactOwner:"결제 관리는 소유자에게 문의해 주세요"}}},N={onboarding:{empty:{title:"좌석 배치도가 비어 있습니다",subtitle:"테이블, ë²½, 데코를 추가해 공간을 그려 보세요 — 준비된 예시로 시작하셔도 됩니다.",addTable:"첫 테이블 추가",loadSample:"예시 배치도 불러오기",fromPhoto:"사진으로 만들기",fromPhotoBadge:"Alpha",fromPhotoProgress:"배치도를 읽는 중…",fromPhotoDone:"테이블 {n}개를 가져왔습니다 — 확인하고 다듬은 뒤 저장하세요.",fromPhotoEmpty:"이미지에서 좌석 배치도를 찾지 못했습니다. 더 선명한 사진으로 시도해 보세요.",fromPhotoError:"이미지에서 배치도를 읽지 못했습니다. 다시 시도해 주세요.",takeTour:"간단히 둘러보기"},step:"{total}단계 중 {n}단계",skip:"건너뛰기",back:"이전",next:"다음",done:"알겠습니다",steps:{toolbar:{title:"무엇이든 추가하세요",text:"여기서 테이블, ë²½, 텍스트, 데코를 고른 다음 캔버스를 클릭해 배치하세요."},canvas:{title:"놓고 옮기세요",text:"캔버스 아무 곳이나 클릭하면 배치됩니다. 배치한 뒤에는 끌어서 옮기고, 모서리 손잡이로 크기와 회전을 조절하세요."},panel:{title:"세밀하게 조정하세요",text:"객체를 선택하면 이 패널에서 크기, 좌석 구역, 번호, 회전을 수정할 수 있습니다."},save:{title:"작업을 저장하세요",text:"변경 사항은 '저장'을 누를 때까지 유지됩니다. 실행 취소와 다시 실행은 언제든 쓸 수 있습니다."},mobileAdd:{title:"무엇이든 추가하세요",text:"+를 눌러 테이블, ë²½, 텍스트, 데코를 추가한 다음 캔버스를 클릭해 배치하세요.",textTouch:"+를 눌러 테이블, ë²½, 텍스트, 데코를 추가한 다음 캔버스를 탭해 배치하세요."},mobileCanvas:{title:"놓고 옮기세요",text:"캔버스 아무 곳이나 클릭하면 배치됩니다. 끌어서 옮기고, 모서리 손잡이로 크기와 회전을 조절하세요.",textTouch:"캔버스 아무 곳이나 탭하면 배치됩니다. 끌어서 옮기고, 모서리 손잡이로 크기와 회전을 조절하며, 두 손가락으로 오므리면 배치도 전체를 확대·축소할 수 있습니다."},mobilePanel:{title:"세밀하게 조정하세요",text:"객체를 선택하면 아래 패널에서 크기, 구역, 번호, 회전을 수정할 수 있습니다."},view:{title:"보기와 확대",text:"배치도를 화면에 맞추고, 격자를 켜고 끄고, 구역에 색을 입혀 예약금이 필요한 테이블을 표시하는 ì˜
1¤ë²„레이를 켜 보세요.",textTouch:"배치도를 화면에 맞추고, 격자를 켜고 끄고, 구역에 색을 입히고(예약금 테이블도 표시됩니다), 다중 선택을 켜서 여러 객체를 한 번에 고르세요."}}},help:{title:"도움말",shortcuts:"단축키",tour:"둘러보기"},demo:{renumbered:"배치도끼리 번호가 겹치지 않도록 테이블 {n}개의 번호를 다시 매겼습니다.",labels:{bar:"바",entrance:"입구"},zones:{bar:"바",main:"메인 홀",terrace:"테라스"}},decor:{plant:"식물",cat:{greenery:"식물",furniture:"가구",structure:"구조물",entertainment:"엔터테인먼트",signs:"표지"},label:{accessible:"장애인 편의","air-vent":"환기구",arrow:"화살표","camera-cctv":"카메라 / CCTV",chef:"셰프","children-room":"키즈룸",cloakroom:"물품 보관소","dj-disc":"DJ / 디스크",exit:"출구","fire-extinguisher":"소화기",fish:"생선",food:"음식",hookah:"물담배",host:"호스트",karaoke:"노래방",kitchen:"주방","live-music":"라이브 음악","no-smoking":"금연",parking:"주차장",power:"전원","power-outlet":"콘센트",service:"서비스",smoking:"흡연",soap:"비누",speaker:"스피커","under-construction":"공사 중",wc:"화장실",waves:"물결","wi-fi":"Wi-Fi",armchair:"안락의자",chair:"의자",bar:"바","sofa-2":"2인 소파","sofa-3":"3인 소파","sofa-3-alt":"3인 소파 대체형","sofa-3x2":"소파 3x2","sofa-4x3":"소파 4x3",door:"문","double-doors":"양여닫이문","sliding-door":"미닫이문","stairs-1":"계단 1","stairs-2":"계단 2","sink-1":"세면대 1","sink-2":"세면대 2",toilet:"변기","rug-1":"러그 1","rug-2":"러그 2",umbrella:"파라솔","billiard-table":"당구대","dj-mixer":"DJ 믹서",piano:"피아노",synth:"신시사이저","tv-1":"TV 1","tv-2":"TV 2","sofa-2-alt":"2인 소파 대체형",tv:"TV"}},loading:"배치도 불러오는 중…",lastEdit:{byUser:"마지막 수정 {when} ({who})",anonymous:"마지막 수정 {when}"},status:{saving:"저장하는 중…",unsaved:"저장하지 않은 변경 {count}ê±´",unsavedOne:"저장하지 않은 변경 1ê±´",saved:"모두 저장됨",savedAt:"{when} 저장됨",error:"저장 실패"},topBar:{back:"배치도 목록으로",untitled:"이름 없는 배치도",save:"저장",undoAll:"저장하지 않은 변경 모두 되돌리기",undoAllTitle:"저장하지 않은 변경을 모두 되돌릴까요?",undoAllBody:"이번 작업에서 만든 모든 변경이 되돌아가고 실행 취소 기록도 지워집니다. 이후에는 다시 실행할 수 없습니다.",undoAllConfirm:"모두 되돌리기"},toolbar:{select:"선택",rectTable:"사각 테이블",roundTable:"원형 테이블",barTable:"바 / 1인석",tableDisabled:"먼저 좌석 구역을 만들어 주세요 — 모든 테이블은 구역에 속해야 합니다.",wall:"ë²½",wallRound:"기둥 (원형)",text:"텍스트",undo:"실행 취소 (⌘Z)",redo:"다시 실행 (⌘⇧Z)",sections:{tables:"테이블",walls:"ë²½",decor:"데코"},decor:{elements:"데코",comingSoon:"준비 중",search:"데코 검색…",noResults:"결과가 없습니다",placeHint:"아이콘을 고른 다음 캔버스를 클릭해 배치하세요."}},zoom:{label:"확대·축소",out:"축소 (−)",in:"확대 (+)",to100:"실제 크기 (0)",fit:"맞춤",fitTitle:"화면에 맞추기 (F)",gridOn:"정렬 격자 보기 (G)",gridOff:"정렬 격자 숨기기 (G)",zoneOverlayOn:"테이블 부가 정보 보기 — 구역, 예약금 (A)",zoneOverlayOff:"테이블 부가 정보 숨기기 — 구역, 예약금 (A)",help:"단축키 (?)",multiSelect:"다중 선택 (탭하면 추가)"},shortcutsHelp:{title:"단축키",sections:{selection:"선택",tools:"도구",history:"기록",view:"보기"},keys:{click:"클릭"},rows:{select:"선택 도구",addToSelection:"선택에 추가 / 제외",nudge:"선택 이동",copy:"복사",paste:"붙여넣기",duplicate:"복제",clear:"선택 해제",delete:"선택 항목 삭제",tableTool:"테이블 도구 (반복하면 모양 변경)",wallTool:"ë²½ 도구 (반복하면 모양 변경)",textTool:"텍스트 라벨",decorTool:"요소(데코) 선택기",save:"저장",undo:"실행 취소",redo:"다시 실행",undoAll:"저장하지 않은 변경 모두 되돌리기",zoomIn:"확대",zoomOut:"축소",zoom100:"실제 크기",zoomFit:"화면에 맞추기",toggleGrid:"정렬 격자",toggleZoneOverlay:"테이블 부가 정보",togglePanel:"패널 접기 / 펼치기",help:"이 도움말 열기"}},rightPanel:{collapse:"패널 접기",expand:"패널 펼치기",untitled:"이름 없는 배치도",emptyHint:"캔버스에서 객체를 선택하면 편집할 수 있습니다.",seatingAreas:"좌석 구역",areasStub:"구역과 색상 관리는 1a.7 단계에서 제공됩니다.",tables:{title:"테이블 ({n})",row:"{n}번 테이블",empty:"이 배치도에는 아직 테이블이 없습니다. 왼쪽 도구 모음에서 추가하세요.",sortBy:"정렬",sortByNumber:"번호순",sortByArea:"구역순",reusedActive:"사용 중",reusedActiveHint:"이 번호는 이미 사용 중인 배치도에서 쓰이고 있습니다 — 이 초안을 켜면 번호가 겹칩니다."},areas:{title:"좌석 구역 ({n})",namePlaceholder:"구역 이름…",duplicate:"같은 이름의 구역이 이미 있습니다.",saveError:"저장하지 못했습니다. 다시 시도해 주세요.",deleteError:"삭제하지 못했습니다. 다시 시도해 주세요.",serverError:"서버 오류입니다. 잠시 후 다시 시도하시거나 지원팀에 문의해 주세요.",deleteTitle:"구역을 삭제할까요?",deleteMessage:"좌석 구역 목록에서 '{name}'을(를) 없앨까요? 이미 이 구역에 속한 테이블은 다시 배정하기 전까지 이름을 유지합니다.",color:"구역 색상"},tableSettings:"테이블 설정",tableHeader:"{n}번 테이블",tableStub:"번호 / 크기 / 구역 / 온라인 예약 / 최소 인원 / 예약금 / 설명 — 1a.6 단계.",textSettings:"텍스트 설정",textSubtitle:"텍스트 라벨",textContent:"텍스트",textPlaceholder:"라벨 문구",textFontFamily:"글꼴",textFontSize:"크기",textAlign:"정렬",textAlignOption:{left:"왼쪽 정렬",center:"가운데 정렬",right:"오른쪽 정렬"},decorSettings:"데코 설정",decorShape:{wall:"ë²½",wallRound:"곡선 ë²½",generic:"데코 요소"},decorStub:"이 요소의 속성은 추후에 여기에 표시됩니다.",decorWidth:"너비",decorHeight:"높이",decorRadius:"반지름",decorSize:"크기",decorFill:"채우기",multiTitle:"객체 {n}개 선택됨",delete:"삭제",fields:{number:"번호",numberRequired:"테이블 번호를 입력해 주세요.",numberDuplicate:"이 배치도에 '{n}'번 테이블이 이미 있습니다.",numberActiveDuplicate:"'{n}'번 테이블이 {floor}에서 이미 사용 중입니다. 번호는 사용 중인 배치도끼리 겹칠 수 없습니다.",numberAlsoActive:"함께 사용 중: {floor}",numberAlsoDraft:"초안에도 있음: {floor}",seats:"좌석",seatsHint:"값을 바꾸면 테이블 주위의 의자가 다시 그려집니다.",area:"구역",areaPlaceholder:"미지정",mixed:"여러 값",noAreasYet:"아직 좌석 구역이 없습니다. {link}에서 추가하세요.",dimensions:"크기",width:"너비",height:"높이",aspectLock:"비율 고정",aspectUnlock:"비율 고정 해제",diameter:"지름",sizeLocked:"이 테이블 유형은 크기가 고정되어 있습니다.",barStoolLocked:"바 의자는 크기가 고정되어 있고 1인만 앉을 수 있습니다.",reservation:"예약",acceptReservations:"온라인 예약 받기",acceptReservationsHint:"끄면 고객이 위젯에서 이 테이블을 예약할 수 없습니다.",reservable:"예약 가능",guestsUnit:"명",minCovers:"최소 인원",deposit:"예약금",depositPlaceholder:"선택 사항",description:"설명",descriptionPlaceholder:"선택 사항",rotation:"회전",numberHasBookings:"이 테이블에 진행 중인 예약이 {count}ê±´ 있습니다. 번호를 바꾸면 삭제와 같아서 해당 고객은 테이블을 잃습니다."},multi:{tabActions:"작업",tabSelection:"선택됨",tables:"테이블 ({n}
1)",walls:"벽 ({n})",texts:"텍스트 라벨 ({n})",removeFromSelection:"선택에서 제외",common:"공통",tablesOnly:"테이블",wallsOnly:"벽",groupRotation:"그룹 회전",groupRotationHint:"선택한 전체를 중심을 기준으로 회전합니다.",delete:"선택 항목 삭제",area:"구역",reservable:"예약 가능",fill:"채우기",align:"정렬",alignLeft:"왼쪽 가장자리 정렬",alignCenterH:"가로 중심 정렬",alignRight:"오른쪽 가장자리 정렬",alignTop:"위쪽 가장자리 정렬",alignCenterV:"세로 중심 정렬",alignBottom:"아래쪽 가장자리 정렬",distribute:"균등 배치",distributeH:"가로로 균등 배치 (3개 이상)",distributeV:"세로로 균등 배치 (3개 이상)"}},deleteModal:{title:"삭제할까요?",titleTable:"{n}번 테이블을 삭제할까요?",titleWall:"이 벽을 삭제할까요?",titleWallRound:"이 곡선 벽을 삭제할까요?",titleText:"이 텍스트 라벨을 삭제할까요?",titleMulti:"선택한 객체 {n}개를 삭제할까요?",body:"이 작업은 되돌릴 수 없습니다.",cancel:"취소",confirm:"삭제",bookedWarning:"{tables} 테이블 — 진행 중인 예약 {count}건. 삭제하면 이 고객들은 테이블을 잃습니다. | 진행 중인 예약이 있는 테이블: {tables} (총 {count}건). 삭제하면 이 고객들은 테이블을 잃습니다."},rotation:{label:"회전",nudgeLeft:"반시계 방향으로 45° 회전",nudgeRight:"시계 방향으로 45° 회전"},mobile:{addTitle:"객체 추가",addObject:"객체 추가",cancelInsert:"배치 취소",rotateTitle:"휴대폰을 돌려 주세요",rotateBody:"카메라 노치가 도구 모음을 가리고 있습니다. 휴대폰을 반대 방향으로 돌려 주세요."},reservationConflict:{title:"이 테이블에 예약된 고객이 있습니다",body:"아래 테이블이 삭제되거나 번호가 바뀌는데, 아직 예약된 고객이 있습니다. 이미 자리를 옮겼거나 예약을 취소한 경우에만 저장하세요.",confirm:"그래도 저장"}},x={title:"파트너 로그인",subtitle:"지원팀 접속 — 레스토랑 #{id}",subtitleNoId:"지원팀 접속",submit:"로그인",signingIn:"로그인 중…",or:"또는",google:"Google로 로그인",fillAllFields:"두 항목을 모두 입력해 주세요.",invalidCredentials:"이메일 또는 비밀번호가 올바르지 않습니다.",popupBlocked:"브라우저가 로그인 창을 차단했습니다. 팝업을 허용하고 다시 시도해 주세요.",tooManyAttempts:"시도 횟수를 초과했습니다. 잠시 후 다시 시도해 주세요.",unauthorizedDomain:"이 도메인은 로그인 설정에서 허용되지 않았습니다. Hostme 팀에 알려 주세요.",signInFailed:"로그인하지 못했습니다. 다시 시도해 주세요.",exchangeFailed:"레스토랑을 열지 못했습니다. 다시 시도하시거나 Hostme 팀에 문의해 주세요.",notAPartner:"이 계정에는 파트너 접근 권한이 없습니다.",restaurantNotFound:"#{id} 레스토랑을 찾을 수 없습니다.",noRestaurant:"링크에 레스토랑이 지정되어 있지 않습니다. 파트너 포털에서 다시 열어 주세요.",notConfigured:"이 빌드에는 파트너 로그인이 설정되어 있지 않습니다.",handover:"파트너 포털의 정보로 로그인하는 중…",notice:"지원팀 자격으로 다른 사람의 레스토랑에 로그인합니다. 모든 작업은 본인 이름으로 기록됩니다.",sessionBanner:"다른 사람의 레스토랑에 있습니다 — {name}. 지원 모드이며 작업이 기록됩니다.",exitMode:"파트너 모드 종료",intentTitle:"파트너 링크",intentBody:"이 링크는 지원팀 자격으로 #{id} 레스토랑을 엽니다. 현재 세션에는 이 레스토랑에 대한 접근 권한이 없습니다.",intentStay:"여기 남기",intentSignIn:"파트너로 로그인"},O={restaurantTitle:"다른 레스토랑이 열려 있습니다",restaurantBody:"링크는 #{id} 레스토랑을 가리켰지만 이 계정으로는 열 수 없습니다. 지금 보고 계신 곳은 '{name}'입니다.",tabTitle:"이 탭은 이용할 수 없습니다",tabBody:"따라오신 링크는 현재 역할로는 열 수 없는 탭을 가리켜서, 열 수 있는 탭을 대신 열었습니다. 접근이 필요하시면 레스토랑 소유자에게 요청해 주세요.",sectionTitle:"이 페이지는 이용할 수 없습니다",sectionBody:"따라오신 링크는 현재 역할로는 열 수 없는 페이지로 이어져서, 대시보드를 열었습니다. 접근이 필요하시면 레스토랑 소유자에게 요청해 주세요.",dismiss:"알겠습니다"},E={article:"도움말 문서"},L={auth:e,nav:t,user:a,profileUnavailable:o,appWelcome:i,languages:s,dashboard:n,profile:r,deleteAccount:l,notifications:d,search:c,subscriptionCancelledBanner:u,common:p,roles:m,imagePicker:g,emailEditor:h,events:b,campaigns:v,triggerEditor:y,reservations:T,pages:S,settings:P,floorTables:f,ordering:D,iconPicker:C,administration:w,integrations:k,guests:A,messaging:H,analytics:R,segments:M,subscription:B,floorBuilder:N,partner
1SignIn:x,deepLink:O,help:E};export{w as administration,R as analytics,i as appWelcome,e as auth,v as campaigns,p as common,n as dashboard,O as deepLink,L as default,l as deleteAccount,h as emailEditor,b as events,N as floorBuilder,f as floorTables,A as guests,E as help,C as iconPicker,g as imagePicker,k as integrations,s as languages,H as messaging,t as nav,d as notifications,D as ordering,S as pages,x as partnerSignIn,r as profile,o as profileUnavailable,T as reservations,m as roles,c as search,M as segments,P as settings,B as subscription,u as subscriptionCancelledBanner,y as triggerEditor,a as user};

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.