mirror of
https://github.com/mealie-recipes/mealie.git
synced 2026-06-14 21:10:13 -04:00
Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4101797c0e | ||
|
|
6110200a04 | ||
|
|
49f1e76776 | ||
|
|
24e9417d02 | ||
|
|
69d6985f3b | ||
|
|
84cdeb2398 | ||
|
|
6d439de144 | ||
|
|
1b586f8c67 | ||
|
|
f82f387146 | ||
|
|
d31c07a6c5 | ||
|
|
84372c2f4f | ||
|
|
168ac79daa | ||
|
|
22296277a8 | ||
|
|
6e006458be | ||
|
|
76a2fea076 |
@@ -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.14.14
|
rev: v0.15.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: ruff
|
- id: ruff
|
||||||
- id: ruff-format
|
- id: ruff-format
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
###############################################
|
###############################################
|
||||||
# Frontend Build
|
# Frontend Build
|
||||||
###############################################
|
###############################################
|
||||||
FROM node:24@sha256:b2b2184ba9b78c022e1d6a7924ec6fba577adf28f15c9d9c457730cc4ad3807a \
|
FROM node:24@sha256:1de022d8459f896fff2e7b865823699dc7a8d5567507e8b87b14a7442e07f206 \
|
||||||
AS frontend-builder
|
AS frontend-builder
|
||||||
|
|
||||||
WORKDIR /frontend
|
WORKDIR /frontend
|
||||||
|
|||||||
@@ -91,12 +91,12 @@ This filter will find all recipes that have particular slugs: <br>
|
|||||||
`slug IN ["pasta-fagioli", "delicious-ramen"]`
|
`slug IN ["pasta-fagioli", "delicious-ramen"]`
|
||||||
|
|
||||||
##### Placeholder Keywords
|
##### Placeholder Keywords
|
||||||
You can use placeholders to insert dynamic values as opposed to static values. Currently the only supported placeholder keyword is `$NOW`, to insert the current time.
|
You can use placeholders to insert dynamic values as opposed to static values. Currently the only supported placeholder keyword is `$NOW`, to insert the current date/time.
|
||||||
|
|
||||||
`$NOW` can optionally be paired with basic offsets. Here is an example of a filter which gives you recipes not made within the past 30 days: <br>
|
`$NOW` can optionally be paired with basic offsets. Here is an example of a filter which gives you recipes not made within the past 30 days: <br>
|
||||||
`lastMade <= "$NOW-30d"`
|
`lastMade <= "$NOW-30d"`
|
||||||
|
|
||||||
Supported offsets operations include:
|
Supported offset operations include:
|
||||||
|
|
||||||
- `-` for subtracting a time (i.e. in the past)
|
- `-` for subtracting a time (i.e. in the past)
|
||||||
- `+` for adding a time (i.e. in the future)
|
- `+` for adding a time (i.e. in the future)
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ To deploy mealie on your local network, it is highly recommended to use Docker t
|
|||||||
We've gone through a few versions of Mealie v1 deployment targets. We have settled on a single container deployment, and we've begun publishing the nightly container on github containers. If you're looking to move from the old nightly (split containers _or_ the omni image) to the new nightly, there are a few things you need to do:
|
We've gone through a few versions of Mealie v1 deployment targets. We have settled on a single container deployment, and we've begun publishing the nightly container on github containers. If you're looking to move from the old nightly (split containers _or_ the omni image) to the new nightly, there are a few things you need to do:
|
||||||
|
|
||||||
1. Take a backup just in case!
|
1. Take a backup just in case!
|
||||||
2. Replace the image for the API container with `ghcr.io/mealie-recipes/mealie:v3.10.0`
|
2. Replace the image for the API container with `ghcr.io/mealie-recipes/mealie:v3.10.2`
|
||||||
3. Take the external port from the frontend container and set that as the port mapped to port `9000` on the new container. The frontend is now served on port 9000 from the new container, so it will need to be mapped for you to have access.
|
3. Take the external port from the frontend container and set that as the port mapped to port `9000` on the new container. The frontend is now served on port 9000 from the new container, so it will need to be mapped for you to have access.
|
||||||
4. Restart the container
|
4. Restart the container
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ PostgreSQL might be considered if you need to support many concurrent users. In
|
|||||||
```yaml
|
```yaml
|
||||||
services:
|
services:
|
||||||
mealie:
|
mealie:
|
||||||
image: ghcr.io/mealie-recipes/mealie:v3.10.0 # (3)
|
image: ghcr.io/mealie-recipes/mealie:v3.10.2 # (3)
|
||||||
container_name: mealie
|
container_name: mealie
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ SQLite is a popular, open source, self-contained, zero-configuration database th
|
|||||||
```yaml
|
```yaml
|
||||||
services:
|
services:
|
||||||
mealie:
|
mealie:
|
||||||
image: ghcr.io/mealie-recipes/mealie:v3.10.0 # (3)
|
image: ghcr.io/mealie-recipes/mealie:v3.10.2 # (3)
|
||||||
container_name: mealie
|
container_name: mealie
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
clearable
|
clearable
|
||||||
/>
|
/>
|
||||||
<div />
|
<div />
|
||||||
<div class="d-flex py-4 px-1 align-center">
|
<div class="d-flex flex-wrap py-4 px-1 align-center">
|
||||||
<v-btn-toggle
|
<v-btn-toggle
|
||||||
v-if="requireAll != undefined"
|
v-if="requireAll != undefined"
|
||||||
v-model="combinator"
|
v-model="combinator"
|
||||||
@@ -46,6 +46,7 @@
|
|||||||
density="compact"
|
density="compact"
|
||||||
variant="outlined"
|
variant="outlined"
|
||||||
color="primary"
|
color="primary"
|
||||||
|
class="my-1"
|
||||||
>
|
>
|
||||||
<v-btn value="hasAll">
|
<v-btn value="hasAll">
|
||||||
{{ $t('search.has-all') }}
|
{{ $t('search.has-all') }}
|
||||||
@@ -58,6 +59,7 @@
|
|||||||
<v-btn
|
<v-btn
|
||||||
size="small"
|
size="small"
|
||||||
color="accent"
|
color="accent"
|
||||||
|
class="my-1"
|
||||||
@click="clearSelection"
|
@click="clearSelection"
|
||||||
>
|
>
|
||||||
{{ $t("search.clear-selection") }}
|
{{ $t("search.clear-selection") }}
|
||||||
|
|||||||
@@ -212,8 +212,8 @@
|
|||||||
"upload-file": "Upload fil",
|
"upload-file": "Upload fil",
|
||||||
"created-on-date": "Oprettet den: {0}",
|
"created-on-date": "Oprettet den: {0}",
|
||||||
"unsaved-changes": "Du har ændringer som ikke er gemt. Vil du gemme før du forlader? Vælg \"Okay\" for at gemme, eller \"Annullér\" for at kassere ændringer.",
|
"unsaved-changes": "Du har ændringer som ikke er gemt. Vil du gemme før du forlader? Vælg \"Okay\" for at gemme, eller \"Annullér\" for at kassere ændringer.",
|
||||||
"discard-changes": "Discard Changes",
|
"discard-changes": "Kassér ændringer",
|
||||||
"discard-changes-description": "You have unsaved changes. Are you sure you want to discard them?",
|
"discard-changes-description": "Du har ændringer, der ikke er gemt. Er du sikker på, at du vil kassere dem?",
|
||||||
"clipboard-copy-failure": "Kopiering til udklipsholderen mislykkedes.",
|
"clipboard-copy-failure": "Kopiering til udklipsholderen mislykkedes.",
|
||||||
"confirm-delete-generic-items": "Er du sikker på at du ønsker at slette de valgte emner?",
|
"confirm-delete-generic-items": "Er du sikker på at du ønsker at slette de valgte emner?",
|
||||||
"organizers": "Organisatorer",
|
"organizers": "Organisatorer",
|
||||||
@@ -370,8 +370,8 @@
|
|||||||
"applies-to-all-days": "Gælder for alle dage",
|
"applies-to-all-days": "Gælder for alle dage",
|
||||||
"applies-on-days": "Gælder for {0}e",
|
"applies-on-days": "Gælder for {0}e",
|
||||||
"meal-plan-settings": "Indstillinger for madplanlægning",
|
"meal-plan-settings": "Indstillinger for madplanlægning",
|
||||||
"add-all-to-list": "Add All to List",
|
"add-all-to-list": "Tilføj alle til liste",
|
||||||
"add-day-to-list": "Add Day to List"
|
"add-day-to-list": "Tilføj dag til liste"
|
||||||
},
|
},
|
||||||
"migration": {
|
"migration": {
|
||||||
"migration-data-removed": "Migreringsdata fjernet",
|
"migration-data-removed": "Migreringsdata fjernet",
|
||||||
@@ -644,7 +644,7 @@
|
|||||||
"scrape-recipe-website-being-blocked": "Bliver hjemmesiden blokeret?",
|
"scrape-recipe-website-being-blocked": "Bliver hjemmesiden blokeret?",
|
||||||
"scrape-recipe-try-importing-raw-html-instead": "Forsøg at importere den rå HTML i stedet.",
|
"scrape-recipe-try-importing-raw-html-instead": "Forsøg at importere den rå HTML i stedet.",
|
||||||
"import-original-keywords-as-tags": "Importér originale nøgleord som mærker",
|
"import-original-keywords-as-tags": "Importér originale nøgleord som mærker",
|
||||||
"import-original-categories": "Import original categories",
|
"import-original-categories": "Importér originale kategorier",
|
||||||
"stay-in-edit-mode": "Bliv i redigeringstilstand",
|
"stay-in-edit-mode": "Bliv i redigeringstilstand",
|
||||||
"parse-recipe-ingredients-after-import": "Fortolk opskrift ingredienser efter import",
|
"parse-recipe-ingredients-after-import": "Fortolk opskrift ingredienser efter import",
|
||||||
"import-from-zip": "Importer fra zip-fil",
|
"import-from-zip": "Importer fra zip-fil",
|
||||||
|
|||||||
@@ -212,8 +212,8 @@
|
|||||||
"upload-file": "Datei hochladen",
|
"upload-file": "Datei hochladen",
|
||||||
"created-on-date": "Erstellt am: {0}",
|
"created-on-date": "Erstellt am: {0}",
|
||||||
"unsaved-changes": "Du hast ungespeicherte Änderungen. Möchtest du vor dem Verlassen speichern? OK um zu speichern, Cancel um Änderungen zu verwerfen.",
|
"unsaved-changes": "Du hast ungespeicherte Änderungen. Möchtest du vor dem Verlassen speichern? OK um zu speichern, Cancel um Änderungen zu verwerfen.",
|
||||||
"discard-changes": "Discard Changes",
|
"discard-changes": "Änderungen verwerfen",
|
||||||
"discard-changes-description": "You have unsaved changes. Are you sure you want to discard them?",
|
"discard-changes-description": "Du hast ungespeicherte Änderungen. Bist du sicher, dass du sie verwerfen möchtest?",
|
||||||
"clipboard-copy-failure": "Fehler beim Kopieren in die Zwischenablage.",
|
"clipboard-copy-failure": "Fehler beim Kopieren in die Zwischenablage.",
|
||||||
"confirm-delete-generic-items": "Bist du dir sicher, dass du die folgenden Einträge löschen möchtest?",
|
"confirm-delete-generic-items": "Bist du dir sicher, dass du die folgenden Einträge löschen möchtest?",
|
||||||
"organizers": "Organisieren",
|
"organizers": "Organisieren",
|
||||||
@@ -370,8 +370,8 @@
|
|||||||
"applies-to-all-days": "Gilt an allen Tagen",
|
"applies-to-all-days": "Gilt an allen Tagen",
|
||||||
"applies-on-days": "Gilt {0}s",
|
"applies-on-days": "Gilt {0}s",
|
||||||
"meal-plan-settings": "Essensplan Einstellungen",
|
"meal-plan-settings": "Essensplan Einstellungen",
|
||||||
"add-all-to-list": "Add All to List",
|
"add-all-to-list": "Alle zur Einkaufsliste hinzufügen",
|
||||||
"add-day-to-list": "Add Day to List"
|
"add-day-to-list": "Tag zur Einkaufsliste hinzufügen"
|
||||||
},
|
},
|
||||||
"migration": {
|
"migration": {
|
||||||
"migration-data-removed": "Migrationsdaten entfernt",
|
"migration-data-removed": "Migrationsdaten entfernt",
|
||||||
@@ -644,7 +644,7 @@
|
|||||||
"scrape-recipe-website-being-blocked": "Die Website wird blockiert?",
|
"scrape-recipe-website-being-blocked": "Die Website wird blockiert?",
|
||||||
"scrape-recipe-try-importing-raw-html-instead": "Versuche stattdessen das reine HTML zu importieren.",
|
"scrape-recipe-try-importing-raw-html-instead": "Versuche stattdessen das reine HTML zu importieren.",
|
||||||
"import-original-keywords-as-tags": "Importiere ursprüngliche Stichwörter als Schlagwörter",
|
"import-original-keywords-as-tags": "Importiere ursprüngliche Stichwörter als Schlagwörter",
|
||||||
"import-original-categories": "Import original categories",
|
"import-original-categories": "Importiere ursprüngliche Kategorien",
|
||||||
"stay-in-edit-mode": "Im Bearbeitungsmodus bleiben",
|
"stay-in-edit-mode": "Im Bearbeitungsmodus bleiben",
|
||||||
"parse-recipe-ingredients-after-import": "Zutaten nach dem Import parsen",
|
"parse-recipe-ingredients-after-import": "Zutaten nach dem Import parsen",
|
||||||
"import-from-zip": "Von Zip importieren",
|
"import-from-zip": "Von Zip importieren",
|
||||||
|
|||||||
@@ -644,7 +644,7 @@
|
|||||||
"scrape-recipe-website-being-blocked": "Η ιστοσελίδα μπλοκάρεται;",
|
"scrape-recipe-website-being-blocked": "Η ιστοσελίδα μπλοκάρεται;",
|
||||||
"scrape-recipe-try-importing-raw-html-instead": "Δοκιμάστε να εισάγετε τον ακατέργαστο κώδικα HTML.",
|
"scrape-recipe-try-importing-raw-html-instead": "Δοκιμάστε να εισάγετε τον ακατέργαστο κώδικα HTML.",
|
||||||
"import-original-keywords-as-tags": "Εισαγωγή αρχικών λέξεων-κλειδιών ως ετικέτες",
|
"import-original-keywords-as-tags": "Εισαγωγή αρχικών λέξεων-κλειδιών ως ετικέτες",
|
||||||
"import-original-categories": "Import original categories",
|
"import-original-categories": "Εισαγωγή αρχικών κατηγοριών",
|
||||||
"stay-in-edit-mode": "Παραμονή σε λειτουργία επεξεργασίας",
|
"stay-in-edit-mode": "Παραμονή σε λειτουργία επεξεργασίας",
|
||||||
"parse-recipe-ingredients-after-import": "Ανάλυση συστατικών συνταγής μετά την εισαγωγή",
|
"parse-recipe-ingredients-after-import": "Ανάλυση συστατικών συνταγής μετά την εισαγωγή",
|
||||||
"import-from-zip": "Εισαγωγή μέσω zip",
|
"import-from-zip": "Εισαγωγή μέσω zip",
|
||||||
|
|||||||
@@ -212,7 +212,7 @@
|
|||||||
"upload-file": "Lae fail üles",
|
"upload-file": "Lae fail üles",
|
||||||
"created-on-date": "Loodud: {0}",
|
"created-on-date": "Loodud: {0}",
|
||||||
"unsaved-changes": "Sul on salvestamata muudatusi. Kas sa tahad salvestada enne lehelt lahkumist? Vajuta OK salvestamiseks või Tühista, et muudatused tühistada.",
|
"unsaved-changes": "Sul on salvestamata muudatusi. Kas sa tahad salvestada enne lehelt lahkumist? Vajuta OK salvestamiseks või Tühista, et muudatused tühistada.",
|
||||||
"discard-changes": "Discard Changes",
|
"discard-changes": "Loobu muudatustest",
|
||||||
"discard-changes-description": "You have unsaved changes. Are you sure you want to discard them?",
|
"discard-changes-description": "You have unsaved changes. Are you sure you want to discard them?",
|
||||||
"clipboard-copy-failure": "Lõikepuhvrisse kopeerimine ebaõnnestus.",
|
"clipboard-copy-failure": "Lõikepuhvrisse kopeerimine ebaõnnestus.",
|
||||||
"confirm-delete-generic-items": "Kas oled kindel, et tahad kustutada järgnevad asjad?",
|
"confirm-delete-generic-items": "Kas oled kindel, et tahad kustutada järgnevad asjad?",
|
||||||
@@ -344,9 +344,9 @@
|
|||||||
"breakfast": "Hommikusöök",
|
"breakfast": "Hommikusöök",
|
||||||
"lunch": "Lõuna",
|
"lunch": "Lõuna",
|
||||||
"dinner": "Õhtusöök",
|
"dinner": "Õhtusöök",
|
||||||
"snack": "Snack",
|
"snack": "Snäkk",
|
||||||
"drink": "Drink",
|
"drink": "Jook",
|
||||||
"dessert": "Dessert",
|
"dessert": "Magustoit",
|
||||||
"type-any": "Kõik",
|
"type-any": "Kõik",
|
||||||
"day-any": "Kõik",
|
"day-any": "Kõik",
|
||||||
"editor": "Editor",
|
"editor": "Editor",
|
||||||
|
|||||||
@@ -370,8 +370,8 @@
|
|||||||
"applies-to-all-days": "Minden napra vonatkozóan",
|
"applies-to-all-days": "Minden napra vonatkozóan",
|
||||||
"applies-on-days": "Érvényes {0}-ként",
|
"applies-on-days": "Érvényes {0}-ként",
|
||||||
"meal-plan-settings": "Menütervező beállításai",
|
"meal-plan-settings": "Menütervező beállításai",
|
||||||
"add-all-to-list": "Add All to List",
|
"add-all-to-list": "Összes hozzáadása a listához",
|
||||||
"add-day-to-list": "Add Day to List"
|
"add-day-to-list": "Nap hozzáadása a listához"
|
||||||
},
|
},
|
||||||
"migration": {
|
"migration": {
|
||||||
"migration-data-removed": "Migrációs adatok eltávolítva",
|
"migration-data-removed": "Migrációs adatok eltávolítva",
|
||||||
|
|||||||
@@ -43,8 +43,8 @@
|
|||||||
"category-deleted": "카테고리 삭제됨",
|
"category-deleted": "카테고리 삭제됨",
|
||||||
"category-deletion-failed": "카테고리 삭제 실패",
|
"category-deletion-failed": "카테고리 삭제 실패",
|
||||||
"category-filter": "카테고리 필터",
|
"category-filter": "카테고리 필터",
|
||||||
"category-update-failed": "Category 업데이트 실패",
|
"category-update-failed": "카테고리 수정 실패",
|
||||||
"category-updated": "카테고리 업데이트",
|
"category-updated": "카테고리 수정됨",
|
||||||
"uncategorized-count": "카테고리 없음 {count}",
|
"uncategorized-count": "카테고리 없음 {count}",
|
||||||
"create-a-category": "카테고리 생성",
|
"create-a-category": "카테고리 생성",
|
||||||
"category-name": "카테고리 이름",
|
"category-name": "카테고리 이름",
|
||||||
@@ -56,7 +56,7 @@
|
|||||||
"delete-event": "이벤트 삭제",
|
"delete-event": "이벤트 삭제",
|
||||||
"event-delete-confirmation": "정말로 이 이벤트를 삭제하시겠어요?",
|
"event-delete-confirmation": "정말로 이 이벤트를 삭제하시겠어요?",
|
||||||
"event-deleted": "이벤트 삭제됨",
|
"event-deleted": "이벤트 삭제됨",
|
||||||
"event-updated": "이벤트 업데이트됨",
|
"event-updated": "이벤트 수정됨",
|
||||||
"new-notification-form-description": "Mealie는 Apprise 라이브러리를 사용하여 알림을 생성합니다. 알림에 사용할 서비스에 대한 다양한 옵션을 제공합니다. 서비스의 URL을 만드는 방법에 대한 종합적인 가이드는 해당 Wiki 문서를 참조하세요. 알림 유형에 따라 추가 기능이 포함될 수 있습니다.",
|
"new-notification-form-description": "Mealie는 Apprise 라이브러리를 사용하여 알림을 생성합니다. 알림에 사용할 서비스에 대한 다양한 옵션을 제공합니다. 서비스의 URL을 만드는 방법에 대한 종합적인 가이드는 해당 Wiki 문서를 참조하세요. 알림 유형에 따라 추가 기능이 포함될 수 있습니다.",
|
||||||
"new-version": "새로운 버전 사용 가능",
|
"new-version": "새로운 버전 사용 가능",
|
||||||
"notification": "알림",
|
"notification": "알림",
|
||||||
@@ -69,12 +69,12 @@
|
|||||||
"new-notification": "새 알림",
|
"new-notification": "새 알림",
|
||||||
"event-notifiers": "이벤트 알림이",
|
"event-notifiers": "이벤트 알림이",
|
||||||
"apprise-url-skipped-if-blank": "Apprise URL (비워두면 생략합니다)",
|
"apprise-url-skipped-if-blank": "Apprise URL (비워두면 생략합니다)",
|
||||||
"apprise-url-is-left-intentionally-blank": "Apprise URL에는 일반적으로 민감한 정보가 포함되므로, 편집 시 이 필드는 의도적으로 비워둡니다. URL을 업데이트하려면 여기에 새 주소를 입력하시고, 현재 URL을 유지하려면 비워두십시오.",
|
"apprise-url-is-left-intentionally-blank": "Apprise URL에는 일반적으로 민감한 정보가 포함되므로, 편집 시 이 필드는 의도적으로 비워둡니다. URL을 수정하려면 여기에 새 주소를 입력하시고, 현재 URL을 유지하려면 비워두십시오.",
|
||||||
"enable-notifier": "알림 활성화",
|
"enable-notifier": "알림 활성화",
|
||||||
"what-events": "이 알리미는 어떤 이벤트를 구독해야 합니까?",
|
"what-events": "이 알리미는 어떤 이벤트를 구독해야 합니까?",
|
||||||
"user-events": "사용자 이벤트",
|
"user-events": "사용자 이벤트",
|
||||||
"mealplan-events": "Mealplan 이벤트",
|
"mealplan-events": "Mealplan 이벤트",
|
||||||
"when-a-user-in-your-group-creates-a-new-mealplan": "그룹의 사용자가 새로운 식사 계획을 만들 때",
|
"when-a-user-in-your-group-creates-a-new-mealplan": "그룹의 사용자가 새로운 식단 계획을 만들 때",
|
||||||
"shopping-list-events": "장보기 목록 이벤트",
|
"shopping-list-events": "장보기 목록 이벤트",
|
||||||
"cookbook-events": "요리책 이벤트",
|
"cookbook-events": "요리책 이벤트",
|
||||||
"tag-events": "Tag 이벤트",
|
"tag-events": "Tag 이벤트",
|
||||||
@@ -92,7 +92,7 @@
|
|||||||
"confirm-how-does-everything-look": "모든 게 어떻게 보이나요?",
|
"confirm-how-does-everything-look": "모든 게 어떻게 보이나요?",
|
||||||
"confirm-delete-generic": "이 항목을 삭제하시겠습니까?",
|
"confirm-delete-generic": "이 항목을 삭제하시겠습니까?",
|
||||||
"copied_message": "복사됨!",
|
"copied_message": "복사됨!",
|
||||||
"create": "만들기",
|
"create": "생성",
|
||||||
"created": "생성됨",
|
"created": "생성됨",
|
||||||
"custom": "사용자 정의",
|
"custom": "사용자 정의",
|
||||||
"dashboard": "대시보드",
|
"dashboard": "대시보드",
|
||||||
@@ -212,11 +212,11 @@
|
|||||||
"upload-file": "파일 업로드",
|
"upload-file": "파일 업로드",
|
||||||
"created-on-date": "생성일: {0}",
|
"created-on-date": "생성일: {0}",
|
||||||
"unsaved-changes": "저장되지 않은 변경 사항이 있습니다. 떠나기 전에 저장하시겠습니까? 저장하려면 확인을 클릭하고, 변경 사항을 삭제하려면 취소를 클릭합니다.",
|
"unsaved-changes": "저장되지 않은 변경 사항이 있습니다. 떠나기 전에 저장하시겠습니까? 저장하려면 확인을 클릭하고, 변경 사항을 삭제하려면 취소를 클릭합니다.",
|
||||||
"discard-changes": "Discard Changes",
|
"discard-changes": "변경사항 취소",
|
||||||
"discard-changes-description": "You have unsaved changes. Are you sure you want to discard them?",
|
"discard-changes-description": "저장되지 않은 변경사항이 있습니다. 삭제하시겠습니까?",
|
||||||
"clipboard-copy-failure": "클립보드에 복사하는 데 실패했습니다.",
|
"clipboard-copy-failure": "클립보드에 복사하는 데 실패했습니다.",
|
||||||
"confirm-delete-generic-items": "이 항목을 삭제하시겠습니까?",
|
"confirm-delete-generic-items": "이 항목을 삭제하시겠습니까?",
|
||||||
"organizers": "분류자",
|
"organizers": "정리 도구",
|
||||||
"caution": "주의",
|
"caution": "주의",
|
||||||
"show-advanced": "고급 표시",
|
"show-advanced": "고급 표시",
|
||||||
"add-field": "필드 추가",
|
"add-field": "필드 추가",
|
||||||
@@ -228,8 +228,8 @@
|
|||||||
"cannot-delete-default-group": "기본 그룹은 삭제할 수 없습니다",
|
"cannot-delete-default-group": "기본 그룹은 삭제할 수 없습니다",
|
||||||
"cannot-delete-group-with-users": "사용자가 있는 그룹은 삭제할 수 없습니다.",
|
"cannot-delete-group-with-users": "사용자가 있는 그룹은 삭제할 수 없습니다.",
|
||||||
"confirm-group-deletion": "그룹을 삭제할까요?",
|
"confirm-group-deletion": "그룹을 삭제할까요?",
|
||||||
"create-group": "그룹 만들기",
|
"create-group": "그룹 생성",
|
||||||
"error-updating-group": "그룹 업데이트 오류",
|
"error-updating-group": "그룹 수정 오류",
|
||||||
"group": "그룹",
|
"group": "그룹",
|
||||||
"group-deleted": "그룹 삭제됨",
|
"group-deleted": "그룹 삭제됨",
|
||||||
"group-deletion-failed": "그룹 삭제 실패",
|
"group-deletion-failed": "그룹 삭제 실패",
|
||||||
@@ -252,7 +252,7 @@
|
|||||||
"manage": "관리",
|
"manage": "관리",
|
||||||
"manage-household": "가구 관리",
|
"manage-household": "가구 관리",
|
||||||
"invite": "초대하기",
|
"invite": "초대하기",
|
||||||
"looking-to-update-your-profile": "프로필을 업데이트하시겠습니까?",
|
"looking-to-update-your-profile": "프로필을 업데이트하고 싶으신가요?",
|
||||||
"default-recipe-preferences-description": "이 설정은 그룹에서 새 레시피를 생성할 때 적용되는 기본값입니다. 레시피 설정 메뉴에서 개별 레시피별로 변경할 수 있습니다.",
|
"default-recipe-preferences-description": "이 설정은 그룹에서 새 레시피를 생성할 때 적용되는 기본값입니다. 레시피 설정 메뉴에서 개별 레시피별로 변경할 수 있습니다.",
|
||||||
"default-recipe-preferences": "기본 레시피 설정",
|
"default-recipe-preferences": "기본 레시피 설정",
|
||||||
"group-preferences": "그룹 설정",
|
"group-preferences": "그룹 설정",
|
||||||
@@ -306,34 +306,34 @@
|
|||||||
"household-preferences": "가구 설정"
|
"household-preferences": "가구 설정"
|
||||||
},
|
},
|
||||||
"meal-plan": {
|
"meal-plan": {
|
||||||
"create-a-new-meal-plan": "새로운 식사 계획 생성",
|
"create-a-new-meal-plan": "새로운 식단 계획 생성",
|
||||||
"update-this-meal-plan": "이 식사 계획 업데이트",
|
"update-this-meal-plan": "이 식단 계획 수정",
|
||||||
"dinner-this-week": "이번 주 저녁 식사",
|
"dinner-this-week": "이번 주 저녁 식사",
|
||||||
"dinner-today": "오늘 저녁 식사",
|
"dinner-today": "오늘 저녁 식사",
|
||||||
"dinner-tonight": "오늘 밤 저녁 식사",
|
"dinner-tonight": "오늘 밤 저녁 식사",
|
||||||
"edit-meal-plan": "식사 계획 편집",
|
"edit-meal-plan": "식단 계획 편집",
|
||||||
"end-date": "종료 날짜",
|
"end-date": "종료 날짜",
|
||||||
"group": "그룹(베타)",
|
"group": "그룹(베타)",
|
||||||
"main": "메인",
|
"main": "메인",
|
||||||
"meal-planner": "식단 플래너",
|
"meal-planner": "식단 플래너",
|
||||||
"meal-plans": "식단 계획",
|
"meal-plans": "식단 계획",
|
||||||
"mealplan-categories": "식사 계획 카테고리",
|
"mealplan-categories": "식단 계획 카테고리",
|
||||||
"mealplan-created": "식사 계획이 생성됨",
|
"mealplan-created": "식단 계획이 생성됨",
|
||||||
"mealplan-creation-failed": "식사 계획 생성 실패",
|
"mealplan-creation-failed": "식단 계획 생성 실패",
|
||||||
"mealplan-deleted": "식사 계획 삭제됨",
|
"mealplan-deleted": "식단 계획 삭제됨",
|
||||||
"mealplan-deletion-failed": "식사계획 삭제 실패",
|
"mealplan-deletion-failed": "식단 계획 삭제 실패",
|
||||||
"mealplan-settings": "식사 계획 설정",
|
"mealplan-settings": "식단 계획 설정",
|
||||||
"mealplan-update-failed": "식사 계획 업데이트 실패",
|
"mealplan-update-failed": "식단 계획 수정 실패",
|
||||||
"mealplan-updated": "식사 계획이 업데이트됨",
|
"mealplan-updated": "식단 계획 수정됨",
|
||||||
"mealplan-households-description": "가구를 선택하지 않은 경우 모든 가구의 레시피를 추가할 수 있습니다.",
|
"mealplan-households-description": "가구를 선택하지 않은 경우 모든 가구의 레시피를 추가할 수 있습니다.",
|
||||||
"any-category": "모든 카테고리",
|
"any-category": "모든 카테고리",
|
||||||
"any-tag": "모든 태그",
|
"any-tag": "모든 태그",
|
||||||
"any-household": "모든 가구",
|
"any-household": "모든 가구",
|
||||||
"no-meal-plan-defined-yet": "아직 식사 계획이 정의되지 않았습니다.",
|
"no-meal-plan-defined-yet": "아직 식단 계획이 정의되지 않았습니다.",
|
||||||
"no-meal-planned-for-today": "오늘은 식사 계획이 없습니다",
|
"no-meal-planned-for-today": "오늘은 식단 계획이 없습니다",
|
||||||
"numberOfDays-hint": "페이지 로드 일수",
|
"numberOfDays-hint": "페이지 로드 일수",
|
||||||
"numberOfDays-label": "기본 일수",
|
"numberOfDays-label": "기본 일수",
|
||||||
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "이 카테고리의 레시피만 식사 계획에 사용됩니다.",
|
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "이 카테고리의 레시피만 식단 계획에 사용됩니다.",
|
||||||
"planner": "플래너",
|
"planner": "플래너",
|
||||||
"quick-week": "빠른 주",
|
"quick-week": "빠른 주",
|
||||||
"side": "사이드",
|
"side": "사이드",
|
||||||
@@ -364,14 +364,14 @@
|
|||||||
"for-type-meal-types": "{0} 식사 종류에",
|
"for-type-meal-types": "{0} 식사 종류에",
|
||||||
"meal-plan-rules": "식단 계획 규칙",
|
"meal-plan-rules": "식단 계획 규칙",
|
||||||
"new-rule": "새 규칙",
|
"new-rule": "새 규칙",
|
||||||
"meal-plan-rules-description": "식단 계획에 사용할 레시피를 자동 선택하는 규칙을 생성할 수 있습니다. 이 규칙들은 서버가 식사 플랜을 생성할 때 선택할 무작위 레시피 풀을 결정하는 데 사용됩니다. 동일한 요일/유형 제약 조건을 가진 규칙들은 필터가 병합된다는 점에 유의하세요. 실제로 중복 규칙을 생성할 필요는 없지만, 생성하는 것은 가능합니다.",
|
"meal-plan-rules-description": "식단 계획에 사용할 레시피를 자동 선택하는 규칙을 생성할 수 있습니다. 이 규칙들은 서버가 식단 계획을 생성할 때 선택할 무작위 레시피 풀을 결정하는 데 사용됩니다. 동일한 요일/유형 제약 조건을 가진 규칙들은 필터가 병합된다는 점에 유의하세요. 실제로 중복 규칙을 생성할 필요는 없지만, 생성하는 것은 가능합니다.",
|
||||||
"new-rule-description": "식단 계획에 새 규칙을 생성할 때, 특정 요일 및/또는 특정 식사 유형에만 적용되도록 규칙을 제한할 수 있습니다. 모든 요일 또는 모든 식사 유형에 규칙을 적용하려면 규칙을 \"모든\"으로 설정하면 됩니다. 이렇게 하면 해당 요일 및/또는 식사 유형의 모든 가능한 값에 규칙이 적용됩니다.",
|
"new-rule-description": "식단 계획에 새 규칙을 생성할 때, 특정 요일 및/또는 특정 식사 유형에만 적용되도록 규칙을 제한할 수 있습니다. 모든 요일 또는 모든 식사 유형에 규칙을 적용하려면 규칙을 \"모든\"으로 설정하면 됩니다. 이렇게 하면 해당 요일 및/또는 식사 유형의 모든 가능한 값에 규칙이 적용됩니다.",
|
||||||
"recipe-rules": "레시피 규칙",
|
"recipe-rules": "레시피 규칙",
|
||||||
"applies-to-all-days": "모든 날짜에 적용됨",
|
"applies-to-all-days": "모든 날짜에 적용됨",
|
||||||
"applies-on-days": "{0}에 적용됨",
|
"applies-on-days": "{0}에 적용됨",
|
||||||
"meal-plan-settings": "식단 계획 설정",
|
"meal-plan-settings": "식단 계획 설정",
|
||||||
"add-all-to-list": "Add All to List",
|
"add-all-to-list": "목록에 전체 추가",
|
||||||
"add-day-to-list": "Add Day to List"
|
"add-day-to-list": "목록에 날짜 추가"
|
||||||
},
|
},
|
||||||
"migration": {
|
"migration": {
|
||||||
"migration-data-removed": "이전된 데이터 제거됨",
|
"migration-data-removed": "이전된 데이터 제거됨",
|
||||||
@@ -455,7 +455,7 @@
|
|||||||
"trim-prefix-description": "각 줄의 첫 문자 제거하기",
|
"trim-prefix-description": "각 줄의 첫 문자 제거하기",
|
||||||
"split-by-numbered-line-description": "'1)' 또는 '1.' 패턴을 일치시켜 문단을 분할하려고 시도합니다.",
|
"split-by-numbered-line-description": "'1)' 또는 '1.' 패턴을 일치시켜 문단을 분할하려고 시도합니다.",
|
||||||
"import-by-url": "URL로 레시피 가져오기",
|
"import-by-url": "URL로 레시피 가져오기",
|
||||||
"create-manually": "수동으로 레시피 만들기",
|
"create-manually": "수동으로 레시피 생성",
|
||||||
"make-recipe-image": "이것을 레시피 이미지로 만드세요.",
|
"make-recipe-image": "이것을 레시피 이미지로 만드세요.",
|
||||||
"add-food": "식품 추가",
|
"add-food": "식품 추가",
|
||||||
"add-recipe": "레시피 추가"
|
"add-recipe": "레시피 추가"
|
||||||
@@ -468,10 +468,10 @@
|
|||||||
"page-creation-failed": "페이지 생성 실패",
|
"page-creation-failed": "페이지 생성 실패",
|
||||||
"page-deleted": "페이지 삭제됨",
|
"page-deleted": "페이지 삭제됨",
|
||||||
"page-deletion-failed": "페이지 삭제 실패",
|
"page-deletion-failed": "페이지 삭제 실패",
|
||||||
"page-update-failed": "페이지 업데이트 실패",
|
"page-update-failed": "페이지 수정 실패",
|
||||||
"page-updated": "페이지 업데이트됨",
|
"page-updated": "페이지 수정됨",
|
||||||
"pages-update-failed": "페이지 업데이트 실패",
|
"pages-update-failed": "페이지 수정 실패",
|
||||||
"pages-updated": "페이지 업데이트됨",
|
"pages-updated": "페이지 수정됨",
|
||||||
"404-not-found": "404 찾을 수 없음",
|
"404-not-found": "404 찾을 수 없음",
|
||||||
"an-error-occurred": "오류가 발생했습니다!"
|
"an-error-occurred": "오류가 발생했습니다!"
|
||||||
},
|
},
|
||||||
@@ -524,7 +524,7 @@
|
|||||||
"recipe-creation-failed": "레시피 생성 실패",
|
"recipe-creation-failed": "레시피 생성 실패",
|
||||||
"recipe-deleted": "레시피 삭제됨",
|
"recipe-deleted": "레시피 삭제됨",
|
||||||
"recipe-image": "레시피 사진",
|
"recipe-image": "레시피 사진",
|
||||||
"recipe-image-updated": "레시피 사진 업데이트됨",
|
"recipe-image-updated": "레시피 사진 수정됨",
|
||||||
"delete-image": "레시피 사진 삭제",
|
"delete-image": "레시피 사진 삭제",
|
||||||
"delete-image-confirmation": "이 레시피 이미지를 삭제하시겠습니까?",
|
"delete-image-confirmation": "이 레시피 이미지를 삭제하시겠습니까?",
|
||||||
"recipe-image-deleted": "레시피 이미지 삭제됨",
|
"recipe-image-deleted": "레시피 이미지 삭제됨",
|
||||||
@@ -552,7 +552,7 @@
|
|||||||
"no-recipe": "레시피 없음",
|
"no-recipe": "레시피 없음",
|
||||||
"locked-by-owner": "소유자에 의해 잠김",
|
"locked-by-owner": "소유자에 의해 잠김",
|
||||||
"join-the-conversation": "대화에 참여하기",
|
"join-the-conversation": "대화에 참여하기",
|
||||||
"add-recipe-to-mealplan": "식사 계획에 레시피 추가",
|
"add-recipe-to-mealplan": "식단 계획에 레시피 추가",
|
||||||
"entry-type": "항목 유형",
|
"entry-type": "항목 유형",
|
||||||
"date-format-hint": "MM/DD/YYYY 형식",
|
"date-format-hint": "MM/DD/YYYY 형식",
|
||||||
"date-format-hint-yyyy-mm-dd": "YYYY-MM-DD 형식",
|
"date-format-hint-yyyy-mm-dd": "YYYY-MM-DD 형식",
|
||||||
@@ -624,8 +624,8 @@
|
|||||||
"create-recipe-description": "처음부터 새로운 레시피를 만드세요.",
|
"create-recipe-description": "처음부터 새로운 레시피를 만드세요.",
|
||||||
"create-recipes": "레시피 생성",
|
"create-recipes": "레시피 생성",
|
||||||
"import-with-zip": ".zip 파일로 가져오기",
|
"import-with-zip": ".zip 파일로 가져오기",
|
||||||
"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": "레시피 텍스트 이미지를 업로드하여 레시피를 생성하세요. Mealie는 AI를 사용하여 이미지에서 텍스트를 추출하고 이를 통해 새로운 레시피를 생성하려고 시도합니다.",
|
||||||
"crop-and-rotate-the-image": "이미지를 잘라내고 회전시켜 텍스트만 보이도록 하고 올바른 방향으로 배치하십시오.",
|
"crop-and-rotate-the-image": "이미지를 잘라내고 회전시켜 텍스트만 보이도록 하고 올바른 방향으로 배치하십시오.",
|
||||||
"create-from-images": "이미지에서 생성",
|
"create-from-images": "이미지에서 생성",
|
||||||
"should-translate-description": "레시피를 내 언어로 번역하기",
|
"should-translate-description": "레시피를 내 언어로 번역하기",
|
||||||
@@ -644,7 +644,7 @@
|
|||||||
"scrape-recipe-website-being-blocked": "웹사이트가 차단되고 있나요?",
|
"scrape-recipe-website-being-blocked": "웹사이트가 차단되고 있나요?",
|
||||||
"scrape-recipe-try-importing-raw-html-instead": "대신 원본 HTML 가져오기를 시도해보세요.",
|
"scrape-recipe-try-importing-raw-html-instead": "대신 원본 HTML 가져오기를 시도해보세요.",
|
||||||
"import-original-keywords-as-tags": "원본 키워드를 태그로 가져오기",
|
"import-original-keywords-as-tags": "원본 키워드를 태그로 가져오기",
|
||||||
"import-original-categories": "Import original categories",
|
"import-original-categories": "원래 카테고리 불러오기",
|
||||||
"stay-in-edit-mode": "편집 모드 유지",
|
"stay-in-edit-mode": "편집 모드 유지",
|
||||||
"parse-recipe-ingredients-after-import": "가져오기 후 레시피 재료 추출",
|
"parse-recipe-ingredients-after-import": "가져오기 후 레시피 재료 추출",
|
||||||
"import-from-zip": "Zip 파일에서 가져오기",
|
"import-from-zip": "Zip 파일에서 가져오기",
|
||||||
@@ -743,7 +743,7 @@
|
|||||||
"search-mealie": "Mealie 검색 (/를 눌러보세요)",
|
"search-mealie": "Mealie 검색 (/를 눌러보세요)",
|
||||||
"search-placeholder": "검색...",
|
"search-placeholder": "검색...",
|
||||||
"tag-filter": "태그 필터",
|
"tag-filter": "태그 필터",
|
||||||
"search-hint": "'/'를 누르세요",
|
"search-hint": "'/'를 눌러보세요",
|
||||||
"advanced": "고급",
|
"advanced": "고급",
|
||||||
"auto-search": "자동 검색",
|
"auto-search": "자동 검색",
|
||||||
"no-results": "검색 결과가 없습니다.",
|
"no-results": "검색 결과가 없습니다.",
|
||||||
@@ -759,7 +759,7 @@
|
|||||||
"restore-success": "복원 성공!",
|
"restore-success": "복원 성공!",
|
||||||
"restore-fail": "복원이 실패했습니다. 자세한 내용은 서버 로그를 확인하십시오.",
|
"restore-fail": "복원이 실패했습니다. 자세한 내용은 서버 로그를 확인하십시오.",
|
||||||
"backup-tag": "백업 태그",
|
"backup-tag": "백업 태그",
|
||||||
"create-heading": "Create a Backup",
|
"create-heading": "백업 생성하기",
|
||||||
"delete-backup": "백업 삭제",
|
"delete-backup": "백업 삭제",
|
||||||
"error-creating-backup-see-log-file": "백업 생성 중 오류 발생. 로그 파일을 참조하십시오.",
|
"error-creating-backup-see-log-file": "백업 생성 중 오류 발생. 로그 파일을 참조하십시오.",
|
||||||
"full-backup": "전체 백업",
|
"full-backup": "전체 백업",
|
||||||
@@ -803,7 +803,7 @@
|
|||||||
"profile": "프로필",
|
"profile": "프로필",
|
||||||
"remove-existing-entries-matching-imported-entries": "가져온 항목과 일치하는 기존 항목을 제거합니다",
|
"remove-existing-entries-matching-imported-entries": "가져온 항목과 일치하는 기존 항목을 제거합니다",
|
||||||
"set-new-time": "새 시간 설정",
|
"set-new-time": "새 시간 설정",
|
||||||
"settings-update-failed": "설정 업데이트 실패",
|
"settings-update-failed": "설정 수정 실패",
|
||||||
"settings-updated": "설정 업데이트",
|
"settings-updated": "설정 업데이트",
|
||||||
"site-settings": "사이트 설정",
|
"site-settings": "사이트 설정",
|
||||||
"theme": {
|
"theme": {
|
||||||
@@ -1029,7 +1029,7 @@
|
|||||||
"register": "등록",
|
"register": "등록",
|
||||||
"reset-password": "비밀번호 재설정",
|
"reset-password": "비밀번호 재설정",
|
||||||
"sign-in": "로그인",
|
"sign-in": "로그인",
|
||||||
"total-mealplans": "전체 MealPlan 수",
|
"total-mealplans": "전체 식단 계획 수",
|
||||||
"total-users": "전체 사용자 수",
|
"total-users": "전체 사용자 수",
|
||||||
"upload-photo": "사진 업로드",
|
"upload-photo": "사진 업로드",
|
||||||
"use-8-characters-or-more-for-your-password": "비밀번호는 8자 이상으로 설정하십시오",
|
"use-8-characters-or-more-for-your-password": "비밀번호는 8자 이상으로 설정하십시오",
|
||||||
@@ -1073,7 +1073,7 @@
|
|||||||
"user-details": "사용자 정보",
|
"user-details": "사용자 정보",
|
||||||
"user-name": "사용자 이름",
|
"user-name": "사용자 이름",
|
||||||
"authentication-method": "인증 방식",
|
"authentication-method": "인증 방식",
|
||||||
"authentication-method-hint": "This specifies how a user will authenticate with Mealie. If you're not sure, choose 'Mealie",
|
"authentication-method-hint": "이 설정은 사용자가 Mealie에 어떻게 인증할지 지정합니다. 잘 모르겠다면 'Mealie'를 선택하세요.",
|
||||||
"permissions": "권한",
|
"permissions": "권한",
|
||||||
"administrator": "관리자",
|
"administrator": "관리자",
|
||||||
"user-can-invite-other-to-group": "사용자는 다른 사용자를 그룹에 초대할 수 있습니다",
|
"user-can-invite-other-to-group": "사용자는 다른 사용자를 그룹에 초대할 수 있습니다",
|
||||||
@@ -1100,8 +1100,8 @@
|
|||||||
"foods": {
|
"foods": {
|
||||||
"merge-dialog-text": "선택한 식품을 병합하면 원본 식품과 대상 식품이 하나의 식품으로 합쳐집니다. 원본 식품은 삭제되며, 원본 식품에 대한 모든 참조는 대상 식품을 가리키도록 업데이트됩니다.",
|
"merge-dialog-text": "선택한 식품을 병합하면 원본 식품과 대상 식품이 하나의 식품으로 합쳐집니다. 원본 식품은 삭제되며, 원본 식품에 대한 모든 참조는 대상 식품을 가리키도록 업데이트됩니다.",
|
||||||
"merge-food-example": "{food1}을 {food2}에 병합",
|
"merge-food-example": "{food1}을 {food2}에 병합",
|
||||||
"seed-dialog-text": "Seed the database with foods based on your local language. This will create 200+ common foods that can be used to organize your database. Foods are translated via a community effort.",
|
"seed-dialog-text": "당신이 사용하는 언어에 맞춰 데이터베이스에 음식 정보를 추가하세요. 이렇게 하면 데이터베이스를 구성하는 데 사용할 수 있는 약 2700가지의 일반적인 음식 정보가 생성됩니다. 음식 정보는 커뮤니티 참여를 통해 번역됩니다.",
|
||||||
"seed-dialog-warning": "You have already have some items in your database. This action will not reconcile duplicates, you will have to manage them manually.",
|
"seed-dialog-warning": "데이터베이스에 이미 일부 항목이 있습니다. 이름이 같은 항목이 이미 존재하는 경우 새 항목은 추가되지 않습니다.",
|
||||||
"combine-food": "식품 병합",
|
"combine-food": "식품 병합",
|
||||||
"source-food": "원본 식품",
|
"source-food": "원본 식품",
|
||||||
"target-food": "대상 식품",
|
"target-food": "대상 식품",
|
||||||
@@ -1371,9 +1371,9 @@
|
|||||||
"cookbooks-description": "레시피 카테고리 모음을 관리하고 해당 카테고리별 페이지를 생성합니다.",
|
"cookbooks-description": "레시피 카테고리 모음을 관리하고 해당 카테고리별 페이지를 생성합니다.",
|
||||||
"members": "회원",
|
"members": "회원",
|
||||||
"members-description": "가구 구성원을 확인하고 권한을 관리하세요.",
|
"members-description": "가구 구성원을 확인하고 권한을 관리하세요.",
|
||||||
"webhooks-description": "Setup webhooks that trigger on days that you have have mealplan scheduled.",
|
"webhooks-description": "식단 계획이 예정된 날짜에 발동되는 웹훅을 설정하세요.",
|
||||||
"notifiers": "알리미",
|
"notifiers": "알리미",
|
||||||
"notifiers-description": "Setup email and push notifications that trigger on specific events.",
|
"notifiers-description": "특정 이벤트 발생 시 이메일 및 푸시 알림이 전송되도록 설정하세요.",
|
||||||
"manage-data": "데이터 관리하기",
|
"manage-data": "데이터 관리하기",
|
||||||
"manage-data-description": "Mealie 데이터를 관리하세요; 식품, 단위, 카테고리, 태그 등.",
|
"manage-data-description": "Mealie 데이터를 관리하세요; 식품, 단위, 카테고리, 태그 등.",
|
||||||
"data-migrations": "데이터 이전",
|
"data-migrations": "데이터 이전",
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"about-mealie": "Over Mealie",
|
"about-mealie": "Over Mealie",
|
||||||
"api-docs": "API-documentatie",
|
"api-docs": "API-documentatie",
|
||||||
"api-port": "API-poort",
|
"api-port": "API-poort",
|
||||||
"application-mode": "Toepassingsmodus",
|
"application-mode": "Applicatiemodus",
|
||||||
"database-type": "Databasetype",
|
"database-type": "Databasetype",
|
||||||
"database-url": "Database URL",
|
"database-url": "Database URL",
|
||||||
"default-group": "Standaardgroep",
|
"default-group": "Standaardgroep",
|
||||||
@@ -370,8 +370,8 @@
|
|||||||
"applies-to-all-days": "Van toepassing op alle dagen",
|
"applies-to-all-days": "Van toepassing op alle dagen",
|
||||||
"applies-on-days": "Van toepassing op {0}s",
|
"applies-on-days": "Van toepassing op {0}s",
|
||||||
"meal-plan-settings": "Maaltijdplan-instellingen",
|
"meal-plan-settings": "Maaltijdplan-instellingen",
|
||||||
"add-all-to-list": "Add All to List",
|
"add-all-to-list": "Alles aan lijst toevoegen",
|
||||||
"add-day-to-list": "Add Day to List"
|
"add-day-to-list": "Dag aan lijst toevoegen"
|
||||||
},
|
},
|
||||||
"migration": {
|
"migration": {
|
||||||
"migration-data-removed": "Migratiegegevens verwijderd",
|
"migration-data-removed": "Migratiegegevens verwijderd",
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
{
|
{
|
||||||
"about": {
|
"about": {
|
||||||
"about": "О апликацији",
|
"about": "О апликацији",
|
||||||
"about-mealie": "О Мили",
|
"about-mealie": "О Mealie",
|
||||||
"api-docs": "API документација",
|
"api-docs": "API документација",
|
||||||
"api-port": "API прикључак",
|
"api-port": "API прикључак",
|
||||||
"application-mode": "Режим апликације",
|
"application-mode": "Режим апликације",
|
||||||
"database-type": "Тип базе података",
|
"database-type": "Тип базе података",
|
||||||
"database-url": "URL базе података",
|
"database-url": "URL базе података",
|
||||||
"default-group": "Подразумевана група",
|
"default-group": "Подразумевана група",
|
||||||
"default-household": "Default Household",
|
"default-household": "Подразумевано домаћинство",
|
||||||
"demo": "Демо",
|
"demo": "Демо",
|
||||||
"demo-status": "Демо статус",
|
"demo-status": "Демо статус",
|
||||||
"development": "Развој",
|
"development": "Развој",
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
"download-log": "Преузми дневник евиденције",
|
"download-log": "Преузми дневник евиденције",
|
||||||
"download-recipe-json": "Последњи прикупљени JSON",
|
"download-recipe-json": "Последњи прикупљени JSON",
|
||||||
"github": "GitHub",
|
"github": "GitHub",
|
||||||
"log-lines": "Log Lines",
|
"log-lines": "Лог",
|
||||||
"not-demo": "Није демо",
|
"not-demo": "Није демо",
|
||||||
"portfolio": "Портфолио",
|
"portfolio": "Портфолио",
|
||||||
"production": "У продукцији",
|
"production": "У продукцији",
|
||||||
@@ -65,11 +65,11 @@
|
|||||||
"something-went-wrong": "Нешто је кренуло погрешно!",
|
"something-went-wrong": "Нешто је кренуло погрешно!",
|
||||||
"subscribed-events": "Догађаји на које сте претплаћени",
|
"subscribed-events": "Догађаји на које сте претплаћени",
|
||||||
"test-message-sent": "Тест порука је послата",
|
"test-message-sent": "Тест порука је послата",
|
||||||
"message-sent": "Message Sent",
|
"message-sent": "Порука послата",
|
||||||
"new-notification": "Ново обавештење",
|
"new-notification": "Ново обавештење",
|
||||||
"event-notifiers": "Обавештавач о догађају",
|
"event-notifiers": "Обавештавач о догађају",
|
||||||
"apprise-url-skipped-if-blank": "Apprise URL (прескочено ако је празно)",
|
"apprise-url-skipped-if-blank": "Apprise URL (прескочено ако је празно)",
|
||||||
"apprise-url-is-left-intentionally-blank": "Since Apprise URLs typically contain sensitive information, this field is left intentionally blank while editing. If you wish to update the URL, please enter the new one here, otherwise leave it blank to keep the current URL.",
|
"apprise-url-is-left-intentionally-blank": "Како Apprise URL обично садржи сензитивне информације, ово поље је намерно остављено празно. Ако желите да промените URL, упишите нови овде или оставите поље празно да задржите тренутни URL.",
|
||||||
"enable-notifier": "Омогући обавештење",
|
"enable-notifier": "Омогући обавештење",
|
||||||
"what-events": "На које догађаје би требао да се претплати овај обавештавач?",
|
"what-events": "На које догађаје би требао да се претплати овај обавештавач?",
|
||||||
"user-events": "Догађаји корисника",
|
"user-events": "Догађаји корисника",
|
||||||
@@ -84,12 +84,12 @@
|
|||||||
"label-events": "Label Events"
|
"label-events": "Label Events"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"add": "Add",
|
"add": "Додај",
|
||||||
"cancel": "Откажи",
|
"cancel": "Откажи",
|
||||||
"clear": "Обриши",
|
"clear": "Обриши",
|
||||||
"close": "Затвори",
|
"close": "Затвори",
|
||||||
"confirm": "Потврди",
|
"confirm": "Потврди",
|
||||||
"confirm-how-does-everything-look": "How does everything look?",
|
"confirm-how-does-everything-look": "Како све изгледа?",
|
||||||
"confirm-delete-generic": "Да ли сте сигурни да желите обрисати ово?",
|
"confirm-delete-generic": "Да ли сте сигурни да желите обрисати ово?",
|
||||||
"copied_message": "Копирано!",
|
"copied_message": "Копирано!",
|
||||||
"create": "Креирај",
|
"create": "Креирај",
|
||||||
@@ -118,12 +118,12 @@
|
|||||||
"image-upload-failed": "Неуспешно додавање слике",
|
"image-upload-failed": "Неуспешно додавање слике",
|
||||||
"import": "Увоз",
|
"import": "Увоз",
|
||||||
"json": "JSON",
|
"json": "JSON",
|
||||||
"keyword": "Ključna reč",
|
"keyword": "Кључна реч",
|
||||||
"link-copied": "Линк је копиран",
|
"link-copied": "Линк је копиран",
|
||||||
"loading": "Loading",
|
"loading": "Учитавање",
|
||||||
"loading-events": "Учитавање догађаја",
|
"loading-events": "Учитавање догађаја",
|
||||||
"loading-recipe": "Loading recipe...",
|
"loading-recipe": "Рецепт се учитава...",
|
||||||
"loading-ocr-data": "Loading OCR data...",
|
"loading-ocr-data": "Учитавање OCR података...",
|
||||||
"loading-recipes": "Учитавање рецепата",
|
"loading-recipes": "Учитавање рецепата",
|
||||||
"message": "Порука",
|
"message": "Порука",
|
||||||
"monday": "Понедељак",
|
"monday": "Понедељак",
|
||||||
@@ -134,7 +134,7 @@
|
|||||||
"no-recipe-found": "Рецепт није пронађен",
|
"no-recipe-found": "Рецепт није пронађен",
|
||||||
"ok": "У реду",
|
"ok": "У реду",
|
||||||
"options": "Опције:",
|
"options": "Опције:",
|
||||||
"plural-name": "Ime u množini",
|
"plural-name": "Име у множини",
|
||||||
"print": "Штампа",
|
"print": "Штампа",
|
||||||
"print-preferences": "Подешавање штампе",
|
"print-preferences": "Подешавање штампе",
|
||||||
"random": "Насумично",
|
"random": "Насумично",
|
||||||
@@ -148,23 +148,23 @@
|
|||||||
"save": "Сачувај",
|
"save": "Сачувај",
|
||||||
"settings": "Подешавања",
|
"settings": "Подешавања",
|
||||||
"share": "Подели",
|
"share": "Подели",
|
||||||
"show-all": "Show All",
|
"show-all": "Прикажи све",
|
||||||
"shuffle": "Помешано",
|
"shuffle": "Помешано",
|
||||||
"sort": "Сортирај",
|
"sort": "Сортирај",
|
||||||
"sort-ascending": "Sort Ascending",
|
"sort-ascending": "Сложи по реду - растуће",
|
||||||
"sort-descending": "Sort Descending",
|
"sort-descending": "Сложи по реду - опадајуће",
|
||||||
"sort-alphabetically": "Азбучно",
|
"sort-alphabetically": "Азбучно",
|
||||||
"status": "Статус",
|
"status": "Статус",
|
||||||
"subject": "Наслов",
|
"subject": "Наслов",
|
||||||
"submit": "Пошаљи",
|
"submit": "Пошаљи",
|
||||||
"success-count": "Успешно {count}",
|
"success-count": "Успешно {count}",
|
||||||
"sunday": "недеља",
|
"sunday": "недеља",
|
||||||
"system": "System",
|
"system": "Систем",
|
||||||
"templates": "Шаблони:",
|
"templates": "Шаблони:",
|
||||||
"test": "Тест",
|
"test": "Тест",
|
||||||
"themes": "Теме",
|
"themes": "Теме",
|
||||||
"thursday": "четвртак",
|
"thursday": "четвртак",
|
||||||
"title": "Title",
|
"title": "Наслов",
|
||||||
"token": "Токен",
|
"token": "Токен",
|
||||||
"tuesday": "уторак",
|
"tuesday": "уторак",
|
||||||
"type": "Тип",
|
"type": "Тип",
|
||||||
@@ -179,12 +179,12 @@
|
|||||||
"units": "Јединице",
|
"units": "Јединице",
|
||||||
"back": "Назад",
|
"back": "Назад",
|
||||||
"next": "Сљедећи",
|
"next": "Сљедећи",
|
||||||
"start": "Start",
|
"start": "Старт",
|
||||||
"toggle-view": "Промени приказ",
|
"toggle-view": "Промени приказ",
|
||||||
"date": "Датум",
|
"date": "Датум",
|
||||||
"id": "Ид",
|
"id": "ИД",
|
||||||
"owner": "Власник",
|
"owner": "Власник",
|
||||||
"change-owner": "Change Owner",
|
"change-owner": "Промени власника",
|
||||||
"date-added": "Датум додавања",
|
"date-added": "Датум додавања",
|
||||||
"none": "Ниједно",
|
"none": "Ниједно",
|
||||||
"run": "Покрени",
|
"run": "Покрени",
|
||||||
@@ -211,17 +211,17 @@
|
|||||||
"refresh": "Освежи",
|
"refresh": "Освежи",
|
||||||
"upload-file": "Учитај датотеку",
|
"upload-file": "Учитај датотеку",
|
||||||
"created-on-date": "Крерирано: {0}",
|
"created-on-date": "Крерирано: {0}",
|
||||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
"unsaved-changes": "Имате несачуване измене. Да ли желите да их сачувате пре изласка? ОК за потврду, Откажи да откажете измене.",
|
||||||
"discard-changes": "Discard Changes",
|
"discard-changes": "Откажи измене",
|
||||||
"discard-changes-description": "You have unsaved changes. Are you sure you want to discard them?",
|
"discard-changes-description": "Имате несачуване измене. Да ли желите да их откажете?",
|
||||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
"clipboard-copy-failure": "Копирање није успело.",
|
||||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?",
|
"confirm-delete-generic-items": "Да ли желите да обришете следеће ставке?",
|
||||||
"organizers": "Organizers",
|
"organizers": "Организатор",
|
||||||
"caution": "Caution",
|
"caution": "Пажња",
|
||||||
"show-advanced": "Show Advanced",
|
"show-advanced": "Прикажи напредно",
|
||||||
"add-field": "Add Field",
|
"add-field": "Додај поље",
|
||||||
"date-created": "Date Created",
|
"date-created": "Датум креирања",
|
||||||
"date-updated": "Date Updated"
|
"date-updated": "Датум измене"
|
||||||
},
|
},
|
||||||
"group": {
|
"group": {
|
||||||
"are-you-sure-you-want-to-delete-the-group": "Да ли сте сигурни да желите да обришете <b>{groupName}<b/>?",
|
"are-you-sure-you-want-to-delete-the-group": "Да ли сте сигурни да желите да обришете <b>{groupName}<b/>?",
|
||||||
@@ -236,7 +236,7 @@
|
|||||||
"group-id-with-value": "ID групе: {groupID}",
|
"group-id-with-value": "ID групе: {groupID}",
|
||||||
"group-name": "Назив групе",
|
"group-name": "Назив групе",
|
||||||
"group-not-found": "Група није пронађена",
|
"group-not-found": "Група није пронађена",
|
||||||
"group-token": "Group Token",
|
"group-token": "Групни токен",
|
||||||
"group-with-value": "Група: {groupID}",
|
"group-with-value": "Група: {groupID}",
|
||||||
"groups": "Групе",
|
"groups": "Групе",
|
||||||
"manage-groups": "Управљај групама",
|
"manage-groups": "Управљај групама",
|
||||||
@@ -248,18 +248,18 @@
|
|||||||
"keep-my-recipes-private-description": "Поставља вашу групу и све рецепте као подразумевано приватне. Увек можете касније променити ово."
|
"keep-my-recipes-private-description": "Поставља вашу групу и све рецепте као подразумевано приватне. Увек можете касније променити ово."
|
||||||
},
|
},
|
||||||
"manage-members": "Управљај члановима",
|
"manage-members": "Управљај члановима",
|
||||||
"manage-members-description": "Manage the permissions of the members in your household. {manage} allows the user to access the data-management page, and {invite} allows the user to generate invitation links for other users. Group owners cannot change their own permissions.",
|
"manage-members-description": "Управљање дозволама у сопственом домаћинству. {manage} дозвољава кориснику приступ менаџменту података, а {invite} омогућава кориснику да генерише позивнице за друге кориснике. Власници групе не могу променити сопствене дозволе.",
|
||||||
"manage": "Управљај",
|
"manage": "Управљај",
|
||||||
"manage-household": "Manage Household",
|
"manage-household": "Менаџмент домаћинства",
|
||||||
"invite": "Позови",
|
"invite": "Позови",
|
||||||
"looking-to-update-your-profile": "Желите ли да ажурирате свој профил?",
|
"looking-to-update-your-profile": "Желите ли да ажурирате свој профил?",
|
||||||
"default-recipe-preferences-description": "Ово су подразумевана подешавања када се креира нови рецепт у вашој групи. Ова подешавања могу бити промењена за појединачне рецепте у менију подешавања рецепата.",
|
"default-recipe-preferences-description": "Ово су подразумевана подешавања када се креира нови рецепт у вашој групи. Ова подешавања могу бити промењена за појединачне рецепте у менију подешавања рецепата.",
|
||||||
"default-recipe-preferences": "Подразумевана подешавања рецепта",
|
"default-recipe-preferences": "Подразумевана подешавања рецепта",
|
||||||
"group-preferences": "Подешавања групе",
|
"group-preferences": "Подешавања групе",
|
||||||
"private-group": "Приватна група",
|
"private-group": "Приватна група",
|
||||||
"private-group-description": "Setting your group to private will disable all public view options. This overrides any individual public view settings",
|
"private-group-description": "Подешавњем групе као приватне ће онемогућити јавни преглед у потпуности. Ово поништава све индивидуална подешавања јавног приступа",
|
||||||
"enable-public-access": "Enable Public Access",
|
"enable-public-access": "Дозволи јавни приступ",
|
||||||
"enable-public-access-description": "Make group recipes public by default, and allow visitors to view recipes without logging-in",
|
"enable-public-access-description": "Подеси рецепте у групи уобичајно као јавне и дозволи гостима преглед рецепата без логовања",
|
||||||
"allow-users-outside-of-your-group-to-see-your-recipes": "Дозволите корисницима, који су ван ваше групе, да виде ваше рецепте",
|
"allow-users-outside-of-your-group-to-see-your-recipes": "Дозволите корисницима, који су ван ваше групе, да виде ваше рецепте",
|
||||||
"allow-users-outside-of-your-group-to-see-your-recipes-description": "Када је омогућено, можете користити јавну везу за дељење одређених рецепата без одобравања корисника. Када је онемогућено, рецепте можете делити само са корисницима који су у вашој групи или помоћу претходно генерисане приватне везе",
|
"allow-users-outside-of-your-group-to-see-your-recipes-description": "Када је омогућено, можете користити јавну везу за дељење одређених рецепата без одобравања корисника. Када је онемогућено, рецепте можете делити само са корисницима који су у вашој групи или помоћу претходно генерисане приватне везе",
|
||||||
"show-nutrition-information": "Прикажи информације о исхрани",
|
"show-nutrition-information": "Прикажи информације о исхрани",
|
||||||
@@ -271,37 +271,37 @@
|
|||||||
"disable-users-from-commenting-on-recipes": "Онемогући кориснике да коментаришу рецепте",
|
"disable-users-from-commenting-on-recipes": "Онемогући кориснике да коментаришу рецепте",
|
||||||
"disable-users-from-commenting-on-recipes-description": "Сакрива секцију коментара на страници рецепта и онемогућава коментаре",
|
"disable-users-from-commenting-on-recipes-description": "Сакрива секцију коментара на страници рецепта и онемогућава коментаре",
|
||||||
"disable-organizing-recipe-ingredients-by-units-and-food": "Онемогући организацију састојака рецепта по јединицама и намирницама",
|
"disable-organizing-recipe-ingredients-by-units-and-food": "Онемогући организацију састојака рецепта по јединицама и намирницама",
|
||||||
"disable-organizing-recipe-ingredients-by-units-and-food-description": "Hides the Food, Unit, and Amount fields for ingredients and treats ingredients as plain text fields",
|
"disable-organizing-recipe-ingredients-by-units-and-food-description": "Сакриј тип, јединицу мере и количину за састојке и третирај их као поље са обичним текстом",
|
||||||
"general-preferences": "Општа подешавања",
|
"general-preferences": "Општа подешавања",
|
||||||
"group-recipe-preferences": "Подешавања групе рецепта",
|
"group-recipe-preferences": "Подешавања групе рецепта",
|
||||||
"report": "Извештај",
|
"report": "Извештај",
|
||||||
"report-with-id": "Report ID: {id}",
|
"report-with-id": "ИД извештаја: {id}",
|
||||||
"group-management": "Управљање групом",
|
"group-management": "Управљање групом",
|
||||||
"admin-group-management": "Управљање администраторском групом",
|
"admin-group-management": "Управљање администраторском групом",
|
||||||
"admin-group-management-text": "Промене у овој групи биће одмах видљиве.",
|
"admin-group-management-text": "Промене у овој групи биће одмах видљиве.",
|
||||||
"group-id-value": "Group Id: {0}",
|
"group-id-value": "ИД групе: {0}",
|
||||||
"total-households": "Total Households",
|
"total-households": "Укупно домаћинстава",
|
||||||
"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": "Морате селектовати групу пре селектовања домаћинства"
|
||||||
},
|
},
|
||||||
"household": {
|
"household": {
|
||||||
"household": "Household",
|
"household": "Домаћинство",
|
||||||
"households": "Households",
|
"households": "Домаћинства",
|
||||||
"user-household": "User Household",
|
"user-household": "Корисниково домаћинство",
|
||||||
"create-household": "Create Household",
|
"create-household": "Креирај домаћинство",
|
||||||
"household-name": "Household Name",
|
"household-name": "Назив домаћинства",
|
||||||
"household-group": "Household Group",
|
"household-group": "Група домаћинства",
|
||||||
"household-management": "Household Management",
|
"household-management": "Управљање домаћинством",
|
||||||
"manage-households": "Manage Households",
|
"manage-households": "Управљање домаћинствима",
|
||||||
"admin-household-management": "Admin Household Management",
|
"admin-household-management": "Административно управљање домаћинством",
|
||||||
"admin-household-management-text": "Changes to this household will be reflected immediately.",
|
"admin-household-management-text": "Промене за ово домаћинство ће бити видљиве одмах.",
|
||||||
"household-id-value": "Household Id: {0}",
|
"household-id-value": "ИД домаћинства {0}",
|
||||||
"private-household": "Private Household",
|
"private-household": "Приватно домаћинство",
|
||||||
"private-household-description": "Setting your household to private will disable all public view options. This overrides any individual public view settings",
|
"private-household-description": "Подешавање сопственог домаћинства као приватно ће онемогућити сав јавни преглед. Ово поништава сва индивидуална подешавања за преглед",
|
||||||
"lock-recipe-edits-from-other-households": "Lock recipe edits from other households",
|
"lock-recipe-edits-from-other-households": "Забрани измене рецепата од стране других домаћинстава",
|
||||||
"lock-recipe-edits-from-other-households-description": "When enabled only users in your household can edit recipes created by your household",
|
"lock-recipe-edits-from-other-households-description": "Када је опција укључена, само корисници из вашег домаћинства могу мењати рецепте креиране унутар њега",
|
||||||
"household-recipe-preferences": "Household Recipe Preferences",
|
"household-recipe-preferences": "Подешавање рецепата за домаћинство",
|
||||||
"default-recipe-preferences-description": "These are the default settings when a new recipe is created in your household. These can be changed for individual recipes in the recipe settings menu.",
|
"default-recipe-preferences-description": "Ово су уобичајна подешавања када се нови рецепт креира у вашем домаћинству. Подешавања могу бити промењена за појединачне рецепте из менија за подешавања.",
|
||||||
"allow-users-outside-of-your-household-to-see-your-recipes": "Allow users outside of your household to see your recipes",
|
"allow-users-outside-of-your-household-to-see-your-recipes": "Дозволите корисницима ван вашег домаћинства да прегледају ваше рецепте",
|
||||||
"allow-users-outside-of-your-household-to-see-your-recipes-description": "When enabled you can use a public share link to share specific recipes without authorizing the user. When disabled, you can only share recipes with users who are in your household or with a pre-generated private link",
|
"allow-users-outside-of-your-household-to-see-your-recipes-description": "When enabled you can use a public share link to share specific recipes without authorizing the user. When disabled, you can only share recipes with users who are in your household or with a pre-generated private link",
|
||||||
"household-preferences": "Household Preferences"
|
"household-preferences": "Household Preferences"
|
||||||
},
|
},
|
||||||
@@ -507,7 +507,7 @@
|
|||||||
"insert-below": "Insert Below",
|
"insert-below": "Insert Below",
|
||||||
"instructions": "Instructions",
|
"instructions": "Instructions",
|
||||||
"key-name-required": "Key Name Required",
|
"key-name-required": "Key Name Required",
|
||||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
"landscape-view-coming-soon": "Хорижонтални поглед (Ускоро)",
|
||||||
"milligrams": "milligrams",
|
"milligrams": "milligrams",
|
||||||
"new-key-name": "New Key Name",
|
"new-key-name": "New Key Name",
|
||||||
"no-white-space-allowed": "No White Space Allowed",
|
"no-white-space-allowed": "No White Space Allowed",
|
||||||
@@ -624,7 +624,7 @@
|
|||||||
"create-recipe-description": "Create a new recipe from scratch.",
|
"create-recipe-description": "Create a new recipe from scratch.",
|
||||||
"create-recipes": "Create Recipes",
|
"create-recipes": "Create Recipes",
|
||||||
"import-with-zip": "Увези помоћу .zip архиве",
|
"import-with-zip": "Увези помоћу .zip архиве",
|
||||||
"create-recipe-from-an-image": "Create Recipe from an Image",
|
"create-recipe-from-an-image": "Направи рецепт на основи слике",
|
||||||
"create-recipe-from-an-image-description": "Create a recipe by uploading an image of it. Mealie will attempt to extract the text from the image using AI and create a recipe from it.",
|
"create-recipe-from-an-image-description": "Create a recipe by uploading an image of it. Mealie will attempt to extract the text from the image using AI and create a recipe from it.",
|
||||||
"crop-and-rotate-the-image": "Crop and rotate the image so that only the text is visible, and it's in the correct orientation.",
|
"crop-and-rotate-the-image": "Crop and rotate the image so that only the text is visible, and it's in the correct orientation.",
|
||||||
"create-from-images": "Create from Images",
|
"create-from-images": "Create from Images",
|
||||||
@@ -759,7 +759,7 @@
|
|||||||
"restore-success": "Restore successful",
|
"restore-success": "Restore successful",
|
||||||
"restore-fail": "Restore failed. Check your server logs for more details",
|
"restore-fail": "Restore failed. Check your server logs for more details",
|
||||||
"backup-tag": "Backup Tag",
|
"backup-tag": "Backup Tag",
|
||||||
"create-heading": "Create a Backup",
|
"create-heading": "Креирај бекап",
|
||||||
"delete-backup": "Delete Backup",
|
"delete-backup": "Delete Backup",
|
||||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||||
"full-backup": "Full Backup",
|
"full-backup": "Full Backup",
|
||||||
@@ -904,13 +904,13 @@
|
|||||||
"create-shopping-list": "Направи списак за куповину",
|
"create-shopping-list": "Направи списак за куповину",
|
||||||
"from-recipe": "From Recipe",
|
"from-recipe": "From Recipe",
|
||||||
"list-name": "List Name",
|
"list-name": "List Name",
|
||||||
"new-list": "Novi spisak",
|
"new-list": "Нови списак",
|
||||||
"quantity": "Quantity: {0}",
|
"quantity": "Quantity: {0}",
|
||||||
"shopping-list": "Shopping List",
|
"shopping-list": "Shopping List",
|
||||||
"shopping-lists": "Списак за куповину",
|
"shopping-lists": "Списак за куповину",
|
||||||
"food": "Храна",
|
"food": "Храна",
|
||||||
"note": "Note",
|
"note": "Note",
|
||||||
"label": "Natpis",
|
"label": "Натпис",
|
||||||
"save-label": "Save Label",
|
"save-label": "Save Label",
|
||||||
"linked-item-warning": "This item is linked to one or more recipe. Adjusting the units or foods will yield unexpected results when adding or removing the recipe from this list.",
|
"linked-item-warning": "This item is linked to one or more recipe. Adjusting the units or foods will yield unexpected results when adding or removing the recipe from this list.",
|
||||||
"toggle-food": "Toggle Food",
|
"toggle-food": "Toggle Food",
|
||||||
@@ -1413,33 +1413,33 @@
|
|||||||
},
|
},
|
||||||
"query-filter": {
|
"query-filter": {
|
||||||
"logical-operators": {
|
"logical-operators": {
|
||||||
"and": "AND",
|
"and": "И",
|
||||||
"or": "OR"
|
"or": "ИЛИ"
|
||||||
},
|
},
|
||||||
"relational-operators": {
|
"relational-operators": {
|
||||||
"equals": "equals",
|
"equals": "једнако са",
|
||||||
"does-not-equal": "does not equal",
|
"does-not-equal": "није једнако са",
|
||||||
"is-greater-than": "is greater than",
|
"is-greater-than": "је веће од",
|
||||||
"is-greater-than-or-equal-to": "is greater than or equal to",
|
"is-greater-than-or-equal-to": "је веће или једнако са",
|
||||||
"is-less-than": "is less than",
|
"is-less-than": "је мање од",
|
||||||
"is-less-than-or-equal-to": "is less than or equal to"
|
"is-less-than-or-equal-to": "је мање или једнако са"
|
||||||
},
|
},
|
||||||
"relational-keywords": {
|
"relational-keywords": {
|
||||||
"is": "is",
|
"is": "је",
|
||||||
"is-not": "is not",
|
"is-not": "није ",
|
||||||
"is-one-of": "is one of",
|
"is-one-of": "је једно од",
|
||||||
"is-not-one-of": "is not one of",
|
"is-not-one-of": "није једно од",
|
||||||
"contains-all-of": "contains all of",
|
"contains-all-of": "садржи све из",
|
||||||
"is-like": "is like",
|
"is-like": "је као",
|
||||||
"is-not-like": "is not like"
|
"is-not-like": "није као"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"validators": {
|
"validators": {
|
||||||
"required": "This Field is Required",
|
"required": "Ово поље је обавезно",
|
||||||
"invalid-email": "Email Must Be Valid",
|
"invalid-email": "Имејл мора бити валидан",
|
||||||
"invalid-url": "Must Be A Valid URL",
|
"invalid-url": "Мора бити валидан URL",
|
||||||
"no-whitespace": "No Whitespace Allowed",
|
"no-whitespace": "Размак није дозвољен",
|
||||||
"min-length": "Must Be At Least {min} Characters",
|
"min-length": "Мора бити најмање {min} карактера",
|
||||||
"max-length": "Must Be At Most {max} Characters"
|
"max-length": "Мора бити највише {max} карактера"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -219,6 +219,7 @@ export default defineNuxtConfig({
|
|||||||
},
|
},
|
||||||
workbox: {
|
workbox: {
|
||||||
navigateFallback: "/",
|
navigateFallback: "/",
|
||||||
|
navigateFallbackAllowlist: [/^(?!\/api)/],
|
||||||
globPatterns: ["**/*.{js,css,html,png,svg,ico}"],
|
globPatterns: ["**/*.{js,css,html,png,svg,ico}"],
|
||||||
globIgnores: ["404.html", "200.html"],
|
globIgnores: ["404.html", "200.html"],
|
||||||
cleanupOutdatedCaches: true,
|
cleanupOutdatedCaches: true,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "mealie",
|
"name": "mealie",
|
||||||
"version": "3.10.0",
|
"version": "3.10.2",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "nuxt dev",
|
"dev": "nuxt dev",
|
||||||
|
|||||||
@@ -110,6 +110,11 @@ class AppSettings(AppLoggingSettings):
|
|||||||
BASE_URL: str = "http://localhost:8080"
|
BASE_URL: str = "http://localhost:8080"
|
||||||
"""trailing slashes are trimmed (ex. `http://localhost:8080/` becomes ``http://localhost:8080`)"""
|
"""trailing slashes are trimmed (ex. `http://localhost:8080/` becomes ``http://localhost:8080`)"""
|
||||||
|
|
||||||
|
@property
|
||||||
|
def is_default_base_url(self) -> bool:
|
||||||
|
"""Returns True if BASE_URL has not been changed from the default."""
|
||||||
|
return self.BASE_URL == "http://localhost:8080"
|
||||||
|
|
||||||
STATIC_FILES: str = str(PACKAGE_DIR / "frontend")
|
STATIC_FILES: str = str(PACKAGE_DIR / "frontend")
|
||||||
"""path to static files directory (ex. `mealie/dist`)"""
|
"""path to static files directory (ex. `mealie/dist`)"""
|
||||||
|
|
||||||
|
|||||||
@@ -4,19 +4,19 @@
|
|||||||
},
|
},
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"unique-name-error": "Назив рецепта мора бити јединствен",
|
"unique-name-error": "Назив рецепта мора бити јединствен",
|
||||||
"recipe-created": "Recipe Created",
|
"recipe-created": "Рецепт је направљен",
|
||||||
"recipe-image-deleted": "Recipe image deleted",
|
"recipe-image-deleted": "Слика рецепта је обрисана",
|
||||||
"recipe-defaults": {
|
"recipe-defaults": {
|
||||||
"ingredient-note": "1 Cup Flour",
|
"ingredient-note": "1 шоља брашна",
|
||||||
"step-text": "Recipe steps as well as other fields in the recipe page support markdown syntax.\n\n**Add a link**\n\n[My Link](https://demo.mealie.io)\n"
|
"step-text": "Упутство за рецепт као и остала поља подржавају markdown синтаксу\n\n**Додати линк**\n\n[Мој линк](https://demo.mealie.io)\n"
|
||||||
},
|
},
|
||||||
"servings-text": {
|
"servings-text": {
|
||||||
"makes": "Makes",
|
"makes": "Прави",
|
||||||
"serves": "Serves",
|
"serves": "Послужује",
|
||||||
"serving": "Serving",
|
"serving": "Порција",
|
||||||
"servings": "Servings",
|
"servings": "Број порција",
|
||||||
"yield": "Yield",
|
"yield": "Количина",
|
||||||
"yields": "Yields"
|
"yields": "Количина"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mealplan": {
|
"mealplan": {
|
||||||
@@ -29,55 +29,55 @@
|
|||||||
"ldap-update-password-unavailable": "Лозинку није могуће ажурирати, корисник је контролисан од стране LDAP-а"
|
"ldap-update-password-unavailable": "Лозинку није могуће ажурирати, корисник је контролисан од стране LDAP-а"
|
||||||
},
|
},
|
||||||
"group": {
|
"group": {
|
||||||
"report-deleted": "Рецепт је избрисан."
|
"report-deleted": "Извештај је избрисан."
|
||||||
},
|
},
|
||||||
"exceptions": {
|
"exceptions": {
|
||||||
"permission_denied": "Немате дозволу за извршење ове радње",
|
"permission_denied": "Немате дозволу за извршење ове радње",
|
||||||
"recursive-recipe-link": "A recipe cannot reference itself, either directly or indirectly",
|
"recursive-recipe-link": "Рецепт не може да референцира сам себе, директно или индиректно",
|
||||||
"no-entry-found": "Захтевани ресурс није пронађен",
|
"no-entry-found": "Захтевани ресурс није пронађен",
|
||||||
"integrity-error": "Грешка у интегритету базе података",
|
"integrity-error": "Грешка у интегритету базе података",
|
||||||
"username-conflict-error": "Корисничко име је већ заузето",
|
"username-conflict-error": "Корисничко име је већ заузето",
|
||||||
"email-conflict-error": "Овај е-мејл је већ у употреби"
|
"email-conflict-error": "Овај имејл је већ у употреби"
|
||||||
},
|
},
|
||||||
"notifications": {
|
"notifications": {
|
||||||
"generic-created": "{name} је крериран",
|
"generic-created": "{name} је креиран",
|
||||||
"generic-updated": "{name} је ажуриран",
|
"generic-updated": "{name} је ажуриран",
|
||||||
"generic-created-with-url": "{name} је направљено, {url}",
|
"generic-created-with-url": "{name} је направљено, {url}",
|
||||||
"generic-updated-with-url": "{name} је ажурирано, {url}",
|
"generic-updated-with-url": "{name} је ажурирано, {url}",
|
||||||
"generic-duplicated": "{name} је дуплиран",
|
"generic-duplicated": "{name} је дуплиран",
|
||||||
"generic-deleted": "{name} је обрисан",
|
"generic-deleted": "{name} је обрисан",
|
||||||
"logged-out": "Logged out"
|
"logged-out": "Одјављено"
|
||||||
},
|
},
|
||||||
"datetime": {
|
"datetime": {
|
||||||
"year": "year|years",
|
"year": "година",
|
||||||
"day": "day|days",
|
"day": "дан",
|
||||||
"hour": "hour|hours",
|
"hour": "сат",
|
||||||
"minute": "minute|minutes",
|
"minute": "минут",
|
||||||
"second": "second|seconds",
|
"second": "секунд",
|
||||||
"millisecond": "millisecond|milliseconds",
|
"millisecond": "милисекунд",
|
||||||
"microsecond": "microsecond|microseconds"
|
"microsecond": "микросекунд"
|
||||||
},
|
},
|
||||||
"emails": {
|
"emails": {
|
||||||
"password": {
|
"password": {
|
||||||
"subject": "Mealie Forgot Password",
|
"subject": "Mealie Заборављена лозинка",
|
||||||
"header_text": "Forgot Password",
|
"header_text": "Заборављена лозинка",
|
||||||
"message_top": "You have requested to reset your password.",
|
"message_top": "Направили сте захтев за ресетовање лозинке.",
|
||||||
"message_bottom": "Please click the button above to reset your password.",
|
"message_bottom": "Молимо вас да притиснете дугме изнад како бисте ресетовали лозинку.",
|
||||||
"button_text": "Reset Password"
|
"button_text": "Ресетуј лозинку"
|
||||||
},
|
},
|
||||||
"invitation": {
|
"invitation": {
|
||||||
"subject": "Invitation to join Mealie",
|
"subject": "Mealie Позивница за придруживање",
|
||||||
"header_text": "You're Invited!",
|
"header_text": "Позвани сте!",
|
||||||
"message_top": "You have been invited to join Mealie.",
|
"message_top": "Позвани сте да се придружите Mealie-у.",
|
||||||
"message_bottom": "Please click the button above to accept the invitation.",
|
"message_bottom": "Молимо вас да притиснете дугме изнад како бисте прихватили позив.",
|
||||||
"button_text": "Accept Invitation"
|
"button_text": "Прихвати позивницу"
|
||||||
},
|
},
|
||||||
"test": {
|
"test": {
|
||||||
"subject": "Mealie Test Email",
|
"subject": "Mealie тест имејл",
|
||||||
"header_text": "Test Email",
|
"header_text": "Пробни имејл",
|
||||||
"message_top": "This is a test email.",
|
"message_top": "Ово је пробни имејл.",
|
||||||
"message_bottom": "Please click the button above to test the email.",
|
"message_bottom": "Молимо вас да притиснете дугме изнад како бисте тестирали имејл.",
|
||||||
"button_text": "Open Mealie"
|
"button_text": "Отвори Maelie"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -64,8 +64,8 @@
|
|||||||
"jalapeño": {
|
"jalapeño": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "jalapeño",
|
"name": "Jalapeño",
|
||||||
"plural_name": "jalapeños"
|
"plural_name": "Jalapeños"
|
||||||
},
|
},
|
||||||
"avocado": {
|
"avocado": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -591,7 +591,7 @@
|
|||||||
"cress": {
|
"cress": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cress",
|
"name": "Kresse",
|
||||||
"plural_name": "cress"
|
"plural_name": "cress"
|
||||||
},
|
},
|
||||||
"broccoli slaw": {
|
"broccoli slaw": {
|
||||||
@@ -974,12 +974,12 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Pomelo",
|
"name": "Pomelo",
|
||||||
"plural_name": "pomelos"
|
"plural_name": "Pomelos"
|
||||||
},
|
},
|
||||||
"chestnut purée": {
|
"chestnut purée": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chestnut purée",
|
"name": "Kastanienpüree",
|
||||||
"plural_name": "chestnut purée"
|
"plural_name": "chestnut purée"
|
||||||
},
|
},
|
||||||
"prickly pear": {
|
"prickly pear": {
|
||||||
@@ -2003,7 +2003,7 @@
|
|||||||
"parmesan cheese": {
|
"parmesan cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "parmesan cheese",
|
"name": "Parmesankäse",
|
||||||
"plural_name": "parmesan cheese"
|
"plural_name": "parmesan cheese"
|
||||||
},
|
},
|
||||||
"cheddar cheese": {
|
"cheddar cheese": {
|
||||||
@@ -2011,7 +2011,7 @@
|
|||||||
"cheddar cheese"
|
"cheddar cheese"
|
||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cheddar cheese",
|
"name": "Cheddarkäse",
|
||||||
"plural_name": "cheddar cheese"
|
"plural_name": "cheddar cheese"
|
||||||
},
|
},
|
||||||
"cream cheese": {
|
"cream cheese": {
|
||||||
@@ -2031,26 +2031,26 @@
|
|||||||
"cheese": {
|
"cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cheese",
|
"name": "Käse",
|
||||||
"plural_name": "cheese"
|
"plural_name": "Käse"
|
||||||
},
|
},
|
||||||
"mozzarella cheese": {
|
"mozzarella cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mozzarella cheese",
|
"name": "Mozzarellakäse",
|
||||||
"plural_name": "mozzarella cheese"
|
"plural_name": "Mozzarellakäse"
|
||||||
},
|
},
|
||||||
"feta cheese": {
|
"feta cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "feta cheese",
|
"name": "Fetakäse",
|
||||||
"plural_name": "feta cheese"
|
"plural_name": "Fetakäse"
|
||||||
},
|
},
|
||||||
"ricotta cheese": {
|
"ricotta cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "ricotta cheese",
|
"name": "Ricottakäse",
|
||||||
"plural_name": "ricotta cheese"
|
"plural_name": "Ricottakäse"
|
||||||
},
|
},
|
||||||
"cheddar-jack cheese": {
|
"cheddar-jack cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2073,7 +2073,7 @@
|
|||||||
"goat cheese": {
|
"goat cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "goat cheese",
|
"name": "Ziegenkäse",
|
||||||
"plural_name": "goat cheese"
|
"plural_name": "goat cheese"
|
||||||
},
|
},
|
||||||
"fresh mozzarella cheese": {
|
"fresh mozzarella cheese": {
|
||||||
@@ -2097,8 +2097,8 @@
|
|||||||
"gruyere cheese": {
|
"gruyere cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "gruyere cheese",
|
"name": "Gruyère",
|
||||||
"plural_name": "gruyere cheese"
|
"plural_name": "Gruyère"
|
||||||
},
|
},
|
||||||
"mascarpone cheese": {
|
"mascarpone cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2109,8 +2109,8 @@
|
|||||||
"cottage cheese": {
|
"cottage cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cottage cheese",
|
"name": "Hüttenkäse",
|
||||||
"plural_name": "cottage cheese"
|
"plural_name": "Hüttenkäse"
|
||||||
},
|
},
|
||||||
"american cheese": {
|
"american cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2121,7 +2121,7 @@
|
|||||||
"provolone cheese": {
|
"provolone cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "provolone cheese",
|
"name": "Provolone-Käse",
|
||||||
"plural_name": "provolone cheese"
|
"plural_name": "provolone cheese"
|
||||||
},
|
},
|
||||||
"mexican cheese blend": {
|
"mexican cheese blend": {
|
||||||
@@ -2301,8 +2301,8 @@
|
|||||||
"taleggio cheese": {
|
"taleggio cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "taleggio cheese",
|
"name": "Taleggio",
|
||||||
"plural_name": "taleggio cheese"
|
"plural_name": "Taleggio"
|
||||||
},
|
},
|
||||||
"oaxaca cheese": {
|
"oaxaca cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2319,8 +2319,8 @@
|
|||||||
"edam cheese": {
|
"edam cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "edam cheese",
|
"name": "Edamer",
|
||||||
"plural_name": "edam cheese"
|
"plural_name": "Edamer"
|
||||||
},
|
},
|
||||||
"creamy cheese wedge": {
|
"creamy cheese wedge": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2427,8 +2427,8 @@
|
|||||||
"scamorza cheese": {
|
"scamorza cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "scamorza cheese",
|
"name": "Scamorza",
|
||||||
"plural_name": "scamorza cheese"
|
"plural_name": "Scamorza"
|
||||||
},
|
},
|
||||||
"cambozola cheese": {
|
"cambozola cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2469,8 +2469,8 @@
|
|||||||
"sheep cheese": {
|
"sheep cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sheep cheese",
|
"name": "Schafskäse",
|
||||||
"plural_name": "sheep cheese"
|
"plural_name": "Schafskäse"
|
||||||
},
|
},
|
||||||
"amul cheese": {
|
"amul cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2595,8 +2595,8 @@
|
|||||||
"maasdam cheese": {
|
"maasdam cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "maasdam cheese",
|
"name": "Maasdamer",
|
||||||
"plural_name": "maasdam cheese"
|
"plural_name": "Maasdamer"
|
||||||
},
|
},
|
||||||
"petit-suisse cheese": {
|
"petit-suisse cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2630,7 +2630,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Milch",
|
"name": "Milch",
|
||||||
"plural_name": "milk"
|
"plural_name": "Milch"
|
||||||
},
|
},
|
||||||
"heavy cream": {
|
"heavy cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2642,13 +2642,13 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Schmand",
|
"name": "Schmand",
|
||||||
"plural_name": "sour cream"
|
"plural_name": "Saure Sahne"
|
||||||
},
|
},
|
||||||
"buttermilk": {
|
"buttermilk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Buttermilch",
|
"name": "Buttermilch",
|
||||||
"plural_name": "buttermilk"
|
"plural_name": "Buttermilch"
|
||||||
},
|
},
|
||||||
"yogurt": {
|
"yogurt": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2666,13 +2666,13 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Sahne",
|
"name": "Sahne",
|
||||||
"plural_name": "cream"
|
"plural_name": "Sahne"
|
||||||
},
|
},
|
||||||
"whipped cream": {
|
"whipped cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Schlagsahne",
|
"name": "Schlagsahne",
|
||||||
"plural_name": "whipped cream"
|
"plural_name": "Schlagsahne"
|
||||||
},
|
},
|
||||||
"ghee": {
|
"ghee": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
@@ -2692,7 +2692,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Kondensmilch",
|
"name": "Kondensmilch",
|
||||||
"plural_name": "condensed milk"
|
"plural_name": "Kondensmilch"
|
||||||
},
|
},
|
||||||
"half and half": {
|
"half and half": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2704,13 +2704,13 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "gezuckerte Kondensmilch",
|
"name": "gezuckerte Kondensmilch",
|
||||||
"plural_name": "sweetened condensed milk"
|
"plural_name": "gezuckerte Kondensmilch"
|
||||||
},
|
},
|
||||||
"ice cream": {
|
"ice cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Eiscreme",
|
"name": "Eiscreme",
|
||||||
"plural_name": "ice cream"
|
"plural_name": "Eiscreme"
|
||||||
},
|
},
|
||||||
"margarine": {
|
"margarine": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2734,7 +2734,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Milchpulver",
|
"name": "Milchpulver",
|
||||||
"plural_name": "milk powder"
|
"plural_name": "Milchpulver"
|
||||||
},
|
},
|
||||||
"curd": {
|
"curd": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2764,7 +2764,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Pudding",
|
"name": "Pudding",
|
||||||
"plural_name": "custard"
|
"plural_name": "Pudding"
|
||||||
},
|
},
|
||||||
"chocolate frosting": {
|
"chocolate frosting": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2788,7 +2788,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Schokoladenmilch",
|
"name": "Schokoladenmilch",
|
||||||
"plural_name": "chocolate milk"
|
"plural_name": "Schokoladenmilch"
|
||||||
},
|
},
|
||||||
"liquid egg substitute": {
|
"liquid egg substitute": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2854,7 +2854,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Ziegenmilch",
|
"name": "Ziegenmilch",
|
||||||
"plural_name": "goat milk"
|
"plural_name": "Ziegenmilch"
|
||||||
},
|
},
|
||||||
"cheese curd": {
|
"cheese curd": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2866,7 +2866,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Sauermilch",
|
"name": "Sauermilch",
|
||||||
"plural_name": "sour milk"
|
"plural_name": "Sauermilch"
|
||||||
},
|
},
|
||||||
"ganache": {
|
"ganache": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2908,7 +2908,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Rohmilch",
|
"name": "Rohmilch",
|
||||||
"plural_name": "raw milk"
|
"plural_name": "Rohmilch"
|
||||||
},
|
},
|
||||||
"lime curd": {
|
"lime curd": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2974,7 +2974,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Erdbeerfrischkäse",
|
"name": "Erdbeerfrischkäse",
|
||||||
"plural_name": "strawberry cream cheese"
|
"plural_name": "Erdbeerfrischkäse"
|
||||||
},
|
},
|
||||||
"goat butter": {
|
"goat butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3028,7 +3028,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Schokoladenmilchpulver",
|
"name": "Schokoladenmilchpulver",
|
||||||
"plural_name": "chocolate milk powder"
|
"plural_name": "Schokoladenmilchpulver"
|
||||||
},
|
},
|
||||||
"liquid rennet": {
|
"liquid rennet": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3046,7 +3046,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Erdbeermilch",
|
"name": "Erdbeermilch",
|
||||||
"plural_name": "strawberry milk"
|
"plural_name": "Erdbeermilch"
|
||||||
},
|
},
|
||||||
"ayran": {
|
"ayran": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3082,7 +3082,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Schafsmilch",
|
"name": "Schafsmilch",
|
||||||
"plural_name": "sheep milk"
|
"plural_name": "Schafsmilch"
|
||||||
},
|
},
|
||||||
"starter culture": {
|
"starter culture": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3106,7 +3106,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Vanillemilch",
|
"name": "Vanillemilch",
|
||||||
"plural_name": "vanilla milk"
|
"plural_name": "Vanillemilch"
|
||||||
},
|
},
|
||||||
"yoplait whip": {
|
"yoplait whip": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3118,7 +3118,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Büffelmilch",
|
"name": "Büffelmilch",
|
||||||
"plural_name": "buffalo milk"
|
"plural_name": "Büffelmilch"
|
||||||
},
|
},
|
||||||
"goat kefir": {
|
"goat kefir": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3140,13 +3140,13 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Kokosmilch",
|
"name": "Kokosmilch",
|
||||||
"plural_name": "coconut milk"
|
"plural_name": "Kokosmilch"
|
||||||
},
|
},
|
||||||
"almond milk": {
|
"almond milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Mandelmilch",
|
"name": "Mandelmilch",
|
||||||
"plural_name": "almond milk"
|
"plural_name": "Mandelmilch"
|
||||||
},
|
},
|
||||||
"almond butter": {
|
"almond butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3164,7 +3164,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Kokoscreme",
|
"name": "Kokoscreme",
|
||||||
"plural_name": "coconut cream"
|
"plural_name": "Kokoscreme"
|
||||||
},
|
},
|
||||||
"vegan butter": {
|
"vegan butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3176,13 +3176,13 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Pflanzliche Milch",
|
"name": "Pflanzliche Milch",
|
||||||
"plural_name": "non-dairy milk"
|
"plural_name": "Pflanzliche Milch"
|
||||||
},
|
},
|
||||||
"soy milk": {
|
"soy milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Soyamilch",
|
"name": "Soyamilch",
|
||||||
"plural_name": "soy milk"
|
"plural_name": "Soyamilch"
|
||||||
},
|
},
|
||||||
"extra firm tofu": {
|
"extra firm tofu": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3218,13 +3218,13 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Vegane Mayonnaise",
|
"name": "Vegane Mayonnaise",
|
||||||
"plural_name": "vegan mayonnaise"
|
"plural_name": "Vegane Mayonnaise"
|
||||||
},
|
},
|
||||||
"vegan cheese": {
|
"vegan cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Veganer Käse",
|
"name": "Veganer Käse",
|
||||||
"plural_name": "vegan cheese"
|
"plural_name": "Veganer Käse"
|
||||||
},
|
},
|
||||||
"cashew butter": {
|
"cashew butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3242,7 +3242,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Veganer Frischkäse",
|
"name": "Veganer Frischkäse",
|
||||||
"plural_name": "vegan cream cheese"
|
"plural_name": "Veganer Frischkäse"
|
||||||
},
|
},
|
||||||
"coconut yogurt": {
|
"coconut yogurt": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3266,13 +3266,13 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Cashewmilch",
|
"name": "Cashewmilch",
|
||||||
"plural_name": "cashew milk"
|
"plural_name": "Cashewmilch"
|
||||||
},
|
},
|
||||||
"oat milk": {
|
"oat milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Hafermilch",
|
"name": "Hafermilch",
|
||||||
"plural_name": "oat milk"
|
"plural_name": "Hafermilch"
|
||||||
},
|
},
|
||||||
"nut butter": {
|
"nut butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3284,13 +3284,13 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Reismilch",
|
"name": "Reismilch",
|
||||||
"plural_name": "rice milk"
|
"plural_name": "Reismilch"
|
||||||
},
|
},
|
||||||
"vegan sour cream": {
|
"vegan sour cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Veganer Schmand",
|
"name": "Veganer Schmand",
|
||||||
"plural_name": "vegan sour cream"
|
"plural_name": "Veganer Schmand"
|
||||||
},
|
},
|
||||||
"textured vegetable protein": {
|
"textured vegetable protein": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3332,7 +3332,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Kokos-Schlagsahne",
|
"name": "Kokos-Schlagsahne",
|
||||||
"plural_name": "coconut whipped cream"
|
"plural_name": "Kokos-Schlagsahne"
|
||||||
},
|
},
|
||||||
"smoked tofu": {
|
"smoked tofu": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3344,13 +3344,13 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Kokospulver",
|
"name": "Kokospulver",
|
||||||
"plural_name": "coconut powder"
|
"plural_name": "Kokospulver"
|
||||||
},
|
},
|
||||||
"soy cream": {
|
"soy cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Sojasahne",
|
"name": "Sojasahne",
|
||||||
"plural_name": "soy cream"
|
"plural_name": "Sojasahne"
|
||||||
},
|
},
|
||||||
"seitan": {
|
"seitan": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3362,7 +3362,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Kokosmilchpulver",
|
"name": "Kokosmilchpulver",
|
||||||
"plural_name": "coconut milk powder"
|
"plural_name": "Kokosmilchpulver"
|
||||||
},
|
},
|
||||||
"non-dairy whipped topping": {
|
"non-dairy whipped topping": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3374,13 +3374,13 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Nussmilch",
|
"name": "Nussmilch",
|
||||||
"plural_name": "nut milk"
|
"plural_name": "Nussmilch"
|
||||||
},
|
},
|
||||||
"non-dairy cream": {
|
"non-dairy cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Geschlagene non-dairy Toppings",
|
"name": "Geschlagene non-dairy Toppings",
|
||||||
"plural_name": "non-dairy cream"
|
"plural_name": "Pflanzliche Sahne"
|
||||||
},
|
},
|
||||||
"vegan burger patty": {
|
"vegan burger patty": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3392,7 +3392,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Kondensierte Kokosmilch",
|
"name": "Kondensierte Kokosmilch",
|
||||||
"plural_name": "condensed coconut milk"
|
"plural_name": "Kondensierte Kokosmilch"
|
||||||
},
|
},
|
||||||
"vegan ground beef": {
|
"vegan ground beef": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3446,7 +3446,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Hanfmilch",
|
"name": "Hanfmilch",
|
||||||
"plural_name": "hemp milk"
|
"plural_name": "Hanfmilch"
|
||||||
},
|
},
|
||||||
"vegan beef": {
|
"vegan beef": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3476,7 +3476,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Kokosnuss-Paste",
|
"name": "Kokosnuss-Paste",
|
||||||
"plural_name": "coconut paste"
|
"plural_name": "Kokosnusspaste"
|
||||||
},
|
},
|
||||||
"vegetable suet": {
|
"vegetable suet": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3494,7 +3494,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Mandel-Kokosmilch",
|
"name": "Mandel-Kokosmilch",
|
||||||
"plural_name": "almond-coconut milk"
|
"plural_name": "Mandel-Kokosmilch"
|
||||||
},
|
},
|
||||||
"banana blossom": {
|
"banana blossom": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3506,7 +3506,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Vegane Fischsoße",
|
"name": "Vegane Fischsoße",
|
||||||
"plural_name": "vegan fish sauce"
|
"plural_name": "Vegane Fischsoße"
|
||||||
},
|
},
|
||||||
"vegetarian hot dog": {
|
"vegetarian hot dog": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3518,7 +3518,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Haselnussmilch",
|
"name": "Haselnussmilch",
|
||||||
"plural_name": "hazelnut milk"
|
"plural_name": "Haselnussmilch"
|
||||||
},
|
},
|
||||||
"maple almond butter": {
|
"maple almond butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3548,7 +3548,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Soja-Milchpulver",
|
"name": "Soja-Milchpulver",
|
||||||
"plural_name": "soy milk powder"
|
"plural_name": "Soja-Milchpulver"
|
||||||
},
|
},
|
||||||
"vegan cream cheese frosting": {
|
"vegan cream cheese frosting": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3596,7 +3596,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Leinsamenmilch",
|
"name": "Leinsamenmilch",
|
||||||
"plural_name": "flax milk"
|
"plural_name": "Leinsamenmilch"
|
||||||
},
|
},
|
||||||
"hazelnut creamer": {
|
"hazelnut creamer": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3644,7 +3644,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Grillenmehl",
|
"name": "Grillenmehl",
|
||||||
"plural_name": "cricket flour"
|
"plural_name": "Grillenmehl"
|
||||||
},
|
},
|
||||||
"macadamia butter": {
|
"macadamia butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3674,7 +3674,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Macadamia-Milch",
|
"name": "Macadamia-Milch",
|
||||||
"plural_name": "macadamia milk"
|
"plural_name": "Macadamia-Milch"
|
||||||
},
|
},
|
||||||
"vegan taco meat": {
|
"vegan taco meat": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3698,7 +3698,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Bananenmilch",
|
"name": "Bananenmilch",
|
||||||
"plural_name": "banana milk"
|
"plural_name": "Bananenmilch"
|
||||||
},
|
},
|
||||||
"soy quark": {
|
"soy quark": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3722,7 +3722,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Walnuss-Milch",
|
"name": "Walnuss-Milch",
|
||||||
"plural_name": "walnut milk"
|
"plural_name": "Walnussmilch"
|
||||||
},
|
},
|
||||||
"latik": {
|
"latik": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -5395,8 +5395,8 @@
|
|||||||
"pangasius": {
|
"pangasius": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pangasius",
|
"name": "Pangasius",
|
||||||
"plural_name": "pangasius"
|
"plural_name": "Pangasien"
|
||||||
},
|
},
|
||||||
"salt herring": {
|
"salt herring": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -5579,8 +5579,8 @@
|
|||||||
"octopus": {
|
"octopus": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "octopus",
|
"name": "Tintenfisch",
|
||||||
"plural_name": "octopi"
|
"plural_name": "Tintenfische"
|
||||||
},
|
},
|
||||||
"kombu": {
|
"kombu": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -5818,7 +5818,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Zimt",
|
"name": "Zimt",
|
||||||
"plural_name": "cinnamon"
|
"plural_name": "Zimt"
|
||||||
},
|
},
|
||||||
"parsley": {
|
"parsley": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -5848,7 +5848,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Thymian",
|
"name": "Thymian",
|
||||||
"plural_name": "thyme"
|
"plural_name": "Thymian"
|
||||||
},
|
},
|
||||||
"ginger root": {
|
"ginger root": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -5860,7 +5860,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Knoblauchpulver",
|
"name": "Knoblauchpulver",
|
||||||
"plural_name": "garlic powder"
|
"plural_name": "Knoblauchpulver"
|
||||||
},
|
},
|
||||||
"oregano": {
|
"oregano": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -5884,13 +5884,13 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Chilipulver",
|
"name": "Chilipulver",
|
||||||
"plural_name": "chili powder"
|
"plural_name": "Chilipulver"
|
||||||
},
|
},
|
||||||
"paprika": {
|
"paprika": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Paprika",
|
"name": "Paprika",
|
||||||
"plural_name": "paprika"
|
"plural_name": "Paprikas"
|
||||||
},
|
},
|
||||||
"cayenne": {
|
"cayenne": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -5926,13 +5926,13 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Zwiebelpulver",
|
"name": "Zwiebelpulver",
|
||||||
"plural_name": "onion powder"
|
"plural_name": "Zwiebelpulver"
|
||||||
},
|
},
|
||||||
"ginger powder": {
|
"ginger powder": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Ingwerpulver",
|
"name": "Ingwerpulver",
|
||||||
"plural_name": "ginger powder"
|
"plural_name": "Ingwerpulver"
|
||||||
},
|
},
|
||||||
"panch puran": {
|
"panch puran": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -5968,7 +5968,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "geräucherter Paprika",
|
"name": "geräucherter Paprika",
|
||||||
"plural_name": "smoked paprika"
|
"plural_name": "geräucherte Paprika"
|
||||||
},
|
},
|
||||||
"fresh mint": {
|
"fresh mint": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -5980,7 +5980,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Koriander-Pulver",
|
"name": "Koriander-Pulver",
|
||||||
"plural_name": "coriander powder"
|
"plural_name": "Korianderpulver"
|
||||||
},
|
},
|
||||||
"sage": {
|
"sage": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -6022,7 +6022,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Weißer Pfeffer",
|
"name": "Weißer Pfeffer",
|
||||||
"plural_name": "white pepper"
|
"plural_name": "Weißer Pfeffer"
|
||||||
},
|
},
|
||||||
"curry leaf": {
|
"curry leaf": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -6094,7 +6094,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Chipotlepulver",
|
"name": "Chipotlepulver",
|
||||||
"plural_name": "chipotle powder"
|
"plural_name": "Chipotlepulver"
|
||||||
},
|
},
|
||||||
"chipotle": {
|
"chipotle": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -6118,7 +6118,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Matcha-Pulver",
|
"name": "Matcha-Pulver",
|
||||||
"plural_name": "matcha powder"
|
"plural_name": "Matcha-Pulver"
|
||||||
},
|
},
|
||||||
"ancho chile powder": {
|
"ancho chile powder": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -6208,7 +6208,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Mango-Pulver",
|
"name": "Mango-Pulver",
|
||||||
"plural_name": "mango powder"
|
"plural_name": "Mangopulver"
|
||||||
},
|
},
|
||||||
"black mustard seed": {
|
"black mustard seed": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -6250,13 +6250,13 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Scharfe Paprika",
|
"name": "Scharfe Paprika",
|
||||||
"plural_name": "hot paprika"
|
"plural_name": "Scharfe Paprikas"
|
||||||
},
|
},
|
||||||
"lemon thyme": {
|
"lemon thyme": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Zitronenthymian",
|
"name": "Zitronenthymian",
|
||||||
"plural_name": "lemon thyme"
|
"plural_name": "Zitronenthymian"
|
||||||
},
|
},
|
||||||
"galangal": {
|
"galangal": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -6334,7 +6334,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Gochugaru",
|
"name": "Gochugaru",
|
||||||
"plural_name": "gochugaru"
|
"plural_name": "Gochugaru"
|
||||||
},
|
},
|
||||||
"saigon cinnamon": {
|
"saigon cinnamon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -6428,7 +6428,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Zucker",
|
"name": "Zucker",
|
||||||
"plural_name": "sugar"
|
"plural_name": "Zucker"
|
||||||
},
|
},
|
||||||
"brown sugar": {
|
"brown sugar": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
@@ -6436,7 +6436,7 @@
|
|||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Brauner Zucker",
|
"name": "Brauner Zucker",
|
||||||
"plural_name": "brown sugar"
|
"plural_name": "Brauner Zucker"
|
||||||
},
|
},
|
||||||
"confectioners sugar": {
|
"confectioners sugar": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
@@ -6445,7 +6445,7 @@
|
|||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Puderzucker",
|
"name": "Puderzucker",
|
||||||
"plural_name": "confectioners sugar"
|
"plural_name": "Puderzucker"
|
||||||
},
|
},
|
||||||
"bar sugar": {
|
"bar sugar": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
@@ -6453,25 +6453,25 @@
|
|||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Rohrzucker",
|
"name": "Rohrzucker",
|
||||||
"plural_name": "bar sugar"
|
"plural_name": "Rohrzucker"
|
||||||
},
|
},
|
||||||
"maple syrup": {
|
"maple syrup": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Ahornsirup",
|
"name": "Ahornsirup",
|
||||||
"plural_name": "maple syrup"
|
"plural_name": "Ahornsirup"
|
||||||
},
|
},
|
||||||
"corn syrup": {
|
"corn syrup": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Maissirup",
|
"name": "Maissirup",
|
||||||
"plural_name": "corn syrup"
|
"plural_name": "Maissirup"
|
||||||
},
|
},
|
||||||
"coconut sugar": {
|
"coconut sugar": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "Kokosblütenzucker",
|
"name": "Kokosblütenzucker",
|
||||||
"plural_name": "coconut sugar"
|
"plural_name": "Kokosblütenzucker"
|
||||||
},
|
},
|
||||||
"molasses": {
|
"molasses": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "küüslauk",
|
"name": "küüslauk",
|
||||||
"plural_name": "garlic"
|
"plural_name": "küüslauku"
|
||||||
},
|
},
|
||||||
"onion": {
|
"onion": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -59,7 +59,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "seller",
|
"name": "seller",
|
||||||
"plural_name": "celery"
|
"plural_name": "sellerit"
|
||||||
},
|
},
|
||||||
"jalapeño": {
|
"jalapeño": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -95,7 +95,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "spinat",
|
"name": "spinat",
|
||||||
"plural_name": "spinach"
|
"plural_name": "spinatit"
|
||||||
},
|
},
|
||||||
"sweet corn": {
|
"sweet corn": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -145,7 +145,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "lillkapsas",
|
"name": "lillkapsas",
|
||||||
"plural_name": "cauliflower"
|
"plural_name": "lillkapsast"
|
||||||
},
|
},
|
||||||
"cabbage": {
|
"cabbage": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -169,7 +169,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "rukkola",
|
"name": "rukkola",
|
||||||
"plural_name": "arugula"
|
"plural_name": "rukolat"
|
||||||
},
|
},
|
||||||
"leek": {
|
"leek": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -321,8 +321,8 @@
|
|||||||
"iceberg lettuce": {
|
"iceberg lettuce": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "iceberg lettuce",
|
"name": "jääkapsas",
|
||||||
"plural_name": "iceberg lettuce"
|
"plural_name": "jääkapsad"
|
||||||
},
|
},
|
||||||
"mashed potato": {
|
"mashed potato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -630,7 +630,7 @@
|
|||||||
"foods": {
|
"foods": {
|
||||||
"tomato": {
|
"tomato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "Yes they are a fruit",
|
"description": "Jah, need on puuviljad",
|
||||||
"name": "tomat",
|
"name": "tomat",
|
||||||
"plural_name": "tomatit"
|
"plural_name": "tomatit"
|
||||||
},
|
},
|
||||||
@@ -739,8 +739,8 @@
|
|||||||
"dried apricot": {
|
"dried apricot": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried apricot",
|
"name": "kuivatatud aprikoos",
|
||||||
"plural_name": "dried apricots"
|
"plural_name": "kuivatatud aprikoosid"
|
||||||
},
|
},
|
||||||
"kiwi": {
|
"kiwi": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -853,8 +853,8 @@
|
|||||||
"dried fruit": {
|
"dried fruit": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried fruit",
|
"name": "kuivatatud puuvili",
|
||||||
"plural_name": "dried fruits"
|
"plural_name": "kuivatatud puuviljad"
|
||||||
},
|
},
|
||||||
"clementine": {
|
"clementine": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -907,8 +907,8 @@
|
|||||||
"banana chip": {
|
"banana chip": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "banana chip",
|
"name": "banaanikrõps",
|
||||||
"plural_name": "banana chips"
|
"plural_name": "banaanikrõpsud"
|
||||||
},
|
},
|
||||||
"kumquat": {
|
"kumquat": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -925,8 +925,8 @@
|
|||||||
"dragon fruit": {
|
"dragon fruit": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dragon fruit",
|
"name": "draakonivili",
|
||||||
"plural_name": "dragon fruits"
|
"plural_name": "draakoniviljad"
|
||||||
},
|
},
|
||||||
"mixed fruit": {
|
"mixed fruit": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -1009,8 +1009,8 @@
|
|||||||
"apple chip": {
|
"apple chip": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "apple chip",
|
"name": "õunakrõps",
|
||||||
"plural_name": "apple chips"
|
"plural_name": "õunakrõpsu"
|
||||||
},
|
},
|
||||||
"mixed peel": {
|
"mixed peel": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -1093,8 +1093,8 @@
|
|||||||
"physali": {
|
"physali": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "physali",
|
"name": "füüsal",
|
||||||
"plural_name": "physalis"
|
"plural_name": "füüsalit"
|
||||||
},
|
},
|
||||||
"tamarillo": {
|
"tamarillo": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -1153,8 +1153,8 @@
|
|||||||
"dried orange slice": {
|
"dried orange slice": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried orange slice",
|
"name": "kuivatatud apelsiniviil",
|
||||||
"plural_name": "dried orange slices"
|
"plural_name": "kuivatatud apelsiniviilu"
|
||||||
},
|
},
|
||||||
"loquat": {
|
"loquat": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -1503,8 +1503,8 @@
|
|||||||
"dried cherry": {
|
"dried cherry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried cherry",
|
"name": "kuivatatud kirss",
|
||||||
"plural_name": "dried cherries"
|
"plural_name": "kuivatatud kirsse"
|
||||||
},
|
},
|
||||||
"juniper berry": {
|
"juniper berry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -1515,8 +1515,8 @@
|
|||||||
"sour cherry": {
|
"sour cherry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sour cherry",
|
"name": "hapu kirss",
|
||||||
"plural_name": "sour cherries"
|
"plural_name": "hapusid kirsse"
|
||||||
},
|
},
|
||||||
"goji berry": {
|
"goji berry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -1551,8 +1551,8 @@
|
|||||||
"lingonberry": {
|
"lingonberry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "lingonberry",
|
"name": "pohl",
|
||||||
"plural_name": "lingonberries"
|
"plural_name": "pohla"
|
||||||
},
|
},
|
||||||
"canned sour cherry": {
|
"canned sour cherry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -1593,8 +1593,8 @@
|
|||||||
"freeze-dried blueberry": {
|
"freeze-dried blueberry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "freeze-dried blueberry",
|
"name": "külmkuivatatud mustikas",
|
||||||
"plural_name": "freeze-dried blueberries"
|
"plural_name": "külmkuivatatud mustikat"
|
||||||
},
|
},
|
||||||
"huckleberry": {
|
"huckleberry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -1617,14 +1617,14 @@
|
|||||||
"dried berry": {
|
"dried berry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried berry",
|
"name": "kuivatatud mari",
|
||||||
"plural_name": "dried berries"
|
"plural_name": "kuivatatud marju"
|
||||||
},
|
},
|
||||||
"sea buckthorn": {
|
"sea buckthorn": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sea buckthorn",
|
"name": "astelpaju",
|
||||||
"plural_name": "sea buckthorns"
|
"plural_name": "astelpaju"
|
||||||
},
|
},
|
||||||
"saskatoon berry": {
|
"saskatoon berry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -1683,7 +1683,7 @@
|
|||||||
"blackcurrant leaf": {
|
"blackcurrant leaf": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "blackcurrant leaf",
|
"name": "mustsõstraleht",
|
||||||
"plural_name": "blackcurrant leaves"
|
"plural_name": "blackcurrant leaves"
|
||||||
},
|
},
|
||||||
"haskap berry": {
|
"haskap berry": {
|
||||||
@@ -1735,13 +1735,13 @@
|
|||||||
"sesame seed": {
|
"sesame seed": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sesame seed",
|
"name": "seesamiseeme",
|
||||||
"plural_name": "sesame seeds"
|
"plural_name": "seesamiseemneid"
|
||||||
},
|
},
|
||||||
"cashew": {
|
"cashew": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cashew",
|
"name": "India pähkel",
|
||||||
"plural_name": "cashews"
|
"plural_name": "cashews"
|
||||||
},
|
},
|
||||||
"pine nut": {
|
"pine nut": {
|
||||||
@@ -1795,7 +1795,7 @@
|
|||||||
"poppy seed": {
|
"poppy seed": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "poppy seed",
|
"name": "mooniseeme",
|
||||||
"plural_name": "poppy seeds"
|
"plural_name": "poppy seeds"
|
||||||
},
|
},
|
||||||
"sunflower seed": {
|
"sunflower seed": {
|
||||||
@@ -1861,7 +1861,7 @@
|
|||||||
"watermelon seed": {
|
"watermelon seed": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "watermelon seed",
|
"name": "arbuusiseeme",
|
||||||
"plural_name": "watermelon seeds"
|
"plural_name": "watermelon seeds"
|
||||||
},
|
},
|
||||||
"honey-roasted peanut": {
|
"honey-roasted peanut": {
|
||||||
@@ -1873,7 +1873,7 @@
|
|||||||
"melon seed": {
|
"melon seed": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "melon seed",
|
"name": "meloniseeme",
|
||||||
"plural_name": "melon seeds"
|
"plural_name": "melon seeds"
|
||||||
},
|
},
|
||||||
"lotus seed": {
|
"lotus seed": {
|
||||||
@@ -2031,7 +2031,7 @@
|
|||||||
"cheese": {
|
"cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cheese",
|
"name": "juust",
|
||||||
"plural_name": "cheese"
|
"plural_name": "cheese"
|
||||||
},
|
},
|
||||||
"mozzarella cheese": {
|
"mozzarella cheese": {
|
||||||
@@ -2073,8 +2073,8 @@
|
|||||||
"goat cheese": {
|
"goat cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "goat cheese",
|
"name": "kitsejuust",
|
||||||
"plural_name": "goat cheese"
|
"plural_name": "kitsejuustu"
|
||||||
},
|
},
|
||||||
"fresh mozzarella cheese": {
|
"fresh mozzarella cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2187,8 +2187,8 @@
|
|||||||
"smoked cheese": {
|
"smoked cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "smoked cheese",
|
"name": "suitsujuust",
|
||||||
"plural_name": "smoked cheese"
|
"plural_name": "suitsujuustu"
|
||||||
},
|
},
|
||||||
"halloumi cheese": {
|
"halloumi cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2457,8 +2457,8 @@
|
|||||||
"hard goat cheese": {
|
"hard goat cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "hard goat cheese",
|
"name": "kõva kitsejuust",
|
||||||
"plural_name": "hard goat cheese"
|
"plural_name": "kõva kitsejuustu"
|
||||||
},
|
},
|
||||||
"kashkaval cheese": {
|
"kashkaval cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2469,8 +2469,8 @@
|
|||||||
"sheep cheese": {
|
"sheep cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sheep cheese",
|
"name": "lambajuust",
|
||||||
"plural_name": "sheep cheese"
|
"plural_name": "lambajuustu"
|
||||||
},
|
},
|
||||||
"amul cheese": {
|
"amul cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2630,7 +2630,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "piim",
|
"name": "piim",
|
||||||
"plural_name": "milk"
|
"plural_name": "piima"
|
||||||
},
|
},
|
||||||
"heavy cream": {
|
"heavy cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2641,8 +2641,8 @@
|
|||||||
"sour cream": {
|
"sour cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sour cream",
|
"name": "hapukoor",
|
||||||
"plural_name": "sour cream"
|
"plural_name": "hapukoort"
|
||||||
},
|
},
|
||||||
"buttermilk": {
|
"buttermilk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2665,14 +2665,14 @@
|
|||||||
"cream": {
|
"cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cream",
|
"name": "koor",
|
||||||
"plural_name": "cream"
|
"plural_name": "koort"
|
||||||
},
|
},
|
||||||
"whipped cream": {
|
"whipped cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "vahukoor",
|
"name": "vahukoor",
|
||||||
"plural_name": "whipped cream"
|
"plural_name": "vahukoort"
|
||||||
},
|
},
|
||||||
"ghee": {
|
"ghee": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
@@ -2692,7 +2692,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "kondenspiim",
|
"name": "kondenspiim",
|
||||||
"plural_name": "condensed milk"
|
"plural_name": "kondenspiima"
|
||||||
},
|
},
|
||||||
"half and half": {
|
"half and half": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2704,13 +2704,13 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "magustatud kondenspiim",
|
"name": "magustatud kondenspiim",
|
||||||
"plural_name": "sweetened condensed milk"
|
"plural_name": "magustatud kondenspiima"
|
||||||
},
|
},
|
||||||
"ice cream": {
|
"ice cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "jäätis",
|
"name": "jäätis",
|
||||||
"plural_name": "ice cream"
|
"plural_name": "jäätist"
|
||||||
},
|
},
|
||||||
"margarine": {
|
"margarine": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2739,7 +2739,7 @@
|
|||||||
"curd": {
|
"curd": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "curd",
|
"name": "",
|
||||||
"plural_name": "curds"
|
"plural_name": "curds"
|
||||||
},
|
},
|
||||||
"thickened cream": {
|
"thickened cream": {
|
||||||
@@ -2787,8 +2787,8 @@
|
|||||||
"chocolate milk": {
|
"chocolate milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chocolate milk",
|
"name": "šokolaadipiim",
|
||||||
"plural_name": "chocolate milk"
|
"plural_name": "šokolaadipiima"
|
||||||
},
|
},
|
||||||
"liquid egg substitute": {
|
"liquid egg substitute": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -2811,8 +2811,8 @@
|
|||||||
"quail egg": {
|
"quail egg": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "quail egg",
|
"name": "vutimuna",
|
||||||
"plural_name": "quail eggs"
|
"plural_name": "vutimuna"
|
||||||
},
|
},
|
||||||
"buttermilk powder": {
|
"buttermilk powder": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3045,8 +3045,8 @@
|
|||||||
"strawberry milk": {
|
"strawberry milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "strawberry milk",
|
"name": "maasikapiim",
|
||||||
"plural_name": "strawberry milk"
|
"plural_name": "maasikapiima"
|
||||||
},
|
},
|
||||||
"ayran": {
|
"ayran": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3081,8 +3081,8 @@
|
|||||||
"sheep milk": {
|
"sheep milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sheep milk",
|
"name": "lambapiim",
|
||||||
"plural_name": "sheep milk"
|
"plural_name": "lambapiima"
|
||||||
},
|
},
|
||||||
"starter culture": {
|
"starter culture": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3123,8 +3123,8 @@
|
|||||||
"goat kefir": {
|
"goat kefir": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "goat kefir",
|
"name": "kitsekeefir",
|
||||||
"plural_name": "goat kefirs"
|
"plural_name": "kitsekeefirit"
|
||||||
},
|
},
|
||||||
"lebneh": {
|
"lebneh": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3146,7 +3146,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mandlipiim",
|
"name": "mandlipiim",
|
||||||
"plural_name": "almond milk"
|
"plural_name": "mandlipiima"
|
||||||
},
|
},
|
||||||
"almond butter": {
|
"almond butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3205,7 +3205,7 @@
|
|||||||
"coconut butter": {
|
"coconut butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "coconut butter",
|
"name": "kookosvõi",
|
||||||
"plural_name": "coconut butter"
|
"plural_name": "coconut butter"
|
||||||
},
|
},
|
||||||
"egg replacer": {
|
"egg replacer": {
|
||||||
@@ -3272,7 +3272,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "kaerapiim",
|
"name": "kaerapiim",
|
||||||
"plural_name": "oat milk"
|
"plural_name": "kaerapiim"
|
||||||
},
|
},
|
||||||
"nut butter": {
|
"nut butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3284,7 +3284,7 @@
|
|||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "riisipiim",
|
"name": "riisipiim",
|
||||||
"plural_name": "rice milk"
|
"plural_name": "riisipiim"
|
||||||
},
|
},
|
||||||
"vegan sour cream": {
|
"vegan sour cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3755,8 +3755,8 @@
|
|||||||
"ground beef": {
|
"ground beef": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "ground beef",
|
"name": "veisehakkliha",
|
||||||
"plural_name": "ground beefs"
|
"plural_name": "veisehakkliha"
|
||||||
},
|
},
|
||||||
"beef steak": {
|
"beef steak": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3809,8 +3809,8 @@
|
|||||||
"ground pork": {
|
"ground pork": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "ground pork",
|
"name": "seahakkliha",
|
||||||
"plural_name": "ground porks"
|
"plural_name": "seahakkliha"
|
||||||
},
|
},
|
||||||
"beef stew meat": {
|
"beef stew meat": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -3851,7 +3851,7 @@
|
|||||||
"ground lamb": {
|
"ground lamb": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "ground lamb",
|
"name": "lambahakkliha",
|
||||||
"plural_name": "ground lambs"
|
"plural_name": "ground lambs"
|
||||||
},
|
},
|
||||||
"pork rib": {
|
"pork rib": {
|
||||||
@@ -4079,8 +4079,8 @@
|
|||||||
"mixed ground meat": {
|
"mixed ground meat": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mixed ground meat",
|
"name": "hakklihasegu",
|
||||||
"plural_name": "mixed ground meats"
|
"plural_name": "hakklihasegu"
|
||||||
},
|
},
|
||||||
"rabbit": {
|
"rabbit": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -4235,8 +4235,8 @@
|
|||||||
"blood sausage": {
|
"blood sausage": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "blood sausage",
|
"name": "verivorst",
|
||||||
"plural_name": "blood sausages"
|
"plural_name": "verivorsti"
|
||||||
},
|
},
|
||||||
"dried beef": {
|
"dried beef": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -4395,8 +4395,8 @@
|
|||||||
"chicken wing": {
|
"chicken wing": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chicken wing",
|
"name": "kanatiib",
|
||||||
"plural_name": "chicken wings"
|
"plural_name": "kanatiiba"
|
||||||
},
|
},
|
||||||
"turkey breast": {
|
"turkey breast": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@@ -4407,8 +4407,8 @@
|
|||||||
"ground chicken": {
|
"ground chicken": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "ground chicken",
|
"name": "kanahakkliha",
|
||||||
"plural_name": "ground chickens"
|
"plural_name": "kanahakkliha"
|
||||||
},
|
},
|
||||||
"rotisserie chicken": {
|
"rotisserie chicken": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -139,8 +139,8 @@
|
|||||||
"abbreviation": ""
|
"abbreviation": ""
|
||||||
},
|
},
|
||||||
"sprig": {
|
"sprig": {
|
||||||
"name": "sprig",
|
"name": "Zweig",
|
||||||
"plural_name": "sprigs",
|
"plural_name": "Zweige",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": ""
|
"abbreviation": ""
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,146 +1,146 @@
|
|||||||
{
|
{
|
||||||
"teaspoon": {
|
"teaspoon": {
|
||||||
"name": "кашичица",
|
"name": "кашичица",
|
||||||
"plural_name": "teaspoons",
|
"plural_name": "кашичица",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": "кашичица"
|
"abbreviation": "кашичица"
|
||||||
},
|
},
|
||||||
"tablespoon": {
|
"tablespoon": {
|
||||||
"name": "кашика",
|
"name": "кашика",
|
||||||
"plural_name": "tablespoons",
|
"plural_name": "кашика",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": "кашика"
|
"abbreviation": "кашика"
|
||||||
},
|
},
|
||||||
"cup": {
|
"cup": {
|
||||||
"name": "шоља",
|
"name": "шоља",
|
||||||
"plural_name": "cups",
|
"plural_name": "шоља",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": "c"
|
"abbreviation": "шоља"
|
||||||
},
|
},
|
||||||
"fluid-ounce": {
|
"fluid-ounce": {
|
||||||
"name": "течна унца",
|
"name": "течна унца",
|
||||||
"plural_name": "fluid ounces",
|
"plural_name": "течна унца",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": "течна унца"
|
"abbreviation": "течна унца"
|
||||||
},
|
},
|
||||||
"pint": {
|
"pint": {
|
||||||
"name": "пинта",
|
"name": "пинта",
|
||||||
"plural_name": "pints",
|
"plural_name": "пинте",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": "pt"
|
"abbreviation": "pt"
|
||||||
},
|
},
|
||||||
"quart": {
|
"quart": {
|
||||||
"name": "четврт галона",
|
"name": "четврт галона",
|
||||||
"plural_name": "quarts",
|
"plural_name": "четврт галона",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": "qt"
|
"abbreviation": "qt"
|
||||||
},
|
},
|
||||||
"gallon": {
|
"gallon": {
|
||||||
"name": "галон",
|
"name": "галон",
|
||||||
"plural_name": "gallons",
|
"plural_name": "галона",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": "гал"
|
"abbreviation": "gal"
|
||||||
},
|
},
|
||||||
"milliliter": {
|
"milliliter": {
|
||||||
"name": "милиметар",
|
"name": "милиметар",
|
||||||
"plural_name": "milliliters",
|
"plural_name": "милиметара",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": "мл"
|
"abbreviation": "ml"
|
||||||
},
|
},
|
||||||
"liter": {
|
"liter": {
|
||||||
"name": "литар",
|
"name": "литар",
|
||||||
"plural_name": "liters",
|
"plural_name": "литара",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": "л"
|
"abbreviation": "l"
|
||||||
},
|
},
|
||||||
"pound": {
|
"pound": {
|
||||||
"name": "фунта",
|
"name": "фунта",
|
||||||
"plural_name": "pounds",
|
"plural_name": "фунти",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": "lb",
|
"abbreviation": "lb",
|
||||||
"plural_abbreviation": "lbs"
|
"plural_abbreviation": "lbs"
|
||||||
},
|
},
|
||||||
"ounce": {
|
"ounce": {
|
||||||
"name": "унца",
|
"name": "унца",
|
||||||
"plural_name": "ounces",
|
"plural_name": "унци",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": "унца (oz)"
|
"abbreviation": "унца (oz)"
|
||||||
},
|
},
|
||||||
"gram": {
|
"gram": {
|
||||||
"name": "грам",
|
"name": "грам",
|
||||||
"plural_name": "grams",
|
"plural_name": "грама",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": "г"
|
"abbreviation": "г"
|
||||||
},
|
},
|
||||||
"kilogram": {
|
"kilogram": {
|
||||||
"name": "килограм",
|
"name": "килограм",
|
||||||
"plural_name": "kilograms",
|
"plural_name": "килограма",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": "кг"
|
"abbreviation": "кг"
|
||||||
},
|
},
|
||||||
"milligram": {
|
"milligram": {
|
||||||
"name": "милиграм",
|
"name": "милиграм",
|
||||||
"plural_name": "milligrams",
|
"plural_name": "милиграма",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": "мг"
|
"abbreviation": "мг"
|
||||||
},
|
},
|
||||||
"splash": {
|
"splash": {
|
||||||
"name": "мала количина (splash)",
|
"name": "мала количина (splash)",
|
||||||
"plural_name": "splashes",
|
"plural_name": "неколико капи",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": ""
|
"abbreviation": ""
|
||||||
},
|
},
|
||||||
"dash": {
|
"dash": {
|
||||||
"name": "осмина кашичице",
|
"name": "осмина кашичице",
|
||||||
"plural_name": "dashes",
|
"plural_name": "на врх ножа",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": ""
|
"abbreviation": ""
|
||||||
},
|
},
|
||||||
"serving": {
|
"serving": {
|
||||||
"name": "порција",
|
"name": "порција",
|
||||||
"plural_name": "servings",
|
"plural_name": "порција",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": ""
|
"abbreviation": ""
|
||||||
},
|
},
|
||||||
"head": {
|
"head": {
|
||||||
"name": "head",
|
"name": "head",
|
||||||
"plural_name": "heads",
|
"plural_name": "главица",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": ""
|
"abbreviation": ""
|
||||||
},
|
},
|
||||||
"clove": {
|
"clove": {
|
||||||
"name": "клинчић",
|
"name": "клинчић",
|
||||||
"plural_name": "cloves",
|
"plural_name": "чешњева",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": ""
|
"abbreviation": ""
|
||||||
},
|
},
|
||||||
"can": {
|
"can": {
|
||||||
"name": "конзерва",
|
"name": "конзерва",
|
||||||
"plural_name": "cans",
|
"plural_name": "конзерви",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": ""
|
"abbreviation": ""
|
||||||
},
|
},
|
||||||
"bunch": {
|
"bunch": {
|
||||||
"name": "bunch",
|
"name": "доста",
|
||||||
"plural_name": "bunches",
|
"plural_name": "доста",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": ""
|
"abbreviation": ""
|
||||||
},
|
},
|
||||||
"pack": {
|
"pack": {
|
||||||
"name": "pack",
|
"name": "паковање",
|
||||||
"plural_name": "packs",
|
"plural_name": "паковања",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": ""
|
"abbreviation": ""
|
||||||
},
|
},
|
||||||
"pinch": {
|
"pinch": {
|
||||||
"name": "pinch",
|
"name": "напрстак",
|
||||||
"plural_name": "pinches",
|
"plural_name": "напрстака",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": ""
|
"abbreviation": ""
|
||||||
},
|
},
|
||||||
"sprig": {
|
"sprig": {
|
||||||
"name": "sprig",
|
"name": "гранчица",
|
||||||
"plural_name": "sprigs",
|
"plural_name": "гранчица",
|
||||||
"description": "",
|
"description": "",
|
||||||
"abbreviation": ""
|
"abbreviation": ""
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,7 +99,12 @@ async def oauth_login(request: Request):
|
|||||||
# in development, we want to redirect to the frontend
|
# in development, we want to redirect to the frontend
|
||||||
redirect_url = "http://localhost:3000/login"
|
redirect_url = "http://localhost:3000/login"
|
||||||
else:
|
else:
|
||||||
redirect_url = URLPath("/login").make_absolute_url(request.base_url)
|
# Prioritize User Configuration over Request Headers.
|
||||||
|
if not settings.is_default_base_url:
|
||||||
|
base = settings.BASE_URL or request.base_url
|
||||||
|
else:
|
||||||
|
base = request.base_url
|
||||||
|
redirect_url = URLPath("/login").make_absolute_url(base)
|
||||||
|
|
||||||
response: RedirectResponse = await client.authorize_redirect(request, redirect_url)
|
response: RedirectResponse = await client.authorize_redirect(request, redirect_url)
|
||||||
return response
|
return response
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from enum import Enum
|
from enum import StrEnum
|
||||||
|
|
||||||
from fastapi import APIRouter, HTTPException, status
|
from fastapi import APIRouter, HTTPException, status
|
||||||
from pydantic import UUID4
|
from pydantic import UUID4
|
||||||
@@ -10,7 +10,7 @@ from mealie.schema.recipe.recipe_timeline_events import RecipeTimelineEventOut
|
|||||||
router = APIRouter(prefix="/recipes")
|
router = APIRouter(prefix="/recipes")
|
||||||
|
|
||||||
|
|
||||||
class ImageType(str, Enum):
|
class ImageType(StrEnum):
|
||||||
original = "original.webp"
|
original = "original.webp"
|
||||||
small = "min-original.webp"
|
small = "min-original.webp"
|
||||||
tiny = "tiny-original.webp"
|
tiny = "tiny-original.webp"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import enum
|
|||||||
from mealie.schema._mealie import MealieModel
|
from mealie.schema._mealie import MealieModel
|
||||||
|
|
||||||
|
|
||||||
class SupportedMigrations(str, enum.Enum):
|
class SupportedMigrations(enum.StrEnum):
|
||||||
nextcloud = "nextcloud"
|
nextcloud = "nextcloud"
|
||||||
chowdown = "chowdown"
|
chowdown = "chowdown"
|
||||||
copymethat = "copymethat"
|
copymethat = "copymethat"
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ from mealie.schema._mealie.datetime_parse import parse_datetime
|
|||||||
from mealie.schema.response.pagination import PaginationBase
|
from mealie.schema.response.pagination import PaginationBase
|
||||||
|
|
||||||
|
|
||||||
class WebhookType(str, enum.Enum):
|
class WebhookType(enum.StrEnum):
|
||||||
mealplan = "mealplan"
|
mealplan = "mealplan"
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
from datetime import date
|
from datetime import date
|
||||||
from enum import Enum
|
from enum import StrEnum
|
||||||
from typing import Annotated
|
from typing import Annotated
|
||||||
from uuid import UUID
|
from uuid import UUID
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@ from mealie.schema.recipe.recipe import RecipeSummary
|
|||||||
from mealie.schema.response.pagination import PaginationBase
|
from mealie.schema.response.pagination import PaginationBase
|
||||||
|
|
||||||
|
|
||||||
class PlanEntryType(str, Enum):
|
class PlanEntryType(StrEnum):
|
||||||
breakfast = "breakfast"
|
breakfast = "breakfast"
|
||||||
lunch = "lunch"
|
lunch = "lunch"
|
||||||
dinner = "dinner"
|
dinner = "dinner"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import datetime
|
import datetime
|
||||||
from enum import Enum
|
from enum import StrEnum
|
||||||
from typing import Annotated
|
from typing import Annotated
|
||||||
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
@@ -14,7 +14,7 @@ from mealie.services.query_filter.builder import QueryFilterBuilder, QueryFilter
|
|||||||
logger = get_logger()
|
logger = get_logger()
|
||||||
|
|
||||||
|
|
||||||
class PlanRulesDay(str, Enum):
|
class PlanRulesDay(StrEnum):
|
||||||
monday = "monday"
|
monday = "monday"
|
||||||
tuesday = "tuesday"
|
tuesday = "tuesday"
|
||||||
wednesday = "wednesday"
|
wednesday = "wednesday"
|
||||||
@@ -33,7 +33,7 @@ class PlanRulesDay(str, Enum):
|
|||||||
return PlanRulesDay.unset
|
return PlanRulesDay.unset
|
||||||
|
|
||||||
|
|
||||||
class PlanRulesType(str, Enum):
|
class PlanRulesType(StrEnum):
|
||||||
breakfast = "breakfast"
|
breakfast = "breakfast"
|
||||||
lunch = "lunch"
|
lunch = "lunch"
|
||||||
dinner = "dinner"
|
dinner = "dinner"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ from mealie.schema.recipe.recipe_category import CategoryBase, TagBase
|
|||||||
from mealie.schema.recipe.recipe_settings import RecipeSettings
|
from mealie.schema.recipe.recipe_settings import RecipeSettings
|
||||||
|
|
||||||
|
|
||||||
class ExportTypes(str, enum.Enum):
|
class ExportTypes(enum.StrEnum):
|
||||||
JSON = "json"
|
JSON = "json"
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
from enum import Enum
|
from enum import StrEnum
|
||||||
|
|
||||||
|
|
||||||
class RecipeImageTypes(str, Enum):
|
class RecipeImageTypes(StrEnum):
|
||||||
original = "original.webp"
|
original = "original.webp"
|
||||||
min = "min-original.webp"
|
min = "min-original.webp"
|
||||||
tiny = "tiny-original.webp"
|
tiny = "tiny-original.webp"
|
||||||
|
|||||||
@@ -320,7 +320,7 @@ class ParsedIngredient(MealieModel):
|
|||||||
ingredient: RecipeIngredient
|
ingredient: RecipeIngredient
|
||||||
|
|
||||||
|
|
||||||
class RegisteredParser(str, enum.Enum):
|
class RegisteredParser(enum.StrEnum):
|
||||||
nlp = "nlp"
|
nlp = "nlp"
|
||||||
brute = "brute"
|
brute = "brute"
|
||||||
openai = "openai"
|
openai = "openai"
|
||||||
|
|||||||
@@ -11,14 +11,14 @@ from mealie.db.models.group import ReportModel
|
|||||||
from mealie.schema._mealie import MealieModel
|
from mealie.schema._mealie import MealieModel
|
||||||
|
|
||||||
|
|
||||||
class ReportCategory(str, enum.Enum):
|
class ReportCategory(enum.StrEnum):
|
||||||
backup = "backup"
|
backup = "backup"
|
||||||
restore = "restore"
|
restore = "restore"
|
||||||
migration = "migration"
|
migration = "migration"
|
||||||
bulk_import = "bulk_import"
|
bulk_import = "bulk_import"
|
||||||
|
|
||||||
|
|
||||||
class ReportSummaryStatus(str, enum.Enum):
|
class ReportSummaryStatus(enum.StrEnum):
|
||||||
in_progress = "in-progress"
|
in_progress = "in-progress"
|
||||||
success = "success"
|
success = "success"
|
||||||
failure = "failure"
|
failure = "failure"
|
||||||
|
|||||||
@@ -9,12 +9,12 @@ from pydantic_core.core_schema import ValidationInfo
|
|||||||
from mealie.schema._mealie import MealieModel
|
from mealie.schema._mealie import MealieModel
|
||||||
|
|
||||||
|
|
||||||
class OrderDirection(str, enum.Enum):
|
class OrderDirection(enum.StrEnum):
|
||||||
asc = "asc"
|
asc = "asc"
|
||||||
desc = "desc"
|
desc = "desc"
|
||||||
|
|
||||||
|
|
||||||
class OrderByNullPosition(str, enum.Enum):
|
class OrderByNullPosition(enum.StrEnum):
|
||||||
first = "first"
|
first = "first"
|
||||||
last = "last"
|
last = "last"
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from mealie.schema.recipe.recipe_image_types import RecipeImageTypes
|
|||||||
from mealie.services._base_service import BaseService
|
from mealie.services._base_service import BaseService
|
||||||
|
|
||||||
|
|
||||||
class TemplateType(str, enum.Enum):
|
class TemplateType(enum.StrEnum):
|
||||||
json = "json"
|
json = "json"
|
||||||
zip = "zip"
|
zip = "zip"
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from enum import Enum
|
from enum import StrEnum
|
||||||
from re import search as regex_search
|
from re import search as regex_search
|
||||||
from uuid import uuid4
|
from uuid import uuid4
|
||||||
|
|
||||||
@@ -15,7 +15,7 @@ from mealie.services.scraper.scraped_extras import ScrapedExtras
|
|||||||
from .recipe_scraper import RecipeScraper
|
from .recipe_scraper import RecipeScraper
|
||||||
|
|
||||||
|
|
||||||
class ParserErrors(str, Enum):
|
class ParserErrors(StrEnum):
|
||||||
BAD_RECIPE_DATA = "BAD_RECIPE_DATA"
|
BAD_RECIPE_DATA = "BAD_RECIPE_DATA"
|
||||||
NO_RECIPE_DATA = "NO_RECIPE_DATA"
|
NO_RECIPE_DATA = "NO_RECIPE_DATA"
|
||||||
CONNECTION_ERROR = "CONNECTION_ERROR"
|
CONNECTION_ERROR = "CONNECTION_ERROR"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "mealie"
|
name = "mealie"
|
||||||
version = "3.10.0"
|
version = "3.10.2"
|
||||||
description = "A Recipe Manager"
|
description = "A Recipe Manager"
|
||||||
authors = [{ name = "Hayden", email = "hay-kot@pm.me" }]
|
authors = [{ name = "Hayden", email = "hay-kot@pm.me" }]
|
||||||
license = "AGPL-3.0-only"
|
license = "AGPL-3.0-only"
|
||||||
@@ -17,7 +17,7 @@ dependencies = [
|
|||||||
"apprise==1.9.7",
|
"apprise==1.9.7",
|
||||||
"bcrypt==5.0.0",
|
"bcrypt==5.0.0",
|
||||||
"extruct==0.18.0",
|
"extruct==0.18.0",
|
||||||
"fastapi==0.128.0",
|
"fastapi==0.128.1",
|
||||||
"httpx==0.28.1",
|
"httpx==0.28.1",
|
||||||
"lxml==6.0.2",
|
"lxml==6.0.2",
|
||||||
"orjson==3.11.7",
|
"orjson==3.11.7",
|
||||||
@@ -61,7 +61,7 @@ docs = [
|
|||||||
"mkdocs-material==9.7.1",
|
"mkdocs-material==9.7.1",
|
||||||
]
|
]
|
||||||
dev = [
|
dev = [
|
||||||
"coverage==7.13.2",
|
"coverage==7.13.3",
|
||||||
"coveragepy-lcov==0.1.2",
|
"coveragepy-lcov==0.1.2",
|
||||||
"mkdocs-material==9.7.1",
|
"mkdocs-material==9.7.1",
|
||||||
"mypy==1.19.1",
|
"mypy==1.19.1",
|
||||||
@@ -70,7 +70,7 @@ dev = [
|
|||||||
"pytest==9.0.2",
|
"pytest==9.0.2",
|
||||||
"pytest-asyncio==1.3.0",
|
"pytest-asyncio==1.3.0",
|
||||||
"rich==14.3.2",
|
"rich==14.3.2",
|
||||||
"ruff==0.14.14",
|
"ruff==0.15.0",
|
||||||
"types-PyYAML==6.0.12.20250915",
|
"types-PyYAML==6.0.12.20250915",
|
||||||
"types-python-dateutil==2.9.0.20260124",
|
"types-python-dateutil==2.9.0.20260124",
|
||||||
"types-python-slugify==8.0.2.20240310",
|
"types-python-slugify==8.0.2.20240310",
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ services:
|
|||||||
network_mode: host
|
network_mode: host
|
||||||
environment:
|
environment:
|
||||||
ALLOW_SIGNUP: True
|
ALLOW_SIGNUP: True
|
||||||
|
BASE_URL: http://localhost:9000
|
||||||
DB_ENGINE: sqlite
|
DB_ENGINE: sqlite
|
||||||
|
|
||||||
OIDC_AUTH_ENABLED: True
|
OIDC_AUTH_ENABLED: True
|
||||||
|
|||||||
85
uv.lock
generated
85
uv.lock
generated
@@ -275,24 +275,24 @@ wheels = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "coverage"
|
name = "coverage"
|
||||||
version = "7.13.2"
|
version = "7.13.3"
|
||||||
source = { registry = "https://pypi.org/simple" }
|
source = { registry = "https://pypi.org/simple" }
|
||||||
sdist = { url = "https://files.pythonhosted.org/packages/ad/49/349848445b0e53660e258acbcc9b0d014895b6739237920886672240f84b/coverage-7.13.2.tar.gz", hash = "sha256:044c6951ec37146b72a50cc81ef02217d27d4c3640efd2640311393cbbf143d3", size = 826523, upload-time = "2026-01-25T13:00:04.889Z" }
|
sdist = { url = "https://files.pythonhosted.org/packages/11/43/3e4ac666cc35f231fa70c94e9f38459299de1a152813f9d2f60fc5f3ecaf/coverage-7.13.3.tar.gz", hash = "sha256:f7f6182d3dfb8802c1747eacbfe611b669455b69b7c037484bb1efbbb56711ac", size = 826832, upload-time = "2026-02-03T14:02:30.944Z" }
|
||||||
wheels = [
|
wheels = [
|
||||||
{ url = "https://files.pythonhosted.org/packages/46/39/e92a35f7800222d3f7b2cbb7bbc3b65672ae8d501cb31801b2d2bd7acdf1/coverage-7.13.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f106b2af193f965d0d3234f3f83fc35278c7fb935dfbde56ae2da3dd2c03b84d", size = 219142, upload-time = "2026-01-25T12:58:00.448Z" },
|
{ url = "https://files.pythonhosted.org/packages/94/44/330f8e83b143f6668778ed61d17ece9dc48459e9e74669177de02f45fec5/coverage-7.13.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ed48b4170caa2c4420e0cd27dc977caaffc7eecc317355751df8373dddcef595", size = 219441, upload-time = "2026-02-03T14:00:22.585Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/45/7a/8bf9e9309c4c996e65c52a7c5a112707ecdd9fbaf49e10b5a705a402bbb4/coverage-7.13.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:78f45d21dc4d5d6bd29323f0320089ef7eae16e4bef712dff79d184fa7330af3", size = 219503, upload-time = "2026-01-25T12:58:02.451Z" },
|
{ url = "https://files.pythonhosted.org/packages/08/e7/29db05693562c2e65bdf6910c0af2fd6f9325b8f43caf7a258413f369e30/coverage-7.13.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8f2adf4bcffbbec41f366f2e6dffb9d24e8172d16e91da5799c9b7ed6b5716e6", size = 219801, upload-time = "2026-02-03T14:00:24.186Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/87/93/17661e06b7b37580923f3f12406ac91d78aeed293fb6da0b69cc7957582f/coverage-7.13.2-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:fae91dfecd816444c74531a9c3d6ded17a504767e97aa674d44f638107265b99", size = 251006, upload-time = "2026-01-25T12:58:04.059Z" },
|
{ url = "https://files.pythonhosted.org/packages/90/ae/7f8a78249b02b0818db46220795f8ac8312ea4abd1d37d79ea81db5cae81/coverage-7.13.3-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:01119735c690786b6966a1e9f098da4cd7ca9174c4cfe076d04e653105488395", size = 251306, upload-time = "2026-02-03T14:00:25.798Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/12/f0/f9e59fb8c310171497f379e25db060abef9fa605e09d63157eebec102676/coverage-7.13.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:264657171406c114787b441484de620e03d8f7202f113d62fcd3d9688baa3e6f", size = 253750, upload-time = "2026-01-25T12:58:05.574Z" },
|
{ url = "https://files.pythonhosted.org/packages/62/71/a18a53d1808e09b2e9ebd6b47dad5e92daf4c38b0686b4c4d1b2f3e42b7f/coverage-7.13.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8bb09e83c603f152d855f666d70a71765ca8e67332e5829e62cb9466c176af23", size = 254051, upload-time = "2026-02-03T14:00:27.474Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/e5/b1/1935e31add2232663cf7edd8269548b122a7d100047ff93475dbaaae673e/coverage-7.13.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ae47d8dcd3ded0155afbb59c62bd8ab07ea0fd4902e1c40567439e6db9dcaf2f", size = 254862, upload-time = "2026-01-25T12:58:07.647Z" },
|
{ url = "https://files.pythonhosted.org/packages/4a/0a/eb30f6455d04c5a3396d0696cad2df0269ae7444bb322f86ffe3376f7bf9/coverage-7.13.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b607a40cba795cfac6d130220d25962931ce101f2f478a29822b19755377fb34", size = 255160, upload-time = "2026-02-03T14:00:29.024Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/af/59/b5e97071ec13df5f45da2b3391b6cdbec78ba20757bc92580a5b3d5fa53c/coverage-7.13.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8a0b33e9fd838220b007ce8f299114d406c1e8edb21336af4c97a26ecfd185aa", size = 251420, upload-time = "2026-01-25T12:58:09.309Z" },
|
{ url = "https://files.pythonhosted.org/packages/7b/7e/a45baac86274ce3ed842dbb84f14560c673ad30535f397d89164ec56c5df/coverage-7.13.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:44f14a62f5da2e9aedf9080e01d2cda61df39197d48e323538ec037336d68da8", size = 251709, upload-time = "2026-02-03T14:00:30.641Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/3f/75/9495932f87469d013dc515fb0ce1aac5fa97766f38f6b1a1deb1ee7b7f3a/coverage-7.13.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b3becbea7f3ce9a2d4d430f223ec15888e4deb31395840a79e916368d6004cce", size = 252786, upload-time = "2026-01-25T12:58:10.909Z" },
|
{ url = "https://files.pythonhosted.org/packages/c0/df/dd0dc12f30da11349993f3e218901fdf82f45ee44773596050c8f5a1fb25/coverage-7.13.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:debf29e0b157769843dff0981cc76f79e0ed04e36bb773c6cac5f6029054bd8a", size = 253083, upload-time = "2026-02-03T14:00:32.14Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/6a/59/af550721f0eb62f46f7b8cb7e6f1860592189267b1c411a4e3a057caacee/coverage-7.13.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:f819c727a6e6eeb8711e4ce63d78c620f69630a2e9d53bc95ca5379f57b6ba94", size = 250928, upload-time = "2026-01-25T12:58:12.449Z" },
|
{ url = "https://files.pythonhosted.org/packages/ab/32/fc764c8389a8ce95cb90eb97af4c32f392ab0ac23ec57cadeefb887188d3/coverage-7.13.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:824bb95cd71604031ae9a48edb91fd6effde669522f960375668ed21b36e3ec4", size = 251227, upload-time = "2026-02-03T14:00:34.721Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/9b/b1/21b4445709aae500be4ab43bbcfb4e53dc0811c3396dcb11bf9f23fd0226/coverage-7.13.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:4f7b71757a3ab19f7ba286e04c181004c1d61be921795ee8ba6970fd0ec91da5", size = 250496, upload-time = "2026-01-25T12:58:14.047Z" },
|
{ url = "https://files.pythonhosted.org/packages/dd/ca/d025e9da8f06f24c34d2da9873957cfc5f7e0d67802c3e34d0caa8452130/coverage-7.13.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:8f1010029a5b52dc427c8e2a8dbddb2303ddd180b806687d1acd1bb1d06649e7", size = 250794, upload-time = "2026-02-03T14:00:36.278Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/ba/b1/0f5d89dfe0392990e4f3980adbde3eb34885bc1effb2dc369e0bf385e389/coverage-7.13.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b7fc50d2afd2e6b4f6f2f403b70103d280a8e0cb35320cbbe6debcda02a1030b", size = 252373, upload-time = "2026-01-25T12:58:15.976Z" },
|
{ url = "https://files.pythonhosted.org/packages/45/c7/76bf35d5d488ec8f68682eb8e7671acc50a6d2d1c1182de1d2b6d4ffad3b/coverage-7.13.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:cd5dee4fd7659d8306ffa79eeaaafd91fa30a302dac3af723b9b469e549247e0", size = 252671, upload-time = "2026-02-03T14:00:38.368Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/01/c9/0cf1a6a57a9968cc049a6b896693faa523c638a5314b1fc374eb2b2ac904/coverage-7.13.2-cp312-cp312-win32.whl", hash = "sha256:292250282cf9bcf206b543d7608bda17ca6fc151f4cbae949fc7e115112fbd41", size = 221696, upload-time = "2026-01-25T12:58:17.517Z" },
|
{ url = "https://files.pythonhosted.org/packages/bf/10/1921f1a03a7c209e1cb374f81a6b9b68b03cdb3ecc3433c189bc90e2a3d5/coverage-7.13.3-cp312-cp312-win32.whl", hash = "sha256:f7f153d0184d45f3873b3ad3ad22694fd73aadcb8cdbc4337ab4b41ea6b4dff1", size = 221986, upload-time = "2026-02-03T14:00:40.442Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/4d/05/d7540bf983f09d32803911afed135524570f8c47bb394bf6206c1dc3a786/coverage-7.13.2-cp312-cp312-win_amd64.whl", hash = "sha256:eeea10169fac01549a7921d27a3e517194ae254b542102267bef7a93ed38c40e", size = 222504, upload-time = "2026-01-25T12:58:19.115Z" },
|
{ url = "https://files.pythonhosted.org/packages/3c/7c/f5d93297f8e125a80c15545edc754d93e0ed8ba255b65e609b185296af01/coverage-7.13.3-cp312-cp312-win_amd64.whl", hash = "sha256:03a6e5e1e50819d6d7436f5bc40c92ded7e484e400716886ac921e35c133149d", size = 222793, upload-time = "2026-02-03T14:00:42.106Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/15/8b/1a9f037a736ced0a12aacf6330cdaad5008081142a7070bc58b0f7930cbc/coverage-7.13.2-cp312-cp312-win_arm64.whl", hash = "sha256:2a5b567f0b635b592c917f96b9a9cb3dbd4c320d03f4bf94e9084e494f2e8894", size = 221120, upload-time = "2026-01-25T12:58:21.334Z" },
|
{ url = "https://files.pythonhosted.org/packages/43/59/c86b84170015b4555ebabca8649bdf9f4a1f737a73168088385ed0f947c4/coverage-7.13.3-cp312-cp312-win_arm64.whl", hash = "sha256:51c4c42c0e7d09a822b08b6cf79b3c4db8333fffde7450da946719ba0d45730f", size = 221410, upload-time = "2026-02-03T14:00:43.726Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/d2/db/d291e30fdf7ea617a335531e72294e0c723356d7fdde8fba00610a76bda9/coverage-7.13.2-py3-none-any.whl", hash = "sha256:40ce1ea1e25125556d8e76bd0b61500839a07944cc287ac21d5626f3e620cad5", size = 210943, upload-time = "2026-01-25T13:00:02.388Z" },
|
{ url = "https://files.pythonhosted.org/packages/7d/fb/70af542d2d938c778c9373ce253aa4116dbe7c0a5672f78b2b2ae0e1b94b/coverage-7.13.3-py3-none-any.whl", hash = "sha256:90a8af9dba6429b2573199622d72e0ebf024d6276f16abce394ad4d181bb0910", size = 211237, upload-time = "2026-02-03T14:02:27.986Z" },
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -397,7 +397,7 @@ wheels = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "fastapi"
|
name = "fastapi"
|
||||||
version = "0.128.0"
|
version = "0.128.1"
|
||||||
source = { registry = "https://pypi.org/simple" }
|
source = { registry = "https://pypi.org/simple" }
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ name = "annotated-doc" },
|
{ name = "annotated-doc" },
|
||||||
@@ -405,9 +405,9 @@ dependencies = [
|
|||||||
{ name = "starlette" },
|
{ name = "starlette" },
|
||||||
{ name = "typing-extensions" },
|
{ name = "typing-extensions" },
|
||||||
]
|
]
|
||||||
sdist = { url = "https://files.pythonhosted.org/packages/52/08/8c8508db6c7b9aae8f7175046af41baad690771c9bcde676419965e338c7/fastapi-0.128.0.tar.gz", hash = "sha256:1cc179e1cef10a6be60ffe429f79b829dce99d8de32d7acb7e6c8dfdf7f2645a", size = 365682, upload-time = "2025-12-27T15:21:13.714Z" }
|
sdist = { url = "https://files.pythonhosted.org/packages/f6/59/28bde150415783ff084334e3de106eb7461a57864cf69f343950ad5a5ddd/fastapi-0.128.1.tar.gz", hash = "sha256:ce5be4fa26d4ce6f54debcc873d1fb8e0e248f5c48d7502ba6c61457ab2dc766", size = 374260, upload-time = "2026-02-04T17:35:10.542Z" }
|
||||||
wheels = [
|
wheels = [
|
||||||
{ url = "https://files.pythonhosted.org/packages/5c/05/5cbb59154b093548acd0f4c7c474a118eda06da25aa75c616b72d8fcd92a/fastapi-0.128.0-py3-none-any.whl", hash = "sha256:aebd93f9716ee3b4f4fcfe13ffb7cf308d99c9f3ab5622d8877441072561582d", size = 103094, upload-time = "2025-12-27T15:21:12.154Z" },
|
{ url = "https://files.pythonhosted.org/packages/1a/08/3953db1979ea131c68279b997c6465080118b407f0800445b843f8e164b3/fastapi-0.128.1-py3-none-any.whl", hash = "sha256:ee82146bbf91ea5bbf2bb8629e4c6e056c4fbd997ea6068501b11b15260b50fb", size = 103810, upload-time = "2026-02-04T17:35:08.02Z" },
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -822,7 +822,7 @@ wheels = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "mealie"
|
name = "mealie"
|
||||||
version = "3.10.0"
|
version = "3.10.2"
|
||||||
source = { editable = "." }
|
source = { editable = "." }
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ name = "aiofiles" },
|
{ name = "aiofiles" },
|
||||||
@@ -907,7 +907,7 @@ requires-dist = [
|
|||||||
{ name = "bcrypt", specifier = "==5.0.0" },
|
{ name = "bcrypt", specifier = "==5.0.0" },
|
||||||
{ name = "beautifulsoup4", specifier = "==4.14.3" },
|
{ name = "beautifulsoup4", specifier = "==4.14.3" },
|
||||||
{ name = "extruct", specifier = "==0.18.0" },
|
{ name = "extruct", specifier = "==0.18.0" },
|
||||||
{ name = "fastapi", specifier = "==0.128.0" },
|
{ name = "fastapi", specifier = "==0.128.1" },
|
||||||
{ name = "html2text", specifier = "==2025.4.15" },
|
{ name = "html2text", specifier = "==2025.4.15" },
|
||||||
{ name = "httpx", specifier = "==0.28.1" },
|
{ name = "httpx", specifier = "==0.28.1" },
|
||||||
{ name = "ingredient-parser-nlp", specifier = "==2.5.0" },
|
{ name = "ingredient-parser-nlp", specifier = "==2.5.0" },
|
||||||
@@ -944,7 +944,7 @@ provides-extras = ["pgsql"]
|
|||||||
|
|
||||||
[package.metadata.requires-dev]
|
[package.metadata.requires-dev]
|
||||||
dev = [
|
dev = [
|
||||||
{ name = "coverage", specifier = "==7.13.2" },
|
{ name = "coverage", specifier = "==7.13.3" },
|
||||||
{ name = "coveragepy-lcov", specifier = "==0.1.2" },
|
{ name = "coveragepy-lcov", specifier = "==0.1.2" },
|
||||||
{ name = "freezegun", specifier = "==1.5.5" },
|
{ name = "freezegun", specifier = "==1.5.5" },
|
||||||
{ name = "mkdocs-material", specifier = "==9.7.1" },
|
{ name = "mkdocs-material", specifier = "==9.7.1" },
|
||||||
@@ -955,7 +955,7 @@ dev = [
|
|||||||
{ name = "pytest", specifier = "==9.0.2" },
|
{ name = "pytest", specifier = "==9.0.2" },
|
||||||
{ name = "pytest-asyncio", specifier = "==1.3.0" },
|
{ name = "pytest-asyncio", specifier = "==1.3.0" },
|
||||||
{ name = "rich", specifier = "==14.3.2" },
|
{ name = "rich", specifier = "==14.3.2" },
|
||||||
{ name = "ruff", specifier = "==0.14.14" },
|
{ name = "ruff", specifier = "==0.15.0" },
|
||||||
{ name = "types-python-dateutil", specifier = "==2.9.0.20260124" },
|
{ name = "types-python-dateutil", specifier = "==2.9.0.20260124" },
|
||||||
{ name = "types-python-slugify", specifier = "==8.0.2.20240310" },
|
{ name = "types-python-slugify", specifier = "==8.0.2.20240310" },
|
||||||
{ name = "types-pyyaml", specifier = "==6.0.12.20250915" },
|
{ name = "types-pyyaml", specifier = "==6.0.12.20250915" },
|
||||||
@@ -1737,28 +1737,27 @@ wheels = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ruff"
|
name = "ruff"
|
||||||
version = "0.14.14"
|
version = "0.15.0"
|
||||||
source = { registry = "https://pypi.org/simple" }
|
source = { registry = "https://pypi.org/simple" }
|
||||||
sdist = { url = "https://files.pythonhosted.org/packages/2e/06/f71e3a86b2df0dfa2d2f72195941cd09b44f87711cb7fa5193732cb9a5fc/ruff-0.14.14.tar.gz", hash = "sha256:2d0f819c9a90205f3a867dbbd0be083bee9912e170fd7d9704cc8ae45824896b", size = 4515732, upload-time = "2026-01-22T22:30:17.527Z" }
|
sdist = { url = "https://files.pythonhosted.org/packages/c8/39/5cee96809fbca590abea6b46c6d1c586b49663d1d2830a751cc8fc42c666/ruff-0.15.0.tar.gz", hash = "sha256:6bdea47cdbea30d40f8f8d7d69c0854ba7c15420ec75a26f463290949d7f7e9a", size = 4524893, upload-time = "2026-02-03T17:53:35.357Z" }
|
||||||
wheels = [
|
wheels = [
|
||||||
{ url = "https://files.pythonhosted.org/packages/d2/89/20a12e97bc6b9f9f68343952da08a8099c57237aef953a56b82711d55edd/ruff-0.14.14-py3-none-linux_armv6l.whl", hash = "sha256:7cfe36b56e8489dee8fbc777c61959f60ec0f1f11817e8f2415f429552846aed", size = 10467650, upload-time = "2026-01-22T22:30:08.578Z" },
|
{ url = "https://files.pythonhosted.org/packages/bc/88/3fd1b0aa4b6330d6aaa63a285bc96c9f71970351579152d231ed90914586/ruff-0.15.0-py3-none-linux_armv6l.whl", hash = "sha256:aac4ebaa612a82b23d45964586f24ae9bc23ca101919f5590bdb368d74ad5455", size = 10354332, upload-time = "2026-02-03T17:52:54.892Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/a3/b1/c5de3fd2d5a831fcae21beda5e3589c0ba67eec8202e992388e4b17a6040/ruff-0.14.14-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:6006a0082336e7920b9573ef8a7f52eec837add1265cc74e04ea8a4368cd704c", size = 10883245, upload-time = "2026-01-22T22:30:04.155Z" },
|
{ url = "https://files.pythonhosted.org/packages/72/f6/62e173fbb7eb75cc29fe2576a1e20f0a46f671a2587b5f604bfb0eaf5f6f/ruff-0.15.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:dcd4be7cc75cfbbca24a98d04d0b9b36a270d0833241f776b788d59f4142b14d", size = 10767189, upload-time = "2026-02-03T17:53:19.778Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/b8/7c/3c1db59a10e7490f8f6f8559d1db8636cbb13dccebf18686f4e3c9d7c772/ruff-0.14.14-py3-none-macosx_11_0_arm64.whl", hash = "sha256:026c1d25996818f0bf498636686199d9bd0d9d6341c9c2c3b62e2a0198b758de", size = 10231273, upload-time = "2026-01-22T22:30:34.642Z" },
|
{ url = "https://files.pythonhosted.org/packages/99/e4/968ae17b676d1d2ff101d56dc69cf333e3a4c985e1ec23803df84fc7bf9e/ruff-0.15.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d747e3319b2bce179c7c1eaad3d884dc0a199b5f4d5187620530adf9105268ce", size = 10075384, upload-time = "2026-02-03T17:53:29.241Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/a1/6e/5e0e0d9674be0f8581d1f5e0f0a04761203affce3232c1a1189d0e3b4dad/ruff-0.14.14-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f666445819d31210b71e0a6d1c01e24447a20b85458eea25a25fe8142210ae0e", size = 10585753, upload-time = "2026-01-22T22:30:31.781Z" },
|
{ url = "https://files.pythonhosted.org/packages/a2/bf/9843c6044ab9e20af879c751487e61333ca79a2c8c3058b15722386b8cae/ruff-0.15.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:650bd9c56ae03102c51a5e4b554d74d825ff3abe4db22b90fd32d816c2e90621", size = 10481363, upload-time = "2026-02-03T17:52:43.332Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/23/09/754ab09f46ff1884d422dc26d59ba18b4e5d355be147721bb2518aa2a014/ruff-0.14.14-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3c0f18b922c6d2ff9a5e6c3ee16259adc513ca775bcf82c67ebab7cbd9da5bc8", size = 10286052, upload-time = "2026-01-22T22:30:24.827Z" },
|
{ url = "https://files.pythonhosted.org/packages/55/d9/4ada5ccf4cd1f532db1c8d44b6f664f2208d3d93acbeec18f82315e15193/ruff-0.15.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a6664b7eac559e3048223a2da77769c2f92b43a6dfd4720cef42654299a599c9", size = 10187736, upload-time = "2026-02-03T17:53:00.522Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/c8/cc/e71f88dd2a12afb5f50733851729d6b571a7c3a35bfdb16c3035132675a0/ruff-0.14.14-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1629e67489c2dea43e8658c3dba659edbfd87361624b4040d1df04c9740ae906", size = 11043637, upload-time = "2026-01-22T22:30:13.239Z" },
|
{ url = "https://files.pythonhosted.org/packages/86/e2/f25eaecd446af7bb132af0a1d5b135a62971a41f5366ff41d06d25e77a91/ruff-0.15.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f811f97b0f092b35320d1556f3353bf238763420ade5d9e62ebd2b73f2ff179", size = 10968415, upload-time = "2026-02-03T17:53:15.705Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/67/b2/397245026352494497dac935d7f00f1468c03a23a0c5db6ad8fc49ca3fb2/ruff-0.14.14-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:27493a2131ea0f899057d49d303e4292b2cae2bb57253c1ed1f256fbcd1da480", size = 12194761, upload-time = "2026-01-22T22:30:22.542Z" },
|
{ url = "https://files.pythonhosted.org/packages/e7/dc/f06a8558d06333bf79b497d29a50c3a673d9251214e0d7ec78f90b30aa79/ruff-0.15.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:761ec0a66680fab6454236635a39abaf14198818c8cdf691e036f4bc0f406b2d", size = 11809643, upload-time = "2026-02-03T17:53:23.031Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/5b/06/06ef271459f778323112c51b7587ce85230785cd64e91772034ddb88f200/ruff-0.14.14-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:01ff589aab3f5b539e35db38425da31a57521efd1e4ad1ae08fc34dbe30bd7df", size = 12005701, upload-time = "2026-01-22T22:30:20.499Z" },
|
{ url = "https://files.pythonhosted.org/packages/dd/45/0ece8db2c474ad7df13af3a6d50f76e22a09d078af63078f005057ca59eb/ruff-0.15.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:940f11c2604d317e797b289f4f9f3fa5555ffe4fb574b55ed006c3d9b6f0eb78", size = 11234787, upload-time = "2026-02-03T17:52:46.432Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/41/d6/99364514541cf811ccc5ac44362f88df66373e9fec1b9d1c4cc830593fe7/ruff-0.14.14-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1cc12d74eef0f29f51775f5b755913eb523546b88e2d733e1d701fe65144e89b", size = 11282455, upload-time = "2026-01-22T22:29:59.679Z" },
|
{ url = "https://files.pythonhosted.org/packages/8a/d9/0e3a81467a120fd265658d127db648e4d3acfe3e4f6f5d4ea79fac47e587/ruff-0.15.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcbca3d40558789126da91d7ef9a7c87772ee107033db7191edefa34e2c7f1b4", size = 11112797, upload-time = "2026-02-03T17:52:49.274Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/ca/71/37daa46f89475f8582b7762ecd2722492df26421714a33e72ccc9a84d7a5/ruff-0.14.14-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb8481604b7a9e75eff53772496201690ce2687067e038b3cc31aaf16aa0b974", size = 11215882, upload-time = "2026-01-22T22:29:57.032Z" },
|
{ url = "https://files.pythonhosted.org/packages/b2/cb/8c0b3b0c692683f8ff31351dfb6241047fa873a4481a76df4335a8bff716/ruff-0.15.0-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:9a121a96db1d75fa3eb39c4539e607f628920dd72ff1f7c5ee4f1b768ac62d6e", size = 11033133, upload-time = "2026-02-03T17:53:33.105Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/2c/10/a31f86169ec91c0705e618443ee74ede0bdd94da0a57b28e72db68b2dbac/ruff-0.14.14-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:14649acb1cf7b5d2d283ebd2f58d56b75836ed8c6f329664fa91cdea19e76e66", size = 11180549, upload-time = "2026-01-22T22:30:27.175Z" },
|
{ url = "https://files.pythonhosted.org/packages/f8/5e/23b87370cf0f9081a8c89a753e69a4e8778805b8802ccfe175cc410e50b9/ruff-0.15.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:5298d518e493061f2eabd4abd067c7e4fb89e2f63291c94332e35631c07c3662", size = 10442646, upload-time = "2026-02-03T17:53:06.278Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/fd/1e/c723f20536b5163adf79bdd10c5f093414293cdf567eed9bdb7b83940f3f/ruff-0.14.14-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:e8058d2145566510790eab4e2fad186002e288dec5e0d343a92fe7b0bc1b3e13", size = 10543416, upload-time = "2026-01-22T22:30:01.964Z" },
|
{ url = "https://files.pythonhosted.org/packages/e1/9a/3c94de5ce642830167e6d00b5c75aacd73e6347b4c7fc6828699b150a5ee/ruff-0.15.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:afb6e603d6375ff0d6b0cee563fa21ab570fd15e65c852cb24922cef25050cf1", size = 10195750, upload-time = "2026-02-03T17:53:26.084Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/3e/34/8a84cea7e42c2d94ba5bde1d7a4fae164d6318f13f933d92da6d7c2041ff/ruff-0.14.14-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:e651e977a79e4c758eb807f0481d673a67ffe53cfa92209781dfa3a996cf8412", size = 10285491, upload-time = "2026-01-22T22:30:29.51Z" },
|
{ url = "https://files.pythonhosted.org/packages/30/15/e396325080d600b436acc970848d69df9c13977942fb62bb8722d729bee8/ruff-0.15.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:77e515f6b15f828b94dc17d2b4ace334c9ddb7d9468c54b2f9ed2b9c1593ef16", size = 10676120, upload-time = "2026-02-03T17:53:09.363Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/55/ef/b7c5ea0be82518906c978e365e56a77f8de7678c8bb6651ccfbdc178c29f/ruff-0.14.14-py3-none-musllinux_1_2_i686.whl", hash = "sha256:cc8b22da8d9d6fdd844a68ae937e2a0adf9b16514e9a97cc60355e2d4b219fc3", size = 10733525, upload-time = "2026-01-22T22:30:06.499Z" },
|
{ url = "https://files.pythonhosted.org/packages/8d/c9/229a23d52a2983de1ad0fb0ee37d36e0257e6f28bfd6b498ee2c76361874/ruff-0.15.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:6f6e80850a01eb13b3e42ee0ebdf6e4497151b48c35051aab51c101266d187a3", size = 11201636, upload-time = "2026-02-03T17:52:57.281Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/6a/5b/aaf1dfbcc53a2811f6cc0a1759de24e4b03e02ba8762daabd9b6bd8c59e3/ruff-0.14.14-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:16bc890fb4cc9781bb05beb5ab4cd51be9e7cb376bf1dd3580512b24eb3fda2b", size = 11315626, upload-time = "2026-01-22T22:30:36.848Z" },
|
{ url = "https://files.pythonhosted.org/packages/6f/b0/69adf22f4e24f3677208adb715c578266842e6e6a3cc77483f48dd999ede/ruff-0.15.0-py3-none-win32.whl", hash = "sha256:238a717ef803e501b6d51e0bdd0d2c6e8513fe9eec14002445134d3907cd46c3", size = 10465945, upload-time = "2026-02-03T17:53:12.591Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/2c/aa/9f89c719c467dfaf8ad799b9bae0df494513fb21d31a6059cb5870e57e74/ruff-0.14.14-py3-none-win32.whl", hash = "sha256:b530c191970b143375b6a68e6f743800b2b786bbcf03a7965b06c4bf04568167", size = 10502442, upload-time = "2026-01-22T22:30:38.93Z" },
|
{ url = "https://files.pythonhosted.org/packages/51/ad/f813b6e2c97e9b4598be25e94a9147b9af7e60523b0cb5d94d307c15229d/ruff-0.15.0-py3-none-win_amd64.whl", hash = "sha256:dd5e4d3301dc01de614da3cdffc33d4b1b96fb89e45721f1598e5532ccf78b18", size = 11564657, upload-time = "2026-02-03T17:52:51.893Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/87/44/90fa543014c45560cae1fffc63ea059fb3575ee6e1cb654562197e5d16fb/ruff-0.14.14-py3-none-win_amd64.whl", hash = "sha256:3dde1435e6b6fe5b66506c1dff67a421d0b7f6488d466f651c07f4cab3bf20fd", size = 11630486, upload-time = "2026-01-22T22:30:10.852Z" },
|
{ url = "https://files.pythonhosted.org/packages/f6/b0/2d823f6e77ebe560f4e397d078487e8d52c1516b331e3521bc75db4272ca/ruff-0.15.0-py3-none-win_arm64.whl", hash = "sha256:c480d632cc0ca3f0727acac8b7d053542d9e114a462a145d0b00e7cd658c515a", size = 10865753, upload-time = "2026-02-03T17:53:03.014Z" },
|
||||||
{ url = "https://files.pythonhosted.org/packages/9e/6a/40fee331a52339926a92e17ae748827270b288a35ef4a15c9c8f2ec54715/ruff-0.14.14-py3-none-win_arm64.whl", hash = "sha256:56e6981a98b13a32236a72a8da421d7839221fa308b223b9283312312e5ac76c", size = 10920448, upload-time = "2026-01-22T22:30:15.417Z" },
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|||||||
Reference in New Issue
Block a user