feat: add PostHog customer feedback

This commit is contained in:
SnapOtter
2026-06-29 18:16:33 +08:00
parent 6f85b3d12a
commit 649e65b035
47 changed files with 3937 additions and 4 deletions
+90
View File
@@ -40,6 +40,96 @@ export const ru: TranslationKeys = {
pageNotFound: "Страница не найдена",
pageNotFoundDescription: "Запрашиваемая страница не существует или была перемещена.",
},
feedback: {
navLabel: "Share feedback",
dialogTitle: "Share feedback",
toolDialogTitle: "How did this tool work?",
failedDialogTitle: "Report a tool issue",
adminDialogTitle: "How was setup?",
closeLabel: "Close feedback dialog",
privacyNote:
"Feedback is sent only when you submit it. SnapOtter does not include your files, file contents, file names, or private outputs.",
typeLabel: "Feedback type",
sentimentLabel: "Quick rating",
messageLabel: "Feedback",
messagePlaceholder: "Tell us what worked, what broke, or what would make SnapOtter better.",
improveFirstLabel: "What should we improve first?",
improveFirstPlaceholder: "Tell us what made setup harder than it should be.",
contactOkLabel: "You can contact me about this feedback.",
emailPlaceholder: "Email (optional)",
namePlaceholder: "Name (optional)",
companyPlaceholder: "Company or org (optional)",
submit: "Send feedback",
submitting: "Sending...",
submitFailed: "Feedback could not be sent. Please try again.",
thanksTitle: "Thanks for the feedback.",
thanksDescription: "It helps us improve SnapOtter without collecting files or private content.",
quickThanks: "Thanks for the signal.",
reportIssue: "Report issue",
toolPromptTitle: "How did this tool work?",
toolPromptDescription: "One quick signal helps us improve SnapOtter.",
dismissPrompt: "Dismiss feedback prompt",
workedWell: "Worked well",
dontAskAgain: "Don't ask again",
shareFeedback: "Share feedback",
remindLater: "Remind me later",
adminCardTitle: "How was setup?",
adminCardDescription:
"A quick note from admins helps us improve Docker, source installs, and docs.",
installMethodLabel: "Install method",
usageTypeLabel: "Use case",
frictionAreaLabel: "Hardest setup area",
importantAreasLabel: "Most important areas",
sentiments: {
great: "Great",
okay: "Okay",
issue: "Had an issue",
missing: "Missing something",
bug: "Bug",
idea: "Idea",
other: "Other",
},
types: {
bug: "Bug",
feature_request: "Feature request",
confusing_ux: "Confusing UX",
performance: "Performance",
other: "Other",
},
installMethods: {
docker: "Docker",
docker_compose: "Docker Compose",
source: "Built from source",
cloud: "Cloud/demo",
other: "Other",
},
usageTypes: {
personal: "Personal",
team_internal: "Team/internal",
business_workflow: "Business workflow",
education: "Education",
evaluating: "Evaluating",
},
frictionAreas: {
smooth: "Nothing, setup was smooth",
docker: "Docker/container setup",
environment_variables: "Environment variables",
auth: "Authentication/SSO",
storage: "Storage/uploads",
workers: "Workers/queues",
ai_tools: "AI tools",
docs: "Documentation",
performance: "Performance/resources",
other: "Other",
},
importantAreas: {
images: "Images",
pdf_docs: "PDF/docs",
video_audio: "Video/audio",
batch_workflows: "Batch workflows",
ai_tools: "AI tools",
},
},
categories: {
essentials: "Основные",
adjustments: "Коррекция",