Compare commits

...

361 Commits

Author SHA1 Message Date
Michael Genson
b1278b45e2 fix: Invalid Pydantic Definition On Group Model (#3264)
* fixed ambiguous pydantic definition

* removed unused import
2024-03-07 14:25:26 -09:00
Hayden
e7ae76ea48 New Crowdin updates (#3262)
* New translations en-us.json (Spanish)

* New translations en-us.json (Swedish)

* New translations en-us.json (English, United Kingdom)

* New translations en-us.json (Polish)

* New translations en-us.json (Romanian)

* New translations en-us.json (French)

* New translations en-us.json (Afrikaans)

* New translations en-us.json (Arabic)

* New translations en-us.json (Bulgarian)

* New translations en-us.json (Catalan)

* New translations en-us.json (Czech)

* New translations en-us.json (Danish)

* New translations en-us.json (German)

* New translations en-us.json (Greek)

* New translations en-us.json (Finnish)

* New translations en-us.json (Hebrew)

* New translations en-us.json (Hungarian)

* New translations en-us.json (Italian)

* New translations en-us.json (Japanese)

* New translations en-us.json (Korean)

* New translations en-us.json (Lithuanian)

* New translations en-us.json (Dutch)

* New translations en-us.json (Norwegian)

* New translations en-us.json (Portuguese)

* New translations en-us.json (Russian)

* New translations en-us.json (Slovak)

* New translations en-us.json (Slovenian)

* New translations en-us.json (Serbian (Cyrillic))

* New translations en-us.json (Turkish)

* New translations en-us.json (Ukrainian)

* New translations en-us.json (Chinese Simplified)

* New translations en-us.json (Chinese Traditional)

* New translations en-us.json (Vietnamese)

* New translations en-us.json (Galician)

* New translations en-us.json (Icelandic)

* New translations en-us.json (Portuguese, Brazilian)

* New translations en-us.json (Croatian)

* New translations en-us.json (Latvian)

* New translations en-us.json (French, Canada)
2024-03-07 13:55:36 +01:00
boc-the-git
e84e5e2910 Merge pull request #3213 from michael-genson/feat/filter-shopping-lists
feat: Filter Out Shopping Lists That Aren't Yours
2024-03-07 09:27:04 +11:00
boc-the-git
5e6f5bc175 Merge branch 'mealie-next' into feat/filter-shopping-lists 2024-03-07 09:20:49 +11:00
Hayden
d577978f2f New Crowdin updates (#3258)
* New translations en-us.json (Italian)

* New translations en-us.json (Chinese Simplified)
2024-03-06 16:15:44 +01:00
Michael Genson
e30728e8e9 Merge branch 'mealie-next' into feat/filter-shopping-lists 2024-03-06 09:11:58 -06:00
Michael Genson
29368d9cc4 move showAll to user preferences 2024-03-06 15:11:43 +00:00
boc-the-git
4776da7aea Merge pull request #3257 from mealie-recipes/renovate/mkdocs-material-9.x-lockfile
chore(deps): update dependency mkdocs-material to v9.5.13
2024-03-06 18:52:58 +11:00
renovate[bot]
87518b1fbd chore(deps): update dependency mkdocs-material to v9.5.13 2024-03-06 07:39:41 +00:00
renovate[bot]
d7deb5a3f8 fix(deps): update dependency rapidfuzz to v3.6.2 (#3256)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-06 05:39:17 +00:00
boc-the-git
445ec18bb4 Merge pull request #3170 from michael-genson/fix/make-mealie-alpha-migrations-more-fault-tolerant
fix: Make Mealie Alpha Migrations More Fault Tolerant
2024-03-06 11:39:35 +11:00
boc-the-git
3ecc289e1a Merge branch 'mealie-next' into fix/make-mealie-alpha-migrations-more-fault-tolerant 2024-03-06 11:33:33 +11:00
boc-the-git
805e1c2d7d feat: Add shortcuts for PWA (#3255)
* Add PWA shortcuts, for Meal Planner and Shopping List

* Remove icons from shortcuts - they don't seem to work with nuxt

* Remove icon
2024-03-05 23:40:57 +00:00
boc-the-git
58286013c9 Merge pull request #3248 from mealie-recipes/renovate/sqlalchemy-2.x-lockfile
fix(deps): update dependency sqlalchemy to v2.0.28
2024-03-06 10:10:56 +11:00
renovate[bot]
1afdc400a8 fix(deps): update dependency sqlalchemy to v2.0.28 2024-03-05 22:59:54 +00:00
boc-the-git
f6d526741b Merge pull request #3196 from michael-genson/fix/bump-sqlalchemy
fix: Bump SQLAlchemy
2024-03-06 09:58:27 +11:00
boc-the-git
c9b21f862e Merge branch 'mealie-next' into fix/bump-sqlalchemy 2024-03-06 09:51:24 +11:00
renovate[bot]
4ae7f6eca4 fix(deps): update dependency apprise to v1.7.3 (#3246)
* fix(deps): update dependency apprise to v1.7.3

* Pin paho-mqtt to match what Apprise has done.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Brendan <b.oconnell14@gmail.com>
2024-03-05 16:14:37 -06:00
Michael Genson
c9fdf862a3 Merge branch 'mealie-next' into feat/filter-shopping-lists 2024-03-05 09:18:37 -06:00
Michael Genson
cf97c2247c Merge branch 'mealie-next' into fix/make-mealie-alpha-migrations-more-fault-tolerant 2024-03-05 09:17:38 -06:00
Hayden
9c95c56f0a New Crowdin updates (#3251)
* New translations en-us.json (Swedish)

* New translations en-us.json (French)

* New translations en-us.json (Bulgarian)

* New translations en-us.json (Danish)

* New translations en-us.json (Bulgarian)
2024-03-05 15:23:30 +01:00
boc-the-git
9f3aca5a3f Merge pull request #3249 from eneiss/fix-doc-links
Fix broken docs links and nested Markdown list
2024-03-05 16:55:18 +11:00
boc-the-git
dd87779476 Merge branch 'mealie-next' into fix-doc-links 2024-03-05 16:49:06 +11:00
boc-the-git
2e7078e90b Merge pull request #3245 from michael-genson/fix/missing-name-in-timeline-event
fix: Missing Name in Timeline Event
2024-03-05 16:48:44 +11:00
boc-the-git
6b52b61604 Merge branch 'mealie-next' into fix/missing-name-in-timeline-event 2024-03-05 16:42:45 +11:00
eneiss
41e2643755 Fix broken docs links and nested Markdown list 2024-03-05 00:05:01 +00:00
Hayden
170b4d338d New Crowdin updates (#3247)
* New translations en-us.json (Spanish)

* New translations en-us.json (Swedish)

* New translations en-us.json (English, United Kingdom)

* New translations en-us.json (Polish)

* New translations en-us.json (Romanian)

* New translations en-us.json (French)

* New translations en-us.json (Afrikaans)

* New translations en-us.json (Arabic)

* New translations en-us.json (Bulgarian)

* New translations en-us.json (Catalan)

* New translations en-us.json (Czech)

* New translations en-us.json (Danish)

* New translations en-us.json (German)

* New translations en-us.json (Greek)

* New translations en-us.json (Finnish)

* New translations en-us.json (Hebrew)

* New translations en-us.json (Hungarian)

* New translations en-us.json (Italian)

* New translations en-us.json (Japanese)

* New translations en-us.json (Korean)

* New translations en-us.json (Lithuanian)

* New translations en-us.json (Dutch)

* New translations en-us.json (Norwegian)

* New translations en-us.json (Portuguese)

* New translations en-us.json (Russian)

* New translations en-us.json (Slovak)

* New translations en-us.json (Slovenian)

* New translations en-us.json (Serbian (Cyrillic))

* New translations en-us.json (Turkish)

* New translations en-us.json (Ukrainian)

* New translations en-us.json (Chinese Simplified)

* New translations en-us.json (Chinese Traditional)

* New translations en-us.json (Vietnamese)

* New translations en-us.json (Galician)

* New translations en-us.json (Icelandic)

* New translations en-us.json (Portuguese, Brazilian)

* New translations en-us.json (Croatian)

* New translations en-us.json (Latvian)

* New translations en-us.json (French, Canada)

* New translations en-us.json (Portuguese)

* New translations en-us.json (Portuguese)

* New translations en-us.json (Portuguese)
2024-03-04 19:43:36 +01:00
Michael Genson
ecd506c714 Merge branch 'mealie-next' into fix/missing-name-in-timeline-event 2024-03-03 16:45:54 -06:00
boc-the-git
e6aadc4902 feat: Recipe Instructions, add buttons for move to top or bottom (#3232)
* Add 'move to top' and 'move to bottom' to recipe steps

* Add divider functionality
2024-03-03 22:41:29 +00:00
Michael Genson
ae74e0d71c moved subject calculation 2024-03-03 22:41:25 +00:00
Michael Genson
d6db8c23ce fixed broken translate string 2024-03-03 22:40:29 +00:00
renovate[bot]
dcf7afa441 fix(deps): update dependency recipe-scrapers to v14.55.0 (#3228)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-03 16:33:12 -06:00
boc-the-git
185c93100b Merge pull request #3243 from mealie-recipes/l10n_mealie-next
New Crowdin updates
2024-03-03 22:00:22 +11:00
Hayden
cf68420976 New translations en-us.json (Portuguese) 2024-03-03 04:29:47 -06:00
boc-the-git
dea3b756f1 Merge pull request #3240 from mealie-recipes/l10n_mealie-next
New Crowdin updates
2024-03-02 20:19:27 +11:00
Hayden
825b19c634 New translations en-us.json (Bulgarian) 2024-03-02 03:13:11 -06:00
Hayden
8d59c35bc9 New translations en-us.json (Bulgarian) 2024-03-02 03:13:11 -06:00
Hayden
06ec8dd4f3 New translations en-us.json (Bulgarian) 2024-03-02 03:13:10 -06:00
Hayden
fc4ec3261f New translations en-us.json (Romanian) 2024-03-02 03:13:09 -06:00
boc-the-git
663716ca0f Merge pull request #3239 from mealie-recipes/renovate/python-dateutil-2.x-lockfile
fix(deps): update dependency python-dateutil to v2.9.0
2024-03-01 20:19:08 +11:00
renovate[bot]
6c4ce585d6 fix(deps): update dependency python-dateutil to v2.9.0 2024-03-01 09:12:01 +00:00
boc-the-git
0acf30db61 Merge pull request #3238 from mealie-recipes/l10n_mealie-next
New Crowdin updates
2024-03-01 20:09:40 +11:00
Hayden
db9035f92c New translations en-us.json (Catalan) 2024-03-01 03:03:31 -06:00
renovate[bot]
a475afd570 chore(deps): update dependency ruff to ^0.3.0 (#3237)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-29 12:07:03 -06:00
Hayden
57ca357969 New Crowdin updates (#3236)
* New translations en-us.json (Spanish)

* New translations en-us.json (Romanian)

* New translations en-us.json (French)

* New translations en-us.json (Afrikaans)

* New translations en-us.json (Arabic)

* New translations en-us.json (Bulgarian)

* New translations en-us.json (Catalan)

* New translations en-us.json (Czech)

* New translations en-us.json (Danish)

* New translations en-us.json (German)

* New translations en-us.json (Greek)

* New translations en-us.json (Finnish)

* New translations en-us.json (Hebrew)

* New translations en-us.json (Hungarian)

* New translations en-us.json (Italian)

* New translations en-us.json (Japanese)

* New translations en-us.json (Korean)

* New translations en-us.json (Lithuanian)

* New translations en-us.json (Swedish)

* New translations en-us.json (English, United Kingdom)

* New translations en-us.json (Polish)

* New translations en-us.json (Dutch)

* New translations en-us.json (Norwegian)

* New translations en-us.json (Portuguese)

* New translations en-us.json (Russian)

* New translations en-us.json (Slovak)

* New translations en-us.json (Slovenian)

* New translations en-us.json (Serbian (Cyrillic))

* New translations en-us.json (Ukrainian)

* New translations en-us.json (Chinese Simplified)

* New translations en-us.json (Chinese Traditional)

* New translations en-us.json (Vietnamese)

* New translations en-us.json (Galician)

* New translations en-us.json (Icelandic)

* New translations en-us.json (Portuguese, Brazilian)

* New translations en-us.json (Croatian)

* New translations en-us.json (Latvian)

* New translations en-us.json (French, Canada)
2024-02-29 10:22:19 +01:00
boc-the-git
cac099eeb3 Merge pull request #3235 from mealie-recipes/renovate/mkdocs-material-9.x-lockfile
chore(deps): update dependency mkdocs-material to v9.5.12
2024-02-29 17:49:04 +11:00
renovate[bot]
c0929634a9 chore(deps): update dependency mkdocs-material to v9.5.12 2024-02-29 04:17:26 +00:00
Olly Welch
52de8afe2d feat: sort by labels in shopping list copy if labels toggled (#3226)
* feat: sort by labels in shopping list copy if labels toggled

* fix: call parent validator in shopping list item out (#3227)

* fix: add a unit test for (#3227)

* fixed messy post_validate logic

* feat: label headings in shopping list copy

* feat: blank line for each group in shopping list copy

---------

Co-authored-by: Michael Genson <71845777+michael-genson@users.noreply.github.com>
2024-02-28 22:06:04 +00:00
boc-the-git
2809b87ab0 Merge pull request #3234 from mealie-recipes/renovate/rich-13.x-lockfile
chore(deps): update dependency rich to v13.7.1
2024-02-29 05:00:02 +11:00
renovate[bot]
7aab87813c chore(deps): update dependency rich to v13.7.1 2024-02-28 15:35:59 +00:00
Michael Genson
4a67fffccd Merge branch 'mealie-next' into fix/bump-sqlalchemy 2024-02-28 09:34:58 -06:00
boc-the-git
12b7625d42 Fix typo (#3233) 2024-02-28 09:34:39 -06:00
boc-the-git
275e1dc85c Merge pull request #3231 from mealie-recipes/renovate/pydantic-2.x-lockfile
fix(deps): update dependency pydantic to v2.6.3
2024-02-28 19:30:40 +11:00
renovate[bot]
3a8e814315 fix(deps): update dependency pydantic to v2.6.3 2024-02-28 08:23:39 +00:00
boc-the-git
07ebd1e613 Merge pull request #3230 from mealie-recipes/renovate/html2text-2024.x-lockfile
fix(deps): update dependency html2text to v2024.2.26
2024-02-28 19:21:24 +11:00
renovate[bot]
a626330139 fix(deps): update dependency html2text to v2024.2.26 2024-02-27 21:34:55 +00:00
renovate[bot]
5ac7645350 fix(deps): update dependency fastapi to ^0.110.0 (#3221)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-25 14:27:10 -06:00
renovate[bot]
efc6064605 chore(deps): update dependency pylint to v3.1.0 (#3223)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-25 13:59:50 -06:00
renovate[bot]
71a6f32665 fix(deps): update dependency html2text to v2024 (#3222)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-25 10:21:15 -06:00
boc-the-git
d60c4c179b Merge pull request #3220 from mealie-recipes/renovate/pytest-8.x-lockfile
chore(deps): update dependency pytest to v8.0.2
2024-02-25 12:14:37 +11:00
renovate[bot]
c5c8c59168 chore(deps): update dependency pytest to v8.0.2 2024-02-25 00:22:41 +00:00
boc-the-git
fca75c5c07 Merge pull request #3217 from mealie-recipes/renovate/mkdocs-material-9.x-lockfile
chore(deps): update dependency mkdocs-material to v9.5.11
2024-02-24 21:27:30 +11:00
renovate[bot]
012142feec chore(deps): update dependency mkdocs-material to v9.5.11 2024-02-24 07:58:56 +00:00
Michael Genson
d532395d89 Merge branch 'mealie-next' into feat/filter-shopping-lists 2024-02-23 17:56:28 -06:00
Michael Genson
b25f9f2cdf Merge branch 'mealie-next' into fix/bump-sqlalchemy 2024-02-23 17:56:21 -06:00
Michael Genson
5471e742f0 Merge branch 'mealie-next' into fix/make-mealie-alpha-migrations-more-fault-tolerant 2024-02-23 17:56:18 -06:00
renovate[bot]
c5849b2a74 fix(deps): update dependency orjson to v3.9.15 (#3212)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-23 23:26:13 +00:00
renovate[bot]
429b2adf98 chore(deps): update dependency pylint to v3.0.4 (#3216)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-23 23:18:35 +00:00
renovate[bot]
df366cd82a chore(deps): update dependency coverage to v7.4.3 (#3215)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-23 23:10:37 +00:00
renovate[bot]
0a4bb583ff fix(deps): update dependency pydantic to v2.6.2 (#3211)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-23 16:58:15 -06:00
Michael Genson
dfb650c4b1 Merge remote-tracking branch 'upstream/mealie-next' into fix/bump-sqlalchemy 2024-02-23 19:33:01 +00:00
Michael Genson
aa4527e5f7 replace v-for/v-if with computed ref 2024-02-23 19:22:39 +00:00
Michael Genson
ae8ea16dab lint 2024-02-23 19:17:08 +00:00
Michael Genson
d321c69244 Merge branch 'mealie-next' into feat/filter-shopping-lists 2024-02-23 13:12:43 -06:00
Michael Genson
478a4e5d73 fixed showAll centering and added to recipe dialog 2024-02-23 19:11:28 +00:00
Michael Genson
44cd2fef1c fixed trailing quote 2024-02-23 18:58:47 +00:00
Michael Genson
0abe8b1921 fixed missing group_id filter 2024-02-23 18:12:06 +00:00
Michael Genson
4a13714177 updated tests to include userId 2024-02-23 18:09:35 +00:00
Michael Genson
ac3514f4c6 fixed broken migrations 2024-02-23 18:09:23 +00:00
Michael Genson
f9b71f4b4c translated owner string 2024-02-23 18:00:58 +00:00
Michael Genson
7ca50b63f9 moved settings under list contents 2024-02-23 18:00:13 +00:00
Michael Genson
62adc920a9 added settings to shopping list to change user 2024-02-23 17:54:50 +00:00
Hayden
eeda71e186 New Crowdin updates (#3210)
* New translations en-us.json (Polish)

* New translations en-us.json (Polish)
2024-02-23 18:16:17 +01:00
Michael Genson
8e5ea1df5e added "show all" toggle on list of shopping lists 2024-02-23 17:07:43 +00:00
Michael Genson
0bf3aed287 updated models/services/tests to include user_id 2024-02-23 17:02:32 +00:00
Michael Genson
74d6f58363 added user to shopping list 2024-02-23 16:49:37 +00:00
Michael Genson
3d4405cd42 order shopping lists alphabetically 2024-02-23 16:03:56 +00:00
Hayden
98c8694979 New translations en-us.json (Swedish) (#3208) 2024-02-22 18:22:35 +01:00
Hayden
32812d6a6c New Crowdin updates (#3206)
* New translations en-us.json (Swedish)

* New translations en-us.json (Swedish)

---------

Co-authored-by: Michael Genson <71845777+michael-genson@users.noreply.github.com>
2024-02-21 17:45:53 +00:00
renovate[bot]
1f8d7c0b21 fix(deps): update dependency httpx to ^0.27.0 (#3207)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-21 11:24:56 -06:00
boc-the-git
8b88f6892c Merge pull request #2914 from ekcom/fix/warn-on-edit-nav
fix: Warn on external navigation during editing
2024-02-21 21:02:23 +11:00
boc-the-git
618c567392 Merge branch 'mealie-next' into fix/warn-on-edit-nav 2024-02-21 20:51:50 +11:00
boc-the-git
fb44451c6f Merge pull request #3202 from mealie-recipes/renovate/coverage-7.x-lockfile
chore(deps): update dependency coverage to v7.4.2
2024-02-21 20:04:20 +11:00
renovate[bot]
9e1edbacb6 chore(deps): update dependency coverage to v7.4.2 2024-02-20 19:59:39 +00:00
Michael Genson
f45d02299a Merge branch 'mealie-next' into fix/make-mealie-alpha-migrations-more-fault-tolerant 2024-02-20 10:27:42 -06:00
Michael Genson
7afd7b2334 Merge branch 'mealie-next' into fix/bump-sqlalchemy 2024-02-20 10:25:22 -06:00
Michael Genson
0a28d36df9 remove redundant uselist indicators 2024-02-20 16:24:48 +00:00
renovate[bot]
2c1185e1d4 fix(deps): update dependency pydantic-settings to v2.2.1 (#3197)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-19 15:37:07 -06:00
boc-the-git
69bbf9fdcc Merge pull request #3195 from boc-the-git/feat/dont-build-nightly-for-docs
feat: Exclude paths from triggering nightly build
2024-02-20 06:25:48 +11:00
boc-the-git
38125fa362 Merge branch 'mealie-next' into feat/dont-build-nightly-for-docs 2024-02-20 06:19:32 +11:00
Michael Genson
5db7a735d7 Merge branch 'mealie-next' into fix/bump-sqlalchemy 2024-02-19 10:30:03 -06:00
Jurriaan Den Toonder
4d2363ea22 Add shopping list items using the enter key (#3118)
* Enables shopping list items being saved upon enter key press in notes field

Related to: https://github.com/mealie-recipes/mealie/discussions/3114
* Enter key press is caught in note field in ShoppingListItemEditor
* The create editor now stays open after saving a food item to a shopping list,
   to allow keyboard-only interaction with the shopping list

* Prevent empty shopping list items from being added

Related to: https://github.com/mealie-recipes/mealie/discussions/3114
An item is considered empty when the foodId is not set, and no note is set.
This is only handled frontend, the backend still accepts empty items.

---------

Signed-off-by: Jurriaan Den Toonder <1493561+Fastjur@users.noreply.github.com>
Co-authored-by: Michael Genson <71845777+michael-genson@users.noreply.github.com>
2024-02-19 10:29:45 -06:00
Michael Genson
994940f270 more db model fixes 2024-02-19 16:05:50 +00:00
Michael Genson
3adb324b25 fixed more db model definitions 2024-02-19 15:47:14 +00:00
Michael Genson
fbfc5b31d6 fixed shopping list null handling 2024-02-19 15:43:59 +00:00
Michael Genson
2a016ecce9 fixed some model definitions 2024-02-19 15:43:30 +00:00
Michael Genson
782d4ec180 bump sqlalchemy 2024-02-19 15:17:40 +00:00
Brendan
8c52448da2 Exclude paths from triggering nightly build 2024-02-19 08:15:08 +00:00
boc-the-git
7e194887f5 Merge pull request #3194 from mealie-recipes/renovate/mkdocs-material-9.x-lockfile
chore(deps): update dependency mkdocs-material to v9.5.10
2024-02-19 18:50:12 +11:00
renovate[bot]
806a1b9392 chore(deps): update dependency mkdocs-material to v9.5.10 2024-02-19 06:49:26 +00:00
boc-the-git
d575a3b222 Merge pull request #3193 from mealie-recipes/renovate/pre-commit-3.x-lockfile
chore(deps): update dependency pre-commit to v3.6.2
2024-02-19 07:07:12 +11:00
renovate[bot]
f61fdb8623 chore(deps): update dependency pre-commit to v3.6.2 2024-02-18 20:00:20 +00:00
Michael Genson
ea7005e822 feat: Shopping List Editor Improvements (#3178)
* modify new item factory to default to zero qty and use last isFood value

* automatically set the label of an item when choosing a food

* fix when switching to a food with no label

* removed trivial type annotation

* more lint

* removed debug log
2024-02-19 06:59:03 +11:00
boc-the-git
a7775ea7ef Merge pull request #3100 from Kuchenpirat/feat-frontend-access-controll
feat: frontend access controll
2024-02-18 20:21:46 +11:00
boc-the-git
ba4eddccd9 Merge branch 'mealie-next' into feat-frontend-access-controll 2024-02-18 20:15:40 +11:00
boc-the-git
6fcda5e446 Merge pull request #3189 from michael-genson/fix/organizer-filters-broken
fix: Broken Recipe Organizer Filters
2024-02-18 19:30:06 +11:00
Michael Genson
34d742963a added tests 2024-02-18 06:48:09 +00:00
Michael Genson
59cd68d54a fixed UUID check 2024-02-18 06:47:21 +00:00
renovate[bot]
1e4dbe4e95 chore(deps): update dependency ruff to v0.2.2 (#3187)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-17 19:45:32 -06:00
renovate[bot]
5d89d53a4a chore(deps): update dependency pytest to v8 (#3060)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-17 11:34:00 -06:00
renovate[bot]
349ccbad6f fix(deps): update dependency pydantic-settings to v2.2.0 (#3182)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-17 11:11:10 -06:00
renovate[bot]
5d68620382 chore(deps): update dependency pytest-asyncio to v0.23.5 (#3136)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-17 10:55:06 -06:00
Hayden
cb06c8a877 New Crowdin updates (#3184)
* New translations en-us.json (Spanish)

* New translations en-us.json (Spanish)
2024-02-17 13:22:05 +01:00
boc-the-git
7d57fdcd96 Merge pull request #3149 from mealie-recipes/renovate/paho-mqtt-2.x
fix(deps): update dependency paho-mqtt to v2
2024-02-17 21:25:45 +11:00
renovate[bot]
fa60d81e26 fix(deps): update dependency paho-mqtt to v2 2024-02-17 02:43:03 +00:00
boc-the-git
6c4294dc49 chore: Only run docker build and discord notify on the main repo (not forks) (#3176) 2024-02-17 02:39:50 +00:00
Hayden
0a3542e97c New translations en-us.json (German) (#3179) 2024-02-16 13:05:46 +01:00
boc-the-git
83887e3c37 Set recipe rating (#3175) 2024-02-15 10:57:02 -06:00
boc-the-git
5fe29cdd93 Merge pull request #3133 from Kuchenpirat/chore-bump-nuxt-to-2.17.3
chore: bump nuxt version to 2.17.3
2024-02-14 21:06:58 +11:00
boc-the-git
f618c45767 Merge branch 'mealie-next' into chore-bump-nuxt-to-2.17.3 2024-02-14 20:58:48 +11:00
boc-the-git
e1a87b32d9 Merge pull request #3162 from Kuchenpirat/feat--dragable-items-in-ingredient-parser
feat: dragable items in ingredient parser
2024-02-14 20:57:57 +11:00
Kuchenpirat
9e739c8b35 Merge branch 'mealie-next' into feat--dragable-items-in-ingredient-parser 2024-02-14 10:50:40 +01:00
boc-the-git
d6fab197e7 Merge pull request #3153 from mealie-recipes/renovate/pre-commit-3.x-lockfile
chore(deps): update dependency pre-commit to v3.6.1
2024-02-14 20:49:20 +11:00
renovate[bot]
89a5326d3f chore(deps): update dependency pre-commit to v3.6.1 2024-02-14 09:42:35 +00:00
boc-the-git
f0b542c990 Merge pull request #3156 from mealie-recipes/renovate/uvicorn-0.x-lockfile
fix(deps): update dependency uvicorn to v0.27.1
2024-02-14 20:40:33 +11:00
renovate[bot]
c1a3516b37 fix(deps): update dependency uvicorn to v0.27.1 2024-02-14 09:26:56 +00:00
boc-the-git
db467105b9 Merge pull request #3174 from boc-the-git/fix/depot-connection-to-ghcr
fix: Remove permissions block, so it doesn't override what is inherited from parent workflow
2024-02-14 20:24:02 +11:00
boc-the-git
2b5372f693 Remove permissions block, so it doesn't override what is inherited from parent workflow 2024-02-14 19:58:21 +11:00
boc-the-git
1a2ff9540f Merge pull request #3172 from boc-the-git/feat/switch-docker-builds-to-depot
feat: Switch docker builds to Depot.dev
2024-02-14 19:39:07 +11:00
boc-the-git
28fdc8a9ac Merge branch 'mealie-next' into feat/switch-docker-builds-to-depot 2024-02-14 19:04:54 +11:00
renovate[bot]
b0ce1483fe fix(deps): update dependency orjson to v3.9.14 (#3173)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-13 23:34:04 -06:00
boc-the-git
ad251b2449 Merge branch 'mealie-next' into feat/switch-docker-builds-to-depot 2024-02-14 12:45:52 +11:00
Brendan
0ebc2a746b Add id-token=write permission, for Depot.dev connection 2024-02-14 01:19:12 +00:00
Michael Genson
9c6e3ebe5b fixed new var ref 2024-02-13 20:24:16 +00:00
Michael Genson
1b404ee6d8 Merge branch 'mealie-next' into fix/make-mealie-alpha-migrations-more-fault-tolerant 2024-02-13 14:01:07 -06:00
Michael Genson
72052be92f added test 2024-02-13 19:54:47 +00:00
Michael Genson
f2e7deb5cb added fault tolerance for malformed recipe json 2024-02-13 19:50:38 +00:00
Michael Genson
b2e0c51ead make sure report entries are actually saved 2024-02-13 19:46:12 +00:00
Litchi Pi
3d73e7498f feat: allow overriding of some absolute paths using environment variables (#3102)
* Allow overriding of alembic config file path using environment variable

Signed-off-by: Litchi Pi <litchi.pi@proton.me>

* Allow overriding of MODEL_PATH using environment variable

Signed-off-by: Litchi Pi <litchi.pi@proton.me>

---------

Signed-off-by: Litchi Pi <litchi.pi@proton.me>
2024-02-13 19:30:07 +00:00
Kuchenpirat
690f595491 Merge branch 'mealie-next' into chore-bump-nuxt-to-2.17.3 2024-02-13 18:44:26 +01:00
Kuchenpirat
058d968833 Merge branch 'mealie-next' into feat-frontend-access-controll 2024-02-13 18:44:01 +01:00
Kuchenpirat
da2adaa694 Merge branch 'mealie-next' into feat--dragable-items-in-ingredient-parser 2024-02-13 18:42:47 +01:00
Kuchenpirat
fb9be66f97 docs: fix webworker default and links (#3167) 2024-02-13 17:42:36 +00:00
Kuchenpirat
0a446928d7 Merge branch 'mealie-next' into feat--dragable-items-in-ingredient-parser 2024-02-13 18:42:35 +01:00
Kuchenpirat
dc01ff36dc add rendered list (#3169) 2024-02-13 11:28:25 -06:00
Brendan
2d90ae903b Add depot/setup-action 2024-02-13 10:46:35 +00:00
Brendan
d324c6ac57 Switch docker builds from running on GHA to Depot.dev. Tidy README. 2024-02-13 10:42:16 +00:00
Kuchenpirat
aebf229b86 Merge branch 'mealie-next' into feat--dragable-items-in-ingredient-parser 2024-02-13 11:30:48 +01:00
Hayden
3c76a82997 New translations en-us.json (Dutch) (#3166) 2024-02-13 10:26:16 +00:00
boc-the-git
30ec65f43c Merge pull request #3147 from Kuchenpirat/feat--send-reset-email-from-admin-dashboard
feat: email password reset link directly from admin dashboard
2024-02-13 20:57:01 +11:00
Kuchenpirat
2471c7b08e Fix wrong email config 2024-02-13 08:39:21 +00:00
Kuchenpirat
4be23ccffb 🧹 2024-02-13 08:23:13 +00:00
Kuchenpirat
99db24cdec Merge branch 'mealie-next' into feat--send-reset-email-from-admin-dashboard 2024-02-13 09:15:41 +01:00
renovate[bot]
719a33352a chore(deps): update dependency black to v24.2.0 (#3164)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-12 18:05:09 -06:00
boc-the-git
fe3bd95c85 Merge pull request #3163 from michael-genson/fix/url-encode-postgres-passwords
fix: URL-Encode Postgres Password
2024-02-13 08:50:43 +11:00
Michael Genson
8db08c21e5 removed try/catch 2024-02-12 16:58:03 +00:00
Michael Genson
a384e6716d added test 2024-02-12 16:40:17 +00:00
Michael Genson
e35b2e9fbf add fallback to urlencode the postgres password if it fails 2024-02-12 16:40:12 +00:00
Kuchenpirat
b48c2ab736 Merge branch 'mealie-next' into feat--dragable-items-in-ingredient-parser 2024-02-12 13:37:02 +01:00
Kuchenpirat
a12ee536d9 remove animation 2024-02-12 12:28:06 +00:00
Kuchenpirat
97d5439a4f add animation (bit buggy) 2024-02-12 11:42:36 +00:00
Kuchenpirat
c94a1d7c17 add ghost 2024-02-12 11:41:44 +00:00
Hayden
0ce05c781c New Crowdin updates (#3161)
* New translations en-us.json (Danish)

* New translations en-us.json (Hungarian)
2024-02-12 11:24:12 +01:00
Kuchenpirat
0e0dfbf014 Refactor ingredient-parser component to include draggable functionality 2024-02-12 09:59:19 +00:00
boc-the-git
ae03e61bb9 Merge pull request #3160 from michael-genson/fix/coerce-empty-string-to-none
fix: Pydantic Validation For Empty ID String
2024-02-12 19:36:21 +11:00
Michael Genson
f6167b1d81 add id validator for empty strings 2024-02-12 05:26:53 +00:00
Michael Genson
df75cb4034 fix: Pydantic Serialization Issues (#3157)
* replaced pydantic inits with validators

* fixed serialization dropping food and unit ids
2024-02-11 17:34:56 -06:00
boc-the-git
67313f8f03 Merge pull request #3155 from mealie-recipes/renovate/python-slugify-8.x-lockfile
fix(deps): update dependency python-slugify to v8.0.4
2024-02-12 06:37:58 +11:00
renovate[bot]
39eab01885 fix(deps): update dependency python-slugify to v8.0.4 2024-02-11 19:28:05 +00:00
boc-the-git
9fb63a00fd Merge pull request #3152 from mealie-recipes/renovate/mkdocs-material-9.x-lockfile
chore(deps): update dependency mkdocs-material to v9.5.9
2024-02-12 06:25:59 +11:00
renovate[bot]
f945cb8d2d chore(deps): update dependency mkdocs-material to v9.5.9 2024-02-11 16:49:36 +00:00
Michael Genson
7a107584c7 feat: Upgrade to Pydantic V2 (#3134)
* bumped pydantic
2024-02-11 16:47:37 +00:00
boc-the-git
248459671e Merge pull request #3148 from mealie-recipes/renovate/python-multipart-0.x
fix(deps): update dependency python-multipart to ^0.0.9
2024-02-11 22:20:24 +11:00
renovate[bot]
67e48c2fd1 fix(deps): update dependency python-multipart to ^0.0.9 2024-02-11 11:10:02 +00:00
boc-the-git
368d25fa01 Merge pull request #3150 from mealie-recipes/renovate/pre-commit-3.x-lockfile
chore(deps): update dependency pre-commit to v3.6.1
2024-02-11 22:09:09 +11:00
renovate[bot]
12b1d29413 chore(deps): update dependency pre-commit to v3.6.1 2024-02-11 11:02:18 +00:00
boc-the-git
dccc676b24 Merge pull request #3146 from mealie-recipes/renovate/uvicorn-0.x-lockfile
fix(deps): update dependency uvicorn to v0.27.1
2024-02-11 22:00:45 +11:00
Kuchenpirat
d9c1cf8bec Merge branch 'mealie-next' into feat--send-reset-email-from-admin-dashboard 2024-02-11 10:50:00 +01:00
renovate[bot]
0836c303d9 fix(deps): update dependency uvicorn to v0.27.1 2024-02-10 22:20:37 +00:00
boc-the-git
a43fd6b7fc fix: Change release workflow to create a PR, rather than commit directly to branch (#3143)
* fix: Change release workflow to create a PR, rather than commit directly to branch

* Slight wording tweak

Co-authored-by: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com>

---------

Co-authored-by: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com>
2024-02-10 23:18:18 +01:00
boc-the-git
e7ee189fbb Merge pull request #3145 from mealie-recipes/fix-update-taskfile-email-config
fix: Taskfile Email Config
2024-02-11 06:30:45 +11:00
Kuchenpirat
b6708613b9 Merge branch 'mealie-next' into chore-bump-nuxt-to-2.17.3 2024-02-10 15:02:19 +01:00
Kuchenpirat
3317e061a8 add user reset email functionality 2024-02-10 12:51:38 +00:00
Kuchenpirat
0dc8584485 ↕️ 2024-02-10 13:30:02 +01:00
Kuchenpirat
673ad6d42b Update Taskfile.yml 2024-02-10 13:26:24 +01:00
Kuchenpirat
1450d6fc4c fix password reset link not shown (#3142) 2024-02-10 11:09:21 +00:00
boc-the-git
b082242439 Merge pull request #3139 from mealie-recipes/renovate/mkdocs-material-9.x-lockfile
chore(deps): update dependency mkdocs-material to v9.5.9
2024-02-10 21:40:53 +11:00
renovate[bot]
de69a3ca86 chore(deps): update dependency mkdocs-material to v9.5.9 2024-02-10 09:12:22 +00:00
boc-the-git
96e37b3ee1 Merge pull request #3140 from mealie-recipes/l10n_mealie-next
New Crowdin updates
2024-02-10 20:10:38 +11:00
Hayden
cb2d8a9a50 New translations en-us.json (Russian) 2024-02-10 02:56:14 -06:00
Hayden
19c5b7c7ab New translations en-us.json (Ukrainian) 2024-02-10 02:56:13 -06:00
Hayden
38a4215b35 New translations en-us.json (Turkish) 2024-02-10 02:56:12 -06:00
Hayden
77a05c754e New translations en-us.json (Swedish) 2024-02-10 02:56:11 -06:00
Hayden
2226d7cbf9 New translations en-us.json (French) 2024-02-10 02:56:10 -06:00
boc-the-git
42a33cd993 fix: Give update-image-tags job write permissions to the repo, for auto doco updater (#3138) 2024-02-10 03:49:26 +00:00
boc-the-git
d73817adad Merge pull request #3137 from mealie-recipes/renovate/python-multipart-0.x
Update dependency python-multipart to ^0.0.8
2024-02-10 14:20:06 +11:00
renovate[bot]
ce58da8e18 Update dependency python-multipart to ^0.0.8 2024-02-10 01:08:10 +00:00
boc-the-git
fe89981e78 Merge pull request #3135 from Kuchenpirat/feat-add-docker-to-dev-container
dev: add docker-in-docker to dev container
2024-02-10 07:18:21 +11:00
Kuchenpirat
520bc7154a Remove old comments 2024-02-09 21:12:06 +01:00
Kuchenpirat
a38dfc094e update to use newer version of the feature 2024-02-09 17:52:41 +00:00
Kuchenpirat
0a81579da1 Merge branch 'mealie-next' into feat-add-docker-to-dev-container 2024-02-09 17:41:14 +01:00
Kuchenpirat
f4e77f6837 add docker in docker 2024-02-09 16:32:18 +00:00
Kuchenpirat
c1a2c7d485 remove not needed as string 2024-02-09 15:38:21 +00:00
Kuchenpirat
8127f48924 Merge branch 'mealie-next' into chore-bump-nuxt-to-2.17.3 2024-02-09 16:28:13 +01:00
Kuchenpirat
a0e7f85c32 fix lint 2024-02-09 15:27:46 +00:00
Kuchenpirat
b45ffd2046 fix vue-template-compiler version 2024-02-09 15:02:28 +00:00
renovate[bot]
1e04e9424f Update dependency python-slugify to v8.0.4 (#3131)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-09 05:54:04 -09:00
Kuchenpirat
ef4f6245d5 Merge branch 'mealie-next' into chore-bump-nuxt-to-2.17.3 2024-02-09 15:44:56 +01:00
Kuchenpirat
7bd1c8ef14 bump nuxt version 2024-02-09 14:20:44 +00:00
boc-the-git
d1bbfece9d Merge pull request #3132 from mealie-recipes/l10n_mealie-next
New Crowdin updates
2024-02-09 20:00:38 +11:00
Hayden
94a85f9977 New translations en-us.json (French, Canada) 2024-02-09 02:54:34 -06:00
Hayden
3d0adda405 New translations en-us.json (English, United Kingdom) 2024-02-09 02:54:33 -06:00
Hayden
47086da6b6 New translations en-us.json (Latvian) 2024-02-09 02:54:32 -06:00
Hayden
9ce71c911f New translations en-us.json (Croatian) 2024-02-09 02:54:31 -06:00
Hayden
2244c3a8b5 New translations en-us.json (Portuguese, Brazilian) 2024-02-09 02:54:30 -06:00
Hayden
f0d0d0d463 New translations en-us.json (Icelandic) 2024-02-09 02:54:29 -06:00
Hayden
dbec3e58f9 New translations en-us.json (Galician) 2024-02-09 02:54:28 -06:00
Hayden
a5e56dc97f New translations en-us.json (Vietnamese) 2024-02-09 02:54:27 -06:00
Hayden
6d64418727 New translations en-us.json (Chinese Traditional) 2024-02-09 02:54:27 -06:00
Hayden
2b71174765 New translations en-us.json (Chinese Simplified) 2024-02-09 02:54:26 -06:00
Hayden
7f6de730a3 New translations en-us.json (Ukrainian) 2024-02-09 02:54:25 -06:00
Hayden
22cc19a085 New translations en-us.json (Turkish) 2024-02-09 02:54:24 -06:00
Hayden
b16fa49f16 New translations en-us.json (Swedish) 2024-02-09 02:54:23 -06:00
Hayden
90e373582b New translations en-us.json (Serbian (Cyrillic)) 2024-02-09 02:54:22 -06:00
Hayden
1b3cbb38ae New translations en-us.json (Slovenian) 2024-02-09 02:54:22 -06:00
Hayden
ac5a63e32d New translations en-us.json (Slovak) 2024-02-09 02:54:21 -06:00
Hayden
d5d86488a0 New translations en-us.json (Russian) 2024-02-09 02:54:20 -06:00
Hayden
3f9c46a763 New translations en-us.json (Portuguese) 2024-02-09 02:54:19 -06:00
Hayden
04176f6927 New translations en-us.json (Polish) 2024-02-09 02:54:18 -06:00
Hayden
2aa8c5810a New translations en-us.json (Norwegian) 2024-02-09 02:54:17 -06:00
Hayden
a071a7d16b New translations en-us.json (Dutch) 2024-02-09 02:54:16 -06:00
Hayden
a14c1b48c6 New translations en-us.json (Lithuanian) 2024-02-09 02:54:15 -06:00
Hayden
43174dcebe New translations en-us.json (Korean) 2024-02-09 02:54:13 -06:00
Hayden
3ee53977ec New translations en-us.json (Japanese) 2024-02-09 02:54:12 -06:00
Hayden
de1486c57f New translations en-us.json (Italian) 2024-02-09 02:54:12 -06:00
Hayden
a12aba6b9d New translations en-us.json (Hungarian) 2024-02-09 02:54:11 -06:00
Hayden
fb70bc76b3 New translations en-us.json (Hebrew) 2024-02-09 02:54:10 -06:00
Hayden
e6351273e2 New translations en-us.json (Finnish) 2024-02-09 02:54:09 -06:00
Hayden
82dcfb5635 New translations en-us.json (Greek) 2024-02-09 02:54:08 -06:00
Hayden
dddeed6359 New translations en-us.json (German) 2024-02-09 02:54:07 -06:00
Hayden
5f4a36bbd8 New translations en-us.json (Danish) 2024-02-09 02:54:06 -06:00
Hayden
f74610a0f7 New translations en-us.json (Czech) 2024-02-09 02:54:05 -06:00
Hayden
166f2486a2 New translations en-us.json (Catalan) 2024-02-09 02:54:04 -06:00
Hayden
88a5209237 New translations en-us.json (Bulgarian) 2024-02-09 02:54:03 -06:00
Hayden
d954869dd7 New translations en-us.json (Bulgarian) 2024-02-09 02:54:02 -06:00
Hayden
9cf181b415 New translations en-us.json (Arabic) 2024-02-09 02:54:01 -06:00
Hayden
5a7dc14a48 New translations en-us.json (Afrikaans) 2024-02-09 02:54:00 -06:00
Hayden
d916c0a472 New translations en-us.json (Spanish) 2024-02-09 02:54:00 -06:00
Hayden
a3693d83a3 New translations en-us.json (French) 2024-02-09 02:53:59 -06:00
Hayden
bb9620b67e New translations en-us.json (Romanian) 2024-02-09 02:53:58 -06:00
boc-the-git
3174216931 Merge pull request #2810 from michael-genson/fix/translation-issues-when-scraping
fix: Translate ISO 8601 Datetime Durations During Scraping/Parsing/Migrating
2024-02-09 06:37:28 +11:00
Michael Genson
94342081f9 I don't know why I changed this 2024-02-08 14:43:13 +00:00
boc-the-git
5d049d5696 Merge branch 'mealie-next' into fix/warn-on-edit-nav 2024-02-08 22:21:35 +11:00
boc-the-git
36088f0db9 Merge branch 'mealie-next' into fix/translation-issues-when-scraping 2024-02-08 20:58:43 +11:00
boc-the-git
4c60febb9c Merge pull request #3130 from mealie-recipes/l10n_mealie-next
New Crowdin updates
2024-02-08 19:58:51 +11:00
Hayden
0283185913 New translations en-us.json (Hebrew) 2024-02-08 02:52:45 -06:00
Kuchenpirat
704d0a8392 Merge branch 'mealie-next' into feat-frontend-access-controll 2024-02-07 18:22:55 +01:00
Michael Genson
f42114e966 feat: Redirect Logged Out Users to Default Group, If It's Public (#2772)
* add default group slug to app info if public

* redirect public user to default group

* added tests

---------

Co-authored-by: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com>
2024-02-07 07:53:55 -09:00
Michael Genson
d4de15ba1e Merge branch 'mealie-next' into fix/translation-issues-when-scraping 2024-02-07 09:58:45 -06:00
RealFoxie
e686fa671c Better bruteforce parsing for units (#3066)
* try to match units when brute parsing and no amount is matched

* brute parser: better handle multiple word food items

Also checks the case when a food might have been split in a unit + ingredient

* fix formatting

* add test cases for ingredient parsing that don't start with an amount

* parametrized tests and added ingredient data fixture

* fixed group_id ref in tests

* fixed test inputs

* add extra tests for units as third token

---------

Co-authored-by: Michael Genson <71845777+michael-genson@users.noreply.github.com>
2024-02-07 09:16:20 -06:00
Kuchenpirat
12547feb4c Merge branch 'mealie-next' into feat-frontend-access-controll 2024-02-07 12:29:08 +01:00
Kuchenpirat
7dbc031725 update comments 2024-02-07 11:28:26 +00:00
renovate[bot]
597e6c8e0f chore(deps): update dependency mkdocs-material to v9.5.8 (#3124)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-07 04:38:04 +00:00
boc-the-git
d5ba69d828 Merge pull request #3123 from mealie-recipes/l10n_mealie-next
New Crowdin updates
2024-02-07 12:12:02 +11:00
boc-the-git
564f43085b Merge branch 'mealie-next' into l10n_mealie-next 2024-02-07 12:05:57 +11:00
Hayden
a0b6cc3e62 New translations en-us.json (Turkish) 2024-02-06 17:52:01 -06:00
Hayden
c960c00cbe New translations en-us.json (Swedish) 2024-02-06 17:52:00 -06:00
Hayden
47b60e9ad5 New translations en-us.json (Hungarian) 2024-02-06 17:51:59 -06:00
renovate[bot]
026ca0364e chore(deps): update dependency ruff to v0.2.1 (#3122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-06 09:12:30 -06:00
Elijah Mock
70ce34d6c9 Remove logging 2024-02-05 20:22:10 +00:00
Kuchenpirat
dff351a8eb Merge branch 'mealie-next' into feat-frontend-access-controll 2024-02-05 15:37:27 +01:00
Kuchenpirat
13e7dfe920 getAll if array is empty or non existant (#3120) 2024-02-05 07:37:15 -06:00
boc-the-git
abf4b7706f Merge branch 'mealie-next' into fix/warn-on-edit-nav 2024-02-05 22:30:35 +11:00
Kuchenpirat
813a124250 Merge branch 'mealie-next' into feat-frontend-access-controll 2024-02-05 11:47:14 +01:00
boc-the-git
8a3173094e Merge pull request #3111 from mealie-recipes/renovate/orjson-3.x-lockfile
fix(deps): update dependency orjson to v3.9.13
2024-02-05 20:53:34 +11:00
renovate[bot]
0d16a2a943 fix(deps): update dependency orjson to v3.9.13 2024-02-05 04:25:39 +00:00
Hayden
2918a824e4 New Crowdin updates (#3116)
* New translations en-us.json (Chinese Traditional)

* New translations en-us.json (Italian)

* New translations en-us.json (Romanian)

* New translations en-us.json (French)

* New translations en-us.json (Spanish)

* New translations en-us.json (Afrikaans)

* New translations en-us.json (Arabic)

* New translations en-us.json (Bulgarian)

* New translations en-us.json (Catalan)

* New translations en-us.json (Czech)

* New translations en-us.json (Danish)

* New translations en-us.json (German)

* New translations en-us.json (Greek)

* New translations en-us.json (Finnish)

* New translations en-us.json (Hebrew)

* New translations en-us.json (Hungarian)

* New translations en-us.json (Japanese)

* New translations en-us.json (Korean)

* New translations en-us.json (Lithuanian)

* New translations en-us.json (Dutch)

* New translations en-us.json (Norwegian)

* New translations en-us.json (Polish)

* New translations en-us.json (Portuguese)

* New translations en-us.json (Russian)

* New translations en-us.json (Slovak)

* New translations en-us.json (Slovenian)

* New translations en-us.json (Serbian (Cyrillic))

* New translations en-us.json (Swedish)

* New translations en-us.json (Turkish)

* New translations en-us.json (Ukrainian)

* New translations en-us.json (Chinese Simplified)

* New translations en-us.json (Vietnamese)

* New translations en-us.json (Galician)

* New translations en-us.json (Portuguese, Brazilian)

* New translations en-us.json (Croatian)

* New translations en-us.json (Latvian)

* New translations en-us.json (English, United Kingdom)

* New translations en-us.json (French, Canada)

* New translations en-us.json (Icelandic)

* New translations en-us.json (Dutch)
2024-02-04 22:24:02 -06:00
renovate[bot]
00e5e4384d fix(deps): update dependency fastapi to v0.109.2 (#3115)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-04 16:22:12 -06:00
Michael Genson
634b0590ed Merge branch 'mealie-next' into fix/translation-issues-when-scraping 2024-02-04 13:20:44 -06:00
Kuchenpirat
52c58e1dc0 feat: bulk deletion on "Manage Data" page (#3056)
* labels bulk delete

* add foods

* bulk delete units

* add categories

* add tags

* add tools

* update translations

* fix types for text

* fix reactivity for stores

---------

Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
2024-02-04 12:55:14 -06:00
Kuchenpirat
67b7fb007b feat: Cookbook Create & Delete Improvements (#2902)
* add delete dialog

* put editor into component

* return data on createCookbook store action

* verry basic dialog with create & cancel functions

* 🧹

* cleanup

* add translation

* add dialog-closed to BaseDialog

* update delete dialog messaging

* use cancel instead of dialog-closed
2024-02-04 07:15:25 -09:00
Kuchenpirat
7299c9ec9a Merge branch 'mealie-next' into feat-frontend-access-controll 2024-02-04 10:35:23 +01:00
Hayden
292672601c New Crowdin updates (#3110)
* New translations en-us.json (Romanian)

* New translations en-us.json (Romanian)
2024-02-03 22:44:30 +00:00
boc-the-git
fa3bbdcde1 Merge pull request #3106 from mealie-recipes/renovate/python-multipart-0.x
fix(deps): update dependency python-multipart to ^0.0.7
2024-02-04 05:42:19 +11:00
renovate[bot]
7e519c6b5a fix(deps): update dependency python-multipart to ^0.0.7 2024-02-03 18:35:27 +00:00
boc-the-git
57c11b23c4 Merge pull request #3107 from mealie-recipes/renovate/fastapi-0.x-lockfile
fix(deps): update dependency fastapi to v0.109.1
2024-02-04 05:34:02 +11:00
renovate[bot]
ba60428b03 fix(deps): update dependency fastapi to v0.109.1 2024-02-03 13:07:43 +00:00
renovate[bot]
e48619bae6 chore(deps): update dependency mkdocs-material to v9.5.7 (#3105)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-03 14:05:27 +01:00
Kuchenpirat
3a0e4ff119 Merge branch 'mealie-next' into feat-frontend-access-controll 2024-02-03 10:18:24 +01:00
Hayden
6d38960a5a New translations en-us.json (Turkish) (#3103) 2024-02-03 00:31:30 +01:00
Kuchenpirat
9cc59e81d6 add comment to group-only 2024-02-02 16:41:42 +00:00
Kuchenpirat
a04b6983e7 Merge branch 'mealie-next' into feat-frontend-access-controll 2024-02-02 17:27:58 +01:00
Kuchenpirat
6beea06a41 show group settings option only to users that can manage the group 2024-02-02 16:17:38 +00:00
Kuchenpirat
e75b5f2f15 add shopping lists 2024-02-02 16:00:18 +00:00
Kuchenpirat
c9acc48bd6 add group reports 2024-02-02 15:56:26 +00:00
Kuchenpirat
f4df68a9e2 restrict access to /group pages 2024-02-02 15:36:10 +00:00
Kuchenpirat
4cee8ea879 add can manage restriction 2024-02-02 15:14:48 +00:00
Kuchenpirat
e7f5a4adff move middleware for manage data page to parrent component 2024-02-02 14:58:39 +00:00
Kuchenpirat
0301713214 add auth and group only to groupSlug pages 2024-02-02 14:45:30 +00:00
Kuchenpirat
5ef23e0330 add group-only middleware 2024-02-02 14:43:59 +00:00
renovate[bot]
9bf2e3fabd chore(deps): update dependency ruff to ^0.2.0 (#3097)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-01 18:17:42 -06:00
Hayden
dcf50b9a00 New translations en-us.json (Turkish) (#3096) 2024-02-01 22:46:14 +00:00
Joeri
073efd7a2f Rectify email message ID, change multipart order (#3094) 2024-02-01 13:59:21 +01:00
Kuchenpirat
88529457bf 🧹 2024-02-01 07:50:34 +00:00
Kuchenpirat
890b5d93a7 access controll coobook index page 2024-02-01 07:50:09 +00:00
renovate[bot]
95b7990f26 fix(deps): update dependency python-slugify to v8.0.3 (#3090)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-31 16:10:05 -06:00
Michael Genson
7947aa99ae fix: Migration Issue With Duplicate Labels (#3085)
* fixed eager queries

* test

---------

Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
2024-01-31 13:37:12 -06:00
Kuchenpirat
c3f7ad8954 chore: delete unused file (#3089) 2024-01-31 10:10:59 -09:00
Kuchenpirat
7dafa6c7fe add access controll to user pages 2024-01-31 15:25:21 +00:00
Kuchenpirat
8d2d571683 add avanced-only 2024-01-31 11:56:15 +00:00
Kuchenpirat
19e776a772 manage-data pages 2024-01-31 10:33:05 +00:00
boc-the-git
8df7848c96 Merge pull request #3088 from mealie-recipes/chore-update-build-link-to-org
chore: update build link to org
2024-01-31 21:21:11 +11:00
Kuchenpirat
6097440781 Merge branch 'mealie-next' into chore-update-build-link-to-org 2024-01-31 10:51:56 +01:00
Kuchenpirat
208608b32e chore update build link to org 2024-01-31 09:49:58 +00:00
Hayden
02997cd36e New Crowdin updates (#3086)
* New translations en-us.json (Russian)

* New translations en-us.json (Slovenian)
2024-01-30 22:31:11 +00:00
Michael Genson
e1cd2717d3 fix: Update Group Slug When Updating Group (#3084)
* added slug update hook to group updates

* added test

* force refresh if group slug changes

* added alert if something goes wrong
2024-01-30 18:41:37 +00:00
renovate[bot]
694511cb60 chore(deps): update dependency ruff to v0.1.15 (#3076)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-30 14:39:30 +00:00
boc-the-git
f0c89525f6 Add paho-mqtt package, as needed by Apprise to send MQTT messages (#3078)
Co-authored-by: Michael Genson <71845777+michael-genson@users.noreply.github.com>
2024-01-30 14:31:24 +00:00
Kuchenpirat
a05ede5e05 fix recipeOrganizerPage edit dialog label localization (#3079) 2024-01-30 08:24:46 -06:00
boc-the-git
7e51cf0352 feat: On new release publish, update image tags in sample docker-compose files (#3072)
* WIP

* Add sed commands for image versions

---------

Co-authored-by: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com>
2024-01-30 07:36:28 +00:00
boc-the-git
ce110c23e4 Merge pull request #3075 from mealie-recipes/l10n_mealie-next
New Crowdin updates
2024-01-30 12:49:44 +11:00
Hayden
8247f21101 New translations en-us.json (Slovenian) 2024-01-29 16:23:32 -06:00
Hayden
60f9a3be5c New translations en-us.json (Slovenian) 2024-01-29 16:23:31 -06:00
Hayden
dddcb644bf New translations en-us.json (Spanish) 2024-01-29 16:23:30 -06:00
boc-the-git
84e981fd03 Merge pull request #3058 from mealie-recipes/renovate/apprise-1.x-lockfile
fix(deps): update dependency apprise to v1.7.2
2024-01-29 22:21:35 +11:00
renovate[bot]
937464115e fix(deps): update dependency apprise to v1.7.2 2024-01-29 11:14:39 +00:00
boc-the-git
24aee11607 Merge pull request #3063 from mealie-recipes/renovate/mkdocs-material-9.x-lockfile
chore(deps): update dependency mkdocs-material to v9.5.6
2024-01-29 22:12:20 +11:00
renovate[bot]
023c57dd61 chore(deps): update dependency mkdocs-material to v9.5.6 2024-01-29 09:32:53 +00:00
renovate[bot]
14d8ff8754 fix(deps): update dependency recipe-scrapers to v14.54.0 (#3070)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-29 10:31:34 +01:00
Hayden
e6f531c111 New translations en-us.json (Hungarian) (#3071) 2024-01-28 16:21:47 -06:00
renovate[bot]
c0a4f624d1 chore(deps): update dependency pytest-asyncio to v0.23.4 (#3069)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-28 15:50:46 -06:00
boc-the-git
a32dc4baa0 docs: Update example docker-compose files (#3065)
* Update README.md

* Update version. Add note re where to find latest version.

* Update version. Add note re where to find latest version.
2024-01-28 10:43:55 +00:00
boc-the-git
7c4690a7a9 docs: Change org to mealie-recipes (#3064)
* Change org to mealie-recipes

* Change org to mealie-recipes

* Change org to mealie-recipes
2024-01-28 11:32:11 +01:00
boc-the-git
b44487596d Merge pull request #3062 from mealie-recipes/renovate/black-24.x-lockfile
chore(deps): update dependency black to v24.1.1
2024-01-28 19:38:22 +11:00
renovate[bot]
2cb4c21db3 chore(deps): update dependency black to v24.1.1 2024-01-28 08:31:34 +00:00
Hayden
2dcc765e86 New translations en-us.json (Hungarian) (#3059) 2024-01-27 21:41:33 +00:00
Michael Genson
a5ef18669b fix: Upgrade Black (#3057)
* bump black

* bump black on precommit

* run black

* fix backend test runner
2024-01-27 15:11:54 -06:00
Michael Genson
14497b9b5e Merge branch 'mealie-next' into fix/translation-issues-when-scraping 2024-01-10 11:35:28 -06:00
Elijah Mock
f77649abc8 Disarm on internal site navigation 2024-01-06 22:18:55 +00:00
Elijah Mock
33870dc845 Set up navigation warning while editing recipe 2024-01-06 21:52:56 +00:00
Elijah Mock
265313919c Vue-ify and add documentation 2024-01-06 21:51:35 +00:00
Elijah Mock
dd5d1b9cba Add helpers to activate and deactivate warning 2024-01-06 21:49:29 +00:00
Michael Genson
e90f05d2dc Merge branch 'mealie-next' into fix/translation-issues-when-scraping 2024-01-02 19:17:26 -06:00
Michael Genson
677dc8f36a Merge branch 'mealie-next' into fix/translation-issues-when-scraping 2023-12-14 17:43:11 -06:00
Michael Genson
449eeb0d53 Merge branch 'mealie-next' into fix/translation-issues-when-scraping 2023-12-11 13:01:26 -06:00
Michael Genson
41204ca7f9 Merge branch 'mealie-next' into fix/translation-issues-when-scraping 2023-12-09 16:38:21 -06:00
Michael Genson
437f5c454f fixed missing translator 2023-12-09 22:04:21 +00:00
Michael Genson
3a30b3216e fixed tests 2023-12-09 17:19:27 +00:00
Michael Genson
408df286fd added translator to scraper 2023-12-09 17:19:19 +00:00
Michael Genson
2cfc63b302 added timedelta translations 2023-12-09 17:19:06 +00:00
Michael Genson
a8583c8e69 added backend translation support for plurals 2023-12-09 17:12:07 +00:00
361 changed files with 6251 additions and 3121 deletions

View File

@@ -49,7 +49,9 @@
"onCreateCommand": "sudo chown -R vscode:vscode /workspaces/mealie/frontend/node_modules && task setup",
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode",
// "features": {
// "git": "latest"
// }
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {
"dockerDashComposeVersion": "v2"
}
}
}

View File

@@ -11,7 +11,7 @@ body:
options:
- label: I used the GitHub search to find a similar requests and didn't find it.
required: true
- label: Checked the [tasks tagged](https://github.com/hay-kot/mealie/issues?q=is%3Aissue+is%3Aopen+label%3Atask+) issues and verified my feature is not covered
- label: Checked the [tasks tagged](https://github.com/mealie-recipes/mealie/issues?q=is%3Aissue+is%3Aopen+label%3Atask+) issues and verified my feature is not covered
required: true
- type: textarea
id: problem

View File

@@ -4,6 +4,12 @@ on:
push:
branches:
- mealie-next
paths-ignore:
- '*.md'
- '.devcontainer/**'
# I'm not excluding .github as changes in there might be to workflows etc
- '.vscode/**'
- 'docs/**'
concurrency:
group: nightly-${{ github.ref }}
@@ -22,7 +28,13 @@ jobs:
permissions:
contents: read
packages: write
# The id-token write permission is needed to connect to Depot.dev
# as part of the partial-builder.yml action. It needs to be declared
# in the parent action, as noted here:
# https://github.com/orgs/community/discussions/76409#discussioncomment-8131390
id-token: write
name: Build Tagged Release
if: github.repository == 'mealie-recipes/mealie'
uses: ./.github/workflows/partial-builder.yml
needs:
- frontend-tests
@@ -35,6 +47,7 @@ jobs:
notify-discord:
name: Notify Discord
if: github.repository == 'mealie-recipes/mealie'
needs:
- build-release
runs-on: ubuntu-latest

View File

@@ -75,7 +75,7 @@ jobs:
sudo apt-get update
sudo apt-get install libsasl2-dev libldap2-dev libssl-dev
poetry install
poetry add "psycopg2-binary==2.8.6"
poetry add "psycopg2-binary==2.9.9"
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' || steps.cache-validate.outputs.cache-hit-success != 'true'
- name: Formatting (Black)

View File

@@ -35,19 +35,16 @@ jobs:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Override __init__.py
run: |
echo "__version__ = \"${{ inputs.tag }}\"" > ./mealie/__init__.py
- name: Build and push Docker image
uses: docker/build-push-action@v5
- uses: depot/setup-action@v1
- name: Build and push Docker image, via Depot.dev
uses: depot/build-push-action@v1
with:
project: srzjb6mhzm
file: ./docker/Dockerfile
context: .
platforms: linux/amd64,linux/arm64
@@ -58,6 +55,3 @@ jobs:
${{ inputs.tags }}
build-args: |
COMMIT=${{ github.sha }}
# https://docs.docker.com/build/ci/github-actions/cache/#github-cache
cache-from: type=gha
cache-to: type=gha,mode=max

View File

@@ -17,6 +17,11 @@ jobs:
permissions:
contents: read
packages: write
# The id-token write permission is needed to connect to Depot.dev
# as part of the partial-builder.yml action. It needs to be declared
# in the parent action, as noted here:
# https://github.com/orgs/community/discussions/76409#discussioncomment-8131390
id-token: write
name: Build Tagged Release
uses: ./.github/workflows/partial-builder.yml
needs:
@@ -42,4 +47,31 @@ jobs:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_RELEASE_WEBHOOK }}
uses: Ilshidur/action-discord@0.3.2
with:
args: "🚀 Version {{ EVENT_PAYLOAD.release.tag_name }} of Mealie has been released. See the release notes https://github.com/hay-kot/mealie/releases/tag/{{ EVENT_PAYLOAD.release.tag_name }}"
args: "🚀 Version {{ EVENT_PAYLOAD.release.tag_name }} of Mealie has been released. See the release notes https://github.com/mealie-recipes/mealie/releases/tag/{{ EVENT_PAYLOAD.release.tag_name }}"
update-image-tags:
name: Update image tag in sample docker-compose files
needs:
- build-release
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout 🛎
uses: actions/checkout@v4
- name: Modify version strings
run: |
sed -i 's/:v[0-9]*.[0-9]*.[0-9]*/:${{ github.event.release.tag_name }}/' docs/docs/documentation/getting-started/installation/sqlite.md
sed -i 's/:v[0-9]*.[0-9]*.[0-9]*/:${{ github.event.release.tag_name }}/' docs/docs/documentation/getting-started/installation/postgres.md
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
with:
commit-message: "Update image tag, for release ${{ github.event.release.tag_name }}"
branch: "docs/newrelease-update-version-${{ github.event.release.tag_name }}"
delete-branch: true
base: mealie-next
title: "docs(auto): Update image tag, for release ${{ github.event.release.tag_name }}"
body: "Auto-generated by `.github/workflows/release.yml`, on publish of release ${{ github.event.release.tag_name }}"

View File

@@ -11,6 +11,6 @@ repos:
- id: trailing-whitespace
exclude: ^tests/data/
- repo: https://github.com/psf/black
rev: 23.1.0
rev: 24.1.0
hooks:
- id: black

View File

@@ -71,12 +71,9 @@ Distributed under the AGPL License. See `LICENSE` for more information.
Huge thanks to all the sponsors of this project on [Github Sponsors](https://github.com/sponsors/hay-kot) and Buy Me a Coffee. Without you, this project would surely not be possible.
Thanks to Linode for providing Hosting for the Demo, Beta, and Documentation sites! Another big thanks to JetBrains for providing their IDEs for development.
Thanks to Depot for providing build instances for our Docker image builds.
<div align='center'>
<img height="100" src="docs/docs/assets/img/sponsors-linode.svg" />
<img height="100" src="docs/docs/assets/img/sponsors-jetbrains.png" />
</div>
[![Built with Depot](https://depot.dev/badges/built-with-depot.svg)](https://depot.dev?utm_source=Mealie)
@@ -91,7 +88,7 @@ Thanks to Linode for providing Hosting for the Demo, Beta, and Documentation sit
[stars-url]: https://github.com/mealie-recipes/mealie/stargazers
[issues-shield]: https://img.shields.io/github/issues/mealie-recipes/mealie.svg?style=flat-square
[issues-url]: https://github.com/mealie-recipes/mealie/issues
[latest-release-shield]: https://img.shields.io/github/v/release/mealie-recipes/mealie.svg?style=flat-square
[latest-release-shield]: https://img.shields.io/github/v/release/mealie-recipes/mealie?style=flat-square&label=latest%20release
[latest-release-url]: https://img.shields.io/github/v/release/mealie-recipes/mealie
[license-shield]: https://img.shields.io/github/license/mealie-recipes/mealie.svg?style=flat-square
[license-url]: https://github.com/mealie-recipes/mealie/blob/mealie-next/LICENSE

View File

@@ -14,7 +14,9 @@ env:
SMTP_HOST: localhost
SMTP_PORT: 1025
SMTP_FROM_NAME: MealieDev
SMTP_FROM_EMAIL: mealie@example.com
SMTP_AUTH_STRATEGY: NONE
BASE_URL: http://localhost:3000
LANG: en-US
# loads .env file if it exists

View File

@@ -1,10 +1,11 @@
"""Initial tables
Revision ID: 6b0f5f32d602
Revises:
Revises:
Create Date: 2022-02-21 19:56:24.351115
"""
import sqlalchemy as sa
from sqlalchemy import engine_from_config

View File

@@ -5,6 +5,7 @@ Revises: 6b0f5f32d602
Create Date: 2022-03-23 17:43:34.727829
"""
import sqlalchemy as sa
from alembic import op

View File

@@ -5,6 +5,7 @@ Revises: 263dd6707191
Create Date: 2022-03-27 19:30:28.545846
"""
import sqlalchemy as sa
from alembic import op

View File

@@ -5,6 +5,7 @@ Revises: f1a2dbee5fe9
Create Date: 2022-03-31 19:19:55.428965
"""
import sqlalchemy as sa
import mealie.db.migration_types

View File

@@ -5,6 +5,7 @@ Revises: 59eb59135381
Create Date: 2022-04-03 10:48:51.379968
"""
import sqlalchemy as sa
import mealie.db.migration_types # noqa: F401

View File

@@ -5,6 +5,7 @@ Revises: 09dfc897ad62
Create Date: 2022-06-01 11:12:06.748383
"""
import sqlalchemy as sa
from alembic import op

View File

@@ -6,6 +6,7 @@ Revises: ab0bae02578f
Create Date: 2022-06-15 21:05:34.851857
"""
import sqlalchemy as sa
from alembic import op

View File

@@ -5,6 +5,7 @@ Revises: f30cf048c228
Create Date: 2022-08-12 19:05:59.776361
"""
import sqlalchemy as sa
from alembic import op

View File

@@ -5,6 +5,7 @@ Revises: 188374910655
Create Date: 2022-08-05 17:07:07.389271
"""
import sqlalchemy as sa
from alembic import op

View File

@@ -5,6 +5,7 @@ Revises: 089bfa50d0ed
Create Date: 2022-08-29 13:57:40.452245
"""
import sqlalchemy as sa
import mealie.db.migration_types

View File

@@ -5,6 +5,7 @@ Revises: 44e8d670719d
Create Date: 2022-09-27 14:53:14.111054
"""
import sqlalchemy as sa
import mealie.db.migration_types

View File

@@ -5,6 +5,7 @@ Revises: 2ea7a807915c
Create Date: 2022-11-03 13:10:24.811134
"""
import sqlalchemy as sa
from alembic import op

View File

@@ -5,6 +5,7 @@ Revises: 1923519381ad
Create Date: 2022-11-22 03:42:45.494567
"""
import sqlalchemy as sa
from alembic import op

View File

@@ -5,6 +5,7 @@ Revises: 167eb69066ad
Create Date: 2023-01-21 16:54:44.368768
"""
import sqlalchemy as sa
import mealie.db.migration_types

View File

@@ -5,6 +5,7 @@ Revises: ff5f73b01a7a
Create Date: 2023-02-10 21:18:32.405130
"""
import sqlalchemy as sa
import mealie.db.migration_types

View File

@@ -5,6 +5,7 @@ Revises: 16160bf731a0
Create Date: 2023-02-14 20:45:41.102571
"""
import sqlalchemy as sa
from sqlalchemy import orm, select
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column

View File

@@ -5,10 +5,11 @@ Revises: 5ab195a474eb
Create Date: 2023-21-02 22:03:19.837244
"""
from uuid import uuid4
import sqlalchemy as sa
from sqlalchemy.orm.session import Session
from sqlalchemy import orm
import mealie.db.migration_types
from alembic import op
@@ -22,8 +23,10 @@ branch_labels = None
depends_on = None
def populate_shopping_lists_multi_purpose_labels(shopping_lists_multi_purpose_labels_table: sa.Table, session: Session):
shopping_lists = session.query(ShoppingList).all()
def populate_shopping_lists_multi_purpose_labels(
shopping_lists_multi_purpose_labels_table: sa.Table, session: orm.Session
):
shopping_lists = session.query(ShoppingList).options(orm.load_only(ShoppingList.id, ShoppingList.group_id)).all()
shopping_lists_labels_data: list[dict] = []
for shopping_list in shopping_lists:
@@ -59,7 +62,7 @@ def upgrade():
)
# ### end Alembic commands ###
session = Session(bind=op.get_bind())
session = orm.Session(bind=op.get_bind())
populate_shopping_lists_multi_purpose_labels(shopping_lists_multi_purpose_labels_table, session)

View File

@@ -5,6 +5,7 @@ Revises: b04a08da2108
Create Date: 2023-02-22 21:45:52.900964
"""
import sqlalchemy as sa
import mealie.db.migration_types

View File

@@ -5,6 +5,7 @@ Revises: 38514b39a824
Create Date: 2023-04-13 06:47:04.617131
"""
import sqlalchemy as sa
import mealie.db.migration_types

View File

@@ -5,6 +5,7 @@ Revises: b3dbb554ba53
Create Date: 2023-08-06 21:00:34.582905
"""
import sqlalchemy as sa
from slugify import slugify
from sqlalchemy.orm import Session

View File

@@ -5,6 +5,7 @@ Revises: 04ac51cbe9a4
Create Date: 2023-08-14 19:30:49.103185
"""
import sqlalchemy as sa
from alembic import op

View File

@@ -5,6 +5,7 @@ Revises: 1825b5225403
Create Date: 2023-08-15 16:25:07.058929
"""
from alembic import op
# revision identifiers, used by Alembic.

View File

@@ -5,6 +5,7 @@ Revises: bcfdad6b7355
Create Date: 2023-09-01 14:55:42.166766
"""
import sqlalchemy as sa
from sqlalchemy import orm, select

View File

@@ -5,6 +5,7 @@ Revises: 0341b154f79a
Create Date: 2023-10-04 14:29:26.688065
"""
from collections import defaultdict
from dataclasses import dataclass
from typing import Any
@@ -58,7 +59,12 @@ def _resolve_duplicate_food(
keep_food_id: UUID4,
dupe_food_id: UUID4,
):
for shopping_list_item in session.query(ShoppingListItem).filter_by(food_id=dupe_food_id).all():
for shopping_list_item in (
session.query(ShoppingListItem)
.options(load_only(ShoppingListItem.id, ShoppingListItem.food_id))
.filter_by(food_id=dupe_food_id)
.all()
):
shopping_list_item.food_id = keep_food_id
for recipe_ingredient in (
@@ -81,10 +87,20 @@ def _resolve_duplicate_unit(
keep_unit_id: UUID4,
dupe_unit_id: UUID4,
):
for shopping_list_item in session.query(ShoppingListItem).filter_by(unit_id=dupe_unit_id).all():
for shopping_list_item in (
session.query(ShoppingListItem)
.options(load_only(ShoppingListItem.id, ShoppingListItem.unit_id))
.filter_by(unit_id=dupe_unit_id)
.all()
):
shopping_list_item.unit_id = keep_unit_id
for recipe_ingredient in session.query(RecipeIngredientModel).filter_by(unit_id=dupe_unit_id).all():
for recipe_ingredient in (
session.query(RecipeIngredientModel)
.options(load_only(RecipeIngredientModel.id, RecipeIngredientModel.unit_id))
.filter_by(unit_id=dupe_unit_id)
.all()
):
recipe_ingredient.unit_id = keep_unit_id
session.commit()
@@ -99,10 +115,20 @@ def _resolve_duplicate_label(
keep_label_id: UUID4,
dupe_label_id: UUID4,
):
for shopping_list_item in session.query(ShoppingListItem).filter_by(label_id=dupe_label_id).all():
for shopping_list_item in (
session.query(ShoppingListItem)
.options(load_only(ShoppingListItem.id, ShoppingListItem.label_id))
.filter_by(label_id=dupe_label_id)
.all()
):
shopping_list_item.label_id = keep_label_id
for ingredient_food in session.query(IngredientFoodModel).filter_by(label_id=dupe_label_id).all():
for ingredient_food in (
session.query(IngredientFoodModel)
.options(load_only(IngredientFoodModel.id, IngredientFoodModel.label_id))
.filter_by(label_id=dupe_label_id)
.all()
):
ingredient_food.label_id = keep_label_id
session.commit()

View File

@@ -5,6 +5,7 @@ Revises: dded3119c1fe
Create Date: 2023-10-19 19:22:55.369319
"""
import sqlalchemy as sa
import mealie.db.migration_types

View File

@@ -0,0 +1,85 @@
"""added user to shopping list
Revision ID: 2298bb460ffd
Revises: ba1e4a6cfe99
Create Date: 2024-02-23 16:15:07.115641
"""
from uuid import UUID
import sqlalchemy as sa
from sqlalchemy import orm
import mealie.db.migration_types
from alembic import op
# revision identifiers, used by Alembic.
revision = "2298bb460ffd"
down_revision = "ba1e4a6cfe99"
branch_labels = None
depends_on = None
def is_postgres():
return op.get_context().dialect.name == "postgresql"
def find_user_id_for_group(group_id: UUID):
bind = op.get_bind()
session = orm.Session(bind=bind)
if is_postgres():
stmt = "SELECT id FROM users WHERE group_id=:group_id AND admin = TRUE LIMIT 1"
else:
stmt = "SELECT id FROM users WHERE group_id=:group_id AND admin = 1 LIMIT 1"
with session:
try:
# try to find an admin user
user_id = session.execute(sa.text(stmt).bindparams(group_id=group_id)).scalar_one()
except orm.exc.NoResultFound:
# fallback to any user
user_id = session.execute(
sa.text("SELECT id FROM users WHERE group_id=:group_id LIMIT 1").bindparams(group_id=group_id)
).scalar_one()
return user_id
def populate_shopping_list_users():
bind = op.get_bind()
session = orm.Session(bind=bind)
with session:
list_ids_and_group_ids = session.execute(sa.text("SELECT id, group_id FROM shopping_lists")).all()
for list_id, group_id in list_ids_and_group_ids:
user_id = find_user_id_for_group(group_id)
session.execute(
sa.text(f"UPDATE shopping_lists SET user_id=:user_id WHERE id=:id").bindparams(
user_id=user_id, id=list_id
)
)
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
with op.batch_alter_table("shopping_lists") as batch_op:
# allow nulls during migration
batch_op.add_column(sa.Column("user_id", mealie.db.migration_types.GUID(), nullable=True))
batch_op.create_index(op.f("ix_shopping_lists_user_id"), ["user_id"], unique=False)
batch_op.create_foreign_key("fk_user_shopping_lists", "users", ["user_id"], ["id"])
# ### end Alembic commands ###
populate_shopping_list_users()
# forbid nulls after migration
with op.batch_alter_table("shopping_lists") as batch_op:
batch_op.alter_column("user_id", nullable=False)
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_constraint(None, "shopping_lists", type_="foreignkey")
op.drop_index(op.f("ix_shopping_lists_user_id"), table_name="shopping_lists")
op.drop_column("shopping_lists", "user_id")
# ### end Alembic commands ###

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 230 90" width="2500" height="978"><path d="M93.8 27.8l5.8-1.4v28c0 3.1.9 4.9 2.7 5.5-.9 1.7-2.4 2.6-4.6 2.6-2.6 0-4-1.8-4-5.5V27.8zM108.4 62V41.8h-3.2V37h9.1v25h-5.9zm3-34.6c.9 0 1.7.3 2.4 1s1 1.5 1 2.4c0 .9-.3 1.7-1 2.4s-1.5 1-2.4 1c-.9 0-1.7-.3-2.4-1s-1-1.5-1-2.4c0-.9.3-1.7 1-2.4s1.5-1 2.4-1zM137.1 62V47.6c0-2.1-.4-3.7-1.2-4.6-.8-1-2.1-1.5-4-1.5-.9 0-1.8.2-2.7.7-1 .5-1.7 1.1-2.3 1.8v18h-5.8V37.1h4.2l1.1 2.3c1.6-1.9 3.9-2.8 7-2.8 3 0 5.3.9 7 2.7 1.7 1.8 2.6 4.3 2.6 7.4V62h-5.9zM147.5 49.5c0-3.8 1.1-6.9 3.3-9.3 2.2-2.4 5.1-3.6 8.7-3.6 3.8 0 6.7 1.1 8.8 3.4 2.1 2.3 3.1 5.4 3.1 9.4s-1.1 7.1-3.2 9.5c-2.1 2.3-5 3.5-8.8 3.5-3.8 0-6.7-1.2-8.8-3.5-2-2.4-3.1-5.5-3.1-9.4zm6.1 0c0 5.5 2 8.2 5.9 8.2 1.8 0 3.2-.7 4.3-2.1 1.1-1.4 1.6-3.5 1.6-6.1 0-5.4-2-8.1-5.9-8.1-1.8 0-3.3.7-4.3 2.1-1.1 1.4-1.6 3.4-1.6 6zM192.1 62v-1.5c-.5.5-1.3 1-2.4 1.4-1.1.4-2.3.6-3.6.6-3.5 0-6.2-1.1-8.2-3.3-2-2.2-3-5.3-3-9.2 0-3.9 1.1-7.1 3.4-9.6s5.1-3.7 8.6-3.7c1.9 0 3.6.4 5.2 1.2v-10l5.8-1.4V62h-5.8zm0-19c-1.2-1-2.5-1.5-3.9-1.5-2.3 0-4.1.7-5.4 2.1-1.3 1.4-1.9 3.5-1.9 6.1 0 5.2 2.5 7.8 7.5 7.8.6 0 1.2-.2 2.1-.5.8-.3 1.3-.7 1.6-1V43zM226 51.3h-17.8c.1 2 .8 3.5 2 4.6 1.3 1.1 2.9 1.7 5.1 1.7 2.6 0 4.7-.7 6-2.1l2.3 4.4c-2 1.7-5.1 2.5-9.2 2.5-3.8 0-6.8-1.1-9-3.3-2.2-2.2-3.3-5.3-3.3-9.3 0-3.9 1.2-7.1 3.6-9.5 2.4-2.4 5.3-3.6 8.7-3.6 3.6 0 6.5 1.1 8.7 3.2 2.2 2.2 3.3 4.9 3.3 8.2.1.7-.1 1.7-.4 3.2zm-17.6-4.4h12.2c-.4-3.6-2.4-5.5-6-5.5-3.3.1-5.4 1.9-6.2 5.5z"/><g><path fill="#004712" d="M65.9 47.4l-1 11.5-3.3-2.3.4-5.8v-.1-.1l-.1-.1-.1-.1-7.1-4.7.1-5.1 11.1 6.8zM48.5 59.9L43.4 56v.9c0 .2-.1.4-.2.5L39.4 60l4.2 3.4.1.1v.2l.2 4 4.7 3.9-.1-11.7zm-32.1 5l2.4 11.5 9.9 10.5L27 75.3 16.4 64.9zm9.3 1.7l-2.4-16.1-12-10 3.2 15.6 11.2 10.5zm-3.8-26l-3.3-22.8L4.8 9.2l4.5 21.5 12.6 9.9z"/><path fill="#00B259" d="M75.7 41.2l-1.5 10.9-8.2 6.6 1-11.2 8.7-6.3zM49.6 59.9l.1 11.8 10.5-8.4.7-11.5-11.3 8.1zm-6.8 4.8L28 75.3l1.8 12.2 13.4-10.7-.4-12.1zm-.4-8l-.7-16-17.3 9.9 2.4 16.6 15.6-10.5zm-1.1-25.3l-.9-21.6-20.8 8L23 41l18.3-9.6z"/><path d="M76.9 40c0-.1 0-.1 0 0v-.2s0-.1-.1-.1c0 0-.1 0-.1-.1l-12-6.7c-.2-.1-.4-.1-.5 0L54 39.1h-.1v.6l-.1 5.4-4.1-2.7c-.2-.1-.4-.1-.6 0L43 45.8l-.3-6v-.1-.1-.1-.1-.1h-.1l-6.2-4.1 5.8-3c.2-.1.3-.3.3-.5L41.4 9v-.1s0-.1-.1-.1c0 0 0-.1-.1-.1L25.5 1.1c-.1-.1-.2-.1-.3-.1L3.9 7.6s-.1 0-.1.1c0 0-.1 0-.1.1v.6l4.7 22.9c0 .1.1.2.2.3l6.4 5-4.7 2.2s-.1 0-.1.1c0 0 0 .1-.1.1v.2l3.6 17.2c0 .1.1.2.2.3l4.5 4.2-3 1.8-.1.1s0 .1-.1.1V63.2L18 76.5c0 .1.1.2.1.3l10.9 12h.1s.1 0 .1.1h.5l14.4-11.5c.1-.1.2-.3.2-.4l-.3-7.9 4.8 4s.1 0 .1.1h.5L61 64c.1-.1.2-.2.2-.4l.4-5.8 3.5 2.4h.4s.1 0 .1-.1l9.4-7.5c.1-.1.2-.2.2-.3L76.9 40c0 .1 0 .1 0 0zM66 58.7l1-11.2 8.8-6.3-1.5 10.9-8.3 6.6zm-4.4-2.1l.4-5.8v-.1-.1l-.1-.1-.1-.1-7.1-4.7.1-5.1 11.1 6.9-1 11.5-3.3-2.4zm-1.5 6.7l-10.5 8.4-.1-11.8 11.3-8.1-.7 11.5zM43.3 76.8L29.8 87.5 28 75.3l14.7-10.5.6 12zm-24.6-.4l-2.4-11.5L27 75.3l1.7 11.6-10-10.5zm-.2-58.6l3.3 22.8-12.5-9.9L4.8 9.2l13.7 8.6zm21.9-8l.9 21.6L23 41l-3.4-23.2 20.8-8zm2 46.9L26.8 67.1l-2.4-16.6 17.3-9.9.7 16.1zm-19.1-6.1l2.4 16.1-11.2-10.6-3.2-15.6 12 10.1zm20.5 13.1v-.1-.1l-.1-.1-4.2-3.4 3.8-2.6c.2-.1.2-.3.2-.5V56l5.1 3.9.1 11.8-4.7-3.9-.2-4.1z"/></g></svg>

Before

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -5,8 +5,8 @@
## We Develop with Github
We use github to host code, to track issues and feature requests, as well as accept pull requests.
## We Use [Github Flow](https://guides.github.com/introduction/flow/index.html), So All Code Changes Happen Through Pull Requests
Pull requests are the best way to propose changes to the codebase (we use [Github Flow](https://guides.github.com/introduction/flow/index.html)). We actively welcome your pull requests:
## We Use [Github Flow](https://docs.github.com/en/get-started/using-github/github-flow), So All Code Changes Happen Through Pull Requests
Pull requests are the best way to propose changes to the codebase (we use [Github Flow](https://docs.github.com/en/get-started/using-github/github-flow)). We actively welcome your pull requests:
1. Fork the repo and create your branch from `mealie-next`.
2. Checkout the Discord, the PRs page, or the Projects page to get an idea of what's already being worked on.
@@ -28,8 +28,8 @@ We use GitHub issues to track public bugs. Report a bug by [opening a new issue]
- A quick summary and/or background
- Steps to reproduce
- Be specific!
- Give sample code if you can. [This stackoverflow question](http://stackoverflow.com/q/12488905/180626) includes sample code that *anyone* with a base R setup can run to reproduce what I was seeing
* Be specific!
* Give sample code if you can. [This stackoverflow question](http://stackoverflow.com/q/12488905/180626) includes sample code that *anyone* with a base R setup can run to reproduce what I was seeing
- What you expected would happen
- What actually happens
- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)
@@ -41,4 +41,4 @@ People *love* thorough bug reports. I'm not even kidding.
By contributing, you agree that your contributions will be licensed under its AGPL License.
## References
This document was adapted from the open-source contribution guidelines for [Facebook's Draft](https://github.com/facebook/draft-js/blob/a9316a723f9e918afde44dea68b5f9f39b7d9b00/CONTRIBUTING.md)
This document was adapted from the open-source contribution guidelines for [Facebook's Draft](https://github.com/facebookarchive/draft-js/blob/main/CONTRIBUTING.md)

View File

@@ -54,8 +54,8 @@ Changing the webworker settings may cause unforeseen memory leak issues with Mea
| ---------------- | :-----: | --------------------------------------------------------------------------------------------------------------------------------- |
| WEB_GUNICORN | false | Enables Gunicorn to manage Uvicorn web for multiple works |
| WORKERS_PER_CORE | 1 | Set the number of workers to the number of CPU cores multiplied by this value (Value \* CPUs). More info [here][workers_per_core] |
| MAX_WORKERS | 1 | Set the maximum number of workers to use. Default is not set meaning unlimited. More info [here][max_workers] |
| WEB_CONCURRENCY | 1 | Override the automatic definition of number of workers. More info [here][web_concurrency] |
| MAX_WORKERS | None | Set the maximum number of workers to use. Default is not set meaning unlimited. More info [here][max_workers] |
| WEB_CONCURRENCY | 2 | Override the automatic definition of number of workers. More info [here][web_concurrency] |
### LDAP
@@ -95,3 +95,8 @@ Setting the following environmental variables will change the theme of the front
| THEME_DARK_INFO | #1976D2 | Dark Theme Config Variable |
| THEME_DARK_WARNING | #FF6D00 | Dark Theme Config Variable |
| THEME_DARK_ERROR | #EF5350 | Dark Theme Config Variable |
[workers_per_core]: https://github.com/tiangolo/uvicorn-gunicorn-docker/blob/2daa3e3873c837d5781feb4ff6a40a89f791f81b/README.md#workers_per_core
[max_workers]: https://github.com/tiangolo/uvicorn-gunicorn-docker/blob/2daa3e3873c837d5781feb4ff6a40a89f791f81b/README.md#max_workers
[web_concurrency]: https://github.com/tiangolo/uvicorn-gunicorn-docker/blob/2daa3e3873c837d5781feb4ff6a40a89f791f81b/README.md#web_concurrency

View File

@@ -9,7 +9,7 @@ PostgreSQL might be considered if you need to support many concurrent users. In
version: "3.7"
services:
mealie:
image: ghcr.io/mealie-recipes/mealie:v1.0.0 # (3)
image: ghcr.io/mealie-recipes/mealie:v1.1.0 # (3)
container_name: mealie
ports:
- "9925:9000" # (1)
@@ -60,4 +60,4 @@ volumes:
1. To access the mealie interface you only need to expose port 9000 on the mealie container. Here we expose port 9925 on the host, but feel free to change this to any port you like.
2. Setting an explicit memory limit is recommended. Python can pre-allocate larger amounts of memory than is necessary if you have a machine with a lot of RAM. This can cause the container to idle at a high memory usage. Setting a memory limit will improve idle performance.
3. Whilst a 'latest' tag is available, the Mealie team advises specifying a specific version tag and consciously updating to newer versions when you have time to read the release notes and ensure you follow any manual actions required (which should be rare).
3. You should double check this value isn't out of date when setting up for the first time; check the README and use the value from the "latest release" badge at the top - the format should be `vX.Y.Z`. Whilst a 'latest' tag is available, the Mealie team advises specifying a specific version tag and consciously updating to newer versions when you have time to read the release notes and ensure you follow any manual actions required (which should be rare).

View File

@@ -13,7 +13,7 @@ SQLite is a popular, open source, self-contained, zero-configuration database th
version: "3.7"
services:
mealie:
image: ghcr.io/mealie-recipes/mealie:v1.0.0 # (3)
image: ghcr.io/mealie-recipes/mealie:v1.1.0 # (3)
container_name: mealie
ports:
- "9925:9000" # (1)
@@ -43,4 +43,4 @@ volumes:
1. To access the mealie interface you only need to expose port 9000 on the container. Here we expose port 9925 on the host, but feel free to change this to any port you like.
2. Setting an explicit memory limit is recommended. Python can pre-allocate larger amounts of memory than is necessary if you have a machine with a lot of RAM. This can cause the container to idle at a high memory usage. Setting a memory limit will improve idle performance.
3. Whilst a 'latest' tag is available, the Mealie team advises specifying a specific version tag and consciously updating to newer versions when you have time to read the release notes and ensure you follow any manual actions required (which should be rare).
3. You should double check this value isn't out of date when setting up for the first time; check the README and use the value from the "latest release" badge at the top - the format should be `vX.Y.Z`. Whilst a 'latest' tag is available, the Mealie team advises specifying a specific version tag and consciously updating to newer versions when you have time to read the release notes and ensure you follow any manual actions required (which should be rare).

File diff suppressed because one or more lines are too long

View File

@@ -51,8 +51,8 @@ extra_css:
- assets/stylesheets/custom.css
extra_javascript:
- assets/js/extra.js
repo_url: https://github.com/hay-kot/mealie/
repo_name: hay-kot/mealie
repo_url: https://github.com/mealie-recipes/mealie/
repo_name: mealie-recipes/mealie
edit_uri: edit/mealie-next/docs/docs/
nav:

View File

@@ -0,0 +1,55 @@
<template>
<div>
<v-card-text v-if="cookbook">
<v-text-field v-model="cookbook.name" :label="$t('cookbook.cookbook-name')"></v-text-field>
<v-textarea v-model="cookbook.description" auto-grow :rows="2" :label="$t('recipe.description')"></v-textarea>
<RecipeOrganizerSelector v-model="cookbook.categories" selector-type="categories" />
<RecipeOrganizerSelector v-model="cookbook.tags" selector-type="tags" />
<RecipeOrganizerSelector v-model="cookbook.tools" selector-type="tools" />
<v-switch v-model="cookbook.public" hide-details single-line>
<template #label>
{{ $t('cookbook.public-cookbook') }}
<HelpIcon small right class="ml-2">
{{ $t('cookbook.public-cookbook-description') }}
</HelpIcon>
</template>
</v-switch>
<div class="mt-4">
<h3 class="text-subtitle-1 d-flex align-center mb-0 pb-0">
{{ $t('cookbook.filter-options') }}
<HelpIcon right small class="ml-2">
{{ $t('cookbook.filter-options-description') }}
</HelpIcon>
</h3>
<v-switch v-model="cookbook.requireAllCategories" class="mt-0" hide-details single-line>
<template #label> {{ $t('cookbook.require-all-categories') }} </template>
</v-switch>
<v-switch v-model="cookbook.requireAllTags" hide-details single-line>
<template #label> {{ $t('cookbook.require-all-tags') }} </template>
</v-switch>
<v-switch v-model="cookbook.requireAllTools" hide-details single-line>
<template #label> {{ $t('cookbook.require-all-tools') }} </template>
</v-switch>
</div>
</v-card-text>
</div>
</template>
<script lang="ts">
import { defineComponent } from "@nuxtjs/composition-api";
import { ReadCookBook } from "~/lib/api/types/cookbook";
import RecipeOrganizerSelector from "~/components/Domain/Recipe/RecipeOrganizerSelector.vue";
export default defineComponent({
components: { RecipeOrganizerSelector },
props: {
cookbook: {
type: Object as () => ReadCookBook,
required: true,
},
actions: {
type: Object as () => any,
required: true,
},
},
});
</script>

View File

@@ -107,7 +107,7 @@ export default defineComponent({
})
async function getShoppingLists() {
const { data } = await api.shopping.lists.getAll();
const { data } = await api.shopping.lists.getAll(1, -1, { orderBy: "name", orderDirection: "asc" });
if (data) {
shoppingLists.value = data.items ?? [];
}

View File

@@ -321,7 +321,7 @@ export default defineComponent({
const recipeRefWithScale = computed(() => recipeRef.value ? { scale: props.recipeScale, ...recipeRef.value } : undefined);
async function getShoppingLists() {
const { data } = await api.shopping.lists.getAll();
const { data } = await api.shopping.lists.getAll(1, -1, { orderBy: "name", orderDirection: "asc" });
if (data) {
shoppingLists.value = data.items ?? [];
}

View File

@@ -3,7 +3,7 @@
<BaseDialog v-if="shoppingListDialog" v-model="dialog" :title="$t('recipe.add-to-list')" :icon="$globals.icons.cartCheck">
<v-card-text>
<v-card
v-for="list in shoppingLists"
v-for="list in shoppingListChoices"
:key="list.id"
hover
class="my-2 left-border"
@@ -14,6 +14,18 @@
</v-card-title>
</v-card>
</v-card-text>
<template #card-actions>
<v-btn
text
color="grey"
@click="dialog = false"
>
{{ $t("general.cancel") }}
</v-btn>
<div class="d-flex justify-end" style="width: 100%;">
<v-checkbox v-model="preferences.viewAllLists" hide-details :label="$tc('general.show-all')" class="my-auto mr-4" />
</div>
</template>
</BaseDialog>
<BaseDialog
v-if="shoppingListIngredientDialog"
@@ -120,6 +132,7 @@ import { toRefs } from "@vueuse/core";
import RecipeIngredientListItem from "./RecipeIngredientListItem.vue";
import { useUserApi } from "~/composables/api";
import { alert } from "~/composables/use-toast";
import { useShoppingListPreferences } from "~/composables/use-users/preferences";
import { ShoppingListSummary } from "~/lib/api/types/group";
import { Recipe, RecipeIngredient } from "~/lib/api/types/recipe";
@@ -164,8 +177,9 @@ export default defineComponent({
},
},
setup(props, context) {
const { i18n } = useContext();
const { $auth, i18n } = useContext();
const api = useUserApi();
const preferences = useShoppingListPreferences();
// v-model support
const dialog = computed({
@@ -183,6 +197,10 @@ export default defineComponent({
shoppingListIngredientDialog: false,
});
const shoppingListChoices = computed(() => {
return props.shoppingLists.filter((list) => preferences.value.viewAllLists || list.userId === $auth.user?.id);
});
const recipeIngredientSections = ref<ShoppingListRecipeIngredientSection[]>([]);
const selectedShoppingList = ref<ShoppingListSummary | null>(null);
@@ -334,6 +352,8 @@ export default defineComponent({
return {
dialog,
preferences,
shoppingListChoices,
...toRefs(state),
addRecipesToList,
bulkCheckIngredients,

View File

@@ -132,8 +132,7 @@ export default defineComponent({
const { $auth, i18n } = useContext();
const domMadeThisForm = ref<VForm>();
const newTimelineEvent = ref<RecipeTimelineEventIn>({
// @ts-expect-error - TS doesn't like the $auth global user attribute
subject: i18n.t("recipe.user-made-this", { user: $auth.user.fullName } as string),
subject: "",
eventType: "comment",
eventMessage: "",
timestamp: undefined,
@@ -178,6 +177,8 @@ export default defineComponent({
}
newTimelineEvent.value.recipeId = props.recipe.id
// @ts-expect-error - TS doesn't like the $auth global user attribute
newTimelineEvent.value.subject = i18n.t("recipe.user-made-this", { user: $auth.user.fullName })
// the user only selects the date, so we set the time to end of day local time
// we choose the end of day so it always comes after "new recipe" events

View File

@@ -19,11 +19,11 @@
</div>
</v-card-text>
<v-list v-if="showViewer" dense class="mt-0 pt-0">
<v-list-item v-for="(item, key, index) in labels" :key="index" style="min-height: 25px" dense>
<v-list-item v-for="(item, key, index) in renderedList" :key="index" style="min-height: 25px" dense>
<v-list-item-content>
<v-list-item-title class="pl-4 caption flex row">
<div>{{ item.label }}</div>
<div class="ml-auto mr-1">{{ value[key] }}</div>
<div class="ml-auto mr-1">{{ item.value }}</div>
<div>{{ item.suffix }}</div>
</v-list-item-title>
</v-list-item-content>
@@ -37,6 +37,14 @@
import { computed, defineComponent, useContext } from "@nuxtjs/composition-api";
import { Nutrition } from "~/lib/api/types/recipe";
type NutritionLabelType = {
[key: string]: {
label: string;
suffix: string;
value?: string;
};
};
export default defineComponent({
props: {
value: {
@@ -50,34 +58,34 @@ export default defineComponent({
},
setup(props, context) {
const { i18n } = useContext();
const labels = {
const labels = <NutritionLabelType>{
calories: {
label: i18n.t("recipe.calories"),
suffix: i18n.t("recipe.calories-suffix"),
label: i18n.tc("recipe.calories"),
suffix: i18n.tc("recipe.calories-suffix"),
},
fatContent: {
label: i18n.t("recipe.fat-content"),
suffix: i18n.t("recipe.grams"),
label: i18n.tc("recipe.fat-content"),
suffix: i18n.tc("recipe.grams"),
},
fiberContent: {
label: i18n.t("recipe.fiber-content"),
suffix: i18n.t("recipe.grams"),
label: i18n.tc("recipe.fiber-content"),
suffix: i18n.tc("recipe.grams"),
},
proteinContent: {
label: i18n.t("recipe.protein-content"),
suffix: i18n.t("recipe.grams"),
label: i18n.tc("recipe.protein-content"),
suffix: i18n.tc("recipe.grams"),
},
sodiumContent: {
label: i18n.t("recipe.sodium-content"),
suffix: i18n.t("recipe.milligrams"),
label: i18n.tc("recipe.sodium-content"),
suffix: i18n.tc("recipe.milligrams"),
},
sugarContent: {
label: i18n.t("recipe.sugar-content"),
suffix: i18n.t("recipe.grams"),
label: i18n.tc("recipe.sugar-content"),
suffix: i18n.tc("recipe.grams"),
},
carbohydrateContent: {
label: i18n.t("recipe.carbohydrate-content"),
suffix: i18n.t("recipe.grams"),
label: i18n.tc("recipe.carbohydrate-content"),
suffix: i18n.tc("recipe.grams"),
},
};
const valueNotNull = computed(() => {
@@ -96,11 +104,25 @@ export default defineComponent({
context.emit("input", { ...props.value, [key]: event });
}
// Build a new list that only contains nutritional information that has a value
const renderedList = computed(() => {
return Object.entries(labels).reduce((item: NutritionLabelType, [key, label]) => {
if (props.value[key]?.trim()) {
item[key] = {
...label,
value: props.value[key],
};
}
return item;
}, {});
});
return {
labels,
valueNotNull,
showViewer,
updateValue,
renderedList,
};
},
});

View File

@@ -18,7 +18,7 @@
<BaseDialog v-if="updateTarget" v-model="dialogs.update" :title="$t('general.update')" @confirm="updateOne()">
<v-card-text>
<v-text-field v-model="updateTarget.name" label="$t('general.name')"> </v-text-field>
<v-text-field v-model="updateTarget.name" :label="$t('general.name')"> </v-text-field>
<v-checkbox v-if="itemType === Organizer.Tool" v-model="updateTarget.onHand" :label="$t('tool.on-hand')"></v-checkbox>
</v-card-text>
</BaseDialog>

View File

@@ -112,6 +112,7 @@ import { useUserApi } from "~/composables/api";
import { uuid4, deepCopy } from "~/composables/use-utils";
import RecipeDialogBulkAdd from "~/components/Domain/Recipe/RecipeDialogBulkAdd.vue";
import RecipeNotes from "~/components/Domain/Recipe/RecipeNotes.vue";
import { useNavigationWarning } from "~/composables/use-navigation-warning";
const EDITOR_OPTIONS = {
mode: "code",
@@ -151,6 +152,7 @@ export default defineComponent({
const api = useUserApi();
const { pageMode, editMode, setMode, isEditForm, isEditJSON, isCookMode, isEditMode, toggleCookMode } =
usePageState(props.recipe.slug);
const { deactivateNavigationWarning } = useNavigationWarning();
/** =============================================================
* Recipe Snapshot on Mount
@@ -175,6 +177,7 @@ export default defineComponent({
await api.recipes.updateOne(props.recipe.slug, props.recipe);
}
}
deactivateNavigationWarning();
});
/** =============================================================

View File

@@ -148,10 +148,6 @@
text: $tc('recipe.link-ingredients'),
event: 'link-ingredients',
},
{
text: $tc('recipe.merge-above'),
event: 'merge-above',
},
{
text: $tc('recipe.upload-image'),
event: 'upload-image'
@@ -160,11 +156,26 @@
icon: previewStates[index] ? $globals.icons.edit : $globals.icons.eye,
text: previewStates[index] ? $tc('recipe.edit-markdown') : $tc('markdown-editor.preview-markdown-button-label'),
event: 'preview-step',
divider: true,
},
{
text: $tc('recipe.merge-above'),
event: 'merge-above',
},
{
text: $tc('recipe.move-to-top'),
event: 'move-to-top',
},
{
text: $tc('recipe.move-to-bottom'),
event: 'move-to-bottom',
},
],
},
]"
@merge-above="mergeAbove(index - 1, index)"
@move-to-top="moveTo('top', index)"
@move-to-bottom="moveTo('bottom', index)"
@toggle-section="toggleShowTitle(step.id)"
@link-ingredients="openDialog(index, step.text, step.ingredientReferences)"
@preview-step="togglePreviewState(index)"
@@ -531,6 +542,14 @@ export default defineComponent({
}
}
function moveTo(dest: string, source: number) {
if (dest === "top") {
props.value.unshift(props.value.splice(source, 1)[0]);
} else {
props.value.push(props.value.splice(source, 1)[0]);
}
}
const previewStates = ref<boolean[]>([]);
function togglePreviewState(index: number) {
@@ -646,6 +665,7 @@ export default defineComponent({
getIngredientByRefId,
showTitleEditor,
mergeAbove,
moveTo,
openDialog,
setIngredientIds,
availableNextStep,

View File

@@ -25,6 +25,7 @@
:label="$t('shopping-list.note')"
rows="1"
auto-grow
@keypress="handleNoteKeyPress"
></v-textarea>
</div>
<div class="d-flex align-end" style="gap: 20px">
@@ -95,7 +96,7 @@
</template>
<script lang="ts">
import { defineComponent, computed } from "@nuxtjs/composition-api";
import { defineComponent, computed, watch } from "@nuxtjs/composition-api";
import { ShoppingListItemCreate, ShoppingListItemOut } from "~/lib/api/types/group";
import { MultiPurposeLabelOut } from "~/lib/api/types/labels";
import { IngredientFood, IngredientUnit } from "~/lib/api/types/recipe";
@@ -128,9 +129,28 @@ export default defineComponent({
context.emit("input", val);
},
});
watch(
() => props.value.food,
(newFood) => {
// @ts-ignore our logic already assumes there's a label attribute, even if TS doesn't think there is
listItem.value.label = newFood?.label || null;
listItem.value.labelId = listItem.value.label?.id || null;
}
);
return {
listItem,
};
},
methods: {
handleNoteKeyPress(event) {
// Save on Enter
if (!event.shiftKey && event.key === "Enter") {
event.preventDefault();
this.$emit("save");
}
},
}
});
</script>

View File

@@ -10,9 +10,12 @@
</v-btn>
</template>
<v-list dense>
<v-list-item v-for="(child, idx) in btn.children" :key="idx" dense @click="$emit(child.event)">
<v-list-item-title>{{ child.text }}</v-list-item-title>
</v-list-item>
<template v-for="(child, idx) in btn.children">
<v-list-item :key="idx" dense @click="$emit(child.event)">
<v-list-item-title>{{ child.text }}</v-list-item-title>
</v-list-item>
<v-divider v-if="child.divider" :key="`divider-${idx}`" class="my-1"></v-divider>
</template>
</v-list>
</v-menu>
<v-tooltip
@@ -55,6 +58,7 @@ export interface ButtonOption {
event: string;
children?: ButtonOption[];
disabled?: boolean;
divider?: boolean;
}
export default defineComponent({

View File

@@ -12,6 +12,8 @@
$emit('submit');
dialog = false;
"
@click:outside="$emit('cancel')"
@keydown.esc="$emit('cancel')"
>
<v-card height="100%">
<v-app-bar dark dense :color="color" class="">

View File

@@ -57,12 +57,12 @@
:buttons="[
{
icon: $globals.icons.edit,
text: $t('general.edit'),
text: $tc('general.edit'),
event: 'edit',
},
{
icon: $globals.icons.delete,
text: $t('general.delete'),
text: $tc('general.delete'),
event: 'delete',
},
]"
@@ -160,6 +160,8 @@ export default defineComponent({
props.bulkActions.forEach((action) => {
handlers[action.event] = () => {
context.emit(action.event, selected.value);
// clear selection
selected.value = [];
};
});

View File

@@ -1,5 +1,6 @@
import { computed, ComputedRef, ref, Ref, useContext } from "@nuxtjs/composition-api";
import { UserOut } from "~/lib/api/types/user";
import { useNavigationWarning } from "~/composables/use-navigation-warning";
export enum PageMode {
EDIT = "EDIT",
@@ -65,6 +66,8 @@ function pageRefs(slug: string) {
}
function pageState({ slugRef, pageModeRef, editModeRef, imageKey }: PageRefs): PageState {
const { activateNavigationWarning, deactivateNavigationWarning } = useNavigationWarning();
const toggleEditMode = () => {
if (editModeRef.value === EditorMode.FORM) {
editModeRef.value = EditorMode.JSON;
@@ -88,8 +91,13 @@ function pageState({ slugRef, pageModeRef, editModeRef, imageKey }: PageRefs): P
const setMode = (toMode: PageMode) => {
const fromMode = pageModeRef.value;
if (fromMode === PageMode.EDIT && toMode === PageMode.VIEW) {
setEditMode(EditorMode.FORM);
if (fromMode === PageMode.EDIT) {
if (toMode === PageMode.VIEW) {
setEditMode(EditorMode.FORM);
}
deactivateNavigationWarning();
} else if (toMode === PageMode.EDIT) {
activateNavigationWarning();
}
pageModeRef.value = toMode;

View File

@@ -4,7 +4,7 @@ import { usePublicExploreApi } from "../api/api-client";
import { useUserApi } from "~/composables/api";
import { IngredientFood } from "~/lib/api/types/recipe";
let foodStore: Ref<IngredientFood[] | null> | null = null;
let foodStore: Ref<IngredientFood[] | null> = ref([]);
/**
* useFoodData returns a template reactive object
@@ -39,11 +39,11 @@ export const usePublicFoodStore = function (groupSlug: string) {
const actions = {
...usePublicStoreActions(api.foods, foodStore, loading),
flushStore() {
foodStore = null;
foodStore = ref([]);
},
};
if (!foodStore) {
if (!foodStore.value || foodStore.value.length === 0) {
foodStore = actions.getAll();
}
@@ -57,11 +57,11 @@ export const useFoodStore = function () {
const actions = {
...useStoreActions(api.foods, foodStore, loading),
flushStore() {
foodStore = null;
foodStore.value = [];
},
};
if (!foodStore) {
if (!foodStore.value || foodStore.value.length === 0) {
foodStore = actions.getAll();
}

View File

@@ -3,7 +3,7 @@ import { useStoreActions } from "../partials/use-actions-factory";
import { MultiPurposeLabelOut } from "~/lib/api/types/labels";
import { useUserApi } from "~/composables/api";
let labelStore: Ref<MultiPurposeLabelOut[] | null> | null = null;
let labelStore: Ref<MultiPurposeLabelOut[] | null> = ref([]);
export function useLabelData() {
const data = reactive({
@@ -33,11 +33,11 @@ export function useLabelStore() {
const actions = {
...useStoreActions<MultiPurposeLabelOut>(api.multiPurposeLabels, labelStore, loading),
flushStore() {
labelStore = null;
labelStore.value = [];
},
};
if (!labelStore) {
if (!labelStore.value || labelStore.value?.length === 0) {
labelStore = actions.getAll();
}

View File

@@ -3,7 +3,7 @@ import { useStoreActions } from "../partials/use-actions-factory";
import { useUserApi } from "~/composables/api";
import { IngredientUnit } from "~/lib/api/types/recipe";
let unitStore: Ref<IngredientUnit[] | null> | null = null;
let unitStore: Ref<IngredientUnit[] | null> = ref([]);
/**
* useUnitData returns a template reactive object
@@ -40,11 +40,11 @@ export const useUnitStore = function () {
const actions = {
...useStoreActions<IngredientUnit>(api.units, unitStore, loading),
flushStore() {
unitStore = null;
unitStore.value = [];
},
};
if (!unitStore) {
if (!unitStore.value || unitStore.value.length === 0) {
unitStore = actions.getAll();
}

View File

@@ -109,6 +109,7 @@ export const useCookbooks = function () {
}
loading.value = false;
return data;
},
async updateOne(updateData: UpdateCookBook) {
if (!updateData.id) {

View File

@@ -0,0 +1,20 @@
export function useNavigationWarning() {
return { activateNavigationWarning, deactivateNavigationWarning };
}
/**
* Displays a warning before the user navigates to another page
* e.g., by clicking a link (which isn't internal and rendered without page load),
* reloading the page,
* or closing the tab.
*/
const activateNavigationWarning = () => {
window.onbeforeunload = () => true;
}
/**
* Disables the warning when navigating to a page
*/
const deactivateNavigationWarning = () => {
window.onbeforeunload = null;
}

View File

@@ -22,6 +22,7 @@ export interface UserRecipePreferences {
}
export interface UserShoppingListPreferences {
viewAllLists: boolean;
viewByLabel: boolean;
}
@@ -70,6 +71,7 @@ export function useShoppingListPreferences(): Ref<UserShoppingListPreferences> {
const fromStorage = useLocalStorage(
"shopping-list-preferences",
{
viewAllLists: false,
viewByLabel: false,
},
{ mergeDefaults: true }

View File

@@ -142,6 +142,7 @@
"save": "Stoor",
"settings": "Verstellings",
"share": "Deel",
"show-all": "Show All",
"shuffle": "Skommel",
"sort": "Sorteer",
"sort-alphabetically": "Alfabeties",
@@ -199,7 +200,8 @@
"upload-file": "Laai dokument op",
"created-on-date": "Geskep op: {0}",
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"clipboard-copy-failure": "Failed to copy to the clipboard.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Is jy seker jy wil <b>{groupName}<b/> uitvee?",
@@ -493,6 +495,8 @@
"cook-mode": "Kook modus",
"link-ingredients": "Koppel bestanddele",
"merge-above": "Voeg bogenoemde saam",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Stel skaal terug",
"decrease-scale-label": "Verminder die skaal met 1",
"increase-scale-label": "Verhoog skaal met 1",
@@ -598,7 +602,7 @@
"import-summary": "Invoeropsomming",
"partial-backup": "Gedeeltelike back-up",
"unable-to-delete-backup": "Kon nie back-up verwyder nie.",
"experimental-description": "Back-up skep 'n momentopname van die werf se databasis en data directory. Dit sluit alle data in en kan nie gestel word om substelle data uit te sluit nie. Jy kan dit as 'n momentopname van Mealie neem. Dit dien as 'n agnostiese manier om data uit te voer en in te voer, of om die webwerf na 'n eksterne ligging te back-up.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Herlaai vanaf back-up",
"back-restore-description": "Die herstel van hierdie back-up sal alle huidige data in jou databasis en in die data-lêergids oorskryf. {cannot-be-undone} As die herstel suksesvol was, sal jy afgemeld word.",
"cannot-be-undone": "Hierdie aksie kan nie ongedaan gemaak word nie - gebruik met omsigtigheid.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Vereis alle merkers",
"require-all-tools": "Vereis alle kookgerei",
"cookbook-name": "Naam van die kookboek",
"cookbook-with-name": "Kookboek {0}"
"cookbook-with-name": "Kookboek {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -142,6 +142,7 @@
"save": "حفظ",
"settings": "الإعدادات",
"share": "مشاركة",
"show-all": "Show All",
"shuffle": "ترتيب عشوائي",
"sort": "ترتيب",
"sort-alphabetically": "ترتيب حَسَبَ الحروف الأبجدية",
@@ -199,7 +200,8 @@
"upload-file": "تحميل الملف",
"created-on-date": "تم الإنشاء في {0}",
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"clipboard-copy-failure": "Failed to copy to the clipboard.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "هل انت متأكد من رغبتك في حذف <b>{groupName}<b/>؟",
@@ -493,6 +495,8 @@
"cook-mode": "Cook Mode",
"link-ingredients": "Link Ingredients",
"merge-above": "Merge Above",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Reset Scale",
"decrease-scale-label": "Decrease Scale by 1",
"increase-scale-label": "Increase Scale by 1",
@@ -598,7 +602,7 @@
"import-summary": "Import Summary",
"partial-backup": "Partial Backup",
"unable-to-delete-backup": "Unable to Delete Backup.",
"experimental-description": "Backups a total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think off this as a snapshot of Mealie at a specific time. Currently, {not-crossed-version} (data migrations are not done automatically). These serve as a database agnostic way to export and import data or backup the site to an external location.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Backup Restore",
"back-restore-description": "Restoring this backup will overwrite all the current data in your database and in the data directory and replace them with the contents of this backup. {cannot-be-undone} If the restoration is successful, you will be logged out.",
"cannot-be-undone": "This action cannot be undone - use with caution.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Require All Tags",
"require-all-tools": "Require All Tools",
"cookbook-name": "Cookbook Name",
"cookbook-with-name": "Cookbook {0}"
"cookbook-with-name": "Cookbook {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -37,9 +37,9 @@
},
"category": {
"categories": "Категории",
"category-created": "Категория създадена",
"category-created": "Категорията бе създадена",
"category-creation-failed": "Неуспешно създаване на категория",
"category-deleted": "Категория изтрита",
"category-deleted": "Категорията бе изтрита",
"category-deletion-failed": "Неуспешно изтриване на категория",
"category-filter": "Филтър за категории",
"category-update-failed": "Неуспешно актуализиране на категория",
@@ -73,8 +73,8 @@
"mealplan-events": "Известия за хранителен план",
"when-a-user-in-your-group-creates-a-new-mealplan": "Когато потребител от твоята потребителска група създаде нов хранителен план",
"shopping-list-events": "Събития за списък за пазаруване",
"cookbook-events": "Събития за книга с рецепти",
"tag-events": "Събития за таг",
"cookbook-events": "История на книгата с рецепти",
"tag-events": "История на етикетите",
"category-events": "Събития за категория",
"when-a-new-user-joins-your-group": "Когато потребител се присъедини към твоята потребителска група",
"recipe-events": "Събития на рецептата"
@@ -86,7 +86,7 @@
"confirm": "Потвърди",
"confirm-delete-generic": "Сигурни ли сте, че желаете да изтриете това?",
"copied_message": "Копирано!",
"create": "Създай",
"create": "Добави",
"created": "Създадено",
"custom": "Персонализиран",
"dashboard": "Табло",
@@ -123,7 +123,7 @@
"monday": "Понеделник",
"name": "Име",
"new": "Нов",
"never": "Никога",
"never": "никога",
"no": "Не",
"no-recipe-found": "Няма намерени рецепти",
"ok": "Добре",
@@ -142,10 +142,11 @@
"save": "Запази",
"settings": "Настройки",
"share": "Сподели",
"show-all": "Show All",
"shuffle": "Разбъркано",
"sort": "Сортирай",
"sort-alphabetically": "По азбучен ред",
"status": "Статус",
"status": "състояние",
"subject": "Относно",
"submit": "Изпрати",
"success-count": "Успешни: {count}",
@@ -153,7 +154,7 @@
"templates": "Шаблони:",
"test": "Тест",
"themes": "Теми",
"thursday": "Четвъртък",
"thursday": "четвъртък",
"token": "Токън",
"tuesday": "Вторник",
"type": "Тип",
@@ -164,7 +165,7 @@
"view": "Преглед",
"wednesday": "Сряда",
"yes": "Да",
"foods": "Храна",
"foods": "Продукти",
"units": "Мерни единици",
"back": "Назад",
"next": "Напред",
@@ -180,12 +181,12 @@
"delete-with-name": "Изтриване {name}",
"confirm-delete-generic-with-name": "Сигурни ли сте, че искате да изтриете това {name}?",
"confirm-delete-own-admin-account": "Моля имайте предвид, че се опитвате да изтриете собствения си администраторски акаунт! Това действие не може да бъде отменени и ще изтриете окончателно Вашия акаунт?",
"organizer": "Организиращ",
"organizer": "Органайзер",
"transfer": "Преместване",
"copy": "Копиране",
"color": "Цвят",
"timestamp": "Времева отметка",
"last-made": "Последно приготвено",
"last-made": "Последно приготвена на",
"learn-more": "Научи повече",
"this-feature-is-currently-inactive": "Тази функционалност в момента е неактивна",
"clipboard-not-supported": "Не се поддържа клипборд",
@@ -195,11 +196,12 @@
"actions": "Действия",
"selected-count": "Избрано: {count}",
"export-all": "Експортиране на всички",
"refresh": "Опресни",
"refresh": "Опресняване",
"upload-file": "Качване на файл",
"created-on-date": "Създадено на {0}",
"unsaved-changes": "Имате незапазени промени. Желаете ли да ги запазите преди да излезете? Натиснете Ок за запазване и Отказ за отхвърляне на промените.",
"clipboard-copy-failure": "Линкът към рецептата е копиран в клипборда."
"clipboard-copy-failure": "Линкът към рецептата е копиран в клипборда.",
"confirm-delete-generic-items": "Сигурни ли сте, че желаете да изтриете следните елементи?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Сигурни ли сте, че искате да изтриете <b>{groupName}<b/>?",
@@ -226,7 +228,7 @@
"keep-my-recipes-private-description": "Задай групата и всичките рецепти като лични. Винаги може да промените това по-късно."
},
"manage-members": "Управление на потребителите",
"manage-members-description": "Управлявай правата на потребителите в твоите групи. {manage} позволява на потребителя да достъпи страницата за управление на данни {invite} позволява на потребителя да генерира линк за присъединяване за други потребители. Собствениците на група не могат да променят своите права.",
"manage-members-description": "Настройки на правата на потребителите в твоите групи. {manage} позволява на потребителя да достъпи страницата за управление на данни {invite} позволява на потребителя да генерира линк за присъединяване за други потребители. Собствениците на група не могат да променят своите права.",
"manage": "Управление",
"invite": "Покани",
"looking-to-update-your-profile": "Търсите да обновите собствения си профил?",
@@ -237,7 +239,7 @@
"private-group-description": "Задаването на групата като лична ще зададе всички настройки за публично виждане към стандартните. Това е с по-висок приоритет от индивидуалните настройки за публично виждане на всяка една рецепта.",
"allow-users-outside-of-your-group-to-see-your-recipes": "Разрешете на потребители извън вашата група да виждат рецептите Ви",
"allow-users-outside-of-your-group-to-see-your-recipes-description": "Когато е пуснато ще може да генерирате публичен линк за споделяне на рецепти без да е нужно потребителя да се нуждае от вписване. Когато е изключено, ще можете да споделяте рецепти само с потребители, които са във Вашата група или чрез предварително генериран личен линк за споделяне.",
"show-nutrition-information": "Показвай информация за храната",
"show-nutrition-information": "Показвай информация за хранителните стойности",
"show-nutrition-information-description": "Когато е пуснато, информацията за хранителната стойност на рецептата ще бъде показана, ако е налична. Ако няма информация за хранителната стойност, тогава тя няма да бъде показана.",
"show-recipe-assets": "Покажи медия файловете на рецептата",
"show-recipe-assets-description": "Когато е пуснато, медия файловете ще бъдат показани към рецептата, ако са налични.",
@@ -245,8 +247,8 @@
"default-to-landscape-view-description": "Когато е пуснато, раздела за главната информация на рецептата ще бъде показан в пейзажен режим",
"disable-users-from-commenting-on-recipes": "Забрани коментирането на рецепти от потребителите",
"disable-users-from-commenting-on-recipes-description": "Скрива раздела за коментари към рецептата и забранява коментирането",
"disable-organizing-recipe-ingredients-by-units-and-food": "Изключи организирането на съставките на рецепта по мерни единици и храна",
"disable-organizing-recipe-ingredients-by-units-and-food-description": "Скрива полетата за храната, мерната единица и количеството за съставките и третира съставките като полета със свободен текст.",
"disable-organizing-recipe-ingredients-by-units-and-food": "Изключи организирането на съставките по мерни единици и продукти",
"disable-organizing-recipe-ingredients-by-units-and-food-description": "Скрива полетата за продукт, мерна единица и количество и третира съставките като полета със свободен текст.",
"general-preferences": "Общи предпочитания",
"group-recipe-preferences": "Предпочитания за рецепта по група",
"report": "Сигнал",
@@ -258,41 +260,41 @@
},
"meal-plan": {
"create-a-new-meal-plan": "Създаване на нов хранителен план",
"update-this-meal-plan": "Update this Meal Plan",
"update-this-meal-plan": "Обнови този План за хранене",
"dinner-this-week": "Вечеря тази седмица",
"dinner-today": "Вечеря Днес",
"dinner-tonight": "Вечеря ТАЗИ ВЕЧЕР",
"edit-meal-plan": "Редактиране на хранителен план",
"edit-meal-plan": "Редактиране на планираното меню",
"end-date": "Крайна дата",
"group": "Група (Бета версия)",
"main": "Основен",
"meal-planner": "Планиране на хранене",
"meal-plans": "Хранителни планове",
"mealplan-categories": "Категории на хранителния план",
"mealplan-created": "Планът за хранене е създаден",
"mealplan-creation-failed": "Неуспешно създаване на план за хранене",
"mealplan-deleted": "Планът за хранене е изтрит",
"mealplan-deletion-failed": "Неуспешно изтриване на план за хранене",
"mealplan-settings": "Настройки на плана за хранене",
"mealplan-update-failed": "Неуспешно обновяване на план за хранене",
"mealplan-updated": "Планът за хранене е обновен",
"no-meal-plan-defined-yet": "Все още няма дефинирани планове за хранене",
"no-meal-planned-for-today": "Няма хранителен план за днес",
"meal-planner": "Планиране на менюта",
"meal-plans": "Планирани менюта",
"mealplan-categories": "Категории на менюто",
"mealplan-created": "Менюто бе създадено",
"mealplan-creation-failed": "Неуспешно създаване на меню",
"mealplan-deleted": "Менюто бе изтрито",
"mealplan-deletion-failed": "Неуспешно изтриване на меню",
"mealplan-settings": "Настройки на менюто",
"mealplan-update-failed": "Неуспешно обновяване на седмичното меню",
"mealplan-updated": "Седмичното меню бе обновено",
"no-meal-plan-defined-yet": "Все още няма създадено седмично меню",
"no-meal-planned-for-today": "За днес няма планирано меню",
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Само рецептите от тези категории ще бъдат използвани в хранителните планове",
"planner": "Планьор",
"quick-week": "Бърза седмица",
"side": "Страна",
"side": "Предястие",
"sides": "Страни",
"start-date": "Начална дата",
"rule-day": "Правило за деня",
"meal-type": "Тип на ястието",
"rule-day": "Ден от седмицата",
"meal-type": "Вид ястие",
"breakfast": "Закуска",
"lunch": "Обяд",
"lunch": "обяд",
"dinner": "Вечеря",
"type-any": "Който и да е",
"day-any": "Който и да е",
"type-any": "Всички",
"day-any": "Всички",
"editor": "Редактор",
"meal-recipe": "Рецепта за хранене",
"meal-recipe": "Рецепта за ястие",
"meal-title": "Заглавие на рецептата",
"meal-note": "Бележка към рецептата",
"note-only": "Само бележка",
@@ -302,15 +304,15 @@
"this-rule-will-apply": "Това правило ще се приложи на {dayCriteria} {mealTypeCriteria}.",
"to-all-days": "за всички дни",
"on-days": "на {0}",
"for-all-meal-types": "за всички типове ястия",
"for-type-meal-types": "за {0} типове ястия",
"meal-plan-rules": "Правила на плана за хранене",
"for-all-meal-types": "за всички видове ястия",
"for-type-meal-types": "за {0}",
"meal-plan-rules": "Правила за съставяне на седмично меню",
"new-rule": "Ново правило",
"meal-plan-rules-description": "Може да създадете правила за автоматично избиране на рецепти от хранителните планове. Тези правила ще бъдат използвани за попълване на списъка от произволното избрани рецепти, от които да избирате, когато създавате нов хранителен план. Бележка: ако тези правила имат еднакви ограничения по ден/тип, тогава техните категории ще бъдат обединени. На практика, е ненужно да създавате дублирани правила, но все пак това е възможно.",
"new-rule-description": "Когато създавате ново правило за хранителен план, Вие ще може да зададете ограничение за правилото да бъде приложено за определен ден от седмицата и/или специфичен тип ястие. За да добавите правило за всички дни или всички типове ястия, Вие може да зададете правилото като \"Всички\", което ще го приложи за всички дни и/или типове ястия.",
"meal-plan-rules-description": "Може да създадете правила за автоматично избиране на рецепти в седмичното меню. Тези правила ще бъдат използвани за създаване на седмично маню от произволното избрани рецепти. Бележка: ако тези правила имат еднакви ограничения по ден/тип, тогава техните категории ще бъдат обединени. На практика, не е нужно да създавате дублиращи се правила, но все пак това е възможно.",
"new-rule-description": "Когато създавате ново правило за създаване на седмично меню, може да зададете ограничение правилото да бъде приложено за определен ден от седмицата и/или специфичен вид ястие. За да добавите правило за всички дни или всички типове ястия, Вие може да изберете \"Всички\", което ще го приложи за всички дни и/или видове ястия.",
"recipe-rules": "Правила на рецептата",
"applies-to-all-days": "Прилага се за всички дни",
"applies-on-days": "Прилага се на {0}",
"applies-on-days": "Всеки/всяка {0}",
"meal-plan-settings": "Настройки на плана за хранене"
},
"migration": {
@@ -349,7 +351,7 @@
"recipe-data-migrations": "Миграция на данни на рецепти",
"recipe-data-migrations-explanation": "Рецептите могат да бъдат мигрирани от други приложения поддържани от Mealie. Това е добър начин да започнете използването си на Mealie.",
"choose-migration-type": "Избери тип на миграцията",
"tag-all-recipes": "Отбележи всички рецепти с {tag-name} таг",
"tag-all-recipes": "Добави {tag-name} като етикет във всички рецепти",
"nextcloud-text": "Nextcloud рецептите могат да бъдат импортирани от .zip файл, който съдържа данни съхранени в Nextcloud. Вижте примерната структура на папките по-долу за да се подсигурите, че рецептите Ви могат да бъдат импортирани.",
"chowdown-text": "Mealie поддържа формата на хранилището на Chowdown. Свалете кода на хранилището като .zip файл и го качете по-долу",
"recipe-1": "Рецепта 1",
@@ -357,7 +359,7 @@
"paprika-text": "Mealie може да импортирай рецепти от приложението Paprika. Експортирайте рецептите си от Paprika, преименувате файловото разширение на .zip и го качете по-долу.",
"mealie-text": "Mealie може да импортира рецепти от Mealie преди версия 1.0. Експортирайте рецептите от старата си инстанция и ги качете като .zip файл по-долу. Бележка: могат да бъдат импортирани само рецептите.",
"plantoeat": {
"title": "Plan to Eat",
"title": "Планиране на меню",
"description-long": "Mealie може да импортира рецепти от Plan to Eat."
}
},
@@ -452,7 +454,7 @@
"remove-section": "Премахни раздел",
"save-recipe-before-use": "Запази рецептата преди да я използваш",
"section-title": "Заглавие на раздела",
"servings": "Порции",
"servings": "Порция|порции",
"share-recipe-message": "Искам да споделя моята рецепта {0} с теб.",
"show-nutrition-values": "Покажи хранителните стойности",
"sodium-content": "Натрий",
@@ -470,19 +472,19 @@
"date-format-hint-yyyy-mm-dd": "YYYY-MM-DD формат",
"add-to-list": "Добави към списък",
"add-to-plan": "Добави към план",
"add-to-timeline": "Добави към времевата линия",
"add-to-timeline": "Добави към историята на събитията",
"recipe-added-to-list": "Рецептата е добавена към списъка",
"recipes-added-to-list": "Рецептите са добавени към списъка",
"successfully-added-to-list": "Successfully added to list",
"successfully-added-to-list": "Успешно добавено в списъка",
"recipe-added-to-mealplan": "Рецептата е добавена към хранителния план",
"failed-to-add-recipes-to-list": "Неуспешно добавяне на рецепта към списъка",
"failed-to-add-recipe-to-mealplan": "Рецептата не беше добавена към хранителния план",
"failed-to-add-to-list": "Failed to add to list",
"failed-to-add-to-list": "Неуспешно добавяне към списъка",
"yield": "Добив",
"quantity": "Количество",
"choose-unit": "Избери единица",
"press-enter-to-create": "Натисните Enter за да създадете",
"choose-food": "Избери храна",
"choose-food": "Избери продукт",
"notes": "Бележки",
"toggle-section": "Превключване на раздела",
"see-original-text": "Виж оригиналния текст",
@@ -493,6 +495,8 @@
"cook-mode": "Режим на готвене",
"link-ingredients": "Свържи съставките",
"merge-above": "Обедини с по-горната",
"move-to-bottom": "Премести най-долу",
"move-to-top": "Премести най-горе",
"reset-scale": "Оригинален мащаб",
"decrease-scale-label": "Намали мащаба с 1",
"increase-scale-label": "Увеличи мащаба с 1",
@@ -505,12 +509,12 @@
"resume-timer": "Възобновяване на таймера",
"stop-timer": "Спри таймера"
},
"edit-timeline-event": "Редактирай събитие от времевата линия",
"timeline": "Времева линия",
"timeline-is-empty": "Няма нищо във времевата линия. Опитайте да приготвите рецептата!",
"group-global-timeline": "{groupName} глобална времева линия",
"open-timeline": "Отвори времевата линия",
"made-this": "Аз направих това",
"edit-timeline-event": "Редактирай събитие",
"timeline": "Хронология на събитията",
"timeline-is-empty": "Няма история на събитията. Опитайте да приготвите рецептата!",
"group-global-timeline": "{groupName} История на събитията",
"open-timeline": "Отвори историята на събитията",
"made-this": "Сготвих рецептата",
"how-did-it-turn-out": "Как се получи?",
"user-made-this": "{user} направи това",
"last-made-date": "Последно приготвена на {date}",
@@ -525,29 +529,29 @@
"edit-markdown": "Редактирай с markdown",
"recipe-creation": "Създаване на рецепта",
"select-one-of-the-various-ways-to-create-a-recipe": "Изберете един от разнообразните начини за създаване на рецепта",
"looking-for-migrations": "Търсите миграциите?",
"looking-for-migrations": "Миграция на данни",
"import-with-url": "Импортирай от линк",
"create-recipe": "Създай рецепта",
"create-recipe": "Добави рецепта",
"import-with-zip": "Импортирай от .zip",
"create-recipe-from-an-image": "Създай рецепта от снимка",
"create-recipe-from-an-image": "Добави рецепта от снимка",
"bulk-url-import": "Импортиране на рецепти от линк",
"debug-scraper": "Отстраняване на грешки на скрейпъра",
"create-a-recipe-by-providing-the-name-all-recipes-must-have-unique-names": "Създай рецепта като предоставиш име. Всички рецепти трябва да имат уникални имена.",
"create-a-recipe-by-providing-the-name-all-recipes-must-have-unique-names": "Добави рецепта като предоставиш име. Всички рецепти трябва да имат уникални имена.",
"new-recipe-names-must-be-unique": "Името на рецептата трябва да бъде уникално",
"scrape-recipe": "Обхождане на рецепта",
"scrape-recipe-description": "Обходи рецепта по линк. Предоставете линк за сайт, който искате да бъде обходен. Mealie ще опита да обходи рецептата от този сайт и да я добави във Вашата колекция.",
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
"import-original-keywords-as-tags": "Импортирай оригиналните ключови думи като тагове",
"scrape-recipe-have-a-lot-of-recipes": "Имате много рецепти, които искате да обходите наведнъж?",
"scrape-recipe-suggest-bulk-importer": "Пробвайте масовото импорторане",
"import-original-keywords-as-tags": "Добави оригиналните ключови думи като етикети",
"stay-in-edit-mode": "Остани в режим на редакция",
"import-from-zip": "Импортирай от Zip",
"import-from-zip-description": "Импортирай рецепта, която е била експортирана от друга инстанция на Mealie.",
"zip-files-must-have-been-exported-from-mealie": ".zip файловете трябва да бъдат експортирани от Mealie",
"create-a-recipe-by-uploading-a-scan": "Създай рецепта като качиш сканирано копие.",
"create-a-recipe-by-uploading-a-scan": "Добави рецепта като качиш сканирано копие.",
"upload-a-png-image-from-a-recipe-book": "Качи png изображение от книга с рецепти",
"recipe-bulk-importer": "Масово импортиране на рецепти",
"recipe-bulk-importer-description": "Масовото импортиране Ви позволява да импортиране множество рецепти наведнъж като постави сайтовете на опашка в бекенда и изпълненява задачата във фонов режим. Това може да бъде полезно когато първоначално мигрирате Mealie, или когато искате да импортиране голям брой рецепти наведнъж.",
"set-categories-and-tags": "Задай Категории и Тагове",
"set-categories-and-tags": "Задай категории и етикети",
"bulk-imports": "Масови импортирания",
"bulk-import-process-has-started": "Процеса на масово импортиране започна",
"bulk-import-process-has-failed": "Процеса на масово импортиране се прекрати с грешка",
@@ -561,7 +565,7 @@
"upload-image": "Качване на изображение",
"screen-awake": "Запази екрана активен",
"remove-image": "Премахване на изображение",
"nextStep": "Next step"
"nextStep": "Следваща стъпка"
},
"search": {
"advanced-search": "Разширено търсене",
@@ -576,7 +580,7 @@
"search": "Търсене",
"search-mealie": "Търсене в Mealie (Натисни /)",
"search-placeholder": "Търсене...",
"tag-filter": "Филтриране на тагове",
"tag-filter": "Филтриране по етикет",
"search-hint": "Натисни '/'",
"advanced": "Разширени",
"auto-search": "Автоматично търсене",
@@ -590,7 +594,7 @@
"backup-created-at-response-export_path": "Резервно копие е създадено на {path}",
"backup-deleted": "Резервното копие е изтрито",
"restore-success": "Успешно възстановяване",
"backup-tag": "Таг на резервното копие",
"backup-tag": "Етикет на резервното копие",
"create-heading": "Създай резервно копие",
"delete-backup": "Изтрий резервно копие",
"error-creating-backup-see-log-file": "Грешка при създаването на резервно копие. Виж лог файла",
@@ -718,7 +722,7 @@
"secure-site-success-text": "Сайтът е достъпен чрез localhost или https",
"server-side-base-url": "Сървърен базов URL",
"server-side-base-url-error-text": "„BASE_URL“ все още е стойността по подразбиране на API сървъра. Това ще причини проблеми с връзките за известия, генерирани на сървъра за имейли и др.",
"server-side-base-url-success-text": "URL адресът от страна на сървъра не съответства на стандартния",
"server-side-base-url-success-text": "URL адресът от страна на сървъра не съответства на зададения",
"ldap-ready": "Използва LDAP",
"ldap-ready-error-text": "Не всички LDAP стойности са конфигурирани. Това може да бъде игнорирано, ако не използвате LDAP удостоверяване.",
"ldap-ready-success-text": "Задължителните LDAP променливи са зададени.",
@@ -734,7 +738,7 @@
"quantity": "Количество: {0}",
"shopping-list": "Списък за пазаруване",
"shopping-lists": "Списъци за пазаруване",
"food": "Храна",
"food": "Продукт",
"note": "Бележка",
"label": "Етикет",
"linked-item-warning": "Елементът е добавен към една или повече рецепти. Редактиране на единиците или храните ще се отрази с непредвидими резултати когато добавяте или премахвате рецепта от списъка.",
@@ -765,7 +769,7 @@
"profile": "Профил",
"search": "Търсене",
"site-settings": "Настройки на сайта",
"tags": "Тагове",
"tags": "Етикети",
"toolbox": "Инструменти",
"language": "Език",
"maintenance": "Профилактика",
@@ -786,17 +790,17 @@
"welcome-to-mealie": "Добре дошли в Mealie! За да станете потребител на тази инстанция сте длъжни да имате валиден линк за покана. Ако не сте получили покана, тогава е невъзможно да се регистрирате. За да получите линк, свържете се с администратора на сайта."
},
"tag": {
"tag-created": "Тагът е създаден",
"tag-creation-failed": "Неуспешно създаване на таг",
"tag-deleted": "Тагът е изтрит",
"tag-deletion-failed": "Неуспешно изтриване на таг",
"tag-update-failed": "Неуспешно обновяване на таг",
"tag-updated": "Тагът е обновен",
"tags": "Тагове",
"untagged-count": "Без таг {count}",
"create-a-tag": "Създаване на таг",
"tag-name": "Име на тага",
"tag": "Тагове"
"tag-created": "Етикетът беше добавен",
"tag-creation-failed": "Неуспешно създаване на етикет",
"tag-deleted": "Етикетът беше изтрит",
"tag-deletion-failed": "Неуспешно изтриване на етикет",
"tag-update-failed": "Неуспешно обновяване на етикет",
"tag-updated": "Етикетът беше обновен",
"tags": "Етикети",
"untagged-count": "Без етикет {count}",
"create-a-tag": "Създаване на етикет",
"tag-name": "Име на етикета",
"tag": "Етикет"
},
"tool": {
"tools": "Инструменти",
@@ -905,7 +909,7 @@
"language-dialog": {
"translated": "преведено",
"choose-language": "Избери Език",
"select-description": "Изберете език за Mealie. Тази настройка се прилага само за Вас, не и за други потребители.",
"select-description": "Изберете език за Mealie. Тази настройка засяга само текущия профил.",
"how-to-contribute-description": "Има ли нещо все още непреведено, с грешка в превода, или езикът Ви липсва в списъка? {read-the-docs-link} за да видите как да допринесете!",
"read-the-docs": "Прочетете документацията"
},
@@ -913,12 +917,12 @@
"foods": {
"merge-dialog-text": "Комбинирането на избраните храни ще обедини изходната храна и целевата храна в една единствена храна. Изходната храна ще бъде изтрита и всички препратки към изходната храна ще бъдат актуализирани, за да сочат към целевата храна.",
"merge-food-example": "Обединяване на {food1} с {food2}",
"seed-dialog-text": "Заредете базата данни с храни на базата на вашия местен език. Това ще създаде 200+ общи храни, които могат да се използват за организиране на вашата база данни. Храните се превеждат чрез усилия на общността.",
"seed-dialog-text": "Изтеглете базата данни с продукти на вашия местен език. Ще бъдат заредени 200+ продукта, които да използвате за организиране на вашата база данни. Имената на продуктите се превеждат от общността.",
"seed-dialog-warning": "Вече имате някои елементи във Вашата база данни. Това действие няма да съгласува дубликати, ще трябва да ги управлявате ръчно.",
"combine-food": "Комбинирай Храни",
"source-food": "Изходна храна",
"target-food": "Целева храна",
"create-food": "Създай храна",
"create-food": "Създай продукт",
"food-label": "Заглавие на храната",
"edit-food": "Редактирай храна",
"food-data": "Данни за храните",
@@ -926,7 +930,7 @@
"example-food-plural": "пример: Домати"
},
"units": {
"seed-dialog-text": "Заредете базата данни с общи единици въз основа на Вашия местен език.",
"seed-dialog-text": "Заредете базата данни с мерни единици на Вашия местен език.",
"combine-unit-description": "Комбинирането на избраните единици ще обедини единицата източник и целевата единица в една единица. {source-unit-will-be-deleted} и всички препратки към изходната единица ще бъдат актуализирани, за да сочат към целевата единица.",
"combine-unit": "Комбинирай мерни единици",
"source-unit": "Изходна мярна единица",
@@ -948,7 +952,7 @@
"example-unit-abbreviation-plural": "пример: ч.л.-ки"
},
"labels": {
"seed-dialog-text": "Заредете базата данни с общи етикети въз основа на Вашия местен език.",
"seed-dialog-text": "Заредете базата данни с етикети на Вашия местен език.",
"edit-label": "Редактиране на етикет",
"new-label": "Нов етикет",
"labels": "Етикети"
@@ -965,10 +969,10 @@
"recipe-columns": "Колони на рецептата",
"data-exports-description": "Този раздел предоставя връзки към налични експортирания, които са готови за изтегляне. Тези експорти изтичат, така че не забравяйте да ги изтеглите, докато все още са налични.",
"data-exports": "Експорти на данни",
"tag": "Таг",
"tag": "Етикет",
"categorize": "Категоризиране",
"update-settings": "Обнови настройките",
"tag-recipes": "Тагове на рецепти",
"tag-recipes": "Етикети на рецепти",
"categorize-recipes": "Категоризирай рецепти",
"export-recipes": "Експортирай рецепти",
"delete-recipes": "Изтрий рецепти",
@@ -976,8 +980,8 @@
},
"create-alias": "Създаване на псевдоним",
"manage-aliases": "Управление на псевдоними",
"seed-data": "Сийд на данни",
"seed": "Сийд",
"seed-data": "Зареждане на данни",
"seed": "Зареждане",
"data-management": "Управление на данни",
"data-management-description": "Изберете кой набор от данни искате да промените.",
"select-data": "Изберете данни",
@@ -990,9 +994,9 @@
"category-data": "Категория за данните"
},
"tags": {
"new-tag": "Нов таг",
"edit-tag": "Редакция на таг",
"tag-data": "Данни на тага"
"new-tag": "Нов етикет",
"edit-tag": "Редакция на етикет",
"tag-data": "Данни на етикета"
},
"tools": {
"new-tool": "Нов инструмент",
@@ -1009,7 +1013,7 @@
"group-details": "Подробности за групата",
"group-details-description": "Преди да създадете акаунт, ще трябва да създадете група. Вашата група ще съдържа само Вас, но ще можете да поканите други по-късно. Членовете във вашата група могат да споделят планове за хранене, списъци за пазаруване, рецепти и други!",
"use-seed-data": "Използвай предварителни данни",
"use-seed-data-description": "Mealie се доставя с колекция от храни, мерни единици и етикети, които могат да се използват за попълване на Вашата група с полезни данни за организиране на вашите рецепти.",
"use-seed-data-description": "Mealie се доставя с колекция от продукти, мерни единици и етикети за попълване на Вашата група с полезни данни за организиране на рецептите.",
"account-details": "Подробни данни за акаунта"
},
"validation": {
@@ -1132,7 +1136,7 @@
},
"profile": {
"welcome-user": "👋 Добре дошъл(а), {0}",
"description": "Управлявай твоят профил, рецепти и настройки на групата.",
"description": "Настройки на профил, рецепти и настройки на групата.",
"get-invite-link": "Вземи линк за покана",
"get-public-link": "Вземи публичен линк",
"account-summary": "Обобщение на акаунта",
@@ -1144,19 +1148,19 @@
"personal": "Лични",
"personal-description": "Това са настройки, които са лични за Вас. Промените тук няма да засегнат други потребители",
"user-settings": "Потребителски настройки",
"user-settings-description": "Управлявайте предпочитанията си, променяйте паролата си и актуализирайте имейла си",
"api-tokens-description": "Управлявайте вашите API токени за достъп от външни приложения",
"user-settings-description": "Нстройки на предпочитанията, смяна на парола и актуализация на имей адрес",
"api-tokens-description": "Управление на API токени за достъп от външни приложения",
"group-description": "Тези елементи се споделят във вашата група. Редактирането на един от тях ще го промени за цялата група!",
"group-settings": "Настройки на групата",
"group-settings-description": "Управлявайте общите си групови настройки като план за хранене и настройки за поверителност.",
"cookbooks-description": "Управлявайте колекция от категории на рецепти и генерирайте страници за тях.",
"group-settings-description": "Общи групови настройки като седмично меню и настройки за поверителност.",
"cookbooks-description": "Управление на категории на рецепти и генериране на съответните страници.",
"members": "Участници",
"members-description": "Вижте кой е във Вашата група и управлявайте техните права.",
"members-description": "Списък на потребителите в групата и управление на техните права.",
"webhooks-description": "Настройте webhooks, които се задействат в дните, в които имате планиран план за хранене.",
"notifiers": "Уведомители",
"notifiers-description": "Настройте имейл и push известия, които се задействат при конкретни събития.",
"manage-data": "Управление на данни",
"manage-data-description": "Управлявайте вашата храна и единици (очаквайте още опции скоро)",
"manage-data-description": "Настройки на продукти и мерни единици (очаквайте добавяне на още възможности)",
"data-migrations": "Миграция на данни",
"data-migrations-description": "Мигрирайте вашите съществуващи данни от други приложения като Nextcloud Recipes и Chowdown",
"email-sent": "Имейлът е изпратен",
@@ -1176,15 +1180,17 @@
},
"cookbook": {
"cookbooks": "Готварски книги",
"description": "Готварските книги са друг начин за организиране на рецепти чрез създаване на напречни сечения на рецепти и тагове. Създаването на готварска книга ще добави запис към страничната лента и всички рецепти с избраните тагове и категории ще бъдат показани в готварската книга.",
"description": "Готварските книги са друг начин за организиране на рецепти чрез създаване на напречни сечения на рецепти и етикети. Създаването на готварска книга ще добави запис към страничната лента и всички рецепти с избраните категории и етикети ще бъдат показани в готварската книга.",
"public-cookbook": "Публична книга с рецепти",
"public-cookbook-description": "Публичните готварски книги могат да се споделят с потребители, които не са в Mealie, и ще се показват на страницата на вашите групи.",
"filter-options": "Опции на филтъра",
"filter-options-description": "Когато е избрано изискване на всички, готварската книга ще включва само рецепти, които имат всички избрани елементи. Това се отнася за всяко подмножество от селектори, а не за напречно сечение на избраните елементи.",
"require-all-categories": "Изискване на всички категории",
"require-all-tags": "Изискване на всички тагове",
"require-all-tags": "Включване на всички етикети",
"require-all-tools": "Изискване на всички инструменти",
"cookbook-name": "Име на книгата с рецепти",
"cookbook-with-name": "Книга с рецепти {0}"
"cookbook-with-name": "Книга с рецепти {0}",
"create-a-cookbook": "Създай Готварска книга",
"cookbook": "Готварска книга"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Desa",
"settings": "Configuració",
"share": "Compartiu",
"show-all": "Show All",
"shuffle": "Barreja",
"sort": "Ordena",
"sort-alphabetically": "Alfabèticament",
@@ -199,7 +200,8 @@
"upload-file": "Puja un fitxer",
"created-on-date": "Creat el: {0}",
"unsaved-changes": "Tens canvis que no estan guardats. Vols guardar-los abans de sortir? Clica d'acord per guardar-los o cancel·lar per descartar els canvis.",
"clipboard-copy-failure": "No s'ha pogut copiar al porta-retalls."
"clipboard-copy-failure": "No s'ha pogut copiar al porta-retalls.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Esteu segur de voler suprimir el grup <b>{groupName}<b/>?",
@@ -258,7 +260,7 @@
},
"meal-plan": {
"create-a-new-meal-plan": "Crea un nou menú",
"update-this-meal-plan": "Update this Meal Plan",
"update-this-meal-plan": "Actualitza aquest pla de menjar",
"dinner-this-week": "Sopar d'esta setmana",
"dinner-today": "Sopar per avui",
"dinner-tonight": "Sopar d'aquesta nit",
@@ -306,7 +308,7 @@
"for-type-meal-types": "per {0} tipus de menús",
"meal-plan-rules": "Normes del planificador de menús",
"new-rule": "Nova norma",
"meal-plan-rules-description": "You can create rules for auto selecting recipes for your meal plans. These rules are used by the server to determine the random pool of recipes to select from when creating meal plans. Note that if rules have the same day/type constraints then the categories of the rules will be merged. In practice, it's unnecessary to create duplicate rules, but it's possible to do so.",
"meal-plan-rules-description": "Podeu crear regles per a la selecció automàtica de receptes per als vostres plans d'àpats. El servidor utilitza aquestes regles per determinar el conjunt aleatori de receptes per seleccionar quan es creen plans d'àpats. Tingueu en compte que si les regles tenen les mateixes restriccions de dia/tipus, les categories de les regles es fusionaran. A la pràctica, no és necessari crear regles duplicades, però és possible fer-ho.",
"new-rule-description": "When creating a new rule for a meal plan you can restrict the rule to be applicable for a specific day of the week and/or a specific type of meal. To apply a rule to all days or all meal types you can set the rule to \"Any\" which will apply it to all the possible values for the day and/or meal type.",
"recipe-rules": "Normes per la recepta",
"applies-to-all-days": "Aplica a tots els dies",
@@ -493,6 +495,8 @@
"cook-mode": "Mode \"cuinant\"",
"link-ingredients": "Enllaça amb els ingredients",
"merge-above": "Fusiona amb el de dalt",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Reinicialitza",
"decrease-scale-label": "Divideix",
"increase-scale-label": "Multiplica",
@@ -598,7 +602,7 @@
"import-summary": "Resum de la importació",
"partial-backup": "Còpia de seguretat parcial",
"unable-to-delete-backup": "No s'ha pogut suprimir la còpia.",
"experimental-description": "Backups a total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think off this as a snapshot of Mealie at a specific time. Currently, {not-crossed-version} (data migrations are not done automatically). These serve as a database agnostic way to export and import data or backup the site to an external location.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Restaura la còpia de seguretat",
"back-restore-description": "Restaurar aquesta còpia de seguretat sobreescriurà totes les dades actuals de la teva base de dades i qualsevol directori i els substituirà amb el contingut d'aquesta còpia de seguretat. {cannot-be-undone} Si la restauració es duu a terme correctament, se us tancarà la sessió.",
"cannot-be-undone": "Aquesta acció no es pot desfer. Utilitza-la amb precaució.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Requereix totes les etiquetes",
"require-all-tools": "Requereix tots els utensilis",
"cookbook-name": "Nom del receptari",
"cookbook-with-name": "Receptari {0}"
"cookbook-with-name": "Receptari {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Uložit",
"settings": "Nastavení",
"share": "Sdílet",
"show-all": "Show All",
"shuffle": "Náhodně",
"sort": "Seřadit",
"sort-alphabetically": "Abecedně",
@@ -199,7 +200,8 @@
"upload-file": "Nahrát soubor",
"created-on-date": "Vytvořeno dne: {0}",
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"clipboard-copy-failure": "Failed to copy to the clipboard.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Jste si jisti, že chcete smazat <b>{groupName}<b/>?",
@@ -493,6 +495,8 @@
"cook-mode": "Režim vaření",
"link-ingredients": "Propojit ingredience",
"merge-above": "Sloučit s předchozím",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Obnovit násobení",
"decrease-scale-label": "Snížit násobení o 1",
"increase-scale-label": "Zvýšit násobení o 1",
@@ -598,7 +602,7 @@
"import-summary": "Shrnutí importu",
"partial-backup": "Částečná záloha",
"unable-to-delete-backup": "Zálohu nelze odstranit.",
"experimental-description": "Backups a total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think off this as a snapshot of Mealie at a specific time. Currently, {not-crossed-version} (data migrations are not done automatically). These serve as a database agnostic way to export and import data or backup the site to an external location.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Backup Restore",
"back-restore-description": "Restoring this backup will overwrite all the current data in your database and in the data directory and replace them with the contents of this backup. {cannot-be-undone} If the restoration is successful, you will be logged out.",
"cannot-be-undone": "This action cannot be undone - use with caution.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Vyžadovat všechny štítky",
"require-all-tools": "Vyžadovat všechny nástroje",
"cookbook-name": "Název kuchařky",
"cookbook-with-name": "Kuchařka {0}"
"cookbook-with-name": "Kuchařka {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Gem",
"settings": "Indstillinger",
"share": "Del",
"show-all": "Show All",
"shuffle": "Bland",
"sort": "Sorter",
"sort-alphabetically": "Alfabetisk",
@@ -199,7 +200,8 @@
"upload-file": "Upload Fil",
"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.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"clipboard-copy-failure": "Kopiering til udklipsholderen mislykkedes.",
"confirm-delete-generic-items": "Er du sikker på at du ønsker at slette de valgte emner?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Er du sikker på, du vil slette <b>{groupName}<b/>?",
@@ -258,7 +260,7 @@
},
"meal-plan": {
"create-a-new-meal-plan": "Opret en ny madplan",
"update-this-meal-plan": "Update this Meal Plan",
"update-this-meal-plan": "Opdater denne måltidsplan",
"dinner-this-week": "Madplan denne uge",
"dinner-today": "Madplan i dag",
"dinner-tonight": "AFTENSMAD I AFTEN",
@@ -493,6 +495,8 @@
"cook-mode": "Tilberedningsvisning",
"link-ingredients": "Link ingredienser",
"merge-above": "Sammenflet ovenstående",
"move-to-bottom": "Flyt til bunden",
"move-to-top": "Flyt til toppen",
"reset-scale": "Nulstil skalering",
"decrease-scale-label": "Formindsk skala med 1",
"increase-scale-label": "Forøg skala med 1",
@@ -514,7 +518,7 @@
"how-did-it-turn-out": "Hvordan blev det?",
"user-made-this": "{user} lavede denne",
"last-made-date": "Sidst tilberedt den {date}",
"api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.",
"api-extras-description": "Opskrifter ekstra er en central feature i Mealie API. De giver dig mulighed for at oprette brugerdefinerede JSON nøgle / værdi par inden for en opskrift, at henvise til fra 3. parts applikationer. Du kan bruge disse nøgler til at give oplysninger, for eksempel til at udløse automatiseringer eller brugerdefinerede beskeder til at videresende til din ønskede enhed.",
"message-key": "Beskednøgle",
"parse": "Behandl data",
"attach-images-hint": "Vedhæft billeder ved at trække dem ind i redigeringsværktøjet",
@@ -536,7 +540,7 @@
"new-recipe-names-must-be-unique": "Opskriftsnavnet er allerede i brug",
"scrape-recipe": "Scrape Opskrift",
"scrape-recipe-description": "Hent en opskrift fra en hjemmeside. Angiv URL'en til den hjemmeside, du vil hente data fra, og Mealie vil forsøge at hente opskriften og tilføje den til din samling.",
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
"scrape-recipe-have-a-lot-of-recipes": "Har du en masse opskrifter, du ønsker at scrappe på en gang?",
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
"import-original-keywords-as-tags": "Importér originale nøgleord som mærker",
"stay-in-edit-mode": "Bliv i redigeringstilstand",
@@ -598,7 +602,7 @@
"import-summary": "Importer resumé",
"partial-backup": "Delvis backup",
"unable-to-delete-backup": "Ude af stand til at slette backup.",
"experimental-description": "Backups en samlet snapshots af databasen og datamappe på installationen. Dette omfatter alle data og kan ikke indstilles til at udelukke undergrupper af data. Du kan tænke på dette som et øjebliksbillede af Mealie på et bestemt tidspunkt. I øjeblikket, {not-crossed-version} (data migrationer er ikke udført automatisk). Disse fungerer som en database agnostisk måde at eksportere og importere data eller backup af webstedet til en ekstern placering.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Backup / gendannelse",
"back-restore-description": "Gendannelse af denne sikkerhedskopi vil overskrive alle de aktuelle data i din database og i datamappen og erstatte dem med indholdet af denne sikkerhedskopi. {cannot-be-undone} Hvis gendannelsen lykkes, vil du blive logget ud.",
"cannot-be-undone": "Denne handling kan ikke fortrydes - brug med forsigtighed.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Kræv Alle Mærker",
"require-all-tools": "Kræv Alle Værktøjer",
"cookbook-name": "Navn på kogebog",
"cookbook-with-name": "Kogebog {0}"
"cookbook-with-name": "Kogebog {0}",
"create-a-cookbook": "Opret en ny kogebog",
"cookbook": "Kogebog"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Speichern",
"settings": "Einstellungen",
"share": "Teilen",
"show-all": "Show All",
"shuffle": "Mischen",
"sort": "Sortierung",
"sort-alphabetically": "Alphabetisch",
@@ -199,7 +200,8 @@
"upload-file": "Datei hochladen",
"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.",
"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?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Bist du dir sicher, dass du die Gruppe <b>{groupName}<b/> löschen möchtest?",
@@ -493,6 +495,8 @@
"cook-mode": "Koch-Modus",
"link-ingredients": "Zutaten verlinken",
"merge-above": "Mit Eintrag darüber zusammenführen",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Maßstab zurücksetzen",
"decrease-scale-label": "Maßstab um 1 verringern",
"increase-scale-label": "Maßstab um 1 erhöhen",
@@ -598,7 +602,7 @@
"import-summary": "Zusammenfassung des Imports",
"partial-backup": "Teilsicherung",
"unable-to-delete-backup": "Sicherung kann nicht gelöscht werden.",
"experimental-description": "Sichert eine vollständige Momentaufnahme der Datenbank und des Datenverzeichnisses der Webseite. Dies schließt alle Daten ein, es können keine Daten ausgenommen werden. Es handelt sich also um eine Momentaufnahme von Mealie zu einem bestimmten Zeitpunkt. Zur Zeit {not-crossed-version} (es erfolgt keine automatische Datenmigration). Es ist eine Datenbank-unabhängige Möglichkeit, Daten zu exportieren und importieren oder um die Webseite an einem externen Ort zu sichern.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Wiederherstellen aus Sicherung",
"back-restore-description": "Das Wiederherstellen dieser Sicherung wird alle vorhandenen Daten in deiner Datenbank und im Datenverzeichnis überschreiben und durch den Inhalt dieser Sicherung ersetzen. {cannot-be-undone} Wenn die Wiederherstellung erfolgreich war, wirst du abgemeldet.",
"cannot-be-undone": "Diese Aktion kann nicht rückgängig gemacht werden - verwende sie mit Vorsicht.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Alle Schlagwörter erforderlich",
"require-all-tools": "Alle Utensilien erforderlich",
"cookbook-name": "Kochbuch Name",
"cookbook-with-name": "Kochbuch {0}"
"cookbook-with-name": "Kochbuch {0}",
"create-a-cookbook": "Ein Kochbuch erstellen",
"cookbook": "Kochbuch"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Αποθήκευση",
"settings": "Ρυθμίσεις",
"share": "Κοινοποίηση",
"show-all": "Show All",
"shuffle": "Τυχαία",
"sort": "Ταξινόμηση",
"sort-alphabetically": "Αλφαβητική",
@@ -199,7 +200,8 @@
"upload-file": "Μεταφόρτωση αρχείου",
"created-on-date": "Δημιουργήθηκε στις: {0}",
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"clipboard-copy-failure": "Failed to copy to the clipboard.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό τον ασφαλή σύνδεσμο <b>{groupName}<b/>;",
@@ -493,6 +495,8 @@
"cook-mode": "Cook Mode",
"link-ingredients": "Link Ingredients",
"merge-above": "Merge Above",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Reset Scale",
"decrease-scale-label": "Decrease Scale by 1",
"increase-scale-label": "Increase Scale by 1",
@@ -598,7 +602,7 @@
"import-summary": "Εισαγωγή Περίληψης",
"partial-backup": "Μερικό Αντίγραφο Ασφαλείας",
"unable-to-delete-backup": "Αδυναμία διαγραφής αντιγράφου ασφαλείας.",
"experimental-description": "Backups a total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think off this as a snapshot of Mealie at a specific time. Currently, {not-crossed-version} (data migrations are not done automatically). These serve as a database agnostic way to export and import data or backup the site to an external location.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Backup Restore",
"back-restore-description": "Restoring this backup will overwrite all the current data in your database and in the data directory and replace them with the contents of this backup. {cannot-be-undone} If the restoration is successful, you will be logged out.",
"cannot-be-undone": "This action cannot be undone - use with caution.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Require All Tags",
"require-all-tools": "Require All Tools",
"cookbook-name": "Cookbook Name",
"cookbook-with-name": "Cookbook {0}"
"cookbook-with-name": "Cookbook {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Save",
"settings": "Settings",
"share": "Share",
"show-all": "Show All",
"shuffle": "Shuffle",
"sort": "Sort",
"sort-alphabetically": "Alphabetical",
@@ -199,7 +200,8 @@
"upload-file": "Upload File",
"created-on-date": "Created on: {0}",
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"clipboard-copy-failure": "Failed to copy to the clipboard.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?",
@@ -493,6 +495,8 @@
"cook-mode": "Cook Mode",
"link-ingredients": "Link Ingredients",
"merge-above": "Merge Above",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Reset Scale",
"decrease-scale-label": "Decrease Scale by 1",
"increase-scale-label": "Increase Scale by 1",
@@ -598,7 +602,7 @@
"import-summary": "Import Summary",
"partial-backup": "Partial Backup",
"unable-to-delete-backup": "Unable to Delete Backup.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think off this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Backup Restore",
"back-restore-description": "Restoring this backup will overwrite all the current data in your database and in the data directory and replace them with the contents of this backup. {cannot-be-undone} If the restoration is successful, you will be logged out.",
"cannot-be-undone": "This action cannot be undone - use with caution.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Require All Tags",
"require-all-tools": "Require All Tools",
"cookbook-name": "Cookbook Name",
"cookbook-with-name": "Cookbook {0}"
"cookbook-with-name": "Cookbook {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Save",
"settings": "Settings",
"share": "Share",
"show-all": "Show All",
"shuffle": "Shuffle",
"sort": "Sort",
"sort-alphabetically": "Alphabetical",
@@ -199,7 +200,8 @@
"upload-file": "Upload File",
"created-on-date": "Created on: {0}",
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"clipboard-copy-failure": "Failed to copy to the clipboard.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?",
@@ -493,6 +495,8 @@
"cook-mode": "Cook Mode",
"link-ingredients": "Link Ingredients",
"merge-above": "Merge Above",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Reset Scale",
"decrease-scale-label": "Decrease Scale by 1",
"increase-scale-label": "Increase Scale by 1",
@@ -598,7 +602,7 @@
"import-summary": "Import Summary",
"partial-backup": "Partial Backup",
"unable-to-delete-backup": "Unable to Delete Backup.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think off this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Backup Restore",
"back-restore-description": "Restoring this backup will overwrite all the current data in your database and in the data directory and replace them with the contents of this backup. {cannot-be-undone} If the restoration is successful, you will be logged out.",
"cannot-be-undone": "This action cannot be undone - use with caution.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Require All Tags",
"require-all-tools": "Require All Tools",
"cookbook-name": "Cookbook Name",
"cookbook-with-name": "Cookbook {0}"
"cookbook-with-name": "Cookbook {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -9,11 +9,11 @@
"database-url": "URL de base de datos",
"default-group": "Grupo Predeterminado",
"demo": "Versión Demo",
"demo-status": "Estado Demo",
"demo-status": "Modo Demo",
"development": "Desarrollo",
"docs": "Documentación",
"download-log": "Descargar Log",
"download-recipe-json": "Último JSON recuperado",
"download-recipe-json": "Último JSON extraído",
"github": "Github",
"log-lines": "Líneas de registro",
"not-demo": "No Demo",
@@ -33,7 +33,7 @@
"pdf": "PDF",
"recipe": "Receta",
"show-assets": "Mostrar recursos",
"error-submitting-form": "Se ha producido un error al enviar el formulario"
"error-submitting-form": "Error al enviar el formulario"
},
"category": {
"categories": "Categorías",
@@ -77,7 +77,7 @@
"tag-events": "Eventos de etiqueta",
"category-events": "Eventos de Categoría",
"when-a-new-user-joins-your-group": "Cuando un nuevo usuario se une a tu grupo",
"recipe-events": "Recipe Events"
"recipe-events": "Eventos de receta"
},
"general": {
"cancel": "Cancelar",
@@ -114,10 +114,10 @@
"json": "JSON",
"keyword": "Etiqueta",
"link-copied": "Enlace copiado",
"loading": "Loading",
"loading": "Cargando",
"loading-events": "Cargando Eventos",
"loading-recipe": "Loading recipe...",
"loading-ocr-data": "Loading OCR data...",
"loading-recipe": "Cargando receta...",
"loading-ocr-data": "Cargando datos OCR...",
"loading-recipes": "Cargando recetas",
"message": "Mensaje",
"monday": "Lunes",
@@ -142,6 +142,7 @@
"save": "Guardar",
"settings": "Ajustes",
"share": "Compartir",
"show-all": "Show All",
"shuffle": "Aleatorio",
"sort": "Ordenar",
"sort-alphabetically": "Alfabéticamente",
@@ -198,8 +199,9 @@
"refresh": "Actualizar",
"upload-file": "Subir Archivo",
"created-on-date": "Creado el {0}",
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"unsaved-changes": "Tienes cambios sin guardar. ¿Quieres guardar antes de salir? Aceptar para guardar, Cancelar para descartar cambios.",
"clipboard-copy-failure": "No se pudo copiar al portapapeles.",
"confirm-delete-generic-items": "¿Estás seguro que quieres eliminar los siguientes elementos?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Por favor, confirma que deseas eliminar <b>{groupName}<b/>",
@@ -214,7 +216,7 @@
"group-id-with-value": "ID del Grupo: {groupID}",
"group-name": "Nombre del Grupo",
"group-not-found": "Grupo no encontrado",
"group-token": "Group Token",
"group-token": "Token del grupo",
"group-with-value": "Grupo: {groupID}",
"groups": "Grupos",
"manage-groups": "Administrar grupos",
@@ -250,7 +252,7 @@
"general-preferences": "Opciones generales",
"group-recipe-preferences": "Preferencias de grupo de las recetas",
"report": "Informe",
"report-with-id": "Report ID: {id}",
"report-with-id": "ID de informe: {id}",
"group-management": "Administración de grupos",
"admin-group-management": "Gestión del grupo administrador",
"admin-group-management-text": "Los cambios en este grupo se reflejarán inmediatamente.",
@@ -258,7 +260,7 @@
},
"meal-plan": {
"create-a-new-meal-plan": "Crear un nuevo menú",
"update-this-meal-plan": "Update this Meal Plan",
"update-this-meal-plan": "Actualizar este plan de comidas",
"dinner-this-week": "Cena para esta semana",
"dinner-today": "Cena para hoy",
"dinner-tonight": "Cena para esta noche",
@@ -473,11 +475,11 @@
"add-to-timeline": "Añadir al cronograma",
"recipe-added-to-list": "Receta añadida a la lista",
"recipes-added-to-list": "Recetas añadidas a la lista",
"successfully-added-to-list": "Successfully added to list",
"successfully-added-to-list": "Añadido correctamente a la lista",
"recipe-added-to-mealplan": "Receta añadida al menú",
"failed-to-add-recipes-to-list": "Error al añadir las recetas a la lista",
"failed-to-add-recipe-to-mealplan": "Error al añadir receta al menú",
"failed-to-add-to-list": "Failed to add to list",
"failed-to-add-to-list": "No se pudo agregar a la lista",
"yield": "Raciones",
"quantity": "Cantidad",
"choose-unit": "Elija unidad",
@@ -493,6 +495,8 @@
"cook-mode": "Modo Cocinar",
"link-ingredients": "Vincular ingredientes",
"merge-above": "Combinar por encima",
"move-to-bottom": "Mover al fondo",
"move-to-top": "Move To Top",
"reset-scale": "Reiniciar",
"decrease-scale-label": "Disminuir escala en 1",
"increase-scale-label": "Aumentar escala en 1",
@@ -514,11 +518,11 @@
"how-did-it-turn-out": "¿Cómo resultó esto?",
"user-made-this": "{user} hizo esto",
"last-made-date": "Cocinado por última vez el {date}",
"api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.",
"api-extras-description": "Los extras de las recetas son una característica clave de la API de Mealie. Permiten crear pares json clave/valor personalizados dentro de una receta para acceder desde aplicaciones de terceros. Puede utilizar estas claves para almacenar información, para activar la automatización o mensajes personalizados para transmitir al dispositivo deseado.",
"message-key": "Clave de mensaje",
"parse": "Analizar",
"attach-images-hint": "Adjuntar imágenes arrastrando y soltando en el editor",
"drop-image": "Drop image",
"drop-image": "Soltar imagen",
"enable-ingredient-amounts-to-use-this-feature": "Habilitar la cantidad de ingredientes para usar esta característica",
"recipes-with-units-or-foods-defined-cannot-be-parsed": "Las recetas con unidades o alimentos definidos no pueden ser analizadas.",
"parse-ingredients": "Analizar ingredientes",
@@ -536,8 +540,8 @@
"new-recipe-names-must-be-unique": "El nombre de la receta debe ser único",
"scrape-recipe": "Analiza receta",
"scrape-recipe-description": "Importa una receta por URL. Proporcione la URL para el sitio que desea importar, y Mealie intentará importar la receta de ese sitio y añadirla a su colección.",
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
"scrape-recipe-have-a-lot-of-recipes": "¿Tienes muchas recetas que quieres raspar a la vez?",
"scrape-recipe-suggest-bulk-importer": "Prueba el importador masivo",
"import-original-keywords-as-tags": "Importar palabras clave originales como etiquetas",
"stay-in-edit-mode": "Permanecer en modo edición",
"import-from-zip": "Importar desde zip",
@@ -546,7 +550,7 @@
"create-a-recipe-by-uploading-a-scan": "Crea una receta subiendo una escaneada.",
"upload-a-png-image-from-a-recipe-book": "Suba una imagen png de un libro de recetas",
"recipe-bulk-importer": "Importador masivo de recetas",
"recipe-bulk-importer-description": "The Bulk recipe importer allows you to import multiple recipes at once by queueing the sites on the backend and running the task in the background. This can be useful when initially migrating to Mealie, or when you want to import a large number of recipes.",
"recipe-bulk-importer-description": "El importador masivo de recetas te permite importar múltiples recetas a la vez poniendo en cola los sitios en el backend y ejecutando la tarea en segundo plano. Esto puede ser útil al migrar inicialmente a Mealie, o cuando desea importar un gran número de recetas.",
"set-categories-and-tags": "Establecer categorías y etiquetas",
"bulk-imports": "Importación masiva",
"bulk-import-process-has-started": "El proceso de importación masiva se ha iniciado",
@@ -561,7 +565,7 @@
"upload-image": "Subir imagen",
"screen-awake": "Mantener la pantalla encendida",
"remove-image": "Eliminar imagen",
"nextStep": "Next step"
"nextStep": "Siguiente paso"
},
"search": {
"advanced-search": "Búsqueda avanzada",
@@ -580,16 +584,16 @@
"search-hint": "Presione '/'",
"advanced": "Avanzado",
"auto-search": "Búsqueda automática",
"no-results": "No results found"
"no-results": "No se encontraron resultados"
},
"settings": {
"add-a-new-theme": "Añadir un nuevo tema",
"admin-settings": "Opciones del adminstrador",
"backup": {
"backup-created": "Backup created successfully",
"backup-created": "Copia de seguridad creada con éxito",
"backup-created-at-response-export_path": "Copia de seguridad creada en {path}",
"backup-deleted": "Copia de seguridad eliminada",
"restore-success": "Restore successful",
"restore-success": "Restauración exitosa",
"backup-tag": "Etiqueta de la copia de seguridad",
"create-heading": "Crear una copia de seguridad",
"delete-backup": "Eliminar copia de seguridad",
@@ -598,9 +602,9 @@
"import-summary": "Importar resumen",
"partial-backup": "Copia de seguridad parcial",
"unable-to-delete-backup": "No se puede eliminar la copia de seguridad.",
"experimental-description": "Backups a total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think off this as a snapshot of Mealie at a specific time. Currently, {not-crossed-version} (data migrations are not done automatically). These serve as a database agnostic way to export and import data or backup the site to an external location.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Restaurar Copia de Seguridad",
"back-restore-description": "Restoring this backup will overwrite all the current data in your database and in the data directory and replace them with the contents of this backup. {cannot-be-undone} If the restoration is successful, you will be logged out.",
"back-restore-description": "Restaurar esta copia de seguridad sobrescribirá todos los datos actuales de su base de datos y del directorio de datos y los sustituirá por el contenido de esta copia. {cannot-be-undone} Si la restauración se realiza correctamente, se cerrará su sesión.",
"cannot-be-undone": "Esta acción no se puede deshacer, use con precaución.",
"postgresql-note": "Si estás usando PostGreSQL, por favor revisa el {backup-restore-process} antes de restaurar.",
"backup-restore-process-in-the-documentation": "copia de seguridad/proceso de restauración en la documentación",
@@ -690,21 +694,21 @@
"webhooks-caps": "WEBHOOKS",
"webhooks": "Webhooks",
"webhook-name": "Nombre del Webhook",
"description": "The webhooks defined below will be executed when a meal is defined for the day. At the scheduled time the webhooks will be sent with the data from the recipe that is scheduled for the day. Note that webhook execution is not exact. The webhooks are executed on a 5 minutes interval so the webhooks will be executed within 5 +/- minutes of the scheduled."
"description": "Los webhooks definidos a continuación se ejecutarán cuando una comida esté definida para el día. A la hora prevista se enviarán los webhooks con los datos de la receta programada para el día. Tenga en cuenta que la ejecución de webhook no es exacta. Los webhooks se ejecutan en un intervalo de 5 minutos, por lo que los webhooks se ejecutarán en 5 minutos +/- de los programados."
},
"bug-report": "Informe de error",
"bug-report-information": "Utilice esta información para informar de un error. Proporcionar detalles de su instancia a los desarrolladores es la mejor manera de resolver sus problemas rápidamente.",
"tracker": "Tracker",
"tracker": "Rastreador",
"configuration": "Configuración",
"docker-volume": "Volumen de Docker",
"docker-volume-help": "Mealie requiere que los contenedores de frontend y backend compartan el mismo volumen o almacenamiento en docker. Esto asegura que el contenedor del frontend pueda acceder adecuadamente a las imágenes y los activos almacenados en el disco.",
"volumes-are-misconfigured": "Volumes are misconfigured.",
"volumes-are-misconfigured": "Los volúmenes están mal configurados.",
"volumes-are-configured-correctly": "Los volúmenes se configuran correctamente.",
"status-unknown-try-running-a-validation": "Estado desconocido. Intente ejecutar una validación.",
"validate": "Validar",
"email-configuration-status": "Estado de la Configuración del Correo Electrónico",
"email-configured": "Email Configured",
"email-test-results": "Email Test Results",
"email-configured": "Email configurado",
"email-test-results": "Resultados de la prueba de email",
"ready": "Listo",
"not-ready": "No Listo - Comprobar variables de ambiente",
"succeeded": "Logrado",
@@ -715,14 +719,14 @@
"mealie-is-up-to-date": "Mealie está actualizada",
"secure-site": "Sitio Seguro",
"secure-site-error-text": "Servir a través de local host o seguro con HTTPS. El portapapeles y API adicionales del navegador pueden no funcionar.",
"secure-site-success-text": "Site is accessed by localhost or https",
"server-side-base-url": "Server Side Base URL",
"server-side-base-url-error-text": "`BASE_URL` is still the default value on API Server. This will cause issues with notifications links generated on the server for emails, etc.",
"server-side-base-url-success-text": "Server Side URL does not match the default",
"secure-site-success-text": "Se accede al sitio por localhost o https",
"server-side-base-url": "URL base del servidor",
"server-side-base-url-error-text": "`BASE_URL` sigue siendo el valor por defecto en el servidor API. Esto causará problemas con las notificaciones generadas en el servidor de correos electrónicos, etc.",
"server-side-base-url-success-text": "La URL del servidor no coincide con la predeterminada",
"ldap-ready": "LDAP Listo",
"ldap-ready-error-text": "No todos los valores LDAP están configurados. Esto puede ignorarse si no está usando autenticación LDAP.",
"ldap-ready-success-text": "Las variables LDAP requeridas están todas definidas.",
"build": "Compilar",
"build": "Compilación",
"recipe-scraper-version": "Versión de Analizador de Recetas"
},
"shopping-list": {
@@ -748,7 +752,7 @@
"reorder-labels": "Reordenar etiquetas",
"uncheck-all-items": "Desmarcar todos los elementos",
"check-all-items": "Marcar todos los elementos",
"linked-recipes-count": "No Linked Recipes|One Linked Recipe|{count} Linked Recipes",
"linked-recipes-count": "No hay recetas vinculadas|Una receta vinculada|{count} recetas vinculadas",
"items-checked-count": "Ningún elemento comprobado|Un elemento comprobado|{count} elementos comprobados",
"no-label": "Sin Etiqueta",
"completed-on": "Completado el {date}"
@@ -841,7 +845,7 @@
"password-updated": "Contraseña actualizada",
"password": "Contraseña",
"password-strength": "Fortaleza de la contraseña: {strength}",
"please-enter-password": "Please enter your new password.",
"please-enter-password": "Por favor ingrese su nueva contraseña.",
"register": "Registrarse",
"reset-password": "Restablecer contraseña",
"sign-in": "Iniciar sesión",
@@ -862,7 +866,7 @@
"username": "Usuario",
"users-header": "USUARIOS",
"users": "Usuarios",
"user-not-found": "User not found",
"user-not-found": "Usuario no encontrado",
"webhook-time": "Tiempo de Webhook",
"webhooks-enabled": "Webhooks habilitados",
"you-are-not-allowed-to-create-a-user": "No tiene permisos para crear usuarios",
@@ -885,7 +889,7 @@
"user-management": "Gestión de Usuarios",
"reset-locked-users": "Restablecer usuarios bloqueados",
"admin-user-creation": "Creación de Usuario Administrador",
"admin-user-management": "Admin User Management",
"admin-user-management": "Administración de usuario de admin",
"user-details": "Detalles de usuario",
"user-name": "Nombre de usuario",
"authentication-method": "Método de autenticación",
@@ -896,11 +900,11 @@
"user-can-manage-group": "El usuario puede administrar el grupo",
"user-can-organize-group-data": "El usuario puede organizar los datos del grupo",
"enable-advanced-features": "Habilitar Características Avanzadas",
"it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.",
"dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!",
"forgot-password": "Forgot Password",
"forgot-password-text": "Please enter your email address and we will send you a link to reset your password.",
"changes-reflected-immediately": "Changes to this user will be reflected immediately."
"it-looks-like-this-is-your-first-time-logging-in": "Parece que esta es la primera vez que inicias sesión.",
"dont-want-to-see-this-anymore-be-sure-to-change-your-email": "¿No quieres ver esto más? ¡Asegúrate de cambiar tu correo electrónico en tu configuración de usuario!",
"forgot-password": "Olvidé mi contraseña",
"forgot-password-text": "Por favor, introduce tu correo electrónico y te enviaremos un enlace para restablecer tu contraseña.",
"changes-reflected-immediately": "Los cambios en este grupo se reflejarán inmediatamente."
},
"language-dialog": {
"translated": "traducido",
@@ -927,19 +931,19 @@
},
"units": {
"seed-dialog-text": "Añade a la base de datos unidades comunes basadas en su idioma local.",
"combine-unit-description": "Combining the selected units will merge the Source Unit and Target Unit into a single unit. The {source-unit-will-be-deleted} and all of the references to the Source Unit will be updated to point to the Target Unit.",
"combine-unit-description": "Combinar los alimentos seleccionados fusionará el alimento origen y destinatario en un solo alimento. El alimento {source-unit-will-be-deleted} será eliminado y todas las referencias a él serán actualizadas para apuntar al nuevo alimento.",
"combine-unit": "Unidad de Combinación",
"source-unit": "Source Unit",
"target-unit": "Target Unit",
"merging-unit-into-unit": "Merging {0} into {1}",
"create-unit": "Create Unit",
"source-unit": "Unidad de origen",
"target-unit": "Unidad de objetivo",
"merging-unit-into-unit": "Combinando {0} con {1}",
"create-unit": "Crear unidad",
"abbreviation": "Abreviatura",
"plural-abbreviation": "Abreviatura en plural",
"description": "Descripción",
"display-as-fraction": "Display as Fraction",
"display-as-fraction": "Mostrar como fracción",
"use-abbreviation": "Usar Abreviaturas",
"edit-unit": "Editar unidad",
"unit-data": "Unit Data",
"unit-data": "Datos de la unidad",
"use-abbv": "Usar Abr.",
"fraction": "Fracción",
"example-unit-singular": "ej: Cucharada",
@@ -956,14 +960,14 @@
"recipes": {
"purge-exports": "Limpiar exportaciones",
"are-you-sure-you-want-to-delete-all-export-data": "¿Está seguro de que desea eliminar todos sus datos de exportación?",
"confirm-delete-recipes": "Are you sure you want to delete the following recipes? This action cannot be undone.",
"the-following-recipes-selected-length-will-be-exported": "The following recipes ({0}) will be exported.",
"settings-chosen-explanation": "Settings chosen here, excluding the locked option, will be applied to all selected recipes.",
"selected-length-recipe-s-settings-will-be-updated": "{count} recipe(s) settings will be updated.",
"confirm-delete-recipes": "¿Estás seguro de que quieres eliminar las siguientes recetas? Esta acción no podrá deshacerse.",
"the-following-recipes-selected-length-will-be-exported": "Las siguientes recetas ({0}) serán exportadas.",
"settings-chosen-explanation": "Los ajustes seleccionados aquí, excluyendo la opción bloqueada, se aplicarán a todas las recetas seleccionadas.",
"selected-length-recipe-s-settings-will-be-updated": "Se actualizarán los ajustes de {count} receta(s).",
"recipe-data": "Datos de la receta",
"recipe-data-description": "Use this section to manage the data associated with your recipes. You can perform several bulk actions on your recipes including exporting, deleting, tagging, and assigning categories.",
"recipe-columns": "Recipe Columns",
"data-exports-description": "This section provides links to available exports that are ready to download. These exports do expire, so be sure to grab them while they're still available.",
"recipe-data-description": "Utiliza esta sección para gestionar los datos asociados a tus recetas. Puedes realizar varias acciones de forma masiva en tus recetas, como exportar, eliminar, etiquetar y asignar categorías.",
"recipe-columns": "Columnas de Recetas",
"data-exports-description": "Esta sección proporciona enlaces a las exportaciones disponibles listas para descargar. Estas exportaciones caducan, así que asegúrate de descargarlas mientras estén disponibles.",
"data-exports": "Exportación de datos",
"tag": "Etiqueta",
"categorize": "Clasificar",
@@ -972,14 +976,14 @@
"categorize-recipes": "Categorizar recetas",
"export-recipes": "Exportar recetas",
"delete-recipes": "Borrar Recetas",
"source-unit-will-be-deleted": "Source Unit will be deleted"
"source-unit-will-be-deleted": "Se eliminará la unidad de origen"
},
"create-alias": "Crear un Alias",
"manage-aliases": "Administrar Alias",
"seed-data": "Datos de ejemplo",
"seed": "Semilla",
"data-management": "Data Management",
"data-management-description": "Select which data set you want to make changes to.",
"data-management": "Gestión de Datos",
"data-management-description": "Selecciona el conjunto de datos al que deseas hacer cambios.",
"select-data": "Seleccionar datos",
"select-language": "Seleccionar idioma",
"columns": "Columnas",
@@ -1002,7 +1006,7 @@
},
"user-registration": {
"user-registration": "Registro de usuario",
"registration-success": "Registration Success",
"registration-success": "Registrado con éxito",
"join-a-group": "Unirse a un grupo",
"create-a-new-group": "Crear un grupo nuevo",
"provide-registration-token-description": "Por favor, proporcione el token de registro asociado con el grupo al que desea unirse. Necesitará obtenerlo de un miembro del grupo.",
@@ -1049,57 +1053,57 @@
},
"ocr-editor": {
"ocr-editor": "Editor de OCR",
"toolbar": "Toolbar",
"toolbar": "Barra de Herramientas",
"selection-mode": "Modo de selección",
"pan-and-zoom-picture": "Desplazar y hacer zoom en la imagen",
"split-text": "Split text",
"preserve-line-breaks": "Preserve original line breaks",
"split-by-block": "Split by text block",
"flatten": "Flatten regardless of original formating",
"split-text": "Dividir texto",
"preserve-line-breaks": "Mantener los saltos de línea originales",
"split-by-block": "División por bloques de texto",
"flatten": "Acoplar independientemente del formato original",
"help": {
"help": "Help",
"mouse-modes": "Mouse modes",
"selection-mode": "Selection Mode (default)",
"selection-mode-desc": "The selection mode is the main mode that can be used to enter data:",
"help": "Ayuda",
"mouse-modes": "Modos de ratón",
"selection-mode": "Modo selección (por defecto)",
"selection-mode-desc": "El modo de selección es el modo principal que puede utilizarse para introducir datos:",
"selection-mode-steps": {
"draw": "Draw a rectangle on the text you want to select.",
"draw": "Dibuja un rectángulo sobre el texto que deseas seleccionar.",
"click": "Click on any field on the right and then click back on the rectangle above the image.",
"result": "The selected text will appear inside the previously selected field."
},
"pan-and-zoom-mode": "Pan and Zoom Mode",
"pan-and-zoom-mode": "Modo Panorámico y Zoom",
"pan-and-zoom-desc": "Select pan and zoom by clicking the icon. This mode allows to zoom inside the image and move around to make using big images easier.",
"split-text-mode": "Split Text modes",
"split-text-mode": "Modos de división de texto",
"split-modes": {
"line-mode": "Line mode (default)",
"line-mode": "Modo de línea (por defecto)",
"line-mode-desc": "In line mode, the text will be propagated by keeping the original line breaks. This mode is useful when using bulk add on a list of ingredients where one ingredient is one line.",
"block-mode": "Block mode",
"block-mode-desc": "In block mode, the text will be split in blocks. This mode is useful when bulk adding instructions that are usually written in paragraphs.",
"flat-mode": "Flat mode",
"flat-mode-desc": "In flat mode, the text will be added to the selected recipe field with no line breaks."
"block-mode": "Modo en bloque",
"block-mode-desc": "En el modo de bloque, el texto se dividirá en bloques. Este modo es útil cuando se agregan instrucciones que están escritas en párrafos.",
"flat-mode": "Modo texto sin formato",
"flat-mode-desc": "En modo texto sin formato, el texto se añadirá al campo de la receta seleccionado sin saltos de línea."
}
}
},
"admin": {
"maintenance": {
"storage-details": "Storage Details",
"page-title": "Site Maintenance",
"summary-title": "Summary",
"button-label-get-summary": "Get Summary",
"storage-details": "Detalle del almacenamiento",
"page-title": "Mantenimiento del sitio",
"summary-title": "Índice",
"button-label-get-summary": "Obtener Resumen",
"button-label-open-details": "Detalles",
"info-description-data-dir-size": "Data Directory Size",
"info-description-log-file-size": "Log File Size",
"info-description-cleanable-directories": "Cleanable Directories",
"info-description-cleanable-images": "Cleanable Images",
"info-description-data-dir-size": "Tamaño del directorio de datos",
"info-description-log-file-size": "Tamaño del archivo de registro",
"info-description-cleanable-directories": "Directorios eliminables",
"info-description-cleanable-images": "Imágenes eliminables",
"storage": {
"title-temporary-directory": "Directorio temporal (.temp)",
"title-backups-directory": "Backups Directory (backups)",
"title-groups-directory": "Groups Directory (groups)",
"title-recipes-directory": "Recipes Directory (recipes)",
"title-user-directory": "User Directory (user)"
"title-backups-directory": "Directorio de Copias de Seguridad (respaldos)",
"title-groups-directory": "Directorio de Grupos (grupos)",
"title-recipes-directory": "Directorio de Recetas (recetas)",
"title-user-directory": "Directorio de usuario (usuario)"
},
"action-delete-log-files-name": "Delete Log Files",
"action-delete-log-files-description": "Deletes all the log files",
"action-clean-directories-name": "Clean Directories",
"action-delete-log-files-name": "Borrar archivos de registro",
"action-delete-log-files-description": "Elimina todos los archivos de registro",
"action-clean-directories-name": "Limpiar directorios",
"action-clean-directories-description": "Removes all the recipe folders that are not valid UUIDs",
"action-clean-temporary-files-name": "Eliminar archivos temporales",
"action-clean-temporary-files-description": "Eliminar todos los archivos y carpetas del directorio .temp",
@@ -1118,16 +1122,16 @@
"ingredients-natural-language-processor": "Ingredients Natural Language Processor",
"ingredients-natural-language-processor-explanation": "Mealie uses Conditional Random Fields (CRFs) for parsing and processing ingredients. The model used for ingredients is based off a data set of over 100,000 ingredients from a dataset compiled by the New York Times. Note that as the model is trained in English only, you may have varied results when using the model in other languages. This page is a playground for testing the model.",
"ingredients-natural-language-processor-explanation-2": "It's not perfect, but it yields great results in general and is a good starting point for manually parsing ingredients into individual fields. Alternatively, you can also use the \"Brute\" processor that uses a pattern matching technique to identify ingredients.",
"nlp": "NLP",
"brute": "Brute",
"show-individual-confidence": "Show individual confidence",
"ingredient-text": "Ingredient Text",
"average-confident": "{0} Confident",
"try-an-example": "Try an example",
"nlp": "PLN",
"brute": "En bruto",
"show-individual-confidence": "Mostrar confianza individual",
"ingredient-text": "Texto del ingrediente",
"average-confident": "{0} Confianza",
"try-an-example": "Prueba un ejemplo",
"parser": "Procesador",
"background-tasks": "Tareas en Segundo Plano",
"background-tasks-description": "Here you can view all the running background tasks and their status",
"no-logs-found": "No Logs Found",
"background-tasks-description": "Aquí puedes ver todas las tareas de fondo en ejecución y su estado",
"no-logs-found": "No se encontraron registros",
"tasks": "Tareas"
},
"profile": {
@@ -1137,7 +1141,7 @@
"get-public-link": "Obtener enlace público",
"account-summary": "Información de la cuenta",
"account-summary-description": "Este es un resumen de la información de tu grupo",
"group-statistics": "Group Statistics",
"group-statistics": "Estadísticas del grupo",
"group-statistics-description": "Your Group Statistics provide some insight how you're using Mealie.",
"storage-capacity": "Capacidad de almacenamiento",
"storage-capacity-description": "Your storage capacity is a calculation of the images and assets you have uploaded.",
@@ -1147,31 +1151,31 @@
"user-settings-description": "Administrar preferencias, cambiar contraseña y actualizar correo electrónico",
"api-tokens-description": "Administra tus API Tokens para acceder desde aplicaciones externas",
"group-description": "These items are shared within your group. Editing one of them will change it for the whole group!",
"group-settings": "Group Settings",
"group-settings": "Ajustes de grupo",
"group-settings-description": "Manage your common group settings like mealplan and privacy settings.",
"cookbooks-description": "Manage a collection of recipe categories and generate pages for them.",
"members": "Members",
"members-description": "See who's in your group and manage their permissions.",
"members": "Miembros",
"members-description": "Ver quién está en tu grupo y administrar sus permisos.",
"webhooks-description": "Setup webhooks that trigger on days that you have have mealplan scheduled.",
"notifiers": "Notifiers",
"notifiers": "Notificaciones",
"notifiers-description": "Setup email and push notifications that trigger on specific events.",
"manage-data": "Manage Data",
"manage-data-description": "Manage your Food and Units (more options coming soon)",
"data-migrations": "Data Migrations",
"data-migrations-description": "Migrate your existing data from other applications like Nextcloud Recipes and Chowdown",
"email-sent": "Email Sent",
"error-sending-email": "Error Sending Email",
"personal-information": "Personal Information",
"preferences": "Preferences",
"show-advanced-description": "Show advanced features (API Keys, Webhooks, and Data Management)",
"back-to-profile": "Back to Profile",
"looking-for-privacy-settings": "Looking for Privacy Settings?",
"manage-your-api-tokens": "Manage Your API Tokens",
"manage-user-profile": "Manage User Profile",
"manage-cookbooks": "Manage Cookbooks",
"manage-data": "Administrar datos",
"manage-data-description": "Administra tu Comida y Unidades (próximamente más opciones)",
"data-migrations": "Migración de datos",
"data-migrations-description": "Migrar tus datos existentes de otras aplicaciones como Nextcloud Recipes y Chowdown",
"email-sent": "Email enviado",
"error-sending-email": "Error enviando email",
"personal-information": "Datos Personales",
"preferences": "Preferencias",
"show-advanced-description": "Mostrar características avanzadas (API Keys, Webhooks y Gestión de Datos)",
"back-to-profile": "Volver al perfil",
"looking-for-privacy-settings": "¿Buscas los ajustes de privacidad?",
"manage-your-api-tokens": "Gestiona tus API tokens",
"manage-user-profile": "Administrar Perfil de Usuario",
"manage-cookbooks": "Administrar Recetario",
"manage-members": "Gestionar miembros",
"manage-webhooks": "Manage Webhooks",
"manage-notifiers": "Manage Notifiers",
"manage-webhooks": "Gestionar Webhooks",
"manage-notifiers": "Administrar Notificadores",
"manage-data-migrations": "Administrar Migraciones de Datos"
},
"cookbook": {
@@ -1185,6 +1189,8 @@
"require-all-tags": "Requerir todas las etiquetas",
"require-all-tools": "Requiere todos los utensilios",
"cookbook-name": "Nombre del recetario",
"cookbook-with-name": "Recetario {0}"
"cookbook-with-name": "Recetario {0}",
"create-a-cookbook": "Crear Recetario",
"cookbook": "Recetario"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Tallenna",
"settings": "Asetukset",
"share": "Jaa",
"show-all": "Show All",
"shuffle": "Sekoita",
"sort": "Järjestä",
"sort-alphabetically": "Aakkosjärjestyksessä",
@@ -199,7 +200,8 @@
"upload-file": "Tuo tiedosto",
"created-on-date": "Luotu {0}",
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"clipboard-copy-failure": "Failed to copy to the clipboard.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Haluatko varmasti poistaa ryhmän <b>{groupName}<b/>?",
@@ -493,6 +495,8 @@
"cook-mode": "Kokkitila",
"link-ingredients": "Linkitä Ainesosat",
"merge-above": "Yhdistä Yläpuolelle",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Palauta skaala",
"decrease-scale-label": "Vähennä mittakaavaa yhdellä",
"increase-scale-label": "Suurenna mittakaavaa yhdellä",
@@ -598,7 +602,7 @@
"import-summary": "Tuo yhteenveto",
"partial-backup": "Osittainen varmuuskopiointi",
"unable-to-delete-backup": "Varmuuskopiota ei voi poistaa.",
"experimental-description": "Varmuuskopiot ovat kokonaisia tilannekuvia sivuston tietokannasta ja tietohakemistosta. Tämä sisältää kaikki tiedot, eikä sitä voida asettaa sulkemaan pois tietojen osajoukkoja. Voit ajatella tätä tilannekuvana Mealiesta tiettynä ajankohtana. Nämä toimivat tietokannan agnostisena tapana viedä ja tuoda tietoja tai varmuuskopioida sivusto ulkoiseen sijaintiin.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Varmuuskopion palautus",
"back-restore-description": "Tämän varmuuskopion palauttaminen korvaa kaikki tietokannassasi ja tietokannassasi olevat tiedot ja korvaa ne tämän varmuuskopion sisällöllä. {cannot-be-undone} Jos palautus onnistuu, sinut kirjataan ulos.",
"cannot-be-undone": "Tätä toimintoa ei voi kumota - käytä varoen.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Vaadi Kaikki Tunnisteet",
"require-all-tools": "Vaadi Kaikki Työkalut",
"cookbook-name": "Keittokirjan Nimi",
"cookbook-with-name": "Keittokirja {0}"
"cookbook-with-name": "Keittokirja {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Sauvegarder",
"settings": "Paramètres",
"share": "Partager",
"show-all": "Show All",
"shuffle": "Mélanger",
"sort": "Trier",
"sort-alphabetically": "Alphabétique",
@@ -199,7 +200,8 @@
"upload-file": "Transférer un fichier",
"created-on-date": "Créé le {0}",
"unsaved-changes": "Vous avez des modifications non enregistrées. Voulez-vous les enregistrer? Ok pour enregistrer, annuler pour ignorer les modifications.",
"clipboard-copy-failure": "Échec de la copie vers le presse-papiers."
"clipboard-copy-failure": "Échec de la copie vers le presse-papiers.",
"confirm-delete-generic-items": "Êtes-vous sûr de vouloir supprimer les éléments suivants ?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Êtes-vous certain de vouloir supprimer <b>{groupName}<b/>?",
@@ -493,6 +495,8 @@
"cook-mode": "Mode Cuisine",
"link-ingredients": "Ingrédients du lien",
"merge-above": "Fusionner avec au-dessus",
"move-to-bottom": "Déplacer à la fin",
"move-to-top": "Déplacer au début",
"reset-scale": "Réinitialiser échelle",
"decrease-scale-label": "Diminuer l'échelle de 1",
"increase-scale-label": "Augmenter l'échelle de 1",
@@ -598,7 +602,7 @@
"import-summary": "Résumé de l'importation",
"partial-backup": "Sauvegarde partielle",
"unable-to-delete-backup": "Impossible de supprimer la sauvegarde.",
"experimental-description": "Sauvegarde une photo complète de la base de données et du répertoire de données du site. Cela inclut toutes les données et ne peut pas être configuré pour exclure des sous-ensembles de données. C'est un peu comme une photo de Mealie à un instant précis. Actuellement, {not-crossed-version} (les migrations de données ne sont pas effectuées automatiquement). Il s'agit d'un moyen indépendant de la base de données pour exporter et importer des données ou de sauvegarder le site vers un emplacement externe.",
"experimental-description": "Les sauvegardes sont des instantanés complets de la base de données et du répertoire de données du site. Cela inclue toutes les données et il nest pas possible den exclure un sous-ensemble. Vous pouvez le voir comme un instantané de Mealie à un temps donné. Cela peut servir de moyen dimporter et dexporter les données indépendamment du moteur de base de données, ou bien de sauvegarder le site vers un emplacement externe.",
"backup-restore": "Restaurer la sauvegarde",
"back-restore-description": "La restauration de cette sauvegarde écrasera toutes les données actuelles dans votre base de données et dans le répertoire de données et les remplacera par le contenu de cette sauvegarde. {cannot-be-undone} Si la restauration est réussie, vous serez déconnecté.",
"cannot-be-undone": "Cette action ne peut pas être annulée - à utiliser avec prudence.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Nécessite tous les mots-clés",
"require-all-tools": "Nécessite tous les ustensiles",
"cookbook-name": "Nom du livre de recettes",
"cookbook-with-name": "Livre de recettes {0}"
"cookbook-with-name": "Livre de recettes {0}",
"create-a-cookbook": "Créer un nouveau livre de recettes",
"cookbook": "Livre de recettes"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Sauvegarder",
"settings": "Paramètres",
"share": "Partager",
"show-all": "Show All",
"shuffle": "Aléatoire",
"sort": "Trier",
"sort-alphabetically": "Alphabétique",
@@ -199,7 +200,8 @@
"upload-file": "Transférer un fichier",
"created-on-date": "Créé le {0}",
"unsaved-changes": "Vous avez des modifications non enregistrées. Voulez-vous enregistrer avant de partir? OK pour enregistrer, Annuler pour ignorer les modifications.",
"clipboard-copy-failure": "Échec de la copie dans le presse-papiers."
"clipboard-copy-failure": "Échec de la copie dans le presse-papiers.",
"confirm-delete-generic-items": "Êtes-vous sûr de vouloir supprimer les éléments suivants ?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Voulez-vous vraiment supprimer <b>{groupName}<b/>?",
@@ -493,6 +495,8 @@
"cook-mode": "Mode Cuisine",
"link-ingredients": "Lier des ingrédients",
"merge-above": "Fusionner avec au-dessus",
"move-to-bottom": "Déplacer à la fin",
"move-to-top": "Déplacer au début",
"reset-scale": "Rétablir léchelle par défaut",
"decrease-scale-label": "Diminuer léchelle de 1",
"increase-scale-label": "Augmenter léchelle de 1",
@@ -598,7 +602,7 @@
"import-summary": "Résumé de limportation",
"partial-backup": "Sauvegarde partielle",
"unable-to-delete-backup": "Impossible de supprimer la sauvegarde.",
"experimental-description": "Sauvegarde une photo complète de la base de données et du répertoire de données du site. Cela inclut toutes les données et ne peut pas être configuré pour exclure des sous-ensembles de données. C'est un peu comme une photo de Mealie à un instant précis. Actuellement, {not-crossed-version} (les migrations de données ne sont pas effectuées automatiquement). Il s'agit d'un moyen indépendant de la base de données pour exporter et importer des données ou de sauvegarder le site vers un emplacement externe.",
"experimental-description": "Les sauvegardes sont des instantanés complets de la base de données et du répertoire de données du site. Cela inclue toutes les données et il nest pas possible den exclure un sous-ensemble. Vous pouvez le voir comme un instantané de Mealie à un temps donné. Cela peut servir de moyen dimporter et dexporter les données indépendamment du moteur de base de données, ou bien de sauvegarder le site vers un emplacement externe.",
"backup-restore": "Restaurer la sauvegarde",
"back-restore-description": "La restauration de cette sauvegarde écrasera toutes les données actuelles dans votre base de données et dans le répertoire de données et les remplacera par le contenu de cette sauvegarde. {cannot-be-undone} Si la restauration est réussie, vous serez déconnecté.",
"cannot-be-undone": "Cette action ne peut pas être annulée - à utiliser avec prudence.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Nécessite tous les mots-clés",
"require-all-tools": "Nécessite tous les ustensiles",
"cookbook-name": "Nom du livre de recettes",
"cookbook-with-name": "Livre de recettes {0}"
"cookbook-with-name": "Livre de recettes {0}",
"create-a-cookbook": "Créer un livre de cuisine",
"cookbook": "Livre de recettes"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Gardar",
"settings": "Axustes",
"share": "Compartir",
"show-all": "Show All",
"shuffle": "Barallar",
"sort": "Ordenar",
"sort-alphabetically": "Alfabético",
@@ -199,7 +200,8 @@
"upload-file": "Upload File",
"created-on-date": "Created on: {0}",
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"clipboard-copy-failure": "Failed to copy to the clipboard.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?",
@@ -493,6 +495,8 @@
"cook-mode": "Cook Mode",
"link-ingredients": "Link Ingredients",
"merge-above": "Merge Above",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Reset Scale",
"decrease-scale-label": "Decrease Scale by 1",
"increase-scale-label": "Increase Scale by 1",
@@ -598,7 +602,7 @@
"import-summary": "Import Summary",
"partial-backup": "Partial Backup",
"unable-to-delete-backup": "Unable to Delete Backup.",
"experimental-description": "Backups a total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think off this as a snapshot of Mealie at a specific time. Currently, {not-crossed-version} (data migrations are not done automatically). These serve as a database agnostic way to export and import data or backup the site to an external location.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Backup Restore",
"back-restore-description": "Restoring this backup will overwrite all the current data in your database and in the data directory and replace them with the contents of this backup. {cannot-be-undone} If the restoration is successful, you will be logged out.",
"cannot-be-undone": "This action cannot be undone - use with caution.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Require All Tags",
"require-all-tools": "Require All Tools",
"cookbook-name": "Cookbook Name",
"cookbook-with-name": "Cookbook {0}"
"cookbook-with-name": "Cookbook {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -142,6 +142,7 @@
"save": "שמירה",
"settings": "הגדרות",
"share": "שיתוף",
"show-all": "Show All",
"shuffle": "אקראי",
"sort": "מיון",
"sort-alphabetically": "א-ת",
@@ -199,7 +200,8 @@
"upload-file": "העלאת קבצים",
"created-on-date": "נוצר ב-{0}",
"unsaved-changes": "יש שינויים שלא נשמרו. לצאת לפני שמירה? אשר לשמירה, בטל למחיקת שינויים.",
"clipboard-copy-failure": "כשלון בהעתקה ללוח ההדבקה."
"clipboard-copy-failure": "כשלון בהעתקה ללוח ההדבקה.",
"confirm-delete-generic-items": "האם אתה בטוח שברצונך למחוק את הפריטים הנבחרים?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "האם את/ה בטוח/ה שברצונך למחוק את <b>{groupName}<b/>?",
@@ -258,7 +260,7 @@
},
"meal-plan": {
"create-a-new-meal-plan": "יצירת תכנית ארוחות חדשה",
"update-this-meal-plan": "Update this Meal Plan",
"update-this-meal-plan": "עדכן את תכנון הארוחות",
"dinner-this-week": "ארוחות ערב השבוע",
"dinner-today": "ארוחת ערב היום",
"dinner-tonight": "ארוחת ערב היום",
@@ -473,11 +475,11 @@
"add-to-timeline": "הוסף לציר הזמן",
"recipe-added-to-list": "מתכון נוסף לרשימה",
"recipes-added-to-list": "מתכונים הוספו לרשימה",
"successfully-added-to-list": "Successfully added to list",
"successfully-added-to-list": "נוסף לרשימה בהצלחה",
"recipe-added-to-mealplan": "מתכון נוסף לתכנון ארוחות",
"failed-to-add-recipes-to-list": "כשלון בהוספת מתכון לרשימה",
"failed-to-add-recipe-to-mealplan": "הוספת מתכון לתכנון ארוחות נכשלה",
"failed-to-add-to-list": "Failed to add to list",
"failed-to-add-to-list": "כשלון בהוספה לרשימה",
"yield": "תשואה",
"quantity": "כמות",
"choose-unit": "בחירת יחידת מידה",
@@ -493,6 +495,8 @@
"cook-mode": "מצב בישול",
"link-ingredients": "קשר בין רכיבים",
"merge-above": "מזג למעלה",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "איפוס קנה המידה",
"decrease-scale-label": "הורד קנה מידה ב-1",
"increase-scale-label": "העלה קנה מידה ב-1",
@@ -514,7 +518,7 @@
"how-did-it-turn-out": "איך יצא?",
"user-made-this": "{user} הכין את זה",
"last-made-date": "נעשה לאחרונה ב{date}",
"api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.",
"api-extras-description": "מתכונים נוספים הם יכולת מפתח של Mealie API. הם מאפשרים ליצור צמדי key/value בצורת JSON על מנת לקרוא אותם בתוכנת צד שלישית. תוכלו להשתמש בצמדים האלה כדי לספק מידע, לדוגמא להפעיל אוטומציות או הודעות מותאמות אישית למכשירים מסויימים.",
"message-key": "מפתח הודעה",
"parse": "ניתוח",
"attach-images-hint": "הוסף תמונות ע\"י גרירה ושחרור אל תוך העורך",
@@ -536,8 +540,8 @@
"new-recipe-names-must-be-unique": "שם מתכון חדש חייב להיות ייחודי",
"scrape-recipe": "קריאת מתכון",
"scrape-recipe-description": "קריאת מתכון בעזרת לינק. ספק את הלינק של האתר שברצונך לקרוא, ומילי תנסה לקרוא את המתכון מהאתר ולהוסיף אותו לאוסף.",
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
"scrape-recipe-have-a-lot-of-recipes": "יש לך הרבה מתכונים שאתה רוצה לקרוא בבת אחת?",
"scrape-recipe-suggest-bulk-importer": "נסה את יכולת קריאת רשימה",
"import-original-keywords-as-tags": "ייבא שמות מפתח מקוריות כתגיות",
"stay-in-edit-mode": "השאר במצב עריכה",
"import-from-zip": "ייבא מקובץ",
@@ -561,7 +565,7 @@
"upload-image": "העלה תמונה",
"screen-awake": "השאר את המסך פעיל",
"remove-image": "האם למחוק את התמונה?",
"nextStep": "Next step"
"nextStep": "השלב הבא"
},
"search": {
"advanced-search": "חיפוש מתקדם",
@@ -598,7 +602,7 @@
"import-summary": "ייבא תקציר",
"partial-backup": "גיבוי חלקי",
"unable-to-delete-backup": "לא ניתן למחוק גיבוי.",
"experimental-description": "גיבויים, סנאפשוט מלא של מלא של מסד הנתונים והסיפריות באתר. הגיבוי מכיל את כל המידע ולא ניתן להסיר מידע מהגיבוי. ניתן להתייחס לגיבוי כסנאפשוט של מילי בזמן ספציפי. כרגע {not-crossed-version} (מיגרציית נתונים לא מתבצעות אוטומטית). הם מאפשרים לייבא, לייצא ולגבות את האתר למקום חיצוני.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "גיבוי / שחזור",
"back-restore-description": "שחזור מגיבוי זה ידרוס את המידע הקיים במסד הנתונים ובספריות האתר ויחליף אותם בזה הקיים בגיבוי. {cannot-be-undone} אם השחזור יצליח, המשתמש ינותק מהמערכת.",
"cannot-be-undone": "פעולה זו לא בלתי הפיכה - השתמש בזהירות.",
@@ -796,7 +800,7 @@
"untagged-count": "לא מתוייג {count}",
"create-a-tag": "צור תגית",
"tag-name": "שם תגית",
"tag": "Tag"
"tag": "תגית"
},
"tool": {
"tools": "כלים",
@@ -806,7 +810,7 @@
"create-new-tool": "יצירת כלי חדש",
"on-hand-checkbox-label": "הראה מה יש לי במטבח",
"required-tools": "צריך כלים",
"tool": "Tool"
"tool": "כלי"
},
"user": {
"admin": "אדמין",
@@ -897,10 +901,10 @@
"user-can-organize-group-data": "משתמש יכול לשנות מידע של קבוצה",
"enable-advanced-features": "אפשר אפשרויות מתקדמות",
"it-looks-like-this-is-your-first-time-logging-in": "נראה שזו ההתחברות הראשונה שלך.",
"dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!",
"dont-want-to-see-this-anymore-be-sure-to-change-your-email": "לא רוצה לראות את זה יותר? דאג לשנות את המייל של בהגדרות המשתמש!",
"forgot-password": "שכחתי סיסמא",
"forgot-password-text": "Please enter your email address and we will send you a link to reset your password.",
"changes-reflected-immediately": "Changes to this user will be reflected immediately."
"forgot-password-text": "נא לספק כתובת דוא\"ל. אנו נשלח לך הודעת דוא\"ל לצורך איפוס הסיסמה שלך.",
"changes-reflected-immediately": "השינויים למשתמש זה יבוצעו מיידית."
},
"language-dialog": {
"translated": "תורגם",
@@ -922,8 +926,8 @@
"food-label": "תוית אוכל",
"edit-food": "עריכת מזון",
"food-data": "נתוני אוכל",
"example-food-singular": "ex: Onion",
"example-food-plural": "ex: Onions"
"example-food-singular": "דוגמא: בצל",
"example-food-plural": "דוגמא: בצלים"
},
"units": {
"seed-dialog-text": "אכלס את מסד הנתונים עם יחידות מדידה בהתאם לשפה המקומית שלך.",
@@ -934,7 +938,7 @@
"merging-unit-into-unit": "ממזג את {0} לתוך {1}",
"create-unit": "יצירת יחידה",
"abbreviation": "קיצור",
"plural-abbreviation": "Plural Abbreviation",
"plural-abbreviation": "צורת הרבית",
"description": "תיאור",
"display-as-fraction": "הצגה כשבר",
"use-abbreviation": "השתמש בקיצור",
@@ -942,10 +946,10 @@
"unit-data": "נתוני יחידה",
"use-abbv": "השתמש בקיצור",
"fraction": "שבר",
"example-unit-singular": "ex: Tablespoon",
"example-unit-plural": "ex: Tablespoons",
"example-unit-abbreviation-singular": "ex: Tbsp",
"example-unit-abbreviation-plural": "ex: Tbsps"
"example-unit-singular": "דוגמא: כפית",
"example-unit-plural": "דוגמא: כפיות",
"example-unit-abbreviation-singular": "דוגמא: כף",
"example-unit-abbreviation-plural": "דוגמא: כפות"
},
"labels": {
"seed-dialog-text": "אכלס את מסד הנתונים בתגיות נפוצות בהתאם לשפה המקומית שלך.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "זקוק לכל התגיות",
"require-all-tools": "זקוק לכל הכלים",
"cookbook-name": "שם ספר בישול",
"cookbook-with-name": "ספר בישול {0}"
"cookbook-with-name": "ספר בישול {0}",
"create-a-cookbook": "צור ספר בישול חדש",
"cookbook": "ספר בישול"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Spremi",
"settings": "Postavke",
"share": "Podijeli",
"show-all": "Show All",
"shuffle": "Nasumično",
"sort": "Sortiraj",
"sort-alphabetically": "Abecedno",
@@ -199,7 +200,8 @@
"upload-file": "Prenesi Datoteku",
"created-on-date": "Kreirano dana: {0}",
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"clipboard-copy-failure": "Failed to copy to the clipboard.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Jeste li sigurni da želite izbrisati <b>{groupName}<b/>?",
@@ -493,6 +495,8 @@
"cook-mode": "Način Kuhanja",
"link-ingredients": "Poveži Sastojke",
"merge-above": "Spoji prethodni korak",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Vrati skaliranje na stare postavke",
"decrease-scale-label": "Smanji skaliranje za 1",
"increase-scale-label": "Povećaj skaliranje za 1",
@@ -598,7 +602,7 @@
"import-summary": "Uvoz sažetka",
"partial-backup": "Djelomična sigurnosna kopija",
"unable-to-delete-backup": "Ne Mogu Obrisati Sigurnosnu Kopiju.",
"experimental-description": "Sigurnosna kopija predstavlja snimak baze podataka i direktorija podataka web stranice. To uključuje sve podatke i ne može se postaviti da isključuje podskupove podataka. Možete zamisliti sigurnosnu kopiju kao snimak Mealieja u određenom trenutku. Trenutno, verzije {not-crossed-version} (migracija podataka se ne izvode automatski). Sigurnosne kopije služe kao način izvoza i uvoza podataka ili za sigurnosno kopiranje web mjesta na vanjsku lokaciju.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Sigurnosno kopiranje/vraćanje",
"back-restore-description": "Vraćanje ove sigurnosne kopije će prepisati sve trenutne podatke u vašoj bazi podataka i direktoriju podataka i zamijeniti ih sadržajem ove sigurnosne kopije. Ova radnja je {ne-može-se-povratiti}. Ako se vraćanje uspješno izvrši, bit ćete odjavljeni iz sustava.",
"cannot-be-undone": "Ova radnja ne može se poništiti - koristite je oprezno.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Zahtijevaj sve oznake",
"require-all-tools": "Zahtijevaj sve Alate",
"cookbook-name": "Naziv Zbirke recepata",
"cookbook-with-name": "ZbirkaRecepata {0}"
"cookbook-with-name": "ZbirkaRecepata {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -56,7 +56,7 @@
"event-delete-confirmation": "Biztosan törölni szeretné ezt az eseményt?",
"event-deleted": "Esemény törölve",
"event-updated": "Esemény Frissítve",
"new-notification-form-description": "A Mealie az Apprise könyvtárat használja az értesítésekhez. Számos lehetőséget kínál különbőző értesítési szolgáltatásokhoz. Nézd meg a wiki oldalukon, hogy kell URL-t létrehozni az általad használt szolgáltatáshoz. Az értesítés tipusának kiválasztásával egyéb beállítási lehetőségek jelenhetnek meg.",
"new-notification-form-description": "A Mealie az Apprise könyvtárat használja az értesítésekhez. Számos lehetőséget kínál különböző értesítési szolgáltatásokhoz. Nézd meg a wiki oldalukon, hogy kell URL-t létrehozni az általad használt szolgáltatáshoz. Az értesítés típusának kiválasztásával egyéb beállítási lehetőségek jelenhetnek meg.",
"new-version": "Új verzió elérhető!",
"notification": "Értesítések",
"refresh": "Frissítés",
@@ -142,6 +142,7 @@
"save": "Mentés",
"settings": "Beállítások",
"share": "Megosztás",
"show-all": "Show All",
"shuffle": "Véletlenszerű",
"sort": "Rendezés",
"sort-alphabetically": "Betűrendben",
@@ -199,7 +200,8 @@
"upload-file": "Fájl feltöltése",
"created-on-date": "Létrehozva: {0}",
"unsaved-changes": "El nem mentett módosításai vannak. Szeretné elmenteni, mielőtt kilép? A mentéshez kattintson az Ok, a módosítások elvetéséhez a Mégsem gombra.",
"clipboard-copy-failure": "Nem sikerült a vágólapra másolás."
"clipboard-copy-failure": "Nem sikerült a vágólapra másolás.",
"confirm-delete-generic-items": "Biztos benne, hogy törölni szeretné az alábbi tételeket?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Biztosan törölni szeretnéd ezt: <b>{groupName}<b/>?",
@@ -473,11 +475,11 @@
"add-to-timeline": "Hozzáadás idővonalhoz",
"recipe-added-to-list": "Recept hozzáadva listához",
"recipes-added-to-list": "Recept hozzáadva listához",
"successfully-added-to-list": "Successfully added to list",
"successfully-added-to-list": "Sikeresen hozzáadva a listához",
"recipe-added-to-mealplan": "Recept hozzáadva menütervhez",
"failed-to-add-recipes-to-list": "Nem sikerült hozzáadni a receptet a listához",
"failed-to-add-recipe-to-mealplan": "Nem sikerült hozzáadni a receptet a menütervhez",
"failed-to-add-to-list": "Failed to add to list",
"failed-to-add-to-list": "Nem sikerült hozzáadni a listához",
"yield": "Adag",
"quantity": "Mennyiség",
"choose-unit": "Válasszon mennyiségi egységet",
@@ -493,6 +495,8 @@
"cook-mode": "Főzési mód",
"link-ingredients": "Hozzávalók összekapcsolása",
"merge-above": "Összevonás a fentivel",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Skála alaphelyzetbe állítása",
"decrease-scale-label": "Skála csökkentése 1-gyel",
"increase-scale-label": "Skála növelése 1-gyel",
@@ -598,7 +602,7 @@
"import-summary": "Import összefoglaló",
"partial-backup": "Részleges biztonsági mentés",
"unable-to-delete-backup": "Nem lehetett létrehozni a biztonsági mentést.",
"experimental-description": "A biztonsági mentések az oldal adatbázisának és adatkönyvtárának teljes pillanatfelvételei. Ez az összes adatot tartalmazza, és nem lehet beállítani, hogy az adatok részhalmazait kizárja. Ezt úgy is elképzelheti, mint a Mealie egy adott időpontban készült pillanatfelvételét. Ezek adatbázis-független módon szolgálnak az adatok exportálására és importálására, vagy a webhely külső helyre történő mentésére.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Biztonsági Mentés/Visszaállítás",
"back-restore-description": "A biztonsági mentés visszaállítása felülírja az adatbázisban és az adatkönyvtárban lévő összes aktuális adatot, és a biztonsági mentés tartalmával helyettesíti azokat. {cannot-be-undone} Ha a visszaállítás sikeres, akkor a rendszer kilépteti Önt.",
"cannot-be-undone": "Ezt a műveletet visszavonható - óvatosan használja.",
@@ -1154,7 +1158,7 @@
"members-description": "Láthatja, hogy kik vannak a csoportjában, és kezelheti az ő jogosultságaikat.",
"webhooks-description": "Állítson be webhookokat, amelyek azokon a napokon lépnek működésbe, amikorra a menüterveket ütemezte.",
"notifiers": "Értesítések",
"notifiers-description": "Setup email and push notifications that trigger on specific events.",
"notifiers-description": "Állítson be olyan e-mail és push-értesítéseket, amelyek meghatározott események esetén lépnek működésbe.",
"manage-data": "Adatok kezelése",
"manage-data-description": "Alapanyagainak és mennyiségi egységeinek kezelése (további opciók hamarosan)",
"data-migrations": "Adat migráció",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Minden címke szükséges",
"require-all-tools": "Minden szükséges eszköz",
"cookbook-name": "Szakácskönyv neve",
"cookbook-with-name": "Szakácskönyv {0}"
"cookbook-with-name": "Szakácskönyv {0}",
"create-a-cookbook": "Szakácskönyv létrehozása",
"cookbook": "Szakácskönyv"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Save",
"settings": "Settings",
"share": "Share",
"show-all": "Show All",
"shuffle": "Shuffle",
"sort": "Sort",
"sort-alphabetically": "Alphabetical",
@@ -199,7 +200,8 @@
"upload-file": "Upload File",
"created-on-date": "Created on: {0}",
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"clipboard-copy-failure": "Failed to copy to the clipboard.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?",
@@ -493,6 +495,8 @@
"cook-mode": "Cook Mode",
"link-ingredients": "Link Ingredients",
"merge-above": "Merge Above",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Reset Scale",
"decrease-scale-label": "Decrease Scale by 1",
"increase-scale-label": "Increase Scale by 1",
@@ -598,7 +602,7 @@
"import-summary": "Import Summary",
"partial-backup": "Partial Backup",
"unable-to-delete-backup": "Unable to Delete Backup.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think off this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Backup Restore",
"back-restore-description": "Restoring this backup will overwrite all the current data in your database and in the data directory and replace them with the contents of this backup. {cannot-be-undone} If the restoration is successful, you will be logged out.",
"cannot-be-undone": "This action cannot be undone - use with caution.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Require All Tags",
"require-all-tools": "Require All Tools",
"cookbook-name": "Cookbook Name",
"cookbook-with-name": "Cookbook {0}"
"cookbook-with-name": "Cookbook {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Salva",
"settings": "Impostazioni",
"share": "Condividi",
"show-all": "Show All",
"shuffle": "Casuale",
"sort": "Ordina",
"sort-alphabetically": "Alfabetico",
@@ -199,7 +200,8 @@
"upload-file": "Carica file",
"created-on-date": "Creato il: {0}",
"unsaved-changes": "Sono state apportate modifiche non salvate. Salvare prima di uscire? Premi Ok per salvare, Annulla per scartare le modifiche.",
"clipboard-copy-failure": "Impossibile copiare negli appunti."
"clipboard-copy-failure": "Impossibile copiare negli appunti.",
"confirm-delete-generic-items": "Sei sicuro di voler eliminare i seguenti elementi?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Sei sicuro di volerlo eliminare <b>{groupName}<b/>'?",
@@ -493,6 +495,8 @@
"cook-mode": "Modalità di Cottura",
"link-ingredients": "Link Ingredienti",
"merge-above": "Unisci Sopra",
"move-to-bottom": "Sposta in fondo",
"move-to-top": "Sposta in cima",
"reset-scale": "Ripristina la Scala",
"decrease-scale-label": "Riduci la Scala di 1",
"increase-scale-label": "Aumenta la scala di 1",
@@ -598,7 +602,7 @@
"import-summary": "Importa Riepilogo",
"partial-backup": "Backup Parziale",
"unable-to-delete-backup": "Impossibile rimuovere backup.",
"experimental-description": "Esegue il backup di un'istantanea totale del database e della directory dati del sito. Questo include tutti i dati e non può essere impostato per escludere sottoinsiemi di dati. Si può pensare a questo come un'istantanea di Mealie in un momento specifico. Attualmente, {not-crossed-version} (le migrazioni dei dati non sono effettuate automaticamente). Questi servono come modo indipendente dal database per esportare e importare i dati o il backup del sito in una posizione esterna.",
"experimental-description": "I backup sono immagini complete del database e della cartella dati del sito. Questo include tutti i dati e non è possibile escluderne alcune. Puoi pensare a questo come un'immagine vera e propria di Mealie a uno specifico orario. Questo funge da metodo agnostico per esportare e importare database e relativi dati, o per fare un backup del sito in una posizione esterna.",
"backup-restore": "Ripristina backup",
"back-restore-description": "Il ripristino di questo backup sovrascriverà tutti i dati correnti nel database e nella directory dei dati e li sostituirà con il contenuto di questo backup. {cannot-be-undone} Se il ripristino avrà successo, sarai disconnesso.",
"cannot-be-undone": "Questa azione non può essere annullata - usa con cautela.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Richiedi Tutti I Tag",
"require-all-tools": "Richiedi Tutti Gli Strumenti",
"cookbook-name": "Nome Ricettario",
"cookbook-with-name": "Ricettario {0}"
"cookbook-with-name": "Ricettario {0}",
"create-a-cookbook": "Crea un libro di cucina",
"cookbook": "Libro di cucina"
}
}

View File

@@ -142,6 +142,7 @@
"save": "保存",
"settings": "設定",
"share": "共有",
"show-all": "Show All",
"shuffle": "シャッフル",
"sort": "並べ換え",
"sort-alphabetically": "Alphabetical",
@@ -199,7 +200,8 @@
"upload-file": "ファイルのアップロード",
"created-on-date": "Created on: {0}",
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"clipboard-copy-failure": "Failed to copy to the clipboard.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "<b>{groupName}<b/> を削除しますか?",
@@ -493,6 +495,8 @@
"cook-mode": "Cook Mode",
"link-ingredients": "Link Ingredients",
"merge-above": "Merge Above",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Reset Scale",
"decrease-scale-label": "Decrease Scale by 1",
"increase-scale-label": "Increase Scale by 1",
@@ -598,7 +602,7 @@
"import-summary": "Import Summary",
"partial-backup": "Partial Backup",
"unable-to-delete-backup": "Unable to Delete Backup.",
"experimental-description": "Backups a total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think off this as a snapshot of Mealie at a specific time. Currently, {not-crossed-version} (data migrations are not done automatically). These serve as a database agnostic way to export and import data or backup the site to an external location.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Backup Restore",
"back-restore-description": "Restoring this backup will overwrite all the current data in your database and in the data directory and replace them with the contents of this backup. {cannot-be-undone} If the restoration is successful, you will be logged out.",
"cannot-be-undone": "This action cannot be undone - use with caution.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Require All Tags",
"require-all-tools": "Require All Tools",
"cookbook-name": "Cookbook Name",
"cookbook-with-name": "Cookbook {0}"
"cookbook-with-name": "Cookbook {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -142,6 +142,7 @@
"save": "저장",
"settings": "설정",
"share": "공유",
"show-all": "Show All",
"shuffle": "섞기",
"sort": "정렬",
"sort-alphabetically": "알파벳순",
@@ -199,7 +200,8 @@
"upload-file": "Upload File",
"created-on-date": "Created on: {0}",
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"clipboard-copy-failure": "Failed to copy to the clipboard.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?",
@@ -493,6 +495,8 @@
"cook-mode": "Cook Mode",
"link-ingredients": "Link Ingredients",
"merge-above": "Merge Above",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Reset Scale",
"decrease-scale-label": "Decrease Scale by 1",
"increase-scale-label": "Increase Scale by 1",
@@ -598,7 +602,7 @@
"import-summary": "Import Summary",
"partial-backup": "Partial Backup",
"unable-to-delete-backup": "Unable to Delete Backup.",
"experimental-description": "Backups a total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think off this as a snapshot of Mealie at a specific time. Currently, {not-crossed-version} (data migrations are not done automatically). These serve as a database agnostic way to export and import data or backup the site to an external location.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Backup Restore",
"back-restore-description": "Restoring this backup will overwrite all the current data in your database and in the data directory and replace them with the contents of this backup. {cannot-be-undone} If the restoration is successful, you will be logged out.",
"cannot-be-undone": "This action cannot be undone - use with caution.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Require All Tags",
"require-all-tools": "Require All Tools",
"cookbook-name": "Cookbook Name",
"cookbook-with-name": "Cookbook {0}"
"cookbook-with-name": "Cookbook {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Išsaugoti",
"settings": "Nustatymai",
"share": "Dalintis",
"show-all": "Show All",
"shuffle": "Maišyti",
"sort": "Rikiavimas",
"sort-alphabetically": "Pagal abėcėlę",
@@ -199,7 +200,8 @@
"upload-file": "Įkelti failą",
"created-on-date": "Sukurta: {0}",
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"clipboard-copy-failure": "Failed to copy to the clipboard.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Ar tikrai norite ištrinti <b>{groupName}<b/>?",
@@ -493,6 +495,8 @@
"cook-mode": "Gaminimo režimas",
"link-ingredients": "Susieti ingredientus",
"merge-above": "Sujungti su ankstesniu",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Atstatyti mastelį",
"decrease-scale-label": "Sumažinti mastelį 1 k.",
"increase-scale-label": "Padidinti mastelį 1 k.",
@@ -598,7 +602,7 @@
"import-summary": "Įkėlimo santrauka",
"partial-backup": "Dalinė atsarginė kopija",
"unable-to-delete-backup": "Nepavyko ištrinti atsarginės kopijos.",
"experimental-description": "Backups a total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think off this as a snapshot of Mealie at a specific time. Currently, {not-crossed-version} (data migrations are not done automatically). These serve as a database agnostic way to export and import data or backup the site to an external location.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Atkurti iš atsarginės kopijos",
"back-restore-description": "Atkūrimas ištrina visus šiuo metu duomenų bazėje ir duomenų archyve esančius duomenis ir perrašo juos į duomenis iš atsarginės kopijos. {cannot-be-undone} Jei atkūrimas bus sėkmingas, būsite atjungti nuo savo paskyros.",
"cannot-be-undone": "Atsargiai - šis veiksmas negrįžtamas.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Būtinos visos žymos",
"require-all-tools": "Būtini visi įrankiai",
"cookbook-name": "Receptų knygos pavadinimas",
"cookbook-with-name": "Receptų knyga {0}"
"cookbook-with-name": "Receptų knyga {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Save",
"settings": "Settings",
"share": "Share",
"show-all": "Show All",
"shuffle": "Shuffle",
"sort": "Sort",
"sort-alphabetically": "Alphabetical",
@@ -199,7 +200,8 @@
"upload-file": "Upload File",
"created-on-date": "Created on: {0}",
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"clipboard-copy-failure": "Failed to copy to the clipboard.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?",
@@ -493,6 +495,8 @@
"cook-mode": "Cook Mode",
"link-ingredients": "Link Ingredients",
"merge-above": "Merge Above",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Reset Scale",
"decrease-scale-label": "Decrease Scale by 1",
"increase-scale-label": "Increase Scale by 1",
@@ -598,7 +602,7 @@
"import-summary": "Import Summary",
"partial-backup": "Partial Backup",
"unable-to-delete-backup": "Unable to Delete Backup.",
"experimental-description": "Backups a total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think off this as a snapshot of Mealie at a specific time. Currently, {not-crossed-version} (data migrations are not done automatically). These serve as a database agnostic way to export and import data or backup the site to an external location.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Backup Restore",
"back-restore-description": "Restoring this backup will overwrite all the current data in your database and in the data directory and replace them with the contents of this backup. {cannot-be-undone} If the restoration is successful, you will be logged out.",
"cannot-be-undone": "This action cannot be undone - use with caution.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Require All Tags",
"require-all-tools": "Require All Tools",
"cookbook-name": "Cookbook Name",
"cookbook-with-name": "Cookbook {0}"
"cookbook-with-name": "Cookbook {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -53,7 +53,7 @@
"apprise-url": "Apprise URL",
"database": "Database",
"delete-event": "Gebeurtenis verwijderen",
"event-delete-confirmation": "Weet je zeker dat je deze gebeurtenis wil verwijderen?",
"event-delete-confirmation": "Weet je zeker dat je deze gebeurtenis wilt verwijderen?",
"event-deleted": "Gebeurtenis verwijderd",
"event-updated": "Gebeurtenis bijgewerkt",
"new-notification-form-description": "Mealie gebruikt de notificatieservices van Apprise om notificaties te genereren. Apprise biedt diverse services aan om notificaties te versturen. Raadpleeg hun wiki voor een uitgebreide handleiding over het creëren van een link voor je service. Afhankelijk van de gekozen service zijn er mogelijk extra functionaliteiten beschikbaar.",
@@ -84,7 +84,7 @@
"clear": "Wissen",
"close": "Sluiten",
"confirm": "Bevestigen",
"confirm-delete-generic": "Weet je zeker dat je dit wil verwijderen?",
"confirm-delete-generic": "Weet je zeker dat je dit wilt verwijderen?",
"copied_message": "Gekopieerd!",
"create": "Aanmaken",
"created": "Aangemaakt op",
@@ -142,6 +142,7 @@
"save": "Opslaan",
"settings": "Instellingen",
"share": "Delen",
"show-all": "Laat alles zien",
"shuffle": "Willekeurig",
"sort": "Sorteren",
"sort-alphabetically": "Alfabetisch",
@@ -199,7 +200,8 @@
"upload-file": "Bestand uploaden",
"created-on-date": "Gemaakt op {0}",
"unsaved-changes": "Er zijn niet-opgeslagen wijzigingen. Wil je eerst opslaan voordat je vertrekt? Okay om op te slaan, Annuleren om wijzigingen ongedaan te maken.",
"clipboard-copy-failure": "Kopiëren naar klembord mislukt."
"clipboard-copy-failure": "Kopiëren naar klembord mislukt.",
"confirm-delete-generic-items": "Weet u zeker dat u de volgende items wilt verwijderen?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Weet je zeker dat je <b>{groupName}<b/> wil verwijderen?",
@@ -493,6 +495,8 @@
"cook-mode": "Kookmodus",
"link-ingredients": "Koppel ingrediënten",
"merge-above": "Bovenstaande samenvoegen",
"move-to-bottom": "Verplaats naar onderen",
"move-to-top": "Verplaats naar begin",
"reset-scale": "Schaal resetten",
"decrease-scale-label": "Verlaag de schaal met 1",
"increase-scale-label": "Verhoog de schaal met 1",
@@ -559,7 +563,7 @@
"recipe-yield": "Recept Opbrengst",
"unit": "Eenheid",
"upload-image": "Afbeelding uploaden",
"screen-awake": "Scherm laten aan staan",
"screen-awake": "Scherm aan laten staan",
"remove-image": "Afbeelding verwijderen",
"nextStep": "Volgende stap"
},
@@ -598,7 +602,7 @@
"import-summary": "Samenvatting importeren",
"partial-backup": "Gedeeltelijke back-up",
"unable-to-delete-backup": "Kan back-up niet verwijderen.",
"experimental-description": "Back-up maakt een momentopname van de database en data directory van de site. Dit omvat alle gegevens en kan niet worden ingesteld om subsets van gegevens uit te sluiten. Je kunt dit opvatten als een momentopname van Mealie. Deze dienen als een agnostische manier om gegevens te exporteren en importeren, of een backup van de site naar een externe locatie te maken.",
"experimental-description": "Back-ups zijn een complete kopie van de database en de data map. Je kunt geen keuze maken wat wel of niet in de reservekopie zit. Het is een kopie van Mealie van dat moment. Je kunt de back-up gebruiken om data te importeren of exporteren. Of om de hele site op een andere plek te bewaren.",
"backup-restore": "Back-up maken/terugzetten",
"back-restore-description": "Het terugzetten van deze back-up overschrijft alle huidige gegevens in uw database en in de gegevensmap. {cannot-be-undone} Als het terugzetten is gelukt wordt u afgemeld.",
"cannot-be-undone": "Deze actie kan niet ongedaan worden gemaakt - gebruik met voorzichtigheid.",
@@ -736,7 +740,7 @@
"shopping-lists": "Boodschappenlijsten",
"food": "Voedsel",
"note": "Notitie",
"label": "Etiket",
"label": "Label",
"linked-item-warning": "Dit element is gekoppeld aan een of meer recepten. Het aanpassen van de eenheden of ingrediënten zal onverwachte resultaten opleveren bij het toevoegen of verwijderen van het recept uit deze lijst.",
"toggle-food": "Voedsel schakelen",
"manage-labels": "Labels beheren",
@@ -746,10 +750,10 @@
"delete-checked": "Selectie verwijderen",
"toggle-label-sort": "Label sortering in-/uitschakelen",
"reorder-labels": "Labels opnieuw indelen",
"uncheck-all-items": "Deselecteer alle Items",
"check-all-items": "Alle producten controleren",
"uncheck-all-items": "Deselecteer alle items",
"check-all-items": "Selecteer alle items",
"linked-recipes-count": "Geen Gelinkte Recepten Eén Gekoppeld Recept{count} Gekoppelde Recepten",
"items-checked-count": "Geen items aangevinkt, Eén item gecontroleerd{count} items gecontroleerd",
"items-checked-count": "Geen items geselecteerd|Eén item geselecteerd|{count} items geselecteerd",
"no-label": "Geen label",
"completed-on": "Afgemaakt op {date}"
},
@@ -1185,6 +1189,8 @@
"require-all-tags": "Vereis alle tags",
"require-all-tools": "Vereis al het kookgerei",
"cookbook-name": "Naam van het kookboek",
"cookbook-with-name": "Kookboek {0}"
"cookbook-with-name": "Kookboek {0}",
"create-a-cookbook": "Maak een kookboek",
"cookbook": "Kookboek"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Lagre",
"settings": "Innstillinger",
"share": "Del",
"show-all": "Show All",
"shuffle": "Tilfeldig rekkefølge",
"sort": "Sortér",
"sort-alphabetically": "Alfabetisk",
@@ -199,7 +200,8 @@
"upload-file": "Last opp fil",
"created-on-date": "Opprettet: {0}",
"unsaved-changes": "Du har ulagrede endringer. Ønsker du å lagre før du forlater? Trykk 'OK' for å lagre, 'Avbryt' for å forkaste endringene.",
"clipboard-copy-failure": "Kunne ikke kopiere til utklippstavlen."
"clipboard-copy-failure": "Kunne ikke kopiere til utklippstavlen.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Er du sikker på at du vil slette <b>{groupName}<b/>?",
@@ -493,6 +495,8 @@
"cook-mode": "Tilberedelsesmodus",
"link-ingredients": "Tilknytt ingredienser",
"merge-above": "Slå sammen med steget over",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Nullstill skala",
"decrease-scale-label": "Reduser skala med 1",
"increase-scale-label": "Øk skala med 1",
@@ -598,7 +602,7 @@
"import-summary": "Importer sammendrag",
"partial-backup": "Delvis sikkerhetskopi",
"unable-to-delete-backup": "Kan ikke slette sikkerhetskopi.",
"experimental-description": "Sikkerhetskopier er komplette øyeblikksbilder av databasen og datamappen til nettstedet. Dette inkluderer all data og kan ikke settes til å ekskludere delsett av data. Du kan tenke på dette som et øyeblikksbilde av Mealie på et bestemt tidspunkt. Disse fungerer som en databasesystemuavhengig måte å eksportere og importere data på, eller sikkerhetskopiere nettstedet til en ekstern plassering.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Gjenoppretting av sikkerhetskopi",
"back-restore-description": "Gjenoppretting av denne sikkerhetskopien vil overskrive alle gjeldende data i databasen og i datamappen og erstatte dem med innholdet i denne sikkerhetskopien. {cannot-be-undone} Hvis gjenopprettingen er vellykket, vil du bli logget ut.",
"cannot-be-undone": "Denne handlingen kan ikke angres bruk med forsiktighet.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Krev alle emneord",
"require-all-tools": "Krev alle kjøkkenredskaper",
"cookbook-name": "Navn på kokebok",
"cookbook-with-name": "Kokebok {0}"
"cookbook-with-name": "Kokebok {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -117,7 +117,7 @@
"loading": "Ładowanie",
"loading-events": "Ładowanie wydarzeń",
"loading-recipe": "Ładowanie przepisów...",
"loading-ocr-data": "Loading OCR data...",
"loading-ocr-data": "Wczytywanie danych OCR...",
"loading-recipes": "Ładowanie przepisów",
"message": "Wiadomość",
"monday": "Poniedziałek",
@@ -142,6 +142,7 @@
"save": "Zapisz",
"settings": "Ustawienia",
"share": "Udostępnij",
"show-all": "Show All",
"shuffle": "Pomieszaj",
"sort": "Sortuj",
"sort-alphabetically": "Alfabetyczne",
@@ -198,8 +199,9 @@
"refresh": "Odśwież",
"upload-file": "Prześlij plik",
"created-on-date": "Utworzono dnia: {0}",
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"unsaved-changes": "Masz niezapisane zmiany. Czy chcesz zapisać przed wyjściem? Ok, aby zapisać, Anuluj, żeby odrzucić zmiany.",
"clipboard-copy-failure": "Nie udało się skopiować do schowka.",
"confirm-delete-generic-items": "Czy na pewno chcesz usunąć następujące elementy?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Czy na pewno chcesz usunąć <b>{groupName}<b/>?",
@@ -258,7 +260,7 @@
},
"meal-plan": {
"create-a-new-meal-plan": "Utwórz nowy plan posiłku",
"update-this-meal-plan": "Update this Meal Plan",
"update-this-meal-plan": "Zaktualizuj plan posiłku",
"dinner-this-week": "Obiad w tym tygodniu",
"dinner-today": "Obiad dziś",
"dinner-tonight": "OBIAD DZIŚ",
@@ -473,11 +475,11 @@
"add-to-timeline": "Dodaj do osi czasu",
"recipe-added-to-list": "Przepis dodany do listy",
"recipes-added-to-list": "Przepisy dodane do listy",
"successfully-added-to-list": "Successfully added to list",
"successfully-added-to-list": "Pomyślnie dodano do listy",
"recipe-added-to-mealplan": "Przepis dodany do planu posiłków",
"failed-to-add-recipes-to-list": "Nie udało się dodać przepisu do listy",
"failed-to-add-recipe-to-mealplan": "Nie udało się dodać przepisu do planu posiłków",
"failed-to-add-to-list": "Failed to add to list",
"failed-to-add-to-list": "Nie udało się dodać do listy",
"yield": "Wydajność",
"quantity": "Ilość",
"choose-unit": "Wybierz jednostkę",
@@ -493,6 +495,8 @@
"cook-mode": "Tryb Gotowania",
"link-ingredients": "Podłącz składniki",
"merge-above": "Scal z powyższym",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Zresetuj Skalę",
"decrease-scale-label": "Zmniejsz Skalę o 1",
"increase-scale-label": "Zwiększ Skalę o 1",
@@ -536,8 +540,8 @@
"new-recipe-names-must-be-unique": "Nazwa przepisu musi być unikalna",
"scrape-recipe": "Scrapuj Przepis",
"scrape-recipe-description": "Wczytaj przepis przez URL. Podaj adres URL witryny z przepisem, który chcesz wczytać, a Mealie spróbuje wyodrębnić przepis z tej strony i dodać go do kolekcji.",
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
"scrape-recipe-have-a-lot-of-recipes": "Masz mnóstwo przepisów, które chcesz zescrapować naraz?",
"scrape-recipe-suggest-bulk-importer": "Wypróbuj importer zbiorczy",
"import-original-keywords-as-tags": "Importuj oryginalne słowa kluczowe jako tagi",
"stay-in-edit-mode": "Pozostań w trybie edycji",
"import-from-zip": "Importuj z pliku Zip",
@@ -561,7 +565,7 @@
"upload-image": "Prześlij obraz",
"screen-awake": "Pozostaw ekran włączony",
"remove-image": "Usuń obraz",
"nextStep": "Next step"
"nextStep": "Następny krok"
},
"search": {
"advanced-search": "Wyszukiwanie zaawansowane",
@@ -598,7 +602,7 @@
"import-summary": "Podsumowanie importu",
"partial-backup": "Częściowa kopia zapasowa",
"unable-to-delete-backup": "Nie można usunąć kopii zapasowej.",
"experimental-description": "Kopia zapasowa wszystkich migawek bazy danych i katalogu danych witryny. Obejmuje to wszystkie dane i nie można ich ustawić, aby wykluczyć podzbiory danych. Możesz to pomyśleć o tym jako zrzut Mączki w określonym czasie. Obecnie {not-crossed-version} (migracje danych nie są wykonywane automatycznie). Służą one jako agnostyczny sposób eksportowania i importu danych lub tworzenia kopii zapasowej witryny do zewnętrznej lokalizacji.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Przywróć kopie",
"back-restore-description": "Przywracanie tej kopii zapasowej nadpisze wszystkie aktualne dane w bazie danych i w katalogu danych i zastąpi je zawartością tej kopii zapasowej. {cannot-be-undone} Jeśli przywrócenie zakończy się pomyślnie, zostaniesz wylogowany.",
"cannot-be-undone": "Tej czynności nie można cofnąć - należy zachować ostrożność.",
@@ -806,7 +810,7 @@
"create-new-tool": "Utwórz nowe narzędzie",
"on-hand-checkbox-label": "Pokaż jako Posiadane (Zaznaczono)",
"required-tools": "Wymagane Narzędzia",
"tool": "Tool"
"tool": "Narzędzie"
},
"user": {
"admin": "Administrator",
@@ -934,7 +938,7 @@
"merging-unit-into-unit": "Scalanie {0} do {1}",
"create-unit": "Utwórz Jednostkę",
"abbreviation": "Skrócona nazwa",
"plural-abbreviation": "Plural Abbreviation",
"plural-abbreviation": "Skrót liczby mnogiej",
"description": "Opis",
"display-as-fraction": "Wyświetlaj jako ułamek",
"use-abbreviation": "Używaj skróconej nazwy",
@@ -944,7 +948,7 @@
"fraction": "Ułamki",
"example-unit-singular": "np. Łyżka stołowa",
"example-unit-plural": "np. Łyżki stołowe",
"example-unit-abbreviation-singular": "ex: Tbsp",
"example-unit-abbreviation-singular": "na przykład: Łyżka stołowa",
"example-unit-abbreviation-plural": "ex: Tbsps"
},
"labels": {
@@ -1185,6 +1189,8 @@
"require-all-tags": "Wymagaj wszystkich tagów",
"require-all-tools": "Wymagaj wszystkich narzędzi",
"cookbook-name": "Nazwa książki kucharskiej",
"cookbook-with-name": "Książka kucharska {0}"
"cookbook-with-name": "Książka kucharska {0}",
"create-a-cookbook": "Utwórz nową książkę kucharską",
"cookbook": "Książka kucharska"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Salvar",
"settings": "Configurações",
"share": "Compartilhar",
"show-all": "Show All",
"shuffle": "Aleatório",
"sort": "Ordenar",
"sort-alphabetically": "Alfabética",
@@ -199,7 +200,8 @@
"upload-file": "Enviar arquivo",
"created-on-date": "Criado em {0}",
"unsaved-changes": "Você possui alterações não salvas. Deseja salvar antes de sair? Ok para salvar, Cancelar para descartar alterações.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"clipboard-copy-failure": "Failed to copy to the clipboard.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Tem certeza que deseja excluir o grupo <b>{groupName}<b/>?",
@@ -493,6 +495,8 @@
"cook-mode": "Modo Cozinheiro",
"link-ingredients": "Vincular ingredientes",
"merge-above": "Mesclar acima",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Redefinir escala",
"decrease-scale-label": "Diminuir Escala por 1",
"increase-scale-label": "Aumentar Escala por 1",
@@ -598,7 +602,7 @@
"import-summary": "Resumo da importação",
"partial-backup": "Backup parcial",
"unable-to-delete-backup": "Não foi possível apagar o backup.",
"experimental-description": "Backups a total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think off this as a snapshot of Mealie at a specific time. Currently, {not-crossed-version} (data migrations are not done automatically). These serve as a database agnostic way to export and import data or backup the site to an external location.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Restauração de Backup",
"back-restore-description": "Restaurar este backup substituirá todos os dados atuais no seu banco de dados e no diretório de dados e os substituirá pelo conteúdo deste backup. {cannot-be-undone} Se a restauração for bem-sucedida, você será desconectado.",
"cannot-be-undone": "Esta ação não pode ser desfeita - use com cautela.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Exigir todos os marcadores",
"require-all-tools": "Exigir todas as ferramentas",
"cookbook-name": "Nome do Livro de Receitas",
"cookbook-with-name": "Livro de Receitas {0}"
"cookbook-with-name": "Livro de Receitas {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -1,7 +1,7 @@
{
"about": {
"about": "Sobre",
"about-mealie": "Sobre Mealie",
"about-mealie": "Sobre o Mealie",
"api-docs": "Documentação de API",
"api-port": "Porta da API",
"application-mode": "Modo de aplicação",
@@ -12,9 +12,9 @@
"demo-status": "Estado da demonstração",
"development": "Desenvolvimento",
"docs": "Documentação",
"download-log": "Transferir registo",
"download-log": "Transferir Log",
"download-recipe-json": "Último JSON recuperado",
"github": "GitHub",
"github": "Github",
"log-lines": "Linhas de registo",
"not-demo": "Não Demonstração",
"portfolio": "Portefólio",
@@ -56,7 +56,7 @@
"event-delete-confirmation": "Tem a certeza que pretende eliminar este evento?",
"event-deleted": "Evento eliminado",
"event-updated": "Evento atualizado",
"new-notification-form-description": "O Mealie usa a biblioteca Apprise para gerar notificações. Eles oferecem muitas opções de serviços para notificações. Consulte a wiki para um guia abrangente sobre como criar o URL para o seu serviço. Se disponível, selecionar o tipo de notificação pode incluir recursos extras.",
"new-notification-form-description": "O Mealie usa a biblioteca Apprise para gerar notificações. Esta oferece muitas opções de serviços para notificações. Consulte a sua wiki para um guia abrangente sobre como criar o URL para o seu serviço. Se disponível, selecionar o tipo de notificação pode incluir recursos extra.",
"new-version": "Nova versão disponível!",
"notification": "Notificação",
"refresh": "Atualizar",
@@ -136,12 +136,13 @@
"recent": "Recente",
"recipe": "Receita",
"recipes": "Receitas",
"rename-object": "Renomear {0}",
"rename-object": "Alterar nome {0}",
"reset": "Repor",
"saturday": "Sábado",
"save": "Guardar",
"settings": "Definições",
"share": "Partilhar",
"show-all": "Mostrar todos",
"shuffle": "Baralhar",
"sort": "Ordenar",
"sort-alphabetically": "Ordem alfabética",
@@ -176,7 +177,7 @@
"none": "Nenhum",
"run": "Executar",
"menu": "Ementa",
"a-name-is-required": "É necessário um nome",
"a-name-is-required": "O Nome é obrigatório",
"delete-with-name": "Eliminar {name}",
"confirm-delete-generic-with-name": "Tem a certeza de que quer apagar este {name}?",
"confirm-delete-own-admin-account": "Por favor, tenha em atenção que está a eliminar a sua própria conta de administrador! Esta ação não pode ser anulada e eliminará a sua conta permanentemente?",
@@ -199,10 +200,11 @@
"upload-file": "Carregar ficheiro",
"created-on-date": "Criado em: {0}",
"unsaved-changes": "Tem alterações por gravar. Quer gravar antes de sair? OK para gravar, Cancelar para descartar alterações.",
"clipboard-copy-failure": "Erro ao copiar para a área de transferência."
"clipboard-copy-failure": "Erro ao copiar para a área de transferência.",
"confirm-delete-generic-items": "Tem a certeza de que deseja eliminar os seguintes itens?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Tem a certeza que quer eliminar <b>{groupName}</b>?",
"are-you-sure-you-want-to-delete-the-group": "Tem a certeza que quer eliminar <b>{groupName}<b/>?",
"cannot-delete-default-group": "Não é possível eliminar o grupo pré-definido",
"cannot-delete-group-with-users": "Não é possível eliminar grupo com utilizadores",
"confirm-group-deletion": "Confirmar eliminação do grupo",
@@ -230,7 +232,7 @@
"manage": "Gerir",
"invite": "Convidar",
"looking-to-update-your-profile": "Procura atualizar o seu perfil?",
"default-recipe-preferences-description": "Estas são as configurações padrão quando uma receita nova é criada no seu grupo. Isto pode ser alterado para receitas individuais no menu de configurações da receita.",
"default-recipe-preferences-description": "Estas são as configurações padrão quando uma nova receita é criada no seu grupo. Estas podem ser alteradas para receitas individuais no menu de configurações de receitas.",
"default-recipe-preferences": "Preferências padrão de receita",
"group-preferences": "Preferências do Grupo",
"private-group": "Grupo Privado",
@@ -283,7 +285,7 @@
"quick-week": "Semana Rápida",
"side": "Acompanhamento",
"sides": "Acompanhamentos",
"start-date": "Data de Inicio",
"start-date": "Data de Início",
"rule-day": "Dia de Regra",
"meal-type": "Tipo de refeição",
"breakfast": "Pequeno-almoço",
@@ -319,7 +321,7 @@
"no-file-selected": "Nenhum ficheiro selecionado",
"no-migration-data-available": "Não há dados de migração disponíveis",
"previous-migrations": "Migrações anteriores",
"recipe-migration": "Migração da Receita",
"recipe-migration": "Migração de Receitas",
"chowdown": {
"description": "Migrar dados do Chowdown",
"description-long": "Mealie suporta de forma nativa o formato de repositório chowdown. Descarregue o repositório de código como ficheiro .zip e carregue-o abaixo.",
@@ -343,7 +345,7 @@
"title": "Mealie Pre v1.0"
},
"tandoor": {
"description-long": "Mealie pode importar receitas a partir da Tandoor. Exporte os seus dados no formato \"Padrão\" e faça o upload do arquivo .zip abaixo.",
"description-long": "O Mealie pode importar receitas a partir da Tandoor. Exporte os seus dados no formato \"Padrão\" e faça o upload do .zip abaixo.",
"title": "Receitas do Tandoor"
},
"recipe-data-migrations": "Migrações de dados de receita",
@@ -365,11 +367,11 @@
"bulk-add": "Adicionar Vários",
"error-details": "Apenas sites contendo ld+json ou microdata podem ser importados pela Mealie. Os principais sites de receitas suportam esta estrutura de dados. Se o seu site não pode ser importado, mas há dados json no log, coloque uma questão no github com o URL e os dados.",
"error-title": "Parece que não conseguimos encontrar nada",
"from-url": "Do URL",
"from-url": "Importar uma Receita",
"github-issues": "GitHub Issues",
"google-ld-json-info": "Google ld+json Info",
"must-be-a-valid-url": "Tem de ser um URL válido",
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Insira os dados da sua receita. Cada linha será tratada como um item numa lista.",
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Cole os dados da sua receita. Cada linha será tratada como um item numa lista",
"recipe-markup-specification": "Especificação Markup da Receita",
"recipe-url": "URL da Receita",
"upload-a-recipe": "Enviar uma Receita",
@@ -409,7 +411,7 @@
"comment-action": "Comentário",
"comment": "Comentário",
"comments": "Comentários",
"delete-confirmation": "Tem a certeza que deseja eliminar esta receita?",
"delete-confirmation": "Tem a certeza de que deseja eliminar esta receita?",
"delete-recipe": "Eliminar Receita",
"description": "Descrição",
"disable-amount": "Desativar Quantidades dos Ingredientes",
@@ -429,7 +431,7 @@
"landscape-view-coming-soon": "Modo paisagem",
"milligrams": "miligramas",
"new-key-name": "Novo nome da Chave",
"no-white-space-allowed": "Espaço em Branco não Permitido",
"no-white-space-allowed": "Não são permitidos espaços em branco",
"note": "Nota",
"nutrition": "Nutrição",
"object-key": "Chave do Objeto",
@@ -493,6 +495,8 @@
"cook-mode": "Modo Cozinheiro",
"link-ingredients": "Associar ingredientes",
"merge-above": "Fundir acima",
"move-to-bottom": "Mover para o Fundo",
"move-to-top": "Mover para o Topo",
"reset-scale": "Reiniciar escala",
"decrease-scale-label": "Diminuir Escala por 1",
"increase-scale-label": "Aumentar Escala em 1",
@@ -534,8 +538,8 @@
"debug-scraper": "Depurar Scraper",
"create-a-recipe-by-providing-the-name-all-recipes-must-have-unique-names": "Crie uma receita fornecendo o nome. Todas as receitas devem ter nomes únicos.",
"new-recipe-names-must-be-unique": "Os nomes de receitas devem ser únicos",
"scrape-recipe": "Obter receita da Web (Scrape)",
"scrape-recipe-description": "Fazer scrape a receita por URL. Indique o URL da página a que quer fazer scrape e o Mealie tentará obter a receita dessa página e adicioná-la à sua coleção.",
"scrape-recipe": "Extrair receita (Scrape)",
"scrape-recipe-description": "Extrair a receita por URL. Indique o URL da página da qual quer extrair e o Mealie tentará obter a receita dessa página e adicioná-la à sua coleção.",
"scrape-recipe-have-a-lot-of-recipes": "Tem muitas receitas para processar em simultâneo?",
"scrape-recipe-suggest-bulk-importer": "Experimente o importador em massa",
"import-original-keywords-as-tags": "Importar palavras-chave originais como etiquetas",
@@ -598,7 +602,7 @@
"import-summary": "Resumo da importação",
"partial-backup": "Backup Parcial",
"unable-to-delete-backup": "Erro ao eliminar Backup.",
"experimental-description": "Faz backup total da base de dados e da pasta de dados do site. Isto inclui todos os dados e não pode excluir subconjuntos de dados. Pode ver isto como uma fotografia do Mealie num determinado momento. Atualmente, {not-crossed-version} (as migrações de dados são feitas automaticamente). Isto é uma forma agnóstica de exportar e importar dados ou fazer backup do site para uma localização externa.",
"experimental-description": "Os backups são imagens totais da base de dados e da pasta de dados do site. Inclui todos os dados e não é possível definir para excluir subconjuntos de dados. Pode pensar nisto como uma imagem do Mealie num momento específico. Estas servem como uma forma agnóstica de exportar e importar dados ou fazer cópias de segurança do site para uma localização externa.",
"backup-restore": "Restaurar backup",
"back-restore-description": "Restaurar este backup irá apagar todos os dados atuais da sua base de dados e da pasta de dados e substituí-los pelo conteúdo deste backup. {cannot-be-undone} Se o restauro for bem-sucedido, a sua sessão será encerrada.",
"cannot-be-undone": "Esta acção não pode ser desfeita - use com prudência.",
@@ -685,12 +689,12 @@
},
"webhooks": {
"test-webhooks": "Webhooks de Teste",
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "Os URLs apresentados abaixo receberão webhooks que contêm os dados da receita para o plano de refeições no dia marcado. Atualmente, os webhooks serão executados a ",
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "Os URLs apresentados abaixo receberão webhooks que contêm os dados da receita para o plano de refeições no dia marcado. Atualmente, os webhooks serão executados a",
"webhook-url": "URL do webhook",
"webhooks-caps": "WEBHOOKS",
"webhooks": "Webhooks",
"webhook-name": "Nome do Webhook",
"description": "Os Webhooks definidos abaixo serão executados quando uma refeição for definida para o dia. À hora marcada, os webhooks serão enviados com os dados da receita que está agendada para o dia. Observe que a execução do webhook não é exacta. Os webhooks são executados num intervalo de 5 minutos, de modo que os webhooks serão executados dentro de + /- 5 minutos da hora marcada."
"description": "Os webhooks definidos abaixo serão executados quando for definida uma refeição para o dia. À hora programada, os webhooks serão enviados com os dados da receita que está programada para o dia. Note-se que a execução do webhook não é exacta. Os webhooks são executados num intervalo de 5 minutos, pelo que serão executados num intervalo de +/- 5 minutos em relação à hora programada."
},
"bug-report": "Relatório de erro",
"bug-report-information": "Use esta informação para relatar um erro. Fornecer os detalhes da sua configuração para o criador da aplicação, é a melhor maneira de resolver os seus problemas rapidamente.",
@@ -715,10 +719,10 @@
"mealie-is-up-to-date": "Mealie está atualizado",
"secure-site": "Site Seguro",
"secure-site-error-text": "Servir via localhost ou proteja com https. A Área de Transferência e as APIs do navegador podem não funcionar.",
"secure-site-success-text": "O site é acedido por localhost ou https",
"secure-site-success-text": "O site é acedido via localhost ou https",
"server-side-base-url": "URL Base do Servidor",
"server-side-base-url-error-text": "O `BASE_URL` no Servidor API ainda está definido com o valor padrão. Isso causará problemas com ligações geradas no servidor para emails, etc.",
"server-side-base-url-success-text": "O URL do Servidor não corresponde com o valor padrão",
"server-side-base-url-success-text": "O URL do lado do servidor não coincide com o valor padrão",
"ldap-ready": "LDAP Pronto",
"ldap-ready-error-text": "Nem todos os valores LDAP estão configurados. Isso pode ser ignorado se não estiver a utilizar a autenticação LDAP.",
"ldap-ready-success-text": "As variáveis LDAP necessárias estão todas definidas.",
@@ -737,11 +741,11 @@
"food": "Alimentos",
"note": "Nota",
"label": "Rótulo",
"linked-item-warning": "Este item tem ligação a uma ou mais receitas. Ajustar as unidades ou alimentos irá produzir resultados inesperados quando adicionar ou remover a receita da lista.",
"toggle-food": "Alterar para Alimento",
"linked-item-warning": "Este item tem ligação a uma ou mais receitas. Ajustar as unidades ou alimentos irá produzir resultados inesperados quando adicionar ou remover a receita desta lista.",
"toggle-food": "Alternar Alimento",
"manage-labels": "Gerir Rótulos",
"are-you-sure-you-want-to-delete-this-item": "Tem a certeza que pretende remover este item?",
"copy-as-text": "Copiar como Texto Simples",
"are-you-sure-you-want-to-delete-this-item": "Tem a certeza de que pretende remover este item?",
"copy-as-text": "Copiar como Texto",
"copy-as-markdown": "Copiar como Markdown",
"delete-checked": "Apagar Seleção",
"toggle-label-sort": "Alternar Ordenação de Rótulos",
@@ -810,8 +814,8 @@
},
"user": {
"admin": "Administrador",
"are-you-sure-you-want-to-delete-the-link": "Tem a certeza que quer eliminar este link <b>{link}<b/>?",
"are-you-sure-you-want-to-delete-the-user": "Tem a certeza que quer eliminar este utilizador <b>{activeName} ID: {activeId}<b/>?",
"are-you-sure-you-want-to-delete-the-link": "Tem a certeza de que quer eliminar este link <b>{link}<b/>?",
"are-you-sure-you-want-to-delete-the-user": "Tem a certeza de que quer eliminar este utilizador <b>{activeName} ID: {activeId}<b/>?",
"auth-method": "Método de Autenticação",
"confirm-link-deletion": "Confirme a Eliminação da Ligação",
"confirm-password": "Confirmar Palavra-passe",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Requer todas as etiquetas",
"require-all-tools": "Requer todas os utensílios",
"cookbook-name": "Nome do Livro de Receitas",
"cookbook-with-name": "Livro de Receitas {0}"
"cookbook-with-name": "Livro de Receitas {0}",
"create-a-cookbook": "Criar um Livro de Receitas",
"cookbook": "Livro de Receitas"
}
}

View File

@@ -3,8 +3,8 @@
"about": "Despre",
"about-mealie": "Despre Mealie",
"api-docs": "Documentație API",
"api-port": "Port API",
"application-mode": "Mod aplicație",
"api-port": "API Port",
"application-mode": "Application Mode",
"database-type": "Tipul bazei de date",
"database-url": "URL bază de date",
"default-group": "Grup implicit",
@@ -15,7 +15,7 @@
"download-log": "Descarcă jurnal",
"download-recipe-json": "Ultimul fișier JSON parcurs",
"github": "GitHub",
"log-lines": "Linii de log",
"log-lines": "Linii de jurnal",
"not-demo": "Nu este Demo",
"portfolio": "Portofoliu",
"production": "Producție",
@@ -40,9 +40,9 @@
"category-created": "Categorie creată",
"category-creation-failed": "Crearea categoriei a eșuat",
"category-deleted": "Categorie ștearsă",
"category-deletion-failed": "Ştergerea categoriei a eşuat",
"category-deletion-failed": "Ștergerea categoriei a eșuat",
"category-filter": "Filtru categorie",
"category-update-failed": "Actualizarea categoriei a eşuat",
"category-update-failed": "Actualizarea categoriei a eșuat",
"category-updated": "Categorie actualizată",
"uncategorized-count": "Necategorizat {count}",
"create-a-category": "Creați o categorie",
@@ -50,7 +50,7 @@
"category": "Categorie"
},
"events": {
"apprise-url": "URL Apprise",
"apprise-url": "URL Apprise app",
"database": "Bază de date",
"delete-event": "Șterge evenimentul",
"event-delete-confirmation": "Ești sigur(ă) că vrei să ștergi acest eveniment?",
@@ -84,7 +84,7 @@
"clear": "Șterge",
"close": "Închide",
"confirm": "Confirmă",
"confirm-delete-generic": "Ești sigur(ă) că dorești să ștergi aceast element?",
"confirm-delete-generic": "Ești sigur(ă) că dorești să ștergi acest element?",
"copied_message": "Copiat!",
"create": "Creează",
"created": "Creat",
@@ -142,6 +142,7 @@
"save": "Salvează",
"settings": "Setări",
"share": "Distribuie",
"show-all": "Show All",
"shuffle": "Redați aleatoriu",
"sort": "Sortează",
"sort-alphabetically": "Alfabetic",
@@ -178,8 +179,8 @@
"menu": "Meniu",
"a-name-is-required": "Este necesar un nume",
"delete-with-name": "Ștergere {name}",
"confirm-delete-generic-with-name": "Sunteți sigur că vrei să ștergi {name}?",
"confirm-delete-own-admin-account": "Te rugăm să reții că încerci să ștergi propriul cont de administrator! Această acțiune nu poate fi anulată și iți va șterge permanent contul?",
"confirm-delete-generic-with-name": "Ești sigur(ă) că vrei să ștergi {name}?",
"confirm-delete-own-admin-account": "Te rugăm să reții că încerci să ștergi propriul cont de administrator! Această acțiune nu poate fi anulată și iți va șterge permanent contul",
"organizer": "Organizator",
"transfer": "Transferă",
"copy": "Copiază",
@@ -199,7 +200,8 @@
"upload-file": "Încărcă fișier",
"created-on-date": "Creat pe {0}",
"unsaved-changes": "Aveți modificări nesalvate. Doriți să salvați înainte de a închide aplicația? Apăsați \"OK\" pentru a salva sau \"Anulare\" pentru a renunța la modificări.",
"clipboard-copy-failure": "Copierea în clipboard a eșuat."
"clipboard-copy-failure": "Copierea în clipboard a eșuat.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Sunteți sigur că doriți să ștergeți <b>{groupName}<b/>?",
@@ -315,11 +317,11 @@
},
"migration": {
"migration-data-removed": "Datele migrării au fost șterse",
"new-migration": "New Migration",
"no-file-selected": "No File Selected",
"new-migration": "Migrare nouă",
"no-file-selected": "Nici un fișier selecționat",
"no-migration-data-available": "No Migration Data Available",
"previous-migrations": "Previous Migrations",
"recipe-migration": "Recipe Migration",
"previous-migrations": "Migrări anterioare",
"recipe-migration": "Migrare rețeta",
"chowdown": {
"description": "Migrează datele din Chowdown",
"description-long": "Mealie natively supports the chowdown repository format. Download the code repository as a .zip file and upload it below.",
@@ -364,55 +366,55 @@
"new-recipe": {
"bulk-add": "Adăugare în masă",
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
"error-title": "Looks Like We Couldn't Find Anything",
"error-title": "Se pare că nu am găsit nimic",
"from-url": "Importați o rețetă",
"github-issues": "GitHub Issues",
"google-ld-json-info": "Google ld+json Info",
"must-be-a-valid-url": "Trebuie să fie o adresă URL validă",
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list",
"recipe-markup-specification": "Recipe Markup Specification",
"recipe-url": "Recipe URL",
"upload-a-recipe": "Upload a Recipe",
"recipe-markup-specification": "Specificație Markup rețetă",
"recipe-url": "URL rețetă",
"upload-a-recipe": "Încarcă o rețetă",
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.",
"url-form-hint": "Copy and paste a link from your favorite recipe website",
"url-form-hint": "Copiază și lipește un link de pe site-ul tău web preferat de rețete",
"view-scraped-data": "View Scraped Data",
"trim-whitespace-description": "Trim leading and trailing whitespace as well as blank lines",
"trim-prefix-description": "Trim first character from each line",
"split-by-numbered-line-description": "Attempts to split a paragraph by matching '1)' or '1.' patterns",
"import-by-url": "Import a recipe by URL",
"create-manually": "Create a recipe manually",
"make-recipe-image": "Make this the recipe image"
"import-by-url": "Importă rețetă prin URL",
"create-manually": "Creează o rețetă manual",
"make-recipe-image": "Setează ca imaginea rețetei"
},
"page": {
"404-page-not-found": "404 Page not found",
"all-recipes": "All Recipes",
"new-page-created": "New page created",
"page": "Page",
"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 Not Found",
"an-error-occurred": "An error occurred"
"404-page-not-found": "404 Pagina nu a fost găsită",
"all-recipes": "Toate rețetele",
"new-page-created": "Pagină nouă creată",
"page": "Pagină",
"page-creation-failed": "Crearea paginii a eșuat",
"page-deleted": "Pagină ștearsă",
"page-deletion-failed": "Ștergerea paginii a eșuat",
"page-update-failed": "Actualizarea paginii a eșuat",
"page-updated": "Pagina a fost actualizată",
"pages-update-failed": "Actualizarea paginilor a eșuat",
"pages-updated": "Pagini actualizate",
"404-not-found": "404 Pagina nu a fost gasita",
"an-error-occurred": "A intervenit o eroare"
},
"recipe": {
"add-key": "Add Key",
"add-to-favorites": "Add to Favorites",
"add-key": "Adăugați cheia",
"add-to-favorites": "Adaugă la Favorite",
"api-extras": "API Extras",
"calories": "Calories",
"calories-suffix": "calories",
"carbohydrate-content": "Carbohydrate",
"categories": "Categories",
"comment-action": "Comment",
"comment": "Comment",
"calories": "Calorii",
"calories-suffix": "calorii",
"carbohydrate-content": "Carbohidrat",
"categories": "Categorii",
"comment-action": "Comentariu",
"comment": "Comentariu",
"comments": "Comentarii",
"delete-confirmation": "Sunteți sigur că doriți să ștergeți această rețetă?",
"delete-recipe": "Șterge rețeta",
"description": "Descriere",
"disable-amount": "Disable Ingredient Amounts",
"disable-amount": "Dezactivați cantitățile Ingredientelor",
"disable-comments": "Dezactivează comentariile",
"duplicate": "Reţeta duplicată",
"duplicate-name": "Denumirea noii rețete",
@@ -422,7 +424,7 @@
"grams": "grame",
"ingredient": "Ingredient",
"ingredients": "Ingrediente",
"insert-ingredient": "Insert Ingredient",
"insert-ingredient": "Inserați Ingredientul",
"insert-section": "Adăugare secțiune",
"instructions": "Instrucțiuni",
"key-name-required": "Numele cheii este necesar",
@@ -473,16 +475,16 @@
"add-to-timeline": "Adaugă la Cronologie",
"recipe-added-to-list": "Rețeta a fost adăugată la listă",
"recipes-added-to-list": "Rețeta a fost adăugată în listă",
"successfully-added-to-list": "Successfully added to list",
"successfully-added-to-list": "Adăugat cu succes la listă",
"recipe-added-to-mealplan": "Rețeta a fist adăugată la planul de mese",
"failed-to-add-recipes-to-list": "Adăugarea rețetei în listă a eșuat",
"failed-to-add-recipe-to-mealplan": "Adăugarea rețetei la planul de mese a eșuat",
"failed-to-add-to-list": "Failed to add to list",
"failed-to-add-to-list": "Adăugarea la listă a eșuat",
"yield": "Producție",
"quantity": "Cantitate",
"choose-unit": "Alegeţi unitatea",
"press-enter-to-create": "Press Enter to Create",
"choose-food": "Choose Food",
"press-enter-to-create": "Apăsați Enter pentru a crea",
"choose-food": "Alege Mâncarea",
"notes": "Notițe",
"toggle-section": "Activează/dezactivează secțiunea",
"see-original-text": "Vezi Textul Original",
@@ -493,6 +495,8 @@
"cook-mode": "Modul de gătire",
"link-ingredients": "Link-uri Ingrediente",
"merge-above": "Îmbină deasupra",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Resetează scara",
"decrease-scale-label": "Scade scara cu 1",
"increase-scale-label": "Crește scara cu 1",
@@ -513,7 +517,7 @@
"made-this": "Am făcut asta",
"how-did-it-turn-out": "Cum a ieșit?",
"user-made-this": "{user} a făcut asta",
"last-made-date": "Last Made {date}",
"last-made-date": "Ultima preparare {date}",
"api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.",
"message-key": "Message Key",
"parse": "Parse",
@@ -521,14 +525,14 @@
"drop-image": "Trage imaginea",
"enable-ingredient-amounts-to-use-this-feature": "Enable ingredient amounts to use this feature",
"recipes-with-units-or-foods-defined-cannot-be-parsed": "Recipes with units or foods defined cannot be parsed.",
"parse-ingredients": "Parse ingredients",
"edit-markdown": "Edit Markdown",
"recipe-creation": "Recipe Creation",
"select-one-of-the-various-ways-to-create-a-recipe": "Select one of the various ways to create a recipe",
"parse-ingredients": "Analizează ingredientele",
"edit-markdown": "Editează Markdown",
"recipe-creation": "Crearea rețetei",
"select-one-of-the-various-ways-to-create-a-recipe": "Selectează una dintre diferitele modalități de a crea o rețetă",
"looking-for-migrations": "Looking For Migrations?",
"import-with-url": "Import with URL",
"create-recipe": "Create Recipe",
"import-with-zip": "Import with .zip",
"import-with-url": "Import cu URL",
"create-recipe": "Crează rețetă",
"import-with-zip": "Importă cu .zip",
"create-recipe-from-an-image": "Create recipe from an image",
"bulk-url-import": "Bulk URL Import",
"debug-scraper": "Depanare funcție Importare",
@@ -598,7 +602,7 @@
"import-summary": "Import Summary",
"partial-backup": "Partial Backup",
"unable-to-delete-backup": "Unable to Delete Backup.",
"experimental-description": "Backups a total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think off this as a snapshot of Mealie at a specific time. Currently, {not-crossed-version} (data migrations are not done automatically). These serve as a database agnostic way to export and import data or backup the site to an external location.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Backup Restore",
"back-restore-description": "Restoring this backup will overwrite all the current data in your database and in the data directory and replace them with the contents of this backup. {cannot-be-undone} If the restoration is successful, you will be logged out.",
"cannot-be-undone": "This action cannot be undone - use with caution.",
@@ -608,13 +612,13 @@
"restore-backup": "Restore Backup"
},
"backup-and-exports": "Backups",
"change-password": "Change Password",
"current": "Version:",
"custom-pages": "Custom Pages",
"edit-page": "Edit Page",
"events": "Events",
"first-day-of-week": "First day of the week",
"group-settings-updated": "Group Settings Updated",
"change-password": "Schimbă parola",
"current": "Versiune:",
"custom-pages": "Pagini personalizate",
"edit-page": "Editare pagină",
"events": "Evenimente",
"first-day-of-week": "Prima zi a săptămânii",
"group-settings-updated": "Setări de grup actualizate",
"homepage": {
"all-categories": "All Categories",
"card-per-section": "Card Per Section",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Require All Tags",
"require-all-tools": "Require All Tools",
"cookbook-name": "Cookbook Name",
"cookbook-with-name": "Cookbook {0}"
"cookbook-with-name": "Cookbook {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Сохранить",
"settings": "Настройки",
"share": "Поделиться",
"show-all": "Show All",
"shuffle": "Перемешать",
"sort": "Сортировать",
"sort-alphabetically": "По алфавиту",
@@ -199,7 +200,8 @@
"upload-file": "Загрузить файл",
"created-on-date": "Создано: {0}",
"unsaved-changes": "У вас есть несохраненные изменения. Вы хотите сохранить их перед выходом?",
"clipboard-copy-failure": "Не удалось скопировать текст."
"clipboard-copy-failure": "Не удалось скопировать текст.",
"confirm-delete-generic-items": "Вы уверены, что хотите удалить следующие элементы?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Вы действительно хотите удалить <b>{groupName}<b/>?",
@@ -473,11 +475,11 @@
"add-to-timeline": "Добавить в историю",
"recipe-added-to-list": "Рецепт добавлен в список",
"recipes-added-to-list": "Рецепты добавлены в список",
"successfully-added-to-list": "Successfully added to list",
"successfully-added-to-list": "Успешно добавлено в список",
"recipe-added-to-mealplan": "Рецепт добавлен в план питания",
"failed-to-add-recipes-to-list": "Не удалось добавить рецепт в список",
"failed-to-add-recipe-to-mealplan": "Не удалось добавить рецепт в план питания",
"failed-to-add-to-list": "Failed to add to list",
"failed-to-add-to-list": "Не удалось добавить в список",
"yield": "Выход",
"quantity": "Количество",
"choose-unit": "Выберите единицу измерения",
@@ -493,6 +495,8 @@
"cook-mode": "Режим готовки",
"link-ingredients": "Связать ингредиенты",
"merge-above": "Объединить с верхними",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Кол-во порций по умолчанию",
"decrease-scale-label": "Убрать порцию",
"increase-scale-label": "Добавить порцию",
@@ -598,7 +602,7 @@
"import-summary": "Сводка по импорту",
"partial-backup": "Частичное резервное копирование",
"unable-to-delete-backup": "Не получилось удалить резервную копию.",
"experimental-description": "Backups a total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think off this as a snapshot of Mealie at a specific time. Currently, {not-crossed-version} (data migrations are not done automatically). These serve as a database agnostic way to export and import data or backup the site to an external location.",
"experimental-description": "Резервные копии представляют собой полные снапшоты базы данных и каталога данных сайта. Они включают все данные без исключений. По сути, это моментальный снимок Mealie в определенный момент времени. Эти снимки позволяют экспортировать и импортировать данные, а также создавать резервные копии сайта во внешнем хранилище.",
"backup-restore": "Восстановление резервной копии",
"back-restore-description": "Восстановление этой резервной копии перезапишет все текущие данные в вашей базе данных и в каталоге данных и заменит их содержимым этой резервной копии. {cannot-be-undone} при успешном восстановлении вы выйдете из системы.",
"cannot-be-undone": "Это действие нельзя отменить, используйте с осторожностью.",
@@ -706,7 +710,7 @@
"email-configured": "Email настроен",
"email-test-results": "Результаты теста Email",
"ready": "Готово",
"not-ready": "Не готово - Проверьте переменные окружающей среды",
"not-ready": "Не готово - Проверьте переменные окружения",
"succeeded": "Выполнено успешно",
"failed": "Ошибка",
"general-about": "Общая информация",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Требовать все теги",
"require-all-tools": "Требовать все инструменты",
"cookbook-name": "Название книги рецептов",
"cookbook-with-name": "Книга рецептов {0}"
"cookbook-with-name": "Книга рецептов {0}",
"create-a-cookbook": "Создать книгу рецептов",
"cookbook": "Книга рецептов"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Uložiť",
"settings": "Nastavenia",
"share": "Zdieľať",
"show-all": "Show All",
"shuffle": "Náhodný výber",
"sort": "Usporiadať",
"sort-alphabetically": "Abecedne",
@@ -199,7 +200,8 @@
"upload-file": "Nahrať súbor",
"created-on-date": "Vytvorené: {0}",
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"clipboard-copy-failure": "Failed to copy to the clipboard.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Naozaj chcete odstrániť <b>{groupName}<b/>?",
@@ -493,6 +495,8 @@
"cook-mode": "Režim varenia",
"link-ingredients": "Prepojiť suroviny",
"merge-above": "Zlúčiť s predchádzajúcim",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Obnoviť škálovanie",
"decrease-scale-label": "Znížiť škálovanie o 1",
"increase-scale-label": "Zvýšiť škálovanie o 1",
@@ -598,7 +602,7 @@
"import-summary": "Importovať zhrnutie",
"partial-backup": "Čiastočná záloha",
"unable-to-delete-backup": "Zálohu nebolo možné odstrániť.",
"experimental-description": "Zálohuje kompletný aktuálny obsah databázy a adresára s dátami inštalácie Mealie. Toto zahŕňa všetky dáta, pričom nie je možné zo zálohy vylúčiť akúkoľvek podskupinu dát. Takúto zálohu možno považovať za obraz dátového obsahu Mealie v danom čase. Aktuálne, {not-crossed-version} (dátové migrácie nie sú vykonávané automaticky). Táto funkcionalita slúži ako databázovo agnostický spôsob exportovania a importovania dát alebo ako záloha inštalácie na externú lokáciu.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Uložiť zálohu",
"back-restore-description": "Obnovenie tejto zálohy prepíše všetky aktuálne údaje vo vašej databáze a dáta v dátovom adresári a nahradí ich obsahom tejto zálohy. {cannot-be-undone} Po úspešnom obnovení budete odhlásený.",
"cannot-be-undone": "Túto akciu nie je možné vrátiť späť - používajte s rozvahou.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Vyžadovať všetky štítky",
"require-all-tools": "Vyžadovať všetky nástroje",
"cookbook-name": "Názov kuchárky",
"cookbook-with-name": "Kuchárka {0}"
"cookbook-with-name": "Kuchárka {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -22,7 +22,7 @@
"support": "Podpora",
"version": "Verzija",
"unknown-version": "neznano",
"sponsor": "Sponsor"
"sponsor": "Sponzor"
},
"asset": {
"assets": "Viri",
@@ -53,9 +53,9 @@
"apprise-url": "Apprise URL",
"database": "Baza podatkov",
"delete-event": "Zbriši dogodek",
"event-delete-confirmation": "Are you sure you want to delete this event?",
"event-deleted": "Event Deleted",
"event-updated": "Event Updated",
"event-delete-confirmation": "Ali ste prepričani, da želite izbrisati ta dogodek?",
"event-deleted": "Dogodek izbrisan",
"event-updated": "Dogodek posodobljen",
"new-notification-form-description": "Mealie uporablja Apprise knjižnico za kreiranje obvestil. Omogoča več različnih servisov za uporabo obvestil. Preglejte njihovo wiki stran, za bolj natančen vodič, kako izdelati URL za vaš servis. Če je na voljo, so za vaš izbran servis obvestil, na voljo tudi dodane možnosti.",
"new-version": "Na voljo je nova verzija!",
"notification": "Obvestila",
@@ -64,7 +64,7 @@
"something-went-wrong": "Nekaj je šlo narobe!",
"subscribed-events": "Naročeni dogodki",
"test-message-sent": "Testno sporočilo je bilo poslano",
"new-notification": "New Notification",
"new-notification": "Novo obvestilo",
"event-notifiers": "Event Notifiers",
"apprise-url-skipped-if-blank": "Apprise URL (skipped if blank)",
"enable-notifier": "Enable Notifier",
@@ -114,12 +114,12 @@
"json": "JSON",
"keyword": "Ključna beseda",
"link-copied": "Povezava kopirana",
"loading": "Loading",
"loading": "Nalaganje",
"loading-events": "Loading Events",
"loading-recipe": "Loading recipe...",
"loading-recipe": "Nalagam recepte...",
"loading-ocr-data": "Loading OCR data...",
"loading-recipes": "Nalagam recepte",
"message": "Message",
"message": "Sporočilo",
"monday": "Ponedeljek",
"name": "Ime",
"new": "Novo",
@@ -142,11 +142,12 @@
"save": "Shrani",
"settings": "Nastavitve",
"share": "Deli",
"show-all": "Show All",
"shuffle": "Naključno",
"sort": "Razvrsti",
"sort-alphabetically": "Po abecedi",
"status": "Stanje",
"subject": "Subject",
"subject": "Zadeva",
"submit": "Pošlji",
"success-count": "Uspešno: {count}",
"sunday": "Nedelja",
@@ -186,20 +187,21 @@
"color": "Barva",
"timestamp": "Časovni žig",
"last-made": "Last Made",
"learn-more": "Learn More",
"learn-more": "Več o tem",
"this-feature-is-currently-inactive": "This feature is currently inactive",
"clipboard-not-supported": "Clipboard not supported",
"copied-to-clipboard": "Copied to clipboard",
"copied-to-clipboard": "Kopiraj v odložišče",
"your-browser-does-not-support-clipboard": "Your browser does not support clipboard",
"copied-items-to-clipboard": "No item copied to clipboard|One item copied to clipboard|Copied {count} items to clipboard",
"actions": "Actions",
"selected-count": "Selected: {count}",
"export-all": "Export All",
"refresh": "Refresh",
"upload-file": "Upload File",
"export-all": "Izvozi vse",
"refresh": "Osveži",
"upload-file": "Naloži datoteko",
"created-on-date": "Created on: {0}",
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"clipboard-copy-failure": "Failed to copy to the clipboard.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Ste prepričani, da želite izbrisati <b>{groupName}<b/>?",
@@ -225,15 +227,15 @@
"keep-my-recipes-private": "Moji recepti naj bodo privatni",
"keep-my-recipes-private-description": "Nastavi vaše skupine in vse recepte privzeto kot privatni. Kasneje lahko to vedno spremenite."
},
"manage-members": "Manage Members",
"manage-members": "Urejanje članov",
"manage-members-description": "Manage the permissions of the members in your groups. {manage} allows the user to access the data-management page {invite} allows the user to generate invitation links for other users. Group owners cannot change their own permissions.",
"manage": "Manage",
"invite": "Invite",
"invite": "Povabi",
"looking-to-update-your-profile": "Looking to Update Your Profile?",
"default-recipe-preferences-description": "These are the default settings when a new recipe is created in your group. These can be changed for individual recipes in the recipe settings menu.",
"default-recipe-preferences": "Default Recipe Preferences",
"group-preferences": "Group Preferences",
"private-group": "Private Group",
"private-group": "Zasebna skupina",
"private-group-description": "Setting your group to private will default all public view options to default. This overrides an individual recipes public view settings.",
"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": "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 group or with a pre-generated private link",
@@ -249,7 +251,7 @@
"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.",
"general-preferences": "General Preferences",
"group-recipe-preferences": "Group Recipe Preferences",
"report": "Report",
"report": "Prijavi",
"report-with-id": "Report ID: {id}",
"group-management": "Group Management",
"admin-group-management": "Admin Group Management",
@@ -407,7 +409,7 @@
"carbohydrate-content": "Ogljikovi hidrati",
"categories": "Kategorije",
"comment-action": "Pripomba",
"comment": "Comment",
"comment": "Komentar",
"comments": "Pripombe",
"delete-confirmation": "Ali želite izbrisati ta recept?",
"delete-recipe": "Izbriši recept",
@@ -472,8 +474,8 @@
"add-to-plan": "Dodaj v načrt",
"add-to-timeline": "Add to Timeline",
"recipe-added-to-list": "Recept dodan na seznam",
"recipes-added-to-list": "Recipes added to list",
"successfully-added-to-list": "Successfully added to list",
"recipes-added-to-list": "Recepti dodani na seznam",
"successfully-added-to-list": "Uspešno dodano na seznam",
"recipe-added-to-mealplan": "Recept dodan v načrtovanje obroka",
"failed-to-add-recipes-to-list": "Failed to add recipe to list",
"failed-to-add-recipe-to-mealplan": "Napaka pri dodajanji recepta v načrtovanje obroka",
@@ -493,6 +495,8 @@
"cook-mode": "Način kuhanja",
"link-ingredients": "Poveži sestavine",
"merge-above": "Združi skupaj",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Ponastavi merilo",
"decrease-scale-label": "Znižaj merilo za 1",
"increase-scale-label": "Zvišaj merilo za 1",
@@ -500,18 +504,18 @@
"public-link": "Javna povezava",
"timer": {
"kitchen-timer": "Kitchen Timer",
"start-timer": "Start Timer",
"pause-timer": "Pause Timer",
"resume-timer": "Resume Timer",
"stop-timer": "Stop Timer"
"start-timer": "Zaženi časovnik",
"pause-timer": "Ustavi časovnik",
"resume-timer": "Nadaljuj časovnik",
"stop-timer": "Ustavi časovnik"
},
"edit-timeline-event": "Edit Timeline Event",
"timeline": "Timeline",
"timeline": "Časovnica",
"timeline-is-empty": "Nothing on the timeline yet. Try making this recipe!",
"group-global-timeline": "{groupName} Global Timeline",
"open-timeline": "Open Timeline",
"made-this": "I Made This",
"how-did-it-turn-out": "How did it turn out?",
"made-this": "Naredil sem to",
"how-did-it-turn-out": "Kako se je izkazalo?",
"user-made-this": "{user} made this",
"last-made-date": "Last Made {date}",
"api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.",
@@ -557,11 +561,11 @@
"debug": "Debug",
"tree-view": "Tree View",
"recipe-yield": "Recipe Yield",
"unit": "Unit",
"upload-image": "Upload image",
"screen-awake": "Keep Screen Awake",
"remove-image": "Remove image",
"nextStep": "Next step"
"unit": "Enota",
"upload-image": "Naloži sliko",
"screen-awake": "Ohranjanje budnega zaslona",
"remove-image": "Odstrani sliko",
"nextStep": "Naslednji korak"
},
"search": {
"advanced-search": "Napredno iskanje",
@@ -598,7 +602,7 @@
"import-summary": "Povzetek uvoza",
"partial-backup": "Delna varnostna kopija",
"unable-to-delete-backup": "Napaka pri izbrisu varnostne kopije.",
"experimental-description": "Backups a total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think off this as a snapshot of Mealie at a specific time. Currently, {not-crossed-version} (data migrations are not done automatically). These serve as a database agnostic way to export and import data or backup the site to an external location.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Backup Restore",
"back-restore-description": "Restoring this backup will overwrite all the current data in your database and in the data directory and replace them with the contents of this backup. {cannot-be-undone} If the restoration is successful, you will be logged out.",
"cannot-be-undone": "This action cannot be undone - use with caution.",
@@ -712,7 +716,7 @@
"general-about": "General About",
"application-version": "Application Version",
"application-version-error-text": "Your current version ({0}) does not match the latest release. Considering updating to the latest version ({1}).",
"mealie-is-up-to-date": "Mealie is up to date",
"mealie-is-up-to-date": "Mealie je v najnovejši različici",
"secure-site": "Secure Site",
"secure-site-error-text": "Serve via localhost or secure with https. Clipboard and additional browser APIs may not work.",
"secure-site-success-text": "Site is accessed by localhost or https",
@@ -796,7 +800,7 @@
"untagged-count": "Brez značke {count}",
"create-a-tag": "Ustvari značko",
"tag-name": "Ime značke",
"tag": "Tag"
"tag": "Oznaka"
},
"tool": {
"tools": "Orodja",
@@ -877,10 +881,10 @@
"account-locked-please-try-again-later": "Account Locked. Please try again later",
"user-favorites": "User Favorites",
"password-strength-values": {
"weak": "Weak",
"good": "Good",
"strong": "Strong",
"very-strong": "Very Strong"
"weak": "Šibko",
"good": "Dobro",
"strong": "Močno",
"very-strong": "Zelo močno"
},
"user-management": "User Management",
"reset-locked-users": "Reset Locked Users",
@@ -898,7 +902,7 @@
"enable-advanced-features": "Enable advanced features",
"it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.",
"dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!",
"forgot-password": "Forgot Password",
"forgot-password": "Ste pozabili geslo",
"forgot-password-text": "Please enter your email address and we will send you a link to reset your password.",
"changes-reflected-immediately": "Changes to this user will be reflected immediately."
},
@@ -920,10 +924,10 @@
"target-food": "Target Food",
"create-food": "Create Food",
"food-label": "Food Label",
"edit-food": "Edit Food",
"edit-food": "Spremeni živilo",
"food-data": "Food Data",
"example-food-singular": "ex: Onion",
"example-food-plural": "ex: Onions"
"example-food-singular": "npr: Čebula",
"example-food-plural": "npr: Čebule"
},
"units": {
"seed-dialog-text": "Napolni podatkovno bazo z običajnimi enotami, glede na vaš lokalni jezik.",
@@ -981,12 +985,12 @@
"data-management": "Data Management",
"data-management-description": "Select which data set you want to make changes to.",
"select-data": "Select Data",
"select-language": "Select Language",
"select-language": "Izberite jezik",
"columns": "Columns",
"combine": "Combine",
"categories": {
"edit-category": "Edit Category",
"new-category": "New Category",
"edit-category": "Uredi kategorijo",
"new-category": "Nova kategorija",
"category-data": "Category Data"
},
"tags": {
@@ -1131,7 +1135,7 @@
"tasks": "Tasks"
},
"profile": {
"welcome-user": "👋 Welcome, {0}",
"welcome-user": "👋 Dobrodošel, {0}",
"description": "Manage your profile, recipes, and group settings.",
"get-invite-link": "Get Invite Link",
"get-public-link": "Get Public Link",
@@ -1150,7 +1154,7 @@
"group-settings": "Group Settings",
"group-settings-description": "Manage your common group settings like mealplan and privacy settings.",
"cookbooks-description": "Manage a collection of recipe categories and generate pages for them.",
"members": "Members",
"members": "Člani",
"members-description": "See who's in your group and manage their permissions.",
"webhooks-description": "Setup webhooks that trigger on days that you have have mealplan scheduled.",
"notifiers": "Notifiers",
@@ -1175,9 +1179,9 @@
"manage-data-migrations": "Manage Data Migrations"
},
"cookbook": {
"cookbooks": "Cookbooks",
"cookbooks": "Kuharske knjige",
"description": "Cookbooks are another way to organize recipes by creating cross sections of recipes and tags. Creating a cookbook will add an entry to the side-bar and all the recipes with the tags and categories chosen will be displayed in the cookbook.",
"public-cookbook": "Public Cookbook",
"public-cookbook": "Javna kuharska knjiga",
"public-cookbook-description": "Public Cookbooks can be shared with non-mealie users and will be displayed on your groups page.",
"filter-options": "Filter Options",
"filter-options-description": "When require all is selected the cookbook will only include recipes that have all of the items selected. This applies to each subset of selectors and not a cross section of the selected items.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Require All Tags",
"require-all-tools": "Require All Tools",
"cookbook-name": "Cookbook Name",
"cookbook-with-name": "Cookbook {0}"
"cookbook-with-name": "Cookbook {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Сачувај",
"settings": "Подешавања",
"share": "Подели",
"show-all": "Show All",
"shuffle": "Помешано",
"sort": "Сортирај",
"sort-alphabetically": "Азбучно",
@@ -199,7 +200,8 @@
"upload-file": "Учитај датотеку",
"created-on-date": "Крерирано: {0}",
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
"clipboard-copy-failure": "Failed to copy to the clipboard."
"clipboard-copy-failure": "Failed to copy to the clipboard.",
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Да ли сте сигурни да желите да обришете <b>{groupName}<b/>?",
@@ -493,6 +495,8 @@
"cook-mode": "Cook Mode",
"link-ingredients": "Повежи састојке",
"merge-above": "Merge Above",
"move-to-bottom": "Move To Bottom",
"move-to-top": "Move To Top",
"reset-scale": "Reset Scale",
"decrease-scale-label": "Decrease Scale by 1",
"increase-scale-label": "Increase Scale by 1",
@@ -598,7 +602,7 @@
"import-summary": "Import Summary",
"partial-backup": "Partial Backup",
"unable-to-delete-backup": "Unable to Delete Backup.",
"experimental-description": "Резервне копије су потпуни снимци базе података и директоријума са подацима сајта. Ово укључује све податке и не може се подесити да искључује подскупове података. Схватите ово као снимак Милија у одређено време. Они служе као база података која није зависна од типа за извоз и увоз података, или за резервну копију сајта на спољну локацију.",
"experimental-description": "Backups are total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think of this as a snapshot of Mealie at a specific time. These serve as a database agnostic way to export and import data, or back up the site to an external location.",
"backup-restore": "Backup Restore",
"back-restore-description": "Restoring this backup will overwrite all the current data in your database and in the data directory and replace them with the contents of this backup. {cannot-be-undone} If the restoration is successful, you will be logged out.",
"cannot-be-undone": "This action cannot be undone - use with caution.",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Захтевај све ознаке",
"require-all-tools": "Захтева сав прибор",
"cookbook-name": "Cookbook Name",
"cookbook-with-name": "Кувар {0}"
"cookbook-with-name": "Кувар {0}",
"create-a-cookbook": "Create a Cookbook",
"cookbook": "Cookbook"
}
}

View File

@@ -19,7 +19,7 @@
"not-demo": "Inte Demo",
"portfolio": "Portfölj",
"production": "Produktion",
"support": "Hjälp",
"support": "Support",
"version": "Version",
"unknown-version": "okänd",
"sponsor": "Sponsor"
@@ -61,14 +61,14 @@
"notification": "Notifiering",
"refresh": "Uppdatera",
"scheduled": "Schemalagd",
"something-went-wrong": "Hmmm, något blev fel!",
"something-went-wrong": "Någonting gick fel",
"subscribed-events": "Prenumererade händelser",
"test-message-sent": "Testmeddelande Skickat",
"new-notification": "Ny avisering",
"event-notifiers": "Händelseavisering",
"apprise-url-skipped-if-blank": "Meddela URL (hoppa över om tom)",
"apprise-url-skipped-if-blank": "Apprise-URL (hoppa över om tom)",
"enable-notifier": "Aktivera avisering",
"what-events": "Vilka händelser bör denna avisering prenumerera på?",
"what-events": "Vilka händelser ska denna avisering prenumerera på?",
"user-events": "Användarhändelser",
"mealplan-events": "Händelser för måltidsplan",
"when-a-user-in-your-group-creates-a-new-mealplan": "När en användare i din grupp skapar en ny måltidsplan",
@@ -142,6 +142,7 @@
"save": "Spara",
"settings": "Inställningar",
"share": "Dela",
"show-all": "Show All",
"shuffle": "Blanda",
"sort": "Sortering",
"sort-alphabetically": "Alfabetisk",
@@ -199,7 +200,8 @@
"upload-file": "Ladda upp fil",
"created-on-date": "Skapad {0}",
"unsaved-changes": "Du har osparade ändringar. Vill du spara innan du lämnar? Tryck Okej att spara, Avbryt för att ignorera ändringar.",
"clipboard-copy-failure": "Det gick inte att kopiera till urklipp."
"clipboard-copy-failure": "Det gick inte att kopiera till urklipp.",
"confirm-delete-generic-items": "Är du säker på att du vill radera följande objekt?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Är du säker på att du vill radera <b>{groupName}<b/>?",
@@ -258,7 +260,7 @@
},
"meal-plan": {
"create-a-new-meal-plan": "Skapa en ny måltidsplan",
"update-this-meal-plan": "Update this Meal Plan",
"update-this-meal-plan": "Uppdatera denna måltidsplan",
"dinner-this-week": "Veckans middagar",
"dinner-today": "Middag idag",
"dinner-tonight": "Middag ikväll",
@@ -473,11 +475,11 @@
"add-to-timeline": "Lägg till i tidslinje",
"recipe-added-to-list": "Recept tillagt i listan",
"recipes-added-to-list": "Recept tillagt i listan",
"successfully-added-to-list": "Successfully added to list",
"successfully-added-to-list": "Framgångsrikt tillagd till listan",
"recipe-added-to-mealplan": "Recept tillagt i måltidsplanen",
"failed-to-add-recipes-to-list": "Det gick inte att lägga till recept till listan",
"failed-to-add-recipe-to-mealplan": "Det gick inte att lägga till recept i måltidsplanen",
"failed-to-add-to-list": "Failed to add to list",
"failed-to-add-to-list": "Misslyckades att lägga till listan",
"yield": "Ger",
"quantity": "Antal",
"choose-unit": "Välj enhet",
@@ -493,6 +495,8 @@
"cook-mode": "Matlagningsläge",
"link-ingredients": "Länka ingredienser",
"merge-above": "Sammanfoga ovanför",
"move-to-bottom": "Flytta längst ned",
"move-to-top": "Flytta längst upp",
"reset-scale": "Nollställ skalning",
"decrease-scale-label": "Skala ner med 1",
"increase-scale-label": "Skala upp med 1",
@@ -598,7 +602,7 @@
"import-summary": "Import sammanfattning",
"partial-backup": "Partiell backup",
"unable-to-delete-backup": "Kan inte radera backup.",
"experimental-description": "Säkerhetskopierar en komplett ögonblicksbild av databasen och datakatalogen på webbplatsen. Detta inkluderar all data och kan inte ställas in för att utesluta undergrupper av data. Du kan se det som en ögonblicksbild av Mealie vid en viss tidpunkt. För närvarande {not-crossed-version} (datamigreringar görs inte automatiskt). Dessa fungerar som ett agnostiskt sätt att exportera eller säkerhetskopiera siten till en extern plats.",
"experimental-description": "Säkerhetskopior en komplett ögonblicksbild av databasen och datakatalogen på webbplatsen. Detta inkluderar all data och kan inte ställas in för att utesluta undergrupper av data. Du kan se det som en ögonblicksbild av Mealie vid en viss tidpunkt. Dessa fungerar som ett agnostiskt sätt att exportera eller säkerhetskopiera hemsidan till en extern plats.",
"backup-restore": "Återställ backup",
"back-restore-description": "Återställning av den här backuppen kommer att skriva över all information i databasen och datakatalogen och ersätta allt med innehållet i nackuppen. {cannot-be-undone} Om återställningen går bra kommer du att loggas ut.",
"cannot-be-undone": "Denna åtgärd kan inte ångras - använd med försiktighet.",
@@ -1110,12 +1114,12 @@
"actions-description-irreversible": "oåterkallelig",
"logs-action-refresh": "Uppdatera loggar",
"logs-page-title": "Mealie loggar",
"logs-tail-lines-label": "Tail Lines"
"logs-tail-lines-label": "Slutrader"
},
"mainentance": {
"actions-title": "Åtgärder"
},
"ingredients-natural-language-processor": "Ingredients Natural Language Processor",
"ingredients-natural-language-processor": "Ingredienser Naturligt språkprocessor",
"ingredients-natural-language-processor-explanation": "Mealie använder villkorliga slumpfält (CRF) för tolkning och bearbetning av ingredienser. Modellen som används för ingredienser är baserad på en uppsättning data på över 100.000 ingredienser från en dataset sammanställd av New York Times. Observera att eftersom modellen endast är utbildad på engelska kan du ha olika resultat när du använder modellen på andra språk. Denna sida är en lekplats för att testa modellen.",
"ingredients-natural-language-processor-explanation-2": "Det är inte perfekt, men det ger bra resultat i allmänhet och är en bra utgångspunkt för att manuellt tolka ingredienser i enskilda områden. Alternativt kan du också använda \"Brute\" processor som använder en mönstermatchningsteknik för att identifiera ingredienser.",
"nlp": "NLP",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Kräv alla taggar",
"require-all-tools": "Kräv alla verktyg",
"cookbook-name": "Namn på kokbok",
"cookbook-with-name": "Kokbok {0}"
"cookbook-with-name": "Kokbok {0}",
"create-a-cookbook": "Skapa en kokbok",
"cookbook": "Kokbok"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Kaydet",
"settings": "Ayarlar",
"share": "Paylaş",
"show-all": "Show All",
"shuffle": "Karıştır",
"sort": "Sırala",
"sort-alphabetically": "Alfabetik",
@@ -199,7 +200,8 @@
"upload-file": "Dosya Yükle",
"created-on-date": "{0} tarihinde oluşturuldu",
"unsaved-changes": "Kaydedilmemiş değişiklikleriniz mevcut. Ayrılmadan önce kaydetmek ister misiniz? Kaydetmek için Tamam'ı, değişiklikleri iptal etmek için İptal'i seçin.",
"clipboard-copy-failure": "Panoya kopyalanamadı."
"clipboard-copy-failure": "Panoya kopyalanamadı.",
"confirm-delete-generic-items": "Aşağıdaki öğeleri silmek istediğinizden emin misiniz?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "<b>{groupName}<b/>'i silmek istediğine emin misin?",
@@ -493,11 +495,13 @@
"cook-mode": "Pişirme Modu",
"link-ingredients": "Link Ingredients",
"merge-above": "Yukarıda Birleştir",
"move-to-bottom": "En Alta taşı",
"move-to-top": "En Üste Taşı",
"reset-scale": "Ölçeği Sıfırla",
"decrease-scale-label": "Decrease Scale by 1",
"increase-scale-label": "Increase Scale by 1",
"locked": "Kilitli",
"public-link": "Public Link",
"public-link": "Genel bağlantı",
"timer": {
"kitchen-timer": "Mutfak Saati",
"start-timer": "Zamanlayıcıyı Başlat",
@@ -515,7 +519,7 @@
"user-made-this": "{user} bunu yaptı",
"last-made-date": "En Son {date} Yapıldı",
"api-extras-description": "Tarif ekstraları Mealie API'nin önemli bir özelliğidir. Üçüncü taraf uygulamalardan referans almak üzere bir tarif içinde özel JSON anahtar/değer çiftleri oluşturmanıza olanak tanır. Bu tuşları, örneğin otomasyonları tetiklemek veya istediğiniz cihaza iletilecek özel mesajları bilgi sağlamak için kullanabilirsiniz.",
"message-key": "Message Key",
"message-key": "İleti Anahtarı",
"parse": "Parse",
"attach-images-hint": "Düzenleyiciye sürükleyip bırakarak görselleri ekleyin",
"drop-image": "Yüklenecek resimi sürükleyip bırakın",
@@ -539,7 +543,7 @@
"scrape-recipe-have-a-lot-of-recipes": "Aynı anda kazımak istediğiniz birçok tarifiniz mi var?",
"scrape-recipe-suggest-bulk-importer": "Toplu ithalatçıyı deneyin",
"import-original-keywords-as-tags": "Orijinal anahtar kelimeleri etiket olarak içe aktar",
"stay-in-edit-mode": "Stay in Edit mode",
"stay-in-edit-mode": "Düzenleme modunda kalın",
"import-from-zip": "Zip'ten içeri aktar",
"import-from-zip-description": "Import a single recipe that was exported from another Mealie instance.",
"zip-files-must-have-been-exported-from-mealie": ".zip files must have been exported from Mealie",
@@ -576,23 +580,23 @@
"search": "Ara",
"search-mealie": "Search Mealie (press /)",
"search-placeholder": "Ara...",
"tag-filter": "Tag Filter",
"tag-filter": "Etiket Filtresi",
"search-hint": "Press '/'",
"advanced": "Gelişmiş",
"auto-search": "Otomatik Arama",
"no-results": "Sonuç bulunamadı"
},
"settings": {
"add-a-new-theme": "Add a New Theme",
"admin-settings": "Admin Settings",
"add-a-new-theme": "Yeni Tema Ekle",
"admin-settings": "Yönetici Ayarları",
"backup": {
"backup-created": "Yedekleme başarıyla oluşturuldu",
"backup-created-at-response-export_path": "Backup Created at {path}",
"backup-deleted": "Backup deleted",
"backup-deleted": "Yedekleme silindi",
"restore-success": "Geri yükleme başarılı",
"backup-tag": "Backup Tag",
"backup-tag": "Yedek Etiketi",
"create-heading": "Create a Backup",
"delete-backup": "Delete Backup",
"delete-backup": "Yedeği Sil",
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
"full-backup": "Tam Yedekleme",
"import-summary": "İçe aktarma özeti",
@@ -607,24 +611,24 @@
"irreversible-acknowledgment": "I understand that this action is irreversible, destructive and may cause data loss",
"restore-backup": "Yedeği Geri Yükle"
},
"backup-and-exports": "Backups",
"change-password": "Change Password",
"backup-and-exports": "Yedeklemeler",
"change-password": "Şifre Değiştir",
"current": "Sürüm:",
"custom-pages": "Custom Pages",
"custom-pages": "Özel Sayfalar",
"edit-page": "Sayfayı Düzenle",
"events": "Events",
"first-day-of-week": "First day of the week",
"group-settings-updated": "Group Settings Updated",
"events": "Olaylar",
"first-day-of-week": "Haftanın ilk günü",
"group-settings-updated": "Grup Ayarları Güncellendi",
"homepage": {
"all-categories": "All Categories",
"all-categories": "Tüm Kategoriler",
"card-per-section": "Card Per Section",
"home-page": "Ana Sayfa",
"home-page-sections": "Home Page Sections",
"show-recent": "Show Recent"
"show-recent": "Son Kullanılanları Göster"
},
"language": "Language",
"latest": "Latest",
"local-api": "Local API",
"language": "Dil",
"latest": "En Son",
"local-api": "Yerel API",
"locale-settings": "Yerel Ayarlar",
"migrations": "Migrations",
"new-page": "Yeni Sayfa",
@@ -674,11 +678,11 @@
},
"toolbox": {
"assign-all": "Assign All",
"bulk-assign": "Bulk Assign",
"new-name": "New Name",
"bulk-assign": "Toplu Atama",
"new-name": "Yeni İsim",
"no-unused-items": "No Unused Items",
"recipes-affected": "No Recipes Affected|One Recipe Affected|{count} Recipes Affected",
"remove-unused": "Remove Unused",
"remove-unused": "Kullanılmayanları Kaldır",
"title-case-all": "Title Case All",
"toolbox": "Toolbox",
"unorganized": "Unorganized"
@@ -1185,6 +1189,8 @@
"require-all-tags": "Require All Tags",
"require-all-tools": "Require All Tools",
"cookbook-name": "Cookbook Name",
"cookbook-with-name": "Cookbook {0}"
"cookbook-with-name": "Cookbook {0}",
"create-a-cookbook": "Yemek Kitabı Oluştur",
"cookbook": "Yemek kitabı"
}
}

View File

@@ -142,6 +142,7 @@
"save": "Зберегти",
"settings": "Налаштування",
"share": "Поділитись",
"show-all": "Show All",
"shuffle": "Перемішати",
"sort": "Сортувати",
"sort-alphabetically": "За алфавітом",
@@ -199,7 +200,8 @@
"upload-file": "Вивантажити файл",
"created-on-date": "Створено: {0}",
"unsaved-changes": "У вас є незбережені зміни. Ви хочете зберегти їх перед виходом? Гаразд, щоб зберегти, Скасувати, щоб скасувати.",
"clipboard-copy-failure": "Не вдалося скопіювати до буфера обміну."
"clipboard-copy-failure": "Не вдалося скопіювати до буфера обміну.",
"confirm-delete-generic-items": "Ви впевнені, що хочете видалити вибрані елементи?"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Ви дійсно бажаєте видалити <b>{groupName}<b/>?",
@@ -493,6 +495,8 @@
"cook-mode": "Режим кухаря",
"link-ingredients": "Зв'язати інгредієнти",
"merge-above": "Об'єднати з тим що вище",
"move-to-bottom": "Перемістити вниз",
"move-to-top": "Перемістити вгору",
"reset-scale": "Скинути масштабування",
"decrease-scale-label": "Зменшити масштабування на 1",
"increase-scale-label": "Збільшити масштабування на 1",
@@ -1185,6 +1189,8 @@
"require-all-tags": "Вимагати всі мітки",
"require-all-tools": "Вимагати всі інструменти",
"cookbook-name": "Назва кулінарної книги",
"cookbook-with-name": "Кулінарна книга {0}"
"cookbook-with-name": "Кулінарна книга {0}",
"create-a-cookbook": "Створити кулінарну книгу",
"cookbook": "Кулінарна книга"
}
}

Some files were not shown because too many files have changed in this diff Show More