TidyQuest/client/src/i18n/en.json
root a7cd81fe81 Initial release: TidyQuest v0.1.0
TidyQuest is a self-hosted web application that gamifies household chores
using RPG mechanics. Complete tasks, earn coins, unlock achievements, and
compete with your family on the leaderboard.

Features:
- 🎯 Health-based task tracking with visual decay over time
- 💰 Coin system with customizable rewards
- 🔥 Daily/weekly streak tracking
- 🏆 Family leaderboard (week/month/quarter/year)
- 🎖️ Automatic achievement unlocking
- 📅 Calendar view for upcoming tasks
- 🌍 Multilingual support (EN/FR/DE/ES)
- 📱 Optional Telegram notifications
- 🏖️ Vacation mode (pause task decay)
- 🐳 Docker deployment (single container)

Tech Stack:
- Frontend: React 19 + Vite + TypeScript
- Backend: Node.js + Express + TypeScript
- Database: SQLite3 with WAL mode
- Auth: JWT + bcrypt
- Deployment: Docker Compose

Includes:
- 8 room types with 60+ predefined tasks
- 10 preset rewards
- 12 achievement types
- Complete API documentation
- Security best practices guide
- Comprehensive README with examples

License: GNU Affero General Public License v3.0 (AGPL-3.0)
This ensures TidyQuest remains free and open-source forever, preventing
proprietary SaaS forks. Any modified hosted version must share source code.
2026-02-17 18:40:09 +01:00

512 lines
19 KiB
JSON

