feat(i18n): Add time blocks translations and fix deployment
- Add comprehensive timeBlocks translations (ES, FR, DE, EN) - Add myAvailability translations (ES, FR, DE, EN) - Add full helpTimeBlocks guide content (ES, FR, DE, EN) - Add contracts guide translations (ES) - Fix DATABASE_URL env var in deploy.sh for seed_platform_plugins - Update Contracts page and HelpContracts guide 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -225,6 +225,198 @@
|
||||
"noTestTokensMessage": "Create a <strong>test/sandbox</strong> API token in your Settings to see personalized code examples with your actual token. Make sure to check the \"Sandbox Mode\" option when creating the token. The examples below use placeholder tokens.",
|
||||
"errorLoadingTokens": "Error Loading Tokens",
|
||||
"errorLoadingTokensMessage": "Failed to load API tokens. Please check your connection and try refreshing the page."
|
||||
},
|
||||
"contracts": {
|
||||
"title": "Contracts Guide",
|
||||
"subtitle": "Create and manage digital contracts with e-signatures",
|
||||
"overview": {
|
||||
"title": "Overview",
|
||||
"description": "The Contracts system allows you to create reusable contract templates, send them to customers for digital signature, and maintain legally compliant records with full audit trails.",
|
||||
"compliance": "All signatures are captured with ESIGN Act and UETA compliance, including IP address, timestamp, browser information, and optional geolocation for maximum legal protection."
|
||||
},
|
||||
"pageLayout": {
|
||||
"title": "Page Layout",
|
||||
"description": "The Contracts page is organized into two collapsible sections for easy management:",
|
||||
"templatesSection": {
|
||||
"title": "Templates Section",
|
||||
"description": "Create and manage reusable contract templates. Includes search, status filters (All, Active, Draft, Archived), and actions to create, edit, preview PDF, and delete templates."
|
||||
},
|
||||
"sentContractsSection": {
|
||||
"title": "Sent Contracts Section",
|
||||
"description": "Track contracts sent to customers. Includes search, status filters (All, Pending, Signed, Expired, Voided), and actions to view, copy link, resend, or void contracts."
|
||||
},
|
||||
"tip": "Click the section header to collapse/expand each section. The count badge shows how many items are in each section."
|
||||
},
|
||||
"templates": {
|
||||
"title": "Contract Templates",
|
||||
"description": "Templates are reusable contract documents that can be personalized with variable placeholders.",
|
||||
"variablesTitle": "Template Variables",
|
||||
"variablesDescription": "Use these placeholders in your templates - they'll be automatically replaced when the contract is created:",
|
||||
"variables": {
|
||||
"customerName": "Full name",
|
||||
"customerFirstName": "First name",
|
||||
"customerEmail": "Email address",
|
||||
"customerPhone": "Phone number",
|
||||
"businessName": "Your business name",
|
||||
"businessEmail": "Contact email",
|
||||
"businessPhone": "Business phone",
|
||||
"date": "Current date",
|
||||
"year": "Current year"
|
||||
},
|
||||
"scopesTitle": "Template Scopes",
|
||||
"scopes": {
|
||||
"customerLevel": {
|
||||
"title": "Customer-Level",
|
||||
"description": "One-time contracts per customer (e.g., privacy policy, terms of service)"
|
||||
},
|
||||
"perAppointment": {
|
||||
"title": "Per Appointment",
|
||||
"description": "Signed for each booking (e.g., liability waivers, service agreements)"
|
||||
}
|
||||
}
|
||||
},
|
||||
"creating": {
|
||||
"title": "Creating Templates",
|
||||
"description": "Click the \"New Template\" button in the Templates section to create a new contract template:",
|
||||
"steps": {
|
||||
"name": {
|
||||
"title": "Enter Template Name",
|
||||
"description": "Give your template a clear, descriptive name (e.g., \"Service Agreement\", \"Liability Waiver\")."
|
||||
},
|
||||
"scope": {
|
||||
"title": "Select Scope",
|
||||
"description": "Choose \"Per Appointment\" for waivers or \"Customer-Level\" for one-time agreements."
|
||||
},
|
||||
"status": {
|
||||
"title": "Set Status",
|
||||
"description": "Start as \"Draft\" while editing. Change to \"Active\" when ready to send to customers."
|
||||
},
|
||||
"expiration": {
|
||||
"title": "Set Expiration (Optional)",
|
||||
"description": "Enter days until contracts expire. Leave blank for no expiration."
|
||||
},
|
||||
"content": {
|
||||
"title": "Write Contract Content",
|
||||
"description": "Enter your contract text using HTML formatting. Click variable chips to insert placeholders."
|
||||
}
|
||||
}
|
||||
},
|
||||
"managing": {
|
||||
"title": "Managing Templates",
|
||||
"description": "Each template in the list has action buttons on the right:",
|
||||
"actions": {
|
||||
"preview": {
|
||||
"title": "Preview PDF",
|
||||
"description": "See how the contract looks as a PDF with sample data"
|
||||
},
|
||||
"edit": {
|
||||
"title": "Edit",
|
||||
"description": "Modify template name, content, scope, or status"
|
||||
},
|
||||
"delete": {
|
||||
"title": "Delete",
|
||||
"description": "Remove the template (requires confirmation)"
|
||||
}
|
||||
},
|
||||
"note": "Only \"Active\" templates can be used to send contracts. Switch templates to Active status when they're ready for use."
|
||||
},
|
||||
"sending": {
|
||||
"title": "Sending Contracts",
|
||||
"description": "Click the \"Send Contract\" button in the Sent Contracts section:",
|
||||
"steps": {
|
||||
"selectTemplate": {
|
||||
"title": "Select a Template",
|
||||
"description": "Choose from your active contract templates"
|
||||
},
|
||||
"selectCustomer": {
|
||||
"title": "Choose a Customer",
|
||||
"description": "Search and select a customer. Variables are automatically filled with their data."
|
||||
},
|
||||
"sendImmediately": {
|
||||
"title": "Send Immediately (Optional)",
|
||||
"description": "Check the box to email the signing request right away, or uncheck to send later."
|
||||
},
|
||||
"trackStatus": {
|
||||
"title": "Track Status",
|
||||
"description": "Monitor the contract in the Sent Contracts list"
|
||||
}
|
||||
}
|
||||
},
|
||||
"statusActions": {
|
||||
"title": "Contract Status & Actions",
|
||||
"statuses": {
|
||||
"pending": {
|
||||
"title": "Pending",
|
||||
"description": "Awaiting customer signature"
|
||||
},
|
||||
"signed": {
|
||||
"title": "Signed",
|
||||
"description": "Customer has signed the contract"
|
||||
},
|
||||
"expired": {
|
||||
"title": "Expired",
|
||||
"description": "Contract expired before signing"
|
||||
},
|
||||
"voided": {
|
||||
"title": "Voided",
|
||||
"description": "Contract was cancelled by business"
|
||||
}
|
||||
},
|
||||
"actionsTitle": "Available Actions",
|
||||
"actions": {
|
||||
"viewDetails": "See full contract information",
|
||||
"copyLink": "Copy signing URL to clipboard (pending only)",
|
||||
"sendResend": "Email the signing request (pending only)",
|
||||
"openSigningPage": "View the customer signing experience",
|
||||
"void": "Cancel a pending contract"
|
||||
}
|
||||
},
|
||||
"legalCompliance": {
|
||||
"title": "Legal Compliance",
|
||||
"notice": "All signatures include comprehensive audit trails that meet federal and state requirements for electronic signatures.",
|
||||
"auditDataTitle": "Captured Audit Data",
|
||||
"auditData": {
|
||||
"documentHash": "Document hash (SHA-256)",
|
||||
"timestamp": "Signature timestamp (ISO)",
|
||||
"ipAddress": "Signer's IP address",
|
||||
"browserInfo": "Browser/device information",
|
||||
"consentCheckbox": "Consent checkbox states",
|
||||
"geolocation": "Geolocation (if permitted)"
|
||||
}
|
||||
},
|
||||
"pdfGeneration": {
|
||||
"title": "PDF Generation",
|
||||
"description": "Once a contract is signed, a PDF is automatically generated that includes:",
|
||||
"includes": {
|
||||
"branding": "Your business branding and logo",
|
||||
"content": "The full contract content with substituted variables",
|
||||
"signature": "Signature section with signer's name and consent confirmations",
|
||||
"auditTrail": "Complete audit trail with verification data",
|
||||
"legalNotice": "Legal notice about electronic signatures"
|
||||
},
|
||||
"tip": "Use the eye icon on any template to preview how the final PDF will look with sample customer data."
|
||||
},
|
||||
"bestPractices": {
|
||||
"title": "Best Practices",
|
||||
"tips": {
|
||||
"clearLanguage": "Write contracts in plain language that customers can easily understand",
|
||||
"startDraft": "Create templates in Draft status, test with PDF preview, then activate",
|
||||
"setExpiration": "Use the expiration feature to ensure contracts are signed promptly",
|
||||
"createCustomersFirst": "Ensure customers exist in the system before sending contracts",
|
||||
"archiveOld": "Rather than deleting, archive templates you no longer use",
|
||||
"downloadPdfs": "Keep copies of signed contracts for your records"
|
||||
}
|
||||
},
|
||||
"relatedFeatures": {
|
||||
"title": "Related Features",
|
||||
"servicesGuide": "Services Guide",
|
||||
"customersGuide": "Customers Guide"
|
||||
},
|
||||
"needHelp": {
|
||||
"title": "Need More Help?",
|
||||
"description": "Our support team is ready to help with any questions about contracts.",
|
||||
"contactSupport": "Contact Support"
|
||||
}
|
||||
}
|
||||
},
|
||||
"staff": {
|
||||
@@ -414,33 +606,56 @@
|
||||
"title": "Contracts",
|
||||
"description": "Manage contract templates and sent contracts",
|
||||
"templates": "Templates",
|
||||
"sentContracts": "Sent Contracts",
|
||||
"allContracts": "All Contracts",
|
||||
"createTemplate": "Create Template",
|
||||
"newTemplate": "New Template",
|
||||
"createContract": "Create Contract",
|
||||
"editTemplate": "Edit Template",
|
||||
"viewContract": "View Contract",
|
||||
"noTemplates": "No contract templates yet",
|
||||
"noTemplatesEmpty": "No templates yet. Create your first template to get started.",
|
||||
"noTemplatesSearch": "No templates found",
|
||||
"noContracts": "No contracts yet",
|
||||
"noContractsEmpty": "No contracts sent yet.",
|
||||
"noContractsSearch": "No contracts found",
|
||||
"templateName": "Template Name",
|
||||
"templateDescription": "Description",
|
||||
"content": "Content",
|
||||
"contentHtml": "Contract Content (HTML)",
|
||||
"searchTemplates": "Search templates...",
|
||||
"searchContracts": "Search contracts...",
|
||||
"all": "All",
|
||||
"scope": {
|
||||
"label": "Scope",
|
||||
"customer": "Customer Agreement",
|
||||
"appointment": "Appointment Agreement"
|
||||
"customer": "Customer-Level",
|
||||
"appointment": "Per Appointment",
|
||||
"customerDesc": "One-time contracts per customer (e.g., privacy policy, terms of service)",
|
||||
"appointmentDesc": "Signed for each booking (e.g., liability waivers, service agreements)"
|
||||
},
|
||||
"status": {
|
||||
"label": "Status",
|
||||
"draft": "Draft",
|
||||
"active": "Active",
|
||||
"archived": "Archived",
|
||||
"pending": "Pending Signature",
|
||||
"pending": "Pending",
|
||||
"signed": "Signed",
|
||||
"expired": "Expired",
|
||||
"voided": "Voided"
|
||||
},
|
||||
"expiresAfterDays": "Expires After (Days)",
|
||||
"expiresAfterDaysHint": "Leave empty for no expiration",
|
||||
"table": {
|
||||
"template": "Template",
|
||||
"scope": "Scope",
|
||||
"status": "Status",
|
||||
"version": "Version",
|
||||
"actions": "Actions",
|
||||
"customer": "Customer",
|
||||
"contract": "Contract",
|
||||
"created": "Created",
|
||||
"sent": "Sent"
|
||||
},
|
||||
"expiresAfterDays": "Expires After (days)",
|
||||
"expiresAfterDaysHint": "Leave blank for no expiration",
|
||||
"versionNotes": "Version Notes",
|
||||
"versionNotesPlaceholder": "What changed in this version?",
|
||||
"services": "Applicable Services",
|
||||
@@ -448,34 +663,68 @@
|
||||
"customer": "Customer",
|
||||
"appointment": "Appointment",
|
||||
"service": "Service",
|
||||
"sentAt": "Sent At",
|
||||
"signedAt": "Signed At",
|
||||
"sentAt": "Sent",
|
||||
"signedAt": "Signed",
|
||||
"expiresAt": "Expires At",
|
||||
"createdAt": "Created",
|
||||
"availableVariables": "Available Variables",
|
||||
"actions": {
|
||||
"send": "Send Contract",
|
||||
"resend": "Resend Contract",
|
||||
"resend": "Resend Email",
|
||||
"void": "Void Contract",
|
||||
"duplicate": "Duplicate Template",
|
||||
"preview": "Preview",
|
||||
"delete": "Delete"
|
||||
"preview": "Preview PDF",
|
||||
"previewFailed": "Failed to load PDF preview.",
|
||||
"delete": "Delete",
|
||||
"edit": "Edit",
|
||||
"viewDetails": "View Details",
|
||||
"copyLink": "Copy Signing Link",
|
||||
"sendEmail": "Send Email",
|
||||
"openSigningPage": "Open Signing Page",
|
||||
"saveChanges": "Save Changes"
|
||||
},
|
||||
"sendContract": {
|
||||
"title": "Send Contract",
|
||||
"selectCustomer": "Select Customer",
|
||||
"selectTemplate": "Contract Template",
|
||||
"selectTemplatePlaceholder": "Select a template...",
|
||||
"selectCustomer": "Customer",
|
||||
"searchCustomers": "Search customers...",
|
||||
"selectAppointment": "Select Appointment (Optional)",
|
||||
"selectService": "Select Service (Optional)",
|
||||
"send": "Send",
|
||||
"send": "Send Contract",
|
||||
"sendImmediately": "Send signing request email immediately",
|
||||
"success": "Contract sent successfully",
|
||||
"error": "Failed to send contract"
|
||||
"error": "Failed to send contract",
|
||||
"loadingCustomers": "Loading customers...",
|
||||
"loadCustomersFailed": "Failed to load customers",
|
||||
"noCustomers": "No customers available. Create customers first.",
|
||||
"noMatchingCustomers": "No matching customers"
|
||||
},
|
||||
"voidContract": {
|
||||
"title": "Void Contract",
|
||||
"description": "Voiding this contract will cancel it. The customer will no longer be able to sign.",
|
||||
"reason": "Reason for voiding",
|
||||
"reasonPlaceholder": "Why is this contract being voided?",
|
||||
"reasonPlaceholder": "Enter the reason...",
|
||||
"confirm": "Void Contract",
|
||||
"success": "Contract voided successfully",
|
||||
"error": "Failed to void contract"
|
||||
},
|
||||
"deleteTemplate": {
|
||||
"title": "Delete Template",
|
||||
"description": "Are you sure you want to delete this template? This action cannot be undone.",
|
||||
"confirm": "Delete",
|
||||
"success": "Template deleted successfully",
|
||||
"error": "Failed to delete template"
|
||||
},
|
||||
"contractDetails": {
|
||||
"title": "Contract Details",
|
||||
"customer": "Customer",
|
||||
"template": "Template",
|
||||
"status": "Status",
|
||||
"created": "Created",
|
||||
"contentPreview": "Content Preview",
|
||||
"signingLink": "Signing Link"
|
||||
},
|
||||
"preview": {
|
||||
"title": "Preview Contract",
|
||||
"sampleData": "Using sample data for preview"
|
||||
@@ -486,20 +735,26 @@
|
||||
"contractFor": "Contract for {{customerName}}",
|
||||
"pleaseReview": "Please review and sign this contract",
|
||||
"signerName": "Your Full Name",
|
||||
"signerNamePlaceholder": "Enter your legal name",
|
||||
"signerEmail": "Your Email",
|
||||
"signatureLabel": "Sign Below",
|
||||
"signaturePlaceholder": "Draw your signature here",
|
||||
"clearSignature": "Clear",
|
||||
"agreeToTerms": "I agree to the terms and conditions",
|
||||
"submitSignature": "Submit Signature",
|
||||
"submitting": "Submitting...",
|
||||
"agreeToTerms": "I have read and agree to the terms and conditions outlined in this document. By checking this box, I understand that this constitutes a legal electronic signature.",
|
||||
"consentToElectronic": "I consent to conduct business electronically. I understand that I have the right to receive documents in paper form upon request and can withdraw this consent at any time.",
|
||||
"submitSignature": "Sign Contract",
|
||||
"submitting": "Signing...",
|
||||
"success": "Contract signed successfully!",
|
||||
"successMessage": "You will receive a confirmation email with a copy of the signed contract.",
|
||||
"error": "Failed to sign contract",
|
||||
"expired": "This contract has expired",
|
||||
"alreadySigned": "This contract has already been signed",
|
||||
"notFound": "Contract not found",
|
||||
"voided": "This contract has been voided",
|
||||
"signedBy": "Signed by {{name}} on {{date}}",
|
||||
"thankYou": "Thank you for signing!"
|
||||
"thankYou": "Thank you for signing!",
|
||||
"loading": "Loading contract...",
|
||||
"geolocationHint": "Location will be recorded for legal compliance"
|
||||
},
|
||||
"errors": {
|
||||
"loadFailed": "Failed to load contracts",
|
||||
@@ -2278,5 +2533,181 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"timeBlocks": {
|
||||
"title": "Time Blocks",
|
||||
"subtitle": "Manage business closures, holidays, and resource unavailability",
|
||||
"addBlock": "Add Block",
|
||||
"businessTab": "Business Blocks",
|
||||
"resourceTab": "Resource Blocks",
|
||||
"calendarTab": "Yearly View",
|
||||
"businessInfo": "Business blocks apply to all resources. Use these for holidays, company closures, and business-wide events.",
|
||||
"noBusinessBlocks": "No Business Blocks",
|
||||
"noBusinessBlocksDesc": "Add holidays and business closures to prevent bookings during those times.",
|
||||
"addFirstBlock": "Add First Block",
|
||||
"titleCol": "Title",
|
||||
"typeCol": "Type",
|
||||
"patternCol": "Pattern",
|
||||
"actionsCol": "Actions",
|
||||
"resourceInfo": "Resource blocks apply to specific staff or equipment. Use these for vacations, maintenance, or personal time.",
|
||||
"noResourceBlocks": "No Resource Blocks",
|
||||
"noResourceBlocksDesc": "Add time blocks for specific resources to manage their availability.",
|
||||
"deleteConfirmTitle": "Delete Time Block?",
|
||||
"deleteConfirmDesc": "This action cannot be undone.",
|
||||
"blockTypes": {
|
||||
"hard": "Hard Block",
|
||||
"soft": "Soft Block"
|
||||
},
|
||||
"recurrenceTypes": {
|
||||
"none": "One-time",
|
||||
"weekly": "Weekly",
|
||||
"monthly": "Monthly",
|
||||
"yearly": "Yearly",
|
||||
"holiday": "Holiday"
|
||||
},
|
||||
"inactive": "Inactive",
|
||||
"activate": "Activate",
|
||||
"deactivate": "Deactivate"
|
||||
},
|
||||
"myAvailability": {
|
||||
"title": "My Availability",
|
||||
"subtitle": "Manage your time off and unavailability",
|
||||
"noResource": "No Resource Linked",
|
||||
"noResourceDesc": "Your account is not linked to a resource. Please contact your manager to set up your availability.",
|
||||
"addBlock": "Block Time",
|
||||
"businessBlocks": "Business Closures",
|
||||
"businessBlocksInfo": "These blocks are set by your business and apply to everyone.",
|
||||
"myBlocks": "My Time Blocks",
|
||||
"noBlocks": "No Time Blocks",
|
||||
"noBlocksDesc": "Add time blocks for vacations, lunch breaks, or any time you need off.",
|
||||
"addFirstBlock": "Add First Block",
|
||||
"titleCol": "Title",
|
||||
"typeCol": "Type",
|
||||
"patternCol": "Pattern",
|
||||
"actionsCol": "Actions",
|
||||
"editBlock": "Edit Time Block",
|
||||
"createBlock": "Block Time Off",
|
||||
"create": "Block Time",
|
||||
"deleteConfirmTitle": "Delete Time Block?",
|
||||
"deleteConfirmDesc": "This action cannot be undone.",
|
||||
"form": {
|
||||
"title": "Title",
|
||||
"description": "Description",
|
||||
"blockType": "Block Type",
|
||||
"recurrenceType": "Recurrence",
|
||||
"allDay": "All day",
|
||||
"startDate": "Start Date",
|
||||
"endDate": "End Date",
|
||||
"startTime": "Start Time",
|
||||
"endTime": "End Time",
|
||||
"daysOfWeek": "Days of Week",
|
||||
"daysOfMonth": "Days of Month"
|
||||
}
|
||||
},
|
||||
"helpTimeBlocks": {
|
||||
"title": "Time Blocks Guide",
|
||||
"subtitle": "Learn how to block off time for closures, holidays, and unavailability",
|
||||
"overview": {
|
||||
"title": "What are Time Blocks?",
|
||||
"description": "Time blocks allow you to mark specific dates, times, or recurring periods as unavailable for bookings. Use them to manage holidays, business closures, staff vacations, maintenance windows, and more.",
|
||||
"businessBlocks": "Business Blocks",
|
||||
"businessBlocksDesc": "Apply to all resources. Perfect for company holidays, office closures, and maintenance.",
|
||||
"resourceBlocks": "Resource Blocks",
|
||||
"resourceBlocksDesc": "Apply to specific resources. Use for individual vacations, appointments, or training.",
|
||||
"hardBlocks": "Hard Blocks",
|
||||
"hardBlocksDesc": "Completely prevent bookings during the blocked period. Cannot be overridden.",
|
||||
"softBlocks": "Soft Blocks",
|
||||
"softBlocksDesc": "Show a warning but still allow bookings with confirmation."
|
||||
},
|
||||
"levels": {
|
||||
"title": "Block Levels",
|
||||
"levelCol": "Level",
|
||||
"scopeCol": "Scope",
|
||||
"examplesCol": "Example Uses",
|
||||
"business": "Business",
|
||||
"businessScope": "All resources in your business",
|
||||
"businessExamples": "Holidays, office closures, company events, maintenance",
|
||||
"resource": "Resource",
|
||||
"resourceScope": "A specific resource (staff member, room, etc.)",
|
||||
"resourceExamples": "Vacation, personal appointments, lunch breaks, training",
|
||||
"additiveNote": "Blocks are Additive",
|
||||
"additiveDesc": "Both business-level and resource-level blocks apply. If the business is closed on a holiday, individual resource blocks don't matter for that day."
|
||||
},
|
||||
"types": {
|
||||
"title": "Block Types: Hard vs Soft",
|
||||
"hardBlock": "Hard Block",
|
||||
"hardBlockDesc": "Completely prevents any bookings during the blocked period. Customers cannot book, and staff cannot override. The scheduler shows a striped red overlay.",
|
||||
"cannotOverride": "Cannot be overridden",
|
||||
"showsInBooking": "Shows in customer booking",
|
||||
"redOverlay": "Red striped overlay",
|
||||
"softBlock": "Soft Block",
|
||||
"softBlockDesc": "Shows a warning but allows bookings with confirmation. Useful for indicating preferred-off times that can be overridden if necessary.",
|
||||
"canOverride": "Can be overridden",
|
||||
"showsWarning": "Shows warning only",
|
||||
"yellowOverlay": "Yellow dashed overlay"
|
||||
},
|
||||
"recurrence": {
|
||||
"title": "Recurrence Patterns",
|
||||
"patternCol": "Pattern",
|
||||
"descriptionCol": "Description",
|
||||
"exampleCol": "Example",
|
||||
"oneTime": "One-time",
|
||||
"oneTimeDesc": "A specific date or date range that occurs once",
|
||||
"oneTimeExample": "Dec 24-26 (Christmas break), Feb 15 (President's Day)",
|
||||
"weekly": "Weekly",
|
||||
"weeklyDesc": "Repeats on specific days of the week",
|
||||
"weeklyExample": "Every Saturday and Sunday, Every Monday lunch",
|
||||
"monthly": "Monthly",
|
||||
"monthlyDesc": "Repeats on specific days of the month",
|
||||
"monthlyExample": "1st of every month (inventory), 15th (payroll)",
|
||||
"yearly": "Yearly",
|
||||
"yearlyDesc": "Repeats on a specific month and day each year",
|
||||
"yearlyExample": "July 4th, December 25th, January 1st",
|
||||
"holiday": "Holiday",
|
||||
"holidayDesc": "Select from popular US holidays. Multi-select supported - each holiday creates its own block.",
|
||||
"holidayExample": "Christmas, Thanksgiving, Memorial Day, Independence Day"
|
||||
},
|
||||
"visualization": {
|
||||
"title": "Viewing Time Blocks",
|
||||
"description": "Time blocks appear in multiple views throughout the application with color-coded indicators:",
|
||||
"colorLegend": "Color Legend",
|
||||
"businessHard": "Business Hard Block",
|
||||
"businessSoft": "Business Soft Block",
|
||||
"resourceHard": "Resource Hard Block",
|
||||
"resourceSoft": "Resource Soft Block",
|
||||
"schedulerOverlay": "Scheduler Overlay",
|
||||
"schedulerOverlayDesc": "Blocked times appear directly on the scheduler calendar with visual indicators. Business blocks use red/yellow colors, resource blocks use purple/cyan. Click on any blocked area in week view to navigate to that day.",
|
||||
"monthView": "Month View",
|
||||
"monthViewDesc": "Blocked dates show with colored backgrounds and badge indicators. Multiple block types on the same day show all applicable badges.",
|
||||
"listView": "List View",
|
||||
"listViewDesc": "Manage all time blocks in a tabular format with filtering options. Edit, activate/deactivate, or delete blocks from here."
|
||||
},
|
||||
"staffAvailability": {
|
||||
"title": "Staff Availability (My Availability)",
|
||||
"description": "Staff members can manage their own time blocks through the \"My Availability\" page. This allows them to block off time for personal appointments, vacations, or other commitments.",
|
||||
"viewBusiness": "View business-level blocks (read-only)",
|
||||
"createPersonal": "Create and manage personal time blocks",
|
||||
"seeCalendar": "See yearly calendar of their availability",
|
||||
"hardBlockPermission": "Hard Block Permission",
|
||||
"hardBlockPermissionDesc": "By default, staff can only create soft blocks. To allow a staff member to create hard blocks, enable the \"Can create hard blocks\" permission in their staff settings."
|
||||
},
|
||||
"bestPractices": {
|
||||
"title": "Best Practices",
|
||||
"tip1Title": "Plan holidays in advance",
|
||||
"tip1Desc": "Set up annual holidays at the beginning of each year using the Holiday recurrence type.",
|
||||
"tip2Title": "Use soft blocks for preferences",
|
||||
"tip2Desc": "Reserve hard blocks for absolute closures. Use soft blocks for preferred-off times that could be overridden.",
|
||||
"tip3Title": "Check for conflicts before creating",
|
||||
"tip3Desc": "The system shows existing appointments that conflict with new blocks. Review before confirming.",
|
||||
"tip4Title": "Set recurrence end dates",
|
||||
"tip4Desc": "For recurring blocks that aren't permanent, set an end date to prevent them from extending indefinitely.",
|
||||
"tip5Title": "Use descriptive titles",
|
||||
"tip5Desc": "Include clear titles like \"Christmas Day\", \"Team Meeting\", or \"Annual Maintenance\" for easy identification."
|
||||
},
|
||||
"quickAccess": {
|
||||
"title": "Quick Access",
|
||||
"manageTimeBlocks": "Manage Time Blocks",
|
||||
"myAvailability": "My Availability"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user