mirror of
https://github.com/hay-kot/mealie.git
synced 2025-08-21 22:13:31 -07:00
Merge branch 'mealie-next' into mealie-next
This commit is contained in:
commit
979392f98a
91 changed files with 2710 additions and 2469 deletions
|
@ -1,6 +1,6 @@
|
||||||
repos:
|
repos:
|
||||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
rev: v5.0.0
|
rev: v6.0.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: check-yaml
|
- id: check-yaml
|
||||||
exclude: "mkdocs.yml"
|
exclude: "mkdocs.yml"
|
||||||
|
@ -12,7 +12,7 @@ repos:
|
||||||
exclude: ^tests/data/
|
exclude: ^tests/data/
|
||||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||||
# Ruff version.
|
# Ruff version.
|
||||||
rev: v0.12.7
|
rev: v0.12.8
|
||||||
hooks:
|
hooks:
|
||||||
- id: ruff
|
- id: ruff
|
||||||
- id: ruff-format
|
- id: ruff-format
|
||||||
|
|
|
@ -33,7 +33,7 @@ export const LOCALES = [
|
||||||
{
|
{
|
||||||
name: "Svenska (Swedish)",
|
name: "Svenska (Swedish)",
|
||||||
value: "sv-SE",
|
value: "sv-SE",
|
||||||
progress: 50,
|
progress: 52,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -57,7 +57,7 @@ export const LOCALES = [
|
||||||
{
|
{
|
||||||
name: "Pусский (Russian)",
|
name: "Pусский (Russian)",
|
||||||
value: "ru-RU",
|
value: "ru-RU",
|
||||||
progress: 37,
|
progress: 38,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -75,7 +75,7 @@ export const LOCALES = [
|
||||||
{
|
{
|
||||||
name: "Português do Brasil (Brazilian Portuguese)",
|
name: "Português do Brasil (Brazilian Portuguese)",
|
||||||
value: "pt-BR",
|
value: "pt-BR",
|
||||||
progress: 36,
|
progress: 40,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -105,7 +105,7 @@ export const LOCALES = [
|
||||||
{
|
{
|
||||||
name: "Lietuvių (Lithuanian)",
|
name: "Lietuvių (Lithuanian)",
|
||||||
value: "lt-LT",
|
value: "lt-LT",
|
||||||
progress: 27,
|
progress: 26,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -153,13 +153,13 @@ export const LOCALES = [
|
||||||
{
|
{
|
||||||
name: "Galego (Galician)",
|
name: "Galego (Galician)",
|
||||||
value: "gl-ES",
|
value: "gl-ES",
|
||||||
progress: 38,
|
progress: 39,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Français (French)",
|
name: "Français (French)",
|
||||||
value: "fr-FR",
|
value: "fr-FR",
|
||||||
progress: 50,
|
progress: 52,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -219,7 +219,7 @@ export const LOCALES = [
|
||||||
{
|
{
|
||||||
name: "Dansk (Danish)",
|
name: "Dansk (Danish)",
|
||||||
value: "da-DK",
|
value: "da-DK",
|
||||||
progress: 39,
|
progress: 40,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Merker gebeurtenisse",
|
"tag-events": "Merker gebeurtenisse",
|
||||||
"category-events": "Kategorie Gebeurtenisse",
|
"category-events": "Kategorie Gebeurtenisse",
|
||||||
"when-a-new-user-joins-your-group": "Wanneer 'n nuwe gebruiker by jou groep aansluit",
|
"when-a-new-user-joins-your-group": "Wanneer 'n nuwe gebruiker by jou groep aansluit",
|
||||||
"recipe-events": "Recipe Events"
|
"recipe-events": "Recipe Events",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Add",
|
"add": "Add",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "أحداث الوسم",
|
"tag-events": "أحداث الوسم",
|
||||||
"category-events": "أحداث الفئة",
|
"category-events": "أحداث الفئة",
|
||||||
"when-a-new-user-joins-your-group": "عندما ينضم مستخدم جديد إلى مجموعتك",
|
"when-a-new-user-joins-your-group": "عندما ينضم مستخدم جديد إلى مجموعتك",
|
||||||
"recipe-events": "وصفات المناسبات"
|
"recipe-events": "وصفات المناسبات",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "أضف",
|
"add": "أضف",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "История на етикетите",
|
"tag-events": "История на етикетите",
|
||||||
"category-events": "Събития за категория",
|
"category-events": "Събития за категория",
|
||||||
"when-a-new-user-joins-your-group": "Когато потребител се присъедини към твоята потребителска група",
|
"when-a-new-user-joins-your-group": "Когато потребител се присъедини към твоята потребителска група",
|
||||||
"recipe-events": "Събития на рецептата"
|
"recipe-events": "Събития на рецептата",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Добави",
|
"add": "Добави",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Esdeveniments de les etiquetes",
|
"tag-events": "Esdeveniments de les etiquetes",
|
||||||
"category-events": "Esdeveniments de les categories",
|
"category-events": "Esdeveniments de les categories",
|
||||||
"when-a-new-user-joins-your-group": "Quan un nou usuari s'afegeix al grup",
|
"when-a-new-user-joins-your-group": "Quan un nou usuari s'afegeix al grup",
|
||||||
"recipe-events": "Esdeveniments de receptes"
|
"recipe-events": "Esdeveniments de receptes",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Afegeix",
|
"add": "Afegeix",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Události tagu",
|
"tag-events": "Události tagu",
|
||||||
"category-events": "Události kategorie",
|
"category-events": "Události kategorie",
|
||||||
"when-a-new-user-joins-your-group": "Když se nový uživatel připojí do vaší skupiny",
|
"when-a-new-user-joins-your-group": "Když se nový uživatel připojí do vaší skupiny",
|
||||||
"recipe-events": "Události receptu"
|
"recipe-events": "Události receptu",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Přidat",
|
"add": "Přidat",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Tagbegivenheder",
|
"tag-events": "Tagbegivenheder",
|
||||||
"category-events": "Kategoribegivenheder",
|
"category-events": "Kategoribegivenheder",
|
||||||
"when-a-new-user-joins-your-group": "Når en ny bruger slutter sig til din gruppe",
|
"when-a-new-user-joins-your-group": "Når en ny bruger slutter sig til din gruppe",
|
||||||
"recipe-events": "Hændelser for opskrifter"
|
"recipe-events": "Hændelser for opskrifter",
|
||||||
|
"label-events": "Navn på begivenheder"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Tilføj",
|
"add": "Tilføj",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Schlagwort-Ereignisse",
|
"tag-events": "Schlagwort-Ereignisse",
|
||||||
"category-events": "Kategorie-Ereignisse",
|
"category-events": "Kategorie-Ereignisse",
|
||||||
"when-a-new-user-joins-your-group": "Wenn ein neuer Benutzer deiner Gruppe beitritt",
|
"when-a-new-user-joins-your-group": "Wenn ein neuer Benutzer deiner Gruppe beitritt",
|
||||||
"recipe-events": "Rezept-Ereignisse"
|
"recipe-events": "Rezept-Ereignisse",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Hinzufügen",
|
"add": "Hinzufügen",
|
||||||
|
@ -676,7 +677,7 @@
|
||||||
},
|
},
|
||||||
"recipe-finder": {
|
"recipe-finder": {
|
||||||
"recipe-finder": "Rezept-Suche",
|
"recipe-finder": "Rezept-Suche",
|
||||||
"recipe-finder-description": "Suche nach Rezepten basierend auf den Zutaten, die du zur Hand hast. Sie können auch nach verfügbaren Werkzeugen filtern und eine maximale Anzahl an fehlenden Zutaten oder Werkzeugen festlegen.",
|
"recipe-finder-description": "Suche nach Rezepten basierend auf den Zutaten, die du zur Hand hast. Du kannst auch nach verfügbaren Werkzeugen filtern und eine maximale Anzahl an fehlenden Zutaten oder Werkzeugen festlegen.",
|
||||||
"selected-ingredients": "Ausgewählte Zutaten",
|
"selected-ingredients": "Ausgewählte Zutaten",
|
||||||
"no-ingredients-selected": "Keine Zutaten ausgewählt",
|
"no-ingredients-selected": "Keine Zutaten ausgewählt",
|
||||||
"missing": "Fehlend",
|
"missing": "Fehlend",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Συμβάντα ετικέτας",
|
"tag-events": "Συμβάντα ετικέτας",
|
||||||
"category-events": "Συμβάντα κατηγορίας",
|
"category-events": "Συμβάντα κατηγορίας",
|
||||||
"when-a-new-user-joins-your-group": "Οταν ένας νέος χρήστης ενταχθεί στην ομάδα σας",
|
"when-a-new-user-joins-your-group": "Οταν ένας νέος χρήστης ενταχθεί στην ομάδα σας",
|
||||||
"recipe-events": "Συμβάντα συνταγών"
|
"recipe-events": "Συμβάντα συνταγών",
|
||||||
|
"label-events": "Ετικέτα συμβάντων"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Προσθήκη",
|
"add": "Προσθήκη",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Tag Events",
|
"tag-events": "Tag Events",
|
||||||
"category-events": "Category Events",
|
"category-events": "Category Events",
|
||||||
"when-a-new-user-joins-your-group": "When a new user joins your group",
|
"when-a-new-user-joins-your-group": "When a new user joins your group",
|
||||||
"recipe-events": "Recipe Events"
|
"recipe-events": "Recipe Events",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Add",
|
"add": "Add",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Tag Events",
|
"tag-events": "Tag Events",
|
||||||
"category-events": "Category Events",
|
"category-events": "Category Events",
|
||||||
"when-a-new-user-joins-your-group": "When a new user joins your group",
|
"when-a-new-user-joins-your-group": "When a new user joins your group",
|
||||||
"recipe-events": "Recipe Events"
|
"recipe-events": "Recipe Events",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Add",
|
"add": "Add",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Eventos de etiqueta",
|
"tag-events": "Eventos de etiqueta",
|
||||||
"category-events": "Eventos de Categoría",
|
"category-events": "Eventos de Categoría",
|
||||||
"when-a-new-user-joins-your-group": "Cuando un nuevo usuario se une a tu grupo",
|
"when-a-new-user-joins-your-group": "Cuando un nuevo usuario se une a tu grupo",
|
||||||
"recipe-events": "Eventos de receta"
|
"recipe-events": "Eventos de receta",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Agregar",
|
"add": "Agregar",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Märksõna sündmused",
|
"tag-events": "Märksõna sündmused",
|
||||||
"category-events": "Kategooria sündmused",
|
"category-events": "Kategooria sündmused",
|
||||||
"when-a-new-user-joins-your-group": "Kui uus kasutaja liitub sinu grupiga",
|
"when-a-new-user-joins-your-group": "Kui uus kasutaja liitub sinu grupiga",
|
||||||
"recipe-events": "Retsepti sündmused"
|
"recipe-events": "Retsepti sündmused",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Lisa",
|
"add": "Lisa",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Valitse tapahtumat",
|
"tag-events": "Valitse tapahtumat",
|
||||||
"category-events": "Luokkatapahtumat",
|
"category-events": "Luokkatapahtumat",
|
||||||
"when-a-new-user-joins-your-group": "Kun ryhmääsi liittyy uusi jäsen",
|
"when-a-new-user-joins-your-group": "Kun ryhmääsi liittyy uusi jäsen",
|
||||||
"recipe-events": "Reseptitapahtumat"
|
"recipe-events": "Reseptitapahtumat",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Lisää",
|
"add": "Lisää",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Événements des mots-clés",
|
"tag-events": "Événements des mots-clés",
|
||||||
"category-events": "Événements de catégories",
|
"category-events": "Événements de catégories",
|
||||||
"when-a-new-user-joins-your-group": "Lorsqu'un nouvel utilisateur rejoint votre groupe",
|
"when-a-new-user-joins-your-group": "Lorsqu'un nouvel utilisateur rejoint votre groupe",
|
||||||
"recipe-events": "Événements de recette"
|
"recipe-events": "Événements de recette",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Ajouter",
|
"add": "Ajouter",
|
||||||
|
@ -472,7 +473,7 @@
|
||||||
"comment": "Commentaire",
|
"comment": "Commentaire",
|
||||||
"comments": "Commentaires",
|
"comments": "Commentaires",
|
||||||
"delete-confirmation": "Voulez-vous vraiment supprimer cette recette ?",
|
"delete-confirmation": "Voulez-vous vraiment supprimer cette recette ?",
|
||||||
"admin-delete-confirmation": "You're about to delete a recipe that isn't yours using admin permissions. Are you sure?",
|
"admin-delete-confirmation": "Vous êtes sur le point de supprimer une recette qui n'est pas la vôtre en utilisant les permissions d'administrateur. Êtes-vous sûr(e) ?",
|
||||||
"delete-recipe": "Supprimer la recette",
|
"delete-recipe": "Supprimer la recette",
|
||||||
"description": "Description",
|
"description": "Description",
|
||||||
"disable-amount": "Désactiver les quantités des ingrédients",
|
"disable-amount": "Désactiver les quantités des ingrédients",
|
||||||
|
@ -587,7 +588,7 @@
|
||||||
"api-extras-description": "Les suppléments des recettes sont une fonctionnalité clé de l’API Mealie. Ils permettent de créer des paires JSON clé/valeur personnalisées dans une recette, qui peuvent être référencées depuis des applications tierces. Ces clés peuvent être utilisées par exemple pour déclencher des tâches automatisées ou des messages personnalisés à transmettre à l’appareil souhaité.",
|
"api-extras-description": "Les suppléments des recettes sont une fonctionnalité clé de l’API Mealie. Ils permettent de créer des paires JSON clé/valeur personnalisées dans une recette, qui peuvent être référencées depuis des applications tierces. Ces clés peuvent être utilisées par exemple pour déclencher des tâches automatisées ou des messages personnalisés à transmettre à l’appareil souhaité.",
|
||||||
"message-key": "Clé de message",
|
"message-key": "Clé de message",
|
||||||
"parse": "Analyser",
|
"parse": "Analyser",
|
||||||
"ingredients-not-parsed-description": "It looks like your ingredients aren't parsed yet. Click the \"{parse}\" button below to parse your ingredients into structured foods.",
|
"ingredients-not-parsed-description": "Il semble que vos ingrédients ne soient pas encore analysés. Cliquez sur le bouton \"{parse}\" ci-dessous pour analyser vos ingrédients en aliments structurés.",
|
||||||
"attach-images-hint": "Ajouter des images en les glissant-déposant dans l'éditeur",
|
"attach-images-hint": "Ajouter des images en les glissant-déposant dans l'éditeur",
|
||||||
"drop-image": "Déposer l'image",
|
"drop-image": "Déposer l'image",
|
||||||
"enable-ingredient-amounts-to-use-this-feature": "Activez les quantités d'ingrédients pour utiliser cette fonctionnalité",
|
"enable-ingredient-amounts-to-use-this-feature": "Activez les quantités d'ingrédients pour utiliser cette fonctionnalité",
|
||||||
|
@ -664,8 +665,8 @@
|
||||||
"no-unit": "Pas d'unité",
|
"no-unit": "Pas d'unité",
|
||||||
"missing-unit": "Créer une unité manquante : {unit}",
|
"missing-unit": "Créer une unité manquante : {unit}",
|
||||||
"missing-food": "Créer un aliment manquant : {food}",
|
"missing-food": "Créer un aliment manquant : {food}",
|
||||||
"this-unit-could-not-be-parsed-automatically": "This unit could not be parsed automatically",
|
"this-unit-could-not-be-parsed-automatically": "Cette unité n'a pas pu être analysée automatiquement",
|
||||||
"this-food-could-not-be-parsed-automatically": "This food could not be parsed automatically",
|
"this-food-could-not-be-parsed-automatically": "Cet aliment n'a pas pu être analysé automatiquement",
|
||||||
"no-food": "Aucun aliment"
|
"no-food": "Aucun aliment"
|
||||||
},
|
},
|
||||||
"reset-servings-count": "Réinitialiser le nombre de portions",
|
"reset-servings-count": "Réinitialiser le nombre de portions",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Événements des mots-clés",
|
"tag-events": "Événements des mots-clés",
|
||||||
"category-events": "Événements de catégories",
|
"category-events": "Événements de catégories",
|
||||||
"when-a-new-user-joins-your-group": "Lorsqu'un nouvel utilisateur rejoint votre groupe",
|
"when-a-new-user-joins-your-group": "Lorsqu'un nouvel utilisateur rejoint votre groupe",
|
||||||
"recipe-events": "Événements de recette"
|
"recipe-events": "Événements de recette",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Ajouter",
|
"add": "Ajouter",
|
||||||
|
@ -472,7 +473,7 @@
|
||||||
"comment": "Commentaire",
|
"comment": "Commentaire",
|
||||||
"comments": "Commentaires",
|
"comments": "Commentaires",
|
||||||
"delete-confirmation": "Êtes-vous sûr(e) de vouloir supprimer cette recette?",
|
"delete-confirmation": "Êtes-vous sûr(e) de vouloir supprimer cette recette?",
|
||||||
"admin-delete-confirmation": "You're about to delete a recipe that isn't yours using admin permissions. Are you sure?",
|
"admin-delete-confirmation": "Vous êtes sur le point de supprimer une recette qui n'est pas la vôtre en utilisant les permissions d'administrateur. Êtes-vous sûr(e) ?",
|
||||||
"delete-recipe": "Supprimer la recette",
|
"delete-recipe": "Supprimer la recette",
|
||||||
"description": "Description",
|
"description": "Description",
|
||||||
"disable-amount": "Désactiver les quantités d'ingrédients",
|
"disable-amount": "Désactiver les quantités d'ingrédients",
|
||||||
|
@ -587,7 +588,7 @@
|
||||||
"api-extras-description": "Les suppléments des recettes sont une fonctionnalité clé de l’API Mealie. Ils permettent de créer des paires JSON clé/valeur personnalisées dans une recette, qui peuvent être référencées depuis des applications tierces. Ces clés peuvent être utilisées par exemple pour déclencher des tâches automatisées ou des messages personnalisés à transmettre à l’appareil souhaité.",
|
"api-extras-description": "Les suppléments des recettes sont une fonctionnalité clé de l’API Mealie. Ils permettent de créer des paires JSON clé/valeur personnalisées dans une recette, qui peuvent être référencées depuis des applications tierces. Ces clés peuvent être utilisées par exemple pour déclencher des tâches automatisées ou des messages personnalisés à transmettre à l’appareil souhaité.",
|
||||||
"message-key": "Clé de message",
|
"message-key": "Clé de message",
|
||||||
"parse": "Analyser",
|
"parse": "Analyser",
|
||||||
"ingredients-not-parsed-description": "It looks like your ingredients aren't parsed yet. Click the \"{parse}\" button below to parse your ingredients into structured foods.",
|
"ingredients-not-parsed-description": "Il semble que vos ingrédients ne soient pas encore analysés. Cliquez sur le bouton \"{parse}\" ci-dessous pour analyser vos ingrédients en aliments structurés.",
|
||||||
"attach-images-hint": "Ajouter des images en les glissant-déposant dans l'éditeur",
|
"attach-images-hint": "Ajouter des images en les glissant-déposant dans l'éditeur",
|
||||||
"drop-image": "Déposer l'image",
|
"drop-image": "Déposer l'image",
|
||||||
"enable-ingredient-amounts-to-use-this-feature": "Activez les quantités d'ingrédients pour utiliser cette fonctionnalité",
|
"enable-ingredient-amounts-to-use-this-feature": "Activez les quantités d'ingrédients pour utiliser cette fonctionnalité",
|
||||||
|
@ -664,8 +665,8 @@
|
||||||
"no-unit": "Pas d'unité",
|
"no-unit": "Pas d'unité",
|
||||||
"missing-unit": "Créer une unité manquante : {unit}",
|
"missing-unit": "Créer une unité manquante : {unit}",
|
||||||
"missing-food": "Créer un aliment manquant : {food}",
|
"missing-food": "Créer un aliment manquant : {food}",
|
||||||
"this-unit-could-not-be-parsed-automatically": "This unit could not be parsed automatically",
|
"this-unit-could-not-be-parsed-automatically": "Cette unité n'a pas pu être analysée automatiquement",
|
||||||
"this-food-could-not-be-parsed-automatically": "This food could not be parsed automatically",
|
"this-food-could-not-be-parsed-automatically": "Cet aliment n'a pas pu être analysé automatiquement",
|
||||||
"no-food": "Aucun aliment"
|
"no-food": "Aucun aliment"
|
||||||
},
|
},
|
||||||
"reset-servings-count": "Réinitialiser le nombre de portions",
|
"reset-servings-count": "Réinitialiser le nombre de portions",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Événements des mots-clés",
|
"tag-events": "Événements des mots-clés",
|
||||||
"category-events": "Événements de catégories",
|
"category-events": "Événements de catégories",
|
||||||
"when-a-new-user-joins-your-group": "Lorsqu'un nouvel utilisateur rejoint votre groupe",
|
"when-a-new-user-joins-your-group": "Lorsqu'un nouvel utilisateur rejoint votre groupe",
|
||||||
"recipe-events": "Événements de recette"
|
"recipe-events": "Événements de recette",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Ajouter",
|
"add": "Ajouter",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Eventos de Etiquetas",
|
"tag-events": "Eventos de Etiquetas",
|
||||||
"category-events": "Eventos de Categorías",
|
"category-events": "Eventos de Categorías",
|
||||||
"when-a-new-user-joins-your-group": "Cando un novo usuario se une ao teu grupo",
|
"when-a-new-user-joins-your-group": "Cando un novo usuario se une ao teu grupo",
|
||||||
"recipe-events": "Eventos de Receitas"
|
"recipe-events": "Eventos de Receitas",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Engadir",
|
"add": "Engadir",
|
||||||
|
@ -472,7 +473,7 @@
|
||||||
"comment": "Comentario",
|
"comment": "Comentario",
|
||||||
"comments": "Comentarios",
|
"comments": "Comentarios",
|
||||||
"delete-confirmation": "Estás seguro de que queres eliminar esta receita?",
|
"delete-confirmation": "Estás seguro de que queres eliminar esta receita?",
|
||||||
"admin-delete-confirmation": "You're about to delete a recipe that isn't yours using admin permissions. Are you sure?",
|
"admin-delete-confirmation": "Estás a piques de eliminar unha receita que non é tua usando permisos de administrador. Tes certeza?",
|
||||||
"delete-recipe": "Eliminar Receita",
|
"delete-recipe": "Eliminar Receita",
|
||||||
"description": "Descrición",
|
"description": "Descrición",
|
||||||
"disable-amount": "Desactivar as Cantidades de Ingredientes",
|
"disable-amount": "Desactivar as Cantidades de Ingredientes",
|
||||||
|
@ -580,14 +581,14 @@
|
||||||
"made-this": "Eu fixen isto",
|
"made-this": "Eu fixen isto",
|
||||||
"how-did-it-turn-out": "Que tal ficou?",
|
"how-did-it-turn-out": "Que tal ficou?",
|
||||||
"user-made-this": "{user} fixo isto",
|
"user-made-this": "{user} fixo isto",
|
||||||
"added-to-timeline": "Added to timeline",
|
"added-to-timeline": "Adicionado ao histórico",
|
||||||
"failed-to-add-to-timeline": "Failed to add to timeline",
|
"failed-to-add-to-timeline": "Falla ao adicionar ao histórico",
|
||||||
"failed-to-update-recipe": "Failed to update recipe",
|
"failed-to-update-recipe": "Falla ao atualizar a receita",
|
||||||
"added-to-timeline-but-failed-to-add-image": "Added to timeline, but failed to add image",
|
"added-to-timeline-but-failed-to-add-image": "Adicionado ao histórico, mas non foi posíbel adicionar a imaxe",
|
||||||
"api-extras-description": "Os extras de receitas son unha característica clave da API de Mealie. Permítenche crear pares de clave/valor JSON personalizados dentro dunha receita, para facer referencia desde aplicacións de terceiros. Podes usar estas teclas para proporcionar información, por exemplo, para activar automatizacións ou mensaxes personalizadas para transmitir ao dispositivo que desexes.",
|
"api-extras-description": "Os extras de receitas son unha característica clave da API de Mealie. Permítenche crear pares de clave/valor JSON personalizados dentro dunha receita, para facer referencia desde aplicacións de terceiros. Podes usar estas teclas para proporcionar información, por exemplo, para activar automatizacións ou mensaxes personalizadas para transmitir ao dispositivo que desexes.",
|
||||||
"message-key": "Chave de Mensaxen",
|
"message-key": "Chave de Mensaxen",
|
||||||
"parse": "Interpretar",
|
"parse": "Interpretar",
|
||||||
"ingredients-not-parsed-description": "It looks like your ingredients aren't parsed yet. Click the \"{parse}\" button below to parse your ingredients into structured foods.",
|
"ingredients-not-parsed-description": "Parece que os teus ingredientes ainda non foron procesados. Clique no boton \"{parse}\" abaixo para converte-los en alimentos estruturados.",
|
||||||
"attach-images-hint": "Anexe imaxens arrastrando e soltandoas no editor",
|
"attach-images-hint": "Anexe imaxens arrastrando e soltandoas no editor",
|
||||||
"drop-image": "Arrastrar imaxen",
|
"drop-image": "Arrastrar imaxen",
|
||||||
"enable-ingredient-amounts-to-use-this-feature": "Ative cantidades de ingredientes para usar esta funcionalidade",
|
"enable-ingredient-amounts-to-use-this-feature": "Ative cantidades de ingredientes para usar esta funcionalidade",
|
||||||
|
@ -664,8 +665,8 @@
|
||||||
"no-unit": "Sen unidades",
|
"no-unit": "Sen unidades",
|
||||||
"missing-unit": "Crear a unidade que falta: {unit}",
|
"missing-unit": "Crear a unidade que falta: {unit}",
|
||||||
"missing-food": "Crear a comida que falta: {food}",
|
"missing-food": "Crear a comida que falta: {food}",
|
||||||
"this-unit-could-not-be-parsed-automatically": "This unit could not be parsed automatically",
|
"this-unit-could-not-be-parsed-automatically": "Non foi posível procesar automaticamente esta unidade",
|
||||||
"this-food-could-not-be-parsed-automatically": "This food could not be parsed automatically",
|
"this-food-could-not-be-parsed-automatically": "Non foi posíbel procesar automaticamente este alimento",
|
||||||
"no-food": "Sen Comida"
|
"no-food": "Sen Comida"
|
||||||
},
|
},
|
||||||
"reset-servings-count": "Reiniciar Contador de Porcións",
|
"reset-servings-count": "Reiniciar Contador de Porcións",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "אירועי תגיות",
|
"tag-events": "אירועי תגיות",
|
||||||
"category-events": "אירועי קטגוריות",
|
"category-events": "אירועי קטגוריות",
|
||||||
"when-a-new-user-joins-your-group": "כאשר משתמש חדש מצטרף לקבוצה",
|
"when-a-new-user-joins-your-group": "כאשר משתמש חדש מצטרף לקבוצה",
|
||||||
"recipe-events": "אירועי מתכון"
|
"recipe-events": "אירועי מתכון",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "הוספה",
|
"add": "הוספה",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Događaji Oznaka",
|
"tag-events": "Događaji Oznaka",
|
||||||
"category-events": "Događaji Kategorija",
|
"category-events": "Događaji Kategorija",
|
||||||
"when-a-new-user-joins-your-group": "Kada se novi korisnik pridruži vašoj grupi",
|
"when-a-new-user-joins-your-group": "Kada se novi korisnik pridruži vašoj grupi",
|
||||||
"recipe-events": "Događaji recepta"
|
"recipe-events": "Događaji recepta",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Dodaj",
|
"add": "Dodaj",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Címke események",
|
"tag-events": "Címke események",
|
||||||
"category-events": "Kategória események",
|
"category-events": "Kategória események",
|
||||||
"when-a-new-user-joins-your-group": "Amikor egy új felhasználó csatlakozik a csoportodba",
|
"when-a-new-user-joins-your-group": "Amikor egy új felhasználó csatlakozik a csoportodba",
|
||||||
"recipe-events": "Recept esemény"
|
"recipe-events": "Recept esemény",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Hozzáadás",
|
"add": "Hozzáadás",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Merki viðburðir",
|
"tag-events": "Merki viðburðir",
|
||||||
"category-events": "Flokka viðburðir",
|
"category-events": "Flokka viðburðir",
|
||||||
"when-a-new-user-joins-your-group": "Þegar nýr notandi bætist við í þinn hóp",
|
"when-a-new-user-joins-your-group": "Þegar nýr notandi bætist við í þinn hóp",
|
||||||
"recipe-events": "Uppskriftar viðburðir"
|
"recipe-events": "Uppskriftar viðburðir",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Bæta við",
|
"add": "Bæta við",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Tag Eventi",
|
"tag-events": "Tag Eventi",
|
||||||
"category-events": "Categoria Eventi",
|
"category-events": "Categoria Eventi",
|
||||||
"when-a-new-user-joins-your-group": "Quando un nuovo utente entra nel tuo gruppo",
|
"when-a-new-user-joins-your-group": "Quando un nuovo utente entra nel tuo gruppo",
|
||||||
"recipe-events": "Eventi di ricette"
|
"recipe-events": "Eventi di ricette",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Aggiungi",
|
"add": "Aggiungi",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "タグイベント",
|
"tag-events": "タグイベント",
|
||||||
"category-events": "カテゴリイベント",
|
"category-events": "カテゴリイベント",
|
||||||
"when-a-new-user-joins-your-group": "新しいユーザーがグループに参加したとき",
|
"when-a-new-user-joins-your-group": "新しいユーザーがグループに参加したとき",
|
||||||
"recipe-events": "レシピイベント"
|
"recipe-events": "レシピイベント",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "追加",
|
"add": "追加",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Tag 이벤트",
|
"tag-events": "Tag 이벤트",
|
||||||
"category-events": "카테고리 이벤트",
|
"category-events": "카테고리 이벤트",
|
||||||
"when-a-new-user-joins-your-group": "새로운 사용자가 그룹에 가입하면",
|
"when-a-new-user-joins-your-group": "새로운 사용자가 그룹에 가입하면",
|
||||||
"recipe-events": "레시피 이벤트"
|
"recipe-events": "레시피 이벤트",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "추가",
|
"add": "추가",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Žymų įvykiai",
|
"tag-events": "Žymų įvykiai",
|
||||||
"category-events": "Kategorijų įvykiai",
|
"category-events": "Kategorijų įvykiai",
|
||||||
"when-a-new-user-joins-your-group": "Kai prie jūsų grupės prisijungia naujas naudotojas",
|
"when-a-new-user-joins-your-group": "Kai prie jūsų grupės prisijungia naujas naudotojas",
|
||||||
"recipe-events": "Recipe Events"
|
"recipe-events": "Recipe Events",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Pridėti",
|
"add": "Pridėti",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Atzīmēt notikumus",
|
"tag-events": "Atzīmēt notikumus",
|
||||||
"category-events": "Kategorija Notikumi",
|
"category-events": "Kategorija Notikumi",
|
||||||
"when-a-new-user-joins-your-group": "Kad jūsu grupai pievienojas jauns lietotājs",
|
"when-a-new-user-joins-your-group": "Kad jūsu grupai pievienojas jauns lietotājs",
|
||||||
"recipe-events": "Recepšu notikumi"
|
"recipe-events": "Recepšu notikumi",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Pievienot",
|
"add": "Pievienot",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Label-gebeurtenissen",
|
"tag-events": "Label-gebeurtenissen",
|
||||||
"category-events": "Categorie-gebeurtenissen",
|
"category-events": "Categorie-gebeurtenissen",
|
||||||
"when-a-new-user-joins-your-group": "Als een nieuwe gebruiker zich bij je groep aansluit",
|
"when-a-new-user-joins-your-group": "Als een nieuwe gebruiker zich bij je groep aansluit",
|
||||||
"recipe-events": "Recept gebeurtenissen"
|
"recipe-events": "Recept gebeurtenissen",
|
||||||
|
"label-events": "Label gebeurtenissen"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Voeg toe",
|
"add": "Voeg toe",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Emneordhendelser",
|
"tag-events": "Emneordhendelser",
|
||||||
"category-events": "Kategorihendelser",
|
"category-events": "Kategorihendelser",
|
||||||
"when-a-new-user-joins-your-group": "Når en ny bruker blir med i gruppen din",
|
"when-a-new-user-joins-your-group": "Når en ny bruker blir med i gruppen din",
|
||||||
"recipe-events": "Oppskriftshendelser"
|
"recipe-events": "Oppskriftshendelser",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Legg til",
|
"add": "Legg til",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Zdarzenia tagów",
|
"tag-events": "Zdarzenia tagów",
|
||||||
"category-events": "Wydarzenia kategorii",
|
"category-events": "Wydarzenia kategorii",
|
||||||
"when-a-new-user-joins-your-group": "Kiedy nowy użytkownik dołączy do Twojej grupy",
|
"when-a-new-user-joins-your-group": "Kiedy nowy użytkownik dołączy do Twojej grupy",
|
||||||
"recipe-events": "Zdarzenia Przepisów"
|
"recipe-events": "Zdarzenia Przepisów",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Dodaj",
|
"add": "Dodaj",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Eventos de Etiqueta",
|
"tag-events": "Eventos de Etiqueta",
|
||||||
"category-events": "Eventos de Categoria",
|
"category-events": "Eventos de Categoria",
|
||||||
"when-a-new-user-joins-your-group": "Quando um novo usuário entrar no seu grupo",
|
"when-a-new-user-joins-your-group": "Quando um novo usuário entrar no seu grupo",
|
||||||
"recipe-events": "Eventos da Receita"
|
"recipe-events": "Eventos da Receita",
|
||||||
|
"label-events": "Rotular Eventos"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Adicionar",
|
"add": "Adicionar",
|
||||||
|
@ -253,7 +254,7 @@
|
||||||
"default-recipe-preferences": "Preferências padrões de receita",
|
"default-recipe-preferences": "Preferências padrões de receita",
|
||||||
"group-preferences": "Preferências de Grupo",
|
"group-preferences": "Preferências de Grupo",
|
||||||
"private-group": "Grupo Privado",
|
"private-group": "Grupo Privado",
|
||||||
"private-group-description": "Setting your group to private will disable all public view options. This overrides any individual public view settings",
|
"private-group-description": "Configurar seu grupo para privado irá desabilitar as opções de visualização pública. Isso substitui qualquer configuração pública individual.",
|
||||||
"enable-public-access": "Ativar Acesso Público",
|
"enable-public-access": "Ativar Acesso Público",
|
||||||
"enable-public-access-description": "Tornar receitas do grupo públicas por padrão, e permitir a sua visualização por visitantes não logados",
|
"enable-public-access-description": "Tornar receitas do grupo públicas por padrão, e permitir a sua visualização por visitantes não logados",
|
||||||
"allow-users-outside-of-your-group-to-see-your-recipes": "Permitir que usuários fora do seu grupo vejam suas receitas",
|
"allow-users-outside-of-your-group-to-see-your-recipes": "Permitir que usuários fora do seu grupo vejam suas receitas",
|
||||||
|
@ -276,30 +277,30 @@
|
||||||
"admin-group-management": "Gerenciamento de Grupos Administrativos",
|
"admin-group-management": "Gerenciamento de Grupos Administrativos",
|
||||||
"admin-group-management-text": "As alterações a este grupo serão refletidas imediatamente.",
|
"admin-group-management-text": "As alterações a este grupo serão refletidas imediatamente.",
|
||||||
"group-id-value": "ID do grupo: {0}",
|
"group-id-value": "ID do grupo: {0}",
|
||||||
"total-households": "Total Households",
|
"total-households": "Total de Familiares",
|
||||||
"you-must-select-a-group-before-selecting-a-household": "You must select a group before selecting a household"
|
"you-must-select-a-group-before-selecting-a-household": "Você deve selecionar um grupo antes de selecionar uma família"
|
||||||
},
|
},
|
||||||
"household": {
|
"household": {
|
||||||
"household": "Casa",
|
"household": "Casa",
|
||||||
"households": "Casas",
|
"households": "Casas",
|
||||||
"user-household": "User Household",
|
"user-household": "Família do Usuário",
|
||||||
"create-household": "Create Household",
|
"create-household": "Criar Família",
|
||||||
"household-name": "Household Name",
|
"household-name": "Nome da Família",
|
||||||
"household-group": "Household Group",
|
"household-group": "Grupo Familiar",
|
||||||
"household-management": "Household Management",
|
"household-management": "Gerenciamento Familiar",
|
||||||
"manage-households": "Manage Households",
|
"manage-households": "Gerenciar Família",
|
||||||
"admin-household-management": "Admin Household Management",
|
"admin-household-management": "Administrador de Gerenciamento Familiar",
|
||||||
"admin-household-management-text": "Changes to this household will be reflected immediately.",
|
"admin-household-management-text": "Mudanças a esta família serão aplicadas imediatamente.",
|
||||||
"household-id-value": "Household Id: {0}",
|
"household-id-value": "Id Familiar: {0}",
|
||||||
"private-household": "Private Household",
|
"private-household": "Família Privada",
|
||||||
"private-household-description": "Setting your household to private will disable all public view options. This overrides any individual public view settings",
|
"private-household-description": "Configurar sua família como privado desativará todas as opções de visualização pública. Isso substitui as configurações de visualização pública individual",
|
||||||
"lock-recipe-edits-from-other-households": "Lock recipe edits from other households",
|
"lock-recipe-edits-from-other-households": "Bloquear edições de receitas de outras famílias",
|
||||||
"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": "Quando ativado apenas os usuários da sua família podem editar receitas criadas por sua família",
|
||||||
"household-recipe-preferences": "Household Recipe Preferences",
|
"household-recipe-preferences": "Preferências de Receita da Família",
|
||||||
"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": "Estas são as configurações padrão quando uma nova receita é criada em sua família. Elas podem ser alteradas para receitas individuais no menu de configurações de receitas.",
|
||||||
"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": "Permitir que os usuários fora de sua família vejam suas receitas",
|
||||||
"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": "Quando ativado, você pode usar um link de compartilhamento público para compartilhar receitas específicas sem autorizar o usuário. Quando desativado, você só pode compartilhar receitas com usuários que estão na sua família ou com um link privado pré-gerado",
|
||||||
"household-preferences": "Household Preferences"
|
"household-preferences": "Preferências Familiares"
|
||||||
},
|
},
|
||||||
"meal-plan": {
|
"meal-plan": {
|
||||||
"create-a-new-meal-plan": "Criar um novo plano de refeições",
|
"create-a-new-meal-plan": "Criar um novo plano de refeições",
|
||||||
|
@ -321,10 +322,10 @@
|
||||||
"mealplan-settings": "Configurações de Plano de Refeições",
|
"mealplan-settings": "Configurações de Plano de Refeições",
|
||||||
"mealplan-update-failed": "Falha ao atualizar Plano de Refeições",
|
"mealplan-update-failed": "Falha ao atualizar Plano de Refeições",
|
||||||
"mealplan-updated": "Plano de Refeições atualizado",
|
"mealplan-updated": "Plano de Refeições atualizado",
|
||||||
"mealplan-households-description": "If no household is selected, recipes can be added from any household",
|
"mealplan-households-description": "Se nenhuma família for selecionada, as receitas podem ser adicionadas por qualquer família",
|
||||||
"any-category": "Any Category",
|
"any-category": "Qualquer Categoria",
|
||||||
"any-tag": "Any Tag",
|
"any-tag": "Qualquer Etiqueta",
|
||||||
"any-household": "Any Household",
|
"any-household": "Qualquer Família",
|
||||||
"no-meal-plan-defined-yet": "Nenhum Plano de Refeições definido ainda",
|
"no-meal-plan-defined-yet": "Nenhum Plano de Refeições definido ainda",
|
||||||
"no-meal-planned-for-today": "Nenhuma refeição planejada para hoje",
|
"no-meal-planned-for-today": "Nenhuma refeição planejada para hoje",
|
||||||
"numberOfDays-hint": "Número de dias ao carregar a página",
|
"numberOfDays-hint": "Número de dias ao carregar a página",
|
||||||
|
@ -357,7 +358,7 @@
|
||||||
"for-type-meal-types": "para {0} tipos de refeição",
|
"for-type-meal-types": "para {0} tipos de refeição",
|
||||||
"meal-plan-rules": "Regras de Plano de Refeições",
|
"meal-plan-rules": "Regras de Plano de Refeições",
|
||||||
"new-rule": "Nova Regra",
|
"new-rule": "Nova Regra",
|
||||||
"meal-plan-rules-description": "You can create rules for auto selecting recipes for your meal plans. These rules are used by the server to determine the random pool of recipes to select from when creating meal plans. Note that if rules have the same day/type constraints then the rule filters will be merged. In practice, it's unnecessary to create duplicate rules, but it's possible to do so.",
|
"meal-plan-rules-description": "Você pode criar regras para selecionar receitas automaticamente para seus Planos de Refeição. Essas regras são usadas pelo servidor para determinar o conjunto aleatório de receitas a serem selecionadas ao criar os planos de refeição. Observe que se as regras tiverem as mesmas restrições de dia/tipo, os filtros de regras serão mesclados. Na prática, não é necessário criar regras duplicadas, mas é possível fazê-lo.",
|
||||||
"new-rule-description": "Ao criar uma nova regra para um Plano de Refeições, você pode restringir a regra a ser aplicada a um dia específico da semana e/ou a um tipo específico de refeição. Para aplicar uma regra a todos os dias ou a todos os tipos de refeições, você pode definir a regra para \"Qualquer\", que será aplicada a todos os valores possíveis para o dia e/ou o tipo de refeição.",
|
"new-rule-description": "Ao criar uma nova regra para um Plano de Refeições, você pode restringir a regra a ser aplicada a um dia específico da semana e/ou a um tipo específico de refeição. Para aplicar uma regra a todos os dias ou a todos os tipos de refeições, você pode definir a regra para \"Qualquer\", que será aplicada a todos os valores possíveis para o dia e/ou o tipo de refeição.",
|
||||||
"recipe-rules": "Regras das receitas",
|
"recipe-rules": "Regras das receitas",
|
||||||
"applies-to-all-days": "Aplica-se diariamente",
|
"applies-to-all-days": "Aplica-se diariamente",
|
||||||
|
@ -432,7 +433,7 @@
|
||||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Cole os dados da sua receita. Cada linha será tratado como um item em uma lista",
|
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Cole os dados da sua receita. Cada linha será tratado como um item em uma lista",
|
||||||
"recipe-markup-specification": "Especificação da Receita",
|
"recipe-markup-specification": "Especificação da Receita",
|
||||||
"recipe-url": "URL da Receita",
|
"recipe-url": "URL da Receita",
|
||||||
"recipe-html-or-json": "Recipe HTML or JSON",
|
"recipe-html-or-json": "HMTL ou JSON da Receita",
|
||||||
"upload-a-recipe": "Enviar uma Receita",
|
"upload-a-recipe": "Enviar uma Receita",
|
||||||
"upload-individual-zip-file": "Enviar um arquivo .zip individual exportado a partir de outra instância do Mealie.",
|
"upload-individual-zip-file": "Enviar um arquivo .zip individual exportado a partir de outra instância do Mealie.",
|
||||||
"url-form-hint": "Copie e cole um link do seu site de receita favorito",
|
"url-form-hint": "Copie e cole um link do seu site de receita favorito",
|
||||||
|
@ -472,7 +473,7 @@
|
||||||
"comment": "Comentário",
|
"comment": "Comentário",
|
||||||
"comments": "Comentários",
|
"comments": "Comentários",
|
||||||
"delete-confirmation": "Você tem certeza que deseja apagar esta receita?",
|
"delete-confirmation": "Você tem certeza que deseja apagar esta receita?",
|
||||||
"admin-delete-confirmation": "You're about to delete a recipe that isn't yours using admin permissions. Are you sure?",
|
"admin-delete-confirmation": "Você está prestes a excluir uma receita que não é sua usando permissões de administrador. Tem certeza?",
|
||||||
"delete-recipe": "Excluir Receita",
|
"delete-recipe": "Excluir Receita",
|
||||||
"description": "Descrição",
|
"description": "Descrição",
|
||||||
"disable-amount": "Desativa Quantidade de Ingredientes",
|
"disable-amount": "Desativa Quantidade de Ingredientes",
|
||||||
|
@ -527,7 +528,7 @@
|
||||||
"sugar-content": "Açúcares",
|
"sugar-content": "Açúcares",
|
||||||
"title": "Título",
|
"title": "Título",
|
||||||
"total-time": "Tempo Total",
|
"total-time": "Tempo Total",
|
||||||
"trans-fat-content": "Trans-fat",
|
"trans-fat-content": "Gordura trans",
|
||||||
"unable-to-delete-recipe": "Não foi possível apagar a receita",
|
"unable-to-delete-recipe": "Não foi possível apagar a receita",
|
||||||
"unsaturated-fat-content": "Gorduras não saturadas",
|
"unsaturated-fat-content": "Gorduras não saturadas",
|
||||||
"no-recipe": "Nenhuma Receita",
|
"no-recipe": "Nenhuma Receita",
|
||||||
|
@ -548,8 +549,8 @@
|
||||||
"failed-to-add-recipe-to-mealplan": "Falha ao adicionar a receita ao plano de refeições",
|
"failed-to-add-recipe-to-mealplan": "Falha ao adicionar a receita ao plano de refeições",
|
||||||
"failed-to-add-to-list": "Falha ao adicionar à lista",
|
"failed-to-add-to-list": "Falha ao adicionar à lista",
|
||||||
"yield": "Rendimento",
|
"yield": "Rendimento",
|
||||||
"yields-amount-with-text": "Yields {amount} {text}",
|
"yields-amount-with-text": "Produtos {amount}{text}",
|
||||||
"yield-text": "Yield Text",
|
"yield-text": "Texto do Produto",
|
||||||
"quantity": "Quantidade",
|
"quantity": "Quantidade",
|
||||||
"choose-unit": "Escolher unidades",
|
"choose-unit": "Escolher unidades",
|
||||||
"press-enter-to-create": "Pressione Enter para criar",
|
"press-enter-to-create": "Pressione Enter para criar",
|
||||||
|
@ -580,14 +581,14 @@
|
||||||
"made-this": "Eu Fiz Isso",
|
"made-this": "Eu Fiz Isso",
|
||||||
"how-did-it-turn-out": "Como que ficou?",
|
"how-did-it-turn-out": "Como que ficou?",
|
||||||
"user-made-this": "{user} fez isso",
|
"user-made-this": "{user} fez isso",
|
||||||
"added-to-timeline": "Added to timeline",
|
"added-to-timeline": "Adicionado à linha do tempo",
|
||||||
"failed-to-add-to-timeline": "Failed to add to timeline",
|
"failed-to-add-to-timeline": "Falha ao adicionar à linha do tempo",
|
||||||
"failed-to-update-recipe": "Failed to update recipe",
|
"failed-to-update-recipe": "Falha ao atualizar receita",
|
||||||
"added-to-timeline-but-failed-to-add-image": "Added to timeline, but failed to add image",
|
"added-to-timeline-but-failed-to-add-image": "Adicionado à linha do tempo, mas não foi possível adicionar imagem",
|
||||||
"api-extras-description": "Extras de receitas são atributos-chave da API do Mealie. Assim, você pode criar pares chave/valor JSON personalizados dentro de uma receita, referenciando aplicações de terceiros. Você pode usar as chaves para fornecer informações, como por ex. ativar automações ou mensagens que serão enviadas a seus dispositivos.",
|
"api-extras-description": "Extras de receitas são atributos-chave da API do Mealie. Assim, você pode criar pares chave/valor JSON personalizados dentro de uma receita, referenciando aplicações de terceiros. Você pode usar as chaves para fornecer informações, como por ex. ativar automações ou mensagens que serão enviadas a seus dispositivos.",
|
||||||
"message-key": "Chave de mensagem",
|
"message-key": "Chave de mensagem",
|
||||||
"parse": "Analisar",
|
"parse": "Analisar",
|
||||||
"ingredients-not-parsed-description": "It looks like your ingredients aren't parsed yet. Click the \"{parse}\" button below to parse your ingredients into structured foods.",
|
"ingredients-not-parsed-description": "Parece que seus ingredientes ainda não foram analisados. Clique no botão \"{parse}\" abaixo para analisar seus ingredientes em alimentos estruturados.",
|
||||||
"attach-images-hint": "Anexe imagens arrastando e soltando-as no editor",
|
"attach-images-hint": "Anexe imagens arrastando e soltando-as no editor",
|
||||||
"drop-image": "Arrastar imagem",
|
"drop-image": "Arrastar imagem",
|
||||||
"enable-ingredient-amounts-to-use-this-feature": "Ative quantidades de ingredientes para usar esta funcionalidade",
|
"enable-ingredient-amounts-to-use-this-feature": "Ative quantidades de ingredientes para usar esta funcionalidade",
|
||||||
|
@ -604,7 +605,7 @@
|
||||||
"import-with-zip": "Importar a partir de .zip",
|
"import-with-zip": "Importar a partir de .zip",
|
||||||
"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": "Corte e gire a imagem para que apenas o texto esteja visível e esteja na posição correta.",
|
||||||
"create-from-images": "Criar a partir de imagens",
|
"create-from-images": "Criar a partir de imagens",
|
||||||
"should-translate-description": "Traduza a receita para o meu idioma",
|
"should-translate-description": "Traduza a receita para o meu idioma",
|
||||||
"please-wait-image-procesing": "Por favor aguarde, a imagem está sendo processada. Isto pode levar algum tempo.",
|
"please-wait-image-procesing": "Por favor aguarde, a imagem está sendo processada. Isto pode levar algum tempo.",
|
||||||
|
@ -618,13 +619,13 @@
|
||||||
"scrape-recipe-have-a-lot-of-recipes": "Tem muitas receitas a extrair de uma vez?",
|
"scrape-recipe-have-a-lot-of-recipes": "Tem muitas receitas a extrair de uma vez?",
|
||||||
"scrape-recipe-suggest-bulk-importer": "Tente o importador em massa",
|
"scrape-recipe-suggest-bulk-importer": "Tente o importador em massa",
|
||||||
"scrape-recipe-have-raw-html-or-json-data": "Tem dados HTML ou JSON brutos?",
|
"scrape-recipe-have-raw-html-or-json-data": "Tem dados HTML ou JSON brutos?",
|
||||||
"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": "Você pode importar diretamente de dados brutos",
|
||||||
"import-original-keywords-as-tags": "Importar palavras-chave originais como marcadores",
|
"import-original-keywords-as-tags": "Importar palavras-chave originais como marcadores",
|
||||||
"stay-in-edit-mode": "Permanecer no modo de edição",
|
"stay-in-edit-mode": "Permanecer no modo de edição",
|
||||||
"import-from-zip": "Importar do .zip",
|
"import-from-zip": "Importar do .zip",
|
||||||
"import-from-zip-description": "Importar uma única receita exportada de outra instância Mealie.",
|
"import-from-zip-description": "Importar uma única receita exportada de outra instância Mealie.",
|
||||||
"import-from-html-or-json": "Import from HTML or JSON",
|
"import-from-html-or-json": "Importar de HTML ou JSON",
|
||||||
"import-from-html-or-json-description": "Import a single recipe from raw HTML or JSON. This is useful if you have a recipe from a site that Mealie can't scrape normally, or from some other external source.",
|
"import-from-html-or-json-description": "Importe uma única receita de HTML ou JSON. Isso é útil se você tiver uma receita de um site que a Mealie não consegue extrair normalmente, ou de alguma outra fonte externa.",
|
||||||
"json-import-format-description-colon": "Para importar via JSON, ele deve estar em formato válido:",
|
"json-import-format-description-colon": "Para importar via JSON, ele deve estar em formato válido:",
|
||||||
"json-editor": "Editor de JSON",
|
"json-editor": "Editor de JSON",
|
||||||
"zip-files-must-have-been-exported-from-mealie": "Os arquivos .zip devem ter sido exportados do Mealie",
|
"zip-files-must-have-been-exported-from-mealie": "Os arquivos .zip devem ter sido exportados do Mealie",
|
||||||
|
@ -643,9 +644,9 @@
|
||||||
"recipe-debugger-use-openai-description": "Usar OpenAI para analisar os resultados ao invés de depender da biblioteca de extração. Criando uma receita via URL, isso é feito automaticamente se essa biblioteca, mas você pode testar manualmente aqui.",
|
"recipe-debugger-use-openai-description": "Usar OpenAI para analisar os resultados ao invés de depender da biblioteca de extração. Criando uma receita via URL, isso é feito automaticamente se essa biblioteca, mas você pode testar manualmente aqui.",
|
||||||
"debug": "Depurar",
|
"debug": "Depurar",
|
||||||
"tree-view": "Visualização em árvore",
|
"tree-view": "Visualização em árvore",
|
||||||
"recipe-servings": "Recipe Servings",
|
"recipe-servings": "Porções da Receita",
|
||||||
"recipe-yield": "Rendimento da Receita",
|
"recipe-yield": "Rendimento da Receita",
|
||||||
"recipe-yield-text": "Recipe Yield Text",
|
"recipe-yield-text": "Texto de Produção da Receita",
|
||||||
"unit": "Unidade",
|
"unit": "Unidade",
|
||||||
"upload-image": "Enviar imagem",
|
"upload-image": "Enviar imagem",
|
||||||
"screen-awake": "Manter a tela ligada",
|
"screen-awake": "Manter a tela ligada",
|
||||||
|
@ -664,15 +665,15 @@
|
||||||
"no-unit": "Sem unidades",
|
"no-unit": "Sem unidades",
|
||||||
"missing-unit": "Criar unidade ausente: {unit}",
|
"missing-unit": "Criar unidade ausente: {unit}",
|
||||||
"missing-food": "Criar comida ausente: {food}",
|
"missing-food": "Criar comida ausente: {food}",
|
||||||
"this-unit-could-not-be-parsed-automatically": "This unit could not be parsed automatically",
|
"this-unit-could-not-be-parsed-automatically": "Esta unidade não pôde ser analisada automaticamente",
|
||||||
"this-food-could-not-be-parsed-automatically": "This food could not be parsed automatically",
|
"this-food-could-not-be-parsed-automatically": "Este alimento não pôde ser analisado automaticamente",
|
||||||
"no-food": "Sem Comida"
|
"no-food": "Sem Comida"
|
||||||
},
|
},
|
||||||
"reset-servings-count": "Reset Servings Count",
|
"reset-servings-count": "Redefinir Contagem de Porções",
|
||||||
"not-linked-ingredients": "Ingredientes adicionais",
|
"not-linked-ingredients": "Ingredientes adicionais",
|
||||||
"upload-another-image": "Upload another image",
|
"upload-another-image": "Carregar outra imagem",
|
||||||
"upload-images": "Upload images",
|
"upload-images": "Carregar imagens",
|
||||||
"upload-more-images": "Upload more images"
|
"upload-more-images": "Carregar mais imagens"
|
||||||
},
|
},
|
||||||
"recipe-finder": {
|
"recipe-finder": {
|
||||||
"recipe-finder": "Localizador de Receitas",
|
"recipe-finder": "Localizador de Receitas",
|
||||||
|
@ -681,15 +682,15 @@
|
||||||
"no-ingredients-selected": "Nenhum ingrediente selecionado",
|
"no-ingredients-selected": "Nenhum ingrediente selecionado",
|
||||||
"missing": "Ausente",
|
"missing": "Ausente",
|
||||||
"no-recipes-found": "Nenhuma receita encontrada",
|
"no-recipes-found": "Nenhuma receita encontrada",
|
||||||
"no-recipes-found-description": "Try adding more ingredients to your search or adjusting your filters",
|
"no-recipes-found-description": "Tente adicionar mais ingredientes à sua busca ou ajuste seus filtros",
|
||||||
"include-ingredients-on-hand": "Include Ingredients On Hand",
|
"include-ingredients-on-hand": "Incluir Ingredientes Manualmente",
|
||||||
"include-tools-on-hand": "Include Tools On Hand",
|
"include-tools-on-hand": "Incluir Utensílios Manualmente",
|
||||||
"max-missing-ingredients": "Max Missing Ingredients",
|
"max-missing-ingredients": "Máximo de Ingredientes Faltando",
|
||||||
"max-missing-tools": "Max Missing Tools",
|
"max-missing-tools": "Máximo de Utensílios Faltando",
|
||||||
"selected-tools": "Ferramentas Selecionadas",
|
"selected-tools": "Ferramentas Selecionadas",
|
||||||
"other-filters": "Outros Filtros",
|
"other-filters": "Outros Filtros",
|
||||||
"ready-to-make": "Ready to Make",
|
"ready-to-make": "Pronto Para Fazer",
|
||||||
"almost-ready-to-make": "Almost Ready to Make"
|
"almost-ready-to-make": "Quase Pronto Para Fazer"
|
||||||
},
|
},
|
||||||
"search": {
|
"search": {
|
||||||
"advanced-search": "Pesquisa avançada",
|
"advanced-search": "Pesquisa avançada",
|
||||||
|
@ -1040,7 +1041,7 @@
|
||||||
"administrator": "Administrador",
|
"administrator": "Administrador",
|
||||||
"user-can-invite-other-to-group": "O usuário pode convidar outros para o grupo",
|
"user-can-invite-other-to-group": "O usuário pode convidar outros para o grupo",
|
||||||
"user-can-manage-group": "Usuário pode gerenciar o grupo",
|
"user-can-manage-group": "Usuário pode gerenciar o grupo",
|
||||||
"user-can-manage-household": "User can manage household",
|
"user-can-manage-household": "O usuário pode gerenciar a família",
|
||||||
"user-can-organize-group-data": "Usuário pode organizar dados do grupo",
|
"user-can-organize-group-data": "Usuário pode organizar dados do grupo",
|
||||||
"enable-advanced-features": "Ativar recursos avançados",
|
"enable-advanced-features": "Ativar recursos avançados",
|
||||||
"it-looks-like-this-is-your-first-time-logging-in": "Parece que este é seu primeiro login.",
|
"it-looks-like-this-is-your-first-time-logging-in": "Parece que este é seu primeiro login.",
|
||||||
|
@ -1300,8 +1301,8 @@
|
||||||
"debug-openai-services-description": "Use esta página para depurar serviços OpenAI. Você pode testar a sua conexão OpenAI e ver os resultados aqui. Se você tiver os serviços de imagem ativados, você também pode fornecer uma imagem.",
|
"debug-openai-services-description": "Use esta página para depurar serviços OpenAI. Você pode testar a sua conexão OpenAI e ver os resultados aqui. Se você tiver os serviços de imagem ativados, você também pode fornecer uma imagem.",
|
||||||
"run-test": "Executar teste",
|
"run-test": "Executar teste",
|
||||||
"test-results": "Resultados do teste",
|
"test-results": "Resultados do teste",
|
||||||
"group-delete-note": "Groups with users or households cannot be deleted",
|
"group-delete-note": "Grupos com usuários ou famílias não podem ser excluídos",
|
||||||
"household-delete-note": "Households with users cannot be deleted"
|
"household-delete-note": "Famílias com usuários não podem ser excluídas"
|
||||||
},
|
},
|
||||||
"profile": {
|
"profile": {
|
||||||
"welcome-user": "👋 Bem-vindo(a), {0}!",
|
"welcome-user": "👋 Bem-vindo(a), {0}!",
|
||||||
|
@ -1313,8 +1314,8 @@
|
||||||
"account-summary-description": "Aqui está um resumo das informações do seu grupo.",
|
"account-summary-description": "Aqui está um resumo das informações do seu grupo.",
|
||||||
"group-statistics": "Estatísticas do Grupo",
|
"group-statistics": "Estatísticas do Grupo",
|
||||||
"group-statistics-description": "Suas Estatísticas em Grupo fornecem algumas informações sobre como você está usando o Mealie.",
|
"group-statistics-description": "Suas Estatísticas em Grupo fornecem algumas informações sobre como você está usando o Mealie.",
|
||||||
"household-statistics": "Household Statistics",
|
"household-statistics": "Estatísticas da Família",
|
||||||
"household-statistics-description": "Your Household Statistics provide some insight how you're using Mealie.",
|
"household-statistics-description": "Suas Estatísticas da Família fornecem algumas dicas de como você está usando o Mealie.",
|
||||||
"storage-capacity": "Capacidade de armazenamento",
|
"storage-capacity": "Capacidade de armazenamento",
|
||||||
"storage-capacity-description": "Sua capacidade de armazenamento é um cálculo das imagens e arquivos que você carregou.",
|
"storage-capacity-description": "Sua capacidade de armazenamento é um cálculo das imagens e arquivos que você carregou.",
|
||||||
"personal": "Pessoal",
|
"personal": "Pessoal",
|
||||||
|
@ -1324,13 +1325,13 @@
|
||||||
"api-tokens-description": "Gerencie seus Tokens de API para acessar de aplicações externas.",
|
"api-tokens-description": "Gerencie seus Tokens de API para acessar de aplicações externas.",
|
||||||
"group-description": "Esses itens são compartilhados dentro do seu grupo. Ao editar um deles vai mudá-lo para todo o grupo!",
|
"group-description": "Esses itens são compartilhados dentro do seu grupo. Ao editar um deles vai mudá-lo para todo o grupo!",
|
||||||
"group-settings": "Configurações do Grupo",
|
"group-settings": "Configurações do Grupo",
|
||||||
"group-settings-description": "Manage your common group settings, like privacy settings.",
|
"group-settings-description": "Gerencie suas configurações comuns de grupo, como configurações de privacidade.",
|
||||||
"household-description": "These items are shared within your household. Editing one of them will change it for the whole household!",
|
"household-description": "Esses itens são compartilhados dentro de sua família. Editar um deles irá alterá-lo para toda a família!",
|
||||||
"household-settings": "Household Settings",
|
"household-settings": "Configurações da Família",
|
||||||
"household-settings-description": "Manage your household settings, like mealplan and privacy settings.",
|
"household-settings-description": "Gerencie suas configurações familiares, como planos de refeição e configurações de privacidade.",
|
||||||
"cookbooks-description": "Gerencie uma coleção de categorias de receita e gere páginas para elas.",
|
"cookbooks-description": "Gerencie uma coleção de categorias de receita e gere páginas para elas.",
|
||||||
"members": "Membros",
|
"members": "Membros",
|
||||||
"members-description": "See who's in your household and manage their permissions.",
|
"members-description": "Ver quem está na sua família e gerenciar suas permissões.",
|
||||||
"webhooks-description": "Setup webhooks that trigger on days that you have have mealplan scheduled.",
|
"webhooks-description": "Setup webhooks that trigger on days that you have have mealplan scheduled.",
|
||||||
"notifiers": "Notificadores",
|
"notifiers": "Notificadores",
|
||||||
"notifiers-description": "Configure e-mails e notificações push que desencadeiam eventos específicos.",
|
"notifiers-description": "Configure e-mails e notificações push que desencadeiam eventos específicos.",
|
||||||
|
@ -1355,9 +1356,9 @@
|
||||||
},
|
},
|
||||||
"cookbook": {
|
"cookbook": {
|
||||||
"cookbooks": "Livros de Receita",
|
"cookbooks": "Livros de Receita",
|
||||||
"description": "Cookbooks are another way to organize recipes by creating cross sections of recipes, organizers, and other filters. Creating a cookbook will add an entry to the side-bar and all the recipes with the filters chosen will be displayed in the cookbook.",
|
"description": "Livros de receitas são outra maneira de criar sessões cruzadas de receitas, organizadores e outros filtros. Criar um livro de receitas adicionará um acesso à barra lateral e todas as receitas com filtros selecionados serão exibidos no livro de receitas.",
|
||||||
"hide-cookbooks-from-other-households": "Hide Cookbooks from Other Households",
|
"hide-cookbooks-from-other-households": "Ocultar Livros de Receitas de Outras Famílias",
|
||||||
"hide-cookbooks-from-other-households-description": "When enabled, only cookbooks from your household will appear on the sidebar",
|
"hide-cookbooks-from-other-households-description": "Quando ativo, apenas livros de receitas da sua família aparecerão na barra lateral",
|
||||||
"public-cookbook": "Livro de Receitas público",
|
"public-cookbook": "Livro de Receitas público",
|
||||||
"public-cookbook-description": "Cookbooks públicos podem ser compartilhados com usuários que não sejam não-mealiee serão exibidos na sua página de grupos.",
|
"public-cookbook-description": "Cookbooks públicos podem ser compartilhados com usuários que não sejam não-mealiee serão exibidos na sua página de grupos.",
|
||||||
"filter-options": "Opções de filtro",
|
"filter-options": "Opções de filtro",
|
||||||
|
@ -1367,7 +1368,7 @@
|
||||||
"require-all-tools": "Exigir todas as ferramentas",
|
"require-all-tools": "Exigir todas as ferramentas",
|
||||||
"cookbook-name": "Nome do Livro de Receitas",
|
"cookbook-name": "Nome do Livro de Receitas",
|
||||||
"cookbook-with-name": "Livro de Receitas {0}",
|
"cookbook-with-name": "Livro de Receitas {0}",
|
||||||
"household-cookbook-name": "{0} Cookbook {1}",
|
"household-cookbook-name": "{0} Livro de Receitas {1}",
|
||||||
"create-a-cookbook": "Criar um Livro de Receitas",
|
"create-a-cookbook": "Criar um Livro de Receitas",
|
||||||
"cookbook": "Livro de Receitas"
|
"cookbook": "Livro de Receitas"
|
||||||
},
|
},
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Eventos de Etiquetagem",
|
"tag-events": "Eventos de Etiquetagem",
|
||||||
"category-events": "Eventos de Categoria",
|
"category-events": "Eventos de Categoria",
|
||||||
"when-a-new-user-joins-your-group": "Quando um novo utilizador entra no seu grupo",
|
"when-a-new-user-joins-your-group": "Quando um novo utilizador entra no seu grupo",
|
||||||
"recipe-events": "Eventos de receita"
|
"recipe-events": "Eventos de receita",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Adicionar",
|
"add": "Adicionar",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Etichetele de Evenimente",
|
"tag-events": "Etichetele de Evenimente",
|
||||||
"category-events": "Categorie de Evenimente",
|
"category-events": "Categorie de Evenimente",
|
||||||
"when-a-new-user-joins-your-group": "Când un utilizator nou se alătură grupului tău",
|
"when-a-new-user-joins-your-group": "Când un utilizator nou se alătură grupului tău",
|
||||||
"recipe-events": "Evenimente rețetă"
|
"recipe-events": "Evenimente rețetă",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Adaugă",
|
"add": "Adaugă",
|
||||||
|
@ -587,6 +588,7 @@
|
||||||
"api-extras-description": "Recipes extras sunt o caracteristică cheie a API-ului Mealie. Îți permit să creezi perechi personalizate de cheie/valoare JSON într-o rețetă, ca să faci referire la aplicații terțe. Puteți utiliza aceste chei pentru a furniza informații, de exemplu pentru a declanșa automatizări sau mesaje personalizate pentru a transmite dispozitivul dorit.",
|
"api-extras-description": "Recipes extras sunt o caracteristică cheie a API-ului Mealie. Îți permit să creezi perechi personalizate de cheie/valoare JSON într-o rețetă, ca să faci referire la aplicații terțe. Puteți utiliza aceste chei pentru a furniza informații, de exemplu pentru a declanșa automatizări sau mesaje personalizate pentru a transmite dispozitivul dorit.",
|
||||||
"message-key": "Cheie mesaj",
|
"message-key": "Cheie mesaj",
|
||||||
"parse": "Parsează",
|
"parse": "Parsează",
|
||||||
|
"ingredients-not-parsed-description": "It looks like your ingredients aren't parsed yet. Click the \"{parse}\" button below to parse your ingredients into structured foods.",
|
||||||
"attach-images-hint": "Atașează imagini trăgându-le cu mouse-ul și plasându-le în editor",
|
"attach-images-hint": "Atașează imagini trăgându-le cu mouse-ul și plasându-le în editor",
|
||||||
"drop-image": "Trage imaginea",
|
"drop-image": "Trage imaginea",
|
||||||
"enable-ingredient-amounts-to-use-this-feature": "Activaţi cantităţile de ingrediente pentru a utiliza această funcționalitate",
|
"enable-ingredient-amounts-to-use-this-feature": "Activaţi cantităţile de ingrediente pentru a utiliza această funcționalitate",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "События тегов",
|
"tag-events": "События тегов",
|
||||||
"category-events": "События категорий",
|
"category-events": "События категорий",
|
||||||
"when-a-new-user-joins-your-group": "Когда новый пользователь присоединяется к вашей группе",
|
"when-a-new-user-joins-your-group": "Когда новый пользователь присоединяется к вашей группе",
|
||||||
"recipe-events": "События Рецепта"
|
"recipe-events": "События Рецепта",
|
||||||
|
"label-events": "Ярлыки событий"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Добавить",
|
"add": "Добавить",
|
||||||
|
@ -645,7 +646,7 @@
|
||||||
"tree-view": "В виде дерева",
|
"tree-view": "В виде дерева",
|
||||||
"recipe-servings": "Порции",
|
"recipe-servings": "Порции",
|
||||||
"recipe-yield": "Количество порций",
|
"recipe-yield": "Количество порций",
|
||||||
"recipe-yield-text": "Recipe Yield Text",
|
"recipe-yield-text": "Количество порций рецепта",
|
||||||
"unit": "Единица измерения",
|
"unit": "Единица измерения",
|
||||||
"upload-image": "Загрузить изображение",
|
"upload-image": "Загрузить изображение",
|
||||||
"screen-awake": "Держать экран включенным",
|
"screen-awake": "Держать экран включенным",
|
||||||
|
@ -654,23 +655,23 @@
|
||||||
"recipe-actions": "Действия с рецептом",
|
"recipe-actions": "Действия с рецептом",
|
||||||
"parser": {
|
"parser": {
|
||||||
"ingredient-parser": "Разделитель ингредиентов",
|
"ingredient-parser": "Разделитель ингредиентов",
|
||||||
"explanation": "To use the ingredient parser, click the 'Parse All' button to start the process. Once the processed ingredients are available, you can review the items and verify that they were parsed correctly. The model's confidence score is displayed on the right of the item title. This score is an average of all the individual scores and may not always be completely accurate.",
|
"explanation": "Чтобы использовать парсер ингредиентов, нажмите кнопку «Обработать все». Как только обработанные ингредиенты будут доступны, Вы можете просмотреть элементы и убедиться, что они были обработаны правильно. Показатель достоверности модели отображается справа от названия элемента. Этот показатель рассчитывается как среднее всех индивидуальных результатов и не всегда полностью точен.",
|
||||||
"alerts-explainer": "Оповещение появится если подходящие продукты или единица измерения найдены, но не занесены в базу данных.",
|
"alerts-explainer": "Оповещение появится если подходящие продукты или единица измерения найдены, но не занесены в базу данных.",
|
||||||
"select-parser": "Выбрать Разделитель",
|
"select-parser": "Выбрать Разделитель",
|
||||||
"natural-language-processor": "Обработчик естественного языка",
|
"natural-language-processor": "Обработчик естественного языка",
|
||||||
"brute-parser": "Brute Parser",
|
"brute-parser": "Грубый Парсер",
|
||||||
"openai-parser": "OpenAI Parser",
|
"openai-parser": "OpenAI Parser",
|
||||||
"parse-all": "Обработать все",
|
"parse-all": "Обработать все",
|
||||||
"no-unit": "Без единиц",
|
"no-unit": "Без единиц",
|
||||||
"missing-unit": "Создать недостающую единицу: {unit}",
|
"missing-unit": "Создать недостающую единицу: {unit}",
|
||||||
"missing-food": "Создать недостающую еду: {food}",
|
"missing-food": "Создать недостающую еду: {food}",
|
||||||
"this-unit-could-not-be-parsed-automatically": "This unit could not be parsed automatically",
|
"this-unit-could-not-be-parsed-automatically": "Эта единица не может быть обработана автоматически",
|
||||||
"this-food-could-not-be-parsed-automatically": "This food could not be parsed automatically",
|
"this-food-could-not-be-parsed-automatically": "Этот продукт не может быть обработан автоматически",
|
||||||
"no-food": "Нет еды"
|
"no-food": "Нет еды"
|
||||||
},
|
},
|
||||||
"reset-servings-count": "Сбросить количество порций",
|
"reset-servings-count": "Сбросить количество порций",
|
||||||
"not-linked-ingredients": "Дополнительные ингредиенты",
|
"not-linked-ingredients": "Дополнительные ингредиенты",
|
||||||
"upload-another-image": "Upload another image",
|
"upload-another-image": "Загрузите другое изображение",
|
||||||
"upload-images": "Загрузить изображения",
|
"upload-images": "Загрузить изображения",
|
||||||
"upload-more-images": "Загрузить больше изображений"
|
"upload-more-images": "Загрузить больше изображений"
|
||||||
},
|
},
|
||||||
|
@ -682,8 +683,8 @@
|
||||||
"missing": "Отсутствует",
|
"missing": "Отсутствует",
|
||||||
"no-recipes-found": "Рецепты не найдены",
|
"no-recipes-found": "Рецепты не найдены",
|
||||||
"no-recipes-found-description": "Попробуйте добавить больше ингредиентов для поиска или измените настройки фильтров",
|
"no-recipes-found-description": "Попробуйте добавить больше ингредиентов для поиска или измените настройки фильтров",
|
||||||
"include-ingredients-on-hand": "Include Ingredients On Hand",
|
"include-ingredients-on-hand": "Включать ингредиенты в наличии, под рукой",
|
||||||
"include-tools-on-hand": "Include Tools On Hand",
|
"include-tools-on-hand": "Включать инструменты в наличии, под рукой",
|
||||||
"max-missing-ingredients": "Максимальное количество отсутствующих ингредиентов",
|
"max-missing-ingredients": "Максимальное количество отсутствующих ингредиентов",
|
||||||
"max-missing-tools": "Максимальное количество отсутствующих инструментов",
|
"max-missing-tools": "Максимальное количество отсутствующих инструментов",
|
||||||
"selected-tools": "Выбранные инструменты",
|
"selected-tools": "Выбранные инструменты",
|
||||||
|
@ -1072,7 +1073,7 @@
|
||||||
"example-food-singular": "пр. Луковица",
|
"example-food-singular": "пр. Луковица",
|
||||||
"example-food-plural": "пр. Луковиц",
|
"example-food-plural": "пр. Луковиц",
|
||||||
"label-overwrite-warning": "Это назначит выбранную метку всем выбранным продуктам и потенциально перезапишет существующие метки.",
|
"label-overwrite-warning": "Это назначит выбранную метку всем выбранным продуктам и потенциально перезапишет существующие метки.",
|
||||||
"on-hand-checkbox-label": "Setting this flag will make this food unchecked by default when adding a recipe to a shopping list."
|
"on-hand-checkbox-label": "Установка этого флага сделает этот продукт неотмеченным по умолчанию при добавлении рецепта в список покупок."
|
||||||
},
|
},
|
||||||
"units": {
|
"units": {
|
||||||
"seed-dialog-text": "Заполняет базу данных рядовыми единицами измерений на основе выбранного языка.",
|
"seed-dialog-text": "Заполняет базу данных рядовыми единицами измерений на основе выбранного языка.",
|
||||||
|
@ -1125,9 +1126,9 @@
|
||||||
"source-unit-will-be-deleted": "Первая единица измерения будет удалена"
|
"source-unit-will-be-deleted": "Первая единица измерения будет удалена"
|
||||||
},
|
},
|
||||||
"recipe-actions": {
|
"recipe-actions": {
|
||||||
"recipe-actions-data": "Recipe Actions Data",
|
"recipe-actions-data": "Данные действий рецепта",
|
||||||
"new-recipe-action": "New Recipe Action",
|
"new-recipe-action": "Новое действие с рецептом",
|
||||||
"edit-recipe-action": "Edit Recipe Action",
|
"edit-recipe-action": "Редактировать действие рецепта",
|
||||||
"action-type": "Тип Действия"
|
"action-type": "Тип Действия"
|
||||||
},
|
},
|
||||||
"create-alias": "Создать псевдоним",
|
"create-alias": "Создать псевдоним",
|
||||||
|
@ -1290,18 +1291,18 @@
|
||||||
"first-time-setup": "Первоначальная Настройка",
|
"first-time-setup": "Первоначальная Настройка",
|
||||||
"welcome-to-mealie-get-started": "Добро пожаловать в Mealie! Давайте начнем",
|
"welcome-to-mealie-get-started": "Добро пожаловать в Mealie! Давайте начнем",
|
||||||
"already-set-up-bring-to-homepage": "Я уже готов, просто открой домашнюю страницу",
|
"already-set-up-bring-to-homepage": "Я уже готов, просто открой домашнюю страницу",
|
||||||
"common-settings-for-new-sites": "Here are some common settings for new sites",
|
"common-settings-for-new-sites": "Ниже приведены общие настройки для новых сайтов",
|
||||||
"setup-complete": "Настройка завершена!",
|
"setup-complete": "Настройка завершена!",
|
||||||
"here-are-a-few-things-to-help-you-get-started": "Here are a few things to help you get started with Mealie",
|
"here-are-a-few-things-to-help-you-get-started": "Вот несколько вещей, которые помогут Вам начать работу с Mealie",
|
||||||
"restore-from-v1-backup": "Have a backup from a previous instance of Mealie v1? You can restore it here.",
|
"restore-from-v1-backup": "У вас есть резервная копия предыдущего экземпляра Mealie v1? Вы можете восстановить ее здесь.",
|
||||||
"manage-profile-or-get-invite-link": "Manage your own profile, or grab an invite link to share with others."
|
"manage-profile-or-get-invite-link": "Управляйте своим профилем или получите ссылку-приглашение, чтобы поделиться ею с другими."
|
||||||
},
|
},
|
||||||
"debug-openai-services": "Отладка OpenAI сервисов",
|
"debug-openai-services": "Отладка OpenAI сервисов",
|
||||||
"debug-openai-services-description": "Use this page to debug OpenAI services. You can test your OpenAI connection and see the results here. If you have image services enabled, you can also provide an image.",
|
"debug-openai-services-description": "Используйте эту страницу для отладки служб OpenAI. Вы можете проверить подключение к OpenAI и посмотреть результаты здесь. Если у Вас включены службы изображений, Вы также можете предоставить изображение.",
|
||||||
"run-test": "Запустить тест",
|
"run-test": "Запустить тест",
|
||||||
"test-results": "Результаты тестов",
|
"test-results": "Результаты тестов",
|
||||||
"group-delete-note": "Groups with users or households cannot be deleted",
|
"group-delete-note": "Группы, в которых есть пользователи или домохозяйства, не могут быть удалены",
|
||||||
"household-delete-note": "Households with users cannot be deleted"
|
"household-delete-note": "Домохозяйства, в которых есть пользователи, не могут быть удалены"
|
||||||
},
|
},
|
||||||
"profile": {
|
"profile": {
|
||||||
"welcome-user": "👋 Добро пожаловать, {0}!",
|
"welcome-user": "👋 Добро пожаловать, {0}!",
|
||||||
|
@ -1314,7 +1315,7 @@
|
||||||
"group-statistics": "Статистика группы",
|
"group-statistics": "Статистика группы",
|
||||||
"group-statistics-description": "Статистика вашей группы дает некоторую информацию о том, как вы используете Mealie.",
|
"group-statistics-description": "Статистика вашей группы дает некоторую информацию о том, как вы используете Mealie.",
|
||||||
"household-statistics": "Статистика домохозяйства",
|
"household-statistics": "Статистика домохозяйства",
|
||||||
"household-statistics-description": "Your Household Statistics provide some insight how you're using Mealie.",
|
"household-statistics-description": "Статистика Вашего домохозяйства дает Вам некоторое представление о том, как Вы используете Mealie.",
|
||||||
"storage-capacity": "Емкость хранилища",
|
"storage-capacity": "Емкость хранилища",
|
||||||
"storage-capacity-description": "Указанный размер хранилища - это подсчёт размера изображений и приложений рецептов загруженных вами.",
|
"storage-capacity-description": "Указанный размер хранилища - это подсчёт размера изображений и приложений рецептов загруженных вами.",
|
||||||
"personal": "Личное",
|
"personal": "Личное",
|
||||||
|
@ -1324,8 +1325,8 @@
|
||||||
"api-tokens-description": "Управляйте вашими API-токенами для доступа сторонних приложений.",
|
"api-tokens-description": "Управляйте вашими API-токенами для доступа сторонних приложений.",
|
||||||
"group-description": "Эти элементы доступны внутри вашей группы. Редактирование одного из них изменит их для всей группы!",
|
"group-description": "Эти элементы доступны внутри вашей группы. Редактирование одного из них изменит их для всей группы!",
|
||||||
"group-settings": "Настройки группы",
|
"group-settings": "Настройки группы",
|
||||||
"group-settings-description": "Manage your common group settings, like privacy settings.",
|
"group-settings-description": "Управляйте общими настройками группы, такими как настройки конфиденциальности.",
|
||||||
"household-description": "These items are shared within your household. Editing one of them will change it for the whole household!",
|
"household-description": "Эти элементы доступны внутри Вашего домохозяйства. Редактирование одного из них изменит их для всего домохозяйства!",
|
||||||
"household-settings": "Настройки домохозяйства",
|
"household-settings": "Настройки домохозяйства",
|
||||||
"household-settings-description": "Управляйте настройками вашего домохозяйства, такими как настройки плана питания и конфиденциальности.",
|
"household-settings-description": "Управляйте настройками вашего домохозяйства, такими как настройки плана питания и конфиденциальности.",
|
||||||
"cookbooks-description": "Управление коллекцией категорий рецептов и созданием страниц для них.",
|
"cookbooks-description": "Управление коллекцией категорий рецептов и созданием страниц для них.",
|
||||||
|
@ -1355,9 +1356,9 @@
|
||||||
},
|
},
|
||||||
"cookbook": {
|
"cookbook": {
|
||||||
"cookbooks": "Книги рецептов",
|
"cookbooks": "Книги рецептов",
|
||||||
"description": "Cookbooks are another way to organize recipes by creating cross sections of recipes, organizers, and other filters. Creating a cookbook will add an entry to the side-bar and all the recipes with the filters chosen will be displayed in the cookbook.",
|
"description": "Книги рецептов – это еще один способ организовать рецепты путем создания разделов рецептов, органайзеров и других фильтров. Создание книги рецептов добавит запись в боковую панель, и все рецепты с выбранными фильтрами будут отображаться в книге рецептов.",
|
||||||
"hide-cookbooks-from-other-households": "Скрыть книги рецептов от других домохозяйств",
|
"hide-cookbooks-from-other-households": "Скрыть книги рецептов от других домохозяйств",
|
||||||
"hide-cookbooks-from-other-households-description": "When enabled, only cookbooks from your household will appear on the sidebar",
|
"hide-cookbooks-from-other-households-description": "Если эта функция включена, на боковой панели будут отображаться только книги рецептов из Вашего домохозяйства",
|
||||||
"public-cookbook": "Публичные книги рецептов",
|
"public-cookbook": "Публичные книги рецептов",
|
||||||
"public-cookbook-description": "Публичными книгами рецептов можно делиться с людьми без аккаунта в Mealie, и они будут отображаться на странице вашей группы.",
|
"public-cookbook-description": "Публичными книгами рецептов можно делиться с людьми без аккаунта в Mealie, и они будут отображаться на странице вашей группы.",
|
||||||
"filter-options": "Параметры фильтрации",
|
"filter-options": "Параметры фильтрации",
|
||||||
|
@ -1385,13 +1386,13 @@
|
||||||
"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-not-one-of": "не один из",
|
"is-not-one-of": "не один из",
|
||||||
"contains-all-of": "содержит все",
|
"contains-all-of": "содержит все",
|
||||||
"is-like": "is like",
|
"is-like": "содержит",
|
||||||
"is-not-like": "is not like"
|
"is-not-like": "не содержит"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Udalosti štítkov",
|
"tag-events": "Udalosti štítkov",
|
||||||
"category-events": "Udalosti kategórií",
|
"category-events": "Udalosti kategórií",
|
||||||
"when-a-new-user-joins-your-group": "Keď sa k vašej skupine pripojí nový používateľ",
|
"when-a-new-user-joins-your-group": "Keď sa k vašej skupine pripojí nový používateľ",
|
||||||
"recipe-events": "Udalosti receptov"
|
"recipe-events": "Udalosti receptov",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Pridať",
|
"add": "Pridať",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Dogodki značk",
|
"tag-events": "Dogodki značk",
|
||||||
"category-events": "Dogodki kategorij",
|
"category-events": "Dogodki kategorij",
|
||||||
"when-a-new-user-joins-your-group": "Ko se novi uporabnik pridruži tvoji skupini",
|
"when-a-new-user-joins-your-group": "Ko se novi uporabnik pridruži tvoji skupini",
|
||||||
"recipe-events": "Dogodki receptov"
|
"recipe-events": "Dogodki receptov",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Dodaj",
|
"add": "Dodaj",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Догађаји ознаке",
|
"tag-events": "Догађаји ознаке",
|
||||||
"category-events": "Догађаји категорије",
|
"category-events": "Догађаји категорије",
|
||||||
"when-a-new-user-joins-your-group": "Када се нови корисник придружи вашој групи",
|
"when-a-new-user-joins-your-group": "Када се нови корисник придружи вашој групи",
|
||||||
"recipe-events": "Recipe Events"
|
"recipe-events": "Recipe Events",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Add",
|
"add": "Add",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Tagga händelser",
|
"tag-events": "Tagga händelser",
|
||||||
"category-events": "Kategorihändelser",
|
"category-events": "Kategorihändelser",
|
||||||
"when-a-new-user-joins-your-group": "När en ny användare går med i din grupp",
|
"when-a-new-user-joins-your-group": "När en ny användare går med i din grupp",
|
||||||
"recipe-events": "Recepthändelser"
|
"recipe-events": "Recepthändelser",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Lägg till",
|
"add": "Lägg till",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Etiket Etkinlikleri",
|
"tag-events": "Etiket Etkinlikleri",
|
||||||
"category-events": "Kategori Etkinlikleri",
|
"category-events": "Kategori Etkinlikleri",
|
||||||
"when-a-new-user-joins-your-group": "Grubunuza yeni bir kullanıcı katıldığında",
|
"when-a-new-user-joins-your-group": "Grubunuza yeni bir kullanıcı katıldığında",
|
||||||
"recipe-events": "Tarif Etkinlikleri"
|
"recipe-events": "Tarif Etkinlikleri",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Ekle",
|
"add": "Ekle",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Події міток",
|
"tag-events": "Події міток",
|
||||||
"category-events": "Події категорій",
|
"category-events": "Події категорій",
|
||||||
"when-a-new-user-joins-your-group": "Коли новий користувач приєднується до групи",
|
"when-a-new-user-joins-your-group": "Коли новий користувач приєднується до групи",
|
||||||
"recipe-events": "Події рецепту"
|
"recipe-events": "Події рецепту",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Додати",
|
"add": "Додати",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "Tag Events",
|
"tag-events": "Tag Events",
|
||||||
"category-events": "Category Events",
|
"category-events": "Category Events",
|
||||||
"when-a-new-user-joins-your-group": "When a new user joins your group",
|
"when-a-new-user-joins-your-group": "When a new user joins your group",
|
||||||
"recipe-events": "Recipe Events"
|
"recipe-events": "Recipe Events",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Thêm",
|
"add": "Thêm",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "标签事件",
|
"tag-events": "标签事件",
|
||||||
"category-events": "分类事件",
|
"category-events": "分类事件",
|
||||||
"when-a-new-user-joins-your-group": "当新用户加入您的群组时",
|
"when-a-new-user-joins-your-group": "当新用户加入您的群组时",
|
||||||
"recipe-events": "食谱事件"
|
"recipe-events": "食谱事件",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "添加",
|
"add": "添加",
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
"tag-events": "標籤事件",
|
"tag-events": "標籤事件",
|
||||||
"category-events": "類別事件",
|
"category-events": "類別事件",
|
||||||
"when-a-new-user-joins-your-group": "當新用戶加入您的群組時",
|
"when-a-new-user-joins-your-group": "當新用戶加入您的群組時",
|
||||||
"recipe-events": "食譜事件"
|
"recipe-events": "食譜事件",
|
||||||
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Add",
|
"add": "Add",
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/* tslint:disable */
|
/* tslint:disable */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
/* This file was automatically generated from pydantic models by running pydantic2ts.
|
/* This file was automatically generated from pydantic models by running pydantic2ts.
|
||||||
/* Do not modify it by hand - just update the pydantic models and then re-run the script
|
/* Do not modify it by hand - just update the pydantic models and then re-run the script
|
||||||
|
@ -117,6 +116,7 @@ export interface CustomPageBase {
|
||||||
export interface RecipeCategoryResponse {
|
export interface RecipeCategoryResponse {
|
||||||
name: string;
|
name: string;
|
||||||
id: string;
|
id: string;
|
||||||
|
groupId?: string | null;
|
||||||
slug: string;
|
slug: string;
|
||||||
recipes?: RecipeSummary[];
|
recipes?: RecipeSummary[];
|
||||||
}
|
}
|
||||||
|
@ -149,18 +149,21 @@ export interface RecipeSummary {
|
||||||
}
|
}
|
||||||
export interface RecipeCategory {
|
export interface RecipeCategory {
|
||||||
id?: string | null;
|
id?: string | null;
|
||||||
|
groupId?: string | null;
|
||||||
name: string;
|
name: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
[k: string]: unknown;
|
[k: string]: unknown;
|
||||||
}
|
}
|
||||||
export interface RecipeTag {
|
export interface RecipeTag {
|
||||||
id?: string | null;
|
id?: string | null;
|
||||||
|
groupId?: string | null;
|
||||||
name: string;
|
name: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
[k: string]: unknown;
|
[k: string]: unknown;
|
||||||
}
|
}
|
||||||
export interface RecipeTool {
|
export interface RecipeTool {
|
||||||
id: string;
|
id: string;
|
||||||
|
groupId?: string | null;
|
||||||
name: string;
|
name: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
householdsWithTool?: string[];
|
householdsWithTool?: string[];
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/* tslint:disable */
|
/* tslint:disable */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
/* This file was automatically generated from pydantic models by running pydantic2ts.
|
/* This file was automatically generated from pydantic models by running pydantic2ts.
|
||||||
/* Do not modify it by hand - just update the pydantic models and then re-run the script
|
/* Do not modify it by hand - just update the pydantic models and then re-run the script
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/* tslint:disable */
|
/* tslint:disable */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
/* This file was automatically generated from pydantic models by running pydantic2ts.
|
/* This file was automatically generated from pydantic models by running pydantic2ts.
|
||||||
/* Do not modify it by hand - just update the pydantic models and then re-run the script
|
/* Do not modify it by hand - just update the pydantic models and then re-run the script
|
||||||
|
@ -39,7 +38,6 @@ export interface QueryFilterJSONPart {
|
||||||
attributeName?: string | null;
|
attributeName?: string | null;
|
||||||
relationalOperator?: RelationalKeyword | RelationalOperator | null;
|
relationalOperator?: RelationalKeyword | RelationalOperator | null;
|
||||||
value?: string | string[] | null;
|
value?: string | string[] | null;
|
||||||
[k: string]: unknown;
|
|
||||||
}
|
}
|
||||||
export interface RecipeCookBook {
|
export interface RecipeCookBook {
|
||||||
name: string;
|
name: string;
|
||||||
|
@ -83,18 +81,21 @@ export interface RecipeSummary {
|
||||||
}
|
}
|
||||||
export interface RecipeCategory {
|
export interface RecipeCategory {
|
||||||
id?: string | null;
|
id?: string | null;
|
||||||
|
groupId?: string | null;
|
||||||
name: string;
|
name: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
[k: string]: unknown;
|
[k: string]: unknown;
|
||||||
}
|
}
|
||||||
export interface RecipeTag {
|
export interface RecipeTag {
|
||||||
id?: string | null;
|
id?: string | null;
|
||||||
|
groupId?: string | null;
|
||||||
name: string;
|
name: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
[k: string]: unknown;
|
[k: string]: unknown;
|
||||||
}
|
}
|
||||||
export interface RecipeTool {
|
export interface RecipeTool {
|
||||||
id: string;
|
id: string;
|
||||||
|
groupId?: string | null;
|
||||||
name: string;
|
name: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
householdsWithTool?: string[];
|
householdsWithTool?: string[];
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/* tslint:disable */
|
/* tslint:disable */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
/* This file was automatically generated from pydantic models by running pydantic2ts.
|
/* This file was automatically generated from pydantic models by running pydantic2ts.
|
||||||
/* Do not modify it by hand - just update the pydantic models and then re-run the script
|
/* Do not modify it by hand - just update the pydantic models and then re-run the script
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/* tslint:disable */
|
/* tslint:disable */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
/* This file was automatically generated from pydantic models by running pydantic2ts.
|
/* This file was automatically generated from pydantic models by running pydantic2ts.
|
||||||
/* Do not modify it by hand - just update the pydantic models and then re-run the script
|
/* Do not modify it by hand - just update the pydantic models and then re-run the script
|
||||||
|
@ -70,6 +69,9 @@ export interface GroupEventNotifierOptions {
|
||||||
categoryCreated?: boolean;
|
categoryCreated?: boolean;
|
||||||
categoryUpdated?: boolean;
|
categoryUpdated?: boolean;
|
||||||
categoryDeleted?: boolean;
|
categoryDeleted?: boolean;
|
||||||
|
labelCreated?: boolean;
|
||||||
|
labelUpdated?: boolean;
|
||||||
|
labelDeleted?: boolean;
|
||||||
}
|
}
|
||||||
export interface GroupEventNotifierOptionsOut {
|
export interface GroupEventNotifierOptionsOut {
|
||||||
testMessage?: boolean;
|
testMessage?: boolean;
|
||||||
|
@ -94,6 +96,9 @@ export interface GroupEventNotifierOptionsOut {
|
||||||
categoryCreated?: boolean;
|
categoryCreated?: boolean;
|
||||||
categoryUpdated?: boolean;
|
categoryUpdated?: boolean;
|
||||||
categoryDeleted?: boolean;
|
categoryDeleted?: boolean;
|
||||||
|
labelCreated?: boolean;
|
||||||
|
labelUpdated?: boolean;
|
||||||
|
labelDeleted?: boolean;
|
||||||
id: string;
|
id: string;
|
||||||
}
|
}
|
||||||
export interface GroupEventNotifierOptionsSave {
|
export interface GroupEventNotifierOptionsSave {
|
||||||
|
@ -119,6 +124,9 @@ export interface GroupEventNotifierOptionsSave {
|
||||||
categoryCreated?: boolean;
|
categoryCreated?: boolean;
|
||||||
categoryUpdated?: boolean;
|
categoryUpdated?: boolean;
|
||||||
categoryDeleted?: boolean;
|
categoryDeleted?: boolean;
|
||||||
|
labelCreated?: boolean;
|
||||||
|
labelUpdated?: boolean;
|
||||||
|
labelDeleted?: boolean;
|
||||||
notifierId: string;
|
notifierId: string;
|
||||||
}
|
}
|
||||||
export interface GroupEventNotifierOut {
|
export interface GroupEventNotifierOut {
|
||||||
|
@ -166,6 +174,7 @@ export interface GroupRecipeActionOut {
|
||||||
export interface GroupRecipeActionPayload {
|
export interface GroupRecipeActionPayload {
|
||||||
action: GroupRecipeActionOut;
|
action: GroupRecipeActionOut;
|
||||||
content: unknown;
|
content: unknown;
|
||||||
|
recipeScale: number;
|
||||||
}
|
}
|
||||||
export interface HouseholdCreate {
|
export interface HouseholdCreate {
|
||||||
groupId?: string | null;
|
groupId?: string | null;
|
||||||
|
@ -587,18 +596,21 @@ export interface RecipeSummary {
|
||||||
}
|
}
|
||||||
export interface RecipeCategory {
|
export interface RecipeCategory {
|
||||||
id?: string | null;
|
id?: string | null;
|
||||||
|
groupId?: string | null;
|
||||||
name: string;
|
name: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
[k: string]: unknown;
|
[k: string]: unknown;
|
||||||
}
|
}
|
||||||
export interface RecipeTag {
|
export interface RecipeTag {
|
||||||
id?: string | null;
|
id?: string | null;
|
||||||
|
groupId?: string | null;
|
||||||
name: string;
|
name: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
[k: string]: unknown;
|
[k: string]: unknown;
|
||||||
}
|
}
|
||||||
export interface RecipeTool {
|
export interface RecipeTool {
|
||||||
id: string;
|
id: string;
|
||||||
|
groupId?: string | null;
|
||||||
name: string;
|
name: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
householdsWithTool?: string[];
|
householdsWithTool?: string[];
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/* tslint:disable */
|
/* tslint:disable */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
/* This file was automatically generated from pydantic models by running pydantic2ts.
|
/* This file was automatically generated from pydantic models by running pydantic2ts.
|
||||||
/* Do not modify it by hand - just update the pydantic models and then re-run the script
|
/* Do not modify it by hand - just update the pydantic models and then re-run the script
|
||||||
|
|
|
@ -1,12 +1,9 @@
|
||||||
/* tslint:disable */
|
/* tslint:disable */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
/* This file was automatically generated from pydantic models by running pydantic2ts.
|
/* This file was automatically generated from pydantic models by running pydantic2ts.
|
||||||
/* Do not modify it by hand - just update the pydantic models and then re-run the script
|
/* Do not modify it by hand - just update the pydantic models and then re-run the script
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import type { HouseholdSummary } from "./household";
|
|
||||||
|
|
||||||
export type PlanEntryType = "breakfast" | "lunch" | "dinner" | "side";
|
export type PlanEntryType = "breakfast" | "lunch" | "dinner" | "side";
|
||||||
export type PlanRulesDay = "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday" | "unset";
|
export type PlanRulesDay = "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday" | "unset";
|
||||||
export type PlanRulesType = "breakfast" | "lunch" | "dinner" | "side" | "unset";
|
export type PlanRulesType = "breakfast" | "lunch" | "dinner" | "side" | "unset";
|
||||||
|
@ -44,9 +41,6 @@ export interface PlanRulesOut {
|
||||||
householdId: string;
|
householdId: string;
|
||||||
id: string;
|
id: string;
|
||||||
queryFilter?: QueryFilterJSON;
|
queryFilter?: QueryFilterJSON;
|
||||||
categories?: RecipeCategory[];
|
|
||||||
tags?: RecipeTag[];
|
|
||||||
households?: HouseholdSummary[];
|
|
||||||
}
|
}
|
||||||
export interface QueryFilterJSON {
|
export interface QueryFilterJSON {
|
||||||
parts?: QueryFilterJSONPart[];
|
parts?: QueryFilterJSONPart[];
|
||||||
|
@ -108,18 +102,21 @@ export interface RecipeSummary {
|
||||||
}
|
}
|
||||||
export interface RecipeCategory {
|
export interface RecipeCategory {
|
||||||
id?: string | null;
|
id?: string | null;
|
||||||
|
groupId?: string | null;
|
||||||
name: string;
|
name: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
[k: string]: unknown;
|
[k: string]: unknown;
|
||||||
}
|
}
|
||||||
export interface RecipeTag {
|
export interface RecipeTag {
|
||||||
id?: string | null;
|
id?: string | null;
|
||||||
|
groupId?: string | null;
|
||||||
name: string;
|
name: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
[k: string]: unknown;
|
[k: string]: unknown;
|
||||||
}
|
}
|
||||||
export interface RecipeTool {
|
export interface RecipeTool {
|
||||||
id: string;
|
id: string;
|
||||||
|
groupId?: string | null;
|
||||||
name: string;
|
name: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
householdsWithTool?: string[];
|
householdsWithTool?: string[];
|
||||||
|
|
|
@ -19,6 +19,7 @@ export interface AssignCategories {
|
||||||
export interface CategoryBase {
|
export interface CategoryBase {
|
||||||
name: string;
|
name: string;
|
||||||
id: string;
|
id: string;
|
||||||
|
groupId?: string | null;
|
||||||
slug: string;
|
slug: string;
|
||||||
}
|
}
|
||||||
export interface AssignSettings {
|
export interface AssignSettings {
|
||||||
|
@ -40,6 +41,7 @@ export interface AssignTags {
|
||||||
export interface TagBase {
|
export interface TagBase {
|
||||||
name: string;
|
name: string;
|
||||||
id: string;
|
id: string;
|
||||||
|
groupId?: string | null;
|
||||||
slug: string;
|
slug: string;
|
||||||
}
|
}
|
||||||
export interface CategoryIn {
|
export interface CategoryIn {
|
||||||
|
@ -48,8 +50,8 @@ export interface CategoryIn {
|
||||||
export interface CategoryOut {
|
export interface CategoryOut {
|
||||||
name: string;
|
name: string;
|
||||||
id: string;
|
id: string;
|
||||||
slug: string;
|
|
||||||
groupId: string;
|
groupId: string;
|
||||||
|
slug: string;
|
||||||
}
|
}
|
||||||
export interface CategorySave {
|
export interface CategorySave {
|
||||||
name: string;
|
name: string;
|
||||||
|
@ -97,11 +99,13 @@ export interface CreateRecipeBulk {
|
||||||
}
|
}
|
||||||
export interface RecipeCategory {
|
export interface RecipeCategory {
|
||||||
id?: string | null;
|
id?: string | null;
|
||||||
|
groupId?: string | null;
|
||||||
name: string;
|
name: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
}
|
}
|
||||||
export interface RecipeTag {
|
export interface RecipeTag {
|
||||||
id?: string | null;
|
id?: string | null;
|
||||||
|
groupId?: string | null;
|
||||||
name: string;
|
name: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
}
|
}
|
||||||
|
@ -223,7 +227,7 @@ export interface Recipe {
|
||||||
groupId?: string;
|
groupId?: string;
|
||||||
name?: string | null;
|
name?: string | null;
|
||||||
slug?: string;
|
slug?: string;
|
||||||
image?: string;
|
image?: unknown;
|
||||||
recipeServings?: number;
|
recipeServings?: number;
|
||||||
recipeYieldQuantity?: number;
|
recipeYieldQuantity?: number;
|
||||||
recipeYield?: string | null;
|
recipeYield?: string | null;
|
||||||
|
@ -255,6 +259,7 @@ export interface Recipe {
|
||||||
}
|
}
|
||||||
export interface RecipeTool {
|
export interface RecipeTool {
|
||||||
id: string;
|
id: string;
|
||||||
|
groupId?: string | null;
|
||||||
name: string;
|
name: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
householdsWithTool?: string[];
|
householdsWithTool?: string[];
|
||||||
|
@ -293,6 +298,7 @@ export interface UserBase {
|
||||||
export interface RecipeCategoryResponse {
|
export interface RecipeCategoryResponse {
|
||||||
name: string;
|
name: string;
|
||||||
id: string;
|
id: string;
|
||||||
|
groupId?: string | null;
|
||||||
slug: string;
|
slug: string;
|
||||||
recipes?: RecipeSummary[];
|
recipes?: RecipeSummary[];
|
||||||
}
|
}
|
||||||
|
@ -399,6 +405,7 @@ export interface RecipeSuggestionResponseItem {
|
||||||
export interface RecipeTagResponse {
|
export interface RecipeTagResponse {
|
||||||
name: string;
|
name: string;
|
||||||
id: string;
|
id: string;
|
||||||
|
groupId?: string | null;
|
||||||
slug: string;
|
slug: string;
|
||||||
recipes?: RecipeSummary[];
|
recipes?: RecipeSummary[];
|
||||||
}
|
}
|
||||||
|
@ -447,12 +454,14 @@ export interface RecipeToolOut {
|
||||||
name: string;
|
name: string;
|
||||||
householdsWithTool?: string[];
|
householdsWithTool?: string[];
|
||||||
id: string;
|
id: string;
|
||||||
|
groupId: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
}
|
}
|
||||||
export interface RecipeToolResponse {
|
export interface RecipeToolResponse {
|
||||||
name: string;
|
name: string;
|
||||||
householdsWithTool?: string[];
|
householdsWithTool?: string[];
|
||||||
id: string;
|
id: string;
|
||||||
|
groupId: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
recipes?: RecipeSummary[];
|
recipes?: RecipeSummary[];
|
||||||
}
|
}
|
||||||
|
@ -507,7 +516,7 @@ export interface ScrapeRecipeTest {
|
||||||
url: string;
|
url: string;
|
||||||
useOpenAI?: boolean;
|
useOpenAI?: boolean;
|
||||||
}
|
}
|
||||||
export interface SlugResponse { }
|
export interface SlugResponse {}
|
||||||
export interface TagIn {
|
export interface TagIn {
|
||||||
name: string;
|
name: string;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/* tslint:disable */
|
/* tslint:disable */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
/* This file was automatically generated from pydantic models by running pydantic2ts.
|
/* This file was automatically generated from pydantic models by running pydantic2ts.
|
||||||
/* Do not modify it by hand - just update the pydantic models and then re-run the script
|
/* Do not modify it by hand - just update the pydantic models and then re-run the script
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/* tslint:disable */
|
/* tslint:disable */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
/* This file was automatically generated from pydantic models by running pydantic2ts.
|
/* This file was automatically generated from pydantic models by running pydantic2ts.
|
||||||
/* Do not modify it by hand - just update the pydantic models and then re-run the script
|
/* Do not modify it by hand - just update the pydantic models and then re-run the script
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/* tslint:disable */
|
/* tslint:disable */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
/* This file was automatically generated from pydantic models by running pydantic2ts.
|
/* This file was automatically generated from pydantic models by running pydantic2ts.
|
||||||
/* Do not modify it by hand - just update the pydantic models and then re-run the script
|
/* Do not modify it by hand - just update the pydantic models and then re-run the script
|
||||||
|
@ -63,6 +62,7 @@ export interface GroupInDB {
|
||||||
export interface CategoryBase {
|
export interface CategoryBase {
|
||||||
name: string;
|
name: string;
|
||||||
id: string;
|
id: string;
|
||||||
|
groupId?: string | null;
|
||||||
slug: string;
|
slug: string;
|
||||||
}
|
}
|
||||||
export interface ReadWebhook {
|
export interface ReadWebhook {
|
||||||
|
@ -197,7 +197,6 @@ export interface UserBase {
|
||||||
canManage?: boolean;
|
canManage?: boolean;
|
||||||
canManageHousehold?: boolean;
|
canManageHousehold?: boolean;
|
||||||
canOrganize?: boolean;
|
canOrganize?: boolean;
|
||||||
advancedOptions?: boolean;
|
|
||||||
}
|
}
|
||||||
export interface UserIn {
|
export interface UserIn {
|
||||||
id?: string | null;
|
id?: string | null;
|
||||||
|
|
|
@ -368,6 +368,24 @@ export default defineNuxtComponent({
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: 8,
|
||||||
|
text: i18n.t("events.label-events"),
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
text: i18n.t("general.create") as string,
|
||||||
|
key: "labelCreated",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: i18n.t("general.update") as string,
|
||||||
|
key: "labelUpdated",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: i18n.t("general.delete") as string,
|
||||||
|
key: "labelDeleted",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -18,10 +18,20 @@
|
||||||
{{ $t('user.it-looks-like-this-is-your-first-time-logging-in') }}
|
{{ $t('user.it-looks-like-this-is-your-first-time-logging-in') }}
|
||||||
</p>
|
</p>
|
||||||
<p class="mb-1">
|
<p class="mb-1">
|
||||||
<strong>{{ $t('user.username') }}:</strong> changeme@example.com
|
<strong>{{ $t('user.username') }}: </strong>changeme@example.com
|
||||||
|
<AppButtonCopy
|
||||||
|
copy-text="changeme@example.com"
|
||||||
|
color="info"
|
||||||
|
btn-class="h-auto"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
<p class="mb-3">
|
<p class="mb-3">
|
||||||
<strong>{{ $t('user.password') }}:</strong> MyPassword
|
<strong>{{ $t('user.password') }}: </strong>MyPassword
|
||||||
|
<AppButtonCopy
|
||||||
|
copy-text="MyPassword"
|
||||||
|
color="info"
|
||||||
|
btn-class="h-auto"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
{{ $t('user.dont-want-to-see-this-anymore-be-sure-to-change-your-email') }}
|
{{ $t('user.dont-want-to-see-this-anymore-be-sure-to-change-your-email') }}
|
||||||
|
|
|
@ -136,6 +136,30 @@
|
||||||
v-if="!edit"
|
v-if="!edit"
|
||||||
class="py-2"
|
class="py-2"
|
||||||
>
|
>
|
||||||
|
<!-- Create Item -->
|
||||||
|
<div v-if="createEditorOpen">
|
||||||
|
<ShoppingListItemEditor
|
||||||
|
v-model="createListItemData"
|
||||||
|
class="my-4"
|
||||||
|
:labels="allLabels || []"
|
||||||
|
:units="allUnits || []"
|
||||||
|
:foods="allFoods || []"
|
||||||
|
:allow-delete="false"
|
||||||
|
@delete="createEditorOpen = false"
|
||||||
|
@cancel="createEditorOpen = false"
|
||||||
|
@save="createListItem"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div v-else class="d-flex justify-end">
|
||||||
|
<BaseButton
|
||||||
|
create
|
||||||
|
@click="createEditorOpen = true"
|
||||||
|
>
|
||||||
|
{{ $t('general.add') }}
|
||||||
|
</BaseButton>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- View without Label grouping -->
|
||||||
<div v-if="!preferences.viewByLabel">
|
<div v-if="!preferences.viewByLabel">
|
||||||
<VueDraggable
|
<VueDraggable
|
||||||
v-model="listItems.unchecked"
|
v-model="listItems.unchecked"
|
||||||
|
@ -222,29 +246,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Create Item -->
|
|
||||||
<div v-if="createEditorOpen">
|
|
||||||
<ShoppingListItemEditor
|
|
||||||
v-model="createListItemData"
|
|
||||||
class="my-4"
|
|
||||||
:labels="allLabels || []"
|
|
||||||
:units="allUnits || []"
|
|
||||||
:foods="allFoods || []"
|
|
||||||
:allow-delete="false"
|
|
||||||
@delete="createEditorOpen = false"
|
|
||||||
@cancel="createEditorOpen = false"
|
|
||||||
@save="createListItem"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div v-else class="d-flex justify-end">
|
|
||||||
<BaseButton
|
|
||||||
create
|
|
||||||
@click="createEditorOpen = true"
|
|
||||||
>
|
|
||||||
{{ $t('general.add') }}
|
|
||||||
</BaseButton>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Reorder Labels -->
|
<!-- Reorder Labels -->
|
||||||
<BaseDialog
|
<BaseDialog
|
||||||
v-model="reorderLabelsDialog"
|
v-model="reorderLabelsDialog"
|
||||||
|
|
2
frontend/types/components.d.ts
vendored
2
frontend/types/components.d.ts
vendored
|
@ -81,4 +81,4 @@ declare module "vue" {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export {};
|
export { };
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
"""'Add label notifier CRUD bools'
|
||||||
|
|
||||||
|
Revision ID: e6bb583aac2d
|
||||||
|
Revises: d7b3ce6fa31a
|
||||||
|
Create Date: 2025-08-09 19:32:37.285172
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
# revision identifiers, used by Alembic.
|
||||||
|
revision = "e6bb583aac2d"
|
||||||
|
down_revision: str | None = "d7b3ce6fa31a"
|
||||||
|
branch_labels: str | tuple[str, ...] | None = None
|
||||||
|
depends_on: str | tuple[str, ...] | None = None
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade():
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
with op.batch_alter_table("group_events_notifier_options", schema=None) as batch_op:
|
||||||
|
batch_op.add_column(
|
||||||
|
sa.Column(
|
||||||
|
"label_created", sa.Boolean(), nullable=False, default=False, server_default=sa.sql.expression.false()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
batch_op.add_column(
|
||||||
|
sa.Column(
|
||||||
|
"label_updated", sa.Boolean(), nullable=False, default=False, server_default=sa.sql.expression.false()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
batch_op.add_column(
|
||||||
|
sa.Column(
|
||||||
|
"label_deleted", sa.Boolean(), nullable=False, default=False, server_default=sa.sql.expression.false()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
# ### end Alembic commands ###
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade():
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
with op.batch_alter_table("group_events_notifier_options", schema=None) as batch_op:
|
||||||
|
batch_op.drop_column("label_deleted")
|
||||||
|
batch_op.drop_column("label_updated")
|
||||||
|
batch_op.drop_column("label_created")
|
||||||
|
|
||||||
|
# ### end Alembic commands ###
|
|
@ -46,6 +46,10 @@ class GroupEventNotifierOptionsModel(SqlAlchemyBase, BaseMixins):
|
||||||
category_updated: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False)
|
category_updated: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False)
|
||||||
category_deleted: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False)
|
category_deleted: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False)
|
||||||
|
|
||||||
|
label_created: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False)
|
||||||
|
label_updated: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False)
|
||||||
|
label_deleted: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False)
|
||||||
|
|
||||||
@auto_init()
|
@auto_init()
|
||||||
def __init__(self, **_) -> None:
|
def __init__(self, **_) -> None:
|
||||||
pass
|
pass
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
"step-text": "Passos das receitas, assim como outros campos na página da receita, suportam sintaxe \"markdown\".\n\n**Adicione um link**\n\n[Meu Link](https://demo.mealie.io)\n"
|
"step-text": "Passos das receitas, assim como outros campos na página da receita, suportam sintaxe \"markdown\".\n\n**Adicione um link**\n\n[Meu Link](https://demo.mealie.io)\n"
|
||||||
},
|
},
|
||||||
"servings-text": {
|
"servings-text": {
|
||||||
"makes": "Makes",
|
"makes": "Produz",
|
||||||
"serves": "Porções",
|
"serves": "Porções",
|
||||||
"serving": "Porção",
|
"serving": "Porção",
|
||||||
"servings": "Porções",
|
"servings": "Porções",
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
"serves": "Порций",
|
"serves": "Порций",
|
||||||
"serving": "Порция",
|
"serving": "Порция",
|
||||||
"servings": "Порции",
|
"servings": "Порции",
|
||||||
"yield": "Выход",
|
"yield": "Количество порций",
|
||||||
"yields": "Можно получить"
|
"yields": "Можно получить"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -132,8 +132,8 @@
|
||||||
"baby green": {
|
"baby green": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "baby green",
|
"name": "babysalat",
|
||||||
"plural_name": "baby greens"
|
"plural_name": "babysalater"
|
||||||
},
|
},
|
||||||
"pumpkin": {
|
"pumpkin": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -199,7 +199,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "romaine",
|
"name": "romaine",
|
||||||
"plural_name": "romaines"
|
"plural_name": "romaine"
|
||||||
},
|
},
|
||||||
"beetroot": {
|
"beetroot": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -339,46 +339,46 @@
|
||||||
"chard": {
|
"chard": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chard",
|
"name": "bladbede",
|
||||||
"plural_name": "chards"
|
"plural_name": "bladbeder"
|
||||||
},
|
},
|
||||||
"pimiento": {
|
"pimiento": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pimiento",
|
"name": "tapas peber",
|
||||||
"plural_name": "pimientoes"
|
"plural_name": "tapas peber"
|
||||||
},
|
},
|
||||||
"spaghetti squash": {
|
"spaghetti squash": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "spaghetti squash",
|
"name": "spaghetti squash",
|
||||||
"plural_name": "spaghetti squashes"
|
"plural_name": "spaghetti squash"
|
||||||
},
|
},
|
||||||
"butter lettuce": {
|
"butter lettuce": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "butter lettuce",
|
"name": "havesalat",
|
||||||
"plural_name": "butter lettuces"
|
"plural_name": "havesalater"
|
||||||
},
|
},
|
||||||
"hash brown": {
|
"hash brown": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "hash brown",
|
"name": "rösti",
|
||||||
"plural_name": "hash browns"
|
"plural_name": "rösti"
|
||||||
},
|
},
|
||||||
"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": "knoldselleri",
|
||||||
"plural_name": "celeriacs"
|
"plural_name": "knoldselleri"
|
||||||
},
|
},
|
||||||
"water chestnut": {
|
"water chestnut": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -395,8 +395,8 @@
|
||||||
"thai chile pepper": {
|
"thai chile pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "thai chile pepper",
|
"name": "thai chili",
|
||||||
"plural_name": "thai chile peppers"
|
"plural_name": "thai chilier"
|
||||||
},
|
},
|
||||||
"bok choy": {
|
"bok choy": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -413,8 +413,8 @@
|
||||||
"acorn squash": {
|
"acorn squash": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "acorn squash",
|
"name": "vintergræskar",
|
||||||
"plural_name": "acorn squashes"
|
"plural_name": "vintergræskar"
|
||||||
},
|
},
|
||||||
"corn cob": {
|
"corn cob": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -431,32 +431,32 @@
|
||||||
"pearl onion": {
|
"pearl onion": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pearl onion",
|
"name": "perleløg",
|
||||||
"plural_name": "pearl onions"
|
"plural_name": "perleløg"
|
||||||
},
|
},
|
||||||
"tenderstem broccoli": {
|
"tenderstem broccoli": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "tenderstem broccoli",
|
"name": "broccoli",
|
||||||
"plural_name": "tenderstem broccolis"
|
"plural_name": "broccoli"
|
||||||
},
|
},
|
||||||
"plantain": {
|
"plantain": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "plantain",
|
"name": "madbanan",
|
||||||
"plural_name": "plantains"
|
"plural_name": "madbananer"
|
||||||
},
|
},
|
||||||
"leaf lettuce": {
|
"leaf lettuce": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "leaf lettuce",
|
"name": "pluksalat",
|
||||||
"plural_name": "leaf lettuces"
|
"plural_name": "pluksalat"
|
||||||
},
|
},
|
||||||
"pepperoncini": {
|
"pepperoncini": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pepperoncini",
|
"name": "peberfrugt",
|
||||||
"plural_name": "pepperoncinis"
|
"plural_name": "peberfrugt"
|
||||||
},
|
},
|
||||||
"baby bok choy": {
|
"baby bok choy": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -468,39 +468,39 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "jicama",
|
"name": "jicama",
|
||||||
"plural_name": "jicamas"
|
"plural_name": "jicama"
|
||||||
},
|
},
|
||||||
"endive": {
|
"endive": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "endive",
|
"name": "julesalat",
|
||||||
"plural_name": "endives"
|
"plural_name": "julesalat"
|
||||||
},
|
},
|
||||||
"habanero pepper": {
|
"habanero pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "habanero pepper",
|
"name": "habanero peber",
|
||||||
"plural_name": "habanero peppers"
|
"plural_name": "habanero peber"
|
||||||
},
|
},
|
||||||
"corn husk": {
|
"corn husk": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
"maize"
|
"majs"
|
||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "corn husk",
|
"name": "majsblad",
|
||||||
"plural_name": "corn husks"
|
"plural_name": "majsblade"
|
||||||
},
|
},
|
||||||
"collard green": {
|
"collard green": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "collard green",
|
"name": "fodermarvkål",
|
||||||
"plural_name": "collard greens"
|
"plural_name": "fodermarvkål"
|
||||||
},
|
},
|
||||||
"french-fried onion": {
|
"french-fried onion": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "french-fried onion",
|
"name": "ristet løg",
|
||||||
"plural_name": "french-fried onions"
|
"plural_name": "ristet løg"
|
||||||
},
|
},
|
||||||
"daikon": {
|
"daikon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -720,7 +720,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "granatæble",
|
"name": "granatæble",
|
||||||
"plural_name": "pomegranates"
|
"plural_name": "granatæble"
|
||||||
},
|
},
|
||||||
"watermelon": {
|
"watermelon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -785,116 +785,116 @@
|
||||||
"prune": {
|
"prune": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "prune",
|
"name": "sveske",
|
||||||
"plural_name": "prunes"
|
"plural_name": "sveske"
|
||||||
},
|
},
|
||||||
"cantaloupe": {
|
"cantaloupe": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cantaloupe",
|
"name": "cantaloupe-melon",
|
||||||
"plural_name": "cantaloupes"
|
"plural_name": "cantaloupe-meloner"
|
||||||
},
|
},
|
||||||
"sultana": {
|
"sultana": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sultana",
|
"name": "vindrue",
|
||||||
"plural_name": "sultanas"
|
"plural_name": "vindruer"
|
||||||
},
|
},
|
||||||
"passion fruit": {
|
"passion fruit": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "passion fruit",
|
"name": "passionsfrugt",
|
||||||
"plural_name": "passion fruits"
|
"plural_name": "passionsfrugt"
|
||||||
},
|
},
|
||||||
"papaya": {
|
"papaya": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "papaya",
|
"name": "papaya",
|
||||||
"plural_name": "papayas"
|
"plural_name": "papaya"
|
||||||
},
|
},
|
||||||
"tamarind": {
|
"tamarind": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "tamarind",
|
"name": "tamarind",
|
||||||
"plural_name": "tamarinds"
|
"plural_name": "tamarind"
|
||||||
},
|
},
|
||||||
"nectarine": {
|
"nectarine": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "nectarine",
|
"name": "nektarin",
|
||||||
"plural_name": "nectarines"
|
"plural_name": "nektariner"
|
||||||
},
|
},
|
||||||
"dried fig": {
|
"dried fig": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried fig",
|
"name": "tørret figen",
|
||||||
"plural_name": "dried figs"
|
"plural_name": "tørrede figner"
|
||||||
},
|
},
|
||||||
"chestnut": {
|
"chestnut": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chestnut",
|
"name": "kastanje",
|
||||||
"plural_name": "chestnuts"
|
"plural_name": "kastanier"
|
||||||
},
|
},
|
||||||
"meyer lemon": {
|
"meyer lemon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "meyer lemon",
|
"name": "citron",
|
||||||
"plural_name": "meyer lemons"
|
"plural_name": "citroner"
|
||||||
},
|
},
|
||||||
"honeydew melon": {
|
"honeydew melon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "honeydew melon",
|
"name": "honningmelon",
|
||||||
"plural_name": "honeydew melons"
|
"plural_name": "honningmeloner"
|
||||||
},
|
},
|
||||||
"dried fruit": {
|
"dried fruit": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried fruit",
|
"name": "tørret frugt",
|
||||||
"plural_name": "dried fruits"
|
"plural_name": "tørrede frugter"
|
||||||
},
|
},
|
||||||
"clementine": {
|
"clementine": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "clementine",
|
"name": "klementin",
|
||||||
"plural_name": "clementines"
|
"plural_name": "klementiner"
|
||||||
},
|
},
|
||||||
"persimmon": {
|
"persimmon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "persimmon",
|
"name": "daddelblomme",
|
||||||
"plural_name": "persimmons"
|
"plural_name": "daddelblommer"
|
||||||
},
|
},
|
||||||
"melon": {
|
"melon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "melon",
|
"name": "melon",
|
||||||
"plural_name": "melons"
|
"plural_name": "meloner"
|
||||||
},
|
},
|
||||||
"tangerine": {
|
"tangerine": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "tangerine",
|
"name": "madarin",
|
||||||
"plural_name": "tangerines"
|
"plural_name": "madariner"
|
||||||
},
|
},
|
||||||
"dried mango": {
|
"dried mango": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried mango",
|
"name": "tørret mango",
|
||||||
"plural_name": "dried mangoes"
|
"plural_name": "tørret mango"
|
||||||
},
|
},
|
||||||
"dried apple": {
|
"dried apple": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried apple",
|
"name": "tørret æble",
|
||||||
"plural_name": "dried apples"
|
"plural_name": "tørrede æbler"
|
||||||
},
|
},
|
||||||
"quince": {
|
"quince": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "quince",
|
"name": "kvæde",
|
||||||
"plural_name": "quinces"
|
"plural_name": "kvæder"
|
||||||
},
|
},
|
||||||
"guava": {
|
"guava": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -905,31 +905,31 @@
|
||||||
"banana chip": {
|
"banana chip": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "banana chip",
|
"name": "banan chips",
|
||||||
"plural_name": "banana chips"
|
"plural_name": "banan chips"
|
||||||
},
|
},
|
||||||
"kumquat": {
|
"kumquat": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "kumquat",
|
"name": "kumquat",
|
||||||
"plural_name": "kumquats"
|
"plural_name": "kumquat"
|
||||||
},
|
},
|
||||||
"jackfruit": {
|
"jackfruit": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "jackfruit",
|
"name": "jackfrugt",
|
||||||
"plural_name": "jackfruits"
|
"plural_name": "jackfrugter"
|
||||||
},
|
},
|
||||||
"dragon fruit": {
|
"dragon fruit": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dragon fruit",
|
"name": "drage frugt",
|
||||||
"plural_name": "dragon fruits"
|
"plural_name": "drage frugter"
|
||||||
},
|
},
|
||||||
"mixed fruit": {
|
"mixed fruit": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mixed fruit",
|
"name": "blandet frugt",
|
||||||
"plural_name": "mixed fruits"
|
"plural_name": "mixed fruits"
|
||||||
},
|
},
|
||||||
"asian pear": {
|
"asian pear": {
|
||||||
|
|
|
@ -4493,8 +4493,8 @@
|
||||||
"ground turkey sausage": {
|
"ground turkey sausage": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "ground turkey sausage",
|
"name": "Geräucherte Putenwurst",
|
||||||
"plural_name": "ground turkey sausages"
|
"plural_name": "Geräucherte Putenwurst"
|
||||||
},
|
},
|
||||||
"quail": {
|
"quail": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -4607,8 +4607,8 @@
|
||||||
"chicken andouille": {
|
"chicken andouille": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chicken andouille",
|
"name": "Hühner-Andouille",
|
||||||
"plural_name": "chicken andouilles"
|
"plural_name": "Hühner-Andouille"
|
||||||
},
|
},
|
||||||
"chicken gizzard": {
|
"chicken gizzard": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -4625,8 +4625,8 @@
|
||||||
"chicken italian sausage": {
|
"chicken italian sausage": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chicken italian sausage",
|
"name": "Hähnchen-Salsiccia",
|
||||||
"plural_name": "chicken italian sausages"
|
"plural_name": "Hähnchen-Salsiccia"
|
||||||
},
|
},
|
||||||
"crispy chicken strip": {
|
"crispy chicken strip": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -4643,20 +4643,20 @@
|
||||||
"popcorn chicken": {
|
"popcorn chicken": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "popcorn chicken",
|
"name": "Popcorn-Hähnchen",
|
||||||
"plural_name": "popcorn chickens"
|
"plural_name": "Popcorn-Hähnchen"
|
||||||
},
|
},
|
||||||
"turkey kielbasa": {
|
"turkey kielbasa": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "turkey kielbasa",
|
"name": "Truthahn-Kielbasa",
|
||||||
"plural_name": "turkey kielbasas"
|
"plural_name": "Truthahn-Kielbasa"
|
||||||
},
|
},
|
||||||
"chicken-apple sausage": {
|
"chicken-apple sausage": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chicken-apple sausage",
|
"name": "Hähnchen-Apfel-Wurst",
|
||||||
"plural_name": "chicken-apple sausages"
|
"plural_name": "Hähnchen-Apfel-Würsten"
|
||||||
},
|
},
|
||||||
"chicken foot": {
|
"chicken foot": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -4673,8 +4673,8 @@
|
||||||
"deli chicken": {
|
"deli chicken": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "deli chicken",
|
"name": "Delikatessen-Hähnchen",
|
||||||
"plural_name": "deli chickens"
|
"plural_name": "Delikatessen-Hähnchen"
|
||||||
},
|
},
|
||||||
"smoked duck breast": {
|
"smoked duck breast": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -6095,8 +6095,8 @@
|
||||||
"chipotle": {
|
"chipotle": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chipotle",
|
"name": "Chipotle",
|
||||||
"plural_name": "chipotles"
|
"plural_name": "Chipotles"
|
||||||
},
|
},
|
||||||
"fenugreek": {
|
"fenugreek": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -6143,8 +6143,8 @@
|
||||||
"kashmiri red chilli": {
|
"kashmiri red chilli": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "kashmiri red chilli",
|
"name": "Kashmiri Mirch",
|
||||||
"plural_name": "kashmiri red chillis"
|
"plural_name": "Kashmiri Mirch"
|
||||||
},
|
},
|
||||||
"thai basil": {
|
"thai basil": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -6167,8 +6167,8 @@
|
||||||
"kaffir lime leaf": {
|
"kaffir lime leaf": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "kaffir lime leaf",
|
"name": "Kaffir-Limettenblatt",
|
||||||
"plural_name": "kaffir lime leaves"
|
"plural_name": "Kaffir-Limettenblätter"
|
||||||
},
|
},
|
||||||
"chervil": {
|
"chervil": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -6192,7 +6192,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mexikanischer Oregano",
|
"name": "mexikanischer Oregano",
|
||||||
"plural_name": "mexican oreganos"
|
"plural_name": "mexikanischer Oregano"
|
||||||
},
|
},
|
||||||
"mace": {
|
"mace": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -6305,38 +6305,38 @@
|
||||||
"achiote seed": {
|
"achiote seed": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "achiote seed",
|
"name": "Annatto-Samen",
|
||||||
"plural_name": "achiote seeds"
|
"plural_name": "Annatto-Samen"
|
||||||
},
|
},
|
||||||
"savory herb": {
|
"savory herb": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "savory herb",
|
"name": "Bohnenkraut",
|
||||||
"plural_name": "savory herbs"
|
"plural_name": "Bohnenkraut"
|
||||||
},
|
},
|
||||||
"pandan leaf": {
|
"pandan leaf": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pandan leaf",
|
"name": "Pandanblatt",
|
||||||
"plural_name": "pandan leaves"
|
"plural_name": "Pandanblätter"
|
||||||
},
|
},
|
||||||
"sorrel": {
|
"sorrel": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sorrel",
|
"name": "Sauerampfer",
|
||||||
"plural_name": "sorrels"
|
"plural_name": "Sauerampfer"
|
||||||
},
|
},
|
||||||
"gochugaru": {
|
"gochugaru": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "gochugaru",
|
"name": "Gochugaru",
|
||||||
"plural_name": "gochugarus"
|
"plural_name": "Gochugaru"
|
||||||
},
|
},
|
||||||
"saigon cinnamon": {
|
"saigon cinnamon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "saigon cinnamon",
|
"name": "vietnamesischer Zimt",
|
||||||
"plural_name": "saigon cinnamons"
|
"plural_name": "vietnamesischer Zimt"
|
||||||
},
|
},
|
||||||
"lemongrass paste": {
|
"lemongrass paste": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -6347,14 +6347,14 @@
|
||||||
"shiso": {
|
"shiso": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "shiso",
|
"name": "Shiso",
|
||||||
"plural_name": "shisoes"
|
"plural_name": "Shiso"
|
||||||
},
|
},
|
||||||
"celery powder": {
|
"celery powder": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "celery powder",
|
"name": "Sellerieknollenpulver",
|
||||||
"plural_name": "celery powders"
|
"plural_name": "Sellerieknollenpulver"
|
||||||
},
|
},
|
||||||
"black cumin": {
|
"black cumin": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -6365,8 +6365,8 @@
|
||||||
"anardana": {
|
"anardana": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "anardana",
|
"name": "Anardana",
|
||||||
"plural_name": "anardanas"
|
"plural_name": "Anardana"
|
||||||
},
|
},
|
||||||
"vietnamese mint": {
|
"vietnamese mint": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -6383,14 +6383,14 @@
|
||||||
"espelette pepper": {
|
"espelette pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "espelette pepper",
|
"name": "Piment d’Espelette",
|
||||||
"plural_name": "espelette peppers"
|
"plural_name": "Piment d’Espelette"
|
||||||
},
|
},
|
||||||
"lemon verbena": {
|
"lemon verbena": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Zitronenverbe",
|
"name": "Zitronenverbene",
|
||||||
"plural_name": "lemon verbenas"
|
"plural_name": "Zitronenverbene"
|
||||||
},
|
},
|
||||||
"raw stevia": {
|
"raw stevia": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -6407,8 +6407,8 @@
|
||||||
"summer savory": {
|
"summer savory": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "summer savory",
|
"name": "Sommer-Bohnenkraut",
|
||||||
"plural_name": "summer savories"
|
"plural_name": "Sommer-Bohnenkräuter"
|
||||||
},
|
},
|
||||||
"fennel pollen": {
|
"fennel pollen": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -6440,12 +6440,12 @@
|
||||||
"Puderzucker"
|
"Puderzucker"
|
||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "confectioners sugar",
|
"name": "Puderzucker",
|
||||||
"plural_name": "confectioners sugars"
|
"plural_name": "Puderzucker"
|
||||||
},
|
},
|
||||||
"bar sugar": {
|
"bar sugar": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
"castor sugar"
|
"Feinzucker"
|
||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Rohrzucker",
|
"name": "Rohrzucker",
|
||||||
|
@ -6880,8 +6880,8 @@
|
||||||
"hot honey": {
|
"hot honey": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "hot honey",
|
"name": "heißer Honig",
|
||||||
"plural_name": "hot honeys"
|
"plural_name": "heiße Honige"
|
||||||
},
|
},
|
||||||
"gula melaka": {
|
"gula melaka": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -6892,14 +6892,14 @@
|
||||||
"elderberry syrup": {
|
"elderberry syrup": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "elderberry syrup",
|
"name": "Holunderbeerensirup",
|
||||||
"plural_name": "elderberry syrups"
|
"plural_name": "Holunderbeerensirupe"
|
||||||
},
|
},
|
||||||
"rosemary syrup": {
|
"rosemary syrup": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "rosemary syrup",
|
"name": "Rosmarinsirup",
|
||||||
"plural_name": "rosemary syrups"
|
"plural_name": "Rosmarinsirupe"
|
||||||
},
|
},
|
||||||
"dark chocolate syrup": {
|
"dark chocolate syrup": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -7030,7 +7030,7 @@
|
||||||
"truffle honey": {
|
"truffle honey": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "truffle honey",
|
"name": "Trüffelhonig",
|
||||||
"plural_name": "truffle honeys"
|
"plural_name": "truffle honeys"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7651,7 +7651,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Mehl",
|
"name": "Mehl",
|
||||||
"plural_name": "Mehle"
|
"plural_name": "Mehl"
|
||||||
},
|
},
|
||||||
"vanilla extract": {
|
"vanilla extract": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
|
@ -7704,7 +7704,7 @@
|
||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Weizenvollkornmehl",
|
"name": "Weizenvollkornmehl",
|
||||||
"plural_name": "Weizenvollkornmehle"
|
"plural_name": "Weizenvollkornmehl"
|
||||||
},
|
},
|
||||||
"almond flour": {
|
"almond flour": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -7770,7 +7770,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Maismehl",
|
"name": "Maismehl",
|
||||||
"plural_name": "Maismehle"
|
"plural_name": "Maismehl"
|
||||||
},
|
},
|
||||||
"cream of tartar": {
|
"cream of tartar": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -7816,7 +7816,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Reismehl",
|
"name": "Reismehl",
|
||||||
"plural_name": "Reismehle"
|
"plural_name": "Reismehl"
|
||||||
},
|
},
|
||||||
"desiccated coconut": {
|
"desiccated coconut": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -7840,7 +7840,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Kichererbsenmehl",
|
"name": "Kichererbsenmehl",
|
||||||
"plural_name": "Kichererbsenmehle"
|
"plural_name": "Kichererbsenmehl"
|
||||||
},
|
},
|
||||||
"xanthan gum": {
|
"xanthan gum": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -7957,7 +7957,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Roggenmehl",
|
"name": "Roggenmehl",
|
||||||
"plural_name": "Roggenmehle"
|
"plural_name": "Roggenmehl"
|
||||||
},
|
},
|
||||||
"psyllium husk": {
|
"psyllium husk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -8071,7 +8071,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Matzemehl",
|
"name": "Matzemehl",
|
||||||
"plural_name": "Matzemehle"
|
"plural_name": "Matzemehl"
|
||||||
},
|
},
|
||||||
"sago": {
|
"sago": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -8089,7 +8089,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Maniokmehl",
|
"name": "Maniokmehl",
|
||||||
"plural_name": "Maniokmehle"
|
"plural_name": "Maniokmehl"
|
||||||
},
|
},
|
||||||
"whipped cream stabilizer": {
|
"whipped cream stabilizer": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -8143,13 +8143,13 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Quinoamehl",
|
"name": "Quinoamehl",
|
||||||
"plural_name": "Quinoamehle"
|
"plural_name": "Quinoamehl"
|
||||||
},
|
},
|
||||||
"finger millet flour": {
|
"finger millet flour": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Fingerhirsemehl",
|
"name": "Fingerhirsemehl",
|
||||||
"plural_name": "Fingerhirsemehle"
|
"plural_name": "Fingerhirsemehl"
|
||||||
},
|
},
|
||||||
"fondant": {
|
"fondant": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -8173,13 +8173,13 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "weißes Maismehl",
|
"name": "weißes Maismehl",
|
||||||
"plural_name": "weiße Maismehle"
|
"plural_name": "weißes Maismehl"
|
||||||
},
|
},
|
||||||
"millet flour": {
|
"millet flour": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Hirsemehl",
|
"name": "Hirsemehl",
|
||||||
"plural_name": "Hirsemehle"
|
"plural_name": "Hirsemehl"
|
||||||
},
|
},
|
||||||
"mincemeat": {
|
"mincemeat": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1151,8 +1151,8 @@
|
||||||
"dried orange slice": {
|
"dried orange slice": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried orange slice",
|
"name": "tranche d'orange séchée",
|
||||||
"plural_name": "dried orange slices"
|
"plural_name": "tranches d'orange séchées"
|
||||||
},
|
},
|
||||||
"loquat": {
|
"loquat": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1335,8 +1335,8 @@
|
||||||
"dried chinese mushroom": {
|
"dried chinese mushroom": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried chinese mushroom",
|
"name": "shiitake",
|
||||||
"plural_name": "dried chinese mushrooms"
|
"plural_name": "shiitakes"
|
||||||
},
|
},
|
||||||
"maitake": {
|
"maitake": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1347,8 +1347,8 @@
|
||||||
"trumpet mushroom": {
|
"trumpet mushroom": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "trumpet mushroom",
|
"name": "pleurote de panicaut",
|
||||||
"plural_name": "trumpet mushrooms"
|
"plural_name": "pleurotes de panicaut"
|
||||||
},
|
},
|
||||||
"white truffle": {
|
"white truffle": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2015,8 +2015,8 @@
|
||||||
"cream cheese": {
|
"cream cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cream cheese",
|
"name": "mascarpone",
|
||||||
"plural_name": "cream cheeses"
|
"plural_name": "mascarpones"
|
||||||
},
|
},
|
||||||
"sharp cheddar": {
|
"sharp cheddar": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2382,7 +2382,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "babybel",
|
"name": "babybel",
|
||||||
"plural_name": "babybels"
|
"plural_name": "babybel"
|
||||||
},
|
},
|
||||||
"panela cheese": {
|
"panela cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2556,7 +2556,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "port-salut",
|
"name": "port-salut",
|
||||||
"plural_name": "port saluts"
|
"plural_name": "port-salut"
|
||||||
},
|
},
|
||||||
"derby cheese": {
|
"derby cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2637,8 +2637,8 @@
|
||||||
"sour cream": {
|
"sour cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "crème fraiche",
|
"name": "crème aigre",
|
||||||
"plural_name": "crèmes fraiches"
|
"plural_name": "crèmes aigres"
|
||||||
},
|
},
|
||||||
"buttermilk": {
|
"buttermilk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
|
|
@ -168,8 +168,8 @@
|
||||||
"arugula": {
|
"arugula": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "arugula",
|
"name": "rúcula",
|
||||||
"plural_name": "arugulas"
|
"plural_name": "rúculas"
|
||||||
},
|
},
|
||||||
"leek": {
|
"leek": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -192,14 +192,14 @@
|
||||||
"butternut squash": {
|
"butternut squash": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "butternut squash",
|
"name": "cabaza",
|
||||||
"plural_name": "butternut squashes"
|
"plural_name": "cabazas"
|
||||||
},
|
},
|
||||||
"romaine": {
|
"romaine": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "romaine",
|
"name": "leituga-romana",
|
||||||
"plural_name": "romaines"
|
"plural_name": "leitugas-romanas"
|
||||||
},
|
},
|
||||||
"beetroot": {
|
"beetroot": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -222,8 +222,8 @@
|
||||||
"sun dried tomato": {
|
"sun dried tomato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sun dried tomato",
|
"name": "tomate seco",
|
||||||
"plural_name": "sun dried tomatoes"
|
"plural_name": "tomates secos"
|
||||||
},
|
},
|
||||||
"radish": {
|
"radish": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -251,7 +251,7 @@
|
||||||
},
|
},
|
||||||
"summer squash": {
|
"summer squash": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
"courgette",
|
"cabaciña",
|
||||||
"gem squash"
|
"gem squash"
|
||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
|
@ -274,7 +274,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "baby carrot",
|
"name": "baby carrot",
|
||||||
"plural_name": "baby carrots"
|
"plural_name": "mini cenouras"
|
||||||
},
|
},
|
||||||
"mixed vegetable": {
|
"mixed vegetable": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -303,8 +303,8 @@
|
||||||
"cayenne pepper": {
|
"cayenne pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cayenne pepper",
|
"name": "pimenta caiena",
|
||||||
"plural_name": "cayenne peppers"
|
"plural_name": "pimentas de caiena"
|
||||||
},
|
},
|
||||||
"green tomato": {
|
"green tomato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -327,8 +327,8 @@
|
||||||
"mashed potato": {
|
"mashed potato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mashed potato",
|
"name": "puré de pataca",
|
||||||
"plural_name": "mashed potatoes"
|
"plural_name": "purés de pataca"
|
||||||
},
|
},
|
||||||
"horseradish": {
|
"horseradish": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -368,11 +368,11 @@
|
||||||
},
|
},
|
||||||
"napa cabbage": {
|
"napa cabbage": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
"chinese leaves"
|
"repolo chinés"
|
||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "napa cabbage",
|
"name": "repolo napa",
|
||||||
"plural_name": "napa cabbages"
|
"plural_name": "repolos napa"
|
||||||
},
|
},
|
||||||
"celeriac": {
|
"celeriac": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -628,15 +628,15 @@
|
||||||
"foods": {
|
"foods": {
|
||||||
"tomato": {
|
"tomato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "Yes they are a fruit",
|
"description": "Si, son froitas",
|
||||||
"name": "tomate",
|
"name": "tomate",
|
||||||
"plural_name": "tomates"
|
"plural_name": "tomates"
|
||||||
},
|
},
|
||||||
"lemon": {
|
"lemon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "lemon",
|
"name": "limón",
|
||||||
"plural_name": "lemons"
|
"plural_name": "limóns"
|
||||||
},
|
},
|
||||||
"lime": {
|
"lime": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -671,8 +671,8 @@
|
||||||
"pineapple": {
|
"pineapple": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pineapple",
|
"name": "ananás",
|
||||||
"plural_name": "pineapples"
|
"plural_name": "ananás"
|
||||||
},
|
},
|
||||||
"mango": {
|
"mango": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -683,8 +683,8 @@
|
||||||
"peach": {
|
"peach": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "peach",
|
"name": "pexego",
|
||||||
"plural_name": "peaches"
|
"plural_name": "pexegos"
|
||||||
},
|
},
|
||||||
"date": {
|
"date": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1781,8 +1781,8 @@
|
||||||
"pumpkin seed": {
|
"pumpkin seed": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pumpkin seed",
|
"name": "semente de cabaza",
|
||||||
"plural_name": "pumpkin seeds"
|
"plural_name": "sementes de cabaza"
|
||||||
},
|
},
|
||||||
"hazelnut": {
|
"hazelnut": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2009,7 +2009,7 @@
|
||||||
"cheddars"
|
"cheddars"
|
||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cheddar cheese",
|
"name": "queixo cheddar",
|
||||||
"plural_name": "cheddar cheeses"
|
"plural_name": "cheddar cheeses"
|
||||||
},
|
},
|
||||||
"cream cheese": {
|
"cream cheese": {
|
||||||
|
@ -2531,8 +2531,8 @@
|
||||||
"requeijão": {
|
"requeijão": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "requeijão",
|
"name": "requeixo",
|
||||||
"plural_name": "requeijãoes"
|
"plural_name": "requeixos"
|
||||||
},
|
},
|
||||||
"vacherin": {
|
"vacherin": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2687,8 +2687,8 @@
|
||||||
"condensed milk": {
|
"condensed milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "condensed milk",
|
"name": "leite condensado",
|
||||||
"plural_name": "condensed milks"
|
"plural_name": "leites condensados"
|
||||||
},
|
},
|
||||||
"half and half": {
|
"half and half": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2849,8 +2849,8 @@
|
||||||
"goat milk": {
|
"goat milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "goat milk",
|
"name": "leite de cabra",
|
||||||
"plural_name": "goat milks"
|
"plural_name": "leites de cabra"
|
||||||
},
|
},
|
||||||
"cheese curd": {
|
"cheese curd": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2879,8 +2879,8 @@
|
||||||
"duck egg": {
|
"duck egg": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "duck egg",
|
"name": "ovo de pato",
|
||||||
"plural_name": "duck eggs"
|
"plural_name": "ovos de pato"
|
||||||
},
|
},
|
||||||
"salted egg": {
|
"salted egg": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2903,8 +2903,8 @@
|
||||||
"raw milk": {
|
"raw milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "raw milk",
|
"name": "leite cru",
|
||||||
"plural_name": "raw milks"
|
"plural_name": "leites crus"
|
||||||
},
|
},
|
||||||
"lime curd": {
|
"lime curd": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2975,8 +2975,8 @@
|
||||||
"goat butter": {
|
"goat butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "goat butter",
|
"name": "manteiga de leite de cabra",
|
||||||
"plural_name": "goat butter"
|
"plural_name": "manteigas de leite de cabra"
|
||||||
},
|
},
|
||||||
"century egg": {
|
"century egg": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3141,8 +3141,8 @@
|
||||||
"almond milk": {
|
"almond milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "almond milk",
|
"name": "leite de améndoa",
|
||||||
"plural_name": "almond milks"
|
"plural_name": "leites de améndoa"
|
||||||
},
|
},
|
||||||
"almond butter": {
|
"almond butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3165,7 +3165,7 @@
|
||||||
"vegan butter": {
|
"vegan butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "vegan butter",
|
"name": "manteiga vegana",
|
||||||
"plural_name": "vegan butter"
|
"plural_name": "vegan butter"
|
||||||
},
|
},
|
||||||
"non-dairy milk": {
|
"non-dairy milk": {
|
||||||
|
@ -3219,8 +3219,8 @@
|
||||||
"vegan cheese": {
|
"vegan cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "vegan cheese",
|
"name": "queixo vegano",
|
||||||
"plural_name": "vegan cheeses"
|
"plural_name": "queixos veganos"
|
||||||
},
|
},
|
||||||
"cashew butter": {
|
"cashew butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3267,8 +3267,8 @@
|
||||||
"oat milk": {
|
"oat milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "oat milk",
|
"name": "leite de avea",
|
||||||
"plural_name": "oat milks"
|
"plural_name": "leites de avea"
|
||||||
},
|
},
|
||||||
"nut butter": {
|
"nut butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3280,7 +3280,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "leite de arroz",
|
"name": "leite de arroz",
|
||||||
"plural_name": "rice milks"
|
"plural_name": "leites de arroz"
|
||||||
},
|
},
|
||||||
"vegan sour cream": {
|
"vegan sour cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3823,8 +3823,8 @@
|
||||||
"chorizo": {
|
"chorizo": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chorizo",
|
"name": "chourizo",
|
||||||
"plural_name": "chorizoes"
|
"plural_name": "chourizos"
|
||||||
},
|
},
|
||||||
"pancetta": {
|
"pancetta": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3883,8 +3883,8 @@
|
||||||
"salami": {
|
"salami": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "salami",
|
"name": "salame",
|
||||||
"plural_name": "salamis"
|
"plural_name": "salames"
|
||||||
},
|
},
|
||||||
"brisket": {
|
"brisket": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -5079,8 +5079,8 @@
|
||||||
"carp": {
|
"carp": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "carp",
|
"name": "carpa",
|
||||||
"plural_name": "carp"
|
"plural_name": "carpas"
|
||||||
},
|
},
|
||||||
"cuttlefish": {
|
"cuttlefish": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -5515,8 +5515,8 @@
|
||||||
"crab": {
|
"crab": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "crab",
|
"name": "caranguexo",
|
||||||
"plural_name": "crabs"
|
"plural_name": "caranguexos"
|
||||||
},
|
},
|
||||||
"scallop": {
|
"scallop": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -5813,8 +5813,8 @@
|
||||||
"cinnamon": {
|
"cinnamon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cinnamon",
|
"name": "canela",
|
||||||
"plural_name": "cinnamons"
|
"plural_name": "canelas"
|
||||||
},
|
},
|
||||||
"parsley": {
|
"parsley": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -5855,8 +5855,8 @@
|
||||||
"garlic powder": {
|
"garlic powder": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "garlic powder",
|
"name": "allo en pó",
|
||||||
"plural_name": "garlic powders"
|
"plural_name": "allos en pó"
|
||||||
},
|
},
|
||||||
"oregano": {
|
"oregano": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -5921,8 +5921,8 @@
|
||||||
"onion powder": {
|
"onion powder": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "onion powder",
|
"name": "cebola en pó",
|
||||||
"plural_name": "onion powders"
|
"plural_name": "cebolas en pó"
|
||||||
},
|
},
|
||||||
"ginger powder": {
|
"ginger powder": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -15107,8 +15107,8 @@
|
||||||
"coffee": {
|
"coffee": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "coffee",
|
"name": "café",
|
||||||
"plural_name": "coffees"
|
"plural_name": "cafés"
|
||||||
},
|
},
|
||||||
"club soda": {
|
"club soda": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
|
|
@ -2813,14 +2813,14 @@
|
||||||
"buttermilk powder": {
|
"buttermilk powder": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "buttermilk powder",
|
"name": "karnemelkpoeder",
|
||||||
"plural_name": "buttermilk powders"
|
"plural_name": "karnemelkpoeders"
|
||||||
},
|
},
|
||||||
"frozen yogurt": {
|
"frozen yogurt": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "frozen yogurt",
|
"name": "bevroren yoghurt",
|
||||||
"plural_name": "frozen yogurts"
|
"plural_name": "bevroren yoghurts"
|
||||||
},
|
},
|
||||||
"khoya": {
|
"khoya": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2951,8 +2951,8 @@
|
||||||
"honey greek yogurt": {
|
"honey greek yogurt": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "honey greek yogurt",
|
"name": "Griekse honing yoghurt",
|
||||||
"plural_name": "honey greek yogurts"
|
"plural_name": "Griekse honing yoghurt"
|
||||||
},
|
},
|
||||||
"amul butter": {
|
"amul butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2963,8 +2963,8 @@
|
||||||
"honey butter": {
|
"honey butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "honey butter",
|
"name": "honing boter",
|
||||||
"plural_name": "honey butter"
|
"plural_name": "honing boter"
|
||||||
},
|
},
|
||||||
"strawberry cream cheese": {
|
"strawberry cream cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2993,8 +2993,8 @@
|
||||||
"goat yogurt": {
|
"goat yogurt": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "goat yogurt",
|
"name": "geiten yoghurt",
|
||||||
"plural_name": "goat yogurts"
|
"plural_name": "geiten yoghurt"
|
||||||
},
|
},
|
||||||
"dahi": {
|
"dahi": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3041,7 +3041,7 @@
|
||||||
"strawberry milk": {
|
"strawberry milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "strawberry milk",
|
"name": "aardbeien melk",
|
||||||
"plural_name": "strawberry milks"
|
"plural_name": "strawberry milks"
|
||||||
},
|
},
|
||||||
"ayran": {
|
"ayran": {
|
||||||
|
@ -3165,8 +3165,8 @@
|
||||||
"vegan butter": {
|
"vegan butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "vegan butter",
|
"name": "veganistische boter",
|
||||||
"plural_name": "vegan butter"
|
"plural_name": "veganistische boter"
|
||||||
},
|
},
|
||||||
"non-dairy milk": {
|
"non-dairy milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3243,8 +3243,8 @@
|
||||||
"coconut yogurt": {
|
"coconut yogurt": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "coconut yogurt",
|
"name": "kokokosnoot yoghurt",
|
||||||
"plural_name": "coconut yogurts"
|
"plural_name": "kokokosnoot yoghurt"
|
||||||
},
|
},
|
||||||
"non-dairy yogurt": {
|
"non-dairy yogurt": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3279,8 +3279,8 @@
|
||||||
"rice milk": {
|
"rice milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "rice milk",
|
"name": "rijstmelk",
|
||||||
"plural_name": "rice milks"
|
"plural_name": "rijstmelk"
|
||||||
},
|
},
|
||||||
"vegan sour cream": {
|
"vegan sour cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3429,8 +3429,8 @@
|
||||||
"vegan feta": {
|
"vegan feta": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "vegan feta",
|
"name": "veganistische feta",
|
||||||
"plural_name": "vegan fetas"
|
"plural_name": "veganistische feta"
|
||||||
},
|
},
|
||||||
"soy chorizo": {
|
"soy chorizo": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3693,8 +3693,8 @@
|
||||||
"banana milk": {
|
"banana milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "banana milk",
|
"name": "bananenmelk",
|
||||||
"plural_name": "banana milks"
|
"plural_name": "bananenmelk"
|
||||||
},
|
},
|
||||||
"soy quark": {
|
"soy quark": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3739,7 +3739,7 @@
|
||||||
"bacon": {
|
"bacon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "bacon",
|
"name": "spek",
|
||||||
"plural_name": "bacons"
|
"plural_name": "bacons"
|
||||||
},
|
},
|
||||||
"chopped bacon": {
|
"chopped bacon": {
|
||||||
|
@ -3884,7 +3884,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "salami",
|
"name": "salami",
|
||||||
"plural_name": "salamis"
|
"plural_name": "salami"
|
||||||
},
|
},
|
||||||
"brisket": {
|
"brisket": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -4081,8 +4081,8 @@
|
||||||
"rabbit": {
|
"rabbit": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "rabbit",
|
"name": "konijn",
|
||||||
"plural_name": "rabbits"
|
"plural_name": "konijnen"
|
||||||
},
|
},
|
||||||
"pork cutlet": {
|
"pork cutlet": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -4171,8 +4171,8 @@
|
||||||
"beef liver": {
|
"beef liver": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "beef liver",
|
"name": "runderlever",
|
||||||
"plural_name": "beef livers"
|
"plural_name": "runderlevers"
|
||||||
},
|
},
|
||||||
"pastrami": {
|
"pastrami": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -4237,7 +4237,7 @@
|
||||||
"dried beef": {
|
"dried beef": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried beef",
|
"name": "gedroogd rundvlees",
|
||||||
"plural_name": "dried beefs"
|
"plural_name": "dried beefs"
|
||||||
},
|
},
|
||||||
"gammon joint": {
|
"gammon joint": {
|
||||||
|
@ -4439,14 +4439,14 @@
|
||||||
"duck": {
|
"duck": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "duck",
|
"name": "eend",
|
||||||
"plural_name": "ducks"
|
"plural_name": "eenden"
|
||||||
},
|
},
|
||||||
"duck breast": {
|
"duck breast": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "duck breast",
|
"name": "eendenborst",
|
||||||
"plural_name": "duck breasts"
|
"plural_name": "eendenborsten"
|
||||||
},
|
},
|
||||||
"boneless chicken": {
|
"boneless chicken": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -4457,8 +4457,8 @@
|
||||||
"chicken liver": {
|
"chicken liver": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chicken liver",
|
"name": "kippenlever",
|
||||||
"plural_name": "chicken livers"
|
"plural_name": "kippenlevers"
|
||||||
},
|
},
|
||||||
"cornish hen": {
|
"cornish hen": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -4499,7 +4499,7 @@
|
||||||
"quail": {
|
"quail": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "quail",
|
"name": "kwartel",
|
||||||
"plural_name": "quails"
|
"plural_name": "quails"
|
||||||
},
|
},
|
||||||
"smoked turkey sausage": {
|
"smoked turkey sausage": {
|
||||||
|
@ -4595,7 +4595,7 @@
|
||||||
"chicken nugget": {
|
"chicken nugget": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chicken nugget",
|
"name": "kipnugget",
|
||||||
"plural_name": "chicken nuggets"
|
"plural_name": "chicken nuggets"
|
||||||
},
|
},
|
||||||
"turkey burger": {
|
"turkey burger": {
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -395,44 +395,44 @@
|
||||||
"thai chile pepper": {
|
"thai chile pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "thai chile pepper",
|
"name": "тайский перец чили",
|
||||||
"plural_name": "thai chile peppers"
|
"plural_name": "тайские перцы чили"
|
||||||
},
|
},
|
||||||
"bok choy": {
|
"bok choy": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "bok choy",
|
"name": "бок-чой, черешковая капуста",
|
||||||
"plural_name": "bok choy"
|
"plural_name": "бок-чой, черешковых капуст"
|
||||||
},
|
},
|
||||||
"okra": {
|
"okra": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "okra",
|
"name": "бамия",
|
||||||
"plural_name": "okra"
|
"plural_name": "бамия"
|
||||||
},
|
},
|
||||||
"acorn squash": {
|
"acorn squash": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "acorn squash",
|
"name": "желудевая тыква",
|
||||||
"plural_name": "acorn squashes"
|
"plural_name": "желудевых тыкв"
|
||||||
},
|
},
|
||||||
"corn cob": {
|
"corn cob": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "corn cob",
|
"name": "кукурузный початок",
|
||||||
"plural_name": "corn cobs"
|
"plural_name": "кукурузных початков"
|
||||||
},
|
},
|
||||||
"radicchio": {
|
"radicchio": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "radicchio",
|
"name": "радиччио, итальянский цикорий",
|
||||||
"plural_name": "radicchio"
|
"plural_name": "радиччио, итальянских цикориев"
|
||||||
},
|
},
|
||||||
"pearl onion": {
|
"pearl onion": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pearl onion",
|
"name": "жемчужный лук",
|
||||||
"plural_name": "pearl onions"
|
"plural_name": "жемчужных луковиц"
|
||||||
},
|
},
|
||||||
"tenderstem broccoli": {
|
"tenderstem broccoli": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
|
|
@ -1853,8 +1853,8 @@
|
||||||
"onion seed": {
|
"onion seed": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "onion seed",
|
"name": "lökfrö",
|
||||||
"plural_name": "onion seeds"
|
"plural_name": "lökfrön"
|
||||||
},
|
},
|
||||||
"watermelon seed": {
|
"watermelon seed": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1913,8 +1913,8 @@
|
||||||
"jackfruit seed": {
|
"jackfruit seed": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "jackfruit seed",
|
"name": "jackfruktfrö",
|
||||||
"plural_name": "jackfruit seeds"
|
"plural_name": "jackfruktfrön"
|
||||||
},
|
},
|
||||||
"honey-roasted almond": {
|
"honey-roasted almond": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1932,7 +1932,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chironji",
|
"name": "chironji",
|
||||||
"plural_name": "chironjis"
|
"plural_name": "chironjin"
|
||||||
},
|
},
|
||||||
"honey-roasted pecan": {
|
"honey-roasted pecan": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1943,8 +1943,8 @@
|
||||||
"tigernut": {
|
"tigernut": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "tigernut",
|
"name": "jordmandel",
|
||||||
"plural_name": "tigernuts"
|
"plural_name": "jordmandlar"
|
||||||
},
|
},
|
||||||
"sunflower sprout": {
|
"sunflower sprout": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1967,26 +1967,26 @@
|
||||||
"ginkgo nut": {
|
"ginkgo nut": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "ginkgo nut",
|
"name": "ginkonöt",
|
||||||
"plural_name": "ginkgo nuts"
|
"plural_name": "ginkonötter"
|
||||||
},
|
},
|
||||||
"keto trail mix": {
|
"keto trail mix": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "keto trail mix",
|
"name": "keto trail-mix",
|
||||||
"plural_name": "keto trail mixes"
|
"plural_name": "keto trail-mixer"
|
||||||
},
|
},
|
||||||
"wattleseed": {
|
"wattleseed": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "wattleseed",
|
"name": "akaciafrö",
|
||||||
"plural_name": "wattleseeds"
|
"plural_name": "akaciafrön"
|
||||||
},
|
},
|
||||||
"barùka": {
|
"barùka": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "barùka",
|
"name": "barùka",
|
||||||
"plural_name": "barùkas"
|
"plural_name": "barùkan"
|
||||||
},
|
},
|
||||||
"indian almond": {
|
"indian almond": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2147,8 +2147,8 @@
|
||||||
"fontina": {
|
"fontina": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "fontina",
|
"name": "fortina-ost",
|
||||||
"plural_name": "fontinas"
|
"plural_name": "fortina-ostar"
|
||||||
},
|
},
|
||||||
"queso fresco": {
|
"queso fresco": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2171,8 +2171,8 @@
|
||||||
"cotija": {
|
"cotija": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cotija",
|
"name": "cotijamajs",
|
||||||
"plural_name": "cotijas"
|
"plural_name": "cotijamajs"
|
||||||
},
|
},
|
||||||
"asiago": {
|
"asiago": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2213,14 +2213,14 @@
|
||||||
"neufchatel": {
|
"neufchatel": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "neufchatel",
|
"name": "neufchatelost",
|
||||||
"plural_name": "neufchatels"
|
"plural_name": "neufchatelsostar"
|
||||||
},
|
},
|
||||||
"herb cream cheese": {
|
"herb cream cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "herb cream cheese",
|
"name": "örtfärskost",
|
||||||
"plural_name": "herb cream cheeses"
|
"plural_name": "örtfärskostar"
|
||||||
},
|
},
|
||||||
"burrata": {
|
"burrata": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2303,14 +2303,14 @@
|
||||||
"oaxaca": {
|
"oaxaca": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "oaxaca",
|
"name": "oaxaca-ost",
|
||||||
"plural_name": "oaxacas"
|
"plural_name": "oaxaca-ostar"
|
||||||
},
|
},
|
||||||
"labneh": {
|
"labneh": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "labneh",
|
"name": "labneh-ost",
|
||||||
"plural_name": "labnehs"
|
"plural_name": "labnehs-ostar"
|
||||||
},
|
},
|
||||||
"edam": {
|
"edam": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2339,44 +2339,44 @@
|
||||||
"asadero": {
|
"asadero": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "asadero",
|
"name": "asadero-ost",
|
||||||
"plural_name": "asaderoes"
|
"plural_name": "asadero-ostar"
|
||||||
},
|
},
|
||||||
"marble cheese": {
|
"marble cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "marble cheese",
|
"name": "marmorost",
|
||||||
"plural_name": "marble cheeses"
|
"plural_name": "marmorostar"
|
||||||
},
|
},
|
||||||
"leicester": {
|
"leicester": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "leicester",
|
"name": "leicesterost",
|
||||||
"plural_name": "leicesters"
|
"plural_name": "leicesterostar"
|
||||||
},
|
},
|
||||||
"kefalotyri": {
|
"kefalotyri": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "kefalotyri",
|
"name": "kefalotyriost",
|
||||||
"plural_name": "kefalotyris"
|
"plural_name": "kefalotyriostar"
|
||||||
},
|
},
|
||||||
"mizithra": {
|
"mizithra": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mizithra",
|
"name": "mizithra-ost",
|
||||||
"plural_name": "mizithras"
|
"plural_name": "mizithras-ostar"
|
||||||
},
|
},
|
||||||
"lancashire": {
|
"lancashire": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "lancashire",
|
"name": "lancashire-ost",
|
||||||
"plural_name": "lancashires"
|
"plural_name": "lancashire-ostar"
|
||||||
},
|
},
|
||||||
"kasseri": {
|
"kasseri": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "kasseri",
|
"name": "kasseriost",
|
||||||
"plural_name": "kasseris"
|
"plural_name": "kasseriostar"
|
||||||
},
|
},
|
||||||
"babybel": {
|
"babybel": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2387,8 +2387,8 @@
|
||||||
"panela cheese": {
|
"panela cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "panela cheese",
|
"name": "panelaost",
|
||||||
"plural_name": "panela cheeses"
|
"plural_name": "panelaostar"
|
||||||
},
|
},
|
||||||
"longhorn": {
|
"longhorn": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2399,8 +2399,8 @@
|
||||||
"seasoned feta cheese": {
|
"seasoned feta cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "seasoned feta cheese",
|
"name": "kryddad fetaost",
|
||||||
"plural_name": "seasoned feta cheeses"
|
"plural_name": "kryddade fetaostar"
|
||||||
},
|
},
|
||||||
"comté": {
|
"comté": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2411,8 +2411,8 @@
|
||||||
"graviera": {
|
"graviera": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "graviera",
|
"name": "gravieraost",
|
||||||
"plural_name": "gravieras"
|
"plural_name": "gravieraostar"
|
||||||
},
|
},
|
||||||
"wensleydale": {
|
"wensleydale": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2430,55 +2430,55 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cambozola",
|
"name": "cambozola",
|
||||||
"plural_name": "cambozolas"
|
"plural_name": "cambozolaost"
|
||||||
},
|
},
|
||||||
"cheshire cheese": {
|
"cheshire cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cheshire cheese",
|
"name": "cheshire-ost",
|
||||||
"plural_name": "cheshire cheeses"
|
"plural_name": "cheshire-ostar"
|
||||||
},
|
},
|
||||||
"anthotyro": {
|
"anthotyro": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "anthotyro",
|
"name": "antotyro-ost",
|
||||||
"plural_name": "anthotyros"
|
"plural_name": "anthotyro-ostar"
|
||||||
},
|
},
|
||||||
"chenna": {
|
"chenna": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chenna",
|
"name": "chenna-ost",
|
||||||
"plural_name": "chennas"
|
"plural_name": "chennas-ostar"
|
||||||
},
|
},
|
||||||
"hard goat cheese": {
|
"hard goat cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "hard goat cheese",
|
"name": "hård getost",
|
||||||
"plural_name": "hard goat cheeses"
|
"plural_name": "hårda getostar"
|
||||||
},
|
},
|
||||||
"kashkaval": {
|
"kashkaval": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "kashkaval",
|
"name": "kashkaval",
|
||||||
"plural_name": "kashkavals"
|
"plural_name": "kashkavaler"
|
||||||
},
|
},
|
||||||
"sheep cheese": {
|
"sheep cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sheep cheese",
|
"name": "fårost",
|
||||||
"plural_name": "fårost"
|
"plural_name": "fårost"
|
||||||
},
|
},
|
||||||
"amul cheese": {
|
"amul cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "amul cheese",
|
"name": "amul-ost",
|
||||||
"plural_name": "amul cheeses"
|
"plural_name": "amul-ostar"
|
||||||
},
|
},
|
||||||
"reblochon": {
|
"reblochon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "reblochon",
|
"name": "reblochon",
|
||||||
"plural_name": "reblochons"
|
"plural_name": "reblochoner"
|
||||||
},
|
},
|
||||||
"robiola": {
|
"robiola": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2501,20 +2501,20 @@
|
||||||
"farmer's cheese": {
|
"farmer's cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "farmer's cheese",
|
"name": "bondost",
|
||||||
"plural_name": "farmer's cheeses"
|
"plural_name": "bondostar"
|
||||||
},
|
},
|
||||||
"manouri": {
|
"manouri": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "manouri",
|
"name": "manouri-ost",
|
||||||
"plural_name": "manouris"
|
"plural_name": "manouri-ostar"
|
||||||
},
|
},
|
||||||
"mimolette": {
|
"mimolette": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mimolette",
|
"name": "mimolette",
|
||||||
"plural_name": "mimolettes"
|
"plural_name": "mimoletter"
|
||||||
},
|
},
|
||||||
"queso quesadilla": {
|
"queso quesadilla": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2525,7 +2525,7 @@
|
||||||
"caciocavallo": {
|
"caciocavallo": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "caciocavallo",
|
"name": "",
|
||||||
"plural_name": "caciocavalloes"
|
"plural_name": "caciocavalloes"
|
||||||
},
|
},
|
||||||
"requeijão": {
|
"requeijão": {
|
||||||
|
@ -2598,7 +2598,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "petit-suisse",
|
"name": "petit-suisse",
|
||||||
"plural_name": "petit-suisses"
|
"plural_name": "petit-suisser"
|
||||||
},
|
},
|
||||||
"sbrinz": {
|
"sbrinz": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2970,13 +2970,13 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "strawberry cream cheese",
|
"name": "strawberry cream cheese",
|
||||||
"plural_name": "strawberry cream cheeses"
|
"plural_name": "jordgubbsfärskost"
|
||||||
},
|
},
|
||||||
"goat butter": {
|
"goat butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "goat butter",
|
"name": "getsmör\n",
|
||||||
"plural_name": "goat butter"
|
"plural_name": "getsmör"
|
||||||
},
|
},
|
||||||
"century egg": {
|
"century egg": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2987,14 +2987,14 @@
|
||||||
"orange curd": {
|
"orange curd": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "orange curd",
|
"name": "apelsincurd",
|
||||||
"plural_name": "orange curds"
|
"plural_name": "apelsincurd"
|
||||||
},
|
},
|
||||||
"goat yogurt": {
|
"goat yogurt": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "goat yogurt",
|
"name": "getyoghurt",
|
||||||
"plural_name": "goat yogurts"
|
"plural_name": "getyoghurter"
|
||||||
},
|
},
|
||||||
"dahi": {
|
"dahi": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3011,8 +3011,8 @@
|
||||||
"bulgarian yogurt": {
|
"bulgarian yogurt": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "bulgarian yogurt",
|
"name": "bulgarisk yoghurt",
|
||||||
"plural_name": "bulgarian yogurts"
|
"plural_name": "bulgariska yoghurter"
|
||||||
},
|
},
|
||||||
"tvorog": {
|
"tvorog": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3023,26 +3023,26 @@
|
||||||
"chocolate milk powder": {
|
"chocolate milk powder": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chocolate milk powder",
|
"name": "chokladmjölkpulver",
|
||||||
"plural_name": "chocolate milk powders"
|
"plural_name": "chokladmjölkpulver"
|
||||||
},
|
},
|
||||||
"liquid rennet": {
|
"liquid rennet": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "liquid rennet",
|
"name": "flytande löpe",
|
||||||
"plural_name": "liquid rennets"
|
"plural_name": "flytande löpe"
|
||||||
},
|
},
|
||||||
"sheep’s milk yoghurt": {
|
"sheep’s milk yoghurt": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sheep’s milk yoghurt",
|
"name": "fårmjölksyoghurt",
|
||||||
"plural_name": "sheep’s milk yoghurts"
|
"plural_name": "fårmjölksyoghurt"
|
||||||
},
|
},
|
||||||
"strawberry milk": {
|
"strawberry milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "strawberry milk",
|
"name": "jordgubbsmjölk",
|
||||||
"plural_name": "strawberry milks"
|
"plural_name": "jordgubbsmjölk"
|
||||||
},
|
},
|
||||||
"ayran": {
|
"ayran": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3059,8 +3059,8 @@
|
||||||
"yogurt drink": {
|
"yogurt drink": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "yogurt drink",
|
"name": "yoghurtdryck",
|
||||||
"plural_name": "yogurt drinks"
|
"plural_name": "yoghurtdrycker"
|
||||||
},
|
},
|
||||||
"passion-fruit curd": {
|
"passion-fruit curd": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3071,20 +3071,20 @@
|
||||||
"pickled egg": {
|
"pickled egg": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pickled egg",
|
"name": "inlagt ägg",
|
||||||
"plural_name": "pickled eggs"
|
"plural_name": "inlagda ägg"
|
||||||
},
|
},
|
||||||
"sheep milk": {
|
"sheep milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sheep milk",
|
"name": "sheep milk",
|
||||||
"plural_name": "sheep milks"
|
"plural_name": "fårmjölk"
|
||||||
},
|
},
|
||||||
"starter culture": {
|
"starter culture": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "starter culture",
|
"name": "startkultur",
|
||||||
"plural_name": "starter cultures"
|
"plural_name": "startkulturer"
|
||||||
},
|
},
|
||||||
"kashk": {
|
"kashk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3096,13 +3096,13 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "strutsägg",
|
"name": "strutsägg",
|
||||||
"plural_name": "ostrich eggs"
|
"plural_name": "strutsägg"
|
||||||
},
|
},
|
||||||
"vanilla milk": {
|
"vanilla milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "vanilla milk",
|
"name": "vaniljmjölk",
|
||||||
"plural_name": "vanilla milks"
|
"plural_name": "vaniljmjölk"
|
||||||
},
|
},
|
||||||
"yoplait whip": {
|
"yoplait whip": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3113,14 +3113,14 @@
|
||||||
"buffalo milk": {
|
"buffalo milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "buffalo milk",
|
"name": "buffelmjölk",
|
||||||
"plural_name": "buffalo milks"
|
"plural_name": "buffelmjölk"
|
||||||
},
|
},
|
||||||
"goat kefir": {
|
"goat kefir": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "goat kefir",
|
"name": "getkefir",
|
||||||
"plural_name": "goat kefirs"
|
"plural_name": "getkefir"
|
||||||
},
|
},
|
||||||
"lebneh": {
|
"lebneh": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3165,26 +3165,26 @@
|
||||||
"vegan butter": {
|
"vegan butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "vegan butter",
|
"name": "veganskt smör",
|
||||||
"plural_name": "vegan butter"
|
"plural_name": "veganskt smör"
|
||||||
},
|
},
|
||||||
"non-dairy milk": {
|
"non-dairy milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "non-dairy milk",
|
"name": "mjölkfri mjölk",
|
||||||
"plural_name": "non-dairy milks"
|
"plural_name": "mjölkfri mjölk"
|
||||||
},
|
},
|
||||||
"soy milk": {
|
"soy milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sojamjölk",
|
"name": "sojamjölk",
|
||||||
"plural_name": "soy milks"
|
"plural_name": "sojamjölk"
|
||||||
},
|
},
|
||||||
"extra firm tofu": {
|
"extra firm tofu": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "extra firm tofu",
|
"name": "extra fast tofu",
|
||||||
"plural_name": "extra firm tofus"
|
"plural_name": "extra fast tofu"
|
||||||
},
|
},
|
||||||
"silken tofu": {
|
"silken tofu": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3207,26 +3207,26 @@
|
||||||
"egg replacer": {
|
"egg replacer": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "egg replacer",
|
"name": "äggersättning",
|
||||||
"plural_name": "egg replacers"
|
"plural_name": "äggersättare"
|
||||||
},
|
},
|
||||||
"vegan mayonnaise": {
|
"vegan mayonnaise": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "vegan mayonnaise",
|
"name": "vegansk majonnäs",
|
||||||
"plural_name": "vegan mayonnaises"
|
"plural_name": "veganskt majonnäs"
|
||||||
},
|
},
|
||||||
"vegan cheese": {
|
"vegan cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "vegan cheese",
|
"name": "veganost",
|
||||||
"plural_name": "vegan cheeses"
|
"plural_name": "veganska ostar"
|
||||||
},
|
},
|
||||||
"cashew butter": {
|
"cashew butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cashew butter",
|
"name": "cashewsmör",
|
||||||
"plural_name": "cashew butter"
|
"plural_name": "cashewsmör"
|
||||||
},
|
},
|
||||||
"tempeh": {
|
"tempeh": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
"name": "Gewürze"
|
"name": "Gewürze"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Konditorwaren"
|
"name": "Süßwaren"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Milchprodukte"
|
"name": "Milchprodukte"
|
||||||
|
@ -54,7 +54,7 @@
|
||||||
"name": "Gewürze"
|
"name": "Gewürze"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Süßwaren"
|
"name": "Süßigkeiten"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Alkohol"
|
"name": "Alkohol"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"name": "Свежие Овощи&фрукты"
|
"name": "Свежие Овощи и фрукты"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Крупы"
|
"name": "Крупы"
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
},
|
},
|
||||||
"quart": {
|
"quart": {
|
||||||
"name": "litro",
|
"name": "litro",
|
||||||
"plural_name": "quarts",
|
"plural_name": "litros",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": "l"
|
"abbreviation": "l"
|
||||||
},
|
},
|
||||||
|
@ -85,14 +85,14 @@
|
||||||
"abbreviation": "mg"
|
"abbreviation": "mg"
|
||||||
},
|
},
|
||||||
"splash": {
|
"splash": {
|
||||||
"name": "punhado",
|
"name": "salpico",
|
||||||
"plural_name": "splashes",
|
"plural_name": "salpicadas",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": ""
|
"abbreviation": ""
|
||||||
},
|
},
|
||||||
"dash": {
|
"dash": {
|
||||||
"name": "pitada",
|
"name": "pitada",
|
||||||
"plural_name": "dashes",
|
"plural_name": "pitadas",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": ""
|
"abbreviation": ""
|
||||||
},
|
},
|
||||||
|
@ -121,8 +121,8 @@
|
||||||
"abbreviation": ""
|
"abbreviation": ""
|
||||||
},
|
},
|
||||||
"bunch": {
|
"bunch": {
|
||||||
"name": "bunch",
|
"name": "punhado",
|
||||||
"plural_name": "bunches",
|
"plural_name": "punhados",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": ""
|
"abbreviation": ""
|
||||||
},
|
},
|
||||||
|
|
|
@ -3,7 +3,7 @@ from functools import cached_property
|
||||||
from fastapi import APIRouter, Depends
|
from fastapi import APIRouter, Depends
|
||||||
from pydantic import UUID4
|
from pydantic import UUID4
|
||||||
|
|
||||||
from mealie.routes._base.base_controllers import BaseUserController
|
from mealie.routes._base.base_controllers import BaseCrudController
|
||||||
from mealie.routes._base.controller import controller
|
from mealie.routes._base.controller import controller
|
||||||
from mealie.routes._base.mixins import HttpRepo
|
from mealie.routes._base.mixins import HttpRepo
|
||||||
from mealie.routes._base.routers import MealieCrudRoute
|
from mealie.routes._base.routers import MealieCrudRoute
|
||||||
|
@ -15,13 +15,14 @@ from mealie.schema.labels import (
|
||||||
)
|
)
|
||||||
from mealie.schema.labels.multi_purpose_label import MultiPurposeLabelPagination
|
from mealie.schema.labels.multi_purpose_label import MultiPurposeLabelPagination
|
||||||
from mealie.schema.response.pagination import PaginationQuery
|
from mealie.schema.response.pagination import PaginationQuery
|
||||||
|
from mealie.services.event_bus_service.event_types import EventLabelData, EventOperation, EventTypes
|
||||||
from mealie.services.group_services.labels_service import MultiPurposeLabelService
|
from mealie.services.group_services.labels_service import MultiPurposeLabelService
|
||||||
|
|
||||||
router = APIRouter(prefix="/groups/labels", tags=["Groups: Multi Purpose Labels"], route_class=MealieCrudRoute)
|
router = APIRouter(prefix="/groups/labels", tags=["Groups: Multi Purpose Labels"], route_class=MealieCrudRoute)
|
||||||
|
|
||||||
|
|
||||||
@controller(router)
|
@controller(router)
|
||||||
class MultiPurposeLabelsController(BaseUserController):
|
class MultiPurposeLabelsController(BaseCrudController):
|
||||||
@cached_property
|
@cached_property
|
||||||
def service(self):
|
def service(self):
|
||||||
return MultiPurposeLabelService(self.repos)
|
return MultiPurposeLabelService(self.repos)
|
||||||
|
@ -53,7 +54,15 @@ class MultiPurposeLabelsController(BaseUserController):
|
||||||
|
|
||||||
@router.post("", response_model=MultiPurposeLabelOut)
|
@router.post("", response_model=MultiPurposeLabelOut)
|
||||||
def create_one(self, data: MultiPurposeLabelCreate):
|
def create_one(self, data: MultiPurposeLabelCreate):
|
||||||
return self.service.create_one(data)
|
new_label = self.service.create_one(data)
|
||||||
|
self.publish_event(
|
||||||
|
event_type=EventTypes.label_created,
|
||||||
|
document_data=EventLabelData(operation=EventOperation.create, label_id=new_label.id),
|
||||||
|
group_id=new_label.group_id,
|
||||||
|
household_id=None,
|
||||||
|
message=self.t("notifications.generic-created", name=new_label.name),
|
||||||
|
)
|
||||||
|
return new_label
|
||||||
|
|
||||||
@router.get("/{item_id}", response_model=MultiPurposeLabelOut)
|
@router.get("/{item_id}", response_model=MultiPurposeLabelOut)
|
||||||
def get_one(self, item_id: UUID4):
|
def get_one(self, item_id: UUID4):
|
||||||
|
@ -61,8 +70,25 @@ class MultiPurposeLabelsController(BaseUserController):
|
||||||
|
|
||||||
@router.put("/{item_id}", response_model=MultiPurposeLabelOut)
|
@router.put("/{item_id}", response_model=MultiPurposeLabelOut)
|
||||||
def update_one(self, item_id: UUID4, data: MultiPurposeLabelUpdate):
|
def update_one(self, item_id: UUID4, data: MultiPurposeLabelUpdate):
|
||||||
return self.mixins.update_one(data, item_id)
|
label = self.mixins.update_one(data, item_id)
|
||||||
|
self.publish_event(
|
||||||
|
event_type=EventTypes.label_updated,
|
||||||
|
document_data=EventLabelData(operation=EventOperation.update, label_id=label.id),
|
||||||
|
group_id=label.group_id,
|
||||||
|
household_id=None,
|
||||||
|
message=self.t("notifications.generic-updated", name=label.name),
|
||||||
|
)
|
||||||
|
return label
|
||||||
|
|
||||||
@router.delete("/{item_id}", response_model=MultiPurposeLabelOut)
|
@router.delete("/{item_id}", response_model=MultiPurposeLabelOut)
|
||||||
def delete_one(self, item_id: UUID4):
|
def delete_one(self, item_id: UUID4):
|
||||||
return self.mixins.delete_one(item_id) # type: ignore
|
label = self.mixins.delete_one(item_id)
|
||||||
|
if label:
|
||||||
|
self.publish_event(
|
||||||
|
event_type=EventTypes.label_deleted,
|
||||||
|
document_data=EventLabelData(operation=EventOperation.delete, label_id=label.id),
|
||||||
|
group_id=label.group_id,
|
||||||
|
household_id=None,
|
||||||
|
message=self.t("notifications.generic-deleted", name=label.name),
|
||||||
|
)
|
||||||
|
return label
|
||||||
|
|
|
@ -3,11 +3,11 @@ from .datetime_parse import DateError, DateTimeError, DurationError, TimeError
|
||||||
from .mealie_model import HasUUID, MealieModel, SearchType
|
from .mealie_model import HasUUID, MealieModel, SearchType
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
|
"HasUUID",
|
||||||
|
"MealieModel",
|
||||||
|
"SearchType",
|
||||||
"DateError",
|
"DateError",
|
||||||
"DateTimeError",
|
"DateTimeError",
|
||||||
"DurationError",
|
"DurationError",
|
||||||
"TimeError",
|
"TimeError",
|
||||||
"HasUUID",
|
|
||||||
"MealieModel",
|
|
||||||
"SearchType",
|
|
||||||
]
|
]
|
||||||
|
|
|
@ -18,28 +18,10 @@ from .restore import (
|
||||||
from .settings import CustomPageBase, CustomPageOut
|
from .settings import CustomPageBase, CustomPageOut
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
"MaintenanceLogs",
|
|
||||||
"MaintenanceStorageDetails",
|
|
||||||
"MaintenanceSummary",
|
|
||||||
"ChowdownURL",
|
"ChowdownURL",
|
||||||
"MigrationFile",
|
"MigrationFile",
|
||||||
"MigrationImport",
|
"MigrationImport",
|
||||||
"Migrations",
|
"Migrations",
|
||||||
"CustomPageBase",
|
|
||||||
"CustomPageOut",
|
|
||||||
"CommentImport",
|
|
||||||
"CustomPageImport",
|
|
||||||
"GroupImport",
|
|
||||||
"ImportBase",
|
|
||||||
"NotificationImport",
|
|
||||||
"RecipeImport",
|
|
||||||
"SettingsImport",
|
|
||||||
"UserImport",
|
|
||||||
"AllBackups",
|
|
||||||
"BackupFile",
|
|
||||||
"BackupOptions",
|
|
||||||
"CreateBackup",
|
|
||||||
"ImportJob",
|
|
||||||
"AdminAboutInfo",
|
"AdminAboutInfo",
|
||||||
"AppInfo",
|
"AppInfo",
|
||||||
"AppStartupInfo",
|
"AppStartupInfo",
|
||||||
|
@ -49,5 +31,23 @@ __all__ = [
|
||||||
"EmailReady",
|
"EmailReady",
|
||||||
"EmailSuccess",
|
"EmailSuccess",
|
||||||
"EmailTest",
|
"EmailTest",
|
||||||
|
"CustomPageBase",
|
||||||
|
"CustomPageOut",
|
||||||
|
"AllBackups",
|
||||||
|
"BackupFile",
|
||||||
|
"BackupOptions",
|
||||||
|
"CreateBackup",
|
||||||
|
"ImportJob",
|
||||||
|
"MaintenanceLogs",
|
||||||
|
"MaintenanceStorageDetails",
|
||||||
|
"MaintenanceSummary",
|
||||||
"DebugResponse",
|
"DebugResponse",
|
||||||
|
"CommentImport",
|
||||||
|
"CustomPageImport",
|
||||||
|
"GroupImport",
|
||||||
|
"ImportBase",
|
||||||
|
"NotificationImport",
|
||||||
|
"RecipeImport",
|
||||||
|
"SettingsImport",
|
||||||
|
"UserImport",
|
||||||
]
|
]
|
||||||
|
|
|
@ -7,13 +7,13 @@ from .group_seeder import SeederConfig
|
||||||
from .group_statistics import GroupStorage
|
from .group_statistics import GroupStorage
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
|
"GroupAdminUpdate",
|
||||||
|
"GroupStorage",
|
||||||
"GroupDataExport",
|
"GroupDataExport",
|
||||||
|
"SeederConfig",
|
||||||
"CreateGroupPreferences",
|
"CreateGroupPreferences",
|
||||||
"ReadGroupPreferences",
|
"ReadGroupPreferences",
|
||||||
"UpdateGroupPreferences",
|
"UpdateGroupPreferences",
|
||||||
"GroupStorage",
|
|
||||||
"DataMigrationCreate",
|
"DataMigrationCreate",
|
||||||
"SupportedMigrations",
|
"SupportedMigrations",
|
||||||
"SeederConfig",
|
|
||||||
"GroupAdminUpdate",
|
|
||||||
]
|
]
|
||||||
|
|
|
@ -70,49 +70,6 @@ from .invite_token import CreateInviteToken, EmailInitationResponse, EmailInvita
|
||||||
from .webhook import CreateWebhook, ReadWebhook, SaveWebhook, WebhookPagination, WebhookType
|
from .webhook import CreateWebhook, ReadWebhook, SaveWebhook, WebhookPagination, WebhookType
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
"GroupEventNotifierCreate",
|
|
||||||
"GroupEventNotifierOptions",
|
|
||||||
"GroupEventNotifierOptionsOut",
|
|
||||||
"GroupEventNotifierOptionsSave",
|
|
||||||
"GroupEventNotifierOut",
|
|
||||||
"GroupEventNotifierPrivate",
|
|
||||||
"GroupEventNotifierSave",
|
|
||||||
"GroupEventNotifierUpdate",
|
|
||||||
"GroupEventPagination",
|
|
||||||
"CreateGroupRecipeAction",
|
|
||||||
"GroupRecipeActionOut",
|
|
||||||
"GroupRecipeActionPagination",
|
|
||||||
"GroupRecipeActionPayload",
|
|
||||||
"GroupRecipeActionType",
|
|
||||||
"SaveGroupRecipeAction",
|
|
||||||
"CreateWebhook",
|
|
||||||
"ReadWebhook",
|
|
||||||
"SaveWebhook",
|
|
||||||
"WebhookPagination",
|
|
||||||
"WebhookType",
|
|
||||||
"CreateHouseholdPreferences",
|
|
||||||
"ReadHouseholdPreferences",
|
|
||||||
"SaveHouseholdPreferences",
|
|
||||||
"UpdateHouseholdPreferences",
|
|
||||||
"HouseholdCreate",
|
|
||||||
"HouseholdInDB",
|
|
||||||
"HouseholdPagination",
|
|
||||||
"HouseholdRecipeBase",
|
|
||||||
"HouseholdRecipeCreate",
|
|
||||||
"HouseholdRecipeOut",
|
|
||||||
"HouseholdRecipeSummary",
|
|
||||||
"HouseholdRecipeUpdate",
|
|
||||||
"HouseholdSave",
|
|
||||||
"HouseholdSummary",
|
|
||||||
"HouseholdUserSummary",
|
|
||||||
"UpdateHousehold",
|
|
||||||
"UpdateHouseholdAdmin",
|
|
||||||
"HouseholdStatistics",
|
|
||||||
"CreateInviteToken",
|
|
||||||
"EmailInitationResponse",
|
|
||||||
"EmailInvitation",
|
|
||||||
"ReadInviteToken",
|
|
||||||
"SaveInviteToken",
|
|
||||||
"ShoppingListAddRecipeParams",
|
"ShoppingListAddRecipeParams",
|
||||||
"ShoppingListAddRecipeParamsBulk",
|
"ShoppingListAddRecipeParamsBulk",
|
||||||
"ShoppingListCreate",
|
"ShoppingListCreate",
|
||||||
|
@ -136,5 +93,48 @@ __all__ = [
|
||||||
"ShoppingListSave",
|
"ShoppingListSave",
|
||||||
"ShoppingListSummary",
|
"ShoppingListSummary",
|
||||||
"ShoppingListUpdate",
|
"ShoppingListUpdate",
|
||||||
|
"GroupEventNotifierCreate",
|
||||||
|
"GroupEventNotifierOptions",
|
||||||
|
"GroupEventNotifierOptionsOut",
|
||||||
|
"GroupEventNotifierOptionsSave",
|
||||||
|
"GroupEventNotifierOut",
|
||||||
|
"GroupEventNotifierPrivate",
|
||||||
|
"GroupEventNotifierSave",
|
||||||
|
"GroupEventNotifierUpdate",
|
||||||
|
"GroupEventPagination",
|
||||||
|
"CreateGroupRecipeAction",
|
||||||
|
"GroupRecipeActionOut",
|
||||||
|
"GroupRecipeActionPagination",
|
||||||
|
"GroupRecipeActionPayload",
|
||||||
|
"GroupRecipeActionType",
|
||||||
|
"SaveGroupRecipeAction",
|
||||||
|
"CreateHouseholdPreferences",
|
||||||
|
"ReadHouseholdPreferences",
|
||||||
|
"SaveHouseholdPreferences",
|
||||||
|
"UpdateHouseholdPreferences",
|
||||||
"SetPermissions",
|
"SetPermissions",
|
||||||
|
"CreateInviteToken",
|
||||||
|
"EmailInitationResponse",
|
||||||
|
"EmailInvitation",
|
||||||
|
"ReadInviteToken",
|
||||||
|
"SaveInviteToken",
|
||||||
|
"HouseholdStatistics",
|
||||||
|
"CreateWebhook",
|
||||||
|
"ReadWebhook",
|
||||||
|
"SaveWebhook",
|
||||||
|
"WebhookPagination",
|
||||||
|
"WebhookType",
|
||||||
|
"HouseholdCreate",
|
||||||
|
"HouseholdInDB",
|
||||||
|
"HouseholdPagination",
|
||||||
|
"HouseholdRecipeBase",
|
||||||
|
"HouseholdRecipeCreate",
|
||||||
|
"HouseholdRecipeOut",
|
||||||
|
"HouseholdRecipeSummary",
|
||||||
|
"HouseholdRecipeUpdate",
|
||||||
|
"HouseholdSave",
|
||||||
|
"HouseholdSummary",
|
||||||
|
"HouseholdUserSummary",
|
||||||
|
"UpdateHousehold",
|
||||||
|
"UpdateHouseholdAdmin",
|
||||||
]
|
]
|
||||||
|
|
|
@ -47,6 +47,10 @@ class GroupEventNotifierOptions(MealieModel):
|
||||||
category_updated: bool = False
|
category_updated: bool = False
|
||||||
category_deleted: bool = False
|
category_deleted: bool = False
|
||||||
|
|
||||||
|
label_created: bool = False
|
||||||
|
label_updated: bool = False
|
||||||
|
label_deleted: bool = False
|
||||||
|
|
||||||
|
|
||||||
class GroupEventNotifierOptionsSave(GroupEventNotifierOptions):
|
class GroupEventNotifierOptionsSave(GroupEventNotifierOptions):
|
||||||
notifier_id: UUID4
|
notifier_id: UUID4
|
||||||
|
|
|
@ -12,9 +12,6 @@ from .plan_rules import PlanRulesCreate, PlanRulesDay, PlanRulesOut, PlanRulesPa
|
||||||
from .shopping_list import ListItem, ShoppingListIn, ShoppingListOut
|
from .shopping_list import ListItem, ShoppingListIn, ShoppingListOut
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
"ListItem",
|
|
||||||
"ShoppingListIn",
|
|
||||||
"ShoppingListOut",
|
|
||||||
"CreatePlanEntry",
|
"CreatePlanEntry",
|
||||||
"CreateRandomEntry",
|
"CreateRandomEntry",
|
||||||
"PlanEntryPagination",
|
"PlanEntryPagination",
|
||||||
|
@ -22,6 +19,9 @@ __all__ = [
|
||||||
"ReadPlanEntry",
|
"ReadPlanEntry",
|
||||||
"SavePlanEntry",
|
"SavePlanEntry",
|
||||||
"UpdatePlanEntry",
|
"UpdatePlanEntry",
|
||||||
|
"ListItem",
|
||||||
|
"ShoppingListIn",
|
||||||
|
"ShoppingListOut",
|
||||||
"PlanRulesCreate",
|
"PlanRulesCreate",
|
||||||
"PlanRulesDay",
|
"PlanRulesDay",
|
||||||
"PlanRulesOut",
|
"PlanRulesOut",
|
||||||
|
|
|
@ -89,35 +89,6 @@ from .recipe_tool import RecipeToolCreate, RecipeToolOut, RecipeToolResponse, Re
|
||||||
from .request_helpers import RecipeDuplicate, RecipeSlug, RecipeZipTokenResponse, SlugResponse, UpdateImageResponse
|
from .request_helpers import RecipeDuplicate, RecipeSlug, RecipeZipTokenResponse, SlugResponse, UpdateImageResponse
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
"IngredientReferences",
|
|
||||||
"RecipeStep",
|
|
||||||
"RecipeNote",
|
|
||||||
"CategoryBase",
|
|
||||||
"CategoryIn",
|
|
||||||
"CategoryOut",
|
|
||||||
"CategorySave",
|
|
||||||
"RecipeCategoryResponse",
|
|
||||||
"RecipeTagResponse",
|
|
||||||
"TagBase",
|
|
||||||
"TagIn",
|
|
||||||
"TagOut",
|
|
||||||
"TagSave",
|
|
||||||
"RecipeAsset",
|
|
||||||
"RecipeTimelineEventCreate",
|
|
||||||
"RecipeTimelineEventIn",
|
|
||||||
"RecipeTimelineEventOut",
|
|
||||||
"RecipeTimelineEventPagination",
|
|
||||||
"RecipeTimelineEventUpdate",
|
|
||||||
"TimelineEventImage",
|
|
||||||
"TimelineEventType",
|
|
||||||
"RecipeSuggestionQuery",
|
|
||||||
"RecipeSuggestionResponse",
|
|
||||||
"RecipeSuggestionResponseItem",
|
|
||||||
"Nutrition",
|
|
||||||
"RecipeShareToken",
|
|
||||||
"RecipeShareTokenCreate",
|
|
||||||
"RecipeShareTokenSave",
|
|
||||||
"RecipeShareTokenSummary",
|
|
||||||
"CreateIngredientFood",
|
"CreateIngredientFood",
|
||||||
"CreateIngredientFoodAlias",
|
"CreateIngredientFoodAlias",
|
||||||
"CreateIngredientUnit",
|
"CreateIngredientUnit",
|
||||||
|
@ -140,13 +111,27 @@ __all__ = [
|
||||||
"SaveIngredientFood",
|
"SaveIngredientFood",
|
||||||
"SaveIngredientUnit",
|
"SaveIngredientUnit",
|
||||||
"UnitFoodBase",
|
"UnitFoodBase",
|
||||||
|
"RecipeTimelineEventCreate",
|
||||||
|
"RecipeTimelineEventIn",
|
||||||
|
"RecipeTimelineEventOut",
|
||||||
|
"RecipeTimelineEventPagination",
|
||||||
|
"RecipeTimelineEventUpdate",
|
||||||
|
"TimelineEventImage",
|
||||||
|
"TimelineEventType",
|
||||||
|
"Nutrition",
|
||||||
|
"AssignCategories",
|
||||||
|
"AssignSettings",
|
||||||
|
"AssignTags",
|
||||||
|
"DeleteRecipes",
|
||||||
|
"ExportBase",
|
||||||
|
"ExportRecipes",
|
||||||
|
"ExportTypes",
|
||||||
"RecipeCommentCreate",
|
"RecipeCommentCreate",
|
||||||
"RecipeCommentOut",
|
"RecipeCommentOut",
|
||||||
"RecipeCommentPagination",
|
"RecipeCommentPagination",
|
||||||
"RecipeCommentSave",
|
"RecipeCommentSave",
|
||||||
"RecipeCommentUpdate",
|
"RecipeCommentUpdate",
|
||||||
"UserBase",
|
"UserBase",
|
||||||
"RecipeSettings",
|
|
||||||
"CreateRecipe",
|
"CreateRecipe",
|
||||||
"CreateRecipeBulk",
|
"CreateRecipeBulk",
|
||||||
"CreateRecipeByUrlBulk",
|
"CreateRecipeByUrlBulk",
|
||||||
|
@ -160,25 +145,40 @@ __all__ = [
|
||||||
"RecipeTagPagination",
|
"RecipeTagPagination",
|
||||||
"RecipeTool",
|
"RecipeTool",
|
||||||
"RecipeToolPagination",
|
"RecipeToolPagination",
|
||||||
"ScrapeRecipe",
|
"IngredientReferences",
|
||||||
"ScrapeRecipeBase",
|
"RecipeStep",
|
||||||
"ScrapeRecipeData",
|
"RecipeNote",
|
||||||
"ScrapeRecipeTest",
|
"RecipeSuggestionQuery",
|
||||||
"AssignCategories",
|
"RecipeSuggestionResponse",
|
||||||
"AssignSettings",
|
"RecipeSuggestionResponseItem",
|
||||||
"AssignTags",
|
"RecipeSettings",
|
||||||
"DeleteRecipes",
|
"RecipeShareToken",
|
||||||
"ExportBase",
|
"RecipeShareTokenCreate",
|
||||||
"ExportRecipes",
|
"RecipeShareTokenSave",
|
||||||
"ExportTypes",
|
"RecipeShareTokenSummary",
|
||||||
"RecipeToolCreate",
|
"RecipeAsset",
|
||||||
"RecipeToolOut",
|
|
||||||
"RecipeToolResponse",
|
|
||||||
"RecipeToolSave",
|
|
||||||
"RecipeImageTypes",
|
|
||||||
"RecipeDuplicate",
|
"RecipeDuplicate",
|
||||||
"RecipeSlug",
|
"RecipeSlug",
|
||||||
"RecipeZipTokenResponse",
|
"RecipeZipTokenResponse",
|
||||||
"SlugResponse",
|
"SlugResponse",
|
||||||
"UpdateImageResponse",
|
"UpdateImageResponse",
|
||||||
|
"RecipeToolCreate",
|
||||||
|
"RecipeToolOut",
|
||||||
|
"RecipeToolResponse",
|
||||||
|
"RecipeToolSave",
|
||||||
|
"CategoryBase",
|
||||||
|
"CategoryIn",
|
||||||
|
"CategoryOut",
|
||||||
|
"CategorySave",
|
||||||
|
"RecipeCategoryResponse",
|
||||||
|
"RecipeTagResponse",
|
||||||
|
"TagBase",
|
||||||
|
"TagIn",
|
||||||
|
"TagOut",
|
||||||
|
"TagSave",
|
||||||
|
"ScrapeRecipe",
|
||||||
|
"ScrapeRecipeBase",
|
||||||
|
"ScrapeRecipeData",
|
||||||
|
"ScrapeRecipeTest",
|
||||||
|
"RecipeImageTypes",
|
||||||
]
|
]
|
||||||
|
|
|
@ -28,14 +28,14 @@ __all__ = [
|
||||||
"QueryFilterJSONPart",
|
"QueryFilterJSONPart",
|
||||||
"RelationalKeyword",
|
"RelationalKeyword",
|
||||||
"RelationalOperator",
|
"RelationalOperator",
|
||||||
"ValidationResponse",
|
"SearchFilter",
|
||||||
"OrderByNullPosition",
|
"OrderByNullPosition",
|
||||||
"OrderDirection",
|
"OrderDirection",
|
||||||
"PaginationBase",
|
"PaginationBase",
|
||||||
"PaginationQuery",
|
"PaginationQuery",
|
||||||
"RecipeSearchQuery",
|
"RecipeSearchQuery",
|
||||||
"RequestQuery",
|
"RequestQuery",
|
||||||
"SearchFilter",
|
"ValidationResponse",
|
||||||
"ErrorResponse",
|
"ErrorResponse",
|
||||||
"FileTokenResponse",
|
"FileTokenResponse",
|
||||||
"SuccessResponse",
|
"SuccessResponse",
|
||||||
|
|
|
@ -38,12 +38,6 @@ from .user_passwords import (
|
||||||
)
|
)
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
"ForgotPassword",
|
|
||||||
"PasswordResetToken",
|
|
||||||
"PrivatePasswordResetToken",
|
|
||||||
"ResetPassword",
|
|
||||||
"SavePasswordResetToken",
|
|
||||||
"ValidateResetToken",
|
|
||||||
"CredentialsRequest",
|
"CredentialsRequest",
|
||||||
"CredentialsRequestForm",
|
"CredentialsRequestForm",
|
||||||
"Token",
|
"Token",
|
||||||
|
@ -75,4 +69,10 @@ __all__ = [
|
||||||
"UserRatings",
|
"UserRatings",
|
||||||
"UserSummary",
|
"UserSummary",
|
||||||
"UserSummaryPagination",
|
"UserSummaryPagination",
|
||||||
|
"ForgotPassword",
|
||||||
|
"PasswordResetToken",
|
||||||
|
"PrivatePasswordResetToken",
|
||||||
|
"ResetPassword",
|
||||||
|
"SavePasswordResetToken",
|
||||||
|
"ValidateResetToken",
|
||||||
]
|
]
|
||||||
|
|
|
@ -53,6 +53,10 @@ class EventTypes(Enum):
|
||||||
category_updated = auto()
|
category_updated = auto()
|
||||||
category_deleted = auto()
|
category_deleted = auto()
|
||||||
|
|
||||||
|
label_created = auto()
|
||||||
|
label_updated = auto()
|
||||||
|
label_deleted = auto()
|
||||||
|
|
||||||
|
|
||||||
class EventDocumentType(Enum):
|
class EventDocumentType(Enum):
|
||||||
generic = "generic"
|
generic = "generic"
|
||||||
|
@ -68,6 +72,7 @@ class EventDocumentType(Enum):
|
||||||
recipe_bulk_report = "recipe_bulk_report"
|
recipe_bulk_report = "recipe_bulk_report"
|
||||||
recipe_timeline_event = "recipe_timeline_event"
|
recipe_timeline_event = "recipe_timeline_event"
|
||||||
tag = "tag"
|
tag = "tag"
|
||||||
|
label = "label"
|
||||||
|
|
||||||
|
|
||||||
class EventOperation(Enum):
|
class EventOperation(Enum):
|
||||||
|
@ -106,6 +111,11 @@ class EventCategoryData(EventDocumentDataBase):
|
||||||
category_id: UUID4
|
category_id: UUID4
|
||||||
|
|
||||||
|
|
||||||
|
class EventLabelData(EventDocumentDataBase):
|
||||||
|
document_type: EventDocumentType = EventDocumentType.label
|
||||||
|
label_id: UUID4
|
||||||
|
|
||||||
|
|
||||||
class EventCookbookData(EventDocumentDataBase):
|
class EventCookbookData(EventDocumentDataBase):
|
||||||
document_type: EventDocumentType = EventDocumentType.cookbook
|
document_type: EventDocumentType = EventDocumentType.cookbook
|
||||||
cookbook_id: UUID4
|
cookbook_id: UUID4
|
||||||
|
|
|
@ -12,6 +12,8 @@ from mealie.schema.recipe.recipe_ingredient import (
|
||||||
CreateIngredientFood,
|
CreateIngredientFood,
|
||||||
CreateIngredientUnit,
|
CreateIngredientUnit,
|
||||||
IngredientConfidence,
|
IngredientConfidence,
|
||||||
|
IngredientFood,
|
||||||
|
IngredientUnit,
|
||||||
ParsedIngredient,
|
ParsedIngredient,
|
||||||
RegisteredParser,
|
RegisteredParser,
|
||||||
)
|
)
|
||||||
|
@ -28,11 +30,11 @@ class BruteForceParser(ABCIngredientParser):
|
||||||
Brute force ingredient parser.
|
Brute force ingredient parser.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
async def parse_one(self, ingredient: str) -> ParsedIngredient:
|
async def parse_one(self, ingredient_string: str) -> ParsedIngredient:
|
||||||
bfi = brute.parse(ingredient, self)
|
bfi = brute.parse(ingredient_string, self)
|
||||||
|
|
||||||
parsed_ingredient = ParsedIngredient(
|
parsed_ingredient = ParsedIngredient(
|
||||||
input=ingredient,
|
input=ingredient_string,
|
||||||
ingredient=RecipeIngredient(
|
ingredient=RecipeIngredient(
|
||||||
unit=CreateIngredientUnit(name=bfi.unit),
|
unit=CreateIngredientUnit(name=bfi.unit),
|
||||||
food=CreateIngredientFood(name=bfi.food),
|
food=CreateIngredientFood(name=bfi.food),
|
||||||
|
@ -41,7 +43,28 @@ class BruteForceParser(ABCIngredientParser):
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
return self.find_ingredient_match(parsed_ingredient)
|
matched_ingredient = self.find_ingredient_match(parsed_ingredient)
|
||||||
|
|
||||||
|
qty_conf = 1
|
||||||
|
note_conf = 1
|
||||||
|
|
||||||
|
unit_obj = matched_ingredient.ingredient.unit
|
||||||
|
food_obj = matched_ingredient.ingredient.food
|
||||||
|
|
||||||
|
unit_conf = 1 if bfi.unit is None or isinstance(unit_obj, IngredientUnit) else 0
|
||||||
|
food_conf = 1 if bfi.food is None or isinstance(food_obj, IngredientFood) else 0
|
||||||
|
|
||||||
|
avg_conf = (qty_conf + unit_conf + food_conf + note_conf) / 4
|
||||||
|
|
||||||
|
matched_ingredient.confidence = IngredientConfidence(
|
||||||
|
average=avg_conf,
|
||||||
|
quantity=qty_conf,
|
||||||
|
unit=unit_conf,
|
||||||
|
food=food_conf,
|
||||||
|
comment=note_conf,
|
||||||
|
)
|
||||||
|
|
||||||
|
return matched_ingredient
|
||||||
|
|
||||||
async def parse(self, ingredients: list[str]) -> list[ParsedIngredient]:
|
async def parse(self, ingredients: list[str]) -> list[ParsedIngredient]:
|
||||||
return [await self.parse_one(ingredient) for ingredient in ingredients]
|
return [await self.parse_one(ingredient) for ingredient in ingredients]
|
||||||
|
|
453
poetry.lock
generated
453
poetry.lock
generated
|
@ -483,100 +483,100 @@ markers = {main = "platform_system == \"Windows\" or sys_platform == \"win32\""}
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "coverage"
|
name = "coverage"
|
||||||
version = "7.10.1"
|
version = "7.10.3"
|
||||||
description = "Code coverage measurement for Python"
|
description = "Code coverage measurement for Python"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.9"
|
python-versions = ">=3.9"
|
||||||
groups = ["dev"]
|
groups = ["dev"]
|
||||||
files = [
|
files = [
|
||||||
{file = "coverage-7.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1c86eb388bbd609d15560e7cc0eb936c102b6f43f31cf3e58b4fd9afe28e1372"},
|
{file = "coverage-7.10.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:53808194afdf948c462215e9403cca27a81cf150d2f9b386aee4dab614ae2ffe"},
|
||||||
{file = "coverage-7.10.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6b4ba0f488c1bdb6bd9ba81da50715a372119785458831c73428a8566253b86b"},
|
{file = "coverage-7.10.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f4d1b837d1abf72187a61645dbf799e0d7705aa9232924946e1f57eb09a3bf00"},
|
||||||
{file = "coverage-7.10.1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:083442ecf97d434f0cb3b3e3676584443182653da08b42e965326ba12d6b5f2a"},
|
{file = "coverage-7.10.3-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:2a90dd4505d3cc68b847ab10c5ee81822a968b5191664e8a0801778fa60459fa"},
|
||||||
{file = "coverage-7.10.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:c1a40c486041006b135759f59189385da7c66d239bad897c994e18fd1d0c128f"},
|
{file = "coverage-7.10.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:d52989685ff5bf909c430e6d7f6550937bc6d6f3e6ecb303c97a86100efd4596"},
|
||||||
{file = "coverage-7.10.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3beb76e20b28046989300c4ea81bf690df84ee98ade4dc0bbbf774a28eb98440"},
|
{file = "coverage-7.10.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bdb558a1d97345bde3a9f4d3e8d11c9e5611f748646e9bb61d7d612a796671b5"},
|
||||||
{file = "coverage-7.10.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:bc265a7945e8d08da28999ad02b544963f813a00f3ed0a7a0ce4165fd77629f8"},
|
{file = "coverage-7.10.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c9e6331a8f09cb1fc8bda032752af03c366870b48cce908875ba2620d20d0ad4"},
|
||||||
{file = "coverage-7.10.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:47c91f32ba4ac46f1e224a7ebf3f98b4b24335bad16137737fe71a5961a0665c"},
|
{file = "coverage-7.10.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:992f48bf35b720e174e7fae916d943599f1a66501a2710d06c5f8104e0756ee1"},
|
||||||
{file = "coverage-7.10.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1a108dd78ed185020f66f131c60078f3fae3f61646c28c8bb4edd3fa121fc7fc"},
|
{file = "coverage-7.10.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c5595fc4ad6a39312c786ec3326d7322d0cf10e3ac6a6df70809910026d67cfb"},
|
||||||
{file = "coverage-7.10.1-cp310-cp310-win32.whl", hash = "sha256:7092cc82382e634075cc0255b0b69cb7cada7c1f249070ace6a95cb0f13548ef"},
|
{file = "coverage-7.10.3-cp310-cp310-win32.whl", hash = "sha256:9e92fa1f2bd5a57df9d00cf9ce1eb4ef6fccca4ceabec1c984837de55329db34"},
|
||||||
{file = "coverage-7.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:ac0c5bba938879c2fc0bc6c1b47311b5ad1212a9dcb8b40fe2c8110239b7faed"},
|
{file = "coverage-7.10.3-cp310-cp310-win_amd64.whl", hash = "sha256:b96524d6e4a3ce6a75c56bb15dbd08023b0ae2289c254e15b9fbdddf0c577416"},
|
||||||
{file = "coverage-7.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b45e2f9d5b0b5c1977cb4feb5f594be60eb121106f8900348e29331f553a726f"},
|
{file = "coverage-7.10.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f2ff2e2afdf0d51b9b8301e542d9c21a8d084fd23d4c8ea2b3a1b3c96f5f7397"},
|
||||||
{file = "coverage-7.10.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3a7a4d74cb0f5e3334f9aa26af7016ddb94fb4bfa11b4a573d8e98ecba8c34f1"},
|
{file = "coverage-7.10.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:18ecc5d1b9a8c570f6c9b808fa9a2b16836b3dd5414a6d467ae942208b095f85"},
|
||||||
{file = "coverage-7.10.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:d4b0aab55ad60ead26159ff12b538c85fbab731a5e3411c642b46c3525863437"},
|
{file = "coverage-7.10.3-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1af4461b25fe92889590d438905e1fc79a95680ec2a1ff69a591bb3fdb6c7157"},
|
||||||
{file = "coverage-7.10.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:dcc93488c9ebd229be6ee1f0d9aad90da97b33ad7e2912f5495804d78a3cd6b7"},
|
{file = "coverage-7.10.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:3966bc9a76b09a40dc6063c8b10375e827ea5dfcaffae402dd65953bef4cba54"},
|
||||||
{file = "coverage-7.10.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:aa309df995d020f3438407081b51ff527171cca6772b33cf8f85344b8b4b8770"},
|
{file = "coverage-7.10.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:205a95b87ef4eb303b7bc5118b47b6b6604a644bcbdb33c336a41cfc0a08c06a"},
|
||||||
{file = "coverage-7.10.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cfb8b9d8855c8608f9747602a48ab525b1d320ecf0113994f6df23160af68262"},
|
{file = "coverage-7.10.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b3801b79fb2ad61e3c7e2554bab754fc5f105626056980a2b9cf3aef4f13f84"},
|
||||||
{file = "coverage-7.10.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:320d86da829b012982b414c7cdda65f5d358d63f764e0e4e54b33097646f39a3"},
|
{file = "coverage-7.10.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:b0dc69c60224cda33d384572da945759756e3f06b9cdac27f302f53961e63160"},
|
||||||
{file = "coverage-7.10.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:dc60ddd483c556590da1d9482a4518292eec36dd0e1e8496966759a1f282bcd0"},
|
{file = "coverage-7.10.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a83d4f134bab2c7ff758e6bb1541dd72b54ba295ced6a63d93efc2e20cb9b124"},
|
||||||
{file = "coverage-7.10.1-cp311-cp311-win32.whl", hash = "sha256:4fcfe294f95b44e4754da5b58be750396f2b1caca8f9a0e78588e3ef85f8b8be"},
|
{file = "coverage-7.10.3-cp311-cp311-win32.whl", hash = "sha256:54e409dd64e5302b2a8fdf44ec1c26f47abd1f45a2dcf67bd161873ee05a59b8"},
|
||||||
{file = "coverage-7.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:efa23166da3fe2915f8ab452dde40319ac84dc357f635737174a08dbd912980c"},
|
{file = "coverage-7.10.3-cp311-cp311-win_amd64.whl", hash = "sha256:30c601610a9b23807c5e9e2e442054b795953ab85d525c3de1b1b27cebeb2117"},
|
||||||
{file = "coverage-7.10.1-cp311-cp311-win_arm64.whl", hash = "sha256:d12b15a8c3759e2bb580ffa423ae54be4f184cf23beffcbd641f4fe6e1584293"},
|
{file = "coverage-7.10.3-cp311-cp311-win_arm64.whl", hash = "sha256:dabe662312a97958e932dee056f2659051d822552c0b866823e8ba1c2fe64770"},
|
||||||
{file = "coverage-7.10.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6b7dc7f0a75a7eaa4584e5843c873c561b12602439d2351ee28c7478186c4da4"},
|
{file = "coverage-7.10.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:449c1e2d3a84d18bd204258a897a87bc57380072eb2aded6a5b5226046207b42"},
|
||||||
{file = "coverage-7.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:607f82389f0ecafc565813aa201a5cade04f897603750028dd660fb01797265e"},
|
{file = "coverage-7.10.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1d4f9ce50b9261ad196dc2b2e9f1fbbee21651b54c3097a25ad783679fd18294"},
|
||||||
{file = "coverage-7.10.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f7da31a1ba31f1c1d4d5044b7c5813878adae1f3af8f4052d679cc493c7328f4"},
|
{file = "coverage-7.10.3-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:4dd4564207b160d0d45c36a10bc0a3d12563028e8b48cd6459ea322302a156d7"},
|
||||||
{file = "coverage-7.10.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:51fe93f3fe4f5d8483d51072fddc65e717a175490804e1942c975a68e04bf97a"},
|
{file = "coverage-7.10.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:5ca3c9530ee072b7cb6a6ea7b640bcdff0ad3b334ae9687e521e59f79b1d0437"},
|
||||||
{file = "coverage-7.10.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3e59d00830da411a1feef6ac828b90bbf74c9b6a8e87b8ca37964925bba76dbe"},
|
{file = "coverage-7.10.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b6df359e59fa243c9925ae6507e27f29c46698359f45e568fd51b9315dbbe587"},
|
||||||
{file = "coverage-7.10.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:924563481c27941229cb4e16eefacc35da28563e80791b3ddc5597b062a5c386"},
|
{file = "coverage-7.10.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a181e4c2c896c2ff64c6312db3bda38e9ade2e1aa67f86a5628ae85873786cea"},
|
||||||
{file = "coverage-7.10.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:ca79146ee421b259f8131f153102220b84d1a5e6fb9c8aed13b3badfd1796de6"},
|
{file = "coverage-7.10.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a374d4e923814e8b72b205ef6b3d3a647bb50e66f3558582eda074c976923613"},
|
||||||
{file = "coverage-7.10.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2b225a06d227f23f386fdc0eab471506d9e644be699424814acc7d114595495f"},
|
{file = "coverage-7.10.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:daeefff05993e5e8c6e7499a8508e7bd94502b6b9a9159c84fd1fe6bce3151cb"},
|
||||||
{file = "coverage-7.10.1-cp312-cp312-win32.whl", hash = "sha256:5ba9a8770effec5baaaab1567be916c87d8eea0c9ad11253722d86874d885eca"},
|
{file = "coverage-7.10.3-cp312-cp312-win32.whl", hash = "sha256:187ecdcac21f9636d570e419773df7bd2fda2e7fa040f812e7f95d0bddf5f79a"},
|
||||||
{file = "coverage-7.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:9eb245a8d8dd0ad73b4062135a251ec55086fbc2c42e0eb9725a9b553fba18a3"},
|
{file = "coverage-7.10.3-cp312-cp312-win_amd64.whl", hash = "sha256:4a50ad2524ee7e4c2a95e60d2b0b83283bdfc745fe82359d567e4f15d3823eb5"},
|
||||||
{file = "coverage-7.10.1-cp312-cp312-win_arm64.whl", hash = "sha256:7718060dd4434cc719803a5e526838a5d66e4efa5dc46d2b25c21965a9c6fcc4"},
|
{file = "coverage-7.10.3-cp312-cp312-win_arm64.whl", hash = "sha256:c112f04e075d3495fa3ed2200f71317da99608cbb2e9345bdb6de8819fc30571"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ebb08d0867c5a25dffa4823377292a0ffd7aaafb218b5d4e2e106378b1061e39"},
|
{file = "coverage-7.10.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b99e87304ffe0eb97c5308447328a584258951853807afdc58b16143a530518a"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f32a95a83c2e17422f67af922a89422cd24c6fa94041f083dd0bb4f6057d0bc7"},
|
{file = "coverage-7.10.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4af09c7574d09afbc1ea7da9dcea23665c01f3bc1b1feb061dac135f98ffc53a"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:c4c746d11c8aba4b9f58ca8bfc6fbfd0da4efe7960ae5540d1a1b13655ee8892"},
|
{file = "coverage-7.10.3-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:488e9b50dc5d2aa9521053cfa706209e5acf5289e81edc28291a24f4e4488f46"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7f39edd52c23e5c7ed94e0e4bf088928029edf86ef10b95413e5ea670c5e92d7"},
|
{file = "coverage-7.10.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:913ceddb4289cbba3a310704a424e3fb7aac2bc0c3a23ea473193cb290cf17d4"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ab6e19b684981d0cd968906e293d5628e89faacb27977c92f3600b201926b994"},
|
{file = "coverage-7.10.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b1f91cbc78c7112ab84ed2a8defbccd90f888fcae40a97ddd6466b0bec6ae8a"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5121d8cf0eacb16133501455d216bb5f99899ae2f52d394fe45d59229e6611d0"},
|
{file = "coverage-7.10.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b0bac054d45af7cd938834b43a9878b36ea92781bcb009eab040a5b09e9927e3"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:df1c742ca6f46a6f6cbcaef9ac694dc2cb1260d30a6a2f5c68c5f5bcfee1cfd7"},
|
{file = "coverage-7.10.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:fe72cbdd12d9e0f4aca873fa6d755e103888a7f9085e4a62d282d9d5b9f7928c"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:40f9a38676f9c073bf4b9194707aa1eb97dca0e22cc3766d83879d72500132c7"},
|
{file = "coverage-7.10.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c1e2e927ab3eadd7c244023927d646e4c15c65bb2ac7ae3c3e9537c013700d21"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313-win32.whl", hash = "sha256:2348631f049e884839553b9974f0821d39241c6ffb01a418efce434f7eba0fe7"},
|
{file = "coverage-7.10.3-cp313-cp313-win32.whl", hash = "sha256:24d0c13de473b04920ddd6e5da3c08831b1170b8f3b17461d7429b61cad59ae0"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313-win_amd64.whl", hash = "sha256:4072b31361b0d6d23f750c524f694e1a417c1220a30d3ef02741eed28520c48e"},
|
{file = "coverage-7.10.3-cp313-cp313-win_amd64.whl", hash = "sha256:3564aae76bce4b96e2345cf53b4c87e938c4985424a9be6a66ee902626edec4c"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313-win_arm64.whl", hash = "sha256:3e31dfb8271937cab9425f19259b1b1d1f556790e98eb266009e7a61d337b6d4"},
|
{file = "coverage-7.10.3-cp313-cp313-win_arm64.whl", hash = "sha256:f35580f19f297455f44afcd773c9c7a058e52eb6eb170aa31222e635f2e38b87"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:1c4f679c6b573a5257af6012f167a45be4c749c9925fd44d5178fd641ad8bf72"},
|
{file = "coverage-7.10.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:07009152f497a0464ffdf2634586787aea0e69ddd023eafb23fc38267db94b84"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:871ebe8143da284bd77b84a9136200bd638be253618765d21a1fce71006d94af"},
|
{file = "coverage-7.10.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:8dd2ba5f0c7e7e8cc418be2f0c14c4d9e3f08b8fb8e4c0f83c2fe87d03eb655e"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:998c4751dabf7d29b30594af416e4bf5091f11f92a8d88eb1512c7ba136d1ed7"},
|
{file = "coverage-7.10.3-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1ae22b97003c74186e034a93e4f946c75fad8c0ce8d92fbbc168b5e15ee2841f"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:780f750a25e7749d0af6b3631759c2c14f45de209f3faaa2398312d1c7a22759"},
|
{file = "coverage-7.10.3-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:eb329f1046888a36b1dc35504d3029e1dd5afe2196d94315d18c45ee380f67d5"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:590bdba9445df4763bdbebc928d8182f094c1f3947a8dc0fc82ef014dbdd8324"},
|
{file = "coverage-7.10.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ce01048199a91f07f96ca3074b0c14021f4fe7ffd29a3e6a188ac60a5c3a4af8"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b2df80cb6a2af86d300e70acb82e9b79dab2c1e6971e44b78dbfc1a1e736b53"},
|
{file = "coverage-7.10.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:08b989a06eb9dfacf96d42b7fb4c9a22bafa370d245dc22fa839f2168c6f9fa1"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:d6a558c2725bfb6337bf57c1cd366c13798bfd3bfc9e3dd1f4a6f6fc95a4605f"},
|
{file = "coverage-7.10.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:669fe0d4e69c575c52148511029b722ba8d26e8a3129840c2ce0522e1452b256"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e6150d167f32f2a54690e572e0a4c90296fb000a18e9b26ab81a6489e24e78dd"},
|
{file = "coverage-7.10.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3262d19092771c83f3413831d9904b1ccc5f98da5de4ffa4ad67f5b20c7aaf7b"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313t-win32.whl", hash = "sha256:d946a0c067aa88be4a593aad1236493313bafaa27e2a2080bfe88db827972f3c"},
|
{file = "coverage-7.10.3-cp313-cp313t-win32.whl", hash = "sha256:cc0ee4b2ccd42cab7ee6be46d8a67d230cb33a0a7cd47a58b587a7063b6c6b0e"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313t-win_amd64.whl", hash = "sha256:e37c72eaccdd5ed1130c67a92ad38f5b2af66eeff7b0abe29534225db2ef7b18"},
|
{file = "coverage-7.10.3-cp313-cp313t-win_amd64.whl", hash = "sha256:03db599f213341e2960430984e04cf35fb179724e052a3ee627a068653cf4a7c"},
|
||||||
{file = "coverage-7.10.1-cp313-cp313t-win_arm64.whl", hash = "sha256:89ec0ffc215c590c732918c95cd02b55c7d0f569d76b90bb1a5e78aa340618e4"},
|
{file = "coverage-7.10.3-cp313-cp313t-win_arm64.whl", hash = "sha256:46eae7893ba65f53c71284585a262f083ef71594f05ec5c85baf79c402369098"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:166d89c57e877e93d8827dac32cedae6b0277ca684c6511497311249f35a280c"},
|
{file = "coverage-7.10.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:bce8b8180912914032785850d8f3aacb25ec1810f5f54afc4a8b114e7a9b55de"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:bed4a2341b33cd1a7d9ffc47df4a78ee61d3416d43b4adc9e18b7d266650b83e"},
|
{file = "coverage-7.10.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:07790b4b37d56608536f7c1079bd1aa511567ac2966d33d5cec9cf520c50a7c8"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:ddca1e4f5f4c67980533df01430184c19b5359900e080248bbf4ed6789584d8b"},
|
{file = "coverage-7.10.3-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:e79367ef2cd9166acedcbf136a458dfe9a4a2dd4d1ee95738fb2ee581c56f667"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:37b69226001d8b7de7126cad7366b0778d36777e4d788c66991455ba817c5b41"},
|
{file = "coverage-7.10.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:419d2a0f769f26cb1d05e9ccbc5eab4cb5d70231604d47150867c07822acbdf4"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b2f22102197bcb1722691296f9e589f02b616f874e54a209284dd7b9294b0b7f"},
|
{file = "coverage-7.10.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee221cf244757cdc2ac882e3062ab414b8464ad9c884c21e878517ea64b3fa26"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1e0c768b0f9ac5839dac5cf88992a4bb459e488ee8a1f8489af4cb33b1af00f1"},
|
{file = "coverage-7.10.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c2079d8cdd6f7373d628e14b3357f24d1db02c9dc22e6a007418ca7a2be0435a"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:991196702d5e0b120a8fef2664e1b9c333a81d36d5f6bcf6b225c0cf8b0451a2"},
|
{file = "coverage-7.10.3-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:bd8df1f83c0703fa3ca781b02d36f9ec67ad9cb725b18d486405924f5e4270bd"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ae8e59e5f4fd85d6ad34c2bb9d74037b5b11be072b8b7e9986beb11f957573d4"},
|
{file = "coverage-7.10.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6b4e25e0fa335c8aa26e42a52053f3786a61cc7622b4d54ae2dad994aa754fec"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314-win32.whl", hash = "sha256:042125c89cf74a074984002e165d61fe0e31c7bd40ebb4bbebf07939b5924613"},
|
{file = "coverage-7.10.3-cp314-cp314-win32.whl", hash = "sha256:d7c3d02c2866deb217dce664c71787f4b25420ea3eaf87056f44fb364a3528f5"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314-win_amd64.whl", hash = "sha256:a22c3bfe09f7a530e2c94c87ff7af867259c91bef87ed2089cd69b783af7b84e"},
|
{file = "coverage-7.10.3-cp314-cp314-win_amd64.whl", hash = "sha256:9c8916d44d9e0fe6cdb2227dc6b0edd8bc6c8ef13438bbbf69af7482d9bb9833"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314-win_arm64.whl", hash = "sha256:ee6be07af68d9c4fca4027c70cea0c31a0f1bc9cb464ff3c84a1f916bf82e652"},
|
{file = "coverage-7.10.3-cp314-cp314-win_arm64.whl", hash = "sha256:1007d6a2b3cf197c57105cc1ba390d9ff7f0bee215ced4dea530181e49c65ab4"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:d24fb3c0c8ff0d517c5ca5de7cf3994a4cd559cde0315201511dbfa7ab528894"},
|
{file = "coverage-7.10.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:ebc8791d346410d096818788877d675ca55c91db87d60e8f477bd41c6970ffc6"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1217a54cfd79be20512a67ca81c7da3f2163f51bbfd188aab91054df012154f5"},
|
{file = "coverage-7.10.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1f4e4d8e75f6fd3c6940ebeed29e3d9d632e1f18f6fb65d33086d99d4d073241"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:51f30da7a52c009667e02f125737229d7d8044ad84b79db454308033a7808ab2"},
|
{file = "coverage-7.10.3-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:24581ed69f132b6225a31b0228ae4885731cddc966f8a33fe5987288bdbbbd5e"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:ed3718c757c82d920f1c94089066225ca2ad7f00bb904cb72b1c39ebdd906ccb"},
|
{file = "coverage-7.10.3-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:ec151569ddfccbf71bac8c422dce15e176167385a00cd86e887f9a80035ce8a5"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cc452481e124a819ced0c25412ea2e144269ef2f2534b862d9f6a9dae4bda17b"},
|
{file = "coverage-7.10.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2ae8e7c56290b908ee817200c0b65929b8050bc28530b131fe7c6dfee3e7d86b"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:9d6f494c307e5cb9b1e052ec1a471060f1dea092c8116e642e7a23e79d9388ea"},
|
{file = "coverage-7.10.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5fb742309766d7e48e9eb4dc34bc95a424707bc6140c0e7d9726e794f11b92a0"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:fc0e46d86905ddd16b85991f1f4919028092b4e511689bbdaff0876bd8aab3dd"},
|
{file = "coverage-7.10.3-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:c65e2a5b32fbe1e499f1036efa6eb9cb4ea2bf6f7168d0e7a5852f3024f471b1"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:80b9ccd82e30038b61fc9a692a8dc4801504689651b281ed9109f10cc9fe8b4d"},
|
{file = "coverage-7.10.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:d48d2cb07d50f12f4f18d2bb75d9d19e3506c26d96fffabf56d22936e5ed8f7c"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314t-win32.whl", hash = "sha256:e58991a2b213417285ec866d3cd32db17a6a88061a985dbb7e8e8f13af429c47"},
|
{file = "coverage-7.10.3-cp314-cp314t-win32.whl", hash = "sha256:dec0d9bc15ee305e09fe2cd1911d3f0371262d3cfdae05d79515d8cb712b4869"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314t-win_amd64.whl", hash = "sha256:e88dd71e4ecbc49d9d57d064117462c43f40a21a1383507811cf834a4a620651"},
|
{file = "coverage-7.10.3-cp314-cp314t-win_amd64.whl", hash = "sha256:424ea93a323aa0f7f01174308ea78bde885c3089ec1bef7143a6d93c3e24ef64"},
|
||||||
{file = "coverage-7.10.1-cp314-cp314t-win_arm64.whl", hash = "sha256:1aadfb06a30c62c2eb82322171fe1f7c288c80ca4156d46af0ca039052814bab"},
|
{file = "coverage-7.10.3-cp314-cp314t-win_arm64.whl", hash = "sha256:f5983c132a62d93d71c9ef896a0b9bf6e6828d8d2ea32611f58684fba60bba35"},
|
||||||
{file = "coverage-7.10.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:57b6e8789cbefdef0667e4a94f8ffa40f9402cee5fc3b8e4274c894737890145"},
|
{file = "coverage-7.10.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:da749daa7e141985487e1ff90a68315b0845930ed53dc397f4ae8f8bab25b551"},
|
||||||
{file = "coverage-7.10.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:85b22a9cce00cb03156334da67eb86e29f22b5e93876d0dd6a98646bb8a74e53"},
|
{file = "coverage-7.10.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f3126fb6a47d287f461d9b1aa5d1a8c97034d1dffb4f452f2cf211289dae74ef"},
|
||||||
{file = "coverage-7.10.1-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:97b6983a2f9c76d345ca395e843a049390b39652984e4a3b45b2442fa733992d"},
|
{file = "coverage-7.10.3-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3da794db13cc27ca40e1ec8127945b97fab78ba548040047d54e7bfa6d442dca"},
|
||||||
{file = "coverage-7.10.1-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:ddf2a63b91399a1c2f88f40bc1705d5a7777e31c7e9eb27c602280f477b582ba"},
|
{file = "coverage-7.10.3-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:4e27bebbd184ef8d1c1e092b74a2b7109dcbe2618dce6e96b1776d53b14b3fe8"},
|
||||||
{file = "coverage-7.10.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:47ab6dbbc31a14c5486420c2c1077fcae692097f673cf5be9ddbec8cdaa4cdbc"},
|
{file = "coverage-7.10.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8fd4ee2580b9fefbd301b4f8f85b62ac90d1e848bea54f89a5748cf132782118"},
|
||||||
{file = "coverage-7.10.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:21eb7d8b45d3700e7c2936a736f732794c47615a20f739f4133d5230a6512a88"},
|
{file = "coverage-7.10.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:6999920bdd73259ce11cabfc1307484f071ecc6abdb2ca58d98facbcefc70f16"},
|
||||||
{file = "coverage-7.10.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:283005bb4d98ae33e45f2861cd2cde6a21878661c9ad49697f6951b358a0379b"},
|
{file = "coverage-7.10.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:c3623f929db885fab100cb88220a5b193321ed37e03af719efdbaf5d10b6e227"},
|
||||||
{file = "coverage-7.10.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:fefe31d61d02a8b2c419700b1fade9784a43d726de26495f243b663cd9fe1513"},
|
{file = "coverage-7.10.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:25b902c5e15dea056485d782e420bb84621cc08ee75d5131ecb3dbef8bd1365f"},
|
||||||
{file = "coverage-7.10.1-cp39-cp39-win32.whl", hash = "sha256:e8ab8e4c7ec7f8a55ac05b5b715a051d74eac62511c6d96d5bb79aaafa3b04cf"},
|
{file = "coverage-7.10.3-cp39-cp39-win32.whl", hash = "sha256:f930a4d92b004b643183451fe9c8fe398ccf866ed37d172ebaccfd443a097f61"},
|
||||||
{file = "coverage-7.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:c36baa0ecde742784aa76c2b816466d3ea888d5297fda0edbac1bf48fa94688a"},
|
{file = "coverage-7.10.3-cp39-cp39-win_amd64.whl", hash = "sha256:08e638a93c8acba13c7842953f92a33d52d73e410329acd472280d2a21a6c0e1"},
|
||||||
{file = "coverage-7.10.1-py3-none-any.whl", hash = "sha256:fa2a258aa6bf188eb9a8948f7102a83da7c430a0dce918dbd8b60ef8fcb772d7"},
|
{file = "coverage-7.10.3-py3-none-any.whl", hash = "sha256:416a8d74dc0adfd33944ba2f405897bab87b7e9e84a391e09d241956bd953ce1"},
|
||||||
{file = "coverage-7.10.1.tar.gz", hash = "sha256:ae2b4856f29ddfe827106794f3589949a57da6f0d38ab01e24ec35107979ba57"},
|
{file = "coverage-7.10.3.tar.gz", hash = "sha256:812ba9250532e4a823b070b0420a36499859542335af3dca8f47fc6aa1a05619"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.extras]
|
[package.extras]
|
||||||
|
@ -785,14 +785,14 @@ test = ["pytest", "pytest-cov", "pytest-mpl", "pytest-subtests"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freezegun"
|
name = "freezegun"
|
||||||
version = "1.5.4"
|
version = "1.5.5"
|
||||||
description = "Let your Python tests travel through time"
|
description = "Let your Python tests travel through time"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
groups = ["dev"]
|
groups = ["dev"]
|
||||||
files = [
|
files = [
|
||||||
{file = "freezegun-1.5.4-py3-none-any.whl", hash = "sha256:8bdd75c9d790f53d5a173d273064ccd7900984b36635be552befeedb0cd47b20"},
|
{file = "freezegun-1.5.5-py3-none-any.whl", hash = "sha256:cd557f4a75cf074e84bc374249b9dd491eaeacd61376b9eb3c423282211619d2"},
|
||||||
{file = "freezegun-1.5.4.tar.gz", hash = "sha256:798b9372fdd4d907f33e8b6a58bc64e682d9ffa8d494ce60f780197ee81faed1"},
|
{file = "freezegun-1.5.5.tar.gz", hash = "sha256:ac7742a6cc6c25a2c35e9292dfd554b897b517d2dec26891a2e8debf205cb94a"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
|
@ -1849,14 +1849,14 @@ signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openai"
|
name = "openai"
|
||||||
version = "1.99.1"
|
version = "1.99.7"
|
||||||
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.99.1-py3-none-any.whl", hash = "sha256:8eeccc69e0ece1357b51ca0d9fb21324afee09b20c3e5b547d02445ca18a4e03"},
|
{file = "openai-1.99.7-py3-none-any.whl", hash = "sha256:ef4165cc4f8872dd4a967d109f12b0b9c98a1e20ae05940c28701729c2883891"},
|
||||||
{file = "openai-1.99.1.tar.gz", hash = "sha256:2c9d8e498c298f51bb94bcac724257a3a6cac6139ccdfc1186c6708f7a93120f"},
|
{file = "openai-1.99.7.tar.gz", hash = "sha256:d2f4211642b9dbcd8e3cc6e6ef1180ac149f80d2e5ab1ee7f5afdd8d34c9b33b"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
|
@ -2144,58 +2144,65 @@ xmp = ["defusedxml"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pillow-heif"
|
name = "pillow-heif"
|
||||||
version = "1.0.0"
|
version = "1.1.0"
|
||||||
description = "Python interface for libheif library"
|
description = "Python interface for libheif library"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.9"
|
python-versions = ">=3.9"
|
||||||
groups = ["main"]
|
groups = ["main"]
|
||||||
files = [
|
files = [
|
||||||
{file = "pillow_heif-1.0.0-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:5c1896b96c4b219846435ab859723853a8c42758ad4300d3ed8427b91496762d"},
|
{file = "pillow_heif-1.1.0-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:166837c243518a930d37f9cbe9e1851f63d1b3cabd4a71496acfdab33eae198b"},
|
||||||
{file = "pillow_heif-1.0.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:7e5ab47004e5c8f891229b051daacb1a90c16cb547a4849825f8be7321145fe3"},
|
{file = "pillow_heif-1.1.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:2b4c599f9276619eaf19e436d519da7f92b31ccec1d4cfd9d728395841e35009"},
|
||||||
{file = "pillow_heif-1.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba94f702f1c5203d98c625567af0a01d87bc7e69c3a451262d4fb76af25d827"},
|
{file = "pillow_heif-1.1.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cb4134a05025449f8cc48b6b97c75fc5e81ecdb41b70da4fce08cc8e1b89bcae"},
|
||||||
{file = "pillow_heif-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:661fb336e509294b892f1310282829359eaa7f628317e4cd1a42b1c056cb9f2f"},
|
{file = "pillow_heif-1.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a4ca1590c6d1a7cc5f01bd897aa5781a8ba07eb1a524fa849a34011f4fdb8229"},
|
||||||
{file = "pillow_heif-1.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5ce8ad2dc09c6100b27ea69ad681941b694878cb307b7058f1a5127b55ff0af9"},
|
{file = "pillow_heif-1.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:785019774e176c5dea62bcc1578527a02b6a290ac625d4be1bf68aeef789f6e4"},
|
||||||
{file = "pillow_heif-1.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:98962fdc791e093749a8393aa02eeaa12593ca08f5064798572bb0553f302f81"},
|
{file = "pillow_heif-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:645eade826e470035c458715f9251682909ee939ca22e801dc690aa8722c25b6"},
|
||||||
{file = "pillow_heif-1.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:c4258cfca6edf34cb6f804fec9c8494eb6fe8f9029d7dea9fbd46e5648c127a8"},
|
{file = "pillow_heif-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:8e66f1611a3f06392e638dd519c8013ead3b850cfabad5aecd7d9919173ff840"},
|
||||||
{file = "pillow_heif-1.0.0-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:812bb192e98a1eb0f037cddccd6c95930e3b6ff00951c67f4623c2ab085d8938"},
|
{file = "pillow_heif-1.1.0-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:fdc65d6e97469f385790c685e957ab4082d94e141781aa5c535406a60457d16c"},
|
||||||
{file = "pillow_heif-1.0.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:0beb5a4d8ebdcc4bfd35c911cf0b2537ef1a6a145f4cf8a5468b1531fea9e89c"},
|
{file = "pillow_heif-1.1.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:af2fca989f32a74f862f62622ba16359681b13ca2906be503f7cc5913337f337"},
|
||||||
{file = "pillow_heif-1.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:560b7d6d265dc256ced56c9758de0efe927125d3132cc49e88328116d163823b"},
|
{file = "pillow_heif-1.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5dd83590482f2b4c0f8ba2f750b2e23fc6c6700c786faaa07a9d8cc989a861f5"},
|
||||||
{file = "pillow_heif-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60ce73485154c7334d884f77cd4120b91b3daef4abdfd91970ebddcde955a9bb"},
|
{file = "pillow_heif-1.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d3506f9ed4533f9cd567a3b12c0c3077de0702868fc19cb38ff84ff92540a75d"},
|
||||||
{file = "pillow_heif-1.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:97ea05e4e71f70ec05ebea6a185e0fb3aaf31f081f452e3061f3aa237f52165a"},
|
{file = "pillow_heif-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5ebab03c583c0ff2518d21438c5acd188e04f605edd792810795857c51d00e89"},
|
||||||
{file = "pillow_heif-1.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a9cd71162046488e6f98507436cd8e7f85202a858adfce7b296b461eeb1e5b06"},
|
{file = "pillow_heif-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2234cbc0c9c1e1daaba3306d8c7b7ed73fbddac3b2d5e978d403f9d21df3a4fb"},
|
||||||
{file = "pillow_heif-1.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:ffd8307e9fc4ad3cd998ffdf18eb15c1a1ccafffb5ac4d6a213368e4af7a4b39"},
|
{file = "pillow_heif-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:e0b7003cc91b1b939e6306aa8af97249d1d59c91b829f6c24e35b0c1f7e50614"},
|
||||||
{file = "pillow_heif-1.0.0-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:4217447e61df85d847718ecf4054d4292b691eee74fa565f0b650da1dc357f34"},
|
{file = "pillow_heif-1.1.0-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:8f1de65e770bc3f1b8f33b49f4ead8fb03970ad5cb42a804c95e9c47aa7f4208"},
|
||||||
{file = "pillow_heif-1.0.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:425b1aac012fc59fc703cdce05ac125ffa2970ec9839bb8d763d8645eb59308c"},
|
{file = "pillow_heif-1.1.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:06e44f0285ab0272083f11dd8deb43ab4da1b89992a7e891612c7f37ff46e08f"},
|
||||||
{file = "pillow_heif-1.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ec85dfc7db7b34944e7a4c885a7d72fb470d532bb696c490445954a50db7241"},
|
{file = "pillow_heif-1.1.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecafb8f476e2d99aff900fe3fd62df37c1372714bf426166be23c9e9c9857612"},
|
||||||
{file = "pillow_heif-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:71fa395744c53a3b4ceb2fbf29b63e556c64591038472600af9e368940f930c0"},
|
{file = "pillow_heif-1.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d2ac086bcca2753f24096acac187d80327f26e34eeaeeaa48e280a167a83ca79"},
|
||||||
{file = "pillow_heif-1.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9691125b30d352b2817a544d3155f6a5911378d08901ee4b71ba3e4305fa32a0"},
|
{file = "pillow_heif-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e6eee59abe4efd867a733c73bd624a9c704286df1c97b6d01d2e3370bd43f07"},
|
||||||
{file = "pillow_heif-1.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ca0e829e6c6986a3acc33efb9e762439b84f0ecc8e583204f04ad8001b192bf"},
|
{file = "pillow_heif-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2af9f05d9bed937f03707e9965d8d214b1facb6cf7ebf9430b79b978fe058c62"},
|
||||||
{file = "pillow_heif-1.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:0f0b8546fe98f0938cb6afd1127f2b7a855f4a657e31dcebedaee97ba5662da9"},
|
{file = "pillow_heif-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:15cbd385cc02908f841d48295304e15390a3e79e26d3b6dad7b7a7007a874eaa"},
|
||||||
{file = "pillow_heif-1.0.0-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:6a7b14de333709ef9fdd4de57bda3103eb3178b6ed267f9e60bfd64bfb7c5c41"},
|
{file = "pillow_heif-1.1.0-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:f262bed5978797fa2c22615be821c6fd767a786bd72396a38d07583adde1e37e"},
|
||||||
{file = "pillow_heif-1.0.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:07fba7ffbcc7841cc4e5a3bd781628ef6a2359c633d28fcd14ad490b09060bb3"},
|
{file = "pillow_heif-1.1.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:c9d37ed097d28c4970461f244d8c2156d0f710f9eee00a36b29142fb6a050fc2"},
|
||||||
{file = "pillow_heif-1.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c0ab4c56637c2b332e15383a14ee1b493fbbc5dbc756a0b372b7c23df1ed281a"},
|
{file = "pillow_heif-1.1.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:66f6d04a1f8483a8820d8b1dcb893bfb8103e320dd72d762ec687e92bb92a69b"},
|
||||||
{file = "pillow_heif-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:809e4fd18bf1f683788d71449ae0ed7522e16c4a892a040ec64cf97377e6efd5"},
|
{file = "pillow_heif-1.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9923700a3031ca27d2d68e99b09217e6d9360fd45bbe6975cd5b5e48e422cf71"},
|
||||||
{file = "pillow_heif-1.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6d928a5e9f1cfa9e300695329bf9db08e01bcb14b14c4e6a48d6c032bf9dfa1c"},
|
{file = "pillow_heif-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f4be665888167c481b63fe5a5b62cda2f81c575f54bade9eb1b004137542f76a"},
|
||||||
{file = "pillow_heif-1.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f02906fd84688138bcbdbbd75fbef77356043bc6199516a152cc66811d1b7198"},
|
{file = "pillow_heif-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ef1f4ab291e37dbbe22d8ccf1e2dde1a6561b43a4eed1d992fe795d4b62c1258"},
|
||||||
{file = "pillow_heif-1.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:864a01279069fcd1d99ac0c8ad3263c478438eb9adaa084a2f3d2278049b308f"},
|
{file = "pillow_heif-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:0e3f34354ac8b4be505a25f705be907997e6a1172d21667f7a1d1ff8e3b9d10d"},
|
||||||
{file = "pillow_heif-1.0.0-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:e4dd88b416199484aeebd467452293d4c29ab33a6e263eac735f5318b1713ab6"},
|
{file = "pillow_heif-1.1.0-cp314-cp314-macosx_13_0_x86_64.whl", hash = "sha256:c47f12a30a86c43f714353d0fb8478dc4da7915d678642e0b6cf6f0fd53d711e"},
|
||||||
{file = "pillow_heif-1.0.0-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:6132ce820142c4a79510347dd3f0bf7410ed6e8780202821fb95540bfc8d7484"},
|
{file = "pillow_heif-1.1.0-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:3cc4a7a808b659f657c5144aeec8152d261d8f3c4a859eba66ef31dab26982d2"},
|
||||||
{file = "pillow_heif-1.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc76e1c27e80e8799ff476a2a768d65eef7d35db804d2386f8f50c8be47ab4e7"},
|
{file = "pillow_heif-1.1.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f3b0df4a03f9c7f150d801f3644961df5af0739503d6fc5d3e0aeb540d16c3d"},
|
||||||
{file = "pillow_heif-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:061ee478b84899c8491e3370a5f5722952ce6644a64f07c7c82df00cad9324ab"},
|
{file = "pillow_heif-1.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:44fcd3a171337788bf672882484725f124143d2f290cfdbf029c22c113a15c79"},
|
||||||
{file = "pillow_heif-1.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2aa751d305fec59ff6ee86d23309bd06be0166e0b8cb9e1beb3d7498f309ccbf"},
|
{file = "pillow_heif-1.1.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7f07f28e99ae74dffca936e24d8881f3e7e572233cf1f7bc16fe42fb08a795be"},
|
||||||
{file = "pillow_heif-1.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e541afa24d19030d0f6582374ed3dd9edefe022bc23ae4dfd0f3c09ab7b839d4"},
|
{file = "pillow_heif-1.1.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7a6de39cfba4037479aa5deb65a6bb0b27da0a11b95f740202f03b578ee8932f"},
|
||||||
{file = "pillow_heif-1.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:1b169dd41eed440eb26325d6daa85ede96ca02666966d898e5dcd045dd6ab37b"},
|
{file = "pillow_heif-1.1.0-cp314-cp314-win_amd64.whl", hash = "sha256:514c856230995dc2f918fb12d83906885d42829e911868e23035e2d916c4c7c5"},
|
||||||
{file = "pillow_heif-1.0.0-pp310-pypy310_pp73-macosx_13_0_x86_64.whl", hash = "sha256:c63517df8df208e9f7d54a6160201e9eb437d39e658c5267037213710c071631"},
|
{file = "pillow_heif-1.1.0-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:cc72e6311d236e44f0faca82f91e15ad62bc5b028bae79e41e247fcfa1b32c75"},
|
||||||
{file = "pillow_heif-1.0.0-pp310-pypy310_pp73-macosx_14_0_arm64.whl", hash = "sha256:97b96897c92f1fcc99ee8b76a1f82fe48b61d03af0b4ce2b3913f49c2c0a74f1"},
|
{file = "pillow_heif-1.1.0-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:5425019c7920f5c9a63eb0344487ade8d30449742e13bc176bb723a3dcd0fb5a"},
|
||||||
{file = "pillow_heif-1.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9b71197918a02b6e56ff2f087573de77da3057152ad29677f7625345e151b85"},
|
{file = "pillow_heif-1.1.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dc4bfd35a0faa784b9caf772a7dd745ce23117174bcb65f8a46e926c57962780"},
|
||||||
{file = "pillow_heif-1.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83355656529029e048ed872d9d8ccae07f4f77625629041207d47b7573d26fbf"},
|
{file = "pillow_heif-1.1.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:16afdfe07593780d2589a0e2884c86ef670509493d069db7b4ea931463742d72"},
|
||||||
{file = "pillow_heif-1.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:431cf83fc16f6760995da83563379233fb32b355309d08c4afabb53fdded5417"},
|
{file = "pillow_heif-1.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4365157c0540d7f63f639c384c675d7d341ea0f8034a4452bde4a03894748e97"},
|
||||||
{file = "pillow_heif-1.0.0-pp311-pypy311_pp73-macosx_13_0_x86_64.whl", hash = "sha256:6df834a4fe4f5cb0c2641996f323ac0354a2c1133aee494e649848bbeb093bbb"},
|
{file = "pillow_heif-1.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:21d451e6f8d0573e080339c9c5fd23cfa41f3d190475d52339304113b4f8c7b3"},
|
||||||
{file = "pillow_heif-1.0.0-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:f9c17066adc84820d465ce51ce0e8448e1074886ff765b6c07b81802eba0a0dd"},
|
{file = "pillow_heif-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:ee8f8ce845d0bdbc4bf5a6c8906a3b765ca68138f62b0776ece35be8779b675a"},
|
||||||
{file = "pillow_heif-1.0.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c10eb674f94f8a7f449c2a0b32530fa34bd6c78a6717be8a0068e591c73b6fb"},
|
{file = "pillow_heif-1.1.0-pp310-pypy310_pp73-macosx_13_0_x86_64.whl", hash = "sha256:03bd9f78e51f49f93e3d4f2e9f13f14ad5bf9464c260df3c7254b375f1edbf56"},
|
||||||
{file = "pillow_heif-1.0.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62c6db1706367d6cf7fb04ad6074ab88f3863dde73cc14feeddb7c6a396d0c88"},
|
{file = "pillow_heif-1.1.0-pp310-pypy310_pp73-macosx_14_0_arm64.whl", hash = "sha256:b5cb6c448475bdbe9f25b505b949cde4fbafc85fbd9f1b787113b940da1a503c"},
|
||||||
{file = "pillow_heif-1.0.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:2c6486b9026d776e0dea264db3aa2f9aa6304aa1335f9a96f9b32aca1ce16cbc"},
|
{file = "pillow_heif-1.1.0-pp310-pypy310_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a68219cd5f75944aaa1692216baf1c233d12037970b127a083885d084526e6b9"},
|
||||||
{file = "pillow_heif-1.0.0.tar.gz", hash = "sha256:0df7a1fb29bd55bc77fd286195eeb02604e356a5da3d5e8786129b91263b99e2"},
|
{file = "pillow_heif-1.1.0-pp310-pypy310_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b9cbad23bbf76b23d70b2e973b3e9ae9b30a750a98dc8b0f6b05393cce417571"},
|
||||||
|
{file = "pillow_heif-1.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:aed1f9ce8c495370875d082134408a29a10091b23c6476c382e440453c16c104"},
|
||||||
|
{file = "pillow_heif-1.1.0-pp311-pypy311_pp73-macosx_13_0_x86_64.whl", hash = "sha256:0b921622f897bc5491bbc577304355740b16a15df29e67db664ca21a272d0c8f"},
|
||||||
|
{file = "pillow_heif-1.1.0-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:8e7641593fd2c495c1cf357d8820a97ac44dced0fefd387854a2332086ec61f1"},
|
||||||
|
{file = "pillow_heif-1.1.0-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:30bff3762d6d1ae592f611828451fcf6093df4d646bbefc8969930233110d67c"},
|
||||||
|
{file = "pillow_heif-1.1.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7498acca23f05c7ecc50feda5cf5d08405f30af316d2bad2be6f96ef319d0bd9"},
|
||||||
|
{file = "pillow_heif-1.1.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:d51ea5a49f5b1b83723cb85507df69c32d6e09c0bc17381368469206b1190f25"},
|
||||||
|
{file = "pillow_heif-1.1.0.tar.gz", hash = "sha256:6c0c5f81a780185bbddc56e0d5537c53aa6cb5fb6018f5a60534a47c53f5455d"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
|
@ -2272,14 +2279,14 @@ testing = ["pytest", "pytest-benchmark"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pre-commit"
|
name = "pre-commit"
|
||||||
version = "4.2.0"
|
version = "4.3.0"
|
||||||
description = "A framework for managing and maintaining multi-language pre-commit hooks."
|
description = "A framework for managing and maintaining multi-language pre-commit hooks."
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.9"
|
python-versions = ">=3.9"
|
||||||
groups = ["dev"]
|
groups = ["dev"]
|
||||||
files = [
|
files = [
|
||||||
{file = "pre_commit-4.2.0-py2.py3-none-any.whl", hash = "sha256:a009ca7205f1eb497d10b845e52c838a98b6cdd2102a6c8e4540e94ee75c58bd"},
|
{file = "pre_commit-4.3.0-py2.py3-none-any.whl", hash = "sha256:2b0747ad7e6e967169136edffee14c16e148a778a54e4f967921aa1ebf2308d8"},
|
||||||
{file = "pre_commit-4.2.0.tar.gz", hash = "sha256:601283b9757afd87d40c4c4a9b2b5de9637a8ea02eaff7adc2d0fb4e04841146"},
|
{file = "pre_commit-4.3.0.tar.gz", hash = "sha256:499fe450cc9d42e9d58e606262795ecb64dd05438943c62b66f6a8673da30b16"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
|
@ -2630,14 +2637,14 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pylint"
|
name = "pylint"
|
||||||
version = "3.3.7"
|
version = "3.3.8"
|
||||||
description = "python code static checker"
|
description = "python code static checker"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.9.0"
|
python-versions = ">=3.9.0"
|
||||||
groups = ["dev"]
|
groups = ["dev"]
|
||||||
files = [
|
files = [
|
||||||
{file = "pylint-3.3.7-py3-none-any.whl", hash = "sha256:43860aafefce92fca4cf6b61fe199cdc5ae54ea28f9bf4cd49de267b5195803d"},
|
{file = "pylint-3.3.8-py3-none-any.whl", hash = "sha256:7ef94aa692a600e82fabdd17102b73fc226758218c97473c7ad67bd4cb905d83"},
|
||||||
{file = "pylint-3.3.7.tar.gz", hash = "sha256:2b11de8bde49f9c5059452e0c310c079c746a0a8eeaa789e5aa966ecc23e4559"},
|
{file = "pylint-3.3.8.tar.gz", hash = "sha256:26698de19941363037e2937d3db9ed94fb3303fdadf7d98847875345a8bb6b05"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
|
@ -3097,14 +3104,14 @@ orjson = ["orjson (>=3.9.14,<4)"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "recipe-scrapers"
|
name = "recipe-scrapers"
|
||||||
version = "15.8.0"
|
version = "15.9.0"
|
||||||
description = "Python package, scraping recipes from all over the internet"
|
description = "Python package, scraping recipes from all over the internet"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.9"
|
python-versions = ">=3.9"
|
||||||
groups = ["main"]
|
groups = ["main"]
|
||||||
files = [
|
files = [
|
||||||
{file = "recipe_scrapers-15.8.0-py3-none-any.whl", hash = "sha256:65015802f3d6e60493b9a9de4737c0aa42eb67c6d2ced43a1f32ffaf4fb9c48e"},
|
{file = "recipe_scrapers-15.9.0-py3-none-any.whl", hash = "sha256:8f794090b46c18b9b863c39965adee0823253d366278d1fa2623235446caa701"},
|
||||||
{file = "recipe_scrapers-15.8.0.tar.gz", hash = "sha256:938d0510b88809fa181e49d95498bbc40db40d8d973637b3f7b77da837bcda12"},
|
{file = "recipe_scrapers-15.9.0.tar.gz", hash = "sha256:0235e9d1dd290be5ad5e58ba5be3ff51941c45efb7ec58f2872216fe501cd7d1"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
|
@ -3280,30 +3287,30 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ruff"
|
name = "ruff"
|
||||||
version = "0.12.7"
|
version = "0.12.8"
|
||||||
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.7-py3-none-linux_armv6l.whl", hash = "sha256:76e4f31529899b8c434c3c1dede98c4483b89590e15fb49f2d46183801565303"},
|
{file = "ruff-0.12.8-py3-none-linux_armv6l.whl", hash = "sha256:63cb5a5e933fc913e5823a0dfdc3c99add73f52d139d6cd5cc8639d0e0465513"},
|
||||||
{file = "ruff-0.12.7-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:789b7a03e72507c54fb3ba6209e4bb36517b90f1a3569ea17084e3fd295500fb"},
|
{file = "ruff-0.12.8-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:9a9bbe28f9f551accf84a24c366c1aa8774d6748438b47174f8e8565ab9dedbc"},
|
||||||
{file = "ruff-0.12.7-py3-none-macosx_11_0_arm64.whl", hash = "sha256:2e1c2a3b8626339bb6369116e7030a4cf194ea48f49b64bb505732a7fce4f4e3"},
|
{file = "ruff-0.12.8-py3-none-macosx_11_0_arm64.whl", hash = "sha256:2fae54e752a3150f7ee0e09bce2e133caf10ce9d971510a9b925392dc98d2fec"},
|
||||||
{file = "ruff-0.12.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32dec41817623d388e645612ec70d5757a6d9c035f3744a52c7b195a57e03860"},
|
{file = "ruff-0.12.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c0acbcf01206df963d9331b5838fb31f3b44fa979ee7fa368b9b9057d89f4a53"},
|
||||||
{file = "ruff-0.12.7-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:47ef751f722053a5df5fa48d412dbb54d41ab9b17875c6840a58ec63ff0c247c"},
|
{file = "ruff-0.12.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ae3e7504666ad4c62f9ac8eedb52a93f9ebdeb34742b8b71cd3cccd24912719f"},
|
||||||
{file = "ruff-0.12.7-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a828a5fc25a3efd3e1ff7b241fd392686c9386f20e5ac90aa9234a5faa12c423"},
|
{file = "ruff-0.12.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cb82efb5d35d07497813a1c5647867390a7d83304562607f3579602fa3d7d46f"},
|
||||||
{file = "ruff-0.12.7-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:5726f59b171111fa6a69d82aef48f00b56598b03a22f0f4170664ff4d8298efb"},
|
{file = "ruff-0.12.8-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:dbea798fc0065ad0b84a2947b0aff4233f0cb30f226f00a2c5850ca4393de609"},
|
||||||
{file = "ruff-0.12.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:74e6f5c04c4dd4aba223f4fe6e7104f79e0eebf7d307e4f9b18c18362124bccd"},
|
{file = "ruff-0.12.8-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:49ebcaccc2bdad86fd51b7864e3d808aad404aab8df33d469b6e65584656263a"},
|
||||||
{file = "ruff-0.12.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d0bfe4e77fba61bf2ccadf8cf005d6133e3ce08793bbe870dd1c734f2699a3e"},
|
{file = "ruff-0.12.8-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ac9c570634b98c71c88cb17badd90f13fc076a472ba6ef1d113d8ed3df109fb"},
|
||||||
{file = "ruff-0.12.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06bfb01e1623bf7f59ea749a841da56f8f653d641bfd046edee32ede7ff6c606"},
|
{file = "ruff-0.12.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:560e0cd641e45591a3e42cb50ef61ce07162b9c233786663fdce2d8557d99818"},
|
||||||
{file = "ruff-0.12.7-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:e41df94a957d50083fd09b916d6e89e497246698c3f3d5c681c8b3e7b9bb4ac8"},
|
{file = "ruff-0.12.8-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:71c83121512e7743fba5a8848c261dcc454cafb3ef2934a43f1b7a4eb5a447ea"},
|
||||||
{file = "ruff-0.12.7-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:4000623300563c709458d0ce170c3d0d788c23a058912f28bbadc6f905d67afa"},
|
{file = "ruff-0.12.8-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:de4429ef2ba091ecddedd300f4c3f24bca875d3d8b23340728c3cb0da81072c3"},
|
||||||
{file = "ruff-0.12.7-py3-none-musllinux_1_2_i686.whl", hash = "sha256:69ffe0e5f9b2cf2b8e289a3f8945b402a1b19eff24ec389f45f23c42a3dd6fb5"},
|
{file = "ruff-0.12.8-py3-none-musllinux_1_2_i686.whl", hash = "sha256:a2cab5f60d5b65b50fba39a8950c8746df1627d54ba1197f970763917184b161"},
|
||||||
{file = "ruff-0.12.7-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:a07a5c8ffa2611a52732bdc67bf88e243abd84fe2d7f6daef3826b59abbfeda4"},
|
{file = "ruff-0.12.8-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:45c32487e14f60b88aad6be9fd5da5093dbefb0e3e1224131cb1d441d7cb7d46"},
|
||||||
{file = "ruff-0.12.7-py3-none-win32.whl", hash = "sha256:c928f1b2ec59fb77dfdf70e0419408898b63998789cc98197e15f560b9e77f77"},
|
{file = "ruff-0.12.8-py3-none-win32.whl", hash = "sha256:daf3475060a617fd5bc80638aeaf2f5937f10af3ec44464e280a9d2218e720d3"},
|
||||||
{file = "ruff-0.12.7-py3-none-win_amd64.whl", hash = "sha256:9c18f3d707ee9edf89da76131956aba1270c6348bfee8f6c647de841eac7194f"},
|
{file = "ruff-0.12.8-py3-none-win_amd64.whl", hash = "sha256:7209531f1a1fcfbe8e46bcd7ab30e2f43604d8ba1c49029bb420b103d0b5f76e"},
|
||||||
{file = "ruff-0.12.7-py3-none-win_arm64.whl", hash = "sha256:dfce05101dbd11833a0776716d5d1578641b7fddb537fe7fa956ab85d1769b69"},
|
{file = "ruff-0.12.8-py3-none-win_arm64.whl", hash = "sha256:c90e1a334683ce41b0e7a04f41790c429bf5073b62c1ae701c9dc5b3d14f0749"},
|
||||||
{file = "ruff-0.12.7.tar.gz", hash = "sha256:1fc3193f238bc2d7968772c82831a4ff69252f673be371fb49663f0068b7ec71"},
|
{file = "ruff-0.12.8.tar.gz", hash = "sha256:4cb3a45525176e1009b2b64126acf5f9444ea59066262791febf55e40493a033"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -3365,69 +3372,59 @@ files = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sqlalchemy"
|
name = "sqlalchemy"
|
||||||
version = "2.0.42"
|
version = "2.0.43"
|
||||||
description = "Database Abstraction Library"
|
description = "Database Abstraction Library"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
groups = ["main"]
|
groups = ["main"]
|
||||||
files = [
|
files = [
|
||||||
{file = "SQLAlchemy-2.0.42-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7ee065898359fdee83961aed5cf1fb4cfa913ba71b58b41e036001d90bebbf7a"},
|
{file = "SQLAlchemy-2.0.43-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:21ba7a08a4253c5825d1db389d4299f64a100ef9800e4624c8bf70d8f136e6ed"},
|
||||||
{file = "SQLAlchemy-2.0.42-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56bc76d86216443daa2e27e6b04a9b96423f0b69b5d0c40c7f4b9a4cdf7d8d90"},
|
{file = "SQLAlchemy-2.0.43-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11b9503fa6f8721bef9b8567730f664c5a5153d25e247aadc69247c4bc605227"},
|
||||||
{file = "SQLAlchemy-2.0.42-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89143290fb94c50a8dec73b06109ccd245efd8011d24fc0ddafe89dc55b36651"},
|
{file = "SQLAlchemy-2.0.43-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:cdeff998cb294896a34e5b2f00e383e7c5c4ef3b4bfa375d9104723f15186443"},
|
||||||
{file = "SQLAlchemy-2.0.42-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:4efbdc9754c7145a954911bfeef815fb0843e8edab0e9cecfa3417a5cbd316af"},
|
{file = "SQLAlchemy-2.0.43-cp37-cp37m-win32.whl", hash = "sha256:c697575d0e2b0a5f0433f679bda22f63873821d991e95a90e9e52aae517b2e32"},
|
||||||
{file = "SQLAlchemy-2.0.42-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:88f8a8007a658dfd82c16a20bd9673ae6b33576c003b5166d42697d49e496e61"},
|
{file = "SQLAlchemy-2.0.43-cp37-cp37m-win_amd64.whl", hash = "sha256:d34c0f6dbefd2e816e8f341d0df7d4763d382e3f452423e752ffd1e213da2512"},
|
||||||
{file = "SQLAlchemy-2.0.42-cp37-cp37m-win32.whl", hash = "sha256:c5dd245e6502990ccf612d51f220a7b04cbea3f00f6030691ffe27def76ca79b"},
|
{file = "sqlalchemy-2.0.43-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:70322986c0c699dca241418fcf18e637a4369e0ec50540a2b907b184c8bca069"},
|
||||||
{file = "SQLAlchemy-2.0.42-cp37-cp37m-win_amd64.whl", hash = "sha256:5651eb19cacbeb2fe7431e4019312ed00a0b3fbd2d701423e0e2ceaadb5bcd9f"},
|
{file = "sqlalchemy-2.0.43-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:87accdbba88f33efa7b592dc2e8b2a9c2cdbca73db2f9d5c510790428c09c154"},
|
||||||
{file = "sqlalchemy-2.0.42-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:172b244753e034d91a826f80a9a70f4cbac690641207f2217f8404c261473efe"},
|
{file = "sqlalchemy-2.0.43-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c00e7845d2f692ebfc7d5e4ec1a3fd87698e4337d09e58d6749a16aedfdf8612"},
|
||||||
{file = "sqlalchemy-2.0.42-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be28f88abd74af8519a4542185ee80ca914933ca65cdfa99504d82af0e4210df"},
|
{file = "sqlalchemy-2.0.43-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:022e436a1cb39b13756cf93b48ecce7aa95382b9cfacceb80a7d263129dfd019"},
|
||||||
{file = "sqlalchemy-2.0.42-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98b344859d282fde388047f1710860bb23f4098f705491e06b8ab52a48aafea9"},
|
{file = "sqlalchemy-2.0.43-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c5e73ba0d76eefc82ec0219d2301cb33bfe5205ed7a2602523111e2e56ccbd20"},
|
||||||
{file = "sqlalchemy-2.0.42-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97978d223b11f1d161390a96f28c49a13ce48fdd2fed7683167c39bdb1b8aa09"},
|
{file = "sqlalchemy-2.0.43-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9c2e02f06c68092b875d5cbe4824238ab93a7fa35d9c38052c033f7ca45daa18"},
|
||||||
{file = "sqlalchemy-2.0.42-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e35b9b000c59fcac2867ab3a79fc368a6caca8706741beab3b799d47005b3407"},
|
{file = "sqlalchemy-2.0.43-cp310-cp310-win32.whl", hash = "sha256:e7a903b5b45b0d9fa03ac6a331e1c1d6b7e0ab41c63b6217b3d10357b83c8b00"},
|
||||||
{file = "sqlalchemy-2.0.42-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bc7347ad7a7b1c78b94177f2d57263113bb950e62c59b96ed839b131ea4234e1"},
|
{file = "sqlalchemy-2.0.43-cp310-cp310-win_amd64.whl", hash = "sha256:4bf0edb24c128b7be0c61cd17eef432e4bef507013292415f3fb7023f02b7d4b"},
|
||||||
{file = "sqlalchemy-2.0.42-cp310-cp310-win32.whl", hash = "sha256:739e58879b20a179156b63aa21f05ccacfd3e28e08e9c2b630ff55cd7177c4f1"},
|
{file = "sqlalchemy-2.0.43-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:52d9b73b8fb3e9da34c2b31e6d99d60f5f99fd8c1225c9dad24aeb74a91e1d29"},
|
||||||
{file = "sqlalchemy-2.0.42-cp310-cp310-win_amd64.whl", hash = "sha256:1aef304ada61b81f1955196f584b9e72b798ed525a7c0b46e09e98397393297b"},
|
{file = "sqlalchemy-2.0.43-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f42f23e152e4545157fa367b2435a1ace7571cab016ca26038867eb7df2c3631"},
|
||||||
{file = "sqlalchemy-2.0.42-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c34100c0b7ea31fbc113c124bcf93a53094f8951c7bf39c45f39d327bad6d1e7"},
|
{file = "sqlalchemy-2.0.43-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fb1a8c5438e0c5ea51afe9c6564f951525795cf432bed0c028c1cb081276685"},
|
||||||
{file = "sqlalchemy-2.0.42-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ad59dbe4d1252448c19d171dfba14c74e7950b46dc49d015722a4a06bfdab2b0"},
|
{file = "sqlalchemy-2.0.43-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db691fa174e8f7036afefe3061bc40ac2b770718be2862bfb03aabae09051aca"},
|
||||||
{file = "sqlalchemy-2.0.42-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9187498c2149919753a7fd51766ea9c8eecdec7da47c1b955fa8090bc642eaa"},
|
{file = "sqlalchemy-2.0.43-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fe2b3b4927d0bc03d02ad883f402d5de201dbc8894ac87d2e981e7d87430e60d"},
|
||||||
{file = "sqlalchemy-2.0.42-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f092cf83ebcafba23a247f5e03f99f5436e3ef026d01c8213b5eca48ad6efa9"},
|
{file = "sqlalchemy-2.0.43-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4d3d9b904ad4a6b175a2de0738248822f5ac410f52c2fd389ada0b5262d6a1e3"},
|
||||||
{file = "sqlalchemy-2.0.42-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fc6afee7e66fdba4f5a68610b487c1f754fccdc53894a9567785932dbb6a265e"},
|
{file = "sqlalchemy-2.0.43-cp311-cp311-win32.whl", hash = "sha256:5cda6b51faff2639296e276591808c1726c4a77929cfaa0f514f30a5f6156921"},
|
||||||
{file = "sqlalchemy-2.0.42-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:260ca1d2e5910f1f1ad3fe0113f8fab28657cee2542cb48c2f342ed90046e8ec"},
|
{file = "sqlalchemy-2.0.43-cp311-cp311-win_amd64.whl", hash = "sha256:c5d1730b25d9a07727d20ad74bc1039bbbb0a6ca24e6769861c1aa5bf2c4c4a8"},
|
||||||
{file = "sqlalchemy-2.0.42-cp311-cp311-win32.whl", hash = "sha256:2eb539fd83185a85e5fcd6b19214e1c734ab0351d81505b0f987705ba0a1e231"},
|
{file = "sqlalchemy-2.0.43-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:20d81fc2736509d7a2bd33292e489b056cbae543661bb7de7ce9f1c0cd6e7f24"},
|
||||||
{file = "sqlalchemy-2.0.42-cp311-cp311-win_amd64.whl", hash = "sha256:9193fa484bf00dcc1804aecbb4f528f1123c04bad6a08d7710c909750fa76aeb"},
|
{file = "sqlalchemy-2.0.43-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:25b9fc27650ff5a2c9d490c13c14906b918b0de1f8fcbb4c992712d8caf40e83"},
|
||||||
{file = "sqlalchemy-2.0.42-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:09637a0872689d3eb71c41e249c6f422e3e18bbd05b4cd258193cfc7a9a50da2"},
|
{file = "sqlalchemy-2.0.43-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6772e3ca8a43a65a37c88e2f3e2adfd511b0b1da37ef11ed78dea16aeae85bd9"},
|
||||||
{file = "sqlalchemy-2.0.42-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a3cb3ec67cc08bea54e06b569398ae21623534a7b1b23c258883a7c696ae10df"},
|
{file = "sqlalchemy-2.0.43-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a113da919c25f7f641ffbd07fbc9077abd4b3b75097c888ab818f962707eb48"},
|
||||||
{file = "sqlalchemy-2.0.42-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e87e6a5ef6f9d8daeb2ce5918bf5fddecc11cae6a7d7a671fcc4616c47635e01"},
|
{file = "sqlalchemy-2.0.43-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4286a1139f14b7d70141c67a8ae1582fc2b69105f1b09d9573494eb4bb4b2687"},
|
||||||
{file = "sqlalchemy-2.0.42-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b718011a9d66c0d2f78e1997755cd965f3414563b31867475e9bc6efdc2281d"},
|
{file = "sqlalchemy-2.0.43-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:529064085be2f4d8a6e5fab12d36ad44f1909a18848fcfbdb59cc6d4bbe48efe"},
|
||||||
{file = "sqlalchemy-2.0.42-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:16d9b544873fe6486dddbb859501a07d89f77c61d29060bb87d0faf7519b6a4d"},
|
{file = "sqlalchemy-2.0.43-cp312-cp312-win32.whl", hash = "sha256:b535d35dea8bbb8195e7e2b40059e2253acb2b7579b73c1b432a35363694641d"},
|
||||||
{file = "sqlalchemy-2.0.42-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:21bfdf57abf72fa89b97dd74d3187caa3172a78c125f2144764a73970810c4ee"},
|
{file = "sqlalchemy-2.0.43-cp312-cp312-win_amd64.whl", hash = "sha256:1c6d85327ca688dbae7e2b06d7d84cfe4f3fffa5b5f9e21bb6ce9d0e1a0e0e0a"},
|
||||||
{file = "sqlalchemy-2.0.42-cp312-cp312-win32.whl", hash = "sha256:78b46555b730a24901ceb4cb901c6b45c9407f8875209ed3c5d6bcd0390a6ed1"},
|
{file = "sqlalchemy-2.0.43-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e7c08f57f75a2bb62d7ee80a89686a5e5669f199235c6d1dac75cd59374091c3"},
|
||||||
{file = "sqlalchemy-2.0.42-cp312-cp312-win_amd64.whl", hash = "sha256:4c94447a016f36c4da80072e6c6964713b0af3c8019e9c4daadf21f61b81ab53"},
|
{file = "sqlalchemy-2.0.43-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:14111d22c29efad445cd5021a70a8b42f7d9152d8ba7f73304c4d82460946aaa"},
|
||||||
{file = "sqlalchemy-2.0.42-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:941804f55c7d507334da38133268e3f6e5b0340d584ba0f277dd884197f4ae8c"},
|
{file = "sqlalchemy-2.0.43-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21b27b56eb2f82653168cefe6cb8e970cdaf4f3a6cb2c5e3c3c1cf3158968ff9"},
|
||||||
{file = "sqlalchemy-2.0.42-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:95d3d06a968a760ce2aa6a5889fefcbdd53ca935735e0768e1db046ec08cbf01"},
|
{file = "sqlalchemy-2.0.43-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c5a9da957c56e43d72126a3f5845603da00e0293720b03bde0aacffcf2dc04f"},
|
||||||
{file = "sqlalchemy-2.0.42-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4cf10396a8a700a0f38ccd220d940be529c8f64435c5d5b29375acab9267a6c9"},
|
{file = "sqlalchemy-2.0.43-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5d79f9fdc9584ec83d1b3c75e9f4595c49017f5594fee1a2217117647225d738"},
|
||||||
{file = "sqlalchemy-2.0.42-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9cae6c2b05326d7c2c7c0519f323f90e0fb9e8afa783c6a05bb9ee92a90d0f04"},
|
{file = "sqlalchemy-2.0.43-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9df7126fd9db49e3a5a3999442cc67e9ee8971f3cb9644250107d7296cb2a164"},
|
||||||
{file = "sqlalchemy-2.0.42-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f50f7b20677b23cfb35b6afcd8372b2feb348a38e3033f6447ee0704540be894"},
|
{file = "sqlalchemy-2.0.43-cp313-cp313-win32.whl", hash = "sha256:7f1ac7828857fcedb0361b48b9ac4821469f7694089d15550bbcf9ab22564a1d"},
|
||||||
{file = "sqlalchemy-2.0.42-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d88a1c0d66d24e229e3938e1ef16ebdbd2bf4ced93af6eff55225f7465cf350"},
|
{file = "sqlalchemy-2.0.43-cp313-cp313-win_amd64.whl", hash = "sha256:971ba928fcde01869361f504fcff3b7143b47d30de188b11c6357c0505824197"},
|
||||||
{file = "sqlalchemy-2.0.42-cp313-cp313-win32.whl", hash = "sha256:45c842c94c9ad546c72225a0c0d1ae8ef3f7c212484be3d429715a062970e87f"},
|
{file = "sqlalchemy-2.0.43-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46293c39252f93ea0910aababa8752ad628bcce3a10d3f260648dd472256983f"},
|
||||||
{file = "sqlalchemy-2.0.42-cp313-cp313-win_amd64.whl", hash = "sha256:eb9905f7f1e49fd57a7ed6269bc567fcbbdac9feadff20ad6bd7707266a91577"},
|
{file = "sqlalchemy-2.0.43-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:6e2bf13d9256398d037fef09fd8bf9b0bf77876e22647d10761d35593b9ac547"},
|
||||||
{file = "sqlalchemy-2.0.42-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ed5a6959b1668d97a32e3fd848b485f65ee3c05a759dee06d90e4545a3c77f1e"},
|
{file = "sqlalchemy-2.0.43-cp38-cp38-win32.whl", hash = "sha256:13194276e69bb2af56198fef7909d48fd34820de01d9c92711a5fa45497cc7ed"},
|
||||||
{file = "sqlalchemy-2.0.42-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2ddbaafe32f0dd12d64284b1c3189104b784c9f3dba8cc1ba7e642e2b14b906f"},
|
{file = "sqlalchemy-2.0.43-cp38-cp38-win_amd64.whl", hash = "sha256:334f41fa28de9f9be4b78445e68530da3c5fa054c907176460c81494f4ae1f5e"},
|
||||||
{file = "sqlalchemy-2.0.42-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37f4f42568b6c656ee177b3e111d354b5dda75eafe9fe63492535f91dfa35829"},
|
{file = "sqlalchemy-2.0.43-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:413391b2239db55be14fa4223034d7e13325a1812c8396ecd4f2c08696d5ccad"},
|
||||||
{file = "sqlalchemy-2.0.42-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb57923d852d38671a17abda9a65cc59e3e5eab51fb8307b09de46ed775bcbb8"},
|
{file = "sqlalchemy-2.0.43-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:03d73ab2a37d9e40dec4984d1813d7878e01dbdc742448d44a7341b7a9f408c7"},
|
||||||
{file = "sqlalchemy-2.0.42-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:437c2a8b0c780ff8168a470beb22cb4a25e1c63ea6a7aec87ffeb07aa4b76641"},
|
{file = "sqlalchemy-2.0.43-cp39-cp39-win32.whl", hash = "sha256:b3edaec7e8b6dc5cd94523c6df4f294014df67097c8217a89929c99975811414"},
|
||||||
{file = "sqlalchemy-2.0.42-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:480f7df62f0b3ad6aa011eefa096049dc1770208bb71f234959ee2864206eefe"},
|
{file = "sqlalchemy-2.0.43-cp39-cp39-win_amd64.whl", hash = "sha256:227119ce0a89e762ecd882dc661e0aa677a690c914e358f0dd8932a2e8b2765b"},
|
||||||
{file = "sqlalchemy-2.0.42-cp38-cp38-win32.whl", hash = "sha256:d119c80c614d62d32e236ae68e21dd28a2eaf070876b2f28a6075d5bae54ef3f"},
|
{file = "sqlalchemy-2.0.43-py3-none-any.whl", hash = "sha256:1681c21dd2ccee222c2fe0bef671d1aef7c504087c9c4e800371cfcc8ac966fc"},
|
||||||
{file = "sqlalchemy-2.0.42-cp38-cp38-win_amd64.whl", hash = "sha256:be3a02f963c8d66e28bb4183bebab66dc4379701d92e660f461c65fecd6ff399"},
|
{file = "sqlalchemy-2.0.43.tar.gz", hash = "sha256:788bfcef6787a7764169cfe9859fe425bf44559619e1d9f56f5bddf2ebf6f417"},
|
||||||
{file = "sqlalchemy-2.0.42-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:78548fd65cd76d4c5a2e6b5f245d7734023ee4de33ee7bb298f1ac25a9935e0d"},
|
|
||||||
{file = "sqlalchemy-2.0.42-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cf4bf5a174d8a679a713b7a896470ffc6baab78e80a79e7ec5668387ffeccc8b"},
|
|
||||||
{file = "sqlalchemy-2.0.42-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8c7ff7ba08b375f8a8fa0511e595c9bdabb5494ec68f1cf69bb24e54c0d90f2"},
|
|
||||||
{file = "sqlalchemy-2.0.42-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b3c117f65d64e806ce5ce9ce578f06224dc36845e25ebd2554b3e86960e1aed"},
|
|
||||||
{file = "sqlalchemy-2.0.42-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:27e4a7b3a7a61ff919c2e7caafd612f8626114e6e5ebbe339de3b5b1df9bc27e"},
|
|
||||||
{file = "sqlalchemy-2.0.42-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b01e0dd39f96aefda5ab002d8402db4895db871eb0145836246ce0661635ce55"},
|
|
||||||
{file = "sqlalchemy-2.0.42-cp39-cp39-win32.whl", hash = "sha256:49362193b1f43aa158deebf438062d7b5495daa9177c6c5d0f02ceeb64b544ea"},
|
|
||||||
{file = "sqlalchemy-2.0.42-cp39-cp39-win_amd64.whl", hash = "sha256:636ec3dc83b2422a7ff548d0f8abf9c23742ca50e2a5cdc492a151eac7a0248b"},
|
|
||||||
{file = "sqlalchemy-2.0.42-py3-none-any.whl", hash = "sha256:defcdff7e661f0043daa381832af65d616e060ddb54d3fe4476f51df7eaa1835"},
|
|
||||||
{file = "sqlalchemy-2.0.42.tar.gz", hash = "sha256:160bedd8a5c28765bd5be4dec2d881e109e33b34922e50a3b881a7681773ac5f"},
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
|
|
|
@ -38,6 +38,9 @@ def preferences_generator():
|
||||||
category_created=random_bool(),
|
category_created=random_bool(),
|
||||||
category_updated=random_bool(),
|
category_updated=random_bool(),
|
||||||
category_deleted=random_bool(),
|
category_deleted=random_bool(),
|
||||||
|
label_created=random_bool(),
|
||||||
|
label_updated=random_bool(),
|
||||||
|
label_deleted=random_bool(),
|
||||||
).model_dump(by_alias=True)
|
).model_dump(by_alias=True)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -226,6 +226,46 @@ def test_brute_parser(
|
||||||
assert not comment
|
assert not comment
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
"unit, food, expect_unit_match, expect_food_match, expected_avg",
|
||||||
|
[
|
||||||
|
pytest.param("Cups", "potatoes", True, True, 1.0, id="all matched"),
|
||||||
|
pytest.param("Cups", "veryuniquefood", True, False, 0.75, id="unit matched only"),
|
||||||
|
pytest.param("veryuniqueunit", "potatoes", False, True, 0.75, id="food matched only"),
|
||||||
|
pytest.param("veryuniqueunit", "veryuniquefood", False, False, 0.5, id="neither matched"),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
def test_brute_parser_confidence(
|
||||||
|
unit: str,
|
||||||
|
food: str,
|
||||||
|
expect_unit_match: bool,
|
||||||
|
expect_food_match: bool,
|
||||||
|
expected_avg: float,
|
||||||
|
unique_local_group_id: UUID4,
|
||||||
|
parsed_ingredient_data: tuple[list[IngredientFood], list[IngredientUnit]],
|
||||||
|
):
|
||||||
|
input_str = f"1 {unit} {food}"
|
||||||
|
|
||||||
|
with session_context() as session:
|
||||||
|
original_loop = asyncio.get_event_loop()
|
||||||
|
try:
|
||||||
|
loop = asyncio.new_event_loop()
|
||||||
|
asyncio.set_event_loop(loop)
|
||||||
|
parser = get_parser(RegisteredParser.brute, unique_local_group_id, session)
|
||||||
|
parsed = loop.run_until_complete(parser.parse_one(input_str))
|
||||||
|
finally:
|
||||||
|
loop.close()
|
||||||
|
asyncio.set_event_loop(original_loop)
|
||||||
|
|
||||||
|
conf = parsed.confidence
|
||||||
|
|
||||||
|
assert conf.quantity == 1
|
||||||
|
assert conf.comment == 1
|
||||||
|
assert conf.unit == (1 if expect_unit_match or not unit else 0)
|
||||||
|
assert conf.food == (1 if expect_food_match or not food else 0)
|
||||||
|
assert conf.average == expected_avg
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
"input, expected_unit_name, expected_food_name, expect_unit_match, expect_food_match",
|
"input, expected_unit_name, expected_food_name, expect_unit_match, expect_food_match",
|
||||||
(
|
(
|
||||||
|
|
|
@ -173,8 +173,6 @@ units = "/api/units"
|
||||||
"""`/api/units`"""
|
"""`/api/units`"""
|
||||||
units_merge = "/api/units/merge"
|
units_merge = "/api/units/merge"
|
||||||
"""`/api/units/merge`"""
|
"""`/api/units/merge`"""
|
||||||
users = "/api/users"
|
|
||||||
"""`/api/users`"""
|
|
||||||
users_api_tokens = "/api/users/api-tokens"
|
users_api_tokens = "/api/users/api-tokens"
|
||||||
"""`/api/users/api-tokens`"""
|
"""`/api/users/api-tokens`"""
|
||||||
users_forgot_password = "/api/users/forgot-password"
|
users_forgot_password = "/api/users/forgot-password"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue