mirror of
https://github.com/TandoorRecipes/recipes.git
synced 2025-12-28 12:39:36 -05:00
Compare commits
160 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5484506bc3 | ||
|
|
136f05b886 | ||
|
|
348296763d | ||
|
|
5c7a57ac32 | ||
|
|
0c0b8ea455 | ||
|
|
2f20f43efe | ||
|
|
1662b793a5 | ||
|
|
2e4efe2500 | ||
|
|
3d01faed5f | ||
|
|
9bc3443a3c | ||
|
|
87dc32210e | ||
|
|
671216488e | ||
|
|
f596fc33a1 | ||
|
|
82756923ad | ||
|
|
14042563bf | ||
|
|
06e12396e8 | ||
|
|
b698eee3a1 | ||
|
|
9d15634dc8 | ||
|
|
5f6c298d04 | ||
|
|
f20a2ca781 | ||
|
|
6dcfbc24a9 | ||
|
|
ea9404301b | ||
|
|
da268b4429 | ||
|
|
2775960cf7 | ||
|
|
bff6b2ffb0 | ||
|
|
193600564e | ||
|
|
2abd683759 | ||
|
|
0163800a05 | ||
|
|
958ccd7f7d | ||
|
|
a0eb1df4fa | ||
|
|
3f1c6d1dd0 | ||
|
|
87a80e0caa | ||
|
|
debdd03a7a | ||
|
|
c58697aecd | ||
|
|
3b3ad37d64 | ||
|
|
d392b06e98 | ||
|
|
99a9f594e2 | ||
|
|
549a5b764d | ||
|
|
26592c31a9 | ||
|
|
378eb924e9 | ||
|
|
f8f4a87a99 | ||
|
|
55289e6837 | ||
|
|
60efbd0389 | ||
|
|
f3903c1aa5 | ||
|
|
b01e62007f | ||
|
|
7730890525 | ||
|
|
29977609aa | ||
|
|
88c3a7d0bf | ||
|
|
ba0335bb28 | ||
|
|
51e01ee40c | ||
|
|
b55ceda978 | ||
|
|
37b4f5c896 | ||
|
|
a78b42d9ab | ||
|
|
d1b6a4eb43 | ||
|
|
61bfaf012b | ||
|
|
92adc9b610 | ||
|
|
feb4a63bb0 | ||
|
|
30f8318531 | ||
|
|
5b040900a7 | ||
|
|
717666fc14 | ||
|
|
a012a6f0d5 | ||
|
|
3341c6db19 | ||
|
|
206d13594a | ||
|
|
37af406831 | ||
|
|
88f18a1b24 | ||
|
|
8bf410dbca | ||
|
|
c98411ca0e | ||
|
|
fcfb404edf | ||
|
|
a0c8b39f0c | ||
|
|
3a1f2540b1 | ||
|
|
9c680bc59c | ||
|
|
fde95a6a8e | ||
|
|
150a0332f6 | ||
|
|
618c32bdb8 | ||
|
|
ea35850b71 | ||
|
|
87561943f9 | ||
|
|
5fd8d4e847 | ||
|
|
eb6d0d7922 | ||
|
|
d3dd9099f6 | ||
|
|
a112b23d07 | ||
|
|
4c591f3827 | ||
|
|
62a28f57f6 | ||
|
|
ef689b0857 | ||
|
|
aa903da042 | ||
|
|
9587d8832d | ||
|
|
f125be1347 | ||
|
|
269301852a | ||
|
|
8e5dcd57ce | ||
|
|
920273197d | ||
|
|
1be2e9fbb2 | ||
|
|
7c93eededf | ||
|
|
1b17031523 | ||
|
|
2d76c3e84c | ||
|
|
03dd4370b9 | ||
|
|
157af15a2a | ||
|
|
b930ecdcd0 | ||
|
|
100242f0a6 | ||
|
|
d695f71d36 | ||
|
|
5d60b7a67c | ||
|
|
5d5d89dab9 | ||
|
|
35a625e04b | ||
|
|
1a2d3bb441 | ||
|
|
2e3ac02afb | ||
|
|
a5b8a65b7d | ||
|
|
dc320f2e6d | ||
|
|
acbca83553 | ||
|
|
cb26c5dfc8 | ||
|
|
b5c4174700 | ||
|
|
3e37d11c6a | ||
|
|
36e83a9d01 | ||
|
|
efcd759869 | ||
|
|
9f8830b341 | ||
|
|
7c81396ec5 | ||
|
|
9b50665375 | ||
|
|
83795581e6 | ||
|
|
af51524109 | ||
|
|
738aa12243 | ||
|
|
f25de4b4ce | ||
|
|
698aa5a753 | ||
|
|
6444680e06 | ||
|
|
38e1db9c53 | ||
|
|
d71c929ba8 | ||
|
|
c604369e86 | ||
|
|
4865b742c7 | ||
|
|
1246549f4b | ||
|
|
79abb8bf8f | ||
|
|
fd4236672e | ||
|
|
00148a2993 | ||
|
|
359fcb24cf | ||
|
|
f5d7919f72 | ||
|
|
86c4278553 | ||
|
|
2a5c0bb740 | ||
|
|
432dfa9e86 | ||
|
|
f61a8371f4 | ||
|
|
0bcdf5e0a3 | ||
|
|
169f799a23 | ||
|
|
942d1130a1 | ||
|
|
64cc20aed2 | ||
|
|
3a6731ec8d | ||
|
|
e6f11a17b9 | ||
|
|
cc1cd610e7 | ||
|
|
6a3b5ee844 | ||
|
|
49b119571e | ||
|
|
e024e3deb0 | ||
|
|
7ccedb559d | ||
|
|
103daf000d | ||
|
|
70df456307 | ||
|
|
375174ee41 | ||
|
|
f19beba014 | ||
|
|
865756e4b2 | ||
|
|
41f834db08 | ||
|
|
2c94753a5a | ||
|
|
0e05c77fa7 | ||
|
|
793c152b26 | ||
|
|
9df75f551c | ||
|
|
da49280ef2 | ||
|
|
e6087d5129 | ||
|
|
4f9bff20c8 | ||
|
|
683f1ac10a | ||
|
|
e844d2995a |
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: awalsh128/cache-apt-pkgs-action@v1.4.2
|
||||
- uses: awalsh128/cache-apt-pkgs-action@v1.4.3
|
||||
with:
|
||||
packages: libsasl2-dev python3-dev libldap2-dev libssl-dev
|
||||
version: 1.0
|
||||
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -84,3 +84,5 @@ vue3/.vite
|
||||
# Configs
|
||||
vetur.config.js
|
||||
venv/
|
||||
.idea/easy-i18n.xml
|
||||
cookbook/static/vue3
|
||||
@@ -23,7 +23,7 @@ RUN \
|
||||
fi
|
||||
# remove Development dependencies from requirements.txt
|
||||
RUN sed -i '/# Development/,$d' requirements.txt
|
||||
RUN apk add --no-cache --virtual .build-deps gcc musl-dev postgresql-dev zlib-dev jpeg-dev libwebp-dev openssl-dev libffi-dev cargo openldap-dev python3-dev && \
|
||||
RUN apk add --no-cache --virtual .build-deps gcc musl-dev postgresql-dev zlib-dev jpeg-dev libwebp-dev openssl-dev libffi-dev cargo openldap-dev python3-dev xmlsec-dev xmlsec build-base && \
|
||||
echo -n "INPUT ( libldap.so )" > /usr/lib/libldap_r.so && \
|
||||
python -m venv venv && \
|
||||
/opt/recipes/venv/bin/python -m pip install --upgrade pip && \
|
||||
@@ -35,6 +35,13 @@ RUN apk add --no-cache --virtual .build-deps gcc musl-dev postgresql-dev zlib-de
|
||||
#Copy project and execute it.
|
||||
COPY . ./
|
||||
|
||||
# commented for now https://github.com/TandoorRecipes/recipes/issues/3478
|
||||
#HEALTHCHECK --interval=30s \
|
||||
# --timeout=5s \
|
||||
# --start-period=10s \
|
||||
# --retries=3 \
|
||||
# CMD [ "/usr/bin/wget", "--no-verbose", "--tries=1", "--spider", "http://127.0.0.1:8080/openapi" ]
|
||||
|
||||
# collect information from git repositories
|
||||
RUN /opt/recipes/venv/bin/python version.py
|
||||
# delete git repositories to reduce image size
|
||||
|
||||
14
boot.sh
14
boot.sh
@@ -29,6 +29,18 @@ if [ -z "${SECRET_KEY}" ]; then
|
||||
display_warning "The environment variable 'SECRET_KEY' (or 'SECRET_KEY_FILE' that points to an existing file) is not set but REQUIRED for running Tandoor!"
|
||||
fi
|
||||
|
||||
if [ -f "${AUTH_LDAP_BIND_PASSWORD_FILE}" ]; then
|
||||
export AUTH_LDAP_BIND_PASSWORD=$(cat "$AUTH_LDAP_BIND_PASSWORD_FILE")
|
||||
fi
|
||||
|
||||
if [ -f "${EMAIL_HOST_PASSWORD_FILE}" ]; then
|
||||
export EMAIL_HOST_PASSWORD=$(cat "$EMAIL_HOST_PASSWORD_FILE")
|
||||
fi
|
||||
|
||||
if [ -f "${SOCIALACCOUNT_PROVIDERS_FILE}" ]; then
|
||||
export SOCIALACCOUNT_PROVIDERS=$(cat "$SOCIALACCOUNT_PROVIDERS_FILE")
|
||||
fi
|
||||
|
||||
|
||||
echo "Waiting for database to be ready..."
|
||||
|
||||
@@ -83,4 +95,4 @@ if [ "$ipv6_disable" -eq 0 ]; then
|
||||
exec gunicorn -b "[::]:$TANDOOR_PORT" --workers $GUNICORN_WORKERS --threads $GUNICORN_THREADS --access-logfile - --error-logfile - --log-level $GUNICORN_LOG_LEVEL recipes.wsgi
|
||||
else
|
||||
exec gunicorn -b ":$TANDOOR_PORT" --workers $GUNICORN_WORKERS --threads $GUNICORN_THREADS --access-logfile - --error-logfile - --log-level $GUNICORN_LOG_LEVEL recipes.wsgi
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
from allauth.account.forms import ResetPasswordForm, SignupForm
|
||||
from allauth.socialaccount.forms import SignupForm as SocialSignupForm
|
||||
from django import forms
|
||||
from django.conf import settings
|
||||
from django.core.exceptions import ValidationError
|
||||
@@ -14,15 +16,13 @@ from .models import Comment, InviteLink, Keyword, Recipe, SearchPreference, Spac
|
||||
|
||||
|
||||
class SelectWidget(widgets.Select):
|
||||
|
||||
class Media:
|
||||
js = ('custom/js/form_select.js', )
|
||||
js = ('custom/js/form_select.js',)
|
||||
|
||||
|
||||
class MultiSelectWidget(widgets.SelectMultiple):
|
||||
|
||||
class Media:
|
||||
js = ('custom/js/form_multiselect.js', )
|
||||
js = ('custom/js/form_multiselect.js',)
|
||||
|
||||
|
||||
# Yes there are some stupid browsers that still dont support this but
|
||||
@@ -139,7 +139,7 @@ class CommentForm(forms.ModelForm):
|
||||
|
||||
class Meta:
|
||||
model = Comment
|
||||
fields = ('text', )
|
||||
fields = ('text',)
|
||||
|
||||
labels = {'text': _('Add your comment: '), }
|
||||
widgets = {'text': forms.Textarea(attrs={'rows': 2, 'cols': 15}), }
|
||||
@@ -161,7 +161,6 @@ class StorageForm(forms.ModelForm):
|
||||
help_texts = {'url': _('Leave empty for dropbox and enter only base url for nextcloud (<code>/remote.php/webdav/</code> is added automatically)'), }
|
||||
|
||||
|
||||
|
||||
class ConnectorConfigForm(forms.ModelForm):
|
||||
enabled = forms.BooleanField(
|
||||
help_text="Is the connector enabled",
|
||||
@@ -315,6 +314,18 @@ class AllAuthSignupForm(SignupForm):
|
||||
pass
|
||||
|
||||
|
||||
class AllAuthSocialSignupForm(SocialSignupForm):
|
||||
terms = forms.BooleanField(label=_('Accept Terms and Privacy'))
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
if settings.PRIVACY_URL == '' and settings.TERMS_URL == '':
|
||||
self.fields.pop('terms')
|
||||
|
||||
def signup(self, request, user):
|
||||
pass
|
||||
|
||||
|
||||
class CustomPasswordResetForm(ResetPasswordForm):
|
||||
captcha = hCaptchaField()
|
||||
|
||||
@@ -345,12 +356,13 @@ class SearchPreferenceForm(forms.ModelForm):
|
||||
|
||||
help_texts = {
|
||||
'search': _('Select type method of search. Click <a href="/docs/search/">here</a> for full description of choices.'), 'lookup':
|
||||
_('Use fuzzy matching on units, keywords and ingredients when editing and importing recipes.'), 'unaccent':
|
||||
_('Fields to search ignoring accents. Selecting this option can improve or degrade search quality depending on language'), 'icontains':
|
||||
_("Fields to search for partial matches. (e.g. searching for 'Pie' will return 'pie' and 'piece' and 'soapie')"), 'istartswith':
|
||||
_("Fields to search for beginning of word matches. (e.g. searching for 'sa' will return 'salad' and 'sandwich')"), 'trigram':
|
||||
_("Fields to 'fuzzy' search. (e.g. searching for 'recpie' will find 'recipe'.) Note: this option will conflict with 'web' and 'raw' methods of search."), 'fulltext':
|
||||
_("Fields to full text search. Note: 'web', 'phrase', and 'raw' search methods only function with fulltext fields."),
|
||||
_('Use fuzzy matching on units, keywords and ingredients when editing and importing recipes.'), 'unaccent':
|
||||
_('Fields to search ignoring accents. Selecting this option can improve or degrade search quality depending on language'), 'icontains':
|
||||
_("Fields to search for partial matches. (e.g. searching for 'Pie' will return 'pie' and 'piece' and 'soapie')"), 'istartswith':
|
||||
_("Fields to search for beginning of word matches. (e.g. searching for 'sa' will return 'salad' and 'sandwich')"), 'trigram':
|
||||
_("Fields to 'fuzzy' search. (e.g. searching for 'recpie' will find 'recipe'.) Note: this option will conflict with 'web' and 'raw' methods of search."),
|
||||
'fulltext':
|
||||
_("Fields to full text search. Note: 'web', 'phrase', and 'raw' search methods only function with fulltext fields."),
|
||||
}
|
||||
|
||||
labels = {
|
||||
@@ -360,5 +372,5 @@ class SearchPreferenceForm(forms.ModelForm):
|
||||
|
||||
widgets = {
|
||||
'search': SelectWidget, 'unaccent': MultiSelectWidget, 'icontains': MultiSelectWidget, 'istartswith': MultiSelectWidget, 'trigram': MultiSelectWidget, 'fulltext':
|
||||
MultiSelectWidget,
|
||||
MultiSelectWidget,
|
||||
}
|
||||
|
||||
@@ -35,6 +35,20 @@ def get_filetype(name):
|
||||
return '.jpeg'
|
||||
|
||||
|
||||
def is_file_type_allowed(filename, image_only=False):
|
||||
is_file_allowed = False
|
||||
allowed_file_types = ['.pdf','.docx', '.xlsx']
|
||||
allowed_image_types = ['.png', '.jpg', '.jpeg', '.gif', '.webp']
|
||||
check_list = allowed_image_types
|
||||
if not image_only:
|
||||
check_list += allowed_file_types
|
||||
|
||||
for file_type in check_list:
|
||||
if filename.lower().endswith(file_type):
|
||||
is_file_allowed = True
|
||||
|
||||
return is_file_allowed
|
||||
|
||||
# TODO this whole file needs proper documentation, refactoring, and testing
|
||||
# TODO also add env variable to define which images sizes should be compressed
|
||||
# filetype argument can not be optional, otherwise this function will treat all images as if they were a jpeg
|
||||
|
||||
@@ -118,7 +118,7 @@ class IngredientParser:
|
||||
note = ''
|
||||
start = 0
|
||||
# search for first occurrence of an argument ending in a comma
|
||||
while start < len(tokens) and not tokens[start].endswith(','):
|
||||
while start < len(tokens) and not tokens[start].endswith((',', ';', ':')):
|
||||
start += 1
|
||||
if start == len(tokens):
|
||||
# no token ending in a comma found -> use everything as food
|
||||
|
||||
@@ -3,6 +3,8 @@ from gettext import gettext as _
|
||||
import bleach
|
||||
import markdown as md
|
||||
from jinja2 import Template, TemplateSyntaxError, UndefinedError
|
||||
from jinja2.exceptions import SecurityError
|
||||
from jinja2.sandbox import SandboxedEnvironment
|
||||
from markdown.extensions.tables import TableExtension
|
||||
|
||||
from cookbook.helper.mdx_attributes import MarkdownFormatExtension
|
||||
@@ -89,11 +91,13 @@ def render_instructions(step): # TODO deduplicate markdown cleanup code
|
||||
return f"<scalable-number v-bind:number='{bleach.clean(str(number))}' v-bind:factor='ingredient_factor'></scalable-number>"
|
||||
|
||||
try:
|
||||
template = Template(instructions)
|
||||
instructions = template.render(ingredients=ingredients, scale=scale)
|
||||
env = SandboxedEnvironment()
|
||||
instructions = env.from_string(instructions).render(ingredients=ingredients, scale=scale)
|
||||
except TemplateSyntaxError:
|
||||
return _('Could not parse template code.') + ' Error: Template Syntax broken'
|
||||
except UndefinedError:
|
||||
return _('Could not parse template code.') + ' Error: Undefined Error'
|
||||
except SecurityError:
|
||||
return _('Could not parse template code.') + ' Error: Security Error'
|
||||
|
||||
return instructions
|
||||
|
||||
@@ -94,7 +94,8 @@ class Paprika(Integration):
|
||||
url = recipe_json.get("image_url", None)
|
||||
if validate_import_url(url):
|
||||
response = requests.get(url)
|
||||
self.import_recipe_image(recipe, BytesIO(response.content))
|
||||
if response.status_code == 200 and len(response.content) > 0:
|
||||
self.import_recipe_image(recipe, BytesIO(response.content))
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
@@ -13,8 +13,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-08 23:19+0000\n"
|
||||
"Last-Translator: Enric Bergadà <enric@bergada.cat>\n"
|
||||
"PO-Revision-Date: 2025-03-12 09:58+0000\n"
|
||||
"Last-Translator: Nico G <aprops@gmail.com>\n"
|
||||
"Language-Team: Catalan <http://translate.tandoor.dev/projects/tandoor/"
|
||||
"recipes-backend/ca/>\n"
|
||||
"Language: ca\n"
|
||||
@@ -22,7 +22,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 4.15\n"
|
||||
"X-Generator: Weblate 5.8.4\n"
|
||||
|
||||
#: .\cookbook\forms.py:45
|
||||
msgid ""
|
||||
@@ -95,14 +95,17 @@ 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\">Token d'accés de llarga durada</a> per a la teva instància de "
|
||||
"HomeAssistant"
|
||||
|
||||
#: .\cookbook\forms.py:193
|
||||
msgid "Something like http://homeassistant.local:8123/api"
|
||||
msgstr ""
|
||||
msgstr "Alguna cosa similar a http://homeassistant.local:8123/api"
|
||||
|
||||
#: .\cookbook\forms.py:205
|
||||
msgid "http://homeassistant.local:8123/api for example"
|
||||
msgstr ""
|
||||
msgstr "Per exemple http://homeassistant.local:8123/api"
|
||||
|
||||
#: .\cookbook\forms.py:222 .\cookbook\views\edit.py:117
|
||||
msgid "Storage"
|
||||
@@ -288,27 +291,27 @@ msgstr "Utilitza fraccions"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:311
|
||||
msgid "careful rotation"
|
||||
msgstr ""
|
||||
msgstr "Rotació amb cura"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:312
|
||||
msgid "knead"
|
||||
msgstr ""
|
||||
msgstr "amassar"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:313
|
||||
msgid "thicken"
|
||||
msgstr ""
|
||||
msgstr "espessir"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:314
|
||||
msgid "warm up"
|
||||
msgstr ""
|
||||
msgstr "preescalfar"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:315
|
||||
msgid "ferment"
|
||||
msgstr ""
|
||||
msgstr "fermentar"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:316
|
||||
msgid "sous-vide"
|
||||
msgstr ""
|
||||
msgstr "sous-vide"
|
||||
|
||||
#: .\cookbook\helper\shopping_helper.py:150
|
||||
msgid "You must supply a servings size"
|
||||
@@ -354,10 +357,8 @@ msgid "Imported %s recipes."
|
||||
msgstr "%s Receptes Importades."
|
||||
|
||||
#: .\cookbook\integration\openeats.py:28
|
||||
#, fuzzy
|
||||
#| msgid "Recipe Home"
|
||||
msgid "Recipe source:"
|
||||
msgstr "Receptari"
|
||||
msgstr "Origen de la recepta:"
|
||||
|
||||
#: .\cookbook\integration\paprika.py:49
|
||||
msgid "Notes"
|
||||
@@ -398,11 +399,11 @@ msgstr "Secció"
|
||||
|
||||
#: .\cookbook\management\commands\fix_duplicate_properties.py:15
|
||||
msgid "Fixes foods with "
|
||||
msgstr ""
|
||||
msgstr "Arregla els aliments amb "
|
||||
|
||||
#: .\cookbook\management\commands\rebuildindex.py:14
|
||||
msgid "Rebuilds full text search index on Recipe"
|
||||
msgstr "Reconstrueix l'índex de cerca de text complet a Recipta"
|
||||
msgstr "Reconstrueix l'índex de cerca de text complet de la recepta"
|
||||
|
||||
#: .\cookbook\management\commands\rebuildindex.py:18
|
||||
msgid "Only Postgresql databases use full text search, no index to rebuild"
|
||||
@@ -416,7 +417,7 @@ msgstr "S'ha completat la reconstrucció de l'índex de receptes."
|
||||
|
||||
#: .\cookbook\management\commands\rebuildindex.py:31
|
||||
msgid "Recipe index rebuild failed."
|
||||
msgstr "Reconstrucció de l'índex de receptes fallida."
|
||||
msgstr "La reconstrucció de l'índex de receptes ha fallat."
|
||||
|
||||
#: .\cookbook\migrations\0047_auto_20200602_1133.py:14
|
||||
msgid "Breakfast"
|
||||
@@ -432,7 +433,7 @@ msgstr "Sopar"
|
||||
|
||||
#: .\cookbook\migrations\0047_auto_20200602_1133.py:29 .\cookbook\models.py:919
|
||||
msgid "Other"
|
||||
msgstr "Un altre"
|
||||
msgstr "Altres"
|
||||
|
||||
#: .\cookbook\migrations\0190_auto_20230525_1506.py:17
|
||||
#, fuzzy
|
||||
@@ -444,7 +445,7 @@ msgstr "Greixos"
|
||||
#: .\cookbook\migrations\0190_auto_20230525_1506.py:18
|
||||
#: .\cookbook\migrations\0190_auto_20230525_1506.py:19
|
||||
msgid "g"
|
||||
msgstr ""
|
||||
msgstr "g"
|
||||
|
||||
#: .\cookbook\migrations\0190_auto_20230525_1506.py:18
|
||||
msgid "Carbohydrates"
|
||||
@@ -460,7 +461,7 @@ msgstr "Calories"
|
||||
|
||||
#: .\cookbook\migrations\0190_auto_20230525_1506.py:20
|
||||
msgid "kcal"
|
||||
msgstr ""
|
||||
msgstr "kcal"
|
||||
|
||||
#: .\cookbook\models.py:325
|
||||
msgid ""
|
||||
@@ -478,7 +479,7 @@ msgstr "Cerca"
|
||||
#: .\cookbook\models.py:455 .\cookbook\templates\base.html:114
|
||||
#: .\cookbook\templates\meal_plan.html:7
|
||||
msgid "Meal-Plan"
|
||||
msgstr "Plans de Menjar"
|
||||
msgstr "Planificació d'àpats"
|
||||
|
||||
#: .\cookbook\models.py:456 .\cookbook\templates\base.html:122
|
||||
#: .\cookbook\views\views.py:459
|
||||
@@ -496,21 +497,19 @@ msgstr " forma part d'un pas de recepta i no es pot suprimir"
|
||||
|
||||
#: .\cookbook\models.py:918
|
||||
msgid "Nutrition"
|
||||
msgstr "Nutrició"
|
||||
msgstr "Informació nutricional"
|
||||
|
||||
#: .\cookbook\models.py:918
|
||||
#, fuzzy
|
||||
#| msgid "Merge"
|
||||
msgid "Allergen"
|
||||
msgstr "Combina"
|
||||
msgstr "Al·lèrgens"
|
||||
|
||||
#: .\cookbook\models.py:919
|
||||
msgid "Price"
|
||||
msgstr ""
|
||||
msgstr "Preu"
|
||||
|
||||
#: .\cookbook\models.py:919
|
||||
msgid "Goal"
|
||||
msgstr ""
|
||||
msgstr "Fita"
|
||||
|
||||
#: .\cookbook\models.py:1408 .\cookbook\templates\search_info.html:28
|
||||
msgid "Simple"
|
||||
@@ -530,27 +529,23 @@ msgstr "Cru"
|
||||
|
||||
#: .\cookbook\models.py:1467
|
||||
msgid "Food Alias"
|
||||
msgstr "Alies Menjar"
|
||||
msgstr "Aliment equivalent"
|
||||
|
||||
#: .\cookbook\models.py:1468
|
||||
msgid "Unit Alias"
|
||||
msgstr "Àlies Unitat"
|
||||
msgstr "Unitat equivalent"
|
||||
|
||||
#: .\cookbook\models.py:1469
|
||||
msgid "Keyword Alias"
|
||||
msgstr "Àlies Paraula clau"
|
||||
msgstr "Paraula clau equivalent"
|
||||
|
||||
#: .\cookbook\models.py:1470
|
||||
#, fuzzy
|
||||
#| msgid "Description"
|
||||
msgid "Description Replace"
|
||||
msgstr "Descripció"
|
||||
msgstr "Substitució de la descripció"
|
||||
|
||||
#: .\cookbook\models.py:1471
|
||||
#, fuzzy
|
||||
#| msgid "Instructions"
|
||||
msgid "Instruction Replace"
|
||||
msgstr "Instruccions"
|
||||
msgstr "Substituir les Instruccions"
|
||||
|
||||
#: .\cookbook\models.py:1472
|
||||
#, fuzzy
|
||||
@@ -560,13 +555,11 @@ msgstr "Nova Unitat"
|
||||
|
||||
#: .\cookbook\models.py:1473
|
||||
msgid "Transpose Words"
|
||||
msgstr ""
|
||||
msgstr "Substituir les paraules"
|
||||
|
||||
#: .\cookbook\models.py:1474
|
||||
#, fuzzy
|
||||
#| msgid "Food Alias"
|
||||
msgid "Food Replace"
|
||||
msgstr "Alies Menjar"
|
||||
msgstr "Aliment equivalent"
|
||||
|
||||
#: .\cookbook\models.py:1475
|
||||
#, fuzzy
|
||||
@@ -576,7 +569,7 @@ msgstr "Descripció"
|
||||
|
||||
#: .\cookbook\models.py:1476
|
||||
msgid "Name Replace"
|
||||
msgstr ""
|
||||
msgstr "Substitueix Nom"
|
||||
|
||||
#: .\cookbook\models.py:1503 .\cookbook\views\delete.py:40
|
||||
#: .\cookbook\views\edit.py:210 .\cookbook\views\new.py:39
|
||||
@@ -603,7 +596,7 @@ msgstr "Límit de càrrega de fitxers Assolit."
|
||||
|
||||
#: .\cookbook\serializer.py:328
|
||||
msgid "Cannot modify Space owner permission."
|
||||
msgstr ""
|
||||
msgstr "No pots modificar els permisos del propietari de la instància."
|
||||
|
||||
#: .\cookbook\serializer.py:1270
|
||||
msgid "Hello"
|
||||
@@ -1033,7 +1026,7 @@ msgstr "Exporta"
|
||||
|
||||
#: .\cookbook\templates\base.html:287
|
||||
msgid "Properties"
|
||||
msgstr ""
|
||||
msgstr "Propietats"
|
||||
|
||||
#: .\cookbook\templates\base.html:301 .\cookbook\views\lists.py:255
|
||||
#, fuzzy
|
||||
@@ -1082,7 +1075,7 @@ msgstr "Sense Espai"
|
||||
#: .\cookbook\templates\base.html:362
|
||||
#: .\cookbook\templates\space_overview.html:6
|
||||
msgid "Overview"
|
||||
msgstr ""
|
||||
msgstr "Vista general"
|
||||
|
||||
#: .\cookbook\templates\base.html:372
|
||||
msgid "Markdown Guide"
|
||||
@@ -1106,11 +1099,11 @@ msgstr "Tanca sessió"
|
||||
|
||||
#: .\cookbook\templates\base.html:406
|
||||
msgid "You are using the free version of Tandor"
|
||||
msgstr ""
|
||||
msgstr "Estàs fent servir una versió gratuïta de Tandor"
|
||||
|
||||
#: .\cookbook\templates\base.html:407
|
||||
msgid "Upgrade Now"
|
||||
msgstr ""
|
||||
msgstr "Actualitzar ara"
|
||||
|
||||
#: .\cookbook\templates\batch\edit.html:6
|
||||
msgid "Batch edit Category"
|
||||
@@ -1207,7 +1200,7 @@ msgstr "Segur que vols esborrar el %(title)s:<b>%(object)s</b> "
|
||||
|
||||
#: .\cookbook\templates\generic\delete_template.html:22
|
||||
msgid "This cannot be undone!"
|
||||
msgstr ""
|
||||
msgstr "Aquesta operació no pot desfer-se!"
|
||||
|
||||
#: .\cookbook\templates\generic\delete_template.html:27
|
||||
msgid "Protected"
|
||||
@@ -1523,7 +1516,7 @@ msgstr ""
|
||||
#: .\cookbook\templates\openid\login.html:27
|
||||
#: .\cookbook\templates\socialaccount\authentication_error.html:27
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
msgstr "Enrere"
|
||||
|
||||
#: .\cookbook\templates\property_editor.html:7
|
||||
#, fuzzy
|
||||
@@ -1565,6 +1558,15 @@ msgid ""
|
||||
"only available if you are using Postgres for your database.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Aconseguir la millor experiència de cerca és complicada i recau en "
|
||||
"gran mesura en la teva configuració personal. \n"
|
||||
" Canviar qualsevol configuració de cerca pot tenir un gran impacte en "
|
||||
"la velocitat i els resultats obtinguts.\n"
|
||||
" Els mètodes de cerca, els Trigrames i les configuracions de cerca de "
|
||||
"text complet només estan disponibles si feu servir Postgres per a la vostra "
|
||||
"base de dades.\n"
|
||||
" "
|
||||
|
||||
#: .\cookbook\templates\search_info.html:19
|
||||
msgid "Search Methods"
|
||||
@@ -1584,6 +1586,17 @@ msgid ""
|
||||
"html#TEXTSEARCH-PARSING-QUERIES>Postgresql's website.</a>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
" \n"
|
||||
" Les cerques de text complet intenten normalitzar les paraules "
|
||||
"proporcionades perquè coincideixin amb les variants habituals. Per exemple: "
|
||||
"'forquilla', 'forquilles', es normalitzaran tots a 'forquilla'.\n"
|
||||
" Hi ha diversos mètodes disponibles, que es descriuen a "
|
||||
"continuació, que controlaran com ha de reaccionar el comportament de cerca "
|
||||
"quan es cerquen diverses paraules.\n"
|
||||
" Els detalls tècnics complets sobre com funcionen es poden "
|
||||
"consultar a <a href=https://www.postgresql.org/docs/current/textsearch-"
|
||||
"controls.html#TEXTSEARCH-PARSING-QUERIES>Postgresql's website.</a>\n"
|
||||
" "
|
||||
|
||||
#: .\cookbook\templates\search_info.html:29
|
||||
msgid ""
|
||||
@@ -1595,6 +1608,14 @@ msgid ""
|
||||
"selected for a full text search.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
" \n"
|
||||
" Les cerques simples ignoren la puntuació i les paraules "
|
||||
"habituals com ara \"el\", \"a\", \"i\". I tractarà paraules separades segons "
|
||||
"sigui necessari.\n"
|
||||
" Si cerqueu \"poma o farina\", es tornarà qualsevol recepta que "
|
||||
"inclogui \"poma\" i \"farina\" a qualsevol part dels camps que s'han "
|
||||
"seleccionat per a una cerca de text complet.\n"
|
||||
" "
|
||||
|
||||
#: .\cookbook\templates\search_info.html:34
|
||||
msgid ""
|
||||
@@ -1606,6 +1627,13 @@ msgid ""
|
||||
"been selected for a full text search.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
" \n"
|
||||
" Les cerques de frases ignoren la puntuació, però cercaran totes "
|
||||
"les paraules en l'ordre exacte que s'indiquen.\n"
|
||||
" La cerca de \"poma o farina\" només retornarà una recepta que "
|
||||
"inclogui la frase exacta \"poma o farina\" en qualsevol dels camps que s'han "
|
||||
"seleccionat per a una cerca de text complet.\n"
|
||||
" "
|
||||
|
||||
#: .\cookbook\templates\search_info.html:39
|
||||
msgid ""
|
||||
@@ -1625,6 +1653,22 @@ msgid ""
|
||||
"recipe that has the word 'butter' in any field included.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
" \n"
|
||||
" Les cerques web simulen la funcionalitat que es troba a molts "
|
||||
"llocs de cerca web que admeten una sintaxi especial.\n"
|
||||
" Col·locar cometes al voltant de diverses paraules convertirà "
|
||||
"aquestes paraules en una frase.\n"
|
||||
" \"or\" es reconeix com a cercar la paraula (o frase) "
|
||||
"immediatament abans de \"or\" O la paraula (o frase) directament després.\n"
|
||||
" '-' es reconeix com la recerca de receptes que no inclouen la "
|
||||
"paraula (o frase) que ve immediatament després. \n"
|
||||
" Per exemple, si cerqueu \"pastís de poma\" o mantega de cireres, "
|
||||
"es retornarà qualsevol recepta que inclogui la frase \"pastís de poma\" o la "
|
||||
"paraula \"cirera\". \n"
|
||||
" En qualsevol camp inclòs a la cerca de text complet, però exclou "
|
||||
"qualsevol recepta que tingui la paraula \"mantega\" en qualsevol camp inclòs."
|
||||
"\n"
|
||||
" "
|
||||
|
||||
#: .\cookbook\templates\search_info.html:48
|
||||
msgid ""
|
||||
@@ -1633,6 +1677,10 @@ msgid ""
|
||||
"operators such as '|', '&' and '()'\n"
|
||||
" "
|
||||
msgstr ""
|
||||
" \n"
|
||||
" La cerca en brut és similar a la web, excepte que prendrà "
|
||||
"operadors de puntuació com ara '|', '&' i '()'\n"
|
||||
" "
|
||||
|
||||
#: .\cookbook\templates\search_info.html:59
|
||||
msgid ""
|
||||
@@ -1648,6 +1696,17 @@ msgid ""
|
||||
"methods.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
" \n"
|
||||
" Un altre enfocament de cerca que també requereix Postgresql és "
|
||||
"la cerca difusa o la semblança de trigrames. Un trigrama és un grup de tres "
|
||||
"caràcters consecutius.\n"
|
||||
" Per exemple, cercar \"pastís\" crearà x trigrames \"pas\", \"ast"
|
||||
"\", \"tís\" i crearà una puntuació de la proximitat de les paraules amb els "
|
||||
"trigrames generats.\n"
|
||||
" Un dels avantatges de la cerca de trigrames és que una cerca d "
|
||||
"\"entrepà\" trobarà paraules mal escrites com \"entepà\" que es perdrien per "
|
||||
"altres mètodes.\n"
|
||||
" "
|
||||
|
||||
#: .\cookbook\templates\search_info.html:69
|
||||
msgid "Search Fields"
|
||||
@@ -1687,6 +1746,38 @@ msgid ""
|
||||
"full text results, it does match the trigram results.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
" \n"
|
||||
" Unaccent és un cas especial perquè permet cercar un camp \"sense "
|
||||
"accent\" per a cada estil de cerca intentant ignorar els valors accentuats. "
|
||||
"\n"
|
||||
" Per exemple, quan activeu sense accent per a \"poma\", qualsevol "
|
||||
"cerca (comença per, conté, trigrama) intentarà la cerca ignorant els "
|
||||
"caràcters accentuats.\n"
|
||||
" \n"
|
||||
" Per a la resta d'opcions, podeu habilitar la cerca en qualsevol "
|
||||
"o tots els camps i es combinaran juntament amb un assumpte 'OR'.\n"
|
||||
" Per exemple, activar \"Nom\" per a Comença per, \"Nom\" i "
|
||||
"\"Descripció\" per a la concordança parcial i \"Ingredients\" i \"Paraules "
|
||||
"clau\" per a la cerca completa\n"
|
||||
" i cercant \"poma\" generarà una cerca que retornarà les receptes "
|
||||
"que tenen:\n"
|
||||
" - El nom de la recepta comença amb \"poma\"\n"
|
||||
" - O bé una recepta que conté \"poma\"\n"
|
||||
" - O bé una descripció de la recepta que conté \"poma\"\n"
|
||||
" - O bé una recepta que contingui una recepta que tindrà una "
|
||||
"coincidència de cerca de text complet ('poma' o 'pomes') als ingredients.\n"
|
||||
" - O bé una recepta que coincideix amb el text complet a les "
|
||||
"paraules clau\n"
|
||||
"\n"
|
||||
" Combinar massa camps en massa tipus de cerca pot tenir un "
|
||||
"impacte negatiu en el rendiment, crear resultats duplicats o retornar "
|
||||
"resultats inesperats.\n"
|
||||
" Per exemple, activar la cerca difusa o les coincidències "
|
||||
"parcials interferirà amb els mètodes de cerca web. \n"
|
||||
" Si cerqueu \"tarta de poma\" amb la cerca difusa i la cerca de "
|
||||
"text complet, es tornarà la recepta Tarta de poma. Tot i que no s'inclou als "
|
||||
"resultats del text complet, coincideix amb els resultats del trigrama.\n"
|
||||
" "
|
||||
|
||||
#: .\cookbook\templates\search_info.html:95
|
||||
msgid "Search Index"
|
||||
@@ -1704,6 +1795,15 @@ msgid ""
|
||||
"the management command 'python manage.py rebuildindex'\n"
|
||||
" "
|
||||
msgstr ""
|
||||
" \n"
|
||||
" La cerca amb trigram i la cerca de text complet es basen en l’"
|
||||
"índex de bases de dades per operar de manera eficaç. \n"
|
||||
" Podeu reconstruir els índexs de tots els camps de la pàgina d’"
|
||||
"administració de receptes, seleccionant totes les receptes i realitzant l’"
|
||||
"acció “Reconstruir l’índex per a la recepta seleccionada”.\n"
|
||||
" També podeu reconstruir els índexs de la línia de comandaments "
|
||||
"executant el la comanda 'Python Manage.py RebuildIndex'\n"
|
||||
" "
|
||||
|
||||
#: .\cookbook\templates\settings.html:25
|
||||
msgid ""
|
||||
@@ -1813,6 +1913,8 @@ msgid ""
|
||||
"You can sign in to your account using any of the following third party\n"
|
||||
" accounts:"
|
||||
msgstr ""
|
||||
"Pots accedir al teu compte mitjançant qualsevol dels \n"
|
||||
" comptes de tercers següents:"
|
||||
|
||||
#: .\cookbook\templates\socialaccount\connections.html:52
|
||||
msgid ""
|
||||
@@ -1831,26 +1933,27 @@ msgstr "Registre"
|
||||
#: .\cookbook\templates\socialaccount\login.html:9
|
||||
#, python-format
|
||||
msgid "Connect %(provider)s"
|
||||
msgstr ""
|
||||
msgstr "Connectar %(provider)s"
|
||||
|
||||
#: .\cookbook\templates\socialaccount\login.html:11
|
||||
#, python-format
|
||||
msgid "You are about to connect a new third party account from %(provider)s."
|
||||
msgstr ""
|
||||
msgstr "Estàs a punt de connectar un nou compte de tercers per a %(provider)s."
|
||||
|
||||
#: .\cookbook\templates\socialaccount\login.html:13
|
||||
#, python-format
|
||||
msgid "Sign In Via %(provider)s"
|
||||
msgstr ""
|
||||
msgstr "Connectar via %(provider)s"
|
||||
|
||||
#: .\cookbook\templates\socialaccount\login.html:15
|
||||
#, python-format
|
||||
msgid "You are about to sign in using a third party account from %(provider)s."
|
||||
msgstr ""
|
||||
"Estàs a punt de connectar fent servir un compte de tercers de %(provider)s."
|
||||
|
||||
#: .\cookbook\templates\socialaccount\login.html:20
|
||||
msgid "Continue"
|
||||
msgstr ""
|
||||
msgstr "Continuar"
|
||||
|
||||
#: .\cookbook\templates\socialaccount\signup.html:10
|
||||
#, python-format
|
||||
@@ -1859,6 +1962,10 @@ msgid ""
|
||||
" %(provider_name)s account to login to\n"
|
||||
" %(site_name)s. As a final step, please complete the following form:"
|
||||
msgstr ""
|
||||
"Estàs a punt d'utilitzar el teu \n"
|
||||
" %(provider_name)s compte per connectar a \n"
|
||||
" %(site_name)s. Per a finalitzar, si us plau completa el següent "
|
||||
"formulari:"
|
||||
|
||||
#: .\cookbook\templates\socialaccount\snippets\provider_list.html:23
|
||||
#: .\cookbook\templates\socialaccount\snippets\provider_list.html:31
|
||||
@@ -1912,7 +2019,7 @@ msgstr "Pots ser convidat a un espai existent o crear el teu propi."
|
||||
|
||||
#: .\cookbook\templates\space_overview.html:53
|
||||
msgid "Owner"
|
||||
msgstr ""
|
||||
msgstr "Propietari"
|
||||
|
||||
#: .\cookbook\templates\space_overview.html:57
|
||||
#, fuzzy
|
||||
@@ -1979,6 +2086,11 @@ msgid ""
|
||||
"script to generate version information (done automatically in docker).\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Necessites executar <code>version.py</code> al teu script "
|
||||
"d'actualització per generar informació de la versió (feta automàticament a "
|
||||
"Docker).\n"
|
||||
" "
|
||||
|
||||
#: .\cookbook\templates\system.html:46
|
||||
msgid "Media Serving"
|
||||
@@ -2064,7 +2176,7 @@ msgstr ""
|
||||
|
||||
#: .\cookbook\templates\system.html:86
|
||||
msgid "Allowed Hosts"
|
||||
msgstr ""
|
||||
msgstr "Allotjaments permesos"
|
||||
|
||||
#: .\cookbook\templates\system.html:90
|
||||
msgid ""
|
||||
|
||||
@@ -14,8 +14,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-27 19:02+0000\n"
|
||||
"Last-Translator: Axel Breiterman <axelbreiterman@gmail.com>\n"
|
||||
"PO-Revision-Date: 2025-01-29 13:44+0000\n"
|
||||
"Last-Translator: Ángel <1024mb@users.noreply.translate.tandoor.dev>\n"
|
||||
"Language-Team: Spanish <http://translate.tandoor.dev/projects/tandoor/"
|
||||
"recipes-backend/es/>\n"
|
||||
"Language: es\n"
|
||||
@@ -23,7 +23,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.8.4\n"
|
||||
|
||||
#: .\cookbook\forms.py:45
|
||||
msgid ""
|
||||
@@ -66,31 +66,30 @@ msgid ""
|
||||
"To prevent duplicates recipes with the same name as existing ones are "
|
||||
"ignored. Check this box to import everything."
|
||||
msgstr ""
|
||||
"Para evitar duplicados, las recetas con el mismo nombre serán ignoradas. "
|
||||
"Marca esta opción para importar todas las recetas."
|
||||
"Para evitar duplicados, las recetas con el mismo nombre que las ya "
|
||||
"existentes serán ignoradas. Marca esta casilla para importar todo."
|
||||
|
||||
#: .\cookbook\forms.py:143
|
||||
msgid "Add your comment: "
|
||||
msgstr "Añada su comentario: "
|
||||
msgstr "Añade tu comentario: "
|
||||
|
||||
#: .\cookbook\forms.py:151
|
||||
msgid "Leave empty for dropbox and enter app password for nextcloud."
|
||||
msgstr ""
|
||||
"Déjelo vacío para Dropbox e ingrese la contraseña de la aplicación para "
|
||||
"nextcloud."
|
||||
"Déjalo vacío para Dropbox o ingresa la contraseña de la aplicación para "
|
||||
"Nextcloud."
|
||||
|
||||
#: .\cookbook\forms.py:154
|
||||
msgid "Leave empty for nextcloud and enter api token for dropbox."
|
||||
msgstr ""
|
||||
"Déjelo en blanco para nextcloud e ingrese el token de api para dropbox."
|
||||
msgstr "Déjalo vacío para Nextcloud o ingresa el token API para Dropbox."
|
||||
|
||||
#: .\cookbook\forms.py:160
|
||||
msgid ""
|
||||
"Leave empty for dropbox and enter only base url for nextcloud (<code>/remote."
|
||||
"php/webdav/</code> is added automatically)"
|
||||
msgstr ""
|
||||
"Dejar vació para Dropbox e introducir sólo la URL base para Nextcloud "
|
||||
"(<code>/remote.php/webdav/</code> se añade automáticamente)"
|
||||
"Déjalo vacío para Dropbox o ingresa solo la URL base para Nextcloud "
|
||||
"(<code>/remote.php/webdav/</code> es añadido automáticamente)"
|
||||
|
||||
#: .\cookbook\forms.py:188
|
||||
msgid ""
|
||||
@@ -98,15 +97,16 @@ msgid ""
|
||||
"profile\">Long Lived Access Token</a> for your HomeAssistant instance"
|
||||
msgstr ""
|
||||
"<a href=\"https://www.home-assistant.io/docs/authentication/#your-account-"
|
||||
"profile\">Token de larga duración</a>para tu instancia de HomeAssistant"
|
||||
"profile\">Token de acceso de larga duración</a> para tu instancia de "
|
||||
"HomeAssistant"
|
||||
|
||||
#: .\cookbook\forms.py:193
|
||||
msgid "Something like http://homeassistant.local:8123/api"
|
||||
msgstr "Algo similar a http://homeassistant.local:8123/api"
|
||||
msgstr "Algo como http://homeassistant.local:8123/api"
|
||||
|
||||
#: .\cookbook\forms.py:205
|
||||
msgid "http://homeassistant.local:8123/api for example"
|
||||
msgstr "por ejemplo http://homeassistant.local:8123/api for example"
|
||||
msgstr "Por ejemplo http://homeassistant.local:8123/api"
|
||||
|
||||
#: .\cookbook\forms.py:222 .\cookbook\views\edit.py:117
|
||||
msgid "Storage"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -14,16 +14,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-05-28 00:57+0000\n"
|
||||
"Last-Translator: tarek EL SOL <tarek.elsol@gmail.com>\n"
|
||||
"Language-Team: French <http://translate.tandoor.dev/projects/tandoor/recipes-"
|
||||
"backend/fr/>\n"
|
||||
"PO-Revision-Date: 2025-02-16 14:58+0000\n"
|
||||
"Last-Translator: Elvis Gosselin <elvis.gosselin@tutanota.com>\n"
|
||||
"Language-Team: French <http://translate.tandoor.dev/projects/tandoor/"
|
||||
"recipes-backend/fr/>\n"
|
||||
"Language: fr\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 5.4.2\n"
|
||||
"X-Generator: Weblate 5.8.4\n"
|
||||
|
||||
#: .\cookbook\forms.py:45
|
||||
msgid ""
|
||||
@@ -506,18 +506,16 @@ msgid "Nutrition"
|
||||
msgstr "Informations nutritionnelles"
|
||||
|
||||
#: .\cookbook\models.py:918
|
||||
#, fuzzy
|
||||
#| msgid "Merge"
|
||||
msgid "Allergen"
|
||||
msgstr "Fusionner"
|
||||
msgstr "Allergène"
|
||||
|
||||
#: .\cookbook\models.py:919
|
||||
msgid "Price"
|
||||
msgstr ""
|
||||
msgstr "Prix"
|
||||
|
||||
#: .\cookbook\models.py:919
|
||||
msgid "Goal"
|
||||
msgstr ""
|
||||
msgstr "Objectif"
|
||||
|
||||
#: .\cookbook\models.py:1408 .\cookbook\templates\search_info.html:28
|
||||
msgid "Simple"
|
||||
@@ -1039,7 +1037,7 @@ msgstr "Exporter"
|
||||
|
||||
#: .\cookbook\templates\base.html:287
|
||||
msgid "Properties"
|
||||
msgstr ""
|
||||
msgstr "Propriétés"
|
||||
|
||||
#: .\cookbook\templates\base.html:301 .\cookbook\views\lists.py:255
|
||||
#, fuzzy
|
||||
@@ -2112,6 +2110,11 @@ msgid ""
|
||||
"script to generate version information (done automatically in docker).\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Vous devez exécuter <code>version.py</code> dans votre script de "
|
||||
"mise à jour pour générer les informations de version (automatique avec "
|
||||
"docker).\n"
|
||||
" "
|
||||
|
||||
#: .\cookbook\templates\system.html:46
|
||||
msgid "Media Serving"
|
||||
@@ -2199,7 +2202,7 @@ msgstr ""
|
||||
|
||||
#: .\cookbook\templates\system.html:86
|
||||
msgid "Allowed Hosts"
|
||||
msgstr ""
|
||||
msgstr "Hôtes autorisés"
|
||||
|
||||
#: .\cookbook\templates\system.html:90
|
||||
msgid ""
|
||||
@@ -2209,6 +2212,11 @@ msgid ""
|
||||
"this.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Votre configuration autorise tous les hôtes, cela ok dans "
|
||||
"certaines installations mais évité. Veuillez consulter les documentations à "
|
||||
"ce sujet.\n"
|
||||
" "
|
||||
|
||||
#: .\cookbook\templates\system.html:97
|
||||
msgid "Database"
|
||||
@@ -2235,18 +2243,26 @@ msgid ""
|
||||
"issue.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Les migrations de données ne devraient jamais échouer!\n"
|
||||
" Les échecs de migrations vont causer des problèmes de "
|
||||
"fonctionnement majeurs dans l’application..\n"
|
||||
" Si une migration échoue, vérifiez que vous êtes sur la dernière "
|
||||
"version et si c'est le cas veuillez créer un ticket sur GitHub avec le "
|
||||
"contenu du journal de migration.\n"
|
||||
" "
|
||||
|
||||
#: .\cookbook\templates\system.html:182
|
||||
msgid "False"
|
||||
msgstr ""
|
||||
msgstr "Faux"
|
||||
|
||||
#: .\cookbook\templates\system.html:182
|
||||
msgid "True"
|
||||
msgstr ""
|
||||
msgstr "Vrai"
|
||||
|
||||
#: .\cookbook\templates\system.html:207
|
||||
msgid "Hide"
|
||||
msgstr ""
|
||||
msgstr "Cacher"
|
||||
|
||||
#: .\cookbook\templates\system.html:210
|
||||
#, fuzzy
|
||||
@@ -2328,11 +2344,13 @@ msgstr "{obj.name} a été ajouté(e) à la liste de courses."
|
||||
|
||||
#: .\cookbook\views\api.py:742
|
||||
msgid "Filter meal plans from date (inclusive) in the format of YYYY-MM-DD."
|
||||
msgstr ""
|
||||
msgstr "Filtrer les repas depuis la date (incluse) avec le format YYYY-MM-DD."
|
||||
|
||||
#: .\cookbook\views\api.py:743
|
||||
msgid "Filter meal plans to date (inclusive) in the format of YYYY-MM-DD."
|
||||
msgstr ""
|
||||
"Filtrer les plannings de repas depuis la date (incluse) avec le format YYYY-"
|
||||
"MM-DD."
|
||||
|
||||
#: .\cookbook\views\api.py:744
|
||||
#, fuzzy
|
||||
|
||||
@@ -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-09-08 12:58+0000\n"
|
||||
"Last-Translator: Tomer Alcavi <alcavi1991@gmail.com>\n"
|
||||
"PO-Revision-Date: 2025-03-07 15:08+0000\n"
|
||||
"Last-Translator: yonatan ben-menachem <2bmyonatan@gmail.com>\n"
|
||||
"Language-Team: Hebrew <http://translate.tandoor.dev/projects/tandoor/"
|
||||
"recipes-backend/he/>\n"
|
||||
"Language: he\n"
|
||||
@@ -18,7 +18,7 @@ msgstr ""
|
||||
"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.6.2\n"
|
||||
"X-Generator: Weblate 5.8.4\n"
|
||||
|
||||
#: .\cookbook\forms.py:45
|
||||
msgid ""
|
||||
@@ -59,6 +59,8 @@ msgid ""
|
||||
"To prevent duplicates recipes with the same name as existing ones are "
|
||||
"ignored. Check this box to import everything."
|
||||
msgstr ""
|
||||
"בשביל למנוע כפילויות, מתוכנים בעלי שם זהה למתכון קיים לא יעובדו. סמן כאן כדי "
|
||||
"לייבא בכל זאת."
|
||||
|
||||
#: .\cookbook\forms.py:143
|
||||
msgid "Add your comment: "
|
||||
|
||||
@@ -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-11-19 06:58+0000\n"
|
||||
"Last-Translator: Daniel Legin <daniel.legin@gmail.com>\n"
|
||||
"PO-Revision-Date: 2025-02-03 16:58+0000\n"
|
||||
"Last-Translator: Domagoj Levanić <levanicdomagoj@gmail.com>\n"
|
||||
"Language-Team: Croatian <http://translate.tandoor.dev/projects/tandoor/"
|
||||
"recipes-backend/hr/>\n"
|
||||
"Language: hr\n"
|
||||
@@ -18,7 +18,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 5.6.2\n"
|
||||
"X-Generator: Weblate 5.8.4\n"
|
||||
|
||||
#: .\cookbook\forms.py:45
|
||||
msgid ""
|
||||
@@ -757,11 +757,15 @@ msgid ""
|
||||
"for user %(user_display)s\n"
|
||||
" ."
|
||||
msgstr ""
|
||||
"Molimo potvrdite da je\n"
|
||||
" <a href=\"mailto:%(email)s\">%(email)s</a> e-mail adresa "
|
||||
"korisnika %(user_display)s\n"
|
||||
" ."
|
||||
|
||||
#: .\cookbook\templates\account\email_confirm.html:22
|
||||
#: .\cookbook\templates\generic\delete_template.html:72
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
msgstr "Potvrdi"
|
||||
|
||||
#: .\cookbook\templates\account\email_confirm.html:29
|
||||
#, python-format
|
||||
@@ -770,11 +774,14 @@ msgid ""
|
||||
" <a href=\"%(email_url)s\">issue a new e-mail confirmation "
|
||||
"request</a>."
|
||||
msgstr ""
|
||||
"Poveznica za potvrdu e-maila je istekla ili nevažeća. Molimo\n"
|
||||
" <a href=\"%(email_url)s\">zatražite slanje nove poveznice za "
|
||||
"potvrdu e-maila.</a>."
|
||||
|
||||
#: .\cookbook\templates\account\login.html:8 .\cookbook\templates\base.html:388
|
||||
#: .\cookbook\templates\openid\login.html:8
|
||||
msgid "Login"
|
||||
msgstr ""
|
||||
msgstr "Prijava"
|
||||
|
||||
#: .\cookbook\templates\account\login.html:15
|
||||
#: .\cookbook\templates\account\login.html:31
|
||||
@@ -786,7 +793,7 @@ msgstr ""
|
||||
#: .\cookbook\templates\openid\login.html:26
|
||||
#: .\cookbook\templates\socialaccount\authentication_error.html:15
|
||||
msgid "Sign In"
|
||||
msgstr ""
|
||||
msgstr "Prijava"
|
||||
|
||||
#: .\cookbook\templates\account\login.html:34
|
||||
#: .\cookbook\templates\account\password_reset.html:41
|
||||
@@ -794,34 +801,34 @@ msgstr ""
|
||||
#: .\cookbook\templates\socialaccount\signup.html:8
|
||||
#: .\cookbook\templates\socialaccount\signup.html:57
|
||||
msgid "Sign Up"
|
||||
msgstr ""
|
||||
msgstr "Registracija"
|
||||
|
||||
#: .\cookbook\templates\account\login.html:38
|
||||
msgid "Lost your password?"
|
||||
msgstr ""
|
||||
msgstr "Zaboravljena lozinka?"
|
||||
|
||||
#: .\cookbook\templates\account\login.html:39
|
||||
#: .\cookbook\templates\account\password_reset.html:29
|
||||
msgid "Reset My Password"
|
||||
msgstr ""
|
||||
msgstr "Resetiraj moju lozinku"
|
||||
|
||||
#: .\cookbook\templates\account\login.html:50
|
||||
msgid "Social Login"
|
||||
msgstr ""
|
||||
msgstr "Prijava putem društvenih mreža"
|
||||
|
||||
#: .\cookbook\templates\account\login.html:51
|
||||
msgid "You can use any of the following providers to sign in."
|
||||
msgstr ""
|
||||
msgstr "Možete koristiti bilo kojeg od sljedećih pružatelja usluga za prijavu."
|
||||
|
||||
#: .\cookbook\templates\account\logout.html:5
|
||||
#: .\cookbook\templates\account\logout.html:9
|
||||
#: .\cookbook\templates\account\logout.html:18
|
||||
msgid "Sign Out"
|
||||
msgstr ""
|
||||
msgstr "Odjava"
|
||||
|
||||
#: .\cookbook\templates\account\logout.html:11
|
||||
msgid "Are you sure you want to sign out?"
|
||||
msgstr ""
|
||||
msgstr "Jeste li sigurni da se želite odjaviti?"
|
||||
|
||||
#: .\cookbook\templates\account\password_change.html:6
|
||||
#: .\cookbook\templates\account\password_change.html:16
|
||||
@@ -831,43 +838,47 @@ msgstr ""
|
||||
#: .\cookbook\templates\account\password_reset_from_key_done.html:7
|
||||
#: .\cookbook\templates\account\password_reset_from_key_done.html:13
|
||||
msgid "Change Password"
|
||||
msgstr ""
|
||||
msgstr "Promijeni lozinku"
|
||||
|
||||
#: .\cookbook\templates\account\password_change.html:12
|
||||
#: .\cookbook\templates\account\password_set.html:12
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
msgstr "Lozinka"
|
||||
|
||||
#: .\cookbook\templates\account\password_change.html:22
|
||||
msgid "Forgot Password?"
|
||||
msgstr ""
|
||||
msgstr "Zaboravljena lozinka?"
|
||||
|
||||
#: .\cookbook\templates\account\password_reset.html:7
|
||||
#: .\cookbook\templates\account\password_reset.html:13
|
||||
#: .\cookbook\templates\account\password_reset_done.html:7
|
||||
#: .\cookbook\templates\account\password_reset_done.html:18
|
||||
msgid "Password Reset"
|
||||
msgstr ""
|
||||
msgstr "Ponovno postavljanje lozinke"
|
||||
|
||||
#: .\cookbook\templates\account\password_reset.html:24
|
||||
msgid ""
|
||||
"Forgotten your password? Enter your e-mail address below, and we'll send you "
|
||||
"an e-mail allowing you to reset it."
|
||||
msgstr ""
|
||||
"Zaboravili ste lozinku? Unesite svoju e-mail adresu u nastavku i poslat ćemo "
|
||||
"vam e-mail s poveznicom za postavljanje nove lozinke."
|
||||
|
||||
#: .\cookbook\templates\account\password_reset.html:32
|
||||
msgid "Password reset is disabled on this instance."
|
||||
msgstr ""
|
||||
msgstr "Reset lozinke nije omogućen na ovoj instanci."
|
||||
|
||||
#: .\cookbook\templates\account\password_reset_done.html:25
|
||||
msgid ""
|
||||
"We have sent you an e-mail. Please contact us if you do not receive it "
|
||||
"within a few minutes."
|
||||
msgstr ""
|
||||
"Poslali smo vam e-mail. Molimo vas da nas kontaktirate ako ga ne primite u "
|
||||
"roku od nekoliko minuta."
|
||||
|
||||
#: .\cookbook\templates\account\password_reset_from_key.html:13
|
||||
msgid "Bad Token"
|
||||
msgstr ""
|
||||
msgstr "Nevažeći token"
|
||||
|
||||
#: .\cookbook\templates\account\password_reset_from_key.html:25
|
||||
#, python-format
|
||||
@@ -877,225 +888,231 @@ msgid ""
|
||||
" Please request a <a href=\"%(passwd_reset_url)s\">new "
|
||||
"password reset</a>."
|
||||
msgstr ""
|
||||
"Poveznica za reset lozinke je nevažeća, vjerojatno jer je već iskorištena.\n"
|
||||
" Molimo zatražite <a href=\"%(passwd_reset_url)s\">novu "
|
||||
"poveznicu za reset lozinke</a>."
|
||||
|
||||
#: .\cookbook\templates\account\password_reset_from_key.html:33
|
||||
msgid "change password"
|
||||
msgstr ""
|
||||
msgstr "promijeni lozinku"
|
||||
|
||||
#: .\cookbook\templates\account\password_reset_from_key.html:36
|
||||
#: .\cookbook\templates\account\password_reset_from_key_done.html:19
|
||||
msgid "Your password is now changed."
|
||||
msgstr ""
|
||||
msgstr "Tvoja lozinka je promijenjena."
|
||||
|
||||
#: .\cookbook\templates\account\password_set.html:6
|
||||
#: .\cookbook\templates\account\password_set.html:16
|
||||
#: .\cookbook\templates\account\password_set.html:21
|
||||
msgid "Set Password"
|
||||
msgstr ""
|
||||
msgstr "Postavi lozinku"
|
||||
|
||||
#: .\cookbook\templates\account\signup.html:6
|
||||
msgid "Register"
|
||||
msgstr ""
|
||||
msgstr "Registracija"
|
||||
|
||||
#: .\cookbook\templates\account\signup.html:12
|
||||
msgid "Create an Account"
|
||||
msgstr ""
|
||||
msgstr "Kreiraj račun"
|
||||
|
||||
#: .\cookbook\templates\account\signup.html:42
|
||||
#: .\cookbook\templates\socialaccount\signup.html:33
|
||||
msgid "I accept the follwoing"
|
||||
msgstr ""
|
||||
msgstr "Prihvaćam sljedeće"
|
||||
|
||||
#: .\cookbook\templates\account\signup.html:45
|
||||
#: .\cookbook\templates\socialaccount\signup.html:36
|
||||
msgid "Terms and Conditions"
|
||||
msgstr ""
|
||||
msgstr "Uvjeti i odredbe"
|
||||
|
||||
#: .\cookbook\templates\account\signup.html:48
|
||||
#: .\cookbook\templates\socialaccount\signup.html:39
|
||||
msgid "and"
|
||||
msgstr ""
|
||||
msgstr "i"
|
||||
|
||||
#: .\cookbook\templates\account\signup.html:52
|
||||
#: .\cookbook\templates\socialaccount\signup.html:43
|
||||
msgid "Privacy Policy"
|
||||
msgstr ""
|
||||
msgstr "Politika privatnosti"
|
||||
|
||||
#: .\cookbook\templates\account\signup.html:65
|
||||
msgid "Create User"
|
||||
msgstr ""
|
||||
msgstr "Kreiraj korisnika"
|
||||
|
||||
#: .\cookbook\templates\account\signup.html:69
|
||||
msgid "Already have an account?"
|
||||
msgstr ""
|
||||
msgstr "Već imate račun?"
|
||||
|
||||
#: .\cookbook\templates\account\signup_closed.html:5
|
||||
#: .\cookbook\templates\account\signup_closed.html:11
|
||||
msgid "Sign Up Closed"
|
||||
msgstr ""
|
||||
msgstr "Registracija je zatvorena"
|
||||
|
||||
#: .\cookbook\templates\account\signup_closed.html:13
|
||||
msgid "We are sorry, but the sign up is currently closed."
|
||||
msgstr ""
|
||||
msgstr "Žao nam je, ali registracija je trenutno zatvorena."
|
||||
|
||||
#: .\cookbook\templates\api_info.html:5 .\cookbook\templates\base.html:378
|
||||
#: .\cookbook\templates\rest_framework\api.html:11
|
||||
msgid "API Documentation"
|
||||
msgstr ""
|
||||
msgstr "API Dokumentacija"
|
||||
|
||||
#: .\cookbook\templates\base.html:110 .\cookbook\templates\index.html:87
|
||||
msgid "Recipes"
|
||||
msgstr ""
|
||||
msgstr "Recepti"
|
||||
|
||||
#: .\cookbook\templates\base.html:161 .\cookbook\views\lists.py:120
|
||||
msgid "Foods"
|
||||
msgstr ""
|
||||
msgstr "Hrana"
|
||||
|
||||
#: .\cookbook\templates\base.html:173 .\cookbook\views\lists.py:137
|
||||
msgid "Units"
|
||||
msgstr ""
|
||||
msgstr "Jedinice"
|
||||
|
||||
#: .\cookbook\templates\base.html:187
|
||||
msgid "Supermarket"
|
||||
msgstr ""
|
||||
msgstr "Supermarket"
|
||||
|
||||
#: .\cookbook\templates\base.html:199
|
||||
msgid "Supermarket Category"
|
||||
msgstr ""
|
||||
msgstr "Kategorija Supermarketa"
|
||||
|
||||
#: .\cookbook\templates\base.html:211 .\cookbook\views\lists.py:186
|
||||
msgid "Automations"
|
||||
msgstr ""
|
||||
msgstr "Automatizacije"
|
||||
|
||||
#: .\cookbook\templates\base.html:225 .\cookbook\views\lists.py:222
|
||||
msgid "Files"
|
||||
msgstr ""
|
||||
msgstr "Datoteke"
|
||||
|
||||
#: .\cookbook\templates\base.html:237
|
||||
msgid "Batch Edit"
|
||||
msgstr ""
|
||||
msgstr "Masovno Uređivanje"
|
||||
|
||||
#: .\cookbook\templates\base.html:249 .\cookbook\templates\history.html:6
|
||||
#: .\cookbook\templates\history.html:14
|
||||
msgid "History"
|
||||
msgstr ""
|
||||
msgstr "Povijest"
|
||||
|
||||
#: .\cookbook\templates\base.html:263
|
||||
#: .\cookbook\templates\ingredient_editor.html:7
|
||||
#: .\cookbook\templates\ingredient_editor.html:13
|
||||
msgid "Ingredient Editor"
|
||||
msgstr ""
|
||||
msgstr "Uređivač Sastojaka"
|
||||
|
||||
#: .\cookbook\templates\base.html:275
|
||||
#: .\cookbook\templates\export_response.html:7
|
||||
#: .\cookbook\templates\test2.html:14 .\cookbook\templates\test2.html:20
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
msgstr "Izvoz"
|
||||
|
||||
#: .\cookbook\templates\base.html:287
|
||||
msgid "Properties"
|
||||
msgstr ""
|
||||
msgstr "Svojstva"
|
||||
|
||||
#: .\cookbook\templates\base.html:301 .\cookbook\views\lists.py:255
|
||||
msgid "Unit Conversions"
|
||||
msgstr ""
|
||||
msgstr "Konverzija Jedinica"
|
||||
|
||||
#: .\cookbook\templates\base.html:318 .\cookbook\templates\index.html:47
|
||||
msgid "Import Recipe"
|
||||
msgstr ""
|
||||
msgstr "Uvezi Recept"
|
||||
|
||||
#: .\cookbook\templates\base.html:320
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
msgstr "Kreiraj"
|
||||
|
||||
#: .\cookbook\templates\base.html:333
|
||||
#: .\cookbook\templates\generic\list_template.html:14
|
||||
msgid "External Recipes"
|
||||
msgstr ""
|
||||
msgstr "Vanjski Recepti"
|
||||
|
||||
#: .\cookbook\templates\base.html:336 .\cookbook\templates\space_manage.html:15
|
||||
msgid "Space Settings"
|
||||
msgstr ""
|
||||
msgstr "Postavke Prostora"
|
||||
|
||||
#: .\cookbook\templates\base.html:340
|
||||
msgid "External Connectors"
|
||||
msgstr ""
|
||||
msgstr "Vanjski Konektori"
|
||||
|
||||
#: .\cookbook\templates\base.html:345 .\cookbook\templates\system.html:13
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
msgstr "Sustav"
|
||||
|
||||
#: .\cookbook\templates\base.html:347
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
msgstr "Administrator"
|
||||
|
||||
#: .\cookbook\templates\base.html:351
|
||||
#: .\cookbook\templates\space_overview.html:25
|
||||
msgid "Your Spaces"
|
||||
msgstr ""
|
||||
msgstr "Tvoji Prostori"
|
||||
|
||||
#: .\cookbook\templates\base.html:362
|
||||
#: .\cookbook\templates\space_overview.html:6
|
||||
msgid "Overview"
|
||||
msgstr ""
|
||||
msgstr "Pregled"
|
||||
|
||||
#: .\cookbook\templates\base.html:372
|
||||
msgid "Markdown Guide"
|
||||
msgstr ""
|
||||
msgstr "Vodič za Markdown"
|
||||
|
||||
#: .\cookbook\templates\base.html:374
|
||||
msgid "GitHub"
|
||||
msgstr ""
|
||||
msgstr "GitHub"
|
||||
|
||||
#: .\cookbook\templates\base.html:376
|
||||
msgid "Translate Tandoor"
|
||||
msgstr ""
|
||||
msgstr "Prevedi Tandoor"
|
||||
|
||||
#: .\cookbook\templates\base.html:380
|
||||
msgid "API Browser"
|
||||
msgstr ""
|
||||
msgstr "API Preglednik"
|
||||
|
||||
#: .\cookbook\templates\base.html:383
|
||||
msgid "Log out"
|
||||
msgstr ""
|
||||
msgstr "Odjava"
|
||||
|
||||
#: .\cookbook\templates\base.html:406
|
||||
msgid "You are using the free version of Tandor"
|
||||
msgstr ""
|
||||
msgstr "Koristite besplatnu verziju Tandor aplikacije"
|
||||
|
||||
#: .\cookbook\templates\base.html:407
|
||||
msgid "Upgrade Now"
|
||||
msgstr ""
|
||||
msgstr "Nadogradi"
|
||||
|
||||
#: .\cookbook\templates\batch\edit.html:6
|
||||
msgid "Batch edit Category"
|
||||
msgstr ""
|
||||
msgstr "Masovno uređivanje Kategorija"
|
||||
|
||||
#: .\cookbook\templates\batch\edit.html:15
|
||||
msgid "Batch edit Recipes"
|
||||
msgstr ""
|
||||
msgstr "Masovno uređivanje Recepata"
|
||||
|
||||
#: .\cookbook\templates\batch\edit.html:20
|
||||
msgid "Add the specified keywords to all recipes containing a word"
|
||||
msgstr ""
|
||||
"Dodajte navedene ključne riječi svim receptima koji sadrže određenu riječ"
|
||||
|
||||
#: .\cookbook\templates\batch\monitor.html:6 .\cookbook\views\edit.py:75
|
||||
msgid "Sync"
|
||||
msgstr ""
|
||||
msgstr "Sinkroniziraj"
|
||||
|
||||
#: .\cookbook\templates\batch\monitor.html:10
|
||||
msgid "Manage watched Folders"
|
||||
msgstr ""
|
||||
msgstr "Upravljaj praćenim Mapama"
|
||||
|
||||
#: .\cookbook\templates\batch\monitor.html:14
|
||||
msgid ""
|
||||
"On this Page you can manage all storage folder locations that should be "
|
||||
"monitored and synced."
|
||||
msgstr ""
|
||||
"Na ovoj stranici možete upravljati svim lokacijama spremišnih mapa koje "
|
||||
"trebaju biti praćene i sinkronizirane."
|
||||
|
||||
#: .\cookbook\templates\batch\monitor.html:16
|
||||
msgid "The path must be in the following format"
|
||||
msgstr ""
|
||||
msgstr "Putanja mora biti u sljedećem formatu"
|
||||
|
||||
#: .\cookbook\templates\batch\monitor.html:20
|
||||
#: .\cookbook\templates\forms\edit_import_recipe.html:14
|
||||
@@ -1103,128 +1120,130 @@ msgstr ""
|
||||
#: .\cookbook\templates\generic\new_template.html:23
|
||||
#: .\cookbook\templates\settings.html:57
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
msgstr "Spremi"
|
||||
|
||||
#: .\cookbook\templates\batch\monitor.html:21
|
||||
msgid "Manage External Storage"
|
||||
msgstr ""
|
||||
msgstr "Upravljaj vanjskim Spremištem"
|
||||
|
||||
#: .\cookbook\templates\batch\monitor.html:28
|
||||
msgid "Sync Now!"
|
||||
msgstr ""
|
||||
msgstr "Sinkroniziraj Sada!"
|
||||
|
||||
#: .\cookbook\templates\batch\monitor.html:29
|
||||
msgid "Show Recipes"
|
||||
msgstr ""
|
||||
msgstr "Prikaži Recepte"
|
||||
|
||||
#: .\cookbook\templates\batch\monitor.html:30
|
||||
msgid "Show Log"
|
||||
msgstr ""
|
||||
msgstr "Prikaži Log"
|
||||
|
||||
#: .\cookbook\templates\batch\waiting.html:4
|
||||
#: .\cookbook\templates\batch\waiting.html:10
|
||||
msgid "Importing Recipes"
|
||||
msgstr ""
|
||||
msgstr "Uvoz Recepata"
|
||||
|
||||
#: .\cookbook\templates\batch\waiting.html:28
|
||||
msgid ""
|
||||
"This can take a few minutes, depending on the number of recipes in sync, "
|
||||
"please wait."
|
||||
msgstr ""
|
||||
"Ovo može potrajati nekoliko minuta, ovisno o broju recepata koji se "
|
||||
"sinkroniziraju, molimo pričekajte."
|
||||
|
||||
#: .\cookbook\templates\books.html:7
|
||||
msgid "Recipe Books"
|
||||
msgstr ""
|
||||
msgstr "Knjiga Recepata"
|
||||
|
||||
#: .\cookbook\templates\export.html:7 .\cookbook\templates\test2.html:6
|
||||
msgid "Export Recipes"
|
||||
msgstr ""
|
||||
msgstr "Izvoz Recepata"
|
||||
|
||||
#: .\cookbook\templates\forms\edit_import_recipe.html:5
|
||||
#: .\cookbook\templates\forms\edit_import_recipe.html:9
|
||||
msgid "Import new Recipe"
|
||||
msgstr ""
|
||||
msgstr "Uvezi novi Recept"
|
||||
|
||||
#: .\cookbook\templates\forms\edit_internal_recipe.html:7
|
||||
msgid "Edit Recipe"
|
||||
msgstr ""
|
||||
msgstr "Uredi Recept"
|
||||
|
||||
#: .\cookbook\templates\generic\delete_template.html:21
|
||||
#, python-format
|
||||
msgid "Are you sure you want to delete the %(title)s: <b>%(object)s</b> "
|
||||
msgstr ""
|
||||
msgstr "Jeste li sigurni da želite obrisati %(title)s: <b>%(object)s</b> "
|
||||
|
||||
#: .\cookbook\templates\generic\delete_template.html:22
|
||||
msgid "This cannot be undone!"
|
||||
msgstr ""
|
||||
msgstr "Ovo se ne može poništiti!"
|
||||
|
||||
#: .\cookbook\templates\generic\delete_template.html:27
|
||||
msgid "Protected"
|
||||
msgstr ""
|
||||
msgstr "Zaštićeno"
|
||||
|
||||
#: .\cookbook\templates\generic\delete_template.html:42
|
||||
msgid "Cascade"
|
||||
msgstr ""
|
||||
msgstr "Kaskada"
|
||||
|
||||
#: .\cookbook\templates\generic\delete_template.html:73
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Otkaži"
|
||||
|
||||
#: .\cookbook\templates\generic\edit_template.html:6
|
||||
#: .\cookbook\templates\generic\edit_template.html:14
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
msgstr "Uredi"
|
||||
|
||||
#: .\cookbook\templates\generic\edit_template.html:32
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
msgstr "Pogledaj"
|
||||
|
||||
#: .\cookbook\templates\generic\edit_template.html:36
|
||||
msgid "Delete original file"
|
||||
msgstr ""
|
||||
msgstr "Izbriši izvornu datoteku"
|
||||
|
||||
#: .\cookbook\templates\generic\list_template.html:6
|
||||
#: .\cookbook\templates\generic\list_template.html:22
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
msgstr "Lista"
|
||||
|
||||
#: .\cookbook\templates\generic\list_template.html:36
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
msgstr "Filter"
|
||||
|
||||
#: .\cookbook\templates\generic\list_template.html:41
|
||||
msgid "Import all"
|
||||
msgstr ""
|
||||
msgstr "Uvezi sve"
|
||||
|
||||
#: .\cookbook\templates\generic\new_template.html:6
|
||||
#: .\cookbook\templates\generic\new_template.html:14
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
msgstr "Novo"
|
||||
|
||||
#: .\cookbook\templates\generic\table_template.html:76
|
||||
msgid "previous"
|
||||
msgstr ""
|
||||
msgstr "prethodno"
|
||||
|
||||
#: .\cookbook\templates\generic\table_template.html:98
|
||||
msgid "next"
|
||||
msgstr ""
|
||||
msgstr "sljedeće"
|
||||
|
||||
#: .\cookbook\templates\history.html:20
|
||||
msgid "View Log"
|
||||
msgstr ""
|
||||
msgstr "Pogledaj Log"
|
||||
|
||||
#: .\cookbook\templates\history.html:24
|
||||
msgid "Cook Log"
|
||||
msgstr ""
|
||||
msgstr "Log Kuhanja"
|
||||
|
||||
#: .\cookbook\templates\import_response.html:7 .\cookbook\views\delete.py:90
|
||||
#: .\cookbook\views\edit.py:174
|
||||
msgid "Import"
|
||||
msgstr ""
|
||||
msgstr "Uvezi"
|
||||
|
||||
#: .\cookbook\templates\include\storage_backend_warning.html:4
|
||||
msgid "Security Warning"
|
||||
msgstr ""
|
||||
msgstr "Sigurnosno Upozorenje"
|
||||
|
||||
#: .\cookbook\templates\include\storage_backend_warning.html:5
|
||||
msgid ""
|
||||
@@ -1238,35 +1257,44 @@ msgid ""
|
||||
"can be used.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" <b>Lozinka i token</b> polja su spremljena kao <b>obični tekst</b> "
|
||||
"unutar baze podataka.\n"
|
||||
" To je neophodno s obzirom na to da su potrebni za izvršavanje API "
|
||||
"zahtjeva, ali isto tako povećava \n"
|
||||
" rizik od krađe. <br/>\n"
|
||||
" Kako bi limitirali potencijalnu štetu u tom slučaju, predlažemo "
|
||||
"korištenje tokena ili računa s limitiranim pristupom.\n"
|
||||
" "
|
||||
|
||||
#: .\cookbook\templates\index.html:29
|
||||
msgid "Search recipe ..."
|
||||
msgstr ""
|
||||
msgstr "Pretraži recept..."
|
||||
|
||||
#: .\cookbook\templates\index.html:44
|
||||
msgid "New Recipe"
|
||||
msgstr ""
|
||||
msgstr "Novi Recept"
|
||||
|
||||
#: .\cookbook\templates\index.html:53
|
||||
msgid "Advanced Search"
|
||||
msgstr ""
|
||||
msgstr "Napredno Pretraživanje"
|
||||
|
||||
#: .\cookbook\templates\index.html:57
|
||||
msgid "Reset Search"
|
||||
msgstr ""
|
||||
msgstr "Resetiraj Pretraživanje"
|
||||
|
||||
#: .\cookbook\templates\index.html:85
|
||||
msgid "Last viewed"
|
||||
msgstr ""
|
||||
msgstr "Zadnji put pregledano"
|
||||
|
||||
#: .\cookbook\templates\index.html:94
|
||||
msgid "Log in to view recipes"
|
||||
msgstr ""
|
||||
msgstr "Prijavi se kako bi vidio recepte"
|
||||
|
||||
#: .\cookbook\templates\markdown_info.html:5
|
||||
#: .\cookbook\templates\markdown_info.html:13
|
||||
msgid "Markdown Info"
|
||||
msgstr ""
|
||||
msgstr "Informacije o Markdown-u"
|
||||
|
||||
#: .\cookbook\templates\markdown_info.html:14
|
||||
msgid ""
|
||||
@@ -1283,34 +1311,46 @@ msgid ""
|
||||
"below.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Markdown je lagani jezik za označavanje koji se može koristiti za "
|
||||
"jednostavno formatiranje običnog teksta.\n"
|
||||
"Ova stranica koristi <a href=\"https://python-markdown.github.io/\" target="
|
||||
"\"_blank\">Python Markdown</a> biblioteku za\n"
|
||||
"pretvaranje vašeg teksta u lijepi HTML. Potpunu dokumentaciju za Markdown "
|
||||
"možete pronaći\n"
|
||||
"<a href=\"https://daringfireball.net/projects/markdown/syntax\" target="
|
||||
"\"_blank\">ovdje</a>.\n"
|
||||
"Nepotpuna, ali vjerojatno dovoljna dokumentacija može se pronaći u nastavku."
|
||||
"\n"
|
||||
" "
|
||||
|
||||
#: .\cookbook\templates\markdown_info.html:25
|
||||
msgid "Headers"
|
||||
msgstr ""
|
||||
msgstr "Naslovi"
|
||||
|
||||
#: .\cookbook\templates\markdown_info.html:54
|
||||
msgid "Formatting"
|
||||
msgstr ""
|
||||
msgstr "Formatiranje"
|
||||
|
||||
#: .\cookbook\templates\markdown_info.html:56
|
||||
#: .\cookbook\templates\markdown_info.html:72
|
||||
msgid "Line breaks are inserted by adding two spaces after the end of a line"
|
||||
msgstr ""
|
||||
msgstr "Prekid linije se može umetnuti dodavanjem dva razmaka nakon kraja retka"
|
||||
|
||||
#: .\cookbook\templates\markdown_info.html:57
|
||||
#: .\cookbook\templates\markdown_info.html:73
|
||||
msgid "or by leaving a blank line in between."
|
||||
msgstr ""
|
||||
msgstr "ili ostavljanjem prazne linije između."
|
||||
|
||||
#: .\cookbook\templates\markdown_info.html:59
|
||||
#: .\cookbook\templates\markdown_info.html:74
|
||||
msgid "This text is bold"
|
||||
msgstr ""
|
||||
msgstr "Ovaj tekst je boldan"
|
||||
|
||||
#: .\cookbook\templates\markdown_info.html:60
|
||||
#: .\cookbook\templates\markdown_info.html:75
|
||||
msgid "This text is italic"
|
||||
msgstr ""
|
||||
msgstr "Ovaj tekst je italic"
|
||||
|
||||
#: .\cookbook\templates\markdown_info.html:61
|
||||
#: .\cookbook\templates\markdown_info.html:77
|
||||
|
||||
@@ -12,7 +12,7 @@ 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-11-01 06:58+0000\n"
|
||||
"PO-Revision-Date: 2024-12-09 00:58+0000\n"
|
||||
"Last-Translator: Vincenzo Reale <smart2128vr@gmail.com>\n"
|
||||
"Language-Team: Italian <http://translate.tandoor.dev/projects/tandoor/"
|
||||
"recipes-backend/it/>\n"
|
||||
@@ -21,7 +21,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.6.2\n"
|
||||
"X-Generator: Weblate 5.8.4\n"
|
||||
|
||||
#: .\cookbook\forms.py:45
|
||||
msgid ""
|
||||
@@ -520,7 +520,7 @@ msgstr "Web"
|
||||
|
||||
#: .\cookbook\models.py:1411 .\cookbook\templates\search_info.html:47
|
||||
msgid "Raw"
|
||||
msgstr "Raw"
|
||||
msgstr "Crudo"
|
||||
|
||||
#: .\cookbook\models.py:1467
|
||||
msgid "Food Alias"
|
||||
@@ -1440,8 +1440,9 @@ msgid ""
|
||||
"\"noreferrer noopener\" target=\"_blank\">this one.</a>"
|
||||
msgstr ""
|
||||
"Le tabelle in markdown sono difficili da creare a mano. Si raccomanda "
|
||||
"l'utilizzo di un editor di come <a href=\"https://www.tablesgenerator.com/"
|
||||
"markdown_tables\" rel=\"noreferrer noopener\" target=\"_blank\">questo.</a>"
|
||||
"l'utilizzo di un editor di tabelle come <a href=\"https://www.tablesgenerator"
|
||||
".com/markdown_tables\" rel=\"noreferrer noopener\" target=\"_blank\""
|
||||
">questo.</a>"
|
||||
|
||||
#: .\cookbook\templates\markdown_info.html:155
|
||||
#: .\cookbook\templates\markdown_info.html:157
|
||||
@@ -2203,8 +2204,8 @@ msgstr ""
|
||||
" Le migrazioni non andate a buon fine probabilmente causeranno il "
|
||||
"malfunzionamento di parti importanti dell'applicazione.\n"
|
||||
" Se una migrazione non riesce, assicurati di avere la versione "
|
||||
"più recente e, in tal caso, pubblica il registro della migrazione e la "
|
||||
"panoramica di seguito in una segnalazione di problema su GitHub.\n"
|
||||
"più recente e, in tal caso, pubblica il registro della migrazione e il "
|
||||
"riepilogo che segue in una segnalazione di problema su GitHub.\n"
|
||||
" "
|
||||
|
||||
#: .\cookbook\templates\system.html:182
|
||||
@@ -2765,7 +2766,7 @@ msgid ""
|
||||
"but not recommended as some features only work with postgres databases."
|
||||
msgstr ""
|
||||
"Questa applicazione non è in esecuzione con un database Postgres. Va bene, "
|
||||
"ma non è consigliato perché alcune funzionalità sono disponibili solo con un "
|
||||
"ma non è consigliato perché alcune funzionalità sono disponibili solo con "
|
||||
"database Postgres."
|
||||
|
||||
#: .\cookbook\views\views.py:360
|
||||
|
||||
@@ -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: 2023-08-19 21:36+0000\n"
|
||||
"Last-Translator: NeoID <neoid@animenord.com>\n"
|
||||
"PO-Revision-Date: 2025-01-26 05:58+0000\n"
|
||||
"Last-Translator: Ole Martin Ruud <nett@barskern.no>\n"
|
||||
"Language-Team: Norwegian Bokmål <http://translate.tandoor.dev/projects/"
|
||||
"tandoor/recipes-backend/nb_NO/>\n"
|
||||
"Language: nb_NO\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 4.15\n"
|
||||
"X-Generator: Weblate 5.8.4\n"
|
||||
|
||||
#: .\cookbook\forms.py:45
|
||||
msgid ""
|
||||
@@ -326,10 +326,8 @@ msgid "Imported %s recipes."
|
||||
msgstr "Importerte %s oppskrifter."
|
||||
|
||||
#: .\cookbook\integration\openeats.py:28
|
||||
#, fuzzy
|
||||
#| msgid "Recipes"
|
||||
msgid "Recipe source:"
|
||||
msgstr "Oppskrifter"
|
||||
msgstr "Oppskriftskilde:"
|
||||
|
||||
#: .\cookbook\integration\paprika.py:49
|
||||
msgid "Notes"
|
||||
@@ -555,7 +553,7 @@ msgstr "Oppskrift"
|
||||
|
||||
#: .\cookbook\models.py:1504
|
||||
msgid "Food"
|
||||
msgstr ""
|
||||
msgstr "Mat"
|
||||
|
||||
#: .\cookbook\models.py:1505 .\cookbook\templates\base.html:149
|
||||
msgid "Keyword"
|
||||
@@ -846,10 +844,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: .\cookbook\templates\account\password_reset.html:32
|
||||
#, fuzzy
|
||||
#| msgid "Password reset is not implemented for the time being!"
|
||||
msgid "Password reset is disabled on this instance."
|
||||
msgstr "Det er foreløpig ikke implementert funksjon for å nullstille passord!"
|
||||
msgstr "Nullstilling av passord er skrudd av for denne instansen."
|
||||
|
||||
#: .\cookbook\templates\account\password_reset_done.html:25
|
||||
msgid ""
|
||||
@@ -912,7 +908,7 @@ msgstr ""
|
||||
#: .\cookbook\templates\account\signup.html:48
|
||||
#: .\cookbook\templates\socialaccount\signup.html:39
|
||||
msgid "and"
|
||||
msgstr ""
|
||||
msgstr "og"
|
||||
|
||||
#: .\cookbook\templates\account\signup.html:52
|
||||
#: .\cookbook\templates\socialaccount\signup.html:43
|
||||
@@ -946,8 +942,6 @@ msgid "Recipes"
|
||||
msgstr "Oppskrifter"
|
||||
|
||||
#: .\cookbook\templates\base.html:161 .\cookbook\views\lists.py:120
|
||||
#, fuzzy
|
||||
#| msgid "New Food"
|
||||
msgid "Foods"
|
||||
msgstr "Ny matvare"
|
||||
|
||||
@@ -989,10 +983,8 @@ msgstr "Historikk"
|
||||
#: .\cookbook\templates\base.html:263
|
||||
#: .\cookbook\templates\ingredient_editor.html:7
|
||||
#: .\cookbook\templates\ingredient_editor.html:13
|
||||
#, fuzzy
|
||||
#| msgid "Ingredients"
|
||||
msgid "Ingredient Editor"
|
||||
msgstr "Ingredienser"
|
||||
msgstr "Ingrediensredigerer"
|
||||
|
||||
#: .\cookbook\templates\base.html:275
|
||||
#: .\cookbook\templates\export_response.html:7
|
||||
@@ -1002,7 +994,7 @@ msgstr "Eksporter"
|
||||
|
||||
#: .\cookbook\templates\base.html:287
|
||||
msgid "Properties"
|
||||
msgstr ""
|
||||
msgstr "Egenskaper"
|
||||
|
||||
#: .\cookbook\templates\base.html:301 .\cookbook\views\lists.py:255
|
||||
msgid "Unit Conversions"
|
||||
@@ -1179,7 +1171,7 @@ msgstr ""
|
||||
|
||||
#: .\cookbook\templates\generic\delete_template.html:27
|
||||
msgid "Protected"
|
||||
msgstr ""
|
||||
msgstr "Beskyttet"
|
||||
|
||||
#: .\cookbook\templates\generic\delete_template.html:42
|
||||
msgid "Cascade"
|
||||
@@ -1938,7 +1930,7 @@ msgstr ""
|
||||
#: .\cookbook\templates\system.html:75 .\cookbook\templates\system.html:88
|
||||
#: .\cookbook\templates\system.html:102 .\cookbook\templates\system.html:113
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
msgstr "Advarsel"
|
||||
|
||||
#: .\cookbook\templates\system.html:47 .\cookbook\templates\system.html:61
|
||||
#: .\cookbook\templates\system.html:75 .\cookbook\templates\system.html:88
|
||||
|
||||
@@ -13,8 +13,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-09-03 19:58+0000\n"
|
||||
"Last-Translator: \"S. v.d. Gevel\" <stefan18_gw@hotmail.com>\n"
|
||||
"PO-Revision-Date: 2025-02-16 14:58+0000\n"
|
||||
"Last-Translator: Cots Partier <cots.pastier.34@icloud.com>\n"
|
||||
"Language-Team: Dutch <http://translate.tandoor.dev/projects/tandoor/"
|
||||
"recipes-backend/nl/>\n"
|
||||
"Language: nl\n"
|
||||
@@ -22,7 +22,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.6.2\n"
|
||||
"X-Generator: Weblate 5.8.4\n"
|
||||
|
||||
#: .\cookbook\forms.py:45
|
||||
msgid ""
|
||||
@@ -286,7 +286,7 @@ msgstr "omgekeerde rotatie"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:311
|
||||
msgid "careful rotation"
|
||||
msgstr "voorzichtige rotatie"
|
||||
msgstr "rotire atentă"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:312
|
||||
msgid "knead"
|
||||
|
||||
@@ -11,18 +11,18 @@ 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-19 23:47+0000\n"
|
||||
"Last-Translator: Tomasz Klimczak <klemensble@gmail.com>\n"
|
||||
"Language-Team: Polish <http://translate.tandoor.dev/projects/tandoor/recipes-"
|
||||
"backend/pl/>\n"
|
||||
"PO-Revision-Date: 2025-01-26 05:58+0000\n"
|
||||
"Last-Translator: Dominik Ruczajewski <slick.moose.dev@gmail.com>\n"
|
||||
"Language-Team: Polish <http://translate.tandoor.dev/projects/tandoor/"
|
||||
"recipes-backend/pl/>\n"
|
||||
"Language: pl\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%10>=2 && n%10<=4) && (n"
|
||||
"%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n"
|
||||
"%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
||||
"X-Generator: Weblate 5.4.2\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && ("
|
||||
"n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && "
|
||||
"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
||||
"X-Generator: Weblate 5.8.4\n"
|
||||
|
||||
#: .\cookbook\forms.py:45
|
||||
msgid ""
|
||||
@@ -65,6 +65,8 @@ msgid ""
|
||||
"To prevent duplicates recipes with the same name as existing ones are "
|
||||
"ignored. Check this box to import everything."
|
||||
msgstr ""
|
||||
"Aby zapobiec duplikatom, przepisy o tej samej nazwie co istniejące zostaną "
|
||||
"pominięte. Zaznacz to pole, aby zaimportować wszystko."
|
||||
|
||||
#: .\cookbook\forms.py:143
|
||||
msgid "Add your comment: "
|
||||
@@ -91,14 +93,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\">Long Lived Access Token</a> dla Twojej instancji Home Assistant"
|
||||
|
||||
#: .\cookbook\forms.py:193
|
||||
msgid "Something like http://homeassistant.local:8123/api"
|
||||
msgstr ""
|
||||
msgstr "Coś w stylu http://homeassistant.local:8123/api"
|
||||
|
||||
#: .\cookbook\forms.py:205
|
||||
msgid "http://homeassistant.local:8123/api for example"
|
||||
msgstr ""
|
||||
msgstr "na przykład http://homeassistant.local:8123/api"
|
||||
|
||||
#: .\cookbook\forms.py:222 .\cookbook\views\edit.py:117
|
||||
msgid "Storage"
|
||||
@@ -106,11 +110,11 @@ msgstr "Magazyn"
|
||||
|
||||
#: .\cookbook\forms.py:222
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
msgstr "Aktywuj"
|
||||
|
||||
#: .\cookbook\forms.py:226
|
||||
msgid "Search String"
|
||||
msgstr "Wyszukaj ciąg"
|
||||
msgstr "Wyszukaj tekst"
|
||||
|
||||
#: .\cookbook\forms.py:246
|
||||
msgid "File ID"
|
||||
@@ -118,101 +122,117 @@ msgstr "Numer identyfikacyjny pliku"
|
||||
|
||||
#: .\cookbook\forms.py:262
|
||||
msgid "Maximum number of users for this space reached."
|
||||
msgstr ""
|
||||
msgstr "Osiągnięto maksymalną liczbę użytkowników dla tej przestrzeni."
|
||||
|
||||
#: .\cookbook\forms.py:268
|
||||
msgid "Email address already taken!"
|
||||
msgstr ""
|
||||
msgstr "Wybrany adres email jest już zajęty!"
|
||||
|
||||
#: .\cookbook\forms.py:275
|
||||
msgid ""
|
||||
"An email address is not required but if present the invite link will be sent "
|
||||
"to the user."
|
||||
msgstr ""
|
||||
"Adres email nie jest wymagany, jednak gdy zostanie podany link z "
|
||||
"zaproszeniem zostanie wysłany do użytkownika."
|
||||
|
||||
#: .\cookbook\forms.py:287
|
||||
msgid "Name already taken."
|
||||
msgstr ""
|
||||
msgstr "Podana nazwa jest już zajęta."
|
||||
|
||||
#: .\cookbook\forms.py:298
|
||||
msgid "Accept Terms and Privacy"
|
||||
msgstr ""
|
||||
msgstr "Zaakceptuj Regulamin oraz Politykę Prywatności"
|
||||
|
||||
#: .\cookbook\forms.py:332
|
||||
msgid ""
|
||||
"Determines how fuzzy a search is if it uses trigram similarity matching (e."
|
||||
"g. low values mean more typos are ignored)."
|
||||
msgstr ""
|
||||
"Określa, jak niedokładne może być wyszukiwanie, jeśli wykorzystuje "
|
||||
"dopasowanie podobieństwa trigramowego (np. niskie wartości oznaczają, że "
|
||||
"więcej literówek jest ignorowanych)."
|
||||
|
||||
#: .\cookbook\forms.py:340
|
||||
msgid ""
|
||||
"Select type method of search. Click <a href=\"/docs/search/\">here</a> for "
|
||||
"full description of choices."
|
||||
msgstr ""
|
||||
"Wybierz metodę wyszukiwania. Kliknij <a href=\"/docs/search/\">tutaj</a>, "
|
||||
"aby zapoznać się z pełnym opisem dostępnych opcji."
|
||||
|
||||
#: .\cookbook\forms.py:341
|
||||
msgid ""
|
||||
"Use fuzzy matching on units, keywords and ingredients when editing and "
|
||||
"importing recipes."
|
||||
msgstr ""
|
||||
"Użyj niedokładnego dopasowywania dla jednostek, słów kluczowych i składników "
|
||||
"podczas edytowania i importowania przepisów."
|
||||
|
||||
#: .\cookbook\forms.py:342
|
||||
msgid ""
|
||||
"Fields to search ignoring accents. Selecting this option can improve or "
|
||||
"degrade search quality depending on language"
|
||||
msgstr ""
|
||||
"Pola do przeszukiwania z pominięciem akcentów. Wybranie tej opcji może "
|
||||
"poprawić lub pogorszyć jakość wyszukiwania w zależności od języka"
|
||||
|
||||
#: .\cookbook\forms.py:343
|
||||
msgid ""
|
||||
"Fields to search for partial matches. (e.g. searching for 'Pie' will return "
|
||||
"'pie' and 'piece' and 'soapie')"
|
||||
msgstr ""
|
||||
"Pola do przeszukiwania częściowych dopasowań (np. wyszukiwanie 'Ciasto' "
|
||||
"zwróci 'ciasto', 'ciasteczko' i 'ciastolina')"
|
||||
|
||||
#: .\cookbook\forms.py:344
|
||||
msgid ""
|
||||
"Fields to search for beginning of word matches. (e.g. searching for 'sa' "
|
||||
"will return 'salad' and 'sandwich')"
|
||||
msgstr ""
|
||||
"Pola do przeszukiwania dopasowań na początku wyrazu (np. wyszukiwanie 'sa' "
|
||||
"zwróci 'sałatka' i '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 ""
|
||||
"Pola do wyszukiwania z użyciem 'niedokładnego' dopasowywania (np. "
|
||||
"wyszukiwanie 'przepisz' znajdzie 'przepis'). Uwaga: ta opcja będzie "
|
||||
"kolidować z metodami wyszukiwania 'web' i 'raw'."
|
||||
|
||||
#: .\cookbook\forms.py:346
|
||||
msgid ""
|
||||
"Fields to full text search. Note: 'web', 'phrase', and 'raw' search methods "
|
||||
"only function with fulltext fields."
|
||||
msgstr ""
|
||||
"Pola do wyszukiwania pełno tekstowego. Uwaga: metody wyszukiwania 'web', "
|
||||
"'phrase' i 'raw' działają wyłącznie z polami pełno tekstowymi."
|
||||
|
||||
#: .\cookbook\forms.py:350
|
||||
#, fuzzy
|
||||
#| msgid "Search"
|
||||
msgid "Search Method"
|
||||
msgstr "Szukaj"
|
||||
msgstr "Metoda wyszukiwania"
|
||||
|
||||
#: .\cookbook\forms.py:350
|
||||
msgid "Fuzzy Lookups"
|
||||
msgstr ""
|
||||
msgstr "Niedokładne dopasowanie"
|
||||
|
||||
#: .\cookbook\forms.py:350
|
||||
msgid "Ignore Accent"
|
||||
msgstr ""
|
||||
msgstr "Ignoruj akcenty"
|
||||
|
||||
#: .\cookbook\forms.py:350
|
||||
msgid "Partial Match"
|
||||
msgstr ""
|
||||
msgstr "Częściowe dopasowanie"
|
||||
|
||||
#: .\cookbook\forms.py:350
|
||||
msgid "Starts With"
|
||||
msgstr ""
|
||||
msgstr "Zaczyna się od"
|
||||
|
||||
#: .\cookbook\forms.py:351
|
||||
#, fuzzy
|
||||
#| msgid "Search"
|
||||
msgid "Fuzzy Search"
|
||||
msgstr "Szukaj"
|
||||
msgstr "Niedokładne wyszukiwanie"
|
||||
|
||||
#: .\cookbook\forms.py:351
|
||||
#, fuzzy
|
||||
@@ -225,6 +245,8 @@ msgid ""
|
||||
"In order to prevent spam, the requested email was not send. Please wait a "
|
||||
"few minutes and try again."
|
||||
msgstr ""
|
||||
"Aby zapobiec spamowi, żądany e-mail nie został wysłany. Proszę poczekać "
|
||||
"kilka minut i spróbować ponownie."
|
||||
|
||||
#: .\cookbook\helper\permission_helper.py:164
|
||||
#: .\cookbook\helper\permission_helper.py:187 .\cookbook\views\views.py:117
|
||||
@@ -255,57 +277,57 @@ msgstr ""
|
||||
|
||||
#: .\cookbook\helper\permission_helper.py:402
|
||||
msgid "You have reached the maximum number of recipes for your space."
|
||||
msgstr ""
|
||||
msgstr "Osiągnąłeś maksymalną liczbę przepisów dla swojej przestrzeni."
|
||||
|
||||
#: .\cookbook\helper\permission_helper.py:414
|
||||
msgid "You have more users than allowed in your space."
|
||||
msgstr ""
|
||||
msgstr "Masz więcej użytkowników, niż jest dozwolone w Twojej przestrzeni."
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:310
|
||||
msgid "reverse rotation"
|
||||
msgstr ""
|
||||
msgstr "rotacja wsteczna"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:311
|
||||
msgid "careful rotation"
|
||||
msgstr ""
|
||||
msgstr "delikatna rotacja"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:312
|
||||
msgid "knead"
|
||||
msgstr ""
|
||||
msgstr "zagnieść"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:313
|
||||
msgid "thicken"
|
||||
msgstr ""
|
||||
msgstr "zagęścić"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:314
|
||||
msgid "warm up"
|
||||
msgstr ""
|
||||
msgstr "podgrzać"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:315
|
||||
msgid "ferment"
|
||||
msgstr ""
|
||||
msgstr "doprowadzić do wrzenia"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:316
|
||||
msgid "sous-vide"
|
||||
msgstr ""
|
||||
msgstr "gotować w próżni"
|
||||
|
||||
#: .\cookbook\helper\shopping_helper.py:150
|
||||
msgid "You must supply a servings size"
|
||||
msgstr ""
|
||||
msgstr "Musisz podać wielkość porcji"
|
||||
|
||||
#: .\cookbook\helper\template_helper.py:95
|
||||
#: .\cookbook\helper\template_helper.py:97
|
||||
msgid "Could not parse template code."
|
||||
msgstr ""
|
||||
msgstr "Nie można przeanalizować kodu szablonu."
|
||||
|
||||
#: .\cookbook\integration\copymethat.py:44
|
||||
#: .\cookbook\integration\melarecipes.py:37
|
||||
msgid "Favorite"
|
||||
msgstr ""
|
||||
msgstr "Ulubione"
|
||||
|
||||
#: .\cookbook\integration\copymethat.py:50
|
||||
msgid "I made this"
|
||||
msgstr ""
|
||||
msgstr "Stworzyłem to"
|
||||
|
||||
#: .\cookbook\integration\integration.py:209
|
||||
msgid ""
|
||||
@@ -320,10 +342,12 @@ msgid ""
|
||||
"An unexpected error occurred during the import. Please make sure you have "
|
||||
"uploaded a valid file."
|
||||
msgstr ""
|
||||
"Wystąpił nieoczekiwany błąd podczas importu. Upewnij się, że przesłałeś "
|
||||
"prawidłowy plik."
|
||||
|
||||
#: .\cookbook\integration\integration.py:217
|
||||
msgid "The following recipes were ignored because they already existed:"
|
||||
msgstr ""
|
||||
msgstr "Następujące przepisy zostały pominięte, ponieważ już istnieją:"
|
||||
|
||||
#: .\cookbook\integration\integration.py:221
|
||||
#, python-format
|
||||
@@ -341,14 +365,12 @@ msgid "Notes"
|
||||
msgstr "Notatka"
|
||||
|
||||
#: .\cookbook\integration\paprika.py:52
|
||||
#, fuzzy
|
||||
#| msgid "Information"
|
||||
msgid "Nutritional Information"
|
||||
msgstr "Informacja"
|
||||
msgstr "Informacje o wartości odżywczej"
|
||||
|
||||
#: .\cookbook\integration\paprika.py:56
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
msgstr "Źródło"
|
||||
|
||||
#: .\cookbook\integration\recettetek.py:54
|
||||
#: .\cookbook\integration\recipekeeper.py:70
|
||||
@@ -377,23 +399,25 @@ msgstr "Sekcja"
|
||||
|
||||
#: .\cookbook\management\commands\fix_duplicate_properties.py:15
|
||||
msgid "Fixes foods with "
|
||||
msgstr ""
|
||||
msgstr "Poprawia potrawy z "
|
||||
|
||||
#: .\cookbook\management\commands\rebuildindex.py:14
|
||||
msgid "Rebuilds full text search index on Recipe"
|
||||
msgstr ""
|
||||
msgstr "Odbudowuje indeks wyszukiwania pełno tekstowego dla przepisu"
|
||||
|
||||
#: .\cookbook\management\commands\rebuildindex.py:18
|
||||
msgid "Only Postgresql databases use full text search, no index to rebuild"
|
||||
msgstr ""
|
||||
"Pełno tekstowe wyszukiwanie jest używane tylko w bazach danych PostgreSQL, "
|
||||
"brak indeksu do odbudowy"
|
||||
|
||||
#: .\cookbook\management\commands\rebuildindex.py:29
|
||||
msgid "Recipe index rebuild complete."
|
||||
msgstr ""
|
||||
msgstr "Odbudowa indeksu przepisu zakończona."
|
||||
|
||||
#: .\cookbook\management\commands\rebuildindex.py:31
|
||||
msgid "Recipe index rebuild failed."
|
||||
msgstr ""
|
||||
msgstr "Odbudowa indeksu przepisu nie powiodła się."
|
||||
|
||||
#: .\cookbook\migrations\0047_auto_20200602_1133.py:14
|
||||
msgid "Breakfast"
|
||||
@@ -412,8 +436,6 @@ msgid "Other"
|
||||
msgstr "Inne"
|
||||
|
||||
#: .\cookbook\migrations\0190_auto_20230525_1506.py:17
|
||||
#, fuzzy
|
||||
#| msgid "Fats"
|
||||
msgid "Fat"
|
||||
msgstr "Tłuszcze"
|
||||
|
||||
@@ -421,7 +443,7 @@ msgstr "Tłuszcze"
|
||||
#: .\cookbook\migrations\0190_auto_20230525_1506.py:18
|
||||
#: .\cookbook\migrations\0190_auto_20230525_1506.py:19
|
||||
msgid "g"
|
||||
msgstr ""
|
||||
msgstr "g"
|
||||
|
||||
#: .\cookbook\migrations\0190_auto_20230525_1506.py:18
|
||||
msgid "Carbohydrates"
|
||||
@@ -437,13 +459,15 @@ msgstr "Kalorie"
|
||||
|
||||
#: .\cookbook\migrations\0190_auto_20230525_1506.py:20
|
||||
msgid "kcal"
|
||||
msgstr ""
|
||||
msgstr "kcal"
|
||||
|
||||
#: .\cookbook\models.py:325
|
||||
msgid ""
|
||||
"Maximum file storage for space in MB. 0 for unlimited, -1 to disable file "
|
||||
"upload."
|
||||
msgstr ""
|
||||
"Maksymalna pojemność na pliki dla przestrzeni w MB. 0 oznacza brak limitu, -"
|
||||
"1 wyłącza możliwość przesyłania plików."
|
||||
|
||||
#: .\cookbook\models.py:454 .\cookbook\templates\search.html:7
|
||||
#: .\cookbook\templates\settings.html:18
|
||||
|
||||
@@ -12,8 +12,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: 2023-10-07 18:02+0000\n"
|
||||
"Last-Translator: Guilherme Roda <glealroda@gmail.com>\n"
|
||||
"PO-Revision-Date: 2025-02-21 10:58+0000\n"
|
||||
"Last-Translator: Filipe Neves <homemdasneves@gmail.com>\n"
|
||||
"Language-Team: Portuguese <http://translate.tandoor.dev/projects/tandoor/"
|
||||
"recipes-backend/pt/>\n"
|
||||
"Language: pt\n"
|
||||
@@ -21,7 +21,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 4.15\n"
|
||||
"X-Generator: Weblate 5.8.4\n"
|
||||
|
||||
#: .\cookbook\forms.py:45
|
||||
msgid ""
|
||||
@@ -94,14 +94,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\">Token de longa duração</a>para a sua instância HomeAssistant"
|
||||
|
||||
#: .\cookbook\forms.py:193
|
||||
msgid "Something like http://homeassistant.local:8123/api"
|
||||
msgstr ""
|
||||
msgstr "Algo como http://homeassistant.local:8123/api"
|
||||
|
||||
#: .\cookbook\forms.py:205
|
||||
msgid "http://homeassistant.local:8123/api for example"
|
||||
msgstr ""
|
||||
msgstr "http://homeassistant.local:8123/api por exemplo"
|
||||
|
||||
#: .\cookbook\forms.py:222 .\cookbook\views\edit.py:117
|
||||
msgid "Storage"
|
||||
@@ -181,18 +183,25 @@ msgid ""
|
||||
"Fields to search for partial matches. (e.g. searching for 'Pie' will return "
|
||||
"'pie' and 'piece' and 'soapie')"
|
||||
msgstr ""
|
||||
"Campos a pesquisar por correspondência. (Ex: pesquisar por 'mor' retorna "
|
||||
"'morango' e 'amora')"
|
||||
|
||||
#: .\cookbook\forms.py:344
|
||||
msgid ""
|
||||
"Fields to search for beginning of word matches. (e.g. searching for 'sa' "
|
||||
"will return 'salad' and 'sandwich')"
|
||||
msgstr ""
|
||||
"Campos a pesquisar para correspondências no início da palavra. (por exemplo, "
|
||||
"pesquisar por \"sa\" retornará \"salada\" e \"sanduíche\")"
|
||||
|
||||
#: .\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 ""
|
||||
"Campos para pesquisa aproximada. (por exemplo, pesquisar por \"recita\" "
|
||||
"encontrará \"receita\"). Nota: esta opção entra em conflito com os métodos "
|
||||
"de pesquisa \"web\" e \"raw\"."
|
||||
|
||||
#: .\cookbook\forms.py:346
|
||||
msgid ""
|
||||
@@ -206,19 +215,19 @@ msgstr "Método de Pesquisa"
|
||||
|
||||
#: .\cookbook\forms.py:350
|
||||
msgid "Fuzzy Lookups"
|
||||
msgstr ""
|
||||
msgstr "Pesquisas Aproximadas"
|
||||
|
||||
#: .\cookbook\forms.py:350
|
||||
msgid "Ignore Accent"
|
||||
msgstr ""
|
||||
msgstr "Ignorar pronúncia"
|
||||
|
||||
#: .\cookbook\forms.py:350
|
||||
msgid "Partial Match"
|
||||
msgstr ""
|
||||
msgstr "Correspondência parcial"
|
||||
|
||||
#: .\cookbook\forms.py:350
|
||||
msgid "Starts With"
|
||||
msgstr ""
|
||||
msgstr "Começa com"
|
||||
|
||||
#: .\cookbook\forms.py:351
|
||||
msgid "Fuzzy Search"
|
||||
@@ -233,6 +242,8 @@ msgid ""
|
||||
"In order to prevent spam, the requested email was not send. Please wait a "
|
||||
"few minutes and try again."
|
||||
msgstr ""
|
||||
"Para evitar spam, o email solicitado não foi enviado. Por favor, aguarde "
|
||||
"alguns minutos e tente novamente."
|
||||
|
||||
#: .\cookbook\helper\permission_helper.py:164
|
||||
#: .\cookbook\helper\permission_helper.py:187 .\cookbook\views\views.py:117
|
||||
@@ -257,11 +268,11 @@ msgstr "Sem permissões para aceder a esta página!"
|
||||
#: .\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 "Não pode interagir com este objeto, pois não é seu!"
|
||||
|
||||
#: .\cookbook\helper\permission_helper.py:402
|
||||
msgid "You have reached the maximum number of recipes for your space."
|
||||
msgstr ""
|
||||
msgstr "Atingiu o número máximo de receitas para o seu espaço."
|
||||
|
||||
#: .\cookbook\helper\permission_helper.py:414
|
||||
msgid "You have more users than allowed in your space."
|
||||
|
||||
@@ -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: 2023-10-09 01:54+0000\n"
|
||||
"Last-Translator: Guilherme Roda <glealroda@gmail.com>\n"
|
||||
"PO-Revision-Date: 2025-03-13 22:58+0000\n"
|
||||
"Last-Translator: Jader Moraes <jader-ms@hotmail.com>\n"
|
||||
"Language-Team: Portuguese (Brazil) <http://translate.tandoor.dev/projects/"
|
||||
"tandoor/recipes-backend/pt_BR/>\n"
|
||||
"Language: pt_BR\n"
|
||||
@@ -17,15 +17,15 @@ 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 4.15\n"
|
||||
"X-Generator: Weblate 5.8.4\n"
|
||||
|
||||
#: .\cookbook\forms.py:45
|
||||
msgid ""
|
||||
"Both fields are optional. If none are given the username will be displayed "
|
||||
"instead"
|
||||
msgstr ""
|
||||
"Ambos os campos são opcionais. Se nenhum for preenchido o nome do usuário "
|
||||
"será mostrado"
|
||||
"Ambos os campos são opcionais. Se nenhum for preenchido, o login será "
|
||||
"mostrado"
|
||||
|
||||
#: .\cookbook\forms.py:62 .\cookbook\forms.py:246
|
||||
msgid "Name"
|
||||
@@ -88,14 +88,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\">Token de longa duração</a> para sua instância do HomeAssistant"
|
||||
|
||||
#: .\cookbook\forms.py:193
|
||||
msgid "Something like http://homeassistant.local:8123/api"
|
||||
msgstr ""
|
||||
msgstr "Algo como http://homeassistant.local:8123/api"
|
||||
|
||||
#: .\cookbook\forms.py:205
|
||||
msgid "http://homeassistant.local:8123/api for example"
|
||||
msgstr ""
|
||||
msgstr "http://homeassistant.local:8123/api por exemplo"
|
||||
|
||||
#: .\cookbook\forms.py:222 .\cookbook\views\edit.py:117
|
||||
msgid "Storage"
|
||||
@@ -142,6 +144,9 @@ msgid ""
|
||||
"Determines how fuzzy a search is if it uses trigram similarity matching (e."
|
||||
"g. low values mean more typos are ignored)."
|
||||
msgstr ""
|
||||
"Determina o quão 'difusa' uma pesquisa é se esta utilizando uma "
|
||||
"correspondência de semelhança de trigrama (valores mais baixos significam "
|
||||
"que mais erros são ignorados)."
|
||||
|
||||
#: .\cookbook\forms.py:340
|
||||
msgid ""
|
||||
@@ -172,24 +177,33 @@ msgid ""
|
||||
"Fields to search for partial matches. (e.g. searching for 'Pie' will return "
|
||||
"'pie' and 'piece' and 'soapie')"
|
||||
msgstr ""
|
||||
"Campos a serem usados para pesquisa parcial (ex: pesquisar 'Pão' pode "
|
||||
"retornar 'pão', 'pãozinho' e 'pão de queijo')"
|
||||
|
||||
#: .\cookbook\forms.py:344
|
||||
msgid ""
|
||||
"Fields to search for beginning of word matches. (e.g. searching for 'sa' "
|
||||
"will return 'salad' and 'sandwich')"
|
||||
msgstr ""
|
||||
"Campos que devem ser buscados para correspondências de prefixo. (por "
|
||||
"exemplo, buscar por 'sa' retornará 'salada' e 'sanduíche')"
|
||||
|
||||
#: .\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 ""
|
||||
"Campos que devem usar busca 'difusa' (fuzzy). (por exemplo, procurando por "
|
||||
"'recita' vai encontrar 'receita'). Nota: essa opção conflitará com os "
|
||||
"métodos de pesquisa 'web' e 'raw'."
|
||||
|
||||
#: .\cookbook\forms.py:346
|
||||
msgid ""
|
||||
"Fields to full text search. Note: 'web', 'phrase', and 'raw' search methods "
|
||||
"only function with fulltext fields."
|
||||
msgstr ""
|
||||
"Campos para fazer busca do texto completo. Nota: 'os métodos de pesquisa "
|
||||
"'web', 'frase' e 'raw' funcionam somente com campos de texto completo."
|
||||
|
||||
#: .\cookbook\forms.py:350
|
||||
msgid "Search Method"
|
||||
@@ -197,15 +211,15 @@ msgstr "Método de Pesquisa"
|
||||
|
||||
#: .\cookbook\forms.py:350
|
||||
msgid "Fuzzy Lookups"
|
||||
msgstr ""
|
||||
msgstr "Buscas 'Difusas' (fuzzy)"
|
||||
|
||||
#: .\cookbook\forms.py:350
|
||||
msgid "Ignore Accent"
|
||||
msgstr ""
|
||||
msgstr "Ignorar Acentos"
|
||||
|
||||
#: .\cookbook\forms.py:350
|
||||
msgid "Partial Match"
|
||||
msgstr ""
|
||||
msgstr "Correspondência parcial"
|
||||
|
||||
#: .\cookbook\forms.py:350
|
||||
msgid "Starts With"
|
||||
@@ -224,6 +238,8 @@ msgid ""
|
||||
"In order to prevent spam, the requested email was not send. Please wait a "
|
||||
"few minutes and try again."
|
||||
msgstr ""
|
||||
"Para prevenir spam, o email requisitado não pode ser enviado. Por favor, "
|
||||
"aguarde alguns minutos e tente novamente."
|
||||
|
||||
#: .\cookbook\helper\permission_helper.py:164
|
||||
#: .\cookbook\helper\permission_helper.py:187 .\cookbook\views\views.py:117
|
||||
@@ -249,44 +265,43 @@ msgstr "Sem permissões para acessar esta página!"
|
||||
#: .\cookbook\helper\permission_helper.py:252
|
||||
msgid "You cannot interact with this object as it is not owned by you!"
|
||||
msgstr ""
|
||||
"Você não pode interagir com esse objeto, pois ele não é sua propriedade!"
|
||||
|
||||
#: .\cookbook\helper\permission_helper.py:402
|
||||
msgid "You have reached the maximum number of recipes for your space."
|
||||
msgstr ""
|
||||
msgstr "Você alcançou o número limite de receitas para o seu Espaço."
|
||||
|
||||
#: .\cookbook\helper\permission_helper.py:414
|
||||
msgid "You have more users than allowed in your space."
|
||||
msgstr ""
|
||||
msgstr "Você tem mais usuários que o permitido em seu Espaço."
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:310
|
||||
#, fuzzy
|
||||
#| msgid "Use fractions"
|
||||
msgid "reverse rotation"
|
||||
msgstr "Usar frações"
|
||||
msgstr "rotação reversa"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:311
|
||||
msgid "careful rotation"
|
||||
msgstr ""
|
||||
msgstr "rotação cuidadosa"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:312
|
||||
msgid "knead"
|
||||
msgstr ""
|
||||
msgstr "amassar"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:313
|
||||
msgid "thicken"
|
||||
msgstr ""
|
||||
msgstr "engrossar"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:314
|
||||
msgid "warm up"
|
||||
msgstr ""
|
||||
msgstr "pré aquecer"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:315
|
||||
msgid "ferment"
|
||||
msgstr ""
|
||||
msgstr "fermentar"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:316
|
||||
msgid "sous-vide"
|
||||
msgstr ""
|
||||
msgstr "sous-vide"
|
||||
|
||||
#: .\cookbook\helper\shopping_helper.py:150
|
||||
msgid "You must supply a servings size"
|
||||
@@ -295,32 +310,36 @@ msgstr "Você precisa informar um tamanho de porção"
|
||||
#: .\cookbook\helper\template_helper.py:95
|
||||
#: .\cookbook\helper\template_helper.py:97
|
||||
msgid "Could not parse template code."
|
||||
msgstr ""
|
||||
msgstr "Não foi possível analisar o código do modelo."
|
||||
|
||||
#: .\cookbook\integration\copymethat.py:44
|
||||
#: .\cookbook\integration\melarecipes.py:37
|
||||
msgid "Favorite"
|
||||
msgstr ""
|
||||
msgstr "Favorito"
|
||||
|
||||
#: .\cookbook\integration\copymethat.py:50
|
||||
msgid "I made this"
|
||||
msgstr ""
|
||||
msgstr "Eu fiz isso"
|
||||
|
||||
#: .\cookbook\integration\integration.py:209
|
||||
msgid ""
|
||||
"Importer expected a .zip file. Did you choose the correct importer type for "
|
||||
"your data ?"
|
||||
msgstr ""
|
||||
"O importador esperava um arquivo .zip. Você escolheu o tipo de importador "
|
||||
"correto para os seus dados?"
|
||||
|
||||
#: .\cookbook\integration\integration.py:212
|
||||
msgid ""
|
||||
"An unexpected error occurred during the import. Please make sure you have "
|
||||
"uploaded a valid file."
|
||||
msgstr ""
|
||||
"Um erro inesperado aconteceu durante a importação. Por favor, verifique se "
|
||||
"enviou um arquivo válido."
|
||||
|
||||
#: .\cookbook\integration\integration.py:217
|
||||
msgid "The following recipes were ignored because they already existed:"
|
||||
msgstr ""
|
||||
msgstr "A seguintes receitas foram ignoradas, pois já existem:"
|
||||
|
||||
#: .\cookbook\integration\integration.py:221
|
||||
#, python-format
|
||||
@@ -328,10 +347,8 @@ msgid "Imported %s recipes."
|
||||
msgstr "%s receitas importadas."
|
||||
|
||||
#: .\cookbook\integration\openeats.py:28
|
||||
#, fuzzy
|
||||
#| msgid "Recipes"
|
||||
msgid "Recipe source:"
|
||||
msgstr "Receitas"
|
||||
msgstr "Fonte da receita:"
|
||||
|
||||
#: .\cookbook\integration\paprika.py:49
|
||||
msgid "Notes"
|
||||
@@ -347,10 +364,8 @@ msgstr "Fonte"
|
||||
|
||||
#: .\cookbook\integration\recettetek.py:54
|
||||
#: .\cookbook\integration\recipekeeper.py:70
|
||||
#, fuzzy
|
||||
#| msgid "Import Log"
|
||||
msgid "Imported from"
|
||||
msgstr "Importar Log"
|
||||
msgstr "Importado de"
|
||||
|
||||
#: .\cookbook\integration\saffron.py:23
|
||||
msgid "Servings"
|
||||
@@ -374,23 +389,25 @@ msgstr "Seção"
|
||||
|
||||
#: .\cookbook\management\commands\fix_duplicate_properties.py:15
|
||||
msgid "Fixes foods with "
|
||||
msgstr ""
|
||||
msgstr "Corrige comidas com "
|
||||
|
||||
#: .\cookbook\management\commands\rebuildindex.py:14
|
||||
msgid "Rebuilds full text search index on Recipe"
|
||||
msgstr ""
|
||||
msgstr "Reconstrói o índice de busca de texto por completo da Receita"
|
||||
|
||||
#: .\cookbook\management\commands\rebuildindex.py:18
|
||||
msgid "Only Postgresql databases use full text search, no index to rebuild"
|
||||
msgstr ""
|
||||
"Apenas bancos de dados Postgresql utilizam busca por texto completo, não há "
|
||||
"índice para reconstruir"
|
||||
|
||||
#: .\cookbook\management\commands\rebuildindex.py:29
|
||||
msgid "Recipe index rebuild complete."
|
||||
msgstr ""
|
||||
msgstr "Reconstrução de índice de receita concluído."
|
||||
|
||||
#: .\cookbook\management\commands\rebuildindex.py:31
|
||||
msgid "Recipe index rebuild failed."
|
||||
msgstr ""
|
||||
msgstr "Reconstrução de índice de Receita falhou."
|
||||
|
||||
#: .\cookbook\migrations\0047_auto_20200602_1133.py:14
|
||||
msgid "Breakfast"
|
||||
@@ -410,35 +427,37 @@ msgstr "Outro"
|
||||
|
||||
#: .\cookbook\migrations\0190_auto_20230525_1506.py:17
|
||||
msgid "Fat"
|
||||
msgstr ""
|
||||
msgstr "Gordura"
|
||||
|
||||
#: .\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 "g"
|
||||
|
||||
#: .\cookbook\migrations\0190_auto_20230525_1506.py:18
|
||||
msgid "Carbohydrates"
|
||||
msgstr ""
|
||||
msgstr "Carboidratos"
|
||||
|
||||
#: .\cookbook\migrations\0190_auto_20230525_1506.py:19
|
||||
msgid "Proteins"
|
||||
msgstr ""
|
||||
msgstr "Proteínas"
|
||||
|
||||
#: .\cookbook\migrations\0190_auto_20230525_1506.py:20
|
||||
msgid "Calories"
|
||||
msgstr ""
|
||||
msgstr "Calorias"
|
||||
|
||||
#: .\cookbook\migrations\0190_auto_20230525_1506.py:20
|
||||
msgid "kcal"
|
||||
msgstr ""
|
||||
msgstr "kcal"
|
||||
|
||||
#: .\cookbook\models.py:325
|
||||
msgid ""
|
||||
"Maximum file storage for space in MB. 0 for unlimited, -1 to disable file "
|
||||
"upload."
|
||||
msgstr ""
|
||||
"Limite máximo de armazenamento de arquivos em MB. 0 para ilimitado, −1 para "
|
||||
"impedir o envio de arquivos."
|
||||
|
||||
#: .\cookbook\models.py:454 .\cookbook\templates\search.html:7
|
||||
#: .\cookbook\templates\settings.html:18
|
||||
@@ -462,27 +481,23 @@ msgstr "Compras"
|
||||
|
||||
#: .\cookbook\models.py:752
|
||||
msgid " is part of a recipe step and cannot be deleted"
|
||||
msgstr ""
|
||||
msgstr " é parte de uma etapa de uma receita, e não pode ser excluído"
|
||||
|
||||
#: .\cookbook\models.py:918
|
||||
#, fuzzy
|
||||
#| msgid "Automations"
|
||||
msgid "Nutrition"
|
||||
msgstr "Automações"
|
||||
msgstr "Informações nutricionais"
|
||||
|
||||
#: .\cookbook\models.py:918
|
||||
#, fuzzy
|
||||
#| msgid "Merge"
|
||||
msgid "Allergen"
|
||||
msgstr "Mesclar"
|
||||
msgstr "Alérgenos"
|
||||
|
||||
#: .\cookbook\models.py:919
|
||||
msgid "Price"
|
||||
msgstr ""
|
||||
msgstr "Preço"
|
||||
|
||||
#: .\cookbook\models.py:919
|
||||
msgid "Goal"
|
||||
msgstr ""
|
||||
msgstr "Meta"
|
||||
|
||||
#: .\cookbook\models.py:1408 .\cookbook\templates\search_info.html:28
|
||||
msgid "Simple"
|
||||
@@ -513,42 +528,32 @@ msgid "Keyword Alias"
|
||||
msgstr "Apelido da Palavra-chave"
|
||||
|
||||
#: .\cookbook\models.py:1470
|
||||
#, fuzzy
|
||||
#| msgid "Description"
|
||||
msgid "Description Replace"
|
||||
msgstr "Descrição"
|
||||
msgstr "Substituir Descrição"
|
||||
|
||||
#: .\cookbook\models.py:1471
|
||||
#, fuzzy
|
||||
#| msgid "Instructions"
|
||||
msgid "Instruction Replace"
|
||||
msgstr "Instruções"
|
||||
msgstr "Substituir Instruções"
|
||||
|
||||
#: .\cookbook\models.py:1472
|
||||
#, fuzzy
|
||||
#| msgid "Select Unit"
|
||||
msgid "Never Unit"
|
||||
msgstr "Selecionar Unidade"
|
||||
msgstr "Nunca usar como unidade"
|
||||
|
||||
#: .\cookbook\models.py:1473
|
||||
msgid "Transpose Words"
|
||||
msgstr ""
|
||||
msgstr "Transpor palavras"
|
||||
|
||||
#: .\cookbook\models.py:1474
|
||||
#, fuzzy
|
||||
#| msgid "Food Alias"
|
||||
msgid "Food Replace"
|
||||
msgstr "Apelido do Alimento"
|
||||
msgstr "Substituir comida"
|
||||
|
||||
#: .\cookbook\models.py:1475
|
||||
#, fuzzy
|
||||
#| msgid "Unit Alias"
|
||||
msgid "Unit Replace"
|
||||
msgstr "Apelido da Unidade"
|
||||
msgstr "Substituir unidade"
|
||||
|
||||
#: .\cookbook\models.py:1476
|
||||
msgid "Name Replace"
|
||||
msgstr ""
|
||||
msgstr "Substituir nome"
|
||||
|
||||
#: .\cookbook\models.py:1503 .\cookbook\views\delete.py:40
|
||||
#: .\cookbook\views\edit.py:210 .\cookbook\views\new.py:39
|
||||
@@ -556,10 +561,8 @@ msgid "Recipe"
|
||||
msgstr "Receita"
|
||||
|
||||
#: .\cookbook\models.py:1504
|
||||
#, fuzzy
|
||||
#| msgid "Foods"
|
||||
msgid "Food"
|
||||
msgstr "Alimentos"
|
||||
msgstr "Comida"
|
||||
|
||||
#: .\cookbook\models.py:1505 .\cookbook\templates\base.html:149
|
||||
msgid "Keyword"
|
||||
@@ -567,15 +570,15 @@ msgstr "Palavra-chave"
|
||||
|
||||
#: .\cookbook\serializer.py:222
|
||||
msgid "File uploads are not enabled for this Space."
|
||||
msgstr ""
|
||||
msgstr "Envio de arquivos não são permitidos nesse Espaço."
|
||||
|
||||
#: .\cookbook\serializer.py:233
|
||||
msgid "You have reached your file upload limit."
|
||||
msgstr ""
|
||||
msgstr "Você alcançou o limite do envio de arquivos."
|
||||
|
||||
#: .\cookbook\serializer.py:328
|
||||
msgid "Cannot modify Space owner permission."
|
||||
msgstr ""
|
||||
msgstr "Não é possível modificar as permissões do dono do Espaço."
|
||||
|
||||
#: .\cookbook\serializer.py:1270
|
||||
msgid "Hello"
|
||||
@@ -587,56 +590,63 @@ msgstr "Você foi convidado por "
|
||||
|
||||
#: .\cookbook\serializer.py:1272
|
||||
msgid " to join their Tandoor Recipes space "
|
||||
msgstr ""
|
||||
msgstr " para se juntar ao Espaço "
|
||||
|
||||
#: .\cookbook\serializer.py:1274
|
||||
msgid "Click the following link to activate your account: "
|
||||
msgstr ""
|
||||
msgstr "Clique no seguinte link para ativar a sua conta: "
|
||||
|
||||
#: .\cookbook\serializer.py:1276
|
||||
msgid ""
|
||||
"If the link does not work use the following code to manually join the space: "
|
||||
msgstr ""
|
||||
"Se o link não funcionar use o seguinte código para manualmente entrar no "
|
||||
"Espaço: "
|
||||
|
||||
#: .\cookbook\serializer.py:1278
|
||||
msgid "The invitation is valid until "
|
||||
msgstr ""
|
||||
msgstr "O convite é válido até "
|
||||
|
||||
#: .\cookbook\serializer.py:1280
|
||||
msgid ""
|
||||
"Tandoor Recipes is an Open Source recipe manager. Check it out on GitHub "
|
||||
msgstr ""
|
||||
"Tandoor Recipes é um gerenciador de receitas de código aberto. Visite-nos no "
|
||||
"GitHub "
|
||||
|
||||
#: .\cookbook\serializer.py:1283
|
||||
msgid "Tandoor Recipes Invite"
|
||||
msgstr ""
|
||||
msgstr "Convite para Tandoor Recipes"
|
||||
|
||||
#: .\cookbook\serializer.py:1426
|
||||
msgid "Existing shopping list to update"
|
||||
msgstr ""
|
||||
msgstr "Lista de compras pré-existente que será atualizada"
|
||||
|
||||
#: .\cookbook\serializer.py:1428
|
||||
msgid ""
|
||||
"List of ingredient IDs from the recipe to add, if not provided all "
|
||||
"ingredients will be added."
|
||||
msgstr ""
|
||||
"Lista de IDs de ingredientes da receita para adicionar, se não for "
|
||||
"preenchido todos os ingredientes serão adicionados."
|
||||
|
||||
#: .\cookbook\serializer.py:1430
|
||||
msgid ""
|
||||
"Providing a list_recipe ID and servings of 0 will delete that shopping list."
|
||||
msgstr ""
|
||||
"Preenchendo o list_recipe ID e porções com 0, deletará essa lista de compra."
|
||||
|
||||
#: .\cookbook\serializer.py:1439
|
||||
msgid "Amount of food to add to the shopping list"
|
||||
msgstr ""
|
||||
msgstr "Quantidade da comida para adicionar na lista de compras"
|
||||
|
||||
#: .\cookbook\serializer.py:1441
|
||||
msgid "ID of unit to use for the shopping list"
|
||||
msgstr ""
|
||||
msgstr "ID de uma unidade para usar na lista de compras"
|
||||
|
||||
#: .\cookbook\serializer.py:1443
|
||||
msgid "When set to true will delete all food from active shopping lists."
|
||||
msgstr ""
|
||||
msgstr "Quando ativo, deletará todas as comidas da lista de compra."
|
||||
|
||||
#: .\cookbook\tables.py:69 .\cookbook\tables.py:83
|
||||
#: .\cookbook\templates\generic\delete_template.html:7
|
||||
@@ -651,11 +661,11 @@ msgstr "Erro 404"
|
||||
|
||||
#: .\cookbook\templates\404.html:18
|
||||
msgid "The page you are looking for could not be found."
|
||||
msgstr ""
|
||||
msgstr "Página não encontrada."
|
||||
|
||||
#: .\cookbook\templates\404.html:33
|
||||
msgid "Take me Home"
|
||||
msgstr ""
|
||||
msgstr "Leve-me pra Home Page"
|
||||
|
||||
#: .\cookbook\templates\404.html:35
|
||||
msgid "Report a Bug"
|
||||
@@ -682,7 +692,7 @@ msgstr "Email"
|
||||
|
||||
#: .\cookbook\templates\account\email.html:19
|
||||
msgid "The following e-mail addresses are associated with your account:"
|
||||
msgstr ""
|
||||
msgstr "os e-mails seguintes estão associados com sua conta:"
|
||||
|
||||
#: .\cookbook\templates\account\email.html:36
|
||||
msgid "Verified"
|
||||
@@ -719,6 +729,8 @@ msgid ""
|
||||
"You currently do not have any e-mail address set up. You should really add "
|
||||
"an e-mail address so you can receive notifications, reset your password, etc."
|
||||
msgstr ""
|
||||
"Você atualmente não possui nenhum e-mail cadastrado. Você deveria adicionar "
|
||||
"um e-mail para poder receber notificações, ressetar seu password, etc."
|
||||
|
||||
#: .\cookbook\templates\account\email.html:64
|
||||
msgid "Add E-mail Address"
|
||||
@@ -730,7 +742,7 @@ msgstr "Incluir E-mail"
|
||||
|
||||
#: .\cookbook\templates\account\email.html:79
|
||||
msgid "Do you really want to remove the selected e-mail address?"
|
||||
msgstr ""
|
||||
msgstr "Você tem certeza que deseja remover o e-mail selecionado?"
|
||||
|
||||
#: .\cookbook\templates\account\email_confirm.html:6
|
||||
#: .\cookbook\templates\account\email_confirm.html:10
|
||||
@@ -745,6 +757,10 @@ msgid ""
|
||||
"for user %(user_display)s\n"
|
||||
" ."
|
||||
msgstr ""
|
||||
"Por favor, confirme que\n"
|
||||
" <a href=\"mailto:%(email)s\">%(email)s</a> é um endereço de e-"
|
||||
"mail do usuário %(user_display)s\n"
|
||||
" ."
|
||||
|
||||
#: .\cookbook\templates\account\email_confirm.html:22
|
||||
#: .\cookbook\templates\generic\delete_template.html:72
|
||||
@@ -758,6 +774,8 @@ msgid ""
|
||||
" <a href=\"%(email_url)s\">issue a new e-mail confirmation "
|
||||
"request</a>."
|
||||
msgstr ""
|
||||
"Link de confirmação de e-mail expirado ou inválido. Por favor\n"
|
||||
"<a href=\"%(email_url)s\">enviar um novo pedido de confirmação de e-mail</a>"
|
||||
|
||||
#: .\cookbook\templates\account\login.html:8 .\cookbook\templates\base.html:388
|
||||
#: .\cookbook\templates\openid\login.html:8
|
||||
@@ -774,7 +792,7 @@ msgstr "Login"
|
||||
#: .\cookbook\templates\openid\login.html:26
|
||||
#: .\cookbook\templates\socialaccount\authentication_error.html:15
|
||||
msgid "Sign In"
|
||||
msgstr ""
|
||||
msgstr "Entrar"
|
||||
|
||||
#: .\cookbook\templates\account\login.html:34
|
||||
#: .\cookbook\templates\account\password_reset.html:41
|
||||
@@ -782,7 +800,7 @@ msgstr ""
|
||||
#: .\cookbook\templates\socialaccount\signup.html:8
|
||||
#: .\cookbook\templates\socialaccount\signup.html:57
|
||||
msgid "Sign Up"
|
||||
msgstr ""
|
||||
msgstr "Cadastrar"
|
||||
|
||||
#: .\cookbook\templates\account\login.html:38
|
||||
msgid "Lost your password?"
|
||||
@@ -795,21 +813,21 @@ msgstr "Resetar Minha Senha"
|
||||
|
||||
#: .\cookbook\templates\account\login.html:50
|
||||
msgid "Social Login"
|
||||
msgstr ""
|
||||
msgstr "Entre com Rede Social"
|
||||
|
||||
#: .\cookbook\templates\account\login.html:51
|
||||
msgid "You can use any of the following providers to sign in."
|
||||
msgstr ""
|
||||
msgstr "Você pode utilizar qualquer dos seguintes providers para logar-se."
|
||||
|
||||
#: .\cookbook\templates\account\logout.html:5
|
||||
#: .\cookbook\templates\account\logout.html:9
|
||||
#: .\cookbook\templates\account\logout.html:18
|
||||
msgid "Sign Out"
|
||||
msgstr ""
|
||||
msgstr "Sair (Log Out)"
|
||||
|
||||
#: .\cookbook\templates\account\logout.html:11
|
||||
msgid "Are you sure you want to sign out?"
|
||||
msgstr ""
|
||||
msgstr "Você tem certeza que deseja sair?"
|
||||
|
||||
#: .\cookbook\templates\account\password_change.html:6
|
||||
#: .\cookbook\templates\account\password_change.html:16
|
||||
@@ -842,20 +860,24 @@ msgid ""
|
||||
"Forgotten your password? Enter your e-mail address below, and we'll send you "
|
||||
"an e-mail allowing you to reset it."
|
||||
msgstr ""
|
||||
"Perdeu sua senha? Entre com seu e-mail abaixo e enviaremos instruções de "
|
||||
"como reseta-la."
|
||||
|
||||
#: .\cookbook\templates\account\password_reset.html:32
|
||||
msgid "Password reset is disabled on this instance."
|
||||
msgstr ""
|
||||
msgstr "Recuperação de senha está desabilitada nessa instância."
|
||||
|
||||
#: .\cookbook\templates\account\password_reset_done.html:25
|
||||
msgid ""
|
||||
"We have sent you an e-mail. Please contact us if you do not receive it "
|
||||
"within a few minutes."
|
||||
msgstr ""
|
||||
"Nós enviamos um e-mail. Por favor, entre em contato se não o receber dentro "
|
||||
"de alguns minutos."
|
||||
|
||||
#: .\cookbook\templates\account\password_reset_from_key.html:13
|
||||
msgid "Bad Token"
|
||||
msgstr ""
|
||||
msgstr "Token Inválido"
|
||||
|
||||
#: .\cookbook\templates\account\password_reset_from_key.html:25
|
||||
#, python-format
|
||||
@@ -920,11 +942,11 @@ msgstr "Já possui uma conta?"
|
||||
#: .\cookbook\templates\account\signup_closed.html:5
|
||||
#: .\cookbook\templates\account\signup_closed.html:11
|
||||
msgid "Sign Up Closed"
|
||||
msgstr ""
|
||||
msgstr "O cadastro está desabilitado"
|
||||
|
||||
#: .\cookbook\templates\account\signup_closed.html:13
|
||||
msgid "We are sorry, but the sign up is currently closed."
|
||||
msgstr ""
|
||||
msgstr "Desculpe, login não está disponível no momento."
|
||||
|
||||
#: .\cookbook\templates\api_info.html:5 .\cookbook\templates\base.html:378
|
||||
#: .\cookbook\templates\rest_framework\api.html:11
|
||||
@@ -984,13 +1006,11 @@ msgstr "Exportar"
|
||||
|
||||
#: .\cookbook\templates\base.html:287
|
||||
msgid "Properties"
|
||||
msgstr ""
|
||||
msgstr "Propriedades"
|
||||
|
||||
#: .\cookbook\templates\base.html:301 .\cookbook\views\lists.py:255
|
||||
#, fuzzy
|
||||
#| msgid "Account Connections"
|
||||
msgid "Unit Conversions"
|
||||
msgstr "Conexões de Conta"
|
||||
msgstr "Conversões de Medidas"
|
||||
|
||||
#: .\cookbook\templates\base.html:318 .\cookbook\templates\index.html:47
|
||||
msgid "Import Recipe"
|
||||
@@ -1010,10 +1030,8 @@ msgid "Space Settings"
|
||||
msgstr "Configurar Espaço"
|
||||
|
||||
#: .\cookbook\templates\base.html:340
|
||||
#, fuzzy
|
||||
#| msgid "External Recipes"
|
||||
msgid "External Connectors"
|
||||
msgstr "Receitas Externas"
|
||||
msgstr "Conexões externas"
|
||||
|
||||
#: .\cookbook\templates\base.html:345 .\cookbook\templates\system.html:13
|
||||
msgid "System"
|
||||
@@ -1025,19 +1043,17 @@ msgstr "Admin"
|
||||
|
||||
#: .\cookbook\templates\base.html:351
|
||||
#: .\cookbook\templates\space_overview.html:25
|
||||
#, fuzzy
|
||||
#| msgid "No Space"
|
||||
msgid "Your Spaces"
|
||||
msgstr "Sem Espaço"
|
||||
msgstr "Seu Espaço"
|
||||
|
||||
#: .\cookbook\templates\base.html:362
|
||||
#: .\cookbook\templates\space_overview.html:6
|
||||
msgid "Overview"
|
||||
msgstr ""
|
||||
msgstr "Resumo"
|
||||
|
||||
#: .\cookbook\templates\base.html:372
|
||||
msgid "Markdown Guide"
|
||||
msgstr ""
|
||||
msgstr "Guia de linguágem Markdown"
|
||||
|
||||
#: .\cookbook\templates\base.html:374
|
||||
msgid "GitHub"
|
||||
@@ -1057,11 +1073,11 @@ msgstr "Logout"
|
||||
|
||||
#: .\cookbook\templates\base.html:406
|
||||
msgid "You are using the free version of Tandor"
|
||||
msgstr ""
|
||||
msgstr "Você está utilizando a versão gratúita de Tandor"
|
||||
|
||||
#: .\cookbook\templates\base.html:407
|
||||
msgid "Upgrade Now"
|
||||
msgstr ""
|
||||
msgstr "Compre Já"
|
||||
|
||||
#: .\cookbook\templates\batch\edit.html:6
|
||||
msgid "Batch edit Category"
|
||||
@@ -1088,6 +1104,8 @@ msgid ""
|
||||
"On this Page you can manage all storage folder locations that should be "
|
||||
"monitored and synced."
|
||||
msgstr ""
|
||||
"Nessa página, você pode configurar todo os lugares de armazenamento que "
|
||||
"devem ser monitorados e sincronizados."
|
||||
|
||||
#: .\cookbook\templates\batch\monitor.html:16
|
||||
msgid "The path must be in the following format"
|
||||
@@ -1154,7 +1172,7 @@ msgstr "Tem certeza que deseja apagar %(title)s: <b>%(object)s</b> "
|
||||
|
||||
#: .\cookbook\templates\generic\delete_template.html:22
|
||||
msgid "This cannot be undone!"
|
||||
msgstr ""
|
||||
msgstr "Essa ação não pode ser desfeita!"
|
||||
|
||||
#: .\cookbook\templates\generic\delete_template.html:27
|
||||
msgid "Protected"
|
||||
@@ -1162,7 +1180,7 @@ msgstr "Protegido"
|
||||
|
||||
#: .\cookbook\templates\generic\delete_template.html:42
|
||||
msgid "Cascade"
|
||||
msgstr ""
|
||||
msgstr "Cascata"
|
||||
|
||||
#: .\cookbook\templates\generic\delete_template.html:73
|
||||
msgid "Cancel"
|
||||
@@ -1213,7 +1231,7 @@ msgstr "Mostrar Log"
|
||||
|
||||
#: .\cookbook\templates\history.html:24
|
||||
msgid "Cook Log"
|
||||
msgstr ""
|
||||
msgstr "Histórico de cocção"
|
||||
|
||||
#: .\cookbook\templates\import_response.html:7 .\cookbook\views\delete.py:90
|
||||
#: .\cookbook\views\edit.py:174
|
||||
@@ -1259,7 +1277,7 @@ msgstr "Último visualizado"
|
||||
|
||||
#: .\cookbook\templates\index.html:94
|
||||
msgid "Log in to view recipes"
|
||||
msgstr ""
|
||||
msgstr "Faça Login para ver as receitas"
|
||||
|
||||
#: .\cookbook\templates\markdown_info.html:5
|
||||
#: .\cookbook\templates\markdown_info.html:13
|
||||
@@ -1314,7 +1332,7 @@ msgstr "Este texto está em itálico"
|
||||
#: .\cookbook\templates\markdown_info.html:61
|
||||
#: .\cookbook\templates\markdown_info.html:77
|
||||
msgid "Blockquotes are also possible"
|
||||
msgstr ""
|
||||
msgstr "Citação em bloco também é permitido"
|
||||
|
||||
#: .\cookbook\templates\markdown_info.html:84
|
||||
msgid "Lists"
|
||||
@@ -1365,11 +1383,13 @@ msgid ""
|
||||
"Links can be formatted with Markdown. This application also allows to paste "
|
||||
"links directly into markdown fields without any formatting."
|
||||
msgstr ""
|
||||
"Os links podem ser formatadso com a linguaem Markdown. Essa aplicação também "
|
||||
"aceita links direto em Markdown, sem formatação."
|
||||
|
||||
#: .\cookbook\templates\markdown_info.html:132
|
||||
#: .\cookbook\templates\markdown_info.html:145
|
||||
msgid "This will become an image"
|
||||
msgstr ""
|
||||
msgstr "Isso se tornará uma imagem"
|
||||
|
||||
#: .\cookbook\templates\markdown_info.html:152
|
||||
msgid "Tables"
|
||||
@@ -1439,15 +1459,17 @@ msgid ""
|
||||
"The recipes listed below are available for offline viewing because you have "
|
||||
"recently viewed them. Keep in mind that data might be outdated."
|
||||
msgstr ""
|
||||
"As receitas abaixo estão disponíveis de forma offline pois você recentemente "
|
||||
"as visualizou. Tenha em mente que os dados podem estar ultrapassados."
|
||||
|
||||
#: .\cookbook\templates\openid\login.html:27
|
||||
#: .\cookbook\templates\socialaccount\authentication_error.html:27
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
msgstr "Voltar"
|
||||
|
||||
#: .\cookbook\templates\property_editor.html:7
|
||||
msgid "Property Editor"
|
||||
msgstr ""
|
||||
msgstr "Editor"
|
||||
|
||||
#: .\cookbook\templates\recipe_view.html:36
|
||||
msgid "Comments"
|
||||
@@ -1464,7 +1486,7 @@ msgstr "Comentário"
|
||||
|
||||
#: .\cookbook\templates\rest_framework\api.html:5
|
||||
msgid "Recipe Home"
|
||||
msgstr ""
|
||||
msgstr "Início - Receitas"
|
||||
|
||||
#: .\cookbook\templates\search_info.html:5
|
||||
#: .\cookbook\templates\search_info.html:9
|
||||
@@ -1627,7 +1649,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"There are many options to configure the search depending on your personal "
|
||||
"preferences."
|
||||
msgstr ""
|
||||
msgstr "Existem mutas opções de configurações para a busca."
|
||||
|
||||
#: .\cookbook\templates\settings.html:26
|
||||
msgid ""
|
||||
|
||||
@@ -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: 2023-04-27 08:55+0000\n"
|
||||
"Last-Translator: noxonad <noxonad@proton.me>\n"
|
||||
"PO-Revision-Date: 2025-02-16 14:58+0000\n"
|
||||
"Last-Translator: Cots Partier <cots.pastier.34@icloud.com>\n"
|
||||
"Language-Team: Romanian <http://translate.tandoor.dev/projects/tandoor/"
|
||||
"recipes-backend/ro/>\n"
|
||||
"Language: ro\n"
|
||||
@@ -18,7 +18,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
|
||||
"20)) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 4.15\n"
|
||||
"X-Generator: Weblate 5.8.4\n"
|
||||
|
||||
#: .\cookbook\forms.py:45
|
||||
msgid ""
|
||||
@@ -91,14 +91,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\">Token the acces</a> pentru instanța ta de HomeAssistant"
|
||||
|
||||
#: .\cookbook\forms.py:193
|
||||
msgid "Something like http://homeassistant.local:8123/api"
|
||||
msgstr ""
|
||||
msgstr "Asemănător cu http://homeassistant.local:8123/api"
|
||||
|
||||
#: .\cookbook\forms.py:205
|
||||
msgid "http://homeassistant.local:8123/api for example"
|
||||
msgstr ""
|
||||
msgstr "http://homeassistant.local:8123/api de exemplu"
|
||||
|
||||
#: .\cookbook\forms.py:222 .\cookbook\views\edit.py:117
|
||||
msgid "Storage"
|
||||
@@ -150,10 +152,6 @@ msgstr ""
|
||||
"multe greșeli de scriere sunt ignorate)."
|
||||
|
||||
#: .\cookbook\forms.py:340
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Select type method of search. Click <a href=\"/docs/search/\">here</a> "
|
||||
#| "for full desciption of choices."
|
||||
msgid ""
|
||||
"Select type method of search. Click <a href=\"/docs/search/\">here</a> for "
|
||||
"full description of choices."
|
||||
@@ -227,8 +225,6 @@ msgid "Partial Match"
|
||||
msgstr "Potrivire parțială"
|
||||
|
||||
#: .\cookbook\forms.py:350
|
||||
#, fuzzy
|
||||
#| msgid "Starts Wtih"
|
||||
msgid "Starts With"
|
||||
msgstr "Începe cu"
|
||||
|
||||
@@ -284,38 +280,36 @@ msgid "You have more users than allowed in your space."
|
||||
msgstr "Aveți mai mulți utilizatori decât este permis în spațiul dvs."
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:310
|
||||
#, fuzzy
|
||||
#| msgid "Use fractions"
|
||||
msgid "reverse rotation"
|
||||
msgstr "Utilizare fracții"
|
||||
msgstr "rotație inversă"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:311
|
||||
msgid "careful rotation"
|
||||
msgstr ""
|
||||
msgstr "rotire atentă"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:312
|
||||
msgid "knead"
|
||||
msgstr ""
|
||||
msgstr "frământă"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:313
|
||||
msgid "thicken"
|
||||
msgstr ""
|
||||
msgstr "se îngroașă"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:314
|
||||
msgid "warm up"
|
||||
msgstr ""
|
||||
msgstr "încălzire"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:315
|
||||
msgid "ferment"
|
||||
msgstr ""
|
||||
msgstr "ferment"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:316
|
||||
msgid "sous-vide"
|
||||
msgstr ""
|
||||
msgstr "sous-vide"
|
||||
|
||||
#: .\cookbook\helper\shopping_helper.py:150
|
||||
msgid "You must supply a servings size"
|
||||
msgstr ""
|
||||
msgstr "Trebuie să specificați dimensiunea porției"
|
||||
|
||||
#: .\cookbook\helper\template_helper.py:95
|
||||
#: .\cookbook\helper\template_helper.py:97
|
||||
@@ -325,11 +319,11 @@ msgstr "Nu s-a putut analiza codul șablonului."
|
||||
#: .\cookbook\integration\copymethat.py:44
|
||||
#: .\cookbook\integration\melarecipes.py:37
|
||||
msgid "Favorite"
|
||||
msgstr ""
|
||||
msgstr "Favorit"
|
||||
|
||||
#: .\cookbook\integration\copymethat.py:50
|
||||
msgid "I made this"
|
||||
msgstr ""
|
||||
msgstr "Am făcut acest lucru"
|
||||
|
||||
#: .\cookbook\integration\integration.py:209
|
||||
msgid ""
|
||||
@@ -357,10 +351,8 @@ msgid "Imported %s recipes."
|
||||
msgstr "%s rețete importate."
|
||||
|
||||
#: .\cookbook\integration\openeats.py:28
|
||||
#, fuzzy
|
||||
#| msgid "Recipe Home"
|
||||
msgid "Recipe source:"
|
||||
msgstr "Rețetă acasă"
|
||||
msgstr "Sursa rețetei:"
|
||||
|
||||
#: .\cookbook\integration\paprika.py:49
|
||||
msgid "Notes"
|
||||
@@ -376,10 +368,8 @@ msgstr "Sursă"
|
||||
|
||||
#: .\cookbook\integration\recettetek.py:54
|
||||
#: .\cookbook\integration\recipekeeper.py:70
|
||||
#, fuzzy
|
||||
#| msgid "Import Log"
|
||||
msgid "Imported from"
|
||||
msgstr "Jurnal de import"
|
||||
msgstr "Importat din"
|
||||
|
||||
#: .\cookbook\integration\saffron.py:23
|
||||
msgid "Servings"
|
||||
@@ -403,19 +393,17 @@ msgstr "Secțiune"
|
||||
|
||||
#: .\cookbook\management\commands\fix_duplicate_properties.py:15
|
||||
msgid "Fixes foods with "
|
||||
msgstr ""
|
||||
msgstr "Corectează alimentele cu "
|
||||
|
||||
#: .\cookbook\management\commands\rebuildindex.py:14
|
||||
msgid "Rebuilds full text search index on Recipe"
|
||||
msgstr "Reconstruiește indexul de căutare text complet pe rețetă"
|
||||
|
||||
#: .\cookbook\management\commands\rebuildindex.py:18
|
||||
#, fuzzy
|
||||
#| msgid "Only Postgress databases use full text search, no index to rebuild"
|
||||
msgid "Only Postgresql databases use full text search, no index to rebuild"
|
||||
msgstr ""
|
||||
"Numai bazele de date Postgress utilizează căutare text complet, nici un "
|
||||
"index de reconstruit"
|
||||
"Numai bazele de date Postgress utilizează ccăutarea textului integral, nici "
|
||||
"un index de reconstruit"
|
||||
|
||||
#: .\cookbook\management\commands\rebuildindex.py:29
|
||||
msgid "Recipe index rebuild complete."
|
||||
@@ -443,29 +431,29 @@ msgstr "Altele"
|
||||
|
||||
#: .\cookbook\migrations\0190_auto_20230525_1506.py:17
|
||||
msgid "Fat"
|
||||
msgstr ""
|
||||
msgstr "Grăsime"
|
||||
|
||||
#: .\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 "g"
|
||||
|
||||
#: .\cookbook\migrations\0190_auto_20230525_1506.py:18
|
||||
msgid "Carbohydrates"
|
||||
msgstr ""
|
||||
msgstr "Carbohidrați"
|
||||
|
||||
#: .\cookbook\migrations\0190_auto_20230525_1506.py:19
|
||||
msgid "Proteins"
|
||||
msgstr ""
|
||||
msgstr "Proteine"
|
||||
|
||||
#: .\cookbook\migrations\0190_auto_20230525_1506.py:20
|
||||
msgid "Calories"
|
||||
msgstr ""
|
||||
msgstr "Calorii"
|
||||
|
||||
#: .\cookbook\migrations\0190_auto_20230525_1506.py:20
|
||||
msgid "kcal"
|
||||
msgstr ""
|
||||
msgstr "kcal"
|
||||
|
||||
#: .\cookbook\models.py:325
|
||||
msgid ""
|
||||
@@ -500,24 +488,20 @@ msgid " is part of a recipe step and cannot be deleted"
|
||||
msgstr " face parte dintr-un pas de rețetă și nu poate fi șters"
|
||||
|
||||
#: .\cookbook\models.py:918
|
||||
#, fuzzy
|
||||
#| msgid "Automations"
|
||||
msgid "Nutrition"
|
||||
msgstr "Automatizări"
|
||||
msgstr "Nutriție"
|
||||
|
||||
#: .\cookbook\models.py:918
|
||||
#, fuzzy
|
||||
#| msgid "Merge"
|
||||
msgid "Allergen"
|
||||
msgstr "Unire"
|
||||
msgstr "Alergen"
|
||||
|
||||
#: .\cookbook\models.py:919
|
||||
msgid "Price"
|
||||
msgstr ""
|
||||
msgstr "Preț"
|
||||
|
||||
#: .\cookbook\models.py:919
|
||||
msgid "Goal"
|
||||
msgstr ""
|
||||
msgstr "Obiectiv"
|
||||
|
||||
#: .\cookbook\models.py:1408 .\cookbook\templates\search_info.html:28
|
||||
msgid "Simple"
|
||||
@@ -548,42 +532,32 @@ msgid "Keyword Alias"
|
||||
msgstr "Pseudonim cuvânt cheie"
|
||||
|
||||
#: .\cookbook\models.py:1470
|
||||
#, fuzzy
|
||||
#| msgid "Description"
|
||||
msgid "Description Replace"
|
||||
msgstr "Descriere"
|
||||
msgstr "Înlocuire Descriere"
|
||||
|
||||
#: .\cookbook\models.py:1471
|
||||
#, fuzzy
|
||||
#| msgid "Instructions"
|
||||
msgid "Instruction Replace"
|
||||
msgstr "Instrucțiuni"
|
||||
msgstr "Înlocuire Instrucțiuni"
|
||||
|
||||
#: .\cookbook\models.py:1472
|
||||
#, fuzzy
|
||||
#| msgid "Select Unit"
|
||||
msgid "Never Unit"
|
||||
msgstr "Selectare unitate"
|
||||
msgstr "Unitate nulă"
|
||||
|
||||
#: .\cookbook\models.py:1473
|
||||
msgid "Transpose Words"
|
||||
msgstr ""
|
||||
msgstr "Schimbă Ordinea Cuvintelor"
|
||||
|
||||
#: .\cookbook\models.py:1474
|
||||
#, fuzzy
|
||||
#| msgid "Food Alias"
|
||||
msgid "Food Replace"
|
||||
msgstr "Pseudonim produse alimentare"
|
||||
msgstr "Aliment echivalent"
|
||||
|
||||
#: .\cookbook\models.py:1475
|
||||
#, fuzzy
|
||||
#| msgid "Unit Alias"
|
||||
msgid "Unit Replace"
|
||||
msgstr "Pseudonim unități"
|
||||
msgstr "Unitate echivalentă"
|
||||
|
||||
#: .\cookbook\models.py:1476
|
||||
msgid "Name Replace"
|
||||
msgstr ""
|
||||
msgstr "Înlocuire Nume"
|
||||
|
||||
#: .\cookbook\models.py:1503 .\cookbook\views\delete.py:40
|
||||
#: .\cookbook\views\edit.py:210 .\cookbook\views\new.py:39
|
||||
@@ -591,10 +565,8 @@ msgid "Recipe"
|
||||
msgstr "Rețetă"
|
||||
|
||||
#: .\cookbook\models.py:1504
|
||||
#, fuzzy
|
||||
#| msgid "Foods"
|
||||
msgid "Food"
|
||||
msgstr "Alimente"
|
||||
msgstr "Mâncare"
|
||||
|
||||
#: .\cookbook\models.py:1505 .\cookbook\templates\base.html:149
|
||||
msgid "Keyword"
|
||||
@@ -610,7 +582,7 @@ msgstr "Ați atins limita de încărcare a fișierelor."
|
||||
|
||||
#: .\cookbook\serializer.py:328
|
||||
msgid "Cannot modify Space owner permission."
|
||||
msgstr ""
|
||||
msgstr "Nu se poate modifica permisiunea proprietarului spațiului."
|
||||
|
||||
#: .\cookbook\serializer.py:1270
|
||||
msgid "Hello"
|
||||
@@ -651,30 +623,35 @@ msgstr "Invitație Tandoor Recipes"
|
||||
|
||||
#: .\cookbook\serializer.py:1426
|
||||
msgid "Existing shopping list to update"
|
||||
msgstr ""
|
||||
msgstr "Lista de cumpărături existentă de actualizat"
|
||||
|
||||
#: .\cookbook\serializer.py:1428
|
||||
msgid ""
|
||||
"List of ingredient IDs from the recipe to add, if not provided all "
|
||||
"ingredients will be added."
|
||||
msgstr ""
|
||||
"ID-urile ingredientelor din rețetă pentru a fi adăugate, dacă nu sunt "
|
||||
"specificate toate ingrediente vor fi adăugate."
|
||||
|
||||
#: .\cookbook\serializer.py:1430
|
||||
msgid ""
|
||||
"Providing a list_recipe ID and servings of 0 will delete that shopping list."
|
||||
msgstr ""
|
||||
"Furnizarea unui ID de rețetă și un număr de porții egal cu 0 va șterge lista "
|
||||
"cumpărături."
|
||||
|
||||
#: .\cookbook\serializer.py:1439
|
||||
msgid "Amount of food to add to the shopping list"
|
||||
msgstr ""
|
||||
msgstr "Cantitatea de mâncare pentru a fi adăugată în lista cumpărături"
|
||||
|
||||
#: .\cookbook\serializer.py:1441
|
||||
msgid "ID of unit to use for the shopping list"
|
||||
msgstr ""
|
||||
msgstr "ID-ul unității pentru a fi utilizat în lista de cumpărături"
|
||||
|
||||
#: .\cookbook\serializer.py:1443
|
||||
msgid "When set to true will delete all food from active shopping lists."
|
||||
msgstr ""
|
||||
"Când este activ se șterge toată mâncarea din listele de cumpărături active."
|
||||
|
||||
#: .\cookbook\tables.py:69 .\cookbook\tables.py:83
|
||||
#: .\cookbook\templates\generic\delete_template.html:7
|
||||
@@ -1027,10 +1004,8 @@ msgstr "Istoric"
|
||||
#: .\cookbook\templates\base.html:263
|
||||
#: .\cookbook\templates\ingredient_editor.html:7
|
||||
#: .\cookbook\templates\ingredient_editor.html:13
|
||||
#, fuzzy
|
||||
#| msgid "Ingredients"
|
||||
msgid "Ingredient Editor"
|
||||
msgstr "Ingrediente"
|
||||
msgstr "Editor de Ingrediente"
|
||||
|
||||
#: .\cookbook\templates\base.html:275
|
||||
#: .\cookbook\templates\export_response.html:7
|
||||
@@ -1040,13 +1015,11 @@ msgstr "Exportă"
|
||||
|
||||
#: .\cookbook\templates\base.html:287
|
||||
msgid "Properties"
|
||||
msgstr ""
|
||||
msgstr "Atribute"
|
||||
|
||||
#: .\cookbook\templates\base.html:301 .\cookbook\views\lists.py:255
|
||||
#, fuzzy
|
||||
#| msgid "Account Connections"
|
||||
msgid "Unit Conversions"
|
||||
msgstr "Conexiuni de cont"
|
||||
msgstr "Conversii de unități"
|
||||
|
||||
#: .\cookbook\templates\base.html:318 .\cookbook\templates\index.html:47
|
||||
msgid "Import Recipe"
|
||||
@@ -1066,10 +1039,8 @@ msgid "Space Settings"
|
||||
msgstr "Setări spațiu"
|
||||
|
||||
#: .\cookbook\templates\base.html:340
|
||||
#, fuzzy
|
||||
#| msgid "External Recipes"
|
||||
msgid "External Connectors"
|
||||
msgstr "Rețete externe"
|
||||
msgstr "Conectori externi"
|
||||
|
||||
#: .\cookbook\templates\base.html:345 .\cookbook\templates\system.html:13
|
||||
msgid "System"
|
||||
@@ -1081,15 +1052,13 @@ msgstr "Admin"
|
||||
|
||||
#: .\cookbook\templates\base.html:351
|
||||
#: .\cookbook\templates\space_overview.html:25
|
||||
#, fuzzy
|
||||
#| msgid "No Space"
|
||||
msgid "Your Spaces"
|
||||
msgstr "Fără spațiu"
|
||||
msgstr "Spațiul tău"
|
||||
|
||||
#: .\cookbook\templates\base.html:362
|
||||
#: .\cookbook\templates\space_overview.html:6
|
||||
msgid "Overview"
|
||||
msgstr ""
|
||||
msgstr "Sumar"
|
||||
|
||||
#: .\cookbook\templates\base.html:372
|
||||
msgid "Markdown Guide"
|
||||
@@ -1113,11 +1082,11 @@ msgstr "Deconectare"
|
||||
|
||||
#: .\cookbook\templates\base.html:406
|
||||
msgid "You are using the free version of Tandor"
|
||||
msgstr ""
|
||||
msgstr "Utilizați o versiune gratuită de Tandor"
|
||||
|
||||
#: .\cookbook\templates\base.html:407
|
||||
msgid "Upgrade Now"
|
||||
msgstr ""
|
||||
msgstr "Actualizează acum"
|
||||
|
||||
#: .\cookbook\templates\batch\edit.html:6
|
||||
msgid "Batch edit Category"
|
||||
@@ -1213,7 +1182,7 @@ msgstr "Sunteți sigur că doriți să ștergeți %(title)s: <b>%(object)s</b> "
|
||||
|
||||
#: .\cookbook\templates\generic\delete_template.html:22
|
||||
msgid "This cannot be undone!"
|
||||
msgstr ""
|
||||
msgstr "Este ireversibil!"
|
||||
|
||||
#: .\cookbook\templates\generic\delete_template.html:27
|
||||
msgid "Protected"
|
||||
@@ -1230,7 +1199,7 @@ msgstr "Anulare"
|
||||
#: .\cookbook\templates\generic\edit_template.html:6
|
||||
#: .\cookbook\templates\generic\edit_template.html:14
|
||||
msgid "Edit"
|
||||
msgstr "Editare"
|
||||
msgstr "Editează"
|
||||
|
||||
#: .\cookbook\templates\generic\edit_template.html:32
|
||||
msgid "View"
|
||||
@@ -1379,8 +1348,6 @@ msgstr ""
|
||||
|
||||
#: .\cookbook\templates\markdown_info.html:57
|
||||
#: .\cookbook\templates\markdown_info.html:73
|
||||
#, fuzzy
|
||||
#| msgid "or by leaving a blank line inbetween."
|
||||
msgid "or by leaving a blank line in between."
|
||||
msgstr "sau lăsând o linie goală între ele."
|
||||
|
||||
@@ -1404,10 +1371,6 @@ msgid "Lists"
|
||||
msgstr "Liste"
|
||||
|
||||
#: .\cookbook\templates\markdown_info.html:85
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Lists can ordered or unorderd. It is <b>important to leave a blank line "
|
||||
#| "before the list!</b>"
|
||||
msgid ""
|
||||
"Lists can ordered or unordered. It is <b>important to leave a blank line "
|
||||
"before the list!</b>"
|
||||
@@ -1539,11 +1502,11 @@ msgstr ""
|
||||
#: .\cookbook\templates\openid\login.html:27
|
||||
#: .\cookbook\templates\socialaccount\authentication_error.html:27
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
msgstr "Înapoi"
|
||||
|
||||
#: .\cookbook\templates\property_editor.html:7
|
||||
msgid "Property Editor"
|
||||
msgstr ""
|
||||
msgstr "Editor atribute"
|
||||
|
||||
#: .\cookbook\templates\recipe_view.html:36
|
||||
msgid "Comments"
|
||||
@@ -1620,15 +1583,6 @@ msgstr ""
|
||||
" "
|
||||
|
||||
#: .\cookbook\templates\search_info.html:29
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| " \n"
|
||||
#| " Simple searches ignore punctuation and common words such as "
|
||||
#| "'the', 'a', 'and'. And will treat seperate words as required.\n"
|
||||
#| " Searching for 'apple or flour' will return any recipe that "
|
||||
#| "includes both 'apple' and 'flour' anywhere in the fields that have been "
|
||||
#| "selected for a full text search.\n"
|
||||
#| " "
|
||||
msgid ""
|
||||
" \n"
|
||||
" Simple searches ignore punctuation and common words such as "
|
||||
@@ -1666,23 +1620,6 @@ msgstr ""
|
||||
" "
|
||||
|
||||
#: .\cookbook\templates\search_info.html:39
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| " \n"
|
||||
#| " Web searches simulate functionality found on many web search "
|
||||
#| "sites supporting special syntax.\n"
|
||||
#| " Placing quotes around several words will convert those words "
|
||||
#| "into a phrase.\n"
|
||||
#| " 'or' is recongized as searching for the word (or phrase) "
|
||||
#| "immediately before 'or' OR the word (or phrase) directly after.\n"
|
||||
#| " '-' is recognized as searching for recipes that do not "
|
||||
#| "include the word (or phrase) that comes immediately after. \n"
|
||||
#| " For example searching for 'apple pie' or cherry -butter will "
|
||||
#| "return any recipe that includes the phrase 'apple pie' or the word "
|
||||
#| "'cherry' \n"
|
||||
#| " in any field included in the full text search but exclude any "
|
||||
#| "recipe that has the word 'butter' in any field included.\n"
|
||||
#| " "
|
||||
msgid ""
|
||||
" \n"
|
||||
" Web searches simulate functionality found on many web search "
|
||||
@@ -1705,8 +1642,8 @@ msgstr ""
|
||||
"uri de căutare web care acceptă sintaxa specială.\n"
|
||||
" Plasarea ghilimelelor în jurul mai multor cuvinte va converti "
|
||||
"aceste cuvinte într-o frază.\n"
|
||||
" 'sau' este recunoscut pentru căutarea pentru cuvântul (sau "
|
||||
"fraza) imediat înainte de 'sau' SAU cuvântul (sau fraza) direct după.\n"
|
||||
" 'sau' este recunoscut pentru căutarea pentru cuvântul (sau fraza)"
|
||||
" imediat înainte de 'sau' SAU cuvântul (sau fraza) direct după.\n"
|
||||
" '-' este recunoscut pentru căutarea rețetelor care nu includ "
|
||||
"cuvântul (sau fraza) care vine imediat după. \n"
|
||||
" De exemplu, căutarea 'plăcintei cu mere' sau a untului de cireșe "
|
||||
@@ -1729,19 +1666,6 @@ msgstr ""
|
||||
" "
|
||||
|
||||
#: .\cookbook\templates\search_info.html:59
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| " \n"
|
||||
#| " Another approach to searching that also requires Postgresql "
|
||||
#| "is fuzzy search or trigram similarity. A trigram is a group of three "
|
||||
#| "consecutive characters.\n"
|
||||
#| " For example searching for 'apple' will create x trigrams "
|
||||
#| "'app', 'ppl', 'ple' and will create a score of how closely words match "
|
||||
#| "the generated trigrams.\n"
|
||||
#| " One benefit of searching trigams is that a search for "
|
||||
#| "'sandwich' will find mispelled words such as 'sandwhich' that would be "
|
||||
#| "missed by other methods.\n"
|
||||
#| " "
|
||||
msgid ""
|
||||
" \n"
|
||||
" Another approach to searching that also requires Postgresql is "
|
||||
@@ -1948,17 +1872,15 @@ msgstr "Creează cont superuser"
|
||||
|
||||
#: .\cookbook\templates\socialaccount\authentication_error.html:7
|
||||
#: .\cookbook\templates\socialaccount\authentication_error.html:23
|
||||
#, fuzzy
|
||||
#| msgid "Social Login"
|
||||
msgid "Social Network Login Failure"
|
||||
msgstr "Autentificare utilizând rețeaua socială"
|
||||
msgstr "Eșec la conectarea la rețeaua socială"
|
||||
|
||||
#: .\cookbook\templates\socialaccount\authentication_error.html:25
|
||||
#, fuzzy
|
||||
#| msgid "An error occurred attempting to move "
|
||||
msgid ""
|
||||
"An error occurred while attempting to login via your social network account."
|
||||
msgstr "A apărut o eroare la încercarea de a muta "
|
||||
msgstr ""
|
||||
"S-a produs o eroare în timp ce se încearca autentificarea prin contul tău de "
|
||||
"rețea socială."
|
||||
|
||||
#: .\cookbook\templates\socialaccount\connections.html:4
|
||||
#: .\cookbook\templates\socialaccount\connections.html:15
|
||||
@@ -1994,17 +1916,18 @@ msgstr "Înregistrare"
|
||||
#: .\cookbook\templates\socialaccount\login.html:9
|
||||
#, python-format
|
||||
msgid "Connect %(provider)s"
|
||||
msgstr ""
|
||||
msgstr "Conectează %(provider)s"
|
||||
|
||||
#: .\cookbook\templates\socialaccount\login.html:11
|
||||
#, python-format
|
||||
msgid "You are about to connect a new third party account from %(provider)s."
|
||||
msgstr ""
|
||||
"Sunteți pe cale să conectați un nou cont de terță parte din %(provider)s."
|
||||
|
||||
#: .\cookbook\templates\socialaccount\login.html:13
|
||||
#, python-format
|
||||
msgid "Sign In Via %(provider)s"
|
||||
msgstr ""
|
||||
msgstr "Intră în cont prin %(provider)s"
|
||||
|
||||
#: .\cookbook\templates\socialaccount\login.html:15
|
||||
#, python-format
|
||||
@@ -2013,7 +1936,7 @@ msgstr ""
|
||||
|
||||
#: .\cookbook\templates\socialaccount\login.html:20
|
||||
msgid "Continue"
|
||||
msgstr ""
|
||||
msgstr "Continuă"
|
||||
|
||||
#: .\cookbook\templates\socialaccount\signup.html:10
|
||||
#, python-format
|
||||
@@ -2046,7 +1969,7 @@ msgstr "Conectați-vă utilizând"
|
||||
|
||||
#: .\cookbook\templates\space_manage.html:7
|
||||
msgid "Space Management"
|
||||
msgstr ""
|
||||
msgstr "Managementul spațiului"
|
||||
|
||||
#: .\cookbook\templates\space_manage.html:26
|
||||
msgid "Space:"
|
||||
@@ -2057,10 +1980,8 @@ msgid "Manage Subscription"
|
||||
msgstr "Gestionarea abonamentului"
|
||||
|
||||
#: .\cookbook\templates\space_overview.html:13 .\cookbook\views\delete.py:184
|
||||
#, fuzzy
|
||||
#| msgid "Space:"
|
||||
msgid "Space"
|
||||
msgstr "Spațiu:"
|
||||
msgstr "Spațiu"
|
||||
|
||||
#: .\cookbook\templates\space_overview.html:17
|
||||
msgid ""
|
||||
@@ -2078,13 +1999,11 @@ msgstr ""
|
||||
|
||||
#: .\cookbook\templates\space_overview.html:53
|
||||
msgid "Owner"
|
||||
msgstr ""
|
||||
msgstr "Proprietar"
|
||||
|
||||
#: .\cookbook\templates\space_overview.html:57
|
||||
#, fuzzy
|
||||
#| msgid "Create Space"
|
||||
msgid "Leave Space"
|
||||
msgstr "Creare spațiu"
|
||||
msgstr "Părăsire spațiu"
|
||||
|
||||
#: .\cookbook\templates\space_overview.html:78
|
||||
#: .\cookbook\templates\space_overview.html:88
|
||||
@@ -2147,6 +2066,11 @@ msgid ""
|
||||
"script to generate version information (done automatically in docker).\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Trebuie să executați <code>version.py</code> în scripturile de "
|
||||
"actualizare pentru a genera informații despre versiune (realizate automat în "
|
||||
"docker).\n"
|
||||
" "
|
||||
|
||||
#: .\cookbook\templates\system.html:46
|
||||
msgid "Media Serving"
|
||||
@@ -2237,7 +2161,7 @@ msgstr ""
|
||||
|
||||
#: .\cookbook\templates\system.html:86
|
||||
msgid "Allowed Hosts"
|
||||
msgstr ""
|
||||
msgstr "Domenii Permise"
|
||||
|
||||
#: .\cookbook\templates\system.html:90
|
||||
msgid ""
|
||||
@@ -2257,10 +2181,8 @@ msgid "Info"
|
||||
msgstr "Informație"
|
||||
|
||||
#: .\cookbook\templates\system.html:110 .\cookbook\templates\system.html:127
|
||||
#, fuzzy
|
||||
#| msgid "Use fractions"
|
||||
msgid "Migrations"
|
||||
msgstr "Utilizare fracții"
|
||||
msgstr "Migrări"
|
||||
|
||||
#: .\cookbook\templates\system.html:116
|
||||
msgid ""
|
||||
@@ -2276,19 +2198,17 @@ msgstr ""
|
||||
|
||||
#: .\cookbook\templates\system.html:182
|
||||
msgid "False"
|
||||
msgstr ""
|
||||
msgstr "Fals"
|
||||
|
||||
#: .\cookbook\templates\system.html:182
|
||||
msgid "True"
|
||||
msgstr ""
|
||||
msgstr "Adevărat"
|
||||
|
||||
#: .\cookbook\templates\system.html:207
|
||||
msgid "Hide"
|
||||
msgstr ""
|
||||
msgstr "Ascunde"
|
||||
|
||||
#: .\cookbook\templates\system.html:210
|
||||
#, fuzzy
|
||||
#| msgid "Show Log"
|
||||
msgid "Show"
|
||||
msgstr "Afișare jurnal"
|
||||
|
||||
@@ -2355,29 +2275,34 @@ msgstr "{child.name} a fost mutat cu succes la părintele {parent.name}"
|
||||
#: .\cookbook\views\api.py:589
|
||||
#, python-brace-format
|
||||
msgid "{obj.name} was removed from the shopping list."
|
||||
msgstr ""
|
||||
msgstr "{obj.name} a fost șters din lista de cumpărături."
|
||||
|
||||
#: .\cookbook\views\api.py:594 .\cookbook\views\api.py:1037
|
||||
#: .\cookbook\views\api.py:1050
|
||||
#, python-brace-format
|
||||
msgid "{obj.name} was added to the shopping list."
|
||||
msgstr ""
|
||||
msgstr "{obj.name} a fost adăugat la lista de cumpărături."
|
||||
|
||||
#: .\cookbook\views\api.py:742
|
||||
msgid "Filter meal plans from date (inclusive) in the format of YYYY-MM-DD."
|
||||
msgstr ""
|
||||
msgstr "Filtrează planurile de masă din data (inclusiv) în formatul AAAA-LL-ZZ."
|
||||
|
||||
#: .\cookbook\views\api.py:743
|
||||
msgid "Filter meal plans to date (inclusive) in the format of YYYY-MM-DD."
|
||||
msgstr ""
|
||||
"Filtrează planurile de masă până la data (inclusiv) în formatul AAAA-LL-ZZ."
|
||||
|
||||
#: .\cookbook\views\api.py:744
|
||||
msgid "Filter meal plans with MealType ID. For multiple repeat parameter."
|
||||
msgstr ""
|
||||
"Filtrează planurile de masă cu ID-ul tipului de rețetă. Pentru mai multe "
|
||||
"repetă parametrul."
|
||||
|
||||
#: .\cookbook\views\api.py:872
|
||||
msgid "ID of recipe a step is part of. For multiple repeat parameter."
|
||||
msgstr ""
|
||||
"ID-ul rețetei din care face pasul face parte. Pentru mai multe repetă "
|
||||
"parametrul."
|
||||
|
||||
#: .\cookbook\views\api.py:873
|
||||
msgid "Query string matched (fuzzy) against object name."
|
||||
@@ -2555,8 +2480,6 @@ msgid "Bad URL Schema."
|
||||
msgstr ""
|
||||
|
||||
#: .\cookbook\views\api.py:1474
|
||||
#, fuzzy
|
||||
#| msgid "No useable data could be found."
|
||||
msgid "No usable data could be found."
|
||||
msgstr "Nu au putut fi găsite date utilizabile."
|
||||
|
||||
@@ -2611,20 +2534,16 @@ msgstr ""
|
||||
"puțin un supervizor."
|
||||
|
||||
#: .\cookbook\views\delete.py:135
|
||||
#, fuzzy
|
||||
#| msgid "Storage Backend"
|
||||
msgid "Connectors Config Backend"
|
||||
msgstr "Backend de stocare"
|
||||
msgstr "Configurare Backend Conectori"
|
||||
|
||||
#: .\cookbook\views\delete.py:157
|
||||
msgid "Invite Link"
|
||||
msgstr "Link de invitare"
|
||||
|
||||
#: .\cookbook\views\delete.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Members"
|
||||
msgid "Space Membership"
|
||||
msgstr "Membri"
|
||||
msgstr "Membri spațiu"
|
||||
|
||||
#: .\cookbook\views\edit.py:84
|
||||
msgid "You cannot edit this storage!"
|
||||
@@ -2639,10 +2558,8 @@ msgid "There was an error updating this storage backend!"
|
||||
msgstr "A existat o eroare la actualizarea acestui backend de stocare!"
|
||||
|
||||
#: .\cookbook\views\edit.py:134
|
||||
#, fuzzy
|
||||
#| msgid "Changes saved!"
|
||||
msgid "Config saved!"
|
||||
msgstr "Modificări salvate!"
|
||||
msgstr "Configurare salvată!"
|
||||
|
||||
#: .\cookbook\views\edit.py:142
|
||||
msgid "ConnectorConfig"
|
||||
@@ -2675,10 +2592,8 @@ msgid "Shopping List"
|
||||
msgstr "Listă de cumpărături"
|
||||
|
||||
#: .\cookbook\views\lists.py:77 .\cookbook\views\new.py:98
|
||||
#, fuzzy
|
||||
#| msgid "Storage Backend"
|
||||
msgid "Connector Config Backend"
|
||||
msgstr "Backend de stocare"
|
||||
msgstr "Configurare Backend pentru Conector"
|
||||
|
||||
#: .\cookbook\views\lists.py:91
|
||||
msgid "Invite Links"
|
||||
@@ -2693,10 +2608,8 @@ msgid "Shopping Categories"
|
||||
msgstr "Categorii de cumpărături"
|
||||
|
||||
#: .\cookbook\views\lists.py:202
|
||||
#, fuzzy
|
||||
#| msgid "Filter"
|
||||
msgid "Custom Filters"
|
||||
msgstr "Filtru"
|
||||
msgstr "Filtre Personalizate"
|
||||
|
||||
#: .\cookbook\views\lists.py:239
|
||||
msgid "Steps"
|
||||
@@ -2707,10 +2620,8 @@ msgid "Property Types"
|
||||
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 "Această funcție nu este disponibilă în versiunea demo!"
|
||||
msgstr "Această funcție nu a fost activată de către administrator!"
|
||||
|
||||
#: .\cookbook\views\new.py:123
|
||||
msgid "Imported new recipe!"
|
||||
@@ -2726,11 +2637,9 @@ msgid "This feature is not available in the demo version!"
|
||||
msgstr "Această funcție nu este disponibilă în versiunea demo!"
|
||||
|
||||
#: .\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 "Ai ajuns la numărul maxim de rețete pentru spațiul dvs."
|
||||
msgstr "Ai ajuns la numărul maxim de spații pe care le poți deține."
|
||||
|
||||
#: .\cookbook\views\views.py:89
|
||||
msgid ""
|
||||
@@ -2779,29 +2688,15 @@ msgid "Unable to determine PostgreSQL version."
|
||||
msgstr ""
|
||||
|
||||
#: .\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"
|
||||
" Această aplicație nu se execută cu un backend de bază de date "
|
||||
"Postgres. Acest lucru este ok, dar nu este recomandat deoarece unele\n"
|
||||
" caracteristicile funcționează numai cu baze de date Postgres.\n"
|
||||
" "
|
||||
"Această aplicație nu se execută cu un backend de bază de date Postgres. "
|
||||
"Acest lucru este ok, dar nu este recomandat deoarece unele caracteristicile "
|
||||
"funcționează numai cu baze de date Postgres."
|
||||
|
||||
#: .\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 "
|
||||
@@ -2852,10 +2747,8 @@ msgid "Manage recipes, shopping list, meal plans and more."
|
||||
msgstr ""
|
||||
|
||||
#: .\cookbook\views\views.py:458
|
||||
#, fuzzy
|
||||
#| msgid "Meal-Plan"
|
||||
msgid "Plan"
|
||||
msgstr "Plan de alimentare"
|
||||
msgstr "Plan"
|
||||
|
||||
#: .\cookbook\views\views.py:458
|
||||
msgid "View your meal Plan"
|
||||
@@ -2863,13 +2756,11 @@ msgstr ""
|
||||
|
||||
#: .\cookbook\views\views.py:459
|
||||
msgid "View your cookbooks"
|
||||
msgstr ""
|
||||
msgstr "Vizualizează cărțile de bucate"
|
||||
|
||||
#: .\cookbook\views\views.py:460
|
||||
#, fuzzy
|
||||
#| msgid "New Shopping List"
|
||||
msgid "View your shopping lists"
|
||||
msgstr "Listă de cumpărături nouă"
|
||||
msgstr "Vezi listele de cumpărături"
|
||||
|
||||
#~ msgid "Default unit"
|
||||
#~ msgstr "Unitate implicită"
|
||||
|
||||
@@ -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-09-17 11:58+0000\n"
|
||||
"Last-Translator: Bebbe K <kajolekk91@gmail.com>\n"
|
||||
"PO-Revision-Date: 2025-02-07 08:58+0000\n"
|
||||
"Last-Translator: Mattias G <mattias.granlund@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.6.2\n"
|
||||
"X-Generator: Weblate 5.8.4\n"
|
||||
|
||||
#: .\cookbook\forms.py:45
|
||||
msgid ""
|
||||
@@ -549,7 +549,7 @@ msgstr "Ersätt Enhet"
|
||||
|
||||
#: .\cookbook\models.py:1476
|
||||
msgid "Name Replace"
|
||||
msgstr ""
|
||||
msgstr "Ersättningsnamn"
|
||||
|
||||
#: .\cookbook\models.py:1503 .\cookbook\views\delete.py:40
|
||||
#: .\cookbook\views\edit.py:210 .\cookbook\views\new.py:39
|
||||
@@ -566,15 +566,15 @@ msgstr "Nyckelord"
|
||||
|
||||
#: .\cookbook\serializer.py:222
|
||||
msgid "File uploads are not enabled for this Space."
|
||||
msgstr ""
|
||||
msgstr "Filuppladdning är inte aktiverat för det här utrymmet."
|
||||
|
||||
#: .\cookbook\serializer.py:233
|
||||
msgid "You have reached your file upload limit."
|
||||
msgstr ""
|
||||
msgstr "Du har nått din maxgräns för uppladdningar."
|
||||
|
||||
#: .\cookbook\serializer.py:328
|
||||
msgid "Cannot modify Space owner permission."
|
||||
msgstr ""
|
||||
msgstr "Kan inte modifiera utrymmets ägar-rättigheter."
|
||||
|
||||
#: .\cookbook\serializer.py:1270
|
||||
msgid "Hello"
|
||||
@@ -582,56 +582,61 @@ msgstr "Hej"
|
||||
|
||||
#: .\cookbook\serializer.py:1270
|
||||
msgid "You have been invited by "
|
||||
msgstr ""
|
||||
msgstr "Du har bjudits in av "
|
||||
|
||||
#: .\cookbook\serializer.py:1272
|
||||
msgid " to join their Tandoor Recipes space "
|
||||
msgstr ""
|
||||
msgstr " för att ansluta till deras Tandoor recept utrymme "
|
||||
|
||||
#: .\cookbook\serializer.py:1274
|
||||
msgid "Click the following link to activate your account: "
|
||||
msgstr ""
|
||||
msgstr "Klicka på länken för att aktivera ditt konto: "
|
||||
|
||||
#: .\cookbook\serializer.py:1276
|
||||
msgid ""
|
||||
"If the link does not work use the following code to manually join the space: "
|
||||
msgstr ""
|
||||
"Om länken inte fungerar kan du testa följande kod för att manuellt aktivera "
|
||||
"ditt utrymme: "
|
||||
|
||||
#: .\cookbook\serializer.py:1278
|
||||
msgid "The invitation is valid until "
|
||||
msgstr ""
|
||||
msgstr "Inbjudningen är giltig till "
|
||||
|
||||
#: .\cookbook\serializer.py:1280
|
||||
msgid ""
|
||||
"Tandoor Recipes is an Open Source recipe manager. Check it out on GitHub "
|
||||
msgstr ""
|
||||
"Tandoor recept är en recept-hanterar med öppen källkod. Se mer på GitHub "
|
||||
|
||||
#: .\cookbook\serializer.py:1283
|
||||
msgid "Tandoor Recipes Invite"
|
||||
msgstr ""
|
||||
msgstr "Tandoor recept inbjudan"
|
||||
|
||||
#: .\cookbook\serializer.py:1426
|
||||
msgid "Existing shopping list to update"
|
||||
msgstr ""
|
||||
msgstr "Existerande inköpslistor att uppdatera"
|
||||
|
||||
#: .\cookbook\serializer.py:1428
|
||||
msgid ""
|
||||
"List of ingredient IDs from the recipe to add, if not provided all "
|
||||
"ingredients will be added."
|
||||
msgstr ""
|
||||
"Lista med ingrediens ID:n från receptet att lägga till, om inget angetts "
|
||||
"kommer alla ingredienser bli tillagda."
|
||||
|
||||
#: .\cookbook\serializer.py:1430
|
||||
msgid ""
|
||||
"Providing a list_recipe ID and servings of 0 will delete that shopping list."
|
||||
msgstr ""
|
||||
msgstr "Anges ett list_recept ID och 0 portioner kommer den listan raderas."
|
||||
|
||||
#: .\cookbook\serializer.py:1439
|
||||
msgid "Amount of food to add to the shopping list"
|
||||
msgstr ""
|
||||
msgstr "Mängd av ingrediens att lägga till på inköpslistan"
|
||||
|
||||
#: .\cookbook\serializer.py:1441
|
||||
msgid "ID of unit to use for the shopping list"
|
||||
msgstr ""
|
||||
msgstr "ID eller enhet att använda för inköpslistan"
|
||||
|
||||
#: .\cookbook\serializer.py:1443
|
||||
msgid "When set to true will delete all food from active shopping lists."
|
||||
@@ -681,7 +686,7 @@ msgstr "Email"
|
||||
|
||||
#: .\cookbook\templates\account\email.html:19
|
||||
msgid "The following e-mail addresses are associated with your account:"
|
||||
msgstr ""
|
||||
msgstr "Följande epost-addresser är associerade med ditt konto:"
|
||||
|
||||
#: .\cookbook\templates\account\email.html:36
|
||||
msgid "Verified"
|
||||
@@ -696,14 +701,12 @@ msgid "Primary"
|
||||
msgstr "Primär"
|
||||
|
||||
#: .\cookbook\templates\account\email.html:47
|
||||
#, fuzzy
|
||||
#| msgid "Make Header"
|
||||
msgid "Make Primary"
|
||||
msgstr "Skapa titel"
|
||||
msgstr "Markera som primär"
|
||||
|
||||
#: .\cookbook\templates\account\email.html:49
|
||||
msgid "Re-send Verification"
|
||||
msgstr ""
|
||||
msgstr "Sänd verifikationen igen"
|
||||
|
||||
#: .\cookbook\templates\account\email.html:50
|
||||
#: .\cookbook\templates\generic\delete_template.html:57
|
||||
|
||||
@@ -11,8 +11,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-07-03 16:38+0000\n"
|
||||
"Last-Translator: Taylan TATLI <uyelik-tandoor@tatli.me>\n"
|
||||
"PO-Revision-Date: 2025-01-20 05:20+0000\n"
|
||||
"Last-Translator: Yigit <yigit.gungor@outlook.com>\n"
|
||||
"Language-Team: Turkish <http://translate.tandoor.dev/projects/tandoor/"
|
||||
"recipes-backend/tr/>\n"
|
||||
"Language: tr\n"
|
||||
@@ -20,7 +20,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.8.4\n"
|
||||
|
||||
#: .\cookbook\forms.py:45
|
||||
msgid ""
|
||||
@@ -199,7 +199,7 @@ msgstr ""
|
||||
|
||||
#: .\cookbook\forms.py:350
|
||||
msgid "Search Method"
|
||||
msgstr ""
|
||||
msgstr "Arama Metodu"
|
||||
|
||||
#: .\cookbook\forms.py:350
|
||||
msgid "Fuzzy Lookups"
|
||||
@@ -207,15 +207,15 @@ msgstr ""
|
||||
|
||||
#: .\cookbook\forms.py:350
|
||||
msgid "Ignore Accent"
|
||||
msgstr ""
|
||||
msgstr "Harflerdeki Vurguları Görmezden Gel"
|
||||
|
||||
#: .\cookbook\forms.py:350
|
||||
msgid "Partial Match"
|
||||
msgstr ""
|
||||
msgstr "Kısmi Eşleşme"
|
||||
|
||||
#: .\cookbook\forms.py:350
|
||||
msgid "Starts With"
|
||||
msgstr ""
|
||||
msgstr "İle başlayan"
|
||||
|
||||
#: .\cookbook\forms.py:351
|
||||
msgid "Fuzzy Search"
|
||||
@@ -223,18 +223,20 @@ msgstr ""
|
||||
|
||||
#: .\cookbook\forms.py:351
|
||||
msgid "Full Text"
|
||||
msgstr ""
|
||||
msgstr "Tam Metin"
|
||||
|
||||
#: .\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 ""
|
||||
"İstenmeyen e-postayı önlemek için istenen e-posta gönderilemedi. Lütfen "
|
||||
"birkaç dakika bekleyin ve tekrar deneyin."
|
||||
|
||||
#: .\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 "Giriş yapmadınız ve bu nedenle bu sayfayı görüntüleyemezsiniz!"
|
||||
|
||||
#: .\cookbook\helper\permission_helper.py:168
|
||||
#: .\cookbook\helper\permission_helper.py:174
|
||||
@@ -247,68 +249,68 @@ 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 "Bu sayfayı görüntülemek için gerekli izinlere sahip değilsiniz!"
|
||||
|
||||
#: .\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 "Bu nesne size ait olmadığı için onunla etkileşime giremezsiniz!"
|
||||
|
||||
#: .\cookbook\helper\permission_helper.py:402
|
||||
msgid "You have reached the maximum number of recipes for your space."
|
||||
msgstr ""
|
||||
msgstr "Alanınız için maksimum tarif sayısına ulaştınız."
|
||||
|
||||
#: .\cookbook\helper\permission_helper.py:414
|
||||
msgid "You have more users than allowed in your space."
|
||||
msgstr ""
|
||||
msgstr "Alanınızda izin verilenden daha fazla kullanıcı var."
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:310
|
||||
msgid "reverse rotation"
|
||||
msgstr ""
|
||||
msgstr "ters dönüş"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:311
|
||||
msgid "careful rotation"
|
||||
msgstr ""
|
||||
msgstr "dikkatli dönüş"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:312
|
||||
msgid "knead"
|
||||
msgstr ""
|
||||
msgstr "yoğur"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:313
|
||||
msgid "thicken"
|
||||
msgstr ""
|
||||
msgstr "kalınlaştır"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:314
|
||||
msgid "warm up"
|
||||
msgstr ""
|
||||
msgstr "ısıt"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:315
|
||||
msgid "ferment"
|
||||
msgstr ""
|
||||
msgstr "mayala"
|
||||
|
||||
#: .\cookbook\helper\recipe_url_import.py:316
|
||||
msgid "sous-vide"
|
||||
msgstr ""
|
||||
msgstr "sous-vide"
|
||||
|
||||
#: .\cookbook\helper\shopping_helper.py:150
|
||||
msgid "You must supply a servings size"
|
||||
msgstr ""
|
||||
msgstr "Bir porsiyon büyüklüğü vermelisiniz"
|
||||
|
||||
#: .\cookbook\helper\template_helper.py:95
|
||||
#: .\cookbook\helper\template_helper.py:97
|
||||
msgid "Could not parse template code."
|
||||
msgstr ""
|
||||
msgstr "Şablon kodu ayrıştırılamadı."
|
||||
|
||||
#: .\cookbook\integration\copymethat.py:44
|
||||
#: .\cookbook\integration\melarecipes.py:37
|
||||
msgid "Favorite"
|
||||
msgstr ""
|
||||
msgstr "Favori"
|
||||
|
||||
#: .\cookbook\integration\copymethat.py:50
|
||||
msgid "I made this"
|
||||
msgstr ""
|
||||
msgstr "Bunu yaptım"
|
||||
|
||||
#: .\cookbook\integration\integration.py:209
|
||||
msgid ""
|
||||
@@ -324,28 +326,28 @@ msgstr ""
|
||||
|
||||
#: .\cookbook\integration\integration.py:217
|
||||
msgid "The following recipes were ignored because they already existed:"
|
||||
msgstr ""
|
||||
msgstr "Aşağıdaki tarifler zaten mevcut olduğu için göz ardı edildi:"
|
||||
|
||||
#: .\cookbook\integration\integration.py:221
|
||||
#, python-format
|
||||
msgid "Imported %s recipes."
|
||||
msgstr ""
|
||||
msgstr "%s tarif içe aktarıldı."
|
||||
|
||||
#: .\cookbook\integration\openeats.py:28
|
||||
msgid "Recipe source:"
|
||||
msgstr ""
|
||||
msgstr "Tarif kaynağı:"
|
||||
|
||||
#: .\cookbook\integration\paprika.py:49
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
msgstr "Notlar"
|
||||
|
||||
#: .\cookbook\integration\paprika.py:52
|
||||
msgid "Nutritional Information"
|
||||
msgstr ""
|
||||
msgstr "Beslenme Bilgileri"
|
||||
|
||||
#: .\cookbook\integration\paprika.py:56
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
msgstr "Kaynak"
|
||||
|
||||
#: .\cookbook\integration\recettetek.py:54
|
||||
#: .\cookbook\integration\recipekeeper.py:70
|
||||
@@ -354,23 +356,23 @@ msgstr ""
|
||||
|
||||
#: .\cookbook\integration\saffron.py:23
|
||||
msgid "Servings"
|
||||
msgstr ""
|
||||
msgstr "Porsiyon"
|
||||
|
||||
#: .\cookbook\integration\saffron.py:25
|
||||
msgid "Waiting time"
|
||||
msgstr ""
|
||||
msgstr "Bekleme süresi"
|
||||
|
||||
#: .\cookbook\integration\saffron.py:27
|
||||
msgid "Preparation Time"
|
||||
msgstr ""
|
||||
msgstr "Hazırlık Süresi"
|
||||
|
||||
#: .\cookbook\integration\saffron.py:29 .\cookbook\templates\index.html:7
|
||||
msgid "Cookbook"
|
||||
msgstr ""
|
||||
msgstr "Yemek kitabı"
|
||||
|
||||
#: .\cookbook\integration\saffron.py:31
|
||||
msgid "Section"
|
||||
msgstr ""
|
||||
msgstr "Bölüm"
|
||||
|
||||
#: .\cookbook\management\commands\fix_duplicate_properties.py:15
|
||||
msgid "Fixes foods with "
|
||||
@@ -383,6 +385,8 @@ msgstr ""
|
||||
#: .\cookbook\management\commands\rebuildindex.py:18
|
||||
msgid "Only Postgresql databases use full text search, no index to rebuild"
|
||||
msgstr ""
|
||||
"Yalnızca Postgresql veritabanları tam metin araması kullanır, yeniden "
|
||||
"oluşturulacak dizin yoktur"
|
||||
|
||||
#: .\cookbook\management\commands\rebuildindex.py:29
|
||||
msgid "Recipe index rebuild complete."
|
||||
|
||||
@@ -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-11-22 07:58+0000\n"
|
||||
"Last-Translator: Oleh Hudyma <oleg.hudymaa@gmail.com>\n"
|
||||
"PO-Revision-Date: 2025-01-16 18:58+0000\n"
|
||||
"Last-Translator: Anton Shevtsov <ashevtsovs@gmail.com>\n"
|
||||
"Language-Team: Ukrainian <http://translate.tandoor.dev/projects/tandoor/"
|
||||
"recipes-backend/uk/>\n"
|
||||
"Language: uk\n"
|
||||
@@ -18,7 +18,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 5.6.2\n"
|
||||
"X-Generator: Weblate 5.8.4\n"
|
||||
|
||||
#: .\cookbook\forms.py:45
|
||||
msgid ""
|
||||
@@ -32,7 +32,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"
|
||||
@@ -941,13 +941,13 @@ msgstr ""
|
||||
#: .\cookbook\templates\ingredient_editor.html:7
|
||||
#: .\cookbook\templates\ingredient_editor.html:13
|
||||
msgid "Ingredient Editor"
|
||||
msgstr ""
|
||||
msgstr "Редактор Інгредієнтів"
|
||||
|
||||
#: .\cookbook\templates\base.html:275
|
||||
#: .\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"
|
||||
|
||||
@@ -12,21 +12,25 @@ class Local(Provider):
|
||||
|
||||
@staticmethod
|
||||
def import_all(monitor):
|
||||
if '/etc/' in monitor.path or '/root/' in monitor.path or '/mediafiles/' in monitor.path or '/usr/' in monitor.path:
|
||||
return False
|
||||
|
||||
files = [f for f in listdir(monitor.path) if isfile(join(monitor.path, f))]
|
||||
|
||||
import_count = 0
|
||||
for file in files:
|
||||
path = monitor.path + '/' + file
|
||||
if not Recipe.objects.filter(file_path__iexact=path, space=monitor.space).exists() and not RecipeImport.objects.filter(file_path=path, space=monitor.space).exists():
|
||||
name = os.path.splitext(file)[0]
|
||||
new_recipe = RecipeImport(
|
||||
name=name,
|
||||
file_path=path,
|
||||
storage=monitor.storage,
|
||||
space=monitor.space,
|
||||
)
|
||||
new_recipe.save()
|
||||
import_count += 1
|
||||
if file.endswith('.pdf') or file.endswith('.png') or file.endswith('.jpg') or file.endswith('.jpeg') or file.endswith('.gif'):
|
||||
path = monitor.path + '/' + file
|
||||
if not Recipe.objects.filter(file_path__iexact=path, space=monitor.space).exists() and not RecipeImport.objects.filter(file_path=path, space=monitor.space).exists():
|
||||
name = os.path.splitext(file)[0]
|
||||
new_recipe = RecipeImport(
|
||||
name=name,
|
||||
file_path=path,
|
||||
storage=monitor.storage,
|
||||
space=monitor.space,
|
||||
)
|
||||
new_recipe.save()
|
||||
import_count += 1
|
||||
|
||||
log_entry = SyncLog(
|
||||
status='SUCCESS',
|
||||
|
||||
@@ -22,6 +22,7 @@ from rest_framework.fields import IntegerField
|
||||
|
||||
from cookbook.helper.CustomStorageClass import CachedS3Boto3Storage
|
||||
from cookbook.helper.HelperFunctions import str2bool
|
||||
from cookbook.helper.image_processing import is_file_type_allowed
|
||||
from cookbook.helper.permission_helper import above_space_limit
|
||||
from cookbook.helper.property_helper import FoodPropertyHelper
|
||||
from cookbook.helper.shopping_helper import RecipeShoppingEditor
|
||||
@@ -233,12 +234,17 @@ class UserFileSerializer(serializers.ModelSerializer):
|
||||
raise ValidationError(_('You have reached your file upload limit.'))
|
||||
|
||||
def create(self, validated_data):
|
||||
if not is_file_type_allowed(validated_data['file'].name):
|
||||
return None
|
||||
|
||||
self.check_file_limit(validated_data)
|
||||
validated_data['created_by'] = self.context['request'].user
|
||||
validated_data['space'] = self.context['request'].space
|
||||
return super().create(validated_data)
|
||||
|
||||
def update(self, instance, validated_data):
|
||||
if not is_file_type_allowed(validated_data['file'].name):
|
||||
return None
|
||||
self.check_file_limit(validated_data)
|
||||
return super().update(instance, validated_data)
|
||||
|
||||
@@ -958,6 +964,16 @@ class RecipeImageSerializer(WritableNestedModelSerializer):
|
||||
image = serializers.ImageField(required=False, allow_null=True)
|
||||
image_url = serializers.CharField(max_length=4096, required=False, allow_null=True)
|
||||
|
||||
def create(self, validated_data):
|
||||
if 'image' in validated_data and not is_file_type_allowed(validated_data['image'].name, image_only=True):
|
||||
return None
|
||||
return super().create( validated_data)
|
||||
|
||||
def update(self, instance, validated_data):
|
||||
if 'image' in validated_data and not is_file_type_allowed(validated_data['image'].name, image_only=True):
|
||||
return None
|
||||
return super().update(instance, validated_data)
|
||||
|
||||
class Meta:
|
||||
model = Recipe
|
||||
fields = ['image', 'image_url', ]
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{% extends "base.html" %}
|
||||
{% load crispy_forms_filters %}
|
||||
{% load crispy_forms_filters %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}{% trans 'Register' %}{% endblock %}
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
{% if redirect_field_value %}
|
||||
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}"/>
|
||||
{% endif %}
|
||||
|
||||
<div class="form-group">
|
||||
{{ form.username |as_crispy_field }}
|
||||
</div>
|
||||
@@ -30,7 +29,7 @@
|
||||
<div class="form-group">
|
||||
{{ form.terms |as_crispy_field }}
|
||||
<small>
|
||||
{% trans 'I accept the follwoing' %}
|
||||
{% trans 'I accept the following' %}
|
||||
{% if TERMS_URL != '' %}
|
||||
<a href="{{ TERMS_URL }}" target="_blank"
|
||||
rel="noreferrer nofollow">{% trans 'Terms and Conditions' %}</a>
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
|
||||
<h1>{% trans 'System' %}</h1>
|
||||
{% blocktrans %}
|
||||
Django Recipes is an open source free software application. It can be found on
|
||||
<a href="https://github.com/vabene1111/recipes">GitHub</a>.
|
||||
Changelogs can be found <a href="https://github.com/vabene1111/recipes/releases">here</a>.
|
||||
Tandoor Recipes is an open source free software application. It can be found on
|
||||
<a href="https://github.com/TandoorRecipes/recipes">GitHub</a>.
|
||||
Changelogs can be found <a href="https://github.com/TandoorRecipes/recipes/releases">here</a>.
|
||||
{% endblocktrans %}
|
||||
|
||||
<h3 class="mt-5">{% trans 'System Information' %}</h3>
|
||||
|
||||
@@ -31,12 +31,12 @@ def test_edit_storage(storage_obj, a1_s1, a1_s2):
|
||||
}
|
||||
)
|
||||
storage_obj.refresh_from_db()
|
||||
assert r.status_code == 200
|
||||
r_messages = [m for m in get_messages(r.wsgi_request)]
|
||||
assert not any(m.level > messages.SUCCESS for m in r_messages)
|
||||
assert r.status_code == 302
|
||||
#r_messages = [m for m in get_messages(r.wsgi_request)]
|
||||
#assert not any(m.level > messages.SUCCESS for m in r_messages)
|
||||
|
||||
assert storage_obj.password == '1234_pw'
|
||||
assert storage_obj.token == '1234_token'
|
||||
#assert storage_obj.password == '1234_pw'
|
||||
#assert storage_obj.token == '1234_token'
|
||||
|
||||
r = a1_s2.post(
|
||||
reverse('edit_storage', args={storage_obj.pk}),
|
||||
@@ -54,7 +54,7 @@ def test_edit_storage(storage_obj, a1_s1, a1_s2):
|
||||
['a_u', 302],
|
||||
['g1_s1', 302],
|
||||
['u1_s1', 302],
|
||||
['a1_s1', 200],
|
||||
['a1_s1', 302],
|
||||
['g1_s2', 302],
|
||||
['u1_s2', 302],
|
||||
['a1_s2', 404],
|
||||
|
||||
@@ -1455,13 +1455,21 @@ class RecipeUrlImportView(APIView):
|
||||
|
||||
url = serializer.validated_data.get('url', None)
|
||||
data = unquote(serializer.validated_data.get('data', None))
|
||||
|
||||
duplicate = False
|
||||
if url:
|
||||
# Check for existing recipes with provided url
|
||||
existing_recipe = Recipe.objects.filter(source_url=url).first()
|
||||
if existing_recipe:
|
||||
duplicate = True
|
||||
|
||||
if not url and not data:
|
||||
return Response({'error': True, 'msg': _('Nothing to do.')}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
elif url and not data:
|
||||
if re.match('^(https?://)?(www\\.youtube\\.com|youtu\\.be)/.+$', url):
|
||||
if validate_import_url(url):
|
||||
return Response({'recipe_json': get_from_youtube_scraper(url, request), 'recipe_images': [], }, status=status.HTTP_200_OK)
|
||||
return Response({'recipe_json': get_from_youtube_scraper(url, request), 'recipe_images': [], 'duplicate': duplicate}, status=status.HTTP_200_OK)
|
||||
if re.match('^(.)*/view/recipe/[0-9]+/[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$', url):
|
||||
recipe_json = requests.get(
|
||||
url.replace('/view/recipe/', '/api/recipe/').replace(re.split('/view/recipe/[0-9]+', url)[1], '') + '?share='
|
||||
@@ -1476,7 +1484,7 @@ class RecipeUrlImportView(APIView):
|
||||
filetype=pathlib.Path(recipe_json['image']).suffix),
|
||||
name=f'{uuid.uuid4()}_{recipe.pk}{pathlib.Path(recipe_json["image"]).suffix}')
|
||||
recipe.save()
|
||||
return Response({'link': request.build_absolute_uri(reverse('view_recipe', args={recipe.pk}))}, status=status.HTTP_201_CREATED)
|
||||
return Response({'link': request.build_absolute_uri(reverse('view_recipe', args={recipe.pk})), 'duplicate': duplicate}, status=status.HTTP_201_CREATED)
|
||||
else:
|
||||
try:
|
||||
if validate_import_url(url):
|
||||
@@ -1511,6 +1519,7 @@ class RecipeUrlImportView(APIView):
|
||||
return Response({
|
||||
'recipe_json': helper.get_from_scraper(scrape, request),
|
||||
'recipe_images': list(dict.fromkeys(get_images_from_soup(scrape.soup, url))),
|
||||
'duplicate': duplicate
|
||||
},
|
||||
status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ class SyncUpdate(GroupRequiredMixin, UpdateView, SpaceFormMixing):
|
||||
def edit_storage(request, pk):
|
||||
instance: Storage = get_object_or_404(Storage, pk=pk, space=request.space)
|
||||
|
||||
if not (instance.created_by == request.user or request.user.is_superuser):
|
||||
if not request.user.is_superuser:
|
||||
messages.add_message(request, messages.ERROR, _('You cannot edit this storage!'))
|
||||
return HttpResponseRedirect(reverse('list_storage'))
|
||||
|
||||
|
||||
@@ -58,10 +58,16 @@ class StorageCreate(GroupRequiredMixin, CreateView):
|
||||
obj = form.save(commit=False)
|
||||
obj.created_by = self.request.user
|
||||
obj.space = self.request.space
|
||||
obj.save()
|
||||
|
||||
if self.request.space.demo or settings.HOSTED:
|
||||
messages.add_message(self.request, messages.ERROR, _('This feature is not yet available in the hosted version of tandoor!'))
|
||||
return redirect('index')
|
||||
|
||||
if not self.request.user.is_superuser:
|
||||
messages.add_message(self.request, messages.ERROR, _('This feature is only available for the instance administrator (superuser)'))
|
||||
return redirect('index')
|
||||
|
||||
obj.save()
|
||||
return HttpResponseRedirect(reverse('edit_storage', kwargs={'pk': obj.pk}))
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
Besides the normal django username and password authentication this application supports multiple
|
||||
Besides the normal django username and password authentication this application supports multiple
|
||||
methods of central account management and authentication.
|
||||
|
||||
## Allauth
|
||||
[Django Allauth](https://django-allauth.readthedocs.io/en/latest/index.html) is an awesome project that
|
||||
[Django Allauth](https://django-allauth.readthedocs.io/en/latest/index.html) is an awesome project that
|
||||
allows you to use a [huge number](https://docs.allauth.org/en/latest/socialaccount/providers/index.html) of different
|
||||
authentication providers.
|
||||
|
||||
@@ -11,8 +11,8 @@ They basically explain everything in their documentation, but the following is a
|
||||
!!! warning "Public Providers"
|
||||
If you choose Google, Github or any other publicly available service as your authentication provider anyone
|
||||
with an account on that site can create an account on your installation.
|
||||
A new account does not have any permission but it is still **not recommended** to give public access to
|
||||
your installation.
|
||||
A new account does not have any permission but it is still **not recommended** to give public access to
|
||||
your installation.
|
||||
|
||||
Choose a provider from the [list](https://docs.allauth.org/en/latest/socialaccount/providers/index.html) and install it using the environment variable `SOCIAL_PROVIDERS` as shown
|
||||
in the example below.
|
||||
@@ -28,15 +28,15 @@ SOCIAL_PROVIDERS=allauth.socialaccount.providers.openid_connect,allauth.socialac
|
||||
|
||||
### Configuration, via environment
|
||||
|
||||
Depending on your authentication provider you **might need** to configure it.
|
||||
This needs to be done through the settings system. To make the system flexible (allow multiple providers) and to
|
||||
Depending on your authentication provider you **might need** to configure it.
|
||||
This needs to be done through the settings system. To make the system flexible (allow multiple providers) and to
|
||||
not require another file to be mounted into the container the configuration ins done through a single
|
||||
environment variable. The downside of this approach is that the configuration needs to be put into a single line
|
||||
as environment files loaded by docker compose don't support multiple lines for a single variable.
|
||||
|
||||
The line data needs to either be in json or as Python dictionary syntax.
|
||||
|
||||
Take the example configuration from the allauth docs, fill in your settings and then inline the whole object
|
||||
Take the example configuration from the allauth docs, fill in your settings and then inline the whole object
|
||||
(you can use a service like [www.freeformatter.com](https://www.freeformatter.com/json-formatter.html) for formatting).
|
||||
Assign it to the additional `SOCIALACCOUNT_PROVIDERS` variable.
|
||||
|
||||
@@ -46,6 +46,13 @@ The example below is for a generic OIDC provider with PKCE enabled. Most values
|
||||
SOCIALACCOUNT_PROVIDERS = "{ 'openid_connect': { 'OAUTH_PKCE_ENABLED': True, 'APPS': [ { 'provider_id': 'oidc', 'name': 'My-IDM', 'client_id': 'my_client_id', 'secret': 'my_client_secret', 'settings': { 'server_url': 'https://idm.example.com/oidc/recipes' } } ] } }"
|
||||
```
|
||||
|
||||
Because this JSON contains sensitive data (client id and secret), you may instead choose to save the JSON in a file
|
||||
and set the environment variable `SOCIALACCOUNT_PROVIDERS_FILE` to the path of the file containing the JSON.
|
||||
|
||||
```
|
||||
SOCIALACCOUNT_PROVIDERS_FILE=/run/secrets/socialaccount_providers.txt
|
||||
```
|
||||
|
||||
!!! success "Improvements ?"
|
||||
There are most likely ways to achieve the same goal but with a cleaner or simpler system.
|
||||
If you know such a way feel free to let me know.
|
||||
@@ -81,7 +88,7 @@ SOCIALACCOUNT_PROVIDERS='{"openid_connect":{"APPS":[{"provider_id":"keycloak","n
|
||||
You are now able to sign in using Keycloak after a restart of the service.
|
||||
|
||||
### Linking accounts
|
||||
To link an account to an already existing normal user go to the settings page of the user and link it.
|
||||
To link an account to an already existing normal user go to the settings page of the user and link it.
|
||||
Here you can also unlink your account if you no longer want to use a social login method.
|
||||
|
||||
## LDAP
|
||||
@@ -111,7 +118,7 @@ AUTH_LDAP_TLS_CACERTFILE=/etc/ssl/certs/own-ca.pem
|
||||
If you just set `REMOTE_USER_AUTH=1` without any additional configuration, _anybody_ can authenticate with _any_ username!
|
||||
|
||||
!!! Info "Community Contributed Tutorial"
|
||||
This tutorial was provided by a community member. We are not able to provide any support! Please only use, if you know what you are doing!
|
||||
This tutorial was provided by a community member. We are not able to provide any support! Please only use, if you know what you are doing!
|
||||
|
||||
In order use external authentication (i.e. using a proxy auth like Authelia, Authentik, etc.) you will need to:
|
||||
|
||||
|
||||
@@ -75,24 +75,23 @@ structured information most of your recipe is going to be intact.
|
||||
Follow these steps to import your recipes
|
||||
|
||||
1. Go to your Nextcloud Webinterface
|
||||
2. Open the `Recipes` folder where your recipes are stored
|
||||
3. Select the recipes you want to export or use the checkbox at the top of the list to select all of them
|
||||
4. Click on the three dot **Actions** and press Download
|
||||
2. Find the `Recipes` folder (usually located in the root directory of your account)
|
||||
3. Download that folder to get your `Recipes.zip` which includes the folder `Recipes` and in that a folder for each recipe
|
||||
4. Upload the `Recipes.zip` to Tandoor and import it
|
||||
|
||||
You will get a `Recipes.zip` file. Simply upload the file and choose the Nextcloud Cookbook type.
|
||||
|
||||
!!! WARNING "Folder Structure"
|
||||
Importing only works if the folder structure is correct. If you do not use the standard path or create the
|
||||
zip file in any other way make sure the structure is as follows
|
||||
` Recipes.zip/
|
||||
└── Recipes/
|
||||
├── Recipe1/
|
||||
│ ├── recipe.json
|
||||
│ └── full.jpg
|
||||
└── Recipe2/
|
||||
├── recipe.json
|
||||
└── full.jpg
|
||||
`
|
||||
Importing only works if the folder structure is correct. If you do not use the standard path or create the
|
||||
zip file in any other way make sure the structure is as follows
|
||||
` Recipes.zip/
|
||||
└── Recipes/
|
||||
├── Recipe1/
|
||||
│ ├── recipe.json
|
||||
│ └── full.jpg
|
||||
└── Recipe2/
|
||||
├── recipe.json
|
||||
└── full.jpg
|
||||
`
|
||||
|
||||
## Mealie
|
||||
|
||||
@@ -113,8 +112,7 @@ In order to import your Chowdown recipes simply create a `.zip` file from those
|
||||
The folder structure should look as follows
|
||||
|
||||
!!! info "_recipes"
|
||||
For some reason chowdown uses `_`before the`recipes`folder. To avoid confusion the import supports both
|
||||
`\_recipes`and`recipes`
|
||||
For some reason chowdown uses `_`before the`recipes`folder. To avoid confusion the import supports both `\_recipes`and`recipes`
|
||||
|
||||
```
|
||||
Recipes.zip/
|
||||
|
||||
@@ -3,7 +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
|
||||
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`.
|
||||
Make sure to use at least Python 3.10 (although 3.12 is preferred) 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
|
||||
|
||||
|
||||
@@ -1,67 +1,71 @@
|
||||
!!! info "Community Contributed"
|
||||
This guide was contributed by the community and is neither officially supported, nor updated or tested.
|
||||
|
||||
Many people appear to host this application on their Synology NAS. The following documentation was provided by
|
||||
@therealschimmi in [this issue discussion](https://github.com/vabene1111/recipes/issues/98#issuecomment-643062907).
|
||||
|
||||
There is also this
|
||||
([word](https://github.com/vabene1111/recipes/files/6708738/Tandoor.on.a.Synology.Disk.Station.docx),
|
||||
[pdf](https://github.com/vabene1111/recipes/files/6901601/Tandoor.on.a.Synology.Disk.Station.pdf)) awesome and
|
||||
very detailed guide provided by @DiversityBug.
|
||||
|
||||
There are, as always, most likely other ways to do this but this can be used as a starting point for your
|
||||
setup. Since I cannot test it myself feedback and improvements are always very welcome.
|
||||
This guide was contributed by the community and is neither officially supported, nor updated or tested. Since I cannot test it myself, feedback and improvements are always very welcome.
|
||||
|
||||
## **Instructions**
|
||||
|
||||
Basic guide to setup `vabenee1111/recipes` docker container on Synology NAS.
|
||||
|
||||
### 1. Login to Synology DSM through your browser
|
||||
- Install Docker through package center
|
||||
- Optional: Create a shared folder for your docker projects, they have to store data somewhere outside the containers
|
||||
- Create a folder somewhere, I suggest naming it 'recipes' and storing it in the dedicated docker folder
|
||||
### 1. Preparations
|
||||
- Login to Synology DSM through your browser
|
||||
- Install `Container Manager` through package center
|
||||
- Install `Text Editor` through package center (needed to edit `.env` if you don't edit it locally first)
|
||||
- If you do not already have a `docker` folder in your File Station, create one at the root of your volume.
|
||||
- inside of your `volume1/docker` folder, create a `recipes` folder.
|
||||
- Within, create the necessary folder structure. You will need these folders:
|
||||
|
||||

|
||||
|
||||
### 2. Download templates
|
||||
!!!info
|
||||
vabene1111 gives you a few samples for various setups to work with. I chose to use the plain setup for now.
|
||||
|
||||
* Open https://github.com/vabene1111/recipes/tree/develop/docs/install/docker ([link](https://github.com/vabene1111/recipes/tree/develop/docs/install/docker))
|
||||
* Download docker-compose.yml to your recipes folder ([direct link to plain](https://github.com/TandoorRecipes/recipes/raw/develop/docs/install/docker/plain/docker-compose.yml))
|
||||
* Open https://github.com/vabene1111/recipes/tree/develop/nginx/conf.d ([link](https://github.com/vabene1111/recipes/tree/develop/nginx/conf.d))
|
||||
* Download Recipes.conf to your conf.d folder ([direct link](https://raw.githubusercontent.com/TandoorRecipes/recipes/develop/nginx/conf.d/Recipes.conf))
|
||||
* Open https://github.com/vabene1111/recipes/blob/develop/.env.template ([link](https://github.com/vabene1111/recipes/blob/develop/.env.template))
|
||||
* Copy the text and save it as ```.env``` to your recipes folder (no filename extension!)
|
||||
* Add a ```POSTGRES_PASSWORD```
|
||||
* Once done, it should look like this:
|
||||
|
||||

|
||||
|
||||
### 3. Edit docker-compose.yml
|
||||
* Open docker-compose.yml in a text editor
|
||||
* This file tells docker how to setup recipes. Docker will create three containers for recipes to work, recipes, nginx and postgresql. They are all required and need to store and share data through the folders you created before.
|
||||
* Edit line 26, this line specifies which external synology port will point to which internal docker port. Chose a free port to use and replace the first number with it. You will open recipes by browsing to http://your.synology.ip:chosen.port, e.g. http://192.168.1.1:2000
|
||||
* If you want to use port 2000 you would edit to 2000:80
|
||||
|
||||
### 4. SSH into your Synology
|
||||
- You need to access your Synology through SSH
|
||||
- Execute following commands
|
||||
- `ssh root@your.synology.ip` connect to your synology. root password is the same as admin password, sometimes root access is not possible for whatever reason, then replace root with admin
|
||||
- `cd /volume1/docker/recipes` access the folder where you store docker-compose.yml
|
||||
- `docker-compose up -d` this starts your containers according to your docker-compose.yml. if you logged in with admin you will have to use `sudo docker-compose up -d` instead, it will ask for the admin password again.
|
||||
- This output tells you all 3 containers have been setup
|
||||
```
|
||||
...
|
||||
Creating recipes_nginx_recipes_1 ... done
|
||||
Creating recipes_db_recipes_1 ... done
|
||||
Creating recipes_web_recipes_1 ... done
|
||||
volume1/docker/
|
||||
├─ recipes/
|
||||
│ ├─ postgresql/
|
||||
│ ├─ mediafiles/
|
||||
│ ├─ staticfiles/
|
||||
│ ├─ nginx_config/
|
||||
```
|
||||
* Browse to 192.168.1.1:2000 or whatever your IP and port are
|
||||
* While the containers are starting and doing whatever they need to do, you might still get HTTP errors e.g. 500 or 502. Just be patient and try again in a moment
|
||||
|
||||
### 5. Firewall
|
||||
### 2. `.env` and `docker-compose.yml`
|
||||
!!!info The guide uses the `plain` setup.
|
||||
|
||||
- Open the [.env template](https://github.com/vabene1111/recipes/blob/develop/.env.template)
|
||||
- Copy the text and save it as `.env.txt` to your recipes folder (the .txt extension allows you to modify it)
|
||||
- Open the file with Text Editor. Populate the necessary fields, such as `SECRET_KEY` and `POSTGRES_PASSWORD`.
|
||||
- Save the file and then rename it as `.env` (without the .txt extension)
|
||||
- Open the [docker-compose.yml template](https://raw.githubusercontent.com/TandoorRecipes/recipes/refs/heads/develop/docs/install/docker/plain/docker-compose.yml)
|
||||
- Copy the text and keep reading.
|
||||
|
||||
### 3. Creating the Container
|
||||
- In DSM, open `Container Manager`. Click on `Project`.
|
||||
- Click `Create` to create a new project. Fill out the following fields:
|
||||
- `Name`: `tandoor_recipes` or similar.
|
||||
- `Path`: select your `recipes` folder. If you have been following along `/docker/recipes`
|
||||
- `Source`: Select `Create docker-compose.yml`. A textbox will appear.
|
||||
|
||||
### 4. Edit docker-compose.yml
|
||||
- Paste the `docker-compose.yml` into the `source` textbox.
|
||||
- This file tells docker how to setup recipes. Docker will create three containers for recipes to work, recipes, nginx and postgresql. They are all required and need to store and share data through the folders you created before.
|
||||
- Under the `nginx_recipes` section, look for `ports` that lists `80:80` as the default. This line specifies which external synology port will point to which internal docker port. Chose a free port to use and replace the first number with it. You will open recipes by browsing to http://your.synology.ip:chosen.port, e.g. http://192.168.1.1:2000
|
||||
- If you want to use port 2000 you would edit the `ports` to `2000:80`
|
||||
|
||||
### 5. Finishing up
|
||||
- Click `Next`.
|
||||
- Synology will take you to a `web portal settings` page. Skip this page by clicking `Next`.
|
||||
- If you enable this option then the container will not build because your specified port will be used by the Web Service. The Container already comes with nginx configured to serve files so you do not need the `web portal settings`.
|
||||
- You'll see a `Summary` page. Review and click `Done`.
|
||||
- The project will begin being built and should finish.
|
||||
```bash
|
||||
Container recipes-db_recipes-1 Starting
|
||||
Container recipes-db_recipes-1 Started
|
||||
Container recipes-web_recipes-1 Starting
|
||||
Container recipes-web_recipes-1 Started
|
||||
Container recipes-nginx_recipes-1 Starting
|
||||
Container recipes-nginx_recipes-1 Started
|
||||
Exit Code: 0
|
||||
```
|
||||
- If you get an error, review the error and fix. A common reason it might fail is because you did not create the folders specified in the directory tree in step 1.
|
||||
- Browse to 192.168.1.1:2000 or whatever your IP and port are
|
||||
|
||||
### 6. Firewall
|
||||
!!!info "Depreciated?" This section may be depreciated and may no longer needed. The container may be able to be used without any firewall rules enabled. Further datapoints needed before section or this warning is removed.
|
||||
|
||||
You need to set up firewall rules in order for the recipes_web container to be able to connect to the recipes_db container.
|
||||
|
||||
- Control Panel -> Security -> Firewall -> Edit Rules -> Create
|
||||
@@ -72,10 +76,10 @@ You need to set up firewall rules in order for the recipes_web container to be a
|
||||
- Action: Allow
|
||||
- Save and make sure it's above the deny rules
|
||||
|
||||
### 6. Additional SSL Setup
|
||||
### 7. Additional SSL Setup
|
||||
Easiest way is to do it via Reverse Proxy.
|
||||
|
||||
- Control Panel -> Login Portal (renamed Since DSM 7, previously Application Portal) -> Advanced -> Reverse Proxy
|
||||
- Control Panel -> Login Portal -> Advanced -> Reverse Proxy
|
||||
- Create
|
||||
- insert name
|
||||
- Source:
|
||||
@@ -94,25 +98,14 @@ Easiest way is to do it via Reverse Proxy.
|
||||
- Source IP: Depends, All allows access from outside, i use specific to only connect in my network
|
||||
- Action: Allow
|
||||
- Save and make sure it's above the deny rules
|
||||
|
||||
[Deprecated, Note: ssl Path changed for DSM 7]
|
||||
6.1 Additional SSL Setup
|
||||
- create folder `ssl` inside `nginx` folder
|
||||
- download your ssl certificate from `security` tab in dsm `control panel`
|
||||
- or create a task in `task manager` because Synology will update the certificate every few months
|
||||
- set task to repeat every day
|
||||
- in the script write:
|
||||
```
|
||||
SRC="/usr/syno/etc/certificate/system/default"
|
||||
DEST="/volume1/docker/recipes/nginx/ssl/"
|
||||
if [ ! -f "$DEST/fullchain.pem" ] || [ "$SRC/fullchain.pem" -nt "$DEST/fullchain.pem" ]; then
|
||||
cp "$SRC/fullchain.pem" "$DEST/"
|
||||
cp "$SRC/privkey.pem" "$DEST/"
|
||||
chown root:root "$DEST/fullchain.pem" "$DEST/privkey.pem"
|
||||
chmod 600 "$DEST/fullchain.pem" "$DEST/privkey.pem"
|
||||
/usr/syno/bin/synowebapi --exec api=SYNO.Docker.Container version=1 method=restart name=recipes_nginx_recipes_1
|
||||
fi
|
||||
```
|
||||
- change `docker-compose.yml`
|
||||
add `- ./nginx/ssl:/etc/nginx/certs` to the `volumes` of `nginx_recipes`
|
||||
|
||||
### 8. Depreciated Guides
|
||||
|
||||
The following are older guides that may be useful if you are running older versions of DSM.
|
||||
|
||||
- The following documentation was provided by
|
||||
@therealschimmi in [this issue discussion](https://github.com/vabene1111/recipes/issues/98#issuecomment-643062907).
|
||||
|
||||
- There is also this
|
||||
([word](https://github.com/vabene1111/recipes/files/6708738/Tandoor.on.a.Synology.Disk.Station.docx),
|
||||
[pdf](https://github.com/vabene1111/recipes/files/6901601/Tandoor.on.a.Synology.Disk.Station.pdf)) awesome and very detailed guide provided by @DiversityBug.
|
||||
@@ -354,7 +354,7 @@ SOCIAL_PROVIDERS = allauth.socialaccount.providers.github, allauth.socialaccount
|
||||
Allow authentication via the REMOTE-USER header (can be used for e.g. authelia).
|
||||
|
||||
!!! danger
|
||||
Leave off if you don't know what you are doing! Enabling this without proper configuration will enable anybody
|
||||
Leave off if you don't know what you are doing! Enabling this without proper configuration will enable anybody
|
||||
to login with any username!
|
||||
|
||||
```
|
||||
@@ -377,6 +377,14 @@ AUTH_LDAP_TLS_CACERTFILE=
|
||||
AUTH_LDAP_START_TLS=
|
||||
```
|
||||
|
||||
Instead of passing the LDAP password directly through the environment variable `AUTH_LDAP_BIND_PASSWORD`,
|
||||
you can set the password in a file and set the environment variable `AUTH_LDAP_BIND_PASSWORD_FILE`
|
||||
to the path of the file containing the ldap secret.
|
||||
|
||||
```
|
||||
AUTH_LDAP_BIND_PASSWORD_FILE=/run/secrets/ldap_password.txt
|
||||
```
|
||||
|
||||
### External Services
|
||||
|
||||
#### Email
|
||||
@@ -396,6 +404,14 @@ EMAIL_USE_SSL=0
|
||||
DEFAULT_FROM_EMAIL=
|
||||
```
|
||||
|
||||
Instead of passing the email password directly through the environment variable `EMAIL_HOST_PASSWORD`,
|
||||
you can set the password in a file and set the environment variable `EMAIL_HOST_PASSWORD_FILE`
|
||||
to the path of the file containing the ldap secret.
|
||||
|
||||
```
|
||||
EMAIL_HOST_PASSWORD_FILE=/run/secrets/email_password.txt
|
||||
```
|
||||
|
||||
Optional settings (only copy the ones you need)
|
||||
|
||||
```
|
||||
@@ -561,7 +577,7 @@ STICKY_NAV_PREF_DEFAULT=1
|
||||
|
||||
> default `100` - options: `0-X`
|
||||
|
||||
The default for the number of spaces a user can own. By setting to 0 space creation for users will be disabled.
|
||||
The default for the number of spaces a user can own. By setting to 0 space creation for users will be disabled.
|
||||
Superusers can always bypass this limit.
|
||||
|
||||
```
|
||||
@@ -586,7 +602,7 @@ TZ=Europe/Berlin
|
||||
#### Default Theme
|
||||
> default `0` - options `1-X` (space ID)
|
||||
|
||||
Tandoors appearance can be changed on a user and space level but unauthenticated users always see the tandoor default style.
|
||||
Tandoors appearance can be changed on a user and space level but unauthenticated users always see the tandoor default style.
|
||||
With this setting you can specify the ID of a space of which the appearance settings should be applied if a user is not logged in.
|
||||
|
||||
```
|
||||
@@ -633,7 +649,7 @@ DRF_THROTTLE_RECIPE_URL_IMPORT=60/hour
|
||||
|
||||
#### Default Space Limits
|
||||
You might want to limit how many resources a user might create. The following settings apply automatically to newly
|
||||
created spaces. These defaults can be changed in the admin view after a space has been created.
|
||||
created spaces. These defaults can be changed in the admin view after a space has been created.
|
||||
|
||||
If unset, all settings default to unlimited/enabled
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ server {
|
||||
# serve media files
|
||||
location /media/ {
|
||||
alias /media/;
|
||||
add_header Content-Disposition 'attachment; filename="$args"';
|
||||
}
|
||||
# pass requests for dynamic content to gunicorn
|
||||
location / {
|
||||
|
||||
@@ -27,8 +27,8 @@ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
# Get vars from .env files
|
||||
SECRET_KEY = os.getenv('SECRET_KEY') if os.getenv('SECRET_KEY') else 'INSECURE_STANDARD_KEY_SET_IN_ENV'
|
||||
|
||||
DEBUG = bool(int(os.getenv('DEBUG', True)))
|
||||
DEBUG_TOOLBAR = bool(int(os.getenv('DEBUG_TOOLBAR', True)))
|
||||
DEBUG = bool(int(os.getenv('DEBUG', '0')))
|
||||
DEBUG_TOOLBAR = bool(int(os.getenv('DEBUG_TOOLBAR', '0')))
|
||||
|
||||
LOG_LEVEL = os.getenv("LOG_LEVEL", "WARNING")
|
||||
|
||||
@@ -66,7 +66,6 @@ LOGGING = {
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
# allow djangos wsgi server to server mediafiles
|
||||
GUNICORN_MEDIA = bool(int(os.getenv('GUNICORN_MEDIA', False)))
|
||||
|
||||
@@ -247,14 +246,14 @@ MIDDLEWARE = [
|
||||
]
|
||||
|
||||
if DEBUG_TOOLBAR:
|
||||
MIDDLEWARE += ('debug_toolbar.middleware.DebugToolbarMiddleware', )
|
||||
INSTALLED_APPS += ('debug_toolbar', )
|
||||
MIDDLEWARE += ('debug_toolbar.middleware.DebugToolbarMiddleware',)
|
||||
INSTALLED_APPS += ('debug_toolbar',)
|
||||
|
||||
SORT_TREE_BY_NAME = bool(int(os.getenv('SORT_TREE_BY_NAME', False)))
|
||||
DISABLE_TREE_FIX_STARTUP = bool(int(os.getenv('DISABLE_TREE_FIX_STARTUP', False)))
|
||||
|
||||
if bool(int(os.getenv('SQL_DEBUG', False))):
|
||||
MIDDLEWARE += ('recipes.middleware.SqlPrintingMiddleware', )
|
||||
MIDDLEWARE += ('recipes.middleware.SqlPrintingMiddleware',)
|
||||
|
||||
if ENABLE_METRICS:
|
||||
MIDDLEWARE += 'django_prometheus.middleware.PrometheusAfterMiddleware',
|
||||
@@ -294,7 +293,6 @@ if LDAP_AUTH:
|
||||
"handlers": ["console"]
|
||||
}
|
||||
|
||||
|
||||
AUTHENTICATION_BACKENDS += [
|
||||
'django.contrib.auth.backends.ModelBackend',
|
||||
'allauth.account.auth_backends.AuthenticationBackend',
|
||||
@@ -564,6 +562,9 @@ ACCOUNT_EMAIL_SUBJECT_PREFIX = os.getenv('ACCOUNT_EMAIL_SUBJECT_PREFIX', '[Tando
|
||||
|
||||
# ACCOUNT_SIGNUP_FORM_CLASS = 'cookbook.forms.AllAuthSignupForm'
|
||||
ACCOUNT_FORMS = {'signup': 'cookbook.forms.AllAuthSignupForm', 'reset_password': 'cookbook.forms.CustomPasswordResetForm'}
|
||||
SOCIALACCOUNT_FORMS = {
|
||||
'signup': 'cookbook.forms.AllAuthSocialSignupForm',
|
||||
}
|
||||
|
||||
ACCOUNT_EMAIL_UNKNOWN_ACCOUNTS = False
|
||||
ACCOUNT_RATE_LIMITS = {
|
||||
|
||||
@@ -1,59 +1,63 @@
|
||||
Django==4.2.16
|
||||
cryptography===43.0.1
|
||||
Django==4.2.20
|
||||
cryptography===44.0.1
|
||||
django-annoying==0.10.6
|
||||
django-cleanup==8.0.0
|
||||
django-crispy-forms==2.3
|
||||
crispy-bootstrap4==2024.1
|
||||
django-tables2==2.7.0
|
||||
crispy-bootstrap4==2024.10
|
||||
django-tables2==2.7.4
|
||||
djangorestframework==3.15.2
|
||||
drf-writable-nested==0.7.0
|
||||
drf-writable-nested==0.7.1
|
||||
django-oauth-toolkit==2.4.0
|
||||
django-debug-toolbar==4.3.0
|
||||
bleach==6.0.0
|
||||
bleach==6.2.0
|
||||
gunicorn==22.0.0
|
||||
lxml==5.3.0
|
||||
lxml==5.3.1
|
||||
Markdown==3.5.1
|
||||
Pillow==10.4.0
|
||||
Pillow==11.1.0
|
||||
psycopg2-binary==2.9.9
|
||||
python-dotenv==1.0.0
|
||||
requests==2.32.3
|
||||
six==1.16.0
|
||||
webdavclient3==3.14.6
|
||||
whitenoise==6.7.0
|
||||
icalendar==5.0.11
|
||||
whitenoise==6.8.2
|
||||
icalendar==6.1.0
|
||||
pyyaml==6.0.2
|
||||
uritemplate==4.1.1
|
||||
beautifulsoup4==4.12.3
|
||||
microdata==0.8.0
|
||||
mock==5.1.0
|
||||
Jinja2==3.1.4
|
||||
Jinja2==3.1.6
|
||||
django-webpack-loader==3.0.1
|
||||
git+https://github.com/BITSOLVER/django-js-reverse@071e304fd600107bc64bbde6f2491f1fe049ec82
|
||||
django-allauth==0.61.1
|
||||
recipe-scrapers==15.2.1
|
||||
django-allauth==65.3.1
|
||||
recipe-scrapers==15.6.0
|
||||
django-scopes==2.0.0
|
||||
django-treebeard==4.7
|
||||
django-treebeard==4.7.1
|
||||
django-cors-headers==4.6.0
|
||||
django-storages==1.14.2
|
||||
boto3==1.28.75
|
||||
django-prometheus==2.2.0
|
||||
django-prometheus==2.3.1
|
||||
django-hCaptcha==0.2.0
|
||||
python-ldap==3.4.4
|
||||
django-auth-ldap==4.6.0
|
||||
pyppeteer==2.0.0
|
||||
pytubefix==8.5.1
|
||||
pytubefix==8.12.2
|
||||
aiohttp==3.10.11
|
||||
inflection==0.5.1
|
||||
redis==5.2.0
|
||||
redis==5.2.1
|
||||
requests-oauthlib==2.0.0
|
||||
pyjwt==2.10.1
|
||||
python3-openid==3.2.0
|
||||
python3-saml==1.16.0
|
||||
|
||||
# Development
|
||||
pytest==8.0.0
|
||||
pytest-django==4.8.0
|
||||
pytest-django==4.10.0
|
||||
pytest-cov===5.0.0
|
||||
pytest-factoryboy==2.6.0
|
||||
pytest-factoryboy==2.7.0
|
||||
pytest-html==4.1.1
|
||||
pytest-asyncio==0.23.5
|
||||
pytest-xdist==3.6.1
|
||||
autopep8==2.0.4
|
||||
autopep8==2.3.2
|
||||
flake8==7.1.1
|
||||
yapf==0.40.2
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
"@popperjs/core": "^2.11.7",
|
||||
"@vue/cli": "^5.0.8",
|
||||
"@vue/composition-api": "1.7.2",
|
||||
"axios": "^1.6.7",
|
||||
"axios": "^1.8.2",
|
||||
"babel": "^6.23.0",
|
||||
"babel-core": "^6.26.3",
|
||||
"babel-loader": "^9.1.0",
|
||||
@@ -27,7 +27,7 @@
|
||||
"mavon-editor": "^2.10.4",
|
||||
"moment": "^2.30.1",
|
||||
"pinia": "^2.1.7",
|
||||
"prismjs": "^1.29.0",
|
||||
"prismjs": "^1.30.0",
|
||||
"string-similarity": "^4.0.4",
|
||||
"vue": "^2.6.14",
|
||||
"vue-class-component": "^7.2.3",
|
||||
|
||||
@@ -83,6 +83,11 @@
|
||||
<loading-spinner></loading-spinner>
|
||||
</b-card>
|
||||
|
||||
<!-- Warnings -->
|
||||
<b-card no-body v-if="duplicateWarning" class="warning">
|
||||
{{ duplicateWarning }}
|
||||
</b-card>
|
||||
|
||||
<!-- OPTIONS -->
|
||||
<b-card no-body v-if="recipe_json !== undefined">
|
||||
<b-card-header header-tag="header" class="p-1" role="tab">
|
||||
@@ -463,6 +468,7 @@ export default {
|
||||
},
|
||||
// URL import
|
||||
LS_IMPORT_RECENT: 'import_recent_urls', //TODO use central helper to manage all local storage keys (and maybe even access)
|
||||
duplicateWarning: '',
|
||||
website_url: '',
|
||||
website_url_list: '',
|
||||
import_multiple: false,
|
||||
@@ -643,6 +649,12 @@ export default {
|
||||
return
|
||||
}
|
||||
|
||||
if ('duplicate' in response.data && response.data['duplicate']) {
|
||||
this.duplicateWarning = "A recipe with this URL already exists.";
|
||||
} else {
|
||||
this.duplicateWarning = "";
|
||||
}
|
||||
|
||||
this.loading = false
|
||||
this.recipe_json = response.data['recipe_json'];
|
||||
|
||||
@@ -763,6 +775,16 @@ export default {
|
||||
|
||||
<style>
|
||||
|
||||
.warning {
|
||||
color: rgb(255, 149, 0);
|
||||
align-items: center;
|
||||
background-color: #fff4ec;
|
||||
padding: 10px;
|
||||
border: 1px solid rgb(255, 149, 0);
|
||||
border-radius: 5px;
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.bounce {
|
||||
animation: bounce 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
|
||||
transform: translate3d(0, 0, 0);
|
||||
|
||||
@@ -238,7 +238,7 @@ export default {
|
||||
|
||||
if (e.recipe_mealplan !== null) {
|
||||
let recipe_name = e.recipe_mealplan.recipe_name
|
||||
if (recipes.indexOf(recipe_name) === -1) {
|
||||
if (recipes.indexOf(recipe_name) === -1 && recipe_name !== undefined) {
|
||||
recipes.push(recipe_name.substring(0, 14) + (recipe_name.length > 14 ? '..' : ''))
|
||||
}
|
||||
|
||||
|
||||
@@ -79,323 +79,323 @@
|
||||
"Private_Recipe_Help": "Només tu i la gent amb qui l'has compartit podran veure aquesta recepta.",
|
||||
"reusable_help_text": "L'enllaç d'invitació es pot fer servir per més d'un usuari.",
|
||||
"open_data_help_text": "El projecte de dades obertes de Tandoor proporciona dades per a Tandoor a partir de les contribucions de la comunitat. Aquest camp s'emplena automàticament quan s'importa i permet que es facin actualitzacions en un futur.",
|
||||
"Open_Data_Slug": "",
|
||||
"Open_Data_Import": "",
|
||||
"Properties_Food_Amount": "",
|
||||
"Properties_Food_Unit": "",
|
||||
"Calculator": "",
|
||||
"FDC_ID": "",
|
||||
"FDC_Search": "",
|
||||
"FDC_ID_help": "",
|
||||
"property_type_fdc_hint": "",
|
||||
"Data_Import_Info": "",
|
||||
"Update_Existing_Data": "",
|
||||
"Use_Metric": "",
|
||||
"Learn_More": "",
|
||||
"converted_unit": "",
|
||||
"converted_amount": "",
|
||||
"base_unit": "",
|
||||
"base_amount": "",
|
||||
"Datatype": "",
|
||||
"Input": "",
|
||||
"Undo": "",
|
||||
"NoMoreUndo": "",
|
||||
"Number of Objects": "",
|
||||
"Add_Step": "",
|
||||
"Keywords": "",
|
||||
"Books": "",
|
||||
"Proteins": "",
|
||||
"Fats": "",
|
||||
"Carbohydrates": "",
|
||||
"Calories": "",
|
||||
"Energy": "",
|
||||
"Nutrition": "",
|
||||
"Date": "",
|
||||
"StartDate": "",
|
||||
"EndDate": "",
|
||||
"Share": "",
|
||||
"Automation": "",
|
||||
"Parameter": "",
|
||||
"Export": "",
|
||||
"Copy": "",
|
||||
"Rating": "",
|
||||
"Close": "",
|
||||
"Cancel": "",
|
||||
"Link": "",
|
||||
"Add": "",
|
||||
"New": "",
|
||||
"Note": "",
|
||||
"Alignment": "",
|
||||
"Success": "",
|
||||
"Failure": "",
|
||||
"Protected": "",
|
||||
"Ingredients": "",
|
||||
"Supermarket": "",
|
||||
"Categories": "",
|
||||
"Category": "",
|
||||
"Selected": "",
|
||||
"min": "",
|
||||
"Servings": "",
|
||||
"Waiting": "",
|
||||
"Preparation": "",
|
||||
"External": "",
|
||||
"Size": "",
|
||||
"Files": "",
|
||||
"File": "",
|
||||
"Edit": "",
|
||||
"Image": "",
|
||||
"Delete": "",
|
||||
"Delete_All": "",
|
||||
"Open": "",
|
||||
"Ok": "",
|
||||
"Save": "",
|
||||
"Step": "",
|
||||
"Search": "",
|
||||
"Import": "",
|
||||
"Print": "",
|
||||
"Settings": "",
|
||||
"or": "",
|
||||
"and": "",
|
||||
"Information": "",
|
||||
"Download": "",
|
||||
"Create": "",
|
||||
"Search Settings": "",
|
||||
"View": "",
|
||||
"Recipes": "",
|
||||
"Welcome": "",
|
||||
"Move": "",
|
||||
"Merge": "",
|
||||
"Parent": "",
|
||||
"Copy Link": "",
|
||||
"Copy Token": "",
|
||||
"delete_confirmation": "",
|
||||
"move_confirmation": "",
|
||||
"merge_confirmation": "",
|
||||
"create_rule": "",
|
||||
"move_selection": "",
|
||||
"merge_selection": "",
|
||||
"Root": "",
|
||||
"Ignore_Shopping": "",
|
||||
"Shopping_Category": "",
|
||||
"Shopping_Categories": "",
|
||||
"Shopping_input_placeholder": "",
|
||||
"Edit_Food": "",
|
||||
"Move_Food": "",
|
||||
"New_Food": "",
|
||||
"Hide_Food": "",
|
||||
"Food_Alias": "",
|
||||
"Unit_Alias": "",
|
||||
"Keyword_Alias": "",
|
||||
"Delete_Food": "",
|
||||
"No_ID": "",
|
||||
"Meal_Plan_Days": "",
|
||||
"merge_title": "",
|
||||
"move_title": "",
|
||||
"Food": "",
|
||||
"Property": "",
|
||||
"Property_Editor": "",
|
||||
"Conversion": "",
|
||||
"Original_Text": "",
|
||||
"Recipe_Book": "",
|
||||
"del_confirmation_tree": "",
|
||||
"delete_title": "",
|
||||
"create_title": "",
|
||||
"edit_title": "",
|
||||
"Name": "",
|
||||
"Properties": "",
|
||||
"Type": "",
|
||||
"Description": "",
|
||||
"Recipe": "",
|
||||
"tree_root": "",
|
||||
"Icon": "",
|
||||
"Unit": "",
|
||||
"Decimals": "",
|
||||
"Default_Unit": "",
|
||||
"No_Results": "",
|
||||
"New_Unit": "",
|
||||
"Create_New_Shopping Category": "",
|
||||
"Create_New_Food": "",
|
||||
"Create_New_Keyword": "",
|
||||
"Create_New_Unit": "",
|
||||
"Create_New_Meal_Type": "",
|
||||
"Create_New_Shopping_Category": "",
|
||||
"and_up": "",
|
||||
"and_down": "",
|
||||
"Instructions": "",
|
||||
"Unrated": "",
|
||||
"Automate": "",
|
||||
"Empty": "",
|
||||
"Key_Ctrl": "",
|
||||
"Key_Shift": "",
|
||||
"Time": "",
|
||||
"Text": "",
|
||||
"Shopping_list": "",
|
||||
"Added_by": "",
|
||||
"Added_on": "",
|
||||
"AddToShopping": "",
|
||||
"IngredientInShopping": "",
|
||||
"NotInShopping": "",
|
||||
"OnHand": "",
|
||||
"FoodOnHand": "",
|
||||
"FoodNotOnHand": "",
|
||||
"Undefined": "",
|
||||
"Create_Meal_Plan_Entry": "",
|
||||
"Edit_Meal_Plan_Entry": "",
|
||||
"Title": "",
|
||||
"Week": "",
|
||||
"Month": "",
|
||||
"Year": "",
|
||||
"created_by": "",
|
||||
"Planner": "",
|
||||
"Planner_Settings": "",
|
||||
"Period": "",
|
||||
"Plan_Period_To_Show": "",
|
||||
"Periods": "",
|
||||
"Plan_Show_How_Many_Periods": "",
|
||||
"Starting_Day": "",
|
||||
"Meal_Types": "",
|
||||
"Meal_Type": "",
|
||||
"New_Entry": "",
|
||||
"Clone": "",
|
||||
"Drag_Here_To_Delete": "",
|
||||
"Meal_Type_Required": "",
|
||||
"Title_or_Recipe_Required": "",
|
||||
"Color": "",
|
||||
"New_Meal_Type": "",
|
||||
"Use_Fractions": "",
|
||||
"Use_Fractions_Help": "",
|
||||
"AddFoodToShopping": "",
|
||||
"RemoveFoodFromShopping": "",
|
||||
"DeleteShoppingConfirm": "",
|
||||
"IgnoredFood": "",
|
||||
"Add_Servings_to_Shopping": "",
|
||||
"Week_Numbers": "",
|
||||
"Show_Week_Numbers": "",
|
||||
"Export_As_ICal": "",
|
||||
"Export_To_ICal": "",
|
||||
"Cannot_Add_Notes_To_Shopping": "",
|
||||
"Added_To_Shopping_List": "",
|
||||
"Shopping_List_Empty": "",
|
||||
"Next_Period": "",
|
||||
"Previous_Period": "",
|
||||
"Current_Period": "",
|
||||
"Next_Day": "",
|
||||
"Previous_Day": "",
|
||||
"Inherit": "",
|
||||
"InheritFields": "",
|
||||
"FoodInherit": "",
|
||||
"ShowUncategorizedFood": "",
|
||||
"GroupBy": "",
|
||||
"Language": "",
|
||||
"Theme": "",
|
||||
"CustomTheme": "",
|
||||
"CustomThemeHelp": "",
|
||||
"CustomImageHelp": "",
|
||||
"CustomNavLogoHelp": "",
|
||||
"CustomLogoHelp": "",
|
||||
"CustomLogos": "",
|
||||
"SupermarketCategoriesOnly": "",
|
||||
"MoveCategory": "",
|
||||
"CountMore": "",
|
||||
"IgnoreThis": "",
|
||||
"DelayFor": "",
|
||||
"Warning": "",
|
||||
"NoCategory": "",
|
||||
"InheritWarning": "",
|
||||
"ShowDelayed": "",
|
||||
"ShowRecentlyCompleted": "",
|
||||
"Completed": "",
|
||||
"OfflineAlert": "",
|
||||
"ShoppingBackgroundSyncWarning": "",
|
||||
"shopping_share": "",
|
||||
"shopping_auto_sync": "",
|
||||
"one_url_per_line": "",
|
||||
"mealplan_autoadd_shopping": "",
|
||||
"mealplan_autoexclude_onhand": "",
|
||||
"mealplan_autoinclude_related": "",
|
||||
"default_delay": "",
|
||||
"plan_share_desc": "",
|
||||
"shopping_share_desc": "",
|
||||
"shopping_auto_sync_desc": "",
|
||||
"mealplan_autoadd_shopping_desc": "",
|
||||
"Open_Data_Slug": "Open Data Slug",
|
||||
"Open_Data_Import": "Importar Open Data",
|
||||
"Properties_Food_Amount": "Propietats de les quantitats d'aliments",
|
||||
"Properties_Food_Unit": "Propietats de les unitats d'aliments",
|
||||
"Calculator": "Calculadora",
|
||||
"FDC_ID": "FDC ID",
|
||||
"FDC_Search": "Cerca FDC",
|
||||
"FDC_ID_help": "Base de dades FDC ID",
|
||||
"property_type_fdc_hint": "Només els tipus de propietat amb un ID FDC poden treure automàticament dades de la base de dades FDC",
|
||||
"Data_Import_Info": "Millora el teu Espai important llistes d’aliments, unitats i més, seleccionats per la comunitat per millorar la teva col·lecció de receptes.",
|
||||
"Update_Existing_Data": "Actualitzar les Dades Existents",
|
||||
"Use_Metric": "Utilitzar Unitats Mètriques",
|
||||
"Learn_More": "Saber-me més",
|
||||
"converted_unit": "Unitat convertida",
|
||||
"converted_amount": "Quantitat Convertida",
|
||||
"base_unit": "Unitat Base",
|
||||
"base_amount": "Quantitat Base",
|
||||
"Datatype": "Tipus de Dades",
|
||||
"Input": "Entrada",
|
||||
"Undo": "Desfer",
|
||||
"NoMoreUndo": "No hi ha canvis per desar.",
|
||||
"Number of Objects": "Nombre d'Objectes",
|
||||
"Add_Step": "Afegir pas",
|
||||
"Keywords": "Paraules clau",
|
||||
"Books": "Llibres",
|
||||
"Proteins": "Proteïnes",
|
||||
"Fats": "Greixos",
|
||||
"Carbohydrates": "Carbohidrats",
|
||||
"Calories": "Calories",
|
||||
"Energy": "Energia",
|
||||
"Nutrition": "Valors nutricionals",
|
||||
"Date": "Data",
|
||||
"StartDate": "Data d'inici",
|
||||
"EndDate": "Data de Finalització",
|
||||
"Share": "Compartir",
|
||||
"Automation": "Automatizació",
|
||||
"Parameter": "Paràmetre",
|
||||
"Export": "Exportar",
|
||||
"Copy": "Copiar",
|
||||
"Rating": "Puntuació",
|
||||
"Close": "Tancar",
|
||||
"Cancel": "Cancelar",
|
||||
"Link": "Enllaç",
|
||||
"Add": "Afegir",
|
||||
"New": "Nou",
|
||||
"Note": "Nota",
|
||||
"Alignment": "Alineació",
|
||||
"Success": "Èxit",
|
||||
"Failure": "Error",
|
||||
"Protected": "Protegit",
|
||||
"Ingredients": "Ingredients",
|
||||
"Supermarket": "Supermercat",
|
||||
"Categories": "Categories",
|
||||
"Category": "Categoria",
|
||||
"Selected": "Seleccionat",
|
||||
"min": "Mínim",
|
||||
"Servings": "Racions",
|
||||
"Waiting": "Esperant",
|
||||
"Preparation": "Preparació",
|
||||
"External": "Extern",
|
||||
"Size": "Mida",
|
||||
"Files": "Arxius",
|
||||
"File": "Arxiu",
|
||||
"Edit": "Editar",
|
||||
"Image": "Imatge",
|
||||
"Delete": "Eliminar",
|
||||
"Delete_All": "Eliminar tot",
|
||||
"Open": "Obrir",
|
||||
"Ok": "Ok",
|
||||
"Save": "Desar",
|
||||
"Step": "Pas",
|
||||
"Search": "Cercar",
|
||||
"Import": "Importar",
|
||||
"Print": "Imprimir",
|
||||
"Settings": "Opcions",
|
||||
"or": "o",
|
||||
"and": "i",
|
||||
"Information": "Informació",
|
||||
"Download": "Descarregar",
|
||||
"Create": "Crear",
|
||||
"Search Settings": "Cercar Ajustos",
|
||||
"View": "Mostrar",
|
||||
"Recipes": "Receptes",
|
||||
"Welcome": "Benvingut/da",
|
||||
"Move": "Moure",
|
||||
"Merge": "Unificar",
|
||||
"Parent": "Principal",
|
||||
"Copy Link": "Copiar Enllaç",
|
||||
"Copy Token": "Copiar Token",
|
||||
"delete_confirmation": "¿Estàs segur que vols eliminar {source}?",
|
||||
"move_confirmation": "Moure <i>{child}</i> a principal <i>{parent}</i>",
|
||||
"merge_confirmation": "Reemplaça <i>{source}</i> amb <i>{target}</i>",
|
||||
"create_rule": "i crear automatització",
|
||||
"move_selection": "Selecciona un {type} principal on moure {source}.",
|
||||
"merge_selection": "Reemplaça totes les ocurrències de {source} amb el {type} seleccionat.",
|
||||
"Root": "Arrel",
|
||||
"Ignore_Shopping": "Ignorar les compres",
|
||||
"Shopping_Category": "Categoria de compres",
|
||||
"Shopping_Categories": "Categoria de compres",
|
||||
"Shopping_input_placeholder": "p.e. Patata/100 Patates/100 g Patates",
|
||||
"Edit_Food": "Editar l'aliment",
|
||||
"Move_Food": "Moure l'Aliment",
|
||||
"New_Food": "Nou Aliment",
|
||||
"Hide_Food": "Amagar Aliment",
|
||||
"Food_Alias": "Àlies per l'aliment",
|
||||
"Unit_Alias": "Àlies per les unitats",
|
||||
"Keyword_Alias": "Àlies per les etiquetes",
|
||||
"Delete_Food": "Eliminar Aliment",
|
||||
"No_ID": "No s'ha trobat l'ID, no es pot eliminar.",
|
||||
"Meal_Plan_Days": "Menús futurs",
|
||||
"merge_title": "Unificar {type}",
|
||||
"move_title": "Moure {type}",
|
||||
"Food": "Aliment",
|
||||
"Property": "Propietat",
|
||||
"Property_Editor": "Editor de propietats",
|
||||
"Conversion": "Conversió",
|
||||
"Original_Text": "Text original",
|
||||
"Recipe_Book": "Llibre de receptes",
|
||||
"del_confirmation_tree": "Estàs segur que vols eliminar {source} i tots els seus elements fills?",
|
||||
"delete_title": "Eliminar {type}",
|
||||
"create_title": "Nou {type}",
|
||||
"edit_title": "Editar {type}",
|
||||
"Name": "Nom",
|
||||
"Properties": "Propietats",
|
||||
"Type": "Tipus",
|
||||
"Description": "Descripció",
|
||||
"Recipe": "Recepta",
|
||||
"tree_root": "Arrel de l'Arbre",
|
||||
"Icon": "Icona",
|
||||
"Unit": "Unitat",
|
||||
"Decimals": "Decimals",
|
||||
"Default_Unit": "Unitat Predeterminada",
|
||||
"No_Results": "No hi ha resultats",
|
||||
"New_Unit": "Nova unitat",
|
||||
"Create_New_Shopping Category": "Crear nova Categoria de Compres",
|
||||
"Create_New_Food": "Afegir nou ingredient",
|
||||
"Create_New_Keyword": "Afegir nova Paraula Clau",
|
||||
"Create_New_Unit": "Afegir nova unitat",
|
||||
"Create_New_Meal_Type": "Afegir nou tipus de menjar",
|
||||
"Create_New_Shopping_Category": "Afegir nova Categoria de Compres",
|
||||
"and_up": "& Amunt",
|
||||
"and_down": "& A sota",
|
||||
"Instructions": "Instruccions",
|
||||
"Unrated": "Sense puntuar",
|
||||
"Automate": "Automatitzar",
|
||||
"Empty": "Buit",
|
||||
"Key_Ctrl": "Ctrl",
|
||||
"Key_Shift": "Shift",
|
||||
"Time": "Temps",
|
||||
"Text": "Text",
|
||||
"Shopping_list": "Llista de la Compra",
|
||||
"Added_by": "Afegit per",
|
||||
"Added_on": "Afegit el",
|
||||
"AddToShopping": "Afegir a la llista de la compra",
|
||||
"IngredientInShopping": "Aquest ingredient ja està a la teva llista de la compra.",
|
||||
"NotInShopping": "{food} no està a la teva llista de la compra.",
|
||||
"OnHand": "Ja en tinc",
|
||||
"FoodOnHand": "Ja tens {food}.",
|
||||
"FoodNotOnHand": "No disposes de {food}.",
|
||||
"Undefined": "indefinit",
|
||||
"Create_Meal_Plan_Entry": "Crear una entrada de la planificació d'àpats",
|
||||
"Edit_Meal_Plan_Entry": "Elimina les entrades de la planificació d'àpats",
|
||||
"Title": "Títol",
|
||||
"Week": "Setmana",
|
||||
"Month": "Mes",
|
||||
"Year": "Any",
|
||||
"created_by": "Creat per",
|
||||
"Planner": "Planificador",
|
||||
"Planner_Settings": "Opcions del planificador",
|
||||
"Period": "Període",
|
||||
"Plan_Period_To_Show": "Mostrar setmanes, mesos o anys",
|
||||
"Periods": "Períodes",
|
||||
"Plan_Show_How_Many_Periods": "Quants períodes mostrar",
|
||||
"Starting_Day": "Dia d'inici de la setmana",
|
||||
"Meal_Types": "Tipus de menjars",
|
||||
"Meal_Type": "Tipus de menjar",
|
||||
"New_Entry": "Nova entrada",
|
||||
"Clone": "Clonar",
|
||||
"Drag_Here_To_Delete": "Arrossega aquí per a eliminar",
|
||||
"Meal_Type_Required": "El tipus és obligatori",
|
||||
"Title_or_Recipe_Required": "És necessari especificar un títol o escollir una recepta",
|
||||
"Color": "Color",
|
||||
"New_Meal_Type": "Nou tipus de menjar",
|
||||
"Use_Fractions": "Utilitza fraccions",
|
||||
"Use_Fractions_Help": "Convertir de forma automàtica els decimals en fraccions en veure una recepta.",
|
||||
"AddFoodToShopping": "Afegeix {food} a la llista de la compra",
|
||||
"RemoveFoodFromShopping": "Elimina {food} de la llista de la compra",
|
||||
"DeleteShoppingConfirm": "Segur que vols eliminar tot el/la {food} de la llista de la compra?",
|
||||
"IgnoredFood": "{food} està marcat per a ser ignorat a la llista de la compra.",
|
||||
"Add_Servings_to_Shopping": "Afegir {servings} racions a la compra",
|
||||
"Week_Numbers": "Números de la setmana",
|
||||
"Show_Week_Numbers": "Mostrar els números de la setmana?",
|
||||
"Export_As_ICal": "Exportar el període actual en format iCal",
|
||||
"Export_To_ICal": "Exportar .ics",
|
||||
"Cannot_Add_Notes_To_Shopping": "Les notes no poden afegir-se a la llista de la compra",
|
||||
"Added_To_Shopping_List": "Afegit a la llista de la compra",
|
||||
"Shopping_List_Empty": "Actualment, la teva llista de compres està buida, pots afegir nous elements a través del menú d’un pla d'àpats (fes clic amb el botó dret a la targeta o fes clic a la icona del menú)",
|
||||
"Next_Period": "Període següent",
|
||||
"Previous_Period": "Període anterior",
|
||||
"Current_Period": "Període Actual",
|
||||
"Next_Day": "Següent dia",
|
||||
"Previous_Day": "Dia Anterior",
|
||||
"Inherit": "heretar",
|
||||
"InheritFields": "Heretar Valors de Camp",
|
||||
"FoodInherit": "Camps Heretats",
|
||||
"ShowUncategorizedFood": "Mostra Camps Sense Definir",
|
||||
"GroupBy": "Agrupat per",
|
||||
"Language": "Llenguatge",
|
||||
"Theme": "Tema",
|
||||
"CustomTheme": "Tema Personalitzat",
|
||||
"CustomThemeHelp": "Cancel·la els estils del tema seleccionat Carregant un fitxer CSS personalitzat.",
|
||||
"CustomImageHelp": "Carregar una imatge per mostrar a la vista general de l’espai.",
|
||||
"CustomNavLogoHelp": "Pengeu una imatge per utilitzar com a logotip a la barra de navegació.",
|
||||
"CustomLogoHelp": "Carregar imatges quadrades de diferents mides del logotip per fer-les servir a la pestanya del navegador i a l'aplicació web instal·lada.",
|
||||
"CustomLogos": "Logos personalitzats",
|
||||
"SupermarketCategoriesOnly": "Només les categories del supermercat",
|
||||
"MoveCategory": "Moure a: ",
|
||||
"CountMore": "....+{count} més",
|
||||
"IgnoreThis": "No afegir {food} automàticament a la compra",
|
||||
"DelayFor": "Endarrerir durant {hours} hores",
|
||||
"Warning": "Advertència",
|
||||
"NoCategory": "No s'ha seleccionat categoria.",
|
||||
"InheritWarning": "{Food} està marcat per heretar, és possible que els canvis no es guardin.",
|
||||
"ShowDelayed": "Mostra elements endarrerits",
|
||||
"ShowRecentlyCompleted": "Mostrar els elements completats fa poc",
|
||||
"Completed": "Completat",
|
||||
"OfflineAlert": "Estàs desconnectat, la llista de la compra no pot actualitzar-se.",
|
||||
"ShoppingBackgroundSyncWarning": "Error de la connexió, esperant per sincronitzar ...",
|
||||
"shopping_share": "Compartir llista de la compra",
|
||||
"shopping_auto_sync": "Sincr. Automàticamente",
|
||||
"one_url_per_line": "Una URL per línia",
|
||||
"mealplan_autoadd_shopping": "Afegir pla d'àpats automàticament",
|
||||
"mealplan_autoexclude_onhand": "Excloure els ingredients que ja tinc",
|
||||
"mealplan_autoinclude_related": "Afegir receptes relacionades",
|
||||
"default_delay": "Hores de retard per defecte",
|
||||
"plan_share_desc": "Les noves entrades del pla d’àpats es compartiran automàticament amb usuaris seleccionats.",
|
||||
"shopping_share_desc": "Els usuaris veuran tots els elements de la teva llista de compres. Perquè puguis veure les seves t'han d'afegir.",
|
||||
"shopping_auto_sync_desc": "Establiu 0 per deshabilitar la sincronització automàtica. Quan es mostra una llista de compres aquesta es guarda de forma automàtica cada pocs segons per recarregar els canvis d'altres usuaris. És útil per a llistes compartides, però utilitza més dades mòbils.",
|
||||
"mealplan_autoadd_shopping_desc": "Afegir automàticament tots els ingredients del Pla d'Àpats a la llista de compres.",
|
||||
"mealplan_autoexclude_onhand_desc": "",
|
||||
"mealplan_autoinclude_related_desc": "",
|
||||
"default_delay_desc": "",
|
||||
"filter_to_supermarket": "",
|
||||
"Coming_Soon": "",
|
||||
"Auto_Planner": "",
|
||||
"New_Cookbook": "",
|
||||
"Hide_Keyword": "",
|
||||
"Hour": "",
|
||||
"Hours": "",
|
||||
"Day": "",
|
||||
"Days": "",
|
||||
"Second": "",
|
||||
"Seconds": "",
|
||||
"Clear": "",
|
||||
"Users": "",
|
||||
"Invites": "",
|
||||
"err_move_self": "",
|
||||
"nothing": "",
|
||||
"err_merge_self": "",
|
||||
"show_sql": "",
|
||||
"filter_to_supermarket_desc": "",
|
||||
"CategoryName": "",
|
||||
"SupermarketName": "",
|
||||
"CategoryInstruction": "",
|
||||
"OrderInformation": "",
|
||||
"shopping_recent_days_desc": "",
|
||||
"shopping_recent_days": "",
|
||||
"download_pdf": "",
|
||||
"download_csv": "",
|
||||
"csv_delim_help": "",
|
||||
"csv_delim_label": "",
|
||||
"SuccessClipboard": "",
|
||||
"copy_to_clipboard": "",
|
||||
"csv_prefix_help": "",
|
||||
"csv_prefix_label": "",
|
||||
"copy_markdown_table": "",
|
||||
"in_shopping": "",
|
||||
"DelayUntil": "",
|
||||
"Pin": "",
|
||||
"Unpin": "",
|
||||
"PinnedConfirmation": "",
|
||||
"UnpinnedConfirmation": "",
|
||||
"mark_complete": "",
|
||||
"QuickEntry": "",
|
||||
"shopping_add_onhand_desc": "",
|
||||
"shopping_add_onhand": "",
|
||||
"related_recipes": "",
|
||||
"today_recipes": "",
|
||||
"sql_debug": "",
|
||||
"remember_search": "",
|
||||
"remember_hours": "",
|
||||
"tree_select": "",
|
||||
"OnHand_help": "",
|
||||
"ignore_shopping_help": "",
|
||||
"shopping_category_help": "",
|
||||
"food_recipe_help": "",
|
||||
"Foods": "",
|
||||
"Account": "",
|
||||
"Cosmetic": "",
|
||||
"API": "",
|
||||
"enable_expert": "",
|
||||
"expert_mode": "",
|
||||
"simple_mode": "",
|
||||
"advanced": "",
|
||||
"fields": "",
|
||||
"show_keywords": "",
|
||||
"show_foods": "",
|
||||
"show_books": "",
|
||||
"show_rating": "",
|
||||
"show_units": "",
|
||||
"show_filters": "",
|
||||
"not": "",
|
||||
"save_filter": "",
|
||||
"filter_name": "",
|
||||
"left_handed": "",
|
||||
"left_handed_help": "",
|
||||
"show_step_ingredients_setting": "",
|
||||
"mealplan_autoinclude_related_desc": "Si afegiu a un pla d'àpats a la llista de compres (de forma manual o automàticament), incloureu totes les receptes relacionades.",
|
||||
"default_delay_desc": "Nombre d’hores per defecte per retardar l’entrada de la llista de compres.",
|
||||
"filter_to_supermarket": "Filtrar per supermercat",
|
||||
"Coming_Soon": "Próximament",
|
||||
"Auto_Planner": "Planificador automàtic",
|
||||
"New_Cookbook": "Nou Llibre de receptes",
|
||||
"Hide_Keyword": "Amaga les paraules clau",
|
||||
"Hour": "Hora",
|
||||
"Hours": "Hores",
|
||||
"Day": "Dia",
|
||||
"Days": "Dies",
|
||||
"Second": "Segon",
|
||||
"Seconds": "Segons",
|
||||
"Clear": "Netejar",
|
||||
"Users": "Usuaris",
|
||||
"Invites": "Invitacions",
|
||||
"err_move_self": "No pots moure un element a si mateix",
|
||||
"nothing": "Res a fer",
|
||||
"err_merge_self": "No pots unificar un element amb ell mateix",
|
||||
"show_sql": "Mostrar SQL",
|
||||
"filter_to_supermarket_desc": "De manera predeterminada, filtra la llista de compres per incloure només categories del supermercat seleccionat.",
|
||||
"CategoryName": "Nom Categoria",
|
||||
"SupermarketName": "Nom del supermercat",
|
||||
"CategoryInstruction": "Arrossega les categories per canviar l'ordre que apareixen les categories a la llista de compres.",
|
||||
"OrderInformation": "Els objectes estan ordenats de número petit a gran.",
|
||||
"shopping_recent_days_desc": "Dies d'entrades de la llista de compres recents a mostrar.",
|
||||
"shopping_recent_days": "Dies Recents",
|
||||
"download_pdf": "Descarregar PDF",
|
||||
"download_csv": "Descarregar CSV",
|
||||
"csv_delim_help": "Delimitador que s'utilitzarà per a les exportacions de CSV.",
|
||||
"csv_delim_label": "Delimitador CSV",
|
||||
"SuccessClipboard": "Llista de la compra copiada",
|
||||
"copy_to_clipboard": "Copiar al porta-retalls",
|
||||
"csv_prefix_help": "Prefix a afegir en copiar una llista al porta-retalls.",
|
||||
"csv_prefix_label": "Prefix Llista",
|
||||
"copy_markdown_table": "Copiar com a Taula Markdown",
|
||||
"in_shopping": "A la llista de la compra",
|
||||
"DelayUntil": "Endarrerir fins",
|
||||
"Pin": "Fixar",
|
||||
"Unpin": "Desanclar",
|
||||
"PinnedConfirmation": "{recipe} s'ha fixat.",
|
||||
"UnpinnedConfirmation": "{recipe} s'ha desfixat.",
|
||||
"mark_complete": "Marcar com a Completat",
|
||||
"QuickEntry": "Entrada Ràpida",
|
||||
"shopping_add_onhand_desc": "Marcar menjar com 'En Possessió' en marcar-lo a la llista de la compra.",
|
||||
"shopping_add_onhand": "Auto 'En Possessió'",
|
||||
"related_recipes": "Receptes relacionades",
|
||||
"today_recipes": "Receptes del dia",
|
||||
"sql_debug": "Depuració SQL",
|
||||
"remember_search": "Recordar la Cerca",
|
||||
"remember_hours": "Hores a Recordar",
|
||||
"tree_select": "Utilitzar l'arbre de selecció",
|
||||
"OnHand_help": "L'aliment ja es troba a l'inventari i no s'afegirà automàticament a la llista de la compra. L'estat sobre la disponibilitat es comparteix amb els usuaris \"compradors\".",
|
||||
"ignore_shopping_help": "No afegir mai l'aliment a la llista de la compra (p. ex. aigua)",
|
||||
"shopping_category_help": "Els supermercats es poden ordenar i filtrar per les categories d’ingredients segons la disposició dels prestatges.",
|
||||
"food_recipe_help": "Afegir un enllaç a una recepta aquí inclourà aquesta recepta en qualsevol altra recepta que utilitzi aquest aliment o ingredient",
|
||||
"Foods": "Aliments",
|
||||
"Account": "Compte",
|
||||
"Cosmetic": "Aparença",
|
||||
"API": "API",
|
||||
"enable_expert": "Activar el Mode Expert",
|
||||
"expert_mode": "Mode Expert",
|
||||
"simple_mode": "Mode bàsic",
|
||||
"advanced": "Avançat",
|
||||
"fields": "Camps",
|
||||
"show_keywords": "Mostra les paraules clau",
|
||||
"show_foods": "Mostra els aliments",
|
||||
"show_books": "Mostra els Llibres",
|
||||
"show_rating": "Mostra les puntuacions",
|
||||
"show_units": "Mostrar les Unitats",
|
||||
"show_filters": "Mostra els Filtres",
|
||||
"not": "no",
|
||||
"save_filter": "Desar els Filtres",
|
||||
"filter_name": "Filtrar per nom",
|
||||
"left_handed": "Mode Esquerrà",
|
||||
"left_handed_help": "Optimitzarà la interfície d’usuari per utilitzar-la amb la mà esquerra.",
|
||||
"show_step_ingredients_setting": "Mostra els Ingredients al costat dels passo de la recepta",
|
||||
"show_step_ingredients_setting_help": "",
|
||||
"show_step_ingredients": "",
|
||||
"hide_step_ingredients": "",
|
||||
@@ -425,21 +425,21 @@
|
||||
"paste_ingredients_placeholder": "",
|
||||
"paste_ingredients": "",
|
||||
"ingredient_list": "",
|
||||
"explain": "",
|
||||
"filter": "",
|
||||
"Website": "",
|
||||
"App": "",
|
||||
"Message": "",
|
||||
"Bookmarklet": "",
|
||||
"Sticky_Nav": "",
|
||||
"Sticky_Nav_Help": "",
|
||||
"Logo": "",
|
||||
"Show_Logo": "",
|
||||
"Show_Logo_Help": "",
|
||||
"Nav_Color": "",
|
||||
"Nav_Text_Mode": "",
|
||||
"Nav_Text_Mode_Help": "",
|
||||
"Nav_Color_Help": "",
|
||||
"explain": "Explicar",
|
||||
"filter": "Filtre",
|
||||
"Website": "Lloc Web",
|
||||
"App": "Aplicació",
|
||||
"Message": "Missatge",
|
||||
"Bookmarklet": "Marcadors",
|
||||
"Sticky_Nav": "Barra de Navegació fixada",
|
||||
"Sticky_Nav_Help": "Mostrar sempre el menú de navegació a la part superior de la pantalla.",
|
||||
"Logo": "Logotip",
|
||||
"Show_Logo": "Mostrar Logotip",
|
||||
"Show_Logo_Help": "Mostrar el logotip de Tandoo o de l'espai a la barra de navegació.",
|
||||
"Nav_Color": "Color de la Navegació",
|
||||
"Nav_Text_Mode": "Mode de navegació per text",
|
||||
"Nav_Text_Mode_Help": "Es comporta de forma diferent per cada tema.",
|
||||
"Nav_Color_Help": "Canviar el color de navegació.",
|
||||
"Space_Cosmetic_Settings": "",
|
||||
"Use_Kj": "",
|
||||
"Comments_setting": "",
|
||||
@@ -455,37 +455,37 @@
|
||||
"reset_children": "",
|
||||
"reset_children_help": "",
|
||||
"reset_food_inheritance": "",
|
||||
"reset_food_inheritance_info": "",
|
||||
"substitute_help": "",
|
||||
"substitute_siblings_help": "",
|
||||
"substitute_children_help": "",
|
||||
"substitute_siblings": "",
|
||||
"substitute_children": "",
|
||||
"SubstituteOnHand": "",
|
||||
"ChildInheritFields": "",
|
||||
"ChildInheritFields_help": "",
|
||||
"InheritFields_help": "",
|
||||
"show_ingredients_table": "",
|
||||
"show_ingredient_overview": "",
|
||||
"Ingredient Overview": "",
|
||||
"last_viewed": "",
|
||||
"created_on": "",
|
||||
"updatedon": "",
|
||||
"Imported_From": "",
|
||||
"advanced_search_settings": "",
|
||||
"nothing_planned_today": "",
|
||||
"no_pinned_recipes": "",
|
||||
"Planned": "",
|
||||
"Pinned": "",
|
||||
"Imported": "",
|
||||
"Quick actions": "",
|
||||
"Ratings": "",
|
||||
"Internal": "",
|
||||
"Units": "",
|
||||
"Manage_Emails": "",
|
||||
"Change_Password": "",
|
||||
"Social_Authentication": "",
|
||||
"Random Recipes": "",
|
||||
"reset_food_inheritance_info": "Restablir tots els valors dels camps dels aliments heretats i els seus parents.",
|
||||
"substitute_help": "Els substituts es tenen en compte quan es busquen receptes que es poden fer amb ingredients disponibles.",
|
||||
"substitute_siblings_help": "Tots els aliments que comparteixen un pare amb aquest aliment es consideren substituts.",
|
||||
"substitute_children_help": "Tots els aliments que són fills d’aquest menjar es consideren substituts.",
|
||||
"substitute_siblings": "Germans substituts",
|
||||
"substitute_children": "Fills substituts",
|
||||
"SubstituteOnHand": "Tenen un substitut disponible.",
|
||||
"ChildInheritFields": "Camps Heretats dels Fills",
|
||||
"ChildInheritFields_help": "Els fills heretaran aquests camps per defecte.",
|
||||
"InheritFields_help": "Els valors d’aquests camps s’heretaran del pare (excepció: les categories de compra buides no s’hereten)",
|
||||
"show_ingredients_table": "Mostra una taula dels ingredients al costat del text del pas",
|
||||
"show_ingredient_overview": "Mostra una llista de tots els ingredients a l'inici de la recepta.",
|
||||
"Ingredient Overview": "Visió general dels ingredients",
|
||||
"last_viewed": "Vist per última vegada",
|
||||
"created_on": "Creat el",
|
||||
"updatedon": "Actualitzat El",
|
||||
"Imported_From": "Importat de",
|
||||
"advanced_search_settings": "Paràmetres de cerca avançada",
|
||||
"nothing_planned_today": "No tens res planificat per avui!",
|
||||
"no_pinned_recipes": "No tens cap recepta fixada!",
|
||||
"Planned": "Planificat",
|
||||
"Pinned": "Fixat",
|
||||
"Imported": "Importat",
|
||||
"Quick actions": "Accions Ràpides",
|
||||
"Ratings": "Avaluació",
|
||||
"Internal": "Intern",
|
||||
"Units": "Unitats",
|
||||
"Manage_Emails": "Administrar correus",
|
||||
"Change_Password": "Canviar contrasenya",
|
||||
"Social_Authentication": "Identificació amb Xarxes Socials",
|
||||
"Random Recipes": "Receptes Aleatòries",
|
||||
"parameter_count": "",
|
||||
"select_keyword": "",
|
||||
"add_keyword": "",
|
||||
@@ -565,6 +565,6 @@
|
||||
"Never_Unit": "",
|
||||
"Transpose_Words": "",
|
||||
"Name_Replace": "",
|
||||
"Food_Replace": "",
|
||||
"Unit_Replace": ""
|
||||
"Food_Replace": "Aliment equivalent",
|
||||
"Unit_Replace": "Substituir unitat"
|
||||
}
|
||||
|
||||
@@ -539,5 +539,34 @@
|
||||
"err_importing_recipe": "Der opstod en fejl under importeringen af opskriften!",
|
||||
"Properties_Food_Amount": "Egenskaber Ingrediens Mængde",
|
||||
"FDC_Search": "FDC søgning",
|
||||
"Calculator": "Lommeregner"
|
||||
"Calculator": "Lommeregner",
|
||||
"Undo": "Fortryd",
|
||||
"NoMoreUndo": "Ingen ændringer at fortryde.",
|
||||
"Input": "Input",
|
||||
"Delete_All": "Slet alle",
|
||||
"CustomNavLogoHelp": "Upload et billede til brug som navigationsbarrelogo.",
|
||||
"ShowRecentlyCompleted": "Vis nyligt gennemførte emner",
|
||||
"ShoppingBackgroundSyncWarning": "Dårligt netværk, afventer synkronisering ...",
|
||||
"CustomTheme": "Personaliseret tema",
|
||||
"CustomThemeHelp": "Overskriv det valgte temas stil ved at uploade en personlig CSS-fil.",
|
||||
"property_type_fdc_hint": "Kun egenskabstyper med et FDC ID kan automatisk trække data fra FDC databasen",
|
||||
"Property_Editor": "Egenskabsredaktør",
|
||||
"us_cup": "cup (US, volumen)",
|
||||
"Show_Logo_Help": "Vis Tandoor eller område-logo i navigationsbarre.",
|
||||
"Nav_Text_Mode": "Navigation textmodus",
|
||||
"Nav_Text_Mode_Help": "Opfører sig forskelligt for hvert tema.",
|
||||
"Shopping_input_placeholder": "Fx kartoffel/100 kartofler/100g kartofler",
|
||||
"CustomImageHelp": "Upload et billede for at vise dets plade i område-oversigten.",
|
||||
"CustomLogoHelp": "Upload kvadratiske billeder i forskellige størrelser for at ændre logoet i browser-faneblad og installeret web-app.",
|
||||
"CustomLogos": "Personlige logoer",
|
||||
"Updated": "Opdateret",
|
||||
"Unchanged": "Uændret",
|
||||
"Error": "Fejl",
|
||||
"Logo": "Logo",
|
||||
"Show_Logo": "Vis logo",
|
||||
"Space_Cosmetic_Settings": "Visse kosmetiske indstillinger kan ændres af område-administratorer og vil overskrive klient-indstillinger for pågældende område.",
|
||||
"Enable": "Aktiver",
|
||||
"created_by": "Skabt af",
|
||||
"Created": "Skabt",
|
||||
"DefaultPage": "Startside"
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
"Categories": "categorias",
|
||||
"Category": "Categoría",
|
||||
"Selected": "Selecionado",
|
||||
"min": "Mínimo",
|
||||
"min": "Minutos",
|
||||
"Servings": "Raciones",
|
||||
"Waiting": "Esperando",
|
||||
"Preparation": "Preparación",
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
"success_updating_resource": "Resurssin päivitys onnistui!",
|
||||
"success_deleting_resource": "Resurssin poistaminen onnistui!",
|
||||
"file_upload_disabled": "Tiedoston lähetys ei ole käytössä tilassasi.",
|
||||
"step_time_minutes": "Askelaika minuutteina",
|
||||
"step_time_minutes": "Vaiheaika minuutteina",
|
||||
"confirm_delete": "Haluatko varmasti poistaa tämän {object}?",
|
||||
"import_running": "Tuonti käynnissä, odota!",
|
||||
"import_running": "Tuonti käynnissä, ole hyvä ja odota!",
|
||||
"all_fields_optional": "Kaikki kentät ovat valinnaisia ja voidaan jättää tyhjiksi.",
|
||||
"convert_internal": "Muunna sisäiseksi reseptiksi",
|
||||
"show_only_internal": "Näytä vain sisäiset reseptit",
|
||||
"show_split_screen": "Jaettu näkymä",
|
||||
"Log_Recipe_Cooking": "Kirjaa Reseptin Kokkaus",
|
||||
"Log_Recipe_Cooking": "Kirjaa Reseptin valmistus",
|
||||
"External_Recipe_Image": "Ulkoinen reseptin kuva",
|
||||
"Add_to_Shopping": "Lisää ostoksiin",
|
||||
"Add_to_Plan": "Lisää suunnitelmaan",
|
||||
@@ -84,7 +84,7 @@
|
||||
"Success": "Onnistui",
|
||||
"Failure": "Epäonnistui",
|
||||
"Ingredients": "Ainesosat",
|
||||
"Supermarket": "Supermarket",
|
||||
"Supermarket": "Kauppa",
|
||||
"Categories": "Luokat",
|
||||
"Category": "Luokka",
|
||||
"Selected": "Valittu",
|
||||
@@ -100,7 +100,7 @@
|
||||
"Image": "Kuva",
|
||||
"Delete": "Poista",
|
||||
"Open": "Avaa",
|
||||
"Ok": "Avaa",
|
||||
"Ok": "Ok",
|
||||
"Save": "Tallenna",
|
||||
"Step": "Vaihe",
|
||||
"Search": "Haku",
|
||||
@@ -127,10 +127,10 @@
|
||||
"Root": "Root",
|
||||
"Ignore_Shopping": "Ohita Ostokset",
|
||||
"Shopping_Category": "Ostosluokka",
|
||||
"Edit_Food": "Muokkaa ruokaa",
|
||||
"Move_Food": "Siirrä ruoka",
|
||||
"New_Food": "Uusi ruoka",
|
||||
"Hide_Food": "Piilota ruoka",
|
||||
"Edit_Food": "Muokkaa Ruokaa",
|
||||
"Move_Food": "Siirrä Ruoka",
|
||||
"New_Food": "Uusi Ruoka",
|
||||
"Hide_Food": "Piilota Ruoka",
|
||||
"Food_Alias": "Ruoan nimimerkki",
|
||||
"Unit_Alias": "Yksikköalias",
|
||||
"Keyword_Alias": "Avainsana-alias",
|
||||
@@ -149,7 +149,7 @@
|
||||
"Type": "Tyyppi",
|
||||
"Description": "Kuvaus",
|
||||
"Recipe": "Resepti",
|
||||
"tree_root": "Root of Tree",
|
||||
"tree_root": "Puun juuri",
|
||||
"Icon": "Kuvake",
|
||||
"Unit": "Yksikkö",
|
||||
"No_Results": "Ei Tuloksia",
|
||||
@@ -167,7 +167,7 @@
|
||||
"Key_Ctrl": "Ctrl",
|
||||
"Key_Shift": "Shift",
|
||||
"Time": "Aika",
|
||||
"Text": "Teksi",
|
||||
"Text": "Teksti",
|
||||
"Shopping_list": "Ostoslista",
|
||||
"Create_Meal_Plan_Entry": "Luo ateriasuunnitelma merkintä",
|
||||
"Edit_Meal_Plan_Entry": "Muokkaa ateriasuunnitelma merkintää",
|
||||
@@ -213,11 +213,311 @@
|
||||
"success_merging_resource": "Resurssin yhdistäminen onnistui!",
|
||||
"Search Settings": "Hakuasetukset",
|
||||
"Shopping_Categories": "Ostoskategoriat",
|
||||
"Plural": "",
|
||||
"plural_short": "",
|
||||
"Use_Plural_Unit_Always": "",
|
||||
"Plural": "Monikko",
|
||||
"plural_short": "monikko",
|
||||
"Use_Plural_Unit_Always": "Käytä monikkomuotoa aina yksiköissä",
|
||||
"Use_Plural_Unit_Simple": "",
|
||||
"Use_Plural_Food_Always": "",
|
||||
"Use_Plural_Food_Simple": "",
|
||||
"plural_usage_info": ""
|
||||
"plural_usage_info": "",
|
||||
"FDC_ID": "FDC -tunnus",
|
||||
"Account": "Tili",
|
||||
"OfflineAlert": "Olet offline-tilassa, ostoslista ei välttämättä synkronoidu.",
|
||||
"default_delay": "Oletus viivetunnit",
|
||||
"Imported": "Tuotu",
|
||||
"parameter_count": "Parametri {count}",
|
||||
"add_keyword": "Lisää Avainsana",
|
||||
"select_recipe": "Valitse Resepti",
|
||||
"Disabled": "Ei käytössä",
|
||||
"download_pdf": "Lataa PDF",
|
||||
"API": "API",
|
||||
"Instruction_Replace": "Vaihda Ohje",
|
||||
"Description_Replace": "Vaihda Kuvaus",
|
||||
"show_sql": "Näytä SQL",
|
||||
"show_books": "Näytä Kirjat",
|
||||
"Name_Replace": "Korvaa Nimi",
|
||||
"Auto_Sort_Help": "Siirrä kaikki ainekset parhaiten sopivaan vaiheeseen.",
|
||||
"reusable_help_text": "Pitäisikö kutsulinkin olla useamman kuin yhden käyttäjän käytettävissä.",
|
||||
"Private_Recipe_Help": "Resepti näytetään vain sinulle ja ihmisille, joiden kanssa se jaetaan.",
|
||||
"Theme": "Teema",
|
||||
"Language": "Kieli",
|
||||
"show_sortby": "Näytä lajitteluperusteella",
|
||||
"date_created": "Luontipäivä",
|
||||
"Day": "Päivä",
|
||||
"simple_mode": "Yksinkertainen tila",
|
||||
"shared_with": "Jaettu kanssa",
|
||||
"desc": "Laskeva",
|
||||
"Export_Not_Yet_Supported": "Vientiä ei vielä tueta",
|
||||
"New_Supermarket": "Luo uusi kauppa",
|
||||
"Ingredient Overview": "Ainesosien yleiskatsaus",
|
||||
"recipe_property_info": "Voit myös lisätä elintarvikkeisiin ominaisuuksia laskeaksesi ne automaattisesti reseptisi perusteella !",
|
||||
"Invites": "Kutsut",
|
||||
"Datatype": "Tietotyyppi",
|
||||
"Undo": "Kumoa",
|
||||
"NoMoreUndo": "Ei peruttavia muutoksia.",
|
||||
"StartDate": "Aloituspäivä",
|
||||
"Ratings": "Luokitukset",
|
||||
"Conversion": "Muuntaminen",
|
||||
"Default_Unit": "Oletus Yksikkö",
|
||||
"Undefined": "Määrittelemätön",
|
||||
"related_recipes": "Samankaltaisia Reseptejä",
|
||||
"Supermarkets": "Kaupat",
|
||||
"Documentation": "Dokumentaatio",
|
||||
"Create Food": "Luo Ruoka",
|
||||
"total": "yhteensä",
|
||||
"Unit_Replace": "Vaihda Yksikkö",
|
||||
"Second": "Sekunti",
|
||||
"select_unit": "Valitse Yksikkö",
|
||||
"Units": "Yksikköä",
|
||||
"Users": "Käyttäjät",
|
||||
"Import_Supported": "Tuonti tuettu",
|
||||
"Export_Supported": "Vienti tuettu",
|
||||
"Food_Replace": "Korvaa Ruoka",
|
||||
"Change_Password": "Vaihda Salasana",
|
||||
"Auto_Sort": "Automaattinen Lajittelu",
|
||||
"Social_Authentication": "Sosiaalinen Todennus",
|
||||
"Page": "Sivu",
|
||||
"RemoveFoodFromShopping": "Poista {food} ostoslistalta",
|
||||
"err_importing_recipe": "Reseptin tuomisessa tapahtui virhe!",
|
||||
"err_deleting_protected_resource": "Poistettava kohde on käytössä, eikä sitä voida poistaa.",
|
||||
"per_serving": "per annos",
|
||||
"Amount": "Määrä",
|
||||
"Private_Recipe": "Yksityinen Resepti",
|
||||
"Learn_More": "Lisätietoja",
|
||||
"base_amount": "Perus määrä",
|
||||
"Original_Text": "Alkuperäinen Teksti",
|
||||
"copy_to_clipboard": "Kopioi Leikepöydälle",
|
||||
"Ingredient Editor": "Ainesosien muokkaus",
|
||||
"select_keyword": "Valitse Avainsana",
|
||||
"CategoryInstruction": "Vedä luokkia muuttaaksesi luokkien järjestystä, jotka näkyvät ostoslistassa.",
|
||||
"open_data_help_text": "Tandoori Open Data -projekti tarjoaa yhteisön toimittamaa dataa Tandoorille. Tämä kenttä täytetään automaattisesti tuonnin yhteydessä ja sallii päivitykset tulevaisuudessa.",
|
||||
"Input": "Syöte",
|
||||
"Manage_Emails": "Hallinnoi sähköposteja",
|
||||
"NoCategory": "Luokkaa ei ole valittu.",
|
||||
"food_inherit_info": "Kentät elintarvikkeista , jotka pitäisi periä oletuksena .",
|
||||
"err_move_self": "Kohdetta ei voi siirtää itselleen",
|
||||
"Pinned": "Kiinnitetty",
|
||||
"Properties": "Ominaisuudet",
|
||||
"show_filters": "Näytä Suodattimet",
|
||||
"plan_share_desc": "Uudet ateriasuunnitelmat jaetaan automaattisesti valituille käyttäjille.",
|
||||
"show_keywords": "Näytä Avainsanat",
|
||||
"Update_Existing_Data": "Päivitä olemassa olevat tiedot",
|
||||
"Single": "Yksittäinen",
|
||||
"Days": "Päivää",
|
||||
"import_duplicates": "Päällekkäisyyksien estämiseksi reseptit, joilla on sama nimi kuin olemassa olevat, ohitetaan. Valitse tämä ruutu tuodaksesi kaiken.",
|
||||
"created_by": "Luonut",
|
||||
"show_ingredient_overview": "Näytä luettelo kaikista ainesosista reseptin alussa.",
|
||||
"ShoppingBackgroundSyncWarning": "Huono verkkoyhteys, odotetaan synkronointia ...",
|
||||
"Select": "Valitse",
|
||||
"Username": "Käyttäjänimi",
|
||||
"Hours": "Tuntia",
|
||||
"Seconds": "Sekuntia",
|
||||
"nothing": "Ei mitään tekemistä",
|
||||
"Quick actions": "Nopeat toimet",
|
||||
"updatedon": "Päivitetty",
|
||||
"shopping_share": "Jaa Ostoslista",
|
||||
"Comments_setting": "Näytä Kommentit",
|
||||
"created_on": "Luotu",
|
||||
"IngredientInShopping": "Tämä ainesosa on ostoslistalla.",
|
||||
"warning_space_delete": "Voit poistaa tilan sisältäen kaikki reseptit, kauppalistat, ruokasuunnitelmat ja muut luodut asiat. Tätä toimintoa ei voi peruuttaa! Oletko varma, että haluat poistaa tilan?",
|
||||
"New_Supermarket_Category": "Luo uusi kauppa kategoria",
|
||||
"download_csv": "Lataa CSV",
|
||||
"Property": "Ominaisuus",
|
||||
"l": "litra [l] (metrinen, tilavuus)",
|
||||
"nothing_planned_today": "Tälle päivälle ei ole suunniteltu mitään!",
|
||||
"SuccessClipboard": "Ostoslista kopioitu leikepöydälle",
|
||||
"Delete_All": "Poista kaikki",
|
||||
"reset_food_inheritance_info": "Palauta kaikki ruoat oletusarvoisiin perittyihin kenttiin ja niiden pääarvoihin.",
|
||||
"Foods": "Ruuat",
|
||||
"mealplan_autoinclude_related": "Lisää Samankaltaisia Reseptejä",
|
||||
"Use_Metric": "Käytä metrisiä yksiköitä",
|
||||
"Data_Import_Info": "Paranna tilaasi tuomalla yhteisön kuratoitu luettelo ruoista, yksiköistä ja muusta parantaaksesi reseptikokoelmaasi .",
|
||||
"FDC_ID_help": "FDC tietokanta tunnus",
|
||||
"property_type_fdc_hint": "Vain ominaisuustyypit , joilla on FDC-tunnus, voivat automaattisesti noutaa tietoja FDC-tietokannasta",
|
||||
"EndDate": "Lopetuspäivä",
|
||||
"Shopping_input_placeholder": "esimerkiksi Peruna/100 Perunaa/100 g perunoita",
|
||||
"Property_Editor": "Ominaisuuden Muokkaus",
|
||||
"Decimals": "Desimaalit",
|
||||
"and_down": "& Alas",
|
||||
"Warning": "Varoitus",
|
||||
"enable_expert": "Ota Asiantuntija-tila käyttöön",
|
||||
"expert_mode": "Asintuntija-tila",
|
||||
"SupermarketName": "Kaupan Nimi",
|
||||
"advanced": "Edistynyt",
|
||||
"AddToShopping": "Lisää ostoslistalle",
|
||||
"Added_on": "Lisätty",
|
||||
"show_foods": "Näytä Ruuat",
|
||||
"Added_by": "Lisännyt",
|
||||
"remove_selection": "Poista valinta",
|
||||
"User": "Käyttäjä",
|
||||
"First_name": "Etunimi",
|
||||
"Last_name": "Sukunimi",
|
||||
"Keyword": "Avainsana",
|
||||
"Internal": "Sisäinen",
|
||||
"Error": "Virhe",
|
||||
"last_cooked": "Viimeksi Tehty",
|
||||
"times_cooked": "Kertaa Tehty",
|
||||
"Updated": "Päivitetty",
|
||||
"explain": "Selitä",
|
||||
"show_rating": "Näytä Arvostelu",
|
||||
"Imported_From": "Tuotu",
|
||||
"App": "Applikaatio",
|
||||
"Disable": "Poista käytöstä",
|
||||
"Enable": "Ota käyttöön",
|
||||
"Options": "Vaihtoehdot",
|
||||
"create_food_desc": "Luo ruoka ja linkitä se tähän reseptiin.",
|
||||
"Advanced": "Edistynyt",
|
||||
"Reset": "Nollaa",
|
||||
"New_Entry": "Uusi Merkintä",
|
||||
"additional_options": "Lisäasetukset",
|
||||
"DeleteShoppingConfirm": "Oletko varma, että haluat poistaa kaikki {food} ostoslistalta?",
|
||||
"AddFoodToShopping": "Lisää {food} ostoslistaan",
|
||||
"Add_Servings_to_Shopping": "Lisää {servings} Annoksia Ostoksiin",
|
||||
"one_url_per_line": "Yksi URL -osoite riviä kohden",
|
||||
"in_shopping": "Ostoslistalla",
|
||||
"Hour": "Tunti",
|
||||
"err_merge_self": "Kohdetta ei voi yhdistää itseensä",
|
||||
"CategoryName": "Kategorian Nimi",
|
||||
"Cosmetic": "Ulkoasu",
|
||||
"Welcome": "Tervetuloa",
|
||||
"Random Recipes": "Satunnainen Resepti",
|
||||
"paste_json": "Liitä JSON tai HTML -lähde tähän, reseptin lataamiseksi.",
|
||||
"Click_To_Edit": "Muokkaa napsauttamalla",
|
||||
"search_no_recipes": "Reseptejä ei löytynyt!",
|
||||
"no_pinned_recipes": "Sinulla ei ole kiinnitettyjä reseptejä!",
|
||||
"last_viewed": "Viimeksi Katsottu",
|
||||
"Planned": "Suunniteltu",
|
||||
"advanced_search_settings": "Haun lisäasetukset",
|
||||
"select_file": "Valitse Tiedosto",
|
||||
"select_food": "Valitse Ruoka",
|
||||
"empty_list": "Lista on tyhjä.",
|
||||
"Multiple": "Useampi",
|
||||
"NotInShopping": "{food} ei ole ostoslistalla.",
|
||||
"Are_You_Sure": "Oletko varma?",
|
||||
"Message": "Viesti",
|
||||
"g": "gramma [g] (metrinen, paino)",
|
||||
"Valid Until": "Voimassa Asti",
|
||||
"Logo": "Logo",
|
||||
"Split_All_Steps": "Jaa kaikki rivit erillisiin vaiheisiin.",
|
||||
"Show_Logo": "Näytä Logo",
|
||||
"CustomLogos": "Mukautetut Logot",
|
||||
"ml": "millimetri [ml] (metrinen, tilavuus)",
|
||||
"Back": "Takaisin",
|
||||
"Choose_Category": "Valitse Kategoria",
|
||||
"Calculator": "Laskin",
|
||||
"converted_amount": "Muunnettu Määrä",
|
||||
"base_unit": "Perusyksikkö",
|
||||
"FDC_Search": "FDC Haku",
|
||||
"converted_unit": "Muunnettu Yksikkö",
|
||||
"Copy Link": "Kopioi Linkki",
|
||||
"Copy Token": "Kopioi Token",
|
||||
"date_viewed": "Viimeksi Katsottu",
|
||||
"DefaultPage": "Oletussivu",
|
||||
"Import_Not_Yet_Supported": "Tuontia ei vielä tueta",
|
||||
"kg": "kilogramma [kg] (metrinen, paino)",
|
||||
"Import Recipe": "Tuo Resepti",
|
||||
"Use_Fractions_Help": "Muunna desimaalit automaattisesti murtoluvuiksi reseptiä katsoessa.",
|
||||
"MoveCategory": "Siirrä paikkaan: ",
|
||||
"ShowUncategorizedFood": "Näytä määrittelemätön",
|
||||
"IgnoreThis": "Älä koskaan lisää {food} automaattisesti ostoksiin.",
|
||||
"mark_complete": "Merkitse Valmiiksi",
|
||||
"CountMore": "...+{count} enemmän",
|
||||
"ShowRecentlyCompleted": "Näytä äskettäin valmistuneet kohteet",
|
||||
"ShowDelayed": "Näytä viivästyneet kohteet",
|
||||
"filter_to_supermarket": "Suodata Kauppaan",
|
||||
"Open_Data_Slug": "Avaa Data Slug",
|
||||
"Open_Data_Import": "Avaa Tietojen tuonti",
|
||||
"Properties_Food_Amount": "Ominaisuudet Ruuan Määrä",
|
||||
"Properties_Food_Unit": "Ominaisuudet Ruuan Yksikkö",
|
||||
"OrderInformation": "Kohteet on järjestetty pienimmästä suurimpaan määrinä.",
|
||||
"mealplan_autoadd_shopping_desc": "Lisää ateriasuunnitelman ainesosat automaattisesti ostoslistalle.",
|
||||
"Inherit": "Periä",
|
||||
"DelayFor": "Viivytä {hours} tuntia",
|
||||
"shopping_auto_sync_desc": "Arvon 0 asettaminen poistaa automaattisen synkronoinnin käytöstä . Kun tarkastelet ostoslistaa, luettelo päivitetään joka sekunti jonkun muun mahdollisesti tekemien muutosten synkronoimiseksi. Hyödyllinen ostaessasi useiden ihmisten kanssa, mutta käyttää mobiilidataa.",
|
||||
"Alignment": "Tasaus",
|
||||
"Use_Fractions": "Käytä murtolukuja",
|
||||
"mealplan_autoadd_shopping": "Lisää Ateriasuunnitelma automaattisesti",
|
||||
"Unpin": "Poista Kiinnitys",
|
||||
"Protected": "Suojattu",
|
||||
"FoodNotOnHand": "Sinulla ei ole {food} saatavilla.",
|
||||
"InheritFields": "Peri kenttien arvot",
|
||||
"FoodInherit": "Ruoan perinnölliset kentät",
|
||||
"GroupBy": "Ryhmittely peruste",
|
||||
"Create_New_Shopping_Category": "Lisää uusi ostoskategoria",
|
||||
"SupermarketCategoriesOnly": "Vain Kaupan kategoriat",
|
||||
"InheritWarning": "{food} on asetettu perittäväksi, muutokset ei välttämättä säily.",
|
||||
"mealplan_autoexclude_onhand": "Sulje pois saatavilla oleva Ruoka",
|
||||
"shopping_share_desc": "Käyttäjät näkevät kaikki tuotteet, jotka lisäät ostoslistallesi. Heidän on lisättävä sinut nähdäksesi kohteet heidän ostoslistoissa.",
|
||||
"default_delay_desc": "Oletus viive tunteina ostoslistaan viemiseen.",
|
||||
"Select_App_To_Import": "Valitse sovellus, josta haluat tuoda",
|
||||
"Importer_Help": "Lisätietoja ja apua tästä Tuonnista:",
|
||||
"IgnoredFood": "{food} on asetettu ohittamaan ostokset.",
|
||||
"Completed": "Valmis",
|
||||
"shopping_auto_sync": "Automaattinen synkronointi",
|
||||
"mealplan_autoexclude_onhand_desc": "Kun lisäät ateriasuunnitelman ostoslistalle (manuaalisesti tai automaattisesti), sulje pois tällä hetkellä saatavilla olevat ainesosat .",
|
||||
"filter_to_supermarket_desc": "Oletusarvoisesti suodata ostoslista niin, että se sisältää vain valitun kaupan kategoriat.",
|
||||
"DelayUntil": "Viive asti",
|
||||
"PinnedConfirmation": "{recipe} on kiinnitetty.",
|
||||
"mealplan_autoinclude_related_desc": "Kun lisäät ateriasuunnitelman ostoslistalle (manuaalisesti tai automaattisesti), sisällytä kaikki siihen liittyvät reseptit.",
|
||||
"Pin": "Kiinnitä",
|
||||
"UnpinnedConfirmation": "{recipe} on poistettu kiinnityksestä.",
|
||||
"FoodOnHand": "Sinulla on {food} saatavilla.",
|
||||
"OnHand": "Tällä hetkellä saatavilla",
|
||||
"CustomImageHelp": "Lataa kuva näytettäväksi tilan yleiskatsauksessa.",
|
||||
"CustomLogoHelp": "Lataa erikokoisia neliön muotoisia kuvia, jotka muuttuvat logoksi selaimen välilehdellä ja asennetussa verkkosovelluksessa.",
|
||||
"CustomTheme": "Mukautettu Teema",
|
||||
"CustomThemeHelp": "Ohita valitun teeman tyylit lataamalla mukautettu CSS-tiedosto.",
|
||||
"CustomNavLogoHelp": "Lataa kuva käytettäväksi navigointipalkin logona.",
|
||||
"Number of Objects": "Objektien määrä",
|
||||
"Recipes_In_Import": "Reseptit tuonti tiedostossasi",
|
||||
"shopping_recent_days": "Viimä päivinä",
|
||||
"shopping_add_onhand_desc": "Merkitse ruoka \"Saatavilla\", kun se on valittu ostoslistalta.",
|
||||
"shopping_add_onhand": "Auto Saatavilla",
|
||||
"shopping_recent_days_desc": "Päiviä viimeisimmästä ostoslista merkinnästä.",
|
||||
"view_recipe": "Näytä Resepti",
|
||||
"asc": "Nouseva",
|
||||
"sort_by": "Lajitteluperuste",
|
||||
"Custom Filter": "Mukautettu Suodatin",
|
||||
"copy_to_new": "Kopioi Uuteen Reseptiin",
|
||||
"today_recipes": "Tämän päivän Reseptit",
|
||||
"sql_debug": "SQL Virhe Paikannus",
|
||||
"remember_search": "Muista Haku",
|
||||
"fields": "Kentät",
|
||||
"recipe_filter": "Resepti Suodatin",
|
||||
"recipe_name": "Reseptin Nimi",
|
||||
"remember_hours": "Tunteja muistettavana",
|
||||
"tree_select": "Käytä puu valintaa",
|
||||
"OnHand_help": "Ruoka on varastossa, eikä sitä lisätä automaattisesti ostoslistalle. Saatavilla -tila jaetaan ostosten käyttäjien kanssa.",
|
||||
"ingredient_list": "Ainesosaluettelo",
|
||||
"ignore_shopping_help": "Älä koskaan lisää ostoslistalle ruokaa (esim. vesi)",
|
||||
"shopping_category_help": "Kauppoja voi tilata ja suodattaa ostoskategorioiden mukaan käytävien asettelun mukaan.",
|
||||
"food_recipe_help": "Reseptin linkittäminen tähän sisällyttää linkitetyn reseptin kaikkiin muihin tätä ruokaa käyttäviin resepteihin",
|
||||
"show_units": "Näytä Yksiköt",
|
||||
"show_step_ingredients": "Näytä Vaiheen Ainesosat",
|
||||
"hide_step_ingredients": "Piilota Vaiheen Ainesosat",
|
||||
"Created": "Luotu",
|
||||
"Unchanged": "Muuttumaton",
|
||||
"paste_ingredients": "Liitä ainekset",
|
||||
"paste_ingredients_placeholder": "Liitä ainesosaluettelo tähän...",
|
||||
"make_now": "Tee Nyt",
|
||||
"csv_delim_label": "CSV Erotin",
|
||||
"save_filter": "Tallenna suodatin",
|
||||
"filter_name": "Suodattimen nimi",
|
||||
"left_handed_help": "Optimoin käyttöliittymän käytettäväksi vasemmalle kädelle.",
|
||||
"make_now_count": "Enintään puuttuvat ainesosat",
|
||||
"not": "ei ole",
|
||||
"left_handed": "Vasenkätinen tila",
|
||||
"filter": "Suodatin",
|
||||
"copy_markdown_table": "Kopioi merkintätaulukkona",
|
||||
"csv_prefix_label": "Luettelon etuliite",
|
||||
"csv_delim_help": "Erotin käytettäväksi CSV-viennissä.",
|
||||
"csv_prefix_help": "Etuliite, joka lisätään kopioitaessa luetteloa leikepöydälle.",
|
||||
"review_shopping": "Tarkista ostosmerkinnät ennen tallentamista",
|
||||
"Bookmarklet": "Kirjamerkki",
|
||||
"QuickEntry": "Nopea lisäys",
|
||||
"show_step_ingredients_setting_help": "Lisää ainesosa-taulukko resepti vaiheiden viereen . Voimassa luomis hetkellä. Voidaan ohittaa reseptin muokkaus näkymässä .",
|
||||
"search_rank": "Haku Sijoitus",
|
||||
"book_filter_help": "Sisällytä reseptisuodattimen reseptit manuaalisesti määritettyjen reseptien lisäksi.",
|
||||
"Website": "Verkkosivusto",
|
||||
"show_step_ingredients_setting": "Näytä ainekset resepti vaiheiden vieressä"
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"warning_feature_beta": "Denne funksjonen er foreløpig i BETA-versjon (testing). Regn med feil og at det i fremtidige oppdateringer kan komme endringer som gjør funksjonen ubrukelig.",
|
||||
"warning_feature_beta": "Denne funksjonen er foreløpig i BETA-versjon (testing). Regn med feil og at det i fremtidige oppdateringer kan komme endringer som gjør funksjonen ubrukelig, som i verste fall kan føre til korrupt data.",
|
||||
"err_fetching_resource": "Feil ved henting av ressurs!",
|
||||
"err_creating_resource": "Feil ved oppretting av ressurs!",
|
||||
"err_updating_resource": "Feil ved oppdatering av ressurs!",
|
||||
@@ -67,7 +67,7 @@
|
||||
"Amount": "Mengde",
|
||||
"Enable_Amount": "Aktiver mengde",
|
||||
"Disable_Amount": "Deaktiver mengde",
|
||||
"Ingredient Editor": "Ingrediens Behandler",
|
||||
"Ingredient Editor": "Ingrediensredigerer",
|
||||
"Description_Replace": "Erstatt beskrivelse",
|
||||
"Instruction_Replace": "Erstatt instruksjoner",
|
||||
"Auto_Sort": "Sorter Automatisk",
|
||||
@@ -83,7 +83,7 @@
|
||||
"Carbohydrates": "Karbohydrater",
|
||||
"Calories": "Kalorier",
|
||||
"Energy": "Energi",
|
||||
"Nutrition": "Næring",
|
||||
"Nutrition": "Næringsinnhold",
|
||||
"Date": "Dato",
|
||||
"Share": "Del",
|
||||
"Automation": "Automatiser",
|
||||
@@ -230,7 +230,7 @@
|
||||
"AddFoodToShopping": "Legg til {food] i handlelisten din",
|
||||
"RemoveFoodFromShopping": "Fjern {food} fra handelisten din",
|
||||
"DeleteShoppingConfirm": "Er du sikker på at du fjerne alle {food} fra handlelisten?",
|
||||
"IgnoredFood": "",
|
||||
"IgnoredFood": "{mat} er satt til å ignoreres i handel.",
|
||||
"Add_Servings_to_Shopping": "Legg til {servings} serveringer i handlelisten",
|
||||
"Week_Numbers": "Ukenummer",
|
||||
"Show_Week_Numbers": "Vis ukenummer?",
|
||||
@@ -238,7 +238,7 @@
|
||||
"Export_To_ICal": "Eksporter .ics",
|
||||
"Cannot_Add_Notes_To_Shopping": "Notater kan ikke legges til i handlelisten",
|
||||
"Added_To_Shopping_List": "Lagt til i handlelisten",
|
||||
"Shopping_List_Empty": "",
|
||||
"Shopping_List_Empty": "Din handleliste er tom. Du kan legge til varer via menyen for måltidsplan (høyreklikk på kortet, eller venstreklikk i menyikonet)",
|
||||
"Next_Period": "Neste periode",
|
||||
"Previous_Period": "Forrige periode",
|
||||
"Current_Period": "Gjeldende periode",
|
||||
@@ -258,8 +258,8 @@
|
||||
"DelayFor": "Utsett i {hours} timer",
|
||||
"Warning": "Advarsel",
|
||||
"NoCategory": "Ingen kategori valgt.",
|
||||
"InheritWarning": "",
|
||||
"ShowDelayed": "Vis Utsatte Gjenstander",
|
||||
"InheritWarning": "{matvare} er satt til å arve. Endringer kan bli slettet.",
|
||||
"ShowDelayed": "Vis utsatte elementer",
|
||||
"Completed": "Fullført",
|
||||
"OfflineAlert": "Du er ikke koblet til internett. Det kan hende handlelisten ikke synkroniserer.",
|
||||
"shopping_share": "Del handlelisten",
|
||||
@@ -271,9 +271,9 @@
|
||||
"default_delay": "Standard Timer å Utsette",
|
||||
"plan_share_desc": "Nye måltidsplaner vil automatisk bli delt med valgte brukere.",
|
||||
"shopping_share_desc": "Brukere vil se alle gjenstander du har lagt til i handlelisten. Brukerne må legge deg til for at du kan se deres gjenstander på handlelisten.",
|
||||
"shopping_auto_sync_desc": "",
|
||||
"mealplan_autoadd_shopping_desc": "",
|
||||
"mealplan_autoexclude_onhand_desc": "",
|
||||
"shopping_auto_sync_desc": "Sette til 0 slår autosynkronisering av. Når handleliste vises vil endringer gjort av andre synkroniseres i gitt sekundfrekvens. Dette er nyttig når du handler med andre, men bruker mobildata.",
|
||||
"mealplan_autoadd_shopping_desc": "Automatisk legg til ingredienser for måltidsplan i handlelisten.",
|
||||
"mealplan_autoexclude_onhand_desc": "Når måltidsplan legges til i handlelisten (manuellt eller automatisk), ekskluder ingredienser som finnes fra før.",
|
||||
"mealplan_autoinclude_related_desc": "",
|
||||
"default_delay_desc": "",
|
||||
"filter_to_supermarket": "",
|
||||
@@ -339,7 +339,7 @@
|
||||
"advanced": "Avansert",
|
||||
"fields": "Felt",
|
||||
"show_keywords": "Vis Nøkkelord",
|
||||
"show_foods": "Vis Mat",
|
||||
"show_foods": "Vis mat",
|
||||
"show_books": "Vis bøker",
|
||||
"show_rating": "Vis vurdering",
|
||||
"show_units": "Vis enheter",
|
||||
@@ -482,7 +482,7 @@
|
||||
"open_data_help_text": "Tandoor Open Data prosjektet gir fra fellesskapet til Tandoor. Dette feltet fylles ut automatisk når det importeres og tillater oppdateringer i fremtiden.",
|
||||
"Open_Data_Slug": "Åpne data Slug",
|
||||
"Open_Data_Import": "Åpne Data Import",
|
||||
"recipe_property_info": "Du kan også legge til egenskaper til mat for å kalkulere dem automatisk basert på oppskriften!",
|
||||
"recipe_property_info": "Du kan også legge til nœringsinnhold for å automatisk få sammendrag for dine oppskrifter!",
|
||||
"Update_Existing_Data": "Oppdater eksisterende data",
|
||||
"Use_Metric": "Bruk metriske enheter",
|
||||
"Learn_More": "Lær mer",
|
||||
@@ -497,5 +497,27 @@
|
||||
"Properties": "Egenskaper",
|
||||
"Alignment": "Justering",
|
||||
"Welcome": "Velkommen",
|
||||
"err_importing_recipe": "Det oppsto en feil ved import av oppskriften!"
|
||||
"err_importing_recipe": "Det oppsto en feil ved import av oppskriften!",
|
||||
"StartDate": "Startdato",
|
||||
"EndDate": "Sluttdato",
|
||||
"FDC_ID_help": "FDC database-ID",
|
||||
"ShoppingBackgroundSyncWarning": "Dårlig nettverkstilkobling, venter på synkronisering...",
|
||||
"Properties_Food_Unit": "Egenskap mat enhet",
|
||||
"Data_Import_Info": "Utvid ditt \"Space\" ved å importere en felleskapsberiket liste over mat, enheter og mer for å berike din oppskriftskolleksjon.",
|
||||
"Undo": "Angre",
|
||||
"NoMoreUndo": "Ingen endringer å angre.",
|
||||
"Input": "Inndata",
|
||||
"Delete_All": "Slett alle",
|
||||
"Properties_Food_Amount": "Egenskap mat antall",
|
||||
"CustomThemeHelp": "Overskriv det valgte tema ved å laste opp en egendefinert CSS-fil.",
|
||||
"CustomImageHelp": "Last opp et bilde for å vise \"space\"-oversikten.",
|
||||
"CustomNavLogoHelp": "Last opp logo til navigasjonsområde.",
|
||||
"CustomLogos": "Egendefinerte logoer",
|
||||
"CustomTheme": "Egendefinert tema",
|
||||
"Shopping_input_placeholder": "feks. potet/100 poteter/100g poteter",
|
||||
"created_by": "Laget av",
|
||||
"CustomLogoHelp": "Last opp kvadratiske bilder i forskjellige størrelser for å endre logo i nettleser og installert app.",
|
||||
"property_type_fdc_hint": "Kun egenskapestyper med en FDC-ID kan automatisk hente data fra FDC-database",
|
||||
"Calculator": "Kalkulator",
|
||||
"ShowRecentlyCompleted": "Vis nylig fullførte objekter"
|
||||
}
|
||||
|
||||
@@ -418,7 +418,7 @@
|
||||
"warning_space_delete": "Możesz usunąć swoją przestrzeń, w tym wszystkie przepisy, listy zakupów, plany posiłków i wszystko, co utworzyłeś. Tego nie da się cofnąć! Czy na pewno chcesz to zrobić?",
|
||||
"Copy Link": "Skopiuj link",
|
||||
"Users": "Użytkownicy",
|
||||
"Invites": "Zaprasza",
|
||||
"Invites": "Zaproszenia",
|
||||
"food_inherit_info": "Pola w pożywieniu, które powinny być domyślnie dziedziczone.",
|
||||
"Copy Token": "Kopiuj Token",
|
||||
"Message": "Wiadomość",
|
||||
@@ -569,5 +569,6 @@
|
||||
"Unchanged": "Niezmienione",
|
||||
"Error": "Błąd",
|
||||
"DefaultPage": "Strona domyślna",
|
||||
"Shopping_input_placeholder": "np. Ziemniak/100 ziemniaków/100 g ziemniaków"
|
||||
"Shopping_input_placeholder": "np. Ziemniak/100 ziemniaków/100 g ziemniaków",
|
||||
"us_cup": "filiżanka (USA, objętość)"
|
||||
}
|
||||
|
||||
@@ -411,5 +411,9 @@
|
||||
"Copy Link": "Copiar Ligação",
|
||||
"Theme": "Tema",
|
||||
"one_url_per_line": "Um URL por linha",
|
||||
"Original_Text": "Texto original"
|
||||
"Original_Text": "Texto original",
|
||||
"err_importing_recipe": "Ocorreu um erro ao importar a receita!",
|
||||
"recipe_property_info": "Você também pode adicionar propriedades aos alimentos para calculá-los automaticamente de acordo com sua receita!",
|
||||
"open_data_help_text": "O projeto Tandoor Open Data fornece dados contribuídos pela comunidade. Este campo é preenchido automaticamente ao importá-lo e permite atualizações no futuro.",
|
||||
"per_serving": "por porção"
|
||||
}
|
||||
|
||||
@@ -249,22 +249,22 @@
|
||||
"mealplan_autoadd_shopping_desc": "Automaticamente inclui ingredientes do plano de refeição para a lista de compras.",
|
||||
"mealplan_autoexclude_onhand_desc": "Ao adicionar um plano de refeições à lista de compras (manualmente ou automaticamente), exclua os ingredientes que já estão disponíveis.",
|
||||
"mealplan_autoinclude_related_desc": "Ao adicionar um plano de refeições à lista de compras (manualmente ou automaticamente), inclua todas as receitas relacionadas.",
|
||||
"default_delay_desc": "",
|
||||
"default_delay_desc": "Número padrão de horas para atrasar um item da lista de compras.",
|
||||
"filter_to_supermarket": "Filtro para Supermercado",
|
||||
"Coming_Soon": "Em breve",
|
||||
"Auto_Planner": "Planejamento Automático",
|
||||
"New_Cookbook": "Novo livro de receitas",
|
||||
"Hide_Keyword": "Oculta palavras-chave",
|
||||
"Clear": "",
|
||||
"Clear": "Limpar",
|
||||
"err_move_self": "Não é possível mover o item para ele mesmo",
|
||||
"nothing": "Nada para fazer",
|
||||
"err_merge_self": "Não é possível mesclar um item com ele mesmo",
|
||||
"show_sql": "Mostrar SQL",
|
||||
"filter_to_supermarket_desc": "",
|
||||
"filter_to_supermarket_desc": "Por padrão, filtre a lista de compras para incluir apenas categorias do supermercado selecionado.",
|
||||
"CategoryName": "Nome da Categoria",
|
||||
"SupermarketName": "Nome do Supermercado",
|
||||
"CategoryInstruction": "",
|
||||
"shopping_recent_days_desc": "",
|
||||
"CategoryInstruction": "Arraste as categorias para alterar a ordem em que as categorias de pedidos aparecem na lista de compras.",
|
||||
"shopping_recent_days_desc": "Dias de exibição das entradas recentes da lista de compras.",
|
||||
"shopping_recent_days": "Dias Recentes",
|
||||
"create_shopping_new": "",
|
||||
"download_pdf": "Download PDF",
|
||||
@@ -273,26 +273,26 @@
|
||||
"csv_delim_label": "Delimitador CSV",
|
||||
"SuccessClipboard": "Lista de compras copiada para área de transferência",
|
||||
"copy_to_clipboard": "Copiar para Área de Transferência",
|
||||
"csv_prefix_help": "",
|
||||
"csv_prefix_help": "Prefixo a ser adicionado ao copiar a lista para a área de transferência.",
|
||||
"csv_prefix_label": "Lista de Prefixos",
|
||||
"copy_markdown_table": "",
|
||||
"copy_markdown_table": "Copiar como tabela Markdown",
|
||||
"in_shopping": "Na Lista de Compras",
|
||||
"DelayUntil": "Atrasar Até",
|
||||
"Pin": "Pin",
|
||||
"mark_complete": "Marcar como Finalizado",
|
||||
"QuickEntry": "",
|
||||
"shopping_add_onhand_desc": "",
|
||||
"shopping_add_onhand": "",
|
||||
"QuickEntry": "Entrada rápida",
|
||||
"shopping_add_onhand_desc": "Marque a comida como 'Disponível' quando desmarcada da lista de compras.",
|
||||
"shopping_add_onhand": "Automaticamente disponível",
|
||||
"related_recipes": "Receitas Relacionadas",
|
||||
"today_recipes": "Receitas de Hoje",
|
||||
"sql_debug": "SQL Debug",
|
||||
"remember_search": "Lembrar Pesquisa",
|
||||
"remember_hours": "Horas para Lembrar",
|
||||
"tree_select": "Usar Árvore de Seleção",
|
||||
"OnHand_help": "",
|
||||
"ignore_shopping_help": "",
|
||||
"shopping_category_help": "",
|
||||
"food_recipe_help": "",
|
||||
"OnHand_help": "Os alimentos estão em estoque e não serão adicionados automaticamente a uma lista de compras. O status disponível é compartilhado com utilizadores de compras.",
|
||||
"ignore_shopping_help": "Nunca adicione alimentos à lista de compras (por exemplo, água)",
|
||||
"shopping_category_help": "Os supermercados podem ser ordenados e filtrados por Categoria de Compras de acordo com a disposição dos corredores.",
|
||||
"food_recipe_help": "Vincular uma receita aqui incluirá a receita vinculada em qualquer outra receita que use este alimento",
|
||||
"Foods": "Alimentos",
|
||||
"enable_expert": "Habilitar Modo Expert",
|
||||
"expert_mode": "Modo Expert",
|
||||
@@ -317,14 +317,14 @@
|
||||
"desc": "Descendente",
|
||||
"date_viewed": "Último Visualizado",
|
||||
"last_cooked": "Último Cozido",
|
||||
"times_cooked": "",
|
||||
"date_created": "",
|
||||
"times_cooked": "Quantidade de vezes feita",
|
||||
"date_created": "Data Criada",
|
||||
"show_sortby": "Mostrar Ordena Por",
|
||||
"search_rank": "Rank de Pesquisa",
|
||||
"make_now": "Fazer Agora",
|
||||
"recipe_filter": "Filtro de Receita",
|
||||
"book_filter_help": "",
|
||||
"review_shopping": "",
|
||||
"book_filter_help": "Inclui receitas do filtro da receita, além daquelas atribuídas manualmente.",
|
||||
"review_shopping": "Revise os itens da lista de compras antes de salvar",
|
||||
"view_recipe": "Visualizar receita",
|
||||
"copy_to_new": "Copiar para Nova Receita",
|
||||
"recipe_name": "Nome da Receita",
|
||||
@@ -353,7 +353,7 @@
|
||||
"updatedon": "Atualizado Em",
|
||||
"advanced_search_settings": "Configuração de Pesquisa Avançada",
|
||||
"nothing_planned_today": "Você não tem nada planejado para hoje!",
|
||||
"no_pinned_recipes": "",
|
||||
"no_pinned_recipes": "Você não tem receitas fixadas!",
|
||||
"Planned": "Planejado",
|
||||
"Pinned": "Marcado",
|
||||
"Quick actions": "Ações rápidas",
|
||||
@@ -393,7 +393,7 @@
|
||||
"Use_Plural_Unit_Simple": "Dinamicamente usar forma plural para unidade",
|
||||
"Use_Plural_Food_Always": "Sempre usar forma plural para alimento",
|
||||
"Use_Plural_Food_Simple": "Dinamicamente usar forma plural para alimento",
|
||||
"plural_usage_info": "",
|
||||
"plural_usage_info": "Use o plural para unidades e alimentos dentro deste espaço.",
|
||||
"Amount": "Quantidade",
|
||||
"Description_Replace": "Substituir Descrição",
|
||||
"Decimals": "Decimais",
|
||||
@@ -527,5 +527,47 @@
|
||||
"Properties_Food_Amount": "Quantidade de Alimento das Propriedades",
|
||||
"Properties_Food_Unit": "Unidade de Alimento das Propriedades",
|
||||
"Shopping_input_placeholder": "ex. Batata/100 Batatas/100 g Batatas",
|
||||
"FDC_Search": "Busca FDC"
|
||||
"FDC_Search": "Busca FDC",
|
||||
"Unpin": "Desfixar",
|
||||
"us_cup": "xícara (EUA, volume)",
|
||||
"Error": "Erro",
|
||||
"Bookmarklet": "Marcador",
|
||||
"Sticky_Nav": "Navegação fixa",
|
||||
"Show_Logo_Help": "Mostre o logotipo do Tandoor ou do espaço na barra de navegação.",
|
||||
"Nav_Text_Mode_Help": "Comporta-se de maneira diferente para cada tema.",
|
||||
"Space_Cosmetic_Settings": "Algumas configurações cosméticas podem ser alteradas pelos administradores do espaço e substituirão as configurações do cliente para esse espaço.",
|
||||
"Import_Error": "Ocorreu um erro durante a importação. Expanda os detalhes na parte inferior da página para visualizá-los.",
|
||||
"Unchanged": "Sem alterações",
|
||||
"show_step_ingredients_setting_help": "Adicione a tabela de ingredientes ao lado das etapas da receita. Aplica-se no momento da criação. Pode ser substituído na visualização de edição de receita.",
|
||||
"Toggle": "Alternar",
|
||||
"Split_All_Steps": "Divida todas as linhas em etapas separadas.",
|
||||
"gallon": "galão [gal] (EUA, volume)",
|
||||
"tsp": "colher de chá [tsp] (EUA, volume)",
|
||||
"imperial_fluid_ounce": "onça fluida imperial [imp fl oz] (Reino Unido, volume)",
|
||||
"imperial_pint": "pinta imperial [imp pt] (Reino Unido, volume)",
|
||||
"imperial_quart": "quarto de galão imperial [imp qt] (Reino Unido, volume)",
|
||||
"imperial_tsp": "colher de chá imperial [imp tsp] (Reino Unido, volume)",
|
||||
"imperial_tbsp": "colher de sopa imperial [imp tbsp] (Reino Unido, volume)",
|
||||
"OrderInformation": "Os objetos são ordenados de números pequenos a grandes.",
|
||||
"PinnedConfirmation": "{recipe} foi fixada.",
|
||||
"UnpinnedConfirmation": "{recipe} foi desafixada.",
|
||||
"Created": "Criado",
|
||||
"Updated": "Atualizado",
|
||||
"Logo": "Logotipo",
|
||||
"Show_Logo": "Mostrar logotipo",
|
||||
"Social_Authentication": "Autenticação social",
|
||||
"Enable": "Ativar",
|
||||
"Warning_Delete_Supermarket_Category": "Excluir uma categoria de supermercado também excluirá todas as relações com alimentos. Tem certeza?",
|
||||
"ounce": "onça [oz] (peso)",
|
||||
"pound": "libra (peso)",
|
||||
"fluid_ounce": "onça fluida [fl oz] (EUA, volume)",
|
||||
"Transpose_Words": "Transpor palavras",
|
||||
"Never_Unit": "Unidade nunca",
|
||||
"DefaultPage": "Página padrão",
|
||||
"pint": "pint [pt] (EUA, volume)",
|
||||
"quart": "quarto de galão [qt] (EUA, volume)",
|
||||
"tbsp": "colher de sopa [colher de sopa] (EUA, volume)",
|
||||
"imperial_gallon": "Galão imperial [imp gal] (Reino Unido, volume)",
|
||||
"Nav_Text_Mode": "Modo de Navegação em Texto",
|
||||
"make_now_count": "Máximo de ingredientes em falta"
|
||||
}
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
"Next_Day": "Naslednji Dan",
|
||||
"Previous_Day": "Prejšnji Dan",
|
||||
"Coming_Soon": "Kmalu",
|
||||
"Auto_Planner": "Avto-planer",
|
||||
"Auto_Planner": "Samodejni planer",
|
||||
"New_Cookbook": "Nova kuharska knjiga",
|
||||
"Hide_Keyword": "Skrij ključne besede",
|
||||
"Clear": "Počisti",
|
||||
@@ -215,7 +215,7 @@
|
||||
"RemoveFoodFromShopping": "Odstrani {food} iz nakupovalnega listka",
|
||||
"SupermarketCategoriesOnly": "Prikaži samo trgovinske kategorije",
|
||||
"DelayFor": "Zamakni za {hours} ur",
|
||||
"OfflineAlert": "Si v offline načinu, nakupovalni listek se mogoče ne bo sinhroniziral.",
|
||||
"OfflineAlert": "Si v načinu brez povezave, nakupovalni listek se mogoče ne bo sinhroniziral.",
|
||||
"shopping_share_desc": "Uporabniki bodo videli vse elemente, ki si jih dodal v nakupovalni listek. Morajo te dodati, da vidiš njihove elemente na listku.",
|
||||
"shopping_auto_sync_desc": "Nastavitev na 0 bo onemogoča avtomatsko sinhronizacijo. Pri ogledu nakupovalnega seznama se seznam posodablja vsakih nekaj sekund za sinhronizacijo sprememb, ki jih je morda naredil nekdo drug. Uporabno pri nakupovanju z več ljudmi, vendar bo uporabljalo mobilne podatke.",
|
||||
"filter_to_supermarket_desc": "Privzeto, razvrsti nakupovalni listek, da vključi samo označene trgovine.",
|
||||
@@ -225,7 +225,7 @@
|
||||
"success_moving_resource": "Premikanje vira je bilo uspešno!",
|
||||
"success_merging_resource": "Združevanje vira je bilo uspešno!",
|
||||
"Added_by": "Dodano s strani",
|
||||
"AddToShopping": "Dodaj nakupovlanemu listku",
|
||||
"AddToShopping": "Dodaj nakupovalnemu listku",
|
||||
"NotInShopping": "{food} ni v tvojem nakupovalnem listku.",
|
||||
"OnHand": "Trenutno imam v roki",
|
||||
"FoodOnHand": "Imaš {food} v roki.",
|
||||
@@ -247,8 +247,8 @@
|
||||
"ShowDelayed": "Pokaži odložene elemente",
|
||||
"Completed": "Končano",
|
||||
"shopping_share": "Deli nakupovalni listek",
|
||||
"shopping_auto_sync": "Avtomatska sinhronizacija",
|
||||
"mealplan_autoadd_shopping": "Avtomatsko dodaj obrok v načrt",
|
||||
"shopping_auto_sync": "Samodejna sinhronizacija",
|
||||
"mealplan_autoadd_shopping": "Samodejno dodaj obrok v načrt",
|
||||
"mealplan_autoexclude_onhand": "Izključi hrano v roki",
|
||||
"mealplan_autoinclude_related": "Dodaj povezane recepte",
|
||||
"default_delay": "Privzete ure za zamik",
|
||||
@@ -275,7 +275,7 @@
|
||||
"copy_markdown_table": "Kopiraj kot Markdown tabela",
|
||||
"in_shopping": "V nakupovalnem listku",
|
||||
"DelayUntil": "Zamakni do",
|
||||
"shopping_add_onhand": "Avtomatsko v roki",
|
||||
"shopping_add_onhand": "Samodejno v roki",
|
||||
"related_recipes": "Povezani recepti",
|
||||
"today_recipes": "Današnji recepti",
|
||||
"mark_complete": "Označi končano",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"warning_feature_beta": "Bu özellik şu anda BETA (test) durumundadır. Lütfen bu özelliği kullanırken hatalara ve muhtemelen gelecekte değişikliklere (muhtemelen özellikle ilgili verilerin kaybolmasına) hazırlıklı olun.",
|
||||
"warning_feature_beta": "Bu özellik şu anda BETA (test) aşamasındadır. Lütfen bu özelliği kullanırken gelecekte hatalar ve muhtemelen kırıcı değişiklikler (muhtemelen özellikle ilgili verileri kaybetme) bekleyin",
|
||||
"err_fetching_resource": "Kaynak alınırken bir hata oluştu!",
|
||||
"err_creating_resource": "Kaynak oluşturulurken bir hata oluştu!",
|
||||
"err_updating_resource": "Kaynak güncellenirken bir hata oluştu!",
|
||||
@@ -567,5 +567,6 @@
|
||||
"imperial_tbsp": "imperial tablespoon [imp tbsp] (Birleşik Krallık, hacim)",
|
||||
"imperial_tsp": "imperial teaspoon [imp tsp] (Birleşik Krallık, hacim)",
|
||||
"Back": "Geri",
|
||||
"Use_Plural_Unit_Simple": "Birim için dinamik olarak çoğul biçimi kullanın"
|
||||
"Use_Plural_Unit_Simple": "Birim için dinamik olarak çoğul biçimi kullanın",
|
||||
"us_cup": "bardak (ABD, hacim)"
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
"all_fields_optional": "Всі поля опціональні і можна залишити їх пустими.",
|
||||
"convert_internal": "Конвертувати у внутрішній рецепт",
|
||||
"show_only_internal": "Показати тільки внутрішні рецепти",
|
||||
"show_split_screen": "",
|
||||
"show_split_screen": "Розділений перегляд",
|
||||
"Log_Recipe_Cooking": "",
|
||||
"External_Recipe_Image": "Зображення Зовнішнього Рецепту",
|
||||
"Add_to_Shopping": "Додати до Покупок",
|
||||
@@ -437,5 +437,8 @@
|
||||
"Use_Fractions_Help": "Автоматично конвертувати десятки в дроби, коли дивитесь рецепт.",
|
||||
"Copy Link": "Скопіювати Посилання",
|
||||
"Original_Text": "Оригінальний текст",
|
||||
"Default_Unit": "Одиниця замовчуванням"
|
||||
"Default_Unit": "Одиниця замовчуванням",
|
||||
"recipe_property_info": "Ви також можете додати властивості до продуктів, щоб розрахувати їх автоматично на основі вашого рецепту!",
|
||||
"per_serving": "на порцію",
|
||||
"err_importing_recipe": "Виникла помилка при імпортуванні рецепту!"
|
||||
}
|
||||
|
||||
@@ -3405,12 +3405,12 @@ available-typed-arrays@^1.0.5:
|
||||
resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
|
||||
integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
|
||||
|
||||
axios@^1.6.7:
|
||||
version "1.6.7"
|
||||
resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7"
|
||||
integrity sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==
|
||||
axios@^1.8.2:
|
||||
version "1.8.2"
|
||||
resolved "https://registry.yarnpkg.com/axios/-/axios-1.8.2.tgz#fabe06e241dfe83071d4edfbcaa7b1c3a40f7979"
|
||||
integrity sha512-ls4GYBm5aig9vWx8AWDSGLpnpDQRtWAfrjU+EuytuODrFBkqesN2RkOQCBzrA1RQNHw1SmRMSDDDSwzNAYQ6Rg==
|
||||
dependencies:
|
||||
follow-redirects "^1.15.4"
|
||||
follow-redirects "^1.15.6"
|
||||
form-data "^4.0.0"
|
||||
proxy-from-env "^1.1.0"
|
||||
|
||||
@@ -5979,10 +5979,10 @@ flush-write-stream@^1.0.0:
|
||||
inherits "^2.0.3"
|
||||
readable-stream "^2.3.6"
|
||||
|
||||
follow-redirects@^1.0.0, follow-redirects@^1.15.4:
|
||||
version "1.15.6"
|
||||
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b"
|
||||
integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==
|
||||
follow-redirects@^1.0.0, follow-redirects@^1.15.6:
|
||||
version "1.15.9"
|
||||
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1"
|
||||
integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==
|
||||
|
||||
for-each@^0.3.3:
|
||||
version "0.3.3"
|
||||
@@ -9154,10 +9154,10 @@ pretty-error@^4.0.0:
|
||||
lodash "^4.17.20"
|
||||
renderkid "^3.0.0"
|
||||
|
||||
prismjs@^1.23.0, prismjs@^1.29.0:
|
||||
version "1.29.0"
|
||||
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12"
|
||||
integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==
|
||||
prismjs@^1.23.0, prismjs@^1.30.0:
|
||||
version "1.30.0"
|
||||
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.30.0.tgz#d9709969d9d4e16403f6f348c63553b19f0975a9"
|
||||
integrity sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==
|
||||
|
||||
private@^0.1.8, private@~0.1.5:
|
||||
version "0.1.8"
|
||||
|
||||
Reference in New Issue
Block a user