Compare commits

...

58 Commits

Author SHA1 Message Date
vabene1111
4c0ace1d84 Merge branch 'develop' 2024-10-08 18:25:17 +02:00
vabene1111
cae26e7fe0 updated recipe scrapers 2024-10-08 18:22:03 +02:00
supaeasy
8d070349a6 Translated using Weblate (German)
Currently translated at 100.0% (570 of 570 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/de/
2024-10-02 23:58:36 +00:00
vabene1111
166697d791 Merge pull request #3340 from TandoorRecipes/revert-3326-develop
Revert "Update connectors.md"
2024-10-02 14:29:36 +02:00
vabene1111
90d93b733d Revert "Update connectors.md" 2024-10-02 14:29:24 +02:00
vabene1111
272d2e94a1 Merge pull request #3327 from IkkiOcean/patch-1
Update manual.md with required python version
2024-10-02 09:24:46 +02:00
vabene1111
f84a401714 Merge pull request #3326 from supaeasy/develop
Update connectors.md
2024-10-02 09:23:01 +02:00
Jorge Martinez
f6b19d40b1 Translated using Weblate (Spanish)
Currently translated at 99.2% (566 of 570 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/es/
2024-10-01 18:58:35 +00:00
Vivek Prakash
dae51a8d3e Update manual.md with required python version
The code written in https://github.com/TandoorRecipes/recipes/blob/develop/cookbook/connectors/connector_manager.py makes use of features introduced in Python 3.10, such as the structural pattern matching (match and case) and the union types with the pipe operator (|) which are not compatible with Python 3.9. That's why the minimum required python version for the manual installation should be python version 3.10.
2024-10-01 00:53:04 +05:30
supaeasy
d522534a12 Update connectors.md
Fixed errors in description:
- add / after api
- omit 'todo.' when adding HA-Entity
2024-09-30 14:17:18 +02:00
supaeasy
a38308a24a Translated using Weblate (German)
Currently translated at 100.0% (570 of 570 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/de/
2024-09-27 13:58:36 +00:00
supaeasy
b981960221 Translated using Weblate (German)
Currently translated at 100.0% (488 of 488 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/de/
2024-09-27 13:58:35 +00:00
nenormalniy
7d1461a752 Translated using Weblate (Russian)
Currently translated at 63.3% (361 of 570 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/ru/
2024-09-26 03:58:35 +00:00
Emmker
24a589fe41 Translated using Weblate (Greek)
Currently translated at 46.3% (226 of 488 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/el/
2024-09-23 21:58:37 +00:00
supaeasy
b1d28a46c3 Translated using Weblate (German)
Currently translated at 98.9% (483 of 488 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/de/
2024-09-23 21:58:37 +00:00
vabene1111
6b376fbfbb Merge pull request #3302 from mikhail5555/dont-log-sensitive-headers-in-err
Allow HomeAssistant Connector to work with Debug=False (and logging improvements)
2024-09-23 07:44:01 +02:00
vabene1111
c532b1f94f Merge branch 'develop' into dont-log-sensitive-headers-in-err 2024-09-23 07:43:55 +02:00
vabene1111
26ab7f5580 Merge pull request #3305 from ehowe/develop
Make HomeAssistant description field optional
2024-09-23 07:37:34 +02:00
Emmker
72c638ca6f Translated using Weblate (Greek)
Currently translated at 99.8% (569 of 570 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/el/
2024-09-22 21:31:53 +00:00
Georgii Bogdanov
5478b7d550 Translated using Weblate (Russian)
Currently translated at 62.9% (359 of 570 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/ru/
2024-09-22 21:31:52 +00:00
Mikhail Epifanov
e6eacc48d6 update code so it also works in DEBUG=false 2024-09-17 22:25:08 +02:00
Bebbe K
0259e000e3 Translated using Weblate (Swedish)
Currently translated at 61.4% (300 of 488 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/sv/
2024-09-17 11:58:35 +00:00
Eugene Howe
eb0a95f594 Make HomeAssistant description field optional 2024-09-15 10:44:30 -04:00
Muck Péter
41ee8cf66f Translated using Weblate (Hungarian)
Currently translated at 81.5% (465 of 570 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/hu/
2024-09-14 12:44:44 +00:00
Mikhail Epifanov
8c8834e6aa dont log err.headers which can contain sensitive info 2024-09-13 22:36:05 +02:00
Tomer Alcavi
145abfa344 Translated using Weblate (Hebrew)
Currently translated at 18.2% (89 of 488 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/he/
2024-09-08 12:58:37 +00:00
Jaan
f60e61e331 Translated using Weblate (Russian)
Currently translated at 62.4% (356 of 570 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/ru/
2024-09-08 12:58:37 +00:00
Sergei
fd534aba95 Translated using Weblate (Russian)
Currently translated at 62.4% (356 of 570 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/ru/
2024-09-08 12:58:37 +00:00
vabene1111
f23c99f5ea Merge pull request #3293 from TandoorRecipes/dependabot/pip/cryptography-43.0.1
Bump cryptography from 42.0.5 to 43.0.1
2024-09-06 07:32:00 +02:00
dependabot[bot]
1a14cc9513 Bump cryptography from 42.0.5 to 43.0.1
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.5 to 43.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/42.0.5...43.0.1)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-04 00:11:21 +00:00
S. v.d. Gevel
e98131ce7a Translated using Weblate (Dutch)
Currently translated at 100.0% (570 of 570 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/nl/
2024-09-03 19:58:35 +00:00
S. v.d. Gevel
7cff47efab Translated using Weblate (Dutch)
Currently translated at 100.0% (488 of 488 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/nl/
2024-09-03 19:58:35 +00:00
Stefan van der Gevel
1dcc3e06d4 Translated using Weblate (Dutch)
Currently translated at 100.0% (570 of 570 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/nl/
2024-09-02 19:31:07 +00:00
S. v.d. Gevel
9125921038 Translated using Weblate (Dutch)
Currently translated at 100.0% (570 of 570 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/nl/
2024-09-02 19:31:07 +00:00
vabene1111
eea2a2c252 Merge pull request #3287 from TandoorRecipes/dependabot/pip/pyyaml-6.0.2
Bump pyyaml from 6.0.1 to 6.0.2
2024-09-02 16:39:46 +02:00
vabene1111
9554c69a39 Merge pull request #3288 from TandoorRecipes/dependabot/pip/django-crispy-forms-2.3
Bump django-crispy-forms from 2.1 to 2.3
2024-09-02 16:39:21 +02:00
vabene1111
506ab0f0c7 Merge pull request #3290 from TandoorRecipes/dependabot/pip/pillow-10.4.0
Bump pillow from 10.3.0 to 10.4.0
2024-09-02 16:39:03 +02:00
vabene1111
3e26ca5c68 Merge pull request #3291 from TandoorRecipes/dependabot/pip/whitenoise-6.7.0
Bump whitenoise from 6.6.0 to 6.7.0
2024-09-02 16:38:51 +02:00
dependabot[bot]
3fa8a9f27e Bump whitenoise from 6.6.0 to 6.7.0
Bumps [whitenoise](https://github.com/evansd/whitenoise) from 6.6.0 to 6.7.0.
- [Changelog](https://github.com/evansd/whitenoise/blob/main/docs/changelog.rst)
- [Commits](https://github.com/evansd/whitenoise/compare/6.6.0...6.7.0)

---
updated-dependencies:
- dependency-name: whitenoise
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-01 00:34:14 +00:00
dependabot[bot]
0cdff07e4b Bump pillow from 10.3.0 to 10.4.0
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.3.0 to 10.4.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/10.3.0...10.4.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-01 00:34:11 +00:00
dependabot[bot]
8a142c3b11 Bump django-crispy-forms from 2.1 to 2.3
Bumps [django-crispy-forms](https://github.com/django-crispy-forms/django-crispy-forms) from 2.1 to 2.3.
- [Release notes](https://github.com/django-crispy-forms/django-crispy-forms/releases)
- [Changelog](https://github.com/django-crispy-forms/django-crispy-forms/blob/main/CHANGELOG.md)
- [Commits](https://github.com/django-crispy-forms/django-crispy-forms/compare/2.1...2.3)

---
updated-dependencies:
- dependency-name: django-crispy-forms
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-01 00:34:05 +00:00
dependabot[bot]
20ca7151d1 Bump pyyaml from 6.0.1 to 6.0.2
Bumps [pyyaml](https://github.com/yaml/pyyaml) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/yaml/pyyaml/releases)
- [Changelog](https://github.com/yaml/pyyaml/blob/main/CHANGES)
- [Commits](https://github.com/yaml/pyyaml/compare/6.0.1...6.0.2)

---
updated-dependencies:
- dependency-name: pyyaml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-01 00:34:02 +00:00
vabene1111
754b7c3376 Merge pull request #3278 from Priyanshu1035/fixtypo
Fixed the typo in the base.html file
2024-08-29 17:28:04 +02:00
Stefan van der Gevel
00b02248d3 Translated using Weblate (Dutch)
Currently translated at 100.0% (570 of 570 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/nl/
2024-08-28 18:49:54 +00:00
Priyanshu1035
fda302ebb6 fixedtypo 2024-08-28 23:29:41 +05:30
Stefan van der Gevel
70cd675aa1 Translated using Weblate (Dutch)
Currently translated at 100.0% (570 of 570 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/nl/
2024-08-28 12:58:35 +00:00
Stefan van der Gevel
960db5aaab Translated using Weblate (Dutch)
Currently translated at 100.0% (488 of 488 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/nl/
2024-08-28 12:58:35 +00:00
Known Rabbit
8daf43d6e8 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (570 of 570 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/zh_Hans/
2024-08-27 07:58:35 +00:00
Stefan van der Gevel
114ca55b26 Translated using Weblate (Dutch)
Currently translated at 100.0% (570 of 570 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/nl/
2024-08-27 07:58:35 +00:00
Known Rabbit
59f5219c0b Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (488 of 488 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/zh_Hans/
2024-08-27 07:58:35 +00:00
Stefan van der Gevel
bc465c7b2f Translated using Weblate (Dutch)
Currently translated at 100.0% (488 of 488 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/nl/
2024-08-27 07:58:35 +00:00
Known Rabbit
bf1b2db415 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (570 of 570 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/zh_Hans/
2024-08-26 06:47:13 +00:00
Known Rabbit
9085756fca Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (488 of 488 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/zh_Hans/
2024-08-26 06:47:13 +00:00
Known Rabbit
db43bd1962 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (570 of 570 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/zh_Hans/
2024-08-24 14:58:37 +00:00
Known Rabbit
3c13c06ce1 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (488 of 488 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/zh_Hans/
2024-08-24 14:58:37 +00:00
vabene1111
beb1823a57 Merge pull request #3268 from smilerz/source_import_fix
set URL when none provided
2024-08-23 08:06:33 +02:00
smilerz
b6fa74c601 text 2024-08-22 12:45:49 -05:00
Matjaž T
596b6c6f98 Translated using Weblate (Slovenian)
Currently translated at 15.1% (74 of 488 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/sl/
2024-08-21 16:58:36 +00:00
27 changed files with 511 additions and 423 deletions

View File

@@ -16,15 +16,11 @@ class CookbookConfig(AppConfig):
import cookbook.signals # noqa
if not settings.DISABLE_EXTERNAL_CONNECTORS:
try:
from cookbook.connectors.connector_manager import ConnectorManager # Needs to be here to prevent loading race condition of oauth2 modules in models.py
handler = ConnectorManager()
post_save.connect(handler, dispatch_uid="connector_manager")
post_delete.connect(handler, dispatch_uid="connector_manager")
except Exception as e:
traceback.print_exc()
print('Failed to initialize connectors')
pass
from cookbook.connectors.connector_manager import ConnectorManager # Needs to be here to prevent loading race condition of oauth2 modules in models.py
handler = ConnectorManager()
post_save.connect(handler, dispatch_uid="post_save-connector_manager")
post_delete.connect(handler, dispatch_uid="post_delete-connector_manager")
# if not settings.DISABLE_TREE_FIX_STARTUP:
# # when starting up run fix_tree to:
# # a) make sure that nodes are sorted when switching between sort modes
@@ -45,4 +41,4 @@ class CookbookConfig(AppConfig):
# except Exception:
# if DEBUG:
# traceback.print_exc()
# pass # dont break startup just because fix could not run, need to investigate cases when this happens
# pass # dont break startup just because fix could not run, need to investigate cases when this happens

View File

@@ -31,6 +31,15 @@ class Work:
actionType: ActionType
class Singleton(type):
_instances = {}
def __call__(cls, *args, **kwargs):
if cls not in cls._instances:
cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs)
return cls._instances[cls]
# The way ConnectionManager works is as follows:
# 1. On init, it starts a worker & creates a queue for 'Work'
# 2. Then any time its called, it verifies the type of action (create/update/delete) and if the item is of interest, pushes the Work (non-blocking) to the queue.
@@ -39,7 +48,8 @@ class Work:
# 3.2 If work is of type REGISTERED_CLASSES, it asynchronously fires of all connectors and wait for them to finish (runtime should depend on the 'slowest' connector)
# 4. Work is marked as consumed, and next entry of the queue is consumed.
# Each 'Work' is processed in sequential by the worker, so the throughput is about [workers * the slowest connector]
class ConnectorManager:
# The Singleton class is used for ConnectorManager to have a self-reference and so Python does not garbage collect it
class ConnectorManager(metaclass=Singleton):
_logger: Logger
_queue: queue.Queue
_listening_to_classes = REGISTERED_CLASSES | ConnectorConfig

View File

@@ -3,7 +3,7 @@ from logging import Logger
from typing import Dict, Tuple
from urllib.parse import urljoin
from aiohttp import ClientError, request
from aiohttp import request, ClientResponseError
from cookbook.connectors.connector import Connector
from cookbook.models import ShoppingListEntry, ConnectorConfig, Space
@@ -13,6 +13,8 @@ class HomeAssistant(Connector):
_config: ConnectorConfig
_logger: Logger
_required_foreign_keys = ("food", "unit", "created_by")
def __init__(self, config: ConnectorConfig):
if not config.token or not config.url or not config.todo_entity:
raise ValueError("config for HomeAssistantConnector in incomplete")
@@ -38,18 +40,20 @@ class HomeAssistant(Connector):
item, description = _format_shopping_list_entry(shopping_list_entry)
self._logger.debug(f"adding {item=}")
self._logger.debug(f"adding {item=} with {description=} to {self._config.todo_entity}")
data = {
"entity_id": self._config.todo_entity,
"item": item,
"description": description,
}
if self._config.supports_description_field:
data["description"] = description
try:
await self.homeassistant_api_call("POST", "services/todo/add_item", data)
except ClientError as err:
self._logger.warning(f"received an exception from the api: {err=}, {type(err)=}")
except ClientResponseError as err:
self._logger.warning(f"received an exception from the api: {err.request_info.url=}, {err.request_info.method=}, {err.status=}, {err.message=}, {type(err)=}")
async def on_shopping_list_entry_updated(self, space: Space, shopping_list_entry: ShoppingListEntry) -> None:
if not self._config.on_shopping_list_entry_updated_enabled:
@@ -60,14 +64,14 @@ class HomeAssistant(Connector):
if not self._config.on_shopping_list_entry_deleted_enabled:
return
if not hasattr(shopping_list_entry._state.fields_cache, "food"):
if not all(k in shopping_list_entry._state.fields_cache for k in self._required_foreign_keys):
# Sometimes the food foreign key is not loaded, and we cant load it from an async process
self._logger.debug("required property was not present in ShoppingListEntry")
return
item, _ = _format_shopping_list_entry(shopping_list_entry)
self._logger.debug(f"removing {item=}")
self._logger.debug(f"removing {item=} from {self._config.todo_entity}")
data = {
"entity_id": self._config.todo_entity,
@@ -76,9 +80,9 @@ class HomeAssistant(Connector):
try:
await self.homeassistant_api_call("POST", "services/todo/remove_item", data)
except ClientError as err:
except ClientResponseError as err:
# This error will always trigger if the item is not present/found
self._logger.debug(f"received an exception from the api: {err=}, {type(err)=}")
self._logger.debug(f"received an exception from the api: {err.request_info.url=}, {err.request_info.method=}, {err.status=}, {err.message=}, {type(err)=}")
async def close(self) -> None:
pass

View File

@@ -182,6 +182,12 @@ class ConnectorConfigForm(forms.ModelForm):
required=False,
)
supports_description_field = forms.BooleanField(
help_text="Does the connector todo entity support the description field",
initial=True,
required=False,
)
update_token = forms.CharField(
widget=forms.TextInput(attrs={'autocomplete': 'update-token', 'type': 'password'}),
required=False,
@@ -198,7 +204,7 @@ class ConnectorConfigForm(forms.ModelForm):
fields = (
'name', 'type', 'enabled', 'on_shopping_list_entry_created_enabled', 'on_shopping_list_entry_updated_enabled',
'on_shopping_list_entry_deleted_enabled', 'url', 'todo_entity',
'on_shopping_list_entry_deleted_enabled', 'supports_description_field', 'url', 'todo_entity',
)
help_texts = {

View File

@@ -28,7 +28,9 @@ def get_from_scraper(scrape, request):
source_url = scrape.url
except Exception:
pass
if source_url:
if source_url == "https://urlnotfound.none" or not source_url:
recipe_json['source_url'] = ''
else:
recipe_json['source_url'] = source_url
try:
keywords.append(source_url.replace('http://', '').replace('https://', '').split('/')[0])

View File

@@ -15,10 +15,10 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-01 15:04+0200\n"
"PO-Revision-Date: 2024-07-31 13:05+0000\n"
"Last-Translator: vabene1111 <vabene1234@googlemail.com>\n"
"Language-Team: German <http://translate.tandoor.dev/projects/tandoor/recipes-"
"backend/de/>\n"
"PO-Revision-Date: 2024-09-27 13:58+0000\n"
"Last-Translator: supaeasy <crafty_renewably854@supaeasy.de>\n"
"Language-Team: German <http://translate.tandoor.dev/projects/tandoor/"
"recipes-backend/de/>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -478,7 +478,7 @@ msgstr "Essensplan"
#: .\cookbook\models.py:456 .\cookbook\templates\base.html:122
#: .\cookbook\views\views.py:459
msgid "Books"
msgstr "Bücher"
msgstr "Kochbücher"
#: .\cookbook\models.py:457 .\cookbook\templates\base.html:118
#: .\cookbook\views\views.py:460
@@ -542,10 +542,8 @@ msgid "Instruction Replace"
msgstr "Anleitung ersetzen"
#: .\cookbook\models.py:1472
#, fuzzy
#| msgid "New Unit"
msgid "Never Unit"
msgstr "Neue Einheit"
msgstr "Nie Einheit"
#: .\cookbook\models.py:1473
msgid "Transpose Words"
@@ -2143,7 +2141,7 @@ msgstr ""
#: .\cookbook\templates\system.html:86
msgid "Allowed Hosts"
msgstr ""
msgstr "Erlaubte Hosts"
#: .\cookbook\templates\system.html:90
msgid ""
@@ -2153,6 +2151,11 @@ msgid ""
"this.\n"
" "
msgstr ""
"\n"
" Die erlaubten Hosts sind so konfiguriert, dass sie jeden Host "
"erlauben. Das mag in einigen Fällen in Ordnung sein, sollte aber im "
"Regelfall vermieden werden. Bitte lies in der Dokumentation dazu nach.\n"
" "
#: .\cookbook\templates\system.html:97
msgid "Database"
@@ -2504,16 +2507,12 @@ msgid "Filter for entries with the given recipe"
msgstr "Filter für Einträge mit dem angegebenen Rezept"
#: .\cookbook\views\api.py:1292
#, fuzzy
#| msgid ""
#| "Returns the shopping list entry with a primary key of id. Multiple "
#| "values allowed."
msgid ""
"Return the Automations matching the automation type. Multiple values "
"allowed."
msgstr ""
"Zeigt denjenigen Eintrag auf der Einkaufliste mit der angegebenen ID. Kann "
"mehrfach angegeben werden."
"Zeigt Automationen, die dem Automationstyp entsprechen. Kann mehrfach "
"angegeben werden."
#: .\cookbook\views\api.py:1415
msgid "Nothing to do."
@@ -2582,10 +2581,8 @@ msgstr ""
"Monitor verwendet wird."
#: .\cookbook\views\delete.py:135
#, fuzzy
#| msgid "Storage Backend"
msgid "Connectors Config Backend"
msgstr "Speicherquelle"
msgstr "Backendkonfiguration für Konnektoren"
#: .\cookbook\views\delete.py:157
msgid "Invite Link"
@@ -2644,10 +2641,8 @@ msgid "Shopping List"
msgstr "Einkaufsliste"
#: .\cookbook\views\lists.py:77 .\cookbook\views\new.py:98
#, fuzzy
#| msgid "Storage Backend"
msgid "Connector Config Backend"
msgstr "Speicherquelle"
msgstr "Backendkonfiguration für Konnektoren"
#: .\cookbook\views\lists.py:91
msgid "Invite Links"
@@ -2743,7 +2738,7 @@ msgstr "Sie verwenden PostgreSQL %(v1)s. PostgreSQL %(v2)s wird empfohlen"
#: .\cookbook\views\views.py:313
msgid "Unable to determine PostgreSQL version."
msgstr ""
msgstr "PostgreSQL version konnte nicht erkannt werden."
#: .\cookbook\views\views.py:317
msgid ""
@@ -2755,18 +2750,14 @@ msgstr ""
"PostgreSQL-Datenbanken funktionieren."
#: .\cookbook\views\views.py:360
#, fuzzy
#| msgid ""
#| "The setup page can only be used to create the first user! If you have "
#| "forgotten your superuser credentials please consult the django "
#| "documentation on how to reset passwords."
msgid ""
"The setup page can only be used to create the first "
"user! If you have forgotten your superuser credentials "
"please consult the django documentation on how to reset passwords."
msgstr ""
"Die Setup-Seite kann nur für den ersten Nutzer verwendet werden. Zum "
"Zurücksetzen von Passwörtern bitte der Django-Dokumentation folgen."
"Die Setup-Seite kann nur für den ersten Nutzer verwendet "
"werden. Falls du die Superuser Logindaten vergessen "
"hast, folge bitte der Django-Dokumentation um Passwörter zurückzusetzen."
#: .\cookbook\views\views.py:369
msgid "Passwords dont match!"

View File

@@ -8,16 +8,16 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-01 15:04+0200\n"
"PO-Revision-Date: 2023-08-21 09:19+0000\n"
"Last-Translator: Theodoros Grammenos <teogramm@outlook.com>\n"
"Language-Team: Greek <http://translate.tandoor.dev/projects/tandoor/recipes-"
"backend/el/>\n"
"PO-Revision-Date: 2024-09-23 21:58+0000\n"
"Last-Translator: Emmker <emmker@gmail.com>\n"
"Language-Team: Greek <http://translate.tandoor.dev/projects/tandoor/"
"recipes-backend/el/>\n"
"Language: el\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.15\n"
"X-Generator: Weblate 5.6.2\n"
#: .\cookbook\forms.py:45
msgid ""
@@ -33,7 +33,7 @@ msgstr "Όνομα"
#: .\cookbook\forms.py:62 .\cookbook\forms.py:246 .\cookbook\views\lists.py:103
msgid "Keywords"
msgstr "Λέξεις κλειδιά"
msgstr "Λέξεις Κλειδιά"
#: .\cookbook\forms.py:62
msgid "Preparation time in minutes"
@@ -98,7 +98,7 @@ msgstr ""
#: .\cookbook\forms.py:205
msgid "http://homeassistant.local:8123/api for example"
msgstr ""
msgstr "http://homeassistant.local:8123/api για παράδειγμα"
#: .\cookbook\forms.py:222 .\cookbook\views\edit.py:117
msgid "Storage"

View File

@@ -8,17 +8,17 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-01 15:04+0200\n"
"PO-Revision-Date: 2024-07-28 08:38+0000\n"
"Last-Translator: dudu dor <dudpon@gmail.com>\n"
"Language-Team: Hebrew <http://translate.tandoor.dev/projects/tandoor/recipes-"
"backend/he/>\n"
"PO-Revision-Date: 2024-09-08 12:58+0000\n"
"Last-Translator: Tomer Alcavi <alcavi1991@gmail.com>\n"
"Language-Team: Hebrew <http://translate.tandoor.dev/projects/tandoor/"
"recipes-backend/he/>\n"
"Language: he\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && "
"n % 10 == 0) ? 2 : 3));\n"
"X-Generator: Weblate 5.4.2\n"
"X-Generator: Weblate 5.6.2\n"
#: .\cookbook\forms.py:45
msgid ""
@@ -62,15 +62,15 @@ msgstr ""
#: .\cookbook\forms.py:143
msgid "Add your comment: "
msgstr "הוף את ההערות שלך:- "
msgstr "הוסף את ההערה שלך::- "
#: .\cookbook\forms.py:151
msgid "Leave empty for dropbox and enter app password for nextcloud."
msgstr "השאר ריק עבור dropbox והכנס סיסמאת יישום עבור nextcloud."
msgstr "השאר ריק עבור Dropbox והכנס סיסמא עבור NextCloud."
#: .\cookbook\forms.py:154
msgid "Leave empty for nextcloud and enter api token for dropbox."
msgstr "השאר ריק עבור nextcloud והכנס טוקן API עבור dropbox."
msgstr "השאר ריק עבור NextCloud והכנס טוקן API עבור Dropbox."
#: .\cookbook\forms.py:160
msgid ""
@@ -149,6 +149,7 @@ msgid ""
"Use fuzzy matching on units, keywords and ingredients when editing and "
"importing recipes."
msgstr ""
"השתמש בהתאמה גמישה ליחידות, מילות מפתח ורכיבים בעת עריכה וייבוא מתכונים."
#: .\cookbook\forms.py:342
msgid ""
@@ -237,7 +238,7 @@ msgstr ""
#: .\cookbook\helper\permission_helper.py:237
#: .\cookbook\helper\permission_helper.py:252
msgid "You cannot interact with this object as it is not owned by you!"
msgstr ""
msgstr "אינך יכול/ה לפעול על אובייקט זה כיוון שהוא לא בבעלותך!"
#: .\cookbook\helper\permission_helper.py:402
msgid "You have reached the maximum number of recipes for your space."
@@ -441,7 +442,7 @@ msgstr ""
#: .\cookbook\models.py:457 .\cookbook\templates\base.html:118
#: .\cookbook\views\views.py:460
msgid "Shopping"
msgstr ""
msgstr "קניות"
#: .\cookbook\models.py:752
msgid " is part of a recipe step and cannot be deleted"
@@ -526,7 +527,7 @@ msgstr ""
#: .\cookbook\models.py:1504
msgid "Food"
msgstr ""
msgstr "אוכל"
#: .\cookbook\models.py:1505 .\cookbook\templates\base.html:149
msgid "Keyword"
@@ -546,7 +547,7 @@ msgstr ""
#: .\cookbook\serializer.py:1270
msgid "Hello"
msgstr ""
msgstr "שלום"
#: .\cookbook\serializer.py:1270
msgid "You have been invited by "
@@ -567,12 +568,12 @@ msgstr ""
#: .\cookbook\serializer.py:1278
msgid "The invitation is valid until "
msgstr ""
msgstr "ההזמנה תקפה עד "
#: .\cookbook\serializer.py:1280
msgid ""
"Tandoor Recipes is an Open Source recipe manager. Check it out on GitHub "
msgstr ""
msgstr "Tandoor Recipes הוא מנהל מתכונים בקוד פתוח. ניתן למצוא אותנו ב-GitHub. "
#: .\cookbook\serializer.py:1283
msgid "Tandoor Recipes Invite"
@@ -610,11 +611,11 @@ msgstr ""
#: .\cookbook\templates\generic\delete_template.html:15
#: .\cookbook\templates\generic\edit_template.html:28
msgid "Delete"
msgstr ""
msgstr "מחיקה"
#: .\cookbook\templates\404.html:5
msgid "404 Error"
msgstr ""
msgstr "שגיאה 404"
#: .\cookbook\templates\404.html:18
msgid "The page you are looking for could not be found."
@@ -626,12 +627,12 @@ msgstr ""
#: .\cookbook\templates\404.html:35
msgid "Report a Bug"
msgstr ""
msgstr "דווח על באג"
#: .\cookbook\templates\account\email.html:6
#: .\cookbook\templates\account\email.html:17
msgid "E-mail Addresses"
msgstr ""
msgstr "כתובות אימייל"
#: .\cookbook\templates\account\email.html:12
#: .\cookbook\templates\account\password_change.html:11
@@ -641,11 +642,11 @@ msgstr ""
#: .\cookbook\templates\socialaccount\connections.html:10
#: .\cookbook\templates\user_settings.html:8
msgid "Settings"
msgstr ""
msgstr "הגדרות"
#: .\cookbook\templates\account\email.html:13
msgid "Email"
msgstr ""
msgstr "מייל"
#: .\cookbook\templates\account\email.html:19
msgid "The following e-mail addresses are associated with your account:"
@@ -653,33 +654,33 @@ msgstr ""
#: .\cookbook\templates\account\email.html:36
msgid "Verified"
msgstr ""
msgstr "מאומת"
#: .\cookbook\templates\account\email.html:38
msgid "Unverified"
msgstr ""
msgstr "לא מאומת"
#: .\cookbook\templates\account\email.html:40
msgid "Primary"
msgstr ""
msgstr "ראשי"
#: .\cookbook\templates\account\email.html:47
msgid "Make Primary"
msgstr ""
msgstr "הגדר כראשי"
#: .\cookbook\templates\account\email.html:49
msgid "Re-send Verification"
msgstr ""
msgstr "שלח אימות מחדש"
#: .\cookbook\templates\account\email.html:50
#: .\cookbook\templates\generic\delete_template.html:57
#: .\cookbook\templates\socialaccount\connections.html:44
msgid "Remove"
msgstr ""
msgstr "הסרה"
#: .\cookbook\templates\account\email.html:58
msgid "Warning:"
msgstr ""
msgstr "אזהרה:"
#: .\cookbook\templates\account\email.html:58
msgid ""
@@ -689,11 +690,11 @@ msgstr ""
#: .\cookbook\templates\account\email.html:64
msgid "Add E-mail Address"
msgstr ""
msgstr "הוספת כתובת מייל"
#: .\cookbook\templates\account\email.html:69
msgid "Add E-mail"
msgstr ""
msgstr "הוספת מייל"
#: .\cookbook\templates\account\email.html:79
msgid "Do you really want to remove the selected e-mail address?"
@@ -702,7 +703,7 @@ msgstr ""
#: .\cookbook\templates\account\email_confirm.html:6
#: .\cookbook\templates\account\email_confirm.html:10
msgid "Confirm E-mail Address"
msgstr ""
msgstr "אשר כתובת מייל"
#: .\cookbook\templates\account\email_confirm.html:16
#, python-format
@@ -716,7 +717,7 @@ msgstr ""
#: .\cookbook\templates\account\email_confirm.html:22
#: .\cookbook\templates\generic\delete_template.html:72
msgid "Confirm"
msgstr ""
msgstr "אשר"
#: .\cookbook\templates\account\email_confirm.html:29
#, python-format
@@ -729,7 +730,7 @@ msgstr ""
#: .\cookbook\templates\account\login.html:8 .\cookbook\templates\base.html:388
#: .\cookbook\templates\openid\login.html:8
msgid "Login"
msgstr ""
msgstr "התחבר"
#: .\cookbook\templates\account\login.html:15
#: .\cookbook\templates\account\login.html:31
@@ -741,7 +742,7 @@ msgstr ""
#: .\cookbook\templates\openid\login.html:26
#: .\cookbook\templates\socialaccount\authentication_error.html:15
msgid "Sign In"
msgstr ""
msgstr "התחבר"
#: .\cookbook\templates\account\login.html:34
#: .\cookbook\templates\account\password_reset.html:41
@@ -749,7 +750,7 @@ msgstr ""
#: .\cookbook\templates\socialaccount\signup.html:8
#: .\cookbook\templates\socialaccount\signup.html:57
msgid "Sign Up"
msgstr ""
msgstr "הירשם"
#: .\cookbook\templates\account\login.html:38
msgid "Lost your password?"
@@ -758,7 +759,7 @@ msgstr ""
#: .\cookbook\templates\account\login.html:39
#: .\cookbook\templates\account\password_reset.html:29
msgid "Reset My Password"
msgstr ""
msgstr "איפוס סיסמא"
#: .\cookbook\templates\account\login.html:50
msgid "Social Login"
@@ -772,7 +773,7 @@ msgstr ""
#: .\cookbook\templates\account\logout.html:9
#: .\cookbook\templates\account\logout.html:18
msgid "Sign Out"
msgstr ""
msgstr "התנתק"
#: .\cookbook\templates\account\logout.html:11
msgid "Are you sure you want to sign out?"
@@ -791,7 +792,7 @@ msgstr ""
#: .\cookbook\templates\account\password_change.html:12
#: .\cookbook\templates\account\password_set.html:12
msgid "Password"
msgstr ""
msgstr "סיסמא"
#: .\cookbook\templates\account\password_change.html:22
msgid "Forgot Password?"
@@ -846,52 +847,52 @@ msgstr ""
#: .\cookbook\templates\account\password_set.html:16
#: .\cookbook\templates\account\password_set.html:21
msgid "Set Password"
msgstr ""
msgstr "קבע סיסמא"
#: .\cookbook\templates\account\signup.html:6
msgid "Register"
msgstr ""
msgstr "הירשם"
#: .\cookbook\templates\account\signup.html:12
msgid "Create an Account"
msgstr ""
msgstr "צור משתמש"
#: .\cookbook\templates\account\signup.html:42
#: .\cookbook\templates\socialaccount\signup.html:33
msgid "I accept the follwoing"
msgstr ""
msgstr "אני מקבל את התנאים הבאים"
#: .\cookbook\templates\account\signup.html:45
#: .\cookbook\templates\socialaccount\signup.html:36
msgid "Terms and Conditions"
msgstr ""
msgstr "תנאים והגבלות"
#: .\cookbook\templates\account\signup.html:48
#: .\cookbook\templates\socialaccount\signup.html:39
msgid "and"
msgstr ""
msgstr "ו"
#: .\cookbook\templates\account\signup.html:52
#: .\cookbook\templates\socialaccount\signup.html:43
msgid "Privacy Policy"
msgstr ""
msgstr "מדיניות פרטיות"
#: .\cookbook\templates\account\signup.html:65
msgid "Create User"
msgstr ""
msgstr "צור משתמש"
#: .\cookbook\templates\account\signup.html:69
msgid "Already have an account?"
msgstr ""
msgstr "יש לך חשבון?"
#: .\cookbook\templates\account\signup_closed.html:5
#: .\cookbook\templates\account\signup_closed.html:11
msgid "Sign Up Closed"
msgstr ""
msgstr "ההרשמה סגורה"
#: .\cookbook\templates\account\signup_closed.html:13
msgid "We are sorry, but the sign up is currently closed."
msgstr ""
msgstr "אנו מצטערים, אך ההרשמה כרגע סגורה."
#: .\cookbook\templates\api_info.html:5 .\cookbook\templates\base.html:378
#: .\cookbook\templates\rest_framework\api.html:11
@@ -900,11 +901,11 @@ msgstr ""
#: .\cookbook\templates\base.html:110 .\cookbook\templates\index.html:87
msgid "Recipes"
msgstr ""
msgstr "מתכונים"
#: .\cookbook\templates\base.html:161 .\cookbook\views\lists.py:120
msgid "Foods"
msgstr ""
msgstr "מאכלים"
#: .\cookbook\templates\base.html:173 .\cookbook\views\lists.py:137
msgid "Units"
@@ -920,11 +921,11 @@ msgstr ""
#: .\cookbook\templates\base.html:211 .\cookbook\views\lists.py:186
msgid "Automations"
msgstr ""
msgstr "אוטומציות"
#: .\cookbook\templates\base.html:225 .\cookbook\views\lists.py:222
msgid "Files"
msgstr ""
msgstr "קבצים"
#: .\cookbook\templates\base.html:237
msgid "Batch Edit"
@@ -945,7 +946,7 @@ msgstr ""
#: .\cookbook\templates\export_response.html:7
#: .\cookbook\templates\test2.html:14 .\cookbook\templates\test2.html:20
msgid "Export"
msgstr ""
msgstr "יצא"
#: .\cookbook\templates\base.html:287
msgid "Properties"
@@ -970,7 +971,7 @@ msgstr ""
#: .\cookbook\templates\base.html:336 .\cookbook\templates\space_manage.html:15
msgid "Space Settings"
msgstr ""
msgstr "הגדרות מרחב"
#: .\cookbook\templates\base.html:340
msgid "External Connectors"
@@ -978,21 +979,21 @@ msgstr ""
#: .\cookbook\templates\base.html:345 .\cookbook\templates\system.html:13
msgid "System"
msgstr ""
msgstr "מערכת"
#: .\cookbook\templates\base.html:347
msgid "Admin"
msgstr ""
msgstr "מנהל"
#: .\cookbook\templates\base.html:351
#: .\cookbook\templates\space_overview.html:25
msgid "Your Spaces"
msgstr ""
msgstr "המרחבים שלך"
#: .\cookbook\templates\base.html:362
#: .\cookbook\templates\space_overview.html:6
msgid "Overview"
msgstr ""
msgstr "סקירה כללית"
#: .\cookbook\templates\base.html:372
msgid "Markdown Guide"
@@ -1012,7 +1013,7 @@ msgstr ""
#: .\cookbook\templates\base.html:383
msgid "Log out"
msgstr ""
msgstr "התנתק"
#: .\cookbook\templates\base.html:406
msgid "You are using the free version of Tandor"
@@ -1070,7 +1071,7 @@ msgstr ""
#: .\cookbook\templates\batch\monitor.html:29
msgid "Show Recipes"
msgstr ""
msgstr "הראה מתכונים"
#: .\cookbook\templates\batch\monitor.html:30
msgid "Show Log"
@@ -1111,7 +1112,7 @@ msgstr ""
#: .\cookbook\templates\generic\delete_template.html:22
msgid "This cannot be undone!"
msgstr ""
msgstr "לא ניתן לבטל פעולה זו!"
#: .\cookbook\templates\generic\delete_template.html:27
msgid "Protected"
@@ -1128,7 +1129,7 @@ msgstr ""
#: .\cookbook\templates\generic\edit_template.html:6
#: .\cookbook\templates\generic\edit_template.html:14
msgid "Edit"
msgstr ""
msgstr "ערוך"
#: .\cookbook\templates\generic\edit_template.html:32
msgid "View"
@@ -1162,7 +1163,7 @@ msgstr ""
#: .\cookbook\templates\generic\table_template.html:98
msgid "next"
msgstr ""
msgstr "הבא"
#: .\cookbook\templates\history.html:20
msgid "View Log"
@@ -1175,7 +1176,7 @@ msgstr ""
#: .\cookbook\templates\import_response.html:7 .\cookbook\views\delete.py:90
#: .\cookbook\views\edit.py:174
msgid "Import"
msgstr ""
msgstr "יבא"
#: .\cookbook\templates\include\storage_backend_warning.html:4
msgid "Security Warning"
@@ -1356,7 +1357,7 @@ msgstr ""
#: .\cookbook\templates\no_groups_info.html:5
#: .\cookbook\templates\no_groups_info.html:12
msgid "No Permissions"
msgstr ""
msgstr "אין הרשאות"
#: .\cookbook\templates\no_groups_info.html:17
msgid "You do not have any groups and therefor cannot use this application."
@@ -1365,12 +1366,12 @@ msgstr ""
#: .\cookbook\templates\no_groups_info.html:18
#: .\cookbook\templates\no_perm_info.html:15
msgid "Please contact your administrator."
msgstr ""
msgstr "אנא פנה למנהל המערכת."
#: .\cookbook\templates\no_perm_info.html:5
#: .\cookbook\templates\no_perm_info.html:12
msgid "No Permission"
msgstr ""
msgstr "אין הרשאות"
#: .\cookbook\templates\no_perm_info.html:15
msgid ""
@@ -1380,11 +1381,11 @@ msgstr ""
#: .\cookbook\templates\offline.html:6
msgid "Offline"
msgstr ""
msgstr "לא מקוון"
#: .\cookbook\templates\offline.html:19
msgid "You are currently offline!"
msgstr ""
msgstr "אתה כרגע במצב לא מקוון!"
#: .\cookbook\templates\offline.html:20
msgid ""
@@ -1395,7 +1396,7 @@ msgstr ""
#: .\cookbook\templates\openid\login.html:27
#: .\cookbook\templates\socialaccount\authentication_error.html:27
msgid "Back"
msgstr ""
msgstr "אחורה"
#: .\cookbook\templates\property_editor.html:7
msgid "Property Editor"
@@ -1422,7 +1423,7 @@ msgstr ""
#: .\cookbook\templates\search_info.html:9
#: .\cookbook\templates\settings.html:24
msgid "Search Settings"
msgstr ""
msgstr "הגדרות חיפוש"
#: .\cookbook\templates\search_info.html:10
msgid ""
@@ -1438,7 +1439,7 @@ msgstr ""
#: .\cookbook\templates\search_info.html:19
msgid "Search Methods"
msgstr ""
msgstr "שיטות חיפוש"
#: .\cookbook\templates\search_info.html:23
msgid ""
@@ -1521,7 +1522,7 @@ msgstr ""
#: .\cookbook\templates\search_info.html:69
msgid "Search Fields"
msgstr ""
msgstr "שדות חיפוש"
#: .\cookbook\templates\search_info.html:73
msgid ""

View File

@@ -13,16 +13,16 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-01 15:04+0200\n"
"PO-Revision-Date: 2024-02-10 12:20+0000\n"
"Last-Translator: Jonan B <jonanb@pm.me>\n"
"Language-Team: Dutch <http://translate.tandoor.dev/projects/tandoor/recipes-"
"backend/nl/>\n"
"PO-Revision-Date: 2024-09-03 19:58+0000\n"
"Last-Translator: \"S. v.d. Gevel\" <stefan18_gw@hotmail.com>\n"
"Language-Team: Dutch <http://translate.tandoor.dev/projects/tandoor/"
"recipes-backend/nl/>\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.15\n"
"X-Generator: Weblate 5.6.2\n"
#: .\cookbook\forms.py:45
msgid ""
@@ -306,7 +306,7 @@ msgstr "gisten"
#: .\cookbook\helper\recipe_url_import.py:316
msgid "sous-vide"
msgstr "sous-vide"
msgstr "sous-vide (vacuümgaren)"
#: .\cookbook\helper\shopping_helper.py:150
msgid "You must supply a servings size"
@@ -476,7 +476,7 @@ msgstr "Maaltijdplan"
#: .\cookbook\models.py:456 .\cookbook\templates\base.html:122
#: .\cookbook\views\views.py:459
msgid "Books"
msgstr "Boeken"
msgstr "Kookboeken"
#: .\cookbook\models.py:457 .\cookbook\templates\base.html:118
#: .\cookbook\views\views.py:460
@@ -570,7 +570,7 @@ msgstr "Ingrediënt"
#: .\cookbook\models.py:1505 .\cookbook\templates\base.html:149
msgid "Keyword"
msgstr "Etiket"
msgstr "Trefwoord"
#: .\cookbook\serializer.py:222
msgid "File uploads are not enabled for this Space."
@@ -630,8 +630,8 @@ msgid ""
"List of ingredient IDs from the recipe to add, if not provided all "
"ingredients will be added."
msgstr ""
"Lijst van ingrediënten ID's van het toe te voegen recept, als deze niet "
"opgegeven worden worden alle ingrediënten toegevoegd."
"Lijst van ingrediënt ID's van het toe te voegen recept, als deze niet worden "
"opgegeven worden alle ingrediënten toegevoegd."
#: .\cookbook\serializer.py:1430
msgid ""
@@ -1432,7 +1432,7 @@ msgid ""
"rel=\"noreferrer noopener\" target=\"_blank\">this one.</a>"
msgstr ""
"Het is lastig om met de hand Markdown tabellen te maken. Het wordt "
"aangeraden om een tabel editor zoals <a href=\"https://www.tablesgenerator."
"aangeraden om een tabel 'editor' zoals <a href=\"https://www.tablesgenerator."
"com/markdown_tables\" rel=\"noreferrer noopener\" target=\"_blank\">deze</a> "
"te gebruiken."
@@ -1843,7 +1843,7 @@ msgstr "Perfect voor grote databases"
#: .\cookbook\templates\setup.html:6 .\cookbook\templates\system.html:5
msgid "Cookbook Setup"
msgstr "Kookboek Setup"
msgstr "Kookboek configuratie"
#: .\cookbook\templates\setup.html:14
msgid "Setup"
@@ -2397,24 +2397,30 @@ msgstr "Een waardering van een recept gaat van 0 tot 5."
#: .\cookbook\views\api.py:922 .\cookbook\views\api.py:923
msgid "ID of book a recipe should be in. For multiple repeat parameter."
msgstr ""
"ID van boek dat een recept moet hebben. Herhaal parameter voor meerdere."
"ID van een kookboek dat een recept moet bevatten. Herhaal parameter voor "
"meerdere."
#: .\cookbook\views\api.py:923 .\cookbook\views\api.py:924
msgid "Book IDs, repeat for multiple. Return recipes with any of the books"
msgstr "Boek ID, herhaal voor meerdere. Geeft recepten uit alle boeken weer"
msgstr ""
"Kookboek ID, herhaal voor meerdere. Geeft recepten uit de geselecteerde "
"kookboeken weer"
#: .\cookbook\views\api.py:924 .\cookbook\views\api.py:925
msgid "Book IDs, repeat for multiple. Return recipes with all of the books."
msgstr "Boek IDs, herhaal voor meerdere. Geeft recepten weer uit alle boeken."
msgstr ""
"Kookboek IDs, herhaal voor meerdere. Geeft recepten weer uit alle kookboeken."
#: .\cookbook\views\api.py:925 .\cookbook\views\api.py:926
msgid "Book IDs, repeat for multiple. Exclude recipes with any of the books."
msgstr ""
"Boek IDs, herhaal voor meerdere. Sluit recepten uit elk van de boeken uit."
"Kookboek IDs, herhaal voor meerdere. Sluit recepten uit elk van de "
"geselecteerde kookboeken uit."
#: .\cookbook\views\api.py:926 .\cookbook\views\api.py:927
msgid "Book IDs, repeat for multiple. Exclude recipes with all of the books."
msgstr "Boek IDs, herhaal voor meerdere. Sluit recepten uit alle boeken uit."
msgstr ""
"Kookboek IDs, herhaal voor meerdere. Sluit recepten uit alle boeken uit."
#: .\cookbook\views\api.py:927 .\cookbook\views\api.py:928
msgid "If only internal recipes should be returned. [true/<b>false</b>]"

View File

@@ -8,17 +8,17 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-01 15:04+0200\n"
"PO-Revision-Date: 2023-08-13 08:19+0000\n"
"Last-Translator: Miha Perpar <miha.perpar2@gmail.com>\n"
"PO-Revision-Date: 2024-08-21 16:58+0000\n"
"Last-Translator: \"Matjaž T.\" <matjaz@moj-svet.si>\n"
"Language-Team: Slovenian <http://translate.tandoor.dev/projects/tandoor/"
"recipes-backend/sl/>\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
"%100==4 ? 2 : 3;\n"
"X-Generator: Weblate 4.15\n"
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
"n%100==4 ? 2 : 3;\n"
"X-Generator: Weblate 5.6.2\n"
#: .\cookbook\forms.py:45
msgid ""
@@ -89,14 +89,16 @@ msgid ""
"<a href=\"https://www.home-assistant.io/docs/authentication/#your-account-"
"profile\">Long Lived Access Token</a> for your HomeAssistant instance"
msgstr ""
"<a href=\"https://www.home-assistant.io/docs/authentication/#your-account-"
"profile\">Dolgoročen dostopni žeton</a> za vašo HomeAssistant instanco"
#: .\cookbook\forms.py:193
msgid "Something like http://homeassistant.local:8123/api"
msgstr ""
msgstr "Nekaj podobnega http://homeassistant.local:8123/api"
#: .\cookbook\forms.py:205
msgid "http://homeassistant.local:8123/api for example"
msgstr ""
msgstr "http://homeassistant.local:8123/api na primer"
#: .\cookbook\forms.py:222 .\cookbook\views\edit.py:117
msgid "Storage"
@@ -202,45 +204,49 @@ msgid ""
"Fields to full text search. Note: 'web', 'phrase', and 'raw' search methods "
"only function with fulltext fields."
msgstr ""
"Polja za iskanje po celotnem besedilu. Opomba: metode iskanja 'web', "
"'phrase' in 'raw' delujejo samo s polnimi besedilnimi polji."
#: .\cookbook\forms.py:350
msgid "Search Method"
msgstr ""
msgstr "Metoda iskanja"
#: .\cookbook\forms.py:350
msgid "Fuzzy Lookups"
msgstr ""
msgstr "Mehka iskanja"
#: .\cookbook\forms.py:350
msgid "Ignore Accent"
msgstr ""
msgstr "Prezri naglas"
#: .\cookbook\forms.py:350
msgid "Partial Match"
msgstr ""
msgstr "Delno ujemanje"
#: .\cookbook\forms.py:350
msgid "Starts With"
msgstr ""
msgstr "Se začne s/z"
#: .\cookbook\forms.py:351
msgid "Fuzzy Search"
msgstr ""
msgstr "Mehko iskanje"
#: .\cookbook\forms.py:351
msgid "Full Text"
msgstr ""
msgstr "Celotno besedilo"
#: .\cookbook\helper\AllAuthCustomAdapter.py:41
msgid ""
"In order to prevent spam, the requested email was not send. Please wait a "
"few minutes and try again."
msgstr ""
"Da bi preprečili vsiljeno pošto, zahtevana e-pošta ni bila poslana. "
"Počakajte nekaj minut in poskusite znova."
#: .\cookbook\helper\permission_helper.py:164
#: .\cookbook\helper\permission_helper.py:187 .\cookbook\views\views.py:117
msgid "You are not logged in and therefore cannot view this page!"
msgstr ""
msgstr "Niste prijavljeni in si zato ne morete ogledati te strani!"
#: .\cookbook\helper\permission_helper.py:168
#: .\cookbook\helper\permission_helper.py:174
@@ -253,48 +259,46 @@ msgstr ""
#: .\cookbook\helper\permission_helper.py:341 .\cookbook\views\data.py:35
#: .\cookbook\views\views.py:127 .\cookbook\views\views.py:131
msgid "You do not have the required permissions to view this page!"
msgstr ""
msgstr "Nimate potrebnih dovoljenj za ogled te strani!"
#: .\cookbook\helper\permission_helper.py:192
#: .\cookbook\helper\permission_helper.py:215
#: .\cookbook\helper\permission_helper.py:237
#: .\cookbook\helper\permission_helper.py:252
msgid "You cannot interact with this object as it is not owned by you!"
msgstr ""
msgstr "S tem predmetom ne morete komunicirati, ker ni v vaši lasti!"
#: .\cookbook\helper\permission_helper.py:402
msgid "You have reached the maximum number of recipes for your space."
msgstr ""
msgstr "Dosegli ste največje število receptov za svoj prostor."
#: .\cookbook\helper\permission_helper.py:414
msgid "You have more users than allowed in your space."
msgstr ""
msgstr "V vašem prostoru imate več uporabnikov, kot je dovoljeno."
#: .\cookbook\helper\recipe_url_import.py:310
#, fuzzy
#| msgid "Use fractions"
msgid "reverse rotation"
msgstr "Uporabi ulomke/frakcije"
msgstr "obratno vrtenje"
#: .\cookbook\helper\recipe_url_import.py:311
msgid "careful rotation"
msgstr ""
msgstr "previdno vrtenje"
#: .\cookbook\helper\recipe_url_import.py:312
msgid "knead"
msgstr ""
msgstr "gnetemo"
#: .\cookbook\helper\recipe_url_import.py:313
msgid "thicken"
msgstr ""
msgstr "zgostimo"
#: .\cookbook\helper\recipe_url_import.py:314
msgid "warm up"
msgstr ""
msgstr "pogrejemo"
#: .\cookbook\helper\recipe_url_import.py:315
msgid "ferment"
msgstr ""
msgstr "fermentiramo"
#: .\cookbook\helper\recipe_url_import.py:316
msgid "sous-vide"
@@ -302,7 +306,7 @@ msgstr ""
#: .\cookbook\helper\shopping_helper.py:150
msgid "You must supply a servings size"
msgstr ""
msgstr "Navesti morate velikost obrokov"
#: .\cookbook\helper\template_helper.py:95
#: .\cookbook\helper\template_helper.py:97

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-01 15:04+0200\n"
"PO-Revision-Date: 2024-03-11 13:02+0000\n"
"Last-Translator: Kn <kn@users.noreply.translate.tandoor.dev>\n"
"PO-Revision-Date: 2024-09-17 11:58+0000\n"
"Last-Translator: Bebbe K <kajolekk91@gmail.com>\n"
"Language-Team: Swedish <http://translate.tandoor.dev/projects/tandoor/"
"recipes-backend/sv/>\n"
"Language: sv\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.4.2\n"
"X-Generator: Weblate 5.6.2\n"
#: .\cookbook\forms.py:45
msgid ""
@@ -151,48 +151,61 @@ msgid ""
"Select type method of search. Click <a href=\"/docs/search/\">here</a> for "
"full description of choices."
msgstr ""
"Välj typ av sökmetod. Klicka <a href=\"/docs/search/\">här</a> för "
"fullständig beskrivning av alternativen."
#: .\cookbook\forms.py:341
msgid ""
"Use fuzzy matching on units, keywords and ingredients when editing and "
"importing recipes."
msgstr ""
"Använd \"fuzzy\" matchning på enheter, nyckelord och ingredienser när du "
"redigerar och importerar recept."
#: .\cookbook\forms.py:342
msgid ""
"Fields to search ignoring accents. Selecting this option can improve or "
"degrade search quality depending on language"
msgstr ""
"Fält att söka medan man ignorerar accenter. Val av detta alternativ kan "
"förbättra eller försämra sökkvaliteten beroende på språk"
#: .\cookbook\forms.py:343
msgid ""
"Fields to search for partial matches. (e.g. searching for 'Pie' will return "
"'pie' and 'piece' and 'soapie')"
msgstr ""
"Fält att söka efter delvisa matchningar. (t.ex. att söka efter 'Pie' kommer "
"att returnera 'pie' och 'piece' och 'soapie')"
#: .\cookbook\forms.py:344
msgid ""
"Fields to search for beginning of word matches. (e.g. searching for 'sa' "
"will return 'salad' and 'sandwich')"
msgstr ""
"Fält att söka för matchningar i början av ord. (t.ex. att söka efter 'sa' "
"kommer att returnera 'salad' och 'sandwich')"
#: .\cookbook\forms.py:345
msgid ""
"Fields to 'fuzzy' search. (e.g. searching for 'recpie' will find 'recipe'.) "
"Note: this option will conflict with 'web' and 'raw' methods of search."
msgstr ""
"Fält för 'fuzzy'-sökning. (t.ex. att söka efter 'recpie' kommer att hitta "
"'recipe'.Observera: detta alternativet kommer att komma i konflikt med "
"sökmetoderna 'web' och 'raw'.)"
#: .\cookbook\forms.py:346
msgid ""
"Fields to full text search. Note: 'web', 'phrase', and 'raw' search methods "
"only function with fulltext fields."
msgstr ""
"Fält för fulltextsökning. Observera: Sökmetoderna 'web', 'phrase' och 'raw' "
"fungerar endast med fulltextfält."
#: .\cookbook\forms.py:350
#, fuzzy
#| msgid "Search"
msgid "Search Method"
msgstr "Sök"
msgstr "Sök Metod"
#: .\cookbook\forms.py:350
msgid "Fuzzy Lookups"
@@ -211,22 +224,20 @@ msgid "Starts With"
msgstr "Börjar med"
#: .\cookbook\forms.py:351
#, fuzzy
#| msgid "Search"
msgid "Fuzzy Search"
msgstr "Sök"
msgstr "Fuzzy Sök"
#: .\cookbook\forms.py:351
#, fuzzy
#| msgid "Text"
msgid "Full Text"
msgstr "Text"
msgstr "Hel Text"
#: .\cookbook\helper\AllAuthCustomAdapter.py:41
msgid ""
"In order to prevent spam, the requested email was not send. Please wait a "
"few minutes and try again."
msgstr ""
"För att förhindra spam, så skickades inte den begärda e-posten. Vänta några "
"minuter och försök igen."
#: .\cookbook\helper\permission_helper.py:164
#: .\cookbook\helper\permission_helper.py:187 .\cookbook\views\views.py:117
@@ -255,19 +266,19 @@ msgstr "Du kan inte interagera med detta objekt för att det ägs inte av dig!"
#: .\cookbook\helper\permission_helper.py:402
msgid "You have reached the maximum number of recipes for your space."
msgstr ""
msgstr "Du har nått det maximala antalet recept för din utrymme."
#: .\cookbook\helper\permission_helper.py:414
msgid "You have more users than allowed in your space."
msgstr ""
msgstr "Du har mer användare än tillåtet för ditt utrymme."
#: .\cookbook\helper\recipe_url_import.py:310
msgid "reverse rotation"
msgstr ""
msgstr "återvänd rotering"
#: .\cookbook\helper\recipe_url_import.py:311
msgid "careful rotation"
msgstr ""
msgstr "försiktig rotering"
#: .\cookbook\helper\recipe_url_import.py:312
msgid "knead"
@@ -291,7 +302,7 @@ msgstr "sous-vide"
#: .\cookbook\helper\shopping_helper.py:150
msgid "You must supply a servings size"
msgstr ""
msgstr "Du måste ange en portionstorlek"
#: .\cookbook\helper\template_helper.py:95
#: .\cookbook\helper\template_helper.py:97
@@ -305,7 +316,7 @@ msgstr "Favorit"
#: .\cookbook\integration\copymethat.py:50
msgid "I made this"
msgstr ""
msgstr "Jag gjorde den här"
#: .\cookbook\integration\integration.py:209
msgid ""
@@ -319,6 +330,8 @@ msgid ""
"An unexpected error occurred during the import. Please make sure you have "
"uploaded a valid file."
msgstr ""
"Ett oväntat fel uppstod under importeringen. Se till att du har laddat upp "
"en giltig fil."
#: .\cookbook\integration\integration.py:217
msgid "The following recipes were ignored because they already existed:"
@@ -330,10 +343,8 @@ msgid "Imported %s recipes."
msgstr "Importerade %s recept."
#: .\cookbook\integration\openeats.py:28
#, fuzzy
#| msgid "Recipe Home"
msgid "Recipe source:"
msgstr "Recept Hem"
msgstr "Recept källa:"
#: .\cookbook\integration\paprika.py:49
msgid "Notes"
@@ -374,23 +385,25 @@ msgstr "Sektion"
#: .\cookbook\management\commands\fix_duplicate_properties.py:15
msgid "Fixes foods with "
msgstr ""
msgstr "Korrigerar livsmedel med "
#: .\cookbook\management\commands\rebuildindex.py:14
msgid "Rebuilds full text search index on Recipe"
msgstr ""
msgstr "Återuppbygger fulltextsökningens index för Recept"
#: .\cookbook\management\commands\rebuildindex.py:18
msgid "Only Postgresql databases use full text search, no index to rebuild"
msgstr ""
"Endast Postgresql-databaser använder fulltextsökning, inget index att "
"återuppbygga med"
#: .\cookbook\management\commands\rebuildindex.py:29
msgid "Recipe index rebuild complete."
msgstr ""
msgstr "Recept index återbyggning färdig."
#: .\cookbook\management\commands\rebuildindex.py:31
msgid "Recipe index rebuild failed."
msgstr ""
msgstr "Recept index återbyggning misslyckades."
#: .\cookbook\migrations\0047_auto_20200602_1133.py:14
msgid "Breakfast"
@@ -439,6 +452,8 @@ msgid ""
"Maximum file storage for space in MB. 0 for unlimited, -1 to disable file "
"upload."
msgstr ""
"Maximal lagringsutrymme för utrymme i MB. 0 för obegränsad, -1 för att "
"inaktivera filuppladdning."
#: .\cookbook\models.py:454 .\cookbook\templates\search.html:7
#: .\cookbook\templates\settings.html:18
@@ -462,7 +477,7 @@ msgstr "Handla"
#: .\cookbook\models.py:752
msgid " is part of a recipe step and cannot be deleted"
msgstr ""
msgstr " är en del av ett receptsteg och kan inte tas bort"
#: .\cookbook\models.py:918
msgid "Nutrition"
@@ -501,34 +516,24 @@ msgid "Food Alias"
msgstr "Alternativt namn för mat"
#: .\cookbook\models.py:1468
#, fuzzy
#| msgid "Units"
msgid "Unit Alias"
msgstr "Enheter"
msgstr "Enhetsalias"
#: .\cookbook\models.py:1469
#, fuzzy
#| msgid "Keywords"
msgid "Keyword Alias"
msgstr "Nyckelord"
msgstr "Nyckelordsalias"
#: .\cookbook\models.py:1470
#, fuzzy
#| msgid "Description"
msgid "Description Replace"
msgstr "Beskrivning"
msgstr "Beskrivning Ersätt"
#: .\cookbook\models.py:1471
#, fuzzy
#| msgid "Instructions"
msgid "Instruction Replace"
msgstr "Instruktioner"
msgstr "Instruktioner Ersätt"
#: .\cookbook\models.py:1472
#, fuzzy
#| msgid "New Unit"
msgid "Never Unit"
msgstr "Ny enhet"
msgstr "Aldrig Enhet"
#: .\cookbook\models.py:1473
msgid "Transpose Words"
@@ -539,10 +544,8 @@ msgid "Food Replace"
msgstr "Ersätt mat"
#: .\cookbook\models.py:1475
#, fuzzy
#| msgid "Edit Recipe"
msgid "Unit Replace"
msgstr "Redigera recept"
msgstr "Ersätt Enhet"
#: .\cookbook\models.py:1476
msgid "Name Replace"

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-01 15:04+0200\n"
"PO-Revision-Date: 2024-02-15 03:19+0000\n"
"Last-Translator: dalan <xzdlj@outlook.com>\n"
"PO-Revision-Date: 2024-08-27 07:58+0000\n"
"Last-Translator: Known Rabbit <opensource@rabit.pw>\n"
"Language-Team: Chinese (Simplified) <http://translate.tandoor.dev/projects/"
"tandoor/recipes-backend/zh_Hans/>\n"
"Language: zh_CN\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.15\n"
"X-Generator: Weblate 5.6.2\n"
#: .\cookbook\forms.py:45
msgid ""
@@ -86,14 +86,16 @@ msgid ""
"<a href=\"https://www.home-assistant.io/docs/authentication/#your-account-"
"profile\">Long Lived Access Token</a> for your HomeAssistant instance"
msgstr ""
"您的HomeAssistant示例的<a href=\"https://www.home-assistant.io/docs/"
"authentication/#your-account-profile\">长期访问令牌</a>"
#: .\cookbook\forms.py:193
msgid "Something like http://homeassistant.local:8123/api"
msgstr ""
msgstr "形如 http://homeassistant.local:8123/api"
#: .\cookbook\forms.py:205
msgid "http://homeassistant.local:8123/api for example"
msgstr ""
msgstr "例如 http://homeassistant.local:8123/api"
#: .\cookbook\forms.py:222 .\cookbook\views\edit.py:117
msgid "Storage"
@@ -356,7 +358,7 @@ msgstr "准备时间"
#: .\cookbook\integration\saffron.py:29 .\cookbook\templates\index.html:7
msgid "Cookbook"
msgstr "菜谱"
msgstr "烹饪手册"
#: .\cookbook\integration\saffron.py:31
msgid "Section"
@@ -364,7 +366,7 @@ msgstr "部分"
#: .\cookbook\management\commands\fix_duplicate_properties.py:15
msgid "Fixes foods with "
msgstr ""
msgstr "修复食谱中的重复字段 "
#: .\cookbook\management\commands\rebuildindex.py:14
msgid "Rebuilds full text search index on Recipe"
@@ -400,29 +402,29 @@ msgstr "其他"
#: .\cookbook\migrations\0190_auto_20230525_1506.py:17
msgid "Fat"
msgstr ""
msgstr "脂肪"
#: .\cookbook\migrations\0190_auto_20230525_1506.py:17
#: .\cookbook\migrations\0190_auto_20230525_1506.py:18
#: .\cookbook\migrations\0190_auto_20230525_1506.py:19
msgid "g"
msgstr ""
msgstr ""
#: .\cookbook\migrations\0190_auto_20230525_1506.py:18
msgid "Carbohydrates"
msgstr ""
msgstr "碳水化合物"
#: .\cookbook\migrations\0190_auto_20230525_1506.py:19
msgid "Proteins"
msgstr ""
msgstr "蛋白质"
#: .\cookbook\migrations\0190_auto_20230525_1506.py:20
msgid "Calories"
msgstr ""
msgstr "卡路里"
#: .\cookbook\migrations\0190_auto_20230525_1506.py:20
msgid "kcal"
msgstr ""
msgstr "千卡"
#: .\cookbook\models.py:325
msgid ""
@@ -443,7 +445,7 @@ msgstr "膳食计划"
#: .\cookbook\models.py:456 .\cookbook\templates\base.html:122
#: .\cookbook\views\views.py:459
msgid "Books"
msgstr "书籍"
msgstr "烹饪手册"
#: .\cookbook\models.py:457 .\cookbook\templates\base.html:118
#: .\cookbook\views\views.py:460
@@ -455,24 +457,20 @@ msgid " is part of a recipe step and cannot be deleted"
msgstr " 是菜谱步骤的一部分,不能删除"
#: .\cookbook\models.py:918
#, fuzzy
#| msgid "Automations"
msgid "Nutrition"
msgstr "自动化"
msgstr "营养"
#: .\cookbook\models.py:918
#, fuzzy
#| msgid "Merge"
msgid "Allergen"
msgstr "合并"
msgstr "过敏原"
#: .\cookbook\models.py:919
msgid "Price"
msgstr ""
msgstr "价格"
#: .\cookbook\models.py:919
msgid "Goal"
msgstr ""
msgstr "目标"
#: .\cookbook\models.py:1408 .\cookbook\templates\search_info.html:28
msgid "Simple"
@@ -511,30 +509,24 @@ msgid "Instruction Replace"
msgstr "指示"
#: .\cookbook\models.py:1472
#, fuzzy
#| msgid "New Unit"
msgid "Never Unit"
msgstr "新单位"
msgstr "禁用单位识别"
#: .\cookbook\models.py:1473
msgid "Transpose Words"
msgstr ""
msgstr "字符串转置"
#: .\cookbook\models.py:1474
#, fuzzy
#| msgid "Food Alias"
msgid "Food Replace"
msgstr "食物别名"
msgstr "食物替换"
#: .\cookbook\models.py:1475
#, fuzzy
#| msgid "Description Replace"
msgid "Unit Replace"
msgstr "描述"
msgstr "单位替换"
#: .\cookbook\models.py:1476
msgid "Name Replace"
msgstr ""
msgstr "名称替换"
#: .\cookbook\models.py:1503 .\cookbook\views\delete.py:40
#: .\cookbook\views\edit.py:210 .\cookbook\views\new.py:39
@@ -571,7 +563,7 @@ msgstr "您已被邀请至 "
#: .\cookbook\serializer.py:1272
msgid " to join their Tandoor Recipes space "
msgstr " 加入他们的泥炉食谱空间 "
msgstr " 加入他们的 Tandoor 食谱空间 "
#: .\cookbook\serializer.py:1274
msgid "Click the following link to activate your account: "
@@ -589,11 +581,11 @@ msgstr "邀请有效期至 "
#: .\cookbook\serializer.py:1280
msgid ""
"Tandoor Recipes is an Open Source recipe manager. Check it out on GitHub "
msgstr "泥炉食谱是一个开源食谱管理器。 在 GitHub 上查看 "
msgstr "Tandoor 是一个开源食谱管理器。 在 GitHub 上查看 "
#: .\cookbook\serializer.py:1283
msgid "Tandoor Recipes Invite"
msgstr "泥炉食谱邀请"
msgstr "Tandoor 食谱邀请"
#: .\cookbook\serializer.py:1426
msgid "Existing shopping list to update"
@@ -979,13 +971,11 @@ msgstr "导出"
#: .\cookbook\templates\base.html:287
msgid "Properties"
msgstr ""
msgstr "属性"
#: .\cookbook\templates\base.html:301 .\cookbook\views\lists.py:255
#, fuzzy
#| msgid "Account Connections"
msgid "Unit Conversions"
msgstr "帐号连接"
msgstr "单位转换"
#: .\cookbook\templates\base.html:318 .\cookbook\templates\index.html:47
msgid "Import Recipe"
@@ -1005,10 +995,8 @@ msgid "Space Settings"
msgstr "空间设置"
#: .\cookbook\templates\base.html:340
#, fuzzy
#| msgid "External Recipes"
msgid "External Connectors"
msgstr "外部菜谱"
msgstr "外部连接器"
#: .\cookbook\templates\base.html:345 .\cookbook\templates\system.html:13
msgid "System"
@@ -1038,7 +1026,7 @@ msgstr "GitHub"
#: .\cookbook\templates\base.html:376
msgid "Translate Tandoor"
msgstr "翻译泥炉"
msgstr "翻译 Tandoor"
#: .\cookbook\templates\base.html:380
msgid "API Browser"
@@ -1050,7 +1038,7 @@ msgstr "退出"
#: .\cookbook\templates\base.html:406
msgid "You are using the free version of Tandor"
msgstr "你正在使用免费版的泥炉"
msgstr "你正在使用免费版的 Tandoor"
#: .\cookbook\templates\base.html:407
msgid "Upgrade Now"
@@ -1123,7 +1111,7 @@ msgstr "这可能需要几分钟,取决于同步的菜谱数量,请等待。
#: .\cookbook\templates\books.html:7
msgid "Recipe Books"
msgstr "菜谱书"
msgstr "烹饪手册"
#: .\cookbook\templates\export.html:7 .\cookbook\templates\test2.html:6
msgid "Export Recipes"
@@ -1453,10 +1441,8 @@ msgid "Back"
msgstr "返回"
#: .\cookbook\templates\property_editor.html:7
#, fuzzy
#| msgid "Ingredient Editor"
msgid "Property Editor"
msgstr "食材编辑器"
msgstr "属性编辑器"
#: .\cookbook\templates\recipe_view.html:36
msgid "Comments"
@@ -1770,7 +1756,7 @@ msgstr "非常适合大型数据库"
#: .\cookbook\templates\setup.html:6 .\cookbook\templates\system.html:5
msgid "Cookbook Setup"
msgstr "安装菜谱"
msgstr "安装菜谱应用"
#: .\cookbook\templates\setup.html:14
msgid "Setup"
@@ -1879,10 +1865,8 @@ msgid "Sign in using"
msgstr "登录使用"
#: .\cookbook\templates\space_manage.html:7
#, fuzzy
#| msgid "Space Membership"
msgid "Space Management"
msgstr "成员"
msgstr "空间管理"
#: .\cookbook\templates\space_manage.html:26
msgid "Space:"
@@ -1974,6 +1958,10 @@ msgid ""
"script to generate version information (done automatically in docker).\n"
" "
msgstr ""
"\n"
" 您需要在您的更新脚本中执行 <code>version.py</code> "
"生成版本信息Docker实例中会自动执行。\n"
" "
#: .\cookbook\templates\system.html:46
msgid "Media Serving"
@@ -2057,7 +2045,7 @@ msgstr ""
#: .\cookbook\templates\system.html:86
msgid "Allowed Hosts"
msgstr ""
msgstr "域名白名单"
#: .\cookbook\templates\system.html:90
msgid ""
@@ -2067,6 +2055,10 @@ msgid ""
"this.\n"
" "
msgstr ""
"\n"
" 您未配置域名白名单,本实例可以通过任意域名访问,某些特殊情况下可"
"能有用,但请尽量避免这样配置,请参考文档配置 ALLOWED_HOSTS 。\n"
" "
#: .\cookbook\templates\system.html:97
msgid "Database"
@@ -2077,10 +2069,8 @@ msgid "Info"
msgstr "信息"
#: .\cookbook\templates\system.html:110 .\cookbook\templates\system.html:127
#, fuzzy
#| msgid "Use fractions"
msgid "Migrations"
msgstr "使用分数"
msgstr "数据库结构变更"
#: .\cookbook\templates\system.html:116
msgid ""
@@ -2093,24 +2083,28 @@ msgid ""
"issue.\n"
" "
msgstr ""
"\n"
" 正常情况下数据库迁移不应产生任何报错!\n"
" 数据库迁移失败很可能导致本应用的功能出错或完全不可用。\n"
" 如果您在最新版本上数据库迁移依然产生错误,"
"请将数据库迁移日志和页面下方的信息反馈至 Github Issue 中。\n"
" "
#: .\cookbook\templates\system.html:182
msgid "False"
msgstr ""
msgstr ""
#: .\cookbook\templates\system.html:182
msgid "True"
msgstr ""
msgstr ""
#: .\cookbook\templates\system.html:207
msgid "Hide"
msgstr ""
msgstr "隐藏"
#: .\cookbook\templates\system.html:210
#, fuzzy
#| msgid "Show Log"
msgid "Show"
msgstr "显示记录"
msgstr "显示"
#: .\cookbook\templates\url_import.html:8
msgid "URL Import"
@@ -2184,17 +2178,15 @@ msgstr "{obj.name} 已添加到购物清单中。"
#: .\cookbook\views\api.py:742
msgid "Filter meal plans from date (inclusive) in the format of YYYY-MM-DD."
msgstr ""
msgstr "指定开始日期以过滤膳食计划(包含选择的日期),日期格式为 YYYY-MM-DD。"
#: .\cookbook\views\api.py:743
msgid "Filter meal plans to date (inclusive) in the format of YYYY-MM-DD."
msgstr ""
msgstr "指定结束日期以过滤膳食计划(包含选择的日期),日期格式为 YYYY-MM-DD。"
#: .\cookbook\views\api.py:744
#, fuzzy
#| msgid "ID of recipe a step is part of. For multiple repeat parameter."
msgid "Filter meal plans with MealType ID. For multiple repeat parameter."
msgstr "食谱中的步骤ID。 对于多个重复参数。"
msgstr "指定 MealType ID 以过滤膳食计划,重复参数以选择多个对象。"
#: .\cookbook\views\api.py:872
msgid "ID of recipe a step is part of. For multiple repeat parameter."
@@ -2341,17 +2333,13 @@ msgid ""
msgstr "返回主键为 id 的购物清单条目。 允许多个值。"
#: .\cookbook\views\api.py:1125
#, fuzzy
#| msgid ""
#| "Filter shopping list entries on checked. [true, false, both, <b>recent</"
#| "b>]<br> - recent includes unchecked items and recently completed items."
msgid ""
"Filter shopping list entries on checked. [true, false, both, <b>recent</"
"b>]<br> - recent includes unchecked items and recently "
"completed items."
msgstr ""
"在选中时筛选购物清单列表。 [真, 假, 两者都有, <b>最近</b>]<br> - 最近包括未"
"选中的项目和最近完成的项目。"
"勾选并筛选购物清单列表。 [真, 假, 两者都有, <b>最近</b>]"
"<br> - 最近包括未选中的项目和最近完成的项目。"
#: .\cookbook\views\api.py:1128
msgid "Returns the shopping list entries sorted by supermarket category order."
@@ -2359,17 +2347,13 @@ msgstr "返回按超市分类排序的购物清单列表。"
#: .\cookbook\views\api.py:1210
msgid "Filter for entries with the given recipe"
msgstr ""
msgstr "筛选包含所选食谱的对象"
#: .\cookbook\views\api.py:1292
#, fuzzy
#| msgid ""
#| "Returns the shopping list entry with a primary key of id. Multiple "
#| "values allowed."
msgid ""
"Return the Automations matching the automation type. Multiple values "
"allowed."
msgstr "返回主键为 id 的购物清单条目。 允许多个值。"
msgstr "返回与自动化类型相匹配的自动化条目。 允许多个值。"
#: .\cookbook\views\api.py:1415
msgid "Nothing to do."
@@ -2393,7 +2377,7 @@ msgstr "找不到可用的数据。"
#: .\cookbook\views\api.py:1549
msgid "File is above space limit"
msgstr ""
msgstr "文件大小超出空间限值"
#: .\cookbook\views\api.py:1566 .\cookbook\views\import_export.py:114
msgid "Importing is not implemented for this provider"
@@ -2403,7 +2387,7 @@ msgstr "此提供程序未实现导入"
#: .\cookbook\views\edit.py:88 .\cookbook\views\new.py:63
#: .\cookbook\views\new.py:82
msgid "This feature is not yet available in the hosted version of tandoor!"
msgstr "此功能在泥炉的托管版本中尚不可用!"
msgstr "此功能在 Tandoor 的托管版本中尚不可用!"
#: .\cookbook\views\api.py:1671
msgid "Sync successful!"
@@ -2434,10 +2418,8 @@ msgid ""
msgstr "无法删除此存储后端,因为它至少在一台显示器中使用。"
#: .\cookbook\views\delete.py:135
#, fuzzy
#| msgid "Storage Backend"
msgid "Connectors Config Backend"
msgstr "存储后端"
msgstr "连接器后端配置"
#: .\cookbook\views\delete.py:157
msgid "Invite Link"
@@ -2460,14 +2442,12 @@ msgid "There was an error updating this storage backend!"
msgstr "更新此存储后端时出错!"
#: .\cookbook\views\edit.py:134
#, fuzzy
#| msgid "Changes saved!"
msgid "Config saved!"
msgstr "更改已保存!"
msgstr "配置已保存!"
#: .\cookbook\views\edit.py:142
msgid "ConnectorConfig"
msgstr ""
msgstr "连接器配置"
#: .\cookbook\views\edit.py:198
msgid "Changes saved!"
@@ -2496,10 +2476,8 @@ msgid "Shopping List"
msgstr "采购单"
#: .\cookbook\views\lists.py:77 .\cookbook\views\new.py:98
#, fuzzy
#| msgid "Storage Backend"
msgid "Connector Config Backend"
msgstr "存储后端"
msgstr "连接器后端配置"
#: .\cookbook\views\lists.py:91
msgid "Invite Links"
@@ -2523,13 +2501,11 @@ msgstr "步骤"
#: .\cookbook\views\lists.py:270
msgid "Property Types"
msgstr ""
msgstr "属性类型"
#: .\cookbook\views\new.py:86
#, fuzzy
#| msgid "This feature is not available in the demo version!"
msgid "This feature is not enabled by the server admin!"
msgstr "此功能在演示版本中不可用!"
msgstr "此功能被服务器管理员禁用!"
#: .\cookbook\views\new.py:123
msgid "Imported new recipe!"
@@ -2545,11 +2521,9 @@ msgid "This feature is not available in the demo version!"
msgstr "此功能在演示版本中不可用!"
#: .\cookbook\views\views.py:74
#, fuzzy
#| msgid "You have reached the maximum number of recipes for your space."
msgid ""
"You have the reached the maximum amount of spaces that can be owned by you."
msgstr "你已经达到了空间的菜谱的最大数量。"
msgstr "你拥有的空间数量已经达到上限。"
#: .\cookbook\views\views.py:89
msgid ""
@@ -2582,48 +2556,32 @@ msgstr "模糊搜索与此搜索方法不兼容!"
#: .\cookbook\views\views.py:306
#, python-format
msgid "PostgreSQL %(v)s is deprecated. Upgrade to a fully supported version!"
msgstr ""
msgstr "PostgreSQL %(v)s 版本过时。请升级到支持的版本!"
#: .\cookbook\views\views.py:309
#, python-format
msgid "You are running PostgreSQL %(v1)s. PostgreSQL %(v2)s is recommended"
msgstr ""
msgstr "您运行的 PostgreSQL 版本是 %(v1)s。推荐版本为 PostgreSQL %(v2)s"
#: .\cookbook\views\views.py:313
msgid "Unable to determine PostgreSQL version."
msgstr ""
msgstr "无法确认 PostgreSQL 版本。"
#: .\cookbook\views\views.py:317
#, fuzzy
#| msgid ""
#| "\n"
#| " This application is not running with a Postgres database "
#| "backend. This is ok but not recommended as some\n"
#| " features only work with postgres databases.\n"
#| " "
msgid ""
"This application is not running with a Postgres database backend. This is ok "
"but not recommended as some features only work with postgres databases."
msgstr ""
"\n"
" 此应用程序未使用 PostgreSQL 数据库在后端运行。 这并没有关系,但这"
"是不推荐的,\n"
" 因为有些功能仅适用于 PostgreSQL 数据库。\n"
" "
msgstr "此应用未使用 PostgreSQL 数据库作为后端。 这是可运行的配置,但不推荐,"
"因为部分功能仅在 PostgreSQL 数据库下可用。"
#: .\cookbook\views\views.py:360
#, fuzzy
#| msgid ""
#| "The setup page can only be used to create the first user! If you have "
#| "forgotten your superuser credentials please consult the django "
#| "documentation on how to reset passwords."
msgid ""
"The setup page can only be used to create the first "
"user! If you have forgotten your superuser credentials "
"please consult the django documentation on how to reset passwords."
msgstr ""
"设置页面只能用于创建第一个用户!如果您忘记了超级用户凭据,请参阅 Django 文"
"档,了解如何重置密码。"
"设置页面只能用于创建第一个用户! "
"如果您忘记了超级用户凭据,请参阅 Django 文档,了解如何重置密码。"
#: .\cookbook\views\views.py:369
msgid "Passwords dont match!"
@@ -2659,27 +2617,23 @@ msgstr "菜谱共享链接已被禁用!有关更多信息,请与页面管理
#: .\cookbook\views\views.py:451
msgid "Manage recipes, shopping list, meal plans and more."
msgstr ""
msgstr "管理菜谱、购物清单、膳食计划等。"
#: .\cookbook\views\views.py:458
#, fuzzy
#| msgid "Meal-Plan"
msgid "Plan"
msgstr "膳食计划"
msgstr "计划"
#: .\cookbook\views\views.py:458
msgid "View your meal Plan"
msgstr ""
msgstr "查看您的膳食计划"
#: .\cookbook\views\views.py:459
msgid "View your cookbooks"
msgstr ""
msgstr "查看你的烹饪手册"
#: .\cookbook\views\views.py:460
#, fuzzy
#| msgid "New Shopping List"
msgid "View your shopping lists"
msgstr "购物清单"
msgstr "查看你的购物清单"
#~ msgid "Default unit"
#~ msgstr "默认单位"

View File

@@ -0,0 +1,18 @@
# Generated by Django 4.2.15 on 2024-09-15 10:30
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('cookbook', '0218_alter_mealplan_from_date_alter_mealplan_to_date'),
]
operations = [
migrations.AddField(
model_name='connectorconfig',
name='supports_description_field',
field=models.BooleanField(default=True, help_text='Does the todo entity support the description field'),
),
]

View File

@@ -406,6 +406,7 @@ class ConnectorConfig(models.Model, PermissionModelMixin):
on_shopping_list_entry_created_enabled = models.BooleanField(default=False)
on_shopping_list_entry_updated_enabled = models.BooleanField(default=False)
on_shopping_list_entry_deleted_enabled = models.BooleanField(default=False)
supports_description_field = models.BooleanField(default=True, help_text="Does the todo entity support the description field")
url = models.URLField(blank=True, null=True)
token = models.CharField(max_length=512, blank=True, null=True)

View File

@@ -427,7 +427,7 @@ class ConnectorConfigConfigSerializer(SpacedModelSerializer):
fields = (
'id', 'name', 'url', 'token', 'todo_entity', 'enabled',
'on_shopping_list_entry_created_enabled', 'on_shopping_list_entry_updated_enabled',
'on_shopping_list_entry_deleted_enabled', 'created_by'
'on_shopping_list_entry_deleted_enabled', 'supports_description_field', 'created_by'
)
read_only_fields = ('created_by',)

View File

@@ -403,7 +403,7 @@
{% if HOSTED and request.space.max_recipes == 10 %}
<div class="bg-warning" style=" width: 100%; text-align: center!important; color: #ffffff; padding: 8px">
{% trans 'You are using the free version of Tandor' %} <a class="btn-success btn-sm"
{% trans 'You are using the free version of Tandoor' %} <a class="btn-success btn-sm"
href="https://tandoor.dev/manage">{% trans 'Upgrade Now' %}</a>
</div>
{% endif %}

View File

@@ -99,11 +99,23 @@ def test_add(arg, request, a1_s2, obj_1):
assert r.status_code == arg[1]
if r.status_code == 201:
assert response['name'] == 'test'
assert response['supports_description_field'] == True
r = c.get(reverse(DETAIL_URL, args={response['id']}))
assert r.status_code == 200
r = a1_s2.get(reverse(DETAIL_URL, args={response['id']}))
assert r.status_code == 404
def test_add_with_supports_description_field_false(a1_s2):
r = a1_s2.post(
reverse(LIST_URL),
{'name': 'test', 'url': 'http://localhost:8123/api', 'token': '1234', 'enabled': 'true', 'supports_description_field': 'false'},
content_type='application/json'
)
response = json.loads(r.content)
print(r.content)
assert r.status_code == 201
assert response['name'] == 'test'
assert response['supports_description_field'] == False
def test_delete(a1_s1, a1_s2, obj_1):
r = a1_s2.delete(

View File

@@ -1458,9 +1458,9 @@ class RecipeUrlImportView(APIView):
data = "<script type='application/ld+json'>" + json.dumps(data_json) + "</script>"
except JSONDecodeError:
pass
scrape = scrape_html(html=data, org_url=url, supported_only=False)
scrape = scrape_html(html=data, org_url='https://urlnotfound.none', supported_only=False)
if not url and (found_url := scrape.schema.data.get('url', 'https://urlnotfound.none')):
scrape = scrape_html(text=data, url=found_url, supported_only=False)
scrape = scrape_html(html=data, org_url=found_url, supported_only=False)
if scrape:
return Response({

View File

@@ -3,8 +3,7 @@
These instructions are inspired from a standard django/gunicorn/postgresql instructions ([for example](https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04))
!!! warning
Be sure to use python 3.9 at least and pip related to python 3.9 at least. Depending on your distribution calling `python` or `pip` will use python2 instead of python 3.9. As of writing this documentation 3.10 is available as well.
Make sure your machine got at least 2048 MB memory, otherwise the yarn build will fail with `FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory`.
Make sure to use Python 3.10 or higher, and ensure that `pip` is associated with Python 3. Depending on your system configuration, using `python` or `pip` might default to Python 2. Make sure your machine has at least 2048 MB of memory; otherwise, the `yarn build` process may fail with the error: `FATAL ERROR: Reached heap limit - Allocation failed: JavaScript heap out of memory`.
## Prerequisites

View File

@@ -1,8 +1,8 @@
Django==4.2.15
cryptography===42.0.5
cryptography===43.0.1
django-annoying==0.10.6
django-cleanup==8.0.0
django-crispy-forms==2.1
django-crispy-forms==2.3
crispy-bootstrap4==2024.1
django-tables2==2.7.0
djangorestframework==3.15.2
@@ -13,15 +13,15 @@ bleach==6.0.0
gunicorn==22.0.0
lxml==5.1.0
Markdown==3.5.1
Pillow==10.3.0
Pillow==10.4.0
psycopg2-binary==2.9.9
python-dotenv==1.0.0
requests==2.32.0
six==1.16.0
webdavclient3==3.14.6
whitenoise==6.6.0
whitenoise==6.7.0
icalendar==5.0.11
pyyaml==6.0.1
pyyaml==6.0.2
uritemplate==4.1.1
beautifulsoup4==4.12.3
microdata==0.8.0
@@ -30,7 +30,7 @@ Jinja2==3.1.4
django-webpack-loader==3.0.1
git+https://github.com/BITSOLVER/django-js-reverse@071e304fd600107bc64bbde6f2491f1fe049ec82
django-allauth==0.61.1
recipe-scrapers==15.0.0
recipe-scrapers==15.2.1
django-scopes==2.0.0
django-treebeard==4.7
django-cors-headers==4.3.1

View File

@@ -21,7 +21,7 @@
"Calories": "Kalorien",
"Energy": "Energie",
"Nutrition": "Nährwerte",
"Keywords": "Stichwörter",
"Keywords": "Schlagwörter",
"Books": "Kochbücher",
"show_only_internal": "Nur interne Rezepte anzeigen",
"Ingredients": "Zutaten",
@@ -114,7 +114,7 @@
"Create_New_Shopping Category": "Neue Einkaufskategorie erstellen",
"Automate": "Automatisieren",
"Type": "Typ",
"and_up": "& hoch",
"and_up": "& auf",
"Unrated": "Unbewertet",
"Shopping_list": "Einkaufsliste",
"step_time_minutes": "Schritt Dauer in Minuten",
@@ -284,7 +284,7 @@
"copy_markdown_table": "Als Markdown-Tabelle kopieren",
"in_shopping": "In Einkaufsliste",
"DelayUntil": "Verzögerung bis",
"QuickEntry": "Einfach",
"QuickEntry": "Schnelleintrag",
"shopping_add_onhand": "Automatisch vorrätig",
"related_recipes": "Ähnliche Rezepte",
"today_recipes": "Rezepte des Tages",
@@ -358,9 +358,9 @@
"paste_ingredients": "Zutaten einfügen",
"Ingredient Editor": "Zutateneditor",
"Protected": "Geschützt",
"not": "nicht",
"not": "kein",
"warning_duplicate_filter": "Warnung: Wegen technischen Limitierungen können mehrere Filter der selben Kombination (und/oder/nicht) zu unerwarteten Ergebnissen führen.",
"and_down": "& Runter",
"and_down": "& ab",
"enable_expert": "Expertenmodus aktivieren",
"filter_name": "Filtername",
"shared_with": "geteilt mit",
@@ -415,7 +415,7 @@
"Invites": "Einladungen",
"Message": "Nachricht",
"Bookmarklet": "Lesezeichen",
"substitute_siblings_help": "Alle Lebensmittel, die sich ein übergeordnetes Lebensmittels teilen, gelten als Alternativen.",
"substitute_siblings_help": "Alle Lebensmittel, die sich ein übergeordnetes Lebensmittel teilen, gelten als Alternativen.",
"substitute_children": "Ersatzkinder",
"Decimals": "Nachkommastellen",
"Default_Unit": "Standardeinheit",
@@ -518,7 +518,7 @@
"show_step_ingredients_setting_help": "Fügen Sie neben den Rezeptschritten eine Zutatentabelle hinzu. Gilt zum Zeitpunkt der Erstellung. Kann in der Ansicht „Rezept bearbeiten“ überschrieben werden.",
"show_step_ingredients": "Schritt \"Zutaten\" anzeigen",
"hide_step_ingredients": "Schritt Zutaten ausblenden",
"OrderInformation": "Die Objekte sind von kleinen zu großen Zahlen geordnet.",
"OrderInformation": "Objekte werden von kleiner bis großer Anzahl geordnet.",
"show_ingredients_table": "Zeige eine Tabelle der Zutaten neben der Schrittbeschreibung",
"make_now_count": "Öfters fehlende Zutaten",
"fluid_ounce": "\"Fluid Ounce\" [fl oz] (US, Volumen)",
@@ -534,7 +534,7 @@
"Transpose_Words": "Wörter Umwandeln",
"Never_Unit": "Nie Einheit",
"Unit_Replace": "Einheit Ersetzen",
"quart": "\"Viertel\" [qt] (US, Volumen)",
"quart": "Viertel [qt] (US, Volumen)",
"imperial_quart": "Engl. \"Quart\" [imp qt] (UK, Volumen)",
"err_importing_recipe": "Es trat ein Fehler auf beim importieren des Rezepts!",
"property_type_fdc_hint": "Nur Eigenschaftstypen mit einer FDC-ID können automatisch Daten aus der FDC-Datenbank beziehen",
@@ -570,5 +570,6 @@
"DefaultPage": "Standardseite",
"Shopping_input_placeholder": "z.B. Kartoffeln/ 100 Kartoffeln/ 100 g Kartoffeln",
"Created": "Erstellt",
"Updated": "Aktualisiert"
"Updated": "Aktualisiert",
"us_cup": "Tasse (US, Volumen)"
}

View File

@@ -517,5 +517,56 @@
"imperial_gallon": "αυτοκρατορικό γαλόνι [imp gal] (Ηνωμένο Βασίλειο, όγκος)",
"imperial_tbsp": "αυτοκρατορικό κουτάλι της σούπας [imp tbsp] (Ηνωμένο Βασίλειο, όγκος)",
"Choose_Category": "Επιλογή κατηγορίας",
"Back": "Πίσω"
"Back": "Πίσω",
"Calculator": "Υπολογιστής",
"us_cup": "φλιτζάνι (ΗΠΑ, όγκος)",
"Created": "Δημιουργήθηκε",
"Logo": "Λογότυπο",
"Nav_Text_Mode_Help": "Συμπεριφέρεται διαφορετικά για κάθε θέμα.",
"Properties_Food_Amount": "Ιδιότητες Ποσότητα Φαγητού",
"show_step_ingredients": "Εμφάνιση των συστατικών του βήματος",
"make_now_count": "Το πολύ να λείπουν συστατικά",
"Error": "Σφάλμα",
"Nav_Text_Mode": "Λειτουγία κειμένου πλοήγησης",
"Input": "Εισαγογή",
"Undo": "Ανέρεση",
"NoMoreUndo": "Δεν υπάρχουν αλλαγές για ανέρεση.",
"Delete_All": "Διαγραφή όλων",
"created_by": "Δημιουργήθηκε από",
"CustomLogoHelp": "Ανεβάστε τετράγωνες εικόνες σε διαφορετικά μεγέθη για αλλαγή σε λογότυπο στην καρτέλα του προγράμματος περιήγησης και στο εγκατεστημένο Web App.",
"CustomNavLogoHelp": "Μεταφορτώστε μια εικόνα για χρήση ως λογότυπο της γραμμής πλοήγησης.",
"ShowRecentlyCompleted": "Πρόσφατα αντικείμενα που ολοκληρώθηκαν",
"ShoppingBackgroundSyncWarning": "Κακό δίκτυο, αναμονή συγχρονισμού...",
"Name_Replace": "Αντικατάσταση Ονόματος",
"Transpose_Words": "Μεταφορά λέξεων",
"err_importing_recipe": "Υπάρχει σφάλμα στην εισαγωγή της σύνταγης!",
"Properties_Food_Unit": "Ιδιότητες Μονάδα Φαγητού",
"show_step_ingredients_setting": "Εμφάνιση συστατικών δίπλα στα βήματα της συνταγής",
"show_step_ingredients_setting_help": "Προσθέστε τον πίνακα συστατικών δίπλα στα βήματα της συνταγής. Ισχύει κατά τη δημιουργία. Μπορεί να παρακαμφθεί στην προβολή επεξεργασίας συνταγής.",
"hide_step_ingredients": "Απόκρυψη των συστατικών του βήματος",
"property_type_fdc_hint": "Μόνο οι τύποι ιδιοτήτων με ταυτότητα FDC, μπορούν να τραβήξουν αυτόματα δεδομένα απο την βάση δεδομένων του FDC",
"FDC_Search": "Αναζήτηση FDC",
"StartDate": "Ημερομηνία Έναρξης",
"CustomImageHelp": "Ανεβάστε μια εικόνα για να εμφανίζεται στην επισκόπηση χώρου",
"CustomThemeHelp": "Αντικαταστήστε τα στυλ του επιλεγμένου θέματος μεταφορτώνοντας ένα προσαρμοσμένο αρχείο CSS.",
"CustomTheme": "Προσαρμοσμένο Θέμα",
"Shopping_input_placeholder": "π.χ. Πατάτα/100 Πατάτες/100 γρ Πατατες",
"Property_Editor": "Επεξεργαστής Ιδιοτήτων",
"CustomLogos": "Προσαρμοσμένα λογότυπα",
"Updated": "Επεξεργάστηκε",
"Unchanged": "Αμετάβλητο",
"Show_Logo": "Εμφάνιση λογότυπου",
"Show_Logo_Help": "Εμφάνιση λογότυπου του Tandoor ή του space στη γραμμή πλοήγησης.",
"Space_Cosmetic_Settings": "Ορισμένες ρυθμίσεις εμφάνισης μπορούν να αλλάξουν από τους διαχειριστές του χώρου και θα παρακάμψουν τις ρυθμίσεις πελάτη για αυτόν τον χώρο.",
"show_ingredients_table": "Εμφάνιση ένός πίνακα με τα συστατικά δίπλα στο κείμενο του βήματος",
"Enable": "Ενεργοποίηση",
"Alignment": "Ευθυγράμμιση",
"FDC_ID_help": "Ταυτότητα βάσης δεδομένων FDC",
"EndDate": "Ημερομηνία Λήξης",
"FDC_ID": "Ταυτότητα FDC",
"OrderInformation": "Τα αντικείμενα ταξινομούνται από μικρό σε μεγάλο αριθμό.",
"Never_Unit": "Ποτέ Μονάδα",
"DefaultPage": "Προεπιλεγμένη σελίδα",
"Food_Replace": "Αντικατάσταση Φαγητού",
"Unit_Replace": "Αντικατάσταση Μονάδας"
}

View File

@@ -24,7 +24,7 @@
"Log_Recipe_Cooking": "Registro de recetas",
"External_Recipe_Image": "Imagen externa de la receta",
"Add_to_Shopping": "Añadir a la cesta",
"Add_to_Plan": "Añadir a regimen",
"Add_to_Plan": "Añadir al plan",
"Step_start_time": "Hora de inicio",
"Sort_by_new": "Ordenar por novedades",
"Table_of_Contents": "Tabla de contenido",
@@ -34,15 +34,15 @@
"Add_nutrition_recipe": "Añadir nutricion a la canasta",
"Remove_nutrition_recipe": "Borrar nutrición de la canasta",
"Copy_template_reference": "Copiar patrón",
"Save_and_View": "Grabar y mostrar",
"Manage_Books": "Manejar libros",
"Meal_Plan": "Régimen de comida",
"Save_and_View": "Guardar y mostrar",
"Manage_Books": "Gestionar libros",
"Meal_Plan": "Plan de comidas",
"Select_Book": "Seleccionar libro",
"Select_File": "Seleccionar archivo",
"Recipe_Image": "Imagen de la receta",
"Import_finished": "Importación finalizada",
"View_Recipes": "Mostrar recetas",
"Log_Cooking": "Registrar Cocinada",
"Log_Cooking": "Registrar cocinada",
"New_Recipe": "Nueva receta",
"Url_Import": "Importar desde url",
"Reset_Search": "Resetear busqueda",
@@ -95,9 +95,9 @@
"Categories": "categorias",
"Category": "Categoría",
"Selected": "Selecionado",
"min": "minimo",
"min": "nimo",
"Servings": "Raciones",
"Waiting": "esperando",
"Waiting": "Esperando",
"Preparation": "Preparación",
"External": "Externo",
"Size": "Tamaño",
@@ -187,8 +187,8 @@
"FoodOnHand": "Ya tienes {food} comprado.",
"FoodNotOnHand": "No tienes {food} comprado.",
"Undefined": "Indefinido",
"Create_Meal_Plan_Entry": "Crear entrada del régimen de comidas",
"Edit_Meal_Plan_Entry": "Eliminar entrada del régimen de comidas",
"Create_Meal_Plan_Entry": "Crear entrada del plan de comidas",
"Edit_Meal_Plan_Entry": "Eliminar entrada del plan de comidas",
"Title": "Titulo",
"Week": "Semana",
"Month": "Mes",
@@ -374,7 +374,7 @@
"Ratings": "Calificaciones",
"Internal": "Interno",
"Units": "Unidades",
"Random Recipes": "Recetas Aleatorias",
"Random Recipes": "Recetas aleatorias",
"parameter_count": "Parámetro {count}",
"select_keyword": "Seleccionar Palabra Clave",
"add_keyword": "Añadir Palabra Clave",
@@ -505,7 +505,7 @@
"Combine_All_Steps": "Combinar todos los pasos en un solo campo.",
"imperial_pint": "Pinta imperial [imp pt] (Reino Unido, volumen)",
"Shopping_input_placeholder": "e.g. Patata/100 Patatas/100 g Patatas",
"Property_Editor": "Editor de Propiedades",
"Property_Editor": "Editor de propiedades",
"Conversion": "Conversión",
"created_by": "Creado por",
"CustomLogoHelp": "Subir imágenes cuadradas de diferentes tamaños para cambiarlas a logotipo en la pestaña del navegador y en la aplicación web instalada.",

View File

@@ -8,11 +8,11 @@
"err_moving_resource": "Hiba történt egy erőforrás áthelyezésekor!",
"err_merging_resource": "Hiba történt egy erőforrás egyesítésekor!",
"success_fetching_resource": "Sikeresen lekérdezett erőforrást!",
"success_creating_resource": "",
"success_updating_resource": "",
"success_deleting_resource": "",
"success_moving_resource": "",
"success_merging_resource": "",
"success_creating_resource": "Sikeresen létrehoztam egy erőforrást!",
"success_updating_resource": "Sikeresen frissítettem egy erőforrást!",
"success_deleting_resource": "Sikeresen töröltem egy erőforrást!",
"success_moving_resource": "Sikeresen áthelyeztem egy erőforrást!",
"success_merging_resource": "Sikeresen egyesítettem egy erőforrást!",
"file_upload_disabled": "A fájlfeltöltés nincs engedélyezve az Ön teréhez.",
"step_time_minutes": "Lépés időtartama percben",
"confirm_delete": "Biztos, hogy törölni akarja ezt a {object}?",

View File

@@ -2,17 +2,17 @@
"import_running": "Er wordt geïmporteerd, even geduld!",
"all_fields_optional": "Alle velden zijn optioneel en kunnen leeg gelaten worden.",
"convert_internal": "Zet om naar intern recept",
"Log_Recipe_Cooking": "Bereiding loggen",
"Log_Recipe_Cooking": "Bereiding registreren",
"External_Recipe_Image": "Externe Afbeelding Recept",
"Add_to_Book": "Voeg toe aan Boek",
"Add_to_Shopping": "Voeg toe aan Boodschappen",
"Add_to_Plan": "Voeg toe aan Plan",
"Step_start_time": "Starttijd stap",
"Select_Book": "Selecteer boek",
"Select_Book": "Selecteer kookboek",
"Recipe_Image": "Afbeelding Recept",
"Import_finished": "Importeren gereed",
"View_Recipes": "Bekijk Recepten",
"Log_Cooking": "Log Bereiding",
"Log_Cooking": "Registreer bereiding",
"Proteins": "Eiwitten",
"Fats": "Vetten",
"Carbohydrates": "Koolhydraten",
@@ -39,7 +39,7 @@
"Print": "Afdrukken",
"Information": "Informatie",
"Keywords": "Trefwoorden",
"Books": "Boeken",
"Books": "Kookboeken",
"show_only_internal": "Toon alleen interne recepten",
"New_Recipe": "Nieuw Recept",
"Url_Import": "Importeer URL",
@@ -76,8 +76,8 @@
"Delete": "Verwijder",
"Ok": "Ok",
"Load_More": "Laad meer",
"Manage_Books": "Beheer boeken",
"Create": "Voeg toe",
"Manage_Books": "Beheer kookboeken",
"Create": "Aanmaken",
"Failure": "Storing",
"View": "Bekijk",
"Recipes": "Recepten",
@@ -172,7 +172,7 @@
"Week": "Week",
"Month": "Maand",
"Color": "Kleur",
"New_Meal_Type": "Nieuw Maaltype",
"New_Meal_Type": "Nieuw maaltijd type",
"Image": "Afbeelding",
"Planner_Settings": "Planner instellingen",
"Period": "Periode",
@@ -180,11 +180,11 @@
"Periods": "Periodes",
"Plan_Show_How_Many_Periods": "Hoeveel perioden tonen",
"Starting_Day": "Eerste dag van de week",
"Meal_Types": "Maaltypes",
"Meal_Type": "Maaltype",
"Meal_Types": "Maaltijd types",
"Meal_Type": "Maaltijd type",
"Clone": "Kloon",
"Drag_Here_To_Delete": "Sleep hierheen om te verwijderen",
"Meal_Type_Required": "Maaltype is verplicht",
"Meal_Type_Required": "Maaltijd type is verplicht",
"Title_or_Recipe_Required": "Titel of recept selectie is verplicht",
"Select_File": "Selecteer Bestand",
"Year": "Jaar",
@@ -293,7 +293,7 @@
"fields": "Velden",
"show_keywords": "Toon Trefwoorden",
"show_foods": "Toon ingrediënten",
"show_books": "Toon boeken",
"show_books": "Toon kookboeken",
"show_rating": "Toon waardering",
"show_units": "Toon eenheden",
"show_filters": "Toon filters",
@@ -431,14 +431,14 @@
"Second": "Seconde",
"Seconds": "Seconden",
"Account": "Account",
"Cosmetic": "Cosmetisch",
"Cosmetic": "Weergave",
"Message": "Bericht",
"Sticky_Nav": "Navigatie altijd zichbaar",
"Sticky_Nav_Help": "Geef navigatiemenu altijd bovenin weer.",
"Nav_Color": "Navigatiekleur",
"Nav_Color_Help": "Verander de navigatiekleur.",
"Use_Kj": "kJ gebruiken in plaats van kcal",
"Comments_setting": "Commentaar weergeven",
"Comments_setting": "Opmerkingen weergeven",
"Change_Password": "Wachtwoord veranderen",
"Social_Authentication": "Authenticeren met sociale media-account",
"First_name": "Voornaam",
@@ -452,7 +452,7 @@
"Private_Recipe": "Privé Recept",
"Copy Link": "Kopieer Link",
"Decimals": "Decimalen",
"Use_Fractions": "Gebruik Kommagetallen",
"Use_Fractions": "Gebruik breuken",
"Theme": "Thema",
"Hour": "Uur",
"Users": "Gebruikers",
@@ -523,7 +523,7 @@
"Back": "Terug",
"err_importing_recipe": "Bij het importeren van het recept is een fout opgetreden!",
"CustomLogoHelp": "Upload vierkante afbeeldingen in verschillende groottes om het logo in het browser tabblad en geïnstalleerde web apps aan te passen.",
"DefaultPage": "Standaard Pagina",
"DefaultPage": "Startpagina",
"hide_step_ingredients": "Verberg Stap Ingrediënten",
"CustomTheme": "Aangepast Thema",
"CustomThemeHelp": "Overschrijf de stijl van het thema door een aangepast CSS bestand te uploaden.",
@@ -549,15 +549,15 @@
"ShowRecentlyCompleted": "Toon recent voltooide items",
"ShoppingBackgroundSyncWarning": "Slecht netwerk, wachten met synchroniseren…",
"OrderInformation": "Objecten worden van kleine naar grote nummers gesorteerd.",
"Show_Logo": "Toon Logo",
"Show_Logo_Help": "Toon Tandoor of ruimte logo in navigatie balk.",
"Show_Logo": "Toon logo",
"Show_Logo_Help": "Toon het Tandoor of 'Ruimte' logo in de navigatie balk.",
"Created": "Gemaakt",
"Updated": "Geüpdate",
"Unchanged": "Ongewijzigd",
"Error": "Fout",
"Logo": "Logo",
"Nav_Text_Mode": "Navigatie Tekst Mode",
"Space_Cosmetic_Settings": "Sommige cosmetische instellingen kunnen worden gewijzigd door de administrator van de Ruimte en zullen de persoonlijk instellingen voor die Ruimte overschrijven.",
"Nav_Text_Mode": "Navigatie tekstkleur",
"Space_Cosmetic_Settings": "Sommige weergave instellingen kunnen worden geforceerd door de administrator van de 'Ruimte' en zullen de persoonlijke instellingen voor die 'Ruimte' overschrijven.",
"Nav_Text_Mode_Help": "Beinvloed het uiterlijk voor ieder thema anders.",
"show_ingredients_table": "Toon een tabel van de ingrediënten naast de stap tekst",
"Alignment": "Afstemming",
@@ -571,5 +571,6 @@
"Name_Replace": "Naam Vervangen",
"Food_Replace": "Voedingsmiddelen Vervangen",
"Never_Unit": "Nooit Eenheid",
"Transpose_Words": "Omzetten Woorden"
"Transpose_Words": "Omzetten Woorden",
"us_cup": "kopje (US, eenheid)"
}

View File

@@ -1,5 +1,5 @@
{
"warning_feature_beta": "Данный функционал находится в стадии BETA (тестируется). Возможны баги и серьезные изменения функционала в будущем.",
"warning_feature_beta": "Данный функционал находится в стадии бета-тестирования. Возможны баги и серьезные изменения функционала в будущем.",
"err_fetching_resource": "Ошибка при загрузке продукта!",
"err_creating_resource": "Ошибка при создании продукта!",
"err_updating_resource": "Ошибка при редактировании продукта!",
@@ -312,7 +312,7 @@
"recipe_name": "Название рецепта",
"view_recipe": "Посмотреть рецепт",
"times_cooked": "Время готовки",
"last_cooked": "Последнее приготовленое",
"last_cooked": "Последнее приготовленное",
"date_viewed": "Последний просмотренный",
"Internal": "Внутренний",
"Imported_From": "Импортировано из",
@@ -346,5 +346,22 @@
"food_inherit_info": "Поля для продуктов питания, которые должны наследоваться по умолчанию.",
"warning_space_delete": "Вы можете удалить свое пространство, включая все рецепты, списки покупок, планы питания и все остальное, что вы создали. Этого нельзя отменить! Вы уверены, что хотите это сделать?",
"Description_Replace": "Изменить описание",
"err_importing_recipe": "Произошла ошибка при импортировании рецепта!"
"err_importing_recipe": "Произошла ошибка при импортировании рецепта!",
"related_recipes": "Похожие рецепты",
"Auto_Sort_Help": "Переместить все ингредиенты на наиболее подходящий шаг.",
"reusable_help_text": "Должна ли ссылка приглашения быть доступна для использования более чем одним пользователем?",
"asc": "По увеличению",
"desc": "По убыванию",
"show_sortby": "Показать сортировку по",
"Calculator": "Калькулятор",
"Private_Recipe_Help": "Рецепт виден только вам и людям, с которыми им поделились.",
"Private_Recipe": "Приватный Рецепт",
"Auto_Sort": "Автоматическая сортировка",
"Amount": "Количество",
"per_serving": "за порцию",
"Instruction_Replace": "Изменить Инструкцию",
"recipe_property_info": "Вы также можете добавить свойства к продуктам, чтобы автоматически рассчитывать их на основе вашего рецепта!",
"open_data_help_text": "Проект Tandoor Open Data предоставляет предоставленные сообществом данные для Tandoor. Это поле заполняется автоматически при импорте и допускает обновления в будущем.",
"Open_Data_Import": "Открыть импорт данных",
"property_type_fdc_hint": "Только типы свойств с FDC ID могут автоматически получать данные из базы данных FDC"
}

View File

@@ -13,14 +13,14 @@
"show_only_internal": "仅显示内部食谱",
"Log_Recipe_Cooking": "食谱烹饪记录",
"External_Recipe_Image": "外部食谱图像",
"Add_to_Shopping": "添加到购物",
"Add_to_Shopping": "加入购物清单",
"Add_to_Plan": "添加到计划",
"Step_start_time": "步骤开始时间",
"Sort_by_new": "按新旧排序",
"Recipes_per_page": "每页食谱数量",
"Manage_Books": "管理书籍",
"Manage_Books": "烹饪手册管理",
"Meal_Plan": "用餐计划",
"Select_Book": "选择书籍",
"Select_Book": "选择烹饪手册",
"Recipe_Image": "食谱图像",
"Import_finished": "导入完成",
"View_Recipes": "查看食谱",
@@ -31,7 +31,7 @@
"Recently_Viewed": "最近浏览",
"Load_More": "加载更多",
"Keywords": "关键词",
"Books": "书籍",
"Books": "烹饪手册",
"Proteins": "蛋白质",
"Fats": "脂肪",
"Carbohydrates": "碳水化合物",
@@ -198,7 +198,7 @@
"Week_Numbers": "周数",
"Show_Week_Numbers": "显示周数?",
"Coming_Soon": "即将到来",
"New_Cookbook": "新烹饪",
"New_Cookbook": "新烹饪手册",
"Hide_Keyword": "隐藏关键词",
"Export_To_ICal": "导出 .ics",
"Added_To_Shopping_List": "添加到购物清单",
@@ -296,7 +296,7 @@
"Default_Unit": "默认单位",
"Seconds": "秒",
"and_down": "& Down",
"ignore_shopping_help": "请不要将食物添加到购物列表中(例如水)",
"ignore_shopping_help": "请不要将食物添加到购物清单中(例如水)",
"Use_Fractions_Help": "查看食谱时自动将小数转换为分数。",
"Foods": "食物",
"Use_Fractions": "使用分数",
@@ -323,7 +323,7 @@
"Invites": "邀请",
"warning_duplicate_filter": "警告:由于技术限制,使用相同组合(和/或/不)的多个筛选器可能会产生意想不到的结果。",
"Account": "账户",
"Cosmetic": "化妆品",
"Cosmetic": "外观",
"API": "API",
"enable_expert": "启用专家模式",
"expert_mode": "专家模式",
@@ -331,7 +331,7 @@
"fields": "字段",
"show_keywords": "显示关键字",
"show_foods": "显示食物",
"show_books": "显示书籍",
"show_books": "显示烹饪手册",
"show_units": "显示单位",
"show_filters": "显示筛选器",
"filter_name": "筛选器名称",
@@ -346,7 +346,7 @@
"Click_To_Edit": "点击编辑",
"search_no_recipes": "找不到任何食谱!",
"search_import_help_text": "从外部网站或应用程序导入食谱。",
"search_create_help_text": "直接在泥炉中创建新食谱。",
"search_create_help_text": "直接在 Tandoor 中创建新食谱。",
"reset_children": "重置子继承",
"reset_food_inheritance": "重置继承",
"reset_food_inheritance_info": "将所有食物重置为默认继承字段及其父值。",
@@ -479,7 +479,7 @@
"Auto_Sort_Help": "将所有食材移动到最恰当的步骤。",
"Create Recipe": "创建食谱",
"Import Recipe": "导入食谱",
"recipe_property_info": "您也可以为食物添加属性,以便根据食谱自动计算!",
"recipe_property_info": "您也可以为食物添加属性,以便根据您的食谱自动计算它们",
"per_serving": "每份",
"converted_amount": "换算量",
"Open_Data_Import": "开放数据导入",
@@ -558,5 +558,16 @@
"CustomImageHelp": "上传图片以在空间概览中显示。",
"CustomNavLogoHelp": "上传图像以用作导航栏徽标。",
"CustomLogoHelp": "上传不同尺寸的方形图像以更改为浏览器选项卡和安装的网络应用程序中的徽标。",
"CustomLogos": "自定义徽标"
"CustomLogos": "自定义徽标",
"us_cup": "量杯(美式容量单位)",
"Created": "已创建",
"Shopping_input_placeholder": "例:土豆 / 100 土豆 / 100 g 土豆",
"created_by": "创建者",
"Updated": "已更新",
"Unchanged": "未更改",
"Error": "错误",
"DefaultPage": "默认页面",
"Transpose_Words": "字符串转置",
"Calculator": "计算器",
"Never_Unit": "禁用单位识别"
}