{
  "message": {
    "hello": "Hola"
  },
  "loginPage": {
    "emailLabel": "ES: Email",
    "passwordLabel": "ES: Password",
    "togglePasswordVisibilityLabel": "ES: Toggle password visibility",
    "loginButton": "ES: Login",
    "signupLink": "ES: Don't have an account? Sign up",
    "errors": {
      "emailRequired": "ES: Email is required",
      "emailInvalid": "ES: Invalid email format",
      "passwordRequired": "ES: Password is required",
      "loginFailed": "ES: Login failed. Please check your credentials."
    },
    "notifications": {
      "loginSuccess": "ES: Login successful"
    }
  },
  "listsPage": {
    "retryButton": "ES: Retry",
    "emptyState": {
      "noListsForGroup": "ES: No lists found for this group.",
      "noListsYet": "ES: You have no lists yet.",
      "personalGlobalInfo": "ES: Create a personal list or join a group to see shared lists.",
      "groupSpecificInfo": "ES: This group doesn't have any lists yet."
    },
    "createNewListButton": "ES: Create New List",
    "loadingLists": "ES: Loading lists...",
    "noDescription": "ES: No description",
    "addItemPlaceholder": "ES: Add new item...",
    "createCard": {
      "title": "ES: + Create a new list"
    },
    "pageTitle": {
      "forGroup": "ES: Lists for {groupName}",
      "forGroupId": "ES: Lists for Group {groupId}",
      "myLists": "ES: My Lists"
    },
    "errors": {
      "fetchFailed": "ES: Failed to fetch lists."
    }
  },
  "groupsPage": {
    "retryButton": "ES: Retry",
    "emptyState": {
      "title": "ES: No Groups Yet!",
      "description": "ES: You are not a member of any groups yet. Create one or join using an invite code.",
      "createButton": "ES: Create New Group"
    },
    "groupCard": {
      "newListButton": "ES: List"
    },
    "createCard": {
      "title": "ES: + Group"
    },
    "joinGroup": {
      "title": "ES: Join a Group with Invite Code",
      "inputLabel": "ES: Enter Invite Code",
      "inputPlaceholder": "ES: Enter Invite Code",
      "joinButton": "ES: Join"
    },
    "createDialog": {
      "title": "ES: Create New Group",
      "closeButtonLabel": "ES: Close",
      "groupNameLabel": "ES: Group Name",
      "cancelButton": "ES: Cancel",
      "createButton": "ES: Create"
    },
    "errors": {
      "fetchFailed": "ES: Failed to load groups",
      "groupNameRequired": "ES: Group name is required",
      "createFailed": "ES: Failed to create group. Please try again.",
      "inviteCodeRequired": "ES: Invite code is required",
      "joinFailed": "ES: Failed to join group. Please check the invite code and try again."
    },
    "notifications": {
      "groupCreatedSuccess": "ES: Group '{groupName}' created successfully.",
      "joinSuccessNamed": "ES: Successfully joined group '{groupName}'.",
      "joinSuccessGeneric": "ES: Successfully joined group.",
      "listCreatedSuccess": "ES: List '{listName}' created successfully."
    }
  },
  "authCallbackPage": {
    "redirecting": "ES: Redirecting...",
    "errors": {
      "authenticationFailed": "ES: Authentication failed"
    }
  },
  "choresPage": {
    "title": "ES: Chores",
    "tabs": {
      "overdue": "ES: Overdue",
      "today": "ES: Today",
      "upcoming": "ES: Upcoming",
      "allPending": "ES: All Pending",
      "completed": "ES: Completed"
    },
    "viewToggle": {
      "calendarLabel": "ES: Calendar View",
      "calendarText": "ES: Calendar",
      "listLabel": "ES: List View",
      "listText": "ES: List"
    },
    "newChoreButtonLabel": "ES: New Chore",
    "newChoreButtonText": "ES: New Chore",
    "loadingState": {
      "loadingChores": "ES: Loading chores..."
    },
    "calendar": {
      "prevMonthLabel": "ES: Previous month",
      "nextMonthLabel": "ES: Next month",
      "weekdays": {
        "sun": "ES: Sun",
        "mon": "ES: Mon",
        "tue": "ES: Tue",
        "wed": "ES: Wed",
        "thu": "ES: Thu",
        "fri": "ES: Fri",
        "sat": "ES: Sat"
      },
      "addChoreToDayLabel": "ES: Add chore to this day",
      "emptyState": "ES: No chores to display for this period."
    },
    "listView": {
      "choreTypePersonal": "ES: Personal",
      "choreTypeGroupFallback": "ES: Group",
      "completedDatePrefix": "ES: Completed:",
      "actions": {
        "doneTitle": "ES: Mark as Done",
        "doneText": "ES: Done",
        "undoTitle": "ES: Mark as Not Done",
        "undoText": "ES: Undo",
        "editTitle": "ES: Edit",
        "editLabel": "ES: Edit chore",
        "editText": "ES: Edit",
        "deleteTitle": "ES: Delete",
        "deleteLabel": "ES: Delete chore",
        "deleteText": "ES: Delete"
      },
      "emptyState": {
        "message": "ES: No chores in this view. Well done!",
        "viewAllButton": "ES: View All Pending"
      }
    },
    "choreModal": {
      "editTitle": "ES: Edit Chore",
      "newTitle": "ES: New Chore",
      "closeButtonLabel": "ES: Close modal",
      "nameLabel": "ES: Name",
      "namePlaceholder": "ES: Enter chore name",
      "typeLabel": "ES: Type",
      "typePersonal": "ES: Personal",
      "typeGroup": "ES: Group",
      "groupLabel": "ES: Group",
      "groupSelectDefault": "ES: Select a group",
      "descriptionLabel": "ES: Description",
      "descriptionPlaceholder": "ES: Add a description (optional)",
      "frequencyLabel": "ES: Frequency",
      "intervalLabel": "ES: Interval (days)",
      "intervalPlaceholder": "ES: e.g. 3",
      "dueDateLabel": "ES: Due Date",
      "quickDueDateToday": "ES: Today",
      "quickDueDateTomorrow": "ES: Tomorrow",
      "quickDueDateNextWeek": "ES: Next Week",
      "cancelButton": "ES: Cancel",
      "saveButton": "ES: Save"
    },
    "deleteDialog": {
      "title": "ES: Delete Chore",
      "confirmationText": "ES: Are you sure you want to delete this chore? This action cannot be undone.",
      "deleteButton": "ES: Delete"
    },
    "shortcutsModal": {
      "title": "ES: Keyboard Shortcuts",
      "descNewChore": "ES: New Chore",
      "descToggleView": "ES: Toggle View (List/Calendar)",
      "descToggleShortcuts": "ES: Show/Hide Shortcuts",
      "descCloseModal": "ES: Close any open Modal/Dialog"
    },
    "frequencyOptions": {
      "oneTime": "ES: One Time",
      "daily": "ES: Daily",
      "weekly": "ES: Weekly",
      "monthly": "ES: Monthly",
      "custom": "ES: Custom"
    },
    "formatters": {
      "noDueDate": "ES: No due date",
      "dueToday": "ES: Due Today",
      "dueTomorrow": "ES: Due Tomorrow",
      "overdueFull": "ES: Overdue: {date}",
      "dueFull": "ES: Due {date}",
      "invalidDate": "ES: Invalid Date"
    },
    "notifications": {
      "loadFailed": "ES: Failed to load chores",
      "updateSuccess": "ES: Chore '{name}' updated successfully",
      "createSuccess": "ES: Chore '{name}' created successfully",
      "updateFailed": "ES: Failed to update chore",
      "createFailed": "ES: Failed to create chore",
      "deleteSuccess": "ES: Chore '{name}' deleted successfully",
      "deleteFailed": "ES: Failed to delete chore",
      "markedDone": "ES: {name} marked as done.",
      "markedNotDone": "ES: {name} marked as not done.",
      "statusUpdateFailed": "ES: Failed to update chore status."
    },
    "validation": {
      "nameRequired": "ES: Chore name is required.",
      "groupRequired": "ES: Please select a group for group chores.",
      "intervalRequired": "ES: Custom interval must be at least 1 day.",
      "dueDateRequired": "ES: Due date is required.",
      "invalidDueDate": "ES: Invalid due date format."
    },
    "unsavedChangesConfirmation": "ES: You have unsaved changes in the chore form. Are you sure you want to leave?"
  },
  "errorNotFoundPage": {
    "errorCode": "ES: 404",
    "errorMessage": "ES: Oops. Nothing here...",
    "goHomeButton": "ES: Go Home"
  },
  "groupDetailPage": {
    "loadingLabel": "ES: Loading group details...",
    "retryButton": "ES: Retry",
    "groupNotFound": "ES: Group not found or an error occurred.",
    "members": {
      "title": "ES: Group Members",
      "defaultRole": "ES: Member",
      "removeButton": "ES: Remove",
      "emptyState": "ES: No members found."
    },
    "invites": {
      "title": "ES: Invite Members",
      "regenerateButton": "ES: Regenerate Invite Code",
      "generateButton": "ES: Generate Invite Code",
      "activeCodeLabel": "ES: Current Active Invite Code:",
      "copyButtonLabel": "ES: Copy invite code",
      "copySuccess": "ES: Invite code copied to clipboard!",
      "emptyState": "ES: No active invite code. Click the button above to generate one.",
      "errors": {
        "newDataInvalid": "ES: New invite code data is invalid."
      }
    },
    "chores": {
      "title": "ES: Group Chores",
      "manageButton": "ES: Manage Chores",
      "duePrefix": "ES: Due:",
      "emptyState": "ES: No chores scheduled. Click \"Manage Chores\" to create some!"
    },
    "expenses": {
      "title": "ES: Group Expenses",
      "manageButton": "ES: Manage Expenses",
      "emptyState": "ES: No expenses recorded. Click \"Manage Expenses\" to add some!",
      "splitTypes": {
        "equal": "ES: Equal",
        "exactAmounts": "ES: Exact Amounts",
        "percentage": "ES: Percentage",
        "shares": "ES: Shares",
        "itemBased": "ES: Item Based"
      }
    },
    "notifications": {
      "fetchDetailsFailed": "ES: Failed to fetch group details.",
      "fetchInviteFailed": "ES: Failed to fetch active invite code.",
      "generateInviteSuccess": "ES: New invite code generated successfully!",
      "generateInviteError": "ES: Failed to generate invite code.",
      "clipboardNotSupported": "ES: Clipboard not supported or no code to copy.",
      "copyInviteFailed": "ES: Failed to copy invite code.",
      "removeMemberSuccess": "ES: Member removed successfully",
      "removeMemberFailed": "ES: Failed to remove member"
    }
  },
  "accountPage": {
    "title": "Account Settings",
    "loadingProfile": "Loading profile...",
    "retryButton": "Retry",
    "profileSection": {
      "header": "Profile Information",
      "nameLabel": "Name",
      "emailLabel": "Email",
      "saveButton": "Save Changes"
    },
    "passwordSection": {
      "header": "Change Password",
      "currentPasswordLabel": "Current Password",
      "newPasswordLabel": "New Password",
      "changeButton": "Change Password"
    },
    "notificationsSection": {
      "header": "Notification Preferences",
      "emailNotificationsLabel": "Email Notifications",
      "emailNotificationsDescription": "Receive email notifications for important updates",
      "listUpdatesLabel": "List Updates",
      "listUpdatesDescription": "Get notified when lists are updated",
      "groupActivitiesLabel": "Group Activities",
      "groupActivitiesDescription": "Receive notifications for group activities"
    },
    "notifications": {
      "profileLoadFailed": "Failed to load profile",
      "profileUpdateSuccess": "Profile updated successfully",
      "profileUpdateFailed": "Failed to update profile",
      "passwordFieldsRequired": "Please fill in both current and new password fields.",
      "passwordTooShort": "New password must be at least 8 characters long.",
      "passwordChangeSuccess": "Password changed successfully",
      "passwordChangeFailed": "Failed to change password",
      "preferencesUpdateSuccess": "Preferences updated successfully",
      "preferencesUpdateFailed": "Failed to update preferences"
    },
    "saving": "Saving..."
  },
  "signupPage": {
    "header": "Sign Up",
    "fullNameLabel": "Full Name",
    "emailLabel": "Email",
    "passwordLabel": "Password",
    "confirmPasswordLabel": "Confirm Password",
    "togglePasswordVisibility": "Toggle password visibility",
    "submitButton": "Sign Up",
    "loginLink": "Already have an account? Login",
    "validation": {
      "nameRequired": "Name is required",
      "emailRequired": "Email is required",
      "emailInvalid": "Invalid email format",
      "passwordRequired": "Password is required",
      "passwordLength": "Password must be at least 8 characters",
      "confirmPasswordRequired": "Please confirm your password",
      "passwordsNoMatch": "Passwords do not match"
    },
    "notifications": {
      "signupFailed": "Signup failed. Please try again.",
      "signupSuccess": "Account created successfully. Please login."
    }
  },
  "listDetailPage": {
    "loading": {
      "list": "Loading list...",
      "items": "Loading items...",
      "ocrProcessing": "Processing image...",
      "addingOcrItems": "Adding OCR items...",
      "costSummary": "Loading summary...",
      "expenses": "Loading expenses...",
      "settlement": "Processing settlement..."
    },
    "errors": {
      "fetchFailed": "Failed to load list details.",
      "genericLoadFailure": "Group not found or an error occurred.",
      "ocrNoItems": "No items extracted from the image.",
      "ocrFailed": "Failed to process image.",
      "addItemFailed": "Failed to add item.",
      "updateItemFailed": "Failed to update item.",
      "updateItemPriceFailed": "Failed to update item price.",
      "deleteItemFailed": "Failed to delete item.",
      "addOcrItemsFailed": "Failed to add OCR items.",
      "fetchItemsFailed": "Failed to load items: {errorMessage}",
      "loadCostSummaryFailed": "Failed to load cost summary."
    },
    "retryButton": "Retry",
    "buttons": {
      "addViaOcr": "Add via OCR",
      "addItem": "Add",
      "addItems": "Add Items",
      "cancel": "Cancel",
      "confirm": "Confirm",
      "saveChanges": "Save Changes",
      "close": "Close",
      "costSummary": "Cost Summary"
    },
    "badges": {
      "groupList": "Group List",
      "personalList": "Personal List"
    },
    "items": {
      "emptyState": {
        "title": "No Items Yet!",
        "message": "Add some items using the form below."
      },
      "addItemForm": {
        "placeholder": "Add a new item",
        "quantityPlaceholder": "Qty",
        "itemNameSrLabel": "New item name",
        "quantitySrLabel": "Quantity"
      },
      "pricePlaceholder": "Price",
      "editItemAriaLabel": "Edit item",
      "deleteItemAriaLabel": "Delete item"
    },
    "modals": {
      "ocr": {
        "title": "Add Items via OCR",
        "uploadLabel": "Upload Image"
      },
      "confirmation": {
        "title": "Confirmation"
      },
      "editItem": {
        "title": "Edit Item",
        "nameLabel": "Item Name",
        "quantityLabel": "Quantity"
      },
      "costSummary": {
        "title": "List Cost Summary",
        "totalCostLabel": "Total List Cost:",
        "equalShareLabel": "Equal Share Per User:",
        "participantsLabel": "Participating Users:",
        "userBalancesHeader": "User Balances",
        "tableHeaders": {
          "user": "User",
          "itemsAddedValue": "Items Added Value",
          "amountDue": "Amount Due",
          "balance": "Balance"
        },
        "emptyState": "No cost summary available."
      },
      "settleShare": {
        "title": "Settle Share",
        "settleAmountFor": "Settle amount for {userName}:",
        "amountLabel": "Amount",
        "errors": {
            "enterAmount": "Please enter an amount.",
            "positiveAmount": "Please enter a positive amount.",
            "exceedsRemaining": "Amount cannot exceed remaining: {amount}.",
            "noSplitSelected": "Error: No split selected."
        }
      }
    },
    "confirmations": {
      "updateMessage": "Mark '{itemName}' as {status}?",
      "statusComplete": "complete",
      "statusIncomplete": "incomplete",
      "deleteMessage": "Delete '{itemName}'? This cannot be undone."
    },
    "notifications": {
      "itemAddedSuccess": "Item added successfully.",
      "itemsAddedSuccessOcr": "{count} item(s) added successfully from OCR.",
      "itemUpdatedSuccess": "Item updated successfully.",
      "itemDeleteSuccess": "Item deleted successfully.",
      "enterItemName": "Please enter an item name.",
      "costSummaryLoadFailed": "Failed to load cost summary.",
      "cannotSettleOthersShares": "You can only settle your own shares.",
      "settlementDataMissing": "Cannot process settlement: missing data.",
      "settleShareSuccess": "Share settled successfully!",
      "settleShareFailed": "Failed to settle share."
    },
    "expensesSection": {
      "title": "Expenses",
      "addExpenseButton": "Add Expense",
      "loading": "Loading expenses...",
      "emptyState": "No expenses recorded for this list yet.",
      "paidBy": "Paid by:",
      "onDate": "on",
      "owes": "owes",
      "paidAmount": "Paid:",
      "activityLabel": "Activity:",
      "byUser": "by",
      "settleShareButton": "Settle My Share",
      "retryButton": "Retry"
    },
    "status": {
      "settled": "Settled",
      "partiallySettled": "Partially Settled",
      "unsettled": "Unsettled",
      "paid": "Paid",
      "partiallyPaid": "Partially Paid",
      "unpaid": "Unpaid",
      "unknown": "Unknown Status"
    }
  },
  "myChoresPage": {
    "title": "My Assigned Chores",
    "showCompletedToggle": "Show Completed",
    "timelineHeaders": {
      "overdue": "Overdue",
      "today": "Due Today",
      "thisWeek": "This Week",
      "later": "Later",
      "completed": "Completed"
    },
    "choreCard": {
      "personal": "Personal",
      "group": "Group",
      "duePrefix": "Due",
      "completedPrefix": "Completed",
      "dueToday": "Due Today",
      "markCompleteButton": "Mark Complete"
    },
    "frequencies": {
      "one_time": "One Time",
      "daily": "Daily",
      "weekly": "Weekly",
      "monthly": "Monthly",
      "custom": "Custom",
      "unknown": "Unknown Frequency"
    },
    "dates": {
      "invalidDate": "Invalid Date",
      "unknownDate": "Unknown Date"
    },
    "emptyState": {
      "title": "No Assignments Yet!",
      "noAssignmentsPending": "You have no pending chore assignments.",
      "noAssignmentsAll": "You have no chore assignments (completed or pending).",
      "viewAllChoresButton": "View All Chores"
    },
    "notifications": {
      "loadFailed": "Failed to load assignments",
      "markedComplete": "Marked \"{choreName}\" as complete!",
      "markCompleteFailed": "Failed to mark assignment as complete"
    }
  },
  "personalChoresPage": {
    "title": "Personal Chores",
    "newChoreButton": "New Chore",
    "editButton": "Edit",
    "deleteButton": "Delete",
    "cancelButton": "Cancel",
    "saveButton": "Save",
    "modals": {
      "editChoreTitle": "Edit Chore",
      "newChoreTitle": "New Chore",
      "deleteChoreTitle": "Delete Chore"
    },
    "form": {
      "nameLabel": "Name",
      "descriptionLabel": "Description",
      "frequencyLabel": "Frequency",
      "intervalLabel": "Interval (days)",
      "dueDateLabel": "Next Due Date"
    },
    "deleteDialog": {
      "confirmationText": "Are you sure you want to delete this chore?"
    },
    "frequencies": {
      "one_time": "One Time",
      "daily": "Daily",
      "weekly": "Weekly",
      "monthly": "Monthly",
      "custom": "Custom",
      "unknown": "Unknown Frequency"
    },
    "dates": {
      "invalidDate": "Invalid Date",
      "duePrefix": "Due"
    },
    "notifications": {
      "loadFailed": "Failed to load personal chores",
      "updateSuccess": "Personal chore updated successfully",
      "createSuccess": "Personal chore created successfully",
      "saveFailed": "Failed to save personal chore",
      "deleteSuccess": "Personal chore deleted successfully",
      "deleteFailed": "Failed to delete personal chore"
    }
  },
  "indexPage": {
    "welcomeMessage": "Welcome to Valerie UI App",
    "mainPageInfo": "This is the main index page.",
    "sampleTodosHeader": "Sample Todos (from IndexPage data)",
    "totalCountLabel": "Total count from meta:",
    "noTodos": "No todos to display."
  }
}
