{
  "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",
    "clearAll": "Clear all 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",
    "clearedAll": "{count, plural, one {# item} other {# items}} cleared",
    "undo": "Undo",
    "removedToast": "{name} removed",
    "undoUnavailable": "That undo has expired",
    "checkboxLabel": "{name}, {quantity}",
    "removeSwipeAction": "Remove",
    "reorder": "Reorder {name}",
    "reorderTooltip": "Drag to reorder",
    "moveUp": "Move up",
    "moveDown": "Move down",
    "moveToAisle": "Move to aisle"
  },
  "drag": {
    "instructions": "To pick up an item, focus its reorder handle and press Space or Enter. Use the up and down arrow keys to move it, press Space or Enter again to drop it, or press Escape to cancel.",
    "pickedUp": "Picked up {name}",
    "over": "{name} is in {aisle}, position {position} of {count}",
    "dropped": "{name} moved to position {position} of {count}",
    "droppedInAisle": "{name} moved to {aisle}, position {position} of {count}",
    "cancelled": "Stopped moving {name}. It stays where it was."
  },
  "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}}",
      "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 {count, plural, =2 {twice} other {# times}}",
      "action": "Review"
    }
  },
  "mergeDialog": {
    "title": "Merge shopping items",
    "duplicateTitle": "Merge {name} into one item",
    "description": "Choose the item that should stay on your list.",
    "pickDescription": "Choose the item to merge {name} with.",
    "reviewDescription": "Choose the one to keep. The other merges into it.",
    "searchPlaceholder": "Search shopping items",
    "searchLabel": "Search shopping items",
    "candidateListLabel": "Shopping items to merge",
    "quantity": "Quantity",
    "purchased": "Purchased",
    "noAmount": "No amount",
    "keepLabel": "Item to keep",
    "resultTitle": "After merging",
    "totalLabel": "Total amount",
    "differentUnitsHint": "These amounts are in different units, so they can't be added up. Enter the total you need.",
    "quantityInvalid": "Enter a positive amount with up to two decimals.",
    "unitMismatch": "Uses {unit}. Match the units before merging.",
    "sourceLimit": "These items come from too many recipes and meals to merge into one.",
    "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",
    "sheetTitle": "Merge items",
    "sheetMerge": "Merge",
    "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}",
    "combinedToast": "Merged {name} into one item",
    "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}\"",
    "summary": "{count, plural, =0 {{label}} other {{label} + # more}}"
  },
  "sources": {
    "fromPlan": "From your meal plan",
    "fromRecipes": "From recipes",
    "addedByYou": "Added by you",
    "total": "Total"
  },
  "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}",
    "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",
    "familyListsErrorDescription": "Ingredients from a Family recipe go to a Family list. Try again, or use one of your own lists instead.",
    "useMyLists": "Use my lists",
    "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": {
    "alreadyOnListTitle": "Some recipes are already on this list",
    "alreadyOnListDescription": "{count, plural, one {# recipe in this plan is} other {# recipes in this plan are}} already on this list. Adding the week again may increase those quantities.",
    "title": "Add meals to your shopping list",
    "errorTitle": "Couldn't load your meal plan's ingredients",
    "listsErrorTitle": "Couldn't load your shopping lists",
    "emptyDescription": "Every ingredient from your meal plan is already on your list or in your pantry.",
    "viewSwitch": {
      "label": "Group ingredients",
      "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",
    "introTitle": "Already have some of these?",
    "introDescription": "Uncheck them above. To skip staples every time, mark them “I have this at home” on your shopping list."
  },
  "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",
    "removeAction": "Remove 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"
    },
    "swipeAction": "At home"
  },
  "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",
    "householdUnavailable": "Couldn't load Family lists",
    "householdRetry": "Try again",
    "groupShared": "Shared with you",
    "newList": "New list…",
    "pantryHeading": "Pantry",
    "personalPantry": "Your pantry",
    "householdPantry": "Family pantry"
  },
  "arrangement": {
    "label": "Sort by",
    "aisle": "By aisle",
    "alpha": "A to Z",
    "recent": "Recently added"
  },
  "composer": {
    "label": "Add an item",
    "placeholder": "Add an item",
    "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."
  },
  "sourceCorrection": {
    "title": "A recipe correction can update this list",
    "summary": "{recipe}: {added} added, {updated} updated, {removed} removed",
    "reviewLatestDescription": "Review the latest shopping changes from {recipe}.",
    "view": "View correction",
    "review": "Review shopping update",
    "keep": "Keep this list",
    "reviewTitle": "Review shopping update",
    "reviewDescription": "Only the contribution from {recipe} will change.",
    "offline": "You’re offline. The saved preview is readable, but Apply is unavailable.",
    "stale": "The recipe or list changed. Review the latest preview before applying.",
    "error": "The shopping update could not be refreshed. Try again.",
    "applied": "Shopping list updated.",
    "reviewLatest": "Review latest",
    "apply": "Apply shopping update",
    "preserved": "Manual quantities, checked items, and contributions from other recipes stay unchanged.",
    "legacyTitle": "This older contribution cannot be matched safely",
    "legacyDescription": "Keep this list or add the corrected recipe again. No shopping items were changed.",
    "outcome": {
      "updated": "Updated",
      "removed": "Removed",
      "manualRetained": "Recipe amount removed; your manual amount stays",
      "unresolved": "Kept unchanged because the amount could not be matched safely",
      "optional": "Optional addition; not added automatically"
    }
  },
  "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"
    }
  }
}