{
"tasks": {
"kitchen": {
"wash_dishes": "Wash dishes",
"clean_counters": "Clean counters",
"wipe_stovetop": "Wipe stovetop",
"empty_trash": "Empty trash",
"empty_household_waste": "Empty household waste",
"empty_compost": "Empty compost",
"empty_plastic_recycling": "Empty plastic recycling",
"empty_glass_recycling": "Empty glass recycling",
"clean_sink": "Clean sink",
"clean_sink_drain": "Clean sink drain",
"wipe_appliances": "Wipe appliances",
"mop_floor": "Mop floor",
"clean_microwave": "Clean microwave",
"wipe_cabinet_fronts": "Wipe cabinet fronts",
"clean_fridge": "Clean fridge",
"defrost_freezer": "Defrost freezer",
"descale_kettle": "Descale kettle",
"clean_dishwasher": "Clean dishwasher",
"clean_dishwasher_filter": "Clean dishwasher filter",
"check_dishwasher_salt": "Check/add dishwasher salt",
"clean_oven": "Clean oven",
"clean_range_hood": "Clean range hood",
"deep_clean_fridge": "Deep clean fridge",
"organize_pantry": "Organize pantry"
},
"bedroom": {
"make_bed": "Make bed",
"tidy_nightstand": "Tidy nightstand",
"change_sheets": "Change sheets",
"vacuum_floor": "Vacuum floor",
"dust_surfaces": "Dust surfaces",
"clean_under_bed": "Clean under bed",
"wash_pillows": "Wash pillows",
"wash_duvet": "Wash duvet",
"change_fitted_sheet": "Change fitted sheet",
"organize_closet": "Organize closet",
"flip_mattress": "Flip mattress",
"clean_windows": "Clean windows",
"wash_curtains": "Wash curtains"
},
"bathroom": {
"wipe_sink_counter": "Wipe sink & counter",
"squeegee_shower": "Squeegee shower",
"scrub_toilet": "Scrub toilet",
"clean_mirror": "Clean mirror",
"wash_towels": "Wash towels",
"clean_shower_tub": "Clean shower & tub",
"clean_sink_drain": "Clean sink drain",
"mop_floor": "Mop floor",
"clean_shower_drain": "Clean shower drain",
"wash_bath_mat": "Wash bath mat",
"wipe_switches_handles": "Wipe switches & handles",
"clean_grout": "Clean grout",
"descale_showerhead": "Descale showerhead",
"wash_shower_curtain": "Wash shower curtain",
"organize_cabinets": "Organize cabinets",
"replace_toothbrush": "Replace toothbrush"
},
"living": {
"tidy_up": "Tidy up",
"fluff_cushions": "Fluff cushions",
"vacuum_carpet": "Vacuum carpet",
"dust_surfaces_shelves": "Dust surfaces & shelves",
"wipe_tv": "Wipe TV",
"clean_remotes": "Clean remotes",
"dust_lampshades": "Dust lampshades",
"vacuum_sofa": "Vacuum sofa",
"clean_windows": "Clean windows",
"wash_curtains_blinds": "Wash curtains & blinds",
"deep_clean_carpet": "Deep clean carpet",
"clean_behind_furniture": "Clean behind furniture",
"polish_furniture": "Polish furniture"
},
"office": {
"clear_desk": "Clear desk",
"wipe_desk": "Wipe desk",
"clean_keyboard_mouse": "Clean keyboard & mouse",
"wipe_monitor": "Wipe monitor",
"empty_paper_trash": "Empty paper trash",
"vacuum_floor": "Vacuum floor",
"organize_cables": "Organize cables",
"dust_shelves": "Dust shelves",
"clean_desk_lamp": "Clean desk lamp",
"organize_drawers": "Organize drawers",
"wipe_switches": "Wipe switches",
"clean_chair": "Clean chair"
},
"garage": {
"sweep_floor": "Sweep floor",
"organize_tools": "Organize tools",
"clean_workbench": "Clean workbench",
"clear_cobwebs": "Clear cobwebs",
"organize_shelves": "Organize shelves",
"wipe_power_tools": "Wipe power tools",
"sort_recycling": "Sort recycling",
"mop_hose_floor": "Mop or hose floor",
"check_chemicals": "Check chemicals",
"clean_door_tracks": "Clean door tracks"
},
"laundry": {
"wipe_washer_seal": "Wipe washer seal",
"clean_lint_filter": "Clean lint filter",
"wipe_machine_exterior": "Wipe machine exterior",
"run_cleaning_cycle": "Run cleaning cycle",
"drain_washing_machine": "Drain washing machine",
"descale_washing_machine": "Descale washing machine",
"clean_detergent_drawer": "Clean detergent drawer",
"sweep_mop_floor": "Sweep & mop floor",
"organize_supplies": "Organize supplies",
"clean_dryer_vent": "Clean dryer vent",
"wipe_folding_surface": "Wipe folding surface",
"sort_donate_clothes": "Sort & donate clothes"
}
},
"rooms": {
"kitchen": "Kitchen",
"bedroom": "Bedroom",
"bathroom": "Bathroom",
"living": "Living Room",
"office": "Office",
"garage": "Garage",
"laundry": "Laundry Room",
"other": "Other"
},
"ui": {
"profile": {
"title": "Profile",
"displayName": "Display Name",
"avatarMode": "Avatar Mode",
"letterMode": "Letter",
"characterMode": "Character",
"photoMode": "Photo",
"uploadPhoto": "Upload Photo",
"language": "Language",
"save": "Save",
"saved": "Saved",
"logout": "Log out"
},
"settings": {
"title": "Settings",
"general": "General",
"notifications": "Notifications",
"notificationsDesc": "Daily cleaning reminders",
"theme": "Theme",
"themeDesc": "Switch the app color mood",
"themeOrange": "Warm Orange",
"themeBlue": "Light Blue",
"themeRose": "Light Rose",
"themeNight": "Night",
"vacationMode": "Vacation Mode",
"vacationDesc": "Pause all task reminders while you're away",
"adminRequired": "Parent admin required to change settings.",
"data": "Data",
"dataPrivacy": "Data & Privacy",
"export": "Export",
"exportData": "Export Data",
"exportDesc": "Download JSON backup",
"download": "Download",
"import": "Import",
"importData": "Import Data",
"importDesc": "Restore from backup",
"upload": "Upload",
"family": "Family",
"familyMembers": "Family Members",
"addMember": "Add Member",
"memberDisplayName": "Display name",
"memberUsername": "Username",
"memberPassword": "Password",
"passwordSection": "Password",
"currentPassword": "Current password",
"newPassword": "New password",
"confirmPassword": "Confirm new password",
"updatePassword": "Update password",
"resetPassword": "Reset password",
"passwordMismatch": "Passwords do not match.",
"passwordUpdated": "Password updated.",
"passwordUpdateFailed": "Failed to update password.",
"manageChild": "Manage child",
"coinsPerEffort": "Coins per effort",
"coinsPerEffortDesc": "Set how many coins are earned for effort levels 1 to 5.",
"goalsSection": "Goals by member",
"goalsSectionDesc": "Set coin targets and period for each child/member.",
"useDefaultCoins": "Use default values",
"create": "Create",
"privacy": "Privacy",
"privacyDesc": "All data stays on your server",
"docker": "Docker",
"roleAdmin": "Admin",
"roleChild": "Child",
"setAs": "Set as",
"coins": "coins",
"streak": "streak",
"roleMember": "Member",
"deleteUser": "Delete user",
"deleteUserConfirm": "Delete \"{user}\"? This cannot be undone.",
"goalCoins": "Goal coins",
"goalTitle": "Goal title",
"setGoal": "Set goal",
"addGoal": "Add goal",
"manageMember": "Manage member",
"goalStart": "Start date",
"goalEnd": "End date",
"goalDeleted": "Goal deleted.",
"goalDeleteFailed": "Failed to delete goal.",
"rewardsSection": "Rewards Catalog",
"rewardsSectionDesc": "Parents can create rewards children can buy with coins.",
"rewardTitle": "Reward title",
"rewardDesc": "Description",
"rewardCost": "Coins cost",
"addPresetRewards": "Add preset rewards",
"rewardRequests": "Reward requests",
"noRewardRequests": "No reward requests yet.",
"telegramChatId": "Telegram chat ID",
"telegramChatIdHint": "Expected: numeric chat ID (example: 123456789 or -1001234567890). Open Telegram chat with your bot first.",
"notificationTime": "Notification time",
"telegramToken": "Telegram bot token",
"telegramTokenHint": "Expected: bot token from @BotFather (format like 123456789:AA...).",
"telegramTokenConfigured": "Telegram token already configured (enter to replace)",
"telegramChatIdRequired": "Telegram chat ID is required when notifications are enabled.",
"telegramTokenRequired": "Telegram bot token is required when notifications are enabled.",
"notificationsDisabledHint": "Enable Notifications to configure Telegram and notification time.",
"notificationTypeTaskDue": "Task due reminders",
"notificationTypeRewardRequest": "Reward requests",
"notificationTypeAchievementUnlocked": "Achievement unlocked",
"sendTestNotification": "Send test notification",
"notificationsSaved": "Notifications settings saved.",
"notificationsSaveFailed": "Failed to save notifications settings.",
"notificationsTestSent": "Test notification sent.",
"notificationsTestFailed": "Failed to send test notification."
},
"nav": {
"home": "Home",
"rooms": "Rooms",
"board": "Board",
"calendar": "Calendar",
"activity": "Activity",
"rewards": "Rewards",
"settings": "Settings",
"profile": "Profile",
"tagline": "Level up your home",
"achievements": "Achievements"
},
"app": {
"roomsConfigured": "rooms configured",
"calendarSubtitle": "Track your cleaning history",
"leaderboardTitle": "Leaderboard",
"leaderboardSubtitle": "Who's keeping the house clean?",
"historyTitle": "Activity Log",
"historySubtitle": "All completed tasks",
"activitySubtitle": "Who did what, when, and for how many points",
"rewardsSubtitle": "Spend your coins on real-life rewards",
"profileSubtitle": "Customize your avatar & preferences",
"settingsSubtitle": "Configure your experience",
"achievementsSubtitle": "Turn chores into a game with badges and milestones"
},
"calendar": {
"mon": "Mon",
"tue": "Tue",
"wed": "Wed",
"thu": "Thu",
"fri": "Fri",
"sat": "Sat",
"sun": "Sun",
"choresDone": "Chores done",
"tasksDue": "Tasks due",
"today": "Today",
"upcomingDueDates": "Upcoming Due Dates",
"inDays": "in {days}d",
"allCaughtUp": "All caught up! No tasks due soon."
},
"leaderboard": {
"thisWeek": "This Week",
"thisMonth": "This Month",
"thisQuarter": "This Quarter",
"thisYear": "This Year",
"points": "points",
"streak": "streak",
"noData": "No data yet for this period."
},
"rewards": {
"catalog": "Rewards Catalog",
"balanceHint": "Complete tasks to earn coins, then redeem a reward.",
"noDescription": "No description",
"redeem": "Redeem",
"notEnough": "Not enough coins",
"myRequests": "My redemption history",
"noRequests": "No reward redeemed yet.",
"confirmTitle": "Confirm purchase",
"confirmText": "Buy \"{reward}\" for {coins} coins?",
"confirmBuy": "Confirm",
"cancelRequest": "Cancel",
"statusPending": "Pending",
"statusApproved": "Approved",
"statusRejected": "Rejected",
"statusCancelled": "Cancelled"
},
"rewardsPreset": {
"movie_night": { "title": "Movie Night Pick", "desc": "Choose tonight's family movie." },
"ice_cream": { "title": "Ice Cream Treat", "desc": "Get an ice cream or special dessert." },
"late_bedtime": { "title": "Stay Up 30 Min", "desc": "Go to bed 30 minutes later." },
"game_bonus": { "title": "Game Time Bonus", "desc": "Get 30 extra minutes of game time." },
"choose_dinner": { "title": "Choose Dinner", "desc": "Pick what the family eats tonight." },
"park_adventure": { "title": "Park Adventure", "desc": "Special family park outing." },
"chore_pass": { "title": "No-Chore Pass", "desc": "Skip one chore this week." },
"board_game": { "title": "Family Board Game", "desc": "Pick the board game for family night." }
},
"history": {
"task": "Task",
"room": "Room",
"when": "When",
"earned": "Earned",
"by": "by",
"noActivity": "No activity yet. Complete a task to get started!",
"previous": "Previous",
"next": "Next",
"of": "of"
},
"roomDetail": {
"name": "Name",
"notes": "Notes",
"optionalNotes": "Optional notes...",
"every": "Every",
"effort": "Effort",
"frequency": "Frequency",
"actions": "Actions",
"deleteTask": "Delete Task",
"done": "Done",
"seasonal": "Seasonal",
"taskName": "Task name...",
"addTask": "Add Task"
},
"avatars": {
"cat": "Cat",
"dog": "Dog",
"bunny": "Bunny",
"bear": "Bear",
"fox": "Fox",
"owl": "Owl",
"panda": "Panda",
"penguin": "Penguin",
"unicorn": "Unicorn",
"frog": "Frog",
"koala": "Koala",
"hedgehog": "Hedgehog"
},
"dashboard": {
"houseHealth": "House Health",
"todaysQuests": "Today's Quests",
"recentActivity": "Recent Activity",
"noQuests": "No quests for today",
"roomsCount": "Rooms",
"tasksCount": "Tasks",
"criticalCount": "Critical",
"pending": "pending",
"sortedUrgency": "Sorted by urgency",
"dayStreak": "Day Streak",
"keepStreak": "Complete 1 task daily to keep going!",
"streakDoneToday": "Streak completed for today!",
"more": "More",
"nextTasks": "Next tasks to come",
"healthGreat": "Looking great! Keep it up.",
"healthMedium": "Some rooms need a bit of love.",
"healthLow": "Time for a cleaning session!",
"myGoal": "My Goal",
"childrenGoals": "Children Goals",
"noGoal": "No goal",
"rewardRequestsTitle": "Reward requests",
"rewardRequestEmpty": "No pending reward requests.",
"coinsStatusTitle": "Coins status",
"approve": "Approve",
"reject": "Reject"
},
"rooms": {
"addRoom": "Add Room",
"room": "Room",
"tasks": "Tasks",
"health": "Health",
"healthHealthy": "Healthy",
"healthNeedsAttention": "Needs attention",
"healthCritical": "Critical",
"deleteRoomConfirm": "Delete \"{room}\" and all its tasks? This cannot be undone.",
"noRoomsYet": "No rooms yet",
"clickAddRoom": "Click \"Add Room\" to get started!",
"addRoomTitle": "Add a Room",
"pickRoomType": "Pick a room type, then configure its tasks.",
"customNameOptional": "Custom Name (optional)",
"nextConfigure": "Next: Configure Tasks",
"configureTasks": "Configure Tasks",
"configureTasksDesc": "Select tasks, set their current state, effort, and cleaning frequency.",
"currentState": "Current State",
"dirty": "Dirty",
"clean": "Clean",
"addCustomTask": "Add a custom task...",
"tasksSelected": "tasks selected",
"createRoom": "Create Room",
"roomNotFound": "Room not found.",
"backToRooms": "Back to Rooms",
"tasksTracked": "tasks tracked"
},
"common": {
"save": "Save",
"saved": "Saved",
"cancel": "Cancel",
"delete": "Delete",
"edit": "Edit",
"loading": "Loading",
"add": "Add"
},
"units": {
"hours": "hours",
"days": "days",
"weeks": "weeks",
"months": "months",
"years": "years"
},
"unitsShort": {
"hours": "h",
"days": "d",
"weeks": "w",
"months": "mo",
"years": "y"
},
"time": {
"never": "Never",
"justNow": "just now",
"minutesAgo": "{count}m ago",
"hoursAgo": "{count}h ago",
"yesterday": "yesterday",
"daysAgo": "{count}d ago",
"oneWeekAgo": "1w ago",
"weeksAgo": "{count}w ago",
"oneMonthAgo": "1mo ago",
"monthsAgo": "{count}mo ago"
},
"auth": {
"welcomeBack": "Welcome!",
"welcome": "Welcome to TidyQuest",
"createYourAccount": "Create your account",
"username": "Username",
"usernamePlaceholder": "Enter your username",
"password": "Password",
"passwordPlaceholder": "Enter your password",
"passwordMinChars": "min 4 characters",
"displayName": "Display Name",
"displayNamePlaceholder": "John",
"avatarColor": "Avatar Color",
"loggingIn": "Logging in...",
"logIn": "Log In",
"createAccount": "Create account",
"createAccountAction": "Create Account",
"creating": "Creating...",
"alreadyHaveAccount": "Already have an account? Log in",
"allFieldsRequired": "All fields are required",
"loginFailed": "Login failed",
"registrationFailed": "Registration failed"
},
"achievements": {
"familyProgress": "Family Progress",
"firstStep": "First Step",
"firstStepDesc": "Complete your first chore",
"helper": "Little Helper",
"helperDesc": "Complete 10 chores",
"busyBee": "Busy Bee",
"busyBeeDesc": "Complete 25 chores",
"cleaningHero": "Cleaning Hero",
"cleaningHeroDesc": "Complete 50 chores",
"choreChampion": "Chore Champion",
"choreChampionDesc": "Complete 100 chores",
"legend": "TidyQuest Legend",
"legendDesc": "Complete 250 chores",
"unstoppable": "Unstoppable!",
"unstoppableDesc": "Complete 500 chores",
"onFire": "On Fire",
"onFireDesc": "Reach a 3-day streak",
"streakMaster": "Streak Master",
"streakMasterDesc": "Reach a 7-day streak",
"twoWeekWarrior": "Two-Week Warrior",
"twoWeekWarriorDesc": "Reach a 14-day streak",
"monthlyMachine": "Monthly Machine",
"monthlyMachineDesc": "Reach a 30-day streak",
"centurion": "Centurion",
"centurionDesc": "Reach a 100-day streak!",
"piggyBank": "Piggy Bank",
"piggyBankDesc": "Earn 50 coins",
"saver": "Saver",
"saverDesc": "Earn 100 coins",
"treasureHunter": "Treasure Hunter",
"treasureHunterDesc": "Earn 500 coins",
"goldMaster": "Gold Master",
"goldMasterDesc": "Earn 1,000 coins",
"millionaire": "Millionaire",
"millionaireDesc": "Earn 5,000 coins",
"roomTamer": "Room Tamer",
"roomTamerDesc": "Keep 3 rooms healthy at the same time",
"housePride": "House Pride",
"housePrideDesc": "Keep 5 rooms healthy at the same time",
"weekendWarrior": "Weekend Warrior",
"weekendWarriorDesc": "Complete 5 chores in one week",
"superWeek": "Super Week",
"superWeekDesc": "Complete 15 chores in one week",
"perfectWeek": "Perfect Week",
"perfectWeekDesc": "Complete at least 1 chore every day for a full week",
"perfectMonth": "Perfect Month",
"perfectMonthDesc": "Have 4 perfect weeks",
"nightOwl": "Night Owl Planner",
"nightOwlDesc": "Reach a 60-day streak"
}
}
}