{
  "title": "Shopping list",
  "nav": "Shopping",
  "list": {
    "create": "Create list",
    "rename": "Rename list",
    "delete": "Delete list",
    "deleteConfirm": {
      "title": "Delete this list?",
      "description": "This will permanently delete \"{name}\" and all its items. This action cannot be undone."
    },
    "namePlaceholder": "List name",
    "empty": {
      "title": "Nothing on the list yet",
      "message": "Add what you need below, or send ingredients over from a recipe or your meal plan.",
      "addItem": "Add an item",
      "generateFromPlan": "Generate from plan"
    },
    "itemCount": "{count, plural, one {# item} other {# items}}",
    "checkedCount": "{count, plural, one {# checked} other {# checked}}",
    "remainingCount": "{count, plural, =0 {All done} one {# left} other {# left}}",
    "updatedToday": "Updated today",
    "updatedYesterday": "Updated yesterday",
    "updatedDaysAgo": "Updated {count, plural, one {# day ago} other {# days ago}}",
    "unavailable": {
      "title": "This list isn't available",
      "message": "It may have been deleted, or stopped being shared with you. Pick another list from the heading above."
    },
    "actions": "List options",
    "renameDescription": "Give this list a new name.",
    "primaryBadge": "Primary list"
  },
  "item": {
    "add": "Add item",
    "actions": "Item options",
    "edit": "Edit item",
    "merge": "Merge with another item",
    "remove": "Remove item",
    "check": "Mark as got it",
    "uncheck": "Mark as needed",
    "placeholder": "e.g. olive oil",
    "quantityPlaceholder": "Qty",
    "notePlaceholder": "Note (optional)",
    "clearChecked": "Clear checked items",
    "clearCheckedConfirm": {
      "title": "Clear checked items?",
      "description": "This will remove all {count, plural, one {# checked item} other {# checked items}} from your list."
    },
    "expand": "Show sources",
    "collapse": "Hide sources",
    "sources": "Sources",
    "save": "Save changes",
    "quantityInvalid": "Enter a positive quantity with up to one decimal.",
    "clearedChecked": "{count, plural, one {# checked item} other {# checked items}} cleared",
    "undo": "Undo",
    "removedToast": "{name} removed",
    "undoUnavailable": "That undo has expired"
  },
  "cart": {
    "title": "In your cart",
    "note": "These clear when your next shopping trip starts.",
    "allCollected": "Everything on your list is in your cart.",
    "sweptToast": "{count, plural, one {# item} other {# items}} cleared for a new trip"
  },
  "suggestion": {
    "dismiss": "Dismiss this suggestion",
    "sortAisles": {
      "title": "{count, plural, one {# item is not in an aisle yet} other {# items are not in an aisle yet}}",
      "message": "Sort them so your list reads in the order you walk the store.",
      "action": "Sort into aisles",
      "sortedToast": "{count, plural, one {# item sorted} other {# items sorted}} into aisles",
      "failedToast": "Those items could not be sorted. Try again."
    },
    "duplicate": {
      "title": "{name} is on your list twice",
      "message": "Review the two rows and combine them if they are the same thing.",
      "action": "Review"
    }
  },
  "mergeDialog": {
    "title": "Merge shopping items",
    "description": "Choose the item that should stay on your list.",
    "searchPlaceholder": "Search shopping items",
    "searchLabel": "Search shopping items",
    "candidateListLabel": "Shopping items to merge",
    "quantity": "Quantity",
    "purchased": "Purchased",
    "unitMismatch": "Uses {unit}. Match the units before merging.",
    "sourceLimit": "This item has too many sources to merge.",
    "empty": "No other items to merge.",
    "reviewMessage": "{source} will be combined into {target}.",
    "targetLabel": "Item that stays",
    "finalQuantityLabel": "Final quantity",
    "sourceLabel": "Item to combine",
    "categoryLabel": "Category",
    "unchangedNote": "Recipes and planned meals stay unchanged.",
    "back": "Back",
    "cancel": "Cancel",
    "merge": "Merge items",
    "merging": "Merging…",
    "conflict": "This list changed. Refresh and choose the items again.",
    "error": "Couldn't merge these items. Try again in a moment.",
    "successToast": "Merged {source} into {target}",
    "undoStale": "The list changed elsewhere, so this merge stays in place.",
    "undoUnavailable": "That merge undo has expired"
  },
  "shoppingCategories": {
    "produce": "Produce",
    "dairy": "Dairy",
    "meat": "Meat",
    "seafood": "Seafood",
    "meat_seafood": "Meat and seafood",
    "bakery": "Bakery",
    "pantry": "Pantry",
    "frozen": "Frozen",
    "canned": "Canned goods",
    "dry_goods": "Dry goods",
    "spices": "Spices",
    "condiments": "Condiments",
    "snacks": "Snacks",
    "beverages": "Beverages",
    "deli": "Deli",
    "other": "Other"
  },
  "source": {
    "fromPlanner": "From meal plan",
    "fromRecipe": "From recipe",
    "manual": "Added manually",
    "recipe": "From \"{title}\""
  },
  "generate": {
    "fromPlanner": "Generate from meal plan",
    "fromRecipes": "Generate from recipes",
    "fromPlannerDescription": "Create a shopping list from your planned meals for the selected week.",
    "fromRecipesDescription": "Create a shopping list from one or more recipes.",
    "selectWeek": "Select week",
    "selectRecipes": "Select recipes",
    "success": "Shopping list ready",
    "error": "Couldn't generate the list. Try again in a moment.",
    "replaceWarning": "This will replace your current list.",
    "mergeOrReplace": "Merge with current list or start fresh?",
    "merge": "Merge",
    "replace": "Replace",
    "addedToList": "{count, plural, one {# item} other {# items}} added to your list",
    "skippedPantry": "{count, plural, one {# item} other {# items}} skipped, already in your pantry",
    "viewList": "View list",
    "addRecipe": "Add ingredients to shopping list",
    "alreadyAdded": "{count, plural, one {# planned meal was} other {# planned meals were}} already on the list",
    "nothingNew": "Nothing new to add"
  },
  "reviewDialog": {
    "title": "Review ingredients for {recipeTitle}",
    "destination": "Adding to {name}",
    "destinationLabel": "Add to",
    "destinationPrimaryOption": "{name} (primary)",
    "destinationNewListOption": "New list...",
    "destinationListNameLabel": "List name",
    "destinationListNamePlaceholder": "e.g. Weekly shop",
    "selectAll": "Select all",
    "selectedTally": "{count, plural, one {# selected} other {# selected}}",
    "confirm": "{count, plural, one {Add # item} other {Add # items}}",
    "cancel": "Cancel",
    "refresh": "Refresh",
    "close": "Close",
    "outcomeMerge": "Merges into an existing item",
    "outcomeReactivate": "Un-checks an existing item",
    "errorTitle": "Couldn't load this recipe's ingredients",
    "errorDescription": "Something went wrong. Try again in a moment.",
    "retry": "Try again",
    "staleTitle": "This list changed",
    "staleDescription": "Someone or something updated the list since you opened this review. Refresh to see the latest before adding.",
    "emptyTitle": "Nothing to add",
    "emptyDescription": "Every ingredient in this recipe is already on your list or in your pantry."
  },
  "plannerReviewDialog": {
    "title": "Review ingredients from your meal plan",
    "errorTitle": "Couldn't load your meal plan's ingredients",
    "emptyDescription": "Every ingredient from your meal plan is already on your list or in your pantry.",
    "viewSwitch": {
      "label": "View",
      "allIngredients": "All ingredients",
      "byRecipe": "By recipe"
    },
    "byRecipeView": {
      "sharedCount": "{count, plural, one {Counted once, also in # other meal} other {Counted once, also in # other meals}}"
    }
  },
  "sourceStack": {
    "trigger": "{count, plural, one {View # source recipe} other {View # source recipes}}",
    "overflow": "+{count}"
  },
  "pantrySection": {
    "title": "Already in your pantry",
    "description": "These stay off your list by default. Add one anyway if you're running low, or add it and clear it from your pantry.",
    "addAnyway": "Add anyway",
    "addAndRemove": "Add and remove from pantry",
    "undo": "Undo",
    "stagedAddAnyway": "Adding, staying in pantry",
    "stagedAddAndRemove": "Adding, removing from pantry",
    "showMore": "{count, plural, one {Show # more} other {Show # more}}",
    "showLess": "Show less"
  },
  "scope": {
    "personal": "Personal",
    "household": "Family",
    "personalDescription": "Only visible to you",
    "householdDescription": "Shared with your Family"
  },
  "empty": {
    "createFirst": "Create your first list",
    "defaultListName": "Groceries"
  },
  "actions": {
    "share": "Share list",
    "copyToClipboard": "Copy to clipboard",
    "copied": "List copied",
    "print": "Print list"
  },
  "createList": {
    "title": "Create shopping list",
    "namePlaceholder": "e.g. Weekly groceries",
    "nameLabel": "List name",
    "scopeLabel": "Who can see this list",
    "create": "Create list",
    "cancel": "Cancel"
  },
  "addItem": {
    "nameLabel": "Item name",
    "namePlaceholder": "e.g. olive oil",
    "quantityLabel": "Quantity",
    "quantityPlaceholder": "1",
    "unitLabel": "Unit",
    "unitPlaceholder": "e.g. kg, oz, cups",
    "categoryLabel": "Category",
    "cancel": "Cancel"
  },
  "pantry": {
    "title": "Pantry",
    "description": "Things you already have at home. Anything here stays off your shopping list when we add ingredients from recipes or your meal plan.",
    "addPlaceholder": "Add a staple, like olive oil or rice...",
    "add": "Add",
    "remove": "Remove {name} from pantry",
    "listLabel": "Pantry items",
    "empty": {
      "title": "Nothing in your pantry yet",
      "message": "Add the staples you always have, and we'll keep them off your shopping list."
    },
    "haveItAtHome": "I have this at home",
    "movedToPantry": "{name} moved to your pantry",
    "undoStale": "Pantry changed elsewhere: {name} stays removed",
    "explainer": {
      "title": "Add {name} to your pantry?",
      "description": "We'll leave it off when adding ingredients from recipes or meal plans. You can undo this right afterward.",
      "confirm": "Add to pantry"
    }
  },
  "export": {
    "copyAsText": "Copy as text",
    "copied": "List copied",
    "copyFailed": "Couldn't copy the list",
    "nothingToCopy": "Nothing to copy yet",
    "pushTo": "Send to {name}",
    "pushed": "Sent {count, plural, one {# item} other {# items}} to {name}",
    "pushFailed": "Couldn't reach {name}",
    "pushRejected": "{name} refused the list (error {status})",
    "pushDisabled": "{name} is switched off"
  },
  "integrations": {
    "manage": "Sync with other apps",
    "title": "Sync with other apps",
    "description": "Send this list to another app through a webhook. Works with Home Assistant, Bring bridges, and anything that accepts a simple POST.",
    "listLabel": "Connected endpoints",
    "nameLabel": "Name",
    "namePlaceholder": "e.g. Bring via Home Assistant",
    "urlLabel": "Webhook URL",
    "urlInvalid": "Enter a valid https URL.",
    "urlHint": "We send the list as JSON to this address.",
    "enabled": "Enabled",
    "remove": "Remove endpoint",
    "add": "Add endpoint",
    "learnMore": "How webhooks work"
  },
  "switcher": {
    "groupPersonal": "Your lists",
    "groupHousehold": "Family",
    "groupShared": "Shared with you",
    "newList": "New list…",
    "pantryHeading": "Pantry",
    "personalPantry": "Your pantry",
    "householdPantry": "Family pantry"
  },
  "arrangement": {
    "label": "Arrangement",
    "aisle": "By aisle",
    "alpha": "A to Z",
    "recent": "Recently added"
  },
  "composer": {
    "label": "Add an item",
    "placeholder": "Add anything, and we'll file it in the right aisle",
    "submit": "Add",
    "added": "Added {name}",
    "addedToAisle": "Added {name} to {aisle}"
  },
  "readOnly": {
    "note": "{owner} shared this list with you. View only.",
    "noteWithoutOwner": "This list was shared with you. View only."
  },
  "share": {
    "menuLabel": "Share list",
    "title": "Share this list",
    "description": "Editors can add and check off items. Viewers can only look.",
    "identifierPlaceholder": "Email or username",
    "invalidIdentifier": "Enter an email address or username",
    "add": "Share",
    "added": "List shared",
    "empty": "Share this list to cook and shop together.",
    "listLabel": "People with access",
    "remove": "Remove {name}",
    "sharedWithYou": "Shared with you",
    "roles": {
      "editor": "Editor",
      "viewer": "Viewer"
    }
  }
}
