Merge branch 'develop' of https://github.com/vabene1111/recipes into develop

This commit is contained in:
vabene1111 2023-08-23 13:17:48 +02:00
commit 0345b7720c
9 changed files with 638 additions and 577 deletions

View File

@ -100,10 +100,12 @@ GUNICORN_MEDIA=0
# prefix used for account related emails (default "[Tandoor Recipes] ") # prefix used for account related emails (default "[Tandoor Recipes] ")
# ACCOUNT_EMAIL_SUBJECT_PREFIX= # ACCOUNT_EMAIL_SUBJECT_PREFIX=
# allow authentication via reverse proxy (e.g. authelia), leave off if you dont know what you are doing # allow authentication via the REMOTE-USER header (can be used for e.g. authelia).
# see docs for more information https://docs.tandoor.dev/features/authentication/ # ATTENTION: Leave off if you don't know what you are doing! Enabling this without proper configuration will enable anybody
# to login with any username!
# See docs for additional information: https://docs.tandoor.dev/features/authentication/#reverse-proxy-authentication
# when unset: 0 (false) # when unset: 0 (false)
REVERSE_PROXY_AUTH=0 REMOTE_USER_AUTH=0
# Default settings for spaces, apply per space and can be changed in the admin view # Default settings for spaces, apply per space and can be changed in the admin view
# SPACE_DEFAULT_MAX_RECIPES=0 # 0=unlimited recipes # SPACE_DEFAULT_MAX_RECIPES=0 # 0=unlimited recipes

View File

@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-12 19:20+0200\n" "POT-Creation-Date: 2022-07-12 19:20+0200\n"
"PO-Revision-Date: 2023-06-25 14:19+0000\n" "PO-Revision-Date: 2023-08-21 09:19+0000\n"
"Last-Translator: sweeney <sweeneytodd91@protonmail.com>\n" "Last-Translator: Theodoros Grammenos <teogramm@outlook.com>\n"
"Language-Team: Greek <http://translate.tandoor.dev/projects/tandoor/" "Language-Team: Greek <http://translate.tandoor.dev/projects/tandoor/"
"recipes-backend/el/>\n" "recipes-backend/el/>\n"
"Language: el\n" "Language: el\n"
@ -22,7 +22,7 @@ msgstr ""
#: .\cookbook\filters.py:23 .\cookbook\templates\forms\ingredients.html:34 #: .\cookbook\filters.py:23 .\cookbook\templates\forms\ingredients.html:34
#: .\cookbook\templates\stats.html:28 #: .\cookbook\templates\stats.html:28
msgid "Ingredients" msgid "Ingredients"
msgstr "Συστατικά" msgstr "Υλικά"
#: .\cookbook\forms.py:53 #: .\cookbook\forms.py:53
msgid "Default unit" msgid "Default unit"
@ -66,7 +66,7 @@ msgstr "Κοινοποίηση προγράμματος"
#: .\cookbook\forms.py:63 #: .\cookbook\forms.py:63
msgid "Ingredient decimal places" msgid "Ingredient decimal places"
msgstr "" msgstr "Δεκαδικά ψηφία υλικών"
#: .\cookbook\forms.py:64 #: .\cookbook\forms.py:64
msgid "Shopping list auto sync period" msgid "Shopping list auto sync period"

View File

@ -14,10 +14,10 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-18 14:28+0200\n" "POT-Creation-Date: 2023-05-18 14:28+0200\n"
"PO-Revision-Date: 2023-04-12 11:55+0000\n" "PO-Revision-Date: 2023-08-16 21:19+0000\n"
"Last-Translator: noxonad <noxonad@proton.me>\n" "Last-Translator: Alexandre Braure <alex@tkclab.ca>\n"
"Language-Team: French <http://translate.tandoor.dev/projects/tandoor/recipes-" "Language-Team: French <http://translate.tandoor.dev/projects/tandoor/"
"backend/fr/>\n" "recipes-backend/fr/>\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -549,7 +549,7 @@ msgstr "Il est nécessaire de fournir soit le queryset, soit la clé de hachage"
#, fuzzy #, fuzzy
#| msgid "Use fractions" #| msgid "Use fractions"
msgid "reverse rotation" msgid "reverse rotation"
msgstr "Utiliser les fractions" msgstr "sens inverse"
#: .\cookbook\helper\recipe_url_import.py:267 #: .\cookbook\helper\recipe_url_import.py:267
msgid "careful rotation" msgid "careful rotation"
@ -620,10 +620,8 @@ msgid "Imported %s recipes."
msgstr "%s recettes importées." msgstr "%s recettes importées."
#: .\cookbook\integration\openeats.py:26 #: .\cookbook\integration\openeats.py:26
#, fuzzy
#| msgid "Recipe Home"
msgid "Recipe source:" msgid "Recipe source:"
msgstr "Page daccueil" msgstr "Source de la recette :"
#: .\cookbook\integration\paprika.py:49 #: .\cookbook\integration\paprika.py:49
msgid "Notes" msgid "Notes"

