PSA/server/public/locales/en/msp/surveys.json
Hermes 284313f908
Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Initial import of AlgaPSA codebase from PSA server
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz

Source: /opt/alga-psa on psa.joliet.tech
2026-06-22 16:12:17 -05:00

428 lines
13 KiB
JSON

{
"common": {
"loading": "Loading..."
},
"moduleFrame": {
"title": "Customer Satisfaction Surveys",
"description": "Monitor response quality, analyse satisfaction trends, and follow up on feedback.",
"badge": "Satisfaction Insights",
"nav": {
"dashboard": "Dashboard",
"responses": "Responses",
"analytics": "Analytics",
"setup": "Setup"
}
},
"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.",
"defaultBadge": "Default",
"table": {
"name": "Template",
"rating": "Rating scale",
"status": "Status",
"updated": "Updated",
"actions": "Actions"
},
"status": {
"enabled": "Enabled",
"disabled": "Disabled"
},
"actions": {
"setDefault": "Set as default"
},
"toasts": {
"created": "Template created",
"updated": "Template updated",
"deleted": "Template deleted",
"error": "Unable to save template",
"setDefault": "Default template updated"
},
"errors": {
"load": "Unable to load survey templates."
},
"delete": {
"validationFailed": "Failed to validate deletion. Please try again.",
"error": "Unable to delete template",
"entityFallback": "this survey template"
},
"actionsMenuAria": "Open actions for {{name}}"
},
"templateForm": {
"titleCreate": "Create survey template",
"titleEdit": "Edit survey template",
"ratingTypes": {
"stars": "Stars",
"numbers": "Numbers",
"emojis": "Emojis"
},
"defaults": {
"promptText": "Survey prompt",
"commentPrompt": "Additional comments (optional)",
"thankYouText": "Thank you!"
},
"labels": {
"name": "Template name",
"ratingType": "Rating type",
"ratingScale": "Rating scale",
"ratingLabels": "Rating labels",
"preview": "Preview",
"promptText": "Survey prompt",
"commentPrompt": "Comment prompt",
"thankYouText": "Thank-you message",
"isDefault": "Set as default template",
"enabled": "Template enabled"
},
"placeholders": {
"ratingLabels": "Example:\nVery Poor\nPoor\nAverage\nGood\nExcellent"
},
"help": {
"ratingLabels": "Provide one label per line, in order from lowest to highest rating."
},
"actions": {
"create": "Create template",
"save": "Save changes",
"delete": "Delete template"
},
"delete": {
"validationFailed": "Failed to validate deletion. Please try again.",
"error": "Unable to delete template",
"entityFallback": "this survey 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"
},
"status": {
"enabled": "Enabled",
"disabled": "Disabled"
},
"conditions": {
"unrestricted": "Applies to every ticket and project",
"boards": "Boards",
"statuses": "Statuses",
"priorities": "Priorities",
"any": "Any"
},
"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.",
"actionsMenuAria": "Open actions for trigger targeting {{target}}"
},
"triggerForm": {
"titleCreate": "Create survey trigger",
"titleEdit": "Edit survey trigger",
"triggerTypes": {
"ticket_closed": "Ticket closed",
"project_completed": "Project completed"
},
"labels": {
"template": "Survey template",
"triggerType": "Trigger type",
"boardIds": "Boards",
"statusIds": "Statuses",
"priorities": "Priorities",
"enabled": "Trigger enabled"
},
"placeholders": {
"boardIds": "Select board",
"statusIds": "Add status",
"priorities": "Add priority"
},
"boardFilters": {
"active": "Active boards",
"inactive": "Inactive boards",
"all": "All boards"
},
"help": {
"conditions": "Leave a field blank to match any value."
},
"actions": {
"create": "Create trigger",
"save": "Save changes",
"delete": "Delete trigger"
},
"noTemplates": "Create a survey template before adding triggers.",
"prioritiesMixed": "Selected boards use different priority types. Showing all priorities.",
"errors": {
"reference": "Unable to load trigger options. Please try again."
}
}
},
"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}}",
"ratingSubmitted": "Feedback submitted",
"retryButton": "Try again",
"selectRatingError": "Select a rating before submitting.",
"errorMessage": "We could not record your feedback. Please try again.",
"supportMessage": "If you have questions, please contact your technician."
},
"rating": {
"buttonAriaWithLabel": "{{rating}} - {{label}}",
"buttonAria": "Rating {{rating}} of {{scale}}",
"defaults": {
"3": {
"1": "Poor",
"2": "Good",
"3": "Excellent"
},
"5": {
"1": "Very Poor",
"2": "Poor",
"3": "Average",
"4": "Good",
"5": "Excellent"
},
"10": {
"1": "Terrible",
"2": "Very Poor",
"3": "Poor",
"4": "Below Average",
"5": "Average",
"6": "Above Average",
"7": "Good",
"8": "Very Good",
"9": "Excellent",
"10": "Perfect"
}
}
},
"responses": {
"filters": {
"labels": {
"template": "Template",
"technician": "Technician",
"client": "Client",
"dateRange": "Date Range"
},
"placeholders": {
"allTemplates": "All templates",
"allTechnicians": "All technicians",
"allClients": "All clients"
},
"actions": {
"apply": "Apply",
"reset": "Reset"
}
},
"page": {
"filterTitle": "Filter Responses",
"loading": "Refreshing responses...",
"error": "Unable to load survey responses. Please try again.",
"pageSizeOptions": {
"10": "10 per page",
"25": "25 per page",
"50": "50 per page"
},
"itemLabel": "responses"
},
"detail": {
"title": "Survey Response Detail",
"empty": "No response selected.",
"labels": {
"submittedAt": "Submitted At",
"client": "Client",
"contact": "Contact",
"technician": "Technician",
"ticket": "Ticket",
"rating": "Rating",
"comment": "Comment"
},
"fallbacks": {
"unknown": "Unknown",
"unassigned": "Unassigned",
"none": "-",
"noComment": "No comment provided."
}
}
},
"dashboard": {
"loadingInsights": "Loading survey insights...",
"responseMetrics": {
"cards": {
"sent": "Invitations Sent",
"responses": "Responses Received",
"responseRate": "Response Rate",
"averageRating": "Average Rating",
"outstanding": "Outstanding Invitations",
"negative": "Negative Responses (<= 2 stars)"
},
"badges": {
"awaitingResponses": "Awaiting responses",
"needsReview": "Needs review"
}
},
"responseTrend": {
"title": "Response Trend",
"emptyTitle": "No responses captured for the selected period.",
"emptyDescription": "Check back after customers submit feedback.",
"tooltip": {
"averageRating": "Average Rating",
"responses": "Responses",
"date": "Date: {{label}}"
}
},
"responsesList": {
"title": "Recent Responses",
"emptyTitle": "No survey responses available yet.",
"emptyDescription": "Encourage customers to provide feedback to populate this view.",
"table": {
"submitted": "Submitted",
"client": "Client",
"technician": "Technician",
"rating": "Rating",
"comment": "Comment",
"ticket": "Ticket"
},
"fallbacks": {
"unknownClient": "Unknown Client",
"unassigned": "Unassigned",
"noComment": "No comment"
}
},
"satisfactionDistribution": {
"title": "Satisfaction Distribution",
"emptyTitle": "No survey ratings recorded yet.",
"emptyDescription": "Distribution will appear after feedback is collected.",
"axes": {
"rating": "Rating",
"responses": "Responses"
},
"tooltip": {
"percent": "Percent",
"responses": "Responses",
"rating": "Rating: {{label}}"
}
},
"topIssues": {
"title": "Top Issues",
"emptyTitle": "No negative feedback recorded for the selected filters.",
"emptyDescription": "This is a good sign! Keep up the great work.",
"fallbacks": {
"unknownClient": "Unknown Client",
"ticket": "Ticket {{ticket}}",
"noComment": "No comment left.",
"assignedTo": "Assigned to: {{name}}"
}
}
},
"analytics": {
"filters": {
"labels": {
"customerSegment": "Customer Segment",
"surveyTemplate": "Survey Template",
"timeframe": "Timeframe",
"calendarView": "Calendar View"
},
"defaults": {
"segments": {
"all": "All customers",
"managed": "Managed clients",
"project": "Project-only clients"
},
"templates": {
"all": "All templates",
"default": "Phase 1 CSAT template"
},
"timeframes": {
"30d": "Last 30 days",
"90d": "Last 90 days",
"365d": "Year to date"
}
},
"actions": {
"apply": "Apply Filters",
"reset": "Reset",
"calendar": "Coming soon"
}
},
"page": {
"filtersTitle": "Analytics Filters",
"overviewTitle": "Satisfaction Overview",
"overviewDescription": "Compare average satisfaction and response rates over time. Additional segmentation will arrive in later iterations."
},
"chart": {
"empty": "Select filters above to explore advanced analytics. (Coming soon)",
"tooltip": {
"averageRating": "Average Rating",
"responseRate": "Response Rate"
},
"legend": {
"averageRating": "Average Rating",
"responseRate": "Response Rate"
}
},
"export": {
"csv": "Export CSV",
"shareSnapshot": "Share Snapshot",
"emailDigest": "Email Digest"
}
},
"clientSummary": {
"title": "CSAT Summary",
"empty": "No survey data available for this client yet. Surveys sent after ticket closures will populate this view.",
"labels": {
"averageRating": "Average Rating",
"responseRate": "Response Rate",
"totalResponses": "Total responses",
"lastResponse": "Last response",
"rollingTrend": "Rolling Trend"
},
"fallbacks": {
"none": "-",
"noResponsesYet": "No responses yet"
}
},
"ticketSummary": {
"title": "Customer Feedback",
"empty": "No survey responses received for this ticket yet.",
"labels": {
"latestRating": "Latest Rating",
"comment": "Comment",
"totalResponses": "Total responses"
},
"fallbacks": {
"none": "-"
}
}
}