From a47d9d00fd10ea304056afcb6823bdfb6b59bd51 Mon Sep 17 00:00:00 2001 From: Christoph Schmatzler Date: Wed, 1 Sep 2021 19:46:55 +0200 Subject: [PATCH 01/15] Allow specifying port through TANDOOR_PORT environment variable --- boot.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/boot.sh b/boot.sh index 8cd2c22cc..c799e3a39 100644 --- a/boot.sh +++ b/boot.sh @@ -1,6 +1,8 @@ #!/bin/sh source venv/bin/activate +TANDOOR_PORT="${TANDOOR_PORT:-8080}" + echo "Updating database" python manage.py migrate python manage.py collectstatic_js_reverse @@ -9,4 +11,4 @@ echo "Done" chmod -R 755 /opt/recipes/mediafiles -exec gunicorn -b :8080 --access-logfile - --error-logfile - --log-level INFO recipes.wsgi \ No newline at end of file +exec gunicorn -b :$TANDOOR_PORT --access-logfile - --error-logfile - --log-level INFO recipes.wsgi \ No newline at end of file From e5607aff9085d26f5fb13e3ee18a5a5e2df0eb71 Mon Sep 17 00:00:00 2001 From: Christoph Schmatzler Date: Thu, 2 Sep 2021 16:08:06 +0200 Subject: [PATCH 02/15] Add TANDOOR_PORT to .env.template --- .env.template | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.env.template b/.env.template index 0456ca9e7..413221180 100644 --- a/.env.template +++ b/.env.template @@ -2,6 +2,9 @@ # when unset: 1 (true) - dont unset this, just for development DEBUG=0 +# HTTP port to bind to +# TANDOOR_PORT=8080 + # hosts the application can run under e.g. recipes.mydomain.com,cooking.mydomain.com,... ALLOWED_HOSTS=* From 9f9cc766c69536093a746c7617addd908fc17eef Mon Sep 17 00:00:00 2001 From: "thl@deb030" Date: Sun, 6 Feb 2022 17:34:25 +0100 Subject: [PATCH 03/15] Small fix for dupplicate entries. --- docs/install/k8s/40-sts-postgresql.yaml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/docs/install/k8s/40-sts-postgresql.yaml b/docs/install/k8s/40-sts-postgresql.yaml index 5c769dd10..44ec13d0a 100644 --- a/docs/install/k8s/40-sts-postgresql.yaml +++ b/docs/install/k8s/40-sts-postgresql.yaml @@ -24,12 +24,6 @@ spec: name: recipes-postgresql namespace: default spec: - restartPolicy: Always - securityContext: - fsGroup: 999 - serviceAccount: recipes - serviceAccountName: recipes - terminationGracePeriodSeconds: 30 containers: - name: recipes-db env: @@ -125,8 +119,6 @@ spec: serviceAccount: recipes serviceAccountName: recipes terminationGracePeriodSeconds: 30 - updateStrategy: - type: RollingUpdate volumeClaimTemplates: - apiVersion: v1 kind: PersistentVolumeClaim From bd8633c630448a40367bf727e5bf91e0a51df8cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20M=C3=A4rtens?= Date: Sun, 6 Feb 2022 19:32:50 +0100 Subject: [PATCH 04/15] Update the baseimage of dockerfile as alpine 3.12 has some security vunerabilities. According to: https://artifacthub.io/packages/helm/truecharts/recipes?modal=security-report&image=tccr.io%2Ftruecharts%2Frecipes%3Av1.0.5%40sha256%3Ac74923879e7d2bf5bff4d1e953a100307462ad191a79908165f3364b97446833 There are at least 4 Chritical ones with a total of 47. So updating the base should prob be a good thing and help here. --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index b69c037ac..80e05f6a8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.9-alpine3.12 +FROM python:3.10-alpine3.15 #Install all dependencies. RUN apk add --no-cache postgresql-libs gettext zlib libjpeg libwebp libxml2-dev libxslt-dev py-cryptography From 542b656beaee1f1cf902007b5938abe7c669c7ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20M=C3=A4rtens?= Date: Mon, 7 Feb 2022 19:21:35 +0100 Subject: [PATCH 05/15] fix python-ldap bugs according to https://github.com/TandoorRecipes/recipes/pull/1499\#issuecomment-1031627178 --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index 80e05f6a8..a626649ae 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,6 +16,7 @@ WORKDIR /opt/recipes COPY requirements.txt ./ RUN apk add --no-cache --virtual .build-deps gcc musl-dev postgresql-dev zlib-dev jpeg-dev libwebp-dev libressl-dev libffi-dev cargo openssl-dev openldap-dev && \ + echo -n "INPUT ( libldap.so )" > /usr/lib/libldap_r.so && \ python -m venv venv && \ /opt/recipes/venv/bin/python -m pip install --upgrade pip && \ venv/bin/pip install wheel==0.36.2 && \ From a35aa953b4fb9949348e1c16bd498b5e2b876e07 Mon Sep 17 00:00:00 2001 From: MaxJa4 <74194322+MaxJa4@users.noreply.github.com> Date: Tue, 8 Feb 2022 18:15:04 +0100 Subject: [PATCH 06/15] Ping DB instead of trying migration --- Dockerfile | 2 +- boot.sh | 28 ++++++++++++++-------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Dockerfile b/Dockerfile index b69c037ac..68d2366da 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,7 +15,7 @@ WORKDIR /opt/recipes COPY requirements.txt ./ -RUN apk add --no-cache --virtual .build-deps gcc musl-dev postgresql-dev zlib-dev jpeg-dev libwebp-dev libressl-dev libffi-dev cargo openssl-dev openldap-dev && \ +RUN apk add --no-cache --virtual .build-deps gcc musl-dev postgresql-dev postgresql zlib-dev jpeg-dev libwebp-dev libressl-dev libffi-dev cargo openssl-dev openldap-dev && \ python -m venv venv && \ /opt/recipes/venv/bin/python -m pip install --upgrade pip && \ venv/bin/pip install wheel==0.36.2 && \ diff --git a/boot.sh b/boot.sh index 7e2f05fa0..ced7aaa29 100644 --- a/boot.sh +++ b/boot.sh @@ -1,28 +1,28 @@ #!/bin/sh source venv/bin/activate -echo "Migrating database" +echo "Waiting for database to be ready..." attempt=0 max_attempts=20 -while python manage.py migrate; \ - status=$?; \ - attempt=$((attempt+1)); \ - [ $status -eq 1 ] \ - && [ $attempt -le $max_attempts ]; do - echo -e "\n!!! Migration failed (error ${status}, attempt ${attempt}/${max_attempts})." - echo "!!! Database may not be ready yet or system is misconfigured." - echo -e "!!! Retrying in 5 seconds...\n" - sleep 5 +while pg_isready --host=${POSTGRES_HOST} -q; status=$?; attempt=$((attempt+1)); [ $status -ne 0 ] && [ $attempt -le $max_attempts ]; do + sleep 5 # no echo needed, response comes from pg_isready already done if [ $attempt -gt $max_attempts ]; then - echo -e "\n!!! Migration failed. Maximum attempts exceeded." - echo "!!! Please check logs above - misconfiguration is very likely." - echo "!!! Shutting down container." + echo -e "\nDatabase not reachable. Maximum attempts exceeded." + echo "Please check logs above - misconfiguration is very likely." + echo "Make sure the DB container is up and POSTGRES_HOST is set properly." + echo "Shutting down container." exit 1 # exit with error to make the container stop fi +echo "Database is ready" + +echo "Migrating database" + +python manage.py migrate + echo "Generating static files" python manage.py collectstatic_js_reverse @@ -32,4 +32,4 @@ echo "Done" chmod -R 755 /opt/recipes/mediafiles -exec gunicorn -b :8080 --access-logfile - --error-logfile - --log-level INFO recipes.wsgi +exec gunicorn -b :8080 --access-logfile - --error-logfile - --log-level INFO recipes.wsgi \ No newline at end of file From cb755a47bcf8986fa53bc9a4db04046efc1bc3f6 Mon Sep 17 00:00:00 2001 From: MaxJa4 <74194322+MaxJa4@users.noreply.github.com> Date: Tue, 8 Feb 2022 18:19:32 +0100 Subject: [PATCH 07/15] Remove wrong code comment --- boot.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/boot.sh b/boot.sh index ced7aaa29..9e081d5b5 100644 --- a/boot.sh +++ b/boot.sh @@ -6,7 +6,7 @@ echo "Waiting for database to be ready..." attempt=0 max_attempts=20 while pg_isready --host=${POSTGRES_HOST} -q; status=$?; attempt=$((attempt+1)); [ $status -ne 0 ] && [ $attempt -le $max_attempts ]; do - sleep 5 # no echo needed, response comes from pg_isready already + sleep 5 done if [ $attempt -gt $max_attempts ]; then @@ -32,4 +32,4 @@ echo "Done" chmod -R 755 /opt/recipes/mediafiles -exec gunicorn -b :8080 --access-logfile - --error-logfile - --log-level INFO recipes.wsgi \ No newline at end of file +exec gunicorn -b :8080 --access-logfile - --error-logfile - --log-level INFO recipes.wsgi From 45942dfa7f9a8f81948364dcab546990f0cc77e5 Mon Sep 17 00:00:00 2001 From: MaxJa4 <74194322+MaxJa4@users.noreply.github.com> Date: Tue, 8 Feb 2022 18:20:19 +0100 Subject: [PATCH 08/15] Fixed indentation --- boot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boot.sh b/boot.sh index 9e081d5b5..187e4c951 100644 --- a/boot.sh +++ b/boot.sh @@ -12,7 +12,7 @@ done if [ $attempt -gt $max_attempts ]; then echo -e "\nDatabase not reachable. Maximum attempts exceeded." echo "Please check logs above - misconfiguration is very likely." - echo "Make sure the DB container is up and POSTGRES_HOST is set properly." + echo "Make sure the DB container is up and POSTGRES_HOST is set properly." echo "Shutting down container." exit 1 # exit with error to make the container stop fi From 2471bb21f65b0e93f383b08d5b83c7312c965fd0 Mon Sep 17 00:00:00 2001 From: MaxJa4 <74194322+MaxJa4@users.noreply.github.com> Date: Tue, 8 Feb 2022 19:00:54 +0100 Subject: [PATCH 09/15] Fixed dep. position and used smaller package --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 68d2366da..5e9fb621d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM python:3.9-alpine3.12 #Install all dependencies. -RUN apk add --no-cache postgresql-libs gettext zlib libjpeg libwebp libxml2-dev libxslt-dev py-cryptography +RUN apk add --no-cache postgresql-libs postgresql-client gettext zlib libjpeg libwebp libxml2-dev libxslt-dev py-cryptography #Print all logs without buffering it. ENV PYTHONUNBUFFERED 1 @@ -15,7 +15,7 @@ WORKDIR /opt/recipes COPY requirements.txt ./ -RUN apk add --no-cache --virtual .build-deps gcc musl-dev postgresql-dev postgresql zlib-dev jpeg-dev libwebp-dev libressl-dev libffi-dev cargo openssl-dev openldap-dev && \ +RUN apk add --no-cache --virtual .build-deps gcc musl-dev postgresql-dev zlib-dev jpeg-dev libwebp-dev libressl-dev libffi-dev cargo openssl-dev openldap-dev && \ python -m venv venv && \ /opt/recipes/venv/bin/python -m pip install --upgrade pip && \ venv/bin/pip install wheel==0.36.2 && \ From faf51d04557355a2b49cc435ab4329f8cfa9c48b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marion=20K=C3=A4mpfer?= Date: Mon, 7 Feb 2022 21:54:15 +0000 Subject: [PATCH 10/15] Translated using Weblate (French) Currently translated at 94.7% (538 of 568 strings) Translation: Tandoor/Recipes Backend Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/fr/ --- cookbook/locale/fr/LC_MESSAGES/django.po | 482 ++++++++++++----------- 1 file changed, 242 insertions(+), 240 deletions(-) diff --git a/cookbook/locale/fr/LC_MESSAGES/django.po b/cookbook/locale/fr/LC_MESSAGES/django.po index 5ca60a34e..b639bf0db 100644 --- a/cookbook/locale/fr/LC_MESSAGES/django.po +++ b/cookbook/locale/fr/LC_MESSAGES/django.po @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-01-18 14:52+0100\n" -"PO-Revision-Date: 2022-02-06 21:31+0000\n" +"PO-Revision-Date: 2022-02-09 01:31+0000\n" "Last-Translator: Marion Kämpfer \n" "Language-Team: French \n" @@ -61,7 +61,7 @@ msgstr "Page par défaut" #: .\cookbook\forms.py:63 msgid "Show recent recipes" -msgstr "Montrer les recettes récentes" +msgstr "Afficher les recettes récentes" #: .\cookbook\forms.py:64 msgid "Search style" @@ -89,13 +89,13 @@ msgid "" "Color of the top navigation bar. Not all colors work with all themes, just " "try them out!" msgstr "" -"La couleur de la barre de navigation du haut. Toutes les couleurs ne " -"marchent pas avec tous les thèmes, essayez-les !" +"Couleur de la barre de navigation du haut. Les couleurs ne fonctionnent pas " +"toutes avec tous les thèmes, faites des essais !" #: .\cookbook\forms.py:74 msgid "Default Unit to be used when inserting a new ingredient into a recipe." msgstr "" -"L'unité par défaut utilisée lors de l'ajout d'un nouvel ingrédient dans une " +"Unité par défaut utilisée lors de l’ajout d’un nouvel ingrédient dans une " "recette." #: .\cookbook\forms.py:76 @@ -103,24 +103,20 @@ msgid "" "Enables support for fractions in ingredient amounts (e.g. convert decimals " "to fractions automatically)" msgstr "" -"Autorise l'usage des fractions dans les quantités des ingrédients (convertit " -"les décimales en fractions automatiquement)" +"Permet la prise en charge des fractions dans les quantités d’ingrédients (" +"convertit les décimales en fractions automatiquement)" #: .\cookbook\forms.py:78 msgid "Display nutritional energy amounts in joules instead of calories" msgstr "" -"Afficher les quantités d'énergie nutritionnelle en joules plutôt qu'en " +"Afficher les quantités d’énergie nutritionnelle en joules plutôt qu’en " "calories" #: .\cookbook\forms.py:79 -#, fuzzy -#| msgid "" -#| "Users with whom newly created meal plan/shopping list entries should be " -#| "shared by default." msgid "Users with whom newly created meal plans should be shared by default." msgstr "" -"Utilisateurs avec lesquels les listes de courses et plans de repas " -"nouvellement créés seront partagés par défaut." +"Utilisateurs avec lesquels partager par défaut les menus de la semaines " +"nouvellement créés." #: .\cookbook\forms.py:80 msgid "Users with whom to share shopping lists." @@ -137,7 +133,7 @@ msgstr "Nombre de décimales pour arrondir les ingrédients." #: .\cookbook\forms.py:84 msgid "If you want to be able to create and see comments underneath recipes." msgstr "" -"Si vous souhaitez pouvoir créer et consulter des commentaires en-dessous des " +"Si vous souhaitez pouvoir créer et consulter des commentaires en dessous des " "recettes." #: .\cookbook\forms.py:86 .\cookbook\forms.py:493 @@ -147,11 +143,11 @@ msgid "" "Useful when shopping with multiple people but might use a little bit of " "mobile data. If lower than instance limit it is reset when saving." msgstr "" -"\"0\" désactivera la synchronisation automatique. Lorsque vous consultez une " +"« 0 » désactivera la synchronisation automatique. Lorsque vous consultez une " "liste de courses, la liste sera mise à jour toutes les x secondes pour " -"synchroniser les modifications apportées par quelqu'un d'autre. Utile " +"synchroniser les modifications apportées par quelqu’un d'autre. Utile " "lorsque vous faites vos courses à plusieurs mais peut consommer davantage de " -"données mobiles. Si la valeur est plus petite que les limites de l'instance, " +"données mobiles. Si la valeur est plus petite que les limites de l’instance, " "le paramètre sera réinitialisé." #: .\cookbook\forms.py:89 @@ -161,18 +157,20 @@ msgstr "Épingler la barre de navigation en haut de la page." #: .\cookbook\forms.py:90 .\cookbook\forms.py:496 msgid "Automatically add meal plan ingredients to shopping list." msgstr "" +"Ajouter les ingrédients du menu de la semaine à la liste de courses " +"automatiquement." #: .\cookbook\forms.py:91 msgid "Exclude ingredients that are on hand." -msgstr "" +msgstr "Exclure les ingrédients disponibles." #: .\cookbook\forms.py:108 msgid "" "Both fields are optional. If none are given the username will be displayed " "instead" msgstr "" -"Les deux champs sont facultatifs. Si aucun n'est rempli, le nom " -"d'utilisateur sera affiché à la place" +"Les deux champs sont facultatifs. Si aucun n’est rempli, le nom d’" +"utilisateur sera affiché à la place" #: .\cookbook\forms.py:129 .\cookbook\forms.py:298 #: .\cookbook\templates\url_import.html:161 @@ -188,11 +186,11 @@ msgstr "Mots-clés" #: .\cookbook\forms.py:131 msgid "Preparation time in minutes" -msgstr "Le temps de préparation en minutes" +msgstr "Temps de préparation en minutes" #: .\cookbook\forms.py:132 msgid "Waiting time (cooking/baking) in minutes" -msgstr "Temps d'attente (pose/cuisson) en minutes" +msgstr "Temps d’attente (cuisson) en minutes" #: .\cookbook\forms.py:133 .\cookbook\forms.py:267 .\cookbook\forms.py:300 msgid "Path" @@ -216,25 +214,25 @@ msgstr "" #: .\cookbook\forms.py:197 msgid "Add your comment: " -msgstr "Ajoutez votre commentaire : " +msgstr "Ajoutez votre commentaire : " #: .\cookbook\forms.py:212 msgid "Leave empty for dropbox and enter app password for nextcloud." msgstr "" -"Laissez vide pour Dropbox et renseigner votre mot de passe d'application " +"Laissez vide pour Dropbox et renseignez votre mot de passe d’application " "pour Nextcloud." #: .\cookbook\forms.py:219 msgid "Leave empty for nextcloud and enter api token for dropbox." msgstr "" -"Laissez vide pour Nextcloud et renseignez vote jeton d'API pour Dropbox." +"Laissez vide pour Nextcloud et renseignez votre jeton d’API pour Dropbox." #: .\cookbook\forms.py:228 msgid "" "Leave empty for dropbox and enter only base url for nextcloud (/remote." "php/webdav/ is added automatically)" msgstr "" -"Laisser vide pour Dropbox et saisissez seulement l'URL de base pour " +"Laisser vide pour Dropbox et saisissez seulement l’URL de base pour " "Nextcloud (/remote.php/webdav/ est ajouté automatiquement)" #: .\cookbook\forms.py:266 .\cookbook\views\edit.py:166 @@ -273,34 +271,34 @@ msgstr "" #: .\cookbook\forms.py:363 msgid "Maximum number of users for this space reached." -msgstr "Nombre maximum d'utilisateurs atteint pour ce groupe." +msgstr "Nombre maximum d’utilisateurs atteint pour ce groupe." #: .\cookbook\forms.py:369 msgid "Email address already taken!" -msgstr "Adresse mail déjà utilisée !" +msgstr "Adresse mail déjà utilisée !" #: .\cookbook\forms.py:377 msgid "" "An email address is not required but if present the invite link will be sent " "to the user." msgstr "" -"Une adresse mail n'est pas requise mais si elle présente, le lien " -"d'invitation sera envoyé à l'utilisateur." +"Une adresse mail n’est pas requise mais si elle est renseignée, le lien d’" +"invitation sera envoyé à l’utilisateur." #: .\cookbook\forms.py:392 msgid "Name already taken." -msgstr "Nom déjà pris." +msgstr "Nom déjà utilisé." #: .\cookbook\forms.py:403 msgid "Accept Terms and Privacy" -msgstr "Accepter les conditions d'utilisation" +msgstr "Accepter les conditions d’utilisation" #: .\cookbook\forms.py:435 msgid "" "Determines how fuzzy a search is if it uses trigram similarity matching (e." "g. low values mean more typos are ignored)." msgstr "" -"Détermine le degré de flou d'une recherche si elle utilise la correspondance " +"Détermine le degré de flou d’une recherche si elle utilise la correspondance " "par similarité de trigrammes (par exemple, des valeurs faibles signifient " "que davantage de fautes de frappe sont ignorées)." @@ -318,14 +316,14 @@ msgid "" "importing recipes." msgstr "" "Utilisez la correspondance floue sur les unités, les mots-clés et les " -"ingrédients lors de l'édition et de l'importation de recettes." +"ingrédients lors de l’édition et de l’importation de recettes." #: .\cookbook\forms.py:448 msgid "" "Fields to search ignoring accents. Selecting this option can improve or " "degrade search quality depending on language" msgstr "" -"Champs à rechercher en ignorant les accents. La sélection de cette option " +"Champs à rechercher en ignorant les accents. La sélection de cette option " "peut améliorer ou dégrader la qualité de la recherche en fonction de la " "langue." @@ -335,7 +333,7 @@ msgid "" "'pie' and 'piece' and 'soapie')" msgstr "" "Champs à rechercher pour les correspondances partielles. (par exemple, la " -"recherche de \"Tarte\" renverra \"tarte\", \"tartelette\" et \"tartes\")" +"recherche de « Tarte » renverra « tarte », « tartelette » et « tartes »)" #: .\cookbook\forms.py:452 msgid "" @@ -343,25 +341,25 @@ msgid "" "will return 'salad' and 'sandwich')" msgstr "" "Champs permettant de rechercher les correspondances de début de mot (par " -"exemple, si vous recherchez \"sa\", vous obtiendrez \"salade\" et \"sandwich" -"\")." +"exemple, si vous recherchez « sa », vous obtiendrez « salade » et « " +"sandwich»)." #: .\cookbook\forms.py:454 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 "" -"Champs pour la recherche \"floue\" (par exemple, si vous recherchez \"rectte" -"\", vous trouverez \"recette\".) Remarque : cette option est incompatible " -"avec les méthodes de recherche \"web\" et \"brute\"." +"Champs pour la recherche « floue » (par exemple, si vous recherchez « rectte»" +", vous trouverez « recette ».) Remarque : cette option est incompatible avec " +"les méthodes de recherche « web » et « brute »." #: .\cookbook\forms.py:456 msgid "" "Fields to full text search. Note: 'web', 'phrase', and 'raw' search methods " "only function with fulltext fields." msgstr "" -"Champs de recherche en texte intégral. Remarque : les méthodes de recherche " -"\"web\", \"phrase\" et \"raw\" ne fonctionnent qu'avec des champs en texte " +"Champs de recherche en texte intégral. Remarque : les méthodes de recherche «" +" web », « phrase » et « brute » ne fonctionnent qu’avec des champs en texte " "intégral." #: .\cookbook\forms.py:460 @@ -390,25 +388,32 @@ msgstr "Recherche floue" #: .\cookbook\forms.py:466 msgid "Full Text" -msgstr "Plein texte" +msgstr "Texte intégral" #: .\cookbook\forms.py:491 msgid "" "Users will see all items you add to your shopping list. They must add you " "to see items on their list." msgstr "" +"Les utilisateurs verront tous les éléments que vous ajoutez à votre liste de " +"courses. Ils doivent vous ajouter pour que vous puissiez voir les éléments " +"de leur liste." #: .\cookbook\forms.py:497 msgid "" "When adding a meal plan to the shopping list (manually or automatically), " "include all related recipes." msgstr "" +"Lors de l’ajout d’un menu de la semaine à la liste de courses (manuel ou " +"automatique), inclure toutes les recettes connexes." #: .\cookbook\forms.py:498 msgid "" "When adding a meal plan to the shopping list (manually or automatically), " "exclude ingredients that are on hand." msgstr "" +"Lors de l’ajout d’un menu de la semaine à la liste de courses (manuel ou " +"automatique), exclure les ingrédients disponibles." #: .\cookbook\forms.py:499 msgid "Default number of hours to delay a shopping list entry." @@ -427,6 +432,7 @@ msgstr "" #: .\cookbook\forms.py:502 msgid "Mark food 'On Hand' when checked off shopping list." msgstr "" +"Marquer l’aliment comme disponible lorsqu’il est rayé de la liste de courses." #: .\cookbook\forms.py:503 msgid "Delimiter to use for CSV exports." @@ -434,7 +440,7 @@ msgstr "Caractère de séparation à utiliser pour les exportations CSV." #: .\cookbook\forms.py:504 msgid "Prefix to add when copying list to the clipboard." -msgstr "Préfixe à utiliser pour copier la liste dans le presse-papiers." +msgstr "Préfixe à ajouter lors de la copie de la liste dans le presse-papiers." #: .\cookbook\forms.py:508 msgid "Share Shopping List" @@ -442,7 +448,7 @@ msgstr "Partager la liste de courses" #: .\cookbook\forms.py:509 msgid "Autosync" -msgstr "" +msgstr "Synchronisation automatique" #: .\cookbook\forms.py:510 msgid "Auto Add Meal Plan" @@ -450,11 +456,11 @@ msgstr "Ajouter le menu de la semaine automatiquement" #: .\cookbook\forms.py:511 msgid "Exclude On Hand" -msgstr "" +msgstr "Exclure ingrédients disponibles" #: .\cookbook\forms.py:512 msgid "Include Related" -msgstr "" +msgstr "Inclure recettes connexes" #: .\cookbook\forms.py:513 msgid "Default Delay Hours" @@ -468,7 +474,7 @@ msgstr "Sélectionner un supermarché" #: .\cookbook\forms.py:515 msgid "Recent Days" -msgstr "" +msgstr "Jours récents" #: .\cookbook\forms.py:516 msgid "CSV Delimiter" @@ -480,7 +486,7 @@ msgstr "Préfixe de la liste" #: .\cookbook\forms.py:518 msgid "Auto On Hand" -msgstr "" +msgstr "Disponible automatique" #: .\cookbook\forms.py:528 msgid "Reset Food Inheritance" @@ -488,7 +494,7 @@ msgstr "" #: .\cookbook\forms.py:529 msgid "Reset all food to inherit the fields configured." -msgstr "" +msgstr "Réinitialiser tous les aliments pour hériter les champs configurés." #: .\cookbook\forms.py:541 #, fuzzy @@ -497,23 +503,22 @@ msgid "Fields on food that should be inherited by default." msgstr "Aliment qui devrait être remplacé." #: .\cookbook\forms.py:542 -#, fuzzy -#| msgid "Show recently viewed recipes on search page." msgid "Show recipe counts on search filters" -msgstr "Afficher les recettes récemment consultées sur la page de recherche." +msgstr "" +"Afficher le nombre de consultations par recette sur les filtres de recherche" #: .\cookbook\helper\AllAuthCustomAdapter.py:36 msgid "" "In order to prevent spam, the requested email was not send. Please wait a " "few minutes and try again." msgstr "" -"Pour éviter les spam, l'email demandé n'a pas été envoyé. Attendez quelques " -"minutes et réessayez." +"Pour éviter les courriers indésirables, l’email demandé n’a pas été envoyé. " +"Veuillez patienter quelques minutes et réessayer." #: .\cookbook\helper\permission_helper.py:136 #: .\cookbook\helper\permission_helper.py:159 .\cookbook\views\views.py:148 msgid "You are not logged in and therefore cannot view this page!" -msgstr "Vous n'êtes pas connecté et ne pouvez donc pas afficher cette page !" +msgstr "Vous n’êtes pas connecté(e) et ne pouvez donc pas afficher cette page !" #: .\cookbook\helper\permission_helper.py:140 #: .\cookbook\helper\permission_helper.py:146 @@ -525,7 +530,7 @@ msgstr "Vous n'êtes pas connecté et ne pouvez donc pas afficher cette page !" #: .\cookbook\views\views.py:159 .\cookbook\views\views.py:166 #: .\cookbook\views\views.py:232 msgid "You do not have the required permissions to view this page!" -msgstr "Vous n'avez pas les droits suffisants pour afficher cette page !" +msgstr "Vous ne disposez pas de droits suffisants pour afficher cette page !" #: .\cookbook\helper\permission_helper.py:164 #: .\cookbook\helper\permission_helper.py:187 @@ -533,46 +538,44 @@ msgstr "Vous n'avez pas les droits suffisants pour afficher cette page !" msgid "You cannot interact with this object as it is not owned by you!" msgstr "" "Vous ne pouvez pas interagir avec cet objet car il appartient à un autre " -"utilisateur !" +"utilisateur !" #: .\cookbook\helper\recipe_search.py:473 msgid "One of queryset or hash_key must be provided" msgstr "" #: .\cookbook\helper\shopping_helper.py:54 -#, fuzzy -#| msgid "You must provide at least a recipe or a title." msgid "You must supply a recipe or mealplan" -msgstr "Vous devez au moins fournir une recette ou un titre." +msgstr "Vous devez fournir une recette ou un menu de la semaine" #: .\cookbook\helper\shopping_helper.py:58 msgid "You must supply a created_by" -msgstr "" +msgstr "Vous devez fournir une information créé_par" #: .\cookbook\helper\template_helper.py:61 #: .\cookbook\helper\template_helper.py:63 msgid "Could not parse template code." -msgstr "Le code du modèle n'a pas pu être analysé." +msgstr "Impossible d’analyser le code du modèle." #: .\cookbook\integration\integration.py:200 msgid "" "Importer expected a .zip file. Did you choose the correct importer type for " "your data ?" msgstr "" -"Un fichier .zip était attendu à l'importation. Avez-vous choisi le bon " -"format pour vos données ?" +"Un fichier .zip était attendu à l’importation. Avez-vous choisi le bon " +"format pour vos données ?" #: .\cookbook\integration\integration.py:203 msgid "" "An unexpected error occurred during the import. Please make sure you have " "uploaded a valid file." msgstr "" -"Une erreur imprévue est survenue durant l'importation. Vérifiez que vous " -"avez téléverser un fichier valide." +"Une erreur imprévue est survenue durant l’importation. Vérifiez que vous " +"avez téléversé un fichier valide." #: .\cookbook\integration\integration.py:208 msgid "The following recipes were ignored because they already existed:" -msgstr "Les recettes suivantes ont été ignorées car elles existaient déjà :" +msgstr "Les recettes suivantes ont été ignorées car elles existaient déjà :" #: .\cookbook\integration\integration.py:212 #, python-format @@ -600,7 +603,7 @@ msgstr "Portions" #: .\cookbook\integration\saffron.py:25 msgid "Waiting time" -msgstr "Temps d'attente" +msgstr "Temps d’attente" #: .\cookbook\integration\saffron.py:27 msgid "Preparation Time" @@ -618,7 +621,7 @@ msgstr "Rubrique" #: .\cookbook\management\commands\rebuildindex.py:14 msgid "Rebuilds full text search index on Recipe" -msgstr "Reconstruction de l'index de recherche plein texte de Tandoor" +msgstr "Reconstruction de l’index de recherche en texte intégral de Tandoor" #: .\cookbook\management\commands\rebuildindex.py:18 msgid "Only Postgress databases use full text search, no index to rebuild" @@ -628,15 +631,15 @@ msgstr "" #: .\cookbook\management\commands\rebuildindex.py:29 msgid "Recipe index rebuild complete." -msgstr "La reconstruction de l'index des recettes est terminée." +msgstr "La reconstruction de l’index des recettes est terminée." #: .\cookbook\management\commands\rebuildindex.py:31 msgid "Recipe index rebuild failed." -msgstr "La reconstruction de l'index des recettes a échoué." +msgstr "La reconstruction de l’index des recettes a échoué." #: .\cookbook\migrations\0047_auto_20200602_1133.py:14 msgid "Breakfast" -msgstr "Petit-déjeuner" +msgstr "Petit déjeuner" #: .\cookbook\migrations\0047_auto_20200602_1133.py:19 msgid "Lunch" @@ -689,7 +692,7 @@ msgstr "Nouveau" #: .\cookbook\models.py:512 msgid " is part of a recipe step and cannot be deleted" -msgstr " fait partie d'une étape de la recette et ne peut être supprimé" +msgstr " fait partie d’une étape de la recette et ne peut être supprimé(e)" #: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:44 msgid "Text" @@ -728,15 +731,15 @@ msgstr "Brut" #: .\cookbook\models.py:1082 msgid "Food Alias" -msgstr "Ingrédient équivalent" +msgstr "Aliment équivalent" #: .\cookbook\models.py:1082 msgid "Unit Alias" -msgstr "Unité" +msgstr "Unité équivalente" #: .\cookbook\models.py:1082 msgid "Keyword Alias" -msgstr "Alias de mot-clé" +msgstr "Mot-clé équivalent" #: .\cookbook\serializer.py:175 msgid "A user is required" @@ -744,7 +747,7 @@ msgstr "Un utilisateur est requis" #: .\cookbook\serializer.py:195 msgid "File uploads are not enabled for this Space." -msgstr "Le téléversement de fichiers n'est pas autorisé pour ce groupe." +msgstr "Le téléversement de fichiers n’est pas autorisé pour ce groupe." #: .\cookbook\serializer.py:206 msgid "You have reached your file upload limit." @@ -767,11 +770,11 @@ msgstr "" #: .\cookbook\serializer.py:973 msgid "Amount of food to add to the shopping list" -msgstr "" +msgstr "Quantité d’aliments à ajouter à la liste de courses" #: .\cookbook\serializer.py:974 msgid "ID of unit to use for the shopping list" -msgstr "" +msgstr "ID de l’unité à utiliser pour la liste de courses" #: .\cookbook\serializer.py:975 msgid "When set to true will delete all food from active shopping lists." @@ -799,11 +802,11 @@ msgstr "Erreur 404" #: .\cookbook\templates\404.html:18 msgid "The page you are looking for could not be found." -msgstr "La page que vous recherchez n'a pas été trouvée." +msgstr "La page que vous recherchez est introuvable." #: .\cookbook\templates\404.html:33 msgid "Take me Home" -msgstr "Page d'accueil" +msgstr "Page d’accueil" #: .\cookbook\templates\404.html:35 msgid "Report a Bug" @@ -829,7 +832,7 @@ msgstr "Adresse mail" #: .\cookbook\templates\account\email.html:19 msgid "The following e-mail addresses are associated with your account:" -msgstr "Les adresses mail suivantes sont associées à votre compte :" +msgstr "Les adresses mail suivantes sont associées à votre compte :" #: .\cookbook\templates\account\email.html:36 msgid "Verified" @@ -859,14 +862,14 @@ msgstr "Supprimer" #: .\cookbook\templates\account\email.html:58 msgid "Warning:" -msgstr "Avertissement :" +msgstr "Avertissement :" #: .\cookbook\templates\account\email.html:58 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 "" -"Vous n'avez pas encore d'adresse mail associée. Vous devriez en ajouter une " +"Vous n’avez pas encore d’adresse mail associée. Vous devriez en ajouter une " "afin de recevoir les notifications, réinitialiser votre mot de passe, etc." #: .\cookbook\templates\account\email.html:64 @@ -879,12 +882,12 @@ msgstr "Ajouter une adresse mail" #: .\cookbook\templates\account\email.html:79 msgid "Do you really want to remove the selected e-mail address?" -msgstr "Voulez-vous vraiment supprimer l'adresse mail sélectionnée ?" +msgstr "Voulez-vous vraiment supprimer l’adresse mail sélectionnée ?" #: .\cookbook\templates\account\email_confirm.html:6 #: .\cookbook\templates\account\email_confirm.html:10 msgid "Confirm E-mail Address" -msgstr "Confirmer l'adresse mail" +msgstr "Confirmer l’adresse mail" #: .\cookbook\templates\account\email_confirm.html:16 #, python-format @@ -895,8 +898,8 @@ msgid "" " ." msgstr "" "Confirmez SVP que\n" -" est une adresse mail de " -"l'utilisateur %(user_display)s." +" est une adresse mail de l’" +"utilisateur %(user_display)s." #: .\cookbook\templates\account\email_confirm.html:22 #: .\cookbook\templates\generic\delete_template.html:71 @@ -929,7 +932,7 @@ msgstr "Connexion" #: .\cookbook\templates\socialaccount\signup.html:8 #: .\cookbook\templates\socialaccount\signup.html:57 msgid "Sign Up" -msgstr "S'inscrire" +msgstr "S’inscrire" #: .\cookbook\templates\account\login.html:39 #: .\cookbook\templates\account\login.html:41 @@ -939,7 +942,7 @@ msgstr "Réinitialiser le mot de passe" #: .\cookbook\templates\account\login.html:40 msgid "Lost your password?" -msgstr "Mot de passe perdu ?" +msgstr "Mot de passe perdu ?" #: .\cookbook\templates\account\login.html:52 msgid "Social Login" @@ -957,7 +960,7 @@ msgstr "Déconnexion" #: .\cookbook\templates\account\logout.html:11 msgid "Are you sure you want to sign out?" -msgstr "Êtes-vous sûr de vouloir vous déconnecter ?" +msgstr "Êtes-vous sûr(e) de vouloir vous déconnecter ?" #: .\cookbook\templates\account\password_change.html:6 #: .\cookbook\templates\account\password_change.html:16 @@ -977,7 +980,7 @@ msgstr "Mot de passe" #: .\cookbook\templates\account\password_change.html:22 msgid "Forgot Password?" -msgstr "Mot de passe oublié ?" +msgstr "Mot de passe oublié ?" #: .\cookbook\templates\account\password_reset.html:7 #: .\cookbook\templates\account\password_reset.html:13 @@ -991,8 +994,8 @@ msgid "" "Forgotten your password? Enter your e-mail address below, and we'll send you " "an e-mail allowing you to reset it." msgstr "" -"Mot de passe oublié ? Entrez votre adresse mail ci-dessous et vous recevrez " -"un mail permettant de le réinitialiser." +"Mot de passe oublié ? Saisissez votre adresse mail ci-dessous et vous " +"recevrez un mail permettant de le réinitialiser." #: .\cookbook\templates\account\password_reset.html:32 msgid "Password reset is disabled on this instance." @@ -1019,10 +1022,10 @@ msgid "" " Please request a new " "password reset." msgstr "" -"Le lien de changement du mot de passe est invalide, probablement parce qu'il " +"Le lien de changement du mot de passe est invalide, probablement parce qu’il " "a déjà été utilisé.\n" -" Merci de demander un nouveau changement de mot de passe." +" Merci de demander un nouveau changement de mot de passe." #: .\cookbook\templates\account\password_reset_from_key.html:33 msgid "change password" @@ -1031,17 +1034,17 @@ msgstr "modifier le mot de passe" #: .\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 "Votre mot de passe a été changé." +msgstr "Votre mot de passe a été modifié." #: .\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 "Ajouter un mot de passe" +msgstr "Définir un mot de passe" #: .\cookbook\templates\account\signup.html:6 msgid "Register" -msgstr "S'inscrire" +msgstr "S’inscrire" #: .\cookbook\templates\account\signup.html:12 msgid "Create an Account" @@ -1050,12 +1053,12 @@ msgstr "Créer un compte" #: .\cookbook\templates\account\signup.html:42 #: .\cookbook\templates\socialaccount\signup.html:33 msgid "I accept the follwoing" -msgstr "J'accepte les" +msgstr "J’accepte les" #: .\cookbook\templates\account\signup.html:45 #: .\cookbook\templates\socialaccount\signup.html:36 msgid "Terms and Conditions" -msgstr "conditions d'utilisations" +msgstr "conditions d’utilisation" #: .\cookbook\templates\account\signup.html:48 #: .\cookbook\templates\socialaccount\signup.html:39 @@ -1073,7 +1076,7 @@ msgstr "Créer un utilisateur" #: .\cookbook\templates\account\signup.html:69 msgid "Already have an account?" -msgstr "Vous avez déjà un compte ?" +msgstr "Vous avez déjà un compte ?" #: .\cookbook\templates\account\signup_closed.html:5 #: .\cookbook\templates\account\signup_closed.html:11 @@ -1116,7 +1119,7 @@ msgstr "Supermarché" #: .\cookbook\templates\base.html:163 msgid "Supermarket Category" -msgstr "Catégorie Supermarché" +msgstr "Catégorie de supermarché" #: .\cookbook\templates\base.html:175 .\cookbook\views\lists.py:180 msgid "Automations" @@ -1128,7 +1131,7 @@ msgstr "Fichiers" #: .\cookbook\templates\base.html:201 msgid "Batch Edit" -msgstr "Modification en masse" +msgstr "Édition par lot" #: .\cookbook\templates\base.html:213 .\cookbook\templates\history.html:6 #: .\cookbook\templates\history.html:14 @@ -1193,11 +1196,11 @@ msgstr "Déconnexion" #: .\cookbook\templates\batch\edit.html:6 msgid "Batch edit Category" -msgstr "Modifier en masse les catégories" +msgstr "Édition par lot des catégories" #: .\cookbook\templates\batch\edit.html:15 msgid "Batch edit Recipes" -msgstr "Modifier en masse les recettes" +msgstr "Édition par lot des recettes" #: .\cookbook\templates\batch\edit.html:20 msgid "Add the specified keywords to all recipes containing a word" @@ -1243,11 +1246,11 @@ msgstr "Gérer le stockage externe" #: .\cookbook\templates\batch\monitor.html:28 msgid "Sync Now!" -msgstr "Lancer la synchro !" +msgstr "Lancer la synchro !" #: .\cookbook\templates\batch\monitor.html:29 msgid "Show Recipes" -msgstr "Recettes dans le panier" +msgstr "Afficher les recettes" #: .\cookbook\templates\batch\monitor.html:30 msgid "Show Log" @@ -1256,7 +1259,7 @@ msgstr "Afficher le journal" #: .\cookbook\templates\batch\waiting.html:4 #: .\cookbook\templates\batch\waiting.html:10 msgid "Importing Recipes" -msgstr "Importer des ecettes" +msgstr "Importer des recettes" #: .\cookbook\templates\batch\waiting.html:28 msgid "" @@ -1272,7 +1275,7 @@ msgstr "Livres de recettes" #: .\cookbook\templates\export.html:6 .\cookbook\templates\test2.html:6 msgid "Export Recipes" -msgstr "Exporter des ecettes" +msgstr "Exporter des recettes" #: .\cookbook\templates\forms\edit_import_recipe.html:5 #: .\cookbook\templates\forms\edit_import_recipe.html:9 @@ -1306,7 +1309,7 @@ msgstr "" #: .\cookbook\templates\forms\ingredients.html:26 msgid "Are you sure that you want to merge these two units?" -msgstr "Êtes-vous sûr(e) de vouloir fusionner ces deux unités ?" +msgstr "Êtes-vous sûr(e) de vouloir fusionner ces deux unités ?" #: .\cookbook\templates\forms\ingredients.html:31 #: .\cookbook\templates\forms\ingredients.html:40 @@ -1315,12 +1318,12 @@ msgstr "Fusionner" #: .\cookbook\templates\forms\ingredients.html:36 msgid "Are you sure that you want to merge these two ingredients?" -msgstr "Êtes-vous sûr(e) de vouloir fusionner ces deux ingrédients ?" +msgstr "Êtes-vous sûr(e) de vouloir fusionner ces deux ingrédients ?" #: .\cookbook\templates\generic\delete_template.html:21 #, python-format msgid "Are you sure you want to delete the %(title)s: %(object)s " -msgstr "Êtes-vous certain de vouloir supprimer %(title)s : %(object)s " +msgstr "Êtes-vous sûr(e) de vouloir supprimer %(title)s : %(object)s " #: .\cookbook\templates\generic\delete_template.html:26 msgid "Protected" @@ -1372,7 +1375,7 @@ msgstr "suivant" #: .\cookbook\templates\history.html:20 msgid "View Log" -msgstr "Voir l'historique" +msgstr "Voir l’historique" #: .\cookbook\templates\history.html:24 msgid "Cook Log" @@ -1446,7 +1449,7 @@ msgstr "Rechercher une recette..." #: .\cookbook\templates\index.html:44 msgid "New Recipe" -msgstr "Nouvelle ecette" +msgstr "Nouvelle recette" #: .\cookbook\templates\index.html:53 msgid "Advanced Search" @@ -1514,7 +1517,7 @@ msgstr "Mise en forme" #: .\cookbook\templates\markdown_info.html:72 msgid "Line breaks are inserted by adding two spaces after the end of a line" msgstr "" -"Les sauts de ligne s'insèrent en ajoutant deux espaces après la fin d'une " +"Vous insérez des sauts de ligne en ajoutant deux espaces après la fin d’une " "ligne" #: .\cookbook\templates\markdown_info.html:57 @@ -1535,7 +1538,7 @@ msgstr "Ce texte est en italique" #: .\cookbook\templates\markdown_info.html:61 #: .\cookbook\templates\markdown_info.html:77 msgid "Blockquotes are also possible" -msgstr "On peut également faire des blocs de citation" +msgstr "Les citations groupées sont également possibles" #: .\cookbook\templates\markdown_info.html:84 msgid "Lists" @@ -1547,7 +1550,7 @@ msgid "" "before the list!" msgstr "" "Les listes peuvent être ordonnées ou non. Il est important de laisser une " -"ligne vide avant la liste !" +"ligne vide avant la liste !" #: .\cookbook\templates\markdown_info.html:87 #: .\cookbook\templates\markdown_info.html:108 @@ -1561,7 +1564,7 @@ msgstr "Liste ordonnée" #: .\cookbook\templates\markdown_info.html:111 #: .\cookbook\templates\markdown_info.html:112 msgid "unordered list item" -msgstr "élément d'une liste non ordonnée" +msgstr "élément d’une liste non ordonnée" #: .\cookbook\templates\markdown_info.html:93 #: .\cookbook\templates\markdown_info.html:114 @@ -1575,7 +1578,7 @@ msgstr "Liste non ordonnée" #: .\cookbook\templates\markdown_info.html:117 #: .\cookbook\templates\markdown_info.html:118 msgid "ordered list item" -msgstr "élément d'une liste ordonné" +msgstr "élément d’une liste ordonnée" #: .\cookbook\templates\markdown_info.html:125 msgid "Images & Links" @@ -1604,10 +1607,10 @@ msgid "" "editor like this one." msgstr "" -"Les tableaux Markdown sont difficiles à créer à la main. Il est recommandé " -"d'utiliser un éditeur de tableau comme celui-ci." -"" +"Les tableaux Markdown sont difficiles à créer à la main. Il est recommandé d’" +"utiliser un éditeur de tableau comme celui-" +"ci." #: .\cookbook\templates\markdown_info.html:155 #: .\cookbook\templates\markdown_info.html:157 @@ -1655,35 +1658,35 @@ msgstr "Autres repas ce jour" #: .\cookbook\templates\no_groups_info.html:5 #: .\cookbook\templates\no_groups_info.html:12 msgid "No Permissions" -msgstr "Pas d'autorisations" +msgstr "Pas d’autorisations" #: .\cookbook\templates\no_groups_info.html:17 msgid "You do not have any groups and therefor cannot use this application." msgstr "" -"Vous n'êtes pas lié à un groupe, ainsi, vous ne pouvez utiliser cette " +"Vous ne faites pas partie d’un groupe et ne pouvez donc pas utiliser cette " "application." #: .\cookbook\templates\no_groups_info.html:18 #: .\cookbook\templates\no_perm_info.html:15 msgid "Please contact your administrator." -msgstr "Veuillez contacter l'administrateur." +msgstr "Veuillez contacter l’administrateur." #: .\cookbook\templates\no_perm_info.html:5 #: .\cookbook\templates\no_perm_info.html:12 msgid "No Permission" -msgstr "Pas d'autorisation" +msgstr "Pas d’autorisation" #: .\cookbook\templates\no_perm_info.html:15 msgid "" "You do not have the required permissions to view this page or perform this " "action." msgstr "" -"Vous n'avez pas la permission de voir cette page ou d'effectuer cette action." +"Vous n’avez pas la permission de voir cette page ou d’effectuer cette action." #: .\cookbook\templates\no_space_info.html:6 #: .\cookbook\templates\no_space_info.html:13 msgid "No Space" -msgstr "Pas de groupe" +msgstr "Aucun groupe" #: .\cookbook\templates\no_space_info.html:17 msgid "" @@ -1691,7 +1694,7 @@ msgid "" "more people." msgstr "" "Recettes, aliments, listes de courses et plus encore sont organisés en " -"groupes d'une ou plusieurs personnes." +"groupes d’une ou plusieurs personnes." #: .\cookbook\templates\no_space_info.html:18 msgid "" @@ -1712,8 +1715,8 @@ msgid "" "To join an existing space either enter your invite token or click on the " "invite link the space owner send you." msgstr "" -"Pour rejoindre un groupe déjà existant, entrez le token d'invitation ou " -"cliquez sur le lien d'invitation que le créateur du groupe vous a envoyé." +"Pour rejoindre un groupe déjà existant, saisissez le jeton d’invitation ou " +"cliquez sur le lien d’invitation que le créateur du groupe vous a envoyé." #: .\cookbook\templates\no_space_info.html:48 #: .\cookbook\templates\no_space_info.html:56 @@ -1727,16 +1730,16 @@ msgstr "Créer votre propre groupe de partage de recettes." #: .\cookbook\templates\no_space_info.html:52 msgid "Start your own recipe space and invite other users to it." msgstr "" -"Créez votre propre groupe de partage de recettes et invitez d'autres " -"utilisateurs à l'utiliser." +"Créez votre propre groupe de partage de recettes et invitez d’autres " +"utilisateurs à l’utiliser." #: .\cookbook\templates\offline.html:6 msgid "Offline" -msgstr "Hors-ligne" +msgstr "Hors ligne" #: .\cookbook\templates\offline.html:19 msgid "You are currently offline!" -msgstr "Vous êtes actuellement hors-ligne !" +msgstr "Vous êtes actuellement hors ligne !" #: .\cookbook\templates\offline.html:20 msgid "" @@ -1744,8 +1747,8 @@ msgid "" "recently viewed them. Keep in mind that data might be outdated." msgstr "" "Les recettes listées ci-dessous sont accessible hors connexion car vous les " -"avez récemment regardées. Gardez à l'esprit que les données peuvent avoir " -"été modifiées depuis." +"avez récemment regardées. Veuillez tenir compte du fait que les données " +"peuvent avoir été modifiées depuis." #: .\cookbook\templates\recipe_view.html:26 msgid "by" @@ -1782,7 +1785,7 @@ msgstr "Marquer comme cuisiné" #: .\cookbook\templates\rest_framework\api.html:5 msgid "Recipe Home" -msgstr "Page d'accueil" +msgstr "Page d’accueil" #: .\cookbook\templates\search_info.html:5 #: .\cookbook\templates\search_info.html:9 @@ -2068,7 +2071,7 @@ msgstr "Préférences" #: .\cookbook\templates\settings.html:42 msgid "API-Settings" -msgstr "Paramètres d'API" +msgstr "Paramètres d’API" #: .\cookbook\templates\settings.html:49 msgid "Search-Settings" @@ -2114,16 +2117,16 @@ msgid "" "You can use both basic authentication and token based authentication to " "access the REST API." msgstr "" -"Vous pouvez utiliser à la fois l'authentification classique et " -"l'authentification par jeton pour accéder à l'API REST." +"Vous pouvez utiliser à la fois l’authentification classique et l’" +"authentification par jeton pour accéder à l’API REST." #: .\cookbook\templates\settings.html:160 msgid "" "Use the token as an Authorization header prefixed by the word token as shown " "in the following examples:" msgstr "" -"Utilisez le jeton dans l'entête d'autorisation préfixé par le mot \"token\" " -"comme indiqué dans les exemples suivants :" +"Utilisez le jeton dans l’en-tête d’autorisation précédé du mot « token » " +"comme indiqué dans les exemples suivants :" #: .\cookbook\templates\settings.html:162 msgid "or" @@ -2142,8 +2145,8 @@ msgid "" "Usually you do not need to configure any of them and can just stick " "with either the default or one of the following presets." msgstr "" -"En général, vous n'avez pas besoin de configurer l'un d'entre eux et " -"pouvez simplement vous en tenir à la valeur par défaut ou à l'un des " +"En général, vous n’avez pas besoin de configurer l’un d’entre eux et " +"pouvez simplement vous en tenir à la valeur par défaut ou à l’un des " "préréglages suivants." #: .\cookbook\templates\settings.html:175 @@ -2166,11 +2169,11 @@ msgid "" msgstr "" "Trouvez ce dont vous avez besoin même si votre recherche ou la recette " "contient des fautes de frappe. Il se peut que vous obteniez plus de " -"résultats que nécessaire pour être sûr de trouver ce que vous cherchez." +"résultats que nécessaire pour être sûr(e) de trouver ce que vous cherchez." #: .\cookbook\templates\settings.html:182 msgid "This is the default behavior" -msgstr "C'est le comportement par défaut" +msgstr "Il s’agit du comportement par défaut" #: .\cookbook\templates\settings.html:183 #: .\cookbook\templates\settings.html:191 @@ -2187,7 +2190,7 @@ msgid "" "many spelling mistakes are made." msgstr "" "Permet un contrôle fin des résultats de la recherche mais peut ne pas donner " -"de résultats si trop de fautes d'orthographe sont commises." +"de résultats si le texte saisi contient trop de fautes d’orthographe." #: .\cookbook\templates\settings.html:190 msgid "Perfect for large Databases" @@ -2211,7 +2214,7 @@ msgstr "Paramètres" msgid "" "To start using this application you must first create a superuser account." msgstr "" -"Pour commencer à utiliser cette application, vous devez d'abord créer un " +"Pour commencer à utiliser cette application, vous devez d’abord créer un " "compte superutilisateur." #: .\cookbook\templates\setup.html:20 @@ -2234,11 +2237,11 @@ msgstr "Recettes dans le panier" #: .\cookbook\templates\shopping_list.html:74 msgid "No recipes selected" -msgstr "Pas de recettes sélectionnées" +msgstr "Aucune recette sélectionnée" #: .\cookbook\templates\shopping_list.html:131 msgid "Entry Mode" -msgstr "Mode d'ajout" +msgstr "Mode d’ajout" #: .\cookbook\templates\shopping_list.html:139 msgid "Add Entry" @@ -2250,7 +2253,7 @@ msgstr "Quantité" #: .\cookbook\templates\shopping_list.html:164 msgid "Select Unit" -msgstr "Sélectionnez l'unité" +msgstr "Sélectionnez l’unité" #: .\cookbook\templates\shopping_list.html:166 #: .\cookbook\templates\shopping_list.html:189 @@ -2263,7 +2266,7 @@ msgstr "Sélectionner" #: .\cookbook\templates\shopping_list.html:187 msgid "Select Food" -msgstr "Sélectionnez l'aliment" +msgstr "Sélectionner l’aliment" #: .\cookbook\templates\shopping_list.html:218 msgid "Select Supermarket" @@ -2279,7 +2282,7 @@ msgstr "Terminé" #: .\cookbook\templates\shopping_list.html:267 msgid "You are offline, shopping list might not syncronize." -msgstr "Vous êtes hors-ligne, la liste de courses n'est pas synchronisée." +msgstr "Vous êtes hors ligne, la liste de courses n’est pas synchronisée." #: .\cookbook\templates\shopping_list.html:318 msgid "Copy/Export" @@ -2296,13 +2299,13 @@ msgid "" " accounts:" msgstr "" "Vous pouvez vous connecter à votre compte en utilisant un des \n" -" comptes tiers suivants :" +" comptes tiers suivants :" #: .\cookbook\templates\socialaccount\connections.html:52 msgid "" "You currently have no social network accounts connected to this account." msgstr "" -"Vous n'avez actuellement aucun compte de réseaux sociaux connecté à votre " +"Vous n’avez actuellement aucun compte de réseaux sociaux connecté à votre " "compte." #: .\cookbook\templates\socialaccount\connections.html:55 @@ -2311,7 +2314,7 @@ msgstr "Ajouter un compte tiers" #: .\cookbook\templates\socialaccount\signup.html:5 msgid "Signup" -msgstr "S'inscrire" +msgstr "S’inscrire" #: .\cookbook\templates\socialaccount\signup.html:10 #, python-format @@ -2320,10 +2323,10 @@ msgid "" " %(provider_name)s account to login to\n" " %(site_name)s. As a final step, please complete the following form:" msgstr "" -"Vous êtes sur le point d'utiliser\n" +"Vous êtes sur le point d’utiliser\n" " votre compte %(provider_name)s pour vous connecter à\n" " %(site_name)s. Pour finaliser la requête, veuillez compléter le " -"formulaire suivant :" +"formulaire suivant :" #: .\cookbook\templates\socialaccount\snippets\provider_list.html:23 #: .\cookbook\templates\socialaccount\snippets\provider_list.html:31 @@ -2344,15 +2347,15 @@ msgstr "Se connecter avec" #: .\cookbook\templates\space.html:25 msgid "Space:" -msgstr "Groupe :" +msgstr "Groupe :" #: .\cookbook\templates\space.html:26 msgid "Manage Subscription" -msgstr "Gérer l'abonnement" +msgstr "Gérer l’abonnement" #: .\cookbook\templates\space.html:34 .\cookbook\templates\stats.html:19 msgid "Number of objects" -msgstr "Nombre d'objets" +msgstr "Nombre d’objets" #: .\cookbook\templates\space.html:54 .\cookbook\templates\stats.html:30 msgid "Recipe Imports" @@ -2360,7 +2363,7 @@ msgstr "Recettes importées" #: .\cookbook\templates\space.html:62 .\cookbook\templates\stats.html:38 msgid "Objects stats" -msgstr "Stats d'objets" +msgstr "Statistiques d’objets" #: .\cookbook\templates\space.html:65 .\cookbook\templates\stats.html:41 msgid "Recipes without Keywords" @@ -2412,12 +2415,12 @@ msgstr "Vous ne pouvez pas modifier cela vous-même." #: .\cookbook\templates\space.html:136 msgid "There are no members in your space yet!" -msgstr "Il n'y a pas encore de membres dans votre groupe !" +msgstr "Votre groupe ne contient pas encore de membres !" #: .\cookbook\templates\space.html:143 .\cookbook\templates\system.html:21 #: .\cookbook\views\lists.py:85 msgid "Invite Links" -msgstr "Liens d'invitation" +msgstr "Liens d’invitation" #: .\cookbook\templates\stats.html:4 msgid "Stats" @@ -2486,7 +2489,7 @@ msgstr "" #: .\cookbook\templates\system.html:57 .\cookbook\templates\system.html:73 #: .\cookbook\templates\system.html:88 .\cookbook\templates\system.html:102 msgid "Everything is fine!" -msgstr "Tout est en ordre !" +msgstr "Tout est en ordre !" #: .\cookbook\templates\system.html:62 msgid "Secret Key" @@ -2563,12 +2566,11 @@ msgstr "Import URL" #: .\cookbook\templates\url_import.html:33 msgid "Drag me to your bookmarks to import recipes from anywhere" -msgstr "" -"Glissez-moi vers vos favoris pour importer des recettes de n'importe où" +msgstr "Glissez-moi vers vos favoris pour importer des recettes de n’importe où" #: .\cookbook\templates\url_import.html:34 msgid "Bookmark Me!" -msgstr "Mettez-moi en favori !" +msgstr "Ajoutez-moi aux favoris !" #: .\cookbook\templates\url_import.html:38 msgid "URL" @@ -2580,7 +2582,7 @@ msgstr "App" #: .\cookbook\templates\url_import.html:64 msgid "Enter website URL" -msgstr "Saisissez l'URL du site web" +msgstr "Saisissez l’URL du site web" #: .\cookbook\templates\url_import.html:104 msgid "Select recipe files to import or drop them here..." @@ -2666,7 +2668,7 @@ msgid "" "Drag recipe attributes from below into the appropriate box on the left. " "Click any node to display its full properties." msgstr "" -"Glissez les attributs de recettes d'en-dessous vers la boîte appropriée à " +"Glissez les attributs de recettes d’en dessous vers la boîte appropriée à " "gauche. Cliquez sur un nœud pour voir toutes ses propriétés." #: .\cookbook\templates\url_import.html:351 @@ -2687,7 +2689,7 @@ msgstr "Supprimer le texte" #: .\cookbook\templates\url_import.html:420 msgid "Delete image" -msgstr "Supprimer l'image" +msgstr "Supprimer l’image" #: .\cookbook\templates\url_import.html:436 msgid "Recipe Name" @@ -2752,29 +2754,29 @@ msgstr "Ticket GitHub" #: .\cookbook\templates\url_import.html:655 msgid "Recipe Markup Specification" -msgstr "Spécification Recipe Markup" +msgstr "Spécification Markup de recette" #: .\cookbook\views\api.py:88 .\cookbook\views\api.py:170 msgid "Parameter updated_at incorrectly formatted" -msgstr "Le paramètre « update_at » n'est pas correctement formatté" +msgstr "Le paramètre « update_at » n'est pas correctement formaté" #: .\cookbook\views\api.py:190 .\cookbook\views\api.py:291 #, python-brace-format msgid "No {self.basename} with id {pk} exists" -msgstr "Il n'existe pas de {self.basename} avec l'identifiant {pk}" +msgstr "Il n’existe aucun(e) {self.basename} avec l’identifiant {pk}" #: .\cookbook\views\api.py:194 msgid "Cannot merge with the same object!" -msgstr "Un objet ne peut être fusionné avec lui-même !" +msgstr "Impossible de fusionner un objet avec lui-même !" #: .\cookbook\views\api.py:201 #, python-brace-format msgid "No {self.basename} with id {target} exists" -msgstr "Il n'existe pas de {self.basename} avec l'id {target}" +msgstr "Il n’existe aucun(e) {self.basename} avec l’id {target}" #: .\cookbook\views\api.py:206 msgid "Cannot merge with child object!" -msgstr "Impossible de fusionner avec l'objet enfant !" +msgstr "Impossible de fusionner avec l’objet enfant !" #: .\cookbook\views\api.py:239 #, python-brace-format @@ -2785,8 +2787,8 @@ msgstr "{source.name} a été fusionné avec succès avec {target.name}" #, python-brace-format msgid "An error occurred attempting to merge {source.name} with {target.name}" msgstr "" -"Une erreur s'est produite lors de la tentative de fusion de {source.name} " -"avec {target.name}" +"Une erreur est survenue lors de la tentative de fusion de {source.name} avec " +"{target.name}" #: .\cookbook\views\api.py:300 #, python-brace-format @@ -2795,16 +2797,16 @@ msgstr "{child.name} a été déplacé avec succès vers la racine." #: .\cookbook\views\api.py:303 .\cookbook\views\api.py:321 msgid "An error occurred attempting to move " -msgstr "Une erreur s'est produite en essayant de déplacer " +msgstr "Une erreur est survenue en essayant de déplacer " #: .\cookbook\views\api.py:306 msgid "Cannot move an object to itself!" -msgstr "Impossible de déplacer un objet vers lui-même !" +msgstr "Impossible de déplacer un objet vers lui-même !" #: .\cookbook\views\api.py:312 #, python-brace-format msgid "No {self.basename} with id {parent} exists" -msgstr "Il n'existe pas de {self.basename} avec l'id {parent}" +msgstr "Il n’existe aucun(e) {self.basename} avec l’id {parent}" #: .\cookbook\views\api.py:318 #, python-brace-format @@ -2814,12 +2816,12 @@ msgstr "{child.name} a été déplacé avec succès vers le parent {parent.name} #: .\cookbook\views\api.py:470 #, python-brace-format msgid "{obj.name} was removed from the shopping list." -msgstr "" +msgstr "{obj.name} a été supprimé(e) de la liste de courses." #: .\cookbook\views\api.py:475 .\cookbook\views\api.py:726 #, python-brace-format msgid "{obj.name} was added to the shopping list." -msgstr "" +msgstr "{obj.name} a été ajouté(e) à la liste de courses." #: .\cookbook\views\api.py:587 msgid "ID of recipe a step is part of. For multiple repeat parameter." @@ -2905,12 +2907,12 @@ msgstr "" #: .\cookbook\views\edit.py:129 .\cookbook\views\new.py:95 msgid "This feature is not yet available in the hosted version of tandoor!" msgstr "" -"Cette fonctionnalité n'est pas encore disponible dans la version hébergée de " -"Tandoor !" +"Cette fonctionnalité n’est pas encore disponible dans la version hébergée de " +"Tandoor !" #: .\cookbook\views\api.py:944 msgid "Sync successful!" -msgstr "Synchro réussie !" +msgstr "Synchro réussie !" #: .\cookbook\views\api.py:949 msgid "Error synchronizing with Storage" @@ -2926,19 +2928,19 @@ msgstr "Le site web a renvoyé des données malformées et ne peut être lu." #: .\cookbook\views\api.py:1050 msgid "The requested page could not be found." -msgstr "La page souhaitée n'a pas été trouvée." +msgstr "La page souhaitée est introuvable." #: .\cookbook\views\api.py:1068 msgid "" "The requested site does not provide any recognized data format to import the " "recipe from." msgstr "" -"Le site web est dans un format qui ne permet pas d'importer automatiquement " +"Le site web est dans un format qui ne permet pas d’importer automatiquement " "la recette." #: .\cookbook\views\api.py:1082 msgid "Connection Refused." -msgstr "" +msgstr "Connexion refusée." #: .\cookbook\views\api.py:1091 msgid "No useable data could be found." @@ -2946,7 +2948,7 @@ msgstr "Aucune information utilisable n'a été trouvée." #: .\cookbook\views\api.py:1107 msgid "I couldn't find anything to do." -msgstr "Je n'ai rien trouvé à faire." +msgstr "Je n’ai rien trouvé à faire." #: .\cookbook\views\data.py:34 .\cookbook\views\data.py:129 #: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:80 @@ -2958,16 +2960,16 @@ msgstr "Vous avez atteint le nombre maximum de recettes pour votre groupe." #: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:84 #: .\cookbook\views\new.py:37 msgid "You have more users than allowed in your space." -msgstr "Vous avez plus d'utilisateurs qu'autorisés dans votre groupe." +msgstr "" +"Le nombre d’utilisateurs dans votre groupe dépasse le nombre d’utilisateurs " +"autorisé." #: .\cookbook\views\data.py:111 #, python-format msgid "Batch edit done. %(count)d recipe was updated." msgid_plural "Batch edit done. %(count)d Recipes where updated." -msgstr[0] "" -"Modification en masse effectuée. %(count)d recette a été mise à jour." -msgstr[1] "" -"Modification en masse effectuée. %(count)drecettes ont été mises à jour." +msgstr[0] "Édition par lot effectuée. %(count)d recette a été mise à jour." +msgstr[1] "Édition par lot effectuée. %(count)d recettes ont été mises à jour." #: .\cookbook\views\delete.py:101 msgid "Monitor" @@ -2995,32 +2997,32 @@ msgstr "Favoris" #: .\cookbook\views\delete.py:192 .\cookbook\views\new.py:238 msgid "Invite Link" -msgstr "Lien d'invitation" +msgstr "Lien d’invitation" #: .\cookbook\views\edit.py:125 msgid "You cannot edit this storage!" -msgstr "Vous ne pouvez pas modifier ce stockage !" +msgstr "Vous ne pouvez pas modifier ce stockage !" #: .\cookbook\views\edit.py:149 msgid "Storage saved!" -msgstr "Stockage sauvegardé !" +msgstr "Stockage sauvegardé !" #: .\cookbook\views\edit.py:155 msgid "There was an error updating this storage backend!" msgstr "" -"Une erreur s'est produite lors de la mise à jour de cet espace de stockage !" +"Une erreur est survenue lors de la mise à jour de cet espace de stockage !" #: .\cookbook\views\edit.py:248 msgid "Changes saved!" -msgstr "Modifications sauvegardées !" +msgstr "Modifications sauvegardées !" #: .\cookbook\views\edit.py:252 msgid "Error saving changes!" -msgstr "Erreur lors de la sauvegarde des modifications !" +msgstr "Erreur lors de la sauvegarde des modifications !" #: .\cookbook\views\import_export.py:106 msgid "Importing is not implemented for this provider" -msgstr "L'importation n'est pas implémentée pour ce fournisseur" +msgstr "L’importation n’est pas implémentée pour ce fournisseur" #: .\cookbook\views\import_export.py:127 msgid "" @@ -3030,11 +3032,11 @@ msgstr "" #: .\cookbook\views\import_export.py:132 msgid "Exporting is not implemented for this provider" -msgstr "L'exportation n'est pas implémentée pour ce fournisseur" +msgstr "L’exportation n’est pas implémentée pour ce fournisseur" #: .\cookbook\views\lists.py:25 msgid "Import Log" -msgstr "Historique d'import" +msgstr "Historique d’importation" #: .\cookbook\views\lists.py:38 msgid "Discovery" @@ -3062,11 +3064,11 @@ msgstr "Nouvelle liste de courses" #: .\cookbook\views\new.py:126 msgid "Imported new recipe!" -msgstr "Nouvelle recette importée !" +msgstr "Nouvelle recette importée !" #: .\cookbook\views\new.py:129 msgid "There was an error importing this recipe!" -msgstr "Une erreur s\\\\'est produite lors de l\\\\'import de cette recette !" +msgstr "Une erreur est survenue lors de l’importation de cette recette !" #: .\cookbook\views\new.py:212 msgid "Hello" @@ -3082,24 +3084,24 @@ msgstr " pour rejoindre leur groupe Tandoor Recipes " #: .\cookbook\views\new.py:214 msgid "Click the following link to activate your account: " -msgstr "Cliquez le lien suivant pour activer votre compte : " +msgstr "Cliquez le lien suivant pour activer votre compte : " #: .\cookbook\views\new.py:215 msgid "" "If the link does not work use the following code to manually join the space: " msgstr "" -"Si le lien ne fonctionne pas, utilisez le code suivant manuellement pour " -"rejoindre le groupe : " +"Si le lien ne fonctionne pas, utilisez le code suivant pour rejoindre le " +"groupe manuellement : " #: .\cookbook\views\new.py:216 msgid "The invitation is valid until " -msgstr "L'invitation est valide jusqu'au " +msgstr "L’invitation est valide jusqu’au " #: .\cookbook\views\new.py:217 msgid "" "Tandoor Recipes is an Open Source recipe manager. Check it out on GitHub " msgstr "" -"Tandoor Recipes sont un gestionnaire de recettes open source. Venez-voir " +"Tandoor Recipes est un gestionnaire de recettes open source. Venez-voir " "notre Github " #: .\cookbook\views\new.py:220 @@ -3108,20 +3110,20 @@ msgstr "Invitation Tandoor Recipes" #: .\cookbook\views\new.py:227 msgid "Invite link successfully send to user." -msgstr "Le lien d'invitation a été correctement envoyé à l'utilisateur." +msgstr "Le lien d’invitation a été envoyé à l’utilisateur avec succès." #: .\cookbook\views\new.py:230 msgid "" "You have send to many emails, please share the link manually or wait a few " "hours." msgstr "" -"Vous avez envoyé trop de mails, partagez le lien manuellement ou attendez " +"Vous avez envoyé trop de mails, partagez le lien manuellement ou patientez " "quelques heures." #: .\cookbook\views\new.py:232 msgid "Email to user could not be send, please share link manually." msgstr "" -"Le mail n'a pas pu être envoyé à l'utilisateur, veuillez envoyer le lien " +"Impossible d’envoyer le mail à l’utilisateur, veuillez partager le lien " "manuellement." #: .\cookbook\views\views.py:126 @@ -3130,25 +3132,25 @@ msgid "" "recipes or invite other people to join you." msgstr "" "Vous avez réussi à créer votre propre groupe de partage de recettes. " -"Commencez à ajoutez des recettes ou invitez d'autres personnes à vous " +"Commencez à ajoutez des recettes ou invitez d’autres personnes à vous " "rejoindre." #: .\cookbook\views\views.py:174 msgid "You do not have the required permissions to perform this action!" -msgstr "Vous n'avez pas la permission d'effectuer cette action !" +msgstr "Vous n’êtes pas autorisé(e) à effectuer cette action !" #: .\cookbook\views\views.py:185 msgid "Comment saved!" -msgstr "Commentaire enregistré !" +msgstr "Commentaire sauvegardé !" #: .\cookbook\views\views.py:276 msgid "This feature is not available in the demo version!" -msgstr "Cette fonctionnalité n'est pas disponible dans la version d'essai !" +msgstr "Cette fonctionnalité n’est pas disponible dans la version d’essai !" #: .\cookbook\views\views.py:335 msgid "You must select at least one field to search!" msgstr "" -"Vous devez sélectionner au moins un champ pour effectuer une recherche !" +"Vous devez sélectionner au moins un champ pour effectuer une recherche !" #: .\cookbook\views\views.py:340 msgid "" @@ -3156,12 +3158,12 @@ msgid "" "field!" msgstr "" "Pour utiliser cette méthode de recherche, vous devez sélectionner au moins " -"un champ de recherche en texte intégral !" +"un champ de recherche en texte intégral !" #: .\cookbook\views\views.py:344 msgid "Fuzzy search is not compatible with this search method!" msgstr "" -"La recherche floue n'est pas compatible avec cette méthode de recherche !" +"La recherche floue n’est pas compatible avec cette méthode de recherche !" #: .\cookbook\views\views.py:470 msgid "" @@ -3169,27 +3171,27 @@ msgid "" "forgotten your superuser credentials please consult the django documentation " "on how to reset passwords." msgstr "" -"Cette page d'installation peut uniquement être utilisée pour créer le " -"premier utilisateur ! Si vous avez oublié vos identifiants de super-" +"Cette page d’installation peut uniquement être utilisée pour créer le " +"premier utilisateur ! Si vous avez oublié vos identifiants de super-" "utilisateur, counsultez la documentation Django pour savoir comment " "réinitialiser le mot de passe." #: .\cookbook\views\views.py:477 msgid "Passwords dont match!" -msgstr "Les mots de passe ne correspondent pas !" +msgstr "Les mots de passe ne correspondent pas !" #: .\cookbook\views\views.py:493 msgid "User has been created, please login!" -msgstr "L'utilisateur a été créé, veuillez vous connecter !" +msgstr "L’utilisateur a été créé, veuillez vous connecter !" #: .\cookbook\views\views.py:509 msgid "Malformed Invite Link supplied!" -msgstr "Le lien d'invitation fourni est mal formé !" +msgstr "Le lien d’invitation fourni est mal formé !" #: .\cookbook\views\views.py:516 msgid "You are already member of a space and therefore cannot join this one." msgstr "" -"Vous êtes déjà membre d'un groupe, ainsi, vous ne pouvez rejoindre celui-ci." +"Vous êtes déjà membre d’un groupe et ne pouvez donc pas rejoindre celui-ci." #: .\cookbook\views\views.py:527 msgid "Successfully joined space." @@ -3197,23 +3199,23 @@ msgstr "Vous avez bien rejoint le groupe." #: .\cookbook\views\views.py:533 msgid "Invite Link not valid or already used!" -msgstr "Le lien d'invitation est invalide ou déjà utilisé !" +msgstr "Le lien d’invitation est invalide ou déjà utilisé !" #: .\cookbook\views\views.py:614 msgid "" "Reporting share links is not enabled for this instance. Please notify the " "page administrator to report problems." msgstr "" -"Le signalement de liens partagés n'est pas autorisé pour cette installation. " -"Veuillez contacter l'administrateur de la page pour signaler le problème." +"Le signalement de liens partagés n’est pas autorisé pour cette installation. " +"Veuillez contacter l’administrateur de la page pour signaler le problème." #: .\cookbook\views\views.py:620 msgid "" "Recipe sharing link has been disabled! For additional information please " "contact the page administrator." msgstr "" -"Les liens partagés de recettes ont été désactivés ! Pour plus " -"d'informations, veuillez contacter l'administrateur de la page." +"Le lien de partage de la recette a été désactivé ! Pour plus d’informations, " +"veuillez contacter l’administrateur de la page." #, python-brace-format #~ msgid "No {self.basename} with id {child} exists" From 4c259e6b9cbcfc840c2d72f342f94b5b8631d9c8 Mon Sep 17 00:00:00 2001 From: Jesse Date: Mon, 7 Feb 2022 08:33:50 +0000 Subject: [PATCH 11/15] Translated using Weblate (Dutch) Currently translated at 95.2% (541 of 568 strings) Translation: Tandoor/Recipes Backend Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/nl/ --- cookbook/locale/nl/LC_MESSAGES/django.po | 93 +++++++++++------------- 1 file changed, 44 insertions(+), 49 deletions(-) diff --git a/cookbook/locale/nl/LC_MESSAGES/django.po b/cookbook/locale/nl/LC_MESSAGES/django.po index 89f1adf38..ec5fbfb0d 100644 --- a/cookbook/locale/nl/LC_MESSAGES/django.po +++ b/cookbook/locale/nl/LC_MESSAGES/django.po @@ -13,16 +13,16 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-01-18 14:52+0100\n" -"PO-Revision-Date: 2021-11-14 14:06+0000\n" -"Last-Translator: Job Putters \n" -"Language-Team: Dutch \n" +"PO-Revision-Date: 2022-02-09 01:31+0000\n" +"Last-Translator: Jesse \n" +"Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.8\n" +"X-Generator: Weblate 4.10.1\n" #: .\cookbook\filters.py:23 .\cookbook\templates\forms\ingredients.html:34 #: .\cookbook\templates\space.html:50 .\cookbook\templates\stats.html:28 @@ -110,20 +110,14 @@ msgid "Display nutritional energy amounts in joules instead of calories" msgstr "Geef energiewaardes weer in joules in plaats van calorieën" #: .\cookbook\forms.py:79 -#, fuzzy -#| msgid "" -#| "Users with whom newly created meal plan/shopping list entries should be " -#| "shared by default." msgid "Users with whom newly created meal plans should be shared by default." msgstr "" -"Gebruikers waarmee een nieuw maaltijdplan/boodschappenlijst standaard " -"gedeeld moeten worden." +"Gebruikers waarmee een nieuwe maaltijdplannen standaard gedeeld moeten " +"worden." #: .\cookbook\forms.py:80 -#, fuzzy -#| msgid "Try the new shopping list" msgid "Users with whom to share shopping lists." -msgstr "Probeer de nieuwe boodschappenlijst" +msgstr "Gebruikers waarmee boodschappenlijsten gedeeld moeten worden." #: .\cookbook\forms.py:82 msgid "Show recently viewed recipes on search page." @@ -156,11 +150,11 @@ msgstr "Zet de navbar vast aan de bovenkant van de pagina." #: .\cookbook\forms.py:90 .\cookbook\forms.py:496 msgid "Automatically add meal plan ingredients to shopping list." -msgstr "" +msgstr "Zet maaltijdplan ingrediënten automatisch op boodschappenlijst." #: .\cookbook\forms.py:91 msgid "Exclude ingredients that are on hand." -msgstr "" +msgstr "Sluit ingrediënten die op voorraad zijn uit." #: .\cookbook\forms.py:108 msgid "" @@ -386,82 +380,87 @@ msgid "" "Users will see all items you add to your shopping list. They must add you " "to see items on their list." msgstr "" +"Gebruikers zien alle items die je op je boodschappenlijst zet. Ze moeten " +"jou toevoegen om items op hun lijst te zien." #: .\cookbook\forms.py:497 msgid "" "When adding a meal plan to the shopping list (manually or automatically), " "include all related recipes." msgstr "" +"Als een maaltijdplan aan de boodschappenlijst toegevoegd wordt (handmatig of " +"automatisch), neem dan alle recepten op." #: .\cookbook\forms.py:498 msgid "" "When adding a meal plan to the shopping list (manually or automatically), " "exclude ingredients that are on hand." msgstr "" +"Als een maaltijdplan aan de boodschappenlijst toegevoegd wordt (handmatig of " +"automatisch), sluit ingrediënten die op voorraad zijn dan uit." #: .\cookbook\forms.py:499 msgid "Default number of hours to delay a shopping list entry." -msgstr "" +msgstr "Standaard aantal uren om een boodschappenlijst item te vertragen." #: .\cookbook\forms.py:500 msgid "Filter shopping list to only include supermarket categories." -msgstr "" +msgstr "Filter boodschappenlijst om alleen supermarktcategorieën te bevatten." #: .\cookbook\forms.py:501 msgid "Days of recent shopping list entries to display." -msgstr "" +msgstr "Dagen van recente boodschappenlijst items weer te geven." #: .\cookbook\forms.py:502 msgid "Mark food 'On Hand' when checked off shopping list." msgstr "" +"Markeer eten 'Op voorraad' wanneer het van het boodschappenlijstje is " +"afgevinkt." #: .\cookbook\forms.py:503 msgid "Delimiter to use for CSV exports." -msgstr "" +msgstr "Scheidingsteken te gebruiken voor CSV exports." #: .\cookbook\forms.py:504 msgid "Prefix to add when copying list to the clipboard." msgstr "" +"Toe te voegen Voorvoegsel bij het kopiëren van een lijst naar het klembord." #: .\cookbook\forms.py:508 -#, fuzzy -#| msgid "New Shopping List" msgid "Share Shopping List" -msgstr "Nieuwe boodschappenlijst" +msgstr "Deel boodschappenlijst" #: .\cookbook\forms.py:509 msgid "Autosync" -msgstr "" +msgstr "Autosync" #: .\cookbook\forms.py:510 msgid "Auto Add Meal Plan" -msgstr "" +msgstr "Voeg maaltijdplan automatisch toe" #: .\cookbook\forms.py:511 msgid "Exclude On Hand" -msgstr "" +msgstr "Sluit op voorraad uit" #: .\cookbook\forms.py:512 msgid "Include Related" -msgstr "" +msgstr "Neem gerelateerde op" #: .\cookbook\forms.py:513 msgid "Default Delay Hours" -msgstr "" +msgstr "Standaard vertraging in uren" #: .\cookbook\forms.py:514 -#, fuzzy -#| msgid "Select Supermarket" msgid "Filter to Supermarket" -msgstr "Selecteer supermarkt" +msgstr "Filter op supermarkt" #: .\cookbook\forms.py:515 msgid "Recent Days" -msgstr "" +msgstr "Afgelopen dagen" #: .\cookbook\forms.py:516 msgid "CSV Delimiter" -msgstr "" +msgstr "CSV scheidingsteken" #: .\cookbook\forms.py:517 .\cookbook\templates\shopping_list.html:322 msgid "List Prefix" @@ -469,27 +468,23 @@ msgstr "Lijst voorvoegsel" #: .\cookbook\forms.py:518 msgid "Auto On Hand" -msgstr "" +msgstr "Auto op voorraad" #: .\cookbook\forms.py:528 msgid "Reset Food Inheritance" -msgstr "" +msgstr "Herstel Ingrediënt overname" #: .\cookbook\forms.py:529 msgid "Reset all food to inherit the fields configured." -msgstr "" +msgstr "Herstel alle ingrediënten om de geconfigureerde velden over te nemen." #: .\cookbook\forms.py:541 -#, fuzzy -#| msgid "Food that should be replaced." msgid "Fields on food that should be inherited by default." -msgstr "Te vervangen Ingrediënt." +msgstr "Velden van ingrediënten die standaard overgenomen moeten worden." #: .\cookbook\forms.py:542 -#, fuzzy -#| msgid "Show recently viewed recipes on search page." msgid "Show recipe counts on search filters" -msgstr "Geef recent bekeken recepten op de zoekpagina weer." +msgstr "Toon recepten teller bij zoekfilters" #: .\cookbook\helper\AllAuthCustomAdapter.py:36 msgid "" @@ -525,17 +520,15 @@ msgstr "" #: .\cookbook\helper\recipe_search.py:473 msgid "One of queryset or hash_key must be provided" -msgstr "" +msgstr "Er moet een queryset of hash_key opgegeven worden" #: .\cookbook\helper\shopping_helper.py:54 -#, fuzzy -#| msgid "You must provide at least a recipe or a title." msgid "You must supply a recipe or mealplan" -msgstr "Je moet minimaal één recept of titel te specificeren." +msgstr "Je moet een recept of maaltijdplan aanleveren" #: .\cookbook\helper\shopping_helper.py:58 msgid "You must supply a created_by" -msgstr "" +msgstr "Je moet een created_by aanleveren" #: .\cookbook\helper\template_helper.py:61 #: .\cookbook\helper\template_helper.py:63 @@ -727,7 +720,7 @@ msgstr "Etiket alias" #: .\cookbook\serializer.py:175 msgid "A user is required" -msgstr "" +msgstr "Een gebruiker is verplicht" #: .\cookbook\serializer.py:195 msgid "File uploads are not enabled for this Space." @@ -739,13 +732,15 @@ msgstr "U heeft de uploadlimiet bereikt." #: .\cookbook\serializer.py:962 msgid "Existing shopping list to update" -msgstr "" +msgstr "Bestaande boodschappenlijst is bijgewerkt" #: .\cookbook\serializer.py:964 msgid "" "List of ingredient IDs from the recipe to add, if not provided all " "ingredients will be added." msgstr "" +"Lijst van ingrediënten ID's van het toe te voegen recept, als deze niet " +"opgegeven worden worden alle ingrediënten toegevoegd." #: .\cookbook\serializer.py:965 msgid "" From 13ed297fb9f99f544c519e23c7beab31dde4b0f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marion=20K=C3=A4mpfer?= Date: Mon, 7 Feb 2022 23:16:02 +0000 Subject: [PATCH 12/15] Translated using Weblate (French) Currently translated at 95.9% (286 of 298 strings) Translation: Tandoor/Recipes Frontend Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/fr/ --- vue/src/locales/fr.json | 104 ++++++++++++++++++++-------------------- 1 file changed, 53 insertions(+), 51 deletions(-) diff --git a/vue/src/locales/fr.json b/vue/src/locales/fr.json index a43d1ba0f..db42dc1fe 100644 --- a/vue/src/locales/fr.json +++ b/vue/src/locales/fr.json @@ -1,32 +1,32 @@ { - "err_fetching_resource": "Il y a eu une erreur pour récupérer une ressource !", - "err_creating_resource": "Il y a eu une erreur pour créer une ressource !", - "err_updating_resource": "Il y a eu une erreur pour mettre à jour une ressource !", - "err_deleting_resource": "Il y a eu une erreur pour supprimer une ressource !", - "success_fetching_resource": "Ressource correctement récupérée !", - "success_creating_resource": "Ressource correctement créée !", - "success_updating_resource": "Ressource correctement mise à jour !", - "success_deleting_resource": "Ressource correctement supprimée !", - "import_running": "Importation en cours, veuillez patienter !", - "all_fields_optional": "Tous les champs sont optionnels et peuvent être laissés vides.", + "err_fetching_resource": "Erreur lors de la récupération d’une ressource !", + "err_creating_resource": "Erreur lors de la création d’une ressource !", + "err_updating_resource": "Erreur lors de la mise à jour d’une ressource !", + "err_deleting_resource": "Erreur lors de la suppression d’une ressource !", + "success_fetching_resource": "Ressource récupérée avec succès !", + "success_creating_resource": "Ressource créée avec succès !", + "success_updating_resource": "Ressource mise à jour avec succès !", + "success_deleting_resource": "Ressource supprimée avec succès !", + "import_running": "Importation en cours, veuillez patienter !", + "all_fields_optional": "Tous les champs sont facultatifs et peuvent être laissés vides.", "convert_internal": "Convertir en recette interne", "show_only_internal": "Montrer uniquement les recettes internes", "Log_Recipe_Cooking": "Marquer la recette comme cuisinée", "External_Recipe_Image": "Image externe de recette", "Add_to_Shopping": "Ajouter à la liste de courses", "Add_to_Plan": "Ajouter au menu", - "Step_start_time": "Heure de départ de l'étape", + "Step_start_time": "Heure de début de l’étape", "Sort_by_new": "Trier par nouveautés", "Recipes_per_page": "Nombre de recettes par page", - "Manage_Books": "Gérer les favoris", + "Manage_Books": "Gérer les livres", "Meal_Plan": "Menu de la semaine", - "Select_Book": "Sélectionnez livre", + "Select_Book": "Sélectionner le livre", "Recipe_Image": "Image de la recette", "Import_finished": "Importation finie", "View_Recipes": "Voir les recettes", "Log_Cooking": "Marquer comme cuisiné", "New_Recipe": "Nouvelle recette", - "Url_Import": "Importation de l'url", + "Url_Import": "Importation de l’url", "Reset_Search": "Réinitialiser la recherche", "Recently_Viewed": "Vu récemment", "Load_More": "Charger plus", @@ -36,7 +36,7 @@ "Fats": "Matières grasses", "Carbohydrates": "Glucides", "Calories": "Calories", - "Energy": "Energie", + "Energy": "Énergie", "Nutrition": "Valeurs nutritionnelles", "Date": "Date", "Share": "Partager", @@ -93,15 +93,15 @@ "move_confirmation": "Déplacer {child} vers le parent {parent}", "merge_confirmation": "Remplacer {source} par {target}", "Root": "Racine", - "delete_confirmation": "Êtes-vous sûr de vouloir supprimer {source} ?", + "delete_confirmation": "Êtes-vous sûr de vouloir supprimer {source} ?", "Shopping_Category": "Catégorie de courses", "Ignore_Shopping": "Ignorer les courses", "Edit_Food": "Modifier aliment", "Move_Food": "Déplacer aliment", "New_Food": "Nouvel aliment", - "Hide_Food": "Cacher l'aliment", - "Delete_Food": "Supprimer l'aliment", - "No_ID": "ID introuvable, il n'a pas pu être supprimé.", + "Hide_Food": "Cacher l’aliment", + "Delete_Food": "Supprimer l’aliment", + "No_ID": "ID introuvable, impossible de supprimer.", "Meal_Plan_Days": "Futurs menus", "merge_title": "Fusionner {type}", "Food": "Aliment", @@ -112,34 +112,34 @@ "Name": "Nom", "Description": "Description", "Recipe": "Recette", - "tree_root": "Racine de l'arbre", + "tree_root": "Racine de l’arbre", "Edit_Keyword": "Modifier mot-clé", "Hide_Keywords": "Cacher le mot-clé", "move_selection": "Sélectionner un parent {type} pour y déplacer {source}.", "merge_selection": "Remplace toutes les occurrences de {source} par {type}.", "move_title": "Déplacer {type}", - "del_confirmation_tree": "Êtes-vous sûr de vouloir supprimer {source} et tous ses enfants ?", - "warning_feature_beta": "Cette fonctionnalité est actuellement en phase BETA (test). Veuillez vous attendre à des bugs et éventuellement à des changements avenir (éventuellement la perte de données liées aux fonctionnalités) lorsque vous utilisez cette fonctionnalité.", - "confirm_delete": "Voulez-vous vraiment supprimer {objet} ?", + "del_confirmation_tree": "Êtes-vous sûr de vouloir supprimer {source} et tous ses enfants ?", + "warning_feature_beta": "Cette fonctionnalité est actuellement en phase BETA (test). Veuillez vous attendre à des bugs et éventuellement à des modifications conséquentes à l’avenir (perte éventuelle de données liées à la fonctionnalité) lorsque vous utilisez cette fonctionnalité.", + "confirm_delete": "Voulez-vous vraiment supprimer {objet} ?", "Note": "Notes", "Add_Step": "Ajouter une étape", - "Step_Name": "Nom de l'étape", + "Step_Name": "Nom de l’étape", "Parameter": "Paramètre", "Automation": "Automatisation", "Text": "Texte", "Color": "Couleur", "New_Meal_Type": "Nouveau type de repas", - "Select_File": "Choisir le fichier", + "Select_File": "Sélectionner le fichier", "Shopping_list": "Liste de courses", "Save_and_View": "Sauvegarder et visualiser", - "step_time_minutes": "Temps passé en minute", - "Step_Type": "Type d'étape", + "step_time_minutes": "Temps passé en minutes", + "Step_Type": "Type d’étape", "Move_Down": "Descendre", "Key_Shift": "Maj", "Key_Ctrl": "Ctrl", "Add_nutrition_recipe": "Ajouter les valeurs nutritionelles à la recette", "Remove_nutrition_recipe": "Supprimer les valeurs nutritionelles de la recette", - "Make_Header": "Créer une en-tête", + "Make_Header": "Créer un en-tête", "Make_Ingredient": "Créer un ingrédient", "Enable_Amount": "Activer la quantité", "Disable_Amount": "Désactiver la quantité", @@ -163,14 +163,14 @@ "Meal_Types": "Types de repas", "New_Unit": "Nouvelle unité", "Create_New_Keyword": "Ajouter un nouveau mot-clé", - "Keyword_Alias": "Alias pour le mot-clé", + "Keyword_Alias": "Alias de mot-clé", "Title": "Titre", "Week": "Semaine", "Unit_Alias": "Alias pour les unités", "Icon": "Icône", "Year": "Année", "Unrated": "Non évalué", - "Shopping_List_Empty": "Votre liste de courses est actuellement vide, vous pouvez ajouter des articles via le menu de la semaine contextuel d'une entrée de plan de repas (clic droit sur la carte ou clic gauche sur l'icône du menu)", + "Shopping_List_Empty": "Votre liste de courses est actuellement vide, vous pouvez ajouter des articles via le menu contextuel d’une entrée de menu de la semaine (clic droit sur la carte ou clic gauche sur l’icône du menu)", "Meal_Type": "Type de repas", "Clone": "Cloner", "Drag_Here_To_Delete": "Glissez ici pour supprimer", @@ -179,29 +179,29 @@ "Previous_Period": "Période précédente", "Current_Period": "Période actuelle", "Export_As_ICal": "Exporter la période en cours au format iCal", - "file_upload_disabled": "Le téléversement de fichier n'est pas activé pour votre groupe.", - "Show_Week_Numbers": "Montrer les numéros de semaine ?", + "file_upload_disabled": "Le téléversement de fichier n’est pas activé pour votre groupe.", + "Show_Week_Numbers": "Afficher les numéros de semaine ?", "Week_Numbers": "Numéro de semaine", "Export_To_ICal": "Exporter .ics", "Cannot_Add_Notes_To_Shopping": "Les notes ne peuvent pas être ajoutées à la liste de courses", "Added_To_Shopping_List": "Ajouté à la liste de courses", "Next_Period": "Prochaine période", - "Show_as_header": "Montrer comme entête", - "Hide_as_header": "Cacher comme entête", - "Copy_template_reference": "Copier le modèle de référence", + "Show_as_header": "Montrer comme en-tête", + "Hide_as_header": "Cacher comme en-tête", + "Copy_template_reference": "Copier la référence du modèle", "Edit_Recipe": "Modifier une Recette", "Move_Up": "Monter", "Time": "Temps", "Coming_Soon": "Bientôt disponible", "Create_New_Shopping Category": "Ajouter une catégorie de courses", - "success_moving_resource": "Ressource correctement déplacée !", - "err_moving_resource": "Il y a eu une erreur pour déplacer une ressource !", - "err_merging_resource": "Il y a eu une erreur pour fusionner une ressource !", - "success_merging_resource": "Ressource correctement fusionnée !", - "Added_by": "Ajouter par", - "Added_on": "Ajouter le", + "success_moving_resource": "Ressource déplacée avec succès !", + "err_moving_resource": "Erreur lors du déplacement d’une ressource !", + "err_merging_resource": "Erreur lors de la fusion d’une ressource !", + "success_merging_resource": "Ressource fusionnée avec succès !", + "Added_by": "Ajouté par", + "Added_on": "Ajouté le", "Shopping_Categories": "Catégories de courses", - "Add_Servings_to_Shopping": "Ajouter {servings} partions aux courses", + "Add_Servings_to_Shopping": "Ajouter {servings} portions aux courses", "CountMore": "...+ {count} en plus", "NoCategory": "Pas de catégorie sélectionnée.", "OfflineAlert": "Vous êtes déconnecté, votre liste de courses peut ne pas être synchronisée.", @@ -215,7 +215,7 @@ "in_shopping": "Dans la liste de courses", "and_up": "&Au-dessus", "Plan_Show_How_Many_Periods": "Combien de périodes montrer", - "Edit_Meal_Plan_Entry": "Modifier le plan de repas", + "Edit_Meal_Plan_Entry": "Modifier une entrée de menu", "Periods": "Périodes", "Period": "Période", "Plan_Period_To_Show": "Montrer les semaines, mois ou années", @@ -225,14 +225,14 @@ "Clear": "Supprimer", "AddToShopping": "Ajouter à la liste de courses", "IngredientInShopping": "Cet ingrédient est dans votre liste de courses.", - "NotInShopping": "{food} n'est pas dans votre liste de courses.", + "NotInShopping": "{food} n’est pas dans votre liste de courses.", "OnHand": "Disponible actuellement", - "FoodNotOnHand": "L'ingrédient {food} n'est pas disponible.", + "FoodNotOnHand": "L’ingrédient {food} n’est pas disponible.", "Planner": "Planificateur", "Planner_Settings": "Paramètres du planificateur", - "AddFoodToShopping": "Ajouter l'ingrédient {food} à votre liste de courses", - "DeleteShoppingConfirm": "Etes-vous sûr que vous souhaitez retirer tous les ingrédients {food} de votre liste de courses ?", - "IgnoredFood": "L'ingrédient {food} est paramétré pour ignorer les courses.", + "AddFoodToShopping": "Ajouter l’ingrédient {food} à votre liste de courses", + "DeleteShoppingConfirm": "Êtes-vous sûr(e) de vouloir retirer tous les ingrédients {food} de votre liste de courses ?", + "IgnoredFood": "L’ingrédient {food} est paramétré pour ignorer les courses.", "Inherit": "Hériter", "InheritFields": "Hériter les valeurs des champs", "FoodInherit": "Ingrédient hérité", @@ -280,8 +280,10 @@ "related_recipes": "Recettes connexes", "today_recipes": "Recettes du jour", "Search Settings": "Paramètres de recherche", - "FoodOnHand": "L'ingrédient {food} est disponible.", + "FoodOnHand": "L’ingrédient {food} est disponible.", "Undefined": "Indéfini", - "Create_Meal_Plan_Entry": "Création d'un plan de repas", - "RemoveFoodFromShopping": "Retirer l'ingrédient {food} de votre liste de courses" + "Create_Meal_Plan_Entry": "Créer une entrée de menu", + "RemoveFoodFromShopping": "Retirer l’ingrédient {food} de votre liste de courses", + "left_handed": "Mode gaucher", + "left_handed_help": "Optimise l’interface utilisateur pour une utilisation avec la main gauche." } From f933226c5d857e0ed494d2fb55dbc35eb62b89f5 Mon Sep 17 00:00:00 2001 From: smilerz Date: Wed, 9 Feb 2022 16:19:51 -0600 Subject: [PATCH 13/15] enable logging for LDAP --- recipes/settings.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/recipes/settings.py b/recipes/settings.py index 3ea147a16..94d44eebb 100644 --- a/recipes/settings.py +++ b/recipes/settings.py @@ -188,7 +188,14 @@ if LDAP_AUTH: AUTH_LDAP_ALWAYS_UPDATE_USER = bool(int(os.getenv('AUTH_LDAP_ALWAYS_UPDATE_USER', True))) AUTH_LDAP_CACHE_TIMEOUT = int(os.getenv('AUTH_LDAP_CACHE_TIMEOUT', 3600)) if 'AUTH_LDAP_TLS_CACERTFILE' in os.environ: - AUTH_LDAP_GLOBAL_OPTIONS = { ldap.OPT_X_TLS_CACERTFILE: os.getenv('AUTH_LDAP_TLS_CACERTFILE') } + AUTH_LDAP_GLOBAL_OPTIONS = {ldap.OPT_X_TLS_CACERTFILE: os.getenv('AUTH_LDAP_TLS_CACERTFILE')} + if DEBUG: + LOGGING = { + "version": 1, + "disable_existing_loggers": False, + "handlers": {"console": {"class": "logging.StreamHandler"}}, + "loggers": {"django_auth_ldap": {"level": "DEBUG", "handlers": ["console"]}}, + } AUTHENTICATION_BACKENDS += [ 'django.contrib.auth.backends.ModelBackend', @@ -428,4 +435,3 @@ EMAIL_USE_TLS = bool(int(os.getenv('EMAIL_USE_TLS', False))) EMAIL_USE_SSL = bool(int(os.getenv('EMAIL_USE_SSL', False))) DEFAULT_FROM_EMAIL = os.getenv('DEFAULT_FROM_EMAIL', 'webmaster@localhost') ACCOUNT_EMAIL_SUBJECT_PREFIX = os.getenv('ACCOUNT_EMAIL_SUBJECT_PREFIX', '[Tandoor Recipes] ') # allauth sender prefix - From 1e9f7af017cbc03b59064294f5e2efabd336b3cb Mon Sep 17 00:00:00 2001 From: vabene1111 Date: Fri, 11 Feb 2022 09:29:28 +0100 Subject: [PATCH 14/15] updated translations and django version --- cookbook/locale/ca/LC_MESSAGES/django.po | 263 +++++++------ cookbook/locale/de/LC_MESSAGES/django.po | 323 +++++++++------- cookbook/locale/en/LC_MESSAGES/django.po | 237 ++++++------ cookbook/locale/es/LC_MESSAGES/django.po | 266 +++++++------ cookbook/locale/fr/LC_MESSAGES/django.po | 372 ++++++++++-------- cookbook/locale/hu_HU/LC_MESSAGES/django.po | 241 ++++++------ cookbook/locale/it/LC_MESSAGES/django.po | 272 +++++++------- cookbook/locale/lv/LC_MESSAGES/django.po | 263 +++++++------ cookbook/locale/nl/LC_MESSAGES/django.po | 320 +++++++++------- cookbook/locale/pt/LC_MESSAGES/django.po | 265 +++++++------ cookbook/locale/rn/LC_MESSAGES/django.po | 237 ++++++------ cookbook/locale/tr/LC_MESSAGES/django.po | 237 ++++++------ cookbook/locale/zh_CN/LC_MESSAGES/django.po | 396 +++++++++++--------- recipes/locale/ca/LC_MESSAGES/django.po | 26 +- recipes/locale/de/LC_MESSAGES/django.po | 26 +- recipes/locale/en/LC_MESSAGES/django.po | 26 +- recipes/locale/es/LC_MESSAGES/django.po | 26 +- recipes/locale/fr/LC_MESSAGES/django.po | 26 +- recipes/locale/hu_HU/LC_MESSAGES/django.po | 26 +- recipes/locale/it/LC_MESSAGES/django.po | 26 +- recipes/locale/lv/LC_MESSAGES/django.po | 26 +- recipes/locale/nl/LC_MESSAGES/django.po | 26 +- recipes/locale/pt/LC_MESSAGES/django.po | 26 +- recipes/locale/rn/LC_MESSAGES/django.po | 26 +- recipes/locale/tr/LC_MESSAGES/django.po | 26 +- recipes/locale/zh_CN/LC_MESSAGES/django.po | 26 +- requirements.txt | 2 +- vue/src/locales/de.json | 2 +- 28 files changed, 2058 insertions(+), 1976 deletions(-) diff --git a/cookbook/locale/ca/LC_MESSAGES/django.po b/cookbook/locale/ca/LC_MESSAGES/django.po index b8b88d778..3ed8186e9 100644 --- a/cookbook/locale/ca/LC_MESSAGES/django.po +++ b/cookbook/locale/ca/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: 2020-06-02 19:28+0000\n" "Last-Translator: Miguel Canteras , 2021\n" "Language-Team: Catalan (https://www.transifex.com/django-recipes/" @@ -309,7 +309,7 @@ msgstr "" #: .\cookbook\forms.py:445 msgid "" "Select type method of search. Click here for " -"full desciption of choices." +"full description of choices." msgstr "" #: .\cookbook\forms.py:446 @@ -367,7 +367,7 @@ msgid "Partial Match" msgstr "" #: .\cookbook\forms.py:464 -msgid "Starts Wtih" +msgid "Starts With" msgstr "" #: .\cookbook\forms.py:465 @@ -522,42 +522,38 @@ msgid "You cannot interact with this object as it is not owned by you!" msgstr "" "No pots interaccionar amb aquest objecte ja que no és de la teva propietat!" -#: .\cookbook\helper\recipe_search.py:473 +#: .\cookbook\helper\recipe_search.py:486 msgid "One of queryset or hash_key must be provided" msgstr "" -#: .\cookbook\helper\shopping_helper.py:54 +#: .\cookbook\helper\shopping_helper.py:148 #, fuzzy #| msgid "You must provide at least a recipe or a title." -msgid "You must supply a recipe or mealplan" +msgid "You must supply a servings size" msgstr "Has de proporcionar com a mínim una recepta o un títol." -#: .\cookbook\helper\shopping_helper.py:58 -msgid "You must supply a created_by" -msgstr "" - #: .\cookbook\helper\template_helper.py:61 #: .\cookbook\helper\template_helper.py:63 msgid "Could not parse template code." msgstr "" -#: .\cookbook\integration\integration.py:200 +#: .\cookbook\integration\integration.py:213 msgid "" "Importer expected a .zip file. Did you choose the correct importer type for " "your data ?" msgstr "" -#: .\cookbook\integration\integration.py:203 +#: .\cookbook\integration\integration.py:216 msgid "" "An unexpected error occurred during the import. Please make sure you have " "uploaded a valid file." msgstr "" -#: .\cookbook\integration\integration.py:208 +#: .\cookbook\integration\integration.py:221 msgid "The following recipes were ignored because they already existed:" msgstr "" -#: .\cookbook\integration\integration.py:212 +#: .\cookbook\integration\integration.py:225 #, fuzzy, python-format #| msgid "Imported new recipe!" msgid "Imported %s recipes." @@ -580,7 +576,6 @@ msgid "Source" msgstr "" #: .\cookbook\integration\saffron.py:23 -#: .\cookbook\templates\include\log_cooking.html:18 #: .\cookbook\templates\url_import.html:231 #: .\cookbook\templates\url_import.html:462 msgid "Servings" @@ -609,7 +604,7 @@ msgid "Rebuilds full text search index on Recipe" msgstr "" #: .\cookbook\management\commands\rebuildindex.py:18 -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 "" #: .\cookbook\management\commands\rebuildindex.py:29 @@ -671,101 +666,80 @@ msgstr "Gran" msgid "New" msgstr "Nova" -#: .\cookbook\models.py:512 +#: .\cookbook\models.py:513 msgid " is part of a recipe step and cannot be deleted" msgstr "" -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:44 -msgid "Text" -msgstr "Text" - -#: .\cookbook\models.py:586 -msgid "Time" -msgstr "Temps" - -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:46 -#, fuzzy -#| msgid "File ID" -msgid "File" -msgstr "ID d'Arxiu" - -#: .\cookbook\models.py:586 -#: .\cookbook\templates\include\recipe_open_modal.html:7 -#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 -#: .\cookbook\views\new.py:53 -msgid "Recipe" -msgstr "Recepta" - -#: .\cookbook\models.py:1041 .\cookbook\templates\search_info.html:28 +#: .\cookbook\models.py:1065 .\cookbook\templates\search_info.html:28 msgid "Simple" msgstr "" -#: .\cookbook\models.py:1042 .\cookbook\templates\search_info.html:33 +#: .\cookbook\models.py:1066 .\cookbook\templates\search_info.html:33 msgid "Phrase" msgstr "" -#: .\cookbook\models.py:1043 .\cookbook\templates\search_info.html:38 +#: .\cookbook\models.py:1067 .\cookbook\templates\search_info.html:38 msgid "Web" msgstr "" -#: .\cookbook\models.py:1044 .\cookbook\templates\search_info.html:47 +#: .\cookbook\models.py:1068 .\cookbook\templates\search_info.html:47 msgid "Raw" msgstr "" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 #, fuzzy #| msgid "Food" msgid "Food Alias" msgstr "Menjar" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 #, fuzzy #| msgid "Units" msgid "Unit Alias" msgstr "Unitats" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 #, fuzzy #| msgid "Keywords" msgid "Keyword Alias" msgstr "Paraules clau" -#: .\cookbook\serializer.py:175 +#: .\cookbook\serializer.py:180 msgid "A user is required" msgstr "" -#: .\cookbook\serializer.py:195 +#: .\cookbook\serializer.py:200 msgid "File uploads are not enabled for this Space." msgstr "" -#: .\cookbook\serializer.py:206 +#: .\cookbook\serializer.py:211 msgid "You have reached your file upload limit." msgstr "" -#: .\cookbook\serializer.py:962 +#: .\cookbook\serializer.py:977 msgid "Existing shopping list to update" msgstr "" -#: .\cookbook\serializer.py:964 +#: .\cookbook\serializer.py:979 msgid "" "List of ingredient IDs from the recipe to add, if not provided all " "ingredients will be added." msgstr "" -#: .\cookbook\serializer.py:965 +#: .\cookbook\serializer.py:980 msgid "" "Providing a list_recipe ID and servings of 0 will delete that shopping list." msgstr "" -#: .\cookbook\serializer.py:973 +#: .\cookbook\serializer.py:988 msgid "Amount of food to add to the shopping list" msgstr "" -#: .\cookbook\serializer.py:974 +#: .\cookbook\serializer.py:989 msgid "ID of unit to use for the shopping list" msgstr "" -#: .\cookbook\serializer.py:975 +#: .\cookbook\serializer.py:990 msgid "When set to true will delete all food from active shopping lists." msgstr "" @@ -1132,8 +1106,8 @@ msgstr "Edició per lots" msgid "History" msgstr "Historial" -#: .\cookbook\templates\base.html:228 .\cookbook\templates\export.html:14 -#: .\cookbook\templates\export.html:20 +#: .\cookbook\templates\base.html:228 +#: .\cookbook\templates\export_response.html:7 #: .\cookbook\templates\shopping_list.html:310 #: .\cookbook\templates\test2.html:14 .\cookbook\templates\test2.html:20 msgid "Export" @@ -1228,7 +1202,6 @@ msgstr "El camí ha de tenir el format següent" #: .\cookbook\templates\forms\edit_import_recipe.html:14 #: .\cookbook\templates\generic\edit_template.html:23 #: .\cookbook\templates\generic\new_template.html:23 -#: .\cookbook\templates\include\log_cooking.html:30 #: .\cookbook\templates\settings.html:70 .\cookbook\templates\settings.html:112 #: .\cookbook\templates\settings.html:130 #: .\cookbook\templates\settings.html:202 @@ -1275,7 +1248,7 @@ msgstr "" msgid "Recipe Books" msgstr "Llibres de Receptes" -#: .\cookbook\templates\export.html:6 .\cookbook\templates\test2.html:6 +#: .\cookbook\templates\export.html:8 .\cookbook\templates\test2.html:6 msgid "Export Recipes" msgstr "Exporta Receptes" @@ -1399,19 +1372,12 @@ msgstr "Importar Receptes" msgid "Import" msgstr "Importar" -#: .\cookbook\templates\include\log_cooking.html:9 -msgid "Log Recipe Cooking" -msgstr "Registre de Receptes de Cuina" +#: .\cookbook\templates\include\recipe_open_modal.html:7 +#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 +#: .\cookbook\views\new.py:53 +msgid "Recipe" +msgstr "Recepta" -#: .\cookbook\templates\include\log_cooking.html:15 -msgid "All fields are optional and can be left empty." -msgstr "Tots els camps són opcionals i es poden deixar buits." - -#: .\cookbook\templates\include\log_cooking.html:21 -msgid "Rating" -msgstr "Valoració" - -#: .\cookbook\templates\include\log_cooking.html:29 #: .\cookbook\templates\include\recipe_open_modal.html:18 msgid "Close" msgstr "Tanca" @@ -1520,7 +1486,9 @@ msgstr "" #: .\cookbook\templates\markdown_info.html:57 #: .\cookbook\templates\markdown_info.html:73 -msgid "or by leaving a blank line inbetween." +#, fuzzy +#| msgid "or by leaving a blank line inbetween." +msgid "or by leaving a blank line in between." msgstr "o bé deixant una línia en blanc entremig." #: .\cookbook\templates\markdown_info.html:59 @@ -1543,8 +1511,12 @@ msgid "Lists" msgstr "Llistes" #: .\cookbook\templates\markdown_info.html:85 +#, fuzzy +#| msgid "" +#| "Lists can ordered or unorderd. It is important to leave a blank line " +#| "before the list!" msgid "" -"Lists can ordered or unorderd. It is important to leave a blank line " +"Lists can ordered or unordered. It is important to leave a blank line " "before the list!" msgstr "" "Les llistes es poden ordenar o desordenades. És important deixar una " @@ -1821,7 +1793,7 @@ msgstr "" msgid "" " \n" " Simple searches ignore punctuation and common words such as " -"'the', 'a', 'and'. And will treat seperate words as required.\n" +"'the', 'a', 'and'. And will treat separate 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" @@ -1846,7 +1818,7 @@ msgid "" "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) " +" 'or' is recognized 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" @@ -1876,7 +1848,7 @@ msgid "" "'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 " +"will find misspelled words such as 'sandwhich' that would be missed by other " "methods.\n" " " msgstr "" @@ -2159,7 +2131,9 @@ msgid "Finished" msgstr "Acabat" #: .\cookbook\templates\shopping_list.html:267 -msgid "You are offline, shopping list might not syncronize." +#, fuzzy +#| msgid "You are offline, shopping list might not syncronize." +msgid "You are offline, shopping list might not synchronize." msgstr "" "Estàs fora de línia, és possible que la llista de compra no es sincronitzi." @@ -2458,6 +2432,16 @@ msgstr "" msgid "App" msgstr "" +#: .\cookbook\templates\url_import.html:44 +msgid "Text" +msgstr "Text" + +#: .\cookbook\templates\url_import.html:46 +#, fuzzy +#| msgid "File ID" +msgid "File" +msgstr "ID d'Arxiu" + #: .\cookbook\templates\url_import.html:64 msgid "Enter website URL" msgstr "Introduïu l'URL del lloc web" @@ -2646,180 +2630,181 @@ msgstr "Problemes de GitHub" msgid "Recipe Markup Specification" msgstr "Especificació de marcatge de receptes" -#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:170 +#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:174 #, fuzzy #| msgid "Parameter filter_list incorrectly formatted" msgid "Parameter updated_at incorrectly formatted" msgstr "El paràmetre filter_list té un format incorrecte" -#: .\cookbook\views\api.py:190 .\cookbook\views\api.py:291 +#: .\cookbook\views\api.py:194 .\cookbook\views\api.py:295 #, python-brace-format msgid "No {self.basename} with id {pk} exists" msgstr "" -#: .\cookbook\views\api.py:194 +#: .\cookbook\views\api.py:198 msgid "Cannot merge with the same object!" msgstr "" -#: .\cookbook\views\api.py:201 +#: .\cookbook\views\api.py:205 #, python-brace-format msgid "No {self.basename} with id {target} exists" msgstr "" -#: .\cookbook\views\api.py:206 +#: .\cookbook\views\api.py:210 msgid "Cannot merge with child object!" msgstr "" -#: .\cookbook\views\api.py:239 +#: .\cookbook\views\api.py:243 #, python-brace-format msgid "{source.name} was merged successfully with {target.name}" msgstr "" -#: .\cookbook\views\api.py:244 +#: .\cookbook\views\api.py:248 #, python-brace-format msgid "An error occurred attempting to merge {source.name} with {target.name}" msgstr "" -#: .\cookbook\views\api.py:300 +#: .\cookbook\views\api.py:304 #, python-brace-format msgid "{child.name} was moved successfully to the root." msgstr "" -#: .\cookbook\views\api.py:303 .\cookbook\views\api.py:321 +#: .\cookbook\views\api.py:307 .\cookbook\views\api.py:325 msgid "An error occurred attempting to move " msgstr "" -#: .\cookbook\views\api.py:306 +#: .\cookbook\views\api.py:310 msgid "Cannot move an object to itself!" msgstr "" -#: .\cookbook\views\api.py:312 +#: .\cookbook\views\api.py:316 #, python-brace-format msgid "No {self.basename} with id {parent} exists" msgstr "" -#: .\cookbook\views\api.py:318 +#: .\cookbook\views\api.py:322 #, python-brace-format msgid "{child.name} was moved successfully to parent {parent.name}" msgstr "" -#: .\cookbook\views\api.py:470 +#: .\cookbook\views\api.py:474 #, python-brace-format msgid "{obj.name} was removed from the shopping list." msgstr "" -#: .\cookbook\views\api.py:475 .\cookbook\views\api.py:726 +#: .\cookbook\views\api.py:479 .\cookbook\views\api.py:729 +#: .\cookbook\views\api.py:742 #, python-brace-format msgid "{obj.name} was added to the shopping list." msgstr "" -#: .\cookbook\views\api.py:587 +#: .\cookbook\views\api.py:591 msgid "ID of recipe a step is part of. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:588 +#: .\cookbook\views\api.py:592 msgid "Query string matched (fuzzy) against object name." msgstr "" -#: .\cookbook\views\api.py:631 +#: .\cookbook\views\api.py:635 msgid "" "Query string matched (fuzzy) against recipe name. In the future also " "fulltext search." msgstr "" -#: .\cookbook\views\api.py:632 +#: .\cookbook\views\api.py:636 msgid "ID of keyword a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:633 +#: .\cookbook\views\api.py:637 msgid "ID of food a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:634 +#: .\cookbook\views\api.py:638 msgid "ID of unit a recipe should have." msgstr "" -#: .\cookbook\views\api.py:635 +#: .\cookbook\views\api.py:639 msgid "Rating a recipe should have. [0 - 5]" msgstr "" -#: .\cookbook\views\api.py:636 +#: .\cookbook\views\api.py:640 msgid "ID of book a recipe should be in. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:637 +#: .\cookbook\views\api.py:641 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided keywords." msgstr "" -#: .\cookbook\views\api.py:638 +#: .\cookbook\views\api.py:642 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided foods." msgstr "" -#: .\cookbook\views\api.py:639 +#: .\cookbook\views\api.py:643 msgid "" "If recipe should be in all (AND=false) or any (OR=true) of the " "provided books." msgstr "" -#: .\cookbook\views\api.py:640 +#: .\cookbook\views\api.py:644 msgid "If only internal recipes should be returned. [true/false]" msgstr "" -#: .\cookbook\views\api.py:641 +#: .\cookbook\views\api.py:645 msgid "Returns the results in randomized order. [true/false]" msgstr "" -#: .\cookbook\views\api.py:642 +#: .\cookbook\views\api.py:646 msgid "Returns new results first in search results. [true/false]" msgstr "" -#: .\cookbook\views\api.py:768 +#: .\cookbook\views\api.py:784 msgid "" "Returns the shopping list entry with a primary key of id. Multiple values " "allowed." msgstr "" -#: .\cookbook\views\api.py:771 +#: .\cookbook\views\api.py:787 msgid "" "Filter shopping list entries on checked. [true, false, both, recent]
- recent includes unchecked items and recently completed items." msgstr "" -#: .\cookbook\views\api.py:773 +#: .\cookbook\views\api.py:789 msgid "Returns the shopping list entries sorted by supermarket category order." msgstr "" -#: .\cookbook\views\api.py:922 .\cookbook\views\data.py:42 +#: .\cookbook\views\api.py:949 .\cookbook\views\data.py:42 #: .\cookbook\views\edit.py:129 .\cookbook\views\new.py:95 msgid "This feature is not yet available in the hosted version of tandoor!" msgstr "" -#: .\cookbook\views\api.py:944 +#: .\cookbook\views\api.py:971 msgid "Sync successful!" msgstr "Sincronització correcte" -#: .\cookbook\views\api.py:949 +#: .\cookbook\views\api.py:976 msgid "Error synchronizing with Storage" msgstr "Error de sincronització amb emmagatzematge" -#: .\cookbook\views\api.py:1028 +#: .\cookbook\views\api.py:1055 msgid "Nothing to do." msgstr "" -#: .\cookbook\views\api.py:1043 +#: .\cookbook\views\api.py:1070 msgid "The requested site provided malformed data and cannot be read." msgstr "" "El lloc sol·licitat proporcionava dades malformades i no es pot llegir." -#: .\cookbook\views\api.py:1050 +#: .\cookbook\views\api.py:1077 msgid "The requested page could not be found." msgstr "No s'ha pogut trobar la pàgina sol·licitada." -#: .\cookbook\views\api.py:1068 +#: .\cookbook\views\api.py:1095 msgid "" "The requested site does not provide any recognized data format to import the " "recipe from." @@ -2827,28 +2812,28 @@ msgstr "" "El lloc sol·licitat no proporciona cap format de dades reconegut des d’on " "importar la recepta." -#: .\cookbook\views\api.py:1082 +#: .\cookbook\views\api.py:1109 msgid "Connection Refused." msgstr "" -#: .\cookbook\views\api.py:1091 +#: .\cookbook\views\api.py:1118 #, fuzzy #| msgid "The requested page could not be found." -msgid "No useable data could be found." +msgid "No usable data could be found." msgstr "No s'ha pogut trobar la pàgina sol·licitada." -#: .\cookbook\views\api.py:1107 +#: .\cookbook\views\api.py:1134 msgid "I couldn't find anything to do." msgstr "" #: .\cookbook\views\data.py:34 .\cookbook\views\data.py:129 -#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:80 +#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:81 #: .\cookbook\views\new.py:33 msgid "You have reached the maximum number of recipes for your space." msgstr "" #: .\cookbook\views\data.py:38 .\cookbook\views\data.py:133 -#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:84 +#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:85 #: .\cookbook\views\new.py:37 msgid "You have more users than allowed in your space." msgstr "" @@ -2909,20 +2894,16 @@ msgstr "Canvis desats!" msgid "Error saving changes!" msgstr "Error al desar canvis!" -#: .\cookbook\views\import_export.py:106 +#: .\cookbook\views\import_export.py:107 .\cookbook\views\import_export.py:143 msgid "Importing is not implemented for this provider" msgstr "" -#: .\cookbook\views\import_export.py:127 +#: .\cookbook\views\import_export.py:130 msgid "" "The PDF Exporter is not enabled on this instance as it is still in an " "experimental state." msgstr "" -#: .\cookbook\views\import_export.py:132 -msgid "Exporting is not implemented for this provider" -msgstr "" - #: .\cookbook\views\lists.py:25 msgid "Import Log" msgstr "Importa Registre" @@ -3045,7 +3026,7 @@ msgstr "" msgid "Fuzzy search is not compatible with this search method!" msgstr "" -#: .\cookbook\views\views.py:470 +#: .\cookbook\views\views.py:473 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 " @@ -3055,44 +3036,56 @@ msgstr "" "Si heu oblidat les vostres credencials de superusuari, consulteu la " "documentació de django sobre com restablir les contrasenyes." -#: .\cookbook\views\views.py:477 +#: .\cookbook\views\views.py:480 msgid "Passwords dont match!" msgstr "Les contrasenyes no coincideixen!" -#: .\cookbook\views\views.py:493 +#: .\cookbook\views\views.py:496 msgid "User has been created, please login!" msgstr "L'usuari s'ha creat, si us plau inicieu la sessió!" -#: .\cookbook\views\views.py:509 +#: .\cookbook\views\views.py:512 msgid "Malformed Invite Link supplied!" msgstr "S'ha proporcionat un enllaç d'invitació mal format." -#: .\cookbook\views\views.py:516 +#: .\cookbook\views\views.py:519 #, fuzzy #| msgid "You are not logged in and therefore cannot view this page!" msgid "You are already member of a space and therefore cannot join this one." msgstr "No heu iniciat la sessió i, per tant, no podeu veure aquesta pàgina." -#: .\cookbook\views\views.py:527 +#: .\cookbook\views\views.py:530 msgid "Successfully joined space." msgstr "" -#: .\cookbook\views\views.py:533 +#: .\cookbook\views\views.py:536 msgid "Invite Link not valid or already used!" msgstr "L'enllaç d'invitació no és vàlid o ja s'ha utilitzat." -#: .\cookbook\views\views.py:614 +#: .\cookbook\views\views.py:617 msgid "" "Reporting share links is not enabled for this instance. Please notify the " "page administrator to report problems." msgstr "" -#: .\cookbook\views\views.py:620 +#: .\cookbook\views\views.py:623 msgid "" "Recipe sharing link has been disabled! For additional information please " "contact the page administrator." msgstr "" +#~ msgid "Time" +#~ msgstr "Temps" + +#~ msgid "Log Recipe Cooking" +#~ msgstr "Registre de Receptes de Cuina" + +#~ msgid "All fields are optional and can be left empty." +#~ msgstr "Tots els camps són opcionals i es poden deixar buits." + +#~ msgid "Rating" +#~ msgstr "Valoració" + #~ msgid "New Unit" #~ msgstr "Nova Unitat" diff --git a/cookbook/locale/de/LC_MESSAGES/django.po b/cookbook/locale/de/LC_MESSAGES/django.po index 92205ee14..6681ce55f 100644 --- a/cookbook/locale/de/LC_MESSAGES/django.po +++ b/cookbook/locale/de/LC_MESSAGES/django.po @@ -14,11 +14,11 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: 2022-02-06 21:31+0000\n" "Last-Translator: David Laukamp \n" -"Language-Team: German \n" +"Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -113,7 +113,8 @@ msgstr "Nährwerte in Joule statt Kalorien anzeigen" #: .\cookbook\forms.py:79 msgid "Users with whom newly created meal plans should be shared by default." -msgstr "Nutzer, mit denen neue Essenspläne standardmäßig geteilt werden sollen." +msgstr "" +"Nutzer, mit denen neue Essenspläne standardmäßig geteilt werden sollen." #: .\cookbook\forms.py:80 msgid "Users with whom to share shopping lists." @@ -292,9 +293,13 @@ msgstr "" "A. führen niedrigere Werte zum ignorieren von mehr Tippfehlern)." #: .\cookbook\forms.py:445 +#, fuzzy +#| msgid "" +#| "Select type method of search. Click here " +#| "for full desciption of choices." msgid "" "Select type method of search. Click here for " -"full desciption of choices." +"full description of choices." msgstr "" "Suchmethode auswählen. Klicke hier für eine " "Auflistung der Optionen." @@ -365,7 +370,9 @@ msgid "Partial Match" msgstr "Teilweise Übereinstimmung" #: .\cookbook\forms.py:464 -msgid "Starts Wtih" +#, fuzzy +#| msgid "Starts Wtih" +msgid "Starts With" msgstr "Beginnt mit" #: .\cookbook\forms.py:465 @@ -526,16 +533,14 @@ msgid "You cannot interact with this object as it is not owned by you!" msgstr "" "Du kannst mit diesem Objekt nicht interagieren, da es dir nicht gehört!" -#: .\cookbook\helper\recipe_search.py:473 +#: .\cookbook\helper\recipe_search.py:486 msgid "One of queryset or hash_key must be provided" msgstr "Es muss die Abfrage oder der Hash_Key angeben werden" -#: .\cookbook\helper\shopping_helper.py:54 -msgid "You must supply a recipe or mealplan" -msgstr "Mindestens ein Rezept oder ein Essensplan müssen angegeben werden" - -#: .\cookbook\helper\shopping_helper.py:58 -msgid "You must supply a created_by" +#: .\cookbook\helper\shopping_helper.py:148 +#, fuzzy +#| msgid "You must supply a created_by" +msgid "You must supply a servings size" msgstr "Die Angabe der Verfassers ist notwendig" #: .\cookbook\helper\template_helper.py:61 @@ -543,7 +548,7 @@ msgstr "Die Angabe der Verfassers ist notwendig" msgid "Could not parse template code." msgstr "Konnte den Template code nicht verarbeiten." -#: .\cookbook\integration\integration.py:200 +#: .\cookbook\integration\integration.py:213 msgid "" "Importer expected a .zip file. Did you choose the correct importer type for " "your data ?" @@ -551,7 +556,7 @@ msgstr "" "Importer erwartet eine .zip Datei. Hast du den richtigen Importer-Typ für " "deine Daten ausgewählt?" -#: .\cookbook\integration\integration.py:203 +#: .\cookbook\integration\integration.py:216 msgid "" "An unexpected error occurred during the import. Please make sure you have " "uploaded a valid file." @@ -559,11 +564,11 @@ msgstr "" "Ein unerwarteter Fehler trat beim Importieren auf. Bitte stelle sicher, dass " "die hochgeladene Datei gültig ist." -#: .\cookbook\integration\integration.py:208 +#: .\cookbook\integration\integration.py:221 msgid "The following recipes were ignored because they already existed:" msgstr "Die folgenden Rezepte wurden ignoriert da sie bereits existieren:" -#: .\cookbook\integration\integration.py:212 +#: .\cookbook\integration\integration.py:225 #, python-format msgid "Imported %s recipes." msgstr "%s Rezepte importiert." @@ -581,7 +586,6 @@ msgid "Source" msgstr "Quelle" #: .\cookbook\integration\saffron.py:23 -#: .\cookbook\templates\include\log_cooking.html:18 #: .\cookbook\templates\url_import.html:231 #: .\cookbook\templates\url_import.html:462 msgid "Servings" @@ -610,7 +614,9 @@ msgid "Rebuilds full text search index on Recipe" msgstr "Generiert den Index für die Rezept-Volltextsuche neu" #: .\cookbook\management\commands\rebuildindex.py:18 -msgid "Only Postgress databases use full text search, no index to rebuild" +#, 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 "" "Nur PostgreSQL Datenbanken verwenden Volltextsuche, kein Index muss neu " "generiert werden" @@ -676,94 +682,75 @@ msgstr "Groß" msgid "New" msgstr "Neu" -#: .\cookbook\models.py:512 +#: .\cookbook\models.py:513 msgid " is part of a recipe step and cannot be deleted" msgstr " ist Teil eines Rezepts und kann nicht gelöscht werden" -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:44 -msgid "Text" -msgstr "Text" - -#: .\cookbook\models.py:586 -msgid "Time" -msgstr "Zeit" - -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:46 -msgid "File" -msgstr "Datei" - -#: .\cookbook\models.py:586 -#: .\cookbook\templates\include\recipe_open_modal.html:7 -#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 -#: .\cookbook\views\new.py:53 -msgid "Recipe" -msgstr "Rezept" - -#: .\cookbook\models.py:1041 .\cookbook\templates\search_info.html:28 +#: .\cookbook\models.py:1065 .\cookbook\templates\search_info.html:28 msgid "Simple" msgstr "Einfach" -#: .\cookbook\models.py:1042 .\cookbook\templates\search_info.html:33 +#: .\cookbook\models.py:1066 .\cookbook\templates\search_info.html:33 msgid "Phrase" msgstr "Satz" -#: .\cookbook\models.py:1043 .\cookbook\templates\search_info.html:38 +#: .\cookbook\models.py:1067 .\cookbook\templates\search_info.html:38 msgid "Web" msgstr "Web" -#: .\cookbook\models.py:1044 .\cookbook\templates\search_info.html:47 +#: .\cookbook\models.py:1068 .\cookbook\templates\search_info.html:47 msgid "Raw" msgstr "Rohdaten" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Food Alias" msgstr "Lebensmittel Alias" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Unit Alias" msgstr "Einheiten Alias" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Keyword Alias" msgstr "Stichwort Alias" -#: .\cookbook\serializer.py:175 +#: .\cookbook\serializer.py:180 msgid "A user is required" msgstr "Ein Benutzername ist notwendig" -#: .\cookbook\serializer.py:195 +#: .\cookbook\serializer.py:200 msgid "File uploads are not enabled for this Space." msgstr "Datei-Uploads sind in diesem Space nicht aktiviert." -#: .\cookbook\serializer.py:206 +#: .\cookbook\serializer.py:211 msgid "You have reached your file upload limit." msgstr "Du hast Dein Datei-Uploadlimit erreicht." -#: .\cookbook\serializer.py:962 +#: .\cookbook\serializer.py:977 msgid "Existing shopping list to update" msgstr "Bestehende Einkaufliste, die aktualisiert werden soll" -#: .\cookbook\serializer.py:964 +#: .\cookbook\serializer.py:979 msgid "" "List of ingredient IDs from the recipe to add, if not provided all " "ingredients will be added." msgstr "" -#: .\cookbook\serializer.py:965 +#: .\cookbook\serializer.py:980 msgid "" "Providing a list_recipe ID and servings of 0 will delete that shopping list." msgstr "" -#: .\cookbook\serializer.py:973 +#: .\cookbook\serializer.py:988 msgid "Amount of food to add to the shopping list" msgstr "" "Menge des Lebensmittels, welches der Einkaufsliste hinzugefügt werden soll" -#: .\cookbook\serializer.py:974 +#: .\cookbook\serializer.py:989 msgid "ID of unit to use for the shopping list" msgstr "ID der Einheit, die für die Einkaufsliste verwendet werden soll" -#: .\cookbook\serializer.py:975 +#: .\cookbook\serializer.py:990 msgid "When set to true will delete all food from active shopping lists." msgstr "" @@ -1125,8 +1112,8 @@ msgstr "Massenbearbeitung" msgid "History" msgstr "Verlauf" -#: .\cookbook\templates\base.html:228 .\cookbook\templates\export.html:14 -#: .\cookbook\templates\export.html:20 +#: .\cookbook\templates\base.html:228 +#: .\cookbook\templates\export_response.html:7 #: .\cookbook\templates\shopping_list.html:310 #: .\cookbook\templates\test2.html:14 .\cookbook\templates\test2.html:20 msgid "Export" @@ -1219,7 +1206,6 @@ msgstr "Der Pfad muss folgendes Format haben" #: .\cookbook\templates\forms\edit_import_recipe.html:14 #: .\cookbook\templates\generic\edit_template.html:23 #: .\cookbook\templates\generic\new_template.html:23 -#: .\cookbook\templates\include\log_cooking.html:30 #: .\cookbook\templates\settings.html:70 .\cookbook\templates\settings.html:112 #: .\cookbook\templates\settings.html:130 #: .\cookbook\templates\settings.html:202 @@ -1262,7 +1248,7 @@ msgstr "" msgid "Recipe Books" msgstr "Rezeptbuch" -#: .\cookbook\templates\export.html:6 .\cookbook\templates\test2.html:6 +#: .\cookbook\templates\export.html:8 .\cookbook\templates\test2.html:6 msgid "Export Recipes" msgstr "Rezepte exportieren" @@ -1390,19 +1376,12 @@ msgstr "Rezepte importieren" msgid "Import" msgstr "Importieren" -#: .\cookbook\templates\include\log_cooking.html:9 -msgid "Log Recipe Cooking" -msgstr "Kochen protokollieren" +#: .\cookbook\templates\include\recipe_open_modal.html:7 +#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 +#: .\cookbook\views\new.py:53 +msgid "Recipe" +msgstr "Rezept" -#: .\cookbook\templates\include\log_cooking.html:15 -msgid "All fields are optional and can be left empty." -msgstr "Alle Felder sind optional und können leer gelassen werden." - -#: .\cookbook\templates\include\log_cooking.html:21 -msgid "Rating" -msgstr "Bewertung" - -#: .\cookbook\templates\include\log_cooking.html:29 #: .\cookbook\templates\include\recipe_open_modal.html:18 msgid "Close" msgstr "Schließen" @@ -1511,7 +1490,9 @@ msgstr "Zeilenumbrüche entstehen durch zwei Leerzeichen am ende einer Zeile" #: .\cookbook\templates\markdown_info.html:57 #: .\cookbook\templates\markdown_info.html:73 -msgid "or by leaving a blank line inbetween." +#, fuzzy +#| msgid "or by leaving a blank line inbetween." +msgid "or by leaving a blank line in between." msgstr "oder durch eine leere Zeile dazwischen." #: .\cookbook\templates\markdown_info.html:59 @@ -1534,8 +1515,12 @@ msgid "Lists" msgstr "Listen" #: .\cookbook\templates\markdown_info.html:85 +#, fuzzy +#| msgid "" +#| "Lists can ordered or unorderd. It is important to leave a blank line " +#| "before the list!" msgid "" -"Lists can ordered or unorderd. It is important to leave a blank line " +"Lists can ordered or unordered. It is important to leave a blank line " "before the list!" msgstr "" "Liste können sortiert oder unsortiert sein. Es ist wichtig das eine leere " @@ -1832,10 +1817,19 @@ 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 " -"'the', 'a', 'and'. And will treat seperate words as required.\n" +"'the', 'a', 'and'. And will treat separate 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" @@ -1867,13 +1861,30 @@ 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 " "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) " +" 'or' is recognized 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" @@ -1913,6 +1924,19 @@ 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 " @@ -1922,7 +1946,7 @@ msgid "" "'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 " +"will find misspelled words such as 'sandwhich' that would be missed by other " "methods.\n" " " msgstr "" @@ -2241,7 +2265,9 @@ msgid "Finished" msgstr "Erledigt" #: .\cookbook\templates\shopping_list.html:267 -msgid "You are offline, shopping list might not syncronize." +#, fuzzy +#| msgid "You are offline, shopping list might not syncronize." +msgid "You are offline, shopping list might not synchronize." msgstr "Du bist offline, die Einkaufsliste wird ggf. nicht synchronisiert." #: .\cookbook\templates\shopping_list.html:318 @@ -2535,6 +2561,14 @@ msgstr "URL" msgid "App" msgstr "Anwendung" +#: .\cookbook\templates\url_import.html:44 +msgid "Text" +msgstr "Text" + +#: .\cookbook\templates\url_import.html:46 +msgid "File" +msgstr "Datei" + #: .\cookbook\templates\url_import.html:64 msgid "Enter website URL" msgstr "Webseite-URL eingeben" @@ -2709,208 +2743,211 @@ msgstr "GitHub-Issues" msgid "Recipe Markup Specification" msgstr "Rezept-Markup-Spezifikation" -#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:170 +#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:174 msgid "Parameter updated_at incorrectly formatted" msgstr "Der Parameter updated_at ist falsch formatiert" -#: .\cookbook\views\api.py:190 .\cookbook\views\api.py:291 +#: .\cookbook\views\api.py:194 .\cookbook\views\api.py:295 #, python-brace-format msgid "No {self.basename} with id {pk} exists" msgstr "Kein {self.basename} mit der ID {pk} existiert" -#: .\cookbook\views\api.py:194 +#: .\cookbook\views\api.py:198 msgid "Cannot merge with the same object!" msgstr "Zusammenführen mit selben Objekt nicht möglich!" -#: .\cookbook\views\api.py:201 +#: .\cookbook\views\api.py:205 #, python-brace-format msgid "No {self.basename} with id {target} exists" msgstr "Kein {self.basename} mit der ID {target} existiert" -#: .\cookbook\views\api.py:206 +#: .\cookbook\views\api.py:210 msgid "Cannot merge with child object!" msgstr "Zusammenführen mit untergeordnetem Objekt nicht möglich!" -#: .\cookbook\views\api.py:239 +#: .\cookbook\views\api.py:243 #, python-brace-format msgid "{source.name} was merged successfully with {target.name}" msgstr "{source.name} wurde erfolgreich mit {target.name} zusammengeführt" -#: .\cookbook\views\api.py:244 +#: .\cookbook\views\api.py:248 #, python-brace-format msgid "An error occurred attempting to merge {source.name} with {target.name}" msgstr "" "Beim zusammenführen von {source.name} mit {target.name} ist ein Fehler " "aufgetreten" -#: .\cookbook\views\api.py:300 +#: .\cookbook\views\api.py:304 #, python-brace-format msgid "{child.name} was moved successfully to the root." msgstr "{child.name} wurde erfolgreich zur Wurzel verschoben." -#: .\cookbook\views\api.py:303 .\cookbook\views\api.py:321 +#: .\cookbook\views\api.py:307 .\cookbook\views\api.py:325 msgid "An error occurred attempting to move " msgstr "Fehler aufgetreten beim verschieben von " -#: .\cookbook\views\api.py:306 +#: .\cookbook\views\api.py:310 msgid "Cannot move an object to itself!" msgstr "Ein Element kann nicht in sich selbst verschoben werden!" -#: .\cookbook\views\api.py:312 +#: .\cookbook\views\api.py:316 #, python-brace-format msgid "No {self.basename} with id {parent} exists" msgstr "Kein {self.basename} mit ID {parent} existiert" -#: .\cookbook\views\api.py:318 +#: .\cookbook\views\api.py:322 #, python-brace-format msgid "{child.name} was moved successfully to parent {parent.name}" msgstr "" "{child.name} wurde erfolgreich zum Überelement {parent.name} verschoben" -#: .\cookbook\views\api.py:470 +#: .\cookbook\views\api.py:474 #, python-brace-format msgid "{obj.name} was removed from the shopping list." msgstr "{obj.name} wurde von der Einkaufsliste entfernt." -#: .\cookbook\views\api.py:475 .\cookbook\views\api.py:726 +#: .\cookbook\views\api.py:479 .\cookbook\views\api.py:729 +#: .\cookbook\views\api.py:742 #, python-brace-format msgid "{obj.name} was added to the shopping list." msgstr "{obj.name} wurde der Einkaufsliste hinzugefügt." -#: .\cookbook\views\api.py:587 +#: .\cookbook\views\api.py:591 msgid "ID of recipe a step is part of. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:588 +#: .\cookbook\views\api.py:592 msgid "Query string matched (fuzzy) against object name." msgstr "" -#: .\cookbook\views\api.py:631 +#: .\cookbook\views\api.py:635 msgid "" "Query string matched (fuzzy) against recipe name. In the future also " "fulltext search." msgstr "" -#: .\cookbook\views\api.py:632 +#: .\cookbook\views\api.py:636 msgid "ID of keyword a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:633 +#: .\cookbook\views\api.py:637 msgid "ID of food a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:634 +#: .\cookbook\views\api.py:638 msgid "ID of unit a recipe should have." msgstr "ID der Einheit, die ein Rezept haben sollte." -#: .\cookbook\views\api.py:635 +#: .\cookbook\views\api.py:639 msgid "Rating a recipe should have. [0 - 5]" msgstr "Bewertung, die ein Rezept haben sollte. [ 0 - 5]" -#: .\cookbook\views\api.py:636 +#: .\cookbook\views\api.py:640 msgid "ID of book a recipe should be in. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:637 +#: .\cookbook\views\api.py:641 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided keywords." msgstr "" -#: .\cookbook\views\api.py:638 +#: .\cookbook\views\api.py:642 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided foods." msgstr "" -#: .\cookbook\views\api.py:639 +#: .\cookbook\views\api.py:643 msgid "" "If recipe should be in all (AND=false) or any (OR=true) of the " "provided books." msgstr "" -#: .\cookbook\views\api.py:640 +#: .\cookbook\views\api.py:644 msgid "If only internal recipes should be returned. [true/false]" msgstr "" -#: .\cookbook\views\api.py:641 +#: .\cookbook\views\api.py:645 msgid "Returns the results in randomized order. [true/false]" msgstr "" -#: .\cookbook\views\api.py:642 +#: .\cookbook\views\api.py:646 msgid "Returns new results first in search results. [true/false]" msgstr "" -#: .\cookbook\views\api.py:768 +#: .\cookbook\views\api.py:784 msgid "" "Returns the shopping list entry with a primary key of id. Multiple values " "allowed." msgstr "" -#: .\cookbook\views\api.py:771 +#: .\cookbook\views\api.py:787 msgid "" "Filter shopping list entries on checked. [true, false, both, recent]
- recent includes unchecked items and recently completed items." msgstr "" -#: .\cookbook\views\api.py:773 +#: .\cookbook\views\api.py:789 msgid "Returns the shopping list entries sorted by supermarket category order." msgstr "" -#: .\cookbook\views\api.py:922 .\cookbook\views\data.py:42 +#: .\cookbook\views\api.py:949 .\cookbook\views\data.py:42 #: .\cookbook\views\edit.py:129 .\cookbook\views\new.py:95 msgid "This feature is not yet available in the hosted version of tandoor!" msgstr "Diese Funktion ist in dieser Version von Tandoor noch nicht verfügbar!" -#: .\cookbook\views\api.py:944 +#: .\cookbook\views\api.py:971 msgid "Sync successful!" msgstr "Synchronisation erfolgreich!" -#: .\cookbook\views\api.py:949 +#: .\cookbook\views\api.py:976 msgid "Error synchronizing with Storage" msgstr "Fehler beim Synchronisieren" -#: .\cookbook\views\api.py:1028 +#: .\cookbook\views\api.py:1055 msgid "Nothing to do." msgstr "Nichts zu tun." -#: .\cookbook\views\api.py:1043 +#: .\cookbook\views\api.py:1070 msgid "The requested site provided malformed data and cannot be read." msgstr "" "Die angefragte Seite hat ungültige Daten zurückgegeben oder die Daten " "konnten nicht verarbeitet werden." -#: .\cookbook\views\api.py:1050 +#: .\cookbook\views\api.py:1077 msgid "The requested page could not be found." msgstr "Die angefragte Seite konnte nicht gefunden werden." -#: .\cookbook\views\api.py:1068 +#: .\cookbook\views\api.py:1095 msgid "" "The requested site does not provide any recognized data format to import the " "recipe from." msgstr "" "Die angefragte Seite stellt keine bekannten Datenformate zur Verfügung." -#: .\cookbook\views\api.py:1082 +#: .\cookbook\views\api.py:1109 msgid "Connection Refused." msgstr "Verbindung fehlgeschlagen." -#: .\cookbook\views\api.py:1091 -msgid "No useable data could be found." +#: .\cookbook\views\api.py:1118 +#, fuzzy +#| msgid "No useable data could be found." +msgid "No usable data could be found." msgstr "Es konnten keine nutzbaren Daten gefunden werden." -#: .\cookbook\views\api.py:1107 +#: .\cookbook\views\api.py:1134 msgid "I couldn't find anything to do." msgstr "Ich konnte nichts zu tun finden." #: .\cookbook\views\data.py:34 .\cookbook\views\data.py:129 -#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:80 +#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:81 #: .\cookbook\views\new.py:33 msgid "You have reached the maximum number of recipes for your space." msgstr "Du hast die maximale Anzahl an Rezepten für Deinen Space erreicht." #: .\cookbook\views\data.py:38 .\cookbook\views\data.py:133 -#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:84 +#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:85 #: .\cookbook\views\new.py:37 msgid "You have more users than allowed in your space." msgstr "Du hast mehr Benutzer in Deinem Space als erlaubt." @@ -2971,11 +3008,11 @@ msgstr "Änderungen gespeichert!" msgid "Error saving changes!" msgstr "Fehler beim Speichern der Daten!" -#: .\cookbook\views\import_export.py:106 +#: .\cookbook\views\import_export.py:107 .\cookbook\views\import_export.py:143 msgid "Importing is not implemented for this provider" msgstr "Importieren ist für diesen Anbieter noch nicht implementiert" -#: .\cookbook\views\import_export.py:127 +#: .\cookbook\views\import_export.py:130 msgid "" "The PDF Exporter is not enabled on this instance as it is still in an " "experimental state." @@ -2983,10 +3020,6 @@ msgstr "" "Der PDF-Exporter ist in dieser Instanz nicht aktiviert, da er sich noch in " "einem experimentellen Zustand befindet." -#: .\cookbook\views\import_export.py:132 -msgid "Exporting is not implemented for this provider" -msgstr "Exportieren ist für diesen Anbieter noch nicht implementiert" - #: .\cookbook\views\lists.py:25 msgid "Import Log" msgstr "Importverlauf" @@ -3116,7 +3149,7 @@ msgstr "" msgid "Fuzzy search is not compatible with this search method!" msgstr "Die \"Ungenaue\" Suche ist mit diesem Suchtyp nicht kompatibel!" -#: .\cookbook\views\views.py:470 +#: .\cookbook\views\views.py:473 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 " @@ -3125,33 +3158,33 @@ msgstr "" "Die Setup-Seite kann nur für den ersten Nutzer verwendet werden. Zum " "Zurücksetzen von Passwörtern bitte der Django-Dokumentation folgen." -#: .\cookbook\views\views.py:477 +#: .\cookbook\views\views.py:480 msgid "Passwords dont match!" msgstr "Passwörter stimmen nicht überein!" -#: .\cookbook\views\views.py:493 +#: .\cookbook\views\views.py:496 msgid "User has been created, please login!" msgstr "Benutzer wurde erstellt, bitte einloggen!" -#: .\cookbook\views\views.py:509 +#: .\cookbook\views\views.py:512 msgid "Malformed Invite Link supplied!" msgstr "Fehlerhafter Einladungslink angegeben!" -#: .\cookbook\views\views.py:516 +#: .\cookbook\views\views.py:519 msgid "You are already member of a space and therefore cannot join this one." msgstr "" "Du bist bereits Mitglied eines Space, daher kannst du diesem Space nicht " "beitreten." -#: .\cookbook\views\views.py:527 +#: .\cookbook\views\views.py:530 msgid "Successfully joined space." msgstr "Space erfolgreich beigetreten." -#: .\cookbook\views\views.py:533 +#: .\cookbook\views\views.py:536 msgid "Invite Link not valid or already used!" msgstr "Einladungslink ungültig oder bereits genutzt!" -#: .\cookbook\views\views.py:614 +#: .\cookbook\views\views.py:617 msgid "" "Reporting share links is not enabled for this instance. Please notify the " "page administrator to report problems." @@ -3159,7 +3192,7 @@ msgstr "" "Das melden von Links ist in dieser Instanz nicht aktiviert. Bitte " "kontaktieren sie den Seitenadministrator um Probleme zu melden." -#: .\cookbook\views\views.py:620 +#: .\cookbook\views\views.py:623 msgid "" "Recipe sharing link has been disabled! For additional information please " "contact the page administrator." @@ -3167,6 +3200,24 @@ msgstr "" "Dieser Link wurde deaktiviert! Bitte kontaktieren sie den " "Seitenadministrator für weitere Informationen." +#~ msgid "You must supply a recipe or mealplan" +#~ msgstr "Mindestens ein Rezept oder ein Essensplan müssen angegeben werden" + +#~ msgid "Time" +#~ msgstr "Zeit" + +#~ msgid "Log Recipe Cooking" +#~ msgstr "Kochen protokollieren" + +#~ msgid "All fields are optional and can be left empty." +#~ msgstr "Alle Felder sind optional und können leer gelassen werden." + +#~ msgid "Rating" +#~ msgstr "Bewertung" + +#~ msgid "Exporting is not implemented for this provider" +#~ msgstr "Exportieren ist für diesen Anbieter noch nicht implementiert" + #, python-brace-format #~ msgid "No {self.basename} with id {child} exists" #~ msgstr "Kein {self.basename} mit ID {child} existiert" diff --git a/cookbook/locale/en/LC_MESSAGES/django.po b/cookbook/locale/en/LC_MESSAGES/django.po index 49ddcb0b9..d26df3584 100644 --- a/cookbook/locale/en/LC_MESSAGES/django.po +++ b/cookbook/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -260,7 +260,7 @@ msgstr "" #: .\cookbook\forms.py:445 msgid "" "Select type method of search. Click here for " -"full desciption of choices." +"full description of choices." msgstr "" #: .\cookbook\forms.py:446 @@ -316,7 +316,7 @@ msgid "Partial Match" msgstr "" #: .\cookbook\forms.py:464 -msgid "Starts Wtih" +msgid "Starts With" msgstr "" #: .\cookbook\forms.py:465 @@ -458,16 +458,12 @@ msgstr "" msgid "You cannot interact with this object as it is not owned by you!" msgstr "" -#: .\cookbook\helper\recipe_search.py:473 +#: .\cookbook\helper\recipe_search.py:486 msgid "One of queryset or hash_key must be provided" msgstr "" -#: .\cookbook\helper\shopping_helper.py:54 -msgid "You must supply a recipe or mealplan" -msgstr "" - -#: .\cookbook\helper\shopping_helper.py:58 -msgid "You must supply a created_by" +#: .\cookbook\helper\shopping_helper.py:148 +msgid "You must supply a servings size" msgstr "" #: .\cookbook\helper\template_helper.py:61 @@ -475,23 +471,23 @@ msgstr "" msgid "Could not parse template code." msgstr "" -#: .\cookbook\integration\integration.py:200 +#: .\cookbook\integration\integration.py:213 msgid "" "Importer expected a .zip file. Did you choose the correct importer type for " "your data ?" msgstr "" -#: .\cookbook\integration\integration.py:203 +#: .\cookbook\integration\integration.py:216 msgid "" "An unexpected error occurred during the import. Please make sure you have " "uploaded a valid file." msgstr "" -#: .\cookbook\integration\integration.py:208 +#: .\cookbook\integration\integration.py:221 msgid "The following recipes were ignored because they already existed:" msgstr "" -#: .\cookbook\integration\integration.py:212 +#: .\cookbook\integration\integration.py:225 #, python-format msgid "Imported %s recipes." msgstr "" @@ -509,7 +505,6 @@ msgid "Source" msgstr "" #: .\cookbook\integration\saffron.py:23 -#: .\cookbook\templates\include\log_cooking.html:18 #: .\cookbook\templates\url_import.html:231 #: .\cookbook\templates\url_import.html:462 msgid "Servings" @@ -538,7 +533,7 @@ msgid "Rebuilds full text search index on Recipe" msgstr "" #: .\cookbook\management\commands\rebuildindex.py:18 -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 "" #: .\cookbook\management\commands\rebuildindex.py:29 @@ -600,93 +595,74 @@ msgstr "" msgid "New" msgstr "" -#: .\cookbook\models.py:512 +#: .\cookbook\models.py:513 msgid " is part of a recipe step and cannot be deleted" msgstr "" -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:44 -msgid "Text" -msgstr "" - -#: .\cookbook\models.py:586 -msgid "Time" -msgstr "" - -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:46 -msgid "File" -msgstr "" - -#: .\cookbook\models.py:586 -#: .\cookbook\templates\include\recipe_open_modal.html:7 -#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 -#: .\cookbook\views\new.py:53 -msgid "Recipe" -msgstr "" - -#: .\cookbook\models.py:1041 .\cookbook\templates\search_info.html:28 +#: .\cookbook\models.py:1065 .\cookbook\templates\search_info.html:28 msgid "Simple" msgstr "" -#: .\cookbook\models.py:1042 .\cookbook\templates\search_info.html:33 +#: .\cookbook\models.py:1066 .\cookbook\templates\search_info.html:33 msgid "Phrase" msgstr "" -#: .\cookbook\models.py:1043 .\cookbook\templates\search_info.html:38 +#: .\cookbook\models.py:1067 .\cookbook\templates\search_info.html:38 msgid "Web" msgstr "" -#: .\cookbook\models.py:1044 .\cookbook\templates\search_info.html:47 +#: .\cookbook\models.py:1068 .\cookbook\templates\search_info.html:47 msgid "Raw" msgstr "" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Food Alias" msgstr "" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Unit Alias" msgstr "" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Keyword Alias" msgstr "" -#: .\cookbook\serializer.py:175 +#: .\cookbook\serializer.py:180 msgid "A user is required" msgstr "" -#: .\cookbook\serializer.py:195 +#: .\cookbook\serializer.py:200 msgid "File uploads are not enabled for this Space." msgstr "" -#: .\cookbook\serializer.py:206 +#: .\cookbook\serializer.py:211 msgid "You have reached your file upload limit." msgstr "" -#: .\cookbook\serializer.py:962 +#: .\cookbook\serializer.py:977 msgid "Existing shopping list to update" msgstr "" -#: .\cookbook\serializer.py:964 +#: .\cookbook\serializer.py:979 msgid "" "List of ingredient IDs from the recipe to add, if not provided all " "ingredients will be added." msgstr "" -#: .\cookbook\serializer.py:965 +#: .\cookbook\serializer.py:980 msgid "" "Providing a list_recipe ID and servings of 0 will delete that shopping list." msgstr "" -#: .\cookbook\serializer.py:973 +#: .\cookbook\serializer.py:988 msgid "Amount of food to add to the shopping list" msgstr "" -#: .\cookbook\serializer.py:974 +#: .\cookbook\serializer.py:989 msgid "ID of unit to use for the shopping list" msgstr "" -#: .\cookbook\serializer.py:975 +#: .\cookbook\serializer.py:990 msgid "When set to true will delete all food from active shopping lists." msgstr "" @@ -1031,8 +1007,8 @@ msgstr "" msgid "History" msgstr "" -#: .\cookbook\templates\base.html:228 .\cookbook\templates\export.html:14 -#: .\cookbook\templates\export.html:20 +#: .\cookbook\templates\base.html:228 +#: .\cookbook\templates\export_response.html:7 #: .\cookbook\templates\shopping_list.html:310 #: .\cookbook\templates\test2.html:14 .\cookbook\templates\test2.html:20 msgid "Export" @@ -1121,7 +1097,6 @@ msgstr "" #: .\cookbook\templates\forms\edit_import_recipe.html:14 #: .\cookbook\templates\generic\edit_template.html:23 #: .\cookbook\templates\generic\new_template.html:23 -#: .\cookbook\templates\include\log_cooking.html:30 #: .\cookbook\templates\settings.html:70 .\cookbook\templates\settings.html:112 #: .\cookbook\templates\settings.html:130 #: .\cookbook\templates\settings.html:202 @@ -1162,7 +1137,7 @@ msgstr "" msgid "Recipe Books" msgstr "" -#: .\cookbook\templates\export.html:6 .\cookbook\templates\test2.html:6 +#: .\cookbook\templates\export.html:8 .\cookbook\templates\test2.html:6 msgid "Export Recipes" msgstr "" @@ -1280,19 +1255,12 @@ msgstr "" msgid "Import" msgstr "" -#: .\cookbook\templates\include\log_cooking.html:9 -msgid "Log Recipe Cooking" +#: .\cookbook\templates\include\recipe_open_modal.html:7 +#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 +#: .\cookbook\views\new.py:53 +msgid "Recipe" msgstr "" -#: .\cookbook\templates\include\log_cooking.html:15 -msgid "All fields are optional and can be left empty." -msgstr "" - -#: .\cookbook\templates\include\log_cooking.html:21 -msgid "Rating" -msgstr "" - -#: .\cookbook\templates\include\log_cooking.html:29 #: .\cookbook\templates\include\recipe_open_modal.html:18 msgid "Close" msgstr "" @@ -1383,7 +1351,7 @@ msgstr "" #: .\cookbook\templates\markdown_info.html:57 #: .\cookbook\templates\markdown_info.html:73 -msgid "or by leaving a blank line inbetween." +msgid "or by leaving a blank line in between." msgstr "" #: .\cookbook\templates\markdown_info.html:59 @@ -1407,7 +1375,7 @@ msgstr "" #: .\cookbook\templates\markdown_info.html:85 msgid "" -"Lists can ordered or unorderd. It is important to leave a blank line " +"Lists can ordered or unordered. It is important to leave a blank line " "before the list!" msgstr "" @@ -1669,7 +1637,7 @@ msgstr "" msgid "" " \n" " Simple searches ignore punctuation and common words such as " -"'the', 'a', 'and'. And will treat seperate words as required.\n" +"'the', 'a', 'and'. And will treat separate 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" @@ -1694,7 +1662,7 @@ msgid "" "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) " +" 'or' is recognized 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" @@ -1724,7 +1692,7 @@ msgid "" "'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 " +"will find misspelled words such as 'sandwhich' that would be missed by other " "methods.\n" " " msgstr "" @@ -1983,7 +1951,7 @@ msgid "Finished" msgstr "" #: .\cookbook\templates\shopping_list.html:267 -msgid "You are offline, shopping list might not syncronize." +msgid "You are offline, shopping list might not synchronize." msgstr "" #: .\cookbook\templates\shopping_list.html:318 @@ -2241,6 +2209,14 @@ msgstr "" msgid "App" msgstr "" +#: .\cookbook\templates\url_import.html:44 +msgid "Text" +msgstr "" + +#: .\cookbook\templates\url_import.html:46 +msgid "File" +msgstr "" + #: .\cookbook\templates\url_import.html:64 msgid "Enter website URL" msgstr "" @@ -2403,202 +2379,203 @@ msgstr "" msgid "Recipe Markup Specification" msgstr "" -#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:170 +#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:174 msgid "Parameter updated_at incorrectly formatted" msgstr "" -#: .\cookbook\views\api.py:190 .\cookbook\views\api.py:291 +#: .\cookbook\views\api.py:194 .\cookbook\views\api.py:295 #, python-brace-format msgid "No {self.basename} with id {pk} exists" msgstr "" -#: .\cookbook\views\api.py:194 +#: .\cookbook\views\api.py:198 msgid "Cannot merge with the same object!" msgstr "" -#: .\cookbook\views\api.py:201 +#: .\cookbook\views\api.py:205 #, python-brace-format msgid "No {self.basename} with id {target} exists" msgstr "" -#: .\cookbook\views\api.py:206 +#: .\cookbook\views\api.py:210 msgid "Cannot merge with child object!" msgstr "" -#: .\cookbook\views\api.py:239 +#: .\cookbook\views\api.py:243 #, python-brace-format msgid "{source.name} was merged successfully with {target.name}" msgstr "" -#: .\cookbook\views\api.py:244 +#: .\cookbook\views\api.py:248 #, python-brace-format msgid "An error occurred attempting to merge {source.name} with {target.name}" msgstr "" -#: .\cookbook\views\api.py:300 +#: .\cookbook\views\api.py:304 #, python-brace-format msgid "{child.name} was moved successfully to the root." msgstr "" -#: .\cookbook\views\api.py:303 .\cookbook\views\api.py:321 +#: .\cookbook\views\api.py:307 .\cookbook\views\api.py:325 msgid "An error occurred attempting to move " msgstr "" -#: .\cookbook\views\api.py:306 +#: .\cookbook\views\api.py:310 msgid "Cannot move an object to itself!" msgstr "" -#: .\cookbook\views\api.py:312 +#: .\cookbook\views\api.py:316 #, python-brace-format msgid "No {self.basename} with id {parent} exists" msgstr "" -#: .\cookbook\views\api.py:318 +#: .\cookbook\views\api.py:322 #, python-brace-format msgid "{child.name} was moved successfully to parent {parent.name}" msgstr "" -#: .\cookbook\views\api.py:470 +#: .\cookbook\views\api.py:474 #, python-brace-format msgid "{obj.name} was removed from the shopping list." msgstr "" -#: .\cookbook\views\api.py:475 .\cookbook\views\api.py:726 +#: .\cookbook\views\api.py:479 .\cookbook\views\api.py:729 +#: .\cookbook\views\api.py:742 #, python-brace-format msgid "{obj.name} was added to the shopping list." msgstr "" -#: .\cookbook\views\api.py:587 +#: .\cookbook\views\api.py:591 msgid "ID of recipe a step is part of. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:588 +#: .\cookbook\views\api.py:592 msgid "Query string matched (fuzzy) against object name." msgstr "" -#: .\cookbook\views\api.py:631 +#: .\cookbook\views\api.py:635 msgid "" "Query string matched (fuzzy) against recipe name. In the future also " "fulltext search." msgstr "" -#: .\cookbook\views\api.py:632 +#: .\cookbook\views\api.py:636 msgid "ID of keyword a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:633 +#: .\cookbook\views\api.py:637 msgid "ID of food a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:634 +#: .\cookbook\views\api.py:638 msgid "ID of unit a recipe should have." msgstr "" -#: .\cookbook\views\api.py:635 +#: .\cookbook\views\api.py:639 msgid "Rating a recipe should have. [0 - 5]" msgstr "" -#: .\cookbook\views\api.py:636 +#: .\cookbook\views\api.py:640 msgid "ID of book a recipe should be in. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:637 +#: .\cookbook\views\api.py:641 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided keywords." msgstr "" -#: .\cookbook\views\api.py:638 +#: .\cookbook\views\api.py:642 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided foods." msgstr "" -#: .\cookbook\views\api.py:639 +#: .\cookbook\views\api.py:643 msgid "" "If recipe should be in all (AND=false) or any (OR=true) of the " "provided books." msgstr "" -#: .\cookbook\views\api.py:640 +#: .\cookbook\views\api.py:644 msgid "If only internal recipes should be returned. [true/false]" msgstr "" -#: .\cookbook\views\api.py:641 +#: .\cookbook\views\api.py:645 msgid "Returns the results in randomized order. [true/false]" msgstr "" -#: .\cookbook\views\api.py:642 +#: .\cookbook\views\api.py:646 msgid "Returns new results first in search results. [true/false]" msgstr "" -#: .\cookbook\views\api.py:768 +#: .\cookbook\views\api.py:784 msgid "" "Returns the shopping list entry with a primary key of id. Multiple values " "allowed." msgstr "" -#: .\cookbook\views\api.py:771 +#: .\cookbook\views\api.py:787 msgid "" "Filter shopping list entries on checked. [true, false, both, recent]
- recent includes unchecked items and recently completed items." msgstr "" -#: .\cookbook\views\api.py:773 +#: .\cookbook\views\api.py:789 msgid "Returns the shopping list entries sorted by supermarket category order." msgstr "" -#: .\cookbook\views\api.py:922 .\cookbook\views\data.py:42 +#: .\cookbook\views\api.py:949 .\cookbook\views\data.py:42 #: .\cookbook\views\edit.py:129 .\cookbook\views\new.py:95 msgid "This feature is not yet available in the hosted version of tandoor!" msgstr "" -#: .\cookbook\views\api.py:944 +#: .\cookbook\views\api.py:971 msgid "Sync successful!" msgstr "" -#: .\cookbook\views\api.py:949 +#: .\cookbook\views\api.py:976 msgid "Error synchronizing with Storage" msgstr "" -#: .\cookbook\views\api.py:1028 +#: .\cookbook\views\api.py:1055 msgid "Nothing to do." msgstr "" -#: .\cookbook\views\api.py:1043 +#: .\cookbook\views\api.py:1070 msgid "The requested site provided malformed data and cannot be read." msgstr "" -#: .\cookbook\views\api.py:1050 +#: .\cookbook\views\api.py:1077 msgid "The requested page could not be found." msgstr "" -#: .\cookbook\views\api.py:1068 +#: .\cookbook\views\api.py:1095 msgid "" "The requested site does not provide any recognized data format to import the " "recipe from." msgstr "" -#: .\cookbook\views\api.py:1082 +#: .\cookbook\views\api.py:1109 msgid "Connection Refused." msgstr "" -#: .\cookbook\views\api.py:1091 -msgid "No useable data could be found." +#: .\cookbook\views\api.py:1118 +msgid "No usable data could be found." msgstr "" -#: .\cookbook\views\api.py:1107 +#: .\cookbook\views\api.py:1134 msgid "I couldn't find anything to do." msgstr "" #: .\cookbook\views\data.py:34 .\cookbook\views\data.py:129 -#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:80 +#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:81 #: .\cookbook\views\new.py:33 msgid "You have reached the maximum number of recipes for your space." msgstr "" #: .\cookbook\views\data.py:38 .\cookbook\views\data.py:133 -#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:84 +#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:85 #: .\cookbook\views\new.py:37 msgid "You have more users than allowed in your space." msgstr "" @@ -2656,20 +2633,16 @@ msgstr "" msgid "Error saving changes!" msgstr "" -#: .\cookbook\views\import_export.py:106 +#: .\cookbook\views\import_export.py:107 .\cookbook\views\import_export.py:143 msgid "Importing is not implemented for this provider" msgstr "" -#: .\cookbook\views\import_export.py:127 +#: .\cookbook\views\import_export.py:130 msgid "" "The PDF Exporter is not enabled on this instance as it is still in an " "experimental state." msgstr "" -#: .\cookbook\views\import_export.py:132 -msgid "Exporting is not implemented for this provider" -msgstr "" - #: .\cookbook\views\lists.py:25 msgid "Import Log" msgstr "" @@ -2786,44 +2759,44 @@ msgstr "" msgid "Fuzzy search is not compatible with this search method!" msgstr "" -#: .\cookbook\views\views.py:470 +#: .\cookbook\views\views.py:473 msgid "" "The setup page can only be used to create the first user! If you have " "forgotten your superuser credentials please consult the django documentation " "on how to reset passwords." msgstr "" -#: .\cookbook\views\views.py:477 +#: .\cookbook\views\views.py:480 msgid "Passwords dont match!" msgstr "" -#: .\cookbook\views\views.py:493 +#: .\cookbook\views\views.py:496 msgid "User has been created, please login!" msgstr "" -#: .\cookbook\views\views.py:509 +#: .\cookbook\views\views.py:512 msgid "Malformed Invite Link supplied!" msgstr "" -#: .\cookbook\views\views.py:516 +#: .\cookbook\views\views.py:519 msgid "You are already member of a space and therefore cannot join this one." msgstr "" -#: .\cookbook\views\views.py:527 +#: .\cookbook\views\views.py:530 msgid "Successfully joined space." msgstr "" -#: .\cookbook\views\views.py:533 +#: .\cookbook\views\views.py:536 msgid "Invite Link not valid or already used!" msgstr "" -#: .\cookbook\views\views.py:614 +#: .\cookbook\views\views.py:617 msgid "" "Reporting share links is not enabled for this instance. Please notify the " "page administrator to report problems." msgstr "" -#: .\cookbook\views\views.py:620 +#: .\cookbook\views\views.py:623 msgid "" "Recipe sharing link has been disabled! For additional information please " "contact the page administrator." diff --git a/cookbook/locale/es/LC_MESSAGES/django.po b/cookbook/locale/es/LC_MESSAGES/django.po index 46d87bbc0..1008bda59 100644 --- a/cookbook/locale/es/LC_MESSAGES/django.po +++ b/cookbook/locale/es/LC_MESSAGES/django.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: 2020-06-02 19:28+0000\n" "Last-Translator: Miguel Canteras , 2021\n" "Language-Team: Spanish (https://www.transifex.com/django-recipes/" @@ -316,7 +316,7 @@ msgstr "" #: .\cookbook\forms.py:445 msgid "" "Select type method of search. Click here for " -"full desciption of choices." +"full description of choices." msgstr "" #: .\cookbook\forms.py:446 @@ -374,7 +374,7 @@ msgid "Partial Match" msgstr "" #: .\cookbook\forms.py:464 -msgid "Starts Wtih" +msgid "Starts With" msgstr "" #: .\cookbook\forms.py:465 @@ -528,26 +528,22 @@ msgstr "¡No tienes los permisos necesarios para ver esta página!" msgid "You cannot interact with this object as it is not owned by you!" msgstr "¡No puede interactuar con este objeto ya que no es de tu propiedad!" -#: .\cookbook\helper\recipe_search.py:473 +#: .\cookbook\helper\recipe_search.py:486 msgid "One of queryset or hash_key must be provided" msgstr "" -#: .\cookbook\helper\shopping_helper.py:54 +#: .\cookbook\helper\shopping_helper.py:148 #, fuzzy #| msgid "You must provide at least a recipe or a title." -msgid "You must supply a recipe or mealplan" +msgid "You must supply a servings size" msgstr "Debe proporcionar al menos una receta o un título." -#: .\cookbook\helper\shopping_helper.py:58 -msgid "You must supply a created_by" -msgstr "" - #: .\cookbook\helper\template_helper.py:61 #: .\cookbook\helper\template_helper.py:63 msgid "Could not parse template code." msgstr "" -#: .\cookbook\integration\integration.py:200 +#: .\cookbook\integration\integration.py:213 msgid "" "Importer expected a .zip file. Did you choose the correct importer type for " "your data ?" @@ -555,17 +551,17 @@ msgstr "" "El importador esperaba un fichero.zip. ¿Has escogido el tipo de importador " "correcto para tus datos?" -#: .\cookbook\integration\integration.py:203 +#: .\cookbook\integration\integration.py:216 msgid "" "An unexpected error occurred during the import. Please make sure you have " "uploaded a valid file." msgstr "" -#: .\cookbook\integration\integration.py:208 +#: .\cookbook\integration\integration.py:221 msgid "The following recipes were ignored because they already existed:" msgstr "" -#: .\cookbook\integration\integration.py:212 +#: .\cookbook\integration\integration.py:225 #, fuzzy, python-format #| msgid "Imported new recipe!" msgid "Imported %s recipes." @@ -588,7 +584,6 @@ msgid "Source" msgstr "" #: .\cookbook\integration\saffron.py:23 -#: .\cookbook\templates\include\log_cooking.html:18 #: .\cookbook\templates\url_import.html:231 #: .\cookbook\templates\url_import.html:462 msgid "Servings" @@ -617,7 +612,7 @@ msgid "Rebuilds full text search index on Recipe" msgstr "" #: .\cookbook\management\commands\rebuildindex.py:18 -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 "" #: .\cookbook\management\commands\rebuildindex.py:29 @@ -679,101 +674,80 @@ msgstr "Grande" msgid "New" msgstr "Nuevo" -#: .\cookbook\models.py:512 +#: .\cookbook\models.py:513 msgid " is part of a recipe step and cannot be deleted" msgstr "" -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:44 -msgid "Text" -msgstr "Texto" - -#: .\cookbook\models.py:586 -msgid "Time" -msgstr "Tiempo" - -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:46 -#, fuzzy -#| msgid "File ID" -msgid "File" -msgstr "ID de Fichero" - -#: .\cookbook\models.py:586 -#: .\cookbook\templates\include\recipe_open_modal.html:7 -#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 -#: .\cookbook\views\new.py:53 -msgid "Recipe" -msgstr "Receta" - -#: .\cookbook\models.py:1041 .\cookbook\templates\search_info.html:28 +#: .\cookbook\models.py:1065 .\cookbook\templates\search_info.html:28 msgid "Simple" msgstr "" -#: .\cookbook\models.py:1042 .\cookbook\templates\search_info.html:33 +#: .\cookbook\models.py:1066 .\cookbook\templates\search_info.html:33 msgid "Phrase" msgstr "" -#: .\cookbook\models.py:1043 .\cookbook\templates\search_info.html:38 +#: .\cookbook\models.py:1067 .\cookbook\templates\search_info.html:38 msgid "Web" msgstr "" -#: .\cookbook\models.py:1044 .\cookbook\templates\search_info.html:47 +#: .\cookbook\models.py:1068 .\cookbook\templates\search_info.html:47 msgid "Raw" msgstr "" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 #, fuzzy #| msgid "Food" msgid "Food Alias" msgstr "Comida" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 #, fuzzy #| msgid "Units" msgid "Unit Alias" msgstr "Unidades" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 #, fuzzy #| msgid "Keywords" msgid "Keyword Alias" msgstr "Palabras clave" -#: .\cookbook\serializer.py:175 +#: .\cookbook\serializer.py:180 msgid "A user is required" msgstr "" -#: .\cookbook\serializer.py:195 +#: .\cookbook\serializer.py:200 msgid "File uploads are not enabled for this Space." msgstr "" -#: .\cookbook\serializer.py:206 +#: .\cookbook\serializer.py:211 msgid "You have reached your file upload limit." msgstr "" -#: .\cookbook\serializer.py:962 +#: .\cookbook\serializer.py:977 msgid "Existing shopping list to update" msgstr "" -#: .\cookbook\serializer.py:964 +#: .\cookbook\serializer.py:979 msgid "" "List of ingredient IDs from the recipe to add, if not provided all " "ingredients will be added." msgstr "" -#: .\cookbook\serializer.py:965 +#: .\cookbook\serializer.py:980 msgid "" "Providing a list_recipe ID and servings of 0 will delete that shopping list." msgstr "" -#: .\cookbook\serializer.py:973 +#: .\cookbook\serializer.py:988 msgid "Amount of food to add to the shopping list" msgstr "" -#: .\cookbook\serializer.py:974 +#: .\cookbook\serializer.py:989 msgid "ID of unit to use for the shopping list" msgstr "" -#: .\cookbook\serializer.py:975 +#: .\cookbook\serializer.py:990 msgid "When set to true will delete all food from active shopping lists." msgstr "" @@ -1147,8 +1121,8 @@ msgstr "Edición Masiva" msgid "History" msgstr "Historial" -#: .\cookbook\templates\base.html:228 .\cookbook\templates\export.html:14 -#: .\cookbook\templates\export.html:20 +#: .\cookbook\templates\base.html:228 +#: .\cookbook\templates\export_response.html:7 #: .\cookbook\templates\shopping_list.html:310 #: .\cookbook\templates\test2.html:14 .\cookbook\templates\test2.html:20 msgid "Export" @@ -1243,7 +1217,6 @@ msgstr "La ruta debe tener el siguiente formato" #: .\cookbook\templates\forms\edit_import_recipe.html:14 #: .\cookbook\templates\generic\edit_template.html:23 #: .\cookbook\templates\generic\new_template.html:23 -#: .\cookbook\templates\include\log_cooking.html:30 #: .\cookbook\templates\settings.html:70 .\cookbook\templates\settings.html:112 #: .\cookbook\templates\settings.html:130 #: .\cookbook\templates\settings.html:202 @@ -1290,7 +1263,7 @@ msgstr "" msgid "Recipe Books" msgstr "Libros de recetas" -#: .\cookbook\templates\export.html:6 .\cookbook\templates\test2.html:6 +#: .\cookbook\templates\export.html:8 .\cookbook\templates\test2.html:6 msgid "Export Recipes" msgstr "Exportar recetas" @@ -1417,19 +1390,12 @@ msgstr "Importar recetas" msgid "Import" msgstr "Importar" -#: .\cookbook\templates\include\log_cooking.html:9 -msgid "Log Recipe Cooking" -msgstr "Registrar receta cocinada" +#: .\cookbook\templates\include\recipe_open_modal.html:7 +#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 +#: .\cookbook\views\new.py:53 +msgid "Recipe" +msgstr "Receta" -#: .\cookbook\templates\include\log_cooking.html:15 -msgid "All fields are optional and can be left empty." -msgstr "Todos los campos son opcionales y pueden dejarse vacíos." - -#: .\cookbook\templates\include\log_cooking.html:21 -msgid "Rating" -msgstr "Calificación" - -#: .\cookbook\templates\include\log_cooking.html:29 #: .\cookbook\templates\include\recipe_open_modal.html:18 msgid "Close" msgstr "Cerrar" @@ -1540,7 +1506,9 @@ msgstr "" #: .\cookbook\templates\markdown_info.html:57 #: .\cookbook\templates\markdown_info.html:73 -msgid "or by leaving a blank line inbetween." +#, fuzzy +#| msgid "or by leaving a blank line inbetween." +msgid "or by leaving a blank line in between." msgstr "o dejando una línea en blanco entre ellos." #: .\cookbook\templates\markdown_info.html:59 @@ -1563,8 +1531,12 @@ msgid "Lists" msgstr "Listas" #: .\cookbook\templates\markdown_info.html:85 +#, fuzzy +#| msgid "" +#| "Lists can ordered or unorderd. It is important to leave a blank line " +#| "before the list!" msgid "" -"Lists can ordered or unorderd. It is important to leave a blank line " +"Lists can ordered or unordered. It is important to leave a blank line " "before the list!" msgstr "" "Las listas pueden ser ordenadas o no ordenadas. ¡Es importante dejar una " @@ -1852,7 +1824,7 @@ msgstr "" msgid "" " \n" " Simple searches ignore punctuation and common words such as " -"'the', 'a', 'and'. And will treat seperate words as required.\n" +"'the', 'a', 'and'. And will treat separate 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" @@ -1877,7 +1849,7 @@ msgid "" "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) " +" 'or' is recognized 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" @@ -1907,7 +1879,7 @@ msgid "" "'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 " +"will find misspelled words such as 'sandwhich' that would be missed by other " "methods.\n" " " msgstr "" @@ -2192,7 +2164,9 @@ msgid "Finished" msgstr "Completada" #: .\cookbook\templates\shopping_list.html:267 -msgid "You are offline, shopping list might not syncronize." +#, fuzzy +#| msgid "You are offline, shopping list might not syncronize." +msgid "You are offline, shopping list might not synchronize." msgstr "Estás desconectado, la lista de la compra no se sincronizará." #: .\cookbook\templates\shopping_list.html:318 @@ -2505,6 +2479,16 @@ msgstr "" msgid "App" msgstr "" +#: .\cookbook\templates\url_import.html:44 +msgid "Text" +msgstr "Texto" + +#: .\cookbook\templates\url_import.html:46 +#, fuzzy +#| msgid "File ID" +msgid "File" +msgstr "ID de Fichero" + #: .\cookbook\templates\url_import.html:64 msgid "Enter website URL" msgstr "Introduce la URL del sitio web" @@ -2693,185 +2677,186 @@ msgstr "Propuestas de GitHub" msgid "Recipe Markup Specification" msgstr "Especificación de anotaciones de la receta" -#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:170 +#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:174 #, fuzzy #| msgid "Parameter filter_list incorrectly formatted" msgid "Parameter updated_at incorrectly formatted" msgstr "Parámetro filter_list formateado incorrectamente" -#: .\cookbook\views\api.py:190 .\cookbook\views\api.py:291 +#: .\cookbook\views\api.py:194 .\cookbook\views\api.py:295 #, python-brace-format msgid "No {self.basename} with id {pk} exists" msgstr "" -#: .\cookbook\views\api.py:194 +#: .\cookbook\views\api.py:198 msgid "Cannot merge with the same object!" msgstr "¡No se puede unir con el mismo objeto!" -#: .\cookbook\views\api.py:201 +#: .\cookbook\views\api.py:205 #, python-brace-format msgid "No {self.basename} with id {target} exists" msgstr "" -#: .\cookbook\views\api.py:206 +#: .\cookbook\views\api.py:210 #, fuzzy #| msgid "Cannot merge with the same object!" msgid "Cannot merge with child object!" msgstr "¡No se puede unir con el mismo objeto!" -#: .\cookbook\views\api.py:239 +#: .\cookbook\views\api.py:243 #, python-brace-format msgid "{source.name} was merged successfully with {target.name}" msgstr "" -#: .\cookbook\views\api.py:244 +#: .\cookbook\views\api.py:248 #, python-brace-format msgid "An error occurred attempting to merge {source.name} with {target.name}" msgstr "" -#: .\cookbook\views\api.py:300 +#: .\cookbook\views\api.py:304 #, python-brace-format msgid "{child.name} was moved successfully to the root." msgstr "" -#: .\cookbook\views\api.py:303 .\cookbook\views\api.py:321 +#: .\cookbook\views\api.py:307 .\cookbook\views\api.py:325 msgid "An error occurred attempting to move " msgstr "" -#: .\cookbook\views\api.py:306 +#: .\cookbook\views\api.py:310 msgid "Cannot move an object to itself!" msgstr "" -#: .\cookbook\views\api.py:312 +#: .\cookbook\views\api.py:316 #, python-brace-format msgid "No {self.basename} with id {parent} exists" msgstr "" -#: .\cookbook\views\api.py:318 +#: .\cookbook\views\api.py:322 #, python-brace-format msgid "{child.name} was moved successfully to parent {parent.name}" msgstr "" -#: .\cookbook\views\api.py:470 +#: .\cookbook\views\api.py:474 #, python-brace-format msgid "{obj.name} was removed from the shopping list." msgstr "" -#: .\cookbook\views\api.py:475 .\cookbook\views\api.py:726 +#: .\cookbook\views\api.py:479 .\cookbook\views\api.py:729 +#: .\cookbook\views\api.py:742 #, python-brace-format msgid "{obj.name} was added to the shopping list." msgstr "" -#: .\cookbook\views\api.py:587 +#: .\cookbook\views\api.py:591 msgid "ID of recipe a step is part of. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:588 +#: .\cookbook\views\api.py:592 msgid "Query string matched (fuzzy) against object name." msgstr "" -#: .\cookbook\views\api.py:631 +#: .\cookbook\views\api.py:635 msgid "" "Query string matched (fuzzy) against recipe name. In the future also " "fulltext search." msgstr "" -#: .\cookbook\views\api.py:632 +#: .\cookbook\views\api.py:636 msgid "ID of keyword a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:633 +#: .\cookbook\views\api.py:637 msgid "ID of food a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:634 +#: .\cookbook\views\api.py:638 msgid "ID of unit a recipe should have." msgstr "" -#: .\cookbook\views\api.py:635 +#: .\cookbook\views\api.py:639 msgid "Rating a recipe should have. [0 - 5]" msgstr "" -#: .\cookbook\views\api.py:636 +#: .\cookbook\views\api.py:640 msgid "ID of book a recipe should be in. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:637 +#: .\cookbook\views\api.py:641 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided keywords." msgstr "" -#: .\cookbook\views\api.py:638 +#: .\cookbook\views\api.py:642 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided foods." msgstr "" -#: .\cookbook\views\api.py:639 +#: .\cookbook\views\api.py:643 msgid "" "If recipe should be in all (AND=false) or any (OR=true) of the " "provided books." msgstr "" -#: .\cookbook\views\api.py:640 +#: .\cookbook\views\api.py:644 msgid "If only internal recipes should be returned. [true/false]" msgstr "" -#: .\cookbook\views\api.py:641 +#: .\cookbook\views\api.py:645 msgid "Returns the results in randomized order. [true/false]" msgstr "" -#: .\cookbook\views\api.py:642 +#: .\cookbook\views\api.py:646 msgid "Returns new results first in search results. [true/false]" msgstr "" -#: .\cookbook\views\api.py:768 +#: .\cookbook\views\api.py:784 msgid "" "Returns the shopping list entry with a primary key of id. Multiple values " "allowed." msgstr "" -#: .\cookbook\views\api.py:771 +#: .\cookbook\views\api.py:787 msgid "" "Filter shopping list entries on checked. [true, false, both, recent]
- recent includes unchecked items and recently completed items." msgstr "" -#: .\cookbook\views\api.py:773 +#: .\cookbook\views\api.py:789 msgid "Returns the shopping list entries sorted by supermarket category order." msgstr "" -#: .\cookbook\views\api.py:922 .\cookbook\views\data.py:42 +#: .\cookbook\views\api.py:949 .\cookbook\views\data.py:42 #: .\cookbook\views\edit.py:129 .\cookbook\views\new.py:95 #, fuzzy #| msgid "This feature is not available in the demo version!" msgid "This feature is not yet available in the hosted version of tandoor!" msgstr "¡Esta funcionalidad no está disponible en la versión demo!" -#: .\cookbook\views\api.py:944 +#: .\cookbook\views\api.py:971 msgid "Sync successful!" msgstr "¡Sincronización exitosa!" -#: .\cookbook\views\api.py:949 +#: .\cookbook\views\api.py:976 msgid "Error synchronizing with Storage" msgstr "Error de sincronización con el almacenamiento" -#: .\cookbook\views\api.py:1028 +#: .\cookbook\views\api.py:1055 msgid "Nothing to do." msgstr "" -#: .\cookbook\views\api.py:1043 +#: .\cookbook\views\api.py:1070 msgid "The requested site provided malformed data and cannot be read." msgstr "" "El sitio solicitado proporcionó datos con formato incorrecto y no se puede " "leer." -#: .\cookbook\views\api.py:1050 +#: .\cookbook\views\api.py:1077 msgid "The requested page could not be found." msgstr "La página solicitada no pudo ser encontrada." -#: .\cookbook\views\api.py:1068 +#: .\cookbook\views\api.py:1095 msgid "" "The requested site does not provide any recognized data format to import the " "recipe from." @@ -2879,28 +2864,28 @@ msgstr "" "El sitio solicitado no proporciona ningún formato de datos reconocido para " "importar la receta." -#: .\cookbook\views\api.py:1082 +#: .\cookbook\views\api.py:1109 msgid "Connection Refused." msgstr "" -#: .\cookbook\views\api.py:1091 +#: .\cookbook\views\api.py:1118 #, fuzzy #| msgid "The requested page could not be found." -msgid "No useable data could be found." +msgid "No usable data could be found." msgstr "La página solicitada no pudo ser encontrada." -#: .\cookbook\views\api.py:1107 +#: .\cookbook\views\api.py:1134 msgid "I couldn't find anything to do." msgstr "" #: .\cookbook\views\data.py:34 .\cookbook\views\data.py:129 -#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:80 +#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:81 #: .\cookbook\views\new.py:33 msgid "You have reached the maximum number of recipes for your space." msgstr "" #: .\cookbook\views\data.py:38 .\cookbook\views\data.py:133 -#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:84 +#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:85 #: .\cookbook\views\new.py:37 msgid "You have more users than allowed in your space." msgstr "" @@ -2960,20 +2945,16 @@ msgstr "¡Cambios guardados!" msgid "Error saving changes!" msgstr "¡Error al guardar los cambios!" -#: .\cookbook\views\import_export.py:106 +#: .\cookbook\views\import_export.py:107 .\cookbook\views\import_export.py:143 msgid "Importing is not implemented for this provider" msgstr "La importación no está implementada para este proveedor" -#: .\cookbook\views\import_export.py:127 +#: .\cookbook\views\import_export.py:130 msgid "" "The PDF Exporter is not enabled on this instance as it is still in an " "experimental state." msgstr "" -#: .\cookbook\views\import_export.py:132 -msgid "Exporting is not implemented for this provider" -msgstr "La exportación no está implementada para este proveedor" - #: .\cookbook\views\lists.py:25 msgid "Import Log" msgstr "Importar registro" @@ -3096,7 +3077,7 @@ msgstr "" msgid "Fuzzy search is not compatible with this search method!" msgstr "" -#: .\cookbook\views\views.py:470 +#: .\cookbook\views\views.py:473 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 " @@ -3106,44 +3087,59 @@ msgstr "" "usuario. Si has olvidado tus credenciales de superusuario, por favor " "consulta la documentación de django sobre cómo restablecer las contraseñas." -#: .\cookbook\views\views.py:477 +#: .\cookbook\views\views.py:480 msgid "Passwords dont match!" msgstr "¡Las contraseñas no coinciden!" -#: .\cookbook\views\views.py:493 +#: .\cookbook\views\views.py:496 msgid "User has been created, please login!" msgstr "El usuario ha sido creado, ¡inicie sesión!" -#: .\cookbook\views\views.py:509 +#: .\cookbook\views\views.py:512 msgid "Malformed Invite Link supplied!" msgstr "¡Se proporcionó un enlace de invitación con formato incorrecto!" -#: .\cookbook\views\views.py:516 +#: .\cookbook\views\views.py:519 #, fuzzy #| msgid "You are not logged in and therefore cannot view this page!" msgid "You are already member of a space and therefore cannot join this one." msgstr "¡No ha iniciado sesión y por lo tanto no puede ver esta página!" -#: .\cookbook\views\views.py:527 +#: .\cookbook\views\views.py:530 msgid "Successfully joined space." msgstr "" -#: .\cookbook\views\views.py:533 +#: .\cookbook\views\views.py:536 msgid "Invite Link not valid or already used!" msgstr "¡El enlace de invitación no es válido o ya se ha utilizado!" -#: .\cookbook\views\views.py:614 +#: .\cookbook\views\views.py:617 msgid "" "Reporting share links is not enabled for this instance. Please notify the " "page administrator to report problems." msgstr "" -#: .\cookbook\views\views.py:620 +#: .\cookbook\views\views.py:623 msgid "" "Recipe sharing link has been disabled! For additional information please " "contact the page administrator." msgstr "" +#~ msgid "Time" +#~ msgstr "Tiempo" + +#~ msgid "Log Recipe Cooking" +#~ msgstr "Registrar receta cocinada" + +#~ msgid "All fields are optional and can be left empty." +#~ msgstr "Todos los campos son opcionales y pueden dejarse vacíos." + +#~ msgid "Rating" +#~ msgstr "Calificación" + +#~ msgid "Exporting is not implemented for this provider" +#~ msgstr "La exportación no está implementada para este proveedor" + #~ msgid "New Unit" #~ msgstr "Nueva Unidad" diff --git a/cookbook/locale/fr/LC_MESSAGES/django.po b/cookbook/locale/fr/LC_MESSAGES/django.po index b639bf0db..2aef32722 100644 --- a/cookbook/locale/fr/LC_MESSAGES/django.po +++ b/cookbook/locale/fr/LC_MESSAGES/django.po @@ -13,11 +13,11 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: 2022-02-09 01:31+0000\n" "Last-Translator: Marion Kämpfer \n" -"Language-Team: French \n" +"Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -103,8 +103,8 @@ msgid "" "Enables support for fractions in ingredient amounts (e.g. convert decimals " "to fractions automatically)" msgstr "" -"Permet la prise en charge des fractions dans les quantités d’ingrédients (" -"convertit les décimales en fractions automatiquement)" +"Permet la prise en charge des fractions dans les quantités d’ingrédients " +"(convertit les décimales en fractions automatiquement)" #: .\cookbook\forms.py:78 msgid "Display nutritional energy amounts in joules instead of calories" @@ -169,8 +169,8 @@ msgid "" "Both fields are optional. If none are given the username will be displayed " "instead" msgstr "" -"Les deux champs sont facultatifs. Si aucun n’est rempli, le nom d’" -"utilisateur sera affiché à la place" +"Les deux champs sont facultatifs. Si aucun n’est rempli, le nom " +"d’utilisateur sera affiché à la place" #: .\cookbook\forms.py:129 .\cookbook\forms.py:298 #: .\cookbook\templates\url_import.html:161 @@ -282,8 +282,8 @@ msgid "" "An email address is not required but if present the invite link will be sent " "to the user." msgstr "" -"Une adresse mail n’est pas requise mais si elle est renseignée, le lien d’" -"invitation sera envoyé à l’utilisateur." +"Une adresse mail n’est pas requise mais si elle est renseignée, le lien " +"d’invitation sera envoyé à l’utilisateur." #: .\cookbook\forms.py:392 msgid "Name already taken." @@ -303,9 +303,13 @@ msgstr "" "que davantage de fautes de frappe sont ignorées)." #: .\cookbook\forms.py:445 +#, fuzzy +#| msgid "" +#| "Select type method of search. Click here " +#| "for full desciption of choices." msgid "" "Select type method of search. Click here for " -"full desciption of choices." +"full description of choices." msgstr "" "Sélectionner la méthode de recherche. Cliquer ici pour une description complète des choix." @@ -341,25 +345,25 @@ msgid "" "will return 'salad' and 'sandwich')" msgstr "" "Champs permettant de rechercher les correspondances de début de mot (par " -"exemple, si vous recherchez « sa », vous obtiendrez « salade » et « " -"sandwich»)." +"exemple, si vous recherchez « sa », vous obtiendrez « salade » et " +"« sandwich»)." #: .\cookbook\forms.py:454 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 "" -"Champs pour la recherche « floue » (par exemple, si vous recherchez « rectte»" -", vous trouverez « recette ».) Remarque : cette option est incompatible avec " -"les méthodes de recherche « web » et « brute »." +"Champs pour la recherche « floue » (par exemple, si vous recherchez " +"« rectte», vous trouverez « recette ».) Remarque : cette option est " +"incompatible avec les méthodes de recherche « web » et « brute »." #: .\cookbook\forms.py:456 msgid "" "Fields to full text search. Note: 'web', 'phrase', and 'raw' search methods " "only function with fulltext fields." msgstr "" -"Champs de recherche en texte intégral. Remarque : les méthodes de recherche «" -" web », « phrase » et « brute » ne fonctionnent qu’avec des champs en texte " +"Champs de recherche en texte intégral. Remarque : les méthodes de recherche " +"« web », « phrase » et « brute » ne fonctionnent qu’avec des champs en texte " "intégral." #: .\cookbook\forms.py:460 @@ -379,7 +383,9 @@ msgid "Partial Match" msgstr "correspondance partielle" #: .\cookbook\forms.py:464 -msgid "Starts Wtih" +#, fuzzy +#| msgid "Starts Wtih" +msgid "Starts With" msgstr "Commence par" #: .\cookbook\forms.py:465 @@ -518,7 +524,8 @@ msgstr "" #: .\cookbook\helper\permission_helper.py:136 #: .\cookbook\helper\permission_helper.py:159 .\cookbook\views\views.py:148 msgid "You are not logged in and therefore cannot view this page!" -msgstr "Vous n’êtes pas connecté(e) et ne pouvez donc pas afficher cette page !" +msgstr "" +"Vous n’êtes pas connecté(e) et ne pouvez donc pas afficher cette page !" #: .\cookbook\helper\permission_helper.py:140 #: .\cookbook\helper\permission_helper.py:146 @@ -540,16 +547,14 @@ msgstr "" "Vous ne pouvez pas interagir avec cet objet car il appartient à un autre " "utilisateur !" -#: .\cookbook\helper\recipe_search.py:473 +#: .\cookbook\helper\recipe_search.py:486 msgid "One of queryset or hash_key must be provided" msgstr "" -#: .\cookbook\helper\shopping_helper.py:54 -msgid "You must supply a recipe or mealplan" -msgstr "Vous devez fournir une recette ou un menu de la semaine" - -#: .\cookbook\helper\shopping_helper.py:58 -msgid "You must supply a created_by" +#: .\cookbook\helper\shopping_helper.py:148 +#, fuzzy +#| msgid "You must supply a created_by" +msgid "You must supply a servings size" msgstr "Vous devez fournir une information créé_par" #: .\cookbook\helper\template_helper.py:61 @@ -557,7 +562,7 @@ msgstr "Vous devez fournir une information créé_par" msgid "Could not parse template code." msgstr "Impossible d’analyser le code du modèle." -#: .\cookbook\integration\integration.py:200 +#: .\cookbook\integration\integration.py:213 msgid "" "Importer expected a .zip file. Did you choose the correct importer type for " "your data ?" @@ -565,7 +570,7 @@ msgstr "" "Un fichier .zip était attendu à l’importation. Avez-vous choisi le bon " "format pour vos données ?" -#: .\cookbook\integration\integration.py:203 +#: .\cookbook\integration\integration.py:216 msgid "" "An unexpected error occurred during the import. Please make sure you have " "uploaded a valid file." @@ -573,11 +578,11 @@ msgstr "" "Une erreur imprévue est survenue durant l’importation. Vérifiez que vous " "avez téléversé un fichier valide." -#: .\cookbook\integration\integration.py:208 +#: .\cookbook\integration\integration.py:221 msgid "The following recipes were ignored because they already existed:" msgstr "Les recettes suivantes ont été ignorées car elles existaient déjà :" -#: .\cookbook\integration\integration.py:212 +#: .\cookbook\integration\integration.py:225 #, python-format msgid "Imported %s recipes." msgstr "%s recettes importées." @@ -595,7 +600,6 @@ msgid "Source" msgstr "Source" #: .\cookbook\integration\saffron.py:23 -#: .\cookbook\templates\include\log_cooking.html:18 #: .\cookbook\templates\url_import.html:231 #: .\cookbook\templates\url_import.html:462 msgid "Servings" @@ -624,7 +628,9 @@ msgid "Rebuilds full text search index on Recipe" msgstr "Reconstruction de l’index de recherche en texte intégral de Tandoor" #: .\cookbook\management\commands\rebuildindex.py:18 -msgid "Only Postgress databases use full text search, no index to rebuild" +#, 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 "" "Seules les bases de données Postgres utilisent la recherche en texte " "intégral, sans index à reconstruire" @@ -690,93 +696,74 @@ msgstr "Grand" msgid "New" msgstr "Nouveau" -#: .\cookbook\models.py:512 +#: .\cookbook\models.py:513 msgid " is part of a recipe step and cannot be deleted" msgstr " fait partie d’une étape de la recette et ne peut être supprimé(e)" -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:44 -msgid "Text" -msgstr "Texte" - -#: .\cookbook\models.py:586 -msgid "Time" -msgstr "Temps" - -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:46 -msgid "File" -msgstr "Fichier" - -#: .\cookbook\models.py:586 -#: .\cookbook\templates\include\recipe_open_modal.html:7 -#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 -#: .\cookbook\views\new.py:53 -msgid "Recipe" -msgstr "Recette" - -#: .\cookbook\models.py:1041 .\cookbook\templates\search_info.html:28 +#: .\cookbook\models.py:1065 .\cookbook\templates\search_info.html:28 msgid "Simple" msgstr "Simple" -#: .\cookbook\models.py:1042 .\cookbook\templates\search_info.html:33 +#: .\cookbook\models.py:1066 .\cookbook\templates\search_info.html:33 msgid "Phrase" msgstr "Phrase" -#: .\cookbook\models.py:1043 .\cookbook\templates\search_info.html:38 +#: .\cookbook\models.py:1067 .\cookbook\templates\search_info.html:38 msgid "Web" msgstr "Internet" -#: .\cookbook\models.py:1044 .\cookbook\templates\search_info.html:47 +#: .\cookbook\models.py:1068 .\cookbook\templates\search_info.html:47 msgid "Raw" msgstr "Brut" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Food Alias" msgstr "Aliment équivalent" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Unit Alias" msgstr "Unité équivalente" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Keyword Alias" msgstr "Mot-clé équivalent" -#: .\cookbook\serializer.py:175 +#: .\cookbook\serializer.py:180 msgid "A user is required" msgstr "Un utilisateur est requis" -#: .\cookbook\serializer.py:195 +#: .\cookbook\serializer.py:200 msgid "File uploads are not enabled for this Space." msgstr "Le téléversement de fichiers n’est pas autorisé pour ce groupe." -#: .\cookbook\serializer.py:206 +#: .\cookbook\serializer.py:211 msgid "You have reached your file upload limit." msgstr "Vous avez atteint votre limite de téléversement de fichiers." -#: .\cookbook\serializer.py:962 +#: .\cookbook\serializer.py:977 msgid "Existing shopping list to update" msgstr "Liste de courses existante à mettre à jour" -#: .\cookbook\serializer.py:964 +#: .\cookbook\serializer.py:979 msgid "" "List of ingredient IDs from the recipe to add, if not provided all " "ingredients will be added." msgstr "" -#: .\cookbook\serializer.py:965 +#: .\cookbook\serializer.py:980 msgid "" "Providing a list_recipe ID and servings of 0 will delete that shopping list." msgstr "" -#: .\cookbook\serializer.py:973 +#: .\cookbook\serializer.py:988 msgid "Amount of food to add to the shopping list" msgstr "Quantité d’aliments à ajouter à la liste de courses" -#: .\cookbook\serializer.py:974 +#: .\cookbook\serializer.py:989 msgid "ID of unit to use for the shopping list" msgstr "ID de l’unité à utiliser pour la liste de courses" -#: .\cookbook\serializer.py:975 +#: .\cookbook\serializer.py:990 msgid "When set to true will delete all food from active shopping lists." msgstr "" @@ -898,8 +885,8 @@ msgid "" " ." msgstr "" "Confirmez SVP que\n" -" est une adresse mail de l’" -"utilisateur %(user_display)s." +" est une adresse mail de " +"l’utilisateur %(user_display)s." #: .\cookbook\templates\account\email_confirm.html:22 #: .\cookbook\templates\generic\delete_template.html:71 @@ -1024,8 +1011,8 @@ msgid "" msgstr "" "Le lien de changement du mot de passe est invalide, probablement parce qu’il " "a déjà été utilisé.\n" -" Merci de demander un nouveau changement de mot de passe." +" Merci de demander un nouveau changement de mot de passe." #: .\cookbook\templates\account\password_reset_from_key.html:33 msgid "change password" @@ -1138,8 +1125,8 @@ msgstr "Édition par lot" msgid "History" msgstr "Historique" -#: .\cookbook\templates\base.html:228 .\cookbook\templates\export.html:14 -#: .\cookbook\templates\export.html:20 +#: .\cookbook\templates\base.html:228 +#: .\cookbook\templates\export_response.html:7 #: .\cookbook\templates\shopping_list.html:310 #: .\cookbook\templates\test2.html:14 .\cookbook\templates\test2.html:20 msgid "Export" @@ -1230,7 +1217,6 @@ msgstr "Le chemin doit être au format suivant" #: .\cookbook\templates\forms\edit_import_recipe.html:14 #: .\cookbook\templates\generic\edit_template.html:23 #: .\cookbook\templates\generic\new_template.html:23 -#: .\cookbook\templates\include\log_cooking.html:30 #: .\cookbook\templates\settings.html:70 .\cookbook\templates\settings.html:112 #: .\cookbook\templates\settings.html:130 #: .\cookbook\templates\settings.html:202 @@ -1273,7 +1259,7 @@ msgstr "" msgid "Recipe Books" msgstr "Livres de recettes" -#: .\cookbook\templates\export.html:6 .\cookbook\templates\test2.html:6 +#: .\cookbook\templates\export.html:8 .\cookbook\templates\test2.html:6 msgid "Export Recipes" msgstr "Exporter des recettes" @@ -1397,19 +1383,12 @@ msgstr "Importer des recettes" msgid "Import" msgstr "Importer" -#: .\cookbook\templates\include\log_cooking.html:9 -msgid "Log Recipe Cooking" -msgstr "Marquer la recette comme cuisinée" +#: .\cookbook\templates\include\recipe_open_modal.html:7 +#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 +#: .\cookbook\views\new.py:53 +msgid "Recipe" +msgstr "Recette" -#: .\cookbook\templates\include\log_cooking.html:15 -msgid "All fields are optional and can be left empty." -msgstr "Tous les champs sont facultatifs et peuvent être laissés vides." - -#: .\cookbook\templates\include\log_cooking.html:21 -msgid "Rating" -msgstr "Note" - -#: .\cookbook\templates\include\log_cooking.html:29 #: .\cookbook\templates\include\recipe_open_modal.html:18 msgid "Close" msgstr "Fermer" @@ -1522,7 +1501,9 @@ msgstr "" #: .\cookbook\templates\markdown_info.html:57 #: .\cookbook\templates\markdown_info.html:73 -msgid "or by leaving a blank line inbetween." +#, fuzzy +#| msgid "or by leaving a blank line inbetween." +msgid "or by leaving a blank line in between." msgstr "ou en laissant une ligne vide entre deux." #: .\cookbook\templates\markdown_info.html:59 @@ -1545,8 +1526,12 @@ msgid "Lists" msgstr "Listes" #: .\cookbook\templates\markdown_info.html:85 +#, fuzzy +#| msgid "" +#| "Lists can ordered or unorderd. It is important to leave a blank line " +#| "before the list!" msgid "" -"Lists can ordered or unorderd. It is important to leave a blank line " +"Lists can ordered or unordered. It is important to leave a blank line " "before the list!" msgstr "" "Les listes peuvent être ordonnées ou non. Il est important de laisser une " @@ -1607,10 +1592,10 @@ msgid "" "editor like this one." msgstr "" -"Les tableaux Markdown sont difficiles à créer à la main. Il est recommandé d’" -"utiliser un éditeur de tableau comme celui-" -"ci." +"Les tableaux Markdown sont difficiles à créer à la main. Il est recommandé " +"d’utiliser un éditeur de tableau comme celui-ci." +"" #: .\cookbook\templates\markdown_info.html:155 #: .\cookbook\templates\markdown_info.html:157 @@ -1846,10 +1831,19 @@ 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 " -"'the', 'a', 'and'. And will treat seperate words as required.\n" +"'the', 'a', 'and'. And will treat separate 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" @@ -1883,13 +1877,30 @@ 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 " "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) " +" 'or' is recognized 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" @@ -1933,6 +1944,19 @@ 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 " @@ -1942,7 +1966,7 @@ msgid "" "'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 " +"will find misspelled words such as 'sandwhich' that would be missed by other " "methods.\n" " " msgstr "" @@ -2117,8 +2141,8 @@ msgid "" "You can use both basic authentication and token based authentication to " "access the REST API." msgstr "" -"Vous pouvez utiliser à la fois l’authentification classique et l’" -"authentification par jeton pour accéder à l’API REST." +"Vous pouvez utiliser à la fois l’authentification classique et " +"l’authentification par jeton pour accéder à l’API REST." #: .\cookbook\templates\settings.html:160 msgid "" @@ -2281,7 +2305,9 @@ msgid "Finished" msgstr "Terminé" #: .\cookbook\templates\shopping_list.html:267 -msgid "You are offline, shopping list might not syncronize." +#, fuzzy +#| msgid "You are offline, shopping list might not syncronize." +msgid "You are offline, shopping list might not synchronize." msgstr "Vous êtes hors ligne, la liste de courses n’est pas synchronisée." #: .\cookbook\templates\shopping_list.html:318 @@ -2566,7 +2592,8 @@ msgstr "Import URL" #: .\cookbook\templates\url_import.html:33 msgid "Drag me to your bookmarks to import recipes from anywhere" -msgstr "Glissez-moi vers vos favoris pour importer des recettes de n’importe où" +msgstr "" +"Glissez-moi vers vos favoris pour importer des recettes de n’importe où" #: .\cookbook\templates\url_import.html:34 msgid "Bookmark Me!" @@ -2580,6 +2607,14 @@ msgstr "URL" msgid "App" msgstr "App" +#: .\cookbook\templates\url_import.html:44 +msgid "Text" +msgstr "Texte" + +#: .\cookbook\templates\url_import.html:46 +msgid "File" +msgstr "Fichier" + #: .\cookbook\templates\url_import.html:64 msgid "Enter website URL" msgstr "Saisissez l’URL du site web" @@ -2756,181 +2791,182 @@ msgstr "Ticket GitHub" msgid "Recipe Markup Specification" msgstr "Spécification Markup de recette" -#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:170 +#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:174 msgid "Parameter updated_at incorrectly formatted" msgstr "Le paramètre « update_at » n'est pas correctement formaté" -#: .\cookbook\views\api.py:190 .\cookbook\views\api.py:291 +#: .\cookbook\views\api.py:194 .\cookbook\views\api.py:295 #, python-brace-format msgid "No {self.basename} with id {pk} exists" msgstr "Il n’existe aucun(e) {self.basename} avec l’identifiant {pk}" -#: .\cookbook\views\api.py:194 +#: .\cookbook\views\api.py:198 msgid "Cannot merge with the same object!" msgstr "Impossible de fusionner un objet avec lui-même !" -#: .\cookbook\views\api.py:201 +#: .\cookbook\views\api.py:205 #, python-brace-format msgid "No {self.basename} with id {target} exists" msgstr "Il n’existe aucun(e) {self.basename} avec l’id {target}" -#: .\cookbook\views\api.py:206 +#: .\cookbook\views\api.py:210 msgid "Cannot merge with child object!" msgstr "Impossible de fusionner avec l’objet enfant !" -#: .\cookbook\views\api.py:239 +#: .\cookbook\views\api.py:243 #, python-brace-format msgid "{source.name} was merged successfully with {target.name}" msgstr "{source.name} a été fusionné avec succès avec {target.name}" -#: .\cookbook\views\api.py:244 +#: .\cookbook\views\api.py:248 #, python-brace-format msgid "An error occurred attempting to merge {source.name} with {target.name}" msgstr "" "Une erreur est survenue lors de la tentative de fusion de {source.name} avec " "{target.name}" -#: .\cookbook\views\api.py:300 +#: .\cookbook\views\api.py:304 #, python-brace-format msgid "{child.name} was moved successfully to the root." msgstr "{child.name} a été déplacé avec succès vers la racine." -#: .\cookbook\views\api.py:303 .\cookbook\views\api.py:321 +#: .\cookbook\views\api.py:307 .\cookbook\views\api.py:325 msgid "An error occurred attempting to move " msgstr "Une erreur est survenue en essayant de déplacer " -#: .\cookbook\views\api.py:306 +#: .\cookbook\views\api.py:310 msgid "Cannot move an object to itself!" msgstr "Impossible de déplacer un objet vers lui-même !" -#: .\cookbook\views\api.py:312 +#: .\cookbook\views\api.py:316 #, python-brace-format msgid "No {self.basename} with id {parent} exists" msgstr "Il n’existe aucun(e) {self.basename} avec l’id {parent}" -#: .\cookbook\views\api.py:318 +#: .\cookbook\views\api.py:322 #, python-brace-format msgid "{child.name} was moved successfully to parent {parent.name}" msgstr "{child.name} a été déplacé avec succès vers le parent {parent.name}" -#: .\cookbook\views\api.py:470 +#: .\cookbook\views\api.py:474 #, python-brace-format msgid "{obj.name} was removed from the shopping list." msgstr "{obj.name} a été supprimé(e) de la liste de courses." -#: .\cookbook\views\api.py:475 .\cookbook\views\api.py:726 +#: .\cookbook\views\api.py:479 .\cookbook\views\api.py:729 +#: .\cookbook\views\api.py:742 #, python-brace-format msgid "{obj.name} was added to the shopping list." msgstr "{obj.name} a été ajouté(e) à la liste de courses." -#: .\cookbook\views\api.py:587 +#: .\cookbook\views\api.py:591 msgid "ID of recipe a step is part of. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:588 +#: .\cookbook\views\api.py:592 msgid "Query string matched (fuzzy) against object name." msgstr "" -#: .\cookbook\views\api.py:631 +#: .\cookbook\views\api.py:635 msgid "" "Query string matched (fuzzy) against recipe name. In the future also " "fulltext search." msgstr "" -#: .\cookbook\views\api.py:632 +#: .\cookbook\views\api.py:636 msgid "ID of keyword a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:633 +#: .\cookbook\views\api.py:637 msgid "ID of food a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:634 +#: .\cookbook\views\api.py:638 msgid "ID of unit a recipe should have." msgstr "" -#: .\cookbook\views\api.py:635 +#: .\cookbook\views\api.py:639 msgid "Rating a recipe should have. [0 - 5]" msgstr "" -#: .\cookbook\views\api.py:636 +#: .\cookbook\views\api.py:640 msgid "ID of book a recipe should be in. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:637 +#: .\cookbook\views\api.py:641 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided keywords." msgstr "" -#: .\cookbook\views\api.py:638 +#: .\cookbook\views\api.py:642 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided foods." msgstr "" -#: .\cookbook\views\api.py:639 +#: .\cookbook\views\api.py:643 msgid "" "If recipe should be in all (AND=false) or any (OR=true) of the " "provided books." msgstr "" -#: .\cookbook\views\api.py:640 +#: .\cookbook\views\api.py:644 msgid "If only internal recipes should be returned. [true/false]" msgstr "" -#: .\cookbook\views\api.py:641 +#: .\cookbook\views\api.py:645 msgid "Returns the results in randomized order. [true/false]" msgstr "" -#: .\cookbook\views\api.py:642 +#: .\cookbook\views\api.py:646 msgid "Returns new results first in search results. [true/false]" msgstr "" -#: .\cookbook\views\api.py:768 +#: .\cookbook\views\api.py:784 msgid "" "Returns the shopping list entry with a primary key of id. Multiple values " "allowed." msgstr "" -#: .\cookbook\views\api.py:771 +#: .\cookbook\views\api.py:787 msgid "" "Filter shopping list entries on checked. [true, false, both, recent]
- recent includes unchecked items and recently completed items." msgstr "" -#: .\cookbook\views\api.py:773 +#: .\cookbook\views\api.py:789 msgid "Returns the shopping list entries sorted by supermarket category order." msgstr "" -#: .\cookbook\views\api.py:922 .\cookbook\views\data.py:42 +#: .\cookbook\views\api.py:949 .\cookbook\views\data.py:42 #: .\cookbook\views\edit.py:129 .\cookbook\views\new.py:95 msgid "This feature is not yet available in the hosted version of tandoor!" msgstr "" "Cette fonctionnalité n’est pas encore disponible dans la version hébergée de " "Tandoor !" -#: .\cookbook\views\api.py:944 +#: .\cookbook\views\api.py:971 msgid "Sync successful!" msgstr "Synchro réussie !" -#: .\cookbook\views\api.py:949 +#: .\cookbook\views\api.py:976 msgid "Error synchronizing with Storage" msgstr "Erreur lors de la synchronisation avec le stockage" -#: .\cookbook\views\api.py:1028 +#: .\cookbook\views\api.py:1055 msgid "Nothing to do." msgstr "Rien à faire." -#: .\cookbook\views\api.py:1043 +#: .\cookbook\views\api.py:1070 msgid "The requested site provided malformed data and cannot be read." msgstr "Le site web a renvoyé des données malformées et ne peut être lu." -#: .\cookbook\views\api.py:1050 +#: .\cookbook\views\api.py:1077 msgid "The requested page could not be found." msgstr "La page souhaitée est introuvable." -#: .\cookbook\views\api.py:1068 +#: .\cookbook\views\api.py:1095 msgid "" "The requested site does not provide any recognized data format to import the " "recipe from." @@ -2938,26 +2974,28 @@ msgstr "" "Le site web est dans un format qui ne permet pas d’importer automatiquement " "la recette." -#: .\cookbook\views\api.py:1082 +#: .\cookbook\views\api.py:1109 msgid "Connection Refused." msgstr "Connexion refusée." -#: .\cookbook\views\api.py:1091 -msgid "No useable data could be found." +#: .\cookbook\views\api.py:1118 +#, fuzzy +#| msgid "No useable data could be found." +msgid "No usable data could be found." msgstr "Aucune information utilisable n'a été trouvée." -#: .\cookbook\views\api.py:1107 +#: .\cookbook\views\api.py:1134 msgid "I couldn't find anything to do." msgstr "Je n’ai rien trouvé à faire." #: .\cookbook\views\data.py:34 .\cookbook\views\data.py:129 -#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:80 +#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:81 #: .\cookbook\views\new.py:33 msgid "You have reached the maximum number of recipes for your space." msgstr "Vous avez atteint le nombre maximum de recettes pour votre groupe." #: .\cookbook\views\data.py:38 .\cookbook\views\data.py:133 -#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:84 +#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:85 #: .\cookbook\views\new.py:37 msgid "You have more users than allowed in your space." msgstr "" @@ -3020,20 +3058,16 @@ msgstr "Modifications sauvegardées !" msgid "Error saving changes!" msgstr "Erreur lors de la sauvegarde des modifications !" -#: .\cookbook\views\import_export.py:106 +#: .\cookbook\views\import_export.py:107 .\cookbook\views\import_export.py:143 msgid "Importing is not implemented for this provider" msgstr "L’importation n’est pas implémentée pour ce fournisseur" -#: .\cookbook\views\import_export.py:127 +#: .\cookbook\views\import_export.py:130 msgid "" "The PDF Exporter is not enabled on this instance as it is still in an " "experimental state." msgstr "" -#: .\cookbook\views\import_export.py:132 -msgid "Exporting is not implemented for this provider" -msgstr "L’exportation n’est pas implémentée pour ce fournisseur" - #: .\cookbook\views\lists.py:25 msgid "Import Log" msgstr "Historique d’importation" @@ -3165,7 +3199,7 @@ msgid "Fuzzy search is not compatible with this search method!" msgstr "" "La recherche floue n’est pas compatible avec cette méthode de recherche !" -#: .\cookbook\views\views.py:470 +#: .\cookbook\views\views.py:473 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 " @@ -3176,32 +3210,32 @@ msgstr "" "utilisateur, counsultez la documentation Django pour savoir comment " "réinitialiser le mot de passe." -#: .\cookbook\views\views.py:477 +#: .\cookbook\views\views.py:480 msgid "Passwords dont match!" msgstr "Les mots de passe ne correspondent pas !" -#: .\cookbook\views\views.py:493 +#: .\cookbook\views\views.py:496 msgid "User has been created, please login!" msgstr "L’utilisateur a été créé, veuillez vous connecter !" -#: .\cookbook\views\views.py:509 +#: .\cookbook\views\views.py:512 msgid "Malformed Invite Link supplied!" msgstr "Le lien d’invitation fourni est mal formé !" -#: .\cookbook\views\views.py:516 +#: .\cookbook\views\views.py:519 msgid "You are already member of a space and therefore cannot join this one." msgstr "" "Vous êtes déjà membre d’un groupe et ne pouvez donc pas rejoindre celui-ci." -#: .\cookbook\views\views.py:527 +#: .\cookbook\views\views.py:530 msgid "Successfully joined space." msgstr "Vous avez bien rejoint le groupe." -#: .\cookbook\views\views.py:533 +#: .\cookbook\views\views.py:536 msgid "Invite Link not valid or already used!" msgstr "Le lien d’invitation est invalide ou déjà utilisé !" -#: .\cookbook\views\views.py:614 +#: .\cookbook\views\views.py:617 msgid "" "Reporting share links is not enabled for this instance. Please notify the " "page administrator to report problems." @@ -3209,7 +3243,7 @@ msgstr "" "Le signalement de liens partagés n’est pas autorisé pour cette installation. " "Veuillez contacter l’administrateur de la page pour signaler le problème." -#: .\cookbook\views\views.py:620 +#: .\cookbook\views\views.py:623 msgid "" "Recipe sharing link has been disabled! For additional information please " "contact the page administrator." @@ -3217,6 +3251,24 @@ msgstr "" "Le lien de partage de la recette a été désactivé ! Pour plus d’informations, " "veuillez contacter l’administrateur de la page." +#~ msgid "You must supply a recipe or mealplan" +#~ msgstr "Vous devez fournir une recette ou un menu de la semaine" + +#~ msgid "Time" +#~ msgstr "Temps" + +#~ msgid "Log Recipe Cooking" +#~ msgstr "Marquer la recette comme cuisinée" + +#~ msgid "All fields are optional and can be left empty." +#~ msgstr "Tous les champs sont facultatifs et peuvent être laissés vides." + +#~ msgid "Rating" +#~ msgstr "Note" + +#~ msgid "Exporting is not implemented for this provider" +#~ msgstr "L’exportation n’est pas implémentée pour ce fournisseur" + #, python-brace-format #~ msgid "No {self.basename} with id {child} exists" #~ msgstr "Il n'existe pas de {self.basename} avec l'id {child}" diff --git a/cookbook/locale/hu_HU/LC_MESSAGES/django.po b/cookbook/locale/hu_HU/LC_MESSAGES/django.po index a0486f152..fe5212af9 100644 --- a/cookbook/locale/hu_HU/LC_MESSAGES/django.po +++ b/cookbook/locale/hu_HU/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: 2020-06-02 19:28+0000\n" "Last-Translator: igazka , 2020\n" "Language-Team: Hungarian (Hungary) (https://www.transifex.com/django-recipes/" @@ -271,7 +271,7 @@ msgstr "" #: .\cookbook\forms.py:445 msgid "" "Select type method of search. Click here for " -"full desciption of choices." +"full description of choices." msgstr "" #: .\cookbook\forms.py:446 @@ -327,7 +327,7 @@ msgid "Partial Match" msgstr "" #: .\cookbook\forms.py:464 -msgid "Starts Wtih" +msgid "Starts With" msgstr "" #: .\cookbook\forms.py:465 @@ -471,16 +471,12 @@ msgstr "" msgid "You cannot interact with this object as it is not owned by you!" msgstr "" -#: .\cookbook\helper\recipe_search.py:473 +#: .\cookbook\helper\recipe_search.py:486 msgid "One of queryset or hash_key must be provided" msgstr "" -#: .\cookbook\helper\shopping_helper.py:54 -msgid "You must supply a recipe or mealplan" -msgstr "" - -#: .\cookbook\helper\shopping_helper.py:58 -msgid "You must supply a created_by" +#: .\cookbook\helper\shopping_helper.py:148 +msgid "You must supply a servings size" msgstr "" #: .\cookbook\helper\template_helper.py:61 @@ -488,23 +484,23 @@ msgstr "" msgid "Could not parse template code." msgstr "" -#: .\cookbook\integration\integration.py:200 +#: .\cookbook\integration\integration.py:213 msgid "" "Importer expected a .zip file. Did you choose the correct importer type for " "your data ?" msgstr "" -#: .\cookbook\integration\integration.py:203 +#: .\cookbook\integration\integration.py:216 msgid "" "An unexpected error occurred during the import. Please make sure you have " "uploaded a valid file." msgstr "" -#: .\cookbook\integration\integration.py:208 +#: .\cookbook\integration\integration.py:221 msgid "The following recipes were ignored because they already existed:" msgstr "" -#: .\cookbook\integration\integration.py:212 +#: .\cookbook\integration\integration.py:225 #, python-format msgid "Imported %s recipes." msgstr "" @@ -522,7 +518,6 @@ msgid "Source" msgstr "" #: .\cookbook\integration\saffron.py:23 -#: .\cookbook\templates\include\log_cooking.html:18 #: .\cookbook\templates\url_import.html:231 #: .\cookbook\templates\url_import.html:462 msgid "Servings" @@ -551,7 +546,7 @@ msgid "Rebuilds full text search index on Recipe" msgstr "" #: .\cookbook\management\commands\rebuildindex.py:18 -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 "" #: .\cookbook\management\commands\rebuildindex.py:29 @@ -613,99 +608,78 @@ msgstr "" msgid "New" msgstr "" -#: .\cookbook\models.py:512 +#: .\cookbook\models.py:513 msgid " is part of a recipe step and cannot be deleted" msgstr "" -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:44 -msgid "Text" -msgstr "Szöveg" - -#: .\cookbook\models.py:586 -msgid "Time" -msgstr "" - -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:46 -#, fuzzy -#| msgid "File ID" -msgid "File" -msgstr "Fájl ID:" - -#: .\cookbook\models.py:586 -#: .\cookbook\templates\include\recipe_open_modal.html:7 -#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 -#: .\cookbook\views\new.py:53 -msgid "Recipe" -msgstr "" - -#: .\cookbook\models.py:1041 .\cookbook\templates\search_info.html:28 +#: .\cookbook\models.py:1065 .\cookbook\templates\search_info.html:28 msgid "Simple" msgstr "" -#: .\cookbook\models.py:1042 .\cookbook\templates\search_info.html:33 +#: .\cookbook\models.py:1066 .\cookbook\templates\search_info.html:33 msgid "Phrase" msgstr "" -#: .\cookbook\models.py:1043 .\cookbook\templates\search_info.html:38 +#: .\cookbook\models.py:1067 .\cookbook\templates\search_info.html:38 msgid "Web" msgstr "" -#: .\cookbook\models.py:1044 .\cookbook\templates\search_info.html:47 +#: .\cookbook\models.py:1068 .\cookbook\templates\search_info.html:47 msgid "Raw" msgstr "" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 #, fuzzy #| msgid "New Food" msgid "Food Alias" msgstr "Új Étel" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Unit Alias" msgstr "" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 #, fuzzy #| msgid "Keywords" msgid "Keyword Alias" msgstr "Kulcsszavak" -#: .\cookbook\serializer.py:175 +#: .\cookbook\serializer.py:180 msgid "A user is required" msgstr "" -#: .\cookbook\serializer.py:195 +#: .\cookbook\serializer.py:200 msgid "File uploads are not enabled for this Space." msgstr "" -#: .\cookbook\serializer.py:206 +#: .\cookbook\serializer.py:211 msgid "You have reached your file upload limit." msgstr "" -#: .\cookbook\serializer.py:962 +#: .\cookbook\serializer.py:977 msgid "Existing shopping list to update" msgstr "" -#: .\cookbook\serializer.py:964 +#: .\cookbook\serializer.py:979 msgid "" "List of ingredient IDs from the recipe to add, if not provided all " "ingredients will be added." msgstr "" -#: .\cookbook\serializer.py:965 +#: .\cookbook\serializer.py:980 msgid "" "Providing a list_recipe ID and servings of 0 will delete that shopping list." msgstr "" -#: .\cookbook\serializer.py:973 +#: .\cookbook\serializer.py:988 msgid "Amount of food to add to the shopping list" msgstr "" -#: .\cookbook\serializer.py:974 +#: .\cookbook\serializer.py:989 msgid "ID of unit to use for the shopping list" msgstr "" -#: .\cookbook\serializer.py:975 +#: .\cookbook\serializer.py:990 msgid "When set to true will delete all food from active shopping lists." msgstr "" @@ -1054,8 +1028,8 @@ msgstr "" msgid "History" msgstr "" -#: .\cookbook\templates\base.html:228 .\cookbook\templates\export.html:14 -#: .\cookbook\templates\export.html:20 +#: .\cookbook\templates\base.html:228 +#: .\cookbook\templates\export_response.html:7 #: .\cookbook\templates\shopping_list.html:310 #: .\cookbook\templates\test2.html:14 .\cookbook\templates\test2.html:20 msgid "Export" @@ -1144,7 +1118,6 @@ msgstr "" #: .\cookbook\templates\forms\edit_import_recipe.html:14 #: .\cookbook\templates\generic\edit_template.html:23 #: .\cookbook\templates\generic\new_template.html:23 -#: .\cookbook\templates\include\log_cooking.html:30 #: .\cookbook\templates\settings.html:70 .\cookbook\templates\settings.html:112 #: .\cookbook\templates\settings.html:130 #: .\cookbook\templates\settings.html:202 @@ -1185,7 +1158,7 @@ msgstr "" msgid "Recipe Books" msgstr "" -#: .\cookbook\templates\export.html:6 .\cookbook\templates\test2.html:6 +#: .\cookbook\templates\export.html:8 .\cookbook\templates\test2.html:6 msgid "Export Recipes" msgstr "" @@ -1303,19 +1276,12 @@ msgstr "" msgid "Import" msgstr "" -#: .\cookbook\templates\include\log_cooking.html:9 -msgid "Log Recipe Cooking" +#: .\cookbook\templates\include\recipe_open_modal.html:7 +#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 +#: .\cookbook\views\new.py:53 +msgid "Recipe" msgstr "" -#: .\cookbook\templates\include\log_cooking.html:15 -msgid "All fields are optional and can be left empty." -msgstr "" - -#: .\cookbook\templates\include\log_cooking.html:21 -msgid "Rating" -msgstr "" - -#: .\cookbook\templates\include\log_cooking.html:29 #: .\cookbook\templates\include\recipe_open_modal.html:18 msgid "Close" msgstr "" @@ -1406,7 +1372,7 @@ msgstr "" #: .\cookbook\templates\markdown_info.html:57 #: .\cookbook\templates\markdown_info.html:73 -msgid "or by leaving a blank line inbetween." +msgid "or by leaving a blank line in between." msgstr "" #: .\cookbook\templates\markdown_info.html:59 @@ -1430,7 +1396,7 @@ msgstr "" #: .\cookbook\templates\markdown_info.html:85 msgid "" -"Lists can ordered or unorderd. It is important to leave a blank line " +"Lists can ordered or unordered. It is important to leave a blank line " "before the list!" msgstr "" @@ -1692,7 +1658,7 @@ msgstr "" msgid "" " \n" " Simple searches ignore punctuation and common words such as " -"'the', 'a', 'and'. And will treat seperate words as required.\n" +"'the', 'a', 'and'. And will treat separate 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" @@ -1717,7 +1683,7 @@ msgid "" "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) " +" 'or' is recognized 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" @@ -1747,7 +1713,7 @@ msgid "" "'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 " +"will find misspelled words such as 'sandwhich' that would be missed by other " "methods.\n" " " msgstr "" @@ -2006,7 +1972,7 @@ msgid "Finished" msgstr "" #: .\cookbook\templates\shopping_list.html:267 -msgid "You are offline, shopping list might not syncronize." +msgid "You are offline, shopping list might not synchronize." msgstr "" #: .\cookbook\templates\shopping_list.html:318 @@ -2264,6 +2230,16 @@ msgstr "" msgid "App" msgstr "" +#: .\cookbook\templates\url_import.html:44 +msgid "Text" +msgstr "Szöveg" + +#: .\cookbook\templates\url_import.html:46 +#, fuzzy +#| msgid "File ID" +msgid "File" +msgstr "Fájl ID:" + #: .\cookbook\templates\url_import.html:64 msgid "Enter website URL" msgstr "" @@ -2428,202 +2404,203 @@ msgstr "" msgid "Recipe Markup Specification" msgstr "" -#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:170 +#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:174 msgid "Parameter updated_at incorrectly formatted" msgstr "" -#: .\cookbook\views\api.py:190 .\cookbook\views\api.py:291 +#: .\cookbook\views\api.py:194 .\cookbook\views\api.py:295 #, python-brace-format msgid "No {self.basename} with id {pk} exists" msgstr "" -#: .\cookbook\views\api.py:194 +#: .\cookbook\views\api.py:198 msgid "Cannot merge with the same object!" msgstr "" -#: .\cookbook\views\api.py:201 +#: .\cookbook\views\api.py:205 #, python-brace-format msgid "No {self.basename} with id {target} exists" msgstr "" -#: .\cookbook\views\api.py:206 +#: .\cookbook\views\api.py:210 msgid "Cannot merge with child object!" msgstr "" -#: .\cookbook\views\api.py:239 +#: .\cookbook\views\api.py:243 #, python-brace-format msgid "{source.name} was merged successfully with {target.name}" msgstr "" -#: .\cookbook\views\api.py:244 +#: .\cookbook\views\api.py:248 #, python-brace-format msgid "An error occurred attempting to merge {source.name} with {target.name}" msgstr "" -#: .\cookbook\views\api.py:300 +#: .\cookbook\views\api.py:304 #, python-brace-format msgid "{child.name} was moved successfully to the root." msgstr "" -#: .\cookbook\views\api.py:303 .\cookbook\views\api.py:321 +#: .\cookbook\views\api.py:307 .\cookbook\views\api.py:325 msgid "An error occurred attempting to move " msgstr "" -#: .\cookbook\views\api.py:306 +#: .\cookbook\views\api.py:310 msgid "Cannot move an object to itself!" msgstr "" -#: .\cookbook\views\api.py:312 +#: .\cookbook\views\api.py:316 #, python-brace-format msgid "No {self.basename} with id {parent} exists" msgstr "" -#: .\cookbook\views\api.py:318 +#: .\cookbook\views\api.py:322 #, python-brace-format msgid "{child.name} was moved successfully to parent {parent.name}" msgstr "" -#: .\cookbook\views\api.py:470 +#: .\cookbook\views\api.py:474 #, python-brace-format msgid "{obj.name} was removed from the shopping list." msgstr "" -#: .\cookbook\views\api.py:475 .\cookbook\views\api.py:726 +#: .\cookbook\views\api.py:479 .\cookbook\views\api.py:729 +#: .\cookbook\views\api.py:742 #, python-brace-format msgid "{obj.name} was added to the shopping list." msgstr "" -#: .\cookbook\views\api.py:587 +#: .\cookbook\views\api.py:591 msgid "ID of recipe a step is part of. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:588 +#: .\cookbook\views\api.py:592 msgid "Query string matched (fuzzy) against object name." msgstr "" -#: .\cookbook\views\api.py:631 +#: .\cookbook\views\api.py:635 msgid "" "Query string matched (fuzzy) against recipe name. In the future also " "fulltext search." msgstr "" -#: .\cookbook\views\api.py:632 +#: .\cookbook\views\api.py:636 msgid "ID of keyword a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:633 +#: .\cookbook\views\api.py:637 msgid "ID of food a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:634 +#: .\cookbook\views\api.py:638 msgid "ID of unit a recipe should have." msgstr "" -#: .\cookbook\views\api.py:635 +#: .\cookbook\views\api.py:639 msgid "Rating a recipe should have. [0 - 5]" msgstr "" -#: .\cookbook\views\api.py:636 +#: .\cookbook\views\api.py:640 msgid "ID of book a recipe should be in. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:637 +#: .\cookbook\views\api.py:641 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided keywords." msgstr "" -#: .\cookbook\views\api.py:638 +#: .\cookbook\views\api.py:642 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided foods." msgstr "" -#: .\cookbook\views\api.py:639 +#: .\cookbook\views\api.py:643 msgid "" "If recipe should be in all (AND=false) or any (OR=true) of the " "provided books." msgstr "" -#: .\cookbook\views\api.py:640 +#: .\cookbook\views\api.py:644 msgid "If only internal recipes should be returned. [true/false]" msgstr "" -#: .\cookbook\views\api.py:641 +#: .\cookbook\views\api.py:645 msgid "Returns the results in randomized order. [true/false]" msgstr "" -#: .\cookbook\views\api.py:642 +#: .\cookbook\views\api.py:646 msgid "Returns new results first in search results. [true/false]" msgstr "" -#: .\cookbook\views\api.py:768 +#: .\cookbook\views\api.py:784 msgid "" "Returns the shopping list entry with a primary key of id. Multiple values " "allowed." msgstr "" -#: .\cookbook\views\api.py:771 +#: .\cookbook\views\api.py:787 msgid "" "Filter shopping list entries on checked. [true, false, both, recent]
- recent includes unchecked items and recently completed items." msgstr "" -#: .\cookbook\views\api.py:773 +#: .\cookbook\views\api.py:789 msgid "Returns the shopping list entries sorted by supermarket category order." msgstr "" -#: .\cookbook\views\api.py:922 .\cookbook\views\data.py:42 +#: .\cookbook\views\api.py:949 .\cookbook\views\data.py:42 #: .\cookbook\views\edit.py:129 .\cookbook\views\new.py:95 msgid "This feature is not yet available in the hosted version of tandoor!" msgstr "" -#: .\cookbook\views\api.py:944 +#: .\cookbook\views\api.py:971 msgid "Sync successful!" msgstr "" -#: .\cookbook\views\api.py:949 +#: .\cookbook\views\api.py:976 msgid "Error synchronizing with Storage" msgstr "" -#: .\cookbook\views\api.py:1028 +#: .\cookbook\views\api.py:1055 msgid "Nothing to do." msgstr "" -#: .\cookbook\views\api.py:1043 +#: .\cookbook\views\api.py:1070 msgid "The requested site provided malformed data and cannot be read." msgstr "" -#: .\cookbook\views\api.py:1050 +#: .\cookbook\views\api.py:1077 msgid "The requested page could not be found." msgstr "" -#: .\cookbook\views\api.py:1068 +#: .\cookbook\views\api.py:1095 msgid "" "The requested site does not provide any recognized data format to import the " "recipe from." msgstr "" -#: .\cookbook\views\api.py:1082 +#: .\cookbook\views\api.py:1109 msgid "Connection Refused." msgstr "" -#: .\cookbook\views\api.py:1091 -msgid "No useable data could be found." +#: .\cookbook\views\api.py:1118 +msgid "No usable data could be found." msgstr "" -#: .\cookbook\views\api.py:1107 +#: .\cookbook\views\api.py:1134 msgid "I couldn't find anything to do." msgstr "" #: .\cookbook\views\data.py:34 .\cookbook\views\data.py:129 -#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:80 +#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:81 #: .\cookbook\views\new.py:33 msgid "You have reached the maximum number of recipes for your space." msgstr "" #: .\cookbook\views\data.py:38 .\cookbook\views\data.py:133 -#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:84 +#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:85 #: .\cookbook\views\new.py:37 msgid "You have more users than allowed in your space." msgstr "" @@ -2681,20 +2658,16 @@ msgstr "" msgid "Error saving changes!" msgstr "" -#: .\cookbook\views\import_export.py:106 +#: .\cookbook\views\import_export.py:107 .\cookbook\views\import_export.py:143 msgid "Importing is not implemented for this provider" msgstr "" -#: .\cookbook\views\import_export.py:127 +#: .\cookbook\views\import_export.py:130 msgid "" "The PDF Exporter is not enabled on this instance as it is still in an " "experimental state." msgstr "" -#: .\cookbook\views\import_export.py:132 -msgid "Exporting is not implemented for this provider" -msgstr "" - #: .\cookbook\views\lists.py:25 msgid "Import Log" msgstr "" @@ -2811,44 +2784,44 @@ msgstr "" msgid "Fuzzy search is not compatible with this search method!" msgstr "" -#: .\cookbook\views\views.py:470 +#: .\cookbook\views\views.py:473 msgid "" "The setup page can only be used to create the first user! If you have " "forgotten your superuser credentials please consult the django documentation " "on how to reset passwords." msgstr "" -#: .\cookbook\views\views.py:477 +#: .\cookbook\views\views.py:480 msgid "Passwords dont match!" msgstr "" -#: .\cookbook\views\views.py:493 +#: .\cookbook\views\views.py:496 msgid "User has been created, please login!" msgstr "" -#: .\cookbook\views\views.py:509 +#: .\cookbook\views\views.py:512 msgid "Malformed Invite Link supplied!" msgstr "" -#: .\cookbook\views\views.py:516 +#: .\cookbook\views\views.py:519 msgid "You are already member of a space and therefore cannot join this one." msgstr "" -#: .\cookbook\views\views.py:527 +#: .\cookbook\views\views.py:530 msgid "Successfully joined space." msgstr "" -#: .\cookbook\views\views.py:533 +#: .\cookbook\views\views.py:536 msgid "Invite Link not valid or already used!" msgstr "" -#: .\cookbook\views\views.py:614 +#: .\cookbook\views\views.py:617 msgid "" "Reporting share links is not enabled for this instance. Please notify the " "page administrator to report problems." msgstr "" -#: .\cookbook\views\views.py:620 +#: .\cookbook\views\views.py:623 msgid "" "Recipe sharing link has been disabled! For additional information please " "contact the page administrator." diff --git a/cookbook/locale/it/LC_MESSAGES/django.po b/cookbook/locale/it/LC_MESSAGES/django.po index 32bbc6450..e696b3183 100644 --- a/cookbook/locale/it/LC_MESSAGES/django.po +++ b/cookbook/locale/it/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: 2022-01-17 07:56+0000\n" "Last-Translator: Oliver Cervera \n" "Language-Team: Italian here " +#| "for full desciption of choices." msgid "" "Select type method of search. Click here for " -"full desciption of choices." +"full description of choices." msgstr "" "Seleziona il metodo di ricerca. Clicca qui " "per avere maggiori informazioni." @@ -357,7 +361,9 @@ msgid "Partial Match" msgstr "Corrispondenza parziale" #: .\cookbook\forms.py:464 -msgid "Starts Wtih" +#, fuzzy +#| msgid "Starts Wtih" +msgid "Starts With" msgstr "Inizia con" #: .\cookbook\forms.py:465 @@ -509,26 +515,22 @@ msgstr "Non hai i permessi necessari per visualizzare questa pagina!" msgid "You cannot interact with this object as it is not owned by you!" msgstr "Non puoi interagire con questo oggetto perché non ne hai i diritti!" -#: .\cookbook\helper\recipe_search.py:473 +#: .\cookbook\helper\recipe_search.py:486 msgid "One of queryset or hash_key must be provided" msgstr "" -#: .\cookbook\helper\shopping_helper.py:54 +#: .\cookbook\helper\shopping_helper.py:148 #, fuzzy #| msgid "You must provide at least a recipe or a title." -msgid "You must supply a recipe or mealplan" +msgid "You must supply a servings size" msgstr "Devi fornire almeno una ricetta o un titolo." -#: .\cookbook\helper\shopping_helper.py:58 -msgid "You must supply a created_by" -msgstr "" - #: .\cookbook\helper\template_helper.py:61 #: .\cookbook\helper\template_helper.py:63 msgid "Could not parse template code." msgstr "Impossibile elaborare il codice del template." -#: .\cookbook\integration\integration.py:200 +#: .\cookbook\integration\integration.py:213 msgid "" "Importer expected a .zip file. Did you choose the correct importer type for " "your data ?" @@ -536,7 +538,7 @@ msgstr "" "La procedura di import necessita di un file .zip. Hai scelto il tipo di " "importazione corretta per i tuoi dati?" -#: .\cookbook\integration\integration.py:203 +#: .\cookbook\integration\integration.py:216 msgid "" "An unexpected error occurred during the import. Please make sure you have " "uploaded a valid file." @@ -544,11 +546,11 @@ msgstr "" "Un errore imprevisto si è verificato durante l'importazione. Assicurati di " "aver caricato un file valido." -#: .\cookbook\integration\integration.py:208 +#: .\cookbook\integration\integration.py:221 msgid "The following recipes were ignored because they already existed:" msgstr "Le seguenti ricette sono state ignorate perché già esistenti:" -#: .\cookbook\integration\integration.py:212 +#: .\cookbook\integration\integration.py:225 #, python-format msgid "Imported %s recipes." msgstr "Importate %s ricette." @@ -566,7 +568,6 @@ msgid "Source" msgstr "Fonte" #: .\cookbook\integration\saffron.py:23 -#: .\cookbook\templates\include\log_cooking.html:18 #: .\cookbook\templates\url_import.html:231 #: .\cookbook\templates\url_import.html:462 msgid "Servings" @@ -595,7 +596,9 @@ msgid "Rebuilds full text search index on Recipe" msgstr "Ricostruisce l'indice di ricerca full text per la ricetta" #: .\cookbook\management\commands\rebuildindex.py:18 -msgid "Only Postgress databases use full text search, no index to rebuild" +#, 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 "" "Solo i database Postgres usano l'indice di ricerca full text, non ci sono " "indici da ricostruire" @@ -661,93 +664,74 @@ msgstr "Grande" msgid "New" msgstr "Nuovo" -#: .\cookbook\models.py:512 +#: .\cookbook\models.py:513 msgid " is part of a recipe step and cannot be deleted" msgstr " è parte dello step di una ricetta e non può essere eliminato" -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:44 -msgid "Text" -msgstr "Testo" - -#: .\cookbook\models.py:586 -msgid "Time" -msgstr "Tempo" - -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:46 -msgid "File" -msgstr "File" - -#: .\cookbook\models.py:586 -#: .\cookbook\templates\include\recipe_open_modal.html:7 -#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 -#: .\cookbook\views\new.py:53 -msgid "Recipe" -msgstr "Ricetta" - -#: .\cookbook\models.py:1041 .\cookbook\templates\search_info.html:28 +#: .\cookbook\models.py:1065 .\cookbook\templates\search_info.html:28 msgid "Simple" msgstr "Semplice" -#: .\cookbook\models.py:1042 .\cookbook\templates\search_info.html:33 +#: .\cookbook\models.py:1066 .\cookbook\templates\search_info.html:33 msgid "Phrase" msgstr "Frase" -#: .\cookbook\models.py:1043 .\cookbook\templates\search_info.html:38 +#: .\cookbook\models.py:1067 .\cookbook\templates\search_info.html:38 msgid "Web" msgstr "Web" -#: .\cookbook\models.py:1044 .\cookbook\templates\search_info.html:47 +#: .\cookbook\models.py:1068 .\cookbook\templates\search_info.html:47 msgid "Raw" msgstr "Raw" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Food Alias" msgstr "Alias Alimento" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Unit Alias" msgstr "Alias Unità" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Keyword Alias" msgstr "Alias Parola Chiave" -#: .\cookbook\serializer.py:175 +#: .\cookbook\serializer.py:180 msgid "A user is required" msgstr "" -#: .\cookbook\serializer.py:195 +#: .\cookbook\serializer.py:200 msgid "File uploads are not enabled for this Space." msgstr "Il caricamento dei file non è abilitato in questa istanza." -#: .\cookbook\serializer.py:206 +#: .\cookbook\serializer.py:211 msgid "You have reached your file upload limit." msgstr "Hai raggiungo il limite per il caricamento dei file." -#: .\cookbook\serializer.py:962 +#: .\cookbook\serializer.py:977 msgid "Existing shopping list to update" msgstr "" -#: .\cookbook\serializer.py:964 +#: .\cookbook\serializer.py:979 msgid "" "List of ingredient IDs from the recipe to add, if not provided all " "ingredients will be added." msgstr "" -#: .\cookbook\serializer.py:965 +#: .\cookbook\serializer.py:980 msgid "" "Providing a list_recipe ID and servings of 0 will delete that shopping list." msgstr "" -#: .\cookbook\serializer.py:973 +#: .\cookbook\serializer.py:988 msgid "Amount of food to add to the shopping list" msgstr "" -#: .\cookbook\serializer.py:974 +#: .\cookbook\serializer.py:989 msgid "ID of unit to use for the shopping list" msgstr "" -#: .\cookbook\serializer.py:975 +#: .\cookbook\serializer.py:990 msgid "When set to true will delete all food from active shopping lists." msgstr "" @@ -1109,8 +1093,8 @@ msgstr "Modifica in blocco" msgid "History" msgstr "Cronologia" -#: .\cookbook\templates\base.html:228 .\cookbook\templates\export.html:14 -#: .\cookbook\templates\export.html:20 +#: .\cookbook\templates\base.html:228 +#: .\cookbook\templates\export_response.html:7 #: .\cookbook\templates\shopping_list.html:310 #: .\cookbook\templates\test2.html:14 .\cookbook\templates\test2.html:20 msgid "Export" @@ -1203,7 +1187,6 @@ msgstr "Il percorso deve essere nel formato seguente" #: .\cookbook\templates\forms\edit_import_recipe.html:14 #: .\cookbook\templates\generic\edit_template.html:23 #: .\cookbook\templates\generic\new_template.html:23 -#: .\cookbook\templates\include\log_cooking.html:30 #: .\cookbook\templates\settings.html:70 .\cookbook\templates\settings.html:112 #: .\cookbook\templates\settings.html:130 #: .\cookbook\templates\settings.html:202 @@ -1246,7 +1229,7 @@ msgstr "" msgid "Recipe Books" msgstr "Libri di Ricette" -#: .\cookbook\templates\export.html:6 .\cookbook\templates\test2.html:6 +#: .\cookbook\templates\export.html:8 .\cookbook\templates\test2.html:6 msgid "Export Recipes" msgstr "Esporta Ricette" @@ -1370,19 +1353,12 @@ msgstr "Importa Ricette" msgid "Import" msgstr "Importa" -#: .\cookbook\templates\include\log_cooking.html:9 -msgid "Log Recipe Cooking" -msgstr "Aggiungi al registro delle ricette cucinate" +#: .\cookbook\templates\include\recipe_open_modal.html:7 +#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 +#: .\cookbook\views\new.py:53 +msgid "Recipe" +msgstr "Ricetta" -#: .\cookbook\templates\include\log_cooking.html:15 -msgid "All fields are optional and can be left empty." -msgstr "Tutti i campi sono opzionali e possono essere lasciati vuoti." - -#: .\cookbook\templates\include\log_cooking.html:21 -msgid "Rating" -msgstr "Valutazione" - -#: .\cookbook\templates\include\log_cooking.html:29 #: .\cookbook\templates\include\recipe_open_modal.html:18 msgid "Close" msgstr "Chiudi" @@ -1492,7 +1468,9 @@ msgstr "" #: .\cookbook\templates\markdown_info.html:57 #: .\cookbook\templates\markdown_info.html:73 -msgid "or by leaving a blank line inbetween." +#, fuzzy +#| msgid "or by leaving a blank line inbetween." +msgid "or by leaving a blank line in between." msgstr "o lasciando una riga vuota in mezzo." #: .\cookbook\templates\markdown_info.html:59 @@ -1515,8 +1493,12 @@ msgid "Lists" msgstr "Liste" #: .\cookbook\templates\markdown_info.html:85 +#, fuzzy +#| msgid "" +#| "Lists can ordered or unorderd. It is important to leave a blank line " +#| "before the list!" msgid "" -"Lists can ordered or unorderd. It is important to leave a blank line " +"Lists can ordered or unordered. It is important to leave a blank line " "before the list!" msgstr "" "Le liste possono essere ordinate o no. È importante lasciare una riga " @@ -1805,7 +1787,7 @@ msgstr "" msgid "" " \n" " Simple searches ignore punctuation and common words such as " -"'the', 'a', 'and'. And will treat seperate words as required.\n" +"'the', 'a', 'and'. And will treat separate 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" @@ -1830,7 +1812,7 @@ msgid "" "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) " +" 'or' is recognized 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" @@ -1860,7 +1842,7 @@ msgid "" "'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 " +"will find misspelled words such as 'sandwhich' that would be missed by other " "methods.\n" " " msgstr "" @@ -2137,7 +2119,9 @@ msgid "Finished" msgstr "Completato" #: .\cookbook\templates\shopping_list.html:267 -msgid "You are offline, shopping list might not syncronize." +#, fuzzy +#| msgid "You are offline, shopping list might not syncronize." +msgid "You are offline, shopping list might not synchronize." msgstr "Sei offline: la lista della spesa potrebbe non sincronizzarsi." #: .\cookbook\templates\shopping_list.html:318 @@ -2423,6 +2407,14 @@ msgstr "URL" msgid "App" msgstr "App" +#: .\cookbook\templates\url_import.html:44 +msgid "Text" +msgstr "Testo" + +#: .\cookbook\templates\url_import.html:46 +msgid "File" +msgstr "File" + #: .\cookbook\templates\url_import.html:64 msgid "Enter website URL" msgstr "Inserisci l'indirizzo del sito web" @@ -2596,181 +2588,182 @@ msgstr "Issues (Problemi aperti) su GitHub" msgid "Recipe Markup Specification" msgstr "Specifica di Markup della ricetta" -#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:170 +#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:174 msgid "Parameter updated_at incorrectly formatted" msgstr "Il parametro updated_at non è formattato correttamente" -#: .\cookbook\views\api.py:190 .\cookbook\views\api.py:291 +#: .\cookbook\views\api.py:194 .\cookbook\views\api.py:295 #, python-brace-format msgid "No {self.basename} with id {pk} exists" msgstr "Non esiste nessun {self.basename} con id {pk}" -#: .\cookbook\views\api.py:194 +#: .\cookbook\views\api.py:198 msgid "Cannot merge with the same object!" msgstr "Non è possibile unirlo con lo stesso oggetto!" -#: .\cookbook\views\api.py:201 +#: .\cookbook\views\api.py:205 #, python-brace-format msgid "No {self.basename} with id {target} exists" msgstr "Non esiste nessun {self.basename} con id {target}" -#: .\cookbook\views\api.py:206 +#: .\cookbook\views\api.py:210 msgid "Cannot merge with child object!" msgstr "Non è possibile unirlo con un oggetto secondario!" -#: .\cookbook\views\api.py:239 +#: .\cookbook\views\api.py:243 #, python-brace-format msgid "{source.name} was merged successfully with {target.name}" msgstr "{source.name} è stato unito con successo a {target.name}" -#: .\cookbook\views\api.py:244 +#: .\cookbook\views\api.py:248 #, python-brace-format msgid "An error occurred attempting to merge {source.name} with {target.name}" msgstr "" "Si è verificato un errore durante l'unione di {source.name} con {target.name}" -#: .\cookbook\views\api.py:300 +#: .\cookbook\views\api.py:304 #, python-brace-format msgid "{child.name} was moved successfully to the root." msgstr "{child.name} è stato spostato con successo alla radice." -#: .\cookbook\views\api.py:303 .\cookbook\views\api.py:321 +#: .\cookbook\views\api.py:307 .\cookbook\views\api.py:325 msgid "An error occurred attempting to move " msgstr "Si è verificato un errore durante lo spostamento " -#: .\cookbook\views\api.py:306 +#: .\cookbook\views\api.py:310 msgid "Cannot move an object to itself!" msgstr "Non è possibile muovere un oggetto a sé stesso!" -#: .\cookbook\views\api.py:312 +#: .\cookbook\views\api.py:316 #, python-brace-format msgid "No {self.basename} with id {parent} exists" msgstr "Non esiste nessun {self.basename} con id {parent}" -#: .\cookbook\views\api.py:318 +#: .\cookbook\views\api.py:322 #, python-brace-format msgid "{child.name} was moved successfully to parent {parent.name}" msgstr "{child.name} è stato spostato con successo al primario {parent.name}" -#: .\cookbook\views\api.py:470 +#: .\cookbook\views\api.py:474 #, python-brace-format msgid "{obj.name} was removed from the shopping list." msgstr "" -#: .\cookbook\views\api.py:475 .\cookbook\views\api.py:726 +#: .\cookbook\views\api.py:479 .\cookbook\views\api.py:729 +#: .\cookbook\views\api.py:742 #, python-brace-format msgid "{obj.name} was added to the shopping list." msgstr "" -#: .\cookbook\views\api.py:587 +#: .\cookbook\views\api.py:591 msgid "ID of recipe a step is part of. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:588 +#: .\cookbook\views\api.py:592 msgid "Query string matched (fuzzy) against object name." msgstr "" -#: .\cookbook\views\api.py:631 +#: .\cookbook\views\api.py:635 msgid "" "Query string matched (fuzzy) against recipe name. In the future also " "fulltext search." msgstr "" -#: .\cookbook\views\api.py:632 +#: .\cookbook\views\api.py:636 msgid "ID of keyword a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:633 +#: .\cookbook\views\api.py:637 msgid "ID of food a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:634 +#: .\cookbook\views\api.py:638 msgid "ID of unit a recipe should have." msgstr "" -#: .\cookbook\views\api.py:635 +#: .\cookbook\views\api.py:639 msgid "Rating a recipe should have. [0 - 5]" msgstr "" -#: .\cookbook\views\api.py:636 +#: .\cookbook\views\api.py:640 msgid "ID of book a recipe should be in. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:637 +#: .\cookbook\views\api.py:641 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided keywords." msgstr "" -#: .\cookbook\views\api.py:638 +#: .\cookbook\views\api.py:642 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided foods." msgstr "" -#: .\cookbook\views\api.py:639 +#: .\cookbook\views\api.py:643 msgid "" "If recipe should be in all (AND=false) or any (OR=true) of the " "provided books." msgstr "" -#: .\cookbook\views\api.py:640 +#: .\cookbook\views\api.py:644 msgid "If only internal recipes should be returned. [true/false]" msgstr "" -#: .\cookbook\views\api.py:641 +#: .\cookbook\views\api.py:645 msgid "Returns the results in randomized order. [true/false]" msgstr "" -#: .\cookbook\views\api.py:642 +#: .\cookbook\views\api.py:646 msgid "Returns new results first in search results. [true/false]" msgstr "" -#: .\cookbook\views\api.py:768 +#: .\cookbook\views\api.py:784 msgid "" "Returns the shopping list entry with a primary key of id. Multiple values " "allowed." msgstr "" -#: .\cookbook\views\api.py:771 +#: .\cookbook\views\api.py:787 msgid "" "Filter shopping list entries on checked. [true, false, both, recent]
- recent includes unchecked items and recently completed items." msgstr "" -#: .\cookbook\views\api.py:773 +#: .\cookbook\views\api.py:789 msgid "Returns the shopping list entries sorted by supermarket category order." msgstr "" -#: .\cookbook\views\api.py:922 .\cookbook\views\data.py:42 +#: .\cookbook\views\api.py:949 .\cookbook\views\data.py:42 #: .\cookbook\views\edit.py:129 .\cookbook\views\new.py:95 msgid "This feature is not yet available in the hosted version of tandoor!" msgstr "" "Questa funzione non è ancora disponibile nella versione hostata di Tandor!" -#: .\cookbook\views\api.py:944 +#: .\cookbook\views\api.py:971 msgid "Sync successful!" msgstr "Sincronizzazione completata con successo!" -#: .\cookbook\views\api.py:949 +#: .\cookbook\views\api.py:976 msgid "Error synchronizing with Storage" msgstr "Errore di sincronizzazione con questo backend" -#: .\cookbook\views\api.py:1028 +#: .\cookbook\views\api.py:1055 msgid "Nothing to do." msgstr "Nulla da fare." -#: .\cookbook\views\api.py:1043 +#: .\cookbook\views\api.py:1070 msgid "The requested site provided malformed data and cannot be read." msgstr "" "Il sito richiesto ha fornito dati in formato non corretto e non può essere " "letto." -#: .\cookbook\views\api.py:1050 +#: .\cookbook\views\api.py:1077 msgid "The requested page could not be found." msgstr "La pagina richiesta non è stata trovata." -#: .\cookbook\views\api.py:1068 +#: .\cookbook\views\api.py:1095 msgid "" "The requested site does not provide any recognized data format to import the " "recipe from." @@ -2778,26 +2771,28 @@ msgstr "" "Il sito richiesto non fornisce un formato di dati riconosciuto da cui " "importare la ricetta." -#: .\cookbook\views\api.py:1082 +#: .\cookbook\views\api.py:1109 msgid "Connection Refused." msgstr "" -#: .\cookbook\views\api.py:1091 -msgid "No useable data could be found." +#: .\cookbook\views\api.py:1118 +#, fuzzy +#| msgid "No useable data could be found." +msgid "No usable data could be found." msgstr "Nessuna informazione utilizzabile è stata trovata." -#: .\cookbook\views\api.py:1107 +#: .\cookbook\views\api.py:1134 msgid "I couldn't find anything to do." msgstr "Non è stato trovato nulla da fare." #: .\cookbook\views\data.py:34 .\cookbook\views\data.py:129 -#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:80 +#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:81 #: .\cookbook\views\new.py:33 msgid "You have reached the maximum number of recipes for your space." msgstr "Hai raggiunto il numero massimo di ricette nella tua istanza." #: .\cookbook\views\data.py:38 .\cookbook\views\data.py:133 -#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:84 +#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:85 #: .\cookbook\views\new.py:37 msgid "You have more users than allowed in your space." msgstr "Hai più utenti di quanti permessi nella tua istanza." @@ -2860,20 +2855,16 @@ msgstr "Modifiche salvate!" msgid "Error saving changes!" msgstr "Si è verificato un errore durante il salvataggio delle modifiche!" -#: .\cookbook\views\import_export.py:106 +#: .\cookbook\views\import_export.py:107 .\cookbook\views\import_export.py:143 msgid "Importing is not implemented for this provider" msgstr "Questo provider non permette l'importazione" -#: .\cookbook\views\import_export.py:127 +#: .\cookbook\views\import_export.py:130 msgid "" "The PDF Exporter is not enabled on this instance as it is still in an " "experimental state." msgstr "" -#: .\cookbook\views\import_export.py:132 -msgid "Exporting is not implemented for this provider" -msgstr "Questo provider non permette l'esportazione" - #: .\cookbook\views\lists.py:25 msgid "Import Log" msgstr "Registro importazioni" @@ -3002,7 +2993,7 @@ msgstr "" msgid "Fuzzy search is not compatible with this search method!" msgstr "La ricerca Fuzzy non è compatibile con questo metodo di ricerca!" -#: .\cookbook\views\views.py:470 +#: .\cookbook\views\views.py:473 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 " @@ -3012,32 +3003,32 @@ msgstr "" "utente! Se hai dimenticato le credenziali del tuo super utente controlla la " "documentazione di Django per resettare le password." -#: .\cookbook\views\views.py:477 +#: .\cookbook\views\views.py:480 msgid "Passwords dont match!" msgstr "Le password non combaciano!" -#: .\cookbook\views\views.py:493 +#: .\cookbook\views\views.py:496 msgid "User has been created, please login!" msgstr "L'utente è stato creato e ora può essere usato per il login!" -#: .\cookbook\views\views.py:509 +#: .\cookbook\views\views.py:512 msgid "Malformed Invite Link supplied!" msgstr "È stato fornito un link di invito non valido!" -#: .\cookbook\views\views.py:516 +#: .\cookbook\views\views.py:519 msgid "You are already member of a space and therefore cannot join this one." msgstr "" "Sei già membro di una istanza e quindi non puoi entrare in quest'altra." -#: .\cookbook\views\views.py:527 +#: .\cookbook\views\views.py:530 msgid "Successfully joined space." msgstr "Sei entrato a far parte di questa istanza." -#: .\cookbook\views\views.py:533 +#: .\cookbook\views\views.py:536 msgid "Invite Link not valid or already used!" msgstr "Il link di invito non è valido o è stato già usato!" -#: .\cookbook\views\views.py:614 +#: .\cookbook\views\views.py:617 msgid "" "Reporting share links is not enabled for this instance. Please notify the " "page administrator to report problems." @@ -3045,7 +3036,7 @@ msgstr "" "La segnalazione dei link di condivisione non è abilitata per questa istanza. " "Notifica l'amministratore per segnalare i problemi." -#: .\cookbook\views\views.py:620 +#: .\cookbook\views\views.py:623 msgid "" "Recipe sharing link has been disabled! For additional information please " "contact the page administrator." @@ -3053,6 +3044,21 @@ msgstr "" "Il link per la condivisione delle ricette è stato disabilitato! Per maggiori " "informazioni contatta l'amministratore." +#~ msgid "Time" +#~ msgstr "Tempo" + +#~ msgid "Log Recipe Cooking" +#~ msgstr "Aggiungi al registro delle ricette cucinate" + +#~ msgid "All fields are optional and can be left empty." +#~ msgstr "Tutti i campi sono opzionali e possono essere lasciati vuoti." + +#~ msgid "Rating" +#~ msgstr "Valutazione" + +#~ msgid "Exporting is not implemented for this provider" +#~ msgstr "Questo provider non permette l'esportazione" + #, python-brace-format #~ msgid "No {self.basename} with id {child} exists" #~ msgstr "Non esiste nessun {self.basename} con id {child}" diff --git a/cookbook/locale/lv/LC_MESSAGES/django.po b/cookbook/locale/lv/LC_MESSAGES/django.po index 38bc5d750..03a6165e0 100644 --- a/cookbook/locale/lv/LC_MESSAGES/django.po +++ b/cookbook/locale/lv/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: 2020-06-02 19:28+0000\n" "Last-Translator: vabene1111 , 2021\n" "Language-Team: Latvian (https://www.transifex.com/django-recipes/" @@ -302,7 +302,7 @@ msgstr "" #: .\cookbook\forms.py:445 msgid "" "Select type method of search. Click here for " -"full desciption of choices." +"full description of choices." msgstr "" #: .\cookbook\forms.py:446 @@ -360,7 +360,7 @@ msgid "Partial Match" msgstr "" #: .\cookbook\forms.py:464 -msgid "Starts Wtih" +msgid "Starts With" msgstr "" #: .\cookbook\forms.py:465 @@ -512,42 +512,38 @@ msgstr "Jums nav nepieciešamo atļauju, lai apskatītu šo lapu!" msgid "You cannot interact with this object as it is not owned by you!" msgstr "Jūs nevarat mainīt šo objektu, jo tas nepieder jums!" -#: .\cookbook\helper\recipe_search.py:473 +#: .\cookbook\helper\recipe_search.py:486 msgid "One of queryset or hash_key must be provided" msgstr "" -#: .\cookbook\helper\shopping_helper.py:54 +#: .\cookbook\helper\shopping_helper.py:148 #, fuzzy #| msgid "You must provide at least a recipe or a title." -msgid "You must supply a recipe or mealplan" +msgid "You must supply a servings size" msgstr "Jums jānorāda vismaz recepte vai nosaukums." -#: .\cookbook\helper\shopping_helper.py:58 -msgid "You must supply a created_by" -msgstr "" - #: .\cookbook\helper\template_helper.py:61 #: .\cookbook\helper\template_helper.py:63 msgid "Could not parse template code." msgstr "" -#: .\cookbook\integration\integration.py:200 +#: .\cookbook\integration\integration.py:213 msgid "" "Importer expected a .zip file. Did you choose the correct importer type for " "your data ?" msgstr "" -#: .\cookbook\integration\integration.py:203 +#: .\cookbook\integration\integration.py:216 msgid "" "An unexpected error occurred during the import. Please make sure you have " "uploaded a valid file." msgstr "" -#: .\cookbook\integration\integration.py:208 +#: .\cookbook\integration\integration.py:221 msgid "The following recipes were ignored because they already existed:" msgstr "" -#: .\cookbook\integration\integration.py:212 +#: .\cookbook\integration\integration.py:225 #, fuzzy, python-format #| msgid "Imported new recipe!" msgid "Imported %s recipes." @@ -570,7 +566,6 @@ msgid "Source" msgstr "" #: .\cookbook\integration\saffron.py:23 -#: .\cookbook\templates\include\log_cooking.html:18 #: .\cookbook\templates\url_import.html:231 #: .\cookbook\templates\url_import.html:462 msgid "Servings" @@ -599,7 +594,7 @@ msgid "Rebuilds full text search index on Recipe" msgstr "" #: .\cookbook\management\commands\rebuildindex.py:18 -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 "" #: .\cookbook\management\commands\rebuildindex.py:29 @@ -661,101 +656,80 @@ msgstr "Liels" msgid "New" msgstr "Jauns" -#: .\cookbook\models.py:512 +#: .\cookbook\models.py:513 msgid " is part of a recipe step and cannot be deleted" msgstr "" -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:44 -msgid "Text" -msgstr "Teskts" - -#: .\cookbook\models.py:586 -msgid "Time" -msgstr "Laiks" - -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:46 -#, fuzzy -#| msgid "File ID" -msgid "File" -msgstr "Faila ID" - -#: .\cookbook\models.py:586 -#: .\cookbook\templates\include\recipe_open_modal.html:7 -#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 -#: .\cookbook\views\new.py:53 -msgid "Recipe" -msgstr "Recepte" - -#: .\cookbook\models.py:1041 .\cookbook\templates\search_info.html:28 +#: .\cookbook\models.py:1065 .\cookbook\templates\search_info.html:28 msgid "Simple" msgstr "" -#: .\cookbook\models.py:1042 .\cookbook\templates\search_info.html:33 +#: .\cookbook\models.py:1066 .\cookbook\templates\search_info.html:33 msgid "Phrase" msgstr "" -#: .\cookbook\models.py:1043 .\cookbook\templates\search_info.html:38 +#: .\cookbook\models.py:1067 .\cookbook\templates\search_info.html:38 msgid "Web" msgstr "" -#: .\cookbook\models.py:1044 .\cookbook\templates\search_info.html:47 +#: .\cookbook\models.py:1068 .\cookbook\templates\search_info.html:47 msgid "Raw" msgstr "" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 #, fuzzy #| msgid "Food" msgid "Food Alias" msgstr "Ēdiens" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 #, fuzzy #| msgid "Units" msgid "Unit Alias" msgstr "Vienības" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 #, fuzzy #| msgid "Keywords" msgid "Keyword Alias" msgstr "Atslēgvārdi" -#: .\cookbook\serializer.py:175 +#: .\cookbook\serializer.py:180 msgid "A user is required" msgstr "" -#: .\cookbook\serializer.py:195 +#: .\cookbook\serializer.py:200 msgid "File uploads are not enabled for this Space." msgstr "" -#: .\cookbook\serializer.py:206 +#: .\cookbook\serializer.py:211 msgid "You have reached your file upload limit." msgstr "" -#: .\cookbook\serializer.py:962 +#: .\cookbook\serializer.py:977 msgid "Existing shopping list to update" msgstr "" -#: .\cookbook\serializer.py:964 +#: .\cookbook\serializer.py:979 msgid "" "List of ingredient IDs from the recipe to add, if not provided all " "ingredients will be added." msgstr "" -#: .\cookbook\serializer.py:965 +#: .\cookbook\serializer.py:980 msgid "" "Providing a list_recipe ID and servings of 0 will delete that shopping list." msgstr "" -#: .\cookbook\serializer.py:973 +#: .\cookbook\serializer.py:988 msgid "Amount of food to add to the shopping list" msgstr "" -#: .\cookbook\serializer.py:974 +#: .\cookbook\serializer.py:989 msgid "ID of unit to use for the shopping list" msgstr "" -#: .\cookbook\serializer.py:975 +#: .\cookbook\serializer.py:990 msgid "When set to true will delete all food from active shopping lists." msgstr "" @@ -1122,8 +1096,8 @@ msgstr "Rediģēt vairākus" msgid "History" msgstr "Vēsture" -#: .\cookbook\templates\base.html:228 .\cookbook\templates\export.html:14 -#: .\cookbook\templates\export.html:20 +#: .\cookbook\templates\base.html:228 +#: .\cookbook\templates\export_response.html:7 #: .\cookbook\templates\shopping_list.html:310 #: .\cookbook\templates\test2.html:14 .\cookbook\templates\test2.html:20 msgid "Export" @@ -1217,7 +1191,6 @@ msgstr "Ceļam jābūt šādā formātā" #: .\cookbook\templates\forms\edit_import_recipe.html:14 #: .\cookbook\templates\generic\edit_template.html:23 #: .\cookbook\templates\generic\new_template.html:23 -#: .\cookbook\templates\include\log_cooking.html:30 #: .\cookbook\templates\settings.html:70 .\cookbook\templates\settings.html:112 #: .\cookbook\templates\settings.html:130 #: .\cookbook\templates\settings.html:202 @@ -1264,7 +1237,7 @@ msgstr "" msgid "Recipe Books" msgstr "Recepšu grāmatas" -#: .\cookbook\templates\export.html:6 .\cookbook\templates\test2.html:6 +#: .\cookbook\templates\export.html:8 .\cookbook\templates\test2.html:6 msgid "Export Recipes" msgstr "Eksportēt receptes" @@ -1391,19 +1364,12 @@ msgstr "Importēt receptes" msgid "Import" msgstr "Importēt" -#: .\cookbook\templates\include\log_cooking.html:9 -msgid "Log Recipe Cooking" -msgstr "Saglabāt recepšu pagatavošanu žurnālā" +#: .\cookbook\templates\include\recipe_open_modal.html:7 +#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 +#: .\cookbook\views\new.py:53 +msgid "Recipe" +msgstr "Recepte" -#: .\cookbook\templates\include\log_cooking.html:15 -msgid "All fields are optional and can be left empty." -msgstr "Visi lauki nav obligāti, un tos var atstāt tukšus." - -#: .\cookbook\templates\include\log_cooking.html:21 -msgid "Rating" -msgstr "Vērtējums" - -#: .\cookbook\templates\include\log_cooking.html:29 #: .\cookbook\templates\include\recipe_open_modal.html:18 msgid "Close" msgstr "Aizvērt" @@ -1517,7 +1483,9 @@ msgstr "" #: .\cookbook\templates\markdown_info.html:57 #: .\cookbook\templates\markdown_info.html:73 -msgid "or by leaving a blank line inbetween." +#, fuzzy +#| msgid "or by leaving a blank line inbetween." +msgid "or by leaving a blank line in between." msgstr "vai atstājot tukšu rindu starp tekstu." #: .\cookbook\templates\markdown_info.html:59 @@ -1540,8 +1508,12 @@ msgid "Lists" msgstr "Saraksti" #: .\cookbook\templates\markdown_info.html:85 +#, fuzzy +#| msgid "" +#| "Lists can ordered or unorderd. It is important to leave a blank line " +#| "before the list!" msgid "" -"Lists can ordered or unorderd. It is important to leave a blank line " +"Lists can ordered or unordered. It is important to leave a blank line " "before the list!" msgstr "" "Saraksti var tikt numurēti vai nenumurēti. Ir svarīgi atstāt tukšu rindu " @@ -1817,7 +1789,7 @@ msgstr "" msgid "" " \n" " Simple searches ignore punctuation and common words such as " -"'the', 'a', 'and'. And will treat seperate words as required.\n" +"'the', 'a', 'and'. And will treat separate 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" @@ -1842,7 +1814,7 @@ msgid "" "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) " +" 'or' is recognized 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" @@ -1872,7 +1844,7 @@ msgid "" "'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 " +"will find misspelled words such as 'sandwhich' that would be missed by other " "methods.\n" " " msgstr "" @@ -2155,7 +2127,9 @@ msgid "Finished" msgstr "Pabeigts" #: .\cookbook\templates\shopping_list.html:267 -msgid "You are offline, shopping list might not syncronize." +#, fuzzy +#| msgid "You are offline, shopping list might not syncronize." +msgid "You are offline, shopping list might not synchronize." msgstr "Jūs esat bezsaistē. Iepirkumu saraksts netiek sinhronizēts." #: .\cookbook\templates\shopping_list.html:318 @@ -2457,6 +2431,16 @@ msgstr "" msgid "App" msgstr "" +#: .\cookbook\templates\url_import.html:44 +msgid "Text" +msgstr "Teskts" + +#: .\cookbook\templates\url_import.html:46 +#, fuzzy +#| msgid "File ID" +msgid "File" +msgstr "Faila ID" + #: .\cookbook\templates\url_import.html:64 msgid "Enter website URL" msgstr "Ievadiet vietnes URL" @@ -2645,179 +2629,180 @@ msgstr "GitHub Issues" msgid "Recipe Markup Specification" msgstr "Recepšu Markup specifikācija" -#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:170 +#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:174 #, fuzzy #| msgid "Parameter filter_list incorrectly formatted" msgid "Parameter updated_at incorrectly formatted" msgstr "Parametrs filter_list ir nepareizi formatēts" -#: .\cookbook\views\api.py:190 .\cookbook\views\api.py:291 +#: .\cookbook\views\api.py:194 .\cookbook\views\api.py:295 #, python-brace-format msgid "No {self.basename} with id {pk} exists" msgstr "" -#: .\cookbook\views\api.py:194 +#: .\cookbook\views\api.py:198 msgid "Cannot merge with the same object!" msgstr "" -#: .\cookbook\views\api.py:201 +#: .\cookbook\views\api.py:205 #, python-brace-format msgid "No {self.basename} with id {target} exists" msgstr "" -#: .\cookbook\views\api.py:206 +#: .\cookbook\views\api.py:210 msgid "Cannot merge with child object!" msgstr "" -#: .\cookbook\views\api.py:239 +#: .\cookbook\views\api.py:243 #, python-brace-format msgid "{source.name} was merged successfully with {target.name}" msgstr "" -#: .\cookbook\views\api.py:244 +#: .\cookbook\views\api.py:248 #, python-brace-format msgid "An error occurred attempting to merge {source.name} with {target.name}" msgstr "" -#: .\cookbook\views\api.py:300 +#: .\cookbook\views\api.py:304 #, python-brace-format msgid "{child.name} was moved successfully to the root." msgstr "" -#: .\cookbook\views\api.py:303 .\cookbook\views\api.py:321 +#: .\cookbook\views\api.py:307 .\cookbook\views\api.py:325 msgid "An error occurred attempting to move " msgstr "" -#: .\cookbook\views\api.py:306 +#: .\cookbook\views\api.py:310 msgid "Cannot move an object to itself!" msgstr "" -#: .\cookbook\views\api.py:312 +#: .\cookbook\views\api.py:316 #, python-brace-format msgid "No {self.basename} with id {parent} exists" msgstr "" -#: .\cookbook\views\api.py:318 +#: .\cookbook\views\api.py:322 #, python-brace-format msgid "{child.name} was moved successfully to parent {parent.name}" msgstr "" -#: .\cookbook\views\api.py:470 +#: .\cookbook\views\api.py:474 #, python-brace-format msgid "{obj.name} was removed from the shopping list." msgstr "" -#: .\cookbook\views\api.py:475 .\cookbook\views\api.py:726 +#: .\cookbook\views\api.py:479 .\cookbook\views\api.py:729 +#: .\cookbook\views\api.py:742 #, python-brace-format msgid "{obj.name} was added to the shopping list." msgstr "" -#: .\cookbook\views\api.py:587 +#: .\cookbook\views\api.py:591 msgid "ID of recipe a step is part of. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:588 +#: .\cookbook\views\api.py:592 msgid "Query string matched (fuzzy) against object name." msgstr "" -#: .\cookbook\views\api.py:631 +#: .\cookbook\views\api.py:635 msgid "" "Query string matched (fuzzy) against recipe name. In the future also " "fulltext search." msgstr "" -#: .\cookbook\views\api.py:632 +#: .\cookbook\views\api.py:636 msgid "ID of keyword a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:633 +#: .\cookbook\views\api.py:637 msgid "ID of food a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:634 +#: .\cookbook\views\api.py:638 msgid "ID of unit a recipe should have." msgstr "" -#: .\cookbook\views\api.py:635 +#: .\cookbook\views\api.py:639 msgid "Rating a recipe should have. [0 - 5]" msgstr "" -#: .\cookbook\views\api.py:636 +#: .\cookbook\views\api.py:640 msgid "ID of book a recipe should be in. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:637 +#: .\cookbook\views\api.py:641 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided keywords." msgstr "" -#: .\cookbook\views\api.py:638 +#: .\cookbook\views\api.py:642 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided foods." msgstr "" -#: .\cookbook\views\api.py:639 +#: .\cookbook\views\api.py:643 msgid "" "If recipe should be in all (AND=false) or any (OR=true) of the " "provided books." msgstr "" -#: .\cookbook\views\api.py:640 +#: .\cookbook\views\api.py:644 msgid "If only internal recipes should be returned. [true/false]" msgstr "" -#: .\cookbook\views\api.py:641 +#: .\cookbook\views\api.py:645 msgid "Returns the results in randomized order. [true/false]" msgstr "" -#: .\cookbook\views\api.py:642 +#: .\cookbook\views\api.py:646 msgid "Returns new results first in search results. [true/false]" msgstr "" -#: .\cookbook\views\api.py:768 +#: .\cookbook\views\api.py:784 msgid "" "Returns the shopping list entry with a primary key of id. Multiple values " "allowed." msgstr "" -#: .\cookbook\views\api.py:771 +#: .\cookbook\views\api.py:787 msgid "" "Filter shopping list entries on checked. [true, false, both, recent]
- recent includes unchecked items and recently completed items." msgstr "" -#: .\cookbook\views\api.py:773 +#: .\cookbook\views\api.py:789 msgid "Returns the shopping list entries sorted by supermarket category order." msgstr "" -#: .\cookbook\views\api.py:922 .\cookbook\views\data.py:42 +#: .\cookbook\views\api.py:949 .\cookbook\views\data.py:42 #: .\cookbook\views\edit.py:129 .\cookbook\views\new.py:95 msgid "This feature is not yet available in the hosted version of tandoor!" msgstr "" -#: .\cookbook\views\api.py:944 +#: .\cookbook\views\api.py:971 msgid "Sync successful!" msgstr "Sinhronizācija ir veiksmīga!" -#: .\cookbook\views\api.py:949 +#: .\cookbook\views\api.py:976 msgid "Error synchronizing with Storage" msgstr "Sinhronizējot ar krātuvi, radās kļūda" -#: .\cookbook\views\api.py:1028 +#: .\cookbook\views\api.py:1055 msgid "Nothing to do." msgstr "" -#: .\cookbook\views\api.py:1043 +#: .\cookbook\views\api.py:1070 msgid "The requested site provided malformed data and cannot be read." msgstr "Pieprasītā vietne sniedza nepareizus datus, kurus nevar nolasīt." -#: .\cookbook\views\api.py:1050 +#: .\cookbook\views\api.py:1077 msgid "The requested page could not be found." msgstr "Pieprasīto lapu nevarēja atrast." -#: .\cookbook\views\api.py:1068 +#: .\cookbook\views\api.py:1095 msgid "" "The requested site does not provide any recognized data format to import the " "recipe from." @@ -2825,28 +2810,28 @@ msgstr "" "Pieprasītajā vietnē nav norādīts atzīts datu formāts, no kura varētu " "importēt recepti." -#: .\cookbook\views\api.py:1082 +#: .\cookbook\views\api.py:1109 msgid "Connection Refused." msgstr "" -#: .\cookbook\views\api.py:1091 +#: .\cookbook\views\api.py:1118 #, fuzzy #| msgid "The requested page could not be found." -msgid "No useable data could be found." +msgid "No usable data could be found." msgstr "Pieprasīto lapu nevarēja atrast." -#: .\cookbook\views\api.py:1107 +#: .\cookbook\views\api.py:1134 msgid "I couldn't find anything to do." msgstr "" #: .\cookbook\views\data.py:34 .\cookbook\views\data.py:129 -#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:80 +#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:81 #: .\cookbook\views\new.py:33 msgid "You have reached the maximum number of recipes for your space." msgstr "" #: .\cookbook\views\data.py:38 .\cookbook\views\data.py:133 -#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:84 +#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:85 #: .\cookbook\views\new.py:37 msgid "You have more users than allowed in your space." msgstr "" @@ -2907,20 +2892,16 @@ msgstr "Izmaiņas saglabātas!" msgid "Error saving changes!" msgstr "Saglabājot izmaiņas, radās kļūda!" -#: .\cookbook\views\import_export.py:106 +#: .\cookbook\views\import_export.py:107 .\cookbook\views\import_export.py:143 msgid "Importing is not implemented for this provider" msgstr "" -#: .\cookbook\views\import_export.py:127 +#: .\cookbook\views\import_export.py:130 msgid "" "The PDF Exporter is not enabled on this instance as it is still in an " "experimental state." msgstr "" -#: .\cookbook\views\import_export.py:132 -msgid "Exporting is not implemented for this provider" -msgstr "" - #: .\cookbook\views\lists.py:25 msgid "Import Log" msgstr "Importēšanas žurnāls" @@ -3041,7 +3022,7 @@ msgstr "" msgid "Fuzzy search is not compatible with this search method!" msgstr "" -#: .\cookbook\views\views.py:470 +#: .\cookbook\views\views.py:473 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 " @@ -3051,44 +3032,56 @@ msgstr "" "aizmirsis sava superlietotāja informāciju, lūdzu, skatiet Django " "dokumentāciju par paroļu atiestatīšanu." -#: .\cookbook\views\views.py:477 +#: .\cookbook\views\views.py:480 msgid "Passwords dont match!" msgstr "Paroles nesakrīt!" -#: .\cookbook\views\views.py:493 +#: .\cookbook\views\views.py:496 msgid "User has been created, please login!" msgstr "Lietotājs ir izveidots, lūdzu, piesakieties!" -#: .\cookbook\views\views.py:509 +#: .\cookbook\views\views.py:512 msgid "Malformed Invite Link supplied!" msgstr "Nepareiza uzaicinājuma saite!" -#: .\cookbook\views\views.py:516 +#: .\cookbook\views\views.py:519 #, fuzzy #| msgid "You are not logged in and therefore cannot view this page!" msgid "You are already member of a space and therefore cannot join this one." msgstr "Jūs neesat pieteicies un tāpēc nevarat skatīt šo lapu!" -#: .\cookbook\views\views.py:527 +#: .\cookbook\views\views.py:530 msgid "Successfully joined space." msgstr "" -#: .\cookbook\views\views.py:533 +#: .\cookbook\views\views.py:536 msgid "Invite Link not valid or already used!" msgstr "Uzaicinājuma saite nav derīga vai jau izmantota!" -#: .\cookbook\views\views.py:614 +#: .\cookbook\views\views.py:617 msgid "" "Reporting share links is not enabled for this instance. Please notify the " "page administrator to report problems." msgstr "" -#: .\cookbook\views\views.py:620 +#: .\cookbook\views\views.py:623 msgid "" "Recipe sharing link has been disabled! For additional information please " "contact the page administrator." msgstr "" +#~ msgid "Time" +#~ msgstr "Laiks" + +#~ msgid "Log Recipe Cooking" +#~ msgstr "Saglabāt recepšu pagatavošanu žurnālā" + +#~ msgid "All fields are optional and can be left empty." +#~ msgstr "Visi lauki nav obligāti, un tos var atstāt tukšus." + +#~ msgid "Rating" +#~ msgstr "Vērtējums" + #~ msgid "New Unit" #~ msgstr "Jaunā vienība" diff --git a/cookbook/locale/nl/LC_MESSAGES/django.po b/cookbook/locale/nl/LC_MESSAGES/django.po index ec5fbfb0d..b2197dd5c 100644 --- a/cookbook/locale/nl/LC_MESSAGES/django.po +++ b/cookbook/locale/nl/LC_MESSAGES/django.po @@ -12,11 +12,11 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: 2022-02-09 01:31+0000\n" "Last-Translator: Jesse \n" -"Language-Team: Dutch \n" +"Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -291,9 +291,13 @@ msgstr "" "(lage waarden betekenen bijvoorbeeld dat meer typefouten genegeerd worden)." #: .\cookbook\forms.py:445 +#, fuzzy +#| msgid "" +#| "Select type method of search. Click here " +#| "for full desciption of choices." msgid "" "Select type method of search. Click here for " -"full desciption of choices." +"full description of choices." msgstr "" "Selecteer zoekmethode. Klik hier voor een " "beschrijving van de keuzes." @@ -364,7 +368,9 @@ msgid "Partial Match" msgstr "Gedeeltelijke overeenkomst" #: .\cookbook\forms.py:464 -msgid "Starts Wtih" +#, fuzzy +#| msgid "Starts Wtih" +msgid "Starts With" msgstr "Begint met" #: .\cookbook\forms.py:465 @@ -518,16 +524,14 @@ msgid "You cannot interact with this object as it is not owned by you!" msgstr "" "Interactie met dit object is niet mogelijk omdat je niet de eigenaar bent!" -#: .\cookbook\helper\recipe_search.py:473 +#: .\cookbook\helper\recipe_search.py:486 msgid "One of queryset or hash_key must be provided" msgstr "Er moet een queryset of hash_key opgegeven worden" -#: .\cookbook\helper\shopping_helper.py:54 -msgid "You must supply a recipe or mealplan" -msgstr "Je moet een recept of maaltijdplan aanleveren" - -#: .\cookbook\helper\shopping_helper.py:58 -msgid "You must supply a created_by" +#: .\cookbook\helper\shopping_helper.py:148 +#, fuzzy +#| msgid "You must supply a created_by" +msgid "You must supply a servings size" msgstr "Je moet een created_by aanleveren" #: .\cookbook\helper\template_helper.py:61 @@ -535,14 +539,14 @@ msgstr "Je moet een created_by aanleveren" msgid "Could not parse template code." msgstr "Sjablooncode kon niet verwerkt worden." -#: .\cookbook\integration\integration.py:200 +#: .\cookbook\integration\integration.py:213 msgid "" "Importer expected a .zip file. Did you choose the correct importer type for " "your data ?" msgstr "" "De importtool verwachtte een .zip bestand. Heb je het juiste type gekozen?" -#: .\cookbook\integration\integration.py:203 +#: .\cookbook\integration\integration.py:216 msgid "" "An unexpected error occurred during the import. Please make sure you have " "uploaded a valid file." @@ -550,11 +554,11 @@ msgstr "" "Er is een onverwachte fout opgetreden tijdens het importeren. Controleer of " "u een geldig bestand hebt geüpload." -#: .\cookbook\integration\integration.py:208 +#: .\cookbook\integration\integration.py:221 msgid "The following recipes were ignored because they already existed:" msgstr "De volgende recepten zijn genegeerd omdat ze al bestonden:" -#: .\cookbook\integration\integration.py:212 +#: .\cookbook\integration\integration.py:225 #, python-format msgid "Imported %s recipes." msgstr "%s recepten geïmporteerd." @@ -572,7 +576,6 @@ msgid "Source" msgstr "Bron" #: .\cookbook\integration\saffron.py:23 -#: .\cookbook\templates\include\log_cooking.html:18 #: .\cookbook\templates\url_import.html:231 #: .\cookbook\templates\url_import.html:462 msgid "Servings" @@ -601,7 +604,9 @@ msgid "Rebuilds full text search index on Recipe" msgstr "Herbouwt de volledige tekst zoekindex van Recept" #: .\cookbook\management\commands\rebuildindex.py:18 -msgid "Only Postgress databases use full text search, no index to rebuild" +#, 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 "" "Alleen Postgress databases gebruiken volledige tekst zoekmethoden, geen " "index aanwezig om te herbouwen" @@ -667,74 +672,55 @@ msgstr "Groot" msgid "New" msgstr "Nieuw" -#: .\cookbook\models.py:512 +#: .\cookbook\models.py:513 msgid " is part of a recipe step and cannot be deleted" msgstr " is deel van een receptstap en kan niet verwijderd worden" -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:44 -msgid "Text" -msgstr "Tekst" - -#: .\cookbook\models.py:586 -msgid "Time" -msgstr "Tijd" - -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:46 -msgid "File" -msgstr "Bestand" - -#: .\cookbook\models.py:586 -#: .\cookbook\templates\include\recipe_open_modal.html:7 -#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 -#: .\cookbook\views\new.py:53 -msgid "Recipe" -msgstr "Recept" - -#: .\cookbook\models.py:1041 .\cookbook\templates\search_info.html:28 +#: .\cookbook\models.py:1065 .\cookbook\templates\search_info.html:28 msgid "Simple" msgstr "Simpel" -#: .\cookbook\models.py:1042 .\cookbook\templates\search_info.html:33 +#: .\cookbook\models.py:1066 .\cookbook\templates\search_info.html:33 msgid "Phrase" msgstr "Zin" -#: .\cookbook\models.py:1043 .\cookbook\templates\search_info.html:38 +#: .\cookbook\models.py:1067 .\cookbook\templates\search_info.html:38 msgid "Web" msgstr "Web" -#: .\cookbook\models.py:1044 .\cookbook\templates\search_info.html:47 +#: .\cookbook\models.py:1068 .\cookbook\templates\search_info.html:47 msgid "Raw" msgstr "Rauw" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Food Alias" msgstr "Ingrediënt alias" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Unit Alias" msgstr "Eenheid alias" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Keyword Alias" msgstr "Etiket alias" -#: .\cookbook\serializer.py:175 +#: .\cookbook\serializer.py:180 msgid "A user is required" msgstr "Een gebruiker is verplicht" -#: .\cookbook\serializer.py:195 +#: .\cookbook\serializer.py:200 msgid "File uploads are not enabled for this Space." msgstr "Bestandsuploads zijn niet ingeschakeld voor deze Ruimte." -#: .\cookbook\serializer.py:206 +#: .\cookbook\serializer.py:211 msgid "You have reached your file upload limit." msgstr "U heeft de uploadlimiet bereikt." -#: .\cookbook\serializer.py:962 +#: .\cookbook\serializer.py:977 msgid "Existing shopping list to update" msgstr "Bestaande boodschappenlijst is bijgewerkt" -#: .\cookbook\serializer.py:964 +#: .\cookbook\serializer.py:979 msgid "" "List of ingredient IDs from the recipe to add, if not provided all " "ingredients will be added." @@ -742,20 +728,20 @@ msgstr "" "Lijst van ingrediënten ID's van het toe te voegen recept, als deze niet " "opgegeven worden worden alle ingrediënten toegevoegd." -#: .\cookbook\serializer.py:965 +#: .\cookbook\serializer.py:980 msgid "" "Providing a list_recipe ID and servings of 0 will delete that shopping list." msgstr "" -#: .\cookbook\serializer.py:973 +#: .\cookbook\serializer.py:988 msgid "Amount of food to add to the shopping list" msgstr "" -#: .\cookbook\serializer.py:974 +#: .\cookbook\serializer.py:989 msgid "ID of unit to use for the shopping list" msgstr "" -#: .\cookbook\serializer.py:975 +#: .\cookbook\serializer.py:990 msgid "When set to true will delete all food from active shopping lists." msgstr "" @@ -1116,8 +1102,8 @@ msgstr "Batchbewerking" msgid "History" msgstr "Geschiedenis" -#: .\cookbook\templates\base.html:228 .\cookbook\templates\export.html:14 -#: .\cookbook\templates\export.html:20 +#: .\cookbook\templates\base.html:228 +#: .\cookbook\templates\export_response.html:7 #: .\cookbook\templates\shopping_list.html:310 #: .\cookbook\templates\test2.html:14 .\cookbook\templates\test2.html:20 msgid "Export" @@ -1210,7 +1196,6 @@ msgstr "Het pad dient het volgende format te hebben" #: .\cookbook\templates\forms\edit_import_recipe.html:14 #: .\cookbook\templates\generic\edit_template.html:23 #: .\cookbook\templates\generic\new_template.html:23 -#: .\cookbook\templates\include\log_cooking.html:30 #: .\cookbook\templates\settings.html:70 .\cookbook\templates\settings.html:112 #: .\cookbook\templates\settings.html:130 #: .\cookbook\templates\settings.html:202 @@ -1253,7 +1238,7 @@ msgstr "" msgid "Recipe Books" msgstr "Kookboeken" -#: .\cookbook\templates\export.html:6 .\cookbook\templates\test2.html:6 +#: .\cookbook\templates\export.html:8 .\cookbook\templates\test2.html:6 msgid "Export Recipes" msgstr "Recepten exporteren" @@ -1378,19 +1363,12 @@ msgstr "Recepten importeren" msgid "Import" msgstr "Importeer" -#: .\cookbook\templates\include\log_cooking.html:9 -msgid "Log Recipe Cooking" -msgstr "logboek recept koken" +#: .\cookbook\templates\include\recipe_open_modal.html:7 +#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 +#: .\cookbook\views\new.py:53 +msgid "Recipe" +msgstr "Recept" -#: .\cookbook\templates\include\log_cooking.html:15 -msgid "All fields are optional and can be left empty." -msgstr "Alle velden zijn optioneel en mogen leeg gelaten worden." - -#: .\cookbook\templates\include\log_cooking.html:21 -msgid "Rating" -msgstr "Beoordeling" - -#: .\cookbook\templates\include\log_cooking.html:29 #: .\cookbook\templates\include\recipe_open_modal.html:18 msgid "Close" msgstr "Sluiten" @@ -1502,7 +1480,9 @@ msgstr "" #: .\cookbook\templates\markdown_info.html:57 #: .\cookbook\templates\markdown_info.html:73 -msgid "or by leaving a blank line inbetween." +#, fuzzy +#| msgid "or by leaving a blank line inbetween." +msgid "or by leaving a blank line in between." msgstr "of door een witregel te gebruiken." #: .\cookbook\templates\markdown_info.html:59 @@ -1525,8 +1505,12 @@ msgid "Lists" msgstr "Lijsten" #: .\cookbook\templates\markdown_info.html:85 +#, fuzzy +#| msgid "" +#| "Lists can ordered or unorderd. It is important to leave a blank line " +#| "before the list!" msgid "" -"Lists can ordered or unorderd. It is important to leave a blank line " +"Lists can ordered or unordered. It is important to leave a blank line " "before the list!" msgstr "" "Lijsten zijn geordend en ongeordend mogelijk. Het is belangrijk om een " @@ -1822,10 +1806,19 @@ 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 " -"'the', 'a', 'and'. And will treat seperate words as required.\n" +"'the', 'a', 'and'. And will treat separate 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" @@ -1858,13 +1851,30 @@ 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 " "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) " +" 'or' is recognized 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" @@ -1903,6 +1913,19 @@ 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 " @@ -1912,7 +1935,7 @@ msgid "" "'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 " +"will find misspelled words such as 'sandwhich' that would be missed by other " "methods.\n" " " msgstr "" @@ -2240,7 +2263,9 @@ msgid "Finished" msgstr "Afgerond" #: .\cookbook\templates\shopping_list.html:267 -msgid "You are offline, shopping list might not syncronize." +#, fuzzy +#| msgid "You are offline, shopping list might not syncronize." +msgid "You are offline, shopping list might not synchronize." msgstr "Je bent offline, de boodschappenlijst synchroniseert mogelijk niet." #: .\cookbook\templates\shopping_list.html:318 @@ -2536,6 +2561,14 @@ msgstr "URL" msgid "App" msgstr "App" +#: .\cookbook\templates\url_import.html:44 +msgid "Text" +msgstr "Tekst" + +#: .\cookbook\templates\url_import.html:46 +msgid "File" +msgstr "Bestand" + #: .\cookbook\templates\url_import.html:64 msgid "Enter website URL" msgstr "Vul website URL in" @@ -2711,181 +2744,182 @@ msgstr "GitHub issues" msgid "Recipe Markup Specification" msgstr "Recept opmaak specificatie" -#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:170 +#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:174 msgid "Parameter updated_at incorrectly formatted" msgstr "Parameter updatet_at is onjuist geformateerd" -#: .\cookbook\views\api.py:190 .\cookbook\views\api.py:291 +#: .\cookbook\views\api.py:194 .\cookbook\views\api.py:295 #, python-brace-format msgid "No {self.basename} with id {pk} exists" msgstr "Er bestaat geen {self.basename} met id {pk}" -#: .\cookbook\views\api.py:194 +#: .\cookbook\views\api.py:198 msgid "Cannot merge with the same object!" msgstr "Kan niet met hetzelfde object samenvoegen!" -#: .\cookbook\views\api.py:201 +#: .\cookbook\views\api.py:205 #, python-brace-format msgid "No {self.basename} with id {target} exists" msgstr "Er bestaat geen {self.basename} met id {target}" -#: .\cookbook\views\api.py:206 +#: .\cookbook\views\api.py:210 msgid "Cannot merge with child object!" msgstr "Kan niet met kindobject samenvoegen!" -#: .\cookbook\views\api.py:239 +#: .\cookbook\views\api.py:243 #, python-brace-format msgid "{source.name} was merged successfully with {target.name}" msgstr "{source.name} is succesvol samengevoegd met {target.name}" -#: .\cookbook\views\api.py:244 +#: .\cookbook\views\api.py:248 #, python-brace-format msgid "An error occurred attempting to merge {source.name} with {target.name}" msgstr "" "Er is een error opgetreden bij het samenvoegen van {source.name} met {target." "name}" -#: .\cookbook\views\api.py:300 +#: .\cookbook\views\api.py:304 #, python-brace-format msgid "{child.name} was moved successfully to the root." msgstr "{child.name} is succesvol verplaatst naar het hoogste niveau." -#: .\cookbook\views\api.py:303 .\cookbook\views\api.py:321 +#: .\cookbook\views\api.py:307 .\cookbook\views\api.py:325 msgid "An error occurred attempting to move " msgstr "Er is een error opgetreden bij het verplaatsen " -#: .\cookbook\views\api.py:306 +#: .\cookbook\views\api.py:310 msgid "Cannot move an object to itself!" msgstr "Kan object niet verplaatsen naar zichzelf!" -#: .\cookbook\views\api.py:312 +#: .\cookbook\views\api.py:316 #, python-brace-format msgid "No {self.basename} with id {parent} exists" msgstr "Er bestaat geen {self.basename} met id {parent}" -#: .\cookbook\views\api.py:318 +#: .\cookbook\views\api.py:322 #, python-brace-format msgid "{child.name} was moved successfully to parent {parent.name}" msgstr "{child.name} is succesvol verplaatst naar {parent.name}" -#: .\cookbook\views\api.py:470 +#: .\cookbook\views\api.py:474 #, python-brace-format msgid "{obj.name} was removed from the shopping list." msgstr "" -#: .\cookbook\views\api.py:475 .\cookbook\views\api.py:726 +#: .\cookbook\views\api.py:479 .\cookbook\views\api.py:729 +#: .\cookbook\views\api.py:742 #, python-brace-format msgid "{obj.name} was added to the shopping list." msgstr "" -#: .\cookbook\views\api.py:587 +#: .\cookbook\views\api.py:591 msgid "ID of recipe a step is part of. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:588 +#: .\cookbook\views\api.py:592 msgid "Query string matched (fuzzy) against object name." msgstr "" -#: .\cookbook\views\api.py:631 +#: .\cookbook\views\api.py:635 msgid "" "Query string matched (fuzzy) against recipe name. In the future also " "fulltext search." msgstr "" -#: .\cookbook\views\api.py:632 +#: .\cookbook\views\api.py:636 msgid "ID of keyword a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:633 +#: .\cookbook\views\api.py:637 msgid "ID of food a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:634 +#: .\cookbook\views\api.py:638 msgid "ID of unit a recipe should have." msgstr "" -#: .\cookbook\views\api.py:635 +#: .\cookbook\views\api.py:639 msgid "Rating a recipe should have. [0 - 5]" msgstr "" -#: .\cookbook\views\api.py:636 +#: .\cookbook\views\api.py:640 msgid "ID of book a recipe should be in. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:637 +#: .\cookbook\views\api.py:641 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided keywords." msgstr "" -#: .\cookbook\views\api.py:638 +#: .\cookbook\views\api.py:642 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided foods." msgstr "" -#: .\cookbook\views\api.py:639 +#: .\cookbook\views\api.py:643 msgid "" "If recipe should be in all (AND=false) or any (OR=true) of the " "provided books." msgstr "" -#: .\cookbook\views\api.py:640 +#: .\cookbook\views\api.py:644 msgid "If only internal recipes should be returned. [true/false]" msgstr "" -#: .\cookbook\views\api.py:641 +#: .\cookbook\views\api.py:645 msgid "Returns the results in randomized order. [true/false]" msgstr "" -#: .\cookbook\views\api.py:642 +#: .\cookbook\views\api.py:646 msgid "Returns new results first in search results. [true/false]" msgstr "" -#: .\cookbook\views\api.py:768 +#: .\cookbook\views\api.py:784 msgid "" "Returns the shopping list entry with a primary key of id. Multiple values " "allowed." msgstr "" -#: .\cookbook\views\api.py:771 +#: .\cookbook\views\api.py:787 msgid "" "Filter shopping list entries on checked. [true, false, both, recent]
- recent includes unchecked items and recently completed items." msgstr "" -#: .\cookbook\views\api.py:773 +#: .\cookbook\views\api.py:789 msgid "Returns the shopping list entries sorted by supermarket category order." msgstr "" -#: .\cookbook\views\api.py:922 .\cookbook\views\data.py:42 +#: .\cookbook\views\api.py:949 .\cookbook\views\data.py:42 #: .\cookbook\views\edit.py:129 .\cookbook\views\new.py:95 msgid "This feature is not yet available in the hosted version of tandoor!" msgstr "Deze optie is nog niet beschikbaar in de gehoste versie van Tandoor!" -#: .\cookbook\views\api.py:944 +#: .\cookbook\views\api.py:971 msgid "Sync successful!" msgstr "Synchronisatie succesvol!" -#: .\cookbook\views\api.py:949 +#: .\cookbook\views\api.py:976 msgid "Error synchronizing with Storage" msgstr "Er is een fout opgetreden bij het synchroniseren met Opslag" -#: .\cookbook\views\api.py:1028 +#: .\cookbook\views\api.py:1055 msgid "Nothing to do." msgstr "Niks te doen." -#: .\cookbook\views\api.py:1043 +#: .\cookbook\views\api.py:1070 msgid "The requested site provided malformed data and cannot be read." msgstr "" "De opgevraagde site heeft misvormde data verstrekt en kan niet gelezen " "worden." -#: .\cookbook\views\api.py:1050 +#: .\cookbook\views\api.py:1077 msgid "The requested page could not be found." msgstr "De opgevraagde pagina kon niet gevonden worden." -#: .\cookbook\views\api.py:1068 +#: .\cookbook\views\api.py:1095 msgid "" "The requested site does not provide any recognized data format to import the " "recipe from." @@ -2893,26 +2927,28 @@ msgstr "" "De opgevraagde site biedt geen bekend gegevensformaat aan om het recept van " "te importeren." -#: .\cookbook\views\api.py:1082 +#: .\cookbook\views\api.py:1109 msgid "Connection Refused." msgstr "" -#: .\cookbook\views\api.py:1091 -msgid "No useable data could be found." +#: .\cookbook\views\api.py:1118 +#, fuzzy +#| msgid "No useable data could be found." +msgid "No usable data could be found." msgstr "Er is geen bruikbare data gevonden." -#: .\cookbook\views\api.py:1107 +#: .\cookbook\views\api.py:1134 msgid "I couldn't find anything to do." msgstr "Ik kon niks vinden om te doen." #: .\cookbook\views\data.py:34 .\cookbook\views\data.py:129 -#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:80 +#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:81 #: .\cookbook\views\new.py:33 msgid "You have reached the maximum number of recipes for your space." msgstr "Je hebt het maximaal aantal recepten voor jouw ruimte bereikt." #: .\cookbook\views\data.py:38 .\cookbook\views\data.py:133 -#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:84 +#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:85 #: .\cookbook\views\new.py:37 msgid "You have more users than allowed in your space." msgstr "Je hebt meer gebruikers dan toegestaan in jouw ruimte." @@ -2972,20 +3008,16 @@ msgstr "Wijzigingen opgeslagen!" msgid "Error saving changes!" msgstr "Fout bij het opslaan van de wijzigingen!" -#: .\cookbook\views\import_export.py:106 +#: .\cookbook\views\import_export.py:107 .\cookbook\views\import_export.py:143 msgid "Importing is not implemented for this provider" msgstr "Importeren is voor deze provider niet geïmplementeerd" -#: .\cookbook\views\import_export.py:127 +#: .\cookbook\views\import_export.py:130 msgid "" "The PDF Exporter is not enabled on this instance as it is still in an " "experimental state." msgstr "" -#: .\cookbook\views\import_export.py:132 -msgid "Exporting is not implemented for this provider" -msgstr "Exporteren is voor deze provider niet geïmplementeerd" - #: .\cookbook\views\lists.py:25 msgid "Import Log" msgstr "Import logboek" @@ -3112,7 +3144,7 @@ msgstr "" msgid "Fuzzy search is not compatible with this search method!" msgstr "'Fuzzy' zoeken is niet te gebruiken met deze zoekmethode!" -#: .\cookbook\views\views.py:470 +#: .\cookbook\views\views.py:473 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 " @@ -3123,31 +3155,31 @@ msgstr "" "documentatie raad moeten plegen voor een methode om je wachtwoord te " "resetten." -#: .\cookbook\views\views.py:477 +#: .\cookbook\views\views.py:480 msgid "Passwords dont match!" msgstr "Wachtwoorden komen niet overeen!" -#: .\cookbook\views\views.py:493 +#: .\cookbook\views\views.py:496 msgid "User has been created, please login!" msgstr "Gebruiker is gecreëerd, Log in alstublieft!" -#: .\cookbook\views\views.py:509 +#: .\cookbook\views\views.py:512 msgid "Malformed Invite Link supplied!" msgstr "Onjuiste uitnodigingslink opgegeven!" -#: .\cookbook\views\views.py:516 +#: .\cookbook\views\views.py:519 msgid "You are already member of a space and therefore cannot join this one." msgstr "Je bent al lid van een ruimte en kan daardoor niet toetreden tot deze." -#: .\cookbook\views\views.py:527 +#: .\cookbook\views\views.py:530 msgid "Successfully joined space." msgstr "Succesvol toegetreden tot ruimte." -#: .\cookbook\views\views.py:533 +#: .\cookbook\views\views.py:536 msgid "Invite Link not valid or already used!" msgstr "De uitnodigingslink is niet valide of al gebruikt!" -#: .\cookbook\views\views.py:614 +#: .\cookbook\views\views.py:617 msgid "" "Reporting share links is not enabled for this instance. Please notify the " "page administrator to report problems." @@ -3155,7 +3187,7 @@ msgstr "" "Het rapporteren van gedeelde links is niet geactiveerd voor deze instantie. " "Rapporteer problemen bij de beheerder van de pagina." -#: .\cookbook\views\views.py:620 +#: .\cookbook\views\views.py:623 msgid "" "Recipe sharing link has been disabled! For additional information please " "contact the page administrator." @@ -3163,6 +3195,24 @@ msgstr "" "Links voor het delen van recepten zijn gedeactiveerd. Neem contact op met de " "paginabeheerder voor aanvullende informatie." +#~ msgid "You must supply a recipe or mealplan" +#~ msgstr "Je moet een recept of maaltijdplan aanleveren" + +#~ msgid "Time" +#~ msgstr "Tijd" + +#~ msgid "Log Recipe Cooking" +#~ msgstr "logboek recept koken" + +#~ msgid "All fields are optional and can be left empty." +#~ msgstr "Alle velden zijn optioneel en mogen leeg gelaten worden." + +#~ msgid "Rating" +#~ msgstr "Beoordeling" + +#~ msgid "Exporting is not implemented for this provider" +#~ msgstr "Exporteren is voor deze provider niet geïmplementeerd" + #, python-brace-format #~ msgid "No {self.basename} with id {child} exists" #~ msgstr "Er bestaat geen {self.basename} met id {child}" diff --git a/cookbook/locale/pt/LC_MESSAGES/django.po b/cookbook/locale/pt/LC_MESSAGES/django.po index ce17747b8..d66ebc3d2 100644 --- a/cookbook/locale/pt/LC_MESSAGES/django.po +++ b/cookbook/locale/pt/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: 2021-11-12 20:06+0000\n" "Last-Translator: Henrique Silva \n" "Language-Team: Portuguese here " +#| "for full desciption of choices." msgid "" "Select type method of search. Click here for " -"full desciption of choices." +"full description of choices." msgstr "" "Selecionar o método de pesquisa. Uma descrição completa das opções pode ser " "encontrada aqui." @@ -360,7 +364,7 @@ msgid "Partial Match" msgstr "" #: .\cookbook\forms.py:464 -msgid "Starts Wtih" +msgid "Starts With" msgstr "" #: .\cookbook\forms.py:465 @@ -512,42 +516,38 @@ msgstr "Sem permissões para aceder a esta página!" msgid "You cannot interact with this object as it is not owned by you!" msgstr "" -#: .\cookbook\helper\recipe_search.py:473 +#: .\cookbook\helper\recipe_search.py:486 msgid "One of queryset or hash_key must be provided" msgstr "" -#: .\cookbook\helper\shopping_helper.py:54 +#: .\cookbook\helper\shopping_helper.py:148 #, fuzzy #| msgid "You must provide at least a recipe or a title." -msgid "You must supply a recipe or mealplan" +msgid "You must supply a servings size" msgstr "É necessário inserir uma receita ou um título." -#: .\cookbook\helper\shopping_helper.py:58 -msgid "You must supply a created_by" -msgstr "" - #: .\cookbook\helper\template_helper.py:61 #: .\cookbook\helper\template_helper.py:63 msgid "Could not parse template code." msgstr "" -#: .\cookbook\integration\integration.py:200 +#: .\cookbook\integration\integration.py:213 msgid "" "Importer expected a .zip file. Did you choose the correct importer type for " "your data ?" msgstr "" -#: .\cookbook\integration\integration.py:203 +#: .\cookbook\integration\integration.py:216 msgid "" "An unexpected error occurred during the import. Please make sure you have " "uploaded a valid file." msgstr "" -#: .\cookbook\integration\integration.py:208 +#: .\cookbook\integration\integration.py:221 msgid "The following recipes were ignored because they already existed:" msgstr "" -#: .\cookbook\integration\integration.py:212 +#: .\cookbook\integration\integration.py:225 #, fuzzy, python-format #| msgid "Import Recipes" msgid "Imported %s recipes." @@ -568,7 +568,6 @@ msgid "Source" msgstr "" #: .\cookbook\integration\saffron.py:23 -#: .\cookbook\templates\include\log_cooking.html:18 #: .\cookbook\templates\url_import.html:231 #: .\cookbook\templates\url_import.html:462 msgid "Servings" @@ -597,7 +596,7 @@ msgid "Rebuilds full text search index on Recipe" msgstr "" #: .\cookbook\management\commands\rebuildindex.py:18 -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 "" #: .\cookbook\management\commands\rebuildindex.py:29 @@ -659,101 +658,80 @@ msgstr "Grande" msgid "New" msgstr "Novo" -#: .\cookbook\models.py:512 +#: .\cookbook\models.py:513 msgid " is part of a recipe step and cannot be deleted" msgstr "" -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:44 -msgid "Text" -msgstr "Texto" - -#: .\cookbook\models.py:586 -msgid "Time" -msgstr "Tempo" - -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:46 -#, fuzzy -#| msgid "File ID" -msgid "File" -msgstr "ID the ficheiro" - -#: .\cookbook\models.py:586 -#: .\cookbook\templates\include\recipe_open_modal.html:7 -#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 -#: .\cookbook\views\new.py:53 -msgid "Recipe" -msgstr "Receita" - -#: .\cookbook\models.py:1041 .\cookbook\templates\search_info.html:28 +#: .\cookbook\models.py:1065 .\cookbook\templates\search_info.html:28 msgid "Simple" msgstr "" -#: .\cookbook\models.py:1042 .\cookbook\templates\search_info.html:33 +#: .\cookbook\models.py:1066 .\cookbook\templates\search_info.html:33 msgid "Phrase" msgstr "" -#: .\cookbook\models.py:1043 .\cookbook\templates\search_info.html:38 +#: .\cookbook\models.py:1067 .\cookbook\templates\search_info.html:38 msgid "Web" msgstr "" -#: .\cookbook\models.py:1044 .\cookbook\templates\search_info.html:47 +#: .\cookbook\models.py:1068 .\cookbook\templates\search_info.html:47 msgid "Raw" msgstr "" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 #, fuzzy #| msgid "New Food" msgid "Food Alias" msgstr "Novo Prato" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 #, fuzzy #| msgid "Units" msgid "Unit Alias" msgstr "Unidades" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 #, fuzzy #| msgid "Keywords" msgid "Keyword Alias" msgstr "Palavras-chave" -#: .\cookbook\serializer.py:175 +#: .\cookbook\serializer.py:180 msgid "A user is required" msgstr "" -#: .\cookbook\serializer.py:195 +#: .\cookbook\serializer.py:200 msgid "File uploads are not enabled for this Space." msgstr "" -#: .\cookbook\serializer.py:206 +#: .\cookbook\serializer.py:211 msgid "You have reached your file upload limit." msgstr "" -#: .\cookbook\serializer.py:962 +#: .\cookbook\serializer.py:977 msgid "Existing shopping list to update" msgstr "" -#: .\cookbook\serializer.py:964 +#: .\cookbook\serializer.py:979 msgid "" "List of ingredient IDs from the recipe to add, if not provided all " "ingredients will be added." msgstr "" -#: .\cookbook\serializer.py:965 +#: .\cookbook\serializer.py:980 msgid "" "Providing a list_recipe ID and servings of 0 will delete that shopping list." msgstr "" -#: .\cookbook\serializer.py:973 +#: .\cookbook\serializer.py:988 msgid "Amount of food to add to the shopping list" msgstr "" -#: .\cookbook\serializer.py:974 +#: .\cookbook\serializer.py:989 msgid "ID of unit to use for the shopping list" msgstr "" -#: .\cookbook\serializer.py:975 +#: .\cookbook\serializer.py:990 msgid "When set to true will delete all food from active shopping lists." msgstr "" @@ -1110,8 +1088,8 @@ msgstr "Editor em massa" msgid "History" msgstr "Histórico" -#: .\cookbook\templates\base.html:228 .\cookbook\templates\export.html:14 -#: .\cookbook\templates\export.html:20 +#: .\cookbook\templates\base.html:228 +#: .\cookbook\templates\export_response.html:7 #: .\cookbook\templates\shopping_list.html:310 #: .\cookbook\templates\test2.html:14 .\cookbook\templates\test2.html:20 msgid "Export" @@ -1202,7 +1180,6 @@ msgstr "O caminho deve estar no seguinte formato" #: .\cookbook\templates\forms\edit_import_recipe.html:14 #: .\cookbook\templates\generic\edit_template.html:23 #: .\cookbook\templates\generic\new_template.html:23 -#: .\cookbook\templates\include\log_cooking.html:30 #: .\cookbook\templates\settings.html:70 .\cookbook\templates\settings.html:112 #: .\cookbook\templates\settings.html:130 #: .\cookbook\templates\settings.html:202 @@ -1249,7 +1226,7 @@ msgstr "" msgid "Recipe Books" msgstr "Livros de Receitas" -#: .\cookbook\templates\export.html:6 .\cookbook\templates\test2.html:6 +#: .\cookbook\templates\export.html:8 .\cookbook\templates\test2.html:6 msgid "Export Recipes" msgstr "Exportar Receitas" @@ -1372,19 +1349,12 @@ msgstr "Importar Receitas" msgid "Import" msgstr "Importar" -#: .\cookbook\templates\include\log_cooking.html:9 -msgid "Log Recipe Cooking" -msgstr "Registro Receita Cooking" +#: .\cookbook\templates\include\recipe_open_modal.html:7 +#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 +#: .\cookbook\views\new.py:53 +msgid "Recipe" +msgstr "Receita" -#: .\cookbook\templates\include\log_cooking.html:15 -msgid "All fields are optional and can be left empty." -msgstr "Todos os campos são opcionais e podem ser deixados vazios. " - -#: .\cookbook\templates\include\log_cooking.html:21 -msgid "Rating" -msgstr "Classificação " - -#: .\cookbook\templates\include\log_cooking.html:29 #: .\cookbook\templates\include\recipe_open_modal.html:18 msgid "Close" msgstr "Fechar" @@ -1485,7 +1455,9 @@ msgstr "" #: .\cookbook\templates\markdown_info.html:57 #: .\cookbook\templates\markdown_info.html:73 -msgid "or by leaving a blank line inbetween." +#, fuzzy +#| msgid "or by leaving a blank line inbetween." +msgid "or by leaving a blank line in between." msgstr "ou deixando uma linha em branco no meio." #: .\cookbook\templates\markdown_info.html:59 @@ -1508,8 +1480,12 @@ msgid "Lists" msgstr "Listas" #: .\cookbook\templates\markdown_info.html:85 +#, fuzzy +#| msgid "" +#| "Lists can ordered or unorderd. It is important to leave a blank line " +#| "before the list!" msgid "" -"Lists can ordered or unorderd. It is important to leave a blank line " +"Lists can ordered or unordered. It is important to leave a blank line " "before the list!" msgstr "" "As listas podem ser ordenadas ou não ordenadas. É importante deixar uma " @@ -1783,7 +1759,7 @@ msgstr "" msgid "" " \n" " Simple searches ignore punctuation and common words such as " -"'the', 'a', 'and'. And will treat seperate words as required.\n" +"'the', 'a', 'and'. And will treat separate 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" @@ -1808,7 +1784,7 @@ msgid "" "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) " +" 'or' is recognized 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" @@ -1838,7 +1814,7 @@ msgid "" "'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 " +"will find misspelled words such as 'sandwhich' that would be missed by other " "methods.\n" " " msgstr "" @@ -2115,7 +2091,7 @@ msgid "Finished" msgstr "" #: .\cookbook\templates\shopping_list.html:267 -msgid "You are offline, shopping list might not syncronize." +msgid "You are offline, shopping list might not synchronize." msgstr "" #: .\cookbook\templates\shopping_list.html:318 @@ -2377,6 +2353,16 @@ msgstr "" msgid "App" msgstr "" +#: .\cookbook\templates\url_import.html:44 +msgid "Text" +msgstr "Texto" + +#: .\cookbook\templates\url_import.html:46 +#, fuzzy +#| msgid "File ID" +msgid "File" +msgstr "ID the ficheiro" + #: .\cookbook\templates\url_import.html:64 msgid "Enter website URL" msgstr "" @@ -2555,202 +2541,203 @@ msgstr "" msgid "Recipe Markup Specification" msgstr "" -#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:170 +#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:174 msgid "Parameter updated_at incorrectly formatted" msgstr "" -#: .\cookbook\views\api.py:190 .\cookbook\views\api.py:291 +#: .\cookbook\views\api.py:194 .\cookbook\views\api.py:295 #, python-brace-format msgid "No {self.basename} with id {pk} exists" msgstr "" -#: .\cookbook\views\api.py:194 +#: .\cookbook\views\api.py:198 msgid "Cannot merge with the same object!" msgstr "" -#: .\cookbook\views\api.py:201 +#: .\cookbook\views\api.py:205 #, python-brace-format msgid "No {self.basename} with id {target} exists" msgstr "" -#: .\cookbook\views\api.py:206 +#: .\cookbook\views\api.py:210 msgid "Cannot merge with child object!" msgstr "" -#: .\cookbook\views\api.py:239 +#: .\cookbook\views\api.py:243 #, python-brace-format msgid "{source.name} was merged successfully with {target.name}" msgstr "" -#: .\cookbook\views\api.py:244 +#: .\cookbook\views\api.py:248 #, python-brace-format msgid "An error occurred attempting to merge {source.name} with {target.name}" msgstr "" -#: .\cookbook\views\api.py:300 +#: .\cookbook\views\api.py:304 #, python-brace-format msgid "{child.name} was moved successfully to the root." msgstr "" -#: .\cookbook\views\api.py:303 .\cookbook\views\api.py:321 +#: .\cookbook\views\api.py:307 .\cookbook\views\api.py:325 msgid "An error occurred attempting to move " msgstr "" -#: .\cookbook\views\api.py:306 +#: .\cookbook\views\api.py:310 msgid "Cannot move an object to itself!" msgstr "" -#: .\cookbook\views\api.py:312 +#: .\cookbook\views\api.py:316 #, python-brace-format msgid "No {self.basename} with id {parent} exists" msgstr "" -#: .\cookbook\views\api.py:318 +#: .\cookbook\views\api.py:322 #, python-brace-format msgid "{child.name} was moved successfully to parent {parent.name}" msgstr "" -#: .\cookbook\views\api.py:470 +#: .\cookbook\views\api.py:474 #, python-brace-format msgid "{obj.name} was removed from the shopping list." msgstr "" -#: .\cookbook\views\api.py:475 .\cookbook\views\api.py:726 +#: .\cookbook\views\api.py:479 .\cookbook\views\api.py:729 +#: .\cookbook\views\api.py:742 #, python-brace-format msgid "{obj.name} was added to the shopping list." msgstr "" -#: .\cookbook\views\api.py:587 +#: .\cookbook\views\api.py:591 msgid "ID of recipe a step is part of. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:588 +#: .\cookbook\views\api.py:592 msgid "Query string matched (fuzzy) against object name." msgstr "" -#: .\cookbook\views\api.py:631 +#: .\cookbook\views\api.py:635 msgid "" "Query string matched (fuzzy) against recipe name. In the future also " "fulltext search." msgstr "" -#: .\cookbook\views\api.py:632 +#: .\cookbook\views\api.py:636 msgid "ID of keyword a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:633 +#: .\cookbook\views\api.py:637 msgid "ID of food a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:634 +#: .\cookbook\views\api.py:638 msgid "ID of unit a recipe should have." msgstr "" -#: .\cookbook\views\api.py:635 +#: .\cookbook\views\api.py:639 msgid "Rating a recipe should have. [0 - 5]" msgstr "" -#: .\cookbook\views\api.py:636 +#: .\cookbook\views\api.py:640 msgid "ID of book a recipe should be in. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:637 +#: .\cookbook\views\api.py:641 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided keywords." msgstr "" -#: .\cookbook\views\api.py:638 +#: .\cookbook\views\api.py:642 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided foods." msgstr "" -#: .\cookbook\views\api.py:639 +#: .\cookbook\views\api.py:643 msgid "" "If recipe should be in all (AND=false) or any (OR=true) of the " "provided books." msgstr "" -#: .\cookbook\views\api.py:640 +#: .\cookbook\views\api.py:644 msgid "If only internal recipes should be returned. [true/false]" msgstr "" -#: .\cookbook\views\api.py:641 +#: .\cookbook\views\api.py:645 msgid "Returns the results in randomized order. [true/false]" msgstr "" -#: .\cookbook\views\api.py:642 +#: .\cookbook\views\api.py:646 msgid "Returns new results first in search results. [true/false]" msgstr "" -#: .\cookbook\views\api.py:768 +#: .\cookbook\views\api.py:784 msgid "" "Returns the shopping list entry with a primary key of id. Multiple values " "allowed." msgstr "" -#: .\cookbook\views\api.py:771 +#: .\cookbook\views\api.py:787 msgid "" "Filter shopping list entries on checked. [true, false, both, recent]
- recent includes unchecked items and recently completed items." msgstr "" -#: .\cookbook\views\api.py:773 +#: .\cookbook\views\api.py:789 msgid "Returns the shopping list entries sorted by supermarket category order." msgstr "" -#: .\cookbook\views\api.py:922 .\cookbook\views\data.py:42 +#: .\cookbook\views\api.py:949 .\cookbook\views\data.py:42 #: .\cookbook\views\edit.py:129 .\cookbook\views\new.py:95 msgid "This feature is not yet available in the hosted version of tandoor!" msgstr "" -#: .\cookbook\views\api.py:944 +#: .\cookbook\views\api.py:971 msgid "Sync successful!" msgstr "" -#: .\cookbook\views\api.py:949 +#: .\cookbook\views\api.py:976 msgid "Error synchronizing with Storage" msgstr "" -#: .\cookbook\views\api.py:1028 +#: .\cookbook\views\api.py:1055 msgid "Nothing to do." msgstr "" -#: .\cookbook\views\api.py:1043 +#: .\cookbook\views\api.py:1070 msgid "The requested site provided malformed data and cannot be read." msgstr "" -#: .\cookbook\views\api.py:1050 +#: .\cookbook\views\api.py:1077 msgid "The requested page could not be found." msgstr "" -#: .\cookbook\views\api.py:1068 +#: .\cookbook\views\api.py:1095 msgid "" "The requested site does not provide any recognized data format to import the " "recipe from." msgstr "Esta página não contém uma receita que eu consiga entender." -#: .\cookbook\views\api.py:1082 +#: .\cookbook\views\api.py:1109 msgid "Connection Refused." msgstr "" -#: .\cookbook\views\api.py:1091 -msgid "No useable data could be found." +#: .\cookbook\views\api.py:1118 +msgid "No usable data could be found." msgstr "" -#: .\cookbook\views\api.py:1107 +#: .\cookbook\views\api.py:1134 msgid "I couldn't find anything to do." msgstr "" #: .\cookbook\views\data.py:34 .\cookbook\views\data.py:129 -#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:80 +#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:81 #: .\cookbook\views\new.py:33 msgid "You have reached the maximum number of recipes for your space." msgstr "" #: .\cookbook\views\data.py:38 .\cookbook\views\data.py:133 -#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:84 +#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:85 #: .\cookbook\views\new.py:37 msgid "You have more users than allowed in your space." msgstr "" @@ -2808,20 +2795,16 @@ msgstr "" msgid "Error saving changes!" msgstr "" -#: .\cookbook\views\import_export.py:106 +#: .\cookbook\views\import_export.py:107 .\cookbook\views\import_export.py:143 msgid "Importing is not implemented for this provider" msgstr "" -#: .\cookbook\views\import_export.py:127 +#: .\cookbook\views\import_export.py:130 msgid "" "The PDF Exporter is not enabled on this instance as it is still in an " "experimental state." msgstr "" -#: .\cookbook\views\import_export.py:132 -msgid "Exporting is not implemented for this provider" -msgstr "" - #: .\cookbook\views\lists.py:25 msgid "Import Log" msgstr "" @@ -2940,51 +2923,63 @@ msgstr "" msgid "Fuzzy search is not compatible with this search method!" msgstr "" -#: .\cookbook\views\views.py:470 +#: .\cookbook\views\views.py:473 msgid "" "The setup page can only be used to create the first user! If you have " "forgotten your superuser credentials please consult the django documentation " "on how to reset passwords." msgstr "" -#: .\cookbook\views\views.py:477 +#: .\cookbook\views\views.py:480 msgid "Passwords dont match!" msgstr "" -#: .\cookbook\views\views.py:493 +#: .\cookbook\views\views.py:496 msgid "User has been created, please login!" msgstr "" -#: .\cookbook\views\views.py:509 +#: .\cookbook\views\views.py:512 msgid "Malformed Invite Link supplied!" msgstr "" -#: .\cookbook\views\views.py:516 +#: .\cookbook\views\views.py:519 #, fuzzy #| msgid "You are not logged in and therefore cannot view this page!" msgid "You are already member of a space and therefore cannot join this one." msgstr "Autenticação necessária para aceder a esta página!" -#: .\cookbook\views\views.py:527 +#: .\cookbook\views\views.py:530 msgid "Successfully joined space." msgstr "" -#: .\cookbook\views\views.py:533 +#: .\cookbook\views\views.py:536 msgid "Invite Link not valid or already used!" msgstr "" -#: .\cookbook\views\views.py:614 +#: .\cookbook\views\views.py:617 msgid "" "Reporting share links is not enabled for this instance. Please notify the " "page administrator to report problems." msgstr "" -#: .\cookbook\views\views.py:620 +#: .\cookbook\views\views.py:623 msgid "" "Recipe sharing link has been disabled! For additional information please " "contact the page administrator." msgstr "" +#~ msgid "Time" +#~ msgstr "Tempo" + +#~ msgid "Log Recipe Cooking" +#~ msgstr "Registro Receita Cooking" + +#~ msgid "All fields are optional and can be left empty." +#~ msgstr "Todos os campos são opcionais e podem ser deixados vazios. " + +#~ msgid "Rating" +#~ msgstr "Classificação " + #~ msgid "New Unit" #~ msgstr "Nova Unidade" diff --git a/cookbook/locale/rn/LC_MESSAGES/django.po b/cookbook/locale/rn/LC_MESSAGES/django.po index b301bc617..17eaf1fa5 100644 --- a/cookbook/locale/rn/LC_MESSAGES/django.po +++ b/cookbook/locale/rn/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -260,7 +260,7 @@ msgstr "" #: .\cookbook\forms.py:445 msgid "" "Select type method of search. Click here for " -"full desciption of choices." +"full description of choices." msgstr "" #: .\cookbook\forms.py:446 @@ -316,7 +316,7 @@ msgid "Partial Match" msgstr "" #: .\cookbook\forms.py:464 -msgid "Starts Wtih" +msgid "Starts With" msgstr "" #: .\cookbook\forms.py:465 @@ -458,16 +458,12 @@ msgstr "" msgid "You cannot interact with this object as it is not owned by you!" msgstr "" -#: .\cookbook\helper\recipe_search.py:473 +#: .\cookbook\helper\recipe_search.py:486 msgid "One of queryset or hash_key must be provided" msgstr "" -#: .\cookbook\helper\shopping_helper.py:54 -msgid "You must supply a recipe or mealplan" -msgstr "" - -#: .\cookbook\helper\shopping_helper.py:58 -msgid "You must supply a created_by" +#: .\cookbook\helper\shopping_helper.py:148 +msgid "You must supply a servings size" msgstr "" #: .\cookbook\helper\template_helper.py:61 @@ -475,23 +471,23 @@ msgstr "" msgid "Could not parse template code." msgstr "" -#: .\cookbook\integration\integration.py:200 +#: .\cookbook\integration\integration.py:213 msgid "" "Importer expected a .zip file. Did you choose the correct importer type for " "your data ?" msgstr "" -#: .\cookbook\integration\integration.py:203 +#: .\cookbook\integration\integration.py:216 msgid "" "An unexpected error occurred during the import. Please make sure you have " "uploaded a valid file." msgstr "" -#: .\cookbook\integration\integration.py:208 +#: .\cookbook\integration\integration.py:221 msgid "The following recipes were ignored because they already existed:" msgstr "" -#: .\cookbook\integration\integration.py:212 +#: .\cookbook\integration\integration.py:225 #, python-format msgid "Imported %s recipes." msgstr "" @@ -509,7 +505,6 @@ msgid "Source" msgstr "" #: .\cookbook\integration\saffron.py:23 -#: .\cookbook\templates\include\log_cooking.html:18 #: .\cookbook\templates\url_import.html:231 #: .\cookbook\templates\url_import.html:462 msgid "Servings" @@ -538,7 +533,7 @@ msgid "Rebuilds full text search index on Recipe" msgstr "" #: .\cookbook\management\commands\rebuildindex.py:18 -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 "" #: .\cookbook\management\commands\rebuildindex.py:29 @@ -600,93 +595,74 @@ msgstr "" msgid "New" msgstr "" -#: .\cookbook\models.py:512 +#: .\cookbook\models.py:513 msgid " is part of a recipe step and cannot be deleted" msgstr "" -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:44 -msgid "Text" -msgstr "" - -#: .\cookbook\models.py:586 -msgid "Time" -msgstr "" - -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:46 -msgid "File" -msgstr "" - -#: .\cookbook\models.py:586 -#: .\cookbook\templates\include\recipe_open_modal.html:7 -#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 -#: .\cookbook\views\new.py:53 -msgid "Recipe" -msgstr "" - -#: .\cookbook\models.py:1041 .\cookbook\templates\search_info.html:28 +#: .\cookbook\models.py:1065 .\cookbook\templates\search_info.html:28 msgid "Simple" msgstr "" -#: .\cookbook\models.py:1042 .\cookbook\templates\search_info.html:33 +#: .\cookbook\models.py:1066 .\cookbook\templates\search_info.html:33 msgid "Phrase" msgstr "" -#: .\cookbook\models.py:1043 .\cookbook\templates\search_info.html:38 +#: .\cookbook\models.py:1067 .\cookbook\templates\search_info.html:38 msgid "Web" msgstr "" -#: .\cookbook\models.py:1044 .\cookbook\templates\search_info.html:47 +#: .\cookbook\models.py:1068 .\cookbook\templates\search_info.html:47 msgid "Raw" msgstr "" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Food Alias" msgstr "" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Unit Alias" msgstr "" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Keyword Alias" msgstr "" -#: .\cookbook\serializer.py:175 +#: .\cookbook\serializer.py:180 msgid "A user is required" msgstr "" -#: .\cookbook\serializer.py:195 +#: .\cookbook\serializer.py:200 msgid "File uploads are not enabled for this Space." msgstr "" -#: .\cookbook\serializer.py:206 +#: .\cookbook\serializer.py:211 msgid "You have reached your file upload limit." msgstr "" -#: .\cookbook\serializer.py:962 +#: .\cookbook\serializer.py:977 msgid "Existing shopping list to update" msgstr "" -#: .\cookbook\serializer.py:964 +#: .\cookbook\serializer.py:979 msgid "" "List of ingredient IDs from the recipe to add, if not provided all " "ingredients will be added." msgstr "" -#: .\cookbook\serializer.py:965 +#: .\cookbook\serializer.py:980 msgid "" "Providing a list_recipe ID and servings of 0 will delete that shopping list." msgstr "" -#: .\cookbook\serializer.py:973 +#: .\cookbook\serializer.py:988 msgid "Amount of food to add to the shopping list" msgstr "" -#: .\cookbook\serializer.py:974 +#: .\cookbook\serializer.py:989 msgid "ID of unit to use for the shopping list" msgstr "" -#: .\cookbook\serializer.py:975 +#: .\cookbook\serializer.py:990 msgid "When set to true will delete all food from active shopping lists." msgstr "" @@ -1031,8 +1007,8 @@ msgstr "" msgid "History" msgstr "" -#: .\cookbook\templates\base.html:228 .\cookbook\templates\export.html:14 -#: .\cookbook\templates\export.html:20 +#: .\cookbook\templates\base.html:228 +#: .\cookbook\templates\export_response.html:7 #: .\cookbook\templates\shopping_list.html:310 #: .\cookbook\templates\test2.html:14 .\cookbook\templates\test2.html:20 msgid "Export" @@ -1121,7 +1097,6 @@ msgstr "" #: .\cookbook\templates\forms\edit_import_recipe.html:14 #: .\cookbook\templates\generic\edit_template.html:23 #: .\cookbook\templates\generic\new_template.html:23 -#: .\cookbook\templates\include\log_cooking.html:30 #: .\cookbook\templates\settings.html:70 .\cookbook\templates\settings.html:112 #: .\cookbook\templates\settings.html:130 #: .\cookbook\templates\settings.html:202 @@ -1162,7 +1137,7 @@ msgstr "" msgid "Recipe Books" msgstr "" -#: .\cookbook\templates\export.html:6 .\cookbook\templates\test2.html:6 +#: .\cookbook\templates\export.html:8 .\cookbook\templates\test2.html:6 msgid "Export Recipes" msgstr "" @@ -1280,19 +1255,12 @@ msgstr "" msgid "Import" msgstr "" -#: .\cookbook\templates\include\log_cooking.html:9 -msgid "Log Recipe Cooking" +#: .\cookbook\templates\include\recipe_open_modal.html:7 +#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 +#: .\cookbook\views\new.py:53 +msgid "Recipe" msgstr "" -#: .\cookbook\templates\include\log_cooking.html:15 -msgid "All fields are optional and can be left empty." -msgstr "" - -#: .\cookbook\templates\include\log_cooking.html:21 -msgid "Rating" -msgstr "" - -#: .\cookbook\templates\include\log_cooking.html:29 #: .\cookbook\templates\include\recipe_open_modal.html:18 msgid "Close" msgstr "" @@ -1383,7 +1351,7 @@ msgstr "" #: .\cookbook\templates\markdown_info.html:57 #: .\cookbook\templates\markdown_info.html:73 -msgid "or by leaving a blank line inbetween." +msgid "or by leaving a blank line in between." msgstr "" #: .\cookbook\templates\markdown_info.html:59 @@ -1407,7 +1375,7 @@ msgstr "" #: .\cookbook\templates\markdown_info.html:85 msgid "" -"Lists can ordered or unorderd. It is important to leave a blank line " +"Lists can ordered or unordered. It is important to leave a blank line " "before the list!" msgstr "" @@ -1669,7 +1637,7 @@ msgstr "" msgid "" " \n" " Simple searches ignore punctuation and common words such as " -"'the', 'a', 'and'. And will treat seperate words as required.\n" +"'the', 'a', 'and'. And will treat separate 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" @@ -1694,7 +1662,7 @@ msgid "" "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) " +" 'or' is recognized 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" @@ -1724,7 +1692,7 @@ msgid "" "'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 " +"will find misspelled words such as 'sandwhich' that would be missed by other " "methods.\n" " " msgstr "" @@ -1983,7 +1951,7 @@ msgid "Finished" msgstr "" #: .\cookbook\templates\shopping_list.html:267 -msgid "You are offline, shopping list might not syncronize." +msgid "You are offline, shopping list might not synchronize." msgstr "" #: .\cookbook\templates\shopping_list.html:318 @@ -2241,6 +2209,14 @@ msgstr "" msgid "App" msgstr "" +#: .\cookbook\templates\url_import.html:44 +msgid "Text" +msgstr "" + +#: .\cookbook\templates\url_import.html:46 +msgid "File" +msgstr "" + #: .\cookbook\templates\url_import.html:64 msgid "Enter website URL" msgstr "" @@ -2403,202 +2379,203 @@ msgstr "" msgid "Recipe Markup Specification" msgstr "" -#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:170 +#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:174 msgid "Parameter updated_at incorrectly formatted" msgstr "" -#: .\cookbook\views\api.py:190 .\cookbook\views\api.py:291 +#: .\cookbook\views\api.py:194 .\cookbook\views\api.py:295 #, python-brace-format msgid "No {self.basename} with id {pk} exists" msgstr "" -#: .\cookbook\views\api.py:194 +#: .\cookbook\views\api.py:198 msgid "Cannot merge with the same object!" msgstr "" -#: .\cookbook\views\api.py:201 +#: .\cookbook\views\api.py:205 #, python-brace-format msgid "No {self.basename} with id {target} exists" msgstr "" -#: .\cookbook\views\api.py:206 +#: .\cookbook\views\api.py:210 msgid "Cannot merge with child object!" msgstr "" -#: .\cookbook\views\api.py:239 +#: .\cookbook\views\api.py:243 #, python-brace-format msgid "{source.name} was merged successfully with {target.name}" msgstr "" -#: .\cookbook\views\api.py:244 +#: .\cookbook\views\api.py:248 #, python-brace-format msgid "An error occurred attempting to merge {source.name} with {target.name}" msgstr "" -#: .\cookbook\views\api.py:300 +#: .\cookbook\views\api.py:304 #, python-brace-format msgid "{child.name} was moved successfully to the root." msgstr "" -#: .\cookbook\views\api.py:303 .\cookbook\views\api.py:321 +#: .\cookbook\views\api.py:307 .\cookbook\views\api.py:325 msgid "An error occurred attempting to move " msgstr "" -#: .\cookbook\views\api.py:306 +#: .\cookbook\views\api.py:310 msgid "Cannot move an object to itself!" msgstr "" -#: .\cookbook\views\api.py:312 +#: .\cookbook\views\api.py:316 #, python-brace-format msgid "No {self.basename} with id {parent} exists" msgstr "" -#: .\cookbook\views\api.py:318 +#: .\cookbook\views\api.py:322 #, python-brace-format msgid "{child.name} was moved successfully to parent {parent.name}" msgstr "" -#: .\cookbook\views\api.py:470 +#: .\cookbook\views\api.py:474 #, python-brace-format msgid "{obj.name} was removed from the shopping list." msgstr "" -#: .\cookbook\views\api.py:475 .\cookbook\views\api.py:726 +#: .\cookbook\views\api.py:479 .\cookbook\views\api.py:729 +#: .\cookbook\views\api.py:742 #, python-brace-format msgid "{obj.name} was added to the shopping list." msgstr "" -#: .\cookbook\views\api.py:587 +#: .\cookbook\views\api.py:591 msgid "ID of recipe a step is part of. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:588 +#: .\cookbook\views\api.py:592 msgid "Query string matched (fuzzy) against object name." msgstr "" -#: .\cookbook\views\api.py:631 +#: .\cookbook\views\api.py:635 msgid "" "Query string matched (fuzzy) against recipe name. In the future also " "fulltext search." msgstr "" -#: .\cookbook\views\api.py:632 +#: .\cookbook\views\api.py:636 msgid "ID of keyword a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:633 +#: .\cookbook\views\api.py:637 msgid "ID of food a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:634 +#: .\cookbook\views\api.py:638 msgid "ID of unit a recipe should have." msgstr "" -#: .\cookbook\views\api.py:635 +#: .\cookbook\views\api.py:639 msgid "Rating a recipe should have. [0 - 5]" msgstr "" -#: .\cookbook\views\api.py:636 +#: .\cookbook\views\api.py:640 msgid "ID of book a recipe should be in. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:637 +#: .\cookbook\views\api.py:641 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided keywords." msgstr "" -#: .\cookbook\views\api.py:638 +#: .\cookbook\views\api.py:642 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided foods." msgstr "" -#: .\cookbook\views\api.py:639 +#: .\cookbook\views\api.py:643 msgid "" "If recipe should be in all (AND=false) or any (OR=true) of the " "provided books." msgstr "" -#: .\cookbook\views\api.py:640 +#: .\cookbook\views\api.py:644 msgid "If only internal recipes should be returned. [true/false]" msgstr "" -#: .\cookbook\views\api.py:641 +#: .\cookbook\views\api.py:645 msgid "Returns the results in randomized order. [true/false]" msgstr "" -#: .\cookbook\views\api.py:642 +#: .\cookbook\views\api.py:646 msgid "Returns new results first in search results. [true/false]" msgstr "" -#: .\cookbook\views\api.py:768 +#: .\cookbook\views\api.py:784 msgid "" "Returns the shopping list entry with a primary key of id. Multiple values " "allowed." msgstr "" -#: .\cookbook\views\api.py:771 +#: .\cookbook\views\api.py:787 msgid "" "Filter shopping list entries on checked. [true, false, both, recent]
- recent includes unchecked items and recently completed items." msgstr "" -#: .\cookbook\views\api.py:773 +#: .\cookbook\views\api.py:789 msgid "Returns the shopping list entries sorted by supermarket category order." msgstr "" -#: .\cookbook\views\api.py:922 .\cookbook\views\data.py:42 +#: .\cookbook\views\api.py:949 .\cookbook\views\data.py:42 #: .\cookbook\views\edit.py:129 .\cookbook\views\new.py:95 msgid "This feature is not yet available in the hosted version of tandoor!" msgstr "" -#: .\cookbook\views\api.py:944 +#: .\cookbook\views\api.py:971 msgid "Sync successful!" msgstr "" -#: .\cookbook\views\api.py:949 +#: .\cookbook\views\api.py:976 msgid "Error synchronizing with Storage" msgstr "" -#: .\cookbook\views\api.py:1028 +#: .\cookbook\views\api.py:1055 msgid "Nothing to do." msgstr "" -#: .\cookbook\views\api.py:1043 +#: .\cookbook\views\api.py:1070 msgid "The requested site provided malformed data and cannot be read." msgstr "" -#: .\cookbook\views\api.py:1050 +#: .\cookbook\views\api.py:1077 msgid "The requested page could not be found." msgstr "" -#: .\cookbook\views\api.py:1068 +#: .\cookbook\views\api.py:1095 msgid "" "The requested site does not provide any recognized data format to import the " "recipe from." msgstr "" -#: .\cookbook\views\api.py:1082 +#: .\cookbook\views\api.py:1109 msgid "Connection Refused." msgstr "" -#: .\cookbook\views\api.py:1091 -msgid "No useable data could be found." +#: .\cookbook\views\api.py:1118 +msgid "No usable data could be found." msgstr "" -#: .\cookbook\views\api.py:1107 +#: .\cookbook\views\api.py:1134 msgid "I couldn't find anything to do." msgstr "" #: .\cookbook\views\data.py:34 .\cookbook\views\data.py:129 -#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:80 +#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:81 #: .\cookbook\views\new.py:33 msgid "You have reached the maximum number of recipes for your space." msgstr "" #: .\cookbook\views\data.py:38 .\cookbook\views\data.py:133 -#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:84 +#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:85 #: .\cookbook\views\new.py:37 msgid "You have more users than allowed in your space." msgstr "" @@ -2656,20 +2633,16 @@ msgstr "" msgid "Error saving changes!" msgstr "" -#: .\cookbook\views\import_export.py:106 +#: .\cookbook\views\import_export.py:107 .\cookbook\views\import_export.py:143 msgid "Importing is not implemented for this provider" msgstr "" -#: .\cookbook\views\import_export.py:127 +#: .\cookbook\views\import_export.py:130 msgid "" "The PDF Exporter is not enabled on this instance as it is still in an " "experimental state." msgstr "" -#: .\cookbook\views\import_export.py:132 -msgid "Exporting is not implemented for this provider" -msgstr "" - #: .\cookbook\views\lists.py:25 msgid "Import Log" msgstr "" @@ -2786,44 +2759,44 @@ msgstr "" msgid "Fuzzy search is not compatible with this search method!" msgstr "" -#: .\cookbook\views\views.py:470 +#: .\cookbook\views\views.py:473 msgid "" "The setup page can only be used to create the first user! If you have " "forgotten your superuser credentials please consult the django documentation " "on how to reset passwords." msgstr "" -#: .\cookbook\views\views.py:477 +#: .\cookbook\views\views.py:480 msgid "Passwords dont match!" msgstr "" -#: .\cookbook\views\views.py:493 +#: .\cookbook\views\views.py:496 msgid "User has been created, please login!" msgstr "" -#: .\cookbook\views\views.py:509 +#: .\cookbook\views\views.py:512 msgid "Malformed Invite Link supplied!" msgstr "" -#: .\cookbook\views\views.py:516 +#: .\cookbook\views\views.py:519 msgid "You are already member of a space and therefore cannot join this one." msgstr "" -#: .\cookbook\views\views.py:527 +#: .\cookbook\views\views.py:530 msgid "Successfully joined space." msgstr "" -#: .\cookbook\views\views.py:533 +#: .\cookbook\views\views.py:536 msgid "Invite Link not valid or already used!" msgstr "" -#: .\cookbook\views\views.py:614 +#: .\cookbook\views\views.py:617 msgid "" "Reporting share links is not enabled for this instance. Please notify the " "page administrator to report problems." msgstr "" -#: .\cookbook\views\views.py:620 +#: .\cookbook\views\views.py:623 msgid "" "Recipe sharing link has been disabled! For additional information please " "contact the page administrator." diff --git a/cookbook/locale/tr/LC_MESSAGES/django.po b/cookbook/locale/tr/LC_MESSAGES/django.po index 66f1d3b95..a69e579ff 100644 --- a/cookbook/locale/tr/LC_MESSAGES/django.po +++ b/cookbook/locale/tr/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: 2020-06-02 19:28+0000\n" "Last-Translator: Emre S, 2020\n" "Language-Team: Turkish (https://www.transifex.com/django-recipes/" @@ -275,7 +275,7 @@ msgstr "" #: .\cookbook\forms.py:445 msgid "" "Select type method of search. Click here for " -"full desciption of choices." +"full description of choices." msgstr "" #: .\cookbook\forms.py:446 @@ -331,7 +331,7 @@ msgid "Partial Match" msgstr "" #: .\cookbook\forms.py:464 -msgid "Starts Wtih" +msgid "Starts With" msgstr "" #: .\cookbook\forms.py:465 @@ -475,16 +475,12 @@ msgstr "" msgid "You cannot interact with this object as it is not owned by you!" msgstr "" -#: .\cookbook\helper\recipe_search.py:473 +#: .\cookbook\helper\recipe_search.py:486 msgid "One of queryset or hash_key must be provided" msgstr "" -#: .\cookbook\helper\shopping_helper.py:54 -msgid "You must supply a recipe or mealplan" -msgstr "" - -#: .\cookbook\helper\shopping_helper.py:58 -msgid "You must supply a created_by" +#: .\cookbook\helper\shopping_helper.py:148 +msgid "You must supply a servings size" msgstr "" #: .\cookbook\helper\template_helper.py:61 @@ -492,23 +488,23 @@ msgstr "" msgid "Could not parse template code." msgstr "" -#: .\cookbook\integration\integration.py:200 +#: .\cookbook\integration\integration.py:213 msgid "" "Importer expected a .zip file. Did you choose the correct importer type for " "your data ?" msgstr "" -#: .\cookbook\integration\integration.py:203 +#: .\cookbook\integration\integration.py:216 msgid "" "An unexpected error occurred during the import. Please make sure you have " "uploaded a valid file." msgstr "" -#: .\cookbook\integration\integration.py:208 +#: .\cookbook\integration\integration.py:221 msgid "The following recipes were ignored because they already existed:" msgstr "" -#: .\cookbook\integration\integration.py:212 +#: .\cookbook\integration\integration.py:225 #, python-format msgid "Imported %s recipes." msgstr "" @@ -526,7 +522,6 @@ msgid "Source" msgstr "" #: .\cookbook\integration\saffron.py:23 -#: .\cookbook\templates\include\log_cooking.html:18 #: .\cookbook\templates\url_import.html:231 #: .\cookbook\templates\url_import.html:462 msgid "Servings" @@ -555,7 +550,7 @@ msgid "Rebuilds full text search index on Recipe" msgstr "" #: .\cookbook\management\commands\rebuildindex.py:18 -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 "" #: .\cookbook\management\commands\rebuildindex.py:29 @@ -617,93 +612,74 @@ msgstr "" msgid "New" msgstr "" -#: .\cookbook\models.py:512 +#: .\cookbook\models.py:513 msgid " is part of a recipe step and cannot be deleted" msgstr "" -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:44 -msgid "Text" -msgstr "" - -#: .\cookbook\models.py:586 -msgid "Time" -msgstr "" - -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:46 -msgid "File" -msgstr "" - -#: .\cookbook\models.py:586 -#: .\cookbook\templates\include\recipe_open_modal.html:7 -#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 -#: .\cookbook\views\new.py:53 -msgid "Recipe" -msgstr "" - -#: .\cookbook\models.py:1041 .\cookbook\templates\search_info.html:28 +#: .\cookbook\models.py:1065 .\cookbook\templates\search_info.html:28 msgid "Simple" msgstr "" -#: .\cookbook\models.py:1042 .\cookbook\templates\search_info.html:33 +#: .\cookbook\models.py:1066 .\cookbook\templates\search_info.html:33 msgid "Phrase" msgstr "" -#: .\cookbook\models.py:1043 .\cookbook\templates\search_info.html:38 +#: .\cookbook\models.py:1067 .\cookbook\templates\search_info.html:38 msgid "Web" msgstr "" -#: .\cookbook\models.py:1044 .\cookbook\templates\search_info.html:47 +#: .\cookbook\models.py:1068 .\cookbook\templates\search_info.html:47 msgid "Raw" msgstr "" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Food Alias" msgstr "" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Unit Alias" msgstr "" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Keyword Alias" msgstr "" -#: .\cookbook\serializer.py:175 +#: .\cookbook\serializer.py:180 msgid "A user is required" msgstr "" -#: .\cookbook\serializer.py:195 +#: .\cookbook\serializer.py:200 msgid "File uploads are not enabled for this Space." msgstr "" -#: .\cookbook\serializer.py:206 +#: .\cookbook\serializer.py:211 msgid "You have reached your file upload limit." msgstr "" -#: .\cookbook\serializer.py:962 +#: .\cookbook\serializer.py:977 msgid "Existing shopping list to update" msgstr "" -#: .\cookbook\serializer.py:964 +#: .\cookbook\serializer.py:979 msgid "" "List of ingredient IDs from the recipe to add, if not provided all " "ingredients will be added." msgstr "" -#: .\cookbook\serializer.py:965 +#: .\cookbook\serializer.py:980 msgid "" "Providing a list_recipe ID and servings of 0 will delete that shopping list." msgstr "" -#: .\cookbook\serializer.py:973 +#: .\cookbook\serializer.py:988 msgid "Amount of food to add to the shopping list" msgstr "" -#: .\cookbook\serializer.py:974 +#: .\cookbook\serializer.py:989 msgid "ID of unit to use for the shopping list" msgstr "" -#: .\cookbook\serializer.py:975 +#: .\cookbook\serializer.py:990 msgid "When set to true will delete all food from active shopping lists." msgstr "" @@ -1048,8 +1024,8 @@ msgstr "" msgid "History" msgstr "" -#: .\cookbook\templates\base.html:228 .\cookbook\templates\export.html:14 -#: .\cookbook\templates\export.html:20 +#: .\cookbook\templates\base.html:228 +#: .\cookbook\templates\export_response.html:7 #: .\cookbook\templates\shopping_list.html:310 #: .\cookbook\templates\test2.html:14 .\cookbook\templates\test2.html:20 msgid "Export" @@ -1138,7 +1114,6 @@ msgstr "" #: .\cookbook\templates\forms\edit_import_recipe.html:14 #: .\cookbook\templates\generic\edit_template.html:23 #: .\cookbook\templates\generic\new_template.html:23 -#: .\cookbook\templates\include\log_cooking.html:30 #: .\cookbook\templates\settings.html:70 .\cookbook\templates\settings.html:112 #: .\cookbook\templates\settings.html:130 #: .\cookbook\templates\settings.html:202 @@ -1179,7 +1154,7 @@ msgstr "" msgid "Recipe Books" msgstr "" -#: .\cookbook\templates\export.html:6 .\cookbook\templates\test2.html:6 +#: .\cookbook\templates\export.html:8 .\cookbook\templates\test2.html:6 msgid "Export Recipes" msgstr "" @@ -1297,19 +1272,12 @@ msgstr "" msgid "Import" msgstr "" -#: .\cookbook\templates\include\log_cooking.html:9 -msgid "Log Recipe Cooking" +#: .\cookbook\templates\include\recipe_open_modal.html:7 +#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 +#: .\cookbook\views\new.py:53 +msgid "Recipe" msgstr "" -#: .\cookbook\templates\include\log_cooking.html:15 -msgid "All fields are optional and can be left empty." -msgstr "" - -#: .\cookbook\templates\include\log_cooking.html:21 -msgid "Rating" -msgstr "" - -#: .\cookbook\templates\include\log_cooking.html:29 #: .\cookbook\templates\include\recipe_open_modal.html:18 msgid "Close" msgstr "" @@ -1400,7 +1368,7 @@ msgstr "" #: .\cookbook\templates\markdown_info.html:57 #: .\cookbook\templates\markdown_info.html:73 -msgid "or by leaving a blank line inbetween." +msgid "or by leaving a blank line in between." msgstr "" #: .\cookbook\templates\markdown_info.html:59 @@ -1424,7 +1392,7 @@ msgstr "" #: .\cookbook\templates\markdown_info.html:85 msgid "" -"Lists can ordered or unorderd. It is important to leave a blank line " +"Lists can ordered or unordered. It is important to leave a blank line " "before the list!" msgstr "" @@ -1686,7 +1654,7 @@ msgstr "" msgid "" " \n" " Simple searches ignore punctuation and common words such as " -"'the', 'a', 'and'. And will treat seperate words as required.\n" +"'the', 'a', 'and'. And will treat separate 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" @@ -1711,7 +1679,7 @@ msgid "" "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) " +" 'or' is recognized 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" @@ -1741,7 +1709,7 @@ msgid "" "'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 " +"will find misspelled words such as 'sandwhich' that would be missed by other " "methods.\n" " " msgstr "" @@ -2000,7 +1968,7 @@ msgid "Finished" msgstr "" #: .\cookbook\templates\shopping_list.html:267 -msgid "You are offline, shopping list might not syncronize." +msgid "You are offline, shopping list might not synchronize." msgstr "" #: .\cookbook\templates\shopping_list.html:318 @@ -2258,6 +2226,14 @@ msgstr "" msgid "App" msgstr "" +#: .\cookbook\templates\url_import.html:44 +msgid "Text" +msgstr "" + +#: .\cookbook\templates\url_import.html:46 +msgid "File" +msgstr "" + #: .\cookbook\templates\url_import.html:64 msgid "Enter website URL" msgstr "" @@ -2420,202 +2396,203 @@ msgstr "" msgid "Recipe Markup Specification" msgstr "" -#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:170 +#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:174 msgid "Parameter updated_at incorrectly formatted" msgstr "" -#: .\cookbook\views\api.py:190 .\cookbook\views\api.py:291 +#: .\cookbook\views\api.py:194 .\cookbook\views\api.py:295 #, python-brace-format msgid "No {self.basename} with id {pk} exists" msgstr "" -#: .\cookbook\views\api.py:194 +#: .\cookbook\views\api.py:198 msgid "Cannot merge with the same object!" msgstr "" -#: .\cookbook\views\api.py:201 +#: .\cookbook\views\api.py:205 #, python-brace-format msgid "No {self.basename} with id {target} exists" msgstr "" -#: .\cookbook\views\api.py:206 +#: .\cookbook\views\api.py:210 msgid "Cannot merge with child object!" msgstr "" -#: .\cookbook\views\api.py:239 +#: .\cookbook\views\api.py:243 #, python-brace-format msgid "{source.name} was merged successfully with {target.name}" msgstr "" -#: .\cookbook\views\api.py:244 +#: .\cookbook\views\api.py:248 #, python-brace-format msgid "An error occurred attempting to merge {source.name} with {target.name}" msgstr "" -#: .\cookbook\views\api.py:300 +#: .\cookbook\views\api.py:304 #, python-brace-format msgid "{child.name} was moved successfully to the root." msgstr "" -#: .\cookbook\views\api.py:303 .\cookbook\views\api.py:321 +#: .\cookbook\views\api.py:307 .\cookbook\views\api.py:325 msgid "An error occurred attempting to move " msgstr "" -#: .\cookbook\views\api.py:306 +#: .\cookbook\views\api.py:310 msgid "Cannot move an object to itself!" msgstr "" -#: .\cookbook\views\api.py:312 +#: .\cookbook\views\api.py:316 #, python-brace-format msgid "No {self.basename} with id {parent} exists" msgstr "" -#: .\cookbook\views\api.py:318 +#: .\cookbook\views\api.py:322 #, python-brace-format msgid "{child.name} was moved successfully to parent {parent.name}" msgstr "" -#: .\cookbook\views\api.py:470 +#: .\cookbook\views\api.py:474 #, python-brace-format msgid "{obj.name} was removed from the shopping list." msgstr "" -#: .\cookbook\views\api.py:475 .\cookbook\views\api.py:726 +#: .\cookbook\views\api.py:479 .\cookbook\views\api.py:729 +#: .\cookbook\views\api.py:742 #, python-brace-format msgid "{obj.name} was added to the shopping list." msgstr "" -#: .\cookbook\views\api.py:587 +#: .\cookbook\views\api.py:591 msgid "ID of recipe a step is part of. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:588 +#: .\cookbook\views\api.py:592 msgid "Query string matched (fuzzy) against object name." msgstr "" -#: .\cookbook\views\api.py:631 +#: .\cookbook\views\api.py:635 msgid "" "Query string matched (fuzzy) against recipe name. In the future also " "fulltext search." msgstr "" -#: .\cookbook\views\api.py:632 +#: .\cookbook\views\api.py:636 msgid "ID of keyword a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:633 +#: .\cookbook\views\api.py:637 msgid "ID of food a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:634 +#: .\cookbook\views\api.py:638 msgid "ID of unit a recipe should have." msgstr "" -#: .\cookbook\views\api.py:635 +#: .\cookbook\views\api.py:639 msgid "Rating a recipe should have. [0 - 5]" msgstr "" -#: .\cookbook\views\api.py:636 +#: .\cookbook\views\api.py:640 msgid "ID of book a recipe should be in. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:637 +#: .\cookbook\views\api.py:641 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided keywords." msgstr "" -#: .\cookbook\views\api.py:638 +#: .\cookbook\views\api.py:642 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided foods." msgstr "" -#: .\cookbook\views\api.py:639 +#: .\cookbook\views\api.py:643 msgid "" "If recipe should be in all (AND=false) or any (OR=true) of the " "provided books." msgstr "" -#: .\cookbook\views\api.py:640 +#: .\cookbook\views\api.py:644 msgid "If only internal recipes should be returned. [true/false]" msgstr "" -#: .\cookbook\views\api.py:641 +#: .\cookbook\views\api.py:645 msgid "Returns the results in randomized order. [true/false]" msgstr "" -#: .\cookbook\views\api.py:642 +#: .\cookbook\views\api.py:646 msgid "Returns new results first in search results. [true/false]" msgstr "" -#: .\cookbook\views\api.py:768 +#: .\cookbook\views\api.py:784 msgid "" "Returns the shopping list entry with a primary key of id. Multiple values " "allowed." msgstr "" -#: .\cookbook\views\api.py:771 +#: .\cookbook\views\api.py:787 msgid "" "Filter shopping list entries on checked. [true, false, both, recent]
- recent includes unchecked items and recently completed items." msgstr "" -#: .\cookbook\views\api.py:773 +#: .\cookbook\views\api.py:789 msgid "Returns the shopping list entries sorted by supermarket category order." msgstr "" -#: .\cookbook\views\api.py:922 .\cookbook\views\data.py:42 +#: .\cookbook\views\api.py:949 .\cookbook\views\data.py:42 #: .\cookbook\views\edit.py:129 .\cookbook\views\new.py:95 msgid "This feature is not yet available in the hosted version of tandoor!" msgstr "" -#: .\cookbook\views\api.py:944 +#: .\cookbook\views\api.py:971 msgid "Sync successful!" msgstr "" -#: .\cookbook\views\api.py:949 +#: .\cookbook\views\api.py:976 msgid "Error synchronizing with Storage" msgstr "" -#: .\cookbook\views\api.py:1028 +#: .\cookbook\views\api.py:1055 msgid "Nothing to do." msgstr "" -#: .\cookbook\views\api.py:1043 +#: .\cookbook\views\api.py:1070 msgid "The requested site provided malformed data and cannot be read." msgstr "" -#: .\cookbook\views\api.py:1050 +#: .\cookbook\views\api.py:1077 msgid "The requested page could not be found." msgstr "" -#: .\cookbook\views\api.py:1068 +#: .\cookbook\views\api.py:1095 msgid "" "The requested site does not provide any recognized data format to import the " "recipe from." msgstr "" -#: .\cookbook\views\api.py:1082 +#: .\cookbook\views\api.py:1109 msgid "Connection Refused." msgstr "" -#: .\cookbook\views\api.py:1091 -msgid "No useable data could be found." +#: .\cookbook\views\api.py:1118 +msgid "No usable data could be found." msgstr "" -#: .\cookbook\views\api.py:1107 +#: .\cookbook\views\api.py:1134 msgid "I couldn't find anything to do." msgstr "" #: .\cookbook\views\data.py:34 .\cookbook\views\data.py:129 -#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:80 +#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:81 #: .\cookbook\views\new.py:33 msgid "You have reached the maximum number of recipes for your space." msgstr "" #: .\cookbook\views\data.py:38 .\cookbook\views\data.py:133 -#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:84 +#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:85 #: .\cookbook\views\new.py:37 msgid "You have more users than allowed in your space." msgstr "" @@ -2673,20 +2650,16 @@ msgstr "" msgid "Error saving changes!" msgstr "" -#: .\cookbook\views\import_export.py:106 +#: .\cookbook\views\import_export.py:107 .\cookbook\views\import_export.py:143 msgid "Importing is not implemented for this provider" msgstr "" -#: .\cookbook\views\import_export.py:127 +#: .\cookbook\views\import_export.py:130 msgid "" "The PDF Exporter is not enabled on this instance as it is still in an " "experimental state." msgstr "" -#: .\cookbook\views\import_export.py:132 -msgid "Exporting is not implemented for this provider" -msgstr "" - #: .\cookbook\views\lists.py:25 msgid "Import Log" msgstr "" @@ -2803,44 +2776,44 @@ msgstr "" msgid "Fuzzy search is not compatible with this search method!" msgstr "" -#: .\cookbook\views\views.py:470 +#: .\cookbook\views\views.py:473 msgid "" "The setup page can only be used to create the first user! If you have " "forgotten your superuser credentials please consult the django documentation " "on how to reset passwords." msgstr "" -#: .\cookbook\views\views.py:477 +#: .\cookbook\views\views.py:480 msgid "Passwords dont match!" msgstr "" -#: .\cookbook\views\views.py:493 +#: .\cookbook\views\views.py:496 msgid "User has been created, please login!" msgstr "" -#: .\cookbook\views\views.py:509 +#: .\cookbook\views\views.py:512 msgid "Malformed Invite Link supplied!" msgstr "" -#: .\cookbook\views\views.py:516 +#: .\cookbook\views\views.py:519 msgid "You are already member of a space and therefore cannot join this one." msgstr "" -#: .\cookbook\views\views.py:527 +#: .\cookbook\views\views.py:530 msgid "Successfully joined space." msgstr "" -#: .\cookbook\views\views.py:533 +#: .\cookbook\views\views.py:536 msgid "Invite Link not valid or already used!" msgstr "" -#: .\cookbook\views\views.py:614 +#: .\cookbook\views\views.py:617 msgid "" "Reporting share links is not enabled for this instance. Please notify the " "page administrator to report problems." msgstr "" -#: .\cookbook\views\views.py:620 +#: .\cookbook\views\views.py:623 msgid "" "Recipe sharing link has been disabled! For additional information please " "contact the page administrator." diff --git a/cookbook/locale/zh_CN/LC_MESSAGES/django.po b/cookbook/locale/zh_CN/LC_MESSAGES/django.po index b1a09da13..13579bf31 100644 --- a/cookbook/locale/zh_CN/LC_MESSAGES/django.po +++ b/cookbook/locale/zh_CN/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: 2022-01-22 03:30+0000\n" "Last-Translator: 糖多 <1365143958@qq.com>\n" "Language-Team: Chinese (Simplified) /remote." "php/webdav/ is added automatically)" -msgstr "Dropbox 留空并输入基础 Nextcloud 网址(/remote.php/webdav/ 会自动添加)" +msgstr "" +"Dropbox 留空并输入基础 Nextcloud 网址(/remote.php/webdav/ 会自" +"动添加)" #: .\cookbook\forms.py:266 .\cookbook\views\edit.py:166 msgid "Storage" @@ -232,7 +236,8 @@ msgstr "你可以在设置中列出默认用户来分享菜谱。" msgid "" "You can use markdown to format this field. See the docs here" -msgstr "可以使用 Markdown 设置此字段格式。查看文档" +msgstr "" +"可以使用 Markdown 设置此字段格式。查看文档" #: .\cookbook\forms.py:363 msgid "Maximum number of users for this space reached." @@ -260,14 +265,17 @@ msgstr "接受条款及隐私政策" msgid "" "Determines how fuzzy a search is if it uses trigram similarity matching (e." "g. low values mean more typos are ignored)." -msgstr "确定使用三元图相似性匹配时搜索的模糊程度(例如,较低的值意味着忽略更多的打字错误)。" +msgstr "" +"确定使用三元图相似性匹配时搜索的模糊程度(例如,较低的值意味着忽略更多的打字" +"错误)。" #: .\cookbook\forms.py:445 #, fuzzy msgid "" "Select type method of search. Click here for " -"full desciption of choices." -msgstr "选择搜索类型方法。点击此处 查看选项的完整说明。" +"full description of choices." +msgstr "" +"选择搜索类型方法。点击此处 查看选项的完整说明。" #: .\cookbook\forms.py:446 msgid "" @@ -297,7 +305,9 @@ msgstr "用于搜索开头匹配的字段。(如搜索“sa”会返回“sala 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 "“模糊”搜索字段。(例如搜索“recpie”将会找到“recipe”。)注意:此选项将与“web”和“raw”搜索方法冲突。" +msgstr "" +"“模糊”搜索字段。(例如搜索“recpie”将会找到“recipe”。)注意:此选项将" +"与“web”和“raw”搜索方法冲突。" #: .\cookbook\forms.py:456 msgid "" @@ -322,7 +332,9 @@ msgid "Partial Match" msgstr "部分匹配" #: .\cookbook\forms.py:464 -msgid "Starts Wtih" +#, fuzzy +#| msgid "Starts Wtih" +msgid "Starts With" msgstr "起始于" #: .\cookbook\forms.py:465 @@ -337,7 +349,9 @@ msgstr "全文" msgid "" "Users will see all items you add to your shopping list. They must add you " "to see items on their list." -msgstr "用户将看到你添加到购物清单中的所有商品。他们必须将你添加到列表才能看到他们清单上的项目。" +msgstr "" +"用户将看到你添加到购物清单中的所有商品。他们必须将你添加到列表才能看到他们清" +"单上的项目。" #: .\cookbook\forms.py:497 msgid "" @@ -467,16 +481,14 @@ msgstr "你没有必要的权限来查看这个页面!" msgid "You cannot interact with this object as it is not owned by you!" msgstr "你不能与此对象交互,因为它不属于你!" -#: .\cookbook\helper\recipe_search.py:473 +#: .\cookbook\helper\recipe_search.py:486 msgid "One of queryset or hash_key must be provided" msgstr "必须提供 queryset 或 hash_key 之一" -#: .\cookbook\helper\shopping_helper.py:54 -msgid "You must supply a recipe or mealplan" -msgstr "你必须提供菜谱或膳食计划" - -#: .\cookbook\helper\shopping_helper.py:58 -msgid "You must supply a created_by" +#: .\cookbook\helper\shopping_helper.py:148 +#, fuzzy +#| msgid "You must supply a created_by" +msgid "You must supply a servings size" msgstr "你必须提供创建者" #: .\cookbook\helper\template_helper.py:61 @@ -484,23 +496,23 @@ msgstr "你必须提供创建者" msgid "Could not parse template code." msgstr "无法解析模板代码。" -#: .\cookbook\integration\integration.py:200 +#: .\cookbook\integration\integration.py:213 msgid "" "Importer expected a .zip file. Did you choose the correct importer type for " "your data ?" msgstr "需要一个 .zip 文件。你是否为数据选择了正确的导入器类型?" -#: .\cookbook\integration\integration.py:203 +#: .\cookbook\integration\integration.py:216 msgid "" "An unexpected error occurred during the import. Please make sure you have " "uploaded a valid file." msgstr "在导入过程中发生了一个意外的错误。请确认你已经上传了一个有效的文件。" -#: .\cookbook\integration\integration.py:208 +#: .\cookbook\integration\integration.py:221 msgid "The following recipes were ignored because they already existed:" msgstr "以下菜谱被忽略了,因为它们已经存在了:" -#: .\cookbook\integration\integration.py:212 +#: .\cookbook\integration\integration.py:225 #, python-format msgid "Imported %s recipes." msgstr "导入了%s菜谱。" @@ -518,7 +530,6 @@ msgid "Source" msgstr "来源" #: .\cookbook\integration\saffron.py:23 -#: .\cookbook\templates\include\log_cooking.html:18 #: .\cookbook\templates\url_import.html:231 #: .\cookbook\templates\url_import.html:462 msgid "Servings" @@ -547,7 +558,9 @@ msgid "Rebuilds full text search index on Recipe" msgstr "在菜谱上重建全文搜索索引" #: .\cookbook\management\commands\rebuildindex.py:18 -msgid "Only Postgress databases use full text search, no index to rebuild" +#, 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 "仅 Postgress 数据库使用全文搜索,没有重建索引" #: .\cookbook\management\commands\rebuildindex.py:29 @@ -609,93 +622,74 @@ msgstr "大" msgid "New" msgstr "新" -#: .\cookbook\models.py:512 +#: .\cookbook\models.py:513 msgid " is part of a recipe step and cannot be deleted" msgstr " 是菜谱步骤的一部分,不能删除" -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:44 -msgid "Text" -msgstr "文本" - -#: .\cookbook\models.py:586 -msgid "Time" -msgstr "时间" - -#: .\cookbook\models.py:586 .\cookbook\templates\url_import.html:46 -msgid "File" -msgstr "文件" - -#: .\cookbook\models.py:586 -#: .\cookbook\templates\include\recipe_open_modal.html:7 -#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 -#: .\cookbook\views\new.py:53 -msgid "Recipe" -msgstr "菜谱" - -#: .\cookbook\models.py:1041 .\cookbook\templates\search_info.html:28 +#: .\cookbook\models.py:1065 .\cookbook\templates\search_info.html:28 msgid "Simple" msgstr "简明" -#: .\cookbook\models.py:1042 .\cookbook\templates\search_info.html:33 +#: .\cookbook\models.py:1066 .\cookbook\templates\search_info.html:33 msgid "Phrase" msgstr "短语" -#: .\cookbook\models.py:1043 .\cookbook\templates\search_info.html:38 +#: .\cookbook\models.py:1067 .\cookbook\templates\search_info.html:38 msgid "Web" msgstr "网络" -#: .\cookbook\models.py:1044 .\cookbook\templates\search_info.html:47 +#: .\cookbook\models.py:1068 .\cookbook\templates\search_info.html:47 msgid "Raw" msgstr "原始" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Food Alias" msgstr "食物别名" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Unit Alias" msgstr "单位别名" -#: .\cookbook\models.py:1082 +#: .\cookbook\models.py:1106 msgid "Keyword Alias" msgstr "关键词别名" -#: .\cookbook\serializer.py:175 +#: .\cookbook\serializer.py:180 msgid "A user is required" msgstr "需要一个用户" -#: .\cookbook\serializer.py:195 +#: .\cookbook\serializer.py:200 msgid "File uploads are not enabled for this Space." msgstr "未为此空间启用文件上传。" -#: .\cookbook\serializer.py:206 +#: .\cookbook\serializer.py:211 msgid "You have reached your file upload limit." msgstr "你已达到文件上传的限制。" -#: .\cookbook\serializer.py:962 +#: .\cookbook\serializer.py:977 msgid "Existing shopping list to update" msgstr "要更新现有的购物清单" -#: .\cookbook\serializer.py:964 +#: .\cookbook\serializer.py:979 msgid "" "List of ingredient IDs from the recipe to add, if not provided all " "ingredients will be added." msgstr "要添加的菜谱中材料识别符列表,不提供则添加所有材料。" -#: .\cookbook\serializer.py:965 +#: .\cookbook\serializer.py:980 msgid "" "Providing a list_recipe ID and servings of 0 will delete that shopping list." msgstr "提供一个菜谱列表识别符或份数为0将删除该购物清单。" -#: .\cookbook\serializer.py:973 +#: .\cookbook\serializer.py:988 msgid "Amount of food to add to the shopping list" msgstr "要添加到购物清单中的食物数量" -#: .\cookbook\serializer.py:974 +#: .\cookbook\serializer.py:989 msgid "ID of unit to use for the shopping list" msgstr "用于购物清单的单位识别符" -#: .\cookbook\serializer.py:975 +#: .\cookbook\serializer.py:990 msgid "When set to true will delete all food from active shopping lists." msgstr "当设置为 true 时,将从活动的购物列表中删除所有食物。" @@ -789,7 +783,9 @@ msgstr "警告:" 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 "你目前没有设置任何电子邮件地址。你真的应该添加一个电子邮件地址,这样你就可以收到通知,重置你的密码等等。" +msgstr "" +"你目前没有设置任何电子邮件地址。你真的应该添加一个电子邮件地址,这样你就可以" +"收到通知,重置你的密码等等。" #: .\cookbook\templates\account\email.html:64 msgid "Add E-mail Address" @@ -817,8 +813,8 @@ msgid "" " ." msgstr "" "请确认\n" -" %(email)s 是用户 %(user_display)s " -"的电子邮件地址\n" +" %(email)s 是用户 " +"%(user_display)s 的电子邮件地址\n" " ." #: .\cookbook\templates\account\email_confirm.html:22 @@ -940,7 +936,8 @@ msgid "" "password reset." msgstr "" "密码重置链接无效,可能是因为它已经被使用。\n" -" 请重新请求 重设密码。" +" 请重新请求 重设密码。" #: .\cookbook\templates\account\password_reset_from_key.html:33 msgid "change password" @@ -1053,8 +1050,8 @@ msgstr "批量编辑" msgid "History" msgstr "历史" -#: .\cookbook\templates\base.html:228 .\cookbook\templates\export.html:14 -#: .\cookbook\templates\export.html:20 +#: .\cookbook\templates\base.html:228 +#: .\cookbook\templates\export_response.html:7 #: .\cookbook\templates\shopping_list.html:310 #: .\cookbook\templates\test2.html:14 .\cookbook\templates\test2.html:20 msgid "Export" @@ -1143,7 +1140,6 @@ msgstr "路径必须采用以下格式" #: .\cookbook\templates\forms\edit_import_recipe.html:14 #: .\cookbook\templates\generic\edit_template.html:23 #: .\cookbook\templates\generic\new_template.html:23 -#: .\cookbook\templates\include\log_cooking.html:30 #: .\cookbook\templates\settings.html:70 .\cookbook\templates\settings.html:112 #: .\cookbook\templates\settings.html:130 #: .\cookbook\templates\settings.html:202 @@ -1184,7 +1180,7 @@ msgstr "这可能需要几分钟,取决于同步的菜谱数量,请等待。 msgid "Recipe Books" msgstr "菜谱书" -#: .\cookbook\templates\export.html:6 .\cookbook\templates\test2.html:6 +#: .\cookbook\templates\export.html:8 .\cookbook\templates\test2.html:6 msgid "Export Recipes" msgstr "导出菜谱" @@ -1306,19 +1302,12 @@ msgstr "导入菜谱" msgid "Import" msgstr "导入" -#: .\cookbook\templates\include\log_cooking.html:9 -msgid "Log Recipe Cooking" -msgstr "菜谱烹饪记录" +#: .\cookbook\templates\include\recipe_open_modal.html:7 +#: .\cookbook\views\delete.py:39 .\cookbook\views\edit.py:260 +#: .\cookbook\views\new.py:53 +msgid "Recipe" +msgstr "菜谱" -#: .\cookbook\templates\include\log_cooking.html:15 -msgid "All fields are optional and can be left empty." -msgstr "所有字段都是可选的,可以留空。" - -#: .\cookbook\templates\include\log_cooking.html:21 -msgid "Rating" -msgstr "评分" - -#: .\cookbook\templates\include\log_cooking.html:29 #: .\cookbook\templates\include\recipe_open_modal.html:18 msgid "Close" msgstr "关闭" @@ -1345,7 +1334,8 @@ msgid "" msgstr "" "\n" " 密码和令牌字段在数据库中存储为明文。\n" -" 这是必要的,因为它们需要发出应用程序接口请求,但这也增加了被窃取的风险。
\n" +" 这是必要的,因为它们需要发出应用程序接口请求,但这也增加了被窃取的风" +"险。
\n" " 为了限制可能的损害,可以使用访问受限的令牌或帐户。\n" " " @@ -1400,8 +1390,8 @@ msgid "" msgstr "" "\n" " Markdown 是轻量标记语言,很方便格式化纯文本。\n" -" 本站使用
Python Markdown 库转换你的文本信息成好看的 HTML。\n" +" 本站使用 Python Markdown 库转换你的文本信息成好看的 HTML。\n" " 完整的 Markdown 文档可 点击这里 查看。\n" " 下面可以找到一个不完整但很可能够用的文档。\n" @@ -1422,7 +1412,9 @@ msgstr "通过在行尾后添加两个空格插入换行符" #: .\cookbook\templates\markdown_info.html:57 #: .\cookbook\templates\markdown_info.html:73 -msgid "or by leaving a blank line inbetween." +#, fuzzy +#| msgid "or by leaving a blank line inbetween." +msgid "or by leaving a blank line in between." msgstr "或者在中间留一个空行。" #: .\cookbook\templates\markdown_info.html:59 @@ -1445,8 +1437,12 @@ msgid "Lists" msgstr "列表" #: .\cookbook\templates\markdown_info.html:85 +#, fuzzy +#| msgid "" +#| "Lists can ordered or unorderd. It is important to leave a blank line " +#| "before the list!" msgid "" -"Lists can ordered or unorderd. It is important to leave a blank line " +"Lists can ordered or unordered. It is important to leave a blank line " "before the list!" msgstr "列表可以是有序或无序的。重要的是 在列表前留下一个空行!" @@ -1486,7 +1482,9 @@ msgstr "图片和链接" msgid "" "Links can be formatted with Markdown. This application also allows to paste " "links directly into markdown fields without any formatting." -msgstr "链接可以使用 Markdown 格式化。此应用程序还允许粘贴链接到 markdown 字段而无需格式化。" +msgstr "" +"链接可以使用 Markdown 格式化。此应用程序还允许粘贴链接到 markdown 字段而无需" +"格式化。" #: .\cookbook\templates\markdown_info.html:132 #: .\cookbook\templates\markdown_info.html:145 @@ -1504,8 +1502,8 @@ msgid "" "\"noreferrer noopener\" target=\"_blank\">this one." msgstr "" "Markdown 表格难以手写。推荐使用像 这个 " -"的表格编辑器。" +"markdown_tables\" rel=\"noreferrer noopener\" target=\"_blank\">这个 的表" +"格编辑器。" #: .\cookbook\templates\markdown_info.html:155 #: .\cookbook\templates\markdown_info.html:157 @@ -1604,7 +1602,9 @@ msgstr "加入一个现有的空间。" msgid "" "To join an existing space either enter your invite token or click on the " "invite link the space owner send you." -msgstr "要加入一个现有的空间,要么输入你的邀请令牌,要么单击空间所有者发送给你的邀请链接。" +msgstr "" +"要加入一个现有的空间,要么输入你的邀请令牌,要么单击空间所有者发送给你的邀请" +"链接。" #: .\cookbook\templates\no_space_info.html:48 #: .\cookbook\templates\no_space_info.html:56 @@ -1631,7 +1631,9 @@ msgstr "你目前处于离线状态!" 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 "下面列出的菜谱可以离线查看,因为你最近已经查看过了。请记住,数据可能是过时的。" +msgstr "" +"下面列出的菜谱可以离线查看,因为你最近已经查看过了。请记住,数据可能是过时" +"的。" #: .\cookbook\templates\recipe_view.html:26 msgid "by" @@ -1690,7 +1692,8 @@ msgstr "" "\n" " 创造最佳的搜索体验非常复杂,并且对您的个人配置有很大影响。\n" " 改变任何搜索设置都可能对搜索结果的速度和质量产生重大影响。\n" -" 只有在数据库使用 Postgres 时,才可以使用搜索方法、卦和全文搜索配置。\n" +" 只有在数据库使用 Postgres 时,才可以使用搜索方法、卦和全文搜索配" +"置。\n" " " #: .\cookbook\templates\search_info.html:19 @@ -1712,25 +1715,39 @@ msgid "" " " msgstr "" " \n" -" 全文搜索尝试规范化提供的单词以匹配常见变体。例如:“forked”、“forking”、“forks”都将归为“fork”。\n" -" 下面将介绍几种可用的方法,可以控制搜索多个单词时搜索行为的反应。\n" -" 关于这些操作的完整技术细节可以在 Postgresql的网站 上查看。\n" +" 全文搜索尝试规范化提供的单词以匹配常见变体。例" +"如:“forked”、“forking”、“forks”都将归为“fork”。\n" +" 下面将介绍几种可用的方法,可以控制搜索多个单词时搜索行为的反" +"应。\n" +" 关于这些操作的完整技术细节可以在 Postgresql的网站 上查看。\n" " " #: .\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 " -"'the', 'a', 'and'. And will treat seperate words as required.\n" +"'the', 'a', 'and'. And will treat separate 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" " " msgstr "" " \n" -" 简单搜索会忽略标点符号和常用词,如“the”、“a”、“and”。并将根据需要处理单独的单词。\n" -" 搜索“apple or flour”将会在全文搜索中返回任意包含“apple”和“flour”的菜谱。\n" +" 简单搜索会忽略标点符号和常用词,如“the”、“a”、“and”。并将根据需要" +"处理单独的单词。\n" +" 搜索“apple or flour”将会在全文搜索中返回任意包" +"含“apple”和“flour”的菜谱。\n" " " #: .\cookbook\templates\search_info.html:34 @@ -1751,7 +1768,7 @@ msgid "" "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) " +" 'or' is recognized 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" @@ -1781,7 +1798,7 @@ msgid "" "'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 " +"will find misspelled words such as 'sandwhich' that would be missed by other " "methods.\n" " " msgstr "" @@ -1895,7 +1912,9 @@ msgstr "应用程序接口令牌" msgid "" "You can use both basic authentication and token based authentication to " "access the REST API." -msgstr "您可以使用基本身份验证和基于令牌的身份验证来访问表现层状态转换应用程序接口(REST API)。" +msgstr "" +"您可以使用基本身份验证和基于令牌的身份验证来访问表现层状态转换应用程序接口" +"(REST API)。" #: .\cookbook\templates\settings.html:160 msgid "" @@ -1917,13 +1936,16 @@ msgstr "根据个人偏好,有许多选项可以配置搜索。" msgid "" "Usually you do not need to configure any of them and can just stick " "with either the default or one of the following presets." -msgstr "通常你 不需要 配置它们中的任何一个,只需使用默认设置或以下预设值之一。" +msgstr "" +"通常你 不需要 配置它们中的任何一个,只需使用默认设置或以下预设值之一。" #: .\cookbook\templates\settings.html:175 msgid "" "If you do want to configure the search you can read about the different " "options here." -msgstr "如果你想要配置搜索,可以在 这里 阅读不同的选项。" +msgstr "" +"如果你想要配置搜索,可以在 这里 阅读不同的选" +"项。" #: .\cookbook\templates\settings.html:180 msgid "Fuzzy" @@ -1934,7 +1956,9 @@ msgid "" "Find what you need even if your search or the recipe contains typos. Might " "return more results than needed to make sure you find what you are looking " "for." -msgstr "即使你的搜索或菜谱中有拼写错误,也要找到你需要的东西。可能会返回比需要更多的结果,以确保你找到所需的内容。" +msgstr "" +"即使你的搜索或菜谱中有拼写错误,也要找到你需要的东西。可能会返回比需要更多的" +"结果,以确保你找到所需的内容。" #: .\cookbook\templates\settings.html:182 msgid "This is the default behavior" @@ -1953,7 +1977,8 @@ msgstr "精确" msgid "" "Allows fine control over search results but might not return results if too " "many spelling mistakes are made." -msgstr "允许对搜索结果进行精细控制,但如果出现太多拼写错误,则可能不会返回结果。" +msgstr "" +"允许对搜索结果进行精细控制,但如果出现太多拼写错误,则可能不会返回结果。" #: .\cookbook\templates\settings.html:190 msgid "Perfect for large Databases" @@ -2042,7 +2067,9 @@ msgid "Finished" msgstr "完成" #: .\cookbook\templates\shopping_list.html:267 -msgid "You are offline, shopping list might not syncronize." +#, fuzzy +#| msgid "You are offline, shopping list might not syncronize." +msgid "You are offline, shopping list might not synchronize." msgstr "你已离线,购物清单可能无法同步。" #: .\cookbook\templates\shopping_list.html:318 @@ -2203,10 +2230,10 @@ msgid "" msgstr "" "\n" " Django Recipes 是一个开源应用程序。\n" -" 你可以在 GitHub " -"中找到。\n" -" 更新日志在 这里。\n" +" 你可以在 GitHub 中找到。\n" +" 更新日志在 这里。\n" " " #: .\cookbook\templates\system.html:48 @@ -2233,8 +2260,8 @@ msgid "" " " msgstr "" "不推荐 使用 gunicorn/python 提供媒体文件。\n" -" 请按照 这里 描述的步骤操作更新安装。\n" +" 请按照 这里 描述的步骤操作更新安装。\n" " " #: .\cookbook\templates\system.html:57 .\cookbook\templates\system.html:73 @@ -2311,6 +2338,14 @@ msgstr "链接" msgid "App" msgstr "应用程序" +#: .\cookbook\templates\url_import.html:44 +msgid "Text" +msgstr "文本" + +#: .\cookbook\templates\url_import.html:46 +msgid "File" +msgstr "文件" + #: .\cookbook\templates\url_import.html:64 msgid "Enter website URL" msgstr "输入网站链接" @@ -2473,202 +2508,205 @@ msgstr "GitHub 问题" msgid "Recipe Markup Specification" msgstr "菜谱标记规范" -#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:170 +#: .\cookbook\views\api.py:88 .\cookbook\views\api.py:174 msgid "Parameter updated_at incorrectly formatted" msgstr "参数 updated_at 格式不正确" -#: .\cookbook\views\api.py:190 .\cookbook\views\api.py:291 +#: .\cookbook\views\api.py:194 .\cookbook\views\api.py:295 #, python-brace-format msgid "No {self.basename} with id {pk} exists" msgstr "" -#: .\cookbook\views\api.py:194 +#: .\cookbook\views\api.py:198 msgid "Cannot merge with the same object!" msgstr "无法与同一对象合并!" -#: .\cookbook\views\api.py:201 +#: .\cookbook\views\api.py:205 #, python-brace-format msgid "No {self.basename} with id {target} exists" msgstr "" -#: .\cookbook\views\api.py:206 +#: .\cookbook\views\api.py:210 msgid "Cannot merge with child object!" msgstr "无法与子对象合并!" -#: .\cookbook\views\api.py:239 +#: .\cookbook\views\api.py:243 #, python-brace-format msgid "{source.name} was merged successfully with {target.name}" msgstr "{source.name} 已成功与 {target.name} 合并" -#: .\cookbook\views\api.py:244 +#: .\cookbook\views\api.py:248 #, python-brace-format msgid "An error occurred attempting to merge {source.name} with {target.name}" msgstr "视图合并 {source.name} 和 {target.name} 时出错" -#: .\cookbook\views\api.py:300 +#: .\cookbook\views\api.py:304 #, python-brace-format msgid "{child.name} was moved successfully to the root." msgstr "{child.name} 已成功移动到根目录。" -#: .\cookbook\views\api.py:303 .\cookbook\views\api.py:321 +#: .\cookbook\views\api.py:307 .\cookbook\views\api.py:325 msgid "An error occurred attempting to move " msgstr "尝试移动时出错 " -#: .\cookbook\views\api.py:306 +#: .\cookbook\views\api.py:310 msgid "Cannot move an object to itself!" msgstr "无法将对象移动到自身!" -#: .\cookbook\views\api.py:312 +#: .\cookbook\views\api.py:316 #, python-brace-format msgid "No {self.basename} with id {parent} exists" msgstr "" -#: .\cookbook\views\api.py:318 +#: .\cookbook\views\api.py:322 #, python-brace-format msgid "{child.name} was moved successfully to parent {parent.name}" msgstr "{child.name} 成功移动到父节点 {parent.name}" -#: .\cookbook\views\api.py:470 +#: .\cookbook\views\api.py:474 #, python-brace-format msgid "{obj.name} was removed from the shopping list." msgstr "{obj.name} 已从购物清单中删除。" -#: .\cookbook\views\api.py:475 .\cookbook\views\api.py:726 +#: .\cookbook\views\api.py:479 .\cookbook\views\api.py:729 +#: .\cookbook\views\api.py:742 #, python-brace-format msgid "{obj.name} was added to the shopping list." msgstr "{obj.name} 已添加到购物清单中。" -#: .\cookbook\views\api.py:587 +#: .\cookbook\views\api.py:591 msgid "ID of recipe a step is part of. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:588 +#: .\cookbook\views\api.py:592 msgid "Query string matched (fuzzy) against object name." msgstr "" -#: .\cookbook\views\api.py:631 +#: .\cookbook\views\api.py:635 msgid "" "Query string matched (fuzzy) against recipe name. In the future also " "fulltext search." msgstr "" -#: .\cookbook\views\api.py:632 +#: .\cookbook\views\api.py:636 msgid "ID of keyword a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:633 +#: .\cookbook\views\api.py:637 msgid "ID of food a recipe should have. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:634 +#: .\cookbook\views\api.py:638 msgid "ID of unit a recipe should have." msgstr "" -#: .\cookbook\views\api.py:635 +#: .\cookbook\views\api.py:639 msgid "Rating a recipe should have. [0 - 5]" msgstr "" -#: .\cookbook\views\api.py:636 +#: .\cookbook\views\api.py:640 msgid "ID of book a recipe should be in. For multiple repeat parameter." msgstr "" -#: .\cookbook\views\api.py:637 +#: .\cookbook\views\api.py:641 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided keywords." msgstr "" -#: .\cookbook\views\api.py:638 +#: .\cookbook\views\api.py:642 msgid "" "If recipe should have all (AND=false) or any (OR=true) of the " "provided foods." msgstr "" -#: .\cookbook\views\api.py:639 +#: .\cookbook\views\api.py:643 msgid "" "If recipe should be in all (AND=false) or any (OR=true) of the " "provided books." msgstr "" -#: .\cookbook\views\api.py:640 +#: .\cookbook\views\api.py:644 msgid "If only internal recipes should be returned. [true/false]" msgstr "" -#: .\cookbook\views\api.py:641 +#: .\cookbook\views\api.py:645 msgid "Returns the results in randomized order. [true/false]" msgstr "" -#: .\cookbook\views\api.py:642 +#: .\cookbook\views\api.py:646 msgid "Returns new results first in search results. [true/false]" msgstr "" -#: .\cookbook\views\api.py:768 +#: .\cookbook\views\api.py:784 msgid "" "Returns the shopping list entry with a primary key of id. Multiple values " "allowed." msgstr "" -#: .\cookbook\views\api.py:771 +#: .\cookbook\views\api.py:787 msgid "" "Filter shopping list entries on checked. [true, false, both, recent]
- recent includes unchecked items and recently completed items." msgstr "" -#: .\cookbook\views\api.py:773 +#: .\cookbook\views\api.py:789 msgid "Returns the shopping list entries sorted by supermarket category order." msgstr "" -#: .\cookbook\views\api.py:922 .\cookbook\views\data.py:42 +#: .\cookbook\views\api.py:949 .\cookbook\views\data.py:42 #: .\cookbook\views\edit.py:129 .\cookbook\views\new.py:95 msgid "This feature is not yet available in the hosted version of tandoor!" msgstr "" -#: .\cookbook\views\api.py:944 +#: .\cookbook\views\api.py:971 msgid "Sync successful!" msgstr "同步成功!" -#: .\cookbook\views\api.py:949 +#: .\cookbook\views\api.py:976 msgid "Error synchronizing with Storage" msgstr "与存储同步时出错" -#: .\cookbook\views\api.py:1028 +#: .\cookbook\views\api.py:1055 msgid "Nothing to do." msgstr "无事可做。" -#: .\cookbook\views\api.py:1043 +#: .\cookbook\views\api.py:1070 msgid "The requested site provided malformed data and cannot be read." msgstr "请求的站点提供了格式错误的数据,无法读取。" -#: .\cookbook\views\api.py:1050 +#: .\cookbook\views\api.py:1077 msgid "The requested page could not be found." msgstr "找不到请求的页面。" -#: .\cookbook\views\api.py:1068 +#: .\cookbook\views\api.py:1095 msgid "" "The requested site does not provide any recognized data format to import the " "recipe from." msgstr "请求的站点未提供任何可识别的数据格式,无法从中导入菜谱。" -#: .\cookbook\views\api.py:1082 +#: .\cookbook\views\api.py:1109 msgid "Connection Refused." msgstr "连接被拒绝。" -#: .\cookbook\views\api.py:1091 -msgid "No useable data could be found." +#: .\cookbook\views\api.py:1118 +#, fuzzy +#| msgid "No useable data could be found." +msgid "No usable data could be found." msgstr "找不到可用的数据。" -#: .\cookbook\views\api.py:1107 +#: .\cookbook\views\api.py:1134 msgid "I couldn't find anything to do." msgstr "无所事事。" #: .\cookbook\views\data.py:34 .\cookbook\views\data.py:129 -#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:80 +#: .\cookbook\views\edit.py:49 .\cookbook\views\import_export.py:81 #: .\cookbook\views\new.py:33 msgid "You have reached the maximum number of recipes for your space." msgstr "你已经达到了空间的菜谱的最大数量。" #: .\cookbook\views\data.py:38 .\cookbook\views\data.py:133 -#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:84 +#: .\cookbook\views\edit.py:53 .\cookbook\views\import_export.py:85 #: .\cookbook\views\new.py:37 msgid "You have more users than allowed in your space." msgstr "你的空间中的用户数超过了允许的数量。" @@ -2726,20 +2764,16 @@ msgstr "更改已保存!" msgid "Error saving changes!" msgstr "保存更改时出错!" -#: .\cookbook\views\import_export.py:106 +#: .\cookbook\views\import_export.py:107 .\cookbook\views\import_export.py:143 msgid "Importing is not implemented for this provider" msgstr "此提供程序未实现导入" -#: .\cookbook\views\import_export.py:127 +#: .\cookbook\views\import_export.py:130 msgid "" "The PDF Exporter is not enabled on this instance as it is still in an " "experimental state." msgstr "此实例上未启用 PDF 导出器,因为它仍处于实验状态。" -#: .\cookbook\views\import_export.py:132 -msgid "Exporting is not implemented for this provider" -msgstr "此提供程序未实现导出" - #: .\cookbook\views\lists.py:25 msgid "Import Log" msgstr "导入日志" @@ -2856,49 +2890,69 @@ msgstr "要使用此搜索方法,至少选择一个全文搜索字段!" msgid "Fuzzy search is not compatible with this search method!" msgstr "模糊搜索与此搜索方法不兼容!" -#: .\cookbook\views\views.py:470 +#: .\cookbook\views\views.py:473 msgid "" "The setup page can only be used to create the first user! If you have " "forgotten your superuser credentials please consult the django documentation " "on how to reset passwords." -msgstr "设置页面只能用于创建第一个用户!如果您忘记了超级用户凭据,请参阅 Django 文档,了解如何重置密码。" +msgstr "" +"设置页面只能用于创建第一个用户!如果您忘记了超级用户凭据,请参阅 Django 文" +"档,了解如何重置密码。" -#: .\cookbook\views\views.py:477 +#: .\cookbook\views\views.py:480 msgid "Passwords dont match!" msgstr "密码不匹配!" -#: .\cookbook\views\views.py:493 +#: .\cookbook\views\views.py:496 msgid "User has been created, please login!" msgstr "用户已创建,请登录!" -#: .\cookbook\views\views.py:509 +#: .\cookbook\views\views.py:512 msgid "Malformed Invite Link supplied!" msgstr "提供了格式错误的邀请链接!" -#: .\cookbook\views\views.py:516 +#: .\cookbook\views\views.py:519 msgid "You are already member of a space and therefore cannot join this one." msgstr "你已是空间的成员,因此未能加入。" -#: .\cookbook\views\views.py:527 +#: .\cookbook\views\views.py:530 msgid "Successfully joined space." msgstr "成功加入空间。" -#: .\cookbook\views\views.py:533 +#: .\cookbook\views\views.py:536 msgid "Invite Link not valid or already used!" msgstr "邀请链接无效或已使用!" -#: .\cookbook\views\views.py:614 +#: .\cookbook\views\views.py:617 msgid "" "Reporting share links is not enabled for this instance. Please notify the " "page administrator to report problems." msgstr "未为此实例启用报告共享链接。请通知页面管理员报告问题。" -#: .\cookbook\views\views.py:620 +#: .\cookbook\views\views.py:623 msgid "" "Recipe sharing link has been disabled! For additional information please " "contact the page administrator." msgstr "菜谱共享链接已被禁用!有关更多信息,请与页面管理员联系。" +#~ msgid "You must supply a recipe or mealplan" +#~ msgstr "你必须提供菜谱或膳食计划" + +#~ msgid "Time" +#~ msgstr "时间" + +#~ msgid "Log Recipe Cooking" +#~ msgstr "菜谱烹饪记录" + +#~ msgid "All fields are optional and can be left empty." +#~ msgstr "所有字段都是可选的,可以留空。" + +#~ msgid "Rating" +#~ msgstr "评分" + +#~ msgid "Exporting is not implemented for this provider" +#~ msgstr "此提供程序未实现导出" + #~ msgid "New Unit" #~ msgstr "新单位" diff --git a/recipes/locale/ca/LC_MESSAGES/django.po b/recipes/locale/ca/LC_MESSAGES/django.po index a07297dfd..424442503 100644 --- a/recipes/locale/ca/LC_MESSAGES/django.po +++ b/recipes/locale/ca/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,50 +18,50 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: .\recipes\settings.py:357 +#: .\recipes\settings.py:360 msgid "Armenian " msgstr "" -#: .\recipes\settings.py:358 +#: .\recipes\settings.py:361 msgid "Catalan" msgstr "" -#: .\recipes\settings.py:359 +#: .\recipes\settings.py:362 msgid "Czech" msgstr "" -#: .\recipes\settings.py:360 +#: .\recipes\settings.py:363 msgid "Dutch" msgstr "" -#: .\recipes\settings.py:361 +#: .\recipes\settings.py:364 msgid "English" msgstr "" -#: .\recipes\settings.py:362 +#: .\recipes\settings.py:365 msgid "French" msgstr "" -#: .\recipes\settings.py:363 +#: .\recipes\settings.py:366 msgid "German" msgstr "" -#: .\recipes\settings.py:364 +#: .\recipes\settings.py:367 msgid "Italian" msgstr "" -#: .\recipes\settings.py:365 +#: .\recipes\settings.py:368 msgid "Latvian" msgstr "" -#: .\recipes\settings.py:366 +#: .\recipes\settings.py:369 msgid "Polish" msgstr "" -#: .\recipes\settings.py:367 +#: .\recipes\settings.py:370 msgid "Russian" msgstr "" -#: .\recipes\settings.py:368 +#: .\recipes\settings.py:371 msgid "Spanish" msgstr "" diff --git a/recipes/locale/de/LC_MESSAGES/django.po b/recipes/locale/de/LC_MESSAGES/django.po index 7d5e62edb..7988b7dc6 100644 --- a/recipes/locale/de/LC_MESSAGES/django.po +++ b/recipes/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,52 +18,52 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: .\recipes\settings.py:357 +#: .\recipes\settings.py:360 msgid "Armenian " msgstr "" -#: .\recipes\settings.py:358 +#: .\recipes\settings.py:361 msgid "Catalan" msgstr "" -#: .\recipes\settings.py:359 +#: .\recipes\settings.py:362 msgid "Czech" msgstr "" -#: .\recipes\settings.py:360 +#: .\recipes\settings.py:363 msgid "Dutch" msgstr "" -#: .\recipes\settings.py:361 +#: .\recipes\settings.py:364 msgid "English" msgstr "Englisch" -#: .\recipes\settings.py:362 +#: .\recipes\settings.py:365 msgid "French" msgstr "" -#: .\recipes\settings.py:363 +#: .\recipes\settings.py:366 msgid "German" msgstr "Deutsch" -#: .\recipes\settings.py:364 +#: .\recipes\settings.py:367 msgid "Italian" msgstr "" -#: .\recipes\settings.py:365 +#: .\recipes\settings.py:368 msgid "Latvian" msgstr "" -#: .\recipes\settings.py:366 +#: .\recipes\settings.py:369 #, fuzzy #| msgid "English" msgid "Polish" msgstr "Englisch" -#: .\recipes\settings.py:367 +#: .\recipes\settings.py:370 msgid "Russian" msgstr "" -#: .\recipes\settings.py:368 +#: .\recipes\settings.py:371 msgid "Spanish" msgstr "" diff --git a/recipes/locale/en/LC_MESSAGES/django.po b/recipes/locale/en/LC_MESSAGES/django.po index a07297dfd..424442503 100644 --- a/recipes/locale/en/LC_MESSAGES/django.po +++ b/recipes/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,50 +18,50 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: .\recipes\settings.py:357 +#: .\recipes\settings.py:360 msgid "Armenian " msgstr "" -#: .\recipes\settings.py:358 +#: .\recipes\settings.py:361 msgid "Catalan" msgstr "" -#: .\recipes\settings.py:359 +#: .\recipes\settings.py:362 msgid "Czech" msgstr "" -#: .\recipes\settings.py:360 +#: .\recipes\settings.py:363 msgid "Dutch" msgstr "" -#: .\recipes\settings.py:361 +#: .\recipes\settings.py:364 msgid "English" msgstr "" -#: .\recipes\settings.py:362 +#: .\recipes\settings.py:365 msgid "French" msgstr "" -#: .\recipes\settings.py:363 +#: .\recipes\settings.py:366 msgid "German" msgstr "" -#: .\recipes\settings.py:364 +#: .\recipes\settings.py:367 msgid "Italian" msgstr "" -#: .\recipes\settings.py:365 +#: .\recipes\settings.py:368 msgid "Latvian" msgstr "" -#: .\recipes\settings.py:366 +#: .\recipes\settings.py:369 msgid "Polish" msgstr "" -#: .\recipes\settings.py:367 +#: .\recipes\settings.py:370 msgid "Russian" msgstr "" -#: .\recipes\settings.py:368 +#: .\recipes\settings.py:371 msgid "Spanish" msgstr "" diff --git a/recipes/locale/es/LC_MESSAGES/django.po b/recipes/locale/es/LC_MESSAGES/django.po index a07297dfd..424442503 100644 --- a/recipes/locale/es/LC_MESSAGES/django.po +++ b/recipes/locale/es/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,50 +18,50 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: .\recipes\settings.py:357 +#: .\recipes\settings.py:360 msgid "Armenian " msgstr "" -#: .\recipes\settings.py:358 +#: .\recipes\settings.py:361 msgid "Catalan" msgstr "" -#: .\recipes\settings.py:359 +#: .\recipes\settings.py:362 msgid "Czech" msgstr "" -#: .\recipes\settings.py:360 +#: .\recipes\settings.py:363 msgid "Dutch" msgstr "" -#: .\recipes\settings.py:361 +#: .\recipes\settings.py:364 msgid "English" msgstr "" -#: .\recipes\settings.py:362 +#: .\recipes\settings.py:365 msgid "French" msgstr "" -#: .\recipes\settings.py:363 +#: .\recipes\settings.py:366 msgid "German" msgstr "" -#: .\recipes\settings.py:364 +#: .\recipes\settings.py:367 msgid "Italian" msgstr "" -#: .\recipes\settings.py:365 +#: .\recipes\settings.py:368 msgid "Latvian" msgstr "" -#: .\recipes\settings.py:366 +#: .\recipes\settings.py:369 msgid "Polish" msgstr "" -#: .\recipes\settings.py:367 +#: .\recipes\settings.py:370 msgid "Russian" msgstr "" -#: .\recipes\settings.py:368 +#: .\recipes\settings.py:371 msgid "Spanish" msgstr "" diff --git a/recipes/locale/fr/LC_MESSAGES/django.po b/recipes/locale/fr/LC_MESSAGES/django.po index 1ecd86dcf..e7a37c87c 100644 --- a/recipes/locale/fr/LC_MESSAGES/django.po +++ b/recipes/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,50 +18,50 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: .\recipes\settings.py:357 +#: .\recipes\settings.py:360 msgid "Armenian " msgstr "" -#: .\recipes\settings.py:358 +#: .\recipes\settings.py:361 msgid "Catalan" msgstr "" -#: .\recipes\settings.py:359 +#: .\recipes\settings.py:362 msgid "Czech" msgstr "" -#: .\recipes\settings.py:360 +#: .\recipes\settings.py:363 msgid "Dutch" msgstr "" -#: .\recipes\settings.py:361 +#: .\recipes\settings.py:364 msgid "English" msgstr "" -#: .\recipes\settings.py:362 +#: .\recipes\settings.py:365 msgid "French" msgstr "" -#: .\recipes\settings.py:363 +#: .\recipes\settings.py:366 msgid "German" msgstr "" -#: .\recipes\settings.py:364 +#: .\recipes\settings.py:367 msgid "Italian" msgstr "" -#: .\recipes\settings.py:365 +#: .\recipes\settings.py:368 msgid "Latvian" msgstr "" -#: .\recipes\settings.py:366 +#: .\recipes\settings.py:369 msgid "Polish" msgstr "" -#: .\recipes\settings.py:367 +#: .\recipes\settings.py:370 msgid "Russian" msgstr "" -#: .\recipes\settings.py:368 +#: .\recipes\settings.py:371 msgid "Spanish" msgstr "" diff --git a/recipes/locale/hu_HU/LC_MESSAGES/django.po b/recipes/locale/hu_HU/LC_MESSAGES/django.po index 8f82e1864..2c135c65a 100644 --- a/recipes/locale/hu_HU/LC_MESSAGES/django.po +++ b/recipes/locale/hu_HU/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,50 +17,50 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: .\recipes\settings.py:357 +#: .\recipes\settings.py:360 msgid "Armenian " msgstr "" -#: .\recipes\settings.py:358 +#: .\recipes\settings.py:361 msgid "Catalan" msgstr "" -#: .\recipes\settings.py:359 +#: .\recipes\settings.py:362 msgid "Czech" msgstr "" -#: .\recipes\settings.py:360 +#: .\recipes\settings.py:363 msgid "Dutch" msgstr "" -#: .\recipes\settings.py:361 +#: .\recipes\settings.py:364 msgid "English" msgstr "" -#: .\recipes\settings.py:362 +#: .\recipes\settings.py:365 msgid "French" msgstr "" -#: .\recipes\settings.py:363 +#: .\recipes\settings.py:366 msgid "German" msgstr "" -#: .\recipes\settings.py:364 +#: .\recipes\settings.py:367 msgid "Italian" msgstr "" -#: .\recipes\settings.py:365 +#: .\recipes\settings.py:368 msgid "Latvian" msgstr "" -#: .\recipes\settings.py:366 +#: .\recipes\settings.py:369 msgid "Polish" msgstr "" -#: .\recipes\settings.py:367 +#: .\recipes\settings.py:370 msgid "Russian" msgstr "" -#: .\recipes\settings.py:368 +#: .\recipes\settings.py:371 msgid "Spanish" msgstr "" diff --git a/recipes/locale/it/LC_MESSAGES/django.po b/recipes/locale/it/LC_MESSAGES/django.po index a07297dfd..424442503 100644 --- a/recipes/locale/it/LC_MESSAGES/django.po +++ b/recipes/locale/it/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,50 +18,50 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: .\recipes\settings.py:357 +#: .\recipes\settings.py:360 msgid "Armenian " msgstr "" -#: .\recipes\settings.py:358 +#: .\recipes\settings.py:361 msgid "Catalan" msgstr "" -#: .\recipes\settings.py:359 +#: .\recipes\settings.py:362 msgid "Czech" msgstr "" -#: .\recipes\settings.py:360 +#: .\recipes\settings.py:363 msgid "Dutch" msgstr "" -#: .\recipes\settings.py:361 +#: .\recipes\settings.py:364 msgid "English" msgstr "" -#: .\recipes\settings.py:362 +#: .\recipes\settings.py:365 msgid "French" msgstr "" -#: .\recipes\settings.py:363 +#: .\recipes\settings.py:366 msgid "German" msgstr "" -#: .\recipes\settings.py:364 +#: .\recipes\settings.py:367 msgid "Italian" msgstr "" -#: .\recipes\settings.py:365 +#: .\recipes\settings.py:368 msgid "Latvian" msgstr "" -#: .\recipes\settings.py:366 +#: .\recipes\settings.py:369 msgid "Polish" msgstr "" -#: .\recipes\settings.py:367 +#: .\recipes\settings.py:370 msgid "Russian" msgstr "" -#: .\recipes\settings.py:368 +#: .\recipes\settings.py:371 msgid "Spanish" msgstr "" diff --git a/recipes/locale/lv/LC_MESSAGES/django.po b/recipes/locale/lv/LC_MESSAGES/django.po index 68bcad111..00efc197f 100644 --- a/recipes/locale/lv/LC_MESSAGES/django.po +++ b/recipes/locale/lv/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -19,50 +19,50 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " "2);\n" -#: .\recipes\settings.py:357 +#: .\recipes\settings.py:360 msgid "Armenian " msgstr "" -#: .\recipes\settings.py:358 +#: .\recipes\settings.py:361 msgid "Catalan" msgstr "" -#: .\recipes\settings.py:359 +#: .\recipes\settings.py:362 msgid "Czech" msgstr "" -#: .\recipes\settings.py:360 +#: .\recipes\settings.py:363 msgid "Dutch" msgstr "" -#: .\recipes\settings.py:361 +#: .\recipes\settings.py:364 msgid "English" msgstr "" -#: .\recipes\settings.py:362 +#: .\recipes\settings.py:365 msgid "French" msgstr "" -#: .\recipes\settings.py:363 +#: .\recipes\settings.py:366 msgid "German" msgstr "" -#: .\recipes\settings.py:364 +#: .\recipes\settings.py:367 msgid "Italian" msgstr "" -#: .\recipes\settings.py:365 +#: .\recipes\settings.py:368 msgid "Latvian" msgstr "" -#: .\recipes\settings.py:366 +#: .\recipes\settings.py:369 msgid "Polish" msgstr "" -#: .\recipes\settings.py:367 +#: .\recipes\settings.py:370 msgid "Russian" msgstr "" -#: .\recipes\settings.py:368 +#: .\recipes\settings.py:371 msgid "Spanish" msgstr "" diff --git a/recipes/locale/nl/LC_MESSAGES/django.po b/recipes/locale/nl/LC_MESSAGES/django.po index a07297dfd..424442503 100644 --- a/recipes/locale/nl/LC_MESSAGES/django.po +++ b/recipes/locale/nl/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,50 +18,50 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: .\recipes\settings.py:357 +#: .\recipes\settings.py:360 msgid "Armenian " msgstr "" -#: .\recipes\settings.py:358 +#: .\recipes\settings.py:361 msgid "Catalan" msgstr "" -#: .\recipes\settings.py:359 +#: .\recipes\settings.py:362 msgid "Czech" msgstr "" -#: .\recipes\settings.py:360 +#: .\recipes\settings.py:363 msgid "Dutch" msgstr "" -#: .\recipes\settings.py:361 +#: .\recipes\settings.py:364 msgid "English" msgstr "" -#: .\recipes\settings.py:362 +#: .\recipes\settings.py:365 msgid "French" msgstr "" -#: .\recipes\settings.py:363 +#: .\recipes\settings.py:366 msgid "German" msgstr "" -#: .\recipes\settings.py:364 +#: .\recipes\settings.py:367 msgid "Italian" msgstr "" -#: .\recipes\settings.py:365 +#: .\recipes\settings.py:368 msgid "Latvian" msgstr "" -#: .\recipes\settings.py:366 +#: .\recipes\settings.py:369 msgid "Polish" msgstr "" -#: .\recipes\settings.py:367 +#: .\recipes\settings.py:370 msgid "Russian" msgstr "" -#: .\recipes\settings.py:368 +#: .\recipes\settings.py:371 msgid "Spanish" msgstr "" diff --git a/recipes/locale/pt/LC_MESSAGES/django.po b/recipes/locale/pt/LC_MESSAGES/django.po index a07297dfd..424442503 100644 --- a/recipes/locale/pt/LC_MESSAGES/django.po +++ b/recipes/locale/pt/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,50 +18,50 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: .\recipes\settings.py:357 +#: .\recipes\settings.py:360 msgid "Armenian " msgstr "" -#: .\recipes\settings.py:358 +#: .\recipes\settings.py:361 msgid "Catalan" msgstr "" -#: .\recipes\settings.py:359 +#: .\recipes\settings.py:362 msgid "Czech" msgstr "" -#: .\recipes\settings.py:360 +#: .\recipes\settings.py:363 msgid "Dutch" msgstr "" -#: .\recipes\settings.py:361 +#: .\recipes\settings.py:364 msgid "English" msgstr "" -#: .\recipes\settings.py:362 +#: .\recipes\settings.py:365 msgid "French" msgstr "" -#: .\recipes\settings.py:363 +#: .\recipes\settings.py:366 msgid "German" msgstr "" -#: .\recipes\settings.py:364 +#: .\recipes\settings.py:367 msgid "Italian" msgstr "" -#: .\recipes\settings.py:365 +#: .\recipes\settings.py:368 msgid "Latvian" msgstr "" -#: .\recipes\settings.py:366 +#: .\recipes\settings.py:369 msgid "Polish" msgstr "" -#: .\recipes\settings.py:367 +#: .\recipes\settings.py:370 msgid "Russian" msgstr "" -#: .\recipes\settings.py:368 +#: .\recipes\settings.py:371 msgid "Spanish" msgstr "" diff --git a/recipes/locale/rn/LC_MESSAGES/django.po b/recipes/locale/rn/LC_MESSAGES/django.po index 8f82e1864..2c135c65a 100644 --- a/recipes/locale/rn/LC_MESSAGES/django.po +++ b/recipes/locale/rn/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,50 +17,50 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: .\recipes\settings.py:357 +#: .\recipes\settings.py:360 msgid "Armenian " msgstr "" -#: .\recipes\settings.py:358 +#: .\recipes\settings.py:361 msgid "Catalan" msgstr "" -#: .\recipes\settings.py:359 +#: .\recipes\settings.py:362 msgid "Czech" msgstr "" -#: .\recipes\settings.py:360 +#: .\recipes\settings.py:363 msgid "Dutch" msgstr "" -#: .\recipes\settings.py:361 +#: .\recipes\settings.py:364 msgid "English" msgstr "" -#: .\recipes\settings.py:362 +#: .\recipes\settings.py:365 msgid "French" msgstr "" -#: .\recipes\settings.py:363 +#: .\recipes\settings.py:366 msgid "German" msgstr "" -#: .\recipes\settings.py:364 +#: .\recipes\settings.py:367 msgid "Italian" msgstr "" -#: .\recipes\settings.py:365 +#: .\recipes\settings.py:368 msgid "Latvian" msgstr "" -#: .\recipes\settings.py:366 +#: .\recipes\settings.py:369 msgid "Polish" msgstr "" -#: .\recipes\settings.py:367 +#: .\recipes\settings.py:370 msgid "Russian" msgstr "" -#: .\recipes\settings.py:368 +#: .\recipes\settings.py:371 msgid "Spanish" msgstr "" diff --git a/recipes/locale/tr/LC_MESSAGES/django.po b/recipes/locale/tr/LC_MESSAGES/django.po index 1ecd86dcf..e7a37c87c 100644 --- a/recipes/locale/tr/LC_MESSAGES/django.po +++ b/recipes/locale/tr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,50 +18,50 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: .\recipes\settings.py:357 +#: .\recipes\settings.py:360 msgid "Armenian " msgstr "" -#: .\recipes\settings.py:358 +#: .\recipes\settings.py:361 msgid "Catalan" msgstr "" -#: .\recipes\settings.py:359 +#: .\recipes\settings.py:362 msgid "Czech" msgstr "" -#: .\recipes\settings.py:360 +#: .\recipes\settings.py:363 msgid "Dutch" msgstr "" -#: .\recipes\settings.py:361 +#: .\recipes\settings.py:364 msgid "English" msgstr "" -#: .\recipes\settings.py:362 +#: .\recipes\settings.py:365 msgid "French" msgstr "" -#: .\recipes\settings.py:363 +#: .\recipes\settings.py:366 msgid "German" msgstr "" -#: .\recipes\settings.py:364 +#: .\recipes\settings.py:367 msgid "Italian" msgstr "" -#: .\recipes\settings.py:365 +#: .\recipes\settings.py:368 msgid "Latvian" msgstr "" -#: .\recipes\settings.py:366 +#: .\recipes\settings.py:369 msgid "Polish" msgstr "" -#: .\recipes\settings.py:367 +#: .\recipes\settings.py:370 msgid "Russian" msgstr "" -#: .\recipes\settings.py:368 +#: .\recipes\settings.py:371 msgid "Spanish" msgstr "" diff --git a/recipes/locale/zh_CN/LC_MESSAGES/django.po b/recipes/locale/zh_CN/LC_MESSAGES/django.po index 8f82e1864..2c135c65a 100644 --- a/recipes/locale/zh_CN/LC_MESSAGES/django.po +++ b/recipes/locale/zh_CN/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-18 14:52+0100\n" +"POT-Creation-Date: 2022-02-11 08:52+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,50 +17,50 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: .\recipes\settings.py:357 +#: .\recipes\settings.py:360 msgid "Armenian " msgstr "" -#: .\recipes\settings.py:358 +#: .\recipes\settings.py:361 msgid "Catalan" msgstr "" -#: .\recipes\settings.py:359 +#: .\recipes\settings.py:362 msgid "Czech" msgstr "" -#: .\recipes\settings.py:360 +#: .\recipes\settings.py:363 msgid "Dutch" msgstr "" -#: .\recipes\settings.py:361 +#: .\recipes\settings.py:364 msgid "English" msgstr "" -#: .\recipes\settings.py:362 +#: .\recipes\settings.py:365 msgid "French" msgstr "" -#: .\recipes\settings.py:363 +#: .\recipes\settings.py:366 msgid "German" msgstr "" -#: .\recipes\settings.py:364 +#: .\recipes\settings.py:367 msgid "Italian" msgstr "" -#: .\recipes\settings.py:365 +#: .\recipes\settings.py:368 msgid "Latvian" msgstr "" -#: .\recipes\settings.py:366 +#: .\recipes\settings.py:369 msgid "Polish" msgstr "" -#: .\recipes\settings.py:367 +#: .\recipes\settings.py:370 msgid "Russian" msgstr "" -#: .\recipes\settings.py:368 +#: .\recipes\settings.py:371 msgid "Spanish" msgstr "" diff --git a/requirements.txt b/requirements.txt index 4d93200a9..422dfde3a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -Django==3.2.11 +Django==3.2.12 cryptography==36.0.1 django-annoying==0.10.6 django-autocomplete-light==3.8.2 diff --git a/vue/src/locales/de.json b/vue/src/locales/de.json index 80787e9e0..8ff6f47ac 100644 --- a/vue/src/locales/de.json +++ b/vue/src/locales/de.json @@ -232,7 +232,7 @@ "AddToShopping": "Zur Einkaufsliste hinzufügen", "FoodOnHand": "Sie haben {food} vorrätig.", "DeleteShoppingConfirm": "Möchten Sie wirklich alle {food} von der Einkaufsliste entfernen?", - "err_moving_resource": "Beim Verschieben einer Resource ist ein Fehler aufgetreten!", + "err_moving_resource": "Beim Verschieben einer Ressource ist ein Fehler aufgetreten!", "err_merging_resource": "Beim Zusammenführen einer Ressource trat ein Fehler auf!", "success_moving_resource": "Ressource wurde erfolgreich verschoben!", "success_merging_resource": "Zusammenführung einer Ressource war erfolgreich!", From 3e9de4c3923267a44f5302eb71eb442021dec29f Mon Sep 17 00:00:00 2001 From: vabene1111 Date: Fri, 11 Feb 2022 09:31:37 +0100 Subject: [PATCH 15/15] compiled translations --- cookbook/locale/ca/LC_MESSAGES/django.mo | Bin 24107 -> 23370 bytes cookbook/locale/de/LC_MESSAGES/django.mo | Bin 64623 -> 59841 bytes cookbook/locale/es/LC_MESSAGES/django.mo | Bin 27651 -> 26794 bytes cookbook/locale/fr/LC_MESSAGES/django.mo | Bin 64480 -> 62536 bytes cookbook/locale/it/LC_MESSAGES/django.mo | Bin 48920 -> 47499 bytes cookbook/locale/lv/LC_MESSAGES/django.mo | Bin 24331 -> 23580 bytes cookbook/locale/nl/LC_MESSAGES/django.mo | Bin 59598 -> 58691 bytes cookbook/locale/pt/LC_MESSAGES/django.mo | Bin 14056 -> 13195 bytes cookbook/locale/zh_CN/LC_MESSAGES/django.mo | Bin 46668 -> 44858 bytes 9 files changed, 0 insertions(+), 0 deletions(-) diff --git a/cookbook/locale/ca/LC_MESSAGES/django.mo b/cookbook/locale/ca/LC_MESSAGES/django.mo index 701d6bda28c8b493ef47849fe9a9f7fda98cbccb..a015b49818cb1f6c646df83a7a3df6f3f80a3402 100644 GIT binary patch delta 5371 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 diff --git a/cookbook/locale/de/LC_MESSAGES/django.mo b/cookbook/locale/de/LC_MESSAGES/django.mo index 2154725698ddba7c44c43dae95a7b488eb4006ec..ea82335c3e0cbddd7dc4ba1e392b10ca118ca16d 100644 GIT binary patch delta 11686 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 Y^m{i#yn#=%2d91TyrK8`^TB@q2hm)CCjbBd delta 15770 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 delta 18965 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%0DmU-AzkZPov-3OAH| z0olRLF38=a--MSVGZ9_i8o0mdbWlKQ0rzse@^?t*BW2_VAlH&U4EH0QknYI)$bXPI zn*UG|k0QD{P+8X#$Y9c+BMnG5L^hJ{51S+ZLSjfgWDRm9_b!3D{z>{Lcqy!S9VY)J zQqL>@nVXBU$XtR{M`}>;t#?xoK2i2mhbyY328APu;y}#yN29TbKfl;cMC^FLAImQe zhKuY(u|Hw^L-B|m3(QFdV}ZCmJ`zt9k(d**gK@hsxnM!5_kbOV*@;-NDCRG*9c04~43#gak$UHkg6p05y zrS`l?tRQZe_!F9EalkGLgaa{}FF4hDZgsoDH7=YA*m+bc3?|f81;sE=e@R>_FghyN zK_N=;#Tn1MV1BXB45~25@JfR5Xdo1#FEfgGl0o>Hj$66dt?f27FOm!u(5s$^*Q0)3 zscmdj5=azB3gXVkcQtdu-K&&!KL4$ZN)v-6(U3E;N3*G}7V;w{C6VwS`(U!tmEZjd z7x*wrxyBMwFr$yUn(!WET%N%Ta-AmzWIMZh)E*iOB$BZ(y_9k@KNt;|sRzUPp=1G` zk;f=q>y%r>R~U*UW3o=^JbWx*2g6R=o>R+y?s;n!=g3{PQd0wYp5AyImq~_X>%wF> zKM{YJ>AQQ$h^8(Zh*luIvCj9vW1uVb(1eN`TERa8p zqT{JS6ovnM5XNMlyB0)j)_q?L;@a-dJ9NDfe?ngj_S9HS_qH=&KqD!zJXE-j&(aJ9 z>}ZfB$yD<(daTs$n3qg2VzUegdW6&I|d&v+YnY ztO(_Lk0uhL$(DUP<@L8lM~dtrk;rVk-c3(1OSWQ>vt-7hvXwJOrDrA4RUVcr@F)BP zWG?`@OE1^yKdV_;wOPZ{28D6H^6(#b>*lc@;x=2%9CrSw^CdQo(wz;-FBoxe_?KqQL zwjdb9Oi#ocB9PRqs`HId;4_5{)W2NO?rvqT+;BhvGl+oSpQugLG`886LF_1q=lr>u{zH1j?C%+;F>qB{V zRy(|94Kq+ov$w1%@`nN?0qk9_Z8qBgV>{z11y^>sq)Jb1w_DcGIzDZ-VU}*cTzhi( zblze8Lrjm^9{XUykxkno0D62VrubUv!BIB>gY%NmqIfAQSv zsfr7Iw2u}wOaENfgujT?A2k~Fo1=)IxaCfHPLhWL6?7g?#_a6!eLCA__rvql4*E#4 z0k|EwV=G~Qn9lkuj&QPx76%y+jvk6*wt&}!c5i0x+A+Wai1~xEUXR0OyXeYHr|qJ%Dq%==^VjZdl9C3c5qAtM$ry93*fB~*<$nDH z68usF#5$SGEo;z@Y9UxL6@a zxv)BP>qPPr%&#C8Sm2zvy}onFU3FS-SuQs$lq;F1To1_ho+DO-<95h-_^u+S-GjBt zHZH!g8V7*0H05!!1fj=03+Mw{o%~0+&{! zyfm4>4(c@;O2&hMWXzZ+$7bnL918~n6vYE6*9NR3og`2R15nR@c77O*$I18X>_{@3 zNw9shgPor3=_rAY@CD8gtax8wKC>fSM8fU7xiXn8s~H+w^_J8c_h8|M5VzfNlcnPS z{&+me0as6+e(+59V3-;k!|a%?upX2-T$5A`WZI^vn4D~u4`UCo^J}FL;B?Y2Ib{>A zjfz7mKV6yW{MmSH=gOr`oU87x>O`Nbaej8fufF_P-u2RWwnAZkAQr^EJLX}V7@_@7 z+%=3@5`nPHTTzYnpEu|YG21kpook=*e&D(_KB1|wz>57PQO-&_Q)zpY%ln<@K5sTL zhr_GfK&KEk0-j*#o_1WVc-wn|j~2KmK`St#PFM{TFz(I)j7>XuuWQ%Bb&FlWNg+sKkfhdLiU+KhT9 zAMKnP#QN6Rjh=OWv&Q(7b7i;70*Of28WSmCY3954w4zJ=%+xDozbG#;uHZ)_MUhxA zKr8NZf2>iyHYzk*gWy))iZk!==Fa%X8+Q29UhP0(A)88)y*Sry-Im=UoM>0zEPA}t z&~b#X04LrGhloNyZw_uO%L_&F6{zg|V8We;HAV|`LC2B^MhRo~xs2I%s;=zUz*TjO zqirbY8i+tE`^;L|A+4ix>&meMeUUsA!()Y7OD(aJZAujB+#$GbR!F3bgxSfxO+Fdy zSh8g;0ncf+>O2%be${Y(?^`vzw%yydhAS4vtkIl8o$pq)&&G%4i0<;@Sn7sc+Aq-& zQ?4BKJAGC+?t;_#OPPo2wX}w4+u~%vv@50=YAjI184t&^okgq9t>yDq@K@)()%$Zs zD@viDf+W$hV9RPeGwdTa;l$CTw{ZMyNu{hDXWyC~85~BO2iLZ)=JQ|1P^F=F)+TVm zVNcw_?*~tu;CJVfIsE?mWKOd)I<#p+2VbKe6f*3o{?xnSsZN=`K)7Sst50=F8_IMT zleeD!FpxlaZlsjCX!EVOW{7(Mch_3Ll&Ru$ea3f|oZAhKRE_(cInT7oKv~YxXT~@3 zO`b4XGj>m(ykW~HQGw5?{A@RD)A!lo>2^!!?PrHJ@&dXwS{smpmU{vZ`YHZaaHI09$G!ah`u}V4ZAwHz$X@7>3Vw z>a1&5<8+^!zI9*7u#p zWtlHzr#bD`cc?ltT!fbu1f6N?JEq$Moap-cRqO%wuy7*gtX?0iF+LRFEmQAH0mpu^ zFOSc9u`5k2d2v<;pFcl85M_tJo2^l<0|sqEiFfod26q>At~2eWp4Ismz=xfP=>;InnfBDG;22BJ^F%%?p(0-T7C5_KZJxd$*QxSaSp#1%JhwdF;LGKa z{@vHw*N}HJG3_)?%?%xTRjA4vmT8+0d2%H4LiFEU-brk@^6WvOpibQGL8oJWh!tA- z_17B4I0b0G)9HtMEM*;lea=U(k3}Cj8*l6#FcF@@LE}eqoM5LJ%0`$MnV-wzW5;4Q zblVNNN1!;PjO$e?oN#{F*p5b;Z`znrMZG|RGxu3u=iT_n4NfTGNSHT!^E!9Nt35+= zcVuj$v!dxrTeEr1(UI6~-ZroIW8784Hx~DZo}YA%ZmN=9UPxVUiJiJ1j0cIq0p}l^ z#^VdaHqT<%t2W!DcWjnle80Ja6L}-d3F7b@J<}*?`sT9CC;`LS{N^a9=GHbTy}2lY zn2lq+G<`-<+;YqKs;UpXf%2R;5VUwkw2NDVlKGlwFw9H6`C?*w`@X(JDC!#fyKzHr z$GH}I<4`eQT6RM+%DJ2myM?*>4iWa31QvRmj4xPVU(S0ECR+Ia@sx9XYyCF=Zyh+D zw-unJd$+Z%BSpA7U)&lIiN!lQ2ey^enHXTVG8>osk;K`1UHxj_1Os7b^Wv6Se0k6r z(R?H!hNCG?9f_E}vpYlITIg(g>vimN)%LIH=&~JM_4cQ4|1?`}@7&iA`V@Z0yD0d9F?=iYawm39AXkF?AM zL?9===X}ba*mG5C;%Q$(5x9H#>+~7(G~bTcTw-=#zs+A83j1YuD&Ppz$$X>gl-)m= zAMD%7-{0s`?npe$k9l8~^u7|>vKnVol+;Hi0>b!YUZ||o-mJ8ygS6wj%k_-dVr6&E zc1rebWvJ)xf0PCF(f)yH&Ta2Dsx$_*#GD@Q`5O-*BH+iIDu?3Pr!o_Li{J0eb6wvr z!tf8iKaljN?>B1bZSH*a_0BW-^8c8V@xkSCkPil@O?0+>(DfX`=|nzS703AEwq;F{ z_e1v8+6Q{l%%}rhGdRFIsRQF{ojNP%l;CavexLbxT$;V^ld5S| z-384TZO1;;AZ1>6Ot3aFg!$;LqWttfb7sZ!KQWTkCWD8#VRkO%+;`4X@$bwQ{>$_D z4}tEnL#@*6vK@z7D*PS&^xP`cj{7+dH$B{#k{*W#Xulfbwh;b-$V2!lZeb_tH! zp~JW5wd!bgyOx&QX4q$1)uG#68~S|aT>owR#;CtSuf+FSjg$ zaF9KRkGJc-JxlMzZ+w@>ynRPn@H_HIM}A9>tdW*Z9%^q5vpZ*V&qU4&@5lPMQtmEp6lP0tt~k-snSNqjW!IJkPQCAMp@-$)FK^{` z`@arD7ewn>%7s9Cet)1r#17A;Cq zv#QFgt+uL*R;%s%{XOUC>$=|iy8b@@bMA5GeJ8Zb|M6e&tH0+)fxxAP_|%E0LrydBgw>4 zxEj^bgQ)vIMh)ZwcE+o&KB}P|Kr}{BAA{;ZU-U$hOe4|MuEjvyf|`jPmjy`XyL|@-kPy1J&VujhKI3_&yc7@g!=5SFr=$LG8mj z%%hf|6KcdgF&tA-*H1<5o%yJlS&5p-1E}X8bLBIrj$TDA;a82Be?71=J3`h+HPiz2 z-~?CS4GU3z#?@z_uA7O4aXxB9YcLMCB7HaCJ1aCb=6TBfu{B;oZQhce7(3KNYUHJ2?TBllI@A~=F&VX&#-Q$-jhg9&sG0GsAW_2` zP;37-YKjhE6dpx&bh;H=k3PPc+{P*8)s)I7Ij@)WX3%v zk%WzEdZQZ1!rYjR>iK3={Xypks1BY)J?OkEUqNlMn;3z=V@E8?J2wVXu{B;sJ-<{7 z-S07`8i}T)HmadG)aHptUD(;3AK>cKkQcyAL`}UHwKtAAuVD|$_ucvUmd4beoPvXK z9%`oVq3`|wg`^l2|EL1PTiFjsdDN!tkDAhvsPj{>BEIO(?{f8rT>ZzW27f{gB!XcV z#j2>8Yk?YAJM?G`dy??YF#}QM1s@ z#@qX6Vi4seuDlerRBPjz{}7V>?t&wzH9zjk*HANX6E&iHsI@KG){dwt>iVvz2M$9m zr3W>_#ds1|VkaD$V1Ed`gSzf+0_(5$_75s_gMT|aMfp%Y4tM3!s1a2}T~`g&a3fR) zJEHbLFATsm48wHP9+`@|?m3iW_?sE#~?de9hzlG}1kLdgP|Cc+FC&`{Dj(NDC5~|^7 z)Qz37H1-a&ONG1>lb>WII1IOQ60F1quGDvHi_1-D_c}2 zhM=Z09d*MCm>WIr{32J*Ms;+vEAPX+l#jXcMa)n6HtM+#Q0M*mw##59)WoJ*biH?P42z4 zj&62s^P@&u0X4F^sE)NjO??+v9*gS0Ow|30Q6pT2+9Mk<3iqQ1cn5tQaOH=n=l|1< z`B#IvStyOXgtIK_t*GM4HBk*jyK+m^1KPQA3hL+m0941aQTK0jZbP-R8`YurP)l*b zL!zm;jC$a0)Q!Jjas0!bFWAHG>IhUv>Y?^XbJXr{gPN&i)IbJe0UU;U-XvE)9d-Xa zEP|e;Bnc$jQLoKI)Pr;Ki(NG4!$PZ4Fx1W72 zyP$UcXw+VqfyMAu9EH0u9V7bd^=19DND`^Ifx5B!0DD6-)CVO6wWfWY!%!VgM=jX| z)cJX+sn2p|qt<*a4#l0QnJqfdnDST>XVSiDPNLm;40XX7SH6H+tLvyKy^C7o0?*h@ zR1S4tHPlShLng-zMRoi`%)*bbHTD@~_tZLUO!*M%C#Cs=q&YSpY#%Tawe~k%xo9fi zZOY@Y6rM#*={;pT!Ou;)=TG6lnN5o&XK-XPJ3;4LhRr*HuNh{Z8!g5BjKP@8W8 z>iYSp2G*iFv=^t~5lqC`iFP21kkv9rP)k&GlI>^>WYc;~G)V(a496z87E9n4sF6QH zH5@eA&Oi~2q+A6{V>{IMU^wdfhZuqW^hO;mi|Sw_48oS!8xwr>tp7$5P2En^YqSq* z;CEOXi%qrX+oK-P1vQl^s3jSWg>f=A!A#VYpFy^Vxro|h&1p-Ut{tk}M-nELKf-Yo zYV*xSjd%sBW82ZUM5r}8g}hBn`SrbDAe~N9o5h@)Qn`JI=mXo;||n}TtMIN z|6h=3BwwR%%8^fk37YOk=$wq|&=OQfmZ3Vj5sTqo)cv2L-k$5Ij(ml>?^kSre_>OM zox%FYkxZJw&u~15ZLs}J+v7~sRINj8wr!{ekD!*~99G23*a`n}^~tmNM=Z+Su`FIe z&G28?0t?NyGuLA_Q>ZDMO@(@xiJGcxSKjK%doYmtqo@&{K&|x!SD$x|UGqY?mHHB> z*Y`N)!E>mA+{BW27e`~TXRe*f4Ah#;#vokc>X%}3%Ih&0@1REX18T42ooDOIp$1ab z*#OnyR;Z37pq98Rmcyag9X$(3cxBBkjK@AN+8%Gf9F)DN899g{cpA0aKXdipIsZiM ziLm*0io;RY^>&WI@|5S|DBO;8$YV+@;3pUrHBf8V3)S=Os1fZ(-FO&t;%#h&_c09X zEwmkMhMMXmjK+ShycE^34OkQRU?aSRg=ycETx1)lgSxN>YHCwmc>=1zxu_*L?Yw~6 zl-E!*b06E{@2Jfe$Bu4>N3jR`FX7)9u@~w&e_|fmH-0bKHP457jf!9;tc9A1p6+~K z)aDt4dcZWyhjUSTWI5KrYgigXU$z6OjJmHW>Mcldjz!N!Di)CFlQ=NbuH7LlPFcS_ zsDTogAEQtW$2wbMF3KHH9Zf-9*Uvc`OHiJHxp6gWb8mO$Jz30uQ7Vp5kr%HxzjgkB zdO(g>?5DUqR;S$Em1m(E-s^l9wFi!1Jv@u*P~cKGv(8$mj<;LN{QHyipyGM#cASseVK4^2b;hLzY`hp&F=*x;_cj!8FwM3sD1DhHCf?48WaO6uqdoz;lX3 z4F$bsH%o5RnwN3qI;b1kxcYvmk)~l8oQ|5x^%#Y_urYpt-7!4d{tB0dYUd8B|hNG5hBF5rNcnQyvrN2j~~00L{pf&#x~p+)#H(cP&w3FRTDL! zW~dG)qJ9ddqDSxZW)i(dJ5eKk3)RqJR7XB_^*2x>_!hNPKcnt{gyCq`*$x*&bu0pP zeLZZ8F{qiIRD&O)9(W%0pzl#rYu4Ka@?%wsMNu=?0yVNER~~|D zC>?d52dm&qsE!{%?S-T3S$|brb0==0rtmw|n*NPlFnojU$Vk+ZOvi>e7i;1XY=l2y zGpxGN?(z{>oAMkyh5J!&$*ec{L4>a-uX$&*50T$cFZ&TO_BXAX##6ze7dajXFAbEguvBY-kdTdX*+M9gO zF$1-kE@32ojR6?4!)~sesHG^5n(|7hnQZ9Jw@2-TUKosnkn8#TKS_ToGTe#F7)$vE zGW({~PWyd$A9dqtR7WnL8oG_;@Hf;R2;XI|tBE0$qp=poVj`xYI(`@z)4n-MqTShP zx7`%k7(;mv#^X;o3LCOu9dHxY!QU_iD|zkj`O{Gyxre1O|66v6YT;PQ<5AE37WJHp zZ__E-H|Zo=!#&s(L-*Q|w88q6`=V~l!g_cPHIm?c{G|iCVHBQs{)^=)NA0(pwG;YL z?t%W8f||iT=zIT1l4xzxQ5Q}|ZH}oJhOeQfasz5)+fhq#3R~lOY>46S*teh)>Nz?N zkz^2)h}x7#;_HO2=iu*uHu>+*FUexLz>m<;k+?`?QU27`sb0r5i+)crCpp*0l^@;V{u*^{h@-^Ils~|9t^YG5`qxVx=}!F@>te)OVxgtO><#oBXD}|8q#R!E|&ccoTi^XhF`cBXs1%y2LSJHf5IB^d$cS zj}X;}QzRiXfSKcYVQapD}&owDac{NNMiOx_BA#lKWf z`(`^8qX`}VLrf!|OngK%%u!|1WKbST=+IBlv*ekWpJ?jpNzFj=6?*@5V}Z(yRV}z(Tdop z0!IzYe}6`Ck2dqu$5`rCP*IcUPCosqll>^?*ZcqU@eYMVVl>g3sK!Oh@k<!-CJK_Lwl*&(tapXZnDsh>p zNnILl@!dqi(Sh)%Tok7f@#F>Z6(X8Ej0hznDR;x%s3Vd59m02L{F^9r#Y02_d1-g@ zuI~!_#|7#-5LYQC6NlY3yU0VxC)vx)1}s5zBHnOy$DP&jCNYca*J3!~X+z-);yL2U z(VzS)opf~vu>o=0U9g5c2l-p>ysCG)b496J{ZxGy>T?mxU0ng^DSN%g_q&<$hELt} zoIPpAQFqSeB8JFGq)`7J@slb!O1OJhlkX&-i%G8TF?l8OX2fh)_bhc0G zB(6}ANn9b)3rOnWHFsfQ^7+JA;u3Z9h;U*L<&O9ebzCKHY*XL=3%Jzf-#g1X)3|O35k#1< z$fu63SwB`O=xtYJMlSDP^{<9{1L7X#@J}1+9hFc&Aggf4V&3Z=+W2`>6G!=buO$}` z^!Dm@H^7^eQYc42TI7hVm)jKfP8(P^$ouV(!NK0K&o$5M{dsa|E^oybM~3C-oH}%P z`na)a-s-P}1ZHI~uj#&_Q7pse-rz z3euNVRzXD(REi=ZsHnTjvg&JlfB!j$UG{zN=kw(IoO8>mcV-rM(XAqDelHUKq(ae^ z4#zh!j#CRCF6TIfMI7f+qG}x{sfpvff=%#Kyn_9>_E=NLnT92j9VZs^nwe+hr#Q|a z${8)p^^um2vx;)zy^hnI`_Rns7#WQ7 z7ODe3qZ+Ev#&O1Db?k$=s1dz}Q}GJMV)wS@xxKLi<$*|Fodwt(4`MyqcYY&L58ZaA z$H}OXv_XxuJ8DFuaVln^u74A2<2h7^Z=pu)v^Ncx#1Rw|Q1xl30Zhj_7{YKpk`*K_ zzKYQ)#-fz3pl0L?EQ`0TMHx;j$`w&F*B8g(VATCvP}lFq;&|BBzkyXKzhmpa=)nA| zXW!Y1pHMf(us|AN0uI7jsQu_ejo=B?h?inD+<>}%A8HRBN6pMx)J%Sl>d3FQ9M{Qo zG@%pouQjYjg&sJ?nvH5GANAn5wtg{IqP*7D??zqs8dk>Rr~!S5-S9JH(wusojT3Pu z|KULp5B0n&Jgm3l}5Lbhe`!zK$9AEo$VWx|$JZpgJ@IU3?t1 zm$sqqJA|6)@ClL>lJ`+l6w}Rgs3fXGHBoEoVlpP7Iy4&fpb5ARQ&IQ-hMMwtwz#e< zk9tk3Vh$#u&aXvgD(q|~(S^HFORyJtA)Mo=27bme==3lnD2uAEXKjM&U<=f9+Szg! z)Mo30b#M|6#@RRnPhoGp|DAi92Iiq2@HA>_R-+o)g6i=uR7dvP^KaPtbI64w<3}-__MPuYisH!LX3fW8b;{|sJO_C(oF`E;^g3!v-?!&K z$3~R@ZqHZgW1dqVRo@)d;26|E=3`Y{hG9+JHWH0&4{8mMARl7RNn8FM<0u#FYaU$2 zS{>QQPD7l9X{e4~MEc@X>Bq*yiKqcyLv8A>P|v&FkNKZS@{2t&uD|)DOGmBUEG&jg zP&ceX?cxo#yazQSub@VF0=3pZphj3>fVsXY>UmvIOFJ4h;Pe5^|63$MDu!d{f#zFk zDeA(bSOVWc-S82rL)TFq`p%aBi5lUrsOw?|nTE@uI#?g|xzPe+u{V~){$UbriczQ= zGf)kOusF^`jd(F?WSg)l9>Yd>)0Qg?HXZ1U>R1odbNXQtjzzUI7d11>u?&WHkZ45v zu?QZ+Nq7QzL!7!p%$lWRY05dM24tlIbVe7Y`Hem!c zllxIia@3xG+m$dJa{; z8!O_gr~#cqjqqbs2fsuu!Oyl_jbAJ3NRx5QzaG$<3N_dn^`HTmjFV9#U4+pN*zyKc z1DjC|Mo=?w-1;}vTk@_gpF=(Wk}ZFQy8jH!_F3iieRI2qNzHq>(uV;lSnHpic_8#b8`HS9bht>^kXLG;&~i^15zDl2(CoEMb}XG{R{OulaOYX zwvwcMrw)mxwkc}uTG$J^qBhk4>u}WCkHbvNKy~CDY=CER9{z;dtPiJ~^Yc;VCs9jQ zh??0=7}i?9Nutek0d?V3)cbi8nRO@8YkK|=7E%slZ>*SMHrIIUKski1@g?ks*RVS_ zqqlla0JRrR+j49c^Ur>8re>Mn>jzO&^)YtETet>W`OE`PV=u~;A26HfejGu0J$A(J zQ1>^TW;REgSiF&>hwfk>iJFLde+7v@?@fpfL1k4YW zWjQ>E`Ux}m#>3Pgqvrf!c3=`cd@)4B)SsKlj}bj@7L8H9_Mn;3Sp{ZkU&WG~4}VQk zisUxxJ&$?Fd=6AX?TtjNi_KAcWH@Sy$D`i!T-3;(K+VijtcDx04DQD&_y*R)%QzLC zhogHZ?087Zs*GxI5$c8w*cl_JhQ3FAK*i7I3kDPTGX$5QHtS_%dpHSm%#szLIy?t; zegU?{1K1J2$C`Ton-Q9U{-_R&M$JS9x|olNxDFTN0o3(<=9-^mBTyXroGQ9yO)gQ5`yf`U!O!HG-?CsZV^AUp?3m zwb`CVZN7E3{GxRqYH5z3HsOaDegAKgsNr8xBPq(Kh}Nzq@(Mdmuo*5x?b;)#50Vq8 zhR&d7uFSnK1Frp25M<;qc&gs zeDeSoi&9QTb)+TgzMj|v2Vy5&g5B^GF2T|Z%>V3PzkvBykFQdpsrv!7*?vJanDDq+ zin`c{a$_8hLu~yfWEGq(SPzq)FjG7b)q!->%xy)@*f}hQS5fVL9VWSlhLiviLay9`V7{`&v6VE;}y!s$=H|nosUTL z{<}|^9ydo#O*_<7^+WCYVYWWQIupxKzW_DWD^S;cX#Ex&P>yB6{g{O6&}zH~ci?cn z|K~~6^Q5I_M9ok)cED0N1$*H%)X4T=IXsAE@f5bf3$|Q-ndz8|&8bhp_Ba{U!8NGo z@5VBE|IdmYaWYn1dTBpGPg_ z%tF)Q*%(K8F@`fpmXqkU`WZDf6<3&_PF=AmIcfkMP!0D--mb7Sf+UuT$*2*eVtXt=?ee`? z5f7m@+ZkK_40Zi&TVLi`GvY+7OMMH}%#OfhoPr&2F^<8Ln5XwYaieKy1!@Eva3bzU zjkNM6bKXUbAPM!lwMEU;0qbeh41Q|;0@dN0sI~vqTJ}$->|*r&zn4TK>4tjXID5e~ z)CbUPTfY$1feon7?wzQa*=NgdqV7M7Rq#62z~4|EsrH;%vL@Jta#svzk<1}Ek2g?j zbL4q*!%18k!@rE6rZVdV(}6tH>+~3E#LH28VGU}eyRFBt66N=?8{R;5Flmb!SjR2Q zzh1k(RA^*lQ9aMV9ylB0@fhm$I*A(jX;ee!Q62fx*8dAN0B5UNvJx0iu{>78Y8Zzt zQ5|c$HEeDeL`6R;Mx)mJS=7{Tx9&rA;5fSY2CCs3s0ZIhJ+SOHGjsJ(4YkIm*a0i$vmb~0{4?X5r1#c~nzInx5mQf`f<_5SxHNuXjFRzQ!vAcVy!&qHmZ z#i%tb#3{JR);oL6>r@PRQJg+l62C^>cN^7_Us3Ip-e-Oh)y68c?{p{8h2v0bJ_TD~ zCJwhS>3EsqhSn!J38z-+Pw#m&mZR~7Qy4Fsr)Ny#y&tT(M8mC*HHIgN9~zX zN6b<*Ld|STOvLsWo$({ge{U+LP|*%w!1nkF>VZ0*AlXaYPhJDHM|NQmB1CK?N)v;L zKAhWtl`sK|;t}jmunN&x`38$pjviY7Cv9N}zDW5|Vuh{ihNUP!sB=U*p|@fjv5kBf z{y=EI=y;gAe4-dporn;6OF9x)h~J35L>%=`VR$adbV5hKI*a^I(Hf?jx=+Znh%&@d zLYuN8QPo~wlUzqrqBwOAMN9wr^Jmfzh)?bH4Y3FDrr!VVB%j%9lkhDQhkAWZ+&Mlcxre&5*on}73ESs5F`9plIaIt)%puoC zTTGO=a}oJa@>IP0c-)>JZ!51;-cA1CT^AiAe~tPPwoaS#uS71foVcW(6xs)^Mt$9C z=js?vd_|cLw&+J}IyNS}_WF9{eFkR+-h&iqm* z#T4phVm`5wXk;Hm`tO5Jt>{1Ib>y6%yfx}$YP7v#80F_}o=dKO*o%%{b=~ymt|Nz& zYjgp}--tA#0_8V|)#PjKxi+Y;tHv0@Cy8Rj%al7{HZ~yL08yQ~n)nbg#h!nbyf)FF@_p#V(!`ev$~icV&@qv+ z{{8i`+K(mCaRP7RI$KuVRPtlQpNUPx$HXL}tWI)NGdO#w`-=PsQNq@($H~;cfcsI$ zSVQ!OfYP}d|7*5#FOISoZoy9}KVZwJ$XnU`J$wC|lsgdm(#{|{lg}WolfQ@O>~(io zPhBrt_}&_xL^6@6Y%5|hk*LPSI=;c4SYXRt$$uugQf`YM6U~XY?fJ#lsnl&Jl8KLq zGStr`R*{!PACA`ge@LM`(Vo~yWo7&p3y6B;pAe4_=ZSvQH6jj@U&U)U1OI|L(y$lN z-V~#M57_(+^-G8awtSI%k-kBuklZ;o*kmkqF~k@m^RDxEu6v1OFmcG9TWC)dVsq-o z5&LZ2Y1t(f{Y)1LRNJdRy%*q`ceK zJ&zA_;&);P`51fAK>UJo7h)yx3gvr={lwSA4&uh0&%dv^;3yRrFc0rO&QUj?ifhCp z#JiO5K2F<0CF+|IBZ>3W?Zk?Njwgu6$j{(aTlYHogqQ~W8z_m6e-NH%X8xSCc^xN` zn6#yIa<-e{^Jb^#x}Kod4djG;0lz2P_4w1>G>_j+^}5;KjF9V{o)gMXi5zczsYKy~ zp3NfbyZll-?8^=1Mz0D4)4f4&x*G_(dH!f2J;m)Ga(%gOr_?UK={bR5$m0*Wp#V?w z%=Ee*H#OVipXO%!{9f9~2+(#Yi?(=V-A>I@yEuaanQqTOV4BaL8O=v{(|kGJ|Eh|- z&^IZzR$i{xlbY>y(>)=Nn-<8+PFJTh0(t)Ql){<=Ye%jR=o8c3pPlax3*?3}gWlZS z=(VYyTyL(+-EKx+cD5VxJ{WR&R4^?o+4ToppFiFEpgJ7%rsnyw(<4m>!!r3xs?rkxls}OBbdrs#D6F8(m!8 z7}+-8Uot$%tm6NB0^7pp_k`GEbUej9@x*^^jXN#SRG#1C27Q^HXj2|HC+M5*anrro z*`Da&J!XH5@Mf}Cf~*ho7~-*Md1-onEw9r(Gt-yn&-A(M>}rjfQ;LzJdZzs*kO7Vw;;A(sttcGcl!b^or!j&=rryB#sPZvp4>|f&RUx z*hn6Kpzy;riS@O8{BD|^Q}&UMJY8c-V*>{Bd_iyI%*s!Tlp5p7&I_6LBfHnsjcYv8 zo9&IRfa}ZFwhE*N+;m@bguyhA-B)Rz!VU{v*Uj+;U0x+7Y`TX52ZAi-e@5hsy#369 zq9yyYGkkh2{E_+3ttt^WiuX7Wsqy0ZxGp2TJ~m=>dv#!W&D`2~&du@WGV_5Do1d3S t|;2JwhZxN@7Vuq{O~Ns3p=gcBv&%B7>BMRzp+`I{25GD5_d%!qD0} zs?yNLe`JVdI-$y-#MZ?&#dIn%qn!??oMGns`@fqxIeo`3pL_4y?(*LITY1Rq-MwC} zt6{!{hOL@3BMSnI>FZ_8<@#zh=1fCl%CHiz;p>fz8N~i+;l}u2>0_LWdm0-v47Wx& z$K8oEril9KrpDCayqxC7)Wtk(fD4dzmwA%{_cZIUH*Ur-yo`Q$2Se~K)BPhqOMnklkg#ODKjBT9dOYT3c67~j>0!QI~WD}Qon_ojDMnz zdx&GvC)(+F7Ha<#48+-}0WGlgrPfubg0D3nsrh#p}R^owy0Xn`6@JnF&; zw%!j1P#=ss?=56i%vxJ7K~1?EHGqQ{iWR6EpTiuyhAyqefR@IvoMtRW;|$c)tw!D8 zeN@kjQ61Tbo(rNzdJc8mCA+HK)LlW>X|r+y6{=+RqRW>3g=>**3QGa88yI5xC~=l+{Kr|4%7v9 zp&ypp`lrYnW=`7n8`fLMb7=0^{UMJ#GZu%Mp#)n`K|KqjYoUGzpDcK!_+Qio>$Y|3O;Gh%)HBlsbzXnFKMMn>PeZ+3c^HVx zv7X-lHJ*Yon@}AoLEW$vHL|_dqo@&|N6pN4s1E;#I^H|p=};YOxHSfY*xv#5#q5dd zK%aKJZ7v#8DX1Z*y)#8KQ6rs$YF~`%$O_a5*P(8_9d+To$Uk$KKbqnnZ2LW1_v+xZ z2cTvm81+RBN0)BYnu2HQP#5Trnu!5e2Zy3=n1LE;4(gMdi#q;Q+n$g0sINkuzaBf| zCTxReFb?nIIE?Pd{P&~qN=IXM;yz?H&D2h;BfgCpco;SH5nN3VV>=vzNvIiEf$B&h zY9JeMDi&ibhH)`-iD*78y~mzFR%giN>oQ~xF|HFP>nly7W7kA0mTVSCH34Myu0{H zA|t_5eCB?}fAunEI^O0dQxDZMd~LSlc&1ZJ>eJtOWV%u9nW;khWLhUXU$`vP0M?_{b{F#XH5c##-bekv;`EbFhpJJ} z)B~KL_un_gX_$<9xN=b)dKooED{(fygE}$rDQABeYD8^O4_$ZE`<;v$NG9sW&!eV1 zA1C2D)OGJ;jNX6mRA&USs0;Q)-6#ch!QnU*b5JMlw(a{-$Dc<{`8Cvew^3iXyQmun z58zeCDAb3o5aX~I|{O zk4rFqi1Rw`#0=`Ua5W~ej)8a@HL$OSGXH9*qMbzm7<`c7GY_nK_Qktjl~$K{vdOA@~#OneZ9m*cjE3 zcBqH4FX{$kFcc@E_UEC_TY|by5jOQQ<^xm*Dn_!8dL`DQo<3Sj!un@ZP{WHDjPp?= zS%zBU_103rXlIPXUa0G*Vp951z#c zyoh=xe!!-v-*g@Yvry|FNrk_mub$enz>Utw*El1ODit(R#%ZeJoazDx$4Fd07RvUF1zNjeJP7B*V!BqD>Fm z5%L1*O6HNlqzAc8)|2IA3i*g6Ipe3qww3&WtRX=ppWGy`k-w33x)8%Gusf3k@zAW@`}3?nt$F$$AwPWr~Sw#B+NN8oR5`A@ald?}wIUy&x{d2*JV zCS%D+!i(bB=JWSyTNY=?c3b}%U59LCg*6R}$YERm68Dqe*}8C(FNmKiY!ze)SxTCc zy+p6&98!nWY+)2Wv6ZRVs%HJ4pfbbm7>%RI$E34u8;E};uak-7ms@=rc8~_Oc6?9y z?_?0^S*v|IUNs>aIBCnDIB#ZPRH;A@n4(1~6BqPXb zGJt5?NH&x6r1th0l?1K-O!6MtLdwarUjQU(UZNl$T+Z&UNtuYNdBkd70fCASvLvb*U#^!h@Cg5_^SRTcu zxE`}`D>lNDcm;li{jf&|V}{{OOu{EI9oM7!-GMW4KeprgroZEkumE+z8!#V>P$S=r z4e~`KXcKhMM6LjCF{b=~~ozFWK*3K@D`LZQqS4)c2$MJ(j`x>jyv3pbmbq zCUoZF)KgFwEI^%Ci0aUX>L_f#zumT1;~?4}K~1O*wIZL{`p?*qdTJMU1=72){#uF- zG-z}6K+R~7Jz)%Xr9RPqzW_DRdr>P;ZC!;4)YqW;d)B%MucW>M=i)ikW}Qo?Bk`pO zg}W)7MUCv%OWY3b!UXEocs(w+?cbqxvB@-sC(xv$&g*XNjcjZ)zViWs9&_;q z9EVz=b;ycG%*zyX;acQfV%|n=!egk8&!TS0FQ|c}b~lE1i^;%7c$IY&s^f8}TRGL% zOKd%eT8Rki_lslSbN|;;(2O^u9=q+BhzC#|9krfD4d^G-h0md8*rF~mkLtHkmN9f;(oid%jcOl(5j9+6znF+xiRq|UZV~E2Axy;x>ios1m3Ro7;7Zg5 z*Pv#)5w%HQMV-ILw(m!+=poeaPh@fbds8?~LngNG;+a0Ie<_7uXy}aI%iJF>LM`ossDZ7( zX1D{jLhqrT;}5YPw(RTvqmzqzT<^zecoN&;2u`{R3vnnuiTcOxc!UCzHy!%BkI8t{ z$S2tPBa3yag z?X^e(!+M%RlcDat-Z0GFOs`>cI(!GUbVpE2cM=QmOVkT!_|@)GPQ#YeeW>3>kTIF1 zsNcPXTCqJi0GkYty%{5BCrkJuHLVg|l~b$A&08^T0KxC7gV+H^;72A;6>oRRM4 zn}8bF6x2!uFoZXwes{`#{{trJ-~W_R?yhW&dj7khHb*wBH7ycTnu)%2e4LA?G zQeTYSaT96)M^U%xJ6k`8jj5-Pac@Z*Or)NLjc_1F)R0Xf1#|2d6K(x^)T?qfs-uOd z^A}r}<2dT8Q3E}LO;FFAW}bv<&p_>o{-~85jqFb|IhXak=g+m?g_>~1qX{sF`iE^*vZj{Q!2uA>;X50!y$9E=5gb3u=XSA%Cx$y%7pp z;xnk3Ctc$Xs3WRA5cT32Z|gUr1~3PcFoK%dBGk;QQ8RoBQ}8*|g|?!8cMy3cm}8iV zk+#>m_ofHN(~ylf;V`@aqxSnZQMcrM)En)PZT}H9fTk1N0i>gDWhUyvS7S1IP8~Fip?@a}=~&x1%m_05zbau@iXwP(N%?;C9ps+r;sFqn2>^b?h1H`KWtb$A;0Z zIfkmAM%{{^usJ49a&K)LsptPP3hHPK^7=MYP)of8)zQP&)u?;B4mHpXcrk88U7!xN z2aco8JBu2?e^C=ip6sq@2h{JgF>)b=916OJGf+$B#Wbw2?Ge0$`a*Q@dF+IH@kaax zc}tu8DGUaeVJ1$P>b~>mqlfw?)Mjrr&0X=n(^!9vG>-;W$K<0f{0!sfzw+@3#8JL4i8h%eyf z_?fli3}Y^(J{@&y?nMo7F*d*zs2M+k7vV0{ru!J%;Fri2F+RfLn4v_+WxD@5)LAyU zpR6M5$-jw?QKXt^pz6FY(eX0b87uwvp$+zgt#-s3l0oW-R+9Oc&q@6eyS|pJ{&D-3c=Z&`f z2mF8(kke!n8A3*q1LUtn$G0x#ZR^$67xABD8R0z@d!M|CE6Gb_zi&(k6!rY; zJ_pIWq=bwkgUA=;PO^^ZsnGEi`HcLHq!1nNk*8xN_hXkWx5KWa583zI{N4X;@-G_K zl5XS;vXOYm26B>&CFdUknCL@nSNVG$PvR&ynTCOLW{$j*{J^H%TPJ$fLwxfBjr4hej@|bX#kRBgkaJ zd&Yc9z9gGT0?|=KX2eSF$2)Kjd6qOFg+xa>(Tl1-=|uicIujk0WEM$NMeBb`1&-&* zYosMPPWF&e(u3Sh=8^j2kG7C%oonrfFOWrKHVKdqiLNt|+(gblB3r3VAn%{odL89s z?b;wkS=77DjcK96=a(#9P`O5v63;X@dA=h{zNV%I(E3kKG*1pTxc8a!o8%N z+)8vzjqXk#l@woIUbCb_i&l=uU+ffl{7#|QDfgCy9dAWtcwSaCt^JFM5nm`AihUUf z7JGx^P)XVYbN&lsdx$fij=JG*-^{7Wpc@ziW!_>)I_o!4u|`=zlWDG;ZLl z@J6$H-xJr{LwA9a67}BG3C#*rR&q|PbEm>rIxFn>17RmL&tDV__3OqqiSt#s_of7tyF_fx`s$gwRtcm`-zt&m7 zpq4L0Z?)@6egD^^6ZH9utDH(-up;Dy+-^PY+D-DRW1ly6sj84u=_&PuJ#zxPo~TL5 zYvvSqO3OWk8e7m?Y(_{IiC92 b%;rY8D`e*r3VVW;PT0#LRb|!GP0#rs+UqRm diff --git a/cookbook/locale/nl/LC_MESSAGES/django.mo b/cookbook/locale/nl/LC_MESSAGES/django.mo index 175ca41f7032d1aa6288e9b07920cf2e082b6686..9c97c5726eb1272ca3b2b323cc507e8d1756c638 100644 GIT binary patch delta 14741 zcmb8#3!F_=|HtutX2vj#OXMCla%UJyuH}9gAqnA_*)wy@nRCWDXNHkFDWX!TlUyoE zNs5Xil~g2&N_SmIF7=dDy7yG7|L1%58ch1XUjP4oJrIxs0Z&vJ>VTw#}42qJYwoE9K^bzdGVfC%KSS1y^&_gm7K1Ho9JWI};6~JSw_ydm&(uGR zwJ1Ms>UUxq<-Ml-A?m)vsDXZm!|>!_;@^W0Or#r6OyLUF8! zZ=*VL0NDW6=cc~aP`AU4QH!q?G7DBuWCK`pQSEGvn#^ug2=`$n{KV8B!*ePBf{n2f z-PZYbSd3j!_dSU<@o7xMH?S9efLa@MhP#eJ-M0`~R#r6mQg>SnM$OH5Q=W`!s1P+3 zvr+Gd>#+ykk81b;=HO9Ogocc8BQp`zpPL4wb2#t!U8PBq|4lG7d9TkBI<{;QZ=9*sI~Jdw#Bzl1NswFwf~bxyCbTI z>hVBaj#r^N@L$wid&amoreihA)lnU2iaLK6D)jfG8d!_k9Zz67K98FFJ*a^uUCw#! z|1>f+ur}&M8)HXQ&%2@?*xQr`qE`C|)OO23rqj9+r{jCr9|w$eJFpOS|8lH?D^cw{ zfl>8*Ga2=CySd;^RQ*Bhg2(V2Y;uLW7%wmmM*e3_;t!qQj2ZYUX5+7@xt_=#)>QaW zYic^y#cRe9e^o4@LT|hWQK34B3h{B&`IFcjEASrG`Sz o_3sD^{6j<3MlxE2+` z?Wh6nMosAl*clI9N&Hn&d%PPW8};Dk#*WyN^2Imftdfv*E+oMK!5$eG`P#qY8 z>gXgq7xPgcv+Gb(F&DKqZb#ks0IK09kjO`^7s%*AyRbFxN6l&K6t~Oa6Rfl3s4iZ)SD1=Ps2)zk z>NvyH-)!pdMm6vtsskI%`MubX^2c}{{)R)amc!`Li|XJWtb^|$uN3RJL;MxeJ~?iP zhN3z!3iWE8j9T4qq2~AtbN)B%KshznEJ{qJ+ygaLeNoT3%#YF7aSLjWx1k>V9_sudQ-2IKfIm?qtd#F|upVkk+L-bXtVnqR z>i!(mK%+r2YG5|D#YK2NK93sl5!4M|nevaQhWfVbz)_np9c__H}*t-xLV z=V3banV5nXW19AVUox80;ix&CgqlkS^}v~?{#w)n=Ajnloj4fRqPFFas0UXFxF46w z*q(Af?1d5IQ>dx=1v_Z}*9=kd?;tzNW)@KVe$2G_Y%i4<=z_M6oW$kj`4`k$bH3 ziroFZ2rs3)A9Y{rV)yzUs29&z)Rc}lI;aj8VihbdCjPo$9u*4xBI6RQOnC)rP&$O%?Fo0UTKcMdW!<4NOcPi6Lh`(;AMTOSDC8$L< z5_RJ^?1*0E%WK_*8rk>AELlIJI^fJAO87deBU7$+7vaO$jq-LJgeS2#_Mh!OZ+?_a zXDU8374@$nT$E>G1AG_j;`ew7R=Sqa;!xBBKf`|5j)C;T5RSq)cE{A~-23}rd&(10 zYiJ?1#OP~eE+g|3GL6=NIqp|%E4HJ29MzG!*Sm9f5h?;bF$sHPRqThF+cBt6kH;jO zj9MF0u>wX=Q+*Ax#-i3-GP+?Ys>k~jDi7)yIqZSa1Sb!M^S6!E7Z11xsM;1SOaU}ov4nk z#X@`vwMLq+ApTkuC1iABEoyG--S76eA!-Vm8z*BQ%1iNl+>edXTImj;3HGAc$&@3g zIiH7$%x$O+F2&}!W+m}&MrJP+Y+dUo)P?>B+z}U}LcI(%f=#FqZ^J8b7b>)kSGg~& zR;UJhqB=MLTVuZQZq)VLQ3Kt*D(bGzH>jvh#iytj(yw?SCOzoh&;=FJUZ@Vfh??8o zsE&P#y6-q@j(4CT^rDB|3rbM?^k&ou??rXsVbq8= zV*`8*Gw>Ly;W}%WPi%&|?*-JNd)1Ub#qN}kp0dVWFU3}n`9sKhJNZNq8i+dDR>aok)xZ4zqZ%6RH%n3Pr0Af>R5^L1XKrdjWe+$<(o`- zE7qX=23~-NF%xTTb{iaojVND*8t65s$jvw9yP{Ywe}U@IH>k+`fx52Z z)9x>uOR*>AcW^LPW1&QFJbLg=R3zU80O>a&n2cbYIWJ_-sne# zW-e;=-ht}C1E{H3gBn2`6{+V?Bix3y@Ez3s$4vb%sQW8C@77nrI+W|1@&yTrO>Z)4 z;8LuIZbWtbHk^nt%+%a` zM@AiJ@}m2I4Ac!5V*?z3Z800w!8=f^cO7bRK8;#*ucD2=V{5Fx&E38O@I1;xOgR^I ze?CV2WQxf&#-pec<+i(4!(o)`qt-wkYGhZV9(XgVgKJPzuoKns1E|P+hFV)cphkWY zb-m{$_a|PXmspz$*+?q%f|-I^gt@4W6rw_SHKyb3s5!qEwb&jqESKJfzQ4wj0y0Hst#C=Tt7)+&{jfy}% z>be`SCfZwoU2f0qSKT>miBmoNWdqgIRlD77^aN^- zpF)k~byO%nL~X0Xs0M#Grtfj5pdmJ;z6WaUOu>p6MDCATv&d+%+<+Rv9oPxi;Q6>8 zQ_*_O?Pz(dNUJyxRJ4R!qhEQiBUQ!^UX&IC+BAJ)*jF<>sZ9xvv^&8U&@ zHtsX$k76b2kE0s+6*Z#2P#voLy1QoTpc-z2jWH8-el%(-CSf{;unO&4Q8EhMZKzeb z64m1^rv4?=1K&f1{9{zZM^TIN2ONr3-*7uP0d;*YYCr|p8P{P~Jc`}0!CuZJ; zMJ>8#F&RI>%6Qm#0u{+W_Ywbd$fSPYhO`c9Zd;({ECaPYyW%t)f+2hg)3D`-?yI>Y z7E_*#ip)OjiOoK8|65WPrc?e4_54a7yU(p2C8Gy5#TM8OwMZ^U-QYv@ycjhFb1@q? zp+;7BzZ;PTSVZ|zoR9Va_r>%G>P2+|wHB&;;&yO2j-?#Em&`CSKjJ0W>!ABX;yNs( z{4;75=X~lewgotZ@@iay-=XebaLAqG_pu-4I){k{UWJ<(jVbp;&2b-0!l9_hUW%H6 zshIfpKOY$_vT&k;-*$Kr7Nu7=dNYO-&KN?V31s^mgkC5*`K1ym&sz$O&$4N6d#{y5h zr1oOz@dKGS>2t1WO`1$PN?KqpNGGpF`Vju^)A0Rei`?piBe4or*9mjvP~Jp(i==nUB1|>WdVsu+0^_Oi-%F)lng8WPmagFV#>EAo(cwC*4cZ+jJ30D}NT{yGY-YK3DuVlG>84BJHNK zA89ywy-2Pg|2k^r_9m~RqtPv~D=43!pntT|ir3MZd}Y#1@(+?Wk+kYdk83!0ErqE5 zKRnlw{-kgteoZ<|;&ot^$4>Yv=_IKFVeE%GDv`R7^iOcleiC`19g0d zY@)=+>M%AV&7^L0Y5c!57wZ3nw2PBE`jVbZ zPV#A_cTF8H&cyK&s6AcZ-QPpt5zT{~l}LT9VeEbv~I~tgV7MHW&xv^PFEtdWL)k zsR{Y|Bpr7fm5-1wBI(0&($t?z{(RCN%JZ=e4kf)pew5muW-hEqXkI0sj(>1+0{La6 z#-#bAZq(gDYE5cF`ja{x9y~z`kk7-}rhY7TGkIP2rT#F-v-k#SrN+ONi`J7~pyCiV zHy3R*H*Z77VfzO!>o-}od_)n!UkP{Ko zBcyXEuOVGd@>BjV=|$2Z(je+ej{#@o@1$}Gja1X zd0t0P{YI%z<|ERZq!cc^ouuPsZBG7#7g47T_X*xfy4#$ai?@)bn(}RUl+>Q|2G<=U=}0C` zBL4{K67tP)J5DF*DDl+bWlm-|Cqg70m&Z0VuA#qXT3x6)hCh=oG-n^i=SX{~>xvKK zDw2-3NcWiQR1T8&k~*ruv7h`leCCX6Dw6-5^tP!RuM71Gd!Ik!rt&7^5FA2%J)DhW zNKcSLr2DA**j#sEVh9fZ4c^^c(4G$~rzJ z--FbWbOGgMq^9I`eBhG!^KbsFL;c&PZVE0W?Mswnn;Tadvow)qIh)&aDDNeIJ!ayg z=KSO2zal>hYmtVM--Tx$11awy#YVJg65rDLinMs8&U=&N4ZGh`KE9;?uby-4qOcRP zePKJ~OfT|>NLHTRKie0HKRGnRlRkQ^-Ous+3VabK6hAO*dD2*KN!SkN(BUjvDEoAqnvl;) zG@I=U)0>hEtDiHqDAyhy%y!7;c#HgzQuSnSi9IM-6bi@Yj~JN|C@PprICy%V>eTz} z#3kN;X{RLi#)#34OxJWNp|o>?A-gYqc4ig^Ly>Ssyuru?$&ieu;Jpv%L|A3)F? zTOOPf3})LAwZt=v{Mq(YhsnxwLIjsW34=| zwmfHUtXXcq3R=_sSmJRf_qwEN12kiU-6`@0vYgmKpWR`UqYh}~?t}(QCo%EN9G~OQ z4%=D5K#niBh>e&L|I^pU6JMP_JgJI3x^y!tGO@1 zPGTCvvG)Vd#+L`rtq_mT_&O=-urm^I4m$)|6A*C*i@rBH5;&R?gY9^9L_*e@8X9nvoE97{`XtADp+l0?p%i%nBP??2n z{qr$uQdgCoYWC^9vle)wS7<@dJI#~#bQ`79Rdy$~Ebs=360bkjf|r-$srO;4w(S4^ z%O3wndsm!#g_`y8|7fsuM`}Jo?&dPn%HW#LzR(lD^_uL|c%jlI+8r{x zb;@khfurIuZ#dF!OvoDuvoC|8ZuSr-%?+*Bt^#tom{)X>-9%`)3OtvjnWW?S$L74<9=^~g?4c;7z%m4+17YgeVIGVJ7dRV zfr#eKOo8s_wyA6#vfjc%C*b!@JM+`S(yGF}d~Nhi(+4R2)tY-fHT2@<7RRRr5RN!} zkK*&zHcP(9%e8hfpEmcSkUNsV5)4hyd5~J$BBpPapoD^+H!p;V|3Xry6w5)rk6yk>=$U+`f4fB(f%SI zFRjzjv?*I|ZP_sL;VyICEZ;P`?c>Yc#|cO1Hea%T>1o)W>YJA9%y2^arQalnu~~eV zoWe+K%Z6$(&&Gz`6vVUJ3=xL=EKqB@VI$(l{f6$_hQXr&ZJ+R~{opVe889q{R^QJBkF)`l5XDeC$^ z;=<#&l0Ookv1#Gzbet&&xvSIm2Xk}d^FMR;<_!dNN?lXbVr8EG>ha5{^s85PEb&)gKIs`Yrc4aR zvKBRhu){amH!abH{9vJP$75Rc>Xhayu{rGk)9+s3cM7I5^n!m0Eo+5&&2>(FBNOvn z%y*MEv;sAc0f#l15#O|@m{;fP(WI1qj^mF_f2n4?%A1uv=Z^{U!Ez^=o9Kz3+cd~o zK_|cTyIJq8J@FH7wMmON`Zzy1Io~Dq&3i+ej=5kx^5^PIEpF6VCJn?8BYQ>Qn(LVY;1ahrEbY|f!t(bFqGu{|Po zOZ_6&*ELr^!OnQk^PvqVUTkHz<-fkdvRQ74*VzBow$_9O61(Y8m4W}SKCsVNQ9M7f h)=n*oU|~kQ@28ob_%nz8O7#qkdA_U>`{s+o{{#AmGjIR^ delta 15064 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 TnVtK>Q;wvy3s&EqH{|~T+@fLK delta 12458 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