1
0
Fork 0
mirror of https://github.com/mealie-recipes/mealie.git synced 2025-07-19 13:19:41 +02:00

Merge branch 'mealie-next' into reset-scroll-position

This commit is contained in:
Kuchenpirat 2025-07-12 01:32:32 +02:00 committed by GitHub
commit 6e16a16cd8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 457 additions and 456 deletions

View file

@ -31,7 +31,7 @@ To deploy mealie on your local network, it is highly recommended to use Docker t
We've gone through a few versions of Mealie v1 deployment targets. We have settled on a single container deployment, and we've begun publishing the nightly container on github containers. If you're looking to move from the old nightly (split containers _or_ the omni image) to the new nightly, there are a few things you need to do: We've gone through a few versions of Mealie v1 deployment targets. We have settled on a single container deployment, and we've begun publishing the nightly container on github containers. If you're looking to move from the old nightly (split containers _or_ the omni image) to the new nightly, there are a few things you need to do:
1. Take a backup just in case! 1. Take a backup just in case!
2. Replace the image for the API container with `ghcr.io/mealie-recipes/mealie:v2.8.0` 2. Replace the image for the API container with `ghcr.io/mealie-recipes/mealie:v3.0.0`
3. Take the external port from the frontend container and set that as the port mapped to port `9000` on the new container. The frontend is now served on port 9000 from the new container, so it will need to be mapped for you to have access. 3. Take the external port from the frontend container and set that as the port mapped to port `9000` on the new container. The frontend is now served on port 9000 from the new container, so it will need to be mapped for you to have access.
4. Restart the container 4. Restart the container

View file

@ -7,7 +7,7 @@ PostgreSQL might be considered if you need to support many concurrent users. In
```yaml ```yaml
services: services:
mealie: mealie:
image: ghcr.io/mealie-recipes/mealie:v2.8.0 # (3) image: ghcr.io/mealie-recipes/mealie:v3.0.0 # (3)
container_name: mealie container_name: mealie
restart: always restart: always
ports: ports:

View file

@ -11,7 +11,7 @@ SQLite is a popular, open source, self-contained, zero-configuration database th
```yaml ```yaml
services: services:
mealie: mealie:
image: ghcr.io/mealie-recipes/mealie:v2.8.0 # (3) image: ghcr.io/mealie-recipes/mealie:v3.0.0 # (3)
container_name: mealie container_name: mealie
restart: always restart: always
ports: ports:

View file

