Files
QSY-lvjuxcx/locales/messages.js
liangjian 9fee2c3a74 feat: 优化首页服务入口与租住业务流程
补齐首页待办跳转、押金支付引导和多类租住服务页面能力,统一租客端关键业务流程体验。
2026-08-25 13:53:12 +08:00

3454 lines
169 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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/lock_control/lock_control": "Smart Lock",
"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?",
cancelViewingContent: "This will close the current viewing request. 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",
paymentStatusLabel: "Payment Status",
paymentStatusPending: "Pending Payment",
paymentStatusPaid: "Paid",
paymentStatusRefunded: "Refunded",
paymentStatusExempt: "No Payment Needed",
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 Arrangement",
stayApplicationTitle: "Stay Application",
submittedAtLabel: "Submitted At",
toolbarSummary: "{total} applications",
viewingNoDepositToast: "Viewing requests do not require a deposit",
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",
applicationInfoTitle: "Stay Application Info",
applicationCanceled: "Application canceled",
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",
checkinArrangement: "Check-in Arrangement",
communityEvent: "Community Events",
completeFormBeforeSubmit: "Please complete the form before submitting.",
cancelApplication: "Cancel Application",
cancelApplicationFailed: "Failed to cancel application",
confirmPayAction: "Confirm and Pay",
confirmPayInfo: "Confirm Payment Info",
confirmWechatPayHint: "WeChat Pay will be launched after confirmation",
contactPhonePrefix: "Phone ",
contractPendingNote: "The flow stays at the contract step until the contract is signed.",
contractSignedPendingReview: "Contract signed, waiting for manager review",
contractSignedPendingReviewTitle: "Contract signed, waiting for manager review",
contractRoom: "Contract Room",
contractStep: "Contract",
controllable: "Controllable",
currentStageTitle: "Current Stage",
currentStay: "Current Stay",
deviceFallback: "Device {index}",
goSelectRoom: "Explore Rooms",
inspectionSheet: "Inspection Sheet",
inspectionSubmittedPendingReview: "Inspection submitted, waiting for manager review",
joinEvent: "Join Now",
lastCreateTime: "Latest",
leaseTerm: "Lease",
loadingApplicationDetail: "Syncing application details, please wait...",
loadingButlerInfo: "Syncing butler info...",
loadingManagerInfo: "Loading butler info",
loadingPaymentPreview: "Syncing payment preview, please wait...",
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",
pendingDispatch: "Pending Dispatch",
payBill: "Pay Now",
pendingAssignment: "Pending assignment",
pendingContractFound: "Pending contract found",
pendingSync: "Pending",
payMethodLabel: "Payment Plan",
primaryButlerTag: "Lead",
publicService: "Premium Services",
refreshFailed: "Refresh failed, please try again later",
refreshStatus: "Refresh Status",
refreshing: "Refreshing...",
reviewStep: "Review",
roomTypeInfo: "Room Info",
applicationPendingTitle: "Application submitted, waiting for review",
applicationPendingDesc: "Your application has been submitted. It will enter the room inspection step after butler review.",
applicationPendingNote: "Application is under review. Please wait for butler notification.",
applicationPendingPaymentTitle: "Please pay the deposit",
applicationPendingPaymentDesc: "Your stay application has been submitted. Please pay the deposit to confirm your booking.",
applicationPendingPaymentNote: "After the deposit is paid, the manager will review your application and arrange the next steps.",
viewingPendingTitle: "Viewing request submitted, waiting for confirmation",
viewingPendingDesc: "Your viewing request has been submitted. Please wait for the manager to confirm the viewing schedule.",
viewingPendingNote: "No deposit is required for viewing requests. Please watch for the viewing time and follow-up notice.",
viewingNoDepositToast: "Viewing requests do not require a deposit",
inspectionPendingTitle: "Please schedule and complete room inspection",
inspectionPendingDesc: "The flow has entered the room inspection step. Please complete the inspection on time.",
inspectionPendingNote: "After the room inspection is completed, the system will automatically proceed to contract signing.",
billPendingTitle: "Bill generated, please pay as soon as possible",
billPendingDesc: "The flow has entered the bill payment step. Complete payment to proceed to check-in.",
billPendingNote: "Please complete the bill payment within the specified time. Overdue payment may affect your room selection.",
signContractDoneTitle: "Contract signed, waiting for check-in",
signContractDoneNote: "Contract signing is complete. Please wait for butler notification for check-in.",
signContractPendingReview: "Your contract has been signed and is currently waiting for manager review. After approval, the bill payment step will begin.",
applicationNo: "Application No.",
billNo: "Bill No.",
applicationStep: "Application",
inspectionStep: "Inspection",
billStep: "Bill",
contractShort: "Contract",
checkinShort: "Check-in",
applying: "Applying",
inspecting: "Inspecting",
pendingPayment: "Pending Payment",
pendingSignature: "Pending Signature",
pendingCheckin: "Pending Check-in",
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. Complete signing to proceed to bill payment.",
signContractNow: "Please sign your contract",
smartAvailableAfterCheckin: "Smart devices are available after check-in",
smartControl: "Smart Control",
smartLockEntryDesc: "My Keys · Door Password · Fingerprint Enrollment",
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",
unknownText: "Unknown",
viewAll: "View All",
viewBill: "View Bills",
currentTaskTitle: "Current Task",
flowProgressTitle: "Flow Progress",
nextFlowFallback: "Next Step",
nextStepDispatchPrefix: "Waiting for manager to send",
nextStepDispatchSuffix: ", and the next step will continue after it is sent.",
nextStepDispatchDescPrefix: "The current flow is waiting for the manager to send",
paymentActionLabel: "Current Payment",
goInspection: "Book Inspection",
profileSignedDesc: "Your accommodation contract has been signed. The manager will arrange the check-in process for you soon.",
profileInspectionPendingDesc: "Your inspection form has been submitted successfully and is currently waiting for manager review. After approval, the contract signing step will begin.",
profileContractPendingDesc: "Your contract has been signed and is currently waiting for manager review. After approval, the bill payment step will begin.",
profileDepositPendingDesc: "Your deposit has been paid successfully. The current application is waiting for manager review and follow-up handling.",
processedDepositPendingTitle: "Deposit paid, waiting for manager handling",
statusWaitingRoomAssign: "Waiting for Room Arrangement",
waitingRoomAssignDesc: "There is currently no pending deposit bill. The butler is arranging a room for you, please wait patiently.",
viewDetail: "View Details"
}
},
index: {
loadingBrand: "Luju Apartments",
shareTitle: "Luju Apartments - International Youth Community",
tabMessageCenter: "Messages",
tabMyApplication: "Applications",
tabProfileCenter: "Profile",
tabSelectRoom: "Explore",
tabStayService: "Stay",
myTodo: "My Tasks",
noTodoNow: "No pending items right now",
pendingCount: "{count} pending",
currentPendingCount: "{count} items pending",
noTodos: "No to-dos",
viewTodo: "View",
itemUnit: "items",
pendingContract: "Pending Contracts",
inspectionTodo: "Inspection",
pendingTask: "Pending Task",
todoType: "Pending Type",
goHandle: "Handle",
goPay: "Pay",
goSign: "Sign",
goInspect: "Inspect",
unableHandle: "Unavailable",
todoCodeMissing: "The current pending order number is incomplete",
todoRouteMissing: "No route is configured for this task type yet",
todoJumpFailed: "Failed to open the pending item",
todoEmptyType: "No actionable pending details are available for the current type",
todoActionDetail: "Tap the order number below to view pending details",
todoActionTicket: "Tap the order number below to identify the work order and continue processing",
todoActionBill: "Tap the order number below to open bill processing",
todoActionContract: "Tap the order number below to open contract signing",
todoActionInspection: "Tap the order number below to open inspection processing",
todoUnknownTicketType: "Work order type could not be recognized",
pendingContractTitle: "Pending Contract",
inspectionDraft: "Draft",
inspectionMoveIn: "Move-in Inspection",
inspectionInProgress: "In Progress"
}
}
},
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",
accountShortTitle: "Account",
accountSection: "Account Information",
accountSectionDesc: "For sign-in and follow-up notifications",
attachmentNotImage: "The current attachment is not an image",
basicSectionDesc: "Show matching documents and fields by identity",
basicSection: "Basic Verification",
chinaText: "China",
countryFixedText: "Fixed for Chinese users",
countryLabel: "Country",
countryLoadFailed: "Failed to load country list",
countrySearchHint: "Fuzzy search supported",
countrySearchPlaceholder: "Search country, region, or code",
countrySearchSubtitle: "Search by Chinese, English, or country code",
countrySearchTitle: "Select Country",
countryPlaceholder: "Select country",
dictLoadFailed: "Failed to load dictionaries",
dietaryLabel: "Dietary Habit",
dietaryPlaceholder: "Select dietary habit",
documentAttachmentLabel: "Document Attachment",
documentExpiryLabel: "Document Expiry Date",
documentImageOnlyTip: "Document attachment only supports images, please re-upload",
documentTypeLabel: "Document Type",
documentLabel: "Document Number",
documentPlaceholder: "Enter document number",
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",
finishAndSubmit: "Finish and Submit",
genderLabel: "Gender",
genderMale: "Male",
genderFemale: "Female",
goLogin: "Sign In",
hangzhouPropertyLabel: "Property in Hangzhou",
hasAccount: "Already have an account?",
heroKicker: "Luju Apartment Registration",
hobbyLabel: "Hobby",
hobbyPlaceholder: "Select hobby",
idCardBackTip: "Make sure the expiry date and national emblem are clear",
birthdayLabel: "Date of Birth",
birthdayPlaceholder: "Select date of birth",
idCardBackAttachmentLabel: "ID Card Back",
idCardFrontAttachmentLabel: "ID Card Front",
idCardFrontTip: "Keep all edges visible with no obstructions",
idCardLabel: "ID Card Number",
idCardPlaceholder: "Enter ID card number",
imageUploadedTip: "Image uploaded, tap to preview",
identityShortTitle: "Verification",
identityTypeLabel: "Identity Type",
identityTypeTip: "Switching will also update country, document type, and upload requirements",
loading: "Loading...",
nameLabel: "Name",
namePlaceholder: "Enter your real name",
navTitle: "Register",
noMatchedCountry: "No matching country or region found",
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",
previousStep: "Previous",
phoneLabel: "Phone",
phonePlaceholder: "Enter phone number",
preferenceSectionDesc: "Optional items to better match living preferences",
preferenceSection: "Preferences",
preferenceShortTitle: "Preferences",
profileSectionDesc: "Upload documents and supporting materials for review",
profileSection: "Profile",
profileShortTitle: "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",
reselect: "Choose Again",
schoolLabel: "School",
schoolPlaceholder: "Enter school (optional)",
stepAccountDesc: "First complete the account, password, and email information.",
stepIdentityDesc: "Fill in the basic profile such as name, identity, phone number, and country.",
stepProfileDesc: "Add documents, attachments, and verification materials.",
stepPreferenceDesc: "Finally add optional preferences and complete the submission.",
selectDate: "Select date",
nextStep: "Next",
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",
uploadClearImageTip: "Please upload a clear image",
uploadDocument: "Upload document image",
uploadIdBack: "Upload ID card back",
uploadIdFront: "Upload ID card front",
uploadImageOption: "Upload Image",
uploadPassport: "Upload passport image",
uploadPassportTip: "Prefer a full, clear front-side 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/school and property status in Hangzhou",
validateRequiredStepBasic: "Please complete the account, password, and email first",
validateRequiredBasic: "Please complete the account, password, email, and name fields first",
validateRequiredName: "Please enter your real name",
validateSelectDocumentType: "Please select a document type",
validateDocumentBasic: "Please enter document number and expiry date",
validateDocumentAttachment: "Please upload the document image",
validateDocumentAttachmentImage: "Document attachment only supports image files",
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/School",
workUnitPlaceholder: "Enter work unit/school",
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: {
availableTimeLabel: "Available Slots",
backTitle: "Back",
bookingDateLabel: "Booking Date",
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",
emptyRoomTypesDesc: "No room types available, please try again later",
loadFailed: "Failed to load room types",
mapSelectFailed: "Map selection failed, please enter manually",
navTitle: "On-site Viewing",
popupSubtitle: "Select your preferred room type and area",
priceNegotiable: "Price negotiable",
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",
selectedTimeLabel: "Selected Time",
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",
submitHint: "A dedicated manager will contact you shortly after submission",
submitSuccessContent: "Your viewing request has been submitted. Please wait for the manager to contact you.",
submitSuccessTitle: "Viewing Request 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: {
addressLabel: "Apartment Address",
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 Arrangement",
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 Arrangement",
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, door passwords, fingerprint enrollment, and temporary password delivery 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: "Add Fingerprint",
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"
}
},
lock_control: {
lock_control: {
addFingerprint: "Add Fingerprint",
availableLocks: "Available Locks",
connectingLock: "Connecting to the lock...",
currentLock: "Current Lock",
currentRoomLock: "Room Lock",
currentSelectionHint: "{count} available locks found for this room. Currently selected: \"{name}\".",
currentWillOperateRoomLock: "The current room lock will be used.",
currentWillOperateSuiteLock: "The selected suite / common area lock will be used.",
doorLock: "Smart Lock",
doorPassword: "Door Password",
fingerAdded: "Fingerprint Added",
fingerModeFailed: "Failed to enable fingerprint mode",
fingerStatus: "Fingerprint Status",
fingerprintGuideDesc: "Follow the lock prompt, place your finger naturally on the sensor, and press repeatedly until enrollment is complete.",
fingerprintGuideTip: "The system will refresh the enrollment result automatically",
fingerprintGuideTitle: "Press Your Finger Repeatedly",
fingerprintInstruction: "To enroll a fingerprint, tap \"Add Fingerprint\" and follow the lock prompts.",
keySyncing: "Syncing your lock credentials...",
keySyncFailed: "Failed to sync lock credentials",
loadingEnroll: "Preparing Enrollment",
lockCapabilityAfterCheckin: "Door lock features are available after check-in.",
lockKeys: "My Keys",
missingRoomCode: "Your current stay order is missing a room code. Please contact your butler.",
missingUserCodeFinger: "Student/staff ID is missing, so fingerprint enrollment is unavailable.",
missingUserCodeKeys: "Your account is missing a student/staff ID, so lock credentials cannot be synced yet.",
noAvailableLocks: "No available locks found for the current room.",
noneAssigned: "Not Assigned",
notRecorded: "Not Enrolled",
noCopyPassword: "No password available to copy",
passwordCopied: "Password copied",
preparingFingerDesc: "The command has been sent to the lock. Please wait a moment.",
recorded: "Enrolled",
roomLock: "Room Lock",
roomOrPublicArea: "Suite / Common Area",
roomOrPublicAreaLock: "Suite / Common Area Lock",
selectedCount: "{count} lock(s)",
sendingFinger: "Sending...",
syncCurrentRoomLocks: "Syncing available locks for the current room.",
tipsTitle: "Instructions",
unlockWaitHint: "If the lock is still waiting, keep pressing and tap refresh to check again.",
useRoomPasswordFinger: "My Keys · Door Password · Fingerprint Enrollment"
}
},
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: {
emptyDesc: "No available buildings, please try again later",
emptyText: "No buildings available",
loadFailed: "Failed to load buildings",
loadFailedShort: "Failed to load buildings",
loadingText: "Loading buildings...",
popupSubtitle: "Select your preferred building",
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",
emptyDesc: "No available floors, please try again later",
emptyText: "No floors available",
loadFailed: "Failed to load floor list",
loadFailedShort: "Failed to load floors",
loadingText: "Loading floors...",
popupSubtitle: "Select your preferred floor",
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",
agreeAndSubmit: "Agree and Submit",
confirmSubmitTitle: "Confirm before submit",
confirmSubmitContent: "Confirm submitting the current application?",
confirmSubmitAction: "Confirm submit",
confirmSubmitCancel: "Think again",
noDepositReminderTitle: "Application Submitted",
noDepositReminderContent: "There is currently no pending deposit bill for this application. The butler will arrange a room for you, please wait patiently.",
noDepositReminderConfirm: "Got It",
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: {
confirmSubmitDesc: "Add handover notes, issue background, or any extra information before submitting.",
confirmSubmitSkip: "Skip for now",
confirmSubmitTitle: "Confirm before submit",
confirmSubmitAction: "Confirm submit",
handoverInspection: "Handover Inspection",
inspectionHint: "Please check each item. For abnormal cases, add details and upload photos.",
pageTitle: "Inspection",
pageDesc: "Review and submit inspection results for the current order",
inspectionListTitle: "Inspection Records",
inspectionSwitcher: "Switch Inspection",
inspectionRecordUnit: "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",
inspectionItemUnit: "items",
deviceFallback: "Unnamed Device",
markAllNormal: "Mark All Normal",
normalResultOptionMissing: "No normal result option found",
allMarkedNormal: "All items marked as normal",
requiredTag: "Required",
expectedQuantityLabel: "Expected Qty",
inspectionResultLabel: "Result",
checkedQuantityLabel: "Checked Qty",
checkedQuantityPlaceholder: "Enter quantity",
issueDetailLabel: "Issue Details",
problemDetailLabel: "Problem Detail",
problemDetailHint: "Add details if anything is missing, damaged, or unusable",
problemDetailPlaceholder: "Describe any abnormal, missing, or damaged condition",
photosLabel: "Photos",
photosHint: "Upload photos of key areas for follow-up confirmation",
uploadPhoto: "Upload Photo",
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/lock_control/lock_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: "取消后将关闭当前未支付的定金订单,是否继续?",
cancelViewingContent: "取消后将关闭当前预约看房申请,是否继续?",
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: "支付定金",
paymentStatusLabel: "支付状态",
paymentStatusPending: "待支付",
paymentStatusPaid: "已支付",
paymentStatusRefunded: "已退款",
paymentStatusExempt: "无需支付",
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} 条申请",
viewingNoDepositToast: "预约看房申请无需支付定金",
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: "使用中",
applicationInfoTitle: "入住申请信息",
applicationCanceled: "申请已取消",
addSmartDevice: "添加智能设备",
bedPrefix: "床位 {label}",
billCount: "账单数量",
billEmpty: "暂无待支付账单",
billRecordFallback: "账单记录",
billType: "账单类型",
billUnit: "笔",
bookedRoomType: "预定房型",
bookingInfo: "预定信息",
bookingPendingDesc: "定金已支付,预定单正在审批流中。审批通过后将分配管家并等待分房号。",
bookingPendingNote: "订单已提交,管家审核通过后会同步更多入住信息。",
bookingPendingTitle: "您的预订正在审核中",
butler: "专属社区管家",
callNow: "拨打",
checkinStep: "办理入住",
checkinArrangement: "入住安排",
communityEvent: "近期活动",
completeFormBeforeSubmit: "请完善表单信息后提交。",
cancelApplication: "取消申请",
cancelApplicationFailed: "取消申请失败",
confirmPayAction: "确认并支付",
confirmPayInfo: "确认支付信息",
confirmWechatPayHint: "确认后将发起微信支付",
contactPhonePrefix: "联系电话 ",
contractPendingNote: "检测到待签合同后,流程将停留在签订合同节点,请先完成签名。",
contractSignedPendingReview: "合同已签,等待管家审核",
contractSignedPendingReviewTitle: "合同已签署,等待管家审核",
contractRoom: "合同房型",
contractStep: "签订合同",
controllable: "可控制",
currentStageTitle: "当前阶段",
currentStay: "当前入住房间",
deviceFallback: "设备 {index}",
goSelectRoom: "去选房",
inspectionSheet: "验房单",
inspectionSubmittedPendingReview: "验房已提交,等待管家审核",
joinEvent: "立即报名",
lastCreateTime: "最近生成",
leaseTerm: "租期",
loadingApplicationDetail: "正在同步申请详情,请稍候...",
loadingButlerInfo: "正在同步管家信息...",
loadingManagerInfo: "正在加载管家信息",
loadingPaymentPreview: "正在同步支付预览,请稍候...",
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: "已结清",
pendingDispatch: "待下发",
payBill: "去支付",
pendingAssignment: "待审核分配",
pendingContractFound: "发现待签合同",
pendingSync: "待同步",
payMethodLabel: "押付方式",
primaryButlerTag: "主责",
publicService: "公寓精选服务",
refreshFailed: "刷新失败,请稍后重试",
refreshStatus: "刷新状态",
refreshing: "刷新中...",
reviewStep: "管家审核",
roomTypeInfo: "房型信息",
applicationPendingTitle: "申请单已提交,等待审核",
applicationPendingDesc: "您的申请单已提交,管家审核通过后将进入验房环节。",
applicationPendingNote: "申请单审核中,请耐心等待管家通知。",
applicationPendingPaymentTitle: "请支付定金",
applicationPendingPaymentDesc: "您的入住申请已提交,请先支付定金以确认预订。",
applicationPendingPaymentNote: "支付定金后,管家会尽快审核您的申请并安排后续入住流程。",
viewingPendingTitle: "预约看房已提交,等待确认",
viewingPendingDesc: "您的预约看房申请已提交,请等待管家与您确认看房安排。",
viewingPendingNote: "预约看房无需支付定金,请留意看房时间与后续通知。",
viewingNoDepositToast: "预约看房申请无需支付定金",
inspectionPendingTitle: "请预约并完成验房",
inspectionPendingDesc: "当前流程已进入验房阶段,请按预约时间完成房间验收。",
inspectionPendingNote: "验房完成后,系统将自动进入合同签署环节。",
billPendingTitle: "账单已生成,请尽快支付",
billPendingDesc: "当前流程已进入账单支付阶段,完成支付后即可进入入住办理环节。",
billPendingNote: "请在规定时间内完成账单支付,逾期可能影响选房资格。",
signContractDoneTitle: "合同已签署,等待办理入住",
signContractDoneNote: "合同签署完成,请等待管家通知办理入住。",
signContractPendingReview: "您的合同已经签署完成,当前正在等待管家审核,审核通过后将进入账单支付环节。",
applicationNo: "申请编号",
billNo: "账单编号",
applicationStep: "申请单",
inspectionStep: "验房",
billStep: "账单",
contractShort: "合同",
checkinShort: "入住",
applying: "申请中",
inspecting: "验房中",
pendingPayment: "待支付",
pendingSignature: "待签约",
pendingCheckin: "待入住",
roomDeviceUnconfigured: "房间智能设备未配置",
signContract: "去签约",
signContractDesc: "系统已生成待签合同,当前流程已进入签订合同阶段,完成签约后即可进入账单支付环节。",
signContractNow: "请尽快签订合同",
smartAvailableAfterCheckin: "入住后可使用智能设备",
smartControl: "全屋智能",
smartLockEntryDesc: "我的钥匙 · 门锁密码 · 录入指纹",
smartDeviceConnected: "已接入 {count} 台智能设备",
smartDeviceEmpty: "当前房间暂无智能设备",
smartDeviceLoadFailed: "智能设备加载失败",
smartDeviceSyncFailed: "智能设备同步失败",
statusUpdated: "状态已刷新",
stayService: "住中申请",
submitBookingStep: "提交预定",
submitRequest: "提交申请",
syncingSmartDevices: "正在同步智能设备...",
title: "我的入住",
unpaid: "待支付",
unknownText: "未知",
viewAll: "全部",
viewBill: "查看账单",
currentTaskTitle: "当前任务",
currentStepTag: "当前",
flowProgressTitle: "流程进度",
nextFlowFallback: "下一步流程",
nextStepDispatchPrefix: "等待管家发出",
nextStepDispatchSuffix: ",下发后即可继续下一步操作。",
nextStepDispatchDescPrefix: "当前流程正在等待管家发出",
paymentActionLabel: "本次支付",
goInspection: "去验房",
profileSignedDesc: "您的住宿合同已经完成签署,管家会尽快为您安排办理入住流程。",
profileInspectionPendingDesc: "您的验房单已提交成功,当前正在等待管家审核,审核通过后将进入合同签署环节。",
profileContractPendingDesc: "您的合同已经签署完成,当前正在等待管家审核,审核通过后将进入账单支付环节。",
profileDepositPendingDesc: "您的定金已支付成功,当前申请正在等待管家审核和后续处理。",
processedDepositPendingTitle: "定金已支付,等待管家处理",
statusWaitingRoomAssign: "等待管家排房",
waitingRoomAssignDesc: "当前暂无待支付定金账单,管家正在为您排房,请耐心等待。",
viewDetail: "查看详情"
}
},
index: {
loadingBrand: "绿居公寓",
shareTitle: "绿居公寓 - 国际化青年社区",
tabMessageCenter: "消 息",
tabMyApplication: "申请单",
tabProfileCenter: "我 的",
tabSelectRoom: "选 房",
tabStayService: "入 住",
myTodo: "我的待办",
noTodoNow: "当前暂无待办事项",
pendingCount: "待处理 {count} 项",
currentPendingCount: "当前共 {count} 项待处理",
noTodos: "暂无待办",
viewTodo: "查看",
itemUnit: "项",
pendingContract: "待签合同",
inspectionTodo: "验房单",
pendingTask: "待办事项",
todoType: "待办类型",
goHandle: "去处理",
goPay: "去支付",
goSign: "去签署",
goInspect: "去验房",
unableHandle: "无法处理",
todoCodeMissing: "当前待办单号不完整",
todoRouteMissing: "当前类型暂未配置跳转入口",
todoJumpFailed: "待办跳转失败",
todoEmptyType: "当前类型暂无可处理的待办明细",
todoActionDetail: "点击下方单号查看待办详情",
todoActionTicket: "点击下方单号识别工单并进入处理",
todoActionBill: "点击下方单号进入账单处理",
todoActionContract: "点击下方单号进入协议签署",
todoActionInspection: "点击下方单号进入验房处理",
todoUnknownTicketType: "未识别工单类型",
pendingContractTitle: "待签合同",
inspectionDraft: "草稿",
inspectionMoveIn: "入住检查",
inspectionInProgress: "进行中"
}
}
},
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: "请输入登录账号",
accountShortTitle: "账号",
accountSection: "账号信息",
accountSectionDesc: "用于登录和接收后续通知",
attachmentNotImage: "当前附件不是图片",
basicSectionDesc: "根据身份展示对应的证件和字段",
basicSection: "基础实名信息",
chinaText: "中国",
countryFixedText: "中国籍固定",
countryLabel: "国籍",
countryLoadFailed: "国家列表加载失败",
countrySearchHint: "支持模糊搜索",
countrySearchPlaceholder: "搜索国家、地区或代码",
countrySearchSubtitle: "可按中文、英文或国家代码搜索",
countrySearchTitle: "选择国籍",
countryPlaceholder: "请选择国籍",
dictLoadFailed: "字典加载失败,稍后可重试",
dietaryLabel: "饮食习惯",
dietaryPlaceholder: "请选择饮食习惯",
documentAttachmentLabel: "证件附件",
documentExpiryLabel: "证件到期时间",
documentImageOnlyTip: "证件附件仅支持图片,请重新上传",
documentTypeLabel: "证件类型",
documentLabel: "证件号",
documentPlaceholder: "请输入证件号",
domesticIdentity: "中国籍",
draftTipDefault: "未完成内容会自动保存,可随时返回继续填写",
draftTipSaved: "当前填写内容已自动保存",
emailCodeLabel: "邮箱验证码",
emailCodePlaceholder: "请输入邮箱验证码",
emailLabel: "邮箱",
emailPlaceholder: "请输入邮箱",
foreignIdentity: "外籍人员",
finishAndSubmit: "完成并提交",
genderLabel: "性别",
genderMale: "男",
genderFemale: "女",
goLogin: "去登录",
hangzhouPropertyLabel: "杭州有无房产",
hasAccount: "已有账号?",
heroKicker: "绿居公寓登记入口",
hobbyLabel: "兴趣爱好",
hobbyPlaceholder: "请选择兴趣爱好",
idCardBackTip: "请确保有效期和国徽信息清晰",
birthdayLabel: "生日",
birthdayPlaceholder: "请选择生日",
idCardBackAttachmentLabel: "身份证反面附件",
idCardFrontAttachmentLabel: "身份证正面附件",
idCardFrontTip: "请保持边缘完整、无遮挡",
idCardLabel: "身份证号",
idCardPlaceholder: "请输入身份证号",
imageUploadedTip: "已上传图片,可点击查看大图",
identityShortTitle: "实名",
identityTypeLabel: "身份类型",
identityTypeTip: "切换后会同步调整国籍、证件类型和上传要求",
loading: "加载中...",
nameLabel: "姓名",
namePlaceholder: "请输入真实姓名",
navTitle: "注册账号",
noMatchedCountry: "没有找到匹配的国家或地区",
noSelectableCountry: "当前暂无可选国家",
noSelectableOptions: "当前暂无可选项",
noText: "无",
pageDesc: "账号信息和实名认证资料需要一起填写完成,提交的是注册申请单,审批通过后才算注册成功。",
pageTitle: "注册并提交实名资料",
passportAttachmentLabel: "护照附件",
passportImageOnlyTip: "护照附件仅支持图片,请重新上传",
passportExpiryLabel: "护照到期时间",
passportLabel: "护照号",
passportPlaceholder: "请输入护照号",
passwordLabel: "登录密码",
passwordPlaceholder: "请输入 6 位及以上密码",
previousStep: "上一步",
phoneLabel: "手机号",
phonePlaceholder: "请输入手机号",
preferenceSectionDesc: "选填项,用于更好地匹配入住生活偏好",
preferenceSection: "偏好信息",
preferenceShortTitle: "偏好",
profileSectionDesc: "上传证件和补充资料,便于审核",
profileSection: "认证档案",
profileShortTitle: "档案",
religionLabel: "宗教信仰",
religionPlaceholder: "请选择宗教信仰",
restoreDraftCancel: "不用",
restoreDraftConfirm: "填入",
restoreDraftContent: "是否填入上次未完成或提交失败时缓存的注册信息?",
restoreDraftSuccess: "已填入上次失败数据",
restoreDraftTitle: "发现未完成的数据",
reupload: "重新上传",
reselect: "重新选择",
schoolLabel: "就读学校",
schoolPlaceholder: "请输入就读学校(选填)",
stepAccountDesc: "先完成登录账号、密码和邮箱信息。",
stepIdentityDesc: "填写姓名、身份、手机号和国籍等基础资料。",
stepProfileDesc: "补充证件、附件和审核所需资料。",
stepPreferenceDesc: "最后补充选填偏好信息,然后完成提交。",
selectDate: "请选择日期",
nextStep: "下一步",
submitFailed: "提交失败,请稍后重试",
submitPending: "申请已提交,待审批",
submitRegister: "提交注册申请",
submitting: "提交中...",
uploadFailed: "上传失败,请重试",
uploadAdmissionNotice: "点击上传入学通知书/在职证明",
uploadClearImageTip: "建议上传清晰的图片版本",
uploadDocument: "点击上传证件图片",
uploadIdBack: "点击上传身份证反面",
uploadIdFront: "点击上传身份证正面",
uploadImageOption: "上传图片",
uploadPassport: "点击上传护照图片",
uploadPassportTip: "优先上传正面完整清晰的图片",
uploadSuccess: "上传成功",
uploading: "上传中...",
validateEmail: "请输入正确的邮箱地址",
validateIdCard: "请填写身份证号",
validateIdCardAttachments: "请上传身份证正反面附件",
validateIdentityBasic: "请完善性别、手机号和国籍",
validatePassportAttachment: "请上传护照图片",
validatePassportAttachmentImage: "护照附件仅支持图片格式",
validatePassportBasic: "请填写护照号和护照到期时间",
validatePasswordLength: "登录密码至少 6 位",
validatePhone: "请输入正确的手机号",
validateProfile: "请完善工作单位/就读学校和杭州房产情况",
validateRequiredStepBasic: "请先填写账号、密码和邮箱",
validateRequiredBasic: "请先填写账号、密码、邮箱和姓名",
validateRequiredName: "请填写真实姓名",
validateSelectDocumentType: "请选择证件类型",
validateDocumentBasic: "请填写证件号和证件到期时间",
validateDocumentAttachment: "请上传证件图片",
validateDocumentAttachmentImage: "证件附件仅支持图片格式",
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: {
availableTimeLabel: "可约时段",
backTitle: "返回",
bookingDateLabel: "预约日期",
budgetLabel: "租金预算 (元/月)",
budgetPlaceholder: "请输入您的心理价位",
defaultInfoDesc: "专属管家为您提供一对一带看服务",
duration1: "1-3个月",
duration2: "4-6个月",
duration3: "7-9个月",
duration4: "10-12个月",
duration5: "1年以上",
durationLabel: "预计租住时长",
emptyRoomTypesDesc: "当前暂无可用房型,请稍后再试",
loadFailed: "房型加载失败",
mapSelectFailed: "地图选择失败,请手动输入",
navTitle: "预约现场带看",
popupSubtitle: "选择您心仪的房型与区域",
priceNegotiable: "价格面议",
roomTypeLabel: "意向房型",
remarkArea: "意向区域:{area}",
remarkBudget: "租金预算:{budget} 元/月",
remarkDuration: "预计租住时长:{duration}",
remarkPayMethod: "支付方式:{payMethod}",
remarkRoomType: "意向房型:{roomType}",
remarkSource: "当前来源:{room}",
remarkTail: "备注:请宿管确认带看安排;若带看完成并锁定房号,可转为预定单通知租客支付。",
remarkTime: "看房时间:{date} {time}",
remarkTitle: "预约看房申请",
remarkWorkplace: "工作/通勤地点:{workplace}",
rentalNeeds: "您的租住需求",
rentalNeedsDesc: "帮助管家更好地为您推荐房源",
selectDurationRequired: "请选择预计租住时长",
selectedTimeLabel: "已选时间",
selectTimeRequired: "请选择看房时间段",
selectViewingTime: "选择看房时间",
selectViewingTimeDesc: "请选择您方便的时间段",
submitBooking: "提交预约",
submitFailed: "预约提交失败",
submitHint: "提交后专属管家将尽快与您联系",
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: {
addressLabel: "公寓地址",
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: "申请详情",
paymentStatusLabel: "Payment Status",
paymentStatusPending: "Pending Payment",
paymentStatusPaid: "Paid",
paymentStatusRefunded: "Refunded",
paymentStatusExempt: "No Payment Needed",
payDepositSoon: "Please complete the deposit payment soon",
paymentMethodKey: "支付方式",
preferredAreaKey: "意向区域",
preferredRoomTypeKey: "意向房型",
paymentStatusRefunded: "已退款",
paymentStatusExempt: "无需支付",
payDepositSoon: "请尽快完成定金支付",
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: "暂无访客通行记录"
}
},
lock_control: {
lock_control: {
addFingerprint: "录入指纹",
availableLocks: "可开门锁",
connectingLock: "正在连接门锁...",
currentLock: "当前门锁",
currentRoomLock: "当前房间门锁",
currentSelectionHint: "当前房间下共 {count} 个可操作门锁,当前已选“{name}”。",
currentWillOperateRoomLock: "当前将操作当前房间门锁。",
currentWillOperateSuiteLock: "当前将操作所选套间或公区门锁。",
doorLock: "门锁",
doorPassword: "门锁密码",
fingerAdded: "指纹已录入",
fingerModeFailed: "指纹模式下发失败",
fingerStatus: "指纹状态",
fingerprintGuideDesc: "请根据门锁提示,将手指自然贴合采集区并重复按压,直到门锁提示录入完成。",
fingerprintGuideTip: "系统会自动刷新录入结果",
fingerprintGuideTitle: "请重复按压指纹",
fingerprintInstruction: "如需录入指纹,请先点击“录入指纹”,再按门锁提示完成采集。",
keySyncing: "正在同步门锁钥匙...",
keySyncFailed: "钥匙同步失败",
loadingEnroll: "正在准备录入",
lockCapabilityAfterCheckin: "完成入住后即可使用门锁能力。",
lockKeys: "我的钥匙",
missingRoomCode: "当前入住订单缺少房间编码,请联系管家配置。",
missingUserCodeFinger: "缺少学工号,暂无法录入指纹",
missingUserCodeKeys: "当前账号缺少学工号,暂无法同步门锁钥匙。",
noAvailableLocks: "当前房间暂未查询到可用门锁。",
noneAssigned: "暂未分配",
notRecorded: "未录入",
noCopyPassword: "暂无可复制密码",
passwordCopied: "密码已复制",
preparingFingerDesc: "已向门锁下发指令,请稍候片刻。",
recorded: "已录入",
roomLock: "房间门锁",
roomOrPublicArea: "套间 / 公区",
roomOrPublicAreaLock: "套间 / 公区门锁",
selectedCount: "共 {count} 个",
sendingFinger: "下发中...",
syncCurrentRoomLocks: "正在同步当前房间下可操作的门锁。",
tipsTitle: "使用说明",
unlockWaitHint: "如门锁仍在等待,请继续按压后点刷新查看",
useRoomPasswordFinger: "我的钥匙 · 门锁密码 · 录入指纹"
}
},
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: {
emptyDesc: "当前暂无可用楼栋,请稍后再试",
emptyText: "暂无可选楼栋",
loadFailed: "楼栋列表加载失败",
loadFailedShort: "楼栋加载失败",
loadingText: "楼栋加载中...",
popupSubtitle: "选择您期望入住的楼栋",
popupTitle: "选择意向楼栋",
selectAreaFirst: "请先选择区域",
selectBuilding: "请选择楼栋"
},
DateRangeSelector: {
dateDivider: "至",
endLabel: "预计离开",
endPlaceholder: "请选择离开日期",
startLabel: "预计入住",
startPlaceholder: "请选择入住日期"
},
FloorSelector: {
clearSelection: "不选择",
emptyDesc: "当前暂无可用楼层,请稍后再试",
emptyText: "暂无可选楼层",
loadFailed: "楼层列表加载失败",
loadFailedShort: "楼层加载失败",
loadingText: "楼层加载中...",
popupSubtitle: "选择您期望入住的楼层",
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: "入住申请",
agreeAndSubmit: "同意并提交",
confirmSubmitTitle: "提交前确认",
confirmSubmitContent: "确认提交当前申请单吗?",
confirmSubmitAction: "确认提交",
confirmSubmitCancel: "再想想",
noDepositReminderTitle: "申请已提交",
noDepositReminderContent: "当前申请单暂无待支付定金账单,管家将为您排房,请耐心等待。",
noDepositReminderConfirm: "我知道了",
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: {
confirmSubmitDesc: "如有交接备注、异常背景或补充情况,可在提交前补充说明。",
confirmSubmitSkip: "暂不填写",
confirmSubmitTitle: "提交前确认",
confirmSubmitAction: "确认提交",
handoverInspection: "交付检查",
inspectionHint: "建议逐项填写,异常情况请补充描述并上传照片。",
pageTitle: "验房",
pageDesc: "按当前订单查看并提交验房结果",
inspectionListTitle: "验房记录",
inspectionSwitcher: "验房单切换",
inspectionRecordUnit: "份记录",
roomNoLabel: "房间号",
inspectionTypeLabel: "验房类型",
inspectionStatusLabel: "当前状态",
inspectionTimeLabel: "发起时间",
inspectionRemarksLabel: "备注",
inspectionRemarksPlaceholder: "可填写本次验房的补充说明",
inspectionItemsTitle: "检查项",
inspectionItemsDesc: "请根据现场情况逐项核对",
inspectionItemUnit: "项",
deviceFallback: "未命名设备",
markAllNormal: "全部正常",
normalResultOptionMissing: "未找到正常结果选项",
allMarkedNormal: "已全部勾选正常",
requiredTag: "必查",
expectedQuantityLabel: "应有数量",
inspectionResultLabel: "检查结果",
checkedQuantityLabel: "实测数量",
checkedQuantityPlaceholder: "请输入数量",
issueDetailLabel: "异常说明",
problemDetailLabel: "问题说明",
problemDetailHint: "缺失、损坏或无法使用时请补充描述",
problemDetailPlaceholder: "请描述异常、缺失或损坏情况",
photosLabel: "现场照片",
photosHint: "建议上传关键部位照片,便于后续确认",
uploadPhoto: "上传照片",
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