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
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz Source: /opt/alga-psa on psa.joliet.tech
428 lines
13 KiB
JSON
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": "-"
|
|
}
|
|
}
|
|
}
|