{ "reactions": { "ariaSummary_one": "{{emoji}} {{count}} reaction", "ariaSummary_other": "{{emoji}} {{count}} reactions", "ariaYouReacted": ", you reacted" }, "credits": { "expiresInDaysOn_one": "Expires in {{count}} day on {{date}}", "expiresInDaysOn_other": "Expires in {{count}} days on {{date}}", "expiringForClient_one": "{{count}} credit for {{clientName}} will expire soon", "expiringForClient_other": "{{count}} credits for {{clientName}} will expire soon" }, "licenseBanner": { "trialExpiresIn_one": "Enterprise trial expires in {{count}} day. Enter a license key to keep Enterprise features.", "trialExpiresIn_other": "Enterprise trial expires in {{count}} days. Enter a license key to keep Enterprise features.", "trialDaysRemaining_one": "Enterprise trial active — {{count}} day remaining.", "trialDaysRemaining_other": "Enterprise trial active — {{count}} days remaining.", "licenseExpiresIn_one": "License expires in {{count}} day. Renew to avoid service interruption.", "licenseExpiresIn_other": "License expires in {{count}} days. Renew to avoid service interruption." }, "nav": { "dashboard": "Dashboard", "tickets": "Tickets", "clients": "Clients", "projects": "Projects", "billing": "Billing", "reports": "Reports", "settings": "Settings", "profile": "Profile", "logout": "Logout", "help": "Help" }, "actions": { "save": "Save", "cancel": "Cancel", "delete": "Delete", "edit": "Edit", "create": "Create", "update": "Update", "submit": "Submit", "back": "Back", "next": "Next", "previous": "Previous", "search": "Search", "filter": "Filter", "export": "Export", "import": "Import", "download": "Download", "upload": "Upload", "refresh": "Refresh", "close": "Close", "confirm": "Confirm", "add": "Add", "remove": "Remove", "clear": "Clear", "reset": "Reset", "view": "View", "copy": "Copy", "duplicate": "Duplicate", "openMenu": "Open menu", "confirmDeletion": "Confirm Deletion", "saving": "Saving...", "print": "Print", "printSelected_one": "Print selected ({{count}})", "printSelected_other": "Print selected ({{count}})", "printOptions": "Print options", "resetPrintOptions": "Reset print options", "share": "Share", "done": "Done", "continue": "Continue", "printSelected": "Print selected ({{count}})" }, "form": { "selectPlaceholder": "Select...", "clearSelection": "Clear selection", "fromDate": "From date", "toDate": "To date", "noResults": "No results found", "searchPlaceholder": "Search..." }, "pickers": { "addNewClient": "Add new client", "addNewContact": "Add new contact", "loadingUsers": "Loading users...", "errorLoadingUsers": "Error loading users", "searchUsers": "Search users...", "unassigned": "Unassigned", "noUsersAvailable": "No users available", "searchBoards": "Search boards...", "searchBoardsLabel": "Search Boards", "noBoardsFound": "No boards found" }, "tagFilter": { "placeholder": "Filter by tags...", "filter": "Filter", "selectedCount": "{{count}} selected", "clearAll": "Clear all" }, "status": { "loading": "Loading...", "saving": "Saving...", "processing": "Processing...", "success": "Success", "error": "Error", "warning": "Warning", "info": "Information", "pending": "Pending", "active": "Active", "inactive": "Inactive", "completed": "Completed", "cancelled": "Cancelled" }, "messages": { "welcome": "Welcome", "confirmDelete": "Are you sure you want to delete this item?", "confirmDeletion": "Confirm Deletion", "saveSuccess": "Changes saved successfully", "saveError": "Failed to save changes", "loadError": "Failed to load data", "noData": "No data available", "required": "This field is required", "invalidEmail": "Invalid email address", "invalidPassword": "Invalid password", "passwordMismatch": "Passwords do not match" }, "errors": { "auth": { "notAuthenticated": "Not authenticated", "accessDenied": "Access denied", "clientPortalOnly": "Access denied: Client portal actions are restricted to client users", "insufficientPermissions": "Insufficient permissions", "userIdNotFound": "User ID not found in session", "tenantNotFound": "Tenant not found in session. Please log out and log back in.", "userNotFound": "User not found", "contactNotFound": "User not associated with a contact", "clientNotFound": "Contact not associated with a client" }, "permissions": { "tickets": { "read": "Insufficient permissions to view tickets", "readDetails": "Insufficient permissions to view ticket details", "create": "Insufficient permissions to create tickets", "update": "Insufficient permissions to update tickets", "updateStatus": "Insufficient permissions to update ticket status", "addComments": "Insufficient permissions to add comments", "updateComments": "Insufficient permissions to update comments", "deleteComments": "Insufficient permissions to delete comments" } } }, "fields": { "notes": "Notes" }, "auth": { "messages": { "handoffMissingToken": "The login handoff token is missing or invalid. Please sign in again.", "handoffFinalizeFailed": "We could not finalize your login. Please try signing in again.", "handoffNetworkIssue": "Network issue detected while finalizing your login. Please try again." }, "checkEmail": { "resendSuccess": "Email sent! Please check your inbox.", "resendFailed": "Failed to resend email. Please try again.", "whatsNext": "What's next?", "didntReceive": "Didn't receive the email?" } }, "share": { "errors": { "loadFailed": "Failed to load share link", "connectionFailed": "Failed to connect to server", "passwordRequired": "Password required", "invalidPassword": "Invalid password", "downloadFailedRetry": "Download failed. Please try again.", "downloadFailed": "Download failed", "linkNotAvailable": "Link Not Available", "linkExpired": "This share link has expired.", "downloadLimitReached": "Download limit has been reached." }, "downloadStarted": "Download started successfully!", "enterPassword": "Enter password" }, "tickets": { "origin": { "internal": "Created Internally", "clientPortal": "Created via Client Portal", "inboundEmail": "Created via Inbound Email", "api": "Created via API", "other": "Created via Other" }, "responseSource": { "clientPortal": "Received via Client Portal", "inboundEmail": "Received via Inbound Email" } }, "time": { "today": "Today", "yesterday": "Yesterday", "tomorrow": "Tomorrow", "thisWeek": "This Week", "lastWeek": "Last Week", "thisMonth": "This Month", "lastMonth": "Last Month", "thisYear": "This Year", "lastYear": "Last Year", "seconds": "seconds", "minutes": "minutes", "hours": "hours", "days": "days", "weeks": "weeks", "months": "months", "years": "years" }, "language": { "selectLanguage": "Select Language", "changeLanguage": "Change Language", "currentLanguage": "Current Language", "preference": { "label": "Language Preference", "helper": "Select your preferred language for the interface and email notifications. Overrides the organization and client portal defaults for you.", "placeholder": "Select a language", "cleared": "Language preference cleared. Using default language...", "updating": "Updating language preference...", "notSet": "Not set", "notSetWithSource": "Not set (Uses {{source}}: {{languageName}} - {{locale}})", "source": { "client": "client default", "tenant": "tenant default", "system": "system default" } }, "hierarchyTable": { "title": "Language Preference Hierarchy", "description": "When resolving which language to use for the interface and email notifications, Alga checks these in order and stops at the first match.", "columns": { "priority": "Priority", "source": "Language Source", "appliesTo": "Applies To", "whereSet": "Where It's Set" }, "rows": { "userPreference": { "source": "Individual user preference", "appliesTo": "All users", "whereSet": "User profile" }, "clientUserLanguage": { "source": "Client-specific user language", "appliesTo": "Client portal users (per specific client)", "whereSet": "Client Details" }, "clientPortalDefault": { "source": "Client Portal default", "appliesTo": "All client portal users", "whereSet": "MSP Settings → Client Portal" }, "organizationDefault": { "source": "Organization default", "appliesTo": "All users (MSP staff and client portal)", "whereSet": "MSP Settings → Language" }, "systemDefault": { "source": "System default (English)", "appliesTo": "Fallback", "whereSet": "System-defined" } } } }, "yes": "Yes", "no": "No", "clients": { "locations": { "sectionTitle": "Client Locations", "manageButton": "Manage Locations", "dialogTitle": "Manage Locations - {{client}}", "managerLabel": "Client Locations Manager", "listTitle": "Locations", "buttons": { "add": "Add Location", "save": "Save Location" }, "card": { "unnamed": "Unnamed Location", "setDefault": "Set as default", "edit": "Edit location", "delete": "Delete location", "addressLabel": "Address", "addressHelper": "Full address for this location", "phoneLabel": "Phone", "phoneHelper": "Phone number for this location", "phoneValue": "Phone: {{phone}}", "emailLabel": "Email", "emailHelper": "Email address for this location", "emailValue": "Email: {{email}}", "billingTag": "Billing", "shippingTag": "Shipping", "notesLabel": "Notes", "notesHelper": "Additional notes for this location" }, "form": { "locationName": "Location Name", "locationNameHelper": "Name for this location (e.g., Main Office, Warehouse)", "addressLine1": "Address Line 1", "addressLine1Helper": "Primary address line (required)", "addressLine2": "Address Line 2", "addressLine2Helper": "Additional address information (optional)", "addressLine3": "Address Line 3", "city": "City", "cityHelper": "City name (required)", "stateProvince": "State/Province", "stateProvinceHelper": "State or province name", "postalCode": "Postal Code", "postalCodeHelper": "ZIP or postal code", "country": "Country", "countryHelper": "Select country (required)", "phone": "Phone", "phoneHelper": "Phone number for this location", "email": "Email", "emailHelper": "Email address for this location", "taxRegion": "Tax Region", "taxRegionHelper": "Select the applicable tax region", "notes": "Notes", "notesHelper": "Additional notes about this location", "defaultLocation": "Default Location", "defaultLocationHelper": "Mark this as the default location for the client", "billingAddress": "Billing Address", "billingAddressHelper": "Use this location as the billing address", "shippingAddress": "Shipping Address", "shippingAddressHelper": "Use this location as the shipping address", "placeholder": { "locationName": "e.g., Main Office, Warehouse", "addressLine1": "Enter address *", "city": "Enter city *", "country": "Select Country *", "loadingCountries": "Loading countries...", "taxRegionOption": "Select a tax region...", "taxRegion": "Select a tax region..." } }, "validation": { "title": "Please fill in the required fields:" }, "errors": { "loadTaxRegions": "Failed to load tax regions", "loadCountries": "Failed to load countries", "loadLocations": "Failed to load client locations", "save": "Failed to save location", "delete": "Failed to delete location", "setDefault": "Failed to set default location" }, "success": { "create": "Location created successfully", "update": "Location updated successfully", "delete": "Location deleted successfully", "setDefault": "Default location updated" }, "dialog": { "addTitle": "Add New Location", "editTitle": "Edit Location", "deleteTitle": "Delete Location", "deleteMessage": "Are you sure you want to delete the location \"{{name}}\"? This action cannot be undone." }, "empty": { "title": "No locations added yet", "description": "Click \"Add Location\" to get started" } } }, "commentThread": { "replies_one": "{{count}} reply", "replies_other": "{{count}} replies", "collapse": "Collapse", "expand": "Expand", "showInDrawer": "Show in drawer" }, "pagination": { "previous": "Previous", "next": "Next", "pageInfo": "Page {{current}} of {{total}} ({{count}} total records)", "page": "Page", "of": "of", "showing": "Showing {{from}} to {{to}} of {{total}} results", "rowsPerPage": "Rows per page", "first": "First", "last": "Last", "itemsLabel": "items", "itemsPerPageOption": "{{count}} items/page", "itemsPerPagePlaceholder": "Items per page", "reflectionLabel": "Pagination", "range": "{{from}} - {{to}} of {{total}} {{itemLabel}}", "ariaLabel": "Pagination", "totalItems": "{{count}} {{itemLabel}} total", "totalRecordsInline": "({{count}} total records)", "pageOf": "Page {{current}} of {{total}}" }, "documents": { "title": "Documents", "noDocuments": "No documents attached", "upload": "Upload Document", "download": "Download", "remove": "Remove", "detach": "Detach", "preview": "Preview", "linkDocuments": "Link Documents", "editDocument": "Edit Document", "viewDocument": "View Document", "downloadToPlay": "Download to Play", "delete": "Delete", "deletePermanently": "Delete Permanently", "previewUnavailable": "Preview unavailable", "newDocument": "New Document", "uploadFile": "Upload File", "deleteTitle": "Permanently Delete Document", "deleteMessage": "Are you sure you want to permanently delete \"{{name}}\" from the system?\\n\\nThis will remove the file entirely and it will no longer be available anywhere. This action cannot be undone.", "deleteVideoTitle": "Permanently Delete Video", "deleteVideoMessage": "Are you sure you want to permanently delete the video \"{{name}}\" from the system?\\n\\nThis will remove the file entirely and it will no longer be available anywhere. This action cannot be undone.", "removeTitle": "Detach Document", "removeMessage": "Are you sure you want to detach \"{{name}}\" from this item?\\n\\nThis only removes the link — the document will remain in the document library and can be attached to other items.", "removeVideoTitle": "Detach Video", "removeVideoMessage": "Are you sure you want to detach the video \"{{name}}\" from this item?\\n\\nThis only removes the link — the file will remain in the document library and can be attached to other items.", "downloadFile": "Download File", "videoUnsupported": "Video format ({{mimeType}}) not supported for browser playback", "videoTagUnsupported": "Your browser does not support the video tag.", "unnamed": "Untitled", "videoDownloadInfo": "The video will be downloaded and can be played with your system's default video player", "previewUnavailableNoId": "Preview not available (no identifier)", "previewLoadFailed": "Failed to load preview", "videoCodecWarning": "Chrome may not support this video codec. Try downloading or use Safari/Edge.", "messages": { "fetchFailed": "Failed to fetch documents.", "folderCreated": "Folder \"{{name}}\" created successfully", "folderCreateFailed": "Failed to create folder", "moveDocumentsSuccess_one": "{{count}} document moved to {{destination}}", "moveDocumentsSuccess_other": "{{count}} documents moved to {{destination}}", "moveDocumentsFailed": "Failed to move documents", "deleteSuccess": "Document \"{{name}}\" deleted successfully", "deleteFailed": "Failed to delete document", "removeAssociationFailed": "Failed to remove document association", "moveDocumentSuccess": "Document \"{{name}}\" moved successfully", "moveDocumentFailed": "Failed to move document", "createFailed": "Failed to create document", "saveFailed": "Failed to save document", "loadContentFailed": "Failed to load document content", "downloadFailed": "Failed to download document", "bulkDeleteFailed": "Failed to delete some documents", "bulkDeleteSuccess_one": "{{count}} document deleted successfully", "bulkDeleteSuccess_other": "{{count}} documents deleted successfully" }, "empty": { "default": "No documents found", "folder": "No documents found in this folder" }, "validation": { "nameRequired": "Document name is required" }, "bulkActions": { "selected_one": "{{count}} document selected", "selected_other": "{{count}} documents selected", "moveToFolder": "Move to Folder", "deleteSelected": "Delete Selected", "clearSelection": "Clear Selection" }, "prompts": { "confirmBulkDelete_one": "Are you sure you want to delete {{count}} document?", "confirmBulkDelete_other": "Are you sure you want to delete {{count}} documents?" }, "pagination": { "perPage": "{{count}} per page" }, "folderSelector": { "defaultTitle": "Select Destination Folder", "defaultDescription": "Choose where to save this document", "singleDescription": "Where would you like to save \"{{fileName}}\"?", "multipleDescription": "Where would you like to save these {{count}} files?", "newDocumentTitle": "Select Folder for New Document", "newDocumentDescription": "Choose where to save this new document", "moveTitle": "Move Document", "moveDescriptionWithName": "Select destination folder for \"{{name}}\"", "moveDescription": "Select destination folder", "bulkMoveTitle": "Move Selected Documents", "bulkMoveDescription_one": "Select destination folder for {{count}} document", "bulkMoveDescription_other": "Select destination folder for {{count}} documents", "errors": { "nameRequired": "Please enter a folder name", "invalidCharacters": "Folder name cannot contain \"/\"", "createFailed": "Failed to create folder" }, "creating": "Creating...", "createButton": "Create Folder", "newFolderButton": "New Folder", "parentLabel": "Parent folder: {{folder}}", "rootLabel": "/ (Root)", "namePlaceholder": "Enter folder name", "loading": "Loading folders...", "rootOption": "Root (No folder)", "empty": "No folders available. Documents will be saved to root.", "showAllFolders": "Show all folders", "showEntityFolders": "Show entity folders" }, "filters": { "searchLabel": "Search Documents", "searchPlaceholder": "Search by document name...", "typeLabel": "Document Type", "entityTypeLabel": "Associated Entity Type", "uploadedByLabel": "Uploaded By", "uploadedByPlaceholder": "All Users", "updatedStartLabel": "Updated Date Start", "updatedEndLabel": "Updated Date End", "startDatePlaceholder": "Select start date", "endDatePlaceholder": "Select end date", "sortByLabel": "Sort By", "clear": "Clear Filters", "showAllDocuments": "Show All Documents", "typeOptions": { "all": "All Document Types", "pdf": "PDF", "image": "Images", "text": "Documents", "video": "Video", "other": "Other" }, "sortOptions": { "updated_at": "Date", "document_name": "Document name", "file_size": "File size", "created_by_full_name": "Created By" }, "sortOrder": { "default": { "asc": "Show ascending order", "desc": "Show descending order" }, "document_name": { "asc": "Show A-Z", "desc": "Show Z-A" }, "updated_at": { "asc": "Show Oldest First", "desc": "Show Newest First" }, "file_size": { "asc": "Show Smallest First", "desc": "Show Largest First" }, "created_by_full_name": { "asc": "Show A-Z", "desc": "Show Z-A" } }, "clientVisibility": { "all": "All", "visible": "Client Visible", "hidden": "Internal Only" }, "clientVisibilityLabel": "Client Visibility", "entityOptions": { "all": "All Entities" } }, "selector": { "title": "Select Documents", "reflectionLabel": "Document Selector", "searchPlaceholder": "Search documents...", "foldersLabel": "Folders", "folderHint": "in folder \"{{folder}}\"", "saving": "Saving...", "selectDocument": "Select Document", "associateSelected": "Associate Selected", "errors": { "configuration": "Configuration error: Missing entity information", "invalidData": "Invalid document data received", "load": "Failed to load documents", "save": "Failed to save document selection" }, "configErrorTitle": "Configuration Error", "configErrorMessage": "Missing required configuration. Please contact support." }, "uploadSection": { "reflectionLabel": "Document Upload", "dragDrop": "Drag and drop your files here, or", "browse": "Browse Files", "uploading": "Uploading...", "uploadingProgress": "Uploading {{current}} of {{total}}", "pending": "Pending", "error": "Failed to upload document", "fileError": "Failed to upload file", "associatedEntityTypeLabel": "Associate With", "noAssociation": "No association", "selectAssociatedEntityError": "Select an associated entity before uploading." }, "folders": { "root": "Root", "loadFailed": "Failed to load folder tree", "deleteConfirm": "Are you sure you want to delete the folder \"{{name}}\"? This will only work if the folder is empty.", "deleteSuccess": "Folder \"{{name}}\" deleted successfully", "deleteFailed": "Failed to delete folder", "deleteAction": "Delete folder", "loading": "Loading folders...", "title": "Folders", "collapse": "Collapse folders", "allDocuments": "All Documents", "expand": "Show folders", "deleteTitle": "Delete Folder" }, "folderManager": { "title": "Create New Folder", "nameLabel": "Folder Name", "namePlaceholder": "Enter folder name", "willCreateIn": "Will be created in: {{folder}}" }, "notifications": { "viewAll": "View all notifications", "categories": { "Authentication": "Authentication", "Invoices": "Invoices", "Projects": "Projects", "Tickets": "Tickets", "Time Entries": "Time Entries" } }, "list": { "name": "Name", "folder": "Folder", "size": "Size", "modified": "Modified", "visibility": "Visibility", "actions": "Actions" }, "hasShareLinks": "Has active share links", "visibility": { "clientVisible": "Client visible", "internalOnly": "Internal", "markedVisible": "\"{{name}}\" is now visible in client portal", "markedHidden": "\"{{name}}\" is now hidden from client portal", "toggleFailed": "Failed to update folder visibility", "cascadeTitle": "Update document visibility", "cascadeMakeVisible": "Would you also like to make all {{count}} document(s) in \"{{name}}\" visible to the client portal?", "cascadeMakeHidden": "Would you also like to hide all {{count}} document(s) in \"{{name}}\" from the client portal?", "cascadeYes": "Yes, update documents", "cascadeNo": "No, folder only" }, "share": "Share", "videoPlaybackFailed": "Unable to play this video in the browser", "videoPlaybackIssue": "Having trouble playing the video?", "downloadVideo": "Download Video", "downloadAsPdf": "Download as PDF", "downloadAsMarkdown": "Download as Markdown", "move": "Move", "associatedEntityPicker": { "allEntities": "All Entities", "loadingClients": "Loading clients...", "loadingContacts": "Loading contacts...", "noEntityTypes": "No entity types found", "typeLabel": "Associated Entity Type", "typePlaceholder": "Select entity type", "typeSearchPlaceholder": "Search entity types...", "entityLabel": "{{entityType}}", "entityPlaceholder": "Select {{entityType}}", "entitySearchPlaceholder": "Search {{entityType}}...", "noEntities": "No {{entityType}} found" }, "huduTab": { "documentsTabLabel": "Documents", "tabLabel": "Hudu" } }, "surveys": { "common": { "loading": "Loading..." }, "settings": { "tabLabel": "Surveys", "title": "Customer Satisfaction Surveys", "subtitle": "Configure templates, triggers, and delivery to collect post-ticket feedback.", "tabs": { "templates": "Templates", "triggers": "Triggers" }, "templateList": { "title": "Survey templates", "description": "Manage the prompts and rating scales sent to your clients.", "createButton": "New template", "emptyTitle": "No survey templates yet", "emptyDescription": "Create your first template to define the survey wording and rating scale.", "table": { "name": "Template", "rating": "Rating scale", "status": "Status", "updated": "Updated", "actions": "Actions" }, "defaultBadge": "Default", "status": { "enabled": "Enabled", "disabled": "Disabled" }, "toasts": { "created": "Template created", "updated": "Template updated", "deleted": "Template deleted", "setDefault": "Default template updated", "error": "Unable to save template", "deleteError": "Unable to delete template" }, "errors": { "load": "Unable to load survey templates." }, "deleteConfirm": "Delete this template? Invitations already sent will not be affected." }, "templateForm": { "titleCreate": "Create survey template", "titleEdit": "Edit survey template", "labels": { "name": "Template name", "ratingType": "Rating type", "ratingScale": "Rating scale", "ratingLabels": "Rating labels", "promptText": "Survey prompt", "commentPrompt": "Comment prompt", "thankYouText": "Thank-you message", "isDefault": "Set as default template", "enabled": "Template enabled" }, "placeholders": { "ratingLabels": "Example:\\n1 = Very dissatisfied\\n2 = Dissatisfied\\n3 = Neutral\\n4 = Satisfied\\n5 = Very satisfied" }, "help": { "ratingLabels": "Provide one label per score using “value = label” on separate lines." }, "ratingTypes": { "stars": "Stars", "numbers": "Numbers", "emojis": "Emojis" }, "actions": { "create": "Create template", "save": "Save changes", "delete": "Delete template" } }, "triggerList": { "title": "Survey triggers", "description": "Automatically send invitations when tickets or projects reach completion.", "createButton": "New trigger", "emptyTitle": "No survey triggers configured", "emptyDescription": "Create a trigger to send surveys when tickets close or projects finish.", "table": { "template": "Template", "type": "Trigger", "conditions": "Conditions", "status": "Status", "updated": "Updated", "actions": "Actions" }, "conditions": { "boards": "Boards", "statuses": "Statuses", "priorities": "Priorities", "any": "Any", "unrestricted": "Applies to every ticket and project" }, "status": { "enabled": "Enabled", "disabled": "Disabled" }, "toasts": { "created": "Trigger created", "updated": "Trigger updated", "deleted": "Trigger deleted", "error": "Unable to save trigger", "deleteError": "Unable to delete trigger" }, "errors": { "load": "Unable to load survey triggers." }, "deleteConfirm": "Delete this trigger? Invitations already queued will still be sent." }, "triggerForm": { "titleCreate": "Create survey trigger", "titleEdit": "Edit survey trigger", "labels": { "template": "Survey template", "triggerType": "Trigger type", "boardIds": "Board IDs", "statusIds": "Status IDs", "priorities": "Priorities", "enabled": "Trigger enabled" }, "placeholders": { "boardIds": "Select board", "statusIds": "Add status", "priorities": "Add priority" }, "help": { "conditions": "Leave a field blank to match any value." }, "actions": { "create": "Create trigger", "save": "Save changes", "delete": "Delete trigger" }, "triggerTypes": { "ticket_closed": "Ticket closed", "project_completed": "Project completed" }, "errors": { "reference": "Unable to load trigger options. Please try again." }, "noTemplates": "Create a survey template before adding triggers.", "prioritiesMixed": "Selected boards use different priority types. Showing all priorities." }, "preview": { "heading": "Response page preview", "tabs": { "survey": "Survey form", "thankYou": "Thank you" }, "noPrompt": "Survey prompt", "commentPlaceholder": "Customer comments will appear here...", "noThankYou": "Thank you message", "notice": "This preview shows what customers see after clicking the survey link in their email.", "editEmailTemplate": "Edit survey email template" } }, "response": { "pageTitle": "Customer Satisfaction Survey", "invalidTitle": "Survey unavailable", "invalidMessage": "This feedback link is no longer valid or has already been used.", "ratingPrompt": "How was your experience?", "ratingAssistive": "Select a score from 1 to {{scale}}", "commentLabel": "Additional comments (optional)", "submitButton": "Submit feedback", "submitting": "Submitting feedback…", "submittedTitle": "Thank you for your response!", "submittedMessage": "{{thankYouText}}", "retryButton": "Try again", "ratingSubmitted": "Feedback submitted", "errorMessage": "We could not record your feedback. Please try again.", "selectRatingError": "Select a rating before submitting.", "supportMessage": "If you have questions, please contact your technician." } }, "availability": { "settings": { "title": "Availability Settings", "description": "Configure appointment availability rules and schedules" }, "tabs": { "general": "General Settings", "userHours": "User Hours", "serviceRules": "Service Rules", "exceptions": "Exceptions" }, "general": { "advanceBookingDays": "Advance Booking Days", "advanceBookingDaysHelper": "How far in advance clients can book appointments", "minimumNoticeHours": "Minimum Notice Hours", "minimumNoticeHoursHelper": "Minimum time required before an appointment", "defaultBufferBefore": "Default Buffer Before (minutes)", "defaultBufferAfter": "Default Buffer After (minutes)", "bufferHelper": "Time buffer between appointments" }, "userHours": { "selectUser": "Select User", "dayOfWeek": "Day of Week", "startTime": "Start Time", "endTime": "End Time", "available": "Available", "cloneSettings": "Clone to Other Users", "maxAppointmentsPerDay": "Max Appointments Per Day" }, "serviceRules": { "selectService": "Select Service", "allowWithoutContract": "Allow Without Contract", "advanceBooking": "Advance Booking Days", "maxAppointments": "Max Appointments Per Day" }, "exceptions": { "addException": "Add Exception", "date": "Date", "reason": "Reason", "userSpecific": "User Specific", "companyWide": "Company Wide" }, "messages": { "saveSuccess": "Availability settings saved successfully", "saveFailed": "Failed to save availability settings", "loadFailed": "Failed to load availability settings" } }, "appointments": { "requests": { "title": "Appointment Requests", "viewAll": "View All Requests", "approve": "Approve & Schedule", "decline": "Decline", "assignTech": "Assign Technician", "internalNotes": "Internal Notes", "pendingCount": "{{count}} pending requests", "filterByStatus": "Filter by Status", "filterByService": "Filter by Service", "filterByDate": "Filter by Date" }, "panel": { "title": "Appointment Requests", "description": "Review and manage appointment requests from clients", "noRequests": "No appointment requests found", "loadingRequests": "Loading requests..." }, "card": { "requesterName": "Requester", "companyName": "Company", "service": "Service", "requestedDateTime": "Requested Date & Time", "duration": "Duration", "preferredTechnician": "Preferred Technician", "linkedTicket": "Linked Ticket", "actions": "Actions" }, "approvalModal": { "title": "Approve Appointment Request", "confirmDateTime": "Confirm Date & Time", "modifyDateTime": "Modify Date & Time", "assignedUser": "Assigned Technician", "linkToTicket": "Link to Ticket", "internalNotes": "Internal Notes", "approve": "Approve & Create Schedule Entry", "approving": "Approving..." }, "declineModal": { "title": "Decline Appointment Request", "reason": "Reason for Declining", "reasonRequired": "Please provide a reason", "reasonPlaceholder": "Explain why this request is being declined...", "decline": "Decline Request", "declining": "Declining..." }, "detailsModal": { "title": "Request Details", "requesterInfo": "Requester Information", "requestInfo": "Request Information", "status": "Status", "createdAt": "Requested At", "approvedAt": "Approved At", "approvedBy": "Approved By", "declinedReason": "Decline Reason" }, "status": { "pending": "Pending", "approved": "Approved", "declined": "Declined", "cancelled": "Cancelled" }, "messages": { "approveSuccess": "Appointment request approved successfully", "approveFailed": "Failed to approve appointment request", "declineSuccess": "Appointment request declined", "declineFailed": "Failed to decline appointment request", "loadFailed": "Failed to load appointment requests", "scheduleEntryCreated": "Schedule entry created successfully" } }, "common": { "actions": "Actions", "active": "Active", "inactive": "Inactive", "loading": "Loading...", "uploading": "Uploading...", "error": "An error occurred", "save": "Save", "cancel": "Cancel", "delete": "Delete", "edit": "Edit", "close": "Close", "confirm": "Confirm", "yes": "Yes", "no": "No", "search": "Search", "filter": "Filter", "resetFilters": "Reset", "sort": "Sort", "refresh": "Refresh", "export": "Export", "import": "Import", "download": "Download", "upload": "Upload", "selectAll": "Select All", "clearSelection": "Clear Selection", "view": "View", "back": "Back", "next": "Next", "previous": "Previous", "submit": "Submit", "submitting": "Submitting...", "reset": "Reset", "noData": "No data available", "required": "Required", "optional": "Optional", "notSpecified": "Not specified", "unknown": "Unknown", "edited": "edited", "editComment": "Edit comment", "deleteCommentAriaLabel": "Delete comment", "deleteComment": "Delete Comment", "deleteCommentConfirmation": "Are you sure you want to delete this comment? This action cannot be undone.", "update": "Update", "create": "Create", "replyComment": "Reply to comment", "saving": "Saving..." }, "sessionManagement": { "title": "Active Sessions", "description": "Manage your active login sessions across all devices (max 5 sessions)", "states": { "loading": "Loading sessions...", "noSessions": "No active sessions found" }, "labels": { "unknownDevice": "Unknown Device", "currentSession": "Current Session", "yourSession": "Your Session", "lastActive": "Last active" }, "loginMethods": { "password": "Password", "googleOAuth": "Google OAuth", "microsoftOAuth": "Microsoft OAuth", "keycloak": "Keycloak" }, "userTypes": { "internal": "Internal", "client": "Client" }, "actions": { "logout": "Logout", "revoke": "Revoke", "revoking": "Revoking...", "loggingOut": "Logging out...", "logoutFromOther_one": "Logout from {{count}} other device", "logoutFromOther_other": "Logout from {{count}} other devices" }, "confirmations": { "logoutCurrent": "This will log you out of your current session. Are you sure?", "logoutAllOther": "This will log you out from all other devices. Are you sure?" }, "prompts": { "enter2FA": "Please enter your 2FA code:" }, "messages": { "loggingOut": "Logging out...", "sessionRevoked": "Session revoked successfully" }, "warnings": { "oauthLogout": "This will log you out of Alga PSA only. You'll remain signed into {{provider}}." }, "errors": { "fetchFailed": "Failed to fetch sessions", "loadFailed": "Failed to load active sessions", "revokeFailed": "Failed to revoke session", "revokeAllFailed": "Failed to revoke sessions", "logoutAllFailed": "Failed to logout from other devices", "adminAccessRequired": "Insufficient permissions to view all sessions" }, "admin": { "title": "All User Sessions", "description": "{{sessionCount}} active sessions from {{userCount}} users", "searchPlaceholder": "Search by user name, email, device, or IP address...", "noResults": "No sessions match your search" } }, "projects": { "task": { "comments": { "title": "Comments", "internal_only": "Internal Only", "placeholder": "Add a comment... Use @ to mention teammates", "add_comment": "Add Comment", "no_comments": "No comments yet. Be the first to comment!", "edited": "Edited", "error_creating": "Failed to create comment. Please try again.", "error_updating": "Failed to update comment. Please try again.", "error_deleting": "Failed to delete comment. Please try again.", "confirm_delete": "Are you sure you want to delete this comment?" } } }, "enums": { "addOnDescription": { "ai_assistant": "Unlock AI chat, document assistance, sidebar help, and workflow AI tools for your team." } }, "timezonePicker": { "selectPlaceholder": "Select timezone...", "searchPlaceholder": "Search timezones or abbreviations (e.g. EST)...", "noResults": "No timezones found", "matchingGroup": "Matching \"{{query}}\"", "regions": { "Africa": "Africa", "America": "America", "Antarctica": "Antarctica", "Arctic": "Arctic", "Asia": "Asia", "Atlantic": "Atlantic", "Australia": "Australia", "Europe": "Europe", "Indian": "Indian", "Pacific": "Pacific", "Etc": "Other" } }, "pages": { "errors": { "somethingWentWrong": "Something went wrong!", "genericError": "An error occurred. Please try again later.", "notFoundTitle": "404 - Page Not Found", "notFoundDescription": "The page you are looking for does not exist.", "userNotAuthenticated": "User not authenticated", "userNotAuthenticatedError": "Error: User not authenticated", "missingRunId": "Missing run id.", "teamLeadAccessRequired": "Team lead access required", "teamsTabUnavailable": "Teams tab unavailable", "teamsSignInUnavailable": "Teams sign-in unavailable", "teamsSetupNotFinished": "Teams setup not finished", "teamsSetupNotFinishedHint": "Ask a PSA administrator to finish Teams setup and then reopen the personal tab.", "teamsTabAdminHint": "Ask a PSA administrator to finish Teams setup, then reopen the tab.", "assetNotFound": "Asset not found", "contactNotFound": "Contact not found", "templateNotFound": "Template not found", "contactLoadError": "Error loading contact", "unknownError": "Unknown error occurred", "templateNotFoundDetail": "The template you're looking for doesn't exist or has been deleted.", "teamLeadAccessDetail": "To approve time sheets for your team members, you need to be a team lead.", "teamsTabEnableHint": "Ask a PSA administrator to enable the Teams integration for this tenant before reopening the tab." }, "actions": { "tryAgain": "Try again", "goToTeamSettings": "Go to Team Settings", "selectDateRange": "Select date range" }, "loading": { "billingDashboard": "Loading billing dashboard...", "onboarding": "Loading onboarding...", "extension": "Loading extension...", "extensionSettings": "Loading extension settings...", "ssoSettings": "Loading SSO settings..." }, "titles": { "emailLogs": "Email Logs", "editAsset": "Edit Asset", "slaSettings": "SLA Settings", "documentEditor": "Document Editor", "accountManagement": "Account Management" }, "teamsTab": { "signedInAs": "Signed in as {{name}}", "openInFullPsa": "Open in full PSA", "iframeTitle": "{{destination}} in Alga PSA", "fullPsaHint": "Use \"Open in full PSA\" for richer context than a Teams card can show.", "fallback": { "label": "Requested record unavailable:", "showingInstead": "Showing your Teams work list instead of {{destination}}." }, "entrySource": { "bot": "Opened from a Teams bot result.", "messageExtension": "Opened from a Teams message extension result.", "notification": "Opened from a Teams activity notification." }, "destinations": { "myWork": { "title": "My work", "summary": "Your Teams personal tab is ready to load your PSA work queue." }, "ticket": { "title": "Ticket {{ticketId}}", "summary": "You're opening ticket {{ticketId}} from Teams." }, "projectTask": { "title": "Project task {{taskId}}", "summary": "You're opening task {{taskId}} in project {{projectId}}." }, "approval": { "title": "Approval {{approvalId}}", "summary": "You're opening approval {{approvalId}} from Teams." }, "timeEntry": { "title": "Time entry {{entryId}}", "summary": "You're opening time entry {{entryId}} from Teams." }, "contact": { "title": "Contact {{contactId}}", "summary": "You're opening contact {{contactId}} from Teams.", "summaryWithClient": "You're opening contact {{contactId}} for client {{clientId}} from Teams." } } } }, "feedback": { "providePlaceholder": "Please provide feedback" }, "presence": { "noOneElseEditing": "No one else is editing", "conflict": { "changedField": "{{author}} just changed this field {{time}}.", "remoteValue": "Remote value:", "keepYours": "Keep yours", "takeTheirs": "Take theirs" } }, "labels": { "printColumns": "Print columns" }, "deleteEntity": { "checkingDependenciesTitle": "Checking Dependencies", "deleteTitle": "Delete {{entityName}}", "cannotDeleteTitle": "Cannot Delete", "deleting": "Deleting...", "checkingDependenciesMessage": "Checking for dependencies...", "fallbackBlockMessage": "Please remove or reassign these items before deleting.", "confirmationMessage": "Are you sure you want to delete \"{{entityName}}\"? This action cannot be undone.", "alternatives": { "deactivate": { "label": "Mark as Inactive", "description": "Deactivates the record without deleting its data.", "warning": "Inactive records will no longer be selectable in new workflows." }, "archive": { "label": "Archive", "description": "Moves the record out of active use while preserving history.", "warning": "Archived records are hidden from default views." } } }, "dataTable": { "columnsHidden_one": "{{count}} column hidden due to limited space.", "columnsHidden_other": "{{count}} columns hidden due to limited space.", "showAll": "Show all", "showingAllColumns": "Showing all columns; scroll horizontally to see them.", "showLess": "Show less", "columnsHidden": "{{count}} columns hidden due to limited space." } }