const messages = { en: { navigation: { routes: { "pages/index/index": "Luju Apartments", "pkgAccount/auth_result/auth_result": "Verification Result", "pkgAccount/login/login": "Sign In", "pkgAccount/register/register": "Register", "pkgAccount/registration_records/registration_records": "Registration Records", "pkgBooking/book/book": "Booking Confirm", "pkgBooking/book_viewing/book_viewing": "Book Viewing", "pkgBooking/booking_detail/booking_detail": "Booking Detail", "pkgBooking/booking_list/booking_list": "Booking Records", "pkgBooking/pay/pay": "Online Payment", "pkgExplore/download/download": "Gallery", "pkgExplore/filter/filter": "Filter", "pkgExplore/room_detail/room_detail": "Room Detail", "pkgExplore/sign/sign": "Check In", "pkgExplore/store_detail/store_detail": "Community Detail", "pkgExplore/vr_preview/vr_preview": "VR Viewing", "pkgService/application_detail/application_detail": "Application Detail", "pkgService/contract_detail/contract_detail": "Contract Detail", "pkgService/contract_sign/contract_sign": "Contract Signing", "pkgService/device_control/device_control": "Device Control", "pkgService/message_detail/message_detail": "Message Detail", "pkgService/my_application/my_application": "My Applications", "pkgService/my_contract/my_contract": "My Contracts", "pkgService/room_inspection/room_inspection": "Inspection", "pkgService/service_stub/service_stub": "Service Center", "pkgService/smart_control/smart_control": "Smart Control", "pkgService/ticket_center/ticket_center": "Work Orders", "pkgService/ticket_workbench/ticket_workbench": "Work Order", "pkgService/lost_found_publish/lost_found_publish": "Lost and Found", "pkgService/submit_request/submit_request": "Submit Request", "pkgService/utility_recharge/utility_recharge": "Utility Recharge" } }, pages: { index: { component: { MessageCenterTab: { acknowledged: "Got It", butler: "Butler", checkResultDefault: "Inspection Result", checkResultFix: "Needs Fix", checkResultNormal: "Normal", checkResultReview: "Pending Review", checkStatusDefault: "Status Pending", checkStatusDone: "Completed", checkStatusPending: "Pending", checkStatusProcessing: "Processing", checkTypeCheckout: "Checkout Check", checkTypeDefault: "Inspection Record", checkTypeRoutine: "Routine Check", checkTypeSpecial: "Special Check", checkerLabel: "Inspector: ", compensationLabel: "Compensation: ", emptyDesc: "Notifications and inspection reminders will appear here.", emptyTitle: "No Messages", inspectionChecker: "Inspector", inspectionCountUnit: "alerts", inspectionDesc: "Inspection reminders are summarized automatically.", inspectionItemPrefix: "Item {index}", inspectionItemsTitle: "Inspection Items", inspectionNeedManualHandle: "Inspection reminders need manual handling", inspectionRemarkTitle: "Inspection Remark", inspectionResult: "Result", inspectionStatus: "Status", inspectionSummaryFallback: "Inspection reminder, tap to view details.", inspectionTitle: "Inspection", loadingDesc: "Syncing notifications and inspections.", loadingTitle: "Loading Messages", markNotificationRead: "Read Notifications", noUnreadNotification: "No unread notifications", notificationFallbackDesc: "You have a new system message", notificationFallbackTitle: "System Notification", payment: "Payment", problemLabel: "Problem: ", recentMessages: "Recent", remarkLabel: "Remark: ", remoteMarkedRead: "Notifications marked as read", remoteMarkedReadWithInspection: "Notifications marked as read, inspection reminders still need handling", subtitle: "You have {count} unread messages", system: "System", title: "Messages", unassignedRoom: "Room Unlinked", viewDetail: "Details" }, MyApplicationTab: { agreeAndPay: "Agree and Pay", apartmentLabel: "Apartment", cancelOrder: "Cancel Order", cancelOrderContent: "This will close the current unpaid deposit order. Continue?", cancelOrderFailed: "Failed to cancel order", cancelOrderLoading: "Canceling...", cancelOrderSuccess: "Order canceled", cancelOrderTitle: "Cancel Order", continuePay: "Continue Pay", currentStepTag: "Current", dateRangeJoiner: " to ", depositNoticeTitle: "Rental Deposit Notice", emptyDesc: "You have not submitted any application yet. Go select a room to start a stay or viewing application.", emptyTitle: "No applications yet", goSelectRoom: "Select Room", leaseTermLabel: "Lease Term", loadError: "Failed to load applications", loadingDesc: "Syncing your application records. Please wait.", missingApplicationCode: "Missing application number", missingBillCode: "Missing application bill number", missingContractNo: "Missing contract number", noPendingDepositBill: "No pending deposit bill available", noMore: "No more applications", occupantLabel: "Resident", pageDesc: "Your stay and viewing application records", pageTitle: "My Applications", payDeposit: "Pay Deposit", fetchPaymentParamsFailed: "Failed to get payment parameters", fetchWechatLoginCodeFailed: "Failed to get WeChat login code", loadingBill: "Loading bill...", loadingPayment: "Opening payment...", depositPaymentDesc: "Deposit Payment", paymentSuccess: "Payment succeeded", paymentCanceled: "Payment canceled", paymentFailed: "Payment failed", pendingPaymentAmountLabel: "Order Amount", pendingPaymentDescLabel: "Description", pendingPaymentExpireLabel: "Time Left", pendingPaymentExpired: "Expired", pendingPaymentOrderNoLabel: "Payment Order No.", pendingPaymentTitle: "Unfinished Payment", pullUpMore: "Pull up to load more", refresh: "Refresh Status", refreshEmptySuccess: "No application found. Reservation records synced.", refreshSuccess: "Application status refreshed", refreshing: "Refreshing...", refreshAction: "Refresh", remarkLabel: "Remarks", reservationFlowDesc: "Progress of the current reservation order", reservationFlowTitle: "Reservation Flow", reservationOrderFallback: "Reservation", reservationOrderNoLabel: "Order No.", roomNoLabel: "Room No.", reservationRoomLabel: "Room Type", reservationStatusLabel: "Order Status", contractPendingReviewHint: "Contract signed, waiting for review", inspectionPendingReviewHint: "Inspection under review", checkinPendingHint: "Move-in is being processed, please wait", scrollToRead: "Scroll to bottom", refreshFlowAction: "Refresh Flow", statusApproved: "Approved", statusFinished: "Closed", statusPending: "Pending", statusPendingPayment: "Please Pay Deposit", statusProcessing: "Processing", statusRejected: "Rejected", statusReminderTitle: "Current Progress", statusWaitingRoomAssign: "Waiting for Room Assignment", stayApplicationTitle: "Stay Application", submittedAtLabel: "Submitted At", toolbarSummary: "{total} applications", viewingApplicationTitle: "Viewing Request", viewingTimeLabel: "Viewing Time" }, ProfileCenterTab: { activities: "Activities", application: "Applications", applicationStatus: "Application Status", bill: "Billing", bookingList: "Bookings", bookingNo: "Booking No.", bookingPlaceholder: "Your booking will appear here after payment", bookingProgressDesc: "Booking will be reviewed after payment. Butler will be assigned upon approval.", bookingStatusTitle: "Booking Progress", clickToLogin: "Click to Sign In", comingSoon: "Soon", comingSoonDesc: "{title} is under development. The formal entry and data will be available here later.", completeFormBeforeSubmit: "Please complete the form before submitting.", contact: "Contact", contract: "My Contract", contractPendingDesc: "You have contracts waiting for signature. Please review them soon.", contractPendingTag: "Pending", contractStatusTitle: "Contract Status", coreServices: "My Services", daysIn: "Days Stayed", done: "Done", edit: "Edit", exclusiveButler: "Exclusive Butler", guest: "Guest", languageSwitch: "Language", languageToggleLabel: "中文", logout: "Log Out", logoutConfirmContent: "Are you sure to log out?", logoutConfirmTitle: "Notice", logoutSuccess: "Logged out", notSubmittedYet: "No registration submitted", onlineService: "24/7 Online Service", pendingCountText: "Pending Contracts", points: "Points", registrationApprovedDesc: "Registration approved, ready to sign in", registrationEmptyDesc: "No registration submitted", registrationPendingDesc: "Registration is under review", registrationRecordGuestDesc: "You can still review registration records submitted with this Wechat account before signing in.", registrationRecordSubmittedDesc: "A registration has been submitted with this Wechat account. You can review its history and approval status.", registrationRecordTitle: "Registration Records", registrationRejectedDesc: "Registration rejected, please review the reason", registrationStatusTitle: "Registration Status", remind: "Remind", settings: "Preferences", statusApproved: "Approved", statusPending: "Under Review", statusRejected: "Rejected", submitRequest: "Submit Request", userFallback: "User", viewDetail: "Details", viewNow: "View Now" }, SelectRoomTab: { all: "All", allAreas: "All Areas", allTags: "All Tags", apartmentDetail: "Apartment Detail", areaStatus: "Area Status", areaStatusDesc: "No areas matched the current filter.", areaUnavailableTitle: "Area information unavailable", bookViewing: "Book Viewing", defaultAreaAddressPrefix: "Located at ", distancePlaceholder: "Nearby", emptyAreaDesc: "No rooms available under the current filters.", emptyAreaTitle: "No matched rooms", emptyBannerDesc: "No active banners available.", emptyBannerTitle: "No banners", learnMore: "Learn More", loadingAreaStatus: "Loading areas", pricePending: "TBD", priceUnit: "/month", searchApartment: "Search by area, apartment or room type", shareTitle: "Luju Apartments - International Youth Community", sortDefault: "Default", sortNameAsc: "Name", sortPriceAsc: "Price: Low to High", sortPriceDesc: "Price: High to Low", tagFilter: "Tags", viewCommunity: "View Details" }, StayServiceTab: { activeStatus: "Active", addSmartDevice: "Add Smart Device", bedPrefix: "Bed {label}", billCount: "Bills", billEmpty: "No unpaid bills", billRecordFallback: "Bill", billType: "Type", billUnit: "", bookedRoomType: "Room Type", bookingInfo: "Booking Info", bookingPendingDesc: "Deposit has been paid. The booking is waiting for approval and butler assignment.", bookingPendingNote: "Your booking has been submitted. More stay details will appear after review.", bookingPendingTitle: "Your booking is under review", butler: "Community Butler", callNow: "Call", checkinStep: "Check-in", communityEvent: "Community Events", completeFormBeforeSubmit: "Please complete the form before submitting.", contactPhonePrefix: "Phone ", contractPendingNote: "The flow stays at the contract step until the contract is signed.", contractRoom: "Contract Room", contractStep: "Contract", controllable: "Controllable", currentStay: "Current Stay", deviceFallback: "Device {index}", goSelectRoom: "Explore Rooms", joinEvent: "Join Now", lastCreateTime: "Latest", leaseTerm: "Lease", loadingButlerInfo: "Syncing butler info...", loadingManagerInfo: "Loading butler info", loadingShort: "Syncing", managerContactSummary: "{count} butlers are available in this area", managementContacts: "Dorm Managers & Admins", dormitoryManagerTag: "Dorm Mgr", counselorTag: "Admin", noManagerContacts: "No management contacts", managerFallback: "Community Butler", managerInitialFallback: "B", managerWechatCopied: "Butler Wechat copied", mealDeliveryJumpFailed: "Failed to open the ordering mini-program", multiButlerName: "{name} +{count}", myBill: "Monthly Bill", noButlerInfo: "No butler information yet", noContactPhone: "No contact number", noManagerWechat: "No butler Wechat", notCheckedInDesc: "We provide premium co-living services.\nPlease explore and find your suite first.", notCheckedInTitle: "No Leased Room Yet", onDutyCount: "{count} on duty", online: "Online · Response < 5 mins", onlineSingle: "1 online", paidOff: "Paid Off", payBill: "Pay Now", pendingAssignment: "Pending assignment", pendingContractFound: "Pending contract found", pendingSync: "Pending", primaryButlerTag: "Lead", publicService: "Premium Services", refreshFailed: "Refresh failed, please try again later", refreshStatus: "Refresh Status", refreshing: "Refreshing...", reviewStep: "Review", roomDeviceUnconfigured: "Smart devices are not configured for this room", signContract: "Sign Contract", signContractDesc: "A contract is ready for signature. You are now at the contract signing step.", signContractNow: "Please sign your contract", smartAvailableAfterCheckin: "Smart devices are available after check-in", smartControl: "Smart Control", smartDeviceConnected: "{count} smart devices connected", smartDeviceEmpty: "No smart devices in this room", smartDeviceLoadFailed: "Failed to load smart devices", smartDeviceSyncFailed: "Smart device sync failed", statusUpdated: "Status updated", stayService: "Service Request", submitBookingStep: "Submit", submitRequest: "Submit Request", syncingSmartDevices: "Syncing smart devices...", title: "My Stay", unpaid: "Unpaid", viewAll: "View All", viewBill: "View Bills" } }, index: { loadingBrand: "Luju Apartments", shareTitle: "Luju Apartments - International Youth Community", tabMessageCenter: "Messages", tabMyApplication: "Applications", tabProfileCenter: "Profile", tabSelectRoom: "Explore", tabStayService: "Stay" } } }, pkgAccount: { auth_result: { auth_result: { approvedPleaseLogin: "Approved. Please sign in.", descApproved: "Your registration is approved and you can sign in now.", descPendingDefault: "Your application is under review and sign-in is unavailable before approval.", descPendingRecords: "This page shows the approval status of the selected application. Pull down or tap the button to refresh.", descRejectedDefault: "Please update the information and resubmit based on the rejection reason.", descRejectedRecords: "This page shows the approval result of the selected application. Please update the information and resubmit based on the rejection reason.", descUnsubmitted: "Please submit a registration application first. Registration is completed only after approval.", fallbackNone: "-", fetchStatusFailed: "Failed to fetch approval status", goLogin: "Sign In", labelAccount: "Account", labelCertificateNo: "Certificate No.", labelIdentityType: "Identity Type", labelName: "Name", latestDetailMissing: "Latest details are unavailable. Showing the list record instead.", navTitle: "Registration Result", refreshStatus: "Refresh Status", refreshing: "Refreshing...", remarkApproved: "Approval Note", remarkPending: "Approval Note", remarkRejected: "Rejection Reason", resubmitRegister: "Submit Registration Again", roleDomestic: "Chinese", roleForeign: "Foreign", statusApproved: "Approved", statusPending: "Under Review", statusRejected: "Rejected", submittedInfoTitle: "Submitted Information", titleApproved: "Registration approved", titlePending: "Registration submitted", titleRejected: "Registration was not approved", titleUnsubmitted: "No registration application submitted yet", unsubmitted: "Not Submitted", viewRegistrationRecords: "View Registration Records" } }, login: { login: { accountLabel: "Account / Email", accountPlaceholder: "Enter account or email", goRegister: "Register", loading: "Loading...", loginFailed: "Sign-in failed, please try again later", loginSuccess: "Signed in successfully", noAccount: "No account yet?", pageDesc: "Sign in to Luju Apartments and explore your international youth community.", pageTitle: "Welcome Back", passwordLabel: "Password", passwordPlaceholder: "Enter password", submitLogin: "Sign In", submitting: "Signing In...", validateRequired: "Please enter both account and password", viewRegistrationRecords: "View Registration Records", viewRegistrationRecordsDesc: "You can review registration records submitted by this Wechat account even without signing in." } }, register: { register: { admissionNoticeAttachmentLabel: "Admission Notice (Employment Certificate)", accountLabel: "Account", accountPlaceholder: "Enter account name", accountSection: "Account Information", attachmentNotImage: "The current attachment is not an image", basicSection: "Basic Verification", chinaText: "China", countryFixedText: "Fixed for Chinese users", countryLabel: "Country", countryLoadFailed: "Failed to load country list", countryPlaceholder: "Select country", dictLoadFailed: "Failed to load dictionaries", dietaryLabel: "Dietary Habit", dietaryPlaceholder: "Select dietary habit", domesticIdentity: "Chinese", draftTipDefault: "Unfinished content is auto-saved and can be continued later", draftTipSaved: "Current content has been auto-saved", emailCodeLabel: "Email Code", emailCodePlaceholder: "Enter email verification code", emailLabel: "Email", emailPlaceholder: "Enter email", foreignIdentity: "Foreign", genderLabel: "Gender", genderMale: "Male", genderFemale: "Female", goLogin: "Sign In", hangzhouPropertyLabel: "Property in Hangzhou", hasAccount: "Already have an account?", hobbyLabel: "Hobby", hobbyPlaceholder: "Select hobby", idCardBackAttachmentLabel: "ID Card Back", idCardFrontAttachmentLabel: "ID Card Front", idCardLabel: "ID Card Number", idCardPlaceholder: "Enter ID card number", imageUploadedTip: "Image uploaded, tap to preview", loading: "Loading...", nameLabel: "Name", namePlaceholder: "Enter your real name", navTitle: "Register", noSelectableCountry: "No selectable country", noSelectableOptions: "No selectable options", noText: "No", pageDesc: "Account information and identity verification materials must be completed together. Registration succeeds only after approval.", pageTitle: "Register and Submit Verification", passportAttachmentLabel: "Passport Attachment", passportImageOnlyTip: "Passport attachment only supports images, please re-upload", passportExpiryLabel: "Passport Expiry Date", passportLabel: "Passport Number", passportPlaceholder: "Enter passport number", passwordLabel: "Password", passwordPlaceholder: "Enter at least 6 characters", phoneLabel: "Phone", phonePlaceholder: "Enter phone number", preferenceSection: "Preferences", profileSection: "Profile", religionLabel: "Religion", religionPlaceholder: "Select religion", restoreDraftCancel: "No", restoreDraftConfirm: "Restore", restoreDraftContent: "Would you like to restore the last unfinished or failed registration data?", restoreDraftSuccess: "Previous draft restored", restoreDraftTitle: "Unfinished Data Found", reupload: "Re-upload", schoolLabel: "School", schoolPlaceholder: "Enter school (optional)", selectDate: "Select date", submitFailed: "Submission failed, please try again later", submitPending: "Application submitted, pending approval", submitRegister: "Submit Registration", submitting: "Submitting...", uploadFailed: "Upload failed, please retry", uploadAdmissionNotice: "Upload admission notice or employment certificate", uploadIdBack: "Upload ID card back", uploadIdFront: "Upload ID card front", uploadImageOption: "Upload Image", uploadPassport: "Upload passport image", uploadSuccess: "Upload successful", uploading: "Uploading...", validateEmail: "Please enter a valid email address", validateIdCard: "Please enter your ID card number", validateIdCardAttachments: "Please upload both sides of the ID card", validateIdentityBasic: "Please complete gender, phone number, and country", validatePassportAttachment: "Please upload the passport image", validatePassportAttachmentImage: "Passport attachment only supports image files", validatePassportBasic: "Please enter passport number and expiry date", validatePasswordLength: "Password must be at least 6 characters", validatePhone: "Please enter a valid phone number", validateProfile: "Please complete work unit and property status in Hangzhou", validateRequiredBasic: "Please complete the account, password, email, and name fields first", viewImage: "Preview", viewRegistrationRecords: "View Registration Records", viewRegistrationRecordsDesc: "If this Wechat account has submitted before, you can review the history and approval status directly.", workUnitLabel: "Work Unit", workUnitPlaceholder: "Enter work unit", yesText: "Yes" } }, registration_records: { accountLabel: "Account", approvalRemarkLabel: "Review Notes", approvedAtLabel: "Approved At", emptyDesc: "This Wechat account has not submitted any registration application yet.", emptyTitle: "No registration records", goRegister: "Submit Registration", idNumberLabel: "ID Number", loadError: "Failed to load registration records", loadingDesc: "Syncing registration records submitted by this Wechat account. Please wait.", loadingMore: "Loading...", loadingTitle: "Loading registration records", navTitle: "Registration Records", noMore: "No more records", phoneLabel: "Phone", providerUnavailableDesc: "Please open this page in Wechat Mini Program to view registration records submitted by this Wechat account.", providerUnavailableTitle: "Unable to access Wechat identity", pullUpMore: "Pull up to load more", registrationFallbackTitle: "Registration Application", rejectReasonLabel: "Rejection Reason", statusAll: "All", statusApproved: "Approved", statusPending: "Under Review", statusProcessing: "Processing", statusRejected: "Rejected", submittedAtLabel: "Submitted At" } }, pkgBooking: { book: { book: { bookingFor: "Booking For", bookingStatus: "Status", checkInDate: "Booking Period", checkInDesc: "Payment will create a booking order first, without occupying room inventory.", deposit: "Deposit", endDate: "Check-out Date", nightUnit: "nights", pendingPayment: "Deposit Pending", roomTypeLabel: "Room Type: ", selectDate: "Select Date", startDate: "Check-in Date", stayNights: "Stay Nights", submitOrder: "Go To Payment", title: "Booking Confirm" } }, book_viewing: { book_viewing: { backTitle: "Back", budgetLabel: "Budget (CNY/month)", budgetPlaceholder: "Enter your expected budget", defaultInfoDesc: "A dedicated manager will arrange a one-on-one viewing for you", duration1: "1-3 months", duration2: "4-6 months", duration3: "7-9 months", duration4: "10-12 months", duration5: "Over 1 year", durationLabel: "Expected Stay Duration", navTitle: "On-site Viewing", roomTypeLabel: "Preferred Room Type", remarkArea: "Preferred Area: {area}", remarkBudget: "Budget: {budget} CNY/month", remarkDuration: "Expected Stay: {duration}", remarkPayMethod: "Payment Method: {payMethod}", remarkRoomType: "Preferred Room Type: {roomType}", remarkSource: "Current Source: {room}", remarkTail: "Note: Please confirm the viewing schedule with the manager. After viewing and locking a room number, the order can be converted into a booking for payment.", remarkTime: "Viewing Time: {date} {time}", remarkTitle: "Viewing Request", remarkWorkplace: "Work / Commute Location: {workplace}", rentalNeeds: "Rental Needs", rentalNeedsDesc: "Help the manager recommend a suitable room", selectDurationRequired: "Please select the expected stay duration", selectTimeRequired: "Please select a viewing time slot", selectViewingTime: "Select Viewing Time", selectViewingTimeDesc: "Choose a time slot that works for you", submitBooking: "Submit Request", submitFailed: "Failed to submit the booking", submitSuccessContent: "Your viewing request has been submitted.\nThe system will forward it to the authorized manager of the selected area. After the manager confirms the viewing, the order can be completed directly or converted into a booking for payment once a room is selected.", submitSuccessTitle: "Booking Submitted", submitting: "Submitting...", today: "Today", tomorrow: "Tomorrow", week0: "Sun", week1: "Mon", week2: "Tue", week3: "Wed", week4: "Thu", week5: "Fri", week6: "Sat", workplaceLabel: "Work / Commute Location", workplacePlaceholder: "Enter your main commute location" } }, booking_detail: { booking_detail: { areaLabel: "Area", buildingFloorLabel: "Building / Floor", cachedDetailShown: "Network issue detected. Showing the latest synced detail.", dateRangeJoiner: " to ", emptyDesc: "No booking detail is available right now. Please check your booking records first.", emptyTitle: "No booking record", flowStep1: "1. Paid and waiting for approval", flowStep2: "2. Approved and waiting for butler assignment", flowStep3: "3. Butler assigned and waiting for room allocation", flowTitle: "Current Flow", loadFailed: "Failed to load booking detail", loadingDesc: "Syncing the latest booking details. Please wait.", loadingTitle: "Loading booking", navTitle: "Booking Detail", orderNoLabel: "Booking No.", rejectReasonTitle: "Rejection Reason", roomNoLabel: "Room No.", roomTypeLabel: "Room Type", stayDateLabel: "Stay Dates", submittedAtLabel: "Submitted At" } }, booking_list: { booking_list: { bookingFallbackTitle: "Room Booking", buildingFloorLabel: "Building / Floor", cachedListShown: "Network issue detected. Showing the latest synced records.", dateRangeJoiner: " to ", emptyDesc: "No booking record is available yet. Completed bookings will appear here.", emptyTitle: "No booking records", goSelectRoom: "Select Room", loadFailed: "Failed to load booking records", loadingDesc: "Syncing your latest booking records. Please wait.", loadingTitle: "Loading bookings", navTitle: "Booking Records", stayDateLabel: "Stay Dates", submittedAtLabel: "Submitted At" } }, pay: { pay: { billTo: "Bill To", bookingPeriod: "Booking Period", company: "Lüju Property Management", fallbackAction: "Submit Application Instead", fallbackDesc: "The real deposit payment flow is not ready yet. You can submit an application first and let staff follow up.", fallbackNavigateDesc: "The payment API is not ready yet. Submit a stay application first and let staff follow up.", fallbackNavigateTitle: "Stay Application", fallbackTitle: "Payment API Pending", laterAction: "Later", location: "Location", nightUnit: "nights", payNow: "Pay and Submit", paying: "Processing...", paymentAmount: "Deposit Amount", paymentMethod: "Payment Method", pendingTitle: "Payment API Pending", roomType: "Style", roomTypeNameLabel: "Room Type", stayNights: "Stay Nights", title: "Deposit Payment", toLabel: "to", total: "Total" } } }, pkgExplore: { download: { download: { galleryImage: "Guide Image", galleryImageLong: "Guide Image Guide Image Guide Image", navTitle: "Gallery", searchButton: "Search", searchPlaceholder: "Enter search keywords" } }, filter: { filter: { comprehensiveLabel: "All", navTitle: "App Zone", priceLabel: "Price", product1: "Eggy Party", product2: "Carrot Defense", product3: "Travel Frog", product4: "Fallout Shelter", product5: "Kingdom Rush", product6: "Honkai: Star Rail", product7: "Monument Valley", purchasedSuffix: "purchased", salesLabel: "Sales", sortDefault: "Default", typeLabel: "Type" } }, sign: { sign: { checkInNow: "Check In Now", checkInRewardHint: "Daily continuous check-ins unlock multiple rewards", checkInSuccess: "Check-in Successful", checkedInFor: "Checked in for", continuousCheckIn: "Continuous check-in", daysAndEarned: "days and earned", daysRewardHint: "days unlocks extra rewards!", goComplete: "Go", more: "More", notice1: "Congrats to Fu*qi for 7 consecutive check-ins and earning 300 points", notice2: "Congrats to Xu*yuan for 7 consecutive check-ins and earning 300 points", notice3: "Congrats to Cai*dong for 7 consecutive check-ins and earning 300 points", pointsRecord: "Points History", pointsUnit: "Points", taskDesc: "Catch That Pig", taskName: "Task Name", taskSectionTitle: "Complete Tasks for Coins", warmTip: "Tips:", warmTipDesc: "Daily check-in grants 10 points. Completing 7 consecutive days may unlock extra rewards, and the record resets after day 7." } }, store_detail: { store_detail: { apartmentName: "Community", collapse: "Collapse", contactManager: "Contact Butler", expandAll: "Expand", loading: "Loading...", loadingManagerInfo: "Loading butler info", navigate: "Navigate", noAddress: "No address available", noImage: "No image", noLocation: "Location unavailable", noServicePhone: "No contact number", parseStoreDataFailed: "Failed to parse community data", phoneConsult: "Phone Consult", selectContact: "Select Contact", pricePending: "TBD", priceUnit: "/month", roomSectionTitle: "Available Rooms ({count})", sectionTitle: "Supporting Facilities", share: "Share", shareTitle: "Community Detail", storeIntro: "Community Intro", viewDetails: "View Details" } }, room_detail: { room_detail: { addressHint: "View on map", allRoomsLoginContent: "Please sign in before booking this room.", apartmentName: "Apartment", applyStay: "Apply Stay", applyViewing: "Book Viewing", areaLabel: "Area", basicInfo: "Basic Info", bookRoom: "Book Room", bookingInfo: "Booking Info", bookingRules: "Booking Rules", buildingLabel: "Building", collapse: "Collapse", englishNameLabel: "English Name", expandAll: "Expand", floorLabel: "Floor", imageCount: "{count} Images", imageTab: "Images", loginTitle: "Sign In Required", navigate: "Navigate", needApproval: "Approval Required", noAddress: "No address available", noApprovalNeeded: "Instant Booking", noImage: "No image", noLocation: "Location unavailable", noPreviewImage: "No preview image", navDetail: "Room Detail", orientationLabel: "Orientation", payMethodLabel: "Payment", payMethodPrefix: "Payment: ", priceLabel: "Price", pricePending: "TBD", pricePrefix: "Price: ", priceUnit: "/month", roomCodeLabel: "Room No.", roomDesc: "Room Description", roomTypeCodePrefix: "Room Type Code: ", roomTypeDesc: "Room Type Description", roomTypeFallback: "Room", roomTypeLabel: "Room Type", roomTypeNameLabel: "Room Type Name", roomTypeApplyLoginContent: "Please sign in before submitting a viewing request for this room type.", roomSectionTitle: "Room Assets", sectionTitle: "Room Assets", sectionSubtitle: "{count} items", share: "Share", shareTitle: "Room Detail", statusLabel: "Status", stayApplicationSuffix: "Stay Application", stayLoginContent: "Please sign in before submitting a stay application.", swipeUpHint: "Swipe up for details", unitLabel: "Unit", viewLargeImage: "View Large Image", viewLargeImageDesc: "Tap to open the current image in full screen.", vrPreview: "VR Preview", vrPreviewDesc: "Switch to immersive room viewing.", vrTab: "VR", vrViewingTitle: "VR Viewing" } }, vr_preview: { vr_preview: { defaultTitle: "VR Viewing", emptyPreview: "No VR preview available", modeChip: "VR Preview", noAsset: "No VR preview asset available", placeholderSubtitle: "This room type keeps its VR entry reserved for richer immersive assets later.", posterSubtitle: "The current VR preview poster is displayed. Tap to view the full image.", viewFullscreen: "View Fullscreen", waitingAsset: "Waiting for assets" } } }, pkgService: { application_detail: { application_detail: { apartmentLabel: "Apartment", applicantLabel: "Applicant", applicationCodeLabel: "Application No.", applicationRemarkTitle: "Application Notes", applicationTypeLabel: "Application Type", appliedRoomTypeLabel: "Requested Room Type", backList: "Back to List", basicInfoTitle: "Basic Information", budgetKey: "Budget", codeCopied: "Application number copied", commuteKey: "Work / Commute Location", copy: "Copy", dateRangeJoiner: " to ", emptyRemark: "No additional remarks", intendedRoomTypeLabel: "Preferred Room Type", leaseDurationKey: "Expected Stay Duration", leaseTermLabel: "Lease Term", missingBillCode: "Missing application bill number", missingContractNo: "Missing contract number", inspectionPendingReviewHint: "Inspection under review", checkinPendingHint: "Move-in is being processed, please wait", refreshAction: "Refresh", navTitle: "Application Detail", paymentMethodKey: "Payment Method", preferredAreaKey: "Preferred Area", preferredRoomTypeKey: "Preferred Room Type", remarkTitle: "Remarks", statusApproved: "Approved", statusFinished: "Closed", statusLabel: "Status", statusPending: "Pending", statusPendingPayment: "Please Pay Deposit", statusProcessing: "Processing", statusRejected: "Rejected", statusReminderTitle: "Current Progress", statusWaitingRoomAssign: "Waiting for Room Assignment", stayApplicationTitle: "Stay Application", stayApplicationType: "Stay Application", submittedAtLabel: "Submitted At", viewBill: "View Related Bill", viewingApplicationTitle: "Viewing Request", viewingApplicationType: "Viewing Request", viewingInfoTitle: "Viewing Details", viewingTimeKey: "Viewing Time", viewingTimeLabel: "Viewing Time" } }, components: { CurrentApplicationBillPanel: { applicationNoPrefix: "Application No: ", billInfoIncomplete: "Incomplete bill information", billLoadFailed: "Failed to load bills", billNoLabel: "Bill No.", billPaymentDesc: "Bill Payment", billRecordFallback: "Bill Record", buttonConfirming: "Confirming...", buttonLaunching: "Launching...", buttonPolling: "Checking ({current}/{total})", continuePayButton: "Continue Pay", createTimeLabel: "Created At", currentPaymentLabel: "This Payment", emptyApplicationDesc: "No related application is found. Please go to \"My Applications\" and select an application first.", emptyApplicationTitle: "No Application Available", emptyPendingDesc: "No pending bills are found under the current application. New bills will appear here later.", emptyPendingTitle: "No Pending Bills", goToMyApplication: "Go to My Applications", heroDescAutoResolve: "The latest application number will be used first to query related bills.", heroDescResolved: "This page is querying pending bills by the current application number.", heroTitle: "Pending Bills", loadingDesc: "Syncing your pending bills, please wait.", loadingTitle: "Loading Bills", paidAmountLabel: "Paid Amount", paymentActionAcknowledge: "Got It", paymentCanceled: "Payment canceled", paymentDescFailed: "The system cannot confirm the payment for now. Please review the tips and try again later.", paymentDescLaunching: "Wechat Pay is being launched. Complete the payment in Wechat and return here.", paymentDescPolling: "After payment, the system checks the payment status automatically. No manual refresh is needed.", paymentDescSuccess: "This payment has been synchronized and the bill status is updated.", paymentFailedError: "Payment failed", paymentFailedHint: "Payment success is not confirmed yet. Please refresh the bill later.", paymentHintLaunching: "Payment information is ready. Waiting for Wechat payment to complete.", paymentHintLaunchingToast: "Launching Wechat Pay. Please complete the payment in Wechat.", paymentHintPaidWaiting: "Payment succeeded. Waiting for backend confirmation of the bill status.", paymentHintPolling: "Checking payment status with the backend, please wait.", paymentParamIncomplete: "Incomplete Wechat payment parameters", paymentProgressLabel: "Confirmation Progress", paymentProgressWaiting: "Waiting for Payment", paymentResultFailed: "Backend returned payment failure", paymentResultFailedRetry: "Payment confirmation failed. Please refresh the bill later.", paymentResultPending: "Backend is still processing", paymentResultSuccess: "Backend confirmed payment success", paymentStageDefault: "Processing Payment", paymentStageFailed: "Payment Incomplete", paymentStageLaunching: "Launching Wechat Pay", paymentStagePolling: "Syncing Payment Result", paymentStageSuccess: "Payment Confirmed", paymentStatusPending: "Processing", paymentSuccessAllDone: "Payment is confirmed. All bills under this application are completed.", paymentSuccessPendingBills: "Payment is confirmed. There are still other unpaid bills under this application.", paymentTimeoutError: "Payment confirmation timed out. Please refresh the bill later.", paymentTipsDefault1: "After successful payment, the system may need a few seconds to sync the bill status.", paymentTipsDefault2: "Do not tap the pay button repeatedly or close this page too early.", paymentTipsDefault3: "If the process times out, the system checks the bill status again automatically.", paymentTipsFailed1: "If you have completed the payment, refresh the bill later to avoid duplicate payment.", paymentTipsFailed2: "If Wechat has deducted the amount but the page is not updated, contact your manager or support for verification.", paymentTipsFailed3: "If no deduction occurred, return to the bill list and try again.", paymentTipsSuccess1: "If there are other pending bills under this application, you can continue paying on this page.", paymentTipsSuccess2: "If all bills are paid, the system returns to the home page automatically.", paymentTipsSuccess3: "Payment record synchronization may be slightly delayed. Refresh to see the latest status.", paymentTipsTitleDefault: "Tips", paymentTipsTitleFailed: "Suggestions", paymentTipsTitleSuccess: "Completion Notes", paymentTitleDefault: "Processing Payment", paymentTitleFailed: "Payment Confirmation Failed", paymentTitleLaunching: "Complete Wechat Pay", paymentTitlePolling: "Confirming Payment Result", paymentTitleSuccess: "Payment Successful", pendingPaymentAmountLabel: "Order Amount", pendingPaymentChannelLabel: "Channel", pendingPaymentDescLabel: "Description", pendingPaymentExpireLabel: "Time Left", pendingPaymentExpired: "Expired", pendingPaymentOrderNoLabel: "Payment Order No.", pendingPaymentTitle: "Unfinished Payment", pendingAmountLabel: "Pending Amount", pendingCountLabel: "Pending Count", refundStatusLabel: "Refund Status", relatedBusinessNoLabel: "Related Business No.", remainingAmountLabel: "Remaining Amount", remarkLabel: "Remark", resultLabel: "Result", totalChargeLabel: "Total Charge", wechatCodeFailed: "Failed to get Wechat login code", wechatPayButton: "Wechat Pay", cancelOrderButton: "Cancel Order", cancelOrderContent: "This will close the current unpaid order. Continue?", cancelOrderFailed: "Failed to cancel order", cancelOrderLoading: "Canceling...", cancelOrderSuccess: "Order canceled", cancelOrderTitle: "Cancel Order", paymentNoticeAmountLabel: "Amount", paymentNoticeBillLabel: "Bill No.", paymentNoticeCancel: "Later", paymentNoticeConfirm: "Continue", paymentNoticeItemLabel: "Charge Item", paymentNoticeLine1: "Please confirm the bill and payment amount before continuing.", paymentNoticeLine2: "After payment, the bill status may take a few seconds to sync. Please do not pay repeatedly.", paymentNoticeLine3: "If the payment is interrupted or the page is closed, return to the bill page later to check the latest result.", paymentNoticeTitle: "Payment Notice" } }, contract_detail: { contract_detail: { contractNoLabel: "Contract No.: ", emptyDesc: "No previewable contract content was provided by image URL or contract number.", emptyTitle: "No contract content", imageModeChip: "A4 Image Mode", loadingDesc: "Fetching contract images and content. Please wait.", loadingTitle: "Loading contract", navTitle: "Contract Detail", notAvailable: "N/A", overviewTitle: "Contract Preview", signedChip: "Signed Contract", textModeChip: "Text Preview Mode", zoomSupportedChip: "Zoom Supported" } }, contract_sign: { contract_sign: { back: "Back", contractNoLabel: "Contract No.: ", contractNoMissing: "Missing contract number", emptyDesc: "No signable contract content is available at the moment. Please try again later.", emptyTitle: "No contract content", footerTip: "Please confirm that you have fully read the contract before signing", fullscreenPreview: "Open Fullscreen", fullscreenTitle: "Full Contract", loadingDesc: "Fetching contract content. Please wait.", loadingTitle: "Loading contract", navTitle: "Contract Signing", notAvailable: "N/A", overviewMeta: "Read the contract content before submitting your signature. The result will sync to My Contracts.", overviewTitle: "Before Signing", signAction: "I have read and agree. Sign now", signFailed: "Failed to sign contract", signSuccess: "Contract signed successfully", signerMissing: "Missing signer name", signingLoading: "Submitting contract...", submitting: "Submitting...", uploadFailed: "Failed to upload signature" } }, device_control: { device_control: { actionSuccess: "Action completed", applySetting: "Apply", commandFailed: "Failed to send command", commandSending: "Sending command...", controlPanel: "Control Panel", currentRoom: "Current Room", curtainClose: "Close", curtainClosed: "Curtain closed", curtainOpen: "Open", curtainOpened: "Curtain opened", curtainPause: "Pause", curtainPaused: "Curtain paused", deviceClosed: "Closed", deviceDetail: "Device Details", deviceEnabled: "Enabled", deviceIdMissing: "Missing device ID", deviceMissing: "Missing device information", deviceOpened: "Opened", functionCodeMissing: "Missing function code", functionCount: "{count} functions", pendingTag: "Pending", schemaApplied: "{name} parameters sent", sliderLabel: "Brightness / Value", sliderUpdated: "Slider value updated", syncHint: "Device status refreshes automatically after each action", unknownSchema: "No parameter template recognized", unsupportedBoxText: "This function is not available yet. Tap to send feedback.", unsupportedFunction: "{name} is not fully supported yet" } }, message_detail: { message_detail: { actionButler: "View Service", actionDefault: "Continue to Page", actionPayment: "Handle Bill", actionSystem: "Open Related Page", backList: "Back to Messages", categoryButler: "Butler Message", categoryLabel: "Category", categoryPayment: "Payment Bill", categorySystem: "System Notice", codeCopied: "Notice code copied", codeLabel: "Notice Code", contentTitle: "Content", copy: "Copy", emptyContent: "No detailed content available", expiredDesc: "This message detail has expired. Please return to the message center and open it again.", expiredHint: "Message cache expired", localSource: "Local Business Message", messageFallbackTitle: "Notification", navTitle: "Message Detail", remoteSource: "Remote Notification API", sourceLabel: "Source", statusLabel: "Status", summaryTitle: "Summary" } }, my_application: { my_application: { apartmentLabel: "Apartment", dateRangeJoiner: " to ", emptyDesc: "You have not submitted any application yet. Go select a room to start a stay or viewing application.", emptyTitle: "No applications yet", goSelectRoom: "Select Room", leaseTermLabel: "Lease Term", loadError: "Failed to load applications", loadingDesc: "Syncing your application records. Please wait.", loadingMore: "Loading...", loadingTitle: "Loading applications", missingApplicationCode: "Missing application number", missingBillCode: "Missing application bill number", navTitle: "My Applications", noMore: "No more applications", occupantLabel: "Resident", pullUpMore: "Pull up to load more", refresh: "Refresh Status", refreshSuccess: "Application status refreshed", refreshing: "Refreshing...", remarkLabel: "Remarks", statusAll: "All", statusApproved: "Approved", statusFinished: "Closed", statusPending: "Pending", statusPendingPayment: "Please Pay Deposit", statusProcessing: "Processing", statusRejected: "Rejected", statusReminderTitle: "Current Progress", statusWaitingRoomAssign: "Waiting for Room Assignment", stayApplicationTitle: "Stay Application", submittedAtLabel: "Submitted At", toolbarSummary: "{total} applications", viewBill: "View Related Bill", viewingApplicationTitle: "Viewing Request", viewingTimeLabel: "Viewing Time" } }, my_contract: { my_contract: { actionSign: "Sign Now", actionViewDetail: "View Detail", contractPeriodLabel: "Contract Period", contractTitle: "Stay Contract", dateRangeJoiner: " to ", displayMetricLabel: "Displayed", emptyDesc: "Switch filters or wait for new contract data to be generated.", emptyTitle: "No contract record found", loadingDesc: "Syncing your contract data. Please wait.", loadingTitle: "Loading contracts", mySignatureLabel: "My Signature", navTitle: "My Contracts", overviewSubtitle: "Check stay contracts, signing status, and effective period", overviewTitle: "Contract Overview", pendingMetricLabel: "Pending Sign / Review", recordTipLabel: "Notes", relatedOrderLabel: "Related Order", signStatusLabel: "Signing Status", signed: "Signed", statusApproved: "Approved", statusPending: "Pending Review", statusProcessing: "Processing", statusRejected: "Rejected", tabAll: "All", tabPending: "Pending Sign", tipApproved: "The contract is effective now. You can view the signing result.", tipDefault: "Please pay attention to the latest contract status.", tipNeedSign: "Please complete your signature to enter the review process.", tipPending: "Signing information has been submitted and is waiting for review.", tipRejected: "The contract did not pass review. Please contact the administrator.", unsigned: "Unsigned" } }, service_stub: { service_stub: { accessAssignDesc: "After completing check-in signing and face / identity enrollment,\nthe system will automatically assign your access permission.", accessCodeDesc: "Use it for community gates, unit doors, and elevators", accessCodeTitle: "My Access QR Code", authRecordTitle: "Access Records", backHome: "Back Home", backPrev: "Go Back", comingSoonTitle: "Coming Soon", coupon: "Coupons", couponDesc: "Offset rent and utilities", currentStatusDesc: "This capability is still under development and is not yet officially available. You can go back or return to the home page to browse available features.", currentStatusTitle: "Current Status", dailyPoints: "Daily check-in rewards", defaultPageDesc: "This capability is being improved and will appear in the related personal center entry when available.", defaultPageTitle: "Service Center", goCheckIn: "Check In", lockEmptyRecord: "No door lock records", lockNoAccessDesc: "No smart lock is assigned yet, or the lock is currently offline.\nAfter check-in, one-tap unlock and temporary password features will be available.", lockNoAccessTitle: "No door lock access", noAccessPermission: "No access permission", noteDesc: "After the real capability is connected, this page will display the formal service entry, status data, and processing records.", noteTitle: "Notes", oneTapUnlock: "Unlock Now", pointsAvailable: "Available Points", pointsEmpty: "No points record", pointsMall: "Points Mall", pointsMallDesc: "Redeem for selected items", pointsRecordTitle: "Points History", redeemRules: "Redeem Rules", tempPassword: "Temporary Code", visitorAccessAction: "Temporary visitor authorization", visitorAccessTitle: "Visitor Access", visitorEmpty: "No visitor access records" } }, smart_control: { smart_control: { commandFailed: "Failed to send command", currentRoom: "Current Room", deviceOff: "Off", deviceRunning: "Running", deviceSummary: "{count} devices available. Tap to control in detail view", disabled: "Disabled", emptyDesc: "No smart devices are bound to this room", emptyTitle: "No controllable devices", enabled: "Enabled", loadFailedTitle: "Failed to load devices", loadingDesc: "Checking controllable devices in the current room...", loadingShort: "Loading", loadingTitle: "Connecting devices", missingFunctionCode: "Missing function code", missingRoomCode: "Missing room code", navTitle: "Smart Home", refreshStatus: "Refresh Status", requestFailed: "Failed to request device list", retry: "Retry", sending: "Sending...", syncingStatus: "Syncing device status", toolbarTip: "Tap a device to open details and send control commands", unsupportedQuickControl: "Quick control is not supported for this device", unsupportedSwitch: "This device does not support quick switching" } }, lost_found_publish: { lost_found_publish: { navTitle: "Lost and Found", heroBadge: "Community Service", heroTitle: "Publish lost or found item details", heroDesc: "Share lost or found information with the community so that follow-up and matching can happen faster.", formTitle: "Item Information", formDesc: "Please complete the key details below. Required fields help others contact you faster.", typeLabel: "Publish Type", typePlaceholder: "Select lost or found", typeLost: "Lost Item", typeFound: "Found Item", itemTypeLabel: "Item Category", itemTypePlaceholder: "For example: documents, keys, electronics", itemNameLabel: "Item Name", itemNamePlaceholder: "Please enter the item name", placeLabel: "Location", placePlaceholder: "Please enter where it was lost or found", whenLabel: "Time", selectDate: "Select date", selectTime: "Select time", whenTip: "Optional. Fill in the approximate time if available.", contractLabel: "Contact Person", contractPlaceholder: "Please enter the contact person", contractPhoneLabel: "Contact Phone", contractPhonePlaceholder: "Please enter the contact phone", remarkLabel: "Remarks", remarkPlaceholder: "Add more details such as appearance, claim notes, or identifying features", imagesLabel: "Images", uploadImage: "Upload Image", imagesTip: "Optional. Upload on-site or item photos to help identify the item.", submitTip: "Please verify the information before publishing. We will submit it with the current language.", submitting: "Submitting...", submitButton: "Publish Now", uploadFailed: "Image upload failed", uploadOversize: "Each image must be within 5 MB", uploadExceed: "You can upload up to 6 images", validateItemType: "Please enter the item category", validateItemName: "Please enter the item name", validatePlace: "Please enter the location", validateContract: "Please enter the contact person", validateContractPhone: "Please enter the contact phone", submitSuccess: "Published successfully", submitFailed: "Failed to publish" } }, submit_request: { components: { BuildingSelector: { emptyText: "No buildings available", loadFailed: "Failed to load buildings", loadingText: "Loading buildings...", popupTitle: "Select Building", selectAreaFirst: "Please select an area first", selectBuilding: "Select building" }, DateRangeSelector: { dateDivider: "to", endLabel: "Expected Check-out", endPlaceholder: "Select check-out date", startLabel: "Expected Check-in", startPlaceholder: "Select check-in date" }, FloorSelector: { clearSelection: "Not specified", emptyText: "No floors available", loadFailed: "Failed to load floor list", loadingText: "Loading floors...", popupTitle: "Select Floor", selectFloor: "Select floor" }, RoomTypeSelector: { emptyRoomTypes: "No room types available", loadFailed: "Failed to load room types", loadingRoomTypes: "Loading room types...", popupTitle: "Select Room Type", priceUnit: "/month", selectRoomType: "Select preferred room type" }, TagSelector: { emptyText: "No tags available", loadingText: "Loading tags..." } }, submit_request: { applicationInfo: "Application Details", applicationType: "Application Type", applyRemarkPlaceholder: "Enter your additional notes", applyRoomType: "Requested Room Type", areaLabel: "Area", buildingLabel: "Preferred Building", currentRoom: "Current Room", dateCannotBefore: "{endLabel} cannot be earlier than {startLabel}", emptyHobbyTags: "No hobby tags", emptyLifestyleTags: "No lifestyle tags", expectedCheckin: "Expected Check-in", expectedCheckout: "Expected Checkout", floorLabel: "Preferred Floor", hobbyLabel: "Hobbies", leaseRange: "Lease Period", lifestyleLabel: "Lifestyle Habits", paymentMethod: "Payment Method", referencePrice: "Reference Price", remarkLabel: "Additional Notes", remarkRequired: "Please enter additional notes", roomTypeApplyBlockDesc: "The live application API is connected and can submit with room and area codes.", roomTypeApplyBlockTitle: "Application Details", roomTypeApplyDesc: "Confirm the room type, area, preference tags, and lease period before submitting.", roomTypeApplyTitle: "Room Type Application", switchRoomType: "Switch", summaryTitle: "Application Summary", expandSummary: "Expand", collapseSummary: "Collapse", selectCheckinDate: "Select check-in date", selectCheckoutDate: "Select checkout date", selectDateEnd: "Please select {label}", selectDateStart: "Please select {label}", sourceDefaultDesc: "Fill in your stay intention, lease period, and notes.", stayApplyDefaultDesc: "Fill in your stay intention, preferences, and lease period before submission.", stayApplyDefaultTitle: "Stay Application", submitFailed: "Failed to submit application", submitRoomTypeApply: "Submit Application", submitSuccess: "Application submitted", submitting: "Submitting...", tagLoadFailed: "Failed to load preference tags" } }, utility_recharge: { utility_recharge: { navTitle: "Bill Management" } }, ticket_center: { ticket_center: { navTitle: "Work Orders", heroBadge: "SERVICE", heroTitle: "In-stay Ticket Services", heroDesc: "Repair, renewal, checkout, room change, water delivery, cleaning, and suggestions are all handled here." } }, ticket_workbench: { ticket_workbench: { areaLabel: "Area", assigneeLabel: "Assignee", attachmentsLabel: "Attachments", cancelProcess: "Cancel Action", cancelSupplement: "Cancel Supplement", changeRoomTypeLabel: "Preferred Room Type", cleaningTimeLabel: "Cleaning Time", contentLabel: "Content", currentFlowTag: "Current", currentStayInfo: "Current Stay", currentStayOrder: "Current Stay Order", emptyHistoryDesc: "No tickets of this type yet.", emptyHistoryTitle: "No Ticket Records", flowActionTitle: "Available Actions", historyTab: "History", leaseLabel: "Lease", loadMore: "Load More", loadingMore: "Loading...", loadOrderFailed: "Failed to load stay context", noFlowContent: "No handling content", noMore: "No more records", refresh: "Refresh", refreshing: "Refreshing...", remarkLabel: "Notes", remarkPlaceholder: "Enter notes to help the staff handle this ticket", roomLabel: "Room", roomTypeLabel: "Room Type", searchPlaceholder: "Search title or content", selectAssignee: "Select assignee", selectDate: "Select date", selectTime: "Select time", submitSectionDefaultDesc: "The form below will be submitted through the ticket APIs.", submitTab: "Submit", submitTicket: "Submit Ticket", submitting: "Submitting...", supplementAction: "Supplement", supplementLabel: "Supplementary Fields", supplementPlaceholder: "Please enter {label}", ticketKicker: "WORK ORDER", uploadImage: "Upload Image", uploadImageCountExceeded: "Up to 6 images", uploadImageFailed: "Failed to upload image", uploadImageOversize: "Image must be less than 5MB", uploadTip: "Upload JPG or PNG images, up to 6 images and 5MB each.", uploadTipRepair: "Upload JPG or PNG images, up to 6 images and 5MB each. Repair requires at least 1 image.", checkoutTimeLabel: "Checkout Time", renewalTimeLabel: "Renew Until", submittedAtLabel: "Submitted At", submitSuccess: "Ticket submitted", submitFailed: "Failed to submit ticket", confirmSubmitTitle: "Confirm", confirmSubmitContent: "Confirm submitting this ticket?", missingStayContext: "Missing current stay order or room information", repairAttachmentRequired: "Please upload repair images", changeAreaRequired: "Please select a room type", checkoutTimeRequired: "Please select checkout time", checkoutReasonRequired: "Please fill in the checkout reason", loadHistoryFailed: "Failed to load ticket history", loadFlowsFailed: "Failed to load ticket flows", loadActionsFailed: "Failed to load ticket actions", continueProcess: "Continue", loadAssigneeFailed: "Failed to load assignees", submitSectionActionDesc: "The ticket is in progress and will continue after submission.", submitSectionSupplementDesc: "The ticket is on hold and will continue after supplementing the information.", currentStatusPending: "Pending", currentStatusProcessing: "Processing", currentStatusResolved: "Resolved", currentStatusClosed: "Closed", allStatus: "All", pendingStatus: "Pending", processingStatus: "Processing", resolvedStatus: "Resolved", closedStatus: "Closed" } }, room_inspection: { room_inspection: { pageTitle: "Inspection", pageDesc: "Review and submit inspection results for the current order", inspectionListTitle: "Inspection Records", roomNoLabel: "Room No.", inspectionTypeLabel: "Inspection Type", inspectionStatusLabel: "Status", inspectionTimeLabel: "Created At", inspectionRemarksLabel: "Remarks", inspectionRemarksPlaceholder: "Add notes for this inspection", inspectionItemsTitle: "Inspection Items", inspectionItemsDesc: "Check each item according to the on-site condition", deviceFallback: "Unnamed Device", requiredTag: "Required", expectedQuantityLabel: "Expected Qty", inspectionResultLabel: "Result", checkedQuantityLabel: "Checked Qty", checkedQuantityPlaceholder: "Enter quantity", problemDetailLabel: "Problem Detail", problemDetailPlaceholder: "Describe any abnormal, missing, or damaged condition", photosLabel: "Photos", addPhoto: "Add", submitAction: "Submit", loadingDesc: "Syncing inspection data...", emptyTitle: "No inspections", emptyDesc: "No inspection record is available for the current order.", emptyItemsTitle: "No items", emptyItemsDesc: "No inspection item is available for this inspection.", submitSuccess: "Inspection submitted", submitFailed: "Failed to submit", submitting: "Submitting...", missingInspectionNo: "Missing inspection record", uploadFailed: "Failed to upload image", chooseImageFailed: "Failed to choose image", resultRequired: "Please complete the result selection for all items first" } } }, components: { ContractSignDialog: { undo: "Undo", rewrite: "Rewrite", close: "Close", confirmSignature: "Confirm", footerTip: "Please confirm that you have fully read the contract before signing", closeBoardTitle: "Notice", closeBoardDesc: "You have not finished signing. Are you sure to close?", continueSigning: "Continue Signing", continueClosing: "Close", missingSignerName: "Missing Signer", writingHintZh: "Please write your Chinese signature here", writingHintEn: "Please write your signature here", signerNameMissingToast: "Missing signer name", signatureRequiredToast: "Please sign first", boundsFailedToast: "Failed to get signature bounds", signatureTooSmallToast: "Signature is too small, please try again", exportFailedToast: "Failed to export signature, please try again" }, ContractAlert: { actionText: "Sign Now", pendingDesc: "You have {count} contract(s) pending signature", pendingTitle: "Contract Pending Signature" } } }, zh: { navigation: { routes: { "pages/index/index": "绿居公寓", "pkgAccount/auth_result/auth_result": "实名结果", "pkgAccount/login/login": "登录", "pkgAccount/register/register": "注册账号", "pkgAccount/registration_records/registration_records": "注册记录", "pkgBooking/book/book": "预订确认", "pkgBooking/book_viewing/book_viewing": "预约看房", "pkgBooking/booking_detail/booking_detail": "预订详情", "pkgBooking/booking_list/booking_list": "预订记录", "pkgBooking/pay/pay": "在线支付", "pkgExplore/download/download": "资料图库", "pkgExplore/filter/filter": "数据筛选", "pkgExplore/room_detail/room_detail": "房型详情", "pkgExplore/sign/sign": "签到打卡", "pkgExplore/store_detail/store_detail": "小区详情", "pkgExplore/vr_preview/vr_preview": "VR看房", "pkgService/application_detail/application_detail": "申请详情", "pkgService/contract_detail/contract_detail": "合同详情", "pkgService/contract_sign/contract_sign": "合同签约", "pkgService/device_control/device_control": "设备控制", "pkgService/message_detail/message_detail": "消息详情", "pkgService/my_application/my_application": "我的申请", "pkgService/my_contract/my_contract": "我的合同", "pkgService/room_inspection/room_inspection": "验房", "pkgService/service_stub/service_stub": "业务办理", "pkgService/smart_control/smart_control": "智能控制", "pkgService/ticket_center/ticket_center": "工单中心", "pkgService/ticket_workbench/ticket_workbench": "工单处理", "pkgService/lost_found_publish/lost_found_publish": "失物拾物", "pkgService/submit_request/submit_request": "我要提交", "pkgService/utility_recharge/utility_recharge": "水电充值" } }, pages: { index: { component: { MessageCenterTab: { acknowledged: "我知道了", butler: "管家消息", checkResultDefault: "检查结果", checkResultFix: "需整改", checkResultNormal: "正常", checkResultReview: "待复核", checkStatusDefault: "状态待定", checkStatusDone: "已完成", checkStatusPending: "待确认", checkStatusProcessing: "处理中", checkTypeCheckout: "退房检查", checkTypeDefault: "检查记录", checkTypeRoutine: "日常检查", checkTypeSpecial: "专项检查", checkerLabel: "检查人:", compensationLabel: "赔付金额:", emptyDesc: "系统通知和巡查提醒会在这里显示。", emptyTitle: "暂无消息", inspectionChecker: "检查人", inspectionCountUnit: "条提醒", inspectionDesc: "根据当前入住订单自动汇总巡查提醒记录", inspectionItemPrefix: "检查项 {index}", inspectionItemsTitle: "检查项明细", inspectionNeedManualHandle: "巡查提醒需单独查看处理", inspectionRemarkTitle: "检查备注", inspectionResult: "检查结果", inspectionStatus: "当前状态", inspectionSummaryFallback: "巡查提醒,请查看详情", inspectionTitle: "巡查提醒", loadingDesc: "正在同步系统通知和巡查提醒,请稍候。", loadingTitle: "消息加载中", markNotificationRead: "通知已读", noUnreadNotification: "暂无未读通知", notificationFallbackDesc: "您有一条新的系统消息", notificationFallbackTitle: "系统通知", payment: "缴费账单", problemLabel: "问题:", recentMessages: "近期消息", remarkLabel: "备注:", remoteMarkedRead: "系统通知已全部标记为已读", remoteMarkedReadWithInspection: "系统通知已标记,巡查提醒需单独处理", subtitle: "你有 {count} 条未读消息待处理", system: "系统通知", title: "消息中心", unassignedRoom: "未关联房间", viewDetail: "查看详情" }, MyApplicationTab: { agreeAndPay: "同意并支付", apartmentLabel: "所属公寓", cancelOrder: "取消订单", cancelOrderContent: "取消后将关闭当前未支付的定金订单,是否继续?", cancelOrderFailed: "取消订单失败", cancelOrderLoading: "取消中...", cancelOrderSuccess: "订单已取消", cancelOrderTitle: "取消订单", continuePay: "继续支付", currentStepTag: "当前", dateRangeJoiner: " 至 ", depositNoticeTitle: "租房定金须知", emptyDesc: "您还没有提交任何申请,去选房后可发起入住申请或预约看房。", emptyTitle: "暂无申请记录", goSelectRoom: "去选房", leaseTermLabel: "预计租期", loadError: "申请记录加载失败", loadingDesc: "正在同步您的入住申请记录,请稍候。", missingApplicationCode: "申请编号缺失", missingBillCode: "申请单编号缺失", missingContractNo: "合同编号缺失", noPendingDepositBill: "暂无待支付定金账单", noMore: "没有更多申请了", occupantLabel: "入住人", pageDesc: "您的入住和预约看房申请记录", pageTitle: "我的申请", payDeposit: "支付定金", fetchPaymentParamsFailed: "获取支付参数失败", fetchWechatLoginCodeFailed: "获取微信登录凭证失败", loadingBill: "正在获取账单...", loadingPayment: "正在拉起支付...", depositPaymentDesc: "支付定金", paymentSuccess: "支付成功", paymentCanceled: "已取消支付", paymentFailed: "支付失败", pendingPaymentAmountLabel: "订单金额", pendingPaymentDescLabel: "支付说明", pendingPaymentExpireLabel: "剩余支付时间", pendingPaymentExpired: "已失效", pendingPaymentOrderNoLabel: "支付单号", pendingPaymentTitle: "未完成支付订单", pullUpMore: "上拉加载更多", refresh: "刷新状态", refreshEmptySuccess: "未查到申请单,已同步预订单", refreshSuccess: "申请状态已刷新", refreshing: "刷新中...", refreshAction: "刷新", remarkLabel: "补充说明", reservationFlowDesc: "当前预定单的流程进度", reservationFlowTitle: "预定流程", reservationOrderFallback: "预定单", reservationOrderNoLabel: "预定单号", roomNoLabel: "房间号", reservationRoomLabel: "房型", reservationStatusLabel: "订单状态", contractPendingReviewHint: "合同已签,等待宿管审核", inspectionPendingReviewHint: "验房审批中", checkinPendingHint: "宿管正在办理入住,请耐心等待", scrollToRead: "请滑动阅读至底部", refreshFlowAction: "刷新流程", statusApproved: "已通过", statusFinished: "已结束", statusPending: "待审核", statusPendingPayment: "请支付定金", statusProcessing: "处理中", statusRejected: "已拒绝", statusReminderTitle: "当前进度提醒", statusWaitingRoomAssign: "等待预订中心分配房间", stayApplicationTitle: "入住申请", submittedAtLabel: "提交时间", toolbarSummary: "共 {total} 条申请", viewingApplicationTitle: "预约看房申请", viewingTimeLabel: "预约时间" }, ProfileCenterTab: { activities: "参与活动", application: "入住申请", applicationStatus: "申请进度", bill: "账单", bookingList: "预订记录", bookingNo: "预定单号", bookingPlaceholder: "支付后生成的预定单会显示在这里", bookingProgressDesc: "支付完成后会进入审核,审核通过后分配管家并等待分房号。", bookingStatusTitle: "预订审核进度", clickToLogin: "点击登录", comingSoon: "建设中", comingSoonDesc: "{title} 功能正在建设中,后续开放后会在这里提供正式入口和数据。", completeFormBeforeSubmit: "请完善表单信息后提交。", contact: "联系", contract: "我的合同", contractPendingDesc: "您当前有待签署合同,请尽快查看并完成签约。", contractPendingTag: "待签约", contractStatusTitle: "合同状态", coreServices: "我的服务", daysIn: "入住天数", done: "已完成", edit: "编辑资料", exclusiveButler: "专属管家", guest: "游客", languageSwitch: "语言切换", languageToggleLabel: "EN", logout: "退出登录", logoutConfirmContent: "确定要退出登录吗?", logoutConfirmTitle: "提示", logoutSuccess: "已退出", notSubmittedYet: "暂未提交注册申请", onlineService: "24小时在线服务", pendingCountText: "待签合同", points: "积分", registrationApprovedDesc: "注册申请已通过,可前往登录", registrationEmptyDesc: "暂未提交注册申请", registrationPendingDesc: "注册申请审核中,审批通过后才可登录", registrationRecordGuestDesc: "未登录也可查看当前微信账号提交的注册申请记录。", registrationRecordSubmittedDesc: "当前微信账号已提交注册申请,可查看历史记录与审批状态。", registrationRecordTitle: "注册记录", registrationRejectedDesc: "注册申请已驳回,请查看原因后重新提交", registrationStatusTitle: "注册申请进度", remind: "催一下", settings: "偏好设置", statusApproved: "已通过", statusPending: "审核中", statusRejected: "已拒绝", submitRequest: "提交申请", userFallback: "用户", viewDetail: "查看详情", viewNow: "立即查看" }, SelectRoomTab: { all: "全部", allAreas: "全部区域", allTags: "全部标签", apartmentDetail: "公寓详情", areaStatus: "区域状态", areaStatusDesc: "暂无符合筛选条件的区域", areaUnavailableTitle: "该区域暂未开放", bookViewing: "预约看房", defaultAreaAddressPrefix: "位于", distancePlaceholder: "附近", emptyAreaDesc: "当前筛选条件下暂无可用房源", emptyAreaTitle: "暂无匹配房源", emptyBannerDesc: "暂无可展示的轮播图", emptyBannerTitle: "暂无轮播图", learnMore: "了解更多", loadingAreaStatus: "区域加载中", pricePending: "待定", priceUnit: "元/月起", searchApartment: "搜索区域、公寓或房型", shareTitle: "绿居公寓 - 国际化青年社区", sortDefault: "默认排序", sortNameAsc: "名称排序", sortPriceAsc: "价格从低到高", sortPriceDesc: "价格从高到低", tagFilter: "标签筛选", viewCommunity: "查看详情" }, StayServiceTab: { activeStatus: "使用中", addSmartDevice: "添加智能设备", bedPrefix: "床位 {label}", billCount: "账单数量", billEmpty: "暂无待支付账单", billRecordFallback: "账单记录", billType: "账单类型", billUnit: "笔", bookedRoomType: "预定房型", bookingInfo: "预定信息", bookingPendingDesc: "定金已支付,预定单正在审批流中。审批通过后将分配管家并等待分房号。", bookingPendingNote: "订单已提交,管家审核通过后会同步更多入住信息。", bookingPendingTitle: "您的预订正在审核中", butler: "专属社区管家", callNow: "拨打", checkinStep: "办理入住", communityEvent: "近期活动", completeFormBeforeSubmit: "请完善表单信息后提交。", contactPhonePrefix: "联系电话 ", contractPendingNote: "检测到待签合同后,流程将停留在签订合同节点,请先完成签名。", contractRoom: "合同房型", contractStep: "签订合同", controllable: "可控制", currentStay: "当前入住房间", deviceFallback: "设备 {index}", goSelectRoom: "去选房", joinEvent: "立即报名", lastCreateTime: "最近生成", leaseTerm: "租期", loadingButlerInfo: "正在同步管家信息...", loadingManagerInfo: "正在加载管家信息", loadingShort: "同步中", managerContactSummary: "当前区域共有 {count} 位管家可联系", managementContacts: "宿管与管理员", dormitoryManagerTag: "宿管", counselorTag: "管理员", noManagerContacts: "暂无管理联系人", managerFallback: "社区管家", managerInitialFallback: "管", managerWechatCopied: "管家微信已复制", mealDeliveryJumpFailed: "打开点餐小程序失败", multiButlerName: "{name} 等{count}位管家", myBill: "本月账单", noButlerInfo: "暂未获取到管家信息", noContactPhone: "暂无联系电话", noManagerWechat: "暂无管家微信", notCheckedInDesc: "长租公寓为海外青年提供高端社区服务\n请先前往选房大厅挑选心仪套间", notCheckedInTitle: "您还没有在租房间", onDutyCount: "{count}人值班", online: "当前在线 · 响应时间 < 5分钟", onlineSingle: "1人在线", paidOff: "已结清", payBill: "去支付", pendingAssignment: "待审核分配", pendingContractFound: "发现待签合同", pendingSync: "待同步", primaryButlerTag: "主责", publicService: "公寓精选服务", refreshFailed: "刷新失败,请稍后重试", refreshStatus: "刷新状态", refreshing: "刷新中...", reviewStep: "管家审核", roomDeviceUnconfigured: "房间智能设备未配置", signContract: "去签约", signContractDesc: "系统已生成待签合同,当前流程已进入签订合同阶段,完成签约后即可继续后续入住流程。", signContractNow: "请尽快签订合同", smartAvailableAfterCheckin: "入住后可使用智能设备", smartControl: "全屋智能", smartDeviceConnected: "已接入 {count} 台智能设备", smartDeviceEmpty: "当前房间暂无智能设备", smartDeviceLoadFailed: "智能设备加载失败", smartDeviceSyncFailed: "智能设备同步失败", statusUpdated: "状态已刷新", stayService: "住中申请", submitBookingStep: "提交预定", submitRequest: "提交申请", syncingSmartDevices: "正在同步智能设备...", title: "我的入住", unpaid: "待支付", viewAll: "全部", viewBill: "查看账单" } }, index: { loadingBrand: "绿居公寓", shareTitle: "绿居公寓 - 国际化青年社区", tabMessageCenter: "消 息", tabMyApplication: "申请单", tabProfileCenter: "我 的", tabSelectRoom: "选 房", tabStayService: "入 住" } } }, pkgAccount: { auth_result: { auth_result: { approvedPleaseLogin: "审批已通过,请登录", descApproved: "您的注册申请已审批通过,现在可以前往登录。", descPendingDefault: "当前申请正在审批中,审批通过前无法登录。", descPendingRecords: "当前展示的是该申请单的审批状态,可下拉或点击按钮刷新最新结果。", descRejectedDefault: "请根据驳回原因修改信息后重新提交注册申请。", descRejectedRecords: "当前展示的是该申请单的审批结果,请根据驳回原因修改信息后重新提交注册申请。", descUnsubmitted: "请先提交注册申请单,审批通过后才算注册成功。", fallbackNone: "-", fetchStatusFailed: "获取审批状态失败", goLogin: "去登录", labelAccount: "注册账号", labelCertificateNo: "证件号", labelIdentityType: "人员类型", labelName: "姓名", latestDetailMissing: "未查到最新详情,已展示列表记录", navTitle: "注册申请结果", refreshStatus: "刷新审批状态", refreshing: "刷新中...", remarkApproved: "通过备注", remarkPending: "审批备注", remarkRejected: "驳回原因", resubmitRegister: "重新提交注册申请", roleDomestic: "中国籍", roleForeign: "外籍人员", statusApproved: "已通过", statusPending: "审核中", statusRejected: "已驳回", submittedInfoTitle: "已提交信息", titleApproved: "注册审批已通过", titlePending: "注册申请已提交", titleRejected: "注册审批未通过", titleUnsubmitted: "您还未提交注册申请", unsubmitted: "未提交", viewRegistrationRecords: "查看注册记录" } }, login: { login: { accountLabel: "账号 / 邮箱", accountPlaceholder: "请输入账号或邮箱", goRegister: "去注册", loading: "加载中...", loginFailed: "登录失败,请稍后重试", loginSuccess: "登录成功", noAccount: "还没有账号?", pageDesc: "登录绿居公寓,探索您的国际化青年社区", pageTitle: "欢迎回来", passwordLabel: "密码", passwordPlaceholder: "请输入密码", submitLogin: "立即登录", submitting: "登录中...", validateRequired: "请输入账号和密码", viewRegistrationRecords: "查看注册记录", viewRegistrationRecordsDesc: "未登录也可查看当前微信账号提交的注册申请记录" } }, register: { register: { admissionNoticeAttachmentLabel: "入学通知书(在职证明)附件", accountLabel: "登录账号", accountPlaceholder: "请输入登录账号", accountSection: "账号信息", attachmentNotImage: "当前附件不是图片", basicSection: "基础实名信息", chinaText: "中国", countryFixedText: "中国籍固定", countryLabel: "国籍", countryLoadFailed: "国家列表加载失败", countryPlaceholder: "请选择国籍", dictLoadFailed: "字典加载失败,稍后可重试", dietaryLabel: "饮食习惯", dietaryPlaceholder: "请选择饮食习惯", domesticIdentity: "中国籍", draftTipDefault: "未完成内容会自动保存,可随时返回继续填写", draftTipSaved: "当前填写内容已自动保存", emailCodeLabel: "邮箱验证码", emailCodePlaceholder: "请输入邮箱验证码", emailLabel: "邮箱", emailPlaceholder: "请输入邮箱", foreignIdentity: "外籍人员", genderLabel: "性别", genderMale: "男", genderFemale: "女", goLogin: "去登录", hangzhouPropertyLabel: "杭州有无房产", hasAccount: "已有账号?", hobbyLabel: "兴趣爱好", hobbyPlaceholder: "请选择兴趣爱好", idCardBackAttachmentLabel: "身份证反面附件", idCardFrontAttachmentLabel: "身份证正面附件", idCardLabel: "身份证号", idCardPlaceholder: "请输入身份证号", imageUploadedTip: "已上传图片,可点击查看大图", loading: "加载中...", nameLabel: "姓名", namePlaceholder: "请输入真实姓名", navTitle: "注册账号", noSelectableCountry: "当前暂无可选国家", noSelectableOptions: "当前暂无可选项", noText: "无", pageDesc: "账号信息和实名认证资料需要一起填写完成,提交的是注册申请单,审批通过后才算注册成功。", pageTitle: "注册并提交实名资料", passportAttachmentLabel: "护照附件", passportImageOnlyTip: "护照附件仅支持图片,请重新上传", passportExpiryLabel: "护照到期时间", passportLabel: "护照号", passportPlaceholder: "请输入护照号", passwordLabel: "登录密码", passwordPlaceholder: "请输入 6 位及以上密码", phoneLabel: "手机号", phonePlaceholder: "请输入手机号", preferenceSection: "偏好信息", profileSection: "认证档案", religionLabel: "宗教信仰", religionPlaceholder: "请选择宗教信仰", restoreDraftCancel: "不用", restoreDraftConfirm: "填入", restoreDraftContent: "是否填入上次未完成或提交失败时缓存的注册信息?", restoreDraftSuccess: "已填入上次失败数据", restoreDraftTitle: "发现未完成的数据", reupload: "重新上传", schoolLabel: "就读学校", schoolPlaceholder: "请输入就读学校(选填)", selectDate: "请选择日期", submitFailed: "提交失败,请稍后重试", submitPending: "申请已提交,待审批", submitRegister: "提交注册申请", submitting: "提交中...", uploadFailed: "上传失败,请重试", uploadAdmissionNotice: "点击上传入学通知书/在职证明", uploadIdBack: "点击上传身份证反面", uploadIdFront: "点击上传身份证正面", uploadImageOption: "上传图片", uploadPassport: "点击上传护照图片", uploadSuccess: "上传成功", uploading: "上传中...", validateEmail: "请输入正确的邮箱地址", validateIdCard: "请填写身份证号", validateIdCardAttachments: "请上传身份证正反面附件", validateIdentityBasic: "请完善性别、手机号和国籍", validatePassportAttachment: "请上传护照图片", validatePassportAttachmentImage: "护照附件仅支持图片格式", validatePassportBasic: "请填写护照号和护照到期时间", validatePasswordLength: "登录密码至少 6 位", validatePhone: "请输入正确的手机号", validateProfile: "请完善工作单位和杭州房产情况", validateRequiredBasic: "请先填写账号、密码、邮箱和姓名", viewImage: "查看图片", viewRegistrationRecords: "查看注册记录", viewRegistrationRecordsDesc: "如果当前微信账号已提交过申请,可直接查看历史记录和审批状态", workUnitLabel: "工作单位", workUnitPlaceholder: "请输入工作单位", yesText: "有" } }, registration_records: { accountLabel: "注册账号", approvalRemarkLabel: "审批意见", approvedAtLabel: "审批时间", emptyDesc: "当前微信账号还没有提交过人员注册申请。", emptyTitle: "暂无注册记录", goRegister: "去提交注册申请", idNumberLabel: "证件号", loadError: "注册记录加载失败", loadingDesc: "正在同步当前微信账号提交的注册申请记录,请稍候。", loadingMore: "加载中...", loadingTitle: "注册记录加载中", navTitle: "注册记录", noMore: "没有更多记录了", phoneLabel: "手机号", providerUnavailableDesc: "请在微信小程序中打开后,再查看当前微信账号提交的注册记录。", providerUnavailableTitle: "当前无法获取微信身份", pullUpMore: "上拉加载更多", registrationFallbackTitle: "人员注册申请", rejectReasonLabel: "驳回原因", statusAll: "全部", statusApproved: "已通过", statusPending: "审核中", statusProcessing: "处理中", statusRejected: "已驳回", submittedAtLabel: "提交时间" } }, pkgBooking: { book: { book: { bookingFor: "你正在预约", bookingStatus: "当前状态", checkInDate: "填写预订时间", checkInDesc: "支付后会先生成预定单并进入审核,不会直接占用房间资源。", deposit: "定金", endDate: "离开日期 (Check-out)", nightUnit: "晚", pendingPayment: "待支付定金", roomTypeLabel: "房型:", selectDate: "请选择日期", startDate: "入住日期 (Check-in)", stayNights: "入住晚数", submitOrder: "进入支付页", title: "预订确认" } }, book_viewing: { book_viewing: { backTitle: "返回", budgetLabel: "租金预算 (元/月)", budgetPlaceholder: "请输入您的心理价位", defaultInfoDesc: "专属管家为您提供一对一带看服务", duration1: "1-3个月", duration2: "4-6个月", duration3: "7-9个月", duration4: "10-12个月", duration5: "1年以上", durationLabel: "预计租住时长", navTitle: "预约现场带看", roomTypeLabel: "意向房型", remarkArea: "意向区域:{area}", remarkBudget: "租金预算:{budget} 元/月", remarkDuration: "预计租住时长:{duration}", remarkPayMethod: "支付方式:{payMethod}", remarkRoomType: "意向房型:{roomType}", remarkSource: "当前来源:{room}", remarkTail: "备注:请宿管确认带看安排;若带看完成并锁定房号,可转为预定单通知租客支付。", remarkTime: "看房时间:{date} {time}", remarkTitle: "预约看房申请", remarkWorkplace: "工作/通勤地点:{workplace}", rentalNeeds: "您的租住需求", rentalNeedsDesc: "帮助管家更好地为您推荐房源", selectDurationRequired: "请选择预计租住时长", selectTimeRequired: "请选择看房时间段", selectViewingTime: "选择看房时间", selectViewingTimeDesc: "请选择您方便的时间段", submitBooking: "提交预约", submitFailed: "预约提交失败", submitSuccessContent: "您的预约看房申请已提交,请等待管家联系", submitSuccessTitle: "预约成功", submitting: "提交中...", today: "今天", tomorrow: "明天", week0: "周日", week1: "周一", week2: "周二", week3: "周三", week4: "周四", week5: "周五", week6: "周六", workplaceLabel: "工作/通勤地点", workplacePlaceholder: "请输入主要通勤地点" } }, booking_detail: { booking_detail: { areaLabel: "所属区域", buildingFloorLabel: "楼栋楼层", cachedDetailShown: "网络异常,已展示最近同步详情", dateRangeJoiner: " 至 ", emptyDesc: "当前暂无可查看的预订详情,请先前往预订记录确认订单。", emptyTitle: "暂无预订记录", flowStep1: "1. 已支付,等待角色审批", flowStep2: "2. 审批通过,等待分配管家", flowStep3: "3. 已分配管家,等待分配房号", flowTitle: "当前流程", loadFailed: "预订详情加载失败", loadingDesc: "正在同步该预订的真实详情,请稍候。", loadingTitle: "订单加载中", navTitle: "预订详情", orderNoLabel: "预定单号", rejectReasonTitle: "驳回原因", roomNoLabel: "房间号", roomTypeLabel: "风格房型", stayDateLabel: "入住时间", submittedAtLabel: "提交时间" } }, booking_list: { booking_list: { bookingFallbackTitle: "房源预订", buildingFloorLabel: "楼栋楼层", cachedListShown: "网络异常,已展示最近同步记录", dateRangeJoiner: " 至 ", emptyDesc: "当前暂无预订记录,完成预订后会在这里展示。", emptyTitle: "暂无预订记录", goSelectRoom: "去选房", loadFailed: "预订记录加载失败", loadingDesc: "正在同步您的真实预订记录,请稍候。", loadingTitle: "订单加载中", navTitle: "预订记录", stayDateLabel: "入住时间", submittedAtLabel: "提交时间" } }, pay: { pay: { billTo: "收款方", bookingPeriod: "预订时间", company: "绿居物业管理有限公司", fallbackAction: "改为提交入住申请", fallbackDesc: "当前版本还未接通真实定金支付。你可以先改走已接好的入住申请提交流程,后续由工作人员跟进。", fallbackNavigateDesc: "支付接口暂未接入,先提交入住申请,由工作人员继续跟进。", fallbackNavigateTitle: "入住申请", fallbackTitle: "支付接口暂未接入", laterAction: "我知道了", location: "楼栋位置", nightUnit: "晚", payNow: "确认支付并提交预订", paying: "支付中...", paymentAmount: "应付定金", paymentMethod: "选择支付方式", pendingTitle: "支付接口待接入", roomType: "房源风格", roomTypeNameLabel: "房型", stayNights: "入住晚数", title: "支付定金", toLabel: "至", total: "合计" } } }, pkgExplore: { download: { download: { galleryImage: "游戏攻略图", galleryImageLong: "游戏攻略图游戏攻略图游戏攻略图", navTitle: "资料图库", searchButton: "搜 索", searchPlaceholder: "请输入搜索关键词" } }, filter: { filter: { comprehensiveLabel: "综合", navTitle: "应用专区", priceLabel: "价格", product1: "蛋仔派对", product2: "保卫萝卜", product3: "旅行青蛙", product4: "辐射避难所", product5: "王国保卫战", product6: "崩坏 · 星穹铁道", product7: "纪念碑谷", purchasedSuffix: "人已购", salesLabel: "销量", sortDefault: "默认", typeLabel: "类型" } }, sign: { sign: { checkInNow: "立即签到", checkInRewardHint: "坚持每天连续签到可以获得多重奖励哦", checkInSuccess: "签到成功", checkedInFor: "已连续签到", continuousCheckIn: "连续签到", daysAndEarned: "天,获得", daysRewardHint: "天可获得额外奖励哦!", goComplete: "去完成", more: "更多", notice1: "恭喜 付*其 连续7天签到,获得 300积分 奖励", notice2: "恭喜 徐*圆 连续7天签到,获得 300积分 奖励", notice3: "恭喜 蔡*东 连续7天签到,获得 300积分 奖励", pointsRecord: "积分记录", pointsUnit: "积分", taskDesc: "抓住那只猪吖", taskName: "任务名称", taskSectionTitle: "做任务领金币", warmTip: "温馨提示:", warmTipDesc: "每日签到可获得10积分奖励,连续完成7天签到可能获得额外奖励,连续签到满7天后将会重置签到记录。" } }, store_detail: { store_detail: { apartmentName: "公寓详情", collapse: "收起", contactManager: "联系管家", expandAll: "展开全部", loading: "加载中...", loadingManagerInfo: "正在加载管家信息", navigate: "导航", noAddress: "暂无地址", noImage: "暂无图片", noLocation: "暂无位置信息", noServicePhone: "暂无联系电话", parseStoreDataFailed: "解析小区数据失败", phoneConsult: "电话咨询", selectContact: "选择联系人", pricePending: "待定", priceUnit: "/月", roomSectionTitle: "在租房型({count})", sectionTitle: "配套设施", share: "分享", shareTitle: "小区详情", storeIntro: "小区简介", viewDetails: "查看详情" } }, room_detail: { room_detail: { addressHint: "查看地图位置", allRoomsLoginContent: "请先登录后再预订该房间。", apartmentName: "公寓", applyStay: "申请入住", applyViewing: "预约看房", areaLabel: "所属区域", basicInfo: "基础信息", bookRoom: "立即预订", bookingInfo: "预订信息", bookingRules: "预订规则", buildingLabel: "楼栋", collapse: "收起", englishNameLabel: "英文名称", expandAll: "展开全部", floorLabel: "楼层", imageCount: "{count} 张图片", imageTab: "图片", loginTitle: "请先登录", navigate: "导航", needApproval: "需审核", noAddress: "暂无地址", noApprovalNeeded: "无需审核", noImage: "暂无图片", noLocation: "暂无位置信息", noPreviewImage: "暂无预览图片", navDetail: "房型详情", orientationLabel: "朝向", payMethodLabel: "支付方式", payMethodPrefix: "支付方式:", priceLabel: "价格", pricePending: "待定", pricePrefix: "价格:", priceUnit: "/月", roomCodeLabel: "房号", roomDesc: "房间介绍", roomTypeApplyLoginContent: "请先登录后再提交该房型的看房申请。", roomTypeCodePrefix: "房型编码:", roomTypeDesc: "房型介绍", roomTypeFallback: "房型", roomTypeLabel: "房型", roomTypeNameLabel: "房型名称", roomSectionTitle: "房间配置", sectionTitle: "房间配置", sectionSubtitle: "{count} 项配置", share: "分享", shareTitle: "房型详情", statusLabel: "状态", stayApplicationSuffix: "入住申请", stayLoginContent: "请先登录后再提交入住申请。", swipeUpHint: "上滑查看详情", unitLabel: "单元", viewLargeImage: "查看大图", viewLargeImageDesc: "点击查看当前图片的大图预览。", vrPreview: "VR预览", vrPreviewDesc: "切换到沉浸式看房模式。", vrTab: "VR", vrViewingTitle: "VR看房" } }, vr_preview: { vr_preview: { defaultTitle: "VR看房", emptyPreview: "暂无VR预览画面", modeChip: "VR预览模式", noAsset: "暂无VR预览素材", placeholderSubtitle: "当前房型已保留 VR 入口,后续可继续接入更完整的沉浸式资源。", posterSubtitle: "当前展示 VR 预览海报,可点击查看大图。", viewFullscreen: "查看全屏预览", waitingAsset: "等待素材接入" } } }, pkgService: { application_detail: { application_detail: { apartmentLabel: "所属公寓", applicantLabel: "申请人", applicationCodeLabel: "申请编号", applicationRemarkTitle: "申请说明", applicationTypeLabel: "申请类型", appliedRoomTypeLabel: "申请房型", backList: "返回列表", basicInfoTitle: "基础信息", budgetKey: "租金预算", codeCopied: "申请编号已复制", commuteKey: "工作/通勤地点", copy: "复制", dateRangeJoiner: " 至 ", emptyRemark: "暂无补充说明", intendedRoomTypeLabel: "意向房型", leaseDurationKey: "预计租住时长", leaseTermLabel: "预计租期", missingBillCode: "申请单编号缺失", missingContractNo: "合同编号缺失", inspectionPendingReviewHint: "验房审批中", checkinPendingHint: "宿管正在办理入住,请耐心等待", refreshAction: "刷新", navTitle: "申请详情", paymentMethodKey: "支付方式", preferredAreaKey: "意向区域", preferredRoomTypeKey: "意向房型", remarkTitle: "补充说明", statusApproved: "已通过", statusFinished: "已结束", statusLabel: "当前状态", statusPending: "待审核", statusPendingPayment: "请支付定金", statusProcessing: "处理中", statusRejected: "已拒绝", statusReminderTitle: "当前进度提醒", statusWaitingRoomAssign: "等待预订中心分配房间", stayApplicationTitle: "入住申请", stayApplicationType: "入住申请", submittedAtLabel: "提交时间", viewBill: "查看关联账单", viewingApplicationTitle: "预约看房申请", viewingApplicationType: "预约看房", viewingInfoTitle: "带看信息", viewingTimeKey: "看房时间", viewingTimeLabel: "预约时间" } }, components: { CurrentApplicationBillPanel: { applicationNoPrefix: "申请单号:", billInfoIncomplete: "账单信息不完整", billLoadFailed: "账单加载失败", billNoLabel: "账单号", billPaymentDesc: "账单支付", billRecordFallback: "账单记录", buttonConfirming: "确认结果中...", buttonLaunching: "拉起支付中...", buttonPolling: "查询结果中({current}/{total})", continuePayButton: "继续支付", createTimeLabel: "创建时间", currentPaymentLabel: "本次支付", emptyApplicationDesc: "当前未找到可关联的申请单,请先前往“我的申请”选择具体申请后查看账单。", emptyApplicationTitle: "暂无可查询申请单", emptyPendingDesc: "当前申请单下没有查询到待支付账单,后续有新账单时会在这里展示。", emptyPendingTitle: "暂无待支付账单", goToMyApplication: "前往我的申请", heroDescAutoResolve: "当前将优先读取最近申请单的编号来查询关联账单。", heroDescResolved: "当前页面已按申请单编号查询其关联的待支付账单记录。", heroTitle: "待支付账单", loadingDesc: "正在同步您的待支付账单,请稍候。", loadingTitle: "账单加载中", paidAmountLabel: "已付金额", paymentActionAcknowledge: "我知道了", paymentCanceled: "已取消支付", paymentDescFailed: "系统暂时未能确认支付成功,您可以查看提示后稍后重试。", paymentDescLaunching: "系统正在调起微信支付,请在微信收银台中完成付款后返回。", paymentDescPolling: "支付完成后,系统会自动向后台查询支付状态,无需手动刷新。", paymentDescSuccess: "本次支付已同步完成,账单状态已更新。", paymentFailedError: "支付失败", paymentFailedHint: "暂未查询到支付成功结果,请稍后刷新账单确认。", paymentHintLaunching: "已为您准备好支付信息,等待微信支付完成。", paymentHintLaunchingToast: "正在唤起微信支付,请在微信内完成付款。", paymentHintPaidWaiting: "已支付成功,正在等待后台确认账单状态。", paymentHintPolling: "正在与后台核对支付状态,请稍候。", paymentParamIncomplete: "微信支付参数不完整", paymentProgressLabel: "结果确认进度", paymentProgressWaiting: "等待支付完成", paymentResultFailed: "后台返回支付失败", paymentResultFailedRetry: "支付结果确认失败,请稍后刷新账单确认", paymentResultPending: "后台仍在处理中", paymentResultSuccess: "后台确认支付成功", paymentStageDefault: "支付处理中", paymentStageFailed: "支付未完成", paymentStageLaunching: "正在唤起微信收银台", paymentStagePolling: "正在同步支付结果", paymentStageSuccess: "支付结果已确认", paymentStatusPending: "处理中", paymentSuccessAllDone: "支付结果已确认,当前申请单账单已全部完成。", paymentSuccessPendingBills: "支付结果已确认,当前申请单仍有其他待支付账单。", paymentTimeoutError: "支付结果确认超时,请稍后刷新账单确认", paymentTipsDefault1: "支付成功后,系统可能需要几秒钟同步账单状态。", paymentTipsDefault2: "请不要重复点击支付,也不要提前关闭当前页面。", paymentTipsDefault3: "如果超时未完成,系统会自动再校验一次账单状态。", paymentTipsFailed1: "若您已完成付款,请稍后刷新账单,避免重复支付。", paymentTipsFailed2: "若微信侧已扣款但页面未更新,请联系管家或客服协助核实。", paymentTipsFailed3: "若未扣款,可返回账单列表后重新发起支付。", paymentTipsSuccess1: "若当前申请单还有其他待付账单,可继续在当前页完成支付。", paymentTipsSuccess2: "若当前账单已全部支付完成,系统会自动返回首页。", paymentTipsSuccess3: "支付记录同步可能略有延迟,刷新后即可看到最新状态。", paymentTipsTitleDefault: "温馨提示", paymentTipsTitleFailed: "处理建议", paymentTipsTitleSuccess: "完成说明", paymentTitleDefault: "支付处理中", paymentTitleFailed: "支付结果确认失败", paymentTitleLaunching: "请完成微信支付", paymentTitlePolling: "正在确认是否支付成功", paymentTitleSuccess: "支付成功", pendingPaymentAmountLabel: "订单金额", pendingPaymentChannelLabel: "支付渠道", pendingPaymentDescLabel: "支付说明", pendingPaymentExpireLabel: "剩余支付时间", pendingPaymentExpired: "已失效", pendingPaymentOrderNoLabel: "支付单号", pendingPaymentTitle: "未完成支付订单", pendingAmountLabel: "待支付总额", pendingCountLabel: "待支付数量", refundStatusLabel: "退款状态", relatedBusinessNoLabel: "关联业务编号", remainingAmountLabel: "待付金额", remarkLabel: "备注", resultLabel: "处理结果", totalChargeLabel: "应收合计", wechatCodeFailed: "获取微信登录凭证失败", wechatPayButton: "微信支付", cancelOrderButton: "取消订单", cancelOrderContent: "取消后将关闭当前未支付订单,是否继续?", cancelOrderFailed: "取消订单失败", cancelOrderLoading: "取消中...", cancelOrderSuccess: "订单已取消", cancelOrderTitle: "取消订单", paymentNoticeAmountLabel: "支付金额", paymentNoticeBillLabel: "账单号", paymentNoticeCancel: "稍后再付", paymentNoticeConfirm: "继续支付", paymentNoticeItemLabel: "费用项目", paymentNoticeLine1: "请确认本次支付账单和金额无误后再继续付款。", paymentNoticeLine2: "支付完成后,账单状态可能需要几秒同步,请勿重复支付。", paymentNoticeLine3: "若支付中断或页面关闭,可稍后返回账单页查看最新结果。", paymentNoticeTitle: "用户须知" } }, contract_detail: { contract_detail: { contractNoLabel: "合同编号:", emptyDesc: "页面未带入影像地址,且通过合同编号也未获取到可预览的合同内容。", emptyTitle: "暂无合同内容", imageModeChip: "A4 影像模式", loadingDesc: "正在获取合同影像与正文,请稍候。", loadingTitle: "合同加载中", navTitle: "合同详情", notAvailable: "未获取", overviewTitle: "合同影像", signedChip: "已签合同", textModeChip: "正文预览模式", zoomSupportedChip: "支持缩放" } }, contract_sign: { contract_sign: { back: "返回", contractNoLabel: "合同编号:", contractNoMissing: "缺少合同编号", emptyDesc: "当前合同暂未返回可签约正文,请稍后再试。", emptyTitle: "暂无合同正文", footerTip: "签名前请确认您已完整阅读合同内容", fullscreenPreview: "点击全屏查看", fullscreenTitle: "合同全文", loadingDesc: "正在获取合同正文,请稍候。", loadingTitle: "合同加载中", navTitle: "合同签约", notAvailable: "未获取", overviewMeta: "阅读合同正文后完成签名提交,签约结果会同步到我的合同。", overviewTitle: "签约前确认", signAction: "我已阅读并同意,去签名", signFailed: "签约失败", signSuccess: "签约成功", signerMissing: "未获取到签名人姓名", signingLoading: "签约提交中...", submitting: "提交中...", uploadFailed: "签名上传失败" } }, device_control: { device_control: { actionSuccess: "操作成功", applySetting: "应用设置", commandFailed: "指令下发失败", commandSending: "指令下发中...", controlPanel: "控制面板", currentRoom: "当前房间", curtainClose: "关闭", curtainClosed: "窗帘已关闭", curtainOpen: "打开", curtainOpened: "窗帘已打开", curtainPause: "暂停", curtainPaused: "窗帘已暂停", deviceClosed: "已关闭", deviceDetail: "设备详情", deviceEnabled: "已开启", deviceIdMissing: "设备ID缺失", deviceMissing: "设备信息缺失", deviceOpened: "已打开", functionCodeMissing: "功能编码缺失", functionCount: "{count}项功能", pendingTag: "待完善", schemaApplied: "{name}参数已下发", sliderLabel: "亮度 / 数值", sliderUpdated: "滑块值已更新", syncHint: "操作完成后会自动刷新设备状态", unknownSchema: "未识别到参数模板", unsupportedBoxText: "当前功能暂未开放使用,点击反馈", unsupportedFunction: "{name}操作功能未完善" } }, message_detail: { message_detail: { actionButler: "去查看服务", actionDefault: "继续前往业务页", actionPayment: "去处理账单", actionSystem: "前往相关页面", backList: "返回消息页", categoryButler: "管家消息", categoryLabel: "消息分类", categoryPayment: "缴费账单", categorySystem: "系统通知", codeCopied: "通知编号已复制", codeLabel: "通知编码", contentTitle: "通知内容", copy: "复制", emptyContent: "暂无详细内容", expiredDesc: "当前消息详情已失效,请返回消息中心重新打开。", expiredHint: "消息缓存已失效", localSource: "本地业务消息", messageFallbackTitle: "消息通知", navTitle: "消息详情", remoteSource: "系统通知接口", sourceLabel: "消息来源", statusLabel: "当前状态", summaryTitle: "摘要" } }, my_application: { my_application: { apartmentLabel: "所属公寓", dateRangeJoiner: " 至 ", emptyDesc: "您还没有提交任何申请,去选房后可发起入住申请或预约看房。", emptyTitle: "暂无申请记录", goSelectRoom: "去选房", leaseTermLabel: "预计租期", loadError: "申请记录加载失败", loadingDesc: "正在同步您的入住申请记录,请稍候。", loadingMore: "加载中...", loadingTitle: "申请列表加载中", missingApplicationCode: "申请编号缺失", missingBillCode: "申请单编号缺失", navTitle: "我的申请", noMore: "没有更多申请了", occupantLabel: "入住人", pullUpMore: "上拉加载更多", refresh: "刷新状态", refreshSuccess: "申请状态已刷新", refreshing: "刷新中...", remarkLabel: "补充说明", statusAll: "全部", statusApproved: "已通过", statusFinished: "已结束", statusPending: "待审核", statusPendingPayment: "请支付定金", statusProcessing: "处理中", statusRejected: "已拒绝", statusReminderTitle: "当前进度提醒", statusWaitingRoomAssign: "等待预订中心分配房间", stayApplicationTitle: "入住申请", submittedAtLabel: "提交时间", toolbarSummary: "共 {total} 条申请", viewBill: "查看关联账单", viewingApplicationTitle: "预约看房申请", viewingTimeLabel: "预约时间" } }, my_contract: { my_contract: { actionSign: "去签约", actionViewDetail: "查看详情", contractPeriodLabel: "合同期限", contractTitle: "住宿合同", dateRangeJoiner: " 至 ", displayMetricLabel: "当前展示", emptyDesc: "切换筛选条件,或等待系统生成新的合同数据。", emptyTitle: "暂无对应的合同记录", loadingDesc: "正在同步您的合同数据,请稍候。", loadingTitle: "合同记录加载中", mySignatureLabel: "我的签名", navTitle: "我的合同", overviewSubtitle: "查看住宿合同、签约状态与有效期限", overviewTitle: "合同概览", pendingMetricLabel: "待签约/审批", recordTipLabel: "记录说明", relatedOrderLabel: "关联订单", signStatusLabel: "签署状态", signed: "已签名", statusApproved: "已通过", statusPending: "待审批", statusProcessing: "处理中", statusRejected: "已拒绝", tabAll: "全部", tabPending: "待签约", tipApproved: "合同已生效,可查看签约结果。", tipDefault: "请关注合同最新状态。", tipNeedSign: "待您完成签名后进入审批流程。", tipPending: "已提交签约信息,等待审批结果。", tipRejected: "合同未通过审批,请联系管理员处理。", unsigned: "待签名" } }, service_stub: { service_stub: { accessAssignDesc: "请在完成入住签约并录入人脸/实名信息后\n系统将自动为您分配通行权限", accessCodeDesc: "可用于社区大门、单元门及电梯通行", accessCodeTitle: "我的通行二维码", authRecordTitle: "授权记录", backHome: "返回首页", backPrev: "返回上一页", comingSoonTitle: "功能建设中", coupon: "优惠券", couponDesc: "租金水电抵扣", currentStatusDesc: "该功能当前仍在建设中,暂未开放正式办理入口。你可以先返回上一页,或回到首页继续查看已开放功能。", currentStatusTitle: "当前状态", dailyPoints: "每日签到领积分", defaultPageDesc: "该能力正在完善中,开放后会同步到个人中心的对应入口。", defaultPageTitle: "业务办理", goCheckIn: "去签到", lockEmptyRecord: "暂无门锁操作记录", lockNoAccessDesc: "您当前暂未分配智能门锁,或门锁暂未联网。\n入住后即可使用一键开门与临时密码下发功能。", lockNoAccessTitle: "暂无门锁权限", noAccessPermission: "未获取通行权限", noteDesc: "后续接入真实能力后,这里会展示正式的业务入口、状态数据和办理记录。", noteTitle: "说明", oneTapUnlock: "一键开锁", pointsAvailable: "当前可用积分", pointsEmpty: "暂无积分明细", pointsMall: "积分商城", pointsMallDesc: "超值好物兑换", pointsRecordTitle: "积分明细", redeemRules: "兑换规则", tempPassword: "临时密码", visitorAccessAction: "临时访客授权", visitorAccessTitle: "访客通行", visitorEmpty: "暂无访客通行记录" } }, smart_control: { smart_control: { commandFailed: "指令下发失败", currentRoom: "当前房间", deviceOff: "已关闭", deviceRunning: "运行中", deviceSummary: "共 {count} 台设备,可进入详情页控制", disabled: "已关闭", emptyDesc: "当前房间未绑定智能设备", emptyTitle: "暂无可控设备", enabled: "已开启", loadFailedTitle: "设备加载失败", loadingDesc: "正在查询当前房间的可控设备...", loadingShort: "加载中", loadingTitle: "正在连接设备", missingFunctionCode: "功能编码缺失", missingRoomCode: "缺少房间编码", navTitle: "全屋智能", refreshStatus: "刷新状态", requestFailed: "设备列表请求失败", retry: "重新加载", sending: "发送中...", syncingStatus: "正在同步设备状态", toolbarTip: "点击设备进入详情并下发控制指令", unsupportedQuickControl: "设备暂不支持快捷控制", unsupportedSwitch: "该设备不支持快捷开关" } }, lost_found_publish: { lost_found_publish: { navTitle: "失物拾物", heroBadge: "社区服务", heroTitle: "发布失物或招领信息", heroDesc: "将失物或拾获信息同步给社区,方便后续核实与快速匹配。", formTitle: "物品信息", formDesc: "请补充关键字段,必填项越完整,越方便他人联系与认领。", typeLabel: "发布类型", typePlaceholder: "请选择失物或招领", typeLost: "失物", typeFound: "招领", itemTypeLabel: "物品类型", itemTypePlaceholder: "例如证件、钥匙、电子设备", itemNameLabel: "物品名称", itemNamePlaceholder: "请输入物品名称", placeLabel: "地点", placePlaceholder: "请输入丢失或拾取地点", whenLabel: "时间", selectDate: "选择日期", selectTime: "选择时间", whenTip: "可选,若已知大致时间可一并填写。", contractLabel: "联系人", contractPlaceholder: "请输入联系人", contractPhoneLabel: "联系电话", contractPhonePlaceholder: "请输入联系电话", remarkLabel: "备注", remarkPlaceholder: "可补充外观特征、认领说明或其他辅助信息", imagesLabel: "现场图片", uploadImage: "上传图片", imagesTip: "可选,上传现场图或物品图可提升识别效率。", submitTip: "发布前请确认信息准确,系统会按当前语言提交接口。", submitting: "发布中...", submitButton: "立即发布", uploadFailed: "图片上传失败", uploadOversize: "单张图片不能超过 5 MB", uploadExceed: "最多上传 6 张图片", validateItemType: "请输入物品类型", validateItemName: "请输入物品名称", validatePlace: "请输入地点", validateContract: "请输入联系人", validateContractPhone: "请输入联系电话", submitSuccess: "发布成功", submitFailed: "发布失败" } }, submit_request: { components: { BuildingSelector: { emptyText: "暂无可选楼栋", loadFailed: "楼栋列表加载失败", loadingText: "楼栋加载中...", popupTitle: "选择意向楼栋", selectAreaFirst: "请先选择区域", selectBuilding: "请选择楼栋" }, DateRangeSelector: { dateDivider: "至", endLabel: "预计离开", endPlaceholder: "请选择离开日期", startLabel: "预计入住", startPlaceholder: "请选择入住日期" }, FloorSelector: { clearSelection: "不选择", emptyText: "暂无可选楼层", loadFailed: "楼层列表加载失败", loadingText: "楼层加载中...", popupTitle: "选择意向楼层", selectFloor: "请选择楼层" }, RoomTypeSelector: { emptyRoomTypes: "暂无可选房型", loadFailed: "房型列表加载失败", loadingRoomTypes: "房型加载中...", popupTitle: "选择意向房型", priceUnit: "/月", selectRoomType: "请选择意向房型" }, TagSelector: { emptyText: "暂无标签", loadingText: "标签加载中..." } }, submit_request: { applicationInfo: "申请信息", applicationType: "申请类型", applyRemarkPlaceholder: "请输入您的申请补充说明", applyRoomType: "申请房型", areaLabel: "所属区域", buildingLabel: "意向楼栋", currentRoom: "当前房间", dateCannotBefore: "{endLabel}不能早于{startLabel}", emptyHobbyTags: "暂无兴趣爱好标签", emptyLifestyleTags: "暂无生活习惯标签", expectedCheckin: "预计入住", expectedCheckout: "预计离开", floorLabel: "意向楼层", hobbyLabel: "兴趣爱好", leaseRange: "租期时间", lifestyleLabel: "生活习惯", paymentMethod: "支付方式", referencePrice: "参考价格", remarkLabel: "补充说明", remarkRequired: "请输入补充说明", roomTypeApplyBlockDesc: "已接入真实申请单接口,支持带出房型与区域编码后直接提交。", roomTypeApplyBlockTitle: "房型申请信息", roomTypeApplyDesc: "请确认房型、区域、偏好标签和租期信息后提交申请。", roomTypeApplyTitle: "房型申请", switchRoomType: "切换", summaryTitle: "申请摘要", expandSummary: "展开", collapseSummary: "收起", selectCheckinDate: "请选择入住日期", selectCheckoutDate: "请选择离开日期", selectDateEnd: "请选择{label}", selectDateStart: "请选择{label}", sourceDefaultDesc: "请填写您的入住意向、租期和补充说明。", stayApplyDefaultDesc: "请填写您的入住意向、生活偏好与预计租期后提交申请单。", stayApplyDefaultTitle: "入住申请", submitFailed: "申请单提交失败", submitRoomTypeApply: "提交房型申请", submitSuccess: "申请单提交成功", submitting: "提交中...", tagLoadFailed: "偏好标签加载失败" } }, utility_recharge: { utility_recharge: { navTitle: "账单管理" } }, ticket_center: { ticket_center: { navTitle: "工单中心", heroBadge: "SERVICE", heroTitle: "住中工单服务", heroDesc: "报修、续住、退宿、调宿、送水、清洁和意见建议都统一从这里进入,提交后可继续查看流转记录。" } }, ticket_workbench: { ticket_workbench: { areaLabel: "所属区域", assigneeLabel: "处理目标", attachmentsLabel: "附件图片", cancelProcess: "退出处理", cancelSupplement: "取消补充", changeRoomTypeLabel: "意向房型", cleaningTimeLabel: "预约清洁时间", contentLabel: "申请内容", currentFlowTag: "当前节点", currentStayInfo: "当前入住信息", currentStayOrder: "当前入住订单", emptyHistoryDesc: "当前类型还没有工单记录。", emptyHistoryTitle: "暂无工单记录", flowActionTitle: "可执行操作", historyTab: "记录查询", leaseLabel: "租期", loadMore: "加载更多", loadingMore: "加载中...", loadOrderFailed: "入住信息加载失败", noFlowContent: "暂无处理内容", noMore: "没有更多了", refresh: "刷新", refreshing: "刷新中...", remarkLabel: "补充说明", remarkPlaceholder: "请输入补充说明,帮助工作人员更快处理", roomLabel: "当前房间", roomTypeLabel: "当前房型", searchPlaceholder: "搜索工单标题或内容", selectAssignee: "请选择处理目标", selectDate: "请选择日期", selectTime: "请选择时间", submitSectionDefaultDesc: "以下内容将通过工单接口提交并进入后续流转。", submitTab: "提交申请", submitTicket: "提交工单", submitting: "提交中...", supplementAction: "补充信息", supplementLabel: "补充业务信息", supplementPlaceholder: "请输入{label}", ticketKicker: "WORK ORDER", uploadImage: "上传图片", uploadImageCountExceeded: "最多上传 6 张图片", uploadImageFailed: "图片上传失败,请重试", uploadImageOversize: "图片不能超过 5MB", uploadTip: "支持上传 JPG、PNG 等图片,单张不超过 5MB,最多 6 张。", uploadTipRepair: "支持上传 JPG、PNG 等图片,单张不超过 5MB,最多 6 张。报修至少上传 1 张图片。", checkoutTimeLabel: "预计退宿时间", renewalTimeLabel: "续住至", submittedAtLabel: "提交时间", submitSuccess: "工单提交成功", submitFailed: "工单提交失败", confirmSubmitTitle: "确认提交", confirmSubmitContent: "确认提交当前工单吗?", missingStayContext: "当前缺少入住订单或房间信息,暂无法提交工单", repairAttachmentRequired: "请上传报修附件图片", changeAreaRequired: "请选择意向房型", checkoutTimeRequired: "请选择退宿时间", checkoutReasonRequired: "请填写退宿原因", loadHistoryFailed: "工单记录加载失败", loadFlowsFailed: "工单流转加载失败", loadActionsFailed: "工单操作项加载失败", continueProcess: "继续处理", loadAssigneeFailed: "处理目标加载失败", submitSectionActionDesc: "当前工单正在处理中,提交后会继续流转。", submitSectionSupplementDesc: "当前工单处于挂起状态,补充信息后会继续流转。", currentStatusPending: "待处理", currentStatusProcessing: "处理中", currentStatusResolved: "已解决", currentStatusClosed: "已结束", allStatus: "全部", pendingStatus: "待处理", processingStatus: "处理中", resolvedStatus: "已解决", closedStatus: "已结束" } }, room_inspection: { room_inspection: { pageTitle: "验房", pageDesc: "按当前订单查看并提交验房结果", inspectionListTitle: "验房记录", roomNoLabel: "房间号", inspectionTypeLabel: "验房类型", inspectionStatusLabel: "当前状态", inspectionTimeLabel: "发起时间", inspectionRemarksLabel: "备注", inspectionRemarksPlaceholder: "可填写本次验房的补充说明", inspectionItemsTitle: "检查项", inspectionItemsDesc: "请根据现场情况逐项核对", deviceFallback: "未命名设备", requiredTag: "必查", expectedQuantityLabel: "应有数量", inspectionResultLabel: "检查结果", checkedQuantityLabel: "实测数量", checkedQuantityPlaceholder: "请输入数量", problemDetailLabel: "问题说明", problemDetailPlaceholder: "请描述异常、缺失或损坏情况", photosLabel: "现场照片", addPhoto: "添加", submitAction: "提交验房", loadingDesc: "正在同步验房数据...", emptyTitle: "暂无验房单", emptyDesc: "当前订单还没有可查看的验房记录。", emptyItemsTitle: "暂无检查项", emptyItemsDesc: "当前验房单还没有检查项明细。", submitSuccess: "验房单已提交", submitFailed: "提交失败", submitting: "提交中...", missingInspectionNo: "未获取到验房单", uploadFailed: "图片上传失败", chooseImageFailed: "选择图片失败", resultRequired: "请先完成所有检查项结果选择" } } }, components: { ContractSignDialog: { undo: "撤销", rewrite: "重写", close: "关闭", confirmSignature: "确认签名", footerTip: "签名前请确认您已完整阅读合同内容", closeBoardTitle: "关闭提示", closeBoardDesc: "您还未完成签名,确认要关闭吗?", continueSigning: "继续签名", continueClosing: "确认关闭", missingSignerName: "签名人缺失", writingHintZh: "请在此处手写中文正楷签名", writingHintEn: "Please write your signature here", signerNameMissingToast: "签名人信息缺失", signatureRequiredToast: "请先完成签名", boundsFailedToast: "获取签名范围失败", signatureTooSmallToast: "签名范围太小,请重新签名", exportFailedToast: "导出签名失败,请重试" }, ContractAlert: { actionText: "去签署", pendingDesc: "您有 {count} 份合同待签署", pendingTitle: "待签合同提醒" } } } } export default messages