View File

@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-11 15:09+0200\n" "POT-Creation-Date: 2021-04-11 15:09+0200\n"
"PO-Revision-Date: 2023-04-17 20:55+0000\n" "PO-Revision-Date: 2023-08-19 21:36+0000\n"
"Last-Translator: Espen Sellevåg <buskmenn.drammer03@icloud.com>\n" "Last-Translator: NeoID <neoid@animenord.com>\n"
"Language-Team: Norwegian Bokmål <http://translate.tandoor.dev/projects/" "Language-Team: Norwegian Bokmål <http://translate.tandoor.dev/projects/"
"tandoor/recipes-backend/nb_NO/>\n" "tandoor/recipes-backend/nb_NO/>\n"
"Language: nb_NO\n" "Language: nb_NO\n"
@ -31,6 +31,8 @@ msgid ""
"Color of the top navigation bar. Not all colors work with all themes, just " "Color of the top navigation bar. Not all colors work with all themes, just "
"try them out!" "try them out!"
msgstr "" msgstr ""
"Farge på toppnavigasjonslinjen. Ikke alle farger fungerer med alle temaer, "
"så bare prøv dem ut!"
#: .\cookbook\forms.py:46 #: .\cookbook\forms.py:46
msgid "Default Unit to be used when inserting a new ingredient into a recipe." msgid "Default Unit to be used when inserting a new ingredient into a recipe."
@ -79,13 +81,15 @@ msgstr ""
#: .\cookbook\forms.py:56 #: .\cookbook\forms.py:56
msgid "Makes the navbar stick to the top of the page." msgid "Makes the navbar stick to the top of the page."
msgstr "" msgstr "Fest navigasjonslinjen til toppen av siden."
#: .\cookbook\forms.py:72 #: .\cookbook\forms.py:72
msgid "" msgid ""
"Both fields are optional. If none are given the username will be displayed " "Both fields are optional. If none are given the username will be displayed "
"instead" "instead"
msgstr "" msgstr ""
"Begge feltene er valgfrie. Hvis ingen blir oppgitt, vil brukernavnet vises i "
"stedet"
#: .\cookbook\forms.py:93 .\cookbook\forms.py:315 #: .\cookbook\forms.py:93 .\cookbook\forms.py:315
#: .\cookbook\templates\forms\edit_internal_recipe.html:45 #: .\cookbook\templates\forms\edit_internal_recipe.html:45
@ -97,15 +101,15 @@ msgstr "Navn"
#: .\cookbook\templates\forms\edit_internal_recipe.html:81 #: .\cookbook\templates\forms\edit_internal_recipe.html:81
#: .\cookbook\templates\stats.html:24 .\cookbook\templates\url_import.html:202 #: .\cookbook\templates\stats.html:24 .\cookbook\templates\url_import.html:202
msgid "Keywords" msgid "Keywords"
msgstr "" msgstr "Nøkkelord"
#: .\cookbook\forms.py:95 #: .\cookbook\forms.py:95
msgid "Preparation time in minutes" msgid "Preparation time in minutes"
msgstr "" msgstr "Forberedelsestid i minutter"
#: .\cookbook\forms.py:96 #: .\cookbook\forms.py:96
msgid "Waiting time (cooking/baking) in minutes" msgid "Waiting time (cooking/baking) in minutes"
msgstr "" msgstr "Ventetid (til matlaging/baking) i minutter"
#: .\cookbook\forms.py:97 .\cookbook\forms.py:317 #: .\cookbook\forms.py:97 .\cookbook\forms.py:317
msgid "Path" msgid "Path"
@ -124,6 +128,8 @@ msgid ""
"To prevent duplicates recipes with the same name as existing ones are " "To prevent duplicates recipes with the same name as existing ones are "
"ignored. Check this box to import everything." "ignored. Check this box to import everything."
msgstr "" msgstr ""
"For å unngå duplikater, blir oppskrifter med samme navn som eksisterende "
"ignorert. Merk av denne boksen for å importere alt."
#: .\cookbook\forms.py:149 #: .\cookbook\forms.py:149
msgid "New Unit" msgid "New Unit"
@ -131,7 +137,7 @@ msgstr "Ny enhet"
#: .\cookbook\forms.py:150 #: .\cookbook\forms.py:150
msgid "New unit that other gets replaced by." msgid "New unit that other gets replaced by."
msgstr "" msgstr "Ny enhet som erstatter den gamle."
#: .\cookbook\forms.py:155 #: .\cookbook\forms.py:155
msgid "Old Unit" msgid "Old Unit"
@ -143,19 +149,19 @@ msgstr "Enhet som skal erstattes."
#: .\cookbook\forms.py:172 #: .\cookbook\forms.py:172
msgid "New Food" msgid "New Food"
msgstr "" msgstr "Ny matvare"
#: .\cookbook\forms.py:173 #: .\cookbook\forms.py:173
msgid "New food that other gets replaced by." msgid "New food that other gets replaced by."
msgstr "" msgstr "Ny matvare som erstatter den gamle."
#: .\cookbook\forms.py:178 #: .\cookbook\forms.py:178
msgid "Old Food" msgid "Old Food"
msgstr "" msgstr "Gammel matvare"
#: .\cookbook\forms.py:179 #: .\cookbook\forms.py:179
msgid "Food that should be replaced." msgid "Food that should be replaced."
msgstr "" msgstr "Matvare som bør erstattes."
#: .\cookbook\forms.py:197 #: .\cookbook\forms.py:197
msgid "Add your comment: " msgid "Add your comment: "
@ -163,17 +169,19 @@ msgstr "Legg til din kommentar: "
#: .\cookbook\forms.py:238 #: .\cookbook\forms.py:238
msgid "Leave empty for dropbox and enter app password for nextcloud." msgid "Leave empty for dropbox and enter app password for nextcloud."
msgstr "" msgstr "La det stå tomt for Dropbox og skriv inn app-passordet for Nextcloud."
#: .\cookbook\forms.py:245 #: .\cookbook\forms.py:245
msgid "Leave empty for nextcloud and enter api token for dropbox." msgid "Leave empty for nextcloud and enter api token for dropbox."
msgstr "" msgstr "La det stå tomt for Nextcloud og skriv inn API-tokenet for Dropbox."
#: .\cookbook\forms.py:253 #: .\cookbook\forms.py:253
msgid "" msgid ""
"Leave empty for dropbox and enter only base url for nextcloud (<code>/remote." "Leave empty for dropbox and enter only base url for nextcloud (<code>/remote."
"php/webdav/</code> is added automatically)" "php/webdav/</code> is added automatically)"
msgstr "" msgstr ""
"La det stå tomt for Dropbox, og skriv bare inn grunn-URLen for Nextcloud "
"(<code>/remote.php/webdav/</code> blir lagt til automatisk)"
#: .\cookbook\forms.py:291 #: .\cookbook\forms.py:291
msgid "Search String" msgid "Search String"
@ -185,11 +193,12 @@ msgstr "Fil-ID"
#: .\cookbook\forms.py:354 #: .\cookbook\forms.py:354
msgid "You must provide at least a recipe or a title." msgid "You must provide at least a recipe or a title."
msgstr "" msgstr "Du må oppgi minst en oppskrift eller en tittel."
#: .\cookbook\forms.py:367 #: .\cookbook\forms.py:367
msgid "You can list default users to share recipes with in the settings." msgid "You can list default users to share recipes with in the settings."
msgstr "" msgstr ""
"Du kan liste opp standardbrukere for å dele oppskrifter innen innstillingene."
#: .\cookbook\forms.py:368 #: .\cookbook\forms.py:368
#: .\cookbook\templates\forms\edit_internal_recipe.html:377 #: .\cookbook\templates\forms\edit_internal_recipe.html:377
@ -197,10 +206,14 @@ msgid ""
"You can use markdown to format this field. See the <a href=\"/docs/markdown/" "You can use markdown to format this field. See the <a href=\"/docs/markdown/"
"\">docs here</a>" "\">docs here</a>"
msgstr "" msgstr ""
"Du kan bruke Markdown for å formatere dette feltet. Se <a href=\"/docs/"
"markdown/\">dokumentasjonen her</a>"
#: .\cookbook\forms.py:393 #: .\cookbook\forms.py:393
msgid "A username is not required, if left blank the new user can choose one." msgid "A username is not required, if left blank the new user can choose one."
msgstr "" msgstr ""
"Et brukernavn er ikke påkrevd. Hvis det blir stående tomt, kan den nye "
"brukeren velge ett selv."
#: .\cookbook\helper\permission_helper.py:123 #: .\cookbook\helper\permission_helper.py:123
#: .\cookbook\helper\permission_helper.py:129 #: .\cookbook\helper\permission_helper.py:129
@ -222,26 +235,30 @@ msgstr "Du er ikke innlogget og kan derfor ikke vise siden!"
#: .\cookbook\helper\permission_helper.py:167 #: .\cookbook\helper\permission_helper.py:167
#: .\cookbook\helper\permission_helper.py:182 #: .\cookbook\helper\permission_helper.py:182
msgid "You cannot interact with this object as it is not owned by you!" msgid "You cannot interact with this object as it is not owned by you!"
msgstr "" msgstr "Du kan ikke samhandle med dette objektet, da det ikke tilhører deg!"
#: .\cookbook\helper\recipe_url_import.py:40 .\cookbook\views\api.py:549 #: .\cookbook\helper\recipe_url_import.py:40 .\cookbook\views\api.py:549
msgid "The requested site provided malformed data and cannot be read." msgid "The requested site provided malformed data and cannot be read."
msgstr "" msgstr ""
"Nettstedet du har forespurt, har levert feilformatert data som ikke kan "
"leses."
#: .\cookbook\helper\recipe_url_import.py:54 #: .\cookbook\helper\recipe_url_import.py:54
msgid "" msgid ""
"The requested site does not provide any recognized data format to import the " "The requested site does not provide any recognized data format to import the "
"recipe from." "recipe from."
msgstr "" msgstr ""
"Det forespurte nettstedet gir ingen gjenkjennelig dataformat som kan "
"importeres oppskriften fra."
#: .\cookbook\helper\recipe_url_import.py:160 #: .\cookbook\helper\recipe_url_import.py:160
msgid "Imported from" msgid "Imported from"
msgstr "" msgstr "Importert fra"
#: .\cookbook\helper\template_helper.py:60 #: .\cookbook\helper\template_helper.py:60
#: .\cookbook\helper\template_helper.py:62 #: .\cookbook\helper\template_helper.py:62
msgid "Could not parse template code." msgid "Could not parse template code."
msgstr "" msgstr "Kunne ikke analysere mal-koden."
#: .\cookbook\integration\integration.py:102 #: .\cookbook\integration\integration.py:102
#: .\cookbook\templates\import.html:14 .\cookbook\templates\import.html:20 #: .\cookbook\templates\import.html:14 .\cookbook\templates\import.html:20
@ -250,50 +267,52 @@ msgstr ""
#: .\cookbook\templates\url_import.html:233 .\cookbook\views\delete.py:60 #: .\cookbook\templates\url_import.html:233 .\cookbook\views\delete.py:60
#: .\cookbook\views\edit.py:190 #: .\cookbook\views\edit.py:190
msgid "Import" msgid "Import"
msgstr "" msgstr "Importér"
#: .\cookbook\integration\integration.py:131 #: .\cookbook\integration\integration.py:131
msgid "" msgid ""
"Importer expected a .zip file. Did you choose the correct importer type for " "Importer expected a .zip file. Did you choose the correct importer type for "
"your data ?" "your data ?"
msgstr "" msgstr ""
"Importøren forventet en .zip-fil. Har du valgt riktig type importør for "
"dataene dine?"
#: .\cookbook\integration\integration.py:134 #: .\cookbook\integration\integration.py:134
msgid "The following recipes were ignored because they already existed:" msgid "The following recipes were ignored because they already existed:"
msgstr "" msgstr "Følgende oppskrifter ble ignorert fordi de allerede eksisterte:"
#: .\cookbook\integration\integration.py:137 #: .\cookbook\integration\integration.py:137
#, python-format #, python-format
msgid "Imported %s recipes." msgid "Imported %s recipes."
msgstr "" msgstr "Importerte %s oppskrifter."
#: .\cookbook\integration\paprika.py:44 #: .\cookbook\integration\paprika.py:44
msgid "Notes" msgid "Notes"
msgstr "" msgstr "Notater"
#: .\cookbook\integration\paprika.py:47 #: .\cookbook\integration\paprika.py:47
msgid "Nutritional Information" msgid "Nutritional Information"
msgstr "" msgstr "Næringsinformasjon"
#: .\cookbook\integration\paprika.py:50 #: .\cookbook\integration\paprika.py:50
msgid "Source" msgid "Source"
msgstr "" msgstr "Kilde"
#: .\cookbook\integration\safron.py:23 #: .\cookbook\integration\safron.py:23
#: .\cookbook\templates\forms\edit_internal_recipe.html:75 #: .\cookbook\templates\forms\edit_internal_recipe.html:75
#: .\cookbook\templates\include\log_cooking.html:16 #: .\cookbook\templates\include\log_cooking.html:16
#: .\cookbook\templates\url_import.html:84 #: .\cookbook\templates\url_import.html:84
msgid "Servings" msgid "Servings"
msgstr "" msgstr "Porsjoner"
#: .\cookbook\integration\safron.py:25 #: .\cookbook\integration\safron.py:25
msgid "Waiting time" msgid "Waiting time"
msgstr "" msgstr "Ventetid"
#: .\cookbook\integration\safron.py:27 #: .\cookbook\integration\safron.py:27
#: .\cookbook\templates\forms\edit_internal_recipe.html:69 #: .\cookbook\templates\forms\edit_internal_recipe.html:69
msgid "Preparation Time" msgid "Preparation Time"
msgstr "" msgstr "Forberedelsestid"
#: .\cookbook\integration\safron.py:29 .\cookbook\templates\base.html:71 #: .\cookbook\integration\safron.py:29 .\cookbook\templates\base.html:71
#: .\cookbook\templates\forms\ingredients.html:7 #: .\cookbook\templates\forms\ingredients.html:7
@ -329,7 +348,7 @@ msgstr "Søk"
#: .\cookbook\templates\meal_plan.html:5 .\cookbook\views\delete.py:152 #: .\cookbook\templates\meal_plan.html:5 .\cookbook\views\delete.py:152
#: .\cookbook\views\edit.py:224 .\cookbook\views\new.py:188 #: .\cookbook\views\edit.py:224 .\cookbook\views\new.py:188
msgid "Meal-Plan" msgid "Meal-Plan"
msgstr "" msgstr "Måltidsplan"
#: .\cookbook\models.py:112 .\cookbook\templates\base.html:82 #: .\cookbook\models.py:112 .\cookbook\templates\base.html:82
msgid "Books" msgid "Books"
@ -337,11 +356,11 @@ msgstr "Bøker"
#: .\cookbook\models.py:119 #: .\cookbook\models.py:119
msgid "Small" msgid "Small"
msgstr "" msgstr "Liten"
#: .\cookbook\models.py:119 #: .\cookbook\models.py:119
msgid "Large" msgid "Large"
msgstr "" msgstr "Stor"
#: .\cookbook\models.py:327 #: .\cookbook\models.py:327
#: .\cookbook\templates\forms\edit_internal_recipe.html:198 #: .\cookbook\templates\forms\edit_internal_recipe.html:198
@ -1109,22 +1128,24 @@ msgstr ""
#: .\cookbook\templates\markdown_info.html:125 #: .\cookbook\templates\markdown_info.html:125
msgid "Images & Links" msgid "Images & Links"
msgstr "" msgstr "Bilder og lenker"
#: .\cookbook\templates\markdown_info.html:126 #: .\cookbook\templates\markdown_info.html:126
msgid "" msgid ""
"Links can be formatted with Markdown. This application also allows to paste " "Links can be formatted with Markdown. This application also allows to paste "
"links directly into markdown fields without any formatting." "links directly into markdown fields without any formatting."
msgstr "" msgstr ""
"Lenker kan formateres med Markdown. Denne applikasjonen lar deg også lime "
"inn lenker direkte i Markdown-felt uten noen formatering."
#: .\cookbook\templates\markdown_info.html:132 #: .\cookbook\templates\markdown_info.html:132
#: .\cookbook\templates\markdown_info.html:145 #: .\cookbook\templates\markdown_info.html:145
msgid "This will become an image" msgid "This will become an image"
msgstr "" msgstr "Dette vil bli til et bilde"
#: .\cookbook\templates\markdown_info.html:152 #: .\cookbook\templates\markdown_info.html:152
msgid "Tables" msgid "Tables"
msgstr "" msgstr "Tabeller"
#: .\cookbook\templates\markdown_info.html:153 #: .\cookbook\templates\markdown_info.html:153
msgid "" msgid ""
@ -1132,124 +1153,130 @@ msgid ""
"editor like <a href=\"https://www.tablesgenerator.com/markdown_tables\" rel=" "editor like <a href=\"https://www.tablesgenerator.com/markdown_tables\" rel="
"\"noreferrer noopener\" target=\"_blank\">this one.</a>" "\"noreferrer noopener\" target=\"_blank\">this one.</a>"
msgstr "" msgstr ""
"Markdown-tabeller er vanskelige å lage for hånd. Det anbefales å bruke en "
"tabellredigerer som <a href=\"https://www.tablesgenerator.com/"
"markdown_tables\" rel=\"noreferrer noopener\" target=\"_blank\">denne.</a>"
#: .\cookbook\templates\markdown_info.html:155 #: .\cookbook\templates\markdown_info.html:155
#: .\cookbook\templates\markdown_info.html:157 #: .\cookbook\templates\markdown_info.html:157
#: .\cookbook\templates\markdown_info.html:171 #: .\cookbook\templates\markdown_info.html:171
#: .\cookbook\templates\markdown_info.html:177 #: .\cookbook\templates\markdown_info.html:177
msgid "Table" msgid "Table"
msgstr "" msgstr "Tabell"
#: .\cookbook\templates\markdown_info.html:155 #: .\cookbook\templates\markdown_info.html:155
#: .\cookbook\templates\markdown_info.html:172 #: .\cookbook\templates\markdown_info.html:172
msgid "Header" msgid "Header"
msgstr "" msgstr "Overskrift"
#: .\cookbook\templates\markdown_info.html:157 #: .\cookbook\templates\markdown_info.html:157
#: .\cookbook\templates\markdown_info.html:178 #: .\cookbook\templates\markdown_info.html:178
msgid "Cell" msgid "Cell"
msgstr "" msgstr "Celle"
#: .\cookbook\templates\meal_plan.html:101 #: .\cookbook\templates\meal_plan.html:101
msgid "New Entry" msgid "New Entry"
msgstr "" msgstr "Ny oppføring"
#: .\cookbook\templates\meal_plan.html:113 #: .\cookbook\templates\meal_plan.html:113
#: .\cookbook\templates\shopping_list.html:52 #: .\cookbook\templates\shopping_list.html:52
msgid "Search Recipe" msgid "Search Recipe"
msgstr "" msgstr "Søk oppskrift"
#: .\cookbook\templates\meal_plan.html:139 #: .\cookbook\templates\meal_plan.html:139
msgid "Title" msgid "Title"
msgstr "" msgstr "Tittel"
#: .\cookbook\templates\meal_plan.html:141 #: .\cookbook\templates\meal_plan.html:141
msgid "Note (optional)" msgid "Note (optional)"
msgstr "" msgstr "Merknad (valgfritt)"
#: .\cookbook\templates\meal_plan.html:143 #: .\cookbook\templates\meal_plan.html:143
msgid "" msgid ""
"You can use markdown to format this field. See the <a href=\"/docs/markdown/" "You can use markdown to format this field. See the <a href=\"/docs/markdown/"
"\" target=\"_blank\" rel=\"noopener noreferrer\">docs here</a>" "\" target=\"_blank\" rel=\"noopener noreferrer\">docs here</a>"
msgstr "" msgstr ""
"Du kan bruke Markdown for å formatere dette feltet. Se <a href=\"/docs/"
"markdown/\" target=\"_blank\" rel=\"noopener noreferrer\">dokumentasjonen "
"her</a>"
#: .\cookbook\templates\meal_plan.html:147 #: .\cookbook\templates\meal_plan.html:147
#: .\cookbook\templates\meal_plan.html:251 #: .\cookbook\templates\meal_plan.html:251
msgid "Serving Count" msgid "Serving Count"
msgstr "" msgstr "Antall porsjoner"
#: .\cookbook\templates\meal_plan.html:153 #: .\cookbook\templates\meal_plan.html:153
msgid "Create only note" msgid "Create only note"
msgstr "" msgstr "Opprett kun en merknad"
#: .\cookbook\templates\meal_plan.html:168 #: .\cookbook\templates\meal_plan.html:168
#: .\cookbook\templates\shopping_list.html:7 #: .\cookbook\templates\shopping_list.html:7
#: .\cookbook\templates\shopping_list.html:29 #: .\cookbook\templates\shopping_list.html:29
#: .\cookbook\templates\shopping_list.html:705 #: .\cookbook\templates\shopping_list.html:705
msgid "Shopping List" msgid "Shopping List"
msgstr "" msgstr "Handleliste"
#: .\cookbook\templates\meal_plan.html:172 #: .\cookbook\templates\meal_plan.html:172
msgid "Shopping list currently empty" msgid "Shopping list currently empty"
msgstr "" msgstr "Handlelisten er for øyeblikket tom"
#: .\cookbook\templates\meal_plan.html:175 #: .\cookbook\templates\meal_plan.html:175
msgid "Open Shopping List" msgid "Open Shopping List"
msgstr "" msgstr "Åpne handlelisten"
#: .\cookbook\templates\meal_plan.html:189 #: .\cookbook\templates\meal_plan.html:189
msgid "Plan" msgid "Plan"
msgstr "" msgstr "Plan"
#: .\cookbook\templates\meal_plan.html:196 #: .\cookbook\templates\meal_plan.html:196
msgid "Number of Days" msgid "Number of Days"
msgstr "" msgstr "Antall dager"
#: .\cookbook\templates\meal_plan.html:206 #: .\cookbook\templates\meal_plan.html:206
msgid "Weekday offset" msgid "Weekday offset"
msgstr "" msgstr "Ukedagsforskyvning"
#: .\cookbook\templates\meal_plan.html:209 #: .\cookbook\templates\meal_plan.html:209
msgid "" msgid ""
"Number of days starting from the first day of the week to offset the default " "Number of days starting from the first day of the week to offset the default "
"view." "view."
msgstr "" msgstr "Antall dager fra den første dagen i uken for å endre standardvisningen."
#: .\cookbook\templates\meal_plan.html:217 #: .\cookbook\templates\meal_plan.html:217
#: .\cookbook\templates\meal_plan.html:294 #: .\cookbook\templates\meal_plan.html:294
msgid "Edit plan types" msgid "Edit plan types"
msgstr "" msgstr "Rediger plantyper"
#: .\cookbook\templates\meal_plan.html:219 #: .\cookbook\templates\meal_plan.html:219
msgid "Show help" msgid "Show help"
msgstr "" msgstr "Vis hjelp"
#: .\cookbook\templates\meal_plan.html:220 #: .\cookbook\templates\meal_plan.html:220
msgid "Week iCal export" msgid "Week iCal export"
msgstr "" msgstr "Uke iCal-eksport"
#: .\cookbook\templates\meal_plan.html:264 #: .\cookbook\templates\meal_plan.html:264
#: .\cookbook\templates\meal_plan_entry.html:18 #: .\cookbook\templates\meal_plan_entry.html:18
msgid "Created by" msgid "Created by"
msgstr "" msgstr "Opprettet av"
#: .\cookbook\templates\meal_plan.html:270 #: .\cookbook\templates\meal_plan.html:270
#: .\cookbook\templates\meal_plan_entry.html:20 #: .\cookbook\templates\meal_plan_entry.html:20
#: .\cookbook\templates\shopping_list.html:250 #: .\cookbook\templates\shopping_list.html:250
msgid "Shared with" msgid "Shared with"
msgstr "" msgstr "Delt med"
#: .\cookbook\templates\meal_plan.html:280 #: .\cookbook\templates\meal_plan.html:280
msgid "Add to Shopping" msgid "Add to Shopping"
msgstr "" msgstr "Legg til i handlelisten"
#: .\cookbook\templates\meal_plan.html:323 #: .\cookbook\templates\meal_plan.html:323
msgid "New meal type" msgid "New meal type"
msgstr "" msgstr "Ny måltidstype"
#: .\cookbook\templates\meal_plan.html:338 #: .\cookbook\templates\meal_plan.html:338
msgid "Meal Plan Help" msgid "Meal Plan Help"
msgstr "" msgstr "Hjelp for måltidsplanen"
#: .\cookbook\templates\meal_plan.html:344 #: .\cookbook\templates\meal_plan.html:344
msgid "" msgid ""
@ -1289,7 +1316,7 @@ msgstr ""
#: .\cookbook\templates\meal_plan_entry.html:6 #: .\cookbook\templates\meal_plan_entry.html:6
msgid "Meal Plan View" msgid "Meal Plan View"
msgstr "" msgstr "Visning av måltidsplanen"
#: .\cookbook\templates\meal_plan_entry.html:50 #: .\cookbook\templates\meal_plan_entry.html:50
msgid "Never cooked before." msgid "Never cooked before."
@ -1297,7 +1324,7 @@ msgstr ""
#: .\cookbook\templates\meal_plan_entry.html:76 #: .\cookbook\templates\meal_plan_entry.html:76
msgid "Other meals on this day" msgid "Other meals on this day"
msgstr "" msgstr "Andre måltider denne dagen"
#: .\cookbook\templates\no_groups_info.html:5 #: .\cookbook\templates\no_groups_info.html:5
#: .\cookbook\templates\no_groups_info.html:12 #: .\cookbook\templates\no_groups_info.html:12