@ -42,6 +42,8 @@ export default defineNuxtComponent({
.v-main { .v-main {
display: block; display: block;
padding: 0 !important;
margin: 0 !important;
} }
.v-main__wrap { .v-main__wrap {

View file

@ -23,18 +23,17 @@
</v-icon> </v-icon>
{{ recipe.name }} {{ recipe.name }}
</v-card-title> </v-card-title>
<div v-if="recipeYield" <div
class="d-flex justify-space-between align-center px-4 pb-2" v-if="recipeYield"
> class="d-flex justify-space-between align-center pb-6"
<v-chip :size="$vuetify.display.smAndDown ? 'small' : undefined"
label
> >
<div>
<v-icon start> <v-icon start>
{{ $globals.icons.potSteam }} {{ $globals.icons.potSteam }}
</v-icon> </v-icon>
<!-- eslint-disable-next-line vue/no-v-html --> <!-- eslint-disable-next-line vue/no-v-html -->
<span v-html="recipeYield" /> <span v-html="recipeYield" />
</v-chip> </div>
</div> </div>
<v-row class="d-flex justify-start"> <v-row class="d-flex justify-start">
<RecipeTimeCard :prep-time="recipe.prepTime" <RecipeTimeCard :prep-time="recipe.prepTime"

View file

@ -9,7 +9,7 @@ export const LOCALES = [
{ {
name: "简体中文 (Chinese simplified)", name: "简体中文 (Chinese simplified)",
value: "zh-CN", value: "zh-CN",
progress: 32, progress: 33,
dir: "ltr", dir: "ltr",
}, },
{ {
@ -33,7 +33,7 @@ export const LOCALES = [
{ {
name: "Svenska (Swedish)", name: "Svenska (Swedish)",
value: "sv-SE", value: "sv-SE",
progress: 37, progress: 39,
dir: "ltr", dir: "ltr",
}, },
{ {
@ -159,7 +159,7 @@ export const LOCALES = [
{ {
name: "Français (French)", name: "Français (French)",
value: "fr-FR", value: "fr-FR",
progress: 37, progress: 38,
dir: "ltr", dir: "ltr",
}, },
{ {
@ -213,7 +213,7 @@ export const LOCALES = [
{ {
name: "Deutsch (German)", name: "Deutsch (German)",
value: "de-DE", value: "de-DE",
progress: 39, progress: 46,
dir: "ltr", dir: "ltr",
}, },
{ {

View file

@ -288,7 +288,7 @@
"household-group": "Группа домохозяйства", "household-group": "Группа домохозяйства",
"household-management": "Управление домохозяйствами", "household-management": "Управление домохозяйствами",
"manage-households": "Управление Домами", "manage-households": "Управление Домами",
"admin-household-management": "Admin Household Management", "admin-household-management": "Управление Домохозяйством",
"admin-household-management-text": "Изменения в данном домохозяйстве будут отражены немедленно.", "admin-household-management-text": "Изменения в данном домохозяйстве будут отражены немедленно.",
"household-id-value": "Id домохозяйства: {0}", "household-id-value": "Id домохозяйства: {0}",
"private-household": "Частное домохозяйство", "private-household": "Частное домохозяйство",
@ -298,7 +298,7 @@
"household-recipe-preferences": "Предпочтения для рецептов домашнего хозяйства", "household-recipe-preferences": "Предпочтения для рецептов домашнего хозяйства",
"default-recipe-preferences-description": "Это настройки по умолчанию, когда в вашем домашнем хозяйстве создается новый рецепт. Они могут быть изменены для отдельных рецептов в меню настроек рецепта.", "default-recipe-preferences-description": "Это настройки по умолчанию, когда в вашем домашнем хозяйстве создается новый рецепт. Они могут быть изменены для отдельных рецептов в меню настроек рецепта.",
"allow-users-outside-of-your-household-to-see-your-recipes": "Разрешить пользователям вне вашего домохозяйства видеть ваши рецепты", "allow-users-outside-of-your-household-to-see-your-recipes": "Разрешить пользователям вне вашего домохозяйства видеть ваши рецепты",
"allow-users-outside-of-your-household-to-see-your-recipes-description": "When enabled you can use a public share link to share specific recipes without authorizing the user. When disabled, you can only share recipes with users who are in your household or with a pre-generated private link", "allow-users-outside-of-your-household-to-see-your-recipes-description": "При включении данной функции, вы можете делиться публичной ссылкой на данный рецепт, чтобы поделиться им с людьми без аккаунта. Если функция выключена — поделиться рецептом можно только с пользователями внутри вашего домохозяйства или по предварительно сгенерированной приватной ссылке",
"household-preferences": "Параметры домохозяйства" "household-preferences": "Параметры домохозяйства"
}, },
"meal-plan": { "meal-plan": {

View file

@ -8,7 +8,7 @@
"database-type": "数据库类型", "database-type": "数据库类型",
"database-url": "数据库 URL", "database-url": "数据库 URL",
"default-group": "默认群组", "default-group": "默认群组",
"default-household": "Default Household", "default-household": "默认家庭",
"demo": "演示", "demo": "演示",
"demo-status": "演示状态", "demo-status": "演示状态",
"development": "开发版", "development": "开发版",
@ -280,26 +280,26 @@
"you-must-select-a-group-before-selecting-a-household": "你必须先选择一个组才能选择一个家庭" "you-must-select-a-group-before-selecting-a-household": "你必须先选择一个组才能选择一个家庭"
}, },
"household": { "household": {
"household": "Household", "household": "家庭",
"households": "Households", "households": "家庭",
"user-household": "User Household", "user-household": "用户家庭",
"create-household": "Create Household", "create-household": "创建家庭",
"household-name": "Household Name", "household-name": "家庭名称",
"household-group": "Household Group", "household-group": "家庭组",
"household-management": "Household Management", "household-management": "家庭管理",
"manage-households": "Manage Households", "manage-households": "管理家庭",
"admin-household-management": "家庭管理员选项", "admin-household-management": "家庭管理员选项",
"admin-household-management-text": "对家庭的更改将立即生效。", "admin-household-management-text": "对家庭的更改将立即生效。",
"household-id-value": "Household Id: {0}", "household-id-value": "家庭ID {0}",
"private-household": "Private Household", "private-household": "私有家庭",
"private-household-description": "Setting your household to private will disable all public view options. This overrides any individual public view settings", "private-household-description": "将家庭设置为私有后,群组内每个食谱单独配置的可见性选项都将被覆盖,所有食谱都无法被公开访问。",
"lock-recipe-edits-from-other-households": "Lock recipe edits from other households", "lock-recipe-edits-from-other-households": "禁止其他家庭编辑食谱",
"lock-recipe-edits-from-other-households-description": "When enabled only users in your household can edit recipes created by your household", "lock-recipe-edits-from-other-households-description": "启用时,只有家庭成员可以编辑由您家庭创建的食谱",
"household-recipe-preferences": "Household Recipe Preferences", "household-recipe-preferences": "家庭食谱偏好设置",
"default-recipe-preferences-description": "These are the default settings when a new recipe is created in your household. These can be changed for individual recipes in the recipe settings menu.", "default-recipe-preferences-description": "These are the default settings when a new recipe is created in your household. These can be changed for individual recipes in the recipe settings menu.",
"allow-users-outside-of-your-household-to-see-your-recipes": "Allow users outside of your household to see your recipes", "allow-users-outside-of-your-household-to-see-your-recipes": "Allow users outside of your household to see your recipes",
"allow-users-outside-of-your-household-to-see-your-recipes-description": "When enabled you can use a public share link to share specific recipes without authorizing the user. When disabled, you can only share recipes with users who are in your household or with a pre-generated private link", "allow-users-outside-of-your-household-to-see-your-recipes-description": "When enabled you can use a public share link to share specific recipes without authorizing the user. When disabled, you can only share recipes with users who are in your household or with a pre-generated private link",
"household-preferences": "Household Preferences" "household-preferences": "家庭偏好设置"
}, },
"meal-plan": { "meal-plan": {
"create-a-new-meal-plan": "新建饮食计划", "create-a-new-meal-plan": "新建饮食计划",
@ -432,7 +432,7 @@
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "请粘贴您的食谱资料。每行将被视为列表中的一项。", "paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "请粘贴您的食谱资料。每行将被视为列表中的一项。",
"recipe-markup-specification": "食谱标记规范", "recipe-markup-specification": "食谱标记规范",
"recipe-url": "食谱网址", "recipe-url": "食谱网址",
"recipe-html-or-json": "Recipe HTML or JSON", "recipe-html-or-json": "食谱的 HTML 或 JSON",
"upload-a-recipe": "上传食谱", "upload-a-recipe": "上传食谱",
"upload-individual-zip-file": "上传从Mealie导出的.zip文件。", "upload-individual-zip-file": "上传从Mealie导出的.zip文件。",
"url-form-hint": "从您最喜爱的食谱网站复制并粘贴链接", "url-form-hint": "从您最喜爱的食谱网站复制并粘贴链接",
@ -467,7 +467,7 @@
"calories-suffix": "卡路里", "calories-suffix": "卡路里",
"carbohydrate-content": "碳水化合物", "carbohydrate-content": "碳水化合物",
"categories": "分类", "categories": "分类",
"cholesterol-content": "Cholesterol", "cholesterol-content": "胆固醇",
"comment-action": "评论", "comment-action": "评论",
"comment": "评论", "comment": "评论",
"comments": "评论", "comments": "评论",
@ -486,8 +486,8 @@
"ingredients": "食材", "ingredients": "食材",
"insert-ingredient": "插入食材", "insert-ingredient": "插入食材",
"insert-section": "插入章节", "insert-section": "插入章节",
"insert-above": "Insert Above", "insert-above": "在上方插入",
"insert-below": "Insert Below", "insert-below": "在下方插入",
"instructions": "做法", "instructions": "做法",
"key-name-required": "必须输入关键字", "key-name-required": "必须输入关键字",
"landscape-view-coming-soon": "横向视图 (即将到来)", "landscape-view-coming-soon": "横向视图 (即将到来)",
@ -528,7 +528,7 @@
"total-time": "总时间", "total-time": "总时间",
"trans-fat-content": "Trans-fat", "trans-fat-content": "Trans-fat",
"unable-to-delete-recipe": "无法删除食谱", "unable-to-delete-recipe": "无法删除食谱",
"unsaturated-fat-content": "Unsaturated fat", "unsaturated-fat-content": "不饱和脂肪",
"no-recipe": "没有食谱", "no-recipe": "没有食谱",
"locked-by-owner": "已被所有者锁定", "locked-by-owner": "已被所有者锁定",
"join-the-conversation": "一起聊聊吧", "join-the-conversation": "一起聊聊吧",
@ -599,10 +599,10 @@
"create-recipe-from-an-image": "Create Recipe from an Image", "create-recipe-from-an-image": "Create Recipe from an Image",
"create-recipe-from-an-image-description": "Create a recipe by uploading an image of it. Mealie will attempt to extract the text from the image using AI and create a recipe from it.", "create-recipe-from-an-image-description": "Create a recipe by uploading an image of it. Mealie will attempt to extract the text from the image using AI and create a recipe from it.",
"crop-and-rotate-the-image": "Crop and rotate the image so that only the text is visible, and it's in the correct orientation.", "crop-and-rotate-the-image": "Crop and rotate the image so that only the text is visible, and it's in the correct orientation.",
"create-from-images": "Create from Images", "create-from-images": "从图片创建",
"should-translate-description": "Translate the recipe into my language", "should-translate-description": "翻译该食谱",
"please-wait-image-procesing": "Please wait, the image is processing. This may take some time.", "please-wait-image-procesing": "请稍等,正在处理图片。这可能需要一些时间。",
"please-wait-images-processing": "Please wait, the images are processing. This may take some time.", "please-wait-images-processing": "请稍等,正在处理图片。这可能需要一些时间。",
"bulk-url-import": "批量URL导入", "bulk-url-import": "批量URL导入",
"debug-scraper": "调试刮削器", "debug-scraper": "调试刮削器",
"create-a-recipe-by-providing-the-name-all-recipes-must-have-unique-names": "通过名称创建食谱,食谱不可重名。", "create-a-recipe-by-providing-the-name-all-recipes-must-have-unique-names": "通过名称创建食谱,食谱不可重名。",
@ -611,8 +611,8 @@
"scrape-recipe-description": "通过URL刮削食谱。提供你想要刮削网址的URLMealie会尝试从该网址刮削食谱并添加到你的收藏中。", "scrape-recipe-description": "通过URL刮削食谱。提供你想要刮削网址的URLMealie会尝试从该网址刮削食谱并添加到你的收藏中。",
"scrape-recipe-have-a-lot-of-recipes": "你想要一次刮削多个食谱吗?", "scrape-recipe-have-a-lot-of-recipes": "你想要一次刮削多个食谱吗?",
"scrape-recipe-suggest-bulk-importer": "试试批量导入器", "scrape-recipe-suggest-bulk-importer": "试试批量导入器",
"scrape-recipe-have-raw-html-or-json-data": "Have raw HTML or JSON data?", "scrape-recipe-have-raw-html-or-json-data": "有原始 HTML 或 JSON 数据?",
"scrape-recipe-you-can-import-from-raw-data-directly": "You can import from raw data directly", "scrape-recipe-you-can-import-from-raw-data-directly": "您可以直接从原始数据导入",
"import-original-keywords-as-tags": "导入原始关键字作为标签", "import-original-keywords-as-tags": "导入原始关键字作为标签",
"stay-in-edit-mode": "留在编辑模式", "stay-in-edit-mode": "留在编辑模式",
"import-from-zip": "从Zip压缩包导入", "import-from-zip": "从Zip压缩包导入",
@ -1365,23 +1365,23 @@
}, },
"query-filter": { "query-filter": {
"logical-operators": { "logical-operators": {
"and": "AND", "and": "",
"or": "OR" "or": ""
}, },
"relational-operators": { "relational-operators": {
"equals": "equals", "equals": "等于",
"does-not-equal": "does not equal", "does-not-equal": "不等于",
"is-greater-than": "is greater than", "is-greater-than": "大于",
"is-greater-than-or-equal-to": "is greater than or equal to", "is-greater-than-or-equal-to": "大于等于",
"is-less-than": "is less than", "is-less-than": "小于",
"is-less-than-or-equal-to": "is less than or equal to" "is-less-than-or-equal-to": "小于等于"
}, },
"relational-keywords": { "relational-keywords": {
"is": "is", "is": "",
"is-not": "is not", "is-not": "不是",
"is-one-of": "is one of", "is-one-of": "其中之一",
"is-not-one-of": "is not one of", "is-not-one-of": "不是其中之一",
"contains-all-of": "contains all of", "contains-all-of": "包含所有",
"is-like": "is like", "is-like": "is like",
"is-not-like": "is not like" "is-not-like": "is not like"
} }

View file

@ -219,10 +219,7 @@ export class RecipeAPI extends BaseCRUDAPI<CreateRecipe, Recipe, Recipe> {
async getAllTimelineEvents(page = 1, perPage = -1, params = {} as any) { async getAllTimelineEvents(page = 1, perPage = -1, params = {} as any) {
return await this.requests.get<PaginationData<RecipeTimelineEventOut>>( return await this.requests.get<PaginationData<RecipeTimelineEventOut>>(
routes.recipesTimelineEvent, routes.recipesTimelineEvent, { page, perPage, ...params },
{
params: { page, perPage, ...params },
},
); );
} }

View file

@ -1,6 +1,6 @@
{ {
"name": "mealie", "name": "mealie",
"version": "2.8.0", "version": "3.0.0",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "nuxt dev", "dev": "nuxt dev",

View file

@ -707,7 +707,7 @@ export default defineNuxtComponent({
} }
}); });
if (hasChanged) { if (hasChanged) {
updateListItems(); updateUncheckedListItems();
} }
} }
@ -727,7 +727,9 @@ export default defineNuxtComponent({
} }
}); });
if (hasChanged) { if (hasChanged) {
updateListItems(); listItems.unchecked = [...listItems.unchecked, ...listItems.checked];
listItems.checked = [];
updateUncheckedListItems();
} }
} }
@ -1051,8 +1053,13 @@ export default defineNuxtComponent({
.sort(sortCheckedItems); .sort(sortCheckedItems);
} }
// Update the item if it's checked, otherwise updateUncheckedListItems will handle it
if (item.checked) {
shoppingListItemActions.updateItem(item);
}
updateListItemOrder(); updateListItemOrder();
updateListItems(); updateUncheckedListItems();
} }
function deleteListItem(item: ShoppingListItemOut) { function deleteListItem(item: ShoppingListItemOut) {
@ -1144,7 +1151,7 @@ export default defineNuxtComponent({
// since the user has manually reordered the list, we should preserve this order // since the user has manually reordered the list, we should preserve this order
preserveItemOrder.value = true; preserveItemOrder.value = true;
updateListItems(); updateUncheckedListItems();
} }
function updateIndexUncheckedByLabel(labelName: string, labeledUncheckedItems: ShoppingListItemOut[]) { function updateIndexUncheckedByLabel(labelName: string, labeledUncheckedItems: ShoppingListItemOut[]) {
@ -1167,7 +1174,7 @@ export default defineNuxtComponent({
// save changes // save changes
listItems.unchecked = allUncheckedItems; listItems.unchecked = allUncheckedItems;
listItems.checked = shoppingList.value?.listItems?.filter(item => item.checked) || []; listItems.checked = shoppingList.value?.listItems?.filter(item => item.checked) || [];
updateListItems(); updateUncheckedListItems();
} }
function deleteListItems(items: ShoppingListItemOut[]) { function deleteListItems(items: ShoppingListItemOut[]) {
@ -1187,27 +1194,23 @@ export default defineNuxtComponent({
refresh(); refresh();
} }
function updateListItems() { function updateUncheckedListItems() {
if (!shoppingList.value?.listItems) { if (!shoppingList.value?.listItems) {
return; return;
} }
// Set Position // Set position for unchecked items
shoppingList.value.listItems = listItems.unchecked.concat(listItems.checked).map((itm: ShoppingListItemOut, idx: number) => { listItems.unchecked.forEach((item: ShoppingListItemOut, idx: number) => {
itm.position = idx; item.position = idx;
return itm;
});
shoppingList.value.listItems.forEach((item) => {
shoppingListItemActions.updateItem(item); shoppingListItemActions.updateItem(item);
}); });
refresh(); refresh();
} }
return { return {
...toRefs(state), ...toRefs(state),
addRecipeReferenceToList, addRecipeReferenceToList,
updateListItems,
allLabels, allLabels,
contextMenu, contextMenu,
contextMenuAction, contextMenuAction,

View file

@ -595,8 +595,8 @@
"broccoli slaw": { "broccoli slaw": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "broccoli slaw", "name": "Brokkolisalat",
"plural_name": "broccoli slaws" "plural_name": "Brokkolisalate"
}, },
"arbol chile pepper": { "arbol chile pepper": {
"aliases": [], "aliases": [],
@ -1182,55 +1182,55 @@
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "Pluot", "name": "Pluot",
"plural_name": "pluots" "plural_name": "Pluots"
}, },
"soursop": { "soursop": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "soursop", "name": "Stachelannone",
"plural_name": "soursops" "plural_name": "Stachelannonen"
}, },
"hog plum": { "hog plum": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "hog plum", "name": "Mombinpflaumen",
"plural_name": "Mombinpflaume" "plural_name": "Mombinpflaume"
}, },
"bergamot orange": { "bergamot orange": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "bergamot orange", "name": "Bergamotte",
"plural_name": "bergamot oranges" "plural_name": "Bergamotten"
}, },
"luo han guo": { "luo han guo": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "luo han guo", "name": "Mönchsfrucht",
"plural_name": "luo han guos" "plural_name": "Mönchsfrüchte"
}, },
"mamey": { "mamey": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "mamey", "name": "Mammiapfel",
"plural_name": "mameys" "plural_name": "Mammiäpfel"
}, },
"sapote": { "sapote": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "sapote", "name": "Sapote",
"plural_name": "sapotes" "plural_name": "Sapote"
}, },
"green ume plum": { "green ume plum": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "green ume plum", "name": "Japanische Pflaume",
"plural_name": "green ume plums" "plural_name": "Japanische Pflaumen"
}, },
"kiwano": { "kiwano": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "kiwano", "name": "Horngurke",
"plural_name": "kiwanoes" "plural_name": "Horngurken"
} }
} }
}, },
@ -1419,13 +1419,13 @@
"puffball": { "puffball": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "puffball", "name": "Riesenbovist",
"plural_name": "puffballs" "plural_name": "Riesenboviste"
}, },
"honey fungu": { "honey fungu": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "honey fungu", "name": "",
"plural_name": "honey fungus" "plural_name": "honey fungus"
}, },
"caesar's mushroom": { "caesar's mushroom": {
@ -1471,8 +1471,8 @@
"cranberry": { "cranberry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "cranberry", "name": "Cranberry",
"plural_name": "cranberries" "plural_name": "Cranberries"
}, },
"cherry": { "cherry": {
"aliases": [], "aliases": [],
@ -1483,7 +1483,7 @@
"blackberry": { "blackberry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "blackberry", "name": "Brombeere",
"plural_name": "Brombeeren" "plural_name": "Brombeeren"
}, },
"berry mix": { "berry mix": {
@ -1495,8 +1495,8 @@
"maraschino cherry": { "maraschino cherry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "maraschino cherry", "name": "maraschino Kirsche",
"plural_name": "maraschino cherries" "plural_name": "maraschino Kirschen"
}, },
"dried cherry": { "dried cherry": {
"aliases": [], "aliases": [],
@ -1507,8 +1507,8 @@
"juniper berry": { "juniper berry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "juniper berry", "name": "Wacholderbeere",
"plural_name": "juniper berries" "plural_name": "Wacholderbeeren"
}, },
"sour cherry": { "sour cherry": {
"aliases": [], "aliases": [],
@ -1519,8 +1519,8 @@
"goji berry": { "goji berry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "goji berry", "name": "Goji-Beere",
"plural_name": "goji berries" "plural_name": "Goji-Beeren"
}, },
"dried blueberry": { "dried blueberry": {
"aliases": [], "aliases": [],
@ -1561,8 +1561,8 @@
"mulberry": { "mulberry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "mulberry", "name": "Maulbeere",
"plural_name": "mulberries" "plural_name": "Maulbeeren"
}, },
"acai berry": { "acai berry": {
"aliases": [], "aliases": [],
@ -1597,8 +1597,8 @@
"huckleberry": { "huckleberry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "huckleberry", "name": "Heidelbeere",
"plural_name": "huckleberries" "plural_name": "Heidelbeeren"
}, },
"dried elderberry": { "dried elderberry": {
"aliases": [], "aliases": [],
@ -1615,8 +1615,8 @@
"dried berry": { "dried berry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "dried berry", "name": "getrocknete Beere",
"plural_name": "dried berries" "plural_name": "getrocknete Beeren"
}, },
"sea buckthorn": { "sea buckthorn": {
"aliases": [], "aliases": [],
@ -1663,8 +1663,8 @@
"aronia berry": { "aronia berry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "aronia berry", "name": "Apfelbeere",
"plural_name": "aronia berries" "plural_name": "Apfelbeeren"
}, },
"chokeberry": { "chokeberry": {
"aliases": [], "aliases": [],
@ -1681,8 +1681,8 @@
"blackcurrant leaf": { "blackcurrant leaf": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "blackcurrant leaf", "name": "Schwarzes Johannisbeerblatt",
"plural_name": "blackcurrant leaves" "plural_name": "Schwarze Johannisbeerblätter"
}, },
"haskap berry": { "haskap berry": {
"aliases": [], "aliases": [],
@ -1745,8 +1745,8 @@
"pine nut": { "pine nut": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "pine nut", "name": "Pinienkern",
"plural_name": "pine nuts" "plural_name": "Pinienkerne"
}, },
"pistachio": { "pistachio": {
"aliases": [], "aliases": [],
@ -1776,7 +1776,7 @@
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "slivered almond", "name": "slivered almond",
"plural_name": "slivered almonds" "plural_name": "Mandelstifte"
}, },
"pumpkin seed": { "pumpkin seed": {
"aliases": [], "aliases": [],
@ -1853,8 +1853,8 @@
"onion seed": { "onion seed": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "onion seed", "name": "Zwiebelsamen",
"plural_name": "onion seeds" "plural_name": "Zwiebelsamen"
}, },
"watermelon seed": { "watermelon seed": {
"aliases": [], "aliases": [],
@ -1871,8 +1871,8 @@
"melon seed": { "melon seed": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "melon seed", "name": "Melonensamen",
"plural_name": "melon seeds" "plural_name": "Melonensamen"
}, },
"lotus seed": { "lotus seed": {
"aliases": [], "aliases": [],
@ -1895,8 +1895,8 @@
"basil seed": { "basil seed": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "basil seed", "name": "Basilikumsamen",
"plural_name": "basil seeds" "plural_name": "Basilikumsamen"
}, },
"candlenut": { "candlenut": {
"aliases": [], "aliases": [],
@ -1907,8 +1907,8 @@
"peanut brittle": { "peanut brittle": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "peanut brittle", "name": "Erdnusskrokant",
"plural_name": "peanut brittles" "plural_name": "Erdnusskrokant"
}, },
"jackfruit seed": { "jackfruit seed": {
"aliases": [], "aliases": [],

View file

@ -34,8 +34,8 @@
"zucchini": { "zucchini": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "zucchini", "name": "courgette",
"plural_name": "zucchinis" "plural_name": "courgettes"
}, },
"potato": { "potato": {
"aliases": [], "aliases": [],

View file

@ -4,26 +4,26 @@
"garlic": { "garlic": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "garlic", "name": "ail",
"plural_name": "garlics" "plural_name": "garlics"
}, },
"onion": { "onion": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "onion", "name": "oignon",
"plural_name": "onions" "plural_name": "oignons"
}, },
"bell pepper": { "bell pepper": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "bell pepper", "name": "poivron",
"plural_name": "bell peppers" "plural_name": "poivrons"
}, },
"carrot": { "carrot": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "carrot", "name": "carotte",
"plural_name": "carrots" "plural_name": "carottes"
}, },
"scallion": { "scallion": {
"aliases": [], "aliases": [],
@ -34,31 +34,31 @@
"zucchini": { "zucchini": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "zucchini", "name": "courgette",
"plural_name": "zucchinis" "plural_name": "courgettes"
}, },
"potato": { "potato": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "potato", "name": "pomme de terre",
"plural_name": "potatoes" "plural_name": "pommes de terre"
}, },
"red onion": { "red onion": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "red onion", "name": "oignon rouge",
"plural_name": "red onions" "plural_name": "oignons rouge"
}, },
"yellow onion": { "yellow onion": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "yellow onion", "name": "oignon jaune",
"plural_name": "yellow onions" "plural_name": "yellow onions"
}, },
"celery": { "celery": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "celery", "name": "céleri",
"plural_name": "celeries" "plural_name": "celeries"
}, },
"jalapeno": { "jalapeno": {
@ -88,8 +88,8 @@
"cucumber": { "cucumber": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "cucumber", "name": "concombre",
"plural_name": "cucumbers" "plural_name": "concombres"
}, },
"spinach": { "spinach": {
"aliases": [], "aliases": [],
@ -150,7 +150,7 @@
"cabbage": { "cabbage": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "cabbage", "name": "chou",
"plural_name": "cabbages" "plural_name": "cabbages"
}, },
"asparagu": { "asparagu": {
@ -180,19 +180,19 @@
"eggplant": { "eggplant": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "eggplant", "name": "aubergine",
"plural_name": "eggplants" "plural_name": "aubergines"
}, },
"lettuce": { "lettuce": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "lettuce", "name": "laitue",
"plural_name": "lettuces" "plural_name": "laitues"
}, },
"butternut squash": { "butternut squash": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "butternut squash", "name": "courge butternut",
"plural_name": "butternut squashes" "plural_name": "butternut squashes"
}, },
"romaine": { "romaine": {
@ -204,13 +204,13 @@
"beetroot": { "beetroot": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "beetroot", "name": "betterave",
"plural_name": "beetroots" "plural_name": "betteraves"
}, },
"brussels sprout": { "brussels sprout": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "brussels sprout", "name": "chou de Bruxelles",
"plural_name": "brussels sprouts" "plural_name": "brussels sprouts"
}, },
"fennel": { "fennel": {
@ -228,20 +228,20 @@
"radish": { "radish": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "radish", "name": "radis",
"plural_name": "radishes" "plural_name": "radishes"
}, },
"red cabbage": { "red cabbage": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "red cabbage", "name": "chou rouge",
"plural_name": "red cabbages" "plural_name": "choux rouge"
}, },
"artichoke": { "artichoke": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "artichoke", "name": "artichaut",
"plural_name": "artichokes" "plural_name": "artichauts"
}, },
"new potato": { "new potato": {
"aliases": [], "aliases": [],
@ -267,8 +267,8 @@
"parsnip": { "parsnip": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "parsnip", "name": "panais",
"plural_name": "parsnips" "plural_name": "panais"
}, },
"baby carrot": { "baby carrot": {
"aliases": [], "aliases": [],
@ -389,8 +389,8 @@
"turnip": { "turnip": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "turnip", "name": "navet",
"plural_name": "turnips" "plural_name": "navets"
}, },
"thai chile pepper": { "thai chile pepper": {
"aliases": [], "aliases": [],

View file

@ -241,106 +241,106 @@
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "artisjok", "name": "artisjok",
"plural_name": "artichokes" "plural_name": "artisjokken"
}, },
"new potato": { "new potato": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "new potato", "name": "krieltjes",
"plural_name": "new potatoes" "plural_name": "krieltjes"
}, },
"summer squash": { "summer squash": {
"aliases": [ "aliases": [
"courgette", "courgette",
"gem squash" "edelpompoen"
], ],
"description": "", "description": "",
"name": "summer squash", "name": "summer squash",
"plural_name": "summer squashes" "plural_name": "edelpompoenen"
}, },
"mixed green": { "mixed green": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "mixed green", "name": "gemengde groenten",
"plural_name": "mixed greens" "plural_name": "gemengde groenten"
}, },
"parsnip": { "parsnip": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "parsnip", "name": "pastinaak",
"plural_name": "parsnips" "plural_name": "pastinaken"
}, },
"baby carrot": { "baby carrot": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "baby carrot", "name": "baby wortel",
"plural_name": "baby carrots" "plural_name": "baby wortels"
}, },
"mixed vegetable": { "mixed vegetable": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "mixed vegetable", "name": "gemengde groente",
"plural_name": "mixed vegetables" "plural_name": "gemengde groenten"
}, },
"poblano pepper": { "poblano pepper": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "poblano pepper", "name": "poblano pepers",
"plural_name": "poblano peppers" "plural_name": "poblano pepers"
}, },
"sweet pepper": { "sweet pepper": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "sweet pepper", "name": "puntpaprika",
"plural_name": "sweet peppers" "plural_name": "puntpaprikas"
}, },
"serrano pepper": { "serrano pepper": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "serrano pepper", "name": "serranopeper",
"plural_name": "serrano peppers" "plural_name": "serranopepers"
}, },
"cayenne pepper": { "cayenne pepper": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "cayenne pepper", "name": "cayennepeper",
"plural_name": "cayenne peppers" "plural_name": "cayennepepers"
}, },
"green tomato": { "green tomato": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "green tomato", "name": "groene tomaat",
"plural_name": "green tomatoes" "plural_name": "groene tomaten"
}, },
"watercress": { "watercress": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "watercress", "name": "waterkers",
"plural_name": "watercress" "plural_name": "waterkersen"
}, },
"iceberg": { "iceberg": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "iceberg", "name": "ijsbergsla",
"plural_name": "icebergs" "plural_name": "ijsbergsla"
}, },
"mashed potato": { "mashed potato": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "mashed potato", "name": "aardappelpuree",
"plural_name": "mashed potatoes" "plural_name": "aardappelpurees"
}, },
"horseradish": { "horseradish": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "horseradish", "name": "mierikswortel",
"plural_name": "horseradishes" "plural_name": "mierikswortelen"
}, },
"chard": { "chard": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "chard", "name": "snijbiet",
"plural_name": "chards" "plural_name": "snijbieten"
}, },
"pimiento": { "pimiento": {
"aliases": [], "aliases": [],
@ -351,40 +351,40 @@
"spaghetti squash": { "spaghetti squash": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "spaghetti squash", "name": "spaghettipompoen",
"plural_name": "spaghetti squashes" "plural_name": "spaghettipompoenen"
}, },
"butter lettuce": { "butter lettuce": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "butter lettuce", "name": "kropsla",
"plural_name": "butter lettuces" "plural_name": "kropsla"
}, },
"hash brown": { "hash brown": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "hash brown", "name": "gehakte aardappel",
"plural_name": "hash browns" "plural_name": "gehakte aardappels"
}, },
"napa cabbage": { "napa cabbage": {
"aliases": [ "aliases": [
"chinese leaves" "chinese kool"
], ],
"description": "", "description": "",
"name": "napa cabbage", "name": "chinese kool",
"plural_name": "napa cabbages" "plural_name": "chinese kolen"
}, },
"celeriac": { "celeriac": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "celeriac", "name": "knolselderij",
"plural_name": "celeriacs" "plural_name": "knolselders"
}, },
"water chestnut": { "water chestnut": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "water chestnut", "name": "waterkastanje",
"plural_name": "water chestnuts" "plural_name": "waterkastanjes"
}, },
"turnip": { "turnip": {
"aliases": [], "aliases": [],
@ -541,8 +541,8 @@
"ancho chile pepper": { "ancho chile pepper": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "ancho chile pepper", "name": "ancho peper",
"plural_name": "ancho chile peppers" "plural_name": "ancho pepers"
}, },
"microgreen": { "microgreen": {
"aliases": [], "aliases": [],
@ -553,8 +553,8 @@
"boston lettuce": { "boston lettuce": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "boston lettuce", "name": "botersla",
"plural_name": "boston lettuces" "plural_name": "botersla"
}, },
"kohlrabi": { "kohlrabi": {
"aliases": [], "aliases": [],
@ -608,19 +608,19 @@
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "golden beet", "name": "golden beet",
"plural_name": "golden beets" "plural_name": "gele biet"
}, },
"pea shoot": { "pea shoot": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "pea shoot", "name": "erwtenspruit",
"plural_name": "pea shoots" "plural_name": "erwtenspruiten"
}, },
"alfalfa": { "alfalfa": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "alfalfa", "name": "luzerne",
"plural_name": "alfalfas" "plural_name": "luzerne"
} }
} }
}, },
@ -630,61 +630,61 @@
"aliases": [], "aliases": [],
"description": "Yes they are a fruit", "description": "Yes they are a fruit",
"name": "tomato", "name": "tomato",
"plural_name": "tomatoes" "plural_name": "tomaten"
}, },
"lemon": { "lemon": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "lemon", "name": "citroen",
"plural_name": "lemons" "plural_name": "citroenen"
}, },
"lime": { "lime": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "lime", "name": "limoen",
"plural_name": "limes" "plural_name": "limoenen"
}, },
"apple": { "apple": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "apple", "name": "appel",
"plural_name": "apples" "plural_name": "appels"
}, },
"banana": { "banana": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "banana", "name": "banaan",
"plural_name": "bananas" "plural_name": "bananen"
}, },
"orange": { "orange": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "orange", "name": "sinaasappel",
"plural_name": "oranges" "plural_name": "sinaasappels"
}, },
"raisin": { "raisin": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "raisin", "name": "rozijn",
"plural_name": "raisins" "plural_name": "rozijnen"
}, },
"pineapple": { "pineapple": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "pineapple", "name": "ananas",
"plural_name": "pineapples" "plural_name": "ananassen"
}, },
"mango": { "mango": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "mango", "name": "mango",
"plural_name": "mangoes" "plural_name": "mango's"
}, },
"peach": { "peach": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "peach", "name": "perzik",
"plural_name": "peaches" "plural_name": "perziken"
}, },
"date": { "date": {
"aliases": [], "aliases": [],
@ -851,8 +851,8 @@
"dried fruit": { "dried fruit": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "dried fruit", "name": "gedroogd fruit",
"plural_name": "dried fruits" "plural_name": "gedroogd fruit"
}, },
"clementine": { "clementine": {
"aliases": [], "aliases": [],
@ -4349,14 +4349,14 @@
"chicken breast": { "chicken breast": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "chicken breast", "name": "kipfilet",
"plural_name": "chicken breasts" "plural_name": "kipfilet"
}, },
"chicken thigh": { "chicken thigh": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "chicken thigh", "name": "kipdijfilet",
"plural_name": "chicken thighs" "plural_name": "kipdijfilet"
}, },
"cooked chicken": { "cooked chicken": {
"aliases": [], "aliases": [],
@ -4385,14 +4385,14 @@
"chicken leg": { "chicken leg": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "chicken leg", "name": "kippenpoot",
"plural_name": "chicken legs" "plural_name": "kippenpoten"
}, },
"chicken wing": { "chicken wing": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "chicken wing", "name": "kippenpoot",
"plural_name": "chicken wings" "plural_name": "kippenpoten"
}, },
"turkey breast": { "turkey breast": {
"aliases": [], "aliases": [],
@ -8540,8 +8540,8 @@
"rice": { "rice": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "rice", "name": "rijst",
"plural_name": "rices" "plural_name": "rijst"
}, },
"Rice Krispie Cereal": { "Rice Krispie Cereal": {
"aliases": [ "aliases": [

View file

@ -34,7 +34,7 @@
"zucchini": { "zucchini": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "zucchini", "name": "цукини",
"plural_name": "zucchinis" "plural_name": "zucchinis"
}, },
"potato": { "potato": {

View file

@ -4,32 +4,32 @@
"garlic": { "garlic": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "garlic", "name": "vitlök",
"plural_name": "garlics" "plural_name": "vitlökar"
}, },
"onion": { "onion": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "onion", "name": "lök",
"plural_name": "onions" "plural_name": "lökar"
}, },
"bell pepper": { "bell pepper": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "bell pepper", "name": "paprika",
"plural_name": "bell peppers" "plural_name": "paprikor"
}, },
"carrot": { "carrot": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "carrot", "name": "morot",
"plural_name": "carrots" "plural_name": "morötter"
}, },
"scallion": { "scallion": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "scallion", "name": "vårlök",
"plural_name": "scallions" "plural_name": "vårlökar"
}, },
"zucchini": { "zucchini": {
"aliases": [], "aliases": [],
@ -40,117 +40,117 @@
"potato": { "potato": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "potato", "name": "potatis",
"plural_name": "potatoes" "plural_name": "potatisar"
}, },
"red onion": { "red onion": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "red onion", "name": "rödlök",
"plural_name": "red onions" "plural_name": "rödlökar"
}, },
"yellow onion": { "yellow onion": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "yellow onion", "name": "gul lök",
"plural_name": "yellow onions" "plural_name": "gula lökar"
}, },
"celery": { "celery": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "celery", "name": "selleri",
"plural_name": "celeries" "plural_name": "selleri"
}, },
"jalapeno": { "jalapeno": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "jalapeno", "name": "jalapeno",
"plural_name": "jalapenoes" "plural_name": "jalapeno"
}, },
"avocado": { "avocado": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "avocado", "name": "avokado",
"plural_name": "avocados" "plural_name": "avokado"
}, },
"shallot": { "shallot": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "shallot", "name": "schalottenlök",
"plural_name": "shallots" "plural_name": "schalottenlökar"
}, },
"cherry tomato": { "cherry tomato": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "cherry tomato", "name": "körsbärstomat",
"plural_name": "cherry tomatoes" "plural_name": "körsbärstomater"
}, },
"cucumber": { "cucumber": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "cucumber", "name": "gurka",
"plural_name": "cucumbers" "plural_name": "gurkor"
}, },
"spinach": { "spinach": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "spinach", "name": "spenat",
"plural_name": "spinaches" "plural_name": "spenat"
}, },
"sweet corn": { "sweet corn": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "sweet corn", "name": "majs",
"plural_name": "sweet corns" "plural_name": "majs"
}, },
"chile pepper": { "chile pepper": {
"aliases": [ "aliases": [
"capsicum" "paprika"
], ],
"description": "", "description": "",
"name": "chile pepper", "name": "chilipeppar",
"plural_name": "chile peppers" "plural_name": "chilipeppar"
}, },
"sweet potato": { "sweet potato": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "sweet potato", "name": "sötpotatis",
"plural_name": "sweet potatoes" "plural_name": "sötpotatisar"
}, },
"broccoli": { "broccoli": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "broccoli", "name": "broccoli",
"plural_name": "broccolis" "plural_name": "broccoli"
}, },
"heart of palm": { "heart of palm": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "heart of palm", "name": "palmhjärta",
"plural_name": "heart of palms" "plural_name": "palmhjärtan"
}, },
"baby green": { "baby green": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "baby green", "name": "späd sallad",
"plural_name": "baby greens" "plural_name": "späda salladsblad"
}, },
"pumpkin": { "pumpkin": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "pumpkin", "name": "pumpa",
"plural_name": "pumpkins" "plural_name": "pumpor"
}, },
"cauliflower": { "cauliflower": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "cauliflower", "name": "blomkål",
"plural_name": "cauliflowers" "plural_name": "blomkål"
}, },
"cabbage": { "cabbage": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "cabbage", "name": "vitkål",
"plural_name": "cabbages" "plural_name": "cabbages"
}, },
"asparagu": { "asparagu": {
@ -298,111 +298,111 @@
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "serrano pepper", "name": "serrano pepper",
"plural_name": "serrano peppers" "plural_name": "serranochili"
}, },
"cayenne pepper": { "cayenne pepper": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "cayenne pepper", "name": "cayennepeppar",
"plural_name": "cayenne peppers" "plural_name": "caynnepeppar"
}, },
"green tomato": { "green tomato": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "green tomato", "name": "grön tomat",
"plural_name": "green tomatoes" "plural_name": "gröna tomter"
}, },
"watercress": { "watercress": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "watercress", "name": "vattenkrasse",
"plural_name": "watercress" "plural_name": "vattenkrasse"
}, },
"iceberg": { "iceberg": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "iceberg", "name": "isbergssallat",
"plural_name": "icebergs" "plural_name": "isbergssallat"
}, },
"mashed potato": { "mashed potato": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "mashed potato", "name": "potatismos",
"plural_name": "mashed potatoes" "plural_name": "potatismos"
}, },
"horseradish": { "horseradish": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "horseradish", "name": "pepparrot",
"plural_name": "horseradishes" "plural_name": "pepparrötter"
}, },
"chard": { "chard": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "chard", "name": "mangold",
"plural_name": "chards" "plural_name": "mangold"
}, },
"pimiento": { "pimiento": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "pimiento", "name": "pimiento",
"plural_name": "pimientoes" "plural_name": "pimiento"
}, },
"spaghetti squash": { "spaghetti squash": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "spaghetti squash", "name": "spaghettipumpa",
"plural_name": "spaghetti squashes" "plural_name": "spaghettipumpor"
}, },
"butter lettuce": { "butter lettuce": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "butter lettuce", "name": "smörsallad",
"plural_name": "butter lettuces" "plural_name": "smörsallader"
}, },
"hash brown": { "hash brown": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "hash brown", "name": "potatiskaka",
"plural_name": "hash browns" "plural_name": "potatiskakor"
}, },
"napa cabbage": { "napa cabbage": {
"aliases": [ "aliases": [
"chinese leaves" "kinakål"
], ],
"description": "", "description": "",
"name": "napa cabbage", "name": "kinakål",
"plural_name": "napa cabbages" "plural_name": "kinakål"
}, },
"celeriac": { "celeriac": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "celeriac", "name": "rotselleri",
"plural_name": "celeriacs" "plural_name": "rotselleri"
}, },
"water chestnut": { "water chestnut": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "water chestnut", "name": "vattenkastanj",
"plural_name": "water chestnuts" "plural_name": "vattenkastanjer"
}, },
"turnip": { "turnip": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "turnip", "name": "majrova",
"plural_name": "turnips" "plural_name": "majrovor"
}, },
"thai chile pepper": { "thai chile pepper": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "thai chile pepper", "name": "thailändsk chili",
"plural_name": "thai chile peppers" "plural_name": "thailändska chilis"
}, },
"bok choy": { "bok choy": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "bok choy", "name": "pak choi",
"plural_name": "bok choy" "plural_name": "pak choi"
}, },
"okra": { "okra": {
"aliases": [], "aliases": [],
@ -413,38 +413,38 @@
"acorn squash": { "acorn squash": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "acorn squash", "name": "ekollonpumpa",
"plural_name": "acorn squashes" "plural_name": "ekollonpumpor"
}, },
"corn cob": { "corn cob": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "corn cob", "name": "majskolv",
"plural_name": "corn cobs" "plural_name": "majskolvar"
}, },
"radicchio": { "radicchio": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "radicchio", "name": "röd cikoria",
"plural_name": "radicchio" "plural_name": "röda cikorior"
}, },
"pearl onion": { "pearl onion": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "pearl onion", "name": "pärllök",
"plural_name": "pearl onions" "plural_name": "pärllökar"
}, },
"tenderstem broccoli": { "tenderstem broccoli": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "tenderstem broccoli", "name": "broccolini",
"plural_name": "tenderstem broccolis" "plural_name": "broccolini"
}, },
"plantain": { "plantain": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "plantain", "name": "matbanan",
"plural_name": "plantains" "plural_name": "matbananer"
}, },
"leaf lettuce": { "leaf lettuce": {
"aliases": [], "aliases": [],
@ -596,31 +596,31 @@
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "broccoli slaw", "name": "broccoli slaw",
"plural_name": "broccoli slaws" "plural_name": "broccolisallad"
}, },
"arbol chile pepper": { "arbol chile pepper": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "arbol chile pepper", "name": "arbolchili",
"plural_name": "arbol chile peppers" "plural_name": "arbolchili"
}, },
"golden beet": { "golden beet": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "golden beet", "name": "gulbeta",
"plural_name": "golden beets" "plural_name": "gulbetor"
}, },
"pea shoot": { "pea shoot": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "pea shoot", "name": "ärtskott",
"plural_name": "pea shoots" "plural_name": "ärtskott"
}, },
"alfalfa": { "alfalfa": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "alfalfa", "name": "alfalfagroddar",
"plural_name": "alfalfas" "plural_name": "alfalfagroddar"
} }
} }
}, },
@ -629,122 +629,122 @@
"tomato": { "tomato": {
"aliases": [], "aliases": [],
"description": "Yes they are a fruit", "description": "Yes they are a fruit",
"name": "tomato", "name": "tomat",
"plural_name": "tomatoes" "plural_name": "tomater"
}, },
"lemon": { "lemon": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "lemon", "name": "citron",
"plural_name": "lemons" "plural_name": "citroner"
}, },
"lime": { "lime": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "lime", "name": "lime",
"plural_name": "limes" "plural_name": "lime"
}, },
"apple": { "apple": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "apple", "name": "äpple",
"plural_name": "apples" "plural_name": "äpplen"
}, },
"banana": { "banana": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "banana", "name": "banan",
"plural_name": "bananas" "plural_name": "bananer"
}, },
"orange": { "orange": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "orange", "name": "apelsin",
"plural_name": "oranges" "plural_name": "apelsiner"
}, },
"raisin": { "raisin": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "raisin", "name": "russin",
"plural_name": "raisins" "plural_name": "russin"
}, },
"pineapple": { "pineapple": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "pineapple", "name": "ananas",
"plural_name": "pineapples" "plural_name": "ananser"
}, },
"mango": { "mango": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "mango", "name": "mango",
"plural_name": "mangoes" "plural_name": "mango"
}, },
"peach": { "peach": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "peach", "name": "persika",
"plural_name": "peaches" "plural_name": "persikor"
}, },
"date": { "date": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "date", "name": "dadel",
"plural_name": "dates" "plural_name": "dadlar"
}, },
"coconut": { "coconut": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "coconut", "name": "kokosnöt",
"plural_name": "coconuts" "plural_name": "kokosnötter"
}, },
"craisin": { "craisin": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "craisin", "name": "torkade tranbär",
"plural_name": "craisins" "plural_name": "torkade tranbär"
}, },
"pear": { "pear": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "pear", "name": "päron",
"plural_name": "pears" "plural_name": "päron"
}, },
"grape": { "grape": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "grape", "name": "druva",
"plural_name": "grapes" "plural_name": "druvor"
}, },
"pomegranate": { "pomegranate": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "pomegranate", "name": "granatäpple",
"plural_name": "pomegranates" "plural_name": "granatäpplen"
}, },
"watermelon": { "watermelon": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "watermelon", "name": "vattenmelon",
"plural_name": "watermelons" "plural_name": "vattenmeloner"
}, },
"rhubarb": { "rhubarb": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "rhubarb", "name": "rabarber",
"plural_name": "rhubarbs" "plural_name": "rabarber"
}, },
"dried apricot": { "dried apricot": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "dried apricot", "name": "torkad aprikos",
"plural_name": "dried apricots" "plural_name": "torkade aprikoser"
}, },
"kiwi": { "kiwi": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "kiwi", "name": "kiwi",
"plural_name": "kiwis" "plural_name": "kiwi"
}, },
"grapefruit": { "grapefruit": {
"aliases": [], "aliases": [],

View file

@ -4,14 +4,14 @@
"garlic": { "garlic": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "garlic", "name": "大蒜",
"plural_name": "garlics" "plural_name": "大蒜"
}, },
"onion": { "onion": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "onion", "name": "洋葱",
"plural_name": "onions" "plural_name": "洋葱"
}, },
"bell pepper": { "bell pepper": {
"aliases": [], "aliases": [],
@ -22,8 +22,8 @@
"carrot": { "carrot": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "carrot", "name": "胡萝卜",
"plural_name": "carrots" "plural_name": "胡萝卜"
}, },
"scallion": { "scallion": {
"aliases": [], "aliases": [],
@ -34,14 +34,14 @@
"zucchini": { "zucchini": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "zucchini", "name": "西葫芦",
"plural_name": "zucchinis" "plural_name": "西葫芦"
}, },
"potato": { "potato": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "potato", "name": "土豆",
"plural_name": "potatoes" "plural_name": "土豆"
}, },
"red onion": { "red onion": {
"aliases": [], "aliases": [],
@ -70,14 +70,14 @@
"avocado": { "avocado": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "avocado", "name": "牛油果",
"plural_name": "avocados" "plural_name": "牛油果"
}, },
"shallot": { "shallot": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "shallot", "name": "红葱头",
"plural_name": "shallots" "plural_name": "红葱头"
}, },
"cherry tomato": { "cherry tomato": {
"aliases": [], "aliases": [],
@ -88,20 +88,20 @@
"cucumber": { "cucumber": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "cucumber", "name": "黄瓜",
"plural_name": "cucumbers" "plural_name": "黄瓜"
}, },
"spinach": { "spinach": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "spinach", "name": "菠菜",
"plural_name": "spinaches" "plural_name": "菠菜"
}, },
"sweet corn": { "sweet corn": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "sweet corn", "name": "甜玉米",
"plural_name": "sweet corns" "plural_name": "甜玉米"
}, },
"chile pepper": { "chile pepper": {
"aliases": [ "aliases": [
@ -114,14 +114,14 @@
"sweet potato": { "sweet potato": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "sweet potato", "name": "红薯",
"plural_name": "sweet potatoes" "plural_name": "红薯"
}, },
"broccoli": { "broccoli": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "broccoli", "name": "西兰花",
"plural_name": "broccolis" "plural_name": "西兰花"
}, },
"heart of palm": { "heart of palm": {
"aliases": [], "aliases": [],
@ -138,14 +138,14 @@
"pumpkin": { "pumpkin": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "pumpkin", "name": "南瓜",
"plural_name": "pumpkins" "plural_name": "南瓜"
}, },
"cauliflower": { "cauliflower": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "cauliflower", "name": "菜花",
"plural_name": "cauliflowers" "plural_name": "菜花"
}, },
"cabbage": { "cabbage": {
"aliases": [], "aliases": [],
@ -162,14 +162,14 @@
"kale": { "kale": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "kale", "name": "羽衣甘蓝",
"plural_name": "kales" "plural_name": "羽衣甘蓝"
}, },
"arugula": { "arugula": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "arugula", "name": "芝麻菜",
"plural_name": "arugulas" "plural_name": "芝麻菜"
}, },
"leek": { "leek": {
"aliases": [], "aliases": [],
@ -180,14 +180,14 @@
"eggplant": { "eggplant": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "eggplant", "name": "茄子",
"plural_name": "eggplants" "plural_name": "茄子"
}, },
"lettuce": { "lettuce": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "lettuce", "name": "生菜",
"plural_name": "lettuces" "plural_name": "生菜"
}, },
"butternut squash": { "butternut squash": {
"aliases": [], "aliases": [],
@ -5855,8 +5855,8 @@
"garlic powder": { "garlic powder": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "garlic powder", "name": "大蒜粉",
"plural_name": "garlic powders" "plural_name": "大蒜粉"
}, },
"oregano": { "oregano": {
"aliases": [], "aliases": [],
@ -6017,8 +6017,8 @@
"white pepper": { "white pepper": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "white pepper", "name": "白胡椒",
"plural_name": "white peppers" "plural_name": "白胡椒"
}, },
"curry leaf": { "curry leaf": {
"aliases": [], "aliases": [],
@ -7106,8 +7106,8 @@
"himalayan salt": { "himalayan salt": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "himalayan salt", "name": "喜马拉雅盐",
"plural_name": "himalayan salts" "plural_name": "喜马拉雅盐"
}, },
"lemon & pepper seasoning": { "lemon & pepper seasoning": {
"aliases": [], "aliases": [],
@ -10640,8 +10640,8 @@
"vegetable oil": { "vegetable oil": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "vegetable oil", "name": "植物油",
"plural_name": "vegetable oils" "plural_name": "植物油"
}, },
"extra virgin olive oil": { "extra virgin olive oil": {
"aliases": [], "aliases": [],
@ -13192,8 +13192,8 @@
"black pepper sauce": { "black pepper sauce": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "black pepper sauce", "name": "黑椒酱",
"plural_name": "black pepper sauces" "plural_name": "黑椒酱"
}, },
"char siu sauce": { "char siu sauce": {
"aliases": [], "aliases": [],

44
poetry.lock generated
View file

@ -1816,14 +1816,14 @@ signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"]
[[package]] [[package]]
name = "openai" name = "openai"
version = "1.93.2" version = "1.95.0"
description = "The official Python library for the openai API" description = "The official Python library for the openai API"
optional = false optional = false
python-versions = ">=3.8" python-versions = ">=3.8"
groups = ["main"] groups = ["main"]
files = [ files = [
{file = "openai-1.93.2-py3-none-any.whl", hash = "sha256:5adbbebd48eae160e6d68efc4c0a4f7cb1318a44c62d9fc626cec229f418eab4"}, {file = "openai-1.95.0-py3-none-any.whl", hash = "sha256:a7afc9dca7e7d616371842af8ea6dbfbcb739a85d183f5f664ab1cc311b9ef18"},
{file = "openai-1.93.2.tar.gz", hash = "sha256:4a7312b426b5e4c98b78dfa1148b5683371882de3ad3d5f7c8e0c74f3cc90778"}, {file = "openai-1.95.0.tar.gz", hash = "sha256:54bc42df9f7142312647dd485d34cca5df20af825fa64a30ca55164be2cf4cc9"},
] ]
[package.dependencies] [package.dependencies]
@ -3236,30 +3236,30 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"]
[[package]] [[package]]
name = "ruff" name = "ruff"
version = "0.12.2" version = "0.12.3"
description = "An extremely fast Python linter and code formatter, written in Rust." description = "An extremely fast Python linter and code formatter, written in Rust."
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.7"
groups = ["dev"] groups = ["dev"]
files = [ files = [
{file = "ruff-0.12.2-py3-none-linux_armv6l.whl", hash = "sha256:093ea2b221df1d2b8e7ad92fc6ffdca40a2cb10d8564477a987b44fd4008a7be"}, {file = "ruff-0.12.3-py3-none-linux_armv6l.whl", hash = "sha256:47552138f7206454eaf0c4fe827e546e9ddac62c2a3d2585ca54d29a890137a2"},
{file = "ruff-0.12.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:09e4cf27cc10f96b1708100fa851e0daf21767e9709e1649175355280e0d950e"}, {file = "ruff-0.12.3-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:0a9153b000c6fe169bb307f5bd1b691221c4286c133407b8827c406a55282041"},
{file = "ruff-0.12.2-py3-none-macosx_11_0_arm64.whl", hash = "sha256:8ae64755b22f4ff85e9c52d1f82644abd0b6b6b6deedceb74bd71f35c24044cc"}, {file = "ruff-0.12.3-py3-none-macosx_11_0_arm64.whl", hash = "sha256:fa6b24600cf3b750e48ddb6057e901dd5b9aa426e316addb2a1af185a7509882"},
{file = "ruff-0.12.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3eb3a6b2db4d6e2c77e682f0b988d4d61aff06860158fdb413118ca133d57922"}, {file = "ruff-0.12.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2506961bf6ead54887ba3562604d69cb430f59b42133d36976421bc8bd45901"},
{file = "ruff-0.12.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:73448de992d05517170fc37169cbca857dfeaeaa8c2b9be494d7bcb0d36c8f4b"}, {file = "ruff-0.12.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c4faaff1f90cea9d3033cbbcdf1acf5d7fb11d8180758feb31337391691f3df0"},
{file = "ruff-0.12.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b8b94317cbc2ae4a2771af641739f933934b03555e51515e6e021c64441532d"}, {file = "ruff-0.12.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40dced4a79d7c264389de1c59467d5d5cefd79e7e06d1dfa2c75497b5269a5a6"},
{file = "ruff-0.12.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:45fc42c3bf1d30d2008023a0a9a0cfb06bf9835b147f11fe0679f21ae86d34b1"}, {file = "ruff-0.12.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:0262d50ba2767ed0fe212aa7e62112a1dcbfd46b858c5bf7bbd11f326998bafc"},
{file = "ruff-0.12.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce48f675c394c37e958bf229fb5c1e843e20945a6d962cf3ea20b7a107dcd9f4"}, {file = "ruff-0.12.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12371aec33e1a3758597c5c631bae9a5286f3c963bdfb4d17acdd2d395406687"},
{file = "ruff-0.12.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:793d8859445ea47591272021a81391350205a4af65a9392401f418a95dfb75c9"}, {file = "ruff-0.12.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:560f13b6baa49785665276c963edc363f8ad4b4fc910a883e2625bdb14a83a9e"},
{file = "ruff-0.12.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6932323db80484dda89153da3d8e58164d01d6da86857c79f1961934354992da"}, {file = "ruff-0.12.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:023040a3499f6f974ae9091bcdd0385dd9e9eb4942f231c23c57708147b06311"},
{file = "ruff-0.12.2-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:6aa7e623a3a11538108f61e859ebf016c4f14a7e6e4eba1980190cacb57714ce"}, {file = "ruff-0.12.3-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:883d844967bffff5ab28bba1a4d246c1a1b2933f48cb9840f3fdc5111c603b07"},
{file = "ruff-0.12.2-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:2a4a20aeed74671b2def096bdf2eac610c7d8ffcbf4fb0e627c06947a1d7078d"}, {file = "ruff-0.12.3-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:2120d3aa855ff385e0e562fdee14d564c9675edbe41625c87eeab744a7830d12"},
{file = "ruff-0.12.2-py3-none-musllinux_1_2_i686.whl", hash = "sha256:71a4c550195612f486c9d1f2b045a600aeba851b298c667807ae933478fcef04"}, {file = "ruff-0.12.3-py3-none-musllinux_1_2_i686.whl", hash = "sha256:6b16647cbb470eaf4750d27dddc6ebf7758b918887b56d39e9c22cce2049082b"},
{file = "ruff-0.12.2-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:4987b8f4ceadf597c927beee65a5eaf994c6e2b631df963f86d8ad1bdea99342"}, {file = "ruff-0.12.3-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:e1417051edb436230023575b149e8ff843a324557fe0a265863b7602df86722f"},
{file = "ruff-0.12.2-py3-none-win32.whl", hash = "sha256:369ffb69b70cd55b6c3fc453b9492d98aed98062db9fec828cdfd069555f5f1a"}, {file = "ruff-0.12.3-py3-none-win32.whl", hash = "sha256:dfd45e6e926deb6409d0616078a666ebce93e55e07f0fb0228d4b2608b2c248d"},
{file = "ruff-0.12.2-py3-none-win_amd64.whl", hash = "sha256:dca8a3b6d6dc9810ed8f328d406516bf4d660c00caeaef36eb831cf4871b0639"}, {file = "ruff-0.12.3-py3-none-win_amd64.whl", hash = "sha256:a946cf1e7ba3209bdef039eb97647f1c77f6f540e5845ec9c114d3af8df873e7"},
{file = "ruff-0.12.2-py3-none-win_arm64.whl", hash = "sha256:48d6c6bfb4761df68bc05ae630e24f506755e702d4fb08f08460be778c7ccb12"}, {file = "ruff-0.12.3-py3-none-win_arm64.whl", hash = "sha256:5f9c7c9c8f84c2d7f27e93674d27136fbf489720251544c4da7fb3d742e011b1"},
{file = "ruff-0.12.2.tar.gz", hash = "sha256:d7b4f55cd6f325cb7621244f19c873c565a08aff5a4ba9c69aa7355f3f7afd3e"}, {file = "ruff-0.12.3.tar.gz", hash = "sha256:f1b5a4b6668fd7b7ea3697d8d98857390b40c1320a63a178eee6be0899ea2d77"},
] ]
[[package]] [[package]]

View file

@ -3,7 +3,7 @@ authors = ["Hayden <hay-kot@pm.me>"]
description = "A Recipe Manager" description = "A Recipe Manager"
license = "AGPL" license = "AGPL"
name = "mealie" name = "mealie"
version = "2.8.0" version = "3.0.0"
include = [ include = [
# Explicit include to override .gitignore when packaging the frontend # Explicit include to override .gitignore when packaging the frontend
{ path = "mealie/frontend/**/*", format = ["sdist", "wheel"] } { path = "mealie/frontend/**/*", format = ["sdist", "wheel"] }