View File

@ -100,15 +100,17 @@ AUTH_LDAP_START_TLS=1
AUTH_LDAP_TLS_CACERTFILE=/etc/ssl/certs/own-ca.pem AUTH_LDAP_TLS_CACERTFILE=/etc/ssl/certs/own-ca.pem
``` ```
## Reverse Proxy Authentication ## External Authentication
!!! warning "Security Impact"
If you just set `REMOTE_USER_AUTH=1` without any additional configuration, _anybody_ can authenticate with _any_ username!
!!! Info "Community Contributed Tutorial" !!! Info "Community Contributed Tutorial"
This tutorial was provided by a community member. Since I do not use reverse proxy authentication, I cannot provide any This tutorial was provided by a community member. We are not able to provide any support! Please only use, if you know what you are doing!
assistance should you choose to use this authentication method.
In order use proxy authentication you will need to: In order use external authentication (i.e. using a proxy auth like Authelia, Authentik, etc.) you will need to:
1. Set `REVERSE_PROXY_AUTH=1` in the `.env` file 1. Set `REMOTE_USER_AUTH=1` in the `.env` file
2. Update your nginx configuration file 2. Update your nginx configuration file
Using any of the examples above will automatically generate a configuration file inside a docker volume. Using any of the examples above will automatically generate a configuration file inside a docker volume.
@ -116,10 +118,10 @@ Use `docker volume inspect recipes_nginx` to find out where your volume is store
!!! warning "Configuration File Volume" !!! warning "Configuration File Volume"
The nginx config volume is generated when the container is first run. You can change the volume to a bind mount in the The nginx config volume is generated when the container is first run. You can change the volume to a bind mount in the
warning `docker-compose.yml`, but then you will need to manually create it. See section `Volumes vs Bind Mounts` below `docker-compose.yml`, but then you will need to manually create it. See section `Volumes vs Bind Mounts` below
for more information. for more information.
The following example shows a configuration for Authelia: ### Configuration Example for Authelia
``` ```
server { server {

View File

@ -46,7 +46,11 @@ INTERNAL_IPS = os.getenv('INTERNAL_IPS').split(
# allow djangos wsgi server to server mediafiles # allow djangos wsgi server to server mediafiles
GUNICORN_MEDIA = bool(int(os.getenv('GUNICORN_MEDIA', True))) GUNICORN_MEDIA = bool(int(os.getenv('GUNICORN_MEDIA', True)))
REVERSE_PROXY_AUTH = bool(int(os.getenv('REVERSE_PROXY_AUTH', False))) if os.getenv('REVERSE_PROXY_AUTH') is not None:
print('DEPRECATION WARNING: Environment var "REVERSE_PROXY_AUTH" is deprecated. Please use "REMOTE_USER_AUTH".')
REMOTE_USER_AUTH = bool(int(os.getenv('REVERSE_PROXY_AUTH', False)))
else:
REMOTE_USER_AUTH = bool(int(os.getenv('REMOTE_USER_AUTH', False)))
# default value for user preference 'comment' # default value for user preference 'comment'
COMMENT_PREF_DEFAULT = bool(int(os.getenv('COMMENT_PREF_DEFAULT', True))) COMMENT_PREF_DEFAULT = bool(int(os.getenv('COMMENT_PREF_DEFAULT', True)))
@ -273,7 +277,7 @@ SITE_ID = int(os.getenv('ALLAUTH_SITE_ID', 1))
ACCOUNT_ADAPTER = 'cookbook.helper.AllAuthCustomAdapter' ACCOUNT_ADAPTER = 'cookbook.helper.AllAuthCustomAdapter'
if REVERSE_PROXY_AUTH: if REMOTE_USER_AUTH:
MIDDLEWARE.insert(8, 'recipes.middleware.CustomRemoteUser') MIDDLEWARE.insert(8, 'recipes.middleware.CustomRemoteUser')
AUTHENTICATION_BACKENDS.append( AUTHENTICATION_BACKENDS.append(
'django.contrib.auth.backends.RemoteUserBackend') 'django.contrib.auth.backends.RemoteUserBackend')

View File

@ -507,5 +507,9 @@
"g": "Gramm [g] (metrisch, Gewicht)", "g": "Gramm [g] (metrisch, Gewicht)",
"kg": "Kilogramm [kg] (metrisch, Gewicht)", "kg": "Kilogramm [kg] (metrisch, Gewicht)",
"ounce": "Unze [oz] (Gewicht)", "ounce": "Unze [oz] (Gewicht)",
"pound": "Pfund (Gewicht)" "pound": "Pfund (Gewicht)",
"ml": "Milliliter",
"l": "Liter",
"tbsp": "Esslöffel",
"tsp": "Teelöffel"
} }

File diff suppressed because it is too large Load Diff

View File

@ -460,5 +460,8 @@
"Unpin": "Détacher", "Unpin": "Détacher",
"Split_All_Steps": "Diviser toutes les lignes en étapes séparées.", "Split_All_Steps": "Diviser toutes les lignes en étapes séparées.",
"Warning_Delete_Supermarket_Category": "Supprimer une catégorie de supermarché supprimera également toutes les relations avec les aliments. Êtes-vous sûr ?", "Warning_Delete_Supermarket_Category": "Supprimer une catégorie de supermarché supprimera également toutes les relations avec les aliments. Êtes-vous sûr ?",
"Instruction_Replace": "Instruction Remplacer" "Instruction_Replace": "Instruction Remplacer",
"recipe_property_info": "Vous pouvez également ajouter des propriétés aux aliments pour les calculer automatiquement en fonction de votre recette !",
"per_serving": "par portions",
"open_data_help_text": "Le projet «Tandoor Open Data» est une base de données fournit par la communauté. Ce champ est rempli automatiquement lors de l'importation des données et permet les mises à jour dans le futur."
} }