From 92d955172db8d2cc561884a7556964fd7bcf8540 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Tue, 12 Dec 2023 16:21:17 -0600 Subject: [PATCH 001/170] New Crowdin updates (#2833) * New translations en-us.json (Norwegian) * New translations en-us.json (Arabic) * New translations en-us.json (Swedish) * New translations en-us.json (Chinese Traditional) * New translations en-us.json (Arabic) --- frontend/lang/messages/ar-SA.json | 12 +- frontend/lang/messages/no-NO.json | 232 +++++++++--------- frontend/lang/messages/sv-SE.json | 108 ++++---- frontend/lang/messages/zh-TW.json | 78 +++--- .../seed/resources/labels/locales/ar-SA.json | 2 +- 5 files changed, 216 insertions(+), 216 deletions(-) diff --git a/frontend/lang/messages/ar-SA.json b/frontend/lang/messages/ar-SA.json index c414f846e661..ad5565378d82 100644 --- a/frontend/lang/messages/ar-SA.json +++ b/frontend/lang/messages/ar-SA.json @@ -290,24 +290,24 @@ "type-any": "أي", "day-any": "أي", "editor": "Editor", - "meal-recipe": "Meal Recipe", - "meal-title": "Meal Title", - "meal-note": "Meal Note", - "note-only": "Note Only", + "meal-recipe": "وصفة الوجبة", + "meal-title": "عنوان الوجبة", + "meal-note": "ملاحظة الوجبة", + "note-only": "ملاحظة فقط", "random-meal": "وجبة عشوائية", "random-dinner": "عشاء عشوائي", "random-side": "Random Side", "this-rule-will-apply": "This rule will apply {dayCriteria} {mealTypeCriteria}.", "to-all-days": "إلى جميع الأيام", "on-days": "on {0}s", - "for-all-meal-types": "for all meal types", + "for-all-meal-types": "لجميع أنواع الوجبات", "for-type-meal-types": "for {0} meal types", "meal-plan-rules": "Meal Plan Rules", "new-rule": "قاعدة جديدة", "meal-plan-rules-description": "You can create rules for auto selecting recipes for your meal plans. These rules are used by the server to determine the random pool of recipes to select from when creating meal plans. Note that if rules have the same day/type constraints then the categories of the rules will be merged. In practice, it's unnecessary to create duplicate rules, but it's possible to do so.", "new-rule-description": "When creating a new rule for a meal plan you can restrict the rule to be applicable for a specific day of the week and/or a specific type of meal. To apply a rule to all days or all meal types you can set the rule to \"Any\" which will apply it to all the possible values for the day and/or meal type.", "recipe-rules": "قواعد الوصفات", - "applies-to-all-days": "Applies to all days", + "applies-to-all-days": "ينطبق على جميع الأيام", "applies-on-days": "Applies on {0}s", "meal-plan-settings": "Meal Plan Settings" }, diff --git a/frontend/lang/messages/no-NO.json b/frontend/lang/messages/no-NO.json index d9a735e9a66a..7ae35fe6b6c8 100644 --- a/frontend/lang/messages/no-NO.json +++ b/frontend/lang/messages/no-NO.json @@ -2,8 +2,8 @@ "about": { "about": "Om", "about-mealie": "Om Mealie", - "api-docs": "API dokumentasjon", - "api-port": "API port", + "api-docs": "API-dokumentasjon", + "api-port": "API-port", "application-mode": "Programmodus", "database-type": "Databasetype", "database-url": "Databasens URL", @@ -12,10 +12,10 @@ "demo-status": "Demostatus", "development": "Utvikling", "docs": "Dokumentasjon", - "download-log": "Nedlastingslogg", - "download-recipe-json": "Siste skrapt JSON", + "download-log": "Nedlastningslogg", + "download-recipe-json": "Siste skrapte JSON", "github": "GitHub", - "log-lines": "Logg linjer", + "log-lines": "Logglinjer", "not-demo": "Ikke demo", "portfolio": "Portefølje", "production": "Produksjon", @@ -33,7 +33,7 @@ "pdf": "PDF", "recipe": "Oppskrift", "show-assets": "Vis ressurser", - "error-submitting-form": "Feil ved innsending" + "error-submitting-form": "Feil ved lagring av skjema" }, "category": { "categories": "Kategorier", @@ -41,16 +41,16 @@ "category-creation-failed": "Kategoriopprettelse mislyktes", "category-deleted": "Kategori slettet", "category-deletion-failed": "Sletting av kategori mislyktes", - "category-filter": "Kategori Filter", + "category-filter": "Kategorifilter", "category-update-failed": "Oppdatering av kategori mislyktes", "category-updated": "Kategori oppdatert", "uncategorized-count": "Ukategorisert {count}", "create-a-category": "Opprett en kategori", - "category-name": "Navn på kategori", + "category-name": "Katergorinavn", "category": "Kategori" }, "events": { - "apprise-url": "Bruk URL", + "apprise-url": "Apprise URL", "database": "Database", "delete-event": "Slett hendelse", "event-delete-confirmation": "Er du sikker på at du ønsker å slette denne hendelsen?", @@ -58,33 +58,33 @@ "event-updated": "Hendelse oppdatert", "new-notification-form-description": "Mealie bruker Apprise biblioteket til å generere varsler. De tilbyr mange alternativer for varsler. Se wikien for en omfattende guide om hvordan du oppretter URL-adressen for tjenesten din. Hvis tilgjengelig, kan valg av type varsel inkludere ekstra funksjoner.", "new-version": "Ny versjon tilgjengelig!", - "notification": "Varslinger", + "notification": "Varsling", "refresh": "Oppdater", "scheduled": "Planlagt", "something-went-wrong": "Noe gikk galt!", "subscribed-events": "Abonnerte hendelser", "test-message-sent": "Testmelding sendt", "new-notification": "Ny varsel", - "event-notifiers": "Varsel for hendelse", - "apprise-url-skipped-if-blank": "Bruk URL (hopp over hvis den er tom)", + "event-notifiers": "Hendelsesvarslere", + "apprise-url-skipped-if-blank": "Apprise URL (hoppes over hvis tom)", "enable-notifier": "Aktiver varsleren", - "what-events": "Hvilke hendelser skal dette varselet abonnere på?", - "user-events": "Brukeres hendelser", - "mealplan-events": "Målplanlegger hendelser", + "what-events": "Hvilke hendelser denne varsleren abonnere på?", + "user-events": "Brukerhendelser", + "mealplan-events": "Måltidsplanleggerhendelser", "when-a-user-in-your-group-creates-a-new-mealplan": "Når en bruker i gruppen din oppretter en ny måltidsplan", - "shopping-list-events": "Handleliste Hendelser", - "cookbook-events": "Kokebok hendelser", - "tag-events": "Tagg hendelser", - "category-events": "Kategori hendelser", + "shopping-list-events": "Handlelistehendelser", + "cookbook-events": "Kokebokhendelser", + "tag-events": "Merk hendelser", + "category-events": "Kategorihendelser", "when-a-new-user-joins-your-group": "Når en ny bruker blir med i gruppen din", - "recipe-events": "Oppskrift hendelser" + "recipe-events": "Oppskriftshendelser" }, "general": { "cancel": "Avbryt", "clear": "Tøm", "close": "Lukk", "confirm": "Bekreft", - "confirm-delete-generic": "Er du sikker på at du vil slette dette?", + "confirm-delete-generic": "Er du sikker på at du vil slette denne?", "copied_message": "Kopiert!", "create": "Opprett", "created": "Opprettet", @@ -93,14 +93,14 @@ "delete": "Slett", "disabled": "Deaktivert", "download": "Last ned", - "duplicate": "Duplikat", + "duplicate": "Duplisere", "edit": "Rediger", "enabled": "Aktivert", "exception": "Unntak", "failed-count": "Mislyktes: {count}", "failure-uploading-file": "Opplasting av fil mislyktes", "favorites": "Favoritter", - "field-required": "Nødvendig felt", + "field-required": "Påkrevd felt", "file-folder-not-found": "Fil/mappe ikke funnet", "file-uploaded": "Fil lastet opp", "filter": "Filter", @@ -114,11 +114,11 @@ "json": "JSON", "keyword": "Nøkkelord", "link-copied": "Lenke kopiert", - "loading": "Loading", + "loading": "Laster", "loading-events": "Laster hendelser", "loading-recipe": "Laster oppskrift...", - "loading-ocr-data": "Laster OCR data...", - "loading-recipes": "Laster Oppskrifter", + "loading-ocr-data": "Laster OCR-data...", + "loading-recipes": "Laster oppskrifter", "message": "Melding", "monday": "Mandag", "name": "Navn", @@ -128,7 +128,7 @@ "no-recipe-found": "Ingen oppskrift funnet", "ok": "OK", "options": "Alternativer:", - "plural-name": "Flertalls navn", + "plural-name": "Flertallsnavn", "print": "Skriv ut", "print-preferences": "Skriv ut innstillinger", "random": "Tilfeldig", @@ -142,8 +142,8 @@ "save": "Lagre", "settings": "Innstillinger", "share": "Del", - "shuffle": "Tilf. rekkefølge", - "sort": "Sorter", + "shuffle": "Tilfeldig rekkefølge", + "sort": "Sortér", "sort-alphabetically": "Alfabetisk", "status": "Status", "subject": "Emne", @@ -154,7 +154,7 @@ "test": "Test", "themes": "Temaer", "thursday": "Torsdag", - "token": "Symbol", + "token": "Token", "tuesday": "Tirsdag", "type": "Type", "update": "Oppdater", @@ -179,7 +179,7 @@ "a-name-is-required": "Navn er påkrevd", "delete-with-name": "Slett {name}", "confirm-delete-generic-with-name": "Er du sikker på at du vil slette {name}?", - "confirm-delete-own-admin-account": "Vær oppmerksom på at du holder på å slette din egen administrator-konto! Dette kan ikke angres, og vil slette kontoen din permantent!", + "confirm-delete-own-admin-account": "Vær oppmerksom på at du holder på å slette din egen administrator-konto! Dette kan ikke angres og vil slette kontoen din permantent!", "organizer": "Planlegger", "transfer": "Overfør", "copy": "Kopier", @@ -198,7 +198,7 @@ "refresh": "Oppdater", "upload-file": "Last opp fil", "created-on-date": "Opprettet: {0}", - "unsaved-changes": "Du har ulagrede endringer. Vil du lagre før du forlater den? Okay å lagre, Avbryt for å forkaste endringer." + "unsaved-changes": "Du har ulagrede endringer. Ønsker du å lagre før du forlater? Trykk 'OK' for å lagre, 'Avbryt' for å forkaste endringene." }, "group": { "are-you-sure-you-want-to-delete-the-group": "Er du sikker på at du vil slette {groupName}?", @@ -210,10 +210,10 @@ "group": "Gruppe", "group-deleted": "Gruppe slettet", "group-deletion-failed": "Sletting av gruppe mislyktes", - "group-id-with-value": "Gruppe ID: {groupID}", + "group-id-with-value": "Gruppe-ID: {groupID}", "group-name": "Gruppenavn", "group-not-found": "Gruppe ikke funnet", - "group-token": "Group Token", + "group-token": "Gruppe-token", "group-with-value": "Gruppe ID: {groupID}", "groups": "Grupper", "manage-groups": "Administrer grupper", @@ -238,8 +238,8 @@ "allow-users-outside-of-your-group-to-see-your-recipes-description": "Når aktivert kan du bruke en lenke for offentlig deling til å dele bestemte oppskrifter uten å autorisere brukeren. Når deaktivert kan du bare dele oppskrifter med brukere i gruppen din eller med en forhåndsgenerert privat link", "show-nutrition-information": "Vis ernæringsinformasjon", "show-nutrition-information-description": "Når aktivert vil ernæringsinformasjonen bli vist på oppskriften hvis tilgjengelig. Hvis det ikke finnes noen ernæringsinformasjon tilgjengelig, vil ikke ernæringsinformasjonen vises.", - "show-recipe-assets": "Vis oppskrift filer", - "show-recipe-assets-description": "Når aktivert, vil oppskriften på en side bli vist på oppskriften hvis tilgjengelig", + "show-recipe-assets": "Vis oppskriftsressurser", + "show-recipe-assets-description": "Når aktivert, vil oppskriftsressurser bli vist på oppskriften hvis de er tilgjengelige", "default-to-landscape-view": "Standard liggende visning", "default-to-landscape-view-description": "Når aktivert, vil oppskriftsoverskriften vises i landskapsvisning", "disable-users-from-commenting-on-recipes": "Deaktiver brukere fra å kommentere på oppskrifter", @@ -253,7 +253,7 @@ "group-management": "Gruppeadministrasjon", "admin-group-management": "Admin gruppeadministrasjon", "admin-group-management-text": "Endringer i denne gruppen vil umiddelbart bli reflektert.", - "group-id-value": "Gruppe ID: {0}" + "group-id-value": "Gruppe-ID: {0}" }, "meal-plan": { "create-a-new-meal-plan": "Lag en ny måltidsplan", @@ -347,7 +347,7 @@ "recipe-data-migrations": "Oppskriftsmigrering", "recipe-data-migrations-explanation": "Oppskrifter kan overføres fra et annet støttet program til Mealie. Dette er en flott måte å komme i gang med Mealie.", "choose-migration-type": "Velg migrasjonstype", - "tag-all-recipes": "Merk alle oppskrifter med {tag-name} tagg", + "tag-all-recipes": "Merk alle oppskrifter med {tag-name}-emneord", "nextcloud-text": "Nextcloud oppskrifter kan importeres fra en zip-fil som inneholder dataene lagret i Nextcloud. Se mappestrukturen for eksempel nedenfor for å sikre at oppskriftene kan importeres.", "chowdown-text": "Mealie nativt støtter chowdown depotet. Last ned kodelageret som en .zip-fil og last det opp nedenfor", "recipe-1": "Oppskrift 1", @@ -423,7 +423,7 @@ "insert-ingredient": "Sett inn ingrediens", "insert-section": "Sett inn avsnitt", "instructions": "Instruksjoner", - "key-name-required": "Nøkkelnavn kreves", + "key-name-required": "Nøkkelnavn påkrevd", "landscape-view-coming-soon": "Landskapsvisning (Kommer snart)", "milligrams": "mg", "new-key-name": "Nytt nøkkelnavn", @@ -470,9 +470,9 @@ "add-to-plan": "Legg til i Plan", "add-to-timeline": "Legg til på tidslinjen", "recipe-added-to-list": "Oppskriften er lagt til i listen", - "recipes-added-to-list": "Recipes added to list", + "recipes-added-to-list": "Oppskrifter lagt til listen", "recipe-added-to-mealplan": "Oppskriften er lagt til i listen", - "failed-to-add-recipes-to-list": "Failed to add recipe to list", + "failed-to-add-recipes-to-list": "Klarte ikke å legge til oppskrift i listen", "failed-to-add-recipe-to-mealplan": "Klarte ikke å legge til oppskrift på måltidsplan", "yield": "Utbytte", "quantity": "Antall", @@ -480,7 +480,7 @@ "press-enter-to-create": "Trykk Enter for å legge til", "choose-food": "Velg matvarer", "notes": "Notater", - "toggle-section": "Velg seksjon", + "toggle-section": "Legg til seksjon", "see-original-text": "Se opprinnelig tekst", "original-text-with-value": "Opprinnelig tekst: {originalText}", "ingredient-linker": "Ingredienskobling", @@ -511,10 +511,10 @@ "user-made-this": "{user} har lagd denne", "last-made-date": "Sist lagd {date}", "api-extras-description": "Oppskrifter er en viktig funksjon i Mealie API. De lar deg opprette egendefinerte json-nøkkel/verdi-par for å referere fra tredje part-programmer. Du kan bruke disse nøklene for å inneholde informasjon som skal utløse automatisering eller tilpassede meldinger til din ønskede enhet.", - "message-key": "Meldings nøkkel", + "message-key": "Meldingsnøkkel", "parse": "Del opp", "attach-images-hint": "Legg til bilder ved å dra og slippe dem i editoren", - "drop-image": "Drop image", + "drop-image": "Slipp bilde", "enable-ingredient-amounts-to-use-this-feature": "Aktiver ingrediensmengder for å bruke denne funksjonen", "recipes-with-units-or-foods-defined-cannot-be-parsed": "Oppskrifter med enheter eller matvarer som er definert, kan ikke leses.", "parse-ingredients": "Analyser ingredienser", @@ -532,7 +532,7 @@ "new-recipe-names-must-be-unique": "Oppskriftsnavn må være unike", "scrape-recipe": "Hent oppskrift", "scrape-recipe-description": "Scrape en oppskrift ved url. Angi Url-adressen for nettstedet du vil skrape, Og Mealie vil forsøke å skrape oppskriften fra det området og legge den til i samlingen din.", - "import-original-keywords-as-tags": "Importer originale søkeord som tagger", + "import-original-keywords-as-tags": "Importer originale søkeord som emneord", "stay-in-edit-mode": "Bli i skrivemodus", "import-from-zip": "Importer fra Zip", "import-from-zip-description": "Importer en enkelt oppskrift som ble eksportert fra en annen Mealie-instans.", @@ -569,7 +569,7 @@ "search": "Søk", "search-mealie": "Søke i Mealie (trykk /)", "search-placeholder": "Søk...", - "tag-filter": "Etikett filter", + "tag-filter": "Emneordfilter", "search-hint": "Trykk på '/'", "advanced": "Avansert", "auto-search": "Autosøk", @@ -583,7 +583,7 @@ "backup-created-at-response-export_path": "Sikkerhetskopi opprettet på {path}", "backup-deleted": "Sikkerhetskopi slettet", "restore-success": "Gjenopprettingen var vellykket", - "backup-tag": "Sikkerhetskopi-merke", + "backup-tag": "Emneord for sikkerhetskopi", "create-heading": "Opprett sikkerhetskopi", "delete-backup": "Slett Sikkerhetskopi", "error-creating-backup-see-log-file": "Feil ved oppretting av sikkerhetskopi. Se loggfilen", @@ -591,9 +591,9 @@ "import-summary": "Importer Sammendrag", "partial-backup": "Delvis sikkerhetskopi", "unable-to-delete-backup": "Kan ikke slette sikkerhetskopien.", - "experimental-description": "Backups a total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think off this as a snapshot of Mealie at a specific time. Currently, {not-crossed-version} (data migrations are not done automatically). These serve as a database agnostic way to export and import data or backup the site to an external location.", + "experimental-description": "Sikkerhetskopier er komplette øyeblikksbilder av databasen og datamappen til nettstedet. Dette inkluderer all data og kan ikke settes til å ekskludere delsett av data. Du kan tenke på dette som et øyeblikksbilde av Mealie på et bestemt tidspunkt. Disse fungerer som en databasesystemuavhengig måte å eksportere og importere data på, eller sikkerhetskopiere nettstedet til en ekstern plassering.", "backup-restore": "Sikkerhetskopiering / gjenoppretting", - "back-restore-description": "Gjenoppretting av denne sikkerhetskopien vil overskrive alle gjeldende data i databasen og i datakatalogen og erstatte dem med innholdet i denne sikkerhetskopien. {cannot-be-undone} Hvis gjenopprettingen er vellykket, vil du bli logget ut.", + "back-restore-description": "Gjenoppretting av denne sikkerhetskopien vil overskrive alle gjeldende data i databasen og i datamappen og erstatte dem med innholdet i denne sikkerhetskopien. {cannot-be-undone} Hvis gjenopprettingen er vellykket, vil du bli logget ut.", "cannot-be-undone": "Denne handlingen kan ikke angres – brukes med forsiktighet.", "postgresql-note": "Hvis du bruker PostGreSQL, vennligst gå igjennom {backup-restore-process} før du gjenoppretter.", "backup-restore-process-in-the-documentation": "sikkerhetskopiering/gjenoppretting prosess i dokumentasjonen", @@ -657,12 +657,12 @@ }, "token": { "active-tokens": "AKTIVE TOKENS", - "api-token": "API-Token", - "api-tokens": "API-Token", + "api-token": "API-token", + "api-tokens": "API-tokener", "copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Kopier dette tokenet til bruk med en ekstern applikasjon. Dette tokenet vil ikke kunne ses igjen.", - "create-an-api-token": "Opprett API Token", + "create-an-api-token": "Opprett et API-token", "token-name": "Tokennavn", - "generate": "Generer", + "generate": "Opprett", "you-have-token-count": "Du har ingen aktive token.|Du har ett aktivt token.|Du har {count} aktive tokener." }, "toolbox": { @@ -690,7 +690,7 @@ "tracker": "Sporingsagent", "configuration": "Konfigurasjon", "docker-volume": "Docker volum", - "docker-volume-help": "Mealie krever at frontend og backend konteinerene deler samme docker volum/lagring. Dette sikrer at frontend får tilgang til bilder og ressurser lagret på harddisken.", + "docker-volume-help": "Mealie krever at frontend- og backend-konteinerene deler samme docker-volum eller lagringssted. Dette sikrer at frontend-kontaineren får tilgang til bilder og ressurser lagret på harddisken.", "volumes-are-misconfigured": "Volumene er feilkonfigurert.", "volumes-are-configured-correctly": "Volumene er riktig konfigurert.", "status-unknown-try-running-a-validation": "Statusen er ukjent. Prøv å validere.", @@ -714,7 +714,7 @@ "server-side-base-url-success-text": "Serverside-URL samsvarer ikke med standard", "ldap-ready": "LDAP klar", "ldap-ready-error-text": "Ikke alle LDAP-verdier er konfigurert. Dette kan ignoreres hvis du ikke bruker LDAP til Autentisering.", - "ldap-ready-success-text": "Alle de nødvendige LDAP-variablene er satt.", + "ldap-ready-success-text": "Alle obligratoriske LDAP-variabler er satt.", "build": "Bygg", "recipe-scraper-version": "OppskriftsScraper versjon" }, @@ -737,7 +737,7 @@ "copy-as-text": "Kopier som tekst", "copy-as-markdown": "Kopier som Markdown", "delete-checked": "Slett avkrysset", - "toggle-label-sort": "Veksle etikett sortering", + "toggle-label-sort": "Veksle etikettsortering", "reorder-labels": "Omorganiser etiketter", "uncheck-all-items": "Fjern merking av alle elementer", "check-all-items": "Velg alle elementer", @@ -758,7 +758,7 @@ "profile": "Profil", "search": "Søk", "site-settings": "Innstillinger", - "tags": "Etiketter", + "tags": "Emneord", "toolbox": "Verktøy", "language": "Språk", "maintenance": "Vedlikehold", @@ -774,30 +774,30 @@ "sign-up-link-created": "Registreringslenke opprettet", "sign-up-link-creation-failed": "Kunne ikke opprette registreringslenke", "sign-up-links": "Registreringslenker", - "sign-up-token-deleted": "Registrerings-token slettet", - "sign-up-token-deletion-failed": "Sletting av registreringstoken feilet", + "sign-up-token-deleted": "Registreringstoken slettet", + "sign-up-token-deletion-failed": "Sletting av registreringstoken mislyktes", "welcome-to-mealie": "Velkommen til Mealie! For å bli en bruker må du ha en gyldig invitasjonslenke. Hvis du ikke har mottatt en invitasjon vil du ikke kunne registrere deg. For å motta en lenke, kontakt systemansvarlig." }, "tag": { - "tag-created": "Etikett opprettet", - "tag-creation-failed": "Etikett-opprettelse mislyktes", - "tag-deleted": "Etikett slettet", - "tag-deletion-failed": "Sletting av etikett feilet", - "tag-update-failed": "Oppdatering av etikett feilet", - "tag-updated": "Etikett oppdatert", - "tags": "Etiketter", + "tag-created": "Emneord opprettet", + "tag-creation-failed": "Opprettelse av emneord mislyktes", + "tag-deleted": "Emneord slettet", + "tag-deletion-failed": "Sletting av emneord mislyktes", + "tag-update-failed": "Oppdatering av emneord mislyktes", + "tag-updated": "Emneord oppdatert", + "tags": "Emneord", "untagged-count": "Umerkede {count}", - "create-a-tag": "Lag en etikett", - "tag-name": "Etikettnavn" + "create-a-tag": "Lag et emneord", + "tag-name": "Navn på emneord" }, "tool": { - "tools": "Verktøy", + "tools": "Kjøkkenutstyr", "on-hand": "Tillgjengelig", - "create-a-tool": "Lag et verktøy", - "tool-name": "Verktøy Navn", - "create-new-tool": "Opprett nytt verktøy", + "create-a-tool": "Lag kjøkkenutstyr", + "tool-name": "Navn på kjøkkenutstyr", + "create-new-tool": "Opprett nytt kjøkkenutstyr", "on-hand-checkbox-label": "Vis som tilgjengelig (avmerket)", - "required-tools": "Nødvendige verktøy" + "required-tools": "Påkrevd kjøkkenutstyr" }, "user": { "admin": "Administrator", @@ -859,7 +859,7 @@ "you-are-not-allowed-to-create-a-user": "Du har ikke rettigheter til å opprette en bruker", "you-are-not-allowed-to-delete-this-user": "Du har ikke rettigheter til å slette denne brukeren", "enable-advanced-content": "Aktiver avanserte funksjoner", - "enable-advanced-content-description": "Aktiver avanserte funksjoner som skalering av oppskriffter, API-nøkler, Webhooks og Data styring. Du kan alltid endre dette senere", + "enable-advanced-content-description": "Aktiverer avanserte funksjoner som skalering av oppskriffter, API-nøkler, webhooks og databehandling. Du kan alltids endre dette senere", "favorite-recipes": "Favorittoppskrifter", "email-or-username": "E-post eller brukernavn", "remember-me": "Husk meg", @@ -910,7 +910,7 @@ "source-food": "Kilde mat", "target-food": "Mål Mat", "create-food": "Lag mat", - "food-label": "Mat etikett", + "food-label": "Matetikett", "edit-food": "Rediger mat", "food-data": "Mat data", "example-food-singular": "Feks: Tomat", @@ -952,14 +952,14 @@ "settings-chosen-explanation": "Innstillinger valgt her, bortsett fra det låste alternativet, vil bli brukt på alle valgte oppskrifter.", "selected-length-recipe-s-settings-will-be-updated": "Innstillingene til {count} oppskrift(er) vil bli oppdatert.", "recipe-data": "Oppskriftsdata", - "recipe-data-description": "Use this section to manage the data associated with your recipes. You can perform several bulk actions on your recipes including exporting, deleting, tagging, and assigning categories.", - "recipe-columns": "Recipe Columns", + "recipe-data-description": "Bruk denne delen til å administrere dataene knyttet til oppskriftene dine. Du kan utføre flere massehandlinger på oppskriftene dine, inkludert eksportering, sletting, merking og tildeling av kategorier.", + "recipe-columns": "Oppskriftskolonner", "data-exports-description": "Dette avsnittet gir lenker til tilgjengelige eksportfiler som er klare til nedlasting. Disse eksportfilene utløper, så sørg for å laste dem ned mens de fortsatt er tilgjengelige.", "data-exports": "Data eksport", - "tag": "Etikett", + "tag": "Emneord", "categorize": "Kategoriser", "update-settings": "Oppdater innstillinger", - "tag-recipes": "Tagg oppskrifter", + "tag-recipes": "Merk oppskrifter", "categorize-recipes": "Kategoriser oppskrifter", "export-recipes": "Eksporter oppskrift", "delete-recipes": "Slett oppskrifter", @@ -981,14 +981,14 @@ "category-data": "Kategoridata" }, "tags": { - "new-tag": "Ny tagg", - "edit-tag": "Rediger Tag", - "tag-data": "Tagg data" + "new-tag": "Nytt emneord", + "edit-tag": "Rediger emneord", + "tag-data": "Emneorddata" }, "tools": { - "new-tool": "Nytt verktøy", - "edit-tool": "Rediger verktøy", - "tool-data": "Verktøydata" + "new-tool": "Nytt kjøkkenutstyr", + "edit-tool": "Rediger kjøkkenutstyr", + "tool-data": "Kjøkkenutstyrsdata" } }, "user-registration": { @@ -1077,16 +1077,16 @@ "summary-title": "Sammendrag", "button-label-get-summary": "Hent sammendrag", "button-label-open-details": "Detaljer", - "info-description-data-dir-size": "Data Directory Size", + "info-description-data-dir-size": "Størrelse på datamappe", "info-description-log-file-size": "Loggfil størrelse", - "info-description-cleanable-directories": "Cleanable Directories", + "info-description-cleanable-directories": "Rensbare kataloger", "info-description-cleanable-images": "Rydbare bilder", "storage": { "title-temporary-directory": "Midlertidig mappe (.temp)", - "title-backups-directory": "Backups Directory (backups)", - "title-groups-directory": "Groups Directory (groups)", - "title-recipes-directory": "Recipes Directory (recipes)", - "title-user-directory": "Brukerkatalog (bruker)" + "title-backups-directory": "Mappe for sikkerhetskopier (backups)", + "title-groups-directory": "Mappe for grupper (groups)", + "title-recipes-directory": "Mappe for oppskrifter (recipes)", + "title-user-directory": "Mappe for brukere (user)" }, "action-delete-log-files-name": "Slett loggfiler", "action-delete-log-files-description": "Sletter alle loggfilene", @@ -1096,7 +1096,7 @@ "action-clean-temporary-files-description": "Fjerner alle filer og mapper i .temp-mappen", "action-clean-images-name": "Fjern bilder", "action-clean-images-description": "Fjerner alle bildene som ikke slutter med .webp", - "actions-description": "Maintenance actions are {destructive_in_bold} and should be used with caution. Performing any of these actions is {irreversible_in_bold}.", + "actions-description": "Vedlikeholdstiltak er {destructive_in_bold} og bør brukes med varsomhet. Utførelse av noen av disse handlingene er {irreversible_in_bold}.", "actions-description-destructive": "destruktiv", "actions-description-irreversible": "irreversibel", "logs-action-refresh": "Oppdater logger", @@ -1107,8 +1107,8 @@ "actions-title": "Handlinger" }, "ingredients-natural-language-processor": "Ingredients Natural Language Processor", - "ingredients-natural-language-processor-explanation": "Mealie uses Conditional Random Fields (CRFs) for parsing and processing ingredients. The model used for ingredients is based off a data set of over 100,000 ingredients from a dataset compiled by the New York Times. Note that as the model is trained in English only, you may have varied results when using the model in other languages. This page is a playground for testing the model.", - "ingredients-natural-language-processor-explanation-2": "It's not perfect, but it yields great results in general and is a good starting point for manually parsing ingredients into individual fields. Alternatively, you can also use the \"Brute\" processor that uses a pattern matching technique to identify ingredients.", + "ingredients-natural-language-processor-explanation": "Mealie bruker Conditional Random Fields (CRFs) for å analysere og behandle ingredienser. Modellen som brukes til ingredienser, er basert på et datasett med over 100 000 ingredienser satt sammen av New York Times. Vær oppmerksom på at siden modellen kun er trent på engelsk, kan resultatene variere når du bruker modellen på andre språk. Denne siden er en lekeplass for å teste modellen.", + "ingredients-natural-language-processor-explanation-2": "Modellen er ikke perfekt, men det gir generelt sett gode resultater og er et godt utgangspunkt for å manuelt analysere ingredienser i individuelle felt. Alternativt kan du også bruke 'Brute'-prosessoren som bruker mønstergjenkjennelsesteknikker for å identifisere ingredienser.", "nlp": "NLP", "brute": "Brute", "show-individual-confidence": "Vis individuell tillit", @@ -1129,23 +1129,23 @@ "account-summary": "Kontosammendrag", "account-summary-description": "Her er en oppsummering av gruppens informasjon", "group-statistics": "Gruppestatistikk", - "group-statistics-description": "Your Group Statistics provide some insight how you're using Mealie.", + "group-statistics-description": "Gruppestatistikken din gir deg et innblikk i hvordan du bruker Mealie.", "storage-capacity": "Lagringskapasitet", - "storage-capacity-description": "Your storage capacity is a calculation of the images and assets you have uploaded.", + "storage-capacity-description": "Lagringskapasiteten er en beregning av bildene og ressursene du har lastet opp.", "personal": "Personlig", - "personal-description": "These are settings that are personal to you. Changes here won't affect other users", + "personal-description": "Dette er innstillingene som er personlige for deg. Endringer her påvirker ikke andre brukere", "user-settings": "Brukerinnstillinger", - "user-settings-description": "Manage your preferences, change your password, and update your email", - "api-tokens-description": "Manage your API Tokens for access from external applications", - "group-description": "These items are shared within your group. Editing one of them will change it for the whole group!", + "user-settings-description": "Administrer innstillingene, endre passordet og oppdater e-postadressen din", + "api-tokens-description": "Håndter dine API-tokens for tilgang fra eksterne applikasjoner", + "group-description": "Disse elementene deles innad i gruppen din. Å redigere ett av dem vil endre det for hele gruppen!", "group-settings": "Gruppeinnstillinger", - "group-settings-description": "Manage your common group settings like mealplan and privacy settings.", - "cookbooks-description": "Manage a collection of recipe categories and generate pages for them.", + "group-settings-description": "Administrer felles gruppeinnstillinger som måltidsplan- og personverninnstillinger.", + "cookbooks-description": "Administrer en samling av oppskriftskategorier og generer sider for dem.", "members": "Medlemmer", "members-description": "Se hvem som er i gruppen din og adminstrer deres tillatelser.", "webhooks-description": "Setup webhooks that trigger on days that you have have mealplan scheduled.", "notifiers": "Varslere", - "notifiers-description": "Setup email and push notifications that trigger on specific events.", + "notifiers-description": "Sett opp e-post- og pushvarsler som utløses av spesifikke hendelser.", "manage-data": "Administrer data", "manage-data-description": "Administrer mat og enheter (flere alternativer kommer snart)", "data-migrations": "Datamigrering", @@ -1154,28 +1154,28 @@ "error-sending-email": "Feil ved sending av e-post", "personal-information": "Personlig Informasjon", "preferences": "Preferanser", - "show-advanced-description": "Show advanced features (API Keys, Webhooks, and Data Management)", + "show-advanced-description": "Vis avanserte funksjoner (API-nøkler, webhooks og databehandling)", "back-to-profile": "Tilbake til profil", "looking-for-privacy-settings": "Leter du etter personverninnstillinger?", - "manage-your-api-tokens": "Håndter dine API tokens", + "manage-your-api-tokens": "Håndter dine API-tokens", "manage-user-profile": "Administrer brukerprofil", "manage-cookbooks": "Administrere kokebøker", "manage-members": "Administrer medlemmer", - "manage-webhooks": "Manage Webhooks", - "manage-notifiers": "Manage Notifiers", - "manage-data-migrations": "Manage Data Migrations" + "manage-webhooks": "Administrer webhooks", + "manage-notifiers": "Behandle varslere", + "manage-data-migrations": "Håndter datamigreringer" }, "cookbook": { "cookbooks": "Kokebøker", - "description": "Cookbooks are another way to organize recipes by creating cross sections of recipes and tags. Creating a cookbook will add an entry to the side-bar and all the recipes with the tags and categories chosen will be displayed in the cookbook.", + "description": "Kokebøker er en annen måte å organisere oppskrifter på ved å lage tverrsnitt av oppskrifter og emneord. Å lage en kokebok vil legge til en oppføring i sidepanelet, og alle oppskriftene med de valgte emneordene og kategoriene vil bli vist i kokeboken.", "public-cookbook": "Offentlig kokebok", - "public-cookbook-description": "Public Cookbooks can be shared with non-mealie users and will be displayed on your groups page.", - "filter-options": "Filter Options", - "filter-options-description": "When require all is selected the cookbook will only include recipes that have all of the items selected. This applies to each subset of selectors and not a cross section of the selected items.", - "require-all-categories": "Require All Categories", - "require-all-tags": "Require All Tags", - "require-all-tools": "Require All Tools", + "public-cookbook-description": "Offentlige kokebøker kan deles med ikke-Mealie-brukere og vil bli vist på din gruppeside.", + "filter-options": "Filteralternativer", + "filter-options-description": "Når krev alle er valgt, vil kokeboken bare inkludere oppskrifter som har alle de valgte elementene. Dette gjelder for hvert delsett av valgene og ikke et tverrsnitt av de valgte elementene.", + "require-all-categories": "Krev alle kategorier", + "require-all-tags": "Krev alle emneord", + "require-all-tools": "Krev alt kjøkkenutstyr", "cookbook-name": "Navn på kokebok", - "cookbook-with-name": "Cookbook {0}" + "cookbook-with-name": "Kokebok {0}" } } diff --git a/frontend/lang/messages/sv-SE.json b/frontend/lang/messages/sv-SE.json index 79844cb28b6a..9b2a3cc61334 100644 --- a/frontend/lang/messages/sv-SE.json +++ b/frontend/lang/messages/sv-SE.json @@ -77,7 +77,7 @@ "tag-events": "Tagga händelser", "category-events": "Kategorihändelser", "when-a-new-user-joins-your-group": "När en ny användare går med i din grupp", - "recipe-events": "Recipe Events" + "recipe-events": "Recepthändelser" }, "general": { "cancel": "Avbryt", @@ -114,10 +114,10 @@ "json": "JSON", "keyword": "Nyckelord", "link-copied": "Länk kopierad", - "loading": "Loading", + "loading": "Läser in", "loading-events": "Laddar händelser", - "loading-recipe": "Loading recipe...", - "loading-ocr-data": "Loading OCR data...", + "loading-recipe": "Läser in recept...", + "loading-ocr-data": "Läser in OCR-data...", "loading-recipes": "Laddar Recept", "message": "Meddelande", "monday": "Måndag", @@ -128,7 +128,7 @@ "no-recipe-found": "Inga recept hittades", "ok": "Ok", "options": "Alternativ:", - "plural-name": "Plural Name", + "plural-name": "Plural namn", "print": "Skriv ut", "print-preferences": "Utskriftsinställningar", "random": "Slumpa", @@ -198,7 +198,7 @@ "refresh": "Uppdatera", "upload-file": "Ladda upp fil", "created-on-date": "Skapad {0}", - "unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes." + "unsaved-changes": "Du har osparade ändringar. Vill du spara innan du lämnar? Tryck Okej att spara, Avbryt för att ignorera ändringar." }, "group": { "are-you-sure-you-want-to-delete-the-group": "Är du säker på att du vill radera {groupName}?", @@ -213,7 +213,7 @@ "group-id-with-value": "Grupp ID: {groupID}", "group-name": "Gruppnamn", "group-not-found": "Grupp ej funnen", - "group-token": "Group Token", + "group-token": "Grupptoken", "group-with-value": "Grupp: {groupID}", "groups": "Grupper", "manage-groups": "Hantera grupper", @@ -320,21 +320,21 @@ "recipe-migration": "Migrera recept", "chowdown": { "description": "Importera data från Chowdown", - "description-long": "Mealie natively supports the chowdown repository format. Download the code repository as a .zip file and upload it below.", + "description-long": "Mealie har inbyggt stöd för chowdowns kodförrådsformat. Ladda ner kodförrådet som en .zip-fil och ladda upp det nedan.", "title": "Chowdown" }, "nextcloud": { "description": "Importera data från Nextcloud Cookbook instans", - "description-long": "Nextcloud recipes can be imported from a zip file that contains the data stored in Nextcloud. See the example folder structure below to ensure your recipes are able to be imported.", + "description-long": "Nextcloud-recept kan importeras från en zip-fil som innehåller datan som lagras i Nextcloud. Se exempel på mappstrukturen nedan för att säkerställa att dina recept kan importeras.", "title": "Nextcloud Cookbook" }, "copymethat": { - "description-long": "Mealie can import recipes from Copy Me That. Export your recipes in HTML format, then upload the .zip below.", - "title": "Copy Me That Recipe Manager" + "description-long": "Mealie kan importera recept från Copy Me That. Exportera dina recept i HTML-format, ladda sen upp .zip-filen nedan.", + "title": "Copy Me That recepthanterare" }, "paprika": { "description-long": "Mealie kan importera recept från Paprika-applikationen. Exportera dina recept från paprika, byt namn på exporttillägget till .zip och ladda upp det nedan.", - "title": "Paprika Recipe Manager" + "title": "Paprika recepthanterare" }, "mealie-pre-v1": { "description-long": "Mealie kan importera recept från Mealieapplikationen från en pre v1.0 release. Exportera dina recept från din gamla instans, och ladda upp zip-filen nedan. Observera att endast recept kan importeras från exporten.", @@ -349,11 +349,11 @@ "choose-migration-type": "Välj migrationstyp", "tag-all-recipes": "Tagga alla recept med {tag-name} tagg", "nextcloud-text": "Nextcloud-recept kan importeras från en zip-fil som innehåller data som lagras i Nextcloud. Se exempelmappens struktur nedan för att säkerställa att dina recept kan importeras.", - "chowdown-text": "Mealie natively supports the chowdown repository format. Download the code repository as a .zip file and upload it below", + "chowdown-text": "Mealie har inbyggt stöd för chowdowns kodförrådsformat. Ladda ner kodförrådet som en .zip-fil och ladda upp det nedan", "recipe-1": "Recept 1", "recipe-2": "Recept 2", - "paprika-text": "Mealie can import recipes from the Paprika application. Export your recipes from paprika, rename the export extension to .zip and upload it below.", - "mealie-text": "Mealie can import recipes from the Mealie application from a pre v1.0 release. Export your recipes from your old instance, and upload the zip file below. Note that only recipes can be imported from the export.", + "paprika-text": "Mealie kan importera recept från Paprika-applikationen. Exportera dina recept från Paprika, byt namn på filnamnstillägget på exporten till .zip och ladda upp det nedan.", + "mealie-text": "Mealie kan importera recept från Mealieapplikationen från en före v1.0 version. Exportera dina recept från din gamla instans, och ladda upp zip-filen nedan. Observera att endast recept kan importeras från exporten.", "plantoeat": { "title": "Plan to Eat", "description-long": "Mealie kan importera recept från Plan to Eat." @@ -483,7 +483,7 @@ "toggle-section": "Växla sektion", "see-original-text": "Visa originaltext", "original-text-with-value": "Originaltext: {originalText}", - "ingredient-linker": "Ingredient Linker", + "ingredient-linker": "Länka ingredienser", "linked-to-other-step": "Kopplat till annat steg", "auto": "Auto", "cook-mode": "Matlagningsläge", @@ -514,7 +514,7 @@ "message-key": "Meddelandenyckel", "parse": "Läs in", "attach-images-hint": "Bifoga bilder genom att dra och släppa dem i redigeraren", - "drop-image": "Drop image", + "drop-image": "Släpp bild", "enable-ingredient-amounts-to-use-this-feature": "Aktivera ingrediensmängd för att använda denna funktion", "recipes-with-units-or-foods-defined-cannot-be-parsed": "Recept med enheter eller definierade livsmedel kan inte tolkas.", "parse-ingredients": "Tolka ingredienser", @@ -531,15 +531,15 @@ "create-a-recipe-by-providing-the-name-all-recipes-must-have-unique-names": "Skapa ett recept genom att ange namnet. Alla recept måste ha unika namn.", "new-recipe-names-must-be-unique": "Nya receptnamn måste vara unika", "scrape-recipe": "Skrapa Recept", - "scrape-recipe-description": "Scrape a recipe by url. Provide the url for the site you want to scrape, and Mealie will attempt to scrape the recipe from that site and add it to your collection.", - "import-original-keywords-as-tags": "Import original keywords as tags", + "scrape-recipe-description": "Hämta ett recept med webbadress. Ange URL:en för webbplatsen du vill hämta, och Mealie kommer att försöka hämta receptet från den webbplatsen och lägga till det i din samling.", + "import-original-keywords-as-tags": "Importera ursprungliga sökord som taggar", "stay-in-edit-mode": "Stanna kvar i redigeringsläge", "import-from-zip": "Importera från zip", - "import-from-zip-description": "Import a single recipe that was exported from another Mealie instance.", + "import-from-zip-description": "Importera ett enstaka recept som exporterades från en annan Mealie-instans.", "zip-files-must-have-been-exported-from-mealie": ".zip-filer måste ha exporterats från Mealie", "create-a-recipe-by-uploading-a-scan": "Skapa ett recept genom att ladda upp en skanning.", "upload-a-png-image-from-a-recipe-book": "Ladda upp en png bild från en receptbok", - "recipe-bulk-importer": "Recipe Bulk Importer", + "recipe-bulk-importer": "Massimport av recept", "recipe-bulk-importer-description": "Massimporten av recept låter dig importera flera recept på samma gång i bakgrunden genom att köa upp webbplatser i bakgrunden. Det kan var användbart när du gör en första migrering till Mealie eller när du behöver importera en stor mängd recept.", "set-categories-and-tags": "Sätt kategorier och taggar", "bulk-imports": "Mängdimporter", @@ -553,7 +553,7 @@ "recipe-yield": "Receptutfall", "unit": "Måttenhet", "upload-image": "Ladda upp bild", - "screen-awake": "Keep Screen Awake", + "screen-awake": "Håll skärmen vaken", "remove-image": "Ta bort bild" }, "search": { @@ -573,16 +573,16 @@ "search-hint": "Tryck '/'", "advanced": "Avancerat", "auto-search": "Autosök", - "no-results": "No results found" + "no-results": "Inga resultat hittades" }, "settings": { "add-a-new-theme": "Lägg till ett nytt tema", "admin-settings": "Administratörsinställningar", "backup": { - "backup-created": "Backup created successfully", + "backup-created": "Säkerhetskopia skapades", "backup-created-at-response-export_path": "Backup skapad {path}", "backup-deleted": "Backup raderad", - "restore-success": "Restore successful", + "restore-success": "Återställning slutförd", "backup-tag": "Backup tagg", "create-heading": "Skapa en säkerhetskopia", "delete-backup": "Ta bort säkerhetskopian", @@ -597,7 +597,7 @@ "cannot-be-undone": "Denna åtgärd kan inte ångras - använd med försiktighet.", "postgresql-note": "Om du använder PostGreSQL, vänligen granska {backup-restore-process} innan du återställer.", "backup-restore-process-in-the-documentation": "backup/restore process in the documentation", - "irreversible-acknowledgment": "I understand that this action is irreversible, destructive and may cause data loss", + "irreversible-acknowledgment": "Jag förstår att denna åtgärd är oåterkallelig, destruktiv och kan orsaka dataförlust", "restore-backup": "Återställ säkerhetskopia" }, "backup-and-exports": "Backuper", @@ -832,7 +832,7 @@ "password-updated": "Lösenord uppdaterat", "password": "Lösenord", "password-strength": "Lösenordsstyrka {strength}", - "please-enter-password": "Please enter your new password.", + "please-enter-password": "Ange ditt nya lösenord.", "register": "Registrering", "reset-password": "Ändra lösenord", "sign-in": "Logga in", @@ -853,7 +853,7 @@ "username": "Användarnamn", "users-header": "ANVÄNDARE", "users": "Användare", - "user-not-found": "User not found", + "user-not-found": "Användaren kunde inte hittas", "webhook-time": "Webbhook tid", "webhooks-enabled": "Webhooks aktiverat", "you-are-not-allowed-to-create-a-user": "Du har inte behörighet att skapa en användare", @@ -889,9 +889,9 @@ "enable-advanced-features": "Aktivera avancerade funktioner", "it-looks-like-this-is-your-first-time-logging-in": "Det ser ut som om detta är första gången du loggar in.", "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Vill du inte se detta längre? Se till att ändra din e-post i dina användarinställningar!", - "forgot-password": "Forgot Password", - "forgot-password-text": "Please enter your email address and we will send you a link to reset your password.", - "changes-reflected-immediately": "Changes to this user will be reflected immediately." + "forgot-password": "Glömt lösenord", + "forgot-password-text": "Ange din e-postadress så skickar vi dig en länk för att återställa ditt lösenord.", + "changes-reflected-immediately": "Ändringar av denna användare kommer att ske omedelbart." }, "language-dialog": { "translated": "översatt", @@ -920,19 +920,19 @@ "seed-dialog-text": "Fyll databasen med vanliga enheter baserade på ditt språk.", "combine-unit-description": "Combining the selected units will merge the Source Unit and Target Unit into a single unit. The {source-unit-will-be-deleted} and all of the references to the Source Unit will be updated to point to the Target Unit.", "combine-unit": "Kombinera enhet", - "source-unit": "Source Unit", - "target-unit": "Target Unit", + "source-unit": "Källenhet", + "target-unit": "Målenhet", "merging-unit-into-unit": "Slå samman {0} till {1}", "create-unit": "Skapa enhet", - "abbreviation": "Abbreviation", - "plural-abbreviation": "Plural Abbreviation", + "abbreviation": "Förkortning", + "plural-abbreviation": "Plural förkortning", "description": "Beskrivning", - "display-as-fraction": "Display as Fraction", + "display-as-fraction": "Visa som bråktal", "use-abbreviation": "Använd förkortning", "edit-unit": "Redigera enhet", "unit-data": "Enhetsdata", - "use-abbv": "Use Abbv.", - "fraction": "Fraction", + "use-abbv": "Använd förkortning", + "fraction": "Bråktal", "example-unit-singular": "ex: Matsked", "example-unit-plural": "ex: Matskedar", "example-unit-abbreviation-singular": "ex: msk", @@ -946,13 +946,13 @@ }, "recipes": { "purge-exports": "Rensa exporter", - "are-you-sure-you-want-to-delete-all-export-data": "Are you sure you want to delete all export data?", - "confirm-delete-recipes": "Are you sure you want to delete the following recipes? This action cannot be undone.", - "the-following-recipes-selected-length-will-be-exported": "The following recipes ({0}) will be exported.", - "settings-chosen-explanation": "Settings chosen here, excluding the locked option, will be applied to all selected recipes.", - "selected-length-recipe-s-settings-will-be-updated": "{count} recipe(s) settings will be updated.", + "are-you-sure-you-want-to-delete-all-export-data": "Är du säker på att du vill ta bort all exportdata?", + "confirm-delete-recipes": "Är du säker på att du vill radera följande recept? Denna åtgärd kan inte ångras.", + "the-following-recipes-selected-length-will-be-exported": "Följande recept ({0}) kommer att exporteras.", + "settings-chosen-explanation": "Inställningarna valda här, exklusive det låsta alternativet, kommer att tillämpas på alla valda recept.", + "selected-length-recipe-s-settings-will-be-updated": "{count} receptinställning(ar) kommer att uppdateras.", "recipe-data": "Recept data", - "recipe-data-description": "Use this section to manage the data associated with your recipes. You can perform several bulk actions on your recipes including exporting, deleting, tagging, and assigning categories.", + "recipe-data-description": "Använd det här avsnittet för att hantera data som är kopplade till dina recept. Du kan utföra flera massåtgärder på dina recept, inklusive export, radering, taggning och tilldelning av kategorier.", "recipe-columns": "Receptkolumner", "data-exports-description": "This section provides links to available exports that are ready to download. These exports do expire, so be sure to grab them while they're still available.", "data-exports": "Dataexport", @@ -993,7 +993,7 @@ }, "user-registration": { "user-registration": "Användarregistrering", - "registration-success": "Registration Success", + "registration-success": "Registrering lyckades", "join-a-group": "Gå med i en grupp", "create-a-new-group": "Skapa en ny grupp", "provide-registration-token-description": "Ange registreringstoken som är kopplad till den grupp som du vill gå med. Du måste få detta från en befintlig gruppmedlem.", @@ -1048,7 +1048,7 @@ "split-by-block": "Split by text block", "flatten": "Flatten regardless of original formating", "help": { - "help": "Help", + "help": "Hjälp", "mouse-modes": "Mouse modes", "selection-mode": "Markeringsläge (standard)", "selection-mode-desc": "The selection mode is the main mode that can be used to enter data:", @@ -1098,7 +1098,7 @@ "action-clean-images-description": "Removes all the images that don't end with .webp", "actions-description": "Maintenance actions are {destructive_in_bold} and should be used with caution. Performing any of these actions is {irreversible_in_bold}.", "actions-description-destructive": "destructive", - "actions-description-irreversible": "irreversible", + "actions-description-irreversible": "oåterkallelig", "logs-action-refresh": "Uppdatera loggar", "logs-page-title": "Mealie loggar", "logs-tail-lines-label": "Tail Lines" @@ -1125,7 +1125,7 @@ "welcome-user": "👋 Välkommen, {0}", "description": "Hantera dina profil, recept och gruppinställningar.", "get-invite-link": "Få inbjudningslänk", - "get-public-link": "Get Public Link", + "get-public-link": "Få offentlig länk", "account-summary": "Kontosammanfattning", "account-summary-description": "Här är en sammanfattning av din grupps information", "group-statistics": "Gruppstatistik", @@ -1133,23 +1133,23 @@ "storage-capacity": "Lagringskapacitet", "storage-capacity-description": "Din lagringskapacitet är en beräkning av de bilder och tillgångar du har laddat upp.", "personal": "Personligt", - "personal-description": "These are settings that are personal to you. Changes here won't affect other users", + "personal-description": "Detta är inställningar som är personliga för dig. Ändringar här påverkar inte andra användare", "user-settings": "Användarinställningar", "user-settings-description": "Manage your preferences, change your password, and update your email", "api-tokens-description": "Manage your API Tokens for access from external applications", "group-description": "These items are shared within your group. Editing one of them will change it for the whole group!", "group-settings": "Gruppinställningar", "group-settings-description": "Manage your common group settings like mealplan and privacy settings.", - "cookbooks-description": "Manage a collection of recipe categories and generate pages for them.", + "cookbooks-description": "Hantera en samling receptkategorier och generera sidor för dem.", "members": "Medlemmar", - "members-description": "See who's in your group and manage their permissions.", + "members-description": "Se vem som är med i din grupp och hantera deras behörigheter.", "webhooks-description": "Setup webhooks that trigger on days that you have have mealplan scheduled.", "notifiers": "Notifierare", "notifiers-description": "Setup email and push notifications that trigger on specific events.", "manage-data": "Hantera data", - "manage-data-description": "Manage your Food and Units (more options coming soon)", + "manage-data-description": "Hantera Mat och Enheter (fler alternativ kommer snart)", "data-migrations": "Data migreringar", - "data-migrations-description": "Migrate your existing data from other applications like Nextcloud Recipes and Chowdown", + "data-migrations-description": "Migrera befintliga data från andra program som Nextcloud Recipes och Chowdown", "email-sent": "E-post skickades", "error-sending-email": "Fel vid sändning av e-post", "personal-information": "Personlig information", @@ -1158,7 +1158,7 @@ "back-to-profile": "Tillbaka till profilen", "looking-for-privacy-settings": "Letar du efter sekretessinställningar?", "manage-your-api-tokens": "Hantera dina API Tokens", - "manage-user-profile": "Manage User Profile", + "manage-user-profile": "Hantera användarprofil", "manage-cookbooks": "Hantera kokböcker", "manage-members": "Hantera medlemmar", "manage-webhooks": "Hantera Webhookar", diff --git a/frontend/lang/messages/zh-TW.json b/frontend/lang/messages/zh-TW.json index 9ac4f4549cba..0c2e897412b0 100644 --- a/frontend/lang/messages/zh-TW.json +++ b/frontend/lang/messages/zh-TW.json @@ -21,8 +21,8 @@ "production": "正式版", "support": "支持", "version": "版本", - "unknown-version": "unknown", - "sponsor": "Sponsor" + "unknown-version": "未知", + "sponsor": "贊助者" }, "asset": { "assets": "資源", @@ -33,10 +33,10 @@ "pdf": "PDF", "recipe": "食譜", "show-assets": "顯示資源", - "error-submitting-form": "Error Submitting Form" + "error-submitting-form": "提交表格時發生錯誤" }, "category": { - "categories": "Categories", + "categories": "目錄", "category-created": "類別已新增", "category-creation-failed": "新增類別失敗", "category-deleted": "類別已刪除", @@ -45,17 +45,17 @@ "category-update-failed": "類別更新失敗", "category-updated": "類別已更新", "uncategorized-count": "未分類 {count}", - "create-a-category": "Create a Category", - "category-name": "Category Name", + "create-a-category": "創建類別", + "category-name": "類別名稱", "category": "Category" }, "events": { "apprise-url": "Apprise連結", "database": "資料庫", "delete-event": "删除事件", - "event-delete-confirmation": "Are you sure you want to delete this event?", - "event-deleted": "Event Deleted", - "event-updated": "Event Updated", + "event-delete-confirmation": "您是否確定要刪除本活動?", + "event-deleted": "活動已刪除", + "event-updated": "活動已更新", "new-notification-form-description": "Mealie使用Apprise來產生通知。他們提供多種選項給服務來使用通知。請參考他們wiki上關於如何為你的服務新建一個連結的詳細指引。若選擇通知的種類,可能會包含額外的功能。", "new-version": "有可用的新版本!", "notification": "通知", @@ -64,7 +64,7 @@ "something-went-wrong": "出了點問題...", "subscribed-events": "關注的事件", "test-message-sent": "測試訊息已發送", - "new-notification": "New Notification", + "new-notification": "新通知", "event-notifiers": "Event Notifiers", "apprise-url-skipped-if-blank": "Apprise URL (skipped if blank)", "enable-notifier": "Enable Notifier", @@ -72,7 +72,7 @@ "user-events": "User Events", "mealplan-events": "Mealplan Events", "when-a-user-in-your-group-creates-a-new-mealplan": "When a user in your group creates a new mealplan", - "shopping-list-events": "Shopping List Events", + "shopping-list-events": "購物清單", "cookbook-events": "Cookbook Events", "tag-events": "Tag Events", "category-events": "Category Events", @@ -85,7 +85,7 @@ "close": "關閉", "confirm": "確定", "confirm-delete-generic": "您確定要刪除這個嗎?", - "copied_message": "Copied!", + "copied_message": "已複製!", "create": "創建", "created": "已建立", "custom": "自訂", @@ -93,7 +93,7 @@ "delete": "删除", "disabled": "已停用", "download": "下载", - "duplicate": "Duplicate", + "duplicate": "複製", "edit": "编辑", "enabled": "已啟用", "exception": "錯誤", @@ -114,23 +114,23 @@ "json": "JSON", "keyword": "關鍵字", "link-copied": "已複製連結", - "loading": "Loading", - "loading-events": "Loading Events", - "loading-recipe": "Loading recipe...", - "loading-ocr-data": "Loading OCR data...", + "loading": "正在載入", + "loading-events": "載入行程中", + "loading-recipe": "載入食譜中...", + "loading-ocr-data": "載入 OCR 資料...", "loading-recipes": "載入食譜中", - "message": "Message", + "message": "信息", "monday": "星期一", "name": "名稱", "new": "新增", - "never": "Never", + "never": "決不", "no": "否", "no-recipe-found": "找不到食譜", "ok": "好的", "options": "選項:", - "plural-name": "Plural Name", + "plural-name": "複數", "print": "列印", - "print-preferences": "Print Preferences", + "print-preferences": "列印設定", "random": "隨機", "rating": "評價", "recent": "最近", @@ -146,7 +146,7 @@ "sort": "排序", "sort-alphabetically": "按字母順序", "status": "狀態", - "subject": "Subject", + "subject": "標題", "submit": "提交", "success-count": "成功: {count}", "sunday": "星期日", @@ -164,19 +164,19 @@ "view": "檢視", "wednesday": "星期三", "yes": "是", - "foods": "Foods", - "units": "Units", - "back": "Back", - "next": "Next", - "toggle-view": "Toggle View", - "date": "Date", - "id": "Id", - "owner": "Owner", - "date-added": "Date Added", - "none": "None", - "run": "Run", - "menu": "Menu", - "a-name-is-required": "A Name is Required", + "foods": "糧食", + "units": "單位", + "back": "返回", + "next": "下一步", + "toggle-view": "切換檢視方式", + "date": "日期", + "id": "ID", + "owner": "擁有者", + "date-added": "新增日期", + "none": "無", + "run": "運行", + "menu": "選單", + "a-name-is-required": "名稱必填", "delete-with-name": "Delete {name}", "confirm-delete-generic-with-name": "Are you sure you want to delete this {name}?", "confirm-delete-own-admin-account": "Please note that you are trying to delete your own admin account! This action cannot be undone and will permanently delete your account?", @@ -238,7 +238,7 @@ "allow-users-outside-of-your-group-to-see-your-recipes-description": "When enabled you can use a public share link to share specific recipes without authorizing the user. When disabled, you can only share recipes with users who are in your group or with a pre-generated private link", "show-nutrition-information": "Show nutrition information", "show-nutrition-information-description": "When enabled the nutrition information will be shown on the recipe if available. If there is no nutrition information available, the nutrition information will not be shown", - "show-recipe-assets": "Show recipe assets", + "show-recipe-assets": "顯示食譜附件", "show-recipe-assets-description": "When enabled the recipe assets will be shown on the recipe if available", "default-to-landscape-view": "Default to landscape view", "default-to-landscape-view-description": "When enabled the recipe header section will be shown in landscape view", @@ -285,8 +285,8 @@ "rule-day": "Rule Day", "meal-type": "Meal Type", "breakfast": "Breakfast", - "lunch": "Lunch", - "dinner": "Dinner", + "lunch": "午餐", + "dinner": "晚餐", "type-any": "Any", "day-any": "Any", "editor": "Editor", @@ -300,7 +300,7 @@ "this-rule-will-apply": "This rule will apply {dayCriteria} {mealTypeCriteria}.", "to-all-days": "to all days", "on-days": "on {0}s", - "for-all-meal-types": "for all meal types", + "for-all-meal-types": "適用於所有餐點類型", "for-type-meal-types": "for {0} meal types", "meal-plan-rules": "Meal Plan Rules", "new-rule": "New Rule", diff --git a/mealie/repos/seed/resources/labels/locales/ar-SA.json b/mealie/repos/seed/resources/labels/locales/ar-SA.json index 5df34a22a837..994be3de07a7 100644 --- a/mealie/repos/seed/resources/labels/locales/ar-SA.json +++ b/mealie/repos/seed/resources/labels/locales/ar-SA.json @@ -39,7 +39,7 @@ "name": "الأطعمة المجمدة" }, { - "name": "Health Foods" + "name": "الأغذية الصحية" }, { "name": "Household" From 861e8ac564e9df0a41620301e313d5333b572522 Mon Sep 17 00:00:00 2001 From: Michael Genson <71845777+michael-genson@users.noreply.github.com> Date: Wed, 13 Dec 2023 04:31:13 -0600 Subject: [PATCH 002/170] fix: Paprika Migration Error (#2834) * made migration more fault tolerant * added edgecase for recipes with no ings/instructions * keep log for debugging --------- Co-authored-by: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com> --- mealie/services/migrations/_migration_base.py | 6 +++++- mealie/services/migrations/paprika.py | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/mealie/services/migrations/_migration_base.py b/mealie/services/migrations/_migration_base.py index 1268a38fb7cd..383e71e26f3d 100644 --- a/mealie/services/migrations/_migration_base.py +++ b/mealie/services/migrations/_migration_base.py @@ -209,7 +209,11 @@ class BaseMigrator(BaseService): continue if alias.func: - prop_value = alias.func(prop_value) + try: + prop_value = alias.func(prop_value) + except Exception as e: + self.logger.exception(e) + continue recipe_dict[alias.key] = prop_value diff --git a/mealie/services/migrations/paprika.py b/mealie/services/migrations/paprika.py index d0b64ac38596..3f92339afa1b 100644 --- a/mealie/services/migrations/paprika.py +++ b/mealie/services/migrations/paprika.py @@ -38,7 +38,7 @@ class PaprikaMigrator(BaseMigrator): re_num_list = re.compile(r"^\d+\.\s") self.key_aliases = [ - MigrationAlias(key="recipeIngredient", alias="ingredients", func=lambda x: x.split("\n")), + MigrationAlias(key="recipeIngredient", alias="ingredients", func=lambda x: x.split("\n") if x else ""), MigrationAlias(key="orgURL", alias="source_url", func=None), MigrationAlias(key="totalTime", alias="total_time", func=None), MigrationAlias(key="prepTime", alias="prep_time", func=None), @@ -62,7 +62,7 @@ class PaprikaMigrator(BaseMigrator): MigrationAlias( key="recipeInstructions", alias="directions", - func=lambda x: [{"text": re.sub(re_num_list, "", s)} for s in x.split("\n\n")], + func=lambda x: [{"text": re.sub(re_num_list, "", s)} for s in x.split("\n\n")] if x else [], ), ] From 07037011ae66cb279b16d0ffa7ad4e5c9e0bf988 Mon Sep 17 00:00:00 2001 From: boc-the-git <3479092+boc-the-git@users.noreply.github.com> Date: Thu, 14 Dec 2023 01:50:35 +1100 Subject: [PATCH 003/170] fix: Tidy up grammar (#2836) --- frontend/lang/messages/en-US.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/lang/messages/en-US.json b/frontend/lang/messages/en-US.json index dc817971e663..1ab72d86d332 100644 --- a/frontend/lang/messages/en-US.json +++ b/frontend/lang/messages/en-US.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "How did it turn out?", "user-made-this": "{user} made this", "last-made-date": "Last Made {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom json key/value pairs within a recipe to reference from 3rd part applications. You can use these keys to contain information to trigger automation or custom messages to relay to your desired device.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Message Key", "parse": "Parse", "attach-images-hint": "Attach images by dragging & dropping them into the editor", From c5f2df57f6212d04d6591bf7b8a02fb90f270343 Mon Sep 17 00:00:00 2001 From: Elijah Mock <28277163+ekcom@users.noreply.github.com> Date: Wed, 13 Dec 2023 21:43:48 -0600 Subject: [PATCH 004/170] fix: Copyedit getting started docs (#2840) * Correct grammar and typo * Correct grammar * Fix some words * Correct formatting * Correct grammar on v1 migration page * Correct grammar, punctuation, and typos in faq * Fix grammar in installation-checklist * One last correction --- .../docs/documentation/getting-started/faq.md | 32 +++++++++---------- .../documentation/getting-started/features.md | 20 ++++++------ .../installation/installation-checklist.md | 22 ++++++------- .../getting-started/migrating-to-mealie-v1.md | 8 ++--- .../documentation/getting-started/updating.md | 2 +- 5 files changed, 42 insertions(+), 42 deletions(-) diff --git a/docs/docs/documentation/getting-started/faq.md b/docs/docs/documentation/getting-started/faq.md index a98a2e05d7fd..4a241003e684 100644 --- a/docs/docs/documentation/getting-started/faq.md +++ b/docs/docs/documentation/getting-started/faq.md @@ -2,7 +2,7 @@ ## How do I enable "smart" ingredient handling? -You might have noticed that scaling up a recipe or making a shopping list doesn't by default handle the ingredients in a way you might expect. Depending on your settings, scaling up might yield things like `2 1 cup broth` instead of `2 cup broth`. And making shopping lists from reciepes that have shared ingredients can yield multiple lines of the same ingredient. **But** mealie has a mechanism to intelligently handle ingredients and make your day better. How? +You might have noticed that scaling up a recipe or making a shopping list doesn't by default handle the ingredients in a way you might expect. Depending on your settings, scaling up might yield things like `2 1 cup broth` instead of `2 cup broth`. And making shopping lists from reciepes that have shared ingredients can yield multiple lines of the same ingredient. **But**, mealie has a mechanism to intelligently handle ingredients and make your day better. How? ### Set up your Foods and Units Do the following just **once**. Doing this applies to your whole group, so be careful. @@ -26,9 +26,9 @@ Do the following for each recipe you want to intelligently handle ingredients. 6. Click the Edit button/icon again 7. Scroll to the ingredients and you should see new fields for Amount, Unit, Food, and Note. The Note in particular will contain the original text of the Recipe. 8. Click `Parse` and you will be taken to the ingredient parsing page. -9. Choose your parser. the `Natural Language Parser` works very well, but you can also use the `Brute Parser`. -10. Click `Parse All` and your ingredients should be separated out into Units and Foods based on your seeding in Step 1 above. -11. For ingredients where the Unit or Food were not found, you can click a button to accept an automatically suggested Food to add to the database. Or manually enter the Unit/Food and hit `Enter` (or click `Create`) to add it to the database +9. Choose your parser. The `Natural Language Parser` works very well, but you can also use the `Brute Parser`. +10. Click `Parse All`, and your ingredients should be separated out into Units and Foods based on your seeding in Step 1 above. +11. For ingredients where the Unit or Food was not found, you can click a button to accept an automatically suggested Food to add to the database. Or, manually enter the Unit/Food and hit `Enter` (or click `Create`) to add it to the database 12. When done, click `Save All` and you will be taken back to the recipe. Now the Unit and Food fields of the recipe should be filled out. Scaling up this recipe or adding it to a Shopping List will now smartly take care of ingredient amounts and duplicate combinations. @@ -64,7 +64,7 @@ No. Due to limitations from the Javascript Framework, mealie doesn't support ser ## Can I install Mealie without docker? -Yes, you can install Mealie on your local machine. HOWEVER, it is recommended that you don't. Managing non-system versions of python, node, and npm is a pain. Moreover updating and upgrading your system with this configuration is unsupported and will likely require manual interventions. If you insist on installing Mealie on your local machine, you can use the links below to help guide your path. +Yes, you can install Mealie on your local machine. HOWEVER, it is recommended that you don't. Managing non-system versions of python, node, and npm is a pain. Moreover, updating and upgrading your system with this configuration is unsupported and will likely require manual interventions. If you insist on installing Mealie on your local machine, you can use the links below to help guide your path. - [Advanced Installation](../installation/advanced/) @@ -75,9 +75,9 @@ Mealie can use fuzzy search, which is robust to minor typos. For example, search 2. Set up a [Postgres](./installation/postgres.md) instance of Mealie 3. Upload the backup .zip and click to apply it (as as migration) -## How i can attach an image or video to a Recipe? +## How can I attach an image or video to a Recipe? -Yes. Mealie's Recipe Steps and other fields support the markdown syntax and therefor supports images and videos. To attach an image to the recipe, you can upload it as an asset and use the provided copy button to generate the html image tag required to render the image. For videos, Mealie provides no way to host videos. You'll need to host your videos with another provider and embed them in your recipe. Generally, the video provider will provide a link to the video and the html tag required to render the video. For example, youtube provides the following link that works inside a step. You can adjust the width and height attributes as necessary to ensure a fit. +Mealie's Recipe Steps and other fields support markdown syntax and therefore support images and videos. To attach an image to the recipe, you can upload it as an asset and use the provided copy button to generate the html image tag required to render the image. For videos, Mealie provides no way to host videos. You'll need to host your videos with another provider and embed them in your recipe. Generally, the video provider will provide a link to the video and the html tag required to render the video. For example, YouTube provides the following link that works inside a step. You can adjust the width and height attributes as necessary to ensure a fit. ```html @@ -85,7 +85,7 @@ Yes. Mealie's Recipe Steps and other fields support the markdown syntax and ther ## How can I unlock my account? -If your account has been locked by bad password attempts, you can use an administrator account to unlock another account. Alternatively you can unlock all account via a scripts within the container. +If your account has been locked by bad password attempts, you can use an administrator account to unlock another account. Alternatively, you can unlock all accounts via a script within the container. ```shell docker exec -it mealie-next bash @@ -93,7 +93,7 @@ docker exec -it mealie-next bash python /app/mealie/scripts/reset_locked_users.py ``` -## How can I change my password +## How can I change my password? You can change your password by going to the user profile page and clicking the "Change Password" button. Alternatively you can use the following script to change your password via the CLI if you are locked out of your account. @@ -107,8 +107,8 @@ python /app/mealie/scripts/change_password.py Managing private groups and recipes can be confusing. The following diagram and notes should help explain how they work to determine if a recipe can be shared publicly. -- Private links that are generated using th`Share` button bypass all group and recipe permissions. -- Private groups block all access to recipes, including those that are public. Expect as noted above. +- Private links that are generated using the `Share` button bypass all group and recipe permissions. +- Private groups block all access to recipes, including those that are public, except as noted above. - Private recipes block all access to the recipe from public links. This does not affect Private Links. ```mermaid @@ -133,7 +133,7 @@ stateDiagram-v2 ``` ## Can I use fail2ban with mealie? -Yes, mealie is configured to properly forward external IP addresses into the `mealie.log` logfile. Note that, due to restrictions in docker, IP address forwarding only works on linux. +Yes, mealie is configured to properly forward external IP addresses into the `mealie.log` logfile. Note that due to restrictions in docker, IP address forwarding only works on Linux. Your fail2ban usage should look like the following: ``` @@ -142,12 +142,12 @@ Use failregex line : ^ERROR:\s+Incorrect username or password from ``` ## Why An API? -An API allows integration into applications like [Home Assistant](https://www.home-assistant.io/) that can act as notification engines to provide custom notifications based of Meal Plan data to remind you to defrost the chicken, marinade the steak, or start the CrockPot. Additionally, you can access nearly any backend service via the API giving you total control to extend the application. To explore the API spin up your server and navigate to http://yourserver.com/docs for interactive API documentation. +An API allows integration into applications like [Home Assistant](https://www.home-assistant.io/) that can act as notification engines to provide custom notifications based on Meal Plan data to remind you to defrost the chicken, marinade the steak, or start the CrockPot. Additionally, you can access nearly any backend service via the API giving you total control to extend the application. To explore the API spin up your server and navigate to http://yourserver.com/docs for interactive API documentation. ## Why a Database? -Some users of static-site generator applications like ChowDown have expressed concerns about their data being stuck in a database. Considering this is a new project it is a valid concern to be worried about your data. Mealie specifically addresses this concern by provided automatic daily backups that export your data in json, plain-text markdown files, and/or custom Jinja2 templates. **This puts you in controls of how your data is represented** when exported from Mealie, which means you can easily migrate to any other service provided Mealie doesn't work for you. +Some users of static-site generator applications like ChowDown have expressed concerns about their data being stuck in a database. Considering this is a new project, it is a valid concern to be worried about your data. Mealie specifically addresses this concern by provided automatic daily backups that export your data in json, plain-text markdown files, and/or custom Jinja2 templates. **This puts you in control of how your data is represented** when exported from Mealie, which means you can easily migrate to any other service provided Mealie doesn't work for you. As to why we need a database? -- **Developer Experience:** Without a database a lot of the work to maintain your data is taken on by the developer instead of a battle tested platform for storing data. -- **Multi User Support:** With a solid database as backend storage for your data Mealie can better support multi-user sites and avoid read/write access errors when multiple actions are taken at the same time. +- **Developer Experience:** Without a database, a lot of the work to maintain your data is taken on by the developer instead of a battle-tested platform for storing data. +- **Multi User Support:** With a solid database as backend storage for your data, Mealie can better support multi-user sites and avoid read/write access errors when multiple actions are taken at the same time. diff --git a/docs/docs/documentation/getting-started/features.md b/docs/docs/documentation/getting-started/features.md index fb65b1f1f61c..463bf18ac30e 100644 --- a/docs/docs/documentation/getting-started/features.md +++ b/docs/docs/documentation/getting-started/features.md @@ -38,15 +38,15 @@ Categories are the overarching organizer for recipes. You can assign as many cat #### Tags -Tags, are nearly identical to categories in function but play a secondary role in some cases. As such, we recommend that you use tags freely to help you organize your recipes by more specific topics. For example, if a recipe can be frozen or is a great left-over meal, you could assign the tags **frozen** and **left-over** and easily filter for those at a later time. +Tags are nearly identical to categories in function but play a secondary role in some cases. As such, we recommend that you use tags freely to help you organize your recipes by more specific topics. For example, if a recipe can be frozen or is a great left-over meal, you could assign the tags **frozen** and **left-over** and easily filter for those at a later time. [Tags Demo](https://demo.mealie.io/g/home/recipes/tags){ .md-button .md-button--primary } #### Tools -Tools, are another way that some users like to organize their recipes. If a recipe requires some specific equipment if can be helpful to assign the tools to the recipes. This is particularly useful for things that are less common, like a pressure cooker, or a sous vide. +Tools are another way that some users like to organize their recipes. If a recipe requires some specific equipment, it can be helpful to assign tools to the recipes. This is particularly useful for things that are less common, like a pressure cooker or a sous vide. -Each of the above organizers can be filtered in searches, and have their own pages where you can view all the recipes that are associated with those organizers. +Each of the above organizers can be filtered in searches and have their own pages where you can view all the recipes that are associated with those organizers. [Tools Demo](https://demo.mealie.io/g/home/recipes/tools){ .md-button .md-button--primary } @@ -64,7 +64,7 @@ Mealie also has the concept of cookbooks. These can be created inside of a group ## Meal Planning -Mealie uses a calendar like view to help you plan your meals. It shows you the previous day, and the next 6 days by default. You can toggle through the calendar by clicking the arrows on the top of the page. In editor mode, you can use the random recipe buttons, or manually add an entry. +Mealie uses a calendar like view to help you plan your meals. It shows you the previous day and the next 6 days by default. You can toggle through the calendar by clicking the arrows on the top of the page. In editor mode, you can use the random recipe buttons or manually add an entry. !!! tip You can also add a "Note" type entry to your meal-plan when you want to include something that might not have a specific recipes. This is great for leftovers, or for ordering out. @@ -73,16 +73,16 @@ Mealie uses a calendar like view to help you plan your meals. It shows you the p ### Planner Rules -The meal planner has the concept of plan rules. These offer a flexible way to use your organizers to customize how a random recipe is inserted into your meal plan. You can set rules to restrict the pool of recipes based on the Tags and/or Categories of a recipe. Additionally, since meal plans have a Breakfast, Lunch, Dinner, and Snack labels you can specifically set a rule to be active for a **specific meal type** or even a **specific day of the week.** +The meal planner has the concept of plan rules. These offer a flexible way to use your organizers to customize how a random recipe is inserted into your meal plan. You can set rules to restrict the pool of recipes based on the Tags and/or Categories of a recipe. Additionally, since meal plans have a Breakfast, Lunch, Dinner, and Snack labels, you can specifically set a rule to be active for a **specific meal type** or even a **specific day of the week.** [Planner Settings Demo](https://demo.mealie.io/group/mealplan/settings){ .md-button .md-button--primary } ## Shopping Lists -The shopping lists feature is a great way to keep track of what you need to buy for your next meal. You can add items directly to the shopping list, or link a recipe and all of it's ingredients to track meals during the week. +The shopping lists feature is a great way to keep track of what you need to buy for your next meal. You can add items directly to the shopping list or link a recipe and all of it's ingredients to track meals during the week. !!! warning - At this time there isn't a tight integration between meal-plans and shopping lists, however it's something we have planned for the future. + At this time there isn't a tight integration between meal-plans and shopping lists; however, it's something we have planned for the future. [Shopping List Demo](https://demo.mealie.io/shopping-lists){ .md-button .md-button--primary } @@ -90,7 +90,7 @@ The shopping lists feature is a great way to keep track of what you need to buy ## Data Management -Managing a robust collection of recipes inevitable requires a lot of data. Mealie has a robust data management system that allows you to easily some of the more important data sets in your collection. Here's some of the features that are available in the `group/data/` pages: +Managing a robust collection of recipes inevitable requires a lot of data. Mealie has a robust data management system that allows you to easily export some of the more important data sets in your collection. Here's some of the features that are available in the `group/data/` pages: - Recipes - Bulk Actions @@ -113,7 +113,7 @@ Managing a robust collection of recipes inevitable requires a lot of data. Meali ### Site Settings -The site settings page contains general information about your installation like the application version, some configuration details, and some utilities to help you confirm your installation is working as expected. For example, you can use the Email Configuration section to validate that your email credentials are setup correctly and that the email service is working as expected. Additionally, there is a docker-volume utility that will confirm your volumes are configured and shared correctly between the front and backend of the application. +The site settings page contains general information about your installation like the application version, some configuration details, and some utilities to help you confirm your installation is working as expected. For example, you can use the Email Configuration section to validate that your email credentials are set up correctly and that the email service is working as expected. Additionally, there is a docker-volume utility that will confirm your volumes are configured and shared correctly between the front and backend of the application. [Settings Demo](https://demo.mealie.io/admin/site-settings){ .md-button .md-button--primary } @@ -125,7 +125,7 @@ There is a small management area for users and groups that allows you to create, ### Backups -The backups page provides a full system backup of your installation including all assets and images related to recipes. These are archived into a zip file and stored on the server but can also be downloaded through the UI. Due to some issues in the past Mealie no longer performs automatic backups, **it is advised that during setup you also setup a backup strategy to ensure your data is not lost.** +The backups page provides a full system backup of your installation including all assets and images related to recipes. These are archived into a zip file and stored on the server but can also be downloaded through the UI. Due to some issues in the past, Mealie no longer performs automatic backups; **it is advised that during setup you also set up a backup strategy to ensure your data is not lost.** [Backups Demo](https://demo.mealie.io/admin/backups){ .md-button .md-button--primary } diff --git a/docs/docs/documentation/getting-started/installation/installation-checklist.md b/docs/docs/documentation/getting-started/installation/installation-checklist.md index 12f767bd860e..2391d2d3a01d 100644 --- a/docs/docs/documentation/getting-started/installation/installation-checklist.md +++ b/docs/docs/documentation/getting-started/installation/installation-checklist.md @@ -1,17 +1,17 @@ # Installation Checklist -To install Mealie on your server there are a few steps for proper configuration. Let's go through them. +To install Mealie on your server, there are a few steps for proper configuration. Let's go through them. !!! tip TLDR - Don't need step by step? Checkout the + Don't need step-by-step? Check out: - [SQLite docker-compose](./sqlite.md) - [Postgres docker-compose](./postgres.md) ## Pre-work -To deploy mealie on your local network it is highly recommended to use docker to deploy the image straight from the GitHub registry. Using the docker-compose templates provided, you should be able to get a stack up and running easily by changing a few default values and deploying. You can deploy with either SQLite (default) or Postgres. SQLite is sufficient for most use cases. Additionally, with Mealie's automated backup and restore functionality, you can easily move between SQLite and Postgres as you wish. +To deploy mealie on your local network, it is highly recommended to use Docker to deploy the image straight from the GitHub registry. Using the docker-compose templates provided, you should be able to get a stack up and running easily by changing a few default values and deploying. You can deploy with either SQLite (default) or Postgres. SQLite is sufficient for most use cases. Additionally, with Mealie's automated backup and restore functionality, you can easily move between SQLite and Postgres as you wish. [Get Docker](https://docs.docker.com/get-docker/) @@ -28,7 +28,7 @@ To deploy mealie on your local network it is highly recommended to use docker to ## Migrating From Other V1 Versions -We've gone through a few versions of Mealie v1 deployment targets. We have settled on a single container deployment and we've begun publishing the nightly container on github containers. If you're looking to move from the old nightly (split containers _or_ the omni image) to the new nightly, there are a few things you need to do: +We've gone through a few versions of Mealie v1 deployment targets. We have settled on a single container deployment, and we've begun publishing the nightly container on github containers. If you're looking to move from the old nightly (split containers _or_ the omni image) to the new nightly, there are a few things you need to do: 1. Take a backup just in case! 2. Replace the image for the API container with `ghcr.io/mealie-recipes/mealie:v1.0.0-RC1.1` @@ -50,13 +50,13 @@ You can find the relevant ready to use docker-compose files for supported instal ## Step 2: Setting up your files. -The following steps were tested on a Ubuntu 20.04 server, but should work for most other Linux distributions. These steps are not required, but is how I generally will setup services on my server. +The following steps were tested on a Ubuntu 20.04 server, but should work for most other Linux distributions. These steps are not required, but this is how I generally will setup services on my server. 1. SSH into your server and navigate to the home directory of the user you want to run Mealie as. If that is your current user, you can use `cd ~` to ensure you're in the right directory. -2. Create a directory called `docker` and navigate into it: `mkdir docker && cd docker` (this is optional, if you organizer your docker installs separate from everything else) +2. Create a directory called `docker` and navigate into it: `mkdir docker && cd docker` (this is optional, if you organize your docker installs separate from everything else) 3. Do the same for mealie: `mkdir mealie && cd mealie` 4. Create a docker-compose.yaml file in the mealie directory: `touch docker-compose.yaml` -5. Use the text editor or your choice to edit the file and copy the contents of the docker-compose template for the deployment type you want to use: `nano docker-compose.yaml` or `vi docker-compose.yaml` +5. Use the text editor of your choice to edit the file and copy the contents of the docker-compose template for the deployment type you want to use: `nano docker-compose.yaml` or `vi docker-compose.yaml` ## Step 2: Customizing The `docker-compose.yaml` files. @@ -69,7 +69,7 @@ After you've decided setup the files it's important to set a few ENV variables t ## Step 3: Startup -After you've configured your database, and updated the `docker-compose.yaml` files, you can start Mealie by running the following command in the directory where you've added your `docker-compose.yaml`. +After you've configured your database and updated the `docker-compose.yaml` files, you can start Mealie by running the following command in the directory where you've added your `docker-compose.yaml`. ```bash $ docker-compose up -d @@ -89,13 +89,13 @@ You should see the containers start up without error. You should now be able to ## Step 4: Validate Installation -After the startup is complete you should see a login screen. Use the default credentials above to login and navigate to `/admin/site-settings`. Here you'll find a summary of your configuration details and their respective status. Before proceeding you should validate that the configuration is correct. For any warnings or errors the page will display an error and notify you of what you need to verify. +After the startup is complete, you should see a login screen. Use the default credentials above to log in and navigate to `/admin/site-settings`. Here, you'll find a summary of your configuration details and their respective status. Before proceeding, you should validate that the configuration is correct. For any warnings or errors the page will display an error and notify you of what you need to verify. ## Step 5: Backup While v1.0.0 is a great step to data-stability and security, it's not a backup. Mealie provides a full site data backup mechanism through the UI. -These backups are just plain .zip files that you can download from the UI or access via the mounted volume on your system. For complete data protection you MUST store these backups somewhere safe, and outside of the server where they are deployed. +These backups are just plain .zip files that you can download from the UI or access via the mounted volume on your system. For complete data protection you MUST store these backups somewhere safe, outside of the server where they are deployed. ## Appendix @@ -113,7 +113,7 @@ We also provide versioned containers that allow to pin to a specific release. Ea `ghrc.io/mealie-recipes/mealie:latest` -_Note: This tag is not yet available, it will be available with the v1 stable release_ +_Note: This tag is not yet available; it will be available with the v1 stable release_ The latest tag provides the latest released image of Mealie. diff --git a/docs/docs/documentation/getting-started/migrating-to-mealie-v1.md b/docs/docs/documentation/getting-started/migrating-to-mealie-v1.md index 26a3c573370c..ff7dfad23210 100644 --- a/docs/docs/documentation/getting-started/migrating-to-mealie-v1.md +++ b/docs/docs/documentation/getting-started/migrating-to-mealie-v1.md @@ -1,9 +1,9 @@ # Migrating to Mealie v1 Release -The version 1 release of Mealie should be seen as an entirely different application. A whole host of changes have been made to improve the application, performance, and developer experience. Most of these improvements required significant breaking changes in the application that made a clean and easy migration impossible. However, if you've used Mealie prior to v1 there is a migration path to get most of your data from the old version to the new v1 version. +The version 1 release of Mealie should be seen as an entirely different application. A whole host of changes have been made to improve the application, performance, and developer experience. Most of these improvements required significant breaking changes in the application that made a clean and easy migration impossible. However, if you've used Mealie prior to v1, there is a migration path to get most of your data from the old version to the new v1 version. !!! info "Currently Supported Migration Data" - Supporting more data is a work in progress, but not a current priority. I'm open to PR's to add support for additional data. + Supporting more data is a work in progress, but not a current priority. I'm open to PRs to add support for additional data. - [x] Recipes - [x] Categories @@ -47,11 +47,11 @@ In your new v1 instance, navigate to `/group/migrations` and select "Mealie" fro In most cases, it's faster to manually migrate the recipes that didn't take instead of trying to identify why the recipes failed to import. If you're experiencing issues with the migration tool, please open an issue on GitHub. !!! note "Recipe Owners" - When perform any migration, it will automatically assign the owner of the recipe to the user that performed the migration. All group members will still be able to access the recipe, however the owner has special permissions to lock the recipe from edits from other users. + When perform any migration, it will automatically assign the owner of the recipe to the user that performed the migration. All group members will still be able to access the recipe; however, the owner has special permissions to lock the recipe from edits from other users. ## Step 4: Reviewing New Features -v1 Comes with a whole host of new features and improvements. Checkout the changelog to get a sense for what's new. +v1 Comes with a whole host of new features and improvements. Check out the changelog to get a sense for what's new. - [Github releases changelog](https://github.com/mealie-recipes/mealie/releases) diff --git a/docs/docs/documentation/getting-started/updating.md b/docs/docs/documentation/getting-started/updating.md index b15908fd96c1..72eca9fb717d 100644 --- a/docs/docs/documentation/getting-started/updating.md +++ b/docs/docs/documentation/getting-started/updating.md @@ -19,6 +19,6 @@ If you are upgrading from pre-v1.0.0 to v1.0.0, make sure you read [Migrating to ## Docker For all setups using Docker the updating process looks something like this -- Stop the container using docker-compose down +- Stop the container using `docker-compose down` - Pull the latest image using `docker-compose pull` - Start the container again using `docker-compose up -d` From c48680374d3eed0f8895b2cbde787d02a2816ac9 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Thu, 14 Dec 2023 16:09:01 -0600 Subject: [PATCH 005/170] New Crowdin updates (#2844) * New translations en-us.json (Romanian) * New translations en-us.json (French) * New translations en-us.json (Spanish) * New translations en-us.json (Afrikaans) * New translations en-us.json (Arabic) * New translations en-us.json (Bulgarian) * New translations en-us.json (Czech) * New translations en-us.json (Danish) * New translations en-us.json (German) * New translations en-us.json (Greek) * New translations en-us.json (Finnish) * New translations en-us.json (Hebrew) * New translations en-us.json (Hungarian) * New translations en-us.json (Italian) * New translations en-us.json (Japanese) * New translations en-us.json (Korean) * New translations en-us.json (Lithuanian) * New translations en-us.json (Dutch) * New translations en-us.json (Norwegian) * New translations en-us.json (Polish) * New translations en-us.json (Portuguese) * New translations en-us.json (Russian) * New translations en-us.json (Slovak) * New translations en-us.json (Slovenian) * New translations en-us.json (Serbian (Cyrillic)) * New translations en-us.json (Swedish) * New translations en-us.json (Turkish) * New translations en-us.json (Ukrainian) * New translations en-us.json (Chinese Simplified) * New translations en-us.json (Chinese Traditional) * New translations en-us.json (Chinese Traditional) * New translations en-us.json (Vietnamese) * New translations en-us.json (Galician) * New translations en-us.json (Portuguese, Brazilian) * New translations en-us.json (Croatian) * New translations en-us.json (Latvian) * New translations en-us.json (English, United Kingdom) * New translations en-us.json (French, Canada) --------- Co-authored-by: Michael Genson <71845777+michael-genson@users.noreply.github.com> --- frontend/lang/messages/af-ZA.json | 2 +- frontend/lang/messages/ar-SA.json | 2 +- frontend/lang/messages/bg-BG.json | 2 +- frontend/lang/messages/cs-CZ.json | 2 +- frontend/lang/messages/da-DK.json | 2 +- frontend/lang/messages/de-DE.json | 10 +- frontend/lang/messages/el-GR.json | 2 +- frontend/lang/messages/en-GB.json | 2 +- frontend/lang/messages/es-ES.json | 2 +- frontend/lang/messages/fi-FI.json | 2 +- frontend/lang/messages/fr-CA.json | 2 +- frontend/lang/messages/fr-FR.json | 2 +- frontend/lang/messages/gl-ES.json | 2 +- frontend/lang/messages/he-IL.json | 2 +- frontend/lang/messages/hr-HR.json | 2 +- frontend/lang/messages/hu-HU.json | 2 +- frontend/lang/messages/it-IT.json | 2 +- frontend/lang/messages/ja-JP.json | 2 +- frontend/lang/messages/ko-KR.json | 2 +- frontend/lang/messages/lt-LT.json | 2 +- frontend/lang/messages/lv-LV.json | 2 +- frontend/lang/messages/nl-NL.json | 2 +- frontend/lang/messages/no-NO.json | 342 +++++++++--------- frontend/lang/messages/pl-PL.json | 2 +- frontend/lang/messages/pt-BR.json | 2 +- frontend/lang/messages/pt-PT.json | 2 +- frontend/lang/messages/ro-RO.json | 2 +- frontend/lang/messages/ru-RU.json | 2 +- frontend/lang/messages/sk-SK.json | 2 +- frontend/lang/messages/sl-SI.json | 2 +- frontend/lang/messages/sr-SP.json | 2 +- frontend/lang/messages/sv-SE.json | 2 +- frontend/lang/messages/tr-TR.json | 2 +- frontend/lang/messages/uk-UA.json | 2 +- frontend/lang/messages/vi-VN.json | 2 +- frontend/lang/messages/zh-CN.json | 2 +- frontend/lang/messages/zh-TW.json | 18 +- .../seed/resources/foods/locales/zh-TW.json | 14 +- 38 files changed, 226 insertions(+), 226 deletions(-) diff --git a/frontend/lang/messages/af-ZA.json b/frontend/lang/messages/af-ZA.json index 38fd59a9a69f..a62fdc7c996f 100644 --- a/frontend/lang/messages/af-ZA.json +++ b/frontend/lang/messages/af-ZA.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Hoe het dit uitgedraai?", "user-made-this": "{user} het dit gemaak", "last-made-date": "Laas gemaak {date}", - "api-extras-description": "Resepte ekstras is 'n belangrike funksie van die Mealie API. Hulle laat jou toe om pasgemaakte json-sleutel/waarde-pare binne 'n resep te skep om na derdeparty-toepassings te verwys. Jy kan hierdie sleutels gebruik om inligting te bevat om outomatisering of pasgemaakte boodskappe na die gewenste toestel te stuur.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Boodskap sleutel", "parse": "Verwerk", "attach-images-hint": "Voeg prente by deur dit in die bewerker te sleep en los", diff --git a/frontend/lang/messages/ar-SA.json b/frontend/lang/messages/ar-SA.json index ad5565378d82..a1a7b18e4023 100644 --- a/frontend/lang/messages/ar-SA.json +++ b/frontend/lang/messages/ar-SA.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "How did it turn out?", "user-made-this": "{user} made this", "last-made-date": "Last Made {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom json key/value pairs within a recipe to reference from 3rd part applications. You can use these keys to contain information to trigger automation or custom messages to relay to your desired device.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Message Key", "parse": "Parse", "attach-images-hint": "Attach images by dragging & dropping them into the editor", diff --git a/frontend/lang/messages/bg-BG.json b/frontend/lang/messages/bg-BG.json index 2911e5c74ef0..154af8442fdc 100644 --- a/frontend/lang/messages/bg-BG.json +++ b/frontend/lang/messages/bg-BG.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Как се получи?", "user-made-this": "{user} направи това", "last-made-date": "Последно приготвена на {date}", - "api-extras-description": "Екстрите за рецепти са ключова характеристика на Mealie API. Те Ви позволяват да създавате персонализирани json двойки ключ/стойност в рамките на рецепта, за да ги препращате към други приложения. Можете да използвате тези ключове, за да съдържате информация за задействане на автоматизация или персонализирани съобщения, за препращане към желаното от Вас устройство.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Ключ на съобщението", "parse": "Анализирай", "attach-images-hint": "Прикачете снимки като ги влачете и пуснете в редактора", diff --git a/frontend/lang/messages/cs-CZ.json b/frontend/lang/messages/cs-CZ.json index e0a63982844c..005419011791 100644 --- a/frontend/lang/messages/cs-CZ.json +++ b/frontend/lang/messages/cs-CZ.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Jak to dopadlo?", "user-made-this": "{user} udělal toto", "last-made-date": "Naposledy uvařeno {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom json key/value pairs within a recipe to reference from 3rd part applications. You can use these keys to contain information to trigger automation or custom messages to relay to your desired device.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Message Key", "parse": "Parse", "attach-images-hint": "Attach images by dragging & dropping them into the editor", diff --git a/frontend/lang/messages/da-DK.json b/frontend/lang/messages/da-DK.json index b134ec3f4a9f..4b2c674246ca 100644 --- a/frontend/lang/messages/da-DK.json +++ b/frontend/lang/messages/da-DK.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Hvordan blev det?", "user-made-this": "{user} lavede denne", "last-made-date": "Sidst tilberedt den {date}", - "api-extras-description": "Brugerdefinerede oplysninger i opskrifter i Mealie's gør det muligt at oprette JSON data bestående af en nøgle og tilhørende værdier. Data udstilles i Mealie's API og kan bruges af andre applikationer til at udløse automatiseringer eller vise brugerdefineret indhold.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Beskednøgle", "parse": "Behandl data", "attach-images-hint": "Vedhæft billeder ved at trække dem ind i redigeringsværktøjet", diff --git a/frontend/lang/messages/de-DE.json b/frontend/lang/messages/de-DE.json index 5f30a19b836b..7b21221de0be 100644 --- a/frontend/lang/messages/de-DE.json +++ b/frontend/lang/messages/de-DE.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Wie ist es geworden?", "user-made-this": "{user} hat's gemacht", "last-made-date": "Zuletzt gemacht {date}", - "api-extras-description": "Rezepte-Extras sind ein Hauptmerkmal der Mealie API. Sie ermöglichen es dir, benutzerdefinierte JSON Schlüssel/Wert-Paare zu einem Rezept zu erstellen, um Anwendungen von Drittanbietern zu steuern. Du kannst diese Schlüssel dazu verwenden, Automatisierungen auszulösen oder benutzerdefinierte Nachrichten an deine gewünschten Geräte zu senden.", + "api-extras-description": "Rezepte-Extras sind ein Hauptmerkmal der Mealie API. Sie ermöglichen es dir, benutzerdefinierte JSON Key-Value-Paare zu einem Rezept zu erstellen, um Drittanbietern-Anwendungen zu steuern. Du kannst diese dazu verwenden, um Automatisierungen auszulösen oder benutzerdefinierte Nachrichten an bestimmte Geräte zu senden.", "message-key": "Nachrichten-Schlüssel", "parse": "Parse", "attach-images-hint": "Bilder durch Ziehen & Ablegen in den Editor hinzufügen", @@ -644,16 +644,16 @@ "primary": "Primär", "secondary": "Sekundär", "success": "Erfolg", - "switch-to-dark-mode": "Zum dunklen Modus wechseln", - "switch-to-light-mode": "Zum hellen Modus wechseln", + "switch-to-dark-mode": "Zum dunklen Design wechseln", + "switch-to-light-mode": "Zum hellen Design wechseln", "theme-deleted": "Thema gelöscht", "theme-name": "Themenname", "theme-name-is-required": "Themenname wird benötigt.", "theme-saved": "Thema gespeichert", "theme-updated": "Thema aktualisiert", "warning": "Warnung", - "light-mode": "Heller Modus", - "dark-mode": "Dunkler Modus" + "light-mode": "Helles Design", + "dark-mode": "Dunkles Design" }, "token": { "active-tokens": "AKTIVE TOKEN", diff --git a/frontend/lang/messages/el-GR.json b/frontend/lang/messages/el-GR.json index 233223d7dea1..82fe8380c3f8 100644 --- a/frontend/lang/messages/el-GR.json +++ b/frontend/lang/messages/el-GR.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "How did it turn out?", "user-made-this": "{user} made this", "last-made-date": "Last Made {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom json key/value pairs within a recipe to reference from 3rd part applications. You can use these keys to contain information to trigger automation or custom messages to relay to your desired device.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Message Key", "parse": "Parse", "attach-images-hint": "Attach images by dragging & dropping them into the editor", diff --git a/frontend/lang/messages/en-GB.json b/frontend/lang/messages/en-GB.json index d2087b553139..ee650baba889 100644 --- a/frontend/lang/messages/en-GB.json +++ b/frontend/lang/messages/en-GB.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "How did it turn out?", "user-made-this": "{user} made this", "last-made-date": "Last Made {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom json key/value pairs within a recipe to reference from 3rd part applications. You can use these keys to contain information to trigger automation or custom messages to relay to your desired device.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Message Key", "parse": "Parse", "attach-images-hint": "Attach images by dragging & dropping them into the editor", diff --git a/frontend/lang/messages/es-ES.json b/frontend/lang/messages/es-ES.json index f7c677361e17..74b138df18c6 100644 --- a/frontend/lang/messages/es-ES.json +++ b/frontend/lang/messages/es-ES.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "¿Cómo resultó esto?", "user-made-this": "{user} hizo esto", "last-made-date": "Cocinado por última vez el {date}", - "api-extras-description": "Los extras de las recetas son una característica clave de la API de Mealie. Permiten crear pares json clave/valor personalizados dentro de una receta para acceder desde aplicaciones de terceros. Puede utilizar estas claves para almacenar información, para activar la automatización o mensajes personalizados para transmitir al dispositivo deseado.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Clave de mensaje", "parse": "Analizar", "attach-images-hint": "Adjuntar imágenes arrastrando y soltando en el editor", diff --git a/frontend/lang/messages/fi-FI.json b/frontend/lang/messages/fi-FI.json index c2a18e22e8e7..f51b926dcc46 100644 --- a/frontend/lang/messages/fi-FI.json +++ b/frontend/lang/messages/fi-FI.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Miten se onnistui?", "user-made-this": "{user} teki tämän", "last-made-date": "Viimeksi valmistettu {date}", - "api-extras-description": "Reseptilisät ovat Mealie API: n avainominaisuus. Niiden avulla voit luoda mukautettuja json-avain/arvo-pareja reseptin sisällä viitaten kolmannen osapuolen sovelluksiin. Voit käyttää näitä pareja sisältämään tietoja automaation käynnistämiseksi tai mukautettuja viestejä välitettäväksi haluamaasi laitteeseen.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Viestiavain", "parse": "Jäsennä", "attach-images-hint": "Liitä kuvia vetämällä ja pudottamalla ne editoriin", diff --git a/frontend/lang/messages/fr-CA.json b/frontend/lang/messages/fr-CA.json index 893e78a35945..30e9e52a1745 100644 --- a/frontend/lang/messages/fr-CA.json +++ b/frontend/lang/messages/fr-CA.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "C’était bon ?", "user-made-this": "{user} l’a cuisiné", "last-made-date": "Cuisiné le {date}", - "api-extras-description": "Les extras de recette sont une caractéristique clé de l'API Mealie. Ils vous permettent de créer des paires clé/valeur json personnalisées dans une recette à référencer depuis des applications externes. Vous pouvez utiliser ces clés pour stocker des informations utiles à l'automatisation ou des messages personnalisés à relayer vers l'appareil souhaité.", + "api-extras-description": "Les suppléments des recettes sont une fonctionnalité clé de l’API Mealie. Ils permettent de créer des paires JSON clé/valeur personnalisées dans une recette, qui peuvent être référencées depuis des applications tierces. Ces clés peuvent être utilisées par exemple pour déclencher des tâches automatisées ou des messages personnalisés à transmettre à l’appareil souhaité.", "message-key": "Clé de message", "parse": "Analyser", "attach-images-hint": "Ajouter des images en les glissant-déposant dans l'éditeur", diff --git a/frontend/lang/messages/fr-FR.json b/frontend/lang/messages/fr-FR.json index da173c2f165d..1029633caaf1 100644 --- a/frontend/lang/messages/fr-FR.json +++ b/frontend/lang/messages/fr-FR.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "C’était bon ?", "user-made-this": "{user} l’a cuisiné", "last-made-date": "Cuisiné le {date}", - "api-extras-description": "Les extras de recette sont une caractéristique clé de l'API Mealie. Ils vous permettent de créer des paires clé/valeur json personnalisées dans une recette à référencer depuis des applications externes. Vous pouvez utiliser ces clés pour stocker des informations utiles à l'automatisation ou des messages personnalisés à relayer vers l'appareil souhaité.", + "api-extras-description": "Les suppléments des recettes sont une fonctionnalité clé de l’API Mealie. Ils permettent de créer des paires JSON clé/valeur personnalisées dans une recette, qui peuvent être référencées depuis des applications tierces. Ces clés peuvent être utilisées par exemple pour déclencher des tâches automatisées ou des messages personnalisés à transmettre à l’appareil souhaité.", "message-key": "Clé de message", "parse": "Analyser", "attach-images-hint": "Ajouter des images en les glissant-déposant dans l'éditeur", diff --git a/frontend/lang/messages/gl-ES.json b/frontend/lang/messages/gl-ES.json index 9ec781a108c5..f1b2a4b8fc5a 100644 --- a/frontend/lang/messages/gl-ES.json +++ b/frontend/lang/messages/gl-ES.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "How did it turn out?", "user-made-this": "{user} made this", "last-made-date": "Last Made {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom json key/value pairs within a recipe to reference from 3rd part applications. You can use these keys to contain information to trigger automation or custom messages to relay to your desired device.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Message Key", "parse": "Parse", "attach-images-hint": "Attach images by dragging & dropping them into the editor", diff --git a/frontend/lang/messages/he-IL.json b/frontend/lang/messages/he-IL.json index 424af4891e02..ab0cd2376b9a 100644 --- a/frontend/lang/messages/he-IL.json +++ b/frontend/lang/messages/he-IL.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "איך יצא?", "user-made-this": "{user} הכין את זה", "last-made-date": "נעשה לאחרונה ב{date}", - "api-extras-description": "מתכונים אקסטרה הם פונקציה שמאפשרת שימוש ב- Mealie API. צמדי json של key/value במתכון מאפשרים לצד שלישי לקרוא להם. ניתן להשתמש במפתחות להכיל מידע על מנת להפעיל אוטומציות או הודעות מותאמות אישית למכשירים הרלוונטיים.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "מפתח הודעה", "parse": "ניתוח", "attach-images-hint": "הוסף תמונות ע\"י גרירה ושחרור אל תוך העורך", diff --git a/frontend/lang/messages/hr-HR.json b/frontend/lang/messages/hr-HR.json index 508e76382f51..b9e084026aea 100644 --- a/frontend/lang/messages/hr-HR.json +++ b/frontend/lang/messages/hr-HR.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Kako je ispalo?", "user-made-this": "{user} je napravio/la ovo", "last-made-date": "Zadnji put napravljeno {date}", - "api-extras-description": "Dodatci recepata su ključna značajka Mealie API-ja. Omogućuju vam stvaranje prilagođenih JSON ključ/vrijednost parova unutar recepta kako biste ih mogli koristiti iz aplikacija trećih strana. Možete koristiti ove ključeve kako biste sadržavali informacije koje će pokrenuti automatizaciju ili prilagođene poruke koje će biti prenesene na željeni uređaj.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Ključ poruke", "parse": "Razluči (parsiraj)", "attach-images-hint": "Priložite slike povlačenjem i ispuštanjem u uređivaču", diff --git a/frontend/lang/messages/hu-HU.json b/frontend/lang/messages/hu-HU.json index 178dd6a6c34b..271a5320a2d8 100644 --- a/frontend/lang/messages/hu-HU.json +++ b/frontend/lang/messages/hu-HU.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Hogyan sikerült?", "user-made-this": "ezt {user} készítette el", "last-made-date": "Utoljára elkészítve {date}", - "api-extras-description": "A receptek extrák a Mealie API egyik legfontosabb jellemzője. Lehetővé teszik, hogy egyéni json kulcs/érték párokat hozzon létre egy receptben, amelyekre 3. féltől származó alkalmazásokból hivatkozhat. Ezeket a kulcsokat arra használhatja, hogy automatizmusokat indítsanak el vagy küldjenek egyéni üzenetek a meghatározott eszközéhez.", + "api-extras-description": "A receptek extrái a Mealie API egyik legfontosabb szolgáltatása. Lehetővé teszik, hogy egyéni JSON kulcs/érték párokat hozzon létre egy receptben, amelyekre harmadik féltől származó alkalmazásokból hivatkozhat. Ezeket a kulcsokat információszolgáltatásra használhatja, például automatizmusok vagy egyéni üzenetek indítására, amelyeket a kívánt eszközre küldhet.", "message-key": "Üzenetkulcs", "parse": "Előkészítés", "attach-images-hint": "Képek csatolása a szerkesztőbe történő húzásával és ejtésével", diff --git a/frontend/lang/messages/it-IT.json b/frontend/lang/messages/it-IT.json index a8e60472006a..881529568472 100644 --- a/frontend/lang/messages/it-IT.json +++ b/frontend/lang/messages/it-IT.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Come è venuto?", "user-made-this": "{user} l'ha preparato", "last-made-date": "Ultima Preparazione {date}", - "api-extras-description": "Le opzioni extra delle ricette sono una caratteristica fondamentale dell'API Mealie. Consentono di creare json personalizzati con coppie di chiavi/valore all'interno di una ricetta a cui fare riferimento tramite applicazioni terze. È possibile utilizzare queste chiavi per inserire informazioni e attivare l'automazione oppure messaggi personalizzati da passare al dispositivo desiderato.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Chiave Messaggio", "parse": "Analizza", "attach-images-hint": "Allega immagini trascinandole nell'editor", diff --git a/frontend/lang/messages/ja-JP.json b/frontend/lang/messages/ja-JP.json index 0f5743dc257c..3d667b636978 100644 --- a/frontend/lang/messages/ja-JP.json +++ b/frontend/lang/messages/ja-JP.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "How did it turn out?", "user-made-this": "{user} made this", "last-made-date": "Last Made {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom json key/value pairs within a recipe to reference from 3rd part applications. You can use these keys to contain information to trigger automation or custom messages to relay to your desired device.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Message Key", "parse": "Parse", "attach-images-hint": "Attach images by dragging & dropping them into the editor", diff --git a/frontend/lang/messages/ko-KR.json b/frontend/lang/messages/ko-KR.json index 62265a46fa09..b719dd2d99d5 100644 --- a/frontend/lang/messages/ko-KR.json +++ b/frontend/lang/messages/ko-KR.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "How did it turn out?", "user-made-this": "{user} made this", "last-made-date": "Last Made {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom json key/value pairs within a recipe to reference from 3rd part applications. You can use these keys to contain information to trigger automation or custom messages to relay to your desired device.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Message Key", "parse": "Parse", "attach-images-hint": "Attach images by dragging & dropping them into the editor", diff --git a/frontend/lang/messages/lt-LT.json b/frontend/lang/messages/lt-LT.json index f4aec68551fd..cd3141d49b9c 100644 --- a/frontend/lang/messages/lt-LT.json +++ b/frontend/lang/messages/lt-LT.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Kaip tai pavyko?", "user-made-this": "{user} gamino šį patiekalą", "last-made-date": "Paskutinį kartą gaminta {date}", - "api-extras-description": "Papildomi receptų laukai yra patogi Mealie API funkcija - recepto turinyje galima kurti specialias \"key/value\" duomenų poras, kurias gali perskaityti išorinės sistemos. Šiuos laukus galima panaudoti automatinių veiksmų aktyvinimui, arba specialioms žinutėms perduoti į norimą įrenginį.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Žinutės raktas", "parse": "Nuskaityti", "attach-images-hint": "Pridėkite vaizdus vilkdami ir numesdami juos į redaktorių", diff --git a/frontend/lang/messages/lv-LV.json b/frontend/lang/messages/lv-LV.json index 9ec781a108c5..f1b2a4b8fc5a 100644 --- a/frontend/lang/messages/lv-LV.json +++ b/frontend/lang/messages/lv-LV.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "How did it turn out?", "user-made-this": "{user} made this", "last-made-date": "Last Made {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom json key/value pairs within a recipe to reference from 3rd part applications. You can use these keys to contain information to trigger automation or custom messages to relay to your desired device.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Message Key", "parse": "Parse", "attach-images-hint": "Attach images by dragging & dropping them into the editor", diff --git a/frontend/lang/messages/nl-NL.json b/frontend/lang/messages/nl-NL.json index 748f540e28a8..e6d50b0c568c 100644 --- a/frontend/lang/messages/nl-NL.json +++ b/frontend/lang/messages/nl-NL.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Hoe was je gerecht?", "user-made-this": "{user} heeft dit gemaakt", "last-made-date": "Laatste Gemaakt {date}", - "api-extras-description": "Extra's recepten zijn een belangrijke functie van de Mealie API. Hiermee kunt u aangepaste json key/value paren maken binnen een recept om te verwijzen naar applicaties van 3e onderdelen. Je kunt deze sleutels gebruiken om informatie te bevatten om automatisering of aangepaste berichten te laten verzenden naar het gewenste apparaat.", + "api-extras-description": "Extra's bij recepten zijn een belangrijke functie van de Mealie API. Hiermee kun je aangepaste JSON key/value paren maken bij een recept en kun je naar verwijzen vanuit applicaties van derden. Je kunt deze sleutels gebruiken om extra informatie te bieden, bijvoorbeeld om automatisering aan te sturen of aangepaste berichten naar je gewenste apparaat te laten versturen.", "message-key": "recept -> bericht-sleutel", "parse": "Verwerk", "attach-images-hint": "Voeg afbeeldingen toe door ze te slepen en in de editor te plaatsen", diff --git a/frontend/lang/messages/no-NO.json b/frontend/lang/messages/no-NO.json index 7ae35fe6b6c8..dc07cf56f889 100644 --- a/frontend/lang/messages/no-NO.json +++ b/frontend/lang/messages/no-NO.json @@ -6,7 +6,7 @@ "api-port": "API-port", "application-mode": "Programmodus", "database-type": "Databasetype", - "database-url": "Databasens URL", + "database-url": "Database-URL", "default-group": "Standardgruppe", "demo": "Demo", "demo-status": "Demostatus", @@ -74,7 +74,7 @@ "when-a-user-in-your-group-creates-a-new-mealplan": "Når en bruker i gruppen din oppretter en ny måltidsplan", "shopping-list-events": "Handlelistehendelser", "cookbook-events": "Kokebokhendelser", - "tag-events": "Merk hendelser", + "tag-events": "Emneordhendelser", "category-events": "Kategorihendelser", "when-a-new-user-joins-your-group": "Når en ny bruker blir med i gruppen din", "recipe-events": "Oppskriftshendelser" @@ -93,7 +93,7 @@ "delete": "Slett", "disabled": "Deaktivert", "download": "Last ned", - "duplicate": "Duplisere", + "duplicate": "Dupliser", "edit": "Rediger", "enabled": "Aktivert", "exception": "Unntak", @@ -148,7 +148,7 @@ "status": "Status", "subject": "Emne", "submit": "Legg til", - "success-count": "Vellykket: {count}", + "success-count": "Suksess: {count}", "sunday": "Søndag", "templates": "Maler:", "test": "Test", @@ -164,7 +164,7 @@ "view": "Vis", "wednesday": "Onsdag", "yes": "Ja", - "foods": "Mat", + "foods": "Matvarer", "units": "Enheter", "back": "Tilbake", "next": "Neste", @@ -178,11 +178,11 @@ "menu": "Meny", "a-name-is-required": "Navn er påkrevd", "delete-with-name": "Slett {name}", - "confirm-delete-generic-with-name": "Er du sikker på at du vil slette {name}?", - "confirm-delete-own-admin-account": "Vær oppmerksom på at du holder på å slette din egen administrator-konto! Dette kan ikke angres og vil slette kontoen din permantent!", + "confirm-delete-generic-with-name": "Er du sikker på at du vil slette denne {name}?", + "confirm-delete-own-admin-account": "Vær oppmerksom på at du holder på å slette din egen administrator-konto! Dette kan ikke angres og vil slette kontoen din permanent!", "organizer": "Planlegger", "transfer": "Overfør", - "copy": "Kopier", + "copy": "Kopiér", "color": "Farge", "timestamp": "Tidsstempel", "last-made": "Sist laget", @@ -191,7 +191,7 @@ "clipboard-not-supported": "Utklippstavlen støttes ikke", "copied-to-clipboard": "Kopiert til utklippstavle", "your-browser-does-not-support-clipboard": "Nettleseren din støtter ikke kopiering til utklippstavle", - "copied-items-to-clipboard": "Ingen element kopiert til utklippstavlen. Ett element kopiert til utklippstavlen(e) {count} elementer til utklippstavlen", + "copied-items-to-clipboard": "Ingen elementer kopiert til utklippstavlen|Ett element kopiert til utklippstavlen|{count} elementer til kopiert til utklippstavlen", "actions": "Handlinger", "selected-count": "Valgt: {count}", "export-all": "Eksporter alle", @@ -202,7 +202,7 @@ }, "group": { "are-you-sure-you-want-to-delete-the-group": "Er du sikker på at du vil slette {groupName}?", - "cannot-delete-default-group": "Du kan ikke slette standardgruppen", + "cannot-delete-default-group": "Kan ikke slette standardgruppen", "cannot-delete-group-with-users": "Kan ikke slette gruppe med brukere", "confirm-group-deletion": "Bekreft sletting av gruppe", "create-group": "Opprett gruppe", @@ -214,15 +214,15 @@ "group-name": "Gruppenavn", "group-not-found": "Gruppe ikke funnet", "group-token": "Gruppe-token", - "group-with-value": "Gruppe ID: {groupID}", + "group-with-value": "Gruppe: {groupID}", "groups": "Grupper", "manage-groups": "Administrer grupper", "user-group": "Brukergruppe", "user-group-created": "Brukergruppe opprettet", - "user-group-creation-failed": "Opprett brukergruppe feilet", + "user-group-creation-failed": "Opprettelse av brukergruppe mislyktes", "settings": { "keep-my-recipes-private": "Hold mine oppskrifter privat", - "keep-my-recipes-private-description": "Setter gruppen din og alle oppskrifter som standard til private. Du kan alltid endre dette senere." + "keep-my-recipes-private-description": "Setter gruppen din og alle oppskrifter som standard til privat. Du kan alltids endre dette senere." }, "manage-members": "Administrer medlemmer", "manage-members-description": "Administrere rettighetene til medlemmene i dine grupper. {manage} gir brukeren tilgang til data-administrasjonssiden {invite} mulighet til å generere invitasjonslenker for andre brukere. Gruppeeiere kan ikke endre egne tillatelser.", @@ -237,15 +237,15 @@ "allow-users-outside-of-your-group-to-see-your-recipes": "Tillat brukere utenfor gruppen å se oppskriftene dine", "allow-users-outside-of-your-group-to-see-your-recipes-description": "Når aktivert kan du bruke en lenke for offentlig deling til å dele bestemte oppskrifter uten å autorisere brukeren. Når deaktivert kan du bare dele oppskrifter med brukere i gruppen din eller med en forhåndsgenerert privat link", "show-nutrition-information": "Vis ernæringsinformasjon", - "show-nutrition-information-description": "Når aktivert vil ernæringsinformasjonen bli vist på oppskriften hvis tilgjengelig. Hvis det ikke finnes noen ernæringsinformasjon tilgjengelig, vil ikke ernæringsinformasjonen vises.", + "show-nutrition-information-description": "Når aktivert vil ernæringsinformasjonen bli vist på oppskriften hvis tilgjengelig. Hvis det ikke finnes noen ernæringsinformasjon tilgjengelig vil ikke ernæringsinformasjonen vises", "show-recipe-assets": "Vis oppskriftsressurser", "show-recipe-assets-description": "Når aktivert, vil oppskriftsressurser bli vist på oppskriften hvis de er tilgjengelige", "default-to-landscape-view": "Standard liggende visning", "default-to-landscape-view-description": "Når aktivert, vil oppskriftsoverskriften vises i landskapsvisning", "disable-users-from-commenting-on-recipes": "Deaktiver brukere fra å kommentere på oppskrifter", "disable-users-from-commenting-on-recipes-description": "Skjuler kommentarfeltet på oppskriftssiden og deaktiverer kommentarer", - "disable-organizing-recipe-ingredients-by-units-and-food": "Deaktiver organisering av oppskriftsingredienser av enheter og mat", - "disable-organizing-recipe-ingredients-by-units-and-food-description": "Skjuler mat, enhet og beløp for ingredienser og behandler ingredienser som rene tekstfelt.", + "disable-organizing-recipe-ingredients-by-units-and-food": "Deaktiver organisering av oppskriftsingredienser ved enheter og matvarer", + "disable-organizing-recipe-ingredients-by-units-and-food-description": "Skjuler matvare-, enhet- og mengdefelt for ingredienser og behandler ingredienser som rene tekstfelt.", "general-preferences": "Generelle innstillinger", "group-recipe-preferences": "Innstillinger for gruppeoppskrift", "report": "Rapport", @@ -256,7 +256,7 @@ "group-id-value": "Gruppe-ID: {0}" }, "meal-plan": { - "create-a-new-meal-plan": "Lag en ny måltidsplan", + "create-a-new-meal-plan": "Opprett en ny måltidsplan", "dinner-this-week": "Middag denne uken", "dinner-today": "Middag idag", "dinner-tonight": "DAGENS MIDDAG", @@ -265,30 +265,30 @@ "group": "Gruppe (Beta)", "main": "Hovedrett", "meal-planner": "Planlegg måltid", - "meal-plans": "Måltidsplan", - "mealplan-categories": "MÅLTIDSPLAN KATEGORIER", + "meal-plans": "Måltidsplaner", + "mealplan-categories": "MÅLTIDSPLANKATEGORIER", "mealplan-created": "Måltidsplan opprettet", - "mealplan-creation-failed": "Opprettelse av måltidsplan feilet", + "mealplan-creation-failed": "Opprettelse av måltidsplan mislyktes", "mealplan-deleted": "Måltidsplan Slettet", - "mealplan-deletion-failed": "Sletting av måltidsplan feilet", - "mealplan-settings": "Måltidsplan Innstillinger", - "mealplan-update-failed": "Oppdatering av måltidsplan feilet", - "mealplan-updated": "Måltidsplan Oppdatert", + "mealplan-deletion-failed": "Sletting av måltidsplan mislyktes", + "mealplan-settings": "Måltidsplaninnstillinger", + "mealplan-update-failed": "Oppdatering av måltidsplan mislyktes", + "mealplan-updated": "Måltidsplan oppdatert", "no-meal-plan-defined-yet": "Ingen måltidsplan er definert ennå", "no-meal-planned-for-today": "Ingen måltid planlagt i dag", "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Kun oppskrifter med disse kategoriene vil bli brukt i måltidsplaner", "planner": "Planlegger", "quick-week": "Hurtigplan", - "side": "Siderett", - "sides": "Sideretter", - "start-date": "Start Dato", + "side": "Tilbehør", + "sides": "Tilbehør", + "start-date": "Startdato", "rule-day": "Regeldag", "meal-type": "Type måltid", "breakfast": "Frokost", "lunch": "Lunsj", "dinner": "Middag", - "type-any": "Hva som helst", - "day-any": "Hvilken som helst", + "type-any": "Enhver", + "day-any": "Enhver", "editor": "Redigering", "meal-recipe": "Måltid oppskrift", "meal-title": "Navn på måltid", @@ -304,8 +304,8 @@ "for-type-meal-types": "for {0} måltidstyper", "meal-plan-rules": "Regler for måltidsplan", "new-rule": "Ny regel", - "meal-plan-rules-description": "Du kan lage regler for automatisk valg av oppskrifter for dine måltidsplaner. Disse reglene brukes av tjeneren til å bestemme hvilke tilfeldige mengder av oppskrifter som skal velges fra ved oppskrifter til å lage måltider. Merk at hvis reglene har samme dag/type-begrensninger, vil kategoriene i reglene bli slått sammen. I praksis er det unødvendig å opprette duplikatregler, men det er mulig å gjøre det.", - "new-rule-description": "Ved etablering av en ny regel for en måltidsplan, kan du begrense regelen til å gjelde for en bestemt ukedag og/eller en bestemt type måltid. For å få en regel for alle dager eller alle måltider kan du fastsette regelen til \"Alle\" som gjelder for alle mulige verdier for dag- og/eller måltidstypen.", + "meal-plan-rules-description": "Du kan opprette regler for automatisk valg av oppskrifter for dine måltidsplaner. Disse reglene brukes av serveren til å bestemme det tilfeldige utvalget av oppskrifter som skal velges fra når det opprettes måltidsplaner. Vær oppmerksom på at hvis regler har de samme begrensningene for dag/type, vil kategoriene til reglene bli slått sammen. I praksis er det unødvendig å opprette duplikater av regler, men det er mulig å gjøre det.", + "new-rule-description": "Ved opprettelse av en ny regel for en måltidsplan kan du begrense regelen til å gjelde for en bestemt ukedag og/eller en bestemt type måltid. For å ta i bruk en regen alle dager eller alle måltider kan du sette regelen til \"Enhver\" som gjelder for alle mulige verdier for dag- og/eller måltidstyper.", "recipe-rules": "Oppskrift Regler", "applies-to-all-days": "Gjelder for alle dager", "applies-on-days": "Gjelder på {0}s", @@ -321,23 +321,23 @@ "chowdown": { "description": "Overfør data fra Chowdown", "description-long": "Mealie nativt støtter chowdown depotet. Last ned kodelageret som en .zip-fil og last det opp nedenfor.", - "title": "Hive i seg" + "title": "Chowdown" }, "nextcloud": { "description": "Migrer data fra en Nextcloud Cookbook instans", "description-long": "Nextcloud oppskrifter kan importeres fra en zip-fil som inneholder dataene lagret i Nextcloud. Se mappestrukturen for eksempel nedenfor for å sikre at oppskriftene kan importeres.", - "title": "Nextcloud kokebok" + "title": "Nextcloud Cookbook" }, "copymethat": { "description-long": "Mealie kan importere oppskrifter fra Copy Me. Eksporter oppskrifter i HTML-format, deretter last opp .zip-filen under.", "title": "Copy Me That oppskriftsbehandlingen" }, "paprika": { - "description-long": "Mealie kan importere oppskrifter fra Paprika. Eksporter oppskriftene fra paprika, gi den et nytt navn til .zip-eksportutvidelsen og last den opp nedenfor.", + "description-long": "Mealie kan importere oppskrifter fra Paprika. Eksporter oppskriftene fra Paprika, endre filnavnutvidelsen til .zip og last den opp nedenfor.", "title": "Paprika Oppskriftsbehandler" }, "mealie-pre-v1": { - "description-long": "Mealie kan importere oppskrifter fra Mealie-appen fra versjon v1.0. Eksporter oppskriftene fra din gamle versjon, og last opp zip-filen under. Merk at bare oppskrifter kan importeres fra eksporten.", + "description-long": "Mealie kan importere oppskrifter fra Mealie fra versjoner eldre enn v1.0. Eksporter oppskriftene fra din gamle versjon og last opp zip-filen under. Merk at bare oppskrifter kan importeres fra eksporten.", "title": "Mealie Pre v1.0" }, "tandoor": { @@ -345,40 +345,40 @@ "title": "Tandoor oppskrifter" }, "recipe-data-migrations": "Oppskriftsmigrering", - "recipe-data-migrations-explanation": "Oppskrifter kan overføres fra et annet støttet program til Mealie. Dette er en flott måte å komme i gang med Mealie.", + "recipe-data-migrations-explanation": "Oppskrifter kan overføres fra et annet støttet program til Mealie. Dette er en flott måte å komme i gang med Mealie på.", "choose-migration-type": "Velg migrasjonstype", "tag-all-recipes": "Merk alle oppskrifter med {tag-name}-emneord", "nextcloud-text": "Nextcloud oppskrifter kan importeres fra en zip-fil som inneholder dataene lagret i Nextcloud. Se mappestrukturen for eksempel nedenfor for å sikre at oppskriftene kan importeres.", "chowdown-text": "Mealie nativt støtter chowdown depotet. Last ned kodelageret som en .zip-fil og last det opp nedenfor", "recipe-1": "Oppskrift 1", "recipe-2": "Oppskrift 2", - "paprika-text": "Mealie kan importere oppskrifter fra Paprika. Eksporter oppskriftene fra paprika, gi den et nytt navn til .zip-eksportutvidelsen og last den opp nedenfor.", - "mealie-text": "Mealie kan importere oppskrifter fra Mealie-appen fra versjoner før v1.0. Eksporter oppskriftene fra din gamle versjon, og last opp zip-filen under. Merk at bare oppskrifter kan importeres fra eksporten.", + "paprika-text": "Mealie kan importere oppskrifter fra Paprika. Eksporter oppskriftene fra Paprika, endre filnavnutvidelsen til .zip og last den opp nedenfor.", + "mealie-text": "Mealie kan importere oppskrifter fra Mealie fra versjoner eldre enn v1.0. Eksporter oppskriftene fra din gamle versjon og last opp zip-filen under. Merk at bare oppskrifter kan importeres fra eksporten.", "plantoeat": { "title": "Planlegg å spise", "description-long": "Mealie kan importere oppskrifter fra plan å spise." } }, "new-recipe": { - "bulk-add": "Opprett flere", - "error-details": "Bare nettsteder som inneholder ld+json eller mikrodata kan importeres av Mealie. De største oppskriftsnettsteder støtter denne datastrukturen. Dersom nettstedet ditt ikke kan importeres, men det er json-data i loggen, må du sende inn et github-problem med nettadressen og data.", - "error-title": "Ser ut som vi ikke kunne finne noe", + "bulk-add": "Legg til flere", + "error-details": "Bare nettsteder som inneholder ld+json eller mikrodata kan importeres av Mealie. De største oppskriftsnettstedene støtter denne datastrukturen. Dersom nettstedet ditt ikke kan importeres, men det er json-data i loggen, må du rapportere et GitHub-problem med nettadressen og data.", + "error-title": "Ser ut til at ingenting ble funnet", "from-url": "Importer en oppskrift", - "github-issues": "GitHub problemer", - "google-ld-json-info": "Google ld+json Info", - "must-be-a-valid-url": "Må være en korrekt URL", + "github-issues": "GitHub-problemer", + "google-ld-json-info": "Google ld+json-informasjon", + "must-be-a-valid-url": "Må være en gyldig URL-adresse", "paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Lim inn oppskriftsdataene. Hver linje blir behandlet som et element i en liste", - "recipe-markup-specification": "Spesifikasjon av oppmåling", - "recipe-url": "Oppskrift URL", + "recipe-markup-specification": "Spesifikasjon for oppskriftsmerking", + "recipe-url": "Oppskrifts-URL", "upload-a-recipe": "Last opp oppskrift", "upload-individual-zip-file": "Last opp en individuell .zip-fil eksportert fra en annen Mealie-instans.", - "url-form-hint": "Kopier og lim inn en lenke fra ditt favoritt-oppskriftsnettsted", + "url-form-hint": "Kopier og lim inn en link fra favorittoppskriftsnettstedet ditt", "view-scraped-data": "Vis skrapte data", "trim-whitespace-description": "Trim innledende og etterfølgende mellomrom i tillegg til tomme linjer", "trim-prefix-description": "Fjern første tegn fra hver linje", "split-by-numbered-line-description": "Forsøk å dele et avsnitt ved å matche mønsteret '1)' eller '1.'", "import-by-url": "Importer en oppskrift via URL", - "create-manually": "Lag en oppskrift manuelt", + "create-manually": "Opprett en oppskrift manuelt", "make-recipe-image": "Bruk dette som oppskriftsbilde" }, "page": { @@ -386,12 +386,12 @@ "all-recipes": "Alle oppskrifter", "new-page-created": "Ny side opprettet", "page": "Side", - "page-creation-failed": "Sideopprettelse feilet", + "page-creation-failed": "Sideopprettelse mislyktes", "page-deleted": "Side slettet", "page-deletion-failed": "Sletting av siden mislyktes", "page-update-failed": "Oppdatering av siden mislyktes", "page-updated": "Side oppdatert", - "pages-update-failed": "Oppdatering av siden mislyktes", + "pages-update-failed": "Oppdatering av sidene mislyktes", "pages-updated": "Sider oppdatert", "404-not-found": "404 Finner ikke siden", "an-error-occurred": "En feil oppstod" @@ -399,7 +399,7 @@ "recipe": { "add-key": "Legg til nøkkel", "add-to-favorites": "Legg til i favoritter", - "api-extras": "API Tillegg", + "api-extras": "API-tillegg", "calories": "Kalorier", "calories-suffix": "kalorier", "carbohydrate-content": "Karbohydrater", @@ -410,11 +410,11 @@ "delete-confirmation": "Er du sikker på at du vil slette denne oppskriften?", "delete-recipe": "Slett oppskrift", "description": "Beskrivelse", - "disable-amount": "Deaktiver Ingrediens-mengde", + "disable-amount": "Deaktiver ingrediensmengde", "disable-comments": "Deaktiver kommentarer", "duplicate": "Duplikat-oppskrift", "duplicate-name": "Navn på den nye oppskriften", - "edit-scale": "Rediger Skala", + "edit-scale": "Rediger skala", "fat-content": "Fett", "fiber-content": "Kostfiber", "grams": "gram", @@ -424,25 +424,25 @@ "insert-section": "Sett inn avsnitt", "instructions": "Instruksjoner", "key-name-required": "Nøkkelnavn påkrevd", - "landscape-view-coming-soon": "Landskapsvisning (Kommer snart)", + "landscape-view-coming-soon": "Landskapsvisning", "milligrams": "mg", "new-key-name": "Nytt nøkkelnavn", "no-white-space-allowed": "Ingen mellomrom tillatt", "note": "Notat", - "nutrition": "Næring", + "nutrition": "Ernæring", "object-key": "Objektnøkkel", - "object-value": "Objekt verdi", + "object-value": "Objektverdi", "original-url": "Opprinnlig URL", "perform-time": "Koketid", - "prep-time": "Forberedelser tid", + "prep-time": "Forberedelsestid", "protein-content": "Protein", "public-recipe": "Offentlig oppskrift", "recipe-created": "Oppskrift opprettet", - "recipe-creation-failed": "Opprettelse av oppskrift feilet", + "recipe-creation-failed": "Opprettelse av oppskrift mislyktes", "recipe-deleted": "Oppskrift slettet", "recipe-image": "Oppskriftsbilde", "recipe-image-updated": "Oppskriftsbilde oppdatert", - "recipe-name": "Oppskriftsnavn", + "recipe-name": "Navn på oppskrift", "recipe-settings": "Oppskriftsinnstillinger", "recipe-update-failed": "Oppdatering av oppskrift mislyktes", "recipe-updated": "Oppskrift oppdatert", @@ -457,45 +457,45 @@ "step-index": "Steg: {step}", "sugar-content": "Sukker", "title": "Tittel", - "total-time": "Total Tid", + "total-time": "Total tid", "unable-to-delete-recipe": "Kan ikke slette oppskrift", - "no-recipe": "Ingen oppskrifter", - "locked-by-owner": "Låst av Eier", + "no-recipe": "Ingen oppskrift", + "locked-by-owner": "Låst av eier", "join-the-conversation": "Delta i samtalen", - "add-recipe-to-mealplan": "Legg til oppskrift til måltidsplan", - "entry-type": "Enhetstype", - "date-format-hint": "DD/MM/ÅÅÅÅ format", + "add-recipe-to-mealplan": "Legg til oppskrift i måltidsplan", + "entry-type": "Oppføringstype", + "date-format-hint": "MM/DD/ÅÅÅÅ-format", "date-format-hint-yyyy-mm-dd": "ÅÅÅÅ-MM-DD format", "add-to-list": "Legg til i liste", - "add-to-plan": "Legg til i Plan", + "add-to-plan": "Legg til i plan", "add-to-timeline": "Legg til på tidslinjen", - "recipe-added-to-list": "Oppskriften er lagt til i listen", + "recipe-added-to-list": "Oppskrift er lagt til i liste", "recipes-added-to-list": "Oppskrifter lagt til listen", - "recipe-added-to-mealplan": "Oppskriften er lagt til i listen", + "recipe-added-to-mealplan": "Oppskrift er lagt til i måltidsplan", "failed-to-add-recipes-to-list": "Klarte ikke å legge til oppskrift i listen", - "failed-to-add-recipe-to-mealplan": "Klarte ikke å legge til oppskrift på måltidsplan", - "yield": "Utbytte", + "failed-to-add-recipe-to-mealplan": "Klarte ikke å legge til oppskrift i måltidsplan", + "yield": "Gir", "quantity": "Antall", - "choose-unit": "Velg en enhet", - "press-enter-to-create": "Trykk Enter for å legge til", + "choose-unit": "Velg enhet", + "press-enter-to-create": "Trykk Enter for å opprette", "choose-food": "Velg matvarer", "notes": "Notater", "toggle-section": "Legg til seksjon", "see-original-text": "Se opprinnelig tekst", "original-text-with-value": "Opprinnelig tekst: {originalText}", - "ingredient-linker": "Ingredienskobling", + "ingredient-linker": "Ingredienskobler", "linked-to-other-step": "Koblet til et annet trinn", "auto": "Automatisk", - "cook-mode": "Tilbered modus", - "link-ingredients": "Lenke til ingredienser", - "merge-above": "Slå sammen over", - "reset-scale": "Nullstill skalaen", - "decrease-scale-label": "Reduser skalaen med 1", - "increase-scale-label": "Reduser skalaen med 1", + "cook-mode": "Tilberedelsesmodus", + "link-ingredients": "Koble på ingredienser", + "merge-above": "Slå sammen med steget over", + "reset-scale": "Nullstill skala", + "decrease-scale-label": "Reduser skala med 1", + "increase-scale-label": "Øk skala med 1", "locked": "Låst", "public-link": "Offentlig lenke", "timer": { - "kitchen-timer": "Kjøkken timer", + "kitchen-timer": "Kjøkkentimer", "start-timer": "Start nedtelling", "pause-timer": "Pause nedtellingen", "resume-timer": "Fortsett nedtellingen", @@ -510,25 +510,25 @@ "how-did-it-turn-out": "Hvordan ble det?", "user-made-this": "{user} har lagd denne", "last-made-date": "Sist lagd {date}", - "api-extras-description": "Oppskrifter er en viktig funksjon i Mealie API. De lar deg opprette egendefinerte json-nøkkel/verdi-par for å referere fra tredje part-programmer. Du kan bruke disse nøklene for å inneholde informasjon som skal utløse automatisering eller tilpassede meldinger til din ønskede enhet.", + "api-extras-description": "Ekstramaterialer til oppskrifter er en viktig funksjon i Mealie API-en. De lar deg opprette egendefinerte JSON-nøkkel/verdi-par innenfor en oppskrift for å referere fra tredjepartsapplikasjoner. Du kan bruke disse nøklene til å gi informasjon for eksempel for å utløse automatiseringer eller egendefinerte meldinger som skal videreformidles til ønsket enhet.", "message-key": "Meldingsnøkkel", "parse": "Del opp", "attach-images-hint": "Legg til bilder ved å dra og slippe dem i editoren", "drop-image": "Slipp bilde", "enable-ingredient-amounts-to-use-this-feature": "Aktiver ingrediensmengder for å bruke denne funksjonen", - "recipes-with-units-or-foods-defined-cannot-be-parsed": "Oppskrifter med enheter eller matvarer som er definert, kan ikke leses.", + "recipes-with-units-or-foods-defined-cannot-be-parsed": "Oppskrifter med enheter eller matvarer som er definert kan ikke tolkes.", "parse-ingredients": "Analyser ingredienser", "edit-markdown": "Rediger Markdown", "recipe-creation": "Opprett oppskrift", - "select-one-of-the-various-ways-to-create-a-recipe": "Velg en av de ulike måtene å lage en oppskrift", + "select-one-of-the-various-ways-to-create-a-recipe": "Velg en av de ulike måtene å opprette en oppskrift", "looking-for-migrations": "Ser du etter migrasjoner?", "import-with-url": "Importer med URL", - "create-recipe": "Lag oppskrift", + "create-recipe": "Opprett oppskrift", "import-with-zip": "Importer med .zip", - "create-recipe-from-an-image": "Lag oppskrift fra et bilde", + "create-recipe-from-an-image": "Opprett oppskrift fra et bilde", "bulk-url-import": "Importer flere URL'er", "debug-scraper": "Feilsøk skraper", - "create-a-recipe-by-providing-the-name-all-recipes-must-have-unique-names": "Lag en oppskrift ved å gi navnet. Alle oppskrifter må ha unike navn.", + "create-a-recipe-by-providing-the-name-all-recipes-must-have-unique-names": "Opprett en oppskrift ved å angi navnet. Alle oppskrifter må ha unike navn.", "new-recipe-names-must-be-unique": "Oppskriftsnavn må være unike", "scrape-recipe": "Hent oppskrift", "scrape-recipe-description": "Scrape en oppskrift ved url. Angi Url-adressen for nettstedet du vil skrape, Og Mealie vil forsøke å skrape oppskriften fra det området og legge den til i samlingen din.", @@ -547,7 +547,7 @@ "bulk-import-process-has-failed": "Masseimport mislyktes", "report-deletion-failed": "Raport sletting feilet", "recipe-debugger": "Oppskrift Feilsøking", - "recipe-debugger-description": "Hent URL-adressen til oppskriften du vil feilsøke, og lim den inn her. URL-adressen vil bli skrapt av oppskrifter og resultatene vil bli vist. Hvis du ikke ser noen data returnert, er ikke nettstedet du prøver å scrape støttet av Mealie eller scraper biblioteket.", + "recipe-debugger-description": "Hent URL-adressen til oppskriften du vil feilsøke og lim den inn her. URL-adressen vil bli skrapt av oppskrifts-skraperen og resultatene vil bli vist. Hvis du ikke ser noen data returnert, er ikke nettstedet du prøver å skrape støttet av Mealie eller skraper-biblioteket.", "debug": "Feilsøk", "tree-view": "Trevisning", "recipe-yield": "Oppskrift uttak", @@ -559,15 +559,15 @@ "search": { "advanced-search": "Avansert søk", "and": "og", - "exclude": "Utelate", + "exclude": "Ekskluder", "include": "Inkluder", - "max-results": "Maks resultater", + "max-results": "Maks antall resultater", "or": "Eller", - "has-any": "Har noen", + "has-any": "Har enhver", "has-all": "Har alle", "results": "Resultater", "search": "Søk", - "search-mealie": "Søke i Mealie (trykk /)", + "search-mealie": "Søk i Mealie (trykk /)", "search-placeholder": "Søk...", "tag-filter": "Emneordfilter", "search-hint": "Trykk på '/'", @@ -577,20 +577,20 @@ }, "settings": { "add-a-new-theme": "Legg til nytt tema", - "admin-settings": "Administrator innstillinger", + "admin-settings": "Administratorinnstillinger", "backup": { "backup-created": "Sikkerhetskopiering fullført", - "backup-created-at-response-export_path": "Sikkerhetskopi opprettet på {path}", + "backup-created-at-response-export_path": "Sikkerhetskopi opprettet i {path}", "backup-deleted": "Sikkerhetskopi slettet", "restore-success": "Gjenopprettingen var vellykket", "backup-tag": "Emneord for sikkerhetskopi", - "create-heading": "Opprett sikkerhetskopi", - "delete-backup": "Slett Sikkerhetskopi", - "error-creating-backup-see-log-file": "Feil ved oppretting av sikkerhetskopi. Se loggfilen", + "create-heading": "Opprett en sikkerhetskopi", + "delete-backup": "Slett sikkerhetskopi", + "error-creating-backup-see-log-file": "Feil ved oppretting av sikkerhetskopi. Se loggfil", "full-backup": "Fullstendig sikkerhetskopi", - "import-summary": "Importer Sammendrag", + "import-summary": "Importer sammendrag", "partial-backup": "Delvis sikkerhetskopi", - "unable-to-delete-backup": "Kan ikke slette sikkerhetskopien.", + "unable-to-delete-backup": "Kan ikke slette sikkerhetskopi.", "experimental-description": "Sikkerhetskopier er komplette øyeblikksbilder av databasen og datamappen til nettstedet. Dette inkluderer all data og kan ikke settes til å ekskludere delsett av data. Du kan tenke på dette som et øyeblikksbilde av Mealie på et bestemt tidspunkt. Disse fungerer som en databasesystemuavhengig måte å eksportere og importere data på, eller sikkerhetskopiere nettstedet til en ekstern plassering.", "backup-restore": "Sikkerhetskopiering / gjenoppretting", "back-restore-description": "Gjenoppretting av denne sikkerhetskopien vil overskrive alle gjeldende data i databasen og i datamappen og erstatte dem med innholdet i denne sikkerhetskopien. {cannot-be-undone} Hvis gjenopprettingen er vellykket, vil du bli logget ut.", @@ -610,10 +610,10 @@ "group-settings-updated": "Gruppeinnstillinger oppdatert", "homepage": { "all-categories": "Alle kategorier", - "card-per-section": "Kort Per seksjon", - "home-page": "Hjemmeside", - "home-page-sections": "Hovedside-seksjoner", - "show-recent": "Vis Nylige" + "card-per-section": "Kort per seksjon", + "home-page": "Hovedside", + "home-page-sections": "Hovedsideseksjoner", + "show-recent": "Vis nylige" }, "language": "Språk", "latest": "Siste", @@ -621,12 +621,12 @@ "locale-settings": "Språkinnstillinger", "migrations": "Overføringer", "new-page": "Ny side", - "notify": "Varsling", + "notify": "Varsle", "organize": "Organiser", "page-name": "Sidenavn", "pages": "Sider", "profile": "Profil", - "remove-existing-entries-matching-imported-entries": "Fjern eksisterende oppføringer som samsvarer med de importerte", + "remove-existing-entries-matching-imported-entries": "Fjern eksisterende oppføringer som samsvarer med de importerte oppføringene", "set-new-time": "Angi ny tid", "settings-update-failed": "Oppdatering av innstillinger mislyktes", "settings-updated": "Innstillinger oppdatert", @@ -636,7 +636,7 @@ "dark": "Mørk", "default-to-system": "Standard", "error": "Feil", - "error-creating-theme-see-log-file": "Feil under oppretting av tema. Se loggfilen.", + "error-creating-theme-see-log-file": "Feil under oppretting av tema. Se loggfil.", "error-deleting-theme": "Feil ved sletting av tema", "error-updating-theme": "Feil ved oppdatering av tema", "info": "Informasjon", @@ -648,7 +648,7 @@ "switch-to-light-mode": "Bytt til lys modus", "theme-deleted": "Tema slettet", "theme-name": "Temanavn", - "theme-name-is-required": "Navn er påkrevd.", + "theme-name-is-required": "Navn på tema er påkrevd.", "theme-saved": "Tema lagret", "theme-updated": "Tema oppdatert", "warning": "Advarsel", @@ -659,7 +659,7 @@ "active-tokens": "AKTIVE TOKENS", "api-token": "API-token", "api-tokens": "API-tokener", - "copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Kopier dette tokenet til bruk med en ekstern applikasjon. Dette tokenet vil ikke kunne ses igjen.", + "copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Kopier dette tokenet til bruk med et eksternt program. Dette tokenet vil ikke kunne ses igjen.", "create-an-api-token": "Opprett et API-token", "token-name": "Tokennavn", "generate": "Opprett", @@ -670,7 +670,7 @@ "bulk-assign": "Tilordne flere", "new-name": "Nytt navn", "no-unused-items": "Ingen ubrukte elementer", - "recipes-affected": "Ingen Oppskrifter påvirket|En oppskrift påvirket|{count} Oppskrifter påvirket", + "recipes-affected": "Ingen oppskrifter påvirket|En oppskrift påvirket|{count} Oppskrifter påvirket", "remove-unused": "Fjern ubrukte", "title-case-all": "Stor forbokstav på alle", "toolbox": "Verktøykasse", @@ -678,7 +678,7 @@ }, "webhooks": { "test-webhooks": "Test Webhooks", - "the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "URL-adressene listet nedenfor vil motta webhooks som inneholder oppskriftsdataene for måltidsplanen på den planlagte dagen. For tiden vil Webhooks kjøre på", + "the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "URL-adressene som er oppført nedenfor vil motta webhooks med oppskriftsdata for måltidsplanen på dens planlagte dag. For øyeblikket vil webhooks utføres på", "webhook-url": "Webhook-URL", "webhooks-caps": "WEBHOOKS", "webhooks": "Webhooks", @@ -686,7 +686,7 @@ "description": "Webhooks definert nedenfor vil utføres når et måltid defineres for dagen. På det planlagte tidspunktet blir webhook sendt med data fra oppskriften som er planlagt for dagen. Merke at av tidspunktet ikke er nøyaktig, webhooks utføres med et intervall på 5 minutter, dette betyr at webhooks utføres innen +/- 5 minutter etter planlagt tidspunkt." }, "bug-report": "Feilrapport", - "bug-report-information": "Bruk denne informasjonen til å rapportere en feil. Gi detaljer om feilen din til utviklere er den beste måten å få problemer på en rask løsning.", + "bug-report-information": "Bruk denne informasjonen til å rapportere en feil. Å gi detaljer om installasjonen din til utviklerne er den beste måten å få løst problemene dine raskt på.", "tracker": "Sporingsagent", "configuration": "Konfigurasjon", "docker-volume": "Docker volum", @@ -707,13 +707,13 @@ "application-version-error-text": "Din nåværende versjon ({0}) samsvarer ikke med den nyeste utgivelsen. Vurder å oppdatere til siste versjon ({1}).", "mealie-is-up-to-date": "Mealie er oppdatert", "secure-site": "Sikkert nettsted", - "secure-site-error-text": "Host via localhost eller sikre med https. Utklippstavle og nettleser-APIer virker kanskje ikke.", + "secure-site-error-text": "Server via localhost eller sikre med https. Utklippstavle og ytterlige nettleser-API-er vil muligens ikke fungere.", "secure-site-success-text": "Tjenesten er tilgjengelig på localhost eller https", "server-side-base-url": "Serverens sidebase URL", - "server-side-base-url-error-text": "`BASE_URL` er fortsatt satt til standardverdien på API Serveren. Dette kan føre til problemer med varslingslenker generert på serveren for e-post, osv.", + "server-side-base-url-error-text": "`BASE_URL` er fortsatt standardverdien på API-serveren. Dette vil forårsake problemer med varslingslenker som genereres på serveren for e-post osv.", "server-side-base-url-success-text": "Serverside-URL samsvarer ikke med standard", "ldap-ready": "LDAP klar", - "ldap-ready-error-text": "Ikke alle LDAP-verdier er konfigurert. Dette kan ignoreres hvis du ikke bruker LDAP til Autentisering.", + "ldap-ready-error-text": "Ikke alle LDAP-verdier er konfigurert. Dette kan ignoreres hvis du ikke bruker LDAP-autentisering.", "ldap-ready-success-text": "Alle obligratoriske LDAP-variabler er satt.", "build": "Bygg", "recipe-scraper-version": "OppskriftsScraper versjon" @@ -721,23 +721,23 @@ "shopping-list": { "all-lists": "Alle lister", "create-shopping-list": "Opprett handleliste", - "from-recipe": "Fra Oppskrift", + "from-recipe": "Fra oppskrift", "list-name": "Listenavn", "new-list": "Ny liste", - "quantity": "Mengde: {0}", + "quantity": "Antall: {0}", "shopping-list": "Handleliste", "shopping-lists": "Handlelister", - "food": "Mat", + "food": "Matvare", "note": "Notat", "label": "Etikett", - "linked-item-warning": "Dette elementet er knyttet til en eller flere oppskrifter. Hvis du justerer enhetene, kan dette medføre uventede resultater når du legger til eller fjerner oppskrifter fra denne listen.", - "toggle-food": "Vis/Skjul mat", + "linked-item-warning": "Dette elementet er koblet til én eller flere oppskrifter. Å endre enheter eller matvarer vil føre til uventede resultater når oppskriften legges til eller fjernes fra denne listen.", + "toggle-food": "Vis/skjul matvare", "manage-labels": "Administrer etiketter", "are-you-sure-you-want-to-delete-this-item": "Er du sikker på at du vil slette dette elementet?", "copy-as-text": "Kopier som tekst", "copy-as-markdown": "Kopier som Markdown", "delete-checked": "Slett avkrysset", - "toggle-label-sort": "Veksle etikettsortering", + "toggle-label-sort": "Bytt etikettsortering", "reorder-labels": "Omorganiser etiketter", "uncheck-all-items": "Fjern merking av alle elementer", "check-all-items": "Velg alle elementer", @@ -747,32 +747,32 @@ "completed-on": "Fullført på {date}" }, "sidebar": { - "all-recipes": "Oppskrifter", + "all-recipes": "Alle oppskrifter", "backups": "Sikkerhetskopier", "categories": "Kategorier", "cookbooks": "Kokebøker", "dashboard": "Kontrollpanel", "home-page": "Hovedside", - "manage-users": "Brukere", + "manage-users": "Administrer brukere", "migrations": "Overføringer", "profile": "Profil", "search": "Søk", - "site-settings": "Innstillinger", + "site-settings": "Sideinnstillinger", "tags": "Emneord", - "toolbox": "Verktøy", + "toolbox": "Verktøykasse", "language": "Språk", "maintenance": "Vedlikehold", "background-tasks": "Bakgrunnsoppgaver", "parser": "Parser", "developer": "Utvikler", "cookbook": "Kokebok", - "create-cookbook": "Lag en ny kokebok" + "create-cookbook": "Opprett en ny kokebok" }, "signup": { - "error-signing-up": "Feil under pålogging", + "error-signing-up": "Feil ved registrering", "sign-up": "Registrer deg", "sign-up-link-created": "Registreringslenke opprettet", - "sign-up-link-creation-failed": "Kunne ikke opprette registreringslenke", + "sign-up-link-creation-failed": "Opprettelse av registreringslenke mislyktes", "sign-up-links": "Registreringslenker", "sign-up-token-deleted": "Registreringstoken slettet", "sign-up-token-deletion-failed": "Sletting av registreringstoken mislyktes", @@ -787,46 +787,46 @@ "tag-updated": "Emneord oppdatert", "tags": "Emneord", "untagged-count": "Umerkede {count}", - "create-a-tag": "Lag et emneord", + "create-a-tag": "Opprett et emneord", "tag-name": "Navn på emneord" }, "tool": { - "tools": "Kjøkkenutstyr", + "tools": "Utstyr", "on-hand": "Tillgjengelig", - "create-a-tool": "Lag kjøkkenutstyr", - "tool-name": "Navn på kjøkkenutstyr", - "create-new-tool": "Opprett nytt kjøkkenutstyr", + "create-a-tool": "Opprett utstyr", + "tool-name": "Navn på utstyr", + "create-new-tool": "Opprett nytt utstyr", "on-hand-checkbox-label": "Vis som tilgjengelig (avmerket)", - "required-tools": "Påkrevd kjøkkenutstyr" + "required-tools": "Påkrevd utstyr" }, "user": { "admin": "Administrator", - "are-you-sure-you-want-to-delete-the-link": "Er du sikker på at du vil slette {link}?", + "are-you-sure-you-want-to-delete-the-link": "Er du sikker på at du vil slette lenken {link}?", "are-you-sure-you-want-to-delete-the-user": "Er du sikker på at du vil slette brukeren {activeName} ID: {activeId}?", "auth-method": "Autentisering metode", - "confirm-link-deletion": "Bekreft sletting", + "confirm-link-deletion": "Bekreft sletting av lenke", "confirm-password": "Bekreft passord", "confirm-user-deletion": "Bekreft sletting av bruker", "could-not-validate-credentials": "Kunne ikke validere påloggingsinformasjon", - "create-link": "Opprette link", + "create-link": "Opprett link", "create-user": "Opprett bruker", "current-password": "Gjeldende passord", "e-mail-must-be-valid": "E-post må være gyldig", - "edit-user": "Rediger Bruker", + "edit-user": "Rediger bruker", "email": "E-post", "error-cannot-delete-super-user": "Feil! Kan ikke slette superbruker", "existing-password-does-not-match": "Eksisterende passord samsvarer ikke", "full-name": "Fullt navn", "generate-password-reset-link": "Generer kobling for tilbakestilling av passord", "invite-only": "Kun inviterte", - "link-id": "Link-ID", + "link-id": "Lenke-ID", "link-name": "Lenkenavn", "login": "Logg på", "logout": "Logg ut", - "manage-users": "Administrere brukere", + "manage-users": "Administrer brukere", "new-password": "Nytt passord", "new-user": "Ny bruker", - "password-has-been-reset-to-the-default-password": "Passordet er blitt tilbakestilt til standard passord", + "password-has-been-reset-to-the-default-password": "Passordet har blitt tilbakestilt til standardpassordet", "password-must-match": "Passordene må samsvare", "password-reset-failed": "Nullstilling av passord mislyktes", "password-updated": "Passord oppdatert", @@ -836,7 +836,7 @@ "register": "Registrér", "reset-password": "Tilbakestill passord", "sign-in": "Logg inn", - "total-mealplans": "Antall Oppskrifter", + "total-mealplans": "Totalt antall måltidsplaner", "total-users": "Totalt antall brukere", "upload-photo": "Last opp bilde", "use-8-characters-or-more-for-your-password": "Bruk 8 tegn eller mer for ditt passord", @@ -848,7 +848,7 @@ "user-password": "Brukerpassord", "user-successfully-logged-in": "Innlogging vellykket", "user-update-failed": "Brukeroppdatering mislyktes", - "user-updated": "Oppdatert bruker", + "user-updated": "Bruker oppdatert", "user": "Bruker", "username": "Brukernavn", "users-header": "BRUKERE", @@ -877,7 +877,7 @@ "reset-locked-users": "Tilbakestille låste brukere", "admin-user-creation": "Admin bruker oppretting", "admin-user-management": "Admin User Management", - "user-details": "Bruker detaljer", + "user-details": "Brukerdetaljer", "user-name": "Brukernavn", "authentication-method": "Autentiseringsmetode", "authentication-method-hint": "This specifies how a user will authenticate with Mealie. If you're not sure, choose 'Mealie", @@ -896,28 +896,28 @@ "language-dialog": { "translated": "oversatt", "choose-language": "Velg språk", - "select-description": "Velg språk for Mealie brukergrensesnittet. Innstillingen gjelder bare for deg, ikke andre brukere.", - "how-to-contribute-description": "Er noe ikke oversatt ennå, feil oversatt, eller ditt språk mangler i listen? {read-the-docs-link} hvordan bidra!", + "select-description": "Velg språk for Mealie-brukergrensesnittet. Innstillingen gjelder bare for deg, ikke andre brukere.", + "how-to-contribute-description": "Er det noe som ikke er oversatt, noe som er oversatt feil, eller mangler ditt språk i listen? {read-the-docs-link} på hvordan du kan bidra!", "read-the-docs": "Les dokumentasjonen" }, "data-pages": { "foods": { - "merge-dialog-text": "Ved å kombinere valgte matvarer, vil de bli slått sammen til en matvare. Første matvaren vil bli slettet, og alle referanser til denne, vil bli oppdatert til å peke til den nye matvaren.", + "merge-dialog-text": "Ved å kombinere de valgte matvarene, vil de bli slått sammen til én matvare. Den første matvaren vil bli slettet, og alle referanser til denne vil bli oppdatert til å peke til den nye matvaren.", "merge-food-example": "Slår sammen {food1} til {food2}", - "seed-dialog-text": "Legg til databasen med mat basert på ditt lokale språk. Dette vil opprette 200+ felles matvarer som kan brukes til å organisere databasen. Næringsmidler oversettes via en samfunnsinnsats.", - "seed-dialog-warning": "Du har allerede elementer i databasen. Denne handlingen vil ikke rekonfigurere duplikater, du må administrere dem manuelt.", - "combine-food": "Kombiner mat", - "source-food": "Kilde mat", - "target-food": "Mål Mat", - "create-food": "Lag mat", - "food-label": "Matetikett", - "edit-food": "Rediger mat", - "food-data": "Mat data", - "example-food-singular": "Feks: Tomat", - "example-food-plural": "Feks: Tomater" + "seed-dialog-text": "Legg til matvarer i databasen basert på ditt lokale språk. Dette vil opprette 200+ vanlige matvarer som kan brukes til å organisere databasen din. Matvarene oversettes via en fellesinnsats fra samfunnet.", + "seed-dialog-warning": "Du har allerede noen elementer i databasen din. Denne handlingen vil ikke forene duplikater, du må håndtere dem manuelt.", + "combine-food": "Kombiner matvarer", + "source-food": "Kilde for matvare", + "target-food": "Mål for matvare", + "create-food": "Opprett matvare", + "food-label": "Matvareetikett", + "edit-food": "Rediger matvare", + "food-data": "Matvaredata", + "example-food-singular": "f. eks. løk", + "example-food-plural": "f. eks. løk" }, "units": { - "seed-dialog-text": "Lag en database med vanlige enheter basert på ditt lokale språk.", + "seed-dialog-text": "Tilfør typiske enheter i databasen basert på ditt lokale språk.", "combine-unit-description": "Ved å kombinere de valgte enhetene vil kildeenheten og målenheten slås sammen i en enkelt enhet. {source-unit-will-be-deleted} og alle referansene til kildeenheten vil bli oppdatert til å peke til målenheten.", "combine-unit": "Kombiner enhet", "source-unit": "Kildeenhet", @@ -939,7 +939,7 @@ "example-unit-abbreviation-plural": "Feks: SS" }, "labels": { - "seed-dialog-text": "Lag en database med vanlige enheter basert på ditt lokale språk.", + "seed-dialog-text": "Tilfør typiske etiketter i databasen basert på ditt lokale språk.", "edit-label": "Rediger etikett", "new-label": "Ny etikett", "labels": "Etiketter" @@ -967,7 +967,7 @@ }, "create-alias": "Opprett alias", "manage-aliases": "Administrer aliaser", - "seed-data": "Frødata", + "seed-data": "Tilføringsdata", "seed": "Nøkkel", "data-management": "Databehandling", "data-management-description": "Velg hvilke data du vil gjøre endringer i.", @@ -986,9 +986,9 @@ "tag-data": "Emneorddata" }, "tools": { - "new-tool": "Nytt kjøkkenutstyr", - "edit-tool": "Rediger kjøkkenutstyr", - "tool-data": "Kjøkkenutstyrsdata" + "new-tool": "Nytt utstyr", + "edit-tool": "Rediger utstyr", + "tool-data": "Utstyrsdata" } }, "user-registration": { @@ -996,15 +996,15 @@ "registration-success": "Registrering vellykket", "join-a-group": "Bli med i en gruppe", "create-a-new-group": "Opprett en ny gruppe", - "provide-registration-token-description": "Vennligst oppgi registreringstoken knyttet til gruppen du ønsker å bli med. Du må skaffe dette fra et eksisterende gruppemedlem.", + "provide-registration-token-description": "Vennligst oppgi registreringstoken tilknyttet gruppen du ønsker å bli med i. Du må få denne fra et eksisterende medlem i gruppen.", "group-details": "Gruppedetaljer", - "group-details-description": "Før du oppretter en konto må du lage en gruppe. Gruppen din vil bare inneholde deg, men du vil kunne invitere andre senere. Medlemmer i gruppen din kan dele måltider, handlelister, oppskrifter med mer!", - "use-seed-data": "Bruk hoveddata", - "use-seed-data-description": "Mealie kommer med en samling av mat, enheter og etiketter som kan brukes til å fylle gruppen din med nyttige data for å organisere oppskriftene dine.", + "group-details-description": "Før du oppretter en konto må du opprette en gruppe. Gruppen din vil bare inneholde deg, men du vil kunne invitere andre senere. Medlemmer i gruppen din kan dele måltider, handlelister, oppskrifter med mer!", + "use-seed-data": "Bruk tilføringsdata", + "use-seed-data-description": "Mealie kommer med en samling av matvarer, enheter og etiketter som kan brukes til å fylle gruppen din med nyttige data for å organisere oppskriftene dine.", "account-details": "Kontodetaljer" }, "validation": { - "group-name-is-taken": "Gruppenavn er opptatt", + "group-name-is-taken": "Gruppenavnet er opptatt", "username-is-taken": "Brukernavnet er opptatt", "email-is-taken": "E-postadressen er opptatt", "this-field-is-required": "Dette feltet er påkrevd" @@ -1101,7 +1101,7 @@ "actions-description-irreversible": "irreversibel", "logs-action-refresh": "Oppdater logger", "logs-page-title": "Mealie Log", - "logs-tail-lines-label": "Tail Lines" + "logs-tail-lines-label": "Siste linjer" }, "mainentance": { "actions-title": "Handlinger" @@ -1136,7 +1136,7 @@ "personal-description": "Dette er innstillingene som er personlige for deg. Endringer her påvirker ikke andre brukere", "user-settings": "Brukerinnstillinger", "user-settings-description": "Administrer innstillingene, endre passordet og oppdater e-postadressen din", - "api-tokens-description": "Håndter dine API-tokens for tilgang fra eksterne applikasjoner", + "api-tokens-description": "Håndter dine API-tokens for tilgang fra eksterne programmer", "group-description": "Disse elementene deles innad i gruppen din. Å redigere ett av dem vil endre det for hele gruppen!", "group-settings": "Gruppeinnstillinger", "group-settings-description": "Administrer felles gruppeinnstillinger som måltidsplan- og personverninnstillinger.", @@ -1147,7 +1147,7 @@ "notifiers": "Varslere", "notifiers-description": "Sett opp e-post- og pushvarsler som utløses av spesifikke hendelser.", "manage-data": "Administrer data", - "manage-data-description": "Administrer mat og enheter (flere alternativer kommer snart)", + "manage-data-description": "Administrer dine matvarer og enheter (flere alternativer kommer snart)", "data-migrations": "Datamigrering", "data-migrations-description": "Overfør eksisterende data fra andre programmer som Nextcloud Recipes og Chowdown", "email-sent": "Epost sendt", @@ -1174,7 +1174,7 @@ "filter-options-description": "Når krev alle er valgt, vil kokeboken bare inkludere oppskrifter som har alle de valgte elementene. Dette gjelder for hvert delsett av valgene og ikke et tverrsnitt av de valgte elementene.", "require-all-categories": "Krev alle kategorier", "require-all-tags": "Krev alle emneord", - "require-all-tools": "Krev alt kjøkkenutstyr", + "require-all-tools": "Krev alt utstyr", "cookbook-name": "Navn på kokebok", "cookbook-with-name": "Kokebok {0}" } diff --git a/frontend/lang/messages/pl-PL.json b/frontend/lang/messages/pl-PL.json index cc0f612bd1b8..1e47366a2954 100644 --- a/frontend/lang/messages/pl-PL.json +++ b/frontend/lang/messages/pl-PL.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Jak się to udało?", "user-made-this": "{user} ugotował(a) to", "last-made-date": "Ostatnio ugotowano {date}", - "api-extras-description": "Dodatki w przepisach są kluczową cechą API Mealie. Pozwalają na tworzenie niestandardowych par kluczy/wartości JSON w recepturze do odwoływania się przez zewnętrzne aplikacje. Możesz użyć tych kluczy do wyzwalania automatyzacji lub przekazywania niestandardowych wiadomości do twoich wybranych urządzeń.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Klucz Wiadomości", "parse": "Analizuj", "attach-images-hint": "Dołącz obrazy przeciągając i upuszczając je do edytora", diff --git a/frontend/lang/messages/pt-BR.json b/frontend/lang/messages/pt-BR.json index 93317fabc4ee..28f3eac9d8b3 100644 --- a/frontend/lang/messages/pt-BR.json +++ b/frontend/lang/messages/pt-BR.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Como que ficou?", "user-made-this": "{user} fez isso", "last-made-date": "Feito pela última vez em {date}", - "api-extras-description": "Receitas extras são características chave da API Mealie. Eles permitem que você crie pares personalizados de chave/valor de json em uma receita para referência a partir de aplicativos de terceiros. Você pode usar essas chaves para conter informações para acionar automação ou mensagens personalizadas para transmitir ao seu dispositivo desejado.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Chave de mensagem", "parse": "Analisar", "attach-images-hint": "Anexe imagens arrastando e soltando-as no editor", diff --git a/frontend/lang/messages/pt-PT.json b/frontend/lang/messages/pt-PT.json index a460d7800255..bd1277c86db5 100644 --- a/frontend/lang/messages/pt-PT.json +++ b/frontend/lang/messages/pt-PT.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Que tal ficou?", "user-made-this": "{user} fez isto", "last-made-date": "Última vez {date}", - "api-extras-description": "Extras para receitas são funcionalidades chave da API Mealie. Estas permitem criar pares personalizados de chave/valor em json numa receita para referência a partir de aplicações de terceiros. Pode usar essas chaves para conter informações, para acionar automações ou mensagens personalizadas para transmitir a um dispositivo desejado.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Chave de Mensagem", "parse": "Interpretar", "attach-images-hint": "Anexe imagens arrastando e soltando-as no editor", diff --git a/frontend/lang/messages/ro-RO.json b/frontend/lang/messages/ro-RO.json index 5ff0eff60aff..be54b02b76c2 100644 --- a/frontend/lang/messages/ro-RO.json +++ b/frontend/lang/messages/ro-RO.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "How did it turn out?", "user-made-this": "{user} made this", "last-made-date": "Last Made {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom json key/value pairs within a recipe to reference from 3rd part applications. You can use these keys to contain information to trigger automation or custom messages to relay to your desired device.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Message Key", "parse": "Parse", "attach-images-hint": "Attach images by dragging & dropping them into the editor", diff --git a/frontend/lang/messages/ru-RU.json b/frontend/lang/messages/ru-RU.json index aac7839f9c59..535c851f841e 100644 --- a/frontend/lang/messages/ru-RU.json +++ b/frontend/lang/messages/ru-RU.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Что получилось?", "user-made-this": "{user} сделал это", "last-made-date": "Последний раз сделано {date}", - "api-extras-description": "Дополнения к рецептам являются ключевым элементом Mealie API. Они позволяют создавать пользовательские пары json ключ/значение в рецепте для ссылания на другие приложения. Вы можете использовать эти ключи, чтобы сохранить нужную информацию для автоматизаций или уведомлений на ваши устройства.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Ключ сообщения", "parse": "Обработать", "attach-images-hint": "Прикрепляйте изображения, перетаскивая их в редактор", diff --git a/frontend/lang/messages/sk-SK.json b/frontend/lang/messages/sk-SK.json index 8db308b15f9a..47d4997d45eb 100644 --- a/frontend/lang/messages/sk-SK.json +++ b/frontend/lang/messages/sk-SK.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Ako to dopadlo?", "user-made-this": "{user} toto uvaril/-a", "last-made-date": "Posledne pripravené {date}", - "api-extras-description": "Extras receptov sú kľúčovou funkcionalitou Mealie API. Umožňujú užívateľom vytvárať vlastné json páry kľúč/hodnota z receptu, aby ich bolo možné použiť v aplikáciách tretej strany. Údaje uložené pod jednotlivými kľúčmi je možné využiť ako spúšťač automatizovaných procesov, či zasielania vlastných správ do vami zvolených zariadení.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Kľúč správy", "parse": "Analyzovať", "attach-images-hint": "Pridaj obrázky ich potiahnutím a pustením na editor", diff --git a/frontend/lang/messages/sl-SI.json b/frontend/lang/messages/sl-SI.json index 44711a0499c2..518554d39220 100644 --- a/frontend/lang/messages/sl-SI.json +++ b/frontend/lang/messages/sl-SI.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "How did it turn out?", "user-made-this": "{user} made this", "last-made-date": "Last Made {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom json key/value pairs within a recipe to reference from 3rd part applications. You can use these keys to contain information to trigger automation or custom messages to relay to your desired device.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Message Key", "parse": "Parse", "attach-images-hint": "Attach images by dragging & dropping them into the editor", diff --git a/frontend/lang/messages/sr-SP.json b/frontend/lang/messages/sr-SP.json index abe70ba0efff..dd0e42629894 100644 --- a/frontend/lang/messages/sr-SP.json +++ b/frontend/lang/messages/sr-SP.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "How did it turn out?", "user-made-this": "{user} made this", "last-made-date": "Последњи пут прављено {date}", - "api-extras-description": "Додаци рецепата су кључна карактеристика Mили API-а. Омогућавају вам да креирате прилагођене JSON парове кључ/вредност унутар рецепта за референцу из других апликација. Можете користити ове кључеве за садржај информација за покретање аутоматизације или прилагођених порука које ће бити прослеђене на ваш уређај по жељи.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Message Key", "parse": "Parse", "attach-images-hint": "Attach images by dragging & dropping them into the editor", diff --git a/frontend/lang/messages/sv-SE.json b/frontend/lang/messages/sv-SE.json index 9b2a3cc61334..8233d70e91b5 100644 --- a/frontend/lang/messages/sv-SE.json +++ b/frontend/lang/messages/sv-SE.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Hur blev rätten?", "user-made-this": "{user} lagade detta", "last-made-date": "Senast lagad {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom json key/value pairs within a recipe to reference from 3rd part applications. You can use these keys to contain information to trigger automation or custom messages to relay to your desired device.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Meddelandenyckel", "parse": "Läs in", "attach-images-hint": "Bifoga bilder genom att dra och släppa dem i redigeraren", diff --git a/frontend/lang/messages/tr-TR.json b/frontend/lang/messages/tr-TR.json index 0d5653f9c143..c13fa21aa1d7 100644 --- a/frontend/lang/messages/tr-TR.json +++ b/frontend/lang/messages/tr-TR.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Nasıl oldu?", "user-made-this": "{user} bunu yaptı", "last-made-date": "Last Made {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom json key/value pairs within a recipe to reference from 3rd part applications. You can use these keys to contain information to trigger automation or custom messages to relay to your desired device.", + "api-extras-description": "Tarif ekstraları Mealie API'nin önemli bir özelliğidir. Üçüncü taraf uygulamalardan referans almak üzere bir tarif içinde özel JSON anahtar/değer çiftleri oluşturmanıza olanak tanır. Bu tuşları, örneğin otomasyonları tetiklemek veya istediğiniz cihaza iletilecek özel mesajları bilgi sağlamak için kullanabilirsiniz.", "message-key": "Message Key", "parse": "Parse", "attach-images-hint": "Attach images by dragging & dropping them into the editor", diff --git a/frontend/lang/messages/uk-UA.json b/frontend/lang/messages/uk-UA.json index b027407dc07e..65825c5b253b 100644 --- a/frontend/lang/messages/uk-UA.json +++ b/frontend/lang/messages/uk-UA.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Як вийшло?", "user-made-this": "{user} зробив це", "last-made-date": "Востаннє приготовано {date}", - "api-extras-description": "Додатки рецептів - це ключова функція API Mealie. Вони дозволяють створювати користувацьку пару ключів та значень в рецепті для сторонніх додатків. Це можна використовувати для автоматизації або створення користувацьких повідомлень.", + "api-extras-description": "Додатки в рецептах - ключова функція API Mealie. Вони дозволяють створювати користувацьку пару JSON ключів та значень в рецепті для сторонніх додатків. Це можна використовувати для автоматизації або для створення користувацьких повідомлень для сторонніх сервісів.", "message-key": "Ключ повідомлення", "parse": "Проаналізувати", "attach-images-hint": "Прикріпіть зображення, перетягнувши їх у редактор", diff --git a/frontend/lang/messages/vi-VN.json b/frontend/lang/messages/vi-VN.json index 8e790220b811..1e72f3d80111 100644 --- a/frontend/lang/messages/vi-VN.json +++ b/frontend/lang/messages/vi-VN.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "How did it turn out?", "user-made-this": "{user} made this", "last-made-date": "Last Made {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom json key/value pairs within a recipe to reference from 3rd part applications. You can use these keys to contain information to trigger automation or custom messages to relay to your desired device.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Message Key", "parse": "Parse", "attach-images-hint": "Attach images by dragging & dropping them into the editor", diff --git a/frontend/lang/messages/zh-CN.json b/frontend/lang/messages/zh-CN.json index 3be043c57f0f..eff982acbf33 100644 --- a/frontend/lang/messages/zh-CN.json +++ b/frontend/lang/messages/zh-CN.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "成品怎么样?", "user-made-this": "由 {user} 制作", "last-made-date": "上次制作于{date}", - "api-extras-description": "食谱扩展键值对是Mealie API的一项重要特性。它允许你在食谱里自定义json键值对,以供第三方程序使用。你可以利用这些键值对存储的信息触发自动化,或给你需要的设备转发自定义消息。", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "键名", "parse": "自动解析", "attach-images-hint": "如需添加图片,可将其拖拽到编辑器", diff --git a/frontend/lang/messages/zh-TW.json b/frontend/lang/messages/zh-TW.json index 0c2e897412b0..d2aea605e3e7 100644 --- a/frontend/lang/messages/zh-TW.json +++ b/frontend/lang/messages/zh-TW.json @@ -47,7 +47,7 @@ "uncategorized-count": "未分類 {count}", "create-a-category": "創建類別", "category-name": "類別名稱", - "category": "Category" + "category": "目錄" }, "events": { "apprise-url": "Apprise連結", @@ -182,12 +182,12 @@ "confirm-delete-own-admin-account": "Please note that you are trying to delete your own admin account! This action cannot be undone and will permanently delete your account?", "organizer": "Organizer", "transfer": "Transfer", - "copy": "Copy", + "copy": "複製", "color": "Color", - "timestamp": "Timestamp", - "last-made": "Last Made", + "timestamp": "時間戳", + "last-made": "最後製作的", "learn-more": "Learn More", - "this-feature-is-currently-inactive": "This feature is currently inactive", + "this-feature-is-currently-inactive": "該功能目前處於非活動狀態", "clipboard-not-supported": "Clipboard not supported", "copied-to-clipboard": "Copied to clipboard", "your-browser-does-not-support-clipboard": "Your browser does not support clipboard", @@ -196,7 +196,7 @@ "selected-count": "Selected: {count}", "export-all": "Export All", "refresh": "Refresh", - "upload-file": "Upload File", + "upload-file": "上傳文件", "created-on-date": "Created on: {0}", "unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes." }, @@ -221,13 +221,13 @@ "user-group-created": "用戶群組已建立", "user-group-creation-failed": "用戶群組建立失敗", "settings": { - "keep-my-recipes-private": "Keep My Recipes Private", + "keep-my-recipes-private": "將我的食譜保密", "keep-my-recipes-private-description": "Sets your group and all recipes defaults to private. You can always change this later." }, "manage-members": "Manage Members", "manage-members-description": "Manage the permissions of the members in your groups. {manage} allows the user to access the data-management page {invite} allows the user to generate invitation links for other users. Group owners cannot change their own permissions.", "manage": "Manage", - "invite": "Invite", + "invite": "邀請", "looking-to-update-your-profile": "Looking to Update Your Profile?", "default-recipe-preferences-description": "These are the default settings when a new recipe is created in your group. These can be changed for individual recipes in the recipe settings menu.", "default-recipe-preferences": "Default Recipe Preferences", @@ -510,7 +510,7 @@ "how-did-it-turn-out": "How did it turn out?", "user-made-this": "{user} made this", "last-made-date": "Last Made {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom json key/value pairs within a recipe to reference from 3rd part applications. You can use these keys to contain information to trigger automation or custom messages to relay to your desired device.", + "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", "message-key": "Message Key", "parse": "Parse", "attach-images-hint": "Attach images by dragging & dropping them into the editor", diff --git a/mealie/repos/seed/resources/foods/locales/zh-TW.json b/mealie/repos/seed/resources/foods/locales/zh-TW.json index 88f7f8742587..5953187e2538 100644 --- a/mealie/repos/seed/resources/foods/locales/zh-TW.json +++ b/mealie/repos/seed/resources/foods/locales/zh-TW.json @@ -6,21 +6,21 @@ "artichoke": "菜薊", "arugula": "arugula", "asparagus": "蘆筍", - "aubergine": "aubergine", + "aubergine": "茄子", "avocado": "酪梨", "bacon": "培根", "baking-powder": "baking powder", "baking-soda": "小蘇打粉", - "baking-sugar": "baking sugar", - "bar-sugar": "bar sugar", - "basil": "basil", + "baking-sugar": "烘焙糖", + "bar-sugar": "方糖", + "basil": "羅勒", "bell-peppers": "甜椒", "blackberries": "黑莓", "brassicas": "brassicas", "bok-choy": "青江菜", "broccoflower": "broccoflower", "broccoli": "花椰菜", - "broccolini": "broccolini", + "broccolini": "綠色花椰菜", "broccoli-rabe": "broccoli rabe", "brussels-sprouts": "球芽甘藍", "cabbage": "高麗菜", @@ -41,7 +41,7 @@ "capsicum": "capsicum", "caraway": "caraway", "carrot": "胡蘿蔔", - "castor-sugar": "castor sugar", + "castor-sugar": "細砂白糖", "cayenne-pepper": "cayenne pepper", "celeriac": "celeriac", "celery": "西芹", @@ -60,7 +60,7 @@ "coconut-milk": "椰奶", "coffee": "咖啡", "confectioners-sugar": "confectioners' sugar", - "coriander": "coriander", + "coriander": "香菜", "corn": "玉米", "corn-syrup": "玉米糖漿", "cottonseed-oil": "棉籽油", From ca9f66ee2448f9786efb866d2d5aa8a33c7780a4 Mon Sep 17 00:00:00 2001 From: Michael Genson <71845777+michael-genson@users.noreply.github.com> Date: Thu, 14 Dec 2023 20:26:43 -0600 Subject: [PATCH 006/170] feat: Remove OCR Support (#2838) * remove ocr package * remove tesseract * remove OCR from app * remove OCR from tests * fix docs --- .github/workflows/partial-backend.yml | 2 +- docker/Dockerfile | 2 - docs/docs/overrides/api.html | 2 +- .../Domain/Recipe/RecipeActionMenu.vue | 14 - .../RecipeOcrEditorPage.vue | 390 -------------- .../RecipeOcrEditorPageCanvas.vue | 488 ------------------ .../RecipeOcrEditorPageHelp.vue | 54 -- .../Recipe/RecipeOcrEditorPage/index.ts | 3 - .../RecipePageParts/RecipePageHeader.vue | 15 +- frontend/lib/api/client-user.ts | 5 - frontend/lib/api/types/ocr.ts | 25 - frontend/lib/api/types/recipe.ts | 1 - frontend/lib/api/user/ocr.ts | 16 - frontend/lib/api/user/recipes/recipe.ts | 10 - .../pages/g/_groupSlug/r/_slug/ocr-editor.vue | 51 -- frontend/pages/g/_groupSlug/r/create.vue | 5 - frontend/pages/g/_groupSlug/r/create/ocr.vue | 85 --- frontend/types/ocr-types.ts | 73 --- mealie/routes/__init__.py | 2 - mealie/routes/ocr/__init__.py | 7 - mealie/routes/ocr/pytesseract.py | 37 -- mealie/routes/recipe/recipe_crud_routes.py | 37 -- mealie/schema/ocr/__init__.py | 7 - mealie/schema/ocr/ocr.py | 21 - mealie/schema/recipe/recipe.py | 1 - mealie/services/ocr/__init__.py | 0 mealie/services/ocr/pytesseract.py | 56 -- poetry.lock | 41 +- pyproject.toml | 1 - tests/data/images/test-ocr.png | Bin 11513 -> 0 bytes tests/data/text/test-ocr.tsv | 73 --- tests/data/text/test-ocr.txt | 9 - .../services_tests/test_ocr_service.py | 58 --- tests/utils/api_routes/__init__.py | 8 - 34 files changed, 29 insertions(+), 1570 deletions(-) delete mode 100644 frontend/components/Domain/Recipe/RecipeOcrEditorPage/RecipeOcrEditorPage.vue delete mode 100644 frontend/components/Domain/Recipe/RecipeOcrEditorPage/RecipeOcrEditorPageParts/RecipeOcrEditorPageCanvas.vue delete mode 100644 frontend/components/Domain/Recipe/RecipeOcrEditorPage/RecipeOcrEditorPageParts/RecipeOcrEditorPageHelp.vue delete mode 100644 frontend/components/Domain/Recipe/RecipeOcrEditorPage/index.ts delete mode 100644 frontend/lib/api/types/ocr.ts delete mode 100644 frontend/lib/api/user/ocr.ts delete mode 100644 frontend/pages/g/_groupSlug/r/_slug/ocr-editor.vue delete mode 100644 frontend/pages/g/_groupSlug/r/create/ocr.vue delete mode 100644 frontend/types/ocr-types.ts delete mode 100644 mealie/routes/ocr/__init__.py delete mode 100644 mealie/routes/ocr/pytesseract.py delete mode 100644 mealie/schema/ocr/__init__.py delete mode 100644 mealie/schema/ocr/ocr.py delete mode 100644 mealie/services/ocr/__init__.py delete mode 100644 mealie/services/ocr/pytesseract.py delete mode 100644 tests/data/images/test-ocr.png delete mode 100644 tests/data/text/test-ocr.tsv delete mode 100644 tests/data/text/test-ocr.txt delete mode 100644 tests/unit_tests/services_tests/test_ocr_service.py diff --git a/.github/workflows/partial-backend.yml b/.github/workflows/partial-backend.yml index 80afa791eb6b..154d98626b51 100644 --- a/.github/workflows/partial-backend.yml +++ b/.github/workflows/partial-backend.yml @@ -67,7 +67,7 @@ jobs: - name: Install dependencies run: | sudo apt-get update - sudo apt-get install libsasl2-dev libldap2-dev libssl-dev tesseract-ocr-all + sudo apt-get install libsasl2-dev libldap2-dev libssl-dev poetry install poetry add "psycopg2-binary==2.8.6" if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' || steps.cache-validate.outputs.cache-hit-success != 'true' diff --git a/docker/Dockerfile b/docker/Dockerfile index 9594c0faffb2..ee422ff643eb 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -50,7 +50,6 @@ RUN apt-get update \ build-essential \ libpq-dev \ libwebp-dev \ - tesseract-ocr-all \ # LDAP Dependencies libsasl2-dev libldap2-dev libssl-dev \ gnupg gnupg2 gnupg1 \ @@ -89,7 +88,6 @@ RUN apt-get update \ && apt-get install --no-install-recommends -y \ gosu \ iproute2 \ - tesseract-ocr-all \ libldap-common \ && rm -rf /var/lib/apt/lists/* diff --git a/docs/docs/overrides/api.html b/docs/docs/overrides/api.html index a54d6bf3c398..83038e2aead5 100644 --- a/docs/docs/overrides/api.html +++ b/docs/docs/overrides/api.html @@ -14,7 +14,7 @@
diff --git a/frontend/components/Domain/Recipe/RecipeActionMenu.vue b/frontend/components/Domain/Recipe/RecipeActionMenu.vue index c5b6a72e76cb..ad24e0ed8b13 100644 --- a/frontend/components/Domain/Recipe/RecipeActionMenu.vue +++ b/frontend/components/Domain/Recipe/RecipeActionMenu.vue @@ -102,7 +102,6 @@ const SAVE_EVENT = "save"; const DELETE_EVENT = "delete"; const CLOSE_EVENT = "close"; const JSON_EVENT = "json"; -const OCR_EVENT = "ocr"; export default defineComponent({ components: { RecipeContextMenu, RecipeFavoriteBadge, RecipeTimerMenu, RecipeTimelineBadge }, @@ -139,10 +138,6 @@ export default defineComponent({ type: Boolean, default: false, }, - showOcrButton: { - type: Boolean, - default: false, - }, }, setup(props, context) { const deleteDialog = ref(false); @@ -175,15 +170,6 @@ export default defineComponent({ }, ]; - if (props.showOcrButton) { - editorButtons.splice(2, 0, { - text: i18n.t("ocr-editor.ocr-editor"), - icon: $globals.icons.eye, - event: OCR_EVENT, - color: "accent", - }); - } - function emitHandler(event: string) { switch (event) { case CLOSE_EVENT: diff --git a/frontend/components/Domain/Recipe/RecipeOcrEditorPage/RecipeOcrEditorPage.vue b/frontend/components/Domain/Recipe/RecipeOcrEditorPage/RecipeOcrEditorPage.vue deleted file mode 100644 index 28b96d609696..000000000000 --- a/frontend/components/Domain/Recipe/RecipeOcrEditorPage/RecipeOcrEditorPage.vue +++ /dev/null @@ -1,390 +0,0 @@ - - - - - diff --git a/frontend/components/Domain/Recipe/RecipeOcrEditorPage/RecipeOcrEditorPageParts/RecipeOcrEditorPageCanvas.vue b/frontend/components/Domain/Recipe/RecipeOcrEditorPage/RecipeOcrEditorPageParts/RecipeOcrEditorPageCanvas.vue deleted file mode 100644 index bcba5f4fce97..000000000000 --- a/frontend/components/Domain/Recipe/RecipeOcrEditorPage/RecipeOcrEditorPageParts/RecipeOcrEditorPageCanvas.vue +++ /dev/null @@ -1,488 +0,0 @@ - - - diff --git a/frontend/components/Domain/Recipe/RecipeOcrEditorPage/RecipeOcrEditorPageParts/RecipeOcrEditorPageHelp.vue b/frontend/components/Domain/Recipe/RecipeOcrEditorPage/RecipeOcrEditorPageParts/RecipeOcrEditorPageHelp.vue deleted file mode 100644 index 39ddf6e8338f..000000000000 --- a/frontend/components/Domain/Recipe/RecipeOcrEditorPage/RecipeOcrEditorPageParts/RecipeOcrEditorPageHelp.vue +++ /dev/null @@ -1,54 +0,0 @@ - - - diff --git a/frontend/components/Domain/Recipe/RecipeOcrEditorPage/index.ts b/frontend/components/Domain/Recipe/RecipeOcrEditorPage/index.ts deleted file mode 100644 index ff8b655f3d15..000000000000 --- a/frontend/components/Domain/Recipe/RecipeOcrEditorPage/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import RecipeOcrEditorPage from "./RecipeOcrEditorPage.vue"; - -export default RecipeOcrEditorPage; diff --git a/frontend/components/Domain/Recipe/RecipePage/RecipePageParts/RecipePageHeader.vue b/frontend/components/Domain/Recipe/RecipePage/RecipePageParts/RecipePageHeader.vue index c9e4934534e0..b17cab0ca17a 100644 --- a/frontend/components/Domain/Recipe/RecipePage/RecipePageParts/RecipePageHeader.vue +++ b/frontend/components/Domain/Recipe/RecipePage/RecipePageParts/RecipePageHeader.vue @@ -50,7 +50,6 @@ :logged-in="isOwnGroup" :open="isEditMode" :recipe-id="recipe.id" - :show-ocr-button="recipe.isOcrRecipe" class="ml-auto mt-n8 pb-4" @close="setMode(PageMode.VIEW)" @json="toggleEditMode()" @@ -58,13 +57,12 @@ @save="$emit('save')" @delete="$emit('delete')" @print="printRecipe" - @ocr="goToOcrEditor" /> - - diff --git a/frontend/pages/g/_groupSlug/r/create.vue b/frontend/pages/g/_groupSlug/r/create.vue index 72463ef0ff0f..dad973528bc1 100644 --- a/frontend/pages/g/_groupSlug/r/create.vue +++ b/frontend/pages/g/_groupSlug/r/create.vue @@ -52,11 +52,6 @@ export default defineComponent({ text: i18n.tc("recipe.import-with-zip"), value: "zip", }, - { - icon: $globals.icons.fileImage, - text: i18n.tc("recipe.create-recipe-from-an-image"), - value: "ocr", - }, { icon: $globals.icons.link, text: i18n.tc("recipe.bulk-url-import"), diff --git a/frontend/pages/g/_groupSlug/r/create/ocr.vue b/frontend/pages/g/_groupSlug/r/create/ocr.vue deleted file mode 100644 index 63acd2b61243..000000000000 --- a/frontend/pages/g/_groupSlug/r/create/ocr.vue +++ /dev/null @@ -1,85 +0,0 @@ - - diff --git a/frontend/types/ocr-types.ts b/frontend/types/ocr-types.ts deleted file mode 100644 index 2b363cf239fe..000000000000 --- a/frontend/types/ocr-types.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { OcrTsvResponse } from "~/lib/api/types/ocr"; -import { Recipe } from "~/lib/api/types/recipe"; - -export type CanvasRect = { - startX: number; - startY: number; - w: number; - h: number; -}; - -export type ImagePosition = { - sx: number; - sy: number; - sWidth: number; - sHeight: number; - dx: number; - dy: number; - dWidth: number; - dHeight: number; - scale: number; - panStartPoint: { - x: number; - y: number; - }; -}; - -export type Mouse = { - current: { - x: number; - y: number; - }; - down: boolean; -}; - -// https://stackoverflow.com/questions/58434389/export typescript-deep-keyof-of-a-nested-object/58436959#58436959 -type Prev = [never, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ...0[]]; - -type Join = K extends string | number - ? P extends string | number - ? `${K}${"" extends P ? "" : "."}${P}` - : never - : never; - -export type Leaves = [D] extends [never] - ? never - : T extends object - ? { [K in keyof T]-?: Join> }[keyof T] - : ""; - -export type Paths = [D] extends [never] - ? never - : T extends object - ? { - [K in keyof T]-?: K extends string | number ? `${K}` | Join> : never; - }[keyof T] - : ""; - -export type SelectedRecipeLeaves = Leaves; - -export type CanvasModes = "selection" | "panAndZoom"; - -export type SelectedTextSplitModes = keyof OcrTsvResponse | "flatten"; - -export type ToolbarIcons = { - sectionTitle: string; - eventHandler(mode: T): void; - highlight: T; - icons: { - name: T; - icon: string; - tooltip: string; - }[]; -}[]; diff --git a/mealie/routes/__init__.py b/mealie/routes/__init__.py index e421c01ae5ab..849ec5b571f9 100644 --- a/mealie/routes/__init__.py +++ b/mealie/routes/__init__.py @@ -7,7 +7,6 @@ from . import ( comments, explore, groups, - ocr, organizers, parser, recipe, @@ -32,4 +31,3 @@ router.include_router(unit_and_foods.router) router.include_router(admin.router) router.include_router(validators.router) router.include_router(explore.router) -router.include_router(ocr.router) diff --git a/mealie/routes/ocr/__init__.py b/mealie/routes/ocr/__init__.py deleted file mode 100644 index e23bbc92ec8b..000000000000 --- a/mealie/routes/ocr/__init__.py +++ /dev/null @@ -1,7 +0,0 @@ -from fastapi import APIRouter - -from . import pytesseract - -router = APIRouter(prefix="/ocr") - -router.include_router(pytesseract.router) diff --git a/mealie/routes/ocr/pytesseract.py b/mealie/routes/ocr/pytesseract.py deleted file mode 100644 index d2ffdec62120..000000000000 --- a/mealie/routes/ocr/pytesseract.py +++ /dev/null @@ -1,37 +0,0 @@ -from fastapi import APIRouter, File - -from mealie.routes._base import BaseUserController, controller -from mealie.schema.ocr.ocr import OcrAssetReq, OcrTsvResponse -from mealie.services.ocr.pytesseract import OcrService -from mealie.services.recipe.recipe_data_service import RecipeDataService -from mealie.services.recipe.recipe_service import RecipeService - -router = APIRouter() - - -@controller(router) -class OCRController(BaseUserController): - def __init__(self): - self.ocr_service = OcrService() - - @router.post("/", response_model=str) - def image_to_string(self, file: bytes = File(...)): - return self.ocr_service.image_to_string(file) - - @router.post("/file-to-tsv", response_model=list[OcrTsvResponse]) - def file_to_tsv(self, file: bytes = File(...)): - tsv = self.ocr_service.image_to_tsv(file) - return self.ocr_service.format_tsv_output(tsv) - - @router.post("/asset-to-tsv", response_model=list[OcrTsvResponse]) - def asset_to_tsv(self, req: OcrAssetReq): - recipe_service = RecipeService(self.repos, self.user, self.group) - recipe = recipe_service._get_recipe(req.recipe_slug) - if recipe.id is None: - return [] - data_service = RecipeDataService(recipe.id, recipe.group_id) - asset_path = data_service.dir_assets.joinpath(req.asset_name) - file = open(asset_path, "rb") - tsv = self.ocr_service.image_to_tsv(file.read()) - - return self.ocr_service.format_tsv_output(tsv) diff --git a/mealie/routes/recipe/recipe_crud_routes.py b/mealie/routes/recipe/recipe_crud_routes.py index bace402ebd2e..16b7bc687d0d 100644 --- a/mealie/routes/recipe/recipe_crud_routes.py +++ b/mealie/routes/recipe/recipe_crud_routes.py @@ -27,10 +27,7 @@ from mealie.schema.make_dependable import make_dependable from mealie.schema.recipe import Recipe, RecipeImageTypes, ScrapeRecipe from mealie.schema.recipe.recipe import CreateRecipe, CreateRecipeByUrlBulk, RecipeLastMade, RecipeSummary from mealie.schema.recipe.recipe_asset import RecipeAsset -from mealie.schema.recipe.recipe_ingredient import RecipeIngredient from mealie.schema.recipe.recipe_scraper import ScrapeRecipeTest -from mealie.schema.recipe.recipe_settings import RecipeSettings -from mealie.schema.recipe.recipe_step import RecipeStep from mealie.schema.recipe.request_helpers import RecipeDuplicate, RecipeZipTokenResponse, UpdateImageResponse from mealie.schema.response import PaginationBase, PaginationQuery from mealie.schema.response.pagination import RecipeSearchQuery @@ -489,37 +486,3 @@ class RecipeController(BaseRecipeController): self.mixins.update_one(recipe, slug) return asset_in - - # ================================================================================================================== - # OCR - @router.post("/create-ocr", status_code=201, response_model=str) - def create_recipe_ocr( - self, extension: str = Form(...), file: UploadFile = File(...), makefilerecipeimage: bool = Form(...) - ): - """Takes an image and creates a recipe based on the image""" - slug = self.service.create_one( - Recipe( - name="New OCR Recipe", - recipe_ingredient=[RecipeIngredient(note="", title=None, unit=None, food=None, original_text=None)], - recipe_instructions=[RecipeStep(text="")], - is_ocr_recipe=True, - settings=RecipeSettings(show_assets=True), - id=None, - image=None, - recipe_yield=None, - rating=None, - orgURL=None, - date_added=None, - date_updated=None, - created_at=None, - update_at=None, - nutrition=None, - ) - ).slug - RecipeController.upload_recipe_asset(self, slug, "Original recipe image", "", extension, file) - if makefilerecipeimage: - # Get the pointer to the beginning of the file to read it once more - file.file.seek(0) - self.update_recipe_image(slug, file.file.read(), extension) - - return slug diff --git a/mealie/schema/ocr/__init__.py b/mealie/schema/ocr/__init__.py deleted file mode 100644 index 1c28eee01c6d..000000000000 --- a/mealie/schema/ocr/__init__.py +++ /dev/null @@ -1,7 +0,0 @@ -# This file is auto-generated by gen_schema_exports.py -from .ocr import OcrAssetReq, OcrTsvResponse - -__all__ = [ - "OcrAssetReq", - "OcrTsvResponse", -] diff --git a/mealie/schema/ocr/ocr.py b/mealie/schema/ocr/ocr.py deleted file mode 100644 index fd5351110662..000000000000 --- a/mealie/schema/ocr/ocr.py +++ /dev/null @@ -1,21 +0,0 @@ -from mealie.schema._mealie import MealieModel - - -class OcrTsvResponse(MealieModel): - level: int = 0 - page_num: int = 0 - block_num: int = 0 - par_num: int = 0 - line_num: int = 0 - word_num: int = 0 - left: int = 0 - top: int = 0 - width: int = 0 - height: int = 0 - conf: float = 0.0 - text: str = "" - - -class OcrAssetReq(MealieModel): - recipe_slug: str - asset_name: str diff --git a/mealie/schema/recipe/recipe.py b/mealie/schema/recipe/recipe.py index ba49e00cd071..5b5cca65aed1 100644 --- a/mealie/schema/recipe/recipe.py +++ b/mealie/schema/recipe/recipe.py @@ -128,7 +128,6 @@ class Recipe(RecipeSummary): assets: list[RecipeAsset] | None = [] notes: list[RecipeNote] | None = [] extras: dict | None = {} - is_ocr_recipe: bool | None = False comments: list[RecipeCommentOut] | None = [] diff --git a/mealie/services/ocr/__init__.py b/mealie/services/ocr/__init__.py deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/mealie/services/ocr/pytesseract.py b/mealie/services/ocr/pytesseract.py deleted file mode 100644 index 83d84b676b09..000000000000 --- a/mealie/services/ocr/pytesseract.py +++ /dev/null @@ -1,56 +0,0 @@ -from io import BytesIO - -import pytesseract -from PIL import Image - -from mealie.schema.ocr.ocr import OcrTsvResponse -from mealie.services._base_service import BaseService - - -class OcrService(BaseService): - """ - Class for ocr engines. - """ - - def image_to_string(self, image_data): - """ - Returns a plain text translation of an image - """ - return pytesseract.image_to_string(Image.open(image_data)) - - def image_to_tsv(self, image_data, lang=None): - """ - Returns the pytesseract default tsv output - """ - if lang is not None: - return pytesseract.image_to_data(Image.open(BytesIO(image_data)), lang=lang) - - return pytesseract.image_to_data(Image.open(BytesIO(image_data))) - - def format_tsv_output(self, tsv: str) -> list[OcrTsvResponse]: - """ - Returns a OcrTsvResponse from a default pytesseract tsv output - """ - lines = tsv.split("\n") - titles = [t.strip() for t in lines[0].split("\t")] - response: list[OcrTsvResponse] = [] - - for i in range(1, len(lines)): - if lines[i] == "": - continue - - line = OcrTsvResponse() - for key, value in zip(titles, lines[i].split("\t"), strict=False): - if key == "text": - setattr(line, key, value.strip()) - elif key == "conf": - setattr(line, key, float(value.strip())) - elif key in OcrTsvResponse.__fields__: - setattr(line, key, int(value.strip())) - else: - continue - - if isinstance(line, OcrTsvResponse): - response.append(line) - - return response diff --git a/poetry.lock b/poetry.lock index 9bbd67e294de..3059793799bb 100644 --- a/poetry.lock +++ b/poetry.lock @@ -605,6 +605,7 @@ files = [ {file = "greenlet-2.0.2-cp27-cp27m-win32.whl", hash = "sha256:6c3acb79b0bfd4fe733dff8bc62695283b57949ebcca05ae5c129eb606ff2d74"}, {file = "greenlet-2.0.2-cp27-cp27m-win_amd64.whl", hash = "sha256:283737e0da3f08bd637b5ad058507e578dd462db259f7f6e4c5c365ba4ee9343"}, {file = "greenlet-2.0.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae"}, + {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d967650d3f56af314b72df7089d96cda1083a7fc2da05b375d2bc48c82ab3f3c"}, {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:30bcf80dda7f15ac77ba5af2b961bdd9dbc77fd4ac6105cee85b0d0a5fcf74df"}, {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26fbfce90728d82bc9e6c38ea4d038cba20b7faf8a0ca53a9c07b67318d46088"}, {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9190f09060ea4debddd24665d6804b995a9c122ef5917ab26e1566dcc712ceeb"}, @@ -613,6 +614,7 @@ files = [ {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91"}, {file = "greenlet-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:2d4686f195e32d36b4d7cf2d166857dbd0ee9f3d20ae349b6bf8afc8485b3645"}, {file = "greenlet-2.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c4302695ad8027363e96311df24ee28978162cdcdd2006476c43970b384a244c"}, + {file = "greenlet-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d4606a527e30548153be1a9f155f4e283d109ffba663a15856089fb55f933e47"}, {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c48f54ef8e05f04d6eff74b8233f6063cb1ed960243eacc474ee73a2ea8573ca"}, {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1846f1b999e78e13837c93c778dcfc3365902cfb8d1bdb7dd73ead37059f0d0"}, {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a06ad5312349fec0ab944664b01d26f8d1f05009566339ac6f63f56589bc1a2"}, @@ -642,6 +644,7 @@ files = [ {file = "greenlet-2.0.2-cp37-cp37m-win32.whl", hash = "sha256:3f6ea9bd35eb450837a3d80e77b517ea5bc56b4647f5502cd28de13675ee12f7"}, {file = "greenlet-2.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:7492e2b7bd7c9b9916388d9df23fa49d9b88ac0640db0a5b4ecc2b653bf451e3"}, {file = "greenlet-2.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b864ba53912b6c3ab6bcb2beb19f19edd01a6bfcbdfe1f37ddd1778abfe75a30"}, + {file = "greenlet-2.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1087300cf9700bbf455b1b97e24db18f2f77b55302a68272c56209d5587c12d1"}, {file = "greenlet-2.0.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:ba2956617f1c42598a308a84c6cf021a90ff3862eddafd20c3333d50f0edb45b"}, {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526"}, {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b"}, @@ -650,6 +653,7 @@ files = [ {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b0ef99cdbe2b682b9ccbb964743a6aca37905fda5e0452e5ee239b1654d37f2a"}, {file = "greenlet-2.0.2-cp38-cp38-win32.whl", hash = "sha256:b80f600eddddce72320dbbc8e3784d16bd3fb7b517e82476d8da921f27d4b249"}, {file = "greenlet-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:4d2e11331fc0c02b6e84b0d28ece3a36e0548ee1a1ce9ddde03752d9b79bba40"}, + {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8512a0c38cfd4e66a858ddd1b17705587900dd760c6003998e9472b77b56d417"}, {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8"}, {file = "greenlet-2.0.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:561091a7be172ab497a3527602d467e2b3fbe75f9e783d8b8ce403fa414f71a6"}, {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:971ce5e14dc5e73715755d0ca2975ac88cfdaefcaab078a284fea6cfabf866df"}, @@ -1862,21 +1866,6 @@ files = [ html5lib = "*" rdflib = "*" -[[package]] -name = "pytesseract" -version = "0.3.10" -description = "Python-tesseract is a python wrapper for Google's Tesseract-OCR" -optional = false -python-versions = ">=3.7" -files = [ - {file = "pytesseract-0.3.10-py3-none-any.whl", hash = "sha256:8f22cc98f765bf13517ead0c70effedb46c153540d25783e04014f28b55a5fc6"}, - {file = "pytesseract-0.3.10.tar.gz", hash = "sha256:f1c3a8b0f07fd01a1085d451f5b8315be6eec1d5577a6796d46dc7a62bd4120f"}, -] - -[package.dependencies] -packaging = ">=21.3" -Pillow = ">=8.0.0" - [[package]] name = "pytest" version = "7.2.2" @@ -2024,6 +2013,7 @@ files = [ {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, @@ -2031,8 +2021,15 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, + {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, + {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, + {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, @@ -2049,6 +2046,7 @@ files = [ {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, @@ -2056,6 +2054,7 @@ files = [ {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, @@ -2972,6 +2971,16 @@ files = [ {file = "wrapt-1.14.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8ad85f7f4e20964db4daadcab70b47ab05c7c1cf2a7c1e51087bfaa83831854c"}, {file = "wrapt-1.14.1-cp310-cp310-win32.whl", hash = "sha256:a9a52172be0b5aae932bef82a79ec0a0ce87288c7d132946d645eba03f0ad8a8"}, {file = "wrapt-1.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:6d323e1554b3d22cfc03cd3243b5bb815a51f5249fdcbb86fda4bf62bab9e164"}, + {file = "wrapt-1.14.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ecee4132c6cd2ce5308e21672015ddfed1ff975ad0ac8d27168ea82e71413f55"}, + {file = "wrapt-1.14.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2020f391008ef874c6d9e208b24f28e31bcb85ccff4f335f15a3251d222b92d9"}, + {file = "wrapt-1.14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2feecf86e1f7a86517cab34ae6c2f081fd2d0dac860cb0c0ded96d799d20b335"}, + {file = "wrapt-1.14.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:240b1686f38ae665d1b15475966fe0472f78e71b1b4903c143a842659c8e4cb9"}, + {file = "wrapt-1.14.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9008dad07d71f68487c91e96579c8567c98ca4c3881b9b113bc7b33e9fd78b8"}, + {file = "wrapt-1.14.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6447e9f3ba72f8e2b985a1da758767698efa72723d5b59accefd716e9e8272bf"}, + {file = "wrapt-1.14.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:acae32e13a4153809db37405f5eba5bac5fbe2e2ba61ab227926a22901051c0a"}, + {file = "wrapt-1.14.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:49ef582b7a1152ae2766557f0550a9fcbf7bbd76f43fbdc94dd3bf07cc7168be"}, + {file = "wrapt-1.14.1-cp311-cp311-win32.whl", hash = "sha256:358fe87cc899c6bb0ddc185bf3dbfa4ba646f05b1b0b9b5a27c2cb92c2cea204"}, + {file = "wrapt-1.14.1-cp311-cp311-win_amd64.whl", hash = "sha256:26046cd03936ae745a502abf44dac702a5e6880b2b01c29aea8ddf3353b68224"}, {file = "wrapt-1.14.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:43ca3bbbe97af00f49efb06e352eae40434ca9d915906f77def219b88e85d907"}, {file = "wrapt-1.14.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:6b1a564e6cb69922c7fe3a678b9f9a3c54e72b469875aa8018f18b4d1dd1adf3"}, {file = "wrapt-1.14.1-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:00b6d4ea20a906c0ca56d84f93065b398ab74b927a7a3dbd470f6fc503f95dc3"}, @@ -3025,4 +3034,4 @@ pgsql = ["psycopg2-binary"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "5e0cc403c1ec022e6a75a4969dd97c55ce312daafd7d2024a3617eca25b2129f" +content-hash = "984d725b667165ebbf82eeea32a38e4f4891192fc8c6be60864d25d5b36e7970" diff --git a/pyproject.toml b/pyproject.toml index 79cb8a450b50..b1fba8d7f90d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,6 @@ passlib = "^1.7.4" psycopg2-binary = { version = "^2.9.1", optional = true } pydantic = "^1.10.4" pyhumps = "^3.5.3" -pytesseract = "^0.3.9" python = "^3.10" python-dateutil = "^2.8.2" python-dotenv = "^1.0.0" diff --git a/tests/data/images/test-ocr.png b/tests/data/images/test-ocr.png deleted file mode 100644 index 1b699c9778d0b7b691845573347eac2e213664cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11513 zcmeI2XHb)0yY531X`<4*h)RhR4WSn$G(mc=0@Ay*P^733M7j{bPy&MVUV;!hqO{N< z^d`Lq2)!Nt@4NRtbI$C~XXec856@)gp3MEMN!DEJx_l%7#TS6bWd$`#;INLn% z@^iO&AZF#@0s#0-e zml{3XMnU)gw} zA*vIFB5pK^M)_?V5Hr}~-O7#*_VVlsNoLF8A>t^zbLrnnY!;E83p49~7mW=pNMVQp^K>vZlQ zID#}OeQL&)#(rOZHZD*jb?Q4h>z!3J|DAAck)MROY=yk&v9FIV8T>f_5akx%bR-hl zV%>H47?8Tn(KaMy$}LOlz7gqix&Be@HjvUNuWl)C*OwhSG9Bygx>FyK2*f&ldNv(7 zC^+Pd%(f9yYO2dTuwatLg?C$&Rvy46qh3S{SWzTezO?&<71W#fO*UTM3>L*n#o|gP zLUG3}^i1aagBY+R`leHXTUnqC5?v1rnB95Uc8sxMEX>w~YBcVQc}{byV=A@0DJe5$ zHT&-S5P|(I{3~m+E^M|Xi1}AJ`9qyf{i?F|b0Mv)c+lRF#!lr+5)@AK{ zckZz))t=wSv6<;PhK&X+hu&AG(NLGJ1rPf9pAO$qY$X#m2oyi-)4bSFXBS{YH2OJ^4Q(c87n%=3GXL8kFeq-YfeSy8$g)N0&7) zJABm?TLOi7xV_9bDTjiG&X3*n>(nC=6-vUu1~k9%>OusLZ+ESc%+U96@wQ_+NaR@! zr%Vm}kN<4X=ZNpF-|c43X4*bBxxz%fly=ox!o{c|BP_NbQhgzw#j!E$CiXJ-jz(%7 zjt@78FI0aTwuFm}$ zfu(qpR-Ck68+0}Y8~C<~xEIJ@JuztL21nL*w6~kc4rJno@-l<39DcZ@kjyh@>+e`FG<|c__)_Fd!Ff73V2L^Z4^%!vqxrm1nBdx|d{ty7G`O@tgzfcaO`K)SB`7U@xhVu$%<5D6nozX z!LM6E-+;dBbhw3-i>Ed;`=W32s@6+OPS+b8a3a#RhX!->s}li>WPJ>Zc!923#L2;Az&)$Pa?~KK{`^7w& zQs2ulw8Z&&>A}828KPWT5HF%#UA^M{R);H!W*Q^M=MSmp{Wkg`#1^OvpalS6{`tQ> zz49^%0Lm?N|JOms@s?*h{orw9;h2Yw68GyMjWu?hs+bMfWH10RreaD!q|kA7)YH^# z@HudB!}^g$=6Bpysu^d)os!Z>PWuNsTN)(}zbgo6TmN@sW%iFK>F#`^jbq7Rq(A!t z3;)tuLQ#gMFTHNk^%}{keaD369#a^S`TZ2CepI%^hesyQHn>(~d3dDzQ;|tFIzOCm#(sF;uP4v&u&o2KUOqR(wbEvL7e zvI@J@Ht|Z9kc{W{QKbW(ohg1XPN%WiCW+9r@{(a~%;6vQ@&&aYyq34?&n?bo@<2(I zbd{%CzI)C$nSWsxJ zXv(#~`}!?L4fc;sEWn#1Nh@QN@9o0GCI*wP!eeSZ$N%st*sFKCd_|)Q%do$cf1yV{L`!>va#DpmTc++U7^b6gFhd%}+uXPuz$agD?|Mdx0a^Nt#*L z7m7VXw2->s;C9NFeLeD*oWW-ZPl!j?Wq8y=oa}3}Z+USQHFqpaZI$Wo_L0D+4pjrl zjb#hWp}dz7+RB{aF)qPOQXT9rbEtHWl%pO*`Gt#>mx%`@dbI~lE#II2xz5`m)O7hA zd1tV!+o$t&A=W&5;B3HKFqc7?ZeobIcmjj^5_n~#uYA4t)`>O2);ju2M$?$wD=DDc z>~mW70Taz-C2f&Dzwq~-=sQPtQ&?trb-3w&gzbQYU0Nswe~a#3=~zB_%KC>ZsQT9t{e$n$@m)*Y z(nzejNQtfr4YNOw7+)caDM2=Gd9)7_G`Y-3?hw=M1NfsNvfUGkgK&qBF5rmI^ix-^IMA^Vab zl_@jpmrfdP;=ov^s)yX3&?hAB4uoTgv!Hi+odUY_&)sRQ>tbu|tlT|*QWx(oJR2Gahl0KDk!O~el3vZMP!tvue&^Nl8Pz6bd{Rhi9wQ>*&gzRrd(JS8)C8%{ zj^Wo8!n(XuE6z@l`+*~53D!)VO7Z+Bc}(4us?y_Yk-HSkDK6b4{fXd1leTUd&<{lv z(UFiDa|g`z5Ml@|bB2XJC@cwP&}MRNf5@py#h+hs)rof-tZRmKTTI#1mD-GP@N&%b zV{ap2totG}qLR`b<3*2`k~FVF8$6#^u3SFBxDFxHS-$Wo|0K*1el@kVx>o;Y?MN;A zurlzGTVFYfDVE*0(Du$}%Xo6NcQ8jC>OM)|Z~;Z7$cn3$i6Y-fJNpW%Al9)y&Ya$F zAWN{_Dft^m8&0ClAI=0?&}0`I-0eB5`KyhjCD2u5PMuU4Wmto&a6R-&#PR%N!zaS? zxQ=vfZ;nk?-;e zodHxtD?$}KCu<@*N3KCc*dn>@MZyXX+{`yck$4At9uioj60?pQG1PUx_dN6SoFSOU z+Cm1x&!MUpn*};tfR-jy-OWPgU$JL|Fl`V6MiQm&g|8I+ML*(8Hmw>tByFTxen#w` zuXu(@FZ2xT4XAF)?hkePQjgsoCu)&$I1VXedw1NJnZJEiI#<53@(^2WYxrtwMV%re z_x<^$8|VtVR5Gz+7LAX$)Rq7UCJGVH1YYN?{M=i7o+_H>XQZnB4dT5XRJSrq9O6Z0 zzz!u!-3R1uLsP?Ej$}oM32#12R+Bv{q8xlCgW%6|u`^6;B@Hn!3M6^zHG%BU3xdAq zw>$|sMcnP$WD2xVy+Z+*=iBC8b0syiTdNGH6XBgmfh_eVJ9$U}8m4c=rK^RiY-hV!#2W0co=@;Fj{CY zo)FyMBJHjEmmBDZ{PWt@AMdZ-P_45mR zf|#-0e&pEoIn**6Bj}YZG0k;)6>bJ6IVn|zW+T!clPc9k49A>bdCc?QKPYsj5ZNqs zP(=VH+XOuE|1M7hetLAav+aow=)MXS?)hv{`f~(=Xy%N zmIP4*s@4THKm#w28Stx_81KG2Zq8EZ^jFG~x{B-7%}XV7U}~G@+9qy|>dm{=<+0&c zrKetA@izTeVY+-9LldW3qUSMVn?L)H`~3MS;yLfMY5!n<1*c##2^*K;lxmoa*mhkM4AX?T>ZB<{gUF|I%A2U*&IMpLt*5S%B50~uYiybS;-K{_LdX_F{xmKSc(1P)KF|+J< zmu>c^hxe}3DQDE)Bv;b8<>UTTA8>neh?SA)t#wsxAwr0d@cc1RDm^}Hs)~tYypo9) zm8jBNh;EMF_~L`zc*N5CEjt#E6y{mic&pug_81v=qoYyX?N`#LrDS4S1wIcFTYU<2 z)3U11-u1boa=*W#3)rq9!QT@QL)YX!+Ml9Fc|V+)Jq`)CKdWin;n3COG(AIG1w3mm zB#!2PIQE`7*b%d97*rPLBXvkZ)?TT> z90qCzQbzN)6*bKHCBFYjY4<FJqc(uI`(;bd^^E)&=#UMZ+{yYMY?5*H2^OZ*R_h z6@30<#;oFP>T&m3UzHiZd18oNv-qT0|JrL5;k8rcL1D15$%xd{nOwJ#%W|09*psE? zmqh$iadQJKZ|0zOE2I8HWn#Wf`kr&rmGsRS$Pl>B#nkPDI%YJ=6W>Rqvax9kBqBn75SWUZRZKZ98NL3pt$pe#%rZA-=Mg7MI_RbicbV_)O}wN~ z8`jEz=Rjk0NwB>}xq_j%FGtLw1~}m}eE7#M@mYDt-;3RB*&5hDm24TkAFI-pwmY_XwVBw?F6G?rwZRzz8HD1Twetf>T zZ{H?aomn^5ll$Ryn%lm?2(PLuztuALeAZ^)pn`hj9Glh$U^Ux#Mz(xB@AoIZX(h+1z#ceug}doD8$KVzCo?bMdFtt zX7>r#tQzize5Axw`l0c7r zx{;TO6g3DrB~^+{)aPAZz1S#k{LNL&{m6fJngK)`YrVG!uQVwBN$9iSrv(V1A`>&* z8!lb!APPCQco@UT@)%{Sl?^jQeo1+753^fvgMR)IQ)z)t2wz~R)Rbsy_R+e5 zpG)cjQc*E0Wjj$BAipOv&Wa}^4Ab6JuoB^8b>$yv=LW&rC+Ej=U($jaTF3n1t@rLo zTV`idJ$)p8qyF<=XefzR7uSU9cAwr&E8*|rSl^`Ex58^O5vG1Q<;n_Op(`DsD&suK=8zU^ zPzfsyx%Sd%-))*Ob^I;Z@;=tV3FQI3wv`=1_Q}iM)>7!I+Dh!Z`Sh)g1~p`eWuRy^MWoL$NypQ&csSj{sVT zCn%WRXUn%F&>4Gx&Q!a9uhH=72EU8);-4FU{a z2LF(9k}OtRHg-~LcAMe?b}i7!zy-f3COg6m*l#rh-F@W4;mR$+w%pAh!5bNzNrf@Z zO*0e^+EYrh7&+54xQj0a156%{)Xv&q{T5g+vTbf5;PFUHpAB zI&knCdQJ88lco(u30~zEzfa5i+iYTo`6wrTHETWvc?e1z!}+?zOG^rW9hBw}T~2sw;_!X4;-0QtQXCOzPtRE*R<8@LQ0O0`u|PP^26I z4)~7bsciLoL!=6aUL6;Yn7iFUlyRt-*%KLC28zSL1;1O?{jLXQdZi)3flX`4d;z)v zxeZ+c0XfMWZ`FdI@v^W&xO8Py^-BCa)B5Py^Z&@p$P$qDwd4gC?Yd1c{k4EGya0p! zU#HUWu^av&UpPB`Ueo(Q@d4hN%cV6!b@PdvSv8J^YzK=&c1ckb|AQ#kHwB)XN(CwiBEDaQupMwG|xlt zzE+_I`CLY|-S*5_D=L?1(1G75ZLF<*k4Qj^_fTcQ>AB}=I+I#~u)_TnL-pMm{4+9f z-3uU|0ipwIAxm%>Wim@GITT4w7p55EG11WyuxScaE*K#^d->E8#4@9AbZXENzR1I$ zVN3~^xK*_ay7e7HqsQFDaTV`!?~ekPs+Z5x)1`Gqoe74V$(620w~6|J>>QiqAh-lCrVCc6;8 zIog@Hkq=FTO7+;mNzKwYEV_Lj}>21Kuo>YQ@-Jx%p>Wwby;x_(CJ(d4TJ-E`m zOd2{r>FfA1i_vHM*X z701LEE(W(+ScHh9xyN~Ay@Ln*v+IlH4RKO8Tk<^Ob1ikZEW1m)9Qb<`~ZE&B+ z@?6;3br3%FlLn}8O65lv>7UMtPagMJ#G^9I*U!gy^s880E~^Ys17HfxgAZkcpk^G( z+O_vA`!Bx00~@8^T^D@#?&o>IE%9xK4V#@@#C4<3CsYfwT#hM@(P1NaYUmh5@rd#z z^vwuUcP{ME{>!tnTDF<|JbEn>&)?S7a3wanY|QJr8T==d$;+vGwC6fCJ$(jpe01LH zTNnAMfl8a+)2jh?jY(mhcS$V^9P52N!{xTpbwu6@d#hP=A`weoY$01M#{PZsfiV~(z&;6vMtj;63zK#ZgsABD zj4)WN75HA4PtU*-AHR0yLy6JKeld7MK;d$EaN7G5^|SQoToARjC^)nR>#cE5!qAhh zZo9~Og3y~zQiCboV@bj_?0oIV%um=lAvT(@#gwE#xD!ht_qG7)pfAW-i*78}jSrP= zXwD}h7UZDuk~;c4HPxW?Gs}*vKvCF&ZPW!Dr0XrvDSvRSL*?OWHV?c=M7JOg{L6N3 zn8QWkkR!J5E}a7%N~|*==kpIT!(nDcq8z5+B+ohhJL>Cz zf6wF-0#QA*$7FJFv0j~6K%vahAjsYp_o6iXnz0=;IlX1{nlMMtnf&jO4tuc_*c_TZErGzRd*Id zI^VJQSDTGlqNCnh7g6a3IrQBT^=Tk7jg2Ripdq~!^LH5&ZZSUCzv89g`Zh&9Ib@dK zS0=_7wEG-^e~?uomMIg^#+&FY#lNliM+BH)2^lRe=ook+H32<(#yi)d--kYxW-5I0 z0PbBhUyxj9WA0Y1!Ph=8QXcu~0fTL|xpyfv)me*q<1%!OPRiFnHuSLWqI+NliwBxk zWpQe8r))Y|I%R|U(g=C~KGCqkHnQ^09tU2X|Cd#M@b^EhGOXg~E}|8c+S@o6rT^?z z8(sN<^9VAPsz{|elYSl*SZ z_&3?F&6%eGVOO$tw~bS@rQY++gIUf@N<3S$hL|1S)n=^}=H||VOWttQPDlE-JJ>k) zyUt>v{C2;!uT;FLg-r-xjyZFmP}0k<>-%oe-+!nU2!1E_V~U*Vc!|HPDGL#3w-`1g z@ae!8u8rAWpm~?sL>^8MV#fo2gWhO@5d&UiI#RpGg~VHwRp|nz>Y5sKaVQ4JfMMR` zI(JC;U_*oMqjPps0xqrec0kM95x>*I$h^#o$$%iATQ5o%q3AX8e?|v)Zy46UXXHG1 zTCY~SUqE1xTXu}ZheDmNIOfX&Q}A^^jkFuJqx|Su`e4F4lBjUTGikq*ZFt~^k2eEO zLhW5EVpbebm>9DTDo>BTGll;CT$qpR>47`Re~sJ8sa|qi|Nf}X#g38XOO`O!5E8-W z`rSIO&l+qk8cqkbYiqT??EdQYY3?$n2{*SnNP6Vjbm;nt>B}lY2_MexG&CJHO6sZI z5{~$m8#)Su0IPr4;&YFFEWrJ@%|hhJPTV+z^Y|K4n>Ech@ae-hK2qmk7)=F6XASNQ zl_xf{3?=`fpK@J@oh2JMoJ&xb6yD@0RIq4WTI5B3AV(hRTyMeaTAl9ukz~7c(cd*8 zSaSC}(+*}$jQ5LJrG5#WvYJ=Q4i*)(ajk?rCet`T6=HgtW@3A5KJ$$usKSuiQNPtd z!rI;TCL6b`t7AYCq>#H89lob{>Kosi=NQ960TIpco;6cq=Soh2)(v=i&A^wuI@V<= zo%Na`OPswrjho9ZYd(J&)qGzH+%mtv?vR^vSN(73&r7;}yw>s^l!S zHaK*LxxblEMgZ-z)(rEWWh26ZfyrlAlk3g?awazsLZ+-4Ehu1M#5DEdtZ}6*tjamO z;4S}Xwi(2($55e=D_LoxJPgt=(%`n)ba7$BGpb)DB}>rHsN_UQPyT>UUq;{`%Xv%?zB?xio0g!gvz7R#t`K$<1ajGN7f zV(r=Oea8hv9uSy}+oleec{-x2A0Mu8NuijC%RupZ`pxuOAhJJS(k;N!ownVkHYR=( z1VpQ!LU${42&(}a$SflvcgJz1$t})e?Eq!*In43vhO<_aW$lVE*@yLihkM&2p++Nt z7;sJb_Hvets7)bQW0>wvDEj7fPS8O;_T+bt9-hb{lFV#n`QeeRu!mvstk5>#mh zdpm(OSsKzE6wU3)&%xs#&l7F(qz;@HnMK>TV;jf)0aM5Avc~!aZ&%Hnt6mby{36>+ z&DOiZbZrX19tg%7^`xIfy&)8$ZAZbghVNYmr6m^GHrtK5FzOsEH^3^}oyAc8WsdFX4G?fkZZ#P%4~A;(k*6pU_3E5HyzdMD zLdMuan6^$>r`*yK>3&Kv5`WEnUz$)TRqC&B2<`F>-em}Jzxd6esTpxIzSigmCKCIW zi(YS0YThM%bR&MNuR{o?9nEVN6Si;W@J85DZ)E%D$Bt$3 zAw?DhtMcg8vllkbb}ogVF-7}8UqasSmxbTk?IkXryPTVAxH=cu_BIGGc$77oPTqh~7MRS2?VII1=p3tyzz0kZ>q7`@ z=noY(ArH>CMHVJgYuYO~pU8WoUee*C4ZmqvR`Wd^$8iVRCHG|d#rn_k|_AGgU@?j zhT_=c(?89HS*y{zS1g9NvbqtmolVf89Rh=Ks{am@^417#g}K&m>`WJkR)y0~FIv1x zyuO<>7ZqsQ0BjXNt%aa?mK3G--XC==9yl)HlQ`{v*a)r@@lrwyl&}rp>ojqv%3W_+ z5Bi#HZc_q5cZBvlQy`VI`Ojmd*78KnTE_62=aNo;=*C>0Vez6oYqlKoW;mlU*n?tzG*u?JNv|eiS0g8fLwMhFn$k6T?#K3=FRGJG?2jLIT||h+(BXd z5;xHB58ANWx{Prgp8@0Z(Pab`_>%ZicW}|zUZBRsbG?(w<9DJt>`Gqek!90Pw7)}h zHE@2=PaX`6O1~#l?ks}3`^}DYZ7t$Nf?A}v8{EBPg@&Zv2i$u1N2%#)Lp^6*|leUxpqaD=<|wGB@!f9mYE ziYEz1@{CccY~Q&vlVx_?6W?N79HpJ;s_XKOLiX?bN3-2>NK3E$lMwB_MFN%TrIKg& zNX1|T4_?+`<20#i9YYXeB2Xp5-`D6SXN!Q}UxNrzTq2K?AH2QIT$oISKX}2EM40)9 zZ0D^zNz~ul{- Date: Fri, 15 Dec 2023 09:05:28 -0600 Subject: [PATCH 007/170] hotfix: disable cache (#2848) --- .github/workflows/partial-builder.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/partial-builder.yml b/.github/workflows/partial-builder.yml index 2af0f128f714..46ebc41a9567 100644 --- a/.github/workflows/partial-builder.yml +++ b/.github/workflows/partial-builder.yml @@ -59,5 +59,7 @@ jobs: build-args: | COMMIT=${{ github.sha }} # https://docs.docker.com/build/ci/github-actions/cache/#github-cache - cache-from: type=gha - cache-to: type=gha,mode=max + # TEMP: Disable cache to possible fix missing LDAP issues + # https://github.com/mealie-recipes/mealie/issues/2847 + # cache-from: type=gha + # cache-to: type=gha,mode=max From 46c1a2f0b806af3db833b3743ac1bf0e53087a8b Mon Sep 17 00:00:00 2001 From: Carter <35710697+cmintey@users.noreply.github.com> Date: Fri, 15 Dec 2023 11:38:09 -0600 Subject: [PATCH 008/170] add libldap-2.5 to runtime dependencies (#2849) --- docker/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/Dockerfile b/docker/Dockerfile index ee422ff643eb..919d27b7d007 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -89,6 +89,7 @@ RUN apt-get update \ gosu \ iproute2 \ libldap-common \ + libldap-2.5 \ && rm -rf /var/lib/apt/lists/* # copying poetry and venv into image From 2236a93a91af204f3873011ab86a2b2dba8db03b Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Fri, 15 Dec 2023 16:03:12 -0600 Subject: [PATCH 009/170] New translations en-us.json (Norwegian) (#2851) --- frontend/lang/messages/no-NO.json | 172 +++++++++++++++--------------- 1 file changed, 86 insertions(+), 86 deletions(-) diff --git a/frontend/lang/messages/no-NO.json b/frontend/lang/messages/no-NO.json index dc07cf56f889..671e772c6a64 100644 --- a/frontend/lang/messages/no-NO.json +++ b/frontend/lang/messages/no-NO.json @@ -188,7 +188,7 @@ "last-made": "Sist laget", "learn-more": "Lær mer", "this-feature-is-currently-inactive": "Denne funksjonen er for øyeblikket deaktivert", - "clipboard-not-supported": "Utklippstavlen støttes ikke", + "clipboard-not-supported": "Utklippstavle støttes ikke", "copied-to-clipboard": "Kopiert til utklippstavle", "your-browser-does-not-support-clipboard": "Nettleseren din støtter ikke kopiering til utklippstavle", "copied-items-to-clipboard": "Ingen elementer kopiert til utklippstavlen|Ett element kopiert til utklippstavlen|{count} elementer til kopiert til utklippstavlen", @@ -225,25 +225,25 @@ "keep-my-recipes-private-description": "Setter gruppen din og alle oppskrifter som standard til privat. Du kan alltids endre dette senere." }, "manage-members": "Administrer medlemmer", - "manage-members-description": "Administrere rettighetene til medlemmene i dine grupper. {manage} gir brukeren tilgang til data-administrasjonssiden {invite} mulighet til å generere invitasjonslenker for andre brukere. Gruppeeiere kan ikke endre egne tillatelser.", + "manage-members-description": "Administrer rettighetene til medlemmene i gruppene dine. {manage} lar brukeren få tilgang til dataadministrasjonssiden. {invite} lar brukeren generere invitasjonslenker for andre brukere. Gruppeeiere kan ikke endre egne tillatelser.", "manage": "Administrer", "invite": "Inviter", "looking-to-update-your-profile": "Ønsker du å oppdatere profilen din?", "default-recipe-preferences-description": "Dette er standardinnstillingene når en ny oppskrift blir opprettet i gruppen din. Disse kan endres for individuelle oppskrifter i oppskriftsmenyen.", - "default-recipe-preferences": "Standard Oppskriftsinnstillinger", + "default-recipe-preferences": "Standard oppskriftsinnstillinger", "group-preferences": "Gruppeinnstillinger", "private-group": "Privat gruppe", - "private-group-description": "Hvis din gruppe settes til privat, vil alle instillinger setter til standard. Dette overstyrer en individuell oppskrifter offentlige innstillinger.", + "private-group-description": "Når du setter gruppen din til privat, vil alle offentlige visningsalternativer tilbakestilles til standardverdiene. Dette overskriver individuelle oppskrifters offentlige visningsinnstillinger.", "allow-users-outside-of-your-group-to-see-your-recipes": "Tillat brukere utenfor gruppen å se oppskriftene dine", - "allow-users-outside-of-your-group-to-see-your-recipes-description": "Når aktivert kan du bruke en lenke for offentlig deling til å dele bestemte oppskrifter uten å autorisere brukeren. Når deaktivert kan du bare dele oppskrifter med brukere i gruppen din eller med en forhåndsgenerert privat link", + "allow-users-outside-of-your-group-to-see-your-recipes-description": "Når aktivert, kan du bruke en offentlig lenke for å dele spesifikke oppskrifter uten å autorisere brukeren. Når deaktivert, kan du kun dele oppskrifter med brukere som er i gruppen din eller med en forhåndsgenerert privat lenke", "show-nutrition-information": "Vis ernæringsinformasjon", "show-nutrition-information-description": "Når aktivert vil ernæringsinformasjonen bli vist på oppskriften hvis tilgjengelig. Hvis det ikke finnes noen ernæringsinformasjon tilgjengelig vil ikke ernæringsinformasjonen vises", "show-recipe-assets": "Vis oppskriftsressurser", "show-recipe-assets-description": "Når aktivert, vil oppskriftsressurser bli vist på oppskriften hvis de er tilgjengelige", - "default-to-landscape-view": "Standard liggende visning", + "default-to-landscape-view": "Sett landskapsvisning som standard", "default-to-landscape-view-description": "Når aktivert, vil oppskriftsoverskriften vises i landskapsvisning", - "disable-users-from-commenting-on-recipes": "Deaktiver brukere fra å kommentere på oppskrifter", - "disable-users-from-commenting-on-recipes-description": "Skjuler kommentarfeltet på oppskriftssiden og deaktiverer kommentarer", + "disable-users-from-commenting-on-recipes": "Deaktiver muligheten for at brukere kan kommentere på oppskrifter", + "disable-users-from-commenting-on-recipes-description": "Skjuler kommentarfeltet på oppskriftssiden og deaktiverer kommentering", "disable-organizing-recipe-ingredients-by-units-and-food": "Deaktiver organisering av oppskriftsingredienser ved enheter og matvarer", "disable-organizing-recipe-ingredients-by-units-and-food-description": "Skjuler matvare-, enhet- og mengdefelt for ingredienser og behandler ingredienser som rene tekstfelt.", "general-preferences": "Generelle innstillinger", @@ -252,7 +252,7 @@ "report-with-id": "Rapport-ID: {id}", "group-management": "Gruppeadministrasjon", "admin-group-management": "Admin gruppeadministrasjon", - "admin-group-management-text": "Endringer i denne gruppen vil umiddelbart bli reflektert.", + "admin-group-management-text": "Endringer i denne gruppen vil gjenspeiles umiddelbart.", "group-id-value": "Gruppe-ID: {0}" }, "meal-plan": { @@ -289,67 +289,67 @@ "dinner": "Middag", "type-any": "Enhver", "day-any": "Enhver", - "editor": "Redigering", - "meal-recipe": "Måltid oppskrift", - "meal-title": "Navn på måltid", - "meal-note": "Måltid Notat", + "editor": "Redigeringsverktøy", + "meal-recipe": "Oppskrift på måltid", + "meal-title": "Tittel på måltid", + "meal-note": "Notat for måltid", "note-only": "Kun notat", "random-meal": "Tilfeldig måltid", - "random-dinner": "Tilfeldig Middag", - "random-side": "Tilfeldig Tilbehør", + "random-dinner": "Tilfeldig middag", + "random-side": "Tilfeldig tilbehør", "this-rule-will-apply": "Denne regelen vil gjelde for {dayCriteria} {mealTypeCriteria}.", "to-all-days": "til alle dager", - "on-days": "på {0}s", + "on-days": "på {0}er", "for-all-meal-types": "for alle måltidstyper", "for-type-meal-types": "for {0} måltidstyper", "meal-plan-rules": "Regler for måltidsplan", "new-rule": "Ny regel", "meal-plan-rules-description": "Du kan opprette regler for automatisk valg av oppskrifter for dine måltidsplaner. Disse reglene brukes av serveren til å bestemme det tilfeldige utvalget av oppskrifter som skal velges fra når det opprettes måltidsplaner. Vær oppmerksom på at hvis regler har de samme begrensningene for dag/type, vil kategoriene til reglene bli slått sammen. I praksis er det unødvendig å opprette duplikater av regler, men det er mulig å gjøre det.", "new-rule-description": "Ved opprettelse av en ny regel for en måltidsplan kan du begrense regelen til å gjelde for en bestemt ukedag og/eller en bestemt type måltid. For å ta i bruk en regen alle dager eller alle måltider kan du sette regelen til \"Enhver\" som gjelder for alle mulige verdier for dag- og/eller måltidstyper.", - "recipe-rules": "Oppskrift Regler", + "recipe-rules": "Regler for oppskrifter", "applies-to-all-days": "Gjelder for alle dager", - "applies-on-days": "Gjelder på {0}s", + "applies-on-days": "Gjelder på {0}er", "meal-plan-settings": "Innstillinger for måltidsplan" }, "migration": { - "migration-data-removed": "Migrasjonsdata er fjernet", - "new-migration": "Ny migrering", + "migration-data-removed": "Overføringsdata er fjernet", + "new-migration": "Ny overføring", "no-file-selected": "Ingen fil valgt", - "no-migration-data-available": "Ingen migrasjonsdata tilgjengelig", - "previous-migrations": "Tidligere migreringer", - "recipe-migration": "Oppskriftsmigrering", + "no-migration-data-available": "Ingen overføringsdata tilgjengelig", + "previous-migrations": "Tidligere overføringer", + "recipe-migration": "Oppskriftsoverføring", "chowdown": { "description": "Overfør data fra Chowdown", - "description-long": "Mealie nativt støtter chowdown depotet. Last ned kodelageret som en .zip-fil og last det opp nedenfor.", + "description-long": "Mealie støtter Chowdown-arkivformatet. Last ned kodearkivet som en .zip-fil og last den opp nedenfor.", "title": "Chowdown" }, "nextcloud": { - "description": "Migrer data fra en Nextcloud Cookbook instans", - "description-long": "Nextcloud oppskrifter kan importeres fra en zip-fil som inneholder dataene lagret i Nextcloud. Se mappestrukturen for eksempel nedenfor for å sikre at oppskriftene kan importeres.", + "description": "Overfør data fra en Nextcloud Cookbook-instans", + "description-long": "Oppskrifter fra Nextcloud kan importeres fra en zip-fil som inneholder dataene lagret i Nextcloud. Se eksempelet på mappestrukture nedenfor for å sikre at oppskriftene kan importeres.", "title": "Nextcloud Cookbook" }, "copymethat": { - "description-long": "Mealie kan importere oppskrifter fra Copy Me. Eksporter oppskrifter i HTML-format, deretter last opp .zip-filen under.", - "title": "Copy Me That oppskriftsbehandlingen" + "description-long": "Mealie kan importere oppskrifter fra Copy Me That. Eksporter oppskrifter i HTML-format, last deretter opp .zip-filen under.", + "title": "Copy Me That oppskriftsbehandler" }, "paprika": { "description-long": "Mealie kan importere oppskrifter fra Paprika. Eksporter oppskriftene fra Paprika, endre filnavnutvidelsen til .zip og last den opp nedenfor.", - "title": "Paprika Oppskriftsbehandler" + "title": "Paprika oppskriftsbehandler" }, "mealie-pre-v1": { "description-long": "Mealie kan importere oppskrifter fra Mealie fra versjoner eldre enn v1.0. Eksporter oppskriftene fra din gamle versjon og last opp zip-filen under. Merk at bare oppskrifter kan importeres fra eksporten.", "title": "Mealie Pre v1.0" }, "tandoor": { - "description-long": "Mealie kan importere oppskrifter fra Tandoor. Eksporter dataene i \"Standard\"-formatet, deretter last opp .zip-formatet nedenfor.", + "description-long": "Mealie kan importere oppskrifter fra Tandoor. Eksporter dataene i \"Standard\"-formatet, last deretter opp .zip-formatet nedenfor.", "title": "Tandoor oppskrifter" }, - "recipe-data-migrations": "Oppskriftsmigrering", + "recipe-data-migrations": "Overføring av oppskrifter", "recipe-data-migrations-explanation": "Oppskrifter kan overføres fra et annet støttet program til Mealie. Dette er en flott måte å komme i gang med Mealie på.", - "choose-migration-type": "Velg migrasjonstype", + "choose-migration-type": "Velg type overføring", "tag-all-recipes": "Merk alle oppskrifter med {tag-name}-emneord", - "nextcloud-text": "Nextcloud oppskrifter kan importeres fra en zip-fil som inneholder dataene lagret i Nextcloud. Se mappestrukturen for eksempel nedenfor for å sikre at oppskriftene kan importeres.", - "chowdown-text": "Mealie nativt støtter chowdown depotet. Last ned kodelageret som en .zip-fil og last det opp nedenfor", + "nextcloud-text": "Oppskrifter fra Nextcloud kan importeres fra en zip-fil som inneholder dataene lagret i Nextcloud. Se eksempelet på mappestrukture nedenfor for å sikre at oppskriftene kan importeres.", + "chowdown-text": "Mealie støtter Chowdown-arkivformatet. Last ned kodearkivet som en .zip-fil og last den opp nedenfor", "recipe-1": "Oppskrift 1", "recipe-2": "Oppskrift 2", "paprika-text": "Mealie kan importere oppskrifter fra Paprika. Eksporter oppskriftene fra Paprika, endre filnavnutvidelsen til .zip og last den opp nedenfor.", @@ -374,9 +374,9 @@ "upload-individual-zip-file": "Last opp en individuell .zip-fil eksportert fra en annen Mealie-instans.", "url-form-hint": "Kopier og lim inn en link fra favorittoppskriftsnettstedet ditt", "view-scraped-data": "Vis skrapte data", - "trim-whitespace-description": "Trim innledende og etterfølgende mellomrom i tillegg til tomme linjer", + "trim-whitespace-description": "Fjern innledende og etterfølgende mellomrom i tillegg til tomme linjer", "trim-prefix-description": "Fjern første tegn fra hver linje", - "split-by-numbered-line-description": "Forsøk å dele et avsnitt ved å matche mønsteret '1)' eller '1.'", + "split-by-numbered-line-description": "Forsøk å dele opp et avsnitt ved å matche mønsteret '1)' eller '1.'", "import-by-url": "Importer en oppskrift via URL", "create-manually": "Opprett en oppskrift manuelt", "make-recipe-image": "Bruk dette som oppskriftsbilde" @@ -412,7 +412,7 @@ "description": "Beskrivelse", "disable-amount": "Deaktiver ingrediensmengde", "disable-comments": "Deaktiver kommentarer", - "duplicate": "Duplikat-oppskrift", + "duplicate": "Dupliser oppskrift", "duplicate-name": "Navn på den nye oppskriften", "edit-scale": "Rediger skala", "fat-content": "Fett", @@ -465,7 +465,7 @@ "add-recipe-to-mealplan": "Legg til oppskrift i måltidsplan", "entry-type": "Oppføringstype", "date-format-hint": "MM/DD/ÅÅÅÅ-format", - "date-format-hint-yyyy-mm-dd": "ÅÅÅÅ-MM-DD format", + "date-format-hint-yyyy-mm-dd": "ÅÅÅÅ-MM-DD-format", "add-to-list": "Legg til i liste", "add-to-plan": "Legg til i plan", "add-to-timeline": "Legg til på tidslinjen", @@ -501,15 +501,15 @@ "resume-timer": "Fortsett nedtellingen", "stop-timer": "Stopp nedtellingen" }, - "edit-timeline-event": "Endre hendelsestidslinjen", + "edit-timeline-event": "Endre tidslinjehendelser", "timeline": "Tidslinje", "timeline-is-empty": "Ingenting på tidslinjen ennå. Prøv å lage denne oppskriften!", "group-global-timeline": "{groupName} Global tidslinje", "open-timeline": "Åpne tidslinje", - "made-this": "Jeg har lagd dette", - "how-did-it-turn-out": "Hvordan ble det?", - "user-made-this": "{user} har lagd denne", - "last-made-date": "Sist lagd {date}", + "made-this": "Jeg har laget denne", + "how-did-it-turn-out": "Hvordan ble den?", + "user-made-this": "{user} har laget denne", + "last-made-date": "Sist laget: {date}", "api-extras-description": "Ekstramaterialer til oppskrifter er en viktig funksjon i Mealie API-en. De lar deg opprette egendefinerte JSON-nøkkel/verdi-par innenfor en oppskrift for å referere fra tredjepartsapplikasjoner. Du kan bruke disse nøklene til å gi informasjon for eksempel for å utløse automatiseringer eller egendefinerte meldinger som skal videreformidles til ønsket enhet.", "message-key": "Meldingsnøkkel", "parse": "Del opp", @@ -521,24 +521,24 @@ "edit-markdown": "Rediger Markdown", "recipe-creation": "Opprett oppskrift", "select-one-of-the-various-ways-to-create-a-recipe": "Velg en av de ulike måtene å opprette en oppskrift", - "looking-for-migrations": "Ser du etter migrasjoner?", - "import-with-url": "Importer med URL", + "looking-for-migrations": "Ser du etter overføringer?", + "import-with-url": "Importer via URL", "create-recipe": "Opprett oppskrift", - "import-with-zip": "Importer med .zip", + "import-with-zip": "Importer fra .zip-fil", "create-recipe-from-an-image": "Opprett oppskrift fra et bilde", - "bulk-url-import": "Importer flere URL'er", + "bulk-url-import": "Importer flere URL-er", "debug-scraper": "Feilsøk skraper", "create-a-recipe-by-providing-the-name-all-recipes-must-have-unique-names": "Opprett en oppskrift ved å angi navnet. Alle oppskrifter må ha unike navn.", "new-recipe-names-must-be-unique": "Oppskriftsnavn må være unike", "scrape-recipe": "Hent oppskrift", "scrape-recipe-description": "Scrape en oppskrift ved url. Angi Url-adressen for nettstedet du vil skrape, Og Mealie vil forsøke å skrape oppskriften fra det området og legge den til i samlingen din.", "import-original-keywords-as-tags": "Importer originale søkeord som emneord", - "stay-in-edit-mode": "Bli i skrivemodus", - "import-from-zip": "Importer fra Zip", + "stay-in-edit-mode": "Forbli i redigeringsmodus", + "import-from-zip": "Importer fra zip-fil", "import-from-zip-description": "Importer en enkelt oppskrift som ble eksportert fra en annen Mealie-instans.", "zip-files-must-have-been-exported-from-mealie": ".zip-filer må ha blitt eksportert fra Mealie", "create-a-recipe-by-uploading-a-scan": "Lag en oppskrift ved å laste opp en skanning.", - "upload-a-png-image-from-a-recipe-book": "Last opp et png bilde fra en oppskriftsbok", + "upload-a-png-image-from-a-recipe-book": "Last opp et png-bilde fra en oppskriftsbok", "recipe-bulk-importer": "Oppskrift masse-import", "recipe-bulk-importer-description": "Masse-oppskriftsimporten lar deg importere flere oppskrifter samtidig ved å sette i kø på kontrollstedene på bakgrunnen og kjøre oppgaven i bakgrunnen. Dette kan være nyttig ved først å migrere til Mealie, eller når du vil importere et stort antall oppskrifter.", "set-categories-and-tags": "Sett kategorier og emneord", @@ -546,11 +546,11 @@ "bulk-import-process-has-started": "Masseimport har startet", "bulk-import-process-has-failed": "Masseimport mislyktes", "report-deletion-failed": "Raport sletting feilet", - "recipe-debugger": "Oppskrift Feilsøking", + "recipe-debugger": "Oppskriftsfeilsøker", "recipe-debugger-description": "Hent URL-adressen til oppskriften du vil feilsøke og lim den inn her. URL-adressen vil bli skrapt av oppskrifts-skraperen og resultatene vil bli vist. Hvis du ikke ser noen data returnert, er ikke nettstedet du prøver å skrape støttet av Mealie eller skraper-biblioteket.", "debug": "Feilsøk", "tree-view": "Trevisning", - "recipe-yield": "Oppskrift uttak", + "recipe-yield": "Utbytte av oppskrift", "unit": "Enhet", "upload-image": "Last opp bilde", "screen-awake": "Hold skjerm på", @@ -592,13 +592,13 @@ "partial-backup": "Delvis sikkerhetskopi", "unable-to-delete-backup": "Kan ikke slette sikkerhetskopi.", "experimental-description": "Sikkerhetskopier er komplette øyeblikksbilder av databasen og datamappen til nettstedet. Dette inkluderer all data og kan ikke settes til å ekskludere delsett av data. Du kan tenke på dette som et øyeblikksbilde av Mealie på et bestemt tidspunkt. Disse fungerer som en databasesystemuavhengig måte å eksportere og importere data på, eller sikkerhetskopiere nettstedet til en ekstern plassering.", - "backup-restore": "Sikkerhetskopiering / gjenoppretting", + "backup-restore": "Gjenoppretting av sikkerhetskopi", "back-restore-description": "Gjenoppretting av denne sikkerhetskopien vil overskrive alle gjeldende data i databasen og i datamappen og erstatte dem med innholdet i denne sikkerhetskopien. {cannot-be-undone} Hvis gjenopprettingen er vellykket, vil du bli logget ut.", - "cannot-be-undone": "Denne handlingen kan ikke angres – brukes med forsiktighet.", + "cannot-be-undone": "Denne handlingen kan ikke angres – bruk med forsiktighet.", "postgresql-note": "Hvis du bruker PostGreSQL, vennligst gå igjennom {backup-restore-process} før du gjenoppretter.", "backup-restore-process-in-the-documentation": "sikkerhetskopiering/gjenoppretting prosess i dokumentasjonen", - "irreversible-acknowledgment": "Jeg forstår at dette er irreversibel, destruktiv og kan føre til tap av data", - "restore-backup": "Gjenopprett sikkerhetskopien" + "irreversible-acknowledgment": "Jeg forstår at denne handlingen er irreversibel, destruktiv og kan føre til tap av data", + "restore-backup": "Gjenopprett sikkerhetskopi" }, "backup-and-exports": "Sikkerhetskopier", "change-password": "Endre passord", @@ -653,7 +653,7 @@ "theme-updated": "Tema oppdatert", "warning": "Advarsel", "light-mode": "Lys modus", - "dark-mode": "Mørkemodus" + "dark-mode": "Mørk modus" }, "token": { "active-tokens": "AKTIVE TOKENS", @@ -677,23 +677,23 @@ "unorganized": "Uorganisert" }, "webhooks": { - "test-webhooks": "Test Webhooks", + "test-webhooks": "Test webhooks", "the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "URL-adressene som er oppført nedenfor vil motta webhooks med oppskriftsdata for måltidsplanen på dens planlagte dag. For øyeblikket vil webhooks utføres på", "webhook-url": "Webhook-URL", "webhooks-caps": "WEBHOOKS", "webhooks": "Webhooks", - "webhook-name": "Webhook navn", + "webhook-name": "Navn på webhook", "description": "Webhooks definert nedenfor vil utføres når et måltid defineres for dagen. På det planlagte tidspunktet blir webhook sendt med data fra oppskriften som er planlagt for dagen. Merke at av tidspunktet ikke er nøyaktig, webhooks utføres med et intervall på 5 minutter, dette betyr at webhooks utføres innen +/- 5 minutter etter planlagt tidspunkt." }, "bug-report": "Feilrapport", "bug-report-information": "Bruk denne informasjonen til å rapportere en feil. Å gi detaljer om installasjonen din til utviklerne er den beste måten å få løst problemene dine raskt på.", "tracker": "Sporingsagent", "configuration": "Konfigurasjon", - "docker-volume": "Docker volum", + "docker-volume": "Docker-volum", "docker-volume-help": "Mealie krever at frontend- og backend-konteinerene deler samme docker-volum eller lagringssted. Dette sikrer at frontend-kontaineren får tilgang til bilder og ressurser lagret på harddisken.", "volumes-are-misconfigured": "Volumene er feilkonfigurert.", "volumes-are-configured-correctly": "Volumene er riktig konfigurert.", - "status-unknown-try-running-a-validation": "Statusen er ukjent. Prøv å validere.", + "status-unknown-try-running-a-validation": "Statusen er ukjent. Prøv å kjør en validering.", "validate": "Valider", "email-configuration-status": "E-postkonfigurasjonsstatus", "email-configured": "E-post konfigurert", @@ -715,7 +715,7 @@ "ldap-ready": "LDAP klar", "ldap-ready-error-text": "Ikke alle LDAP-verdier er konfigurert. Dette kan ignoreres hvis du ikke bruker LDAP-autentisering.", "ldap-ready-success-text": "Alle obligratoriske LDAP-variabler er satt.", - "build": "Bygg", + "build": "Build", "recipe-scraper-version": "OppskriftsScraper versjon" }, "shopping-list": { @@ -740,11 +740,11 @@ "toggle-label-sort": "Bytt etikettsortering", "reorder-labels": "Omorganiser etiketter", "uncheck-all-items": "Fjern merking av alle elementer", - "check-all-items": "Velg alle elementer", + "check-all-items": "Marker alle elementer", "linked-recipes-count": "Ingen lenkede oppskrifter|En lenket oppskrift|{count} Lenkede oppskrifter", "items-checked-count": "Ingen elementer krysset av|Ett element krysset av|{count} elementer krysset av", "no-label": "Ingen etikett", - "completed-on": "Fullført på {date}" + "completed-on": "Fullført den {date}" }, "sidebar": { "all-recipes": "Alle oppskrifter", @@ -1020,12 +1020,12 @@ "share-recipe": "Del oppskrift", "default-30-days": "Standard 30 dager", "expires-at": "Utløper den", - "recipe-link-copied-message": "Lenke kopiert til utklippstavle" + "recipe-link-copied-message": "Oppskriftslenke kopiert til utklippstavle" }, "banner-experimental": { - "title": "Eksperimentelle Funksjoner", + "title": "Eksperimentelle funksjoner", "description": "Denne siden inneholder eksperimentelle og uferdige funksjoner. Beklager rotet.", - "issue-link-text": "Følg fremgangen din her" + "issue-link-text": "Følg vår fremgang her" }, "form": { "quantity-label-abbreviated": "Ant" @@ -1039,34 +1039,34 @@ "demo_password": "Passord: {password}" }, "ocr-editor": { - "ocr-editor": "redigere OCR", + "ocr-editor": "OCR-redigering", "toolbar": "Verktøylinje", - "selection-mode": "Velg modus", + "selection-mode": "Markeringsmodus", "pan-and-zoom-picture": "Panorer og zoom bilde", "split-text": "Splitt tekst", - "preserve-line-breaks": "Behold opprinnelige linjeskift", - "split-by-block": "Del på tekstblokk", - "flatten": "Flat ut, uavhengig av orginalformatering.", + "preserve-line-breaks": "Bevar opprinnelig linjeskift", + "split-by-block": "Del etter tekstblokk", + "flatten": "Flat ut uavhengig av orginalformatering", "help": { "help": "Hjelp", "mouse-modes": "Musemodus", - "selection-mode": "Valgmodus (standard)", - "selection-mode-desc": "Utvalgsmodus er hovedmodus som kan brukes til å legge inn data:", + "selection-mode": "Markeringsmodus (standard)", + "selection-mode-desc": "Markeringsmodusen er hovedmodusen som kan brukes til å legge inn data:", "selection-mode-steps": { - "draw": "Tegn et rektangel på teksten du vil velge.", + "draw": "Tegn en firkant på teksten du vil velge.", "click": "Klikk på valgfritt felt til høyre, deretter klikk tilbake på firkanten over bildet.", "result": "Den markerte teksten vil bli lagt inn i det tidligere valgte feltet." }, - "pan-and-zoom-mode": "Panér og Zoom modus", - "pan-and-zoom-desc": "Velg pan og zoom ved å klikke ikonet. Denne modusen gjør det lettere å bruke store bilder, ved at du kan zoome og flytte rundt på bildet.", - "split-text-mode": "Splitt tekstmodus", + "pan-and-zoom-mode": "Panorer- og zoommodus", + "pan-and-zoom-desc": "Velg panorer og zoom ved å klikke på ikonet. Denne modusen gjør det lettere å bruke store bilder ved at du kan zoome og flytte rundt på bildet.", + "split-text-mode": "Splitt-tekst-moduser", "split-modes": { "line-mode": "Linjemodus (standard)", - "line-mode-desc": "I linjemodus, vil teksten bli oppdelt ut i fra de orginale linjeskiftene. Denne modusen er nytting når man legger til ingredienslister i bulk der hver ingrediens er på egen linje.", - "block-mode": "Blokk modus", - "block-mode-desc": "I blokkmodus vil teksten bli delt i blokker. Denne modusen er nyttig når man legger inn istruksjoner i bulk, som vanligvis er skrevet i avsnitt.", + "line-mode-desc": "I linjemodus vil teksten bli oppdelt ut i fra de orginale linjeskiftene. Denne modusen er nyttig når man legger til ingredienslister i bulk der hver ingrediens er på egen linje.", + "block-mode": "Blokkmodus", + "block-mode-desc": "I blokkmodus vil teksten bli delt inn i blokker. Denne modusen er nyttig når du legger til instruksjoner i bulk som vanligvis er skrevet i avsnitt.", "flat-mode": "Flat modus", - "flat-mode-desc": "I flat modus vil teksten bli lagt til i det valgte oppskriftsfeltet uten noen linjeskift." + "flat-mode-desc": "I flat modus vil teksten bli lagt til i det valgte oppskriftsfeltet uten linjeskift." } } }, @@ -1136,7 +1136,7 @@ "personal-description": "Dette er innstillingene som er personlige for deg. Endringer her påvirker ikke andre brukere", "user-settings": "Brukerinnstillinger", "user-settings-description": "Administrer innstillingene, endre passordet og oppdater e-postadressen din", - "api-tokens-description": "Håndter dine API-tokens for tilgang fra eksterne programmer", + "api-tokens-description": "Administrer dine API-tokens for tilgang fra eksterne programmer", "group-description": "Disse elementene deles innad i gruppen din. Å redigere ett av dem vil endre det for hele gruppen!", "group-settings": "Gruppeinnstillinger", "group-settings-description": "Administrer felles gruppeinnstillinger som måltidsplan- og personverninnstillinger.", @@ -1148,7 +1148,7 @@ "notifiers-description": "Sett opp e-post- og pushvarsler som utløses av spesifikke hendelser.", "manage-data": "Administrer data", "manage-data-description": "Administrer dine matvarer og enheter (flere alternativer kommer snart)", - "data-migrations": "Datamigrering", + "data-migrations": "Dataoverføringer", "data-migrations-description": "Overfør eksisterende data fra andre programmer som Nextcloud Recipes og Chowdown", "email-sent": "Epost sendt", "error-sending-email": "Feil ved sending av e-post", @@ -1157,13 +1157,13 @@ "show-advanced-description": "Vis avanserte funksjoner (API-nøkler, webhooks og databehandling)", "back-to-profile": "Tilbake til profil", "looking-for-privacy-settings": "Leter du etter personverninnstillinger?", - "manage-your-api-tokens": "Håndter dine API-tokens", + "manage-your-api-tokens": "Administrer dine API-tokens", "manage-user-profile": "Administrer brukerprofil", "manage-cookbooks": "Administrere kokebøker", "manage-members": "Administrer medlemmer", "manage-webhooks": "Administrer webhooks", "manage-notifiers": "Behandle varslere", - "manage-data-migrations": "Håndter datamigreringer" + "manage-data-migrations": "Administrer dataoverføringer" }, "cookbook": { "cookbooks": "Kokebøker", From 36712cdb14638f2fa2cd3f6b07ec818a3ce963ad Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Sat, 16 Dec 2023 15:58:32 -0600 Subject: [PATCH 010/170] New Crowdin updates (#2855) * New translations en-us.json (Italian) * New translations en-us.json (Norwegian) * New translations en-us.json (Portuguese) --- frontend/lang/messages/it-IT.json | 2 +- frontend/lang/messages/no-NO.json | 206 +++++++++++++++--------------- frontend/lang/messages/pt-PT.json | 2 +- 3 files changed, 105 insertions(+), 105 deletions(-) diff --git a/frontend/lang/messages/it-IT.json b/frontend/lang/messages/it-IT.json index 881529568472..08f8232331a7 100644 --- a/frontend/lang/messages/it-IT.json +++ b/frontend/lang/messages/it-IT.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Come è venuto?", "user-made-this": "{user} l'ha preparato", "last-made-date": "Ultima Preparazione {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", + "api-extras-description": "Le opzioni extra delle ricette sono una caratteristica fondamentale dell'API Mealie. Consentono di creare json personalizzati con coppie di chiavi/valore all'interno di una ricetta a cui fare riferimento tramite applicazioni terze. È possibile utilizzare queste chiavi per inserire informazioni, per esempio per attivare automazioni oppure per inoltrare messaggi personalizzati al dispositivo desiderato.", "message-key": "Chiave Messaggio", "parse": "Analizza", "attach-images-hint": "Allega immagini trascinandole nell'editor", diff --git a/frontend/lang/messages/no-NO.json b/frontend/lang/messages/no-NO.json index 671e772c6a64..e19ae632b24d 100644 --- a/frontend/lang/messages/no-NO.json +++ b/frontend/lang/messages/no-NO.json @@ -46,7 +46,7 @@ "category-updated": "Kategori oppdatert", "uncategorized-count": "Ukategorisert {count}", "create-a-category": "Opprett en kategori", - "category-name": "Katergorinavn", + "category-name": "Navn på kategori", "category": "Kategori" }, "events": { @@ -65,10 +65,10 @@ "subscribed-events": "Abonnerte hendelser", "test-message-sent": "Testmelding sendt", "new-notification": "Ny varsel", - "event-notifiers": "Hendelsesvarslere", + "event-notifiers": "Hendelsesvarsler", "apprise-url-skipped-if-blank": "Apprise URL (hoppes over hvis tom)", "enable-notifier": "Aktiver varsleren", - "what-events": "Hvilke hendelser denne varsleren abonnere på?", + "what-events": "Hvilke hendelser skal denne varslingsagenten abonnere på?", "user-events": "Brukerhendelser", "mealplan-events": "Måltidsplanleggerhendelser", "when-a-user-in-your-group-creates-a-new-mealplan": "Når en bruker i gruppen din oppretter en ny måltidsplan", @@ -122,7 +122,7 @@ "message": "Melding", "monday": "Mandag", "name": "Navn", - "new": "Ny", + "new": "Legg til", "never": "Aldri", "no": "Nei", "no-recipe-found": "Ingen oppskrift funnet", @@ -180,7 +180,7 @@ "delete-with-name": "Slett {name}", "confirm-delete-generic-with-name": "Er du sikker på at du vil slette denne {name}?", "confirm-delete-own-admin-account": "Vær oppmerksom på at du holder på å slette din egen administrator-konto! Dette kan ikke angres og vil slette kontoen din permanent!", - "organizer": "Planlegger", + "organizer": "Organisator", "transfer": "Overfør", "copy": "Kopiér", "color": "Farge", @@ -251,7 +251,7 @@ "report": "Rapport", "report-with-id": "Rapport-ID: {id}", "group-management": "Gruppeadministrasjon", - "admin-group-management": "Admin gruppeadministrasjon", + "admin-group-management": "Gruppeadministrasjon", "admin-group-management-text": "Endringer i denne gruppen vil gjenspeiles umiddelbart.", "group-id-value": "Gruppe-ID: {0}" }, @@ -264,12 +264,12 @@ "end-date": "Sluttdato", "group": "Gruppe (Beta)", "main": "Hovedrett", - "meal-planner": "Planlegg måltid", + "meal-planner": "Måltidsplanlegger", "meal-plans": "Måltidsplaner", "mealplan-categories": "MÅLTIDSPLANKATEGORIER", "mealplan-created": "Måltidsplan opprettet", "mealplan-creation-failed": "Opprettelse av måltidsplan mislyktes", - "mealplan-deleted": "Måltidsplan Slettet", + "mealplan-deleted": "Måltidsplan slettet", "mealplan-deletion-failed": "Sletting av måltidsplan mislyktes", "mealplan-settings": "Måltidsplaninnstillinger", "mealplan-update-failed": "Oppdatering av måltidsplan mislyktes", @@ -330,11 +330,11 @@ }, "copymethat": { "description-long": "Mealie kan importere oppskrifter fra Copy Me That. Eksporter oppskrifter i HTML-format, last deretter opp .zip-filen under.", - "title": "Copy Me That oppskriftsbehandler" + "title": "Copy Me That Recipe Manager" }, "paprika": { "description-long": "Mealie kan importere oppskrifter fra Paprika. Eksporter oppskriftene fra Paprika, endre filnavnutvidelsen til .zip og last den opp nedenfor.", - "title": "Paprika oppskriftsbehandler" + "title": "Paprika Recipe Manager" }, "mealie-pre-v1": { "description-long": "Mealie kan importere oppskrifter fra Mealie fra versjoner eldre enn v1.0. Eksporter oppskriftene fra din gamle versjon og last opp zip-filen under. Merk at bare oppskrifter kan importeres fra eksporten.", @@ -342,7 +342,7 @@ }, "tandoor": { "description-long": "Mealie kan importere oppskrifter fra Tandoor. Eksporter dataene i \"Standard\"-formatet, last deretter opp .zip-formatet nedenfor.", - "title": "Tandoor oppskrifter" + "title": "Tandoor Recipes" }, "recipe-data-migrations": "Overføring av oppskrifter", "recipe-data-migrations-explanation": "Oppskrifter kan overføres fra et annet støttet program til Mealie. Dette er en flott måte å komme i gang med Mealie på.", @@ -355,8 +355,8 @@ "paprika-text": "Mealie kan importere oppskrifter fra Paprika. Eksporter oppskriftene fra Paprika, endre filnavnutvidelsen til .zip og last den opp nedenfor.", "mealie-text": "Mealie kan importere oppskrifter fra Mealie fra versjoner eldre enn v1.0. Eksporter oppskriftene fra din gamle versjon og last opp zip-filen under. Merk at bare oppskrifter kan importeres fra eksporten.", "plantoeat": { - "title": "Planlegg å spise", - "description-long": "Mealie kan importere oppskrifter fra plan å spise." + "title": "Plan to Eat", + "description-long": "Mealie kan importere oppskrifter fra Plan to Eat." } }, "new-recipe": { @@ -372,7 +372,7 @@ "recipe-url": "Oppskrifts-URL", "upload-a-recipe": "Last opp oppskrift", "upload-individual-zip-file": "Last opp en individuell .zip-fil eksportert fra en annen Mealie-instans.", - "url-form-hint": "Kopier og lim inn en link fra favorittoppskriftsnettstedet ditt", + "url-form-hint": "Kopier og lim inn en lenke fra nettstedet med favorittoppskriftene dine", "view-scraped-data": "Vis skrapte data", "trim-whitespace-description": "Fjern innledende og etterfølgende mellomrom i tillegg til tomme linjer", "trim-prefix-description": "Fjern første tegn fra hver linje", @@ -423,7 +423,7 @@ "insert-ingredient": "Sett inn ingrediens", "insert-section": "Sett inn avsnitt", "instructions": "Instruksjoner", - "key-name-required": "Nøkkelnavn påkrevd", + "key-name-required": "Navn på nøkkel er påkrevd", "landscape-view-coming-soon": "Landskapsvisning", "milligrams": "mg", "new-key-name": "Nytt nøkkelnavn", @@ -432,7 +432,7 @@ "nutrition": "Ernæring", "object-key": "Objektnøkkel", "object-value": "Objektverdi", - "original-url": "Opprinnlig URL", + "original-url": "URL-addresse til oppskrift", "perform-time": "Koketid", "prep-time": "Forberedelsestid", "protein-content": "Protein", @@ -468,7 +468,7 @@ "date-format-hint-yyyy-mm-dd": "ÅÅÅÅ-MM-DD-format", "add-to-list": "Legg til i liste", "add-to-plan": "Legg til i plan", - "add-to-timeline": "Legg til på tidslinjen", + "add-to-timeline": "Legg til tidslinje", "recipe-added-to-list": "Oppskrift er lagt til i liste", "recipes-added-to-list": "Oppskrifter lagt til listen", "recipe-added-to-mealplan": "Oppskrift er lagt til i måltidsplan", @@ -483,11 +483,11 @@ "toggle-section": "Legg til seksjon", "see-original-text": "Se opprinnelig tekst", "original-text-with-value": "Opprinnelig tekst: {originalText}", - "ingredient-linker": "Ingredienskobler", - "linked-to-other-step": "Koblet til et annet trinn", + "ingredient-linker": "Tilknytt ingredienser", + "linked-to-other-step": "Tilknyttet et annet steg", "auto": "Automatisk", "cook-mode": "Tilberedelsesmodus", - "link-ingredients": "Koble på ingredienser", + "link-ingredients": "Tilknytt ingredienser", "merge-above": "Slå sammen med steget over", "reset-scale": "Nullstill skala", "decrease-scale-label": "Reduser skala med 1", @@ -497,9 +497,9 @@ "timer": { "kitchen-timer": "Kjøkkentimer", "start-timer": "Start nedtelling", - "pause-timer": "Pause nedtellingen", - "resume-timer": "Fortsett nedtellingen", - "stop-timer": "Stopp nedtellingen" + "pause-timer": "Pause nedtelling", + "resume-timer": "Fortsett nedtelling", + "stop-timer": "Stopp nedtelling" }, "edit-timeline-event": "Endre tidslinjehendelser", "timeline": "Tidslinje", @@ -512,8 +512,8 @@ "last-made-date": "Sist laget: {date}", "api-extras-description": "Ekstramaterialer til oppskrifter er en viktig funksjon i Mealie API-en. De lar deg opprette egendefinerte JSON-nøkkel/verdi-par innenfor en oppskrift for å referere fra tredjepartsapplikasjoner. Du kan bruke disse nøklene til å gi informasjon for eksempel for å utløse automatiseringer eller egendefinerte meldinger som skal videreformidles til ønsket enhet.", "message-key": "Meldingsnøkkel", - "parse": "Del opp", - "attach-images-hint": "Legg til bilder ved å dra og slippe dem i editoren", + "parse": "Analyser", + "attach-images-hint": "Fest bilder ved å dra og slippe dem inn i redigereringsverktøyet", "drop-image": "Slipp bilde", "enable-ingredient-amounts-to-use-this-feature": "Aktiver ingrediensmengder for å bruke denne funksjonen", "recipes-with-units-or-foods-defined-cannot-be-parsed": "Oppskrifter med enheter eller matvarer som er definert kan ikke tolkes.", @@ -529,23 +529,23 @@ "bulk-url-import": "Importer flere URL-er", "debug-scraper": "Feilsøk skraper", "create-a-recipe-by-providing-the-name-all-recipes-must-have-unique-names": "Opprett en oppskrift ved å angi navnet. Alle oppskrifter må ha unike navn.", - "new-recipe-names-must-be-unique": "Oppskriftsnavn må være unike", - "scrape-recipe": "Hent oppskrift", - "scrape-recipe-description": "Scrape en oppskrift ved url. Angi Url-adressen for nettstedet du vil skrape, Og Mealie vil forsøke å skrape oppskriften fra det området og legge den til i samlingen din.", + "new-recipe-names-must-be-unique": "Navn på oppskrift må være unike", + "scrape-recipe": "Skrap oppskrift", + "scrape-recipe-description": "Skrap en oppskrift ved å bruke URL-en. Oppgi nettadressen til nettstedet du vil skrape, så vil Mealie forsøke å skrape oppskriften fra den siden og legge den til i samlingen din.", "import-original-keywords-as-tags": "Importer originale søkeord som emneord", "stay-in-edit-mode": "Forbli i redigeringsmodus", "import-from-zip": "Importer fra zip-fil", "import-from-zip-description": "Importer en enkelt oppskrift som ble eksportert fra en annen Mealie-instans.", "zip-files-must-have-been-exported-from-mealie": ".zip-filer må ha blitt eksportert fra Mealie", - "create-a-recipe-by-uploading-a-scan": "Lag en oppskrift ved å laste opp en skanning.", + "create-a-recipe-by-uploading-a-scan": "Opprett en oppskrift ved å laste opp en skanning.", "upload-a-png-image-from-a-recipe-book": "Last opp et png-bilde fra en oppskriftsbok", - "recipe-bulk-importer": "Oppskrift masse-import", - "recipe-bulk-importer-description": "Masse-oppskriftsimporten lar deg importere flere oppskrifter samtidig ved å sette i kø på kontrollstedene på bakgrunnen og kjøre oppgaven i bakgrunnen. Dette kan være nyttig ved først å migrere til Mealie, eller når du vil importere et stort antall oppskrifter.", - "set-categories-and-tags": "Sett kategorier og emneord", + "recipe-bulk-importer": "Masseimport av oppskrifter", + "recipe-bulk-importer-description": "Masseimport av oppskrifter lar deg importere flere oppskrifter samtidig ved å sette opp nettstedene i kø på serveren og kjøre oppgaven i bakgrunnen. Dette kan være nyttig når du først migrerer til Mealie, eller når du ønsker å importere et stort antall oppskrifter.", + "set-categories-and-tags": "Angi kategorier og emneord", "bulk-imports": "Masseimport", "bulk-import-process-has-started": "Masseimport har startet", "bulk-import-process-has-failed": "Masseimport mislyktes", - "report-deletion-failed": "Raport sletting feilet", + "report-deletion-failed": "Sletting av rapport mislyktes", "recipe-debugger": "Oppskriftsfeilsøker", "recipe-debugger-description": "Hent URL-adressen til oppskriften du vil feilsøke og lim den inn her. URL-adressen vil bli skrapt av oppskrifts-skraperen og resultatene vil bli vist. Hvis du ikke ser noen data returnert, er ikke nettstedet du prøver å skrape støttet av Mealie eller skraper-biblioteket.", "debug": "Feilsøk", @@ -553,7 +553,7 @@ "recipe-yield": "Utbytte av oppskrift", "unit": "Enhet", "upload-image": "Last opp bilde", - "screen-awake": "Hold skjerm på", + "screen-awake": "Hold skjermen på", "remove-image": "Slett bilde" }, "search": { @@ -623,7 +623,7 @@ "new-page": "Ny side", "notify": "Varsle", "organize": "Organiser", - "page-name": "Sidenavn", + "page-name": "Navn på side", "pages": "Sider", "profile": "Profil", "remove-existing-entries-matching-imported-entries": "Fjern eksisterende oppføringer som samsvarer med de importerte oppføringene", @@ -632,9 +632,9 @@ "settings-updated": "Innstillinger oppdatert", "site-settings": "Sideinnstillinger", "theme": { - "accent": "Utheving", + "accent": "Uthevet", "dark": "Mørk", - "default-to-system": "Standard", + "default-to-system": "Systemstandard", "error": "Feil", "error-creating-theme-see-log-file": "Feil under oppretting av tema. Se loggfil.", "error-deleting-theme": "Feil ved sletting av tema", @@ -643,11 +643,11 @@ "light": "Lys", "primary": "Primær", "secondary": "Sekundær", - "success": "Fullført", + "success": "Suksess", "switch-to-dark-mode": "Bytt til mørk modus", "switch-to-light-mode": "Bytt til lys modus", "theme-deleted": "Tema slettet", - "theme-name": "Temanavn", + "theme-name": "Navn på tema", "theme-name-is-required": "Navn på tema er påkrevd.", "theme-saved": "Tema lagret", "theme-updated": "Tema oppdatert", @@ -661,7 +661,7 @@ "api-tokens": "API-tokener", "copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Kopier dette tokenet til bruk med et eksternt program. Dette tokenet vil ikke kunne ses igjen.", "create-an-api-token": "Opprett et API-token", - "token-name": "Tokennavn", + "token-name": "Navn på token", "generate": "Opprett", "you-have-token-count": "Du har ingen aktive token.|Du har ett aktivt token.|Du har {count} aktive tokener." }, @@ -683,7 +683,7 @@ "webhooks-caps": "WEBHOOKS", "webhooks": "Webhooks", "webhook-name": "Navn på webhook", - "description": "Webhooks definert nedenfor vil utføres når et måltid defineres for dagen. På det planlagte tidspunktet blir webhook sendt med data fra oppskriften som er planlagt for dagen. Merke at av tidspunktet ikke er nøyaktig, webhooks utføres med et intervall på 5 minutter, dette betyr at webhooks utføres innen +/- 5 minutter etter planlagt tidspunkt." + "description": "Webhooks definert nedenfor vil utføres når et måltid defineres for dagen. På det planlagte tidspunktet blir webhook sendt med data fra oppskriften som er planlagt for dagen. Merk at tidspunktet ikke er nøyaktig og webhooks utføres med et intervall på 5 minutter. Dette betyr at webhooks utføres innenfor +/- 5 minutter etter planlagt tidspunkt." }, "bug-report": "Feilrapport", "bug-report-information": "Bruk denne informasjonen til å rapportere en feil. Å gi detaljer om installasjonen din til utviklerne er den beste måten å få løst problemene dine raskt på.", @@ -691,15 +691,15 @@ "configuration": "Konfigurasjon", "docker-volume": "Docker-volum", "docker-volume-help": "Mealie krever at frontend- og backend-konteinerene deler samme docker-volum eller lagringssted. Dette sikrer at frontend-kontaineren får tilgang til bilder og ressurser lagret på harddisken.", - "volumes-are-misconfigured": "Volumene er feilkonfigurert.", + "volumes-are-misconfigured": "Volumene er konfigurert feil.", "volumes-are-configured-correctly": "Volumene er riktig konfigurert.", "status-unknown-try-running-a-validation": "Statusen er ukjent. Prøv å kjør en validering.", "validate": "Valider", - "email-configuration-status": "E-postkonfigurasjonsstatus", + "email-configuration-status": "Status på konfigurasjon av e-post", "email-configured": "E-post konfigurert", - "email-test-results": "Email Test Results", + "email-test-results": "Testresultater for e-post", "ready": "Klar", - "not-ready": "Ikke klar - sjekk miljøvariabler", + "not-ready": "Ikke klar - kontroller konfigurasjonen", "succeeded": "Lyktes", "failed": "Mislyktes", "general-about": "Generelt om", @@ -708,15 +708,15 @@ "mealie-is-up-to-date": "Mealie er oppdatert", "secure-site": "Sikkert nettsted", "secure-site-error-text": "Server via localhost eller sikre med https. Utklippstavle og ytterlige nettleser-API-er vil muligens ikke fungere.", - "secure-site-success-text": "Tjenesten er tilgjengelig på localhost eller https", - "server-side-base-url": "Serverens sidebase URL", + "secure-site-success-text": "Tjenesten er tilgjengelig via localhost eller https", + "server-side-base-url": "Serverens URL", "server-side-base-url-error-text": "`BASE_URL` er fortsatt standardverdien på API-serveren. Dette vil forårsake problemer med varslingslenker som genereres på serveren for e-post osv.", "server-side-base-url-success-text": "Serverside-URL samsvarer ikke med standard", "ldap-ready": "LDAP klar", "ldap-ready-error-text": "Ikke alle LDAP-verdier er konfigurert. Dette kan ignoreres hvis du ikke bruker LDAP-autentisering.", "ldap-ready-success-text": "Alle obligratoriske LDAP-variabler er satt.", "build": "Build", - "recipe-scraper-version": "OppskriftsScraper versjon" + "recipe-scraper-version": "Versjon på oppskrift-scraper" }, "shopping-list": { "all-lists": "Alle lister", @@ -736,12 +736,12 @@ "are-you-sure-you-want-to-delete-this-item": "Er du sikker på at du vil slette dette elementet?", "copy-as-text": "Kopier som tekst", "copy-as-markdown": "Kopier som Markdown", - "delete-checked": "Slett avkrysset", + "delete-checked": "Fjern markerte elementer", "toggle-label-sort": "Bytt etikettsortering", "reorder-labels": "Omorganiser etiketter", - "uncheck-all-items": "Fjern merking av alle elementer", + "uncheck-all-items": "Fjern markering av alle elementer", "check-all-items": "Marker alle elementer", - "linked-recipes-count": "Ingen lenkede oppskrifter|En lenket oppskrift|{count} Lenkede oppskrifter", + "linked-recipes-count": "Ingen tilknyttede oppskrifter|En tilknyttet oppskrift|{count} tilknyttede oppskrifter", "items-checked-count": "Ingen elementer krysset av|Ett element krysset av|{count} elementer krysset av", "no-label": "Ingen etikett", "completed-on": "Fullført den {date}" @@ -803,12 +803,12 @@ "admin": "Administrator", "are-you-sure-you-want-to-delete-the-link": "Er du sikker på at du vil slette lenken {link}?", "are-you-sure-you-want-to-delete-the-user": "Er du sikker på at du vil slette brukeren {activeName} ID: {activeId}?", - "auth-method": "Autentisering metode", + "auth-method": "Autentiseringsmetode", "confirm-link-deletion": "Bekreft sletting av lenke", "confirm-password": "Bekreft passord", "confirm-user-deletion": "Bekreft sletting av bruker", "could-not-validate-credentials": "Kunne ikke validere påloggingsinformasjon", - "create-link": "Opprett link", + "create-link": "Opprett lenke", "create-user": "Opprett bruker", "current-password": "Gjeldende passord", "e-mail-must-be-valid": "E-post må være gyldig", @@ -817,7 +817,7 @@ "error-cannot-delete-super-user": "Feil! Kan ikke slette superbruker", "existing-password-does-not-match": "Eksisterende passord samsvarer ikke", "full-name": "Fullt navn", - "generate-password-reset-link": "Generer kobling for tilbakestilling av passord", + "generate-password-reset-link": "Generer lenke for tilbakestilling av passord", "invite-only": "Kun inviterte", "link-id": "Lenke-ID", "link-name": "Lenkenavn", @@ -832,7 +832,7 @@ "password-updated": "Passord oppdatert", "password": "Passord", "password-strength": "Passordet er {strength}", - "please-enter-password": "Angi nytt passord.", + "please-enter-password": "Vennligst angi nytt passord.", "register": "Registrér", "reset-password": "Tilbakestill passord", "sign-in": "Logg inn", @@ -854,7 +854,7 @@ "users-header": "BRUKERE", "users": "Brukere", "user-not-found": "Bruker ikke funnet", - "webhook-time": "Webhooks Tidsbruk", + "webhook-time": "Webhook-tid", "webhooks-enabled": "Webhooks aktivert", "you-are-not-allowed-to-create-a-user": "Du har ikke rettigheter til å opprette en bruker", "you-are-not-allowed-to-delete-this-user": "Du har ikke rettigheter til å slette denne brukeren", @@ -863,7 +863,7 @@ "favorite-recipes": "Favorittoppskrifter", "email-or-username": "E-post eller brukernavn", "remember-me": "Husk meg", - "please-enter-your-email-and-password": "Vennligst angi brukernavnet og passordet ditt", + "please-enter-your-email-and-password": "Vennligst angi ditt brukernavn og passord", "invalid-credentials": "Ugyldig brukerinformasjon", "account-locked-please-try-again-later": "Kontoen er låst. Prøv igjen senere", "user-favorites": "Brukerfavoritter", @@ -874,14 +874,14 @@ "very-strong": "Veldig sterkt" }, "user-management": "Brukeradministrasjon", - "reset-locked-users": "Tilbakestille låste brukere", - "admin-user-creation": "Admin bruker oppretting", - "admin-user-management": "Admin User Management", + "reset-locked-users": "Tilbakestill låste brukere", + "admin-user-creation": "Opprett administratorkonto", + "admin-user-management": "Brukeradministrasjon", "user-details": "Brukerdetaljer", "user-name": "Brukernavn", "authentication-method": "Autentiseringsmetode", "authentication-method-hint": "This specifies how a user will authenticate with Mealie. If you're not sure, choose 'Mealie", - "permissions": "Tillatelser", + "permissions": "Rettigheter", "administrator": "Administrator", "user-can-invite-other-to-group": "Brukeren kan invitere andre til gruppe", "user-can-manage-group": "Brukeren kan administrere gruppe", @@ -902,7 +902,7 @@ }, "data-pages": { "foods": { - "merge-dialog-text": "Ved å kombinere de valgte matvarene, vil de bli slått sammen til én matvare. Den første matvaren vil bli slettet, og alle referanser til denne vil bli oppdatert til å peke til den nye matvaren.", + "merge-dialog-text": "Ved å kombinere de valgte matvarene vil de bli slått sammen til én matvare. Den første matvaren vil bli slettet, og alle referanser til denne vil bli oppdatert til å peke til den nye matvaren.", "merge-food-example": "Slår sammen {food1} til {food2}", "seed-dialog-text": "Legg til matvarer i databasen basert på ditt lokale språk. Dette vil opprette 200+ vanlige matvarer som kan brukes til å organisere databasen din. Matvarene oversettes via en fellesinnsats fra samfunnet.", "seed-dialog-warning": "Du har allerede noen elementer i databasen din. Denne handlingen vil ikke forene duplikater, du må håndtere dem manuelt.", @@ -913,30 +913,30 @@ "food-label": "Matvareetikett", "edit-food": "Rediger matvare", "food-data": "Matvaredata", - "example-food-singular": "f. eks. løk", - "example-food-plural": "f. eks. løk" + "example-food-singular": "f.eks: tomat", + "example-food-plural": "f.eks: tomater" }, "units": { "seed-dialog-text": "Tilfør typiske enheter i databasen basert på ditt lokale språk.", - "combine-unit-description": "Ved å kombinere de valgte enhetene vil kildeenheten og målenheten slås sammen i en enkelt enhet. {source-unit-will-be-deleted} og alle referansene til kildeenheten vil bli oppdatert til å peke til målenheten.", + "combine-unit-description": "Ved å kombinere de valgte enhetene, vil de bli slått sammen til én enkelt enhet. {source-unit-will-be-deleted} og alle referanser til denne vil bli oppdatert til å peke til den nye enheten.", "combine-unit": "Kombiner enhet", "source-unit": "Kildeenhet", "target-unit": "Målenhet", "merging-unit-into-unit": "Slår sammen {0} til {1}", "create-unit": "Opprett enhet", "abbreviation": "Forkortelse", - "plural-abbreviation": "Flertallsforkortelse", + "plural-abbreviation": "Forkortet flertallsform", "description": "Beskrivelse", - "display-as-fraction": "Vis som brøkdel", + "display-as-fraction": "Vis som brøk", "use-abbreviation": "Bruk forkortelse", "edit-unit": "Rediger enhet", "unit-data": "Enhetsdata", - "use-abbv": "Bruk forkortelse.", + "use-abbv": "Bruk forkortelse", "fraction": "Brøk", - "example-unit-singular": "Feks: Spiseskje", - "example-unit-plural": "Feks: Spiseskjeer", - "example-unit-abbreviation-singular": "Feks: SS", - "example-unit-abbreviation-plural": "Feks: SS" + "example-unit-singular": "f.eks: spiseskje", + "example-unit-plural": "f.eks: spiseskjeer", + "example-unit-abbreviation-singular": "f.eks: ss", + "example-unit-abbreviation-plural": "f.eks: ss" }, "labels": { "seed-dialog-text": "Tilfør typiske etiketter i databasen basert på ditt lokale språk.", @@ -946,16 +946,16 @@ }, "recipes": { "purge-exports": "Fjern eksporter", - "are-you-sure-you-want-to-delete-all-export-data": "Er du sikker på at du vil slette all historikk?", - "confirm-delete-recipes": "Er du sikker på at du vil slette denne oppskriften? Denne handlingen kan ikke angres.", + "are-you-sure-you-want-to-delete-all-export-data": "Er du sikker på at du vil slette alle eksporterte data?", + "confirm-delete-recipes": "Er du sikker på at du vil slette følgende oppskrifter? Denne handlingen kan ikke angres.", "the-following-recipes-selected-length-will-be-exported": "Følgende oppskrifter ({0}) vil bli eksportert.", - "settings-chosen-explanation": "Innstillinger valgt her, bortsett fra det låste alternativet, vil bli brukt på alle valgte oppskrifter.", + "settings-chosen-explanation": "Innstillinger som valgt her, bortsett fra det låste alternativet, vil bli brukt på alle valgte oppskrifter.", "selected-length-recipe-s-settings-will-be-updated": "Innstillingene til {count} oppskrift(er) vil bli oppdatert.", "recipe-data": "Oppskriftsdata", "recipe-data-description": "Bruk denne delen til å administrere dataene knyttet til oppskriftene dine. Du kan utføre flere massehandlinger på oppskriftene dine, inkludert eksportering, sletting, merking og tildeling av kategorier.", "recipe-columns": "Oppskriftskolonner", - "data-exports-description": "Dette avsnittet gir lenker til tilgjengelige eksportfiler som er klare til nedlasting. Disse eksportfilene utløper, så sørg for å laste dem ned mens de fortsatt er tilgjengelige.", - "data-exports": "Data eksport", + "data-exports-description": "Her finner du lenker til tilgjengelige eksportfiler som er klare til nedlasting. Disse eksportfilene utløper, så sørg for å laste dem ned mens de fortsatt er tilgjengelige.", + "data-exports": "Dataeksport", "tag": "Emneord", "categorize": "Kategoriser", "update-settings": "Oppdater innstillinger", @@ -970,14 +970,14 @@ "seed-data": "Tilføringsdata", "seed": "Nøkkel", "data-management": "Databehandling", - "data-management-description": "Velg hvilke data du vil gjøre endringer i.", + "data-management-description": "Velg hvilke data du vil gjøre endringer på.", "select-data": "Velg data", "select-language": "Velg språk", "columns": "Kolonner", "combine": "Kombiner", "categories": { "edit-category": "Rediger kategori", - "new-category": "Ny Kategori", + "new-category": "Ny kategori", "category-data": "Kategoridata" }, "tags": { @@ -1049,7 +1049,7 @@ "flatten": "Flat ut uavhengig av orginalformatering", "help": { "help": "Hjelp", - "mouse-modes": "Musemodus", + "mouse-modes": "Musemoduser", "selection-mode": "Markeringsmodus (standard)", "selection-mode-desc": "Markeringsmodusen er hovedmodusen som kan brukes til å legge inn data:", "selection-mode-steps": { @@ -1078,9 +1078,9 @@ "button-label-get-summary": "Hent sammendrag", "button-label-open-details": "Detaljer", "info-description-data-dir-size": "Størrelse på datamappe", - "info-description-log-file-size": "Loggfil størrelse", - "info-description-cleanable-directories": "Rensbare kataloger", - "info-description-cleanable-images": "Rydbare bilder", + "info-description-log-file-size": "Størrelse på loggfil", + "info-description-cleanable-directories": "Mapper som kan ryddes i", + "info-description-cleanable-images": "Ryddbare bilder", "storage": { "title-temporary-directory": "Midlertidig mappe (.temp)", "title-backups-directory": "Mappe for sikkerhetskopier (backups)", @@ -1091,7 +1091,7 @@ "action-delete-log-files-name": "Slett loggfiler", "action-delete-log-files-description": "Sletter alle loggfilene", "action-clean-directories-name": "Fjern kataloger", - "action-clean-directories-description": "Fjerner alle oppskriftsmapper som ikke er gyldige UUIDer", + "action-clean-directories-description": "Fjerner alle oppskriftsmapper som ikke er gyldige UUID-er", "action-clean-temporary-files-name": "Fjern midlertidige filer", "action-clean-temporary-files-description": "Fjerner alle filer og mapper i .temp-mappen", "action-clean-images-name": "Fjern bilder", @@ -1100,69 +1100,69 @@ "actions-description-destructive": "destruktiv", "actions-description-irreversible": "irreversibel", "logs-action-refresh": "Oppdater logger", - "logs-page-title": "Mealie Log", + "logs-page-title": "Mealie log", "logs-tail-lines-label": "Siste linjer" }, "mainentance": { "actions-title": "Handlinger" }, - "ingredients-natural-language-processor": "Ingredients Natural Language Processor", - "ingredients-natural-language-processor-explanation": "Mealie bruker Conditional Random Fields (CRFs) for å analysere og behandle ingredienser. Modellen som brukes til ingredienser, er basert på et datasett med over 100 000 ingredienser satt sammen av New York Times. Vær oppmerksom på at siden modellen kun er trent på engelsk, kan resultatene variere når du bruker modellen på andre språk. Denne siden er en lekeplass for å teste modellen.", + "ingredients-natural-language-processor": "Naturlig språkprossesering for ingredienser", + "ingredients-natural-language-processor-explanation": "Mealie bruker Conditional Random Fields (CRFs) for å analysere og behandle ingredienser. Modellen som brukes til ingredienser er basert på et datasett med over 100 000 ingredienser satt sammen av New York Times. Vær oppmerksom på at siden modellen kun er trent på engelsk, kan resultatene variere når du bruker modellen på andre språk. På denne siden kan du teste modellen.", "ingredients-natural-language-processor-explanation-2": "Modellen er ikke perfekt, men det gir generelt sett gode resultater og er et godt utgangspunkt for å manuelt analysere ingredienser i individuelle felt. Alternativt kan du også bruke 'Brute'-prosessoren som bruker mønstergjenkjennelsesteknikker for å identifisere ingredienser.", "nlp": "NLP", "brute": "Brute", - "show-individual-confidence": "Vis individuell tillit", - "ingredient-text": "Ingredient tekst", + "show-individual-confidence": "Vis individuell konfidens", + "ingredient-text": "Ingredienstekst", "average-confident": "{0} Troverdig", "try-an-example": "Prøv et eksempel", "parser": "Parser", "background-tasks": "Bakgrunnsoppgaver", - "background-tasks-description": "Her kan du se alle aktive bakgrunnsoppgaver og deres status", + "background-tasks-description": "Her kan du se alle de aktive bakgrunnsoppgavene og statusen deres", "no-logs-found": "Ingen logger funnet", "tasks": "Oppgaver" }, "profile": { "welcome-user": "👋 Velkommen, {0}", - "description": "Behandle din profil, oppskrifter og gruppeinnstillinger.", - "get-invite-link": "Få invitasjonslink", + "description": "Administrer din profil, oppskrifter og gruppeinnstillinger.", + "get-invite-link": "Få invitasjonslenke", "get-public-link": "Få offentlig lenke", "account-summary": "Kontosammendrag", - "account-summary-description": "Her er en oppsummering av gruppens informasjon", + "account-summary-description": "Her er en oppsummering av informasjonen til gruppen din", "group-statistics": "Gruppestatistikk", "group-statistics-description": "Gruppestatistikken din gir deg et innblikk i hvordan du bruker Mealie.", "storage-capacity": "Lagringskapasitet", "storage-capacity-description": "Lagringskapasiteten er en beregning av bildene og ressursene du har lastet opp.", "personal": "Personlig", - "personal-description": "Dette er innstillingene som er personlige for deg. Endringer her påvirker ikke andre brukere", + "personal-description": "Dette er innstillingene som er personlige for deg. Endringer gjort her påvirker ikke andre brukere", "user-settings": "Brukerinnstillinger", "user-settings-description": "Administrer innstillingene, endre passordet og oppdater e-postadressen din", "api-tokens-description": "Administrer dine API-tokens for tilgang fra eksterne programmer", - "group-description": "Disse elementene deles innad i gruppen din. Å redigere ett av dem vil endre det for hele gruppen!", + "group-description": "Disse elementene deles innad i gruppen din. Redigering av elementenee vil føre til endringer for hele gruppen!", "group-settings": "Gruppeinnstillinger", - "group-settings-description": "Administrer felles gruppeinnstillinger som måltidsplan- og personverninnstillinger.", + "group-settings-description": "Administrer felles gruppeinnstillinger som innstillinger for måltidsplaner og personvern.", "cookbooks-description": "Administrer en samling av oppskriftskategorier og generer sider for dem.", "members": "Medlemmer", - "members-description": "Se hvem som er i gruppen din og adminstrer deres tillatelser.", - "webhooks-description": "Setup webhooks that trigger on days that you have have mealplan scheduled.", - "notifiers": "Varslere", + "members-description": "Se hvem som er medlem av gruppen din og adminstrer deres rettigheter.", + "webhooks-description": "Sett opp webhooks som utløses på dager du har planlagt måltidsplaner.", + "notifiers": "Varslingsagenter", "notifiers-description": "Sett opp e-post- og pushvarsler som utløses av spesifikke hendelser.", "manage-data": "Administrer data", "manage-data-description": "Administrer dine matvarer og enheter (flere alternativer kommer snart)", "data-migrations": "Dataoverføringer", "data-migrations-description": "Overfør eksisterende data fra andre programmer som Nextcloud Recipes og Chowdown", - "email-sent": "Epost sendt", + "email-sent": "E-post sendt", "error-sending-email": "Feil ved sending av e-post", - "personal-information": "Personlig Informasjon", + "personal-information": "Personlig informasjon", "preferences": "Preferanser", "show-advanced-description": "Vis avanserte funksjoner (API-nøkler, webhooks og databehandling)", "back-to-profile": "Tilbake til profil", "looking-for-privacy-settings": "Leter du etter personverninnstillinger?", "manage-your-api-tokens": "Administrer dine API-tokens", "manage-user-profile": "Administrer brukerprofil", - "manage-cookbooks": "Administrere kokebøker", + "manage-cookbooks": "Administrer kokebøker", "manage-members": "Administrer medlemmer", "manage-webhooks": "Administrer webhooks", - "manage-notifiers": "Behandle varslere", + "manage-notifiers": "Administrer varslingsagenter", "manage-data-migrations": "Administrer dataoverføringer" }, "cookbook": { diff --git a/frontend/lang/messages/pt-PT.json b/frontend/lang/messages/pt-PT.json index bd1277c86db5..1c83927ee84a 100644 --- a/frontend/lang/messages/pt-PT.json +++ b/frontend/lang/messages/pt-PT.json @@ -114,7 +114,7 @@ "json": "JSON", "keyword": "Palavra-chave", "link-copied": "Ligação copiada", - "loading": "Loading", + "loading": "A carregar", "loading-events": "A carregar Eventos", "loading-recipe": "A carregar receita...", "loading-ocr-data": "A carregar dados OCR...", From 1d72178b93e1afff8a959e7f4294936cc9a27d07 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Sun, 17 Dec 2023 16:03:03 -0600 Subject: [PATCH 011/170] New translations en-us.json (Bulgarian) --- frontend/lang/messages/bg-BG.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/lang/messages/bg-BG.json b/frontend/lang/messages/bg-BG.json index 154af8442fdc..3e744edd4f08 100644 --- a/frontend/lang/messages/bg-BG.json +++ b/frontend/lang/messages/bg-BG.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Как се получи?", "user-made-this": "{user} направи това", "last-made-date": "Последно приготвена на {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", + "api-extras-description": "Екстрите за рецепти са ключова характеристика на Mealie API. Те Ви позволяват да създавате персонализирани JSON двойки ключ/стойност в рамките на рецепта, за да ги препращате към други приложения. Можете да използвате тези ключове, за да предоставите информация за задействане на автоматизация или персонализирани съобщения, за препращане към желаното от Вас устройство.", "message-key": "Ключ на съобщението", "parse": "Анализирай", "attach-images-hint": "Прикачете снимки като ги влачете и пуснете в редактора", From 954ee3dc1999519a3e184d56132ce3b9be9e30a7 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Sun, 17 Dec 2023 16:03:04 -0600 Subject: [PATCH 012/170] New translations en-us.json (Norwegian) --- frontend/lang/messages/no-NO.json | 48 +++++++++++++++---------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/frontend/lang/messages/no-NO.json b/frontend/lang/messages/no-NO.json index e19ae632b24d..6ac236a19f9e 100644 --- a/frontend/lang/messages/no-NO.json +++ b/frontend/lang/messages/no-NO.json @@ -6,7 +6,7 @@ "api-port": "API-port", "application-mode": "Programmodus", "database-type": "Databasetype", - "database-url": "Database-URL", + "database-url": "URL til database", "default-group": "Standardgruppe", "demo": "Demo", "demo-status": "Demostatus", @@ -67,7 +67,7 @@ "new-notification": "Ny varsel", "event-notifiers": "Hendelsesvarsler", "apprise-url-skipped-if-blank": "Apprise URL (hoppes over hvis tom)", - "enable-notifier": "Aktiver varsleren", + "enable-notifier": "Aktiver varslingsagenten", "what-events": "Hvilke hendelser skal denne varslingsagenten abonnere på?", "user-events": "Brukerhendelser", "mealplan-events": "Måltidsplanleggerhendelser", @@ -128,7 +128,7 @@ "no-recipe-found": "Ingen oppskrift funnet", "ok": "OK", "options": "Alternativer:", - "plural-name": "Flertallsnavn", + "plural-name": "Navn på flertallsform", "print": "Skriv ut", "print-preferences": "Skriv ut innstillinger", "random": "Tilfeldig", @@ -341,7 +341,7 @@ "title": "Mealie Pre v1.0" }, "tandoor": { - "description-long": "Mealie kan importere oppskrifter fra Tandoor. Eksporter dataene i \"Standard\"-formatet, last deretter opp .zip-formatet nedenfor.", + "description-long": "Mealie kan importere oppskrifter fra Tandoor. Eksporter dataene i \"Standard\"-formatet, last deretter opp zip-filen nedenfor.", "title": "Tandoor Recipes" }, "recipe-data-migrations": "Overføring av oppskrifter", @@ -366,10 +366,10 @@ "from-url": "Importer en oppskrift", "github-issues": "GitHub-problemer", "google-ld-json-info": "Google ld+json-informasjon", - "must-be-a-valid-url": "Må være en gyldig URL-adresse", + "must-be-a-valid-url": "Må være en gyldig nettadresse", "paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Lim inn oppskriftsdataene. Hver linje blir behandlet som et element i en liste", "recipe-markup-specification": "Spesifikasjon for oppskriftsmerking", - "recipe-url": "Oppskrifts-URL", + "recipe-url": "Nettadresse til oppskrift", "upload-a-recipe": "Last opp oppskrift", "upload-individual-zip-file": "Last opp en individuell .zip-fil eksportert fra en annen Mealie-instans.", "url-form-hint": "Kopier og lim inn en lenke fra nettstedet med favorittoppskriftene dine", @@ -377,7 +377,7 @@ "trim-whitespace-description": "Fjern innledende og etterfølgende mellomrom i tillegg til tomme linjer", "trim-prefix-description": "Fjern første tegn fra hver linje", "split-by-numbered-line-description": "Forsøk å dele opp et avsnitt ved å matche mønsteret '1)' eller '1.'", - "import-by-url": "Importer en oppskrift via URL", + "import-by-url": "Importer en oppskrift via nettadresse", "create-manually": "Opprett en oppskrift manuelt", "make-recipe-image": "Bruk dette som oppskriftsbilde" }, @@ -432,7 +432,7 @@ "nutrition": "Ernæring", "object-key": "Objektnøkkel", "object-value": "Objektverdi", - "original-url": "URL-addresse til oppskrift", + "original-url": "Nettadresse til oppskrift", "perform-time": "Koketid", "prep-time": "Forberedelsestid", "protein-content": "Protein", @@ -522,16 +522,16 @@ "recipe-creation": "Opprett oppskrift", "select-one-of-the-various-ways-to-create-a-recipe": "Velg en av de ulike måtene å opprette en oppskrift", "looking-for-migrations": "Ser du etter overføringer?", - "import-with-url": "Importer via URL", + "import-with-url": "Importer via nettadresse", "create-recipe": "Opprett oppskrift", "import-with-zip": "Importer fra .zip-fil", "create-recipe-from-an-image": "Opprett oppskrift fra et bilde", - "bulk-url-import": "Importer flere URL-er", + "bulk-url-import": "Importer flere nettadresser", "debug-scraper": "Feilsøk skraper", "create-a-recipe-by-providing-the-name-all-recipes-must-have-unique-names": "Opprett en oppskrift ved å angi navnet. Alle oppskrifter må ha unike navn.", "new-recipe-names-must-be-unique": "Navn på oppskrift må være unike", "scrape-recipe": "Skrap oppskrift", - "scrape-recipe-description": "Skrap en oppskrift ved å bruke URL-en. Oppgi nettadressen til nettstedet du vil skrape, så vil Mealie forsøke å skrape oppskriften fra den siden og legge den til i samlingen din.", + "scrape-recipe-description": "Skrap en oppskrift ved bruk av nettadresse. Oppgi nettadressen til nettstedet du vil skrape, så vil Mealie forsøke å skrape oppskriften fra den siden og legge den til i samlingen din.", "import-original-keywords-as-tags": "Importer originale søkeord som emneord", "stay-in-edit-mode": "Forbli i redigeringsmodus", "import-from-zip": "Importer fra zip-fil", @@ -547,7 +547,7 @@ "bulk-import-process-has-failed": "Masseimport mislyktes", "report-deletion-failed": "Sletting av rapport mislyktes", "recipe-debugger": "Oppskriftsfeilsøker", - "recipe-debugger-description": "Hent URL-adressen til oppskriften du vil feilsøke og lim den inn her. URL-adressen vil bli skrapt av oppskrifts-skraperen og resultatene vil bli vist. Hvis du ikke ser noen data returnert, er ikke nettstedet du prøver å skrape støttet av Mealie eller skraper-biblioteket.", + "recipe-debugger-description": "Hent nettadressen til oppskriften du vil feilsøke og lim den inn her. Nettsiden vil bli skrapt og resultatene vil bli vist. Hvis du ikke ser noen data returnert, er ikke nettstedet du prøver å skrape støttet av Mealie eller skraper-biblioteket.", "debug": "Feilsøk", "tree-view": "Trevisning", "recipe-yield": "Utbytte av oppskrift", @@ -667,7 +667,7 @@ }, "toolbox": { "assign-all": "Tildel alle", - "bulk-assign": "Tilordne flere", + "bulk-assign": "Tildel flere", "new-name": "Nytt navn", "no-unused-items": "Ingen ubrukte elementer", "recipes-affected": "Ingen oppskrifter påvirket|En oppskrift påvirket|{count} Oppskrifter påvirket", @@ -791,13 +791,13 @@ "tag-name": "Navn på emneord" }, "tool": { - "tools": "Utstyr", + "tools": "Kjøkkenredskap", "on-hand": "Tillgjengelig", - "create-a-tool": "Opprett utstyr", - "tool-name": "Navn på utstyr", - "create-new-tool": "Opprett nytt utstyr", + "create-a-tool": "Opprett kjøkkenredskap", + "tool-name": "Navn på kjøkkenredskap", + "create-new-tool": "Opprett nytt kjøkkenredskap", "on-hand-checkbox-label": "Vis som tilgjengelig (avmerket)", - "required-tools": "Påkrevd utstyr" + "required-tools": "Påkrevde kjøkkenredskaper" }, "user": { "admin": "Administrator", @@ -820,7 +820,7 @@ "generate-password-reset-link": "Generer lenke for tilbakestilling av passord", "invite-only": "Kun inviterte", "link-id": "Lenke-ID", - "link-name": "Lenkenavn", + "link-name": "Navn på lenke", "login": "Logg på", "logout": "Logg ut", "manage-users": "Administrer brukere", @@ -968,7 +968,7 @@ "create-alias": "Opprett alias", "manage-aliases": "Administrer aliaser", "seed-data": "Tilføringsdata", - "seed": "Nøkkel", + "seed": "Tilfør", "data-management": "Databehandling", "data-management-description": "Velg hvilke data du vil gjøre endringer på.", "select-data": "Velg data", @@ -986,9 +986,9 @@ "tag-data": "Emneorddata" }, "tools": { - "new-tool": "Nytt utstyr", - "edit-tool": "Rediger utstyr", - "tool-data": "Utstyrsdata" + "new-tool": "Nytt kjøkkenredskap", + "edit-tool": "Rediger kjøkkenredskap", + "tool-data": "Kjøkkenredskapsdata" } }, "user-registration": { @@ -1174,7 +1174,7 @@ "filter-options-description": "Når krev alle er valgt, vil kokeboken bare inkludere oppskrifter som har alle de valgte elementene. Dette gjelder for hvert delsett av valgene og ikke et tverrsnitt av de valgte elementene.", "require-all-categories": "Krev alle kategorier", "require-all-tags": "Krev alle emneord", - "require-all-tools": "Krev alt utstyr", + "require-all-tools": "Krev alle kjøkkenredskaper", "cookbook-name": "Navn på kokebok", "cookbook-with-name": "Kokebok {0}" } From 0aba36e17f1cdbb7dbe5edefb0fecf0545c233ee Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Sun, 17 Dec 2023 16:03:05 -0600 Subject: [PATCH 013/170] New translations en-us.json (Polish) --- frontend/lang/messages/pl-PL.json | 90 +++++++++++++++---------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/frontend/lang/messages/pl-PL.json b/frontend/lang/messages/pl-PL.json index 1e47366a2954..fbc281820161 100644 --- a/frontend/lang/messages/pl-PL.json +++ b/frontend/lang/messages/pl-PL.json @@ -114,9 +114,9 @@ "json": "JSON", "keyword": "Słowo kluczowe", "link-copied": "Odnośnik skopiowany", - "loading": "Loading", + "loading": "Ładowanie", "loading-events": "Ładowanie wydarzeń", - "loading-recipe": "Loading recipe...", + "loading-recipe": "Ładowanie przepisów...", "loading-ocr-data": "Loading OCR data...", "loading-recipes": "Ładowanie przepisów", "message": "Wiadomość", @@ -128,7 +128,7 @@ "no-recipe-found": "Nie znaleziono przepisu", "ok": "OK", "options": "Opcje:", - "plural-name": "Plural Name", + "plural-name": "Nazwa w liczbie mnogiej", "print": "Drukuj", "print-preferences": "Właściwości drukowania", "random": "Losowa", @@ -213,7 +213,7 @@ "group-id-with-value": "ID grupy: {groupID}", "group-name": "Nazwa grupy", "group-not-found": "Nie znaleziono grupy", - "group-token": "Group Token", + "group-token": "Token grupy", "group-with-value": "Grupa: {groupID}", "groups": "Grupy", "manage-groups": "Zarządzaj grupami", @@ -249,7 +249,7 @@ "general-preferences": "Ustawienia ogólne", "group-recipe-preferences": "Ustawienia grupy przepisów", "report": "Zgłoś", - "report-with-id": "Report ID: {id}", + "report-with-id": "ID zgłoszenia: {id}", "group-management": "Zarządzanie grupą", "admin-group-management": "Administracja Zarządzanie Grupami", "admin-group-management-text": "Zmiany w tej grupie zostaną natychmiast odzwierciedlone.", @@ -304,7 +304,7 @@ "for-type-meal-types": "dla {0} rodzajów posiłków", "meal-plan-rules": "Zasady planu posiłków", "new-rule": "Nowa reguła", - "meal-plan-rules-description": "You can create rules for auto selecting recipes for your meal plans. These rules are used by the server to determine the random pool of recipes to select from when creating meal plans. Note that if rules have the same day/type constraints then the categories of the rules will be merged. In practice, it's unnecessary to create duplicate rules, but it's possible to do so.", + "meal-plan-rules-description": "Możesz tworzyć reguły automatycznego wyboru przepisów dla planów posiłkowych. Te reguły są używane przez serwer do określenia losowej puli przepisów do wyboru podczas tworzenia planów posiłków. Zauważ, że jeśli reguły mają ograniczenia tego samego dnia/typu, kategorie reguł zostaną połączone. W praktyce tworzenie duplikatów reguł jest zbędne, ale jest to możliwe.", "new-rule-description": "Przy tworzeniu nowej reguły dotyczącej planu posiłków można ograniczyć regułę, tak aby miała zastosowanie do określonego dnia tygodnia i/lub określonego rodzaju posiłku. Aby zastosować regułę do wszystkich dni lub wszystkich rodzajów posiłków można ustawić regułę na \"Dowolny\", co będzie miało zastosowanie do wszystkich możliwych wartości dla dnia i/lub typu posiłku.", "recipe-rules": "Reguły przepisów", "applies-to-all-days": "Dotyczy wszystkich dni", @@ -341,8 +341,8 @@ "title": "Mealie Pre v1.0" }, "tandoor": { - "description-long": "Mealie can import recipes from Tandoor. Export your data in the \"Default\" format, then upload the .zip below.", - "title": "Tandoor Recipes" + "description-long": "Mealie może zaimportować przepisy z Tandoor. Wyeksportuj swoje przepisy w formacie HTML, a następnie prześlij plik .zip poniżej.", + "title": "Przepisy Tandoor" }, "recipe-data-migrations": "Migracja danych przepisów", "recipe-data-migrations-explanation": "Receptury mogą być przeniesione z innej wspieranej aplikacji na Mealie. To świetny sposób na rozpoczęcie z Mealie.", @@ -355,8 +355,8 @@ "paprika-text": "Mealie może importować przepisy z aplikacji Paprika. Eksportuj swoje przepisy z papriki, zmień nazwę rozszerzenia eksportu na .zip i prześlij je poniżej.", "mealie-text": "Mealie może importować receptury z aplikacji Mealie z wersji przed v1.0. Wyeksportuj swoje przepisy ze starej instancji i prześlij plik zip poniżej. Pamiętaj, że tylko receptury mogą być zaimportowane z eksportu.", "plantoeat": { - "title": "Plan to Eat", - "description-long": "Mealie can import recipies from Plan to Eat." + "title": "Zaplanuj jedzenie", + "description-long": "Mealie może importować przepisy z Plan to Eat." } }, "new-recipe": { @@ -468,11 +468,11 @@ "date-format-hint-yyyy-mm-dd": "Format RRRR-MM-DD", "add-to-list": "Dodaj do listy", "add-to-plan": "Dodaj do planu", - "add-to-timeline": "Add to Timeline", + "add-to-timeline": "Dodaj do osi czasu", "recipe-added-to-list": "Przepis dodany do listy", "recipes-added-to-list": "Przepisy dodane do listy", "recipe-added-to-mealplan": "Przepis dodany do planu posiłków", - "failed-to-add-recipes-to-list": "Failed to add recipe to list", + "failed-to-add-recipes-to-list": "Nie udało się dodać przepisu do listy", "failed-to-add-recipe-to-mealplan": "Nie udało się dodać przepisu do planu posiłków", "yield": "Wydajność", "quantity": "Ilość", @@ -495,10 +495,10 @@ "locked": "Zablokowany", "public-link": "Link publiczny", "timer": { - "kitchen-timer": "Kitchen Timer", + "kitchen-timer": "Minutnik", "start-timer": "Włącz minutnik", - "pause-timer": "Pause Timer", - "resume-timer": "Resume Timer", + "pause-timer": "Zatrzymaj minutnik", + "resume-timer": "Wznów minutnik", "stop-timer": "Zatrzymaj minutnik" }, "edit-timeline-event": "Edytuj zdarzenie osi czasu", @@ -510,11 +510,11 @@ "how-did-it-turn-out": "Jak się to udało?", "user-made-this": "{user} ugotował(a) to", "last-made-date": "Ostatnio ugotowano {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", + "api-extras-description": "Dodatki w przepisach są kluczową cechą API Mealie. Pozwalają na tworzenie niestandardowych par kluczy/wartości JSON w przepisie do odwoływania się przez zewnętrzne aplikacje. Możesz użyć tych kluczy do wyzwalania automatyzacji lub przekazywania niestandardowych wiadomości do twoich wybranych urządzeń.", "message-key": "Klucz Wiadomości", "parse": "Analizuj", "attach-images-hint": "Dołącz obrazy przeciągając i upuszczając je do edytora", - "drop-image": "Drop image", + "drop-image": "Upuść zdjęcie", "enable-ingredient-amounts-to-use-this-feature": "Włącz ilości składników, aby użyć tej funkcji", "recipes-with-units-or-foods-defined-cannot-be-parsed": "Nie można przeanalizować przepisów z już zdefiniowanymi jednostkami lub żywnością.", "parse-ingredients": "Analizuj tekst składników", @@ -553,7 +553,7 @@ "recipe-yield": "Wydajność przepisu", "unit": "Jednostka", "upload-image": "Prześlij obraz", - "screen-awake": "Keep Screen Awake", + "screen-awake": "Pozostaw ekran włączony", "remove-image": "Usuń obraz" }, "search": { @@ -573,7 +573,7 @@ "search-hint": "Naciśnij '/'", "advanced": "Zaawansowane", "auto-search": "Auto wyszukiwanie", - "no-results": "No results found" + "no-results": "Nie znaleziono wyników" }, "settings": { "add-a-new-theme": "Dodaj nowy motyw", @@ -582,7 +582,7 @@ "backup-created": "Kopia zapasowa utworzona pomyślnie", "backup-created-at-response-export_path": "Kopia zapasowa została utworzona w {path}", "backup-deleted": "Kopia zapasowa została usunięta", - "restore-success": "Restore successful", + "restore-success": "Przywracanie zakończone sukcesem", "backup-tag": "Etykieta kopii zapasowej", "create-heading": "Utwórz kopię zapasową", "delete-backup": "Usuń kopię zapasową", @@ -691,13 +691,13 @@ "configuration": "Konfiguracja", "docker-volume": "Docker Volume", "docker-volume-help": "Mealie wymaga, aby kontener frontendu i backendu współdzieliły ten sam wolumen docker lub pamięć. Zapewnia to prawidłowy dostęp do zdjęć i zasobów przechowywanych na dysku.", - "volumes-are-misconfigured": "Volumes are misconfigured.", + "volumes-are-misconfigured": "Woluminy są skonfigurowane nieprawidłowo.", "volumes-are-configured-correctly": "Wolumeny są skonfigurowane poprawnie.", "status-unknown-try-running-a-validation": "Status nieznany. Spróbuj wykonać walidację.", "validate": "Sprawdź", "email-configuration-status": "Status konfiguracji Email", - "email-configured": "Email Configured", - "email-test-results": "Email Test Results", + "email-configured": "E-mail skonfigurowany", + "email-test-results": "Wyniki testu e-mail", "ready": "Gotowe", "not-ready": "Niegotowy - Sprawdź zmienne środowiskowe", "succeeded": "Powiodło się", @@ -876,7 +876,7 @@ "user-management": "Zarządzanie użytkownikami", "reset-locked-users": "Zresetuj zablokowanych użytkowników", "admin-user-creation": "Administracja Tworzenie Użytkownika", - "admin-user-management": "Admin User Management", + "admin-user-management": "Zarządzanie użytkownikami", "user-details": "Dane użytkownika", "user-name": "Nazwa użytkownika", "authentication-method": "Sposób uwierzytelniania", @@ -887,11 +887,11 @@ "user-can-manage-group": "Użytkownik może zarządzać grupą", "user-can-organize-group-data": "Użytkownik może organizować dane grupy", "enable-advanced-features": "Włącz zaawansowane funkcje", - "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", - "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!", - "forgot-password": "Forgot Password", - "forgot-password-text": "Please enter your email address and we will send you a link to reset your password.", - "changes-reflected-immediately": "Changes to this user will be reflected immediately." + "it-looks-like-this-is-your-first-time-logging-in": "Wygląda na to, że to jest twoje pierwsze logowanie.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Nie chcesz już tego widzieć? Pamiętaj, aby zmienić swój adres e-mail w ustawieniach użytkownika!", + "forgot-password": "Nie pamiętam hasła", + "forgot-password-text": "Podaj adres e-mail konta, do którego chcesz odzyskać hasło.", + "changes-reflected-immediately": "Zmiany dla tego użytkownika będą zastosowane natychmiastowo." }, "language-dialog": { "translated": "przetłumaczone", @@ -913,8 +913,8 @@ "food-label": "Etykieta Żywności", "edit-food": "Edytuj Żywność", "food-data": "Dane Żywności", - "example-food-singular": "ex: Onion", - "example-food-plural": "ex: Onions" + "example-food-singular": "np. Cebula", + "example-food-plural": "np. Cebule" }, "units": { "seed-dialog-text": "Wypełnij bazę zwyczajowymi jednostkami dla wybranego języka.", @@ -933,8 +933,8 @@ "unit-data": "Dane Jednostki", "use-abbv": "Użyj Skr.", "fraction": "Ułamki", - "example-unit-singular": "ex: Tablespoon", - "example-unit-plural": "ex: Tablespoons", + "example-unit-singular": "np. Łyżka stołowa", + "example-unit-plural": "np. Łyżki stołowe", "example-unit-abbreviation-singular": "ex: Tbsp", "example-unit-abbreviation-plural": "ex: Tbsps" }, @@ -965,8 +965,8 @@ "delete-recipes": "Usuń Przepisy", "source-unit-will-be-deleted": "Jednostka źródłowa zostanie usunięta" }, - "create-alias": "Create Alias", - "manage-aliases": "Manage Aliases", + "create-alias": "Utwórz alias", + "manage-aliases": "Zarządzaj aliasami", "seed-data": "Dane przykładowe", "seed": "Seed", "data-management": "Zarządzanie Danymi", @@ -982,18 +982,18 @@ }, "tags": { "new-tag": "Nowy Tag", - "edit-tag": "Edit Tag", - "tag-data": "Tag Data" + "edit-tag": "Edytuj tag", + "tag-data": "Dane tagu" }, "tools": { - "new-tool": "New Tool", - "edit-tool": "Edit Tool", - "tool-data": "Tool Data" + "new-tool": "Nowe Narzędzie", + "edit-tool": "Edytuj Narzędzie", + "tool-data": "Dane narzędzia" } }, "user-registration": { "user-registration": "Rejestracja użytkownika", - "registration-success": "Registration Success", + "registration-success": "Rejestracja przebiegła pomyślnie", "join-a-group": "Dołącz do grupy", "create-a-new-group": "Stwórz nową grupę", "provide-registration-token-description": "Podaj kod rejestracyjny powiązany z grupą do której chcesz dołączyć. Taki kod uzyskać możesz od użytkownika który przynależy już do owej grupy.", @@ -1040,7 +1040,7 @@ }, "ocr-editor": { "ocr-editor": "Edytor OCR", - "toolbar": "Toolbar", + "toolbar": "Pasek narzędzi", "selection-mode": "Tryb wyboru", "pan-and-zoom-picture": "Przesuwanie i powiększanie obrazu", "split-text": "Podziel tekst", @@ -1048,8 +1048,8 @@ "split-by-block": "Podziel według bloku tekstowego", "flatten": "Wyrównaj niezależnie od oryginalnego formatowania", "help": { - "help": "Help", - "mouse-modes": "Mouse modes", + "help": "Pomoc", + "mouse-modes": "Tryb myszy", "selection-mode": "Tryb wyboru (domyślny)", "selection-mode-desc": "Tryb wyboru jest głównym trybem, który służy do wprowadzenia danych:", "selection-mode-steps": { @@ -1125,7 +1125,7 @@ "welcome-user": "👋 Witaj, {0}", "description": "Zarządzaj swoim profilem, przepisami i ustawieniami grupy.", "get-invite-link": "Uzyskaj link z zaproszeniem", - "get-public-link": "Get Public Link", + "get-public-link": "Uzyskaj link publiczny", "account-summary": "Podsumowanie konta", "account-summary-description": "Oto podsumowanie informacji o Twojej grupie", "group-statistics": "Statystyki Grupy", From b31647b52b633e25b0736f754007b63f0a6c3c33 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Sun, 17 Dec 2023 16:03:07 -0600 Subject: [PATCH 014/170] New translations en-us.json (Chinese Simplified) --- frontend/lang/messages/zh-CN.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/frontend/lang/messages/zh-CN.json b/frontend/lang/messages/zh-CN.json index eff982acbf33..1771b74184a4 100644 --- a/frontend/lang/messages/zh-CN.json +++ b/frontend/lang/messages/zh-CN.json @@ -77,7 +77,7 @@ "tag-events": "标签事件", "category-events": "目录事件", "when-a-new-user-joins-your-group": "当新用户加入您的群组时", - "recipe-events": "Recipe Events" + "recipe-events": "食谱事件" }, "general": { "cancel": "取消", @@ -114,9 +114,9 @@ "json": "JSON", "keyword": "关键字", "link-copied": "链接已复制", - "loading": "Loading", + "loading": "正在加载", "loading-events": "正在加载事件", - "loading-recipe": "Loading recipe...", + "loading-recipe": "正在加载食谱...", "loading-ocr-data": "Loading OCR data...", "loading-recipes": "正在加载食谱", "message": "信息", @@ -466,13 +466,13 @@ "entry-type": "条目类型", "date-format-hint": "MM/DD/YYYY 格式", "date-format-hint-yyyy-mm-dd": "YYYY-MM-DD 格式", - "add-to-list": "添加到列表", + "add-to-list": "添加到购物清单", "add-to-plan": "添加到计划", "add-to-timeline": "添加到时间线", - "recipe-added-to-list": "食谱已被添加到列表", - "recipes-added-to-list": "Recipes added to list", + "recipe-added-to-list": "食谱已被添加到购物清单", + "recipes-added-to-list": "食谱已被添加到购物清单", "recipe-added-to-mealplan": "食谱已被添加到用餐计划", - "failed-to-add-recipes-to-list": "Failed to add recipe to list", + "failed-to-add-recipes-to-list": "食谱未能添加到购物清单", "failed-to-add-recipe-to-mealplan": "食谱未能添加到用餐计划", "yield": "Yield", "quantity": "数量", From 0ccbb415b4669bf5ae299f71e1e6ab5a93d05d2d Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Sun, 17 Dec 2023 16:03:08 -0600 Subject: [PATCH 015/170] New translations en-us.json (Norwegian) --- mealie/lang/messages/no-NO.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mealie/lang/messages/no-NO.json b/mealie/lang/messages/no-NO.json index 1892d68ee0ea..4fb57f87a1b2 100644 --- a/mealie/lang/messages/no-NO.json +++ b/mealie/lang/messages/no-NO.json @@ -11,7 +11,7 @@ "user": { "user-updated": "Bruker oppdatert", "password-updated": "Passord oppdatert", - "invalid-current-password": "Feil nåværende passord", + "invalid-current-password": "Nåværende passord er feil", "ldap-update-password-unavailable": "Kan ikke oppdatere passordet, brukeren kontrolleres av LDAP" }, "group": { @@ -29,7 +29,7 @@ "generic-updated": "{name} ble oppdatert", "generic-created-with-url": "{name} har blitt opprettet, {url}", "generic-updated-with-url": "{name} har blitt oppdatert, {url}", - "generic-duplicated": "Det er blitt laget kopi av {name}", + "generic-duplicated": "{name} har blitt duplisert", "generic-deleted": "{name} har blitt slettet" } } From aa44fef36f56abcb9e2be7f4cb7a7dee9fa754da Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Sun, 17 Dec 2023 16:03:09 -0600 Subject: [PATCH 016/170] New translations en-us.json (Norwegian) --- mealie/repos/seed/resources/foods/locales/no-NO.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mealie/repos/seed/resources/foods/locales/no-NO.json b/mealie/repos/seed/resources/foods/locales/no-NO.json index d9fc4765b50d..ae07840f5010 100644 --- a/mealie/repos/seed/resources/foods/locales/no-NO.json +++ b/mealie/repos/seed/resources/foods/locales/no-NO.json @@ -36,7 +36,7 @@ "butternut-pumpkin": "flaskegresskar", "butternut-squash": "butternut squash", "cactus-edible": "kaktus, spiselig", - "calabrese": "calabrese Fersk Pølse", + "calabrese": "calabrese", "cannabis": "cannabis", "capsicum": "chilipepper", "caraway": "karve", @@ -45,7 +45,7 @@ "cayenne-pepper": "kayenne pepper", "celeriac": "sellerirot", "celery": "selleri", - "cereal-grains": "frokostblanding korn", + "cereal-grains": "frokostblandingkorn", "rice": "ris", "chard": "bladbete", "cheese": "ost", From faf743ecf3201fa7b1f07d75e7501a35d4da52d6 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Sun, 17 Dec 2023 16:03:09 -0600 Subject: [PATCH 017/170] New translations en-us.json (Norwegian) --- .../seed/resources/units/locales/no-NO.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/mealie/repos/seed/resources/units/locales/no-NO.json b/mealie/repos/seed/resources/units/locales/no-NO.json index b00c263bb2f8..68e74b1230b2 100644 --- a/mealie/repos/seed/resources/units/locales/no-NO.json +++ b/mealie/repos/seed/resources/units/locales/no-NO.json @@ -15,17 +15,17 @@ "abbreviation": "kopp" }, "fluid-ounce": { - "name": "us væske unse", + "name": "væskeunse", "description": "", "abbreviation": "fl oz" }, "pint": { - "name": "halvliter", + "name": "pint", "description": "", "abbreviation": "pt" }, "quart": { - "name": "quart", + "name": "kvart", "description": "", "abbreviation": "qt" }, @@ -60,27 +60,27 @@ "abbreviation": "g" }, "kilogram": { - "name": "kilo", + "name": "kilogram", "description": "", "abbreviation": "kg" }, "milligram": { - "name": "mg", + "name": "milligram", "description": "", "abbreviation": "mg" }, "splash": { - "name": "splash", + "name": "skvett", "description": "", "abbreviation": "" }, "dash": { - "name": "dash", + "name": "klype", "description": "", "abbreviation": "" }, "serving": { - "name": "servering", + "name": "porsjon", "description": "", "abbreviation": "" }, From e5a19b3a490947e9ae21b784bd200afc19bb1eaa Mon Sep 17 00:00:00 2001 From: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com> Date: Tue, 19 Dec 2023 08:18:56 +0000 Subject: [PATCH 018/170] bump recipe-scrapers --- poetry.lock | 8 ++++---- pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/poetry.lock b/poetry.lock index 3059793799bb..f24ce60a701b 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2204,13 +2204,13 @@ tests = ["html5lib", "pytest", "pytest-cov"] [[package]] name = "recipe-scrapers" -version = "14.52.0" +version = "14.53.0" description = "Python package, scraping recipes from all over the internet" optional = false python-versions = ">=3.8" files = [ - {file = "recipe_scrapers-14.52.0-py3-none-any.whl", hash = "sha256:3514048808c7b7de467bfa56bea3921ecff637441cde9085186345e3ce7cabdc"}, - {file = "recipe_scrapers-14.52.0.tar.gz", hash = "sha256:3d1d2cf7ad8c5fd73b5a0e921b3505daeddb42da705ef5c68523a465ccd8cd8f"}, + {file = "recipe_scrapers-14.53.0-py3-none-any.whl", hash = "sha256:330353dc824f9d77a089e4830722fef940a04259a1a59a6578a162378ed6bc72"}, + {file = "recipe_scrapers-14.53.0.tar.gz", hash = "sha256:916e1182fb497b89df8ac29cb816a9566aafc6d2bba73f60462aef42fc1bba22"}, ] [package.dependencies] @@ -3034,4 +3034,4 @@ pgsql = ["psycopg2-binary"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "984d725b667165ebbf82eeea32a38e4f4891192fc8c6be60864d25d5b36e7970" +content-hash = "d7537958ae2ddbf8e2b350cb7b1189492a62b02becfe087efbc37a3b0115ff13" diff --git a/pyproject.toml b/pyproject.toml index b1fba8d7f90d..a94c92a34dfa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,7 +36,7 @@ python-jose = "^3.3.0" python-ldap = "^3.3.1" python-multipart = "^0.0.6" python-slugify = "^8.0.0" -recipe-scrapers = "^14.52.0" +recipe-scrapers = "^14.53.0" requests = "^2.31.0" tzdata = "^2022.7" uvicorn = { extras = ["standard"], version = "^0.21.0" } From fae8484f8425199a87ce8e7c694ef8a53c34b8b2 Mon Sep 17 00:00:00 2001 From: boc-the-git <3479092+boc-the-git@users.noreply.github.com> Date: Tue, 19 Dec 2023 22:42:29 +1100 Subject: [PATCH 019/170] Re-enable cache (#2865) --- .github/workflows/partial-builder.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/partial-builder.yml b/.github/workflows/partial-builder.yml index 46ebc41a9567..2af0f128f714 100644 --- a/.github/workflows/partial-builder.yml +++ b/.github/workflows/partial-builder.yml @@ -59,7 +59,5 @@ jobs: build-args: | COMMIT=${{ github.sha }} # https://docs.docker.com/build/ci/github-actions/cache/#github-cache - # TEMP: Disable cache to possible fix missing LDAP issues - # https://github.com/mealie-recipes/mealie/issues/2847 - # cache-from: type=gha - # cache-to: type=gha,mode=max + cache-from: type=gha + cache-to: type=gha,mode=max From 7222abe244c80d41f690a438be35ea1381b91ee7 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Tue, 19 Dec 2023 21:34:34 -0600 Subject: [PATCH 020/170] security: arbitrary file download by authenticated user (#2867) * restricts download tokens to data directory * block requests outside of the data dir --- mealie/routes/recipe/bulk_actions.py | 6 +++++- mealie/routes/utility_routes.py | 9 +++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/mealie/routes/recipe/bulk_actions.py b/mealie/routes/recipe/bulk_actions.py index 2682564ca02f..678a157ccfb1 100644 --- a/mealie/routes/recipe/bulk_actions.py +++ b/mealie/routes/recipe/bulk_actions.py @@ -1,7 +1,7 @@ from functools import cached_property from pathlib import Path -from fastapi import APIRouter, Depends +from fastapi import APIRouter, Depends, HTTPException from mealie.core.dependencies.dependencies import temporary_zip_path from mealie.core.security import create_file_token @@ -50,6 +50,10 @@ class RecipeBulkActionsController(BaseUserController): @router.get("/export/download") def get_exported_data_token(self, path: Path): """Returns a token to download a file""" + path = Path(path).resolve() + + if not path.is_relative_to(self.folders.DATA_DIR): + raise HTTPException(400, "path must be relative to data directory") return {"fileToken": create_file_token(path)} diff --git a/mealie/routes/utility_routes.py b/mealie/routes/utility_routes.py index 21496b2e58fc..cc67f348d375 100644 --- a/mealie/routes/utility_routes.py +++ b/mealie/routes/utility_routes.py @@ -3,6 +3,7 @@ from pathlib import Path from fastapi import APIRouter, Depends, HTTPException, status from starlette.responses import FileResponse +from mealie.core.config import get_app_dirs from mealie.core.dependencies import validate_file_token router = APIRouter(prefix="/api/utils", tags=["Utils"], include_in_schema=True) @@ -12,6 +13,14 @@ router = APIRouter(prefix="/api/utils", tags=["Utils"], include_in_schema=True) async def download_file(file_path: Path = Depends(validate_file_token)): """Uses a file token obtained by an active user to retrieve a file from the operating system.""" + + file_path = Path(file_path).resolve() + + dirs = get_app_dirs() + + if not file_path.is_relative_to(dirs.DATA_DIR): + raise HTTPException(status.HTTP_400_BAD_REQUEST) + if not file_path.is_file(): raise HTTPException(status.HTTP_400_BAD_REQUEST) From 86ba7dcf23d3991b74ed1c1acae3ebdb5952f352 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Thu, 21 Dec 2023 05:12:39 -0600 Subject: [PATCH 021/170] New translations en-us.json (Chinese Simplified) --- frontend/lang/messages/zh-CN.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/frontend/lang/messages/zh-CN.json b/frontend/lang/messages/zh-CN.json index 1771b74184a4..fa435e09f130 100644 --- a/frontend/lang/messages/zh-CN.json +++ b/frontend/lang/messages/zh-CN.json @@ -117,7 +117,7 @@ "loading": "正在加载", "loading-events": "正在加载事件", "loading-recipe": "正在加载食谱...", - "loading-ocr-data": "Loading OCR data...", + "loading-ocr-data": "正在加载 OCR 数据...", "loading-recipes": "正在加载食谱", "message": "信息", "monday": "周一", @@ -198,7 +198,7 @@ "refresh": "刷新", "upload-file": "上传文件", "created-on-date": "创建于: {0}", - "unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes." + "unsaved-changes": "你有未保存的更改。你希望现在离开前保存吗?保存选择“是”,不保存选择“取消”。" }, "group": { "are-you-sure-you-want-to-delete-the-group": "您确定要删除{groupName}吗?", @@ -213,7 +213,7 @@ "group-id-with-value": "群组ID: {groupID}", "group-name": "群组名", "group-not-found": "未找到该群组", - "group-token": "Group Token", + "group-token": "群组令牌", "group-with-value": "群组: {groupID}", "groups": "群组", "manage-groups": "管理群组", @@ -504,7 +504,7 @@ "edit-timeline-event": "编辑时间线事件", "timeline": "时间线", "timeline-is-empty": "时间线上空空如也,试着先去制作一个食谱吧!", - "group-global-timeline": "{groupName} Global Timeline", + "group-global-timeline": "{groupName} 全局时间线", "open-timeline": "开启时间线", "made-this": "我做了这个", "how-did-it-turn-out": "成品怎么样?", @@ -883,9 +883,9 @@ "authentication-method-hint": "This specifies how a user will authenticate with Mealie. If you're not sure, choose 'Mealie", "permissions": "权限", "administrator": "管理员", - "user-can-invite-other-to-group": "User can invite other to group", - "user-can-manage-group": "User can manage group", - "user-can-organize-group-data": "User can organize group data", + "user-can-invite-other-to-group": "用户可以邀请其他人加入群组", + "user-can-manage-group": "用户可以管理群组", + "user-can-organize-group-data": "用户可以整理群组数据", "enable-advanced-features": "Enable advanced features", "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!", @@ -994,17 +994,17 @@ "user-registration": { "user-registration": "User Registration", "registration-success": "Registration Success", - "join-a-group": "Join a Group", - "create-a-new-group": "Create a New Group", + "join-a-group": "加入群组", + "create-a-new-group": "创建新群组", "provide-registration-token-description": "Please provide the registration token associated with the group that you'd like to join. You'll need to obtain this from an existing group member.", - "group-details": "Group Details", - "group-details-description": "Before you create an account you'll need to create a group. Your group will only contain you, but you'll be able to invite others later. Members in your group can share meal plans, shopping lists, recipes, and more!", + "group-details": "群组详情", + "group-details-description": "在你创建帐户之前,需要先创建一个群组。此时群组将只包含你自己,但稍后你便可邀请其他人。 你的群组成员可以分享食谱、用餐计划、购物清单等!", "use-seed-data": "Use Seed Data", "use-seed-data-description": "Mealie附带一套现成的“食品”、“单位”、“标签”数据,可以帮助你的群组管理食谱。", "account-details": "Account Details" }, "validation": { - "group-name-is-taken": "Group name is taken", + "group-name-is-taken": "群组名称已被占用", "username-is-taken": "Username is taken", "email-is-taken": "Email is taken", "this-field-is-required": "This Field is Required" @@ -1128,8 +1128,8 @@ "get-public-link": "Get Public Link", "account-summary": "Account Summary", "account-summary-description": "Here's a summary of your group's information", - "group-statistics": "Group Statistics", - "group-statistics-description": "Your Group Statistics provide some insight how you're using Mealie.", + "group-statistics": "群组统计", + "group-statistics-description": "群组统计为你如何使用Mealie提供一些深入信息。", "storage-capacity": "总储存容量", "storage-capacity-description": "Your storage capacity is a calculation of the images and assets you have uploaded.", "personal": "Personal", From 88aa8b2edb6375ede58e5a17b3dc2e8a114c3570 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Fri, 22 Dec 2023 05:20:58 -0600 Subject: [PATCH 022/170] New translations en-us.json (Chinese Simplified) --- frontend/lang/messages/zh-CN.json | 120 +++++++++++++++--------------- 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/frontend/lang/messages/zh-CN.json b/frontend/lang/messages/zh-CN.json index fa435e09f130..3717d1c61df2 100644 --- a/frontend/lang/messages/zh-CN.json +++ b/frontend/lang/messages/zh-CN.json @@ -37,17 +37,17 @@ }, "category": { "categories": "分类", - "category-created": "类别已创建", - "category-creation-failed": "创建类别失败", - "category-deleted": "类别已删除", - "category-deletion-failed": "删除类别失败", - "category-filter": "类别筛选", - "category-update-failed": "更新类别失败", - "category-updated": "类别已更新", + "category-created": "已创建分类", + "category-creation-failed": "创建分类失败", + "category-deleted": "已删除分类", + "category-deletion-failed": "删除分类失败", + "category-filter": "分类过滤器", + "category-update-failed": "更新分类失败", + "category-updated": "已更新分类", "uncategorized-count": "未分类 {count}", "create-a-category": "创建分类", - "category-name": "类别名称", - "category": "类别" + "category-name": "分类名称", + "category": "分类" }, "events": { "apprise-url": "Apprise URL", @@ -70,12 +70,12 @@ "enable-notifier": "打开消息通知", "what-events": "该通知器需要订阅哪些事件?", "user-events": "用户事件", - "mealplan-events": "用餐计划事件", - "when-a-user-in-your-group-creates-a-new-mealplan": "当你群组中的用户创建新用餐计划时", + "mealplan-events": "饮食计划事件", + "when-a-user-in-your-group-creates-a-new-mealplan": "当你群组中的用户创建新饮食计划时", "shopping-list-events": "购物清单事件", "cookbook-events": "食谱合集事件", "tag-events": "标签事件", - "category-events": "目录事件", + "category-events": "分类事件", "when-a-new-user-joins-your-group": "当新用户加入您的群组时", "recipe-events": "食谱事件" }, @@ -128,7 +128,7 @@ "no-recipe-found": "未找到食谱", "ok": "好的", "options": "选项:", - "plural-name": "Plural Name", + "plural-name": "复数名称", "print": "打印", "print-preferences": "打印偏好设置", "random": "随机", @@ -180,7 +180,7 @@ "delete-with-name": "删除{name}", "confirm-delete-generic-with-name": "确定要删除{name} 么?", "confirm-delete-own-admin-account": "请注意,您正在试图删除您的管理员帐户!此操作不能撤销并且您的账户将被永久删除", - "organizer": "管理员", + "organizer": "组织者", "transfer": "转移", "copy": "复制", "color": "颜色", @@ -249,38 +249,38 @@ "general-preferences": "通用设置", "group-recipe-preferences": "群组食谱偏好设置", "report": "报告", - "report-with-id": "Report ID: {id}", + "report-with-id": "报告ID: {id}", "group-management": "群组管理", "admin-group-management": "管理员组管理", "admin-group-management-text": "对本群组的更改将被立即应用。", "group-id-value": "群组ID:{0}" }, "meal-plan": { - "create-a-new-meal-plan": "创建一个新的用餐计划", + "create-a-new-meal-plan": "新建饮食计划", "dinner-this-week": "本周晚餐", "dinner-today": "今日晚餐", "dinner-tonight": "今晚食谱", - "edit-meal-plan": "编辑用餐计划", + "edit-meal-plan": "编辑饮食计划", "end-date": "结束日期", "group": "群组 (Beta)", "main": "主要内容", - "meal-planner": "用餐计划", - "meal-plans": "用餐计划", - "mealplan-categories": "食谱计划分类", - "mealplan-created": "膳食计划已创建", - "mealplan-creation-failed": "膳食计划创建失败", - "mealplan-deleted": "膳食计划已删除", - "mealplan-deletion-failed": "食谱计划删除失败", - "mealplan-settings": "食谱计划设置", - "mealplan-update-failed": "食谱更新失败", - "mealplan-updated": "食谱计划已更新", - "no-meal-plan-defined-yet": "还没有定义食谱计划", - "no-meal-planned-for-today": "今日没有排定的食谱计划", - "only-recipes-with-these-categories-will-be-used-in-meal-plans": "只有与这些类别相关的食谱才会被用于用餐计划", - "planner": "策划人", + "meal-planner": "饮食计划", + "meal-plans": "饮食计划", + "mealplan-categories": "饮食计划分类", + "mealplan-created": "已创建饮食计划", + "mealplan-creation-failed": "创建饮食计划失败", + "mealplan-deleted": "已删除饮食计划", + "mealplan-deletion-failed": "删除饮食计划失败", + "mealplan-settings": "饮食计划设置", + "mealplan-update-failed": "更新饮食计划失败", + "mealplan-updated": "已更新饮食计划", + "no-meal-plan-defined-yet": "还没有制定饮食计划", + "no-meal-planned-for-today": "今日没有饮食计划", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "只有属于这些分类的食谱才会被用于饮食计划", + "planner": "计划人", "quick-week": "快速创建周食谱计划", - "side": "侧栏", - "sides": "侧栏", + "side": "零食", + "sides": "零食", "start-date": "开始日期", "rule-day": "用餐时间", "meal-type": "用餐时段", @@ -290,18 +290,18 @@ "type-any": "任意", "day-any": "任意", "editor": "编辑器", - "meal-recipe": "食物配方", - "meal-title": "食物名称", - "meal-note": "食物笔记", + "meal-recipe": "用餐食谱", + "meal-title": "用餐标题", + "meal-note": "用餐笔记", "note-only": "仅备注", "random-meal": "随机用餐", "random-dinner": "随即晚餐", - "random-side": "随即配菜", + "random-side": "随机零食", "this-rule-will-apply": "此规则将应用于{dayCriteria}{mealTypeCriteria}。", "to-all-days": "所有天", "on-days": "在{0}", "for-all-meal-types": "所有用餐时段", - "for-type-meal-types": "{0}用餐时段", + "for-type-meal-types": "作为 {0}", "meal-plan-rules": "饮食计划规则", "new-rule": "新建规则", "meal-plan-rules-description": "您可以创建规则,为您的饮食计划自动选择食谱。当新建饮食计划时,这些规则被服务器用来确定菜谱随机选择的范围。请注意,如果规则中含有相同的日期/类型的限制,那么将合并规则的分类。实际上,没有必要创建重复的规则,但是可以这样做。", @@ -403,7 +403,7 @@ "calories": "卡路里", "calories-suffix": "卡路里", "carbohydrate-content": "碳水化合物", - "categories": "分类目录", + "categories": "分类", "comment-action": "评论", "comment": "评论", "comments": "评论", @@ -430,8 +430,8 @@ "no-white-space-allowed": "不允许有空格", "note": "备注", "nutrition": "营养", - "object-key": "Object Key", - "object-value": "Object Value", + "object-key": "对象键", + "object-value": "对象值", "original-url": "原食谱链接", "perform-time": "烹饪时间", "prep-time": "准备时间", @@ -462,7 +462,7 @@ "no-recipe": "没有食谱", "locked-by-owner": "已被所有者锁定", "join-the-conversation": "Join the Conversation", - "add-recipe-to-mealplan": "把该食谱添加到用餐计划", + "add-recipe-to-mealplan": "把该食谱添加到饮食计划", "entry-type": "条目类型", "date-format-hint": "MM/DD/YYYY 格式", "date-format-hint-yyyy-mm-dd": "YYYY-MM-DD 格式", @@ -471,9 +471,9 @@ "add-to-timeline": "添加到时间线", "recipe-added-to-list": "食谱已被添加到购物清单", "recipes-added-to-list": "食谱已被添加到购物清单", - "recipe-added-to-mealplan": "食谱已被添加到用餐计划", + "recipe-added-to-mealplan": "已添加该食谱到饮食计划", "failed-to-add-recipes-to-list": "食谱未能添加到购物清单", - "failed-to-add-recipe-to-mealplan": "食谱未能添加到用餐计划", + "failed-to-add-recipe-to-mealplan": "添加食谱到饮食计划失败", "yield": "Yield", "quantity": "数量", "choose-unit": "选择单位", @@ -510,13 +510,13 @@ "how-did-it-turn-out": "成品怎么样?", "user-made-this": "由 {user} 制作", "last-made-date": "上次制作于{date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", + "api-extras-description": "食谱扩展是Mealie API的关键功能之一。它允许你在食谱中添加自定义JSON键值对,以供第三方程序使用。你可以利用这些键提供信息,实现更多功能,例如触发自动化,或转发自定义信息到指定的设备上。", "message-key": "键名", "parse": "自动解析", "attach-images-hint": "如需添加图片,可将其拖拽到编辑器", - "drop-image": "Drop image", + "drop-image": "拖放图片", "enable-ingredient-amounts-to-use-this-feature": "使用此项功能需启用食材用量", - "recipes-with-units-or-foods-defined-cannot-be-parsed": "Recipes with units or foods defined cannot be parsed.", + "recipes-with-units-or-foods-defined-cannot-be-parsed": "无法解析定义了单位或食物的食谱", "parse-ingredients": "自动解析食材", "edit-markdown": "编辑Markdown", "recipe-creation": "创建食谱", @@ -678,7 +678,7 @@ }, "webhooks": { "test-webhooks": "测试Webhooks", - "the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "下方列出的网址将在预定日期接收到有关用餐计划的食谱资料。Webhooks执行将在", + "the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "下列URL将会在预定日期收到当日饮食计划包含的食谱数据。当前webhooks将于执行于:", "webhook-url": "Webhook网址", "webhooks-caps": "WEBHOOKS", "webhooks": "Webhooks", @@ -729,7 +729,7 @@ "shopping-lists": "购物清单", "food": "食物", "note": "备注", - "label": "标签", + "label": "标注", "linked-item-warning": "This item is linked to one or more recipe. Adjusting the units or foods will yield unexpected results when adding or removing the recipe from this list.", "toggle-food": "Toggle Food", "manage-labels": "管理标签", @@ -836,7 +836,7 @@ "register": "Register", "reset-password": "重置密码", "sign-in": "登入", - "total-mealplans": "总用餐计划", + "total-mealplans": "总饮食计划", "total-users": "用户总数", "upload-photo": "上传照片", "use-8-characters-or-more-for-your-password": "请设置密码字符为8个或更多", @@ -996,9 +996,9 @@ "registration-success": "Registration Success", "join-a-group": "加入群组", "create-a-new-group": "创建新群组", - "provide-registration-token-description": "Please provide the registration token associated with the group that you'd like to join. You'll need to obtain this from an existing group member.", + "provide-registration-token-description": "请提供你想要加入的群组的注册令牌。你需要从现有的群组成员那里获得令牌。", "group-details": "群组详情", - "group-details-description": "在你创建帐户之前,需要先创建一个群组。此时群组将只包含你自己,但稍后你便可邀请其他人。 你的群组成员可以分享食谱、用餐计划、购物清单等!", + "group-details-description": "在你创建账户之前,需要先创建一个群组。此时群组将只包含你自己,但稍后你便可邀请其他人。 你的群组成员可以分享食谱、饮食计划、购物清单等!", "use-seed-data": "Use Seed Data", "use-seed-data-description": "Mealie附带一套现成的“食品”、“单位”、“标签”数据,可以帮助你的群组管理食谱。", "account-details": "Account Details" @@ -1107,7 +1107,7 @@ "actions-title": "Actions" }, "ingredients-natural-language-processor": "食材条目自然语言处理器", - "ingredients-natural-language-processor-explanation": "Mealie uses Conditional Random Fields (CRFs) for parsing and processing ingredients. The model used for ingredients is based off a data set of over 100,000 ingredients from a dataset compiled by the New York Times. Note that as the model is trained in English only, you may have varied results when using the model in other languages. This page is a playground for testing the model.", + "ingredients-natural-language-processor-explanation": "Mealie用条件随机场(CRFs) 算法解析食材。模型的数据集则基于纽约时报编写的一个包含十万多种食材的数据库。注意该模型仅采用英文数据训练,因此用于其他语言时未必有好的效果。本页面用于测试模型效果。", "ingredients-natural-language-processor-explanation-2": "It's not perfect, but it yields great results in general and is a good starting point for manually parsing ingredients into individual fields. Alternatively, you can also use the \"Brute\" processor that uses a pattern matching technique to identify ingredients.", "nlp": "NLP", "brute": "Brute", @@ -1123,11 +1123,11 @@ }, "profile": { "welcome-user": "👋 Welcome, {0}", - "description": "Manage your profile, recipes, and group settings.", + "description": "管理您的个人资料、菜谱和群组设置。", "get-invite-link": "Get Invite Link", "get-public-link": "Get Public Link", "account-summary": "Account Summary", - "account-summary-description": "Here's a summary of your group's information", + "account-summary-description": "这是您的群组信息的摘要", "group-statistics": "群组统计", "group-statistics-description": "群组统计为你如何使用Mealie提供一些深入信息。", "storage-capacity": "总储存容量", @@ -1137,13 +1137,13 @@ "user-settings": "User Settings", "user-settings-description": "管理偏好,修改密码,更换邮箱地址", "api-tokens-description": "Manage your API Tokens for access from external applications", - "group-description": "These items are shared within your group. Editing one of them will change it for the whole group!", - "group-settings": "Group Settings", - "group-settings-description": "Manage your common group settings like mealplan and privacy settings.", + "group-description": "这些项目已在你的群组中共享,一旦被编辑,更改之处会对所有群组成员生效!", + "group-settings": "群组设置", + "group-settings-description": "管理常见的群组设置,如饮食计划和隐私设置。", "cookbooks-description": "Manage a collection of recipe categories and generate pages for them.", "members": "成员", - "members-description": "See who's in your group and manage their permissions.", - "webhooks-description": "Setup webhooks that trigger on days that you have have mealplan scheduled.", + "members-description": "查看哪些人在你的群组中,并管理他们的权限。", + "webhooks-description": "配置在你某天有饮食计划时,当日触发的webhooks。", "notifiers": "Notifiers", "notifiers-description": "设置邮件、基于特定事件推送通知", "manage-data": "Manage Data", From 331bff84c33d10ef9965eedde2e20ebda7337368 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Fri, 22 Dec 2023 05:21:00 -0600 Subject: [PATCH 023/170] New translations en-us.json (Swedish) --- frontend/lang/messages/sv-SE.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/lang/messages/sv-SE.json b/frontend/lang/messages/sv-SE.json index 8233d70e91b5..f6900b239a02 100644 --- a/frontend/lang/messages/sv-SE.json +++ b/frontend/lang/messages/sv-SE.json @@ -249,7 +249,7 @@ "general-preferences": "Generella inställningar", "group-recipe-preferences": "Inställningar för receptgrupper", "report": "Rapport", - "report-with-id": "Report ID: {id}", + "report-with-id": "RapportID: {id}", "group-management": "Grupphantering", "admin-group-management": "Hantering av administratörsgrupp", "admin-group-management-text": "Ändringar i denna grupp kommer att återspeglas omedelbart.", @@ -355,7 +355,7 @@ "paprika-text": "Mealie kan importera recept från Paprika-applikationen. Exportera dina recept från Paprika, byt namn på filnamnstillägget på exporten till .zip och ladda upp det nedan.", "mealie-text": "Mealie kan importera recept från Mealieapplikationen från en före v1.0 version. Exportera dina recept från din gamla instans, och ladda upp zip-filen nedan. Observera att endast recept kan importeras från exporten.", "plantoeat": { - "title": "Plan to Eat", + "title": "Planera att äta", "description-long": "Mealie kan importera recept från Plan to Eat." } }, From 408718558be949960b7978dcf2a283703d66377d Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Sun, 24 Dec 2023 12:42:11 -0600 Subject: [PATCH 024/170] New Crowdin updates (#2876) * New translations en-us.json (Italian) * New translations en-us.json (Swedish) * New translations en-us.json (Chinese Simplified) --- frontend/lang/messages/it-IT.json | 46 ++--- frontend/lang/messages/sv-SE.json | 10 +- frontend/lang/messages/zh-CN.json | 272 +++++++++++++++--------------- 3 files changed, 164 insertions(+), 164 deletions(-) diff --git a/frontend/lang/messages/it-IT.json b/frontend/lang/messages/it-IT.json index 08f8232331a7..2c3bbe3884ba 100644 --- a/frontend/lang/messages/it-IT.json +++ b/frontend/lang/messages/it-IT.json @@ -114,10 +114,10 @@ "json": "JSON", "keyword": "Parola chiave", "link-copied": "Link Copiato", - "loading": "Loading", + "loading": "Caricamento in corso", "loading-events": "Caricamento eventi", - "loading-recipe": "Loading recipe...", - "loading-ocr-data": "Loading OCR data...", + "loading-recipe": "Caricamento della ricetta...", + "loading-ocr-data": "Caricamento dati OCR...", "loading-recipes": "Caricamento Ricette", "message": "Messaggio", "monday": "Lunedì", @@ -128,7 +128,7 @@ "no-recipe-found": "Nessuna Ricetta Trovata", "ok": "OK", "options": "Opzioni:", - "plural-name": "Plural Name", + "plural-name": "Nome Plurale", "print": "Stampa", "print-preferences": "Preferenze Di Stampa", "random": "Casuale", @@ -496,10 +496,10 @@ "public-link": "Link Pubblico", "timer": { "kitchen-timer": "Kitchen Timer", - "start-timer": "Start Timer", + "start-timer": "Avvia timer", "pause-timer": "Pause Timer", "resume-timer": "Resume Timer", - "stop-timer": "Stop Timer" + "stop-timer": "Arresta il Timer" }, "edit-timeline-event": "Modifica Evento Timeline", "timeline": "Timeline", @@ -554,7 +554,7 @@ "unit": "Unità", "upload-image": "Carica immagine", "screen-awake": "Keep Screen Awake", - "remove-image": "Remove image" + "remove-image": "Rimuovi immagine" }, "search": { "advanced-search": "Ricerca Avanzata", @@ -573,16 +573,16 @@ "search-hint": "Premi '/'", "advanced": "Ricerca Avanzata", "auto-search": "Ricerca automatica", - "no-results": "No results found" + "no-results": "Nessun risultato trovato" }, "settings": { "add-a-new-theme": "Aggiungi un Nuovo Tema", "admin-settings": "Impostazioni Amministratore", "backup": { - "backup-created": "Backup created successfully", + "backup-created": "Backup creato con successo", "backup-created-at-response-export_path": "Backup Creato in {path}", "backup-deleted": "Backup eliminato", - "restore-success": "Restore successful", + "restore-success": "Ripristino riuscito", "backup-tag": "Tag Backup", "create-heading": "Crea un Backup", "delete-backup": "Elimina Backup", @@ -696,7 +696,7 @@ "status-unknown-try-running-a-validation": "Stato sconosciuto. Prova ad eseguire una convalida.", "validate": "Convalida", "email-configuration-status": "Configurazione e-mail", - "email-configured": "Email Configured", + "email-configured": "Email configurata", "email-test-results": "Email Test Results", "ready": "Pronto", "not-ready": "Non Pronto - Verifica Variabili Di Ambiente", @@ -853,7 +853,7 @@ "username": "Nome Utente", "users-header": "UTENTI", "users": "Utenti", - "user-not-found": "User not found", + "user-not-found": "Utente non trovato", "webhook-time": "Ora Webhook", "webhooks-enabled": "Webhooks Abilitati", "you-are-not-allowed-to-create-a-user": "Non sei autorizzato per la creazione di utenti", @@ -889,7 +889,7 @@ "enable-advanced-features": "Abilita funzionalità avanzate", "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!", - "forgot-password": "Forgot Password", + "forgot-password": "Password Dimenticata", "forgot-password-text": "Please enter your email address and we will send you a link to reset your password.", "changes-reflected-immediately": "Changes to this user will be reflected immediately." }, @@ -965,8 +965,8 @@ "delete-recipes": "Elimina Ricette", "source-unit-will-be-deleted": "L'unità di origine verrà eliminata" }, - "create-alias": "Create Alias", - "manage-aliases": "Manage Aliases", + "create-alias": "Crea Alias", + "manage-aliases": "Gestisci Alias", "seed-data": "Dati Predefiniti", "seed": "Inizializza", "data-management": "Gestione Dati", @@ -976,8 +976,8 @@ "columns": "Colonne", "combine": "Unisci", "categories": { - "edit-category": "Edit Category", - "new-category": "New Category", + "edit-category": "Modifica categoria", + "new-category": "Nuova categoria", "category-data": "Category Data" }, "tags": { @@ -1157,13 +1157,13 @@ "show-advanced-description": "Mostra funzionalità avanzate (Chiavi API, Webhook e Gestione dati)", "back-to-profile": "Torna al Profilo", "looking-for-privacy-settings": "Stai cercando le Impostazioni Della Privacy?", - "manage-your-api-tokens": "Manage Your API Tokens", - "manage-user-profile": "Manage User Profile", - "manage-cookbooks": "Manage Cookbooks", - "manage-members": "Manage Members", + "manage-your-api-tokens": "Gestisci i tuoi Token Api", + "manage-user-profile": "Gestisci Profilo Utente", + "manage-cookbooks": "Gestisci Libri Di Cucina", + "manage-members": "Gestisci i membri", "manage-webhooks": "Manage Webhooks", - "manage-notifiers": "Manage Notifiers", - "manage-data-migrations": "Manage Data Migrations" + "manage-notifiers": "Gestisci Notifiche", + "manage-data-migrations": "Gestione Migrazioni Dei Dati" }, "cookbook": { "cookbooks": "Ricettari", diff --git a/frontend/lang/messages/sv-SE.json b/frontend/lang/messages/sv-SE.json index f6900b239a02..1e31ce19a560 100644 --- a/frontend/lang/messages/sv-SE.json +++ b/frontend/lang/messages/sv-SE.json @@ -510,7 +510,7 @@ "how-did-it-turn-out": "Hur blev rätten?", "user-made-this": "{user} lagade detta", "last-made-date": "Senast lagad {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.", + "api-extras-description": "Recept extras är en viktig funktion i Mealie's API. Med hjälp av dem kan du skapa anpassade JSON-nyckel/värdepar i ett recept, som du kan referera till från tredjepartsapplikationer. Du kan använda dessa nycklar för att tillhandahålla information, till exempel för att trigga automatiseringar eller anpassade meddelanden som ska vidarebefordras till önskad enhet.", "message-key": "Meddelandenyckel", "parse": "Läs in", "attach-images-hint": "Bifoga bilder genom att dra och släppa dem i redigeraren", @@ -596,7 +596,7 @@ "back-restore-description": "Återställning av den här backuppen kommer att skriva över all information i databasen och datakatalogen och ersätta allt med innehållet i nackuppen. {cannot-be-undone} Om återställningen går bra kommer du att loggas ut.", "cannot-be-undone": "Denna åtgärd kan inte ångras - använd med försiktighet.", "postgresql-note": "Om du använder PostGreSQL, vänligen granska {backup-restore-process} innan du återställer.", - "backup-restore-process-in-the-documentation": "backup/restore process in the documentation", + "backup-restore-process-in-the-documentation": "säkerhetskopiering/återställning i dokumentationen", "irreversible-acknowledgment": "Jag förstår att denna åtgärd är oåterkallelig, destruktiv och kan orsaka dataförlust", "restore-backup": "Återställ säkerhetskopia" }, @@ -683,10 +683,10 @@ "webhooks-caps": "WEBHOOKS", "webhooks": "Webhooks", "webhook-name": "Namn på webhook", - "description": "The webhooks defined below will be executed when a meal is defined for the day. At the scheduled time the webhooks will be sent with the data from the recipe that is scheduled for the day. Note that webhook execution is not exact. The webhooks are executed on a 5 minutes interval so the webhooks will be executed within 5 +/- minutes of the scheduled." + "description": "De webhooks som definieras nedan kommer att exekveras när en måltid definieras för dagen. Vid den schemalagda tiden skickas webhooks med data från receptet som är schemalagt för dagen. Observera att exekveringen av webhooks inte är exakt. Webhooks exekveras med ett 5 minuters intervall så att webhooks kommer att exekveras inom 5 +/- minuter från den schemalagda tiden." }, "bug-report": "Buggrapport", - "bug-report-information": "Use this information to report a bug. Providing details of your instance to developers is the best way to get your issues resolved quickly.", + "bug-report-information": "Använd denna information för att rapportera ett fel. Att ge utvecklarna information om din installation är det bästa sättet att få dina problem lösta snabbt.", "tracker": "Spårare", "configuration": "Konfiguration", "docker-volume": "Docker volym", @@ -697,7 +697,7 @@ "validate": "Validera", "email-configuration-status": "Email Configuration Status", "email-configured": "Email Configured", - "email-test-results": "Email Test Results", + "email-test-results": "Testresultat för e-post", "ready": "Redo", "not-ready": "Inte redo - Kontrollera miljövariabler", "succeeded": "Lyckades", diff --git a/frontend/lang/messages/zh-CN.json b/frontend/lang/messages/zh-CN.json index 3717d1c61df2..f1429f1288f0 100644 --- a/frontend/lang/messages/zh-CN.json +++ b/frontend/lang/messages/zh-CN.json @@ -164,7 +164,7 @@ "view": "查看", "wednesday": "周三", "yes": "是", - "foods": "食物", + "foods": "食品", "units": "单位", "back": "返回", "next": "下一步", @@ -461,7 +461,7 @@ "unable-to-delete-recipe": "无法删除食谱", "no-recipe": "没有食谱", "locked-by-owner": "已被所有者锁定", - "join-the-conversation": "Join the Conversation", + "join-the-conversation": "一起聊聊吧", "add-recipe-to-mealplan": "把该食谱添加到饮食计划", "entry-type": "条目类型", "date-format-hint": "MM/DD/YYYY 格式", @@ -478,7 +478,7 @@ "quantity": "数量", "choose-unit": "选择单位", "press-enter-to-create": "按回车键以创建", - "choose-food": "选择食物", + "choose-food": "选择食品", "notes": "备注", "toggle-section": "切换分类", "see-original-text": "查看原文", @@ -516,7 +516,7 @@ "attach-images-hint": "如需添加图片,可将其拖拽到编辑器", "drop-image": "拖放图片", "enable-ingredient-amounts-to-use-this-feature": "使用此项功能需启用食材用量", - "recipes-with-units-or-foods-defined-cannot-be-parsed": "无法解析定义了单位或食物的食谱", + "recipes-with-units-or-foods-defined-cannot-be-parsed": "无法解析定义了单位或食品的食谱", "parse-ingredients": "自动解析食材", "edit-markdown": "编辑Markdown", "recipe-creation": "创建食谱", @@ -573,16 +573,16 @@ "search-hint": "按 '/'", "advanced": "高级", "auto-search": "自动搜索", - "no-results": "No results found" + "no-results": "未找到任何结果" }, "settings": { "add-a-new-theme": "新增布景主题", "admin-settings": "管理设置", "backup": { - "backup-created": "Backup created successfully", + "backup-created": "创建备份成功", "backup-created-at-response-export_path": "备份创建于 {path}", "backup-deleted": "备份已删除", - "restore-success": "Restore successful", + "restore-success": "还原成功", "backup-tag": "标签备份", "create-heading": "创建备份", "delete-backup": "删除备份", @@ -687,34 +687,34 @@ }, "bug-report": "漏洞报告", "bug-report-information": "Use this information to report a bug. Providing details of your instance to developers is the best way to get your issues resolved quickly.", - "tracker": "Tracker", - "configuration": "Configuration", + "tracker": "报告问题", + "configuration": "配置", "docker-volume": "Docker目录", "docker-volume-help": "Mealie requires that the frontend container and the backend share the same docker volume or storage. This ensures that the frontend container can properly access the images and assets stored on disk.", "volumes-are-misconfigured": "Volumes are misconfigured.", "volumes-are-configured-correctly": "Volumes are configured correctly.", "status-unknown-try-running-a-validation": "Status Unknown. Try running a validation.", "validate": "验证", - "email-configuration-status": "Email Configuration Status", - "email-configured": "Email Configured", - "email-test-results": "Email Test Results", - "ready": "Ready", - "not-ready": "Not Ready - Check Environmental Variables", + "email-configuration-status": "电子邮件配置状态", + "email-configured": "已配置电子邮件", + "email-test-results": "电子邮件测试结果", + "ready": "已就绪", + "not-ready": "尚未就绪,请检查环境变量", "succeeded": "成功", "failed": "失败", "general-about": "关于", "application-version": "软件版本", - "application-version-error-text": "Your current version ({0}) does not match the latest release. Considering updating to the latest version ({1}).", + "application-version-error-text": "您当前的版本 ({0}) 与最新版本不匹配。请考虑更新到最新版本 ({1})。", "mealie-is-up-to-date": "Mealie 是最新版", "secure-site": "安全站点", "secure-site-error-text": "运行于本机或受https保护,剪切板和一些浏览器API可能无法正常工作。", "secure-site-success-text": "本站点经由本机或https协议访问", - "server-side-base-url": "Server Side Base URL", - "server-side-base-url-error-text": "`BASE_URL` is still the default value on API Server. This will cause issues with notifications links generated on the server for emails, etc.", - "server-side-base-url-success-text": "Server Side URL does not match the default", + "server-side-base-url": "服务器端根URL", + "server-side-base-url-error-text": "环境变量“BASE_URL“仍是API服务器上的默认值。这可能造成服务器自动发送的邮件内所包含的通知链接不可用等问题。", + "server-side-base-url-success-text": "已配置服务器端URL", "ldap-ready": "LDAP 已就绪", - "ldap-ready-error-text": "Not all LDAP Values are configured. This can be ignored if you are not using LDAP Authentication.", - "ldap-ready-success-text": "Required LDAP variables are all set.", + "ldap-ready-error-text": "某些LDAP环境变量尚未配置。(如果你不使用LDAP验证可以忽略该报错)", + "ldap-ready-success-text": "LDAP所需的环境变量均已配置。", "build": "生成", "recipe-scraper-version": "Recipe Scraper Version" }, @@ -727,11 +727,11 @@ "quantity": "数量: {0} 个", "shopping-list": "购物清单", "shopping-lists": "购物清单", - "food": "食物", + "food": "食品", "note": "备注", "label": "标注", - "linked-item-warning": "This item is linked to one or more recipe. Adjusting the units or foods will yield unexpected results when adding or removing the recipe from this list.", - "toggle-food": "Toggle Food", + "linked-item-warning": "此条目已经与一个或多个食谱有关。若强行变更它的单位或食品,会在增减下方关联食谱份数时产生意外结果。", + "toggle-food": "是否为数据库中的食品", "manage-labels": "管理标签", "are-you-sure-you-want-to-delete-this-item": "你确定要删除该条目吗?", "copy-as-text": "复制文本", @@ -787,17 +787,17 @@ "tag-updated": "标签已更新", "tags": "标签", "untagged-count": "无标签的共 {count} 个", - "create-a-tag": "Create a Tag", + "create-a-tag": "创建标签", "tag-name": "标签名称" }, "tool": { - "tools": "工具", - "on-hand": "On Hand", - "create-a-tool": "创建新工具", - "tool-name": "工具名称", - "create-new-tool": "Create New Tool", + "tools": "用具", + "on-hand": "已拥有", + "create-a-tool": "创建新用具", + "tool-name": "用具名称", + "create-new-tool": "新建用具", "on-hand-checkbox-label": "Show as On Hand (Checked)", - "required-tools": "所需工具" + "required-tools": "所需用具" }, "user": { "admin": "管理员", @@ -817,7 +817,7 @@ "error-cannot-delete-super-user": "错误!无法删除超级用户", "existing-password-does-not-match": "与现有的密码不匹配", "full-name": "全名", - "generate-password-reset-link": "Generate Password Reset Link", + "generate-password-reset-link": "生成重置密码链接", "invite-only": "Invite Only", "link-id": "链接ID", "link-name": "链接名", @@ -868,29 +868,29 @@ "account-locked-please-try-again-later": "Account Locked. Please try again later", "user-favorites": "User Favorites", "password-strength-values": { - "weak": "Weak", - "good": "Good", - "strong": "Strong", - "very-strong": "Very Strong" + "weak": "脆弱", + "good": "中等", + "strong": "优秀", + "very-strong": "超强" }, - "user-management": "User Management", - "reset-locked-users": "Reset Locked Users", - "admin-user-creation": "Admin User Creation", - "admin-user-management": "Admin User Management", - "user-details": "User Details", - "user-name": "User Name", - "authentication-method": "Authentication Method", + "user-management": "多用户管理", + "reset-locked-users": "解锁被锁定用户", + "admin-user-creation": "管理员手动创建用户", + "admin-user-management": "管理员手动管理用户", + "user-details": "用户详情", + "user-name": "用户名", + "authentication-method": "验证方式", "authentication-method-hint": "This specifies how a user will authenticate with Mealie. If you're not sure, choose 'Mealie", "permissions": "权限", "administrator": "管理员", "user-can-invite-other-to-group": "用户可以邀请其他人加入群组", "user-can-manage-group": "用户可以管理群组", "user-can-organize-group-data": "用户可以整理群组数据", - "enable-advanced-features": "Enable advanced features", - "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", - "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!", - "forgot-password": "Forgot Password", - "forgot-password-text": "Please enter your email address and we will send you a link to reset your password.", + "enable-advanced-features": "启用高级功能", + "it-looks-like-this-is-your-first-time-logging-in": "看起来这是你第一次登录。", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "不想再看到这条消息了吗?请务必在你的用户设置中更改电子邮件!", + "forgot-password": "忘记密码", + "forgot-password-text": "请输入你的电邮地址,我们会发给你重置密码的链接。", "changes-reflected-immediately": "Changes to this user will be reflected immediately." }, "language-dialog": { @@ -902,111 +902,111 @@ }, "data-pages": { "foods": { - "merge-dialog-text": "Combining the selected foods will merge the source food and target food into a single food. The source food will be deleted and all of the references to the source food will be updated to point to the target food.", + "merge-dialog-text": "此操作将把“待合并食物”和“目标食物”合并为一个食物(即“目标食物”)。 “待合并食物”将会被删除 ,之前所有对“待合并食物”的引用都会指向“目标食物”。", "merge-food-example": "Merging {food1} into {food2}", - "seed-dialog-text": "Seed the database with foods based on your local language. This will create 200+ common foods that can be used to organize your database. Foods are translated via a community effort.", - "seed-dialog-warning": "You have already have some items in your database. This action will not reconcile duplicates, you will have to manage them manually.", - "combine-food": "Combine Food", - "source-food": "Source Food", - "target-food": "Target Food", - "create-food": "Create Food", - "food-label": "Food Label", - "edit-food": "Edit Food", - "food-data": "Food Data", - "example-food-singular": "ex: Onion", - "example-food-plural": "ex: Onions" + "seed-dialog-text": "基于你的本地语言,将一些常见食物添加到数据库。(会有200多种常见食物被添加到你的数据库。食物名称由开源社区志愿者翻译。)", + "seed-dialog-warning": "你的数据库中已经存在一些数据。此操作不会处理一些可能存在重复的条目,你需要手动管理它们。", + "combine-food": "合并食品", + "source-food": "待合并食物", + "target-food": "目标食物", + "create-food": "创建食品", + "food-label": "食品标注", + "edit-food": "编辑食品", + "food-data": "食品数据", + "example-food-singular": "例如:洋葱", + "example-food-plural": "中文用户可忽略" }, "units": { - "seed-dialog-text": "Seed the database with common units based on your local language.", - "combine-unit-description": "Combining the selected units will merge the Source Unit and Target Unit into a single unit. The {source-unit-will-be-deleted} and all of the references to the Source Unit will be updated to point to the Target Unit.", - "combine-unit": "Combine Unit", - "source-unit": "Source Unit", - "target-unit": "Target Unit", - "merging-unit-into-unit": "Merging {0} into {1}", - "create-unit": "Create Unit", - "abbreviation": "Abbreviation", - "plural-abbreviation": "Plural Abbreviation", - "description": "Description", - "display-as-fraction": "Display as Fraction", - "use-abbreviation": "Use Abbreviation", - "edit-unit": "Edit Unit", - "unit-data": "Unit Data", - "use-abbv": "Use Abbv.", - "fraction": "Fraction", - "example-unit-singular": "ex: Tablespoon", - "example-unit-plural": "ex: Tablespoons", - "example-unit-abbreviation-singular": "ex: Tbsp", - "example-unit-abbreviation-plural": "ex: Tbsps" + "seed-dialog-text": "基于你的本地语言,将一些常见单位添加到数据库。", + "combine-unit-description": "此操作将把“待合并单位”和“目标单位”合并为一个单位(即“目标单位”)。 {source-unit-will-be-deleted} ,之前所有对“待合并单位”的引用都会指向“目标单位”。", + "combine-unit": "合并单位", + "source-unit": "待合并单位", + "target-unit": "目标单位", + "merging-unit-into-unit": "正在将 {0} 合并到 {1}", + "create-unit": "创建单位", + "abbreviation": "缩写", + "plural-abbreviation": "复数缩写", + "description": "说明", + "display-as-fraction": "小数位以分数形式展示", + "use-abbreviation": "使用缩写", + "edit-unit": "编辑单位", + "unit-data": "单位数据", + "use-abbv": "使用缩写", + "fraction": "分数", + "example-unit-singular": "例如:茶匙", + "example-unit-plural": "中文用户可忽略", + "example-unit-abbreviation-singular": "例如:勺", + "example-unit-abbreviation-plural": "中文用户可忽略" }, "labels": { - "seed-dialog-text": "Seed the database with common labels based on your local language.", - "edit-label": "Edit Label", - "new-label": "New Label", - "labels": "Labels" + "seed-dialog-text": "基于你的本地语言,将一些常见标注添加到数据库。", + "edit-label": "编辑标注", + "new-label": "新标注", + "labels": "标注" }, "recipes": { "purge-exports": "Purge Exports", "are-you-sure-you-want-to-delete-all-export-data": "Are you sure you want to delete all export data?", - "confirm-delete-recipes": "Are you sure you want to delete the following recipes? This action cannot be undone.", - "the-following-recipes-selected-length-will-be-exported": "The following recipes ({0}) will be exported.", + "confirm-delete-recipes": "你确定要删除以下食谱吗?此操作无法撤消。", + "the-following-recipes-selected-length-will-be-exported": "以下食谱 ({0}) 将被导出。", "settings-chosen-explanation": "Settings chosen here, excluding the locked option, will be applied to all selected recipes.", "selected-length-recipe-s-settings-will-be-updated": "{count} recipe(s) settings will be updated.", - "recipe-data": "Recipe Data", - "recipe-data-description": "Use this section to manage the data associated with your recipes. You can perform several bulk actions on your recipes including exporting, deleting, tagging, and assigning categories.", - "recipe-columns": "Recipe Columns", + "recipe-data": "食谱数据", + "recipe-data-description": "使用此部分来管理与食谱相关的数据。你可以对食谱进行一些批量操作,包括导出、删除、以及添加标签和分类。", + "recipe-columns": "食谱可选表头", "data-exports-description": "This section provides links to available exports that are ready to download. These exports do expire, so be sure to grab them while they're still available.", - "data-exports": "Data Exports", - "tag": "Tag", - "categorize": "Categorize", - "update-settings": "Update Settings", - "tag-recipes": "Tag Recipes", - "categorize-recipes": "Categorize Recipes", - "export-recipes": "Export Recipes", - "delete-recipes": "Delete Recipes", - "source-unit-will-be-deleted": "Source Unit will be deleted" + "data-exports": "已导出数据", + "tag": "添加标签", + "categorize": "添加分类", + "update-settings": "更新设置", + "tag-recipes": "给选中食谱添加标签", + "categorize-recipes": "给选中食谱添加分类", + "export-recipes": "导出食谱", + "delete-recipes": "删除食谱", + "source-unit-will-be-deleted": "“待合并单位”将会被删除" }, - "create-alias": "Create Alias", - "manage-aliases": "Manage Aliases", - "seed-data": "Seed Data", - "seed": "Seed", - "data-management": "Data Management", - "data-management-description": "Select which data set you want to make changes to.", - "select-data": "Select Data", - "select-language": "Select Language", - "columns": "Columns", - "combine": "Combine", + "create-alias": "创建别名", + "manage-aliases": "管理别名", + "seed-data": "初始数据", + "seed": "初始化", + "data-management": "数据管理", + "data-management-description": "选择你想要更改的数据集。", + "select-data": "选择数据", + "select-language": "选择语言", + "columns": "表头", + "combine": "合并", "categories": { - "edit-category": "Edit Category", - "new-category": "New Category", - "category-data": "Category Data" + "edit-category": "编辑分类", + "new-category": "新分类", + "category-data": "分类数据" }, "tags": { - "new-tag": "New Tag", - "edit-tag": "Edit Tag", - "tag-data": "Tag Data" + "new-tag": "新标签", + "edit-tag": "编辑标签", + "tag-data": "标签数据" }, "tools": { - "new-tool": "New Tool", - "edit-tool": "Edit Tool", - "tool-data": "Tool Data" + "new-tool": "新用具", + "edit-tool": "编辑用具", + "tool-data": "用具数据" } }, "user-registration": { - "user-registration": "User Registration", - "registration-success": "Registration Success", + "user-registration": "用户注册", + "registration-success": "注册成功", "join-a-group": "加入群组", "create-a-new-group": "创建新群组", "provide-registration-token-description": "请提供你想要加入的群组的注册令牌。你需要从现有的群组成员那里获得令牌。", "group-details": "群组详情", "group-details-description": "在你创建账户之前,需要先创建一个群组。此时群组将只包含你自己,但稍后你便可邀请其他人。 你的群组成员可以分享食谱、饮食计划、购物清单等!", - "use-seed-data": "Use Seed Data", + "use-seed-data": "使用初始数据", "use-seed-data-description": "Mealie附带一套现成的“食品”、“单位”、“标签”数据,可以帮助你的群组管理食谱。", - "account-details": "Account Details" + "account-details": "账户详情" }, "validation": { - "group-name-is-taken": "群组名称已被占用", - "username-is-taken": "Username is taken", - "email-is-taken": "Email is taken", + "group-name-is-taken": "群组名称已被使用", + "username-is-taken": "用户名已被使用", + "email-is-taken": "电子邮件已被使用", "this-field-is-required": "This Field is Required" }, "export": { @@ -1092,24 +1092,24 @@ "action-delete-log-files-description": "Deletes all the log files", "action-clean-directories-name": "Clean Directories", "action-clean-directories-description": "Removes all the recipe folders that are not valid UUIDs", - "action-clean-temporary-files-name": "Clean Temporary Files", - "action-clean-temporary-files-description": "Removes all files and folders in the .temp directory", + "action-clean-temporary-files-name": "清理临时文件", + "action-clean-temporary-files-description": "移除 .temp 目录中的所有文件和文件夹", "action-clean-images-name": "清理图片", - "action-clean-images-description": "Removes all the images that don't end with .webp", - "actions-description": "Maintenance actions are {destructive_in_bold} and should be used with caution. Performing any of these actions is {irreversible_in_bold}.", - "actions-description-destructive": "destructive", - "actions-description-irreversible": "irreversible", - "logs-action-refresh": "Refresh Logs", + "action-clean-images-description": "移除所有不以 .webp 结尾的图像", + "actions-description": "维护操作是 {destructive_in_bold} ,所以务必谨慎使用。 执行任何一个操作都是 {irreversible_in_bold}.", + "actions-description-destructive": "具有破坏性的", + "actions-description-irreversible": "不可逆的", + "logs-action-refresh": "刷新日志", "logs-page-title": "Mealie日志", - "logs-tail-lines-label": "Tail Lines" + "logs-tail-lines-label": "显示行数" }, "mainentance": { - "actions-title": "Actions" + "actions-title": "操作" }, "ingredients-natural-language-processor": "食材条目自然语言处理器", "ingredients-natural-language-processor-explanation": "Mealie用条件随机场(CRFs) 算法解析食材。模型的数据集则基于纽约时报编写的一个包含十万多种食材的数据库。注意该模型仅采用英文数据训练,因此用于其他语言时未必有好的效果。本页面用于测试模型效果。", - "ingredients-natural-language-processor-explanation-2": "It's not perfect, but it yields great results in general and is a good starting point for manually parsing ingredients into individual fields. Alternatively, you can also use the \"Brute\" processor that uses a pattern matching technique to identify ingredients.", - "nlp": "NLP", + "ingredients-natural-language-processor-explanation-2": "它不完美,但通常来说结果还不错。推荐用它上手来把食材手动解析成独立字段。或者,你也可以选择“Brute解析器“,它使用一种模式匹配技术来识别食材。", + "nlp": "自然语言处理", "brute": "Brute", "show-individual-confidence": "Show individual confidence", "ingredient-text": "Ingredient Text", @@ -1147,7 +1147,7 @@ "notifiers": "Notifiers", "notifiers-description": "设置邮件、基于特定事件推送通知", "manage-data": "Manage Data", - "manage-data-description": "Manage your Food and Units (more options coming soon)", + "manage-data-description": "管理食品和单位(将会提供更多选项)", "data-migrations": "Data Migrations", "data-migrations-description": "将现有数据从其他应用(如Nextcloud食谱、Chowdown)迁移至Mealie", "email-sent": "邮件已发送", @@ -1174,7 +1174,7 @@ "filter-options-description": "When require all is selected the cookbook will only include recipes that have all of the items selected. This applies to each subset of selectors and not a cross section of the selected items.", "require-all-categories": "Require All Categories", "require-all-tags": "需要所有标签", - "require-all-tools": "需要所有工具", + "require-all-tools": "需要所有用具", "cookbook-name": "食谱名称", "cookbook-with-name": "Cookbook {0}" } From f89586894c5afe930404b213d6950a60007f3ecf Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Mon, 25 Dec 2023 12:14:10 -0600 Subject: [PATCH 025/170] New translations en-us.json (Chinese Simplified) (#2877) --- frontend/lang/messages/zh-CN.json | 222 +++++++++++++++--------------- 1 file changed, 111 insertions(+), 111 deletions(-) diff --git a/frontend/lang/messages/zh-CN.json b/frontend/lang/messages/zh-CN.json index f1429f1288f0..759b7ca1d929 100644 --- a/frontend/lang/messages/zh-CN.json +++ b/frontend/lang/messages/zh-CN.json @@ -172,7 +172,7 @@ "date": "日期", "id": "Id", "owner": "所有者", - "date-added": "日期已添加", + "date-added": "添加日期", "none": "无", "run": "运行", "menu": "菜单", @@ -474,7 +474,7 @@ "recipe-added-to-mealplan": "已添加该食谱到饮食计划", "failed-to-add-recipes-to-list": "食谱未能添加到购物清单", "failed-to-add-recipe-to-mealplan": "添加食谱到饮食计划失败", - "yield": "Yield", + "yield": "菜量(几人份)", "quantity": "数量", "choose-unit": "选择单位", "press-enter-to-create": "按回车键以创建", @@ -550,7 +550,7 @@ "recipe-debugger-description": "Grab the URL of the recipe you want to debug and paste it here. The URL will be scraped by the recipe scraper and the results will be displayed. If you don't see any data returned, the site you are trying to scrape is not supported by Mealie or its scraper library.", "debug": "调试", "tree-view": "树状图", - "recipe-yield": "Recipe Yield", + "recipe-yield": "食谱菜量", "unit": "单位", "upload-image": "上传图片", "screen-awake": "保持屏幕唤醒", @@ -588,7 +588,7 @@ "delete-backup": "删除备份", "error-creating-backup-see-log-file": "创建备份时出错。请查看日志文件", "full-backup": "完整备份", - "import-summary": "导入摘要", + "import-summary": "导入概况", "partial-backup": "部分备份", "unable-to-delete-backup": "无法删除备份", "experimental-description": "Backups a total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think off this as a snapshot of Mealie at a specific time. Currently, {not-crossed-version} (data migrations are not done automatically). These serve as a database agnostic way to export and import data or backup the site to an external location.", @@ -695,9 +695,9 @@ "volumes-are-configured-correctly": "Volumes are configured correctly.", "status-unknown-try-running-a-validation": "Status Unknown. Try running a validation.", "validate": "验证", - "email-configuration-status": "电子邮件配置状态", - "email-configured": "已配置电子邮件", - "email-test-results": "电子邮件测试结果", + "email-configuration-status": "邮件服务配置状态", + "email-configured": "已配置邮件服务", + "email-test-results": "邮件服务测试结果", "ready": "已就绪", "not-ready": "尚未就绪,请检查环境变量", "succeeded": "成功", @@ -710,7 +710,7 @@ "secure-site-error-text": "运行于本机或受https保护,剪切板和一些浏览器API可能无法正常工作。", "secure-site-success-text": "本站点经由本机或https协议访问", "server-side-base-url": "服务器端根URL", - "server-side-base-url-error-text": "环境变量“BASE_URL“仍是API服务器上的默认值。这可能造成服务器自动发送的邮件内所包含的通知链接不可用等问题。", + "server-side-base-url-error-text": "环境变量“BASE_URL“仍是API服务器上的默认值。这可能造成服务器自动发送的邮件所包含的通知链接不可用等问题。", "server-side-base-url-success-text": "已配置服务器端URL", "ldap-ready": "LDAP 已就绪", "ldap-ready-error-text": "某些LDAP环境变量尚未配置。(如果你不使用LDAP验证可以忽略该报错)", @@ -744,7 +744,7 @@ "linked-recipes-count": "没有关联食谱|1个关联食谱|{count}个关联食谱", "items-checked-count": "No items checked|One item checked|{count} items checked", "no-label": "无标签", - "completed-on": "Completed on {date}" + "completed-on": "于 {date} 完成" }, "sidebar": { "all-recipes": "全部食谱", @@ -763,7 +763,7 @@ "language": "语言", "maintenance": "维护", "background-tasks": "后台任务", - "parser": "Parser", + "parser": "解析器", "developer": "开发人员", "cookbook": "食谱合集", "create-cookbook": "新建一个食谱合集" @@ -813,12 +813,12 @@ "current-password": "当前密码", "e-mail-must-be-valid": "电子邮件必须有效", "edit-user": "编辑用户", - "email": "电子邮件", + "email": "邮箱", "error-cannot-delete-super-user": "错误!无法删除超级用户", "existing-password-does-not-match": "与现有的密码不匹配", "full-name": "全名", "generate-password-reset-link": "生成重置密码链接", - "invite-only": "Invite Only", + "invite-only": "仅限邀请", "link-id": "链接ID", "link-name": "链接名", "login": "登录", @@ -831,9 +831,9 @@ "password-reset-failed": "密码重置失败", "password-updated": "密码已更新", "password": "密码", - "password-strength": "Password is {strength}", - "please-enter-password": "Please enter your new password.", - "register": "Register", + "password-strength": "密码强度: {strength}", + "please-enter-password": "请输入新密码。", + "register": "注册", "reset-password": "重置密码", "sign-in": "登入", "total-mealplans": "总饮食计划", @@ -853,25 +853,25 @@ "username": "用户名", "users-header": "用户", "users": "用户", - "user-not-found": "User not found", + "user-not-found": "未找到用户", "webhook-time": "Webhook时间", "webhooks-enabled": "Webhooks 启用", "you-are-not-allowed-to-create-a-user": "您无权创建用户", "you-are-not-allowed-to-delete-this-user": "您无权删除此用户", - "enable-advanced-content": "Enable Advanced Content", - "enable-advanced-content-description": "Enables advanced features like Recipe Scaling, API keys, Webhooks, and Data Management. Don't worry, you can always change this later", - "favorite-recipes": "Favorite Recipes", - "email-or-username": "Email or Username", - "remember-me": "Remember Me", - "please-enter-your-email-and-password": "Please enter your email and password", - "invalid-credentials": "Invalid Credentials", - "account-locked-please-try-again-later": "Account Locked. Please try again later", - "user-favorites": "User Favorites", + "enable-advanced-content": "启用高级内容", + "enable-advanced-content-description": "启用高级功能,如食谱、API密钥、Webhooks和数据管理。别纠结,你之后可以随时启用或禁用这个功能。", + "favorite-recipes": "我喜欢的食谱", + "email-or-username": "邮箱或用户名", + "remember-me": "保持登录状态", + "please-enter-your-email-and-password": "请输入您的邮箱和密码", + "invalid-credentials": "账号或密码错误", + "account-locked-please-try-again-later": "账户已被锁定,请稍后再试。", + "user-favorites": "我喜欢的食谱", "password-strength-values": { - "weak": "脆弱", - "good": "中等", - "strong": "优秀", - "very-strong": "超强" + "weak": "弱", + "good": "一般", + "strong": "强", + "very-strong": "非常强" }, "user-management": "多用户管理", "reset-locked-users": "解锁被锁定用户", @@ -888,22 +888,22 @@ "user-can-organize-group-data": "用户可以整理群组数据", "enable-advanced-features": "启用高级功能", "it-looks-like-this-is-your-first-time-logging-in": "看起来这是你第一次登录。", - "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "不想再看到这条消息了吗?请务必在你的用户设置中更改电子邮件!", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "不想再看到这条消息了吗?请务必在用户设置中更改你的邮箱!", "forgot-password": "忘记密码", - "forgot-password-text": "请输入你的电邮地址,我们会发给你重置密码的链接。", - "changes-reflected-immediately": "Changes to this user will be reflected immediately." + "forgot-password-text": "请输入你的邮箱地址,我们会发给你重置密码的链接。", + "changes-reflected-immediately": "对用户的更改将立即生效。" }, "language-dialog": { "translated": "已翻译", - "choose-language": "Choose Language", + "choose-language": "选择语言", "select-description": "选择Mealie UI的语言。该设置仅对你生效,不会影响其他用户。", - "how-to-contribute-description": "Is something not translated yet, mistranslated, or your language missing from the list? {read-the-docs-link} on how to contribute!", - "read-the-docs": "Read the docs" + "how-to-contribute-description": "是否存在未翻译、错翻译的地方,或是列表根本没有你的语言?{read-the-docs-link}了解如何贡献翻译!", + "read-the-docs": "阅读文档" }, "data-pages": { "foods": { "merge-dialog-text": "此操作将把“待合并食物”和“目标食物”合并为一个食物(即“目标食物”)。 “待合并食物”将会被删除 ,之前所有对“待合并食物”的引用都会指向“目标食物”。", - "merge-food-example": "Merging {food1} into {food2}", + "merge-food-example": "正在将{food1}合并到{food2}", "seed-dialog-text": "基于你的本地语言,将一些常见食物添加到数据库。(会有200多种常见食物被添加到你的数据库。食物名称由开源社区志愿者翻译。)", "seed-dialog-warning": "你的数据库中已经存在一些数据。此操作不会处理一些可能存在重复的条目,你需要手动管理它们。", "combine-food": "合并食品", @@ -946,15 +946,15 @@ }, "recipes": { "purge-exports": "Purge Exports", - "are-you-sure-you-want-to-delete-all-export-data": "Are you sure you want to delete all export data?", + "are-you-sure-you-want-to-delete-all-export-data": "你确认要删除所有导出的数据吗?", "confirm-delete-recipes": "你确定要删除以下食谱吗?此操作无法撤消。", "the-following-recipes-selected-length-will-be-exported": "以下食谱 ({0}) 将被导出。", - "settings-chosen-explanation": "Settings chosen here, excluding the locked option, will be applied to all selected recipes.", - "selected-length-recipe-s-settings-will-be-updated": "{count} recipe(s) settings will be updated.", + "settings-chosen-explanation": "除被锁定选项外,下列选择将被应用于所有已选中的食谱。", + "selected-length-recipe-s-settings-will-be-updated": "{count}个食谱配置将被更新。", "recipe-data": "食谱数据", "recipe-data-description": "使用此部分来管理与食谱相关的数据。你可以对食谱进行一些批量操作,包括导出、删除、以及添加标签和分类。", "recipe-columns": "食谱可选表头", - "data-exports-description": "This section provides links to available exports that are ready to download. These exports do expire, so be sure to grab them while they're still available.", + "data-exports-description": "此区域提供已准备就绪的导出数据的下载链接。这些导出数据一段时间后会过期,所以请抓紧下载。", "data-exports": "已导出数据", "tag": "添加标签", "categorize": "添加分类", @@ -1006,54 +1006,54 @@ "validation": { "group-name-is-taken": "群组名称已被使用", "username-is-taken": "用户名已被使用", - "email-is-taken": "电子邮件已被使用", - "this-field-is-required": "This Field is Required" + "email-is-taken": "邮箱已被使用", + "this-field-is-required": "此字段是必填字段" }, "export": { - "export": "Export", - "file-name": "File Name", - "size": "Size", - "link-expires": "Link Expires" + "export": "导出", + "file-name": "文件名", + "size": "大小", + "link-expires": "有效期" }, "recipe-share": { - "expiration-date": "Expiration Date", - "share-recipe": "Share Recipe", - "default-30-days": "Default 30 Days", - "expires-at": "Expires At", - "recipe-link-copied-message": "Recipe link copied to clipboard" + "expiration-date": "到期时间", + "share-recipe": "分享食谱", + "default-30-days": "默认30天", + "expires-at": "有效期至", + "recipe-link-copied-message": "已复制食谱链接到剪切板" }, "banner-experimental": { - "title": "Experimental Feature", - "description": "This page contains experimental or still-baking features. Please excuse the mess.", - "issue-link-text": "Track our progress here" + "title": "实验性功能", + "description": "此页面包含实验性或尚未成熟的功能,若体验不佳,恳请谅解。", + "issue-link-text": "在这里跟踪我们的进展。" }, "form": { "quantity-label-abbreviated": "数量" }, "markdown-editor": { - "preview-markdown-button-label": "Preview Markdown" + "preview-markdown-button-label": "预览Markdown" }, "demo": { - "info_message_with_version": "This is a Demo for version: {version}", - "demo_username": "Username: {username}", - "demo_password": "Password: {password}" + "info_message_with_version": "这是{version}版本的演示模式", + "demo_username": "\n用户名:{username}", + "demo_password": "密码:{password}" }, "ocr-editor": { - "ocr-editor": "Ocr editor", - "toolbar": "Toolbar", - "selection-mode": "Selection mode", - "pan-and-zoom-picture": "Pan and zoom picture", - "split-text": "Split text", - "preserve-line-breaks": "Preserve original line breaks", - "split-by-block": "Split by text block", - "flatten": "Flatten regardless of original formating", + "ocr-editor": "OCR编辑器", + "toolbar": "工具栏", + "selection-mode": "选择模式", + "pan-and-zoom-picture": "平移和缩放图片", + "split-text": "拆分文本", + "preserve-line-breaks": "保留原始换行", + "split-by-block": "按文本块拆分", + "flatten": "不保留原始格式", "help": { - "help": "Help", - "mouse-modes": "Mouse modes", - "selection-mode": "Selection Mode (default)", - "selection-mode-desc": "The selection mode is the main mode that can be used to enter data:", + "help": "帮助", + "mouse-modes": "鼠标模式", + "selection-mode": "选择模式 (默认)", + "selection-mode-desc": "选择模式是用来输入数据的主要模式:", "selection-mode-steps": { - "draw": "Draw a rectangle on the text you want to select.", + "draw": "框选你想要选择的文本。", "click": "Click on any field on the right and then click back on the rectangle above the image.", "result": "The selected text will appear inside the previously selected field." }, @@ -1072,26 +1072,26 @@ }, "admin": { "maintenance": { - "storage-details": "Storage Details", + "storage-details": "存储详情", "page-title": "站点维护", - "summary-title": "Summary", - "button-label-get-summary": "Get Summary", - "button-label-open-details": "Details", - "info-description-data-dir-size": "Data Directory Size", + "summary-title": "概况", + "button-label-get-summary": "获取概况", + "button-label-open-details": "详情", + "info-description-data-dir-size": "数据目录大小", "info-description-log-file-size": "日志文件大小", - "info-description-cleanable-directories": "Cleanable Directories", - "info-description-cleanable-images": "Cleanable Images", + "info-description-cleanable-directories": "可清除的目录", + "info-description-cleanable-images": "可清理的图像", "storage": { - "title-temporary-directory": "Temporary Directory (.temp)", - "title-backups-directory": "Backups Directory (backups)", - "title-groups-directory": "Groups Directory (groups)", - "title-recipes-directory": "Recipes Directory (recipes)", - "title-user-directory": "User Directory (user)" + "title-temporary-directory": "临时目录 (.temp)", + "title-backups-directory": "备份目录(backups)", + "title-groups-directory": "群组目录 (groups)", + "title-recipes-directory": "食谱目录 (recipes)", + "title-user-directory": "用户目录 (user)" }, - "action-delete-log-files-name": "Delete Log Files", - "action-delete-log-files-description": "Deletes all the log files", - "action-clean-directories-name": "Clean Directories", - "action-clean-directories-description": "Removes all the recipe folders that are not valid UUIDs", + "action-delete-log-files-name": "删除日志文件", + "action-delete-log-files-description": "删除所有日志文件", + "action-clean-directories-name": "清理目录", + "action-clean-directories-description": "移除所有名称为无效UUID的食谱文件夹", "action-clean-temporary-files-name": "清理临时文件", "action-clean-temporary-files-description": "移除 .temp 目录中的所有文件和文件夹", "action-clean-images-name": "清理图片", @@ -1111,23 +1111,23 @@ "ingredients-natural-language-processor-explanation-2": "它不完美,但通常来说结果还不错。推荐用它上手来把食材手动解析成独立字段。或者,你也可以选择“Brute解析器“,它使用一种模式匹配技术来识别食材。", "nlp": "自然语言处理", "brute": "Brute", - "show-individual-confidence": "Show individual confidence", - "ingredient-text": "Ingredient Text", - "average-confident": "{0} Confident", + "show-individual-confidence": "显示个体置信度", + "ingredient-text": "食材文本", + "average-confident": "{0}置信度", "try-an-example": "Try an example", - "parser": "Parser", - "background-tasks": "Background Tasks", - "background-tasks-description": "Here you can view all the running background tasks and their status", - "no-logs-found": "No Logs Found", + "parser": "解析器", + "background-tasks": "后台任务", + "background-tasks-description": "在这里你可以查看所有正在运行的后台任务及其状态", + "no-logs-found": "未找到日志", "tasks": "任务" }, "profile": { - "welcome-user": "👋 Welcome, {0}", + "welcome-user": "👋 欢迎,{0}", "description": "管理您的个人资料、菜谱和群组设置。", - "get-invite-link": "Get Invite Link", - "get-public-link": "Get Public Link", - "account-summary": "Account Summary", - "account-summary-description": "这是您的群组信息的摘要", + "get-invite-link": "生成邀请链接", + "get-public-link": "生成公开链接", + "account-summary": "账户概况", + "account-summary-description": "以下是你的群组概况", "group-statistics": "群组统计", "group-statistics-description": "群组统计为你如何使用Mealie提供一些深入信息。", "storage-capacity": "总储存容量", @@ -1140,12 +1140,12 @@ "group-description": "这些项目已在你的群组中共享,一旦被编辑,更改之处会对所有群组成员生效!", "group-settings": "群组设置", "group-settings-description": "管理常见的群组设置,如饮食计划和隐私设置。", - "cookbooks-description": "Manage a collection of recipe categories and generate pages for them.", + "cookbooks-description": "管理一套食谱分类并为它们生成页面。", "members": "成员", "members-description": "查看哪些人在你的群组中,并管理他们的权限。", "webhooks-description": "配置在你某天有饮食计划时,当日触发的webhooks。", "notifiers": "Notifiers", - "notifiers-description": "设置邮件、基于特定事件推送通知", + "notifiers-description": "设置基于特定事件触发的邮件提醒和通知推送。", "manage-data": "Manage Data", "manage-data-description": "管理食品和单位(将会提供更多选项)", "data-migrations": "Data Migrations", @@ -1155,10 +1155,10 @@ "personal-information": "Personal Information", "preferences": "Preferences", "show-advanced-description": "Show advanced features (API Keys, Webhooks, and Data Management)", - "back-to-profile": "Back to Profile", + "back-to-profile": "返回个人资料", "looking-for-privacy-settings": "Looking for Privacy Settings?", - "manage-your-api-tokens": "Manage Your API Tokens", - "manage-user-profile": "Manage User Profile", + "manage-your-api-tokens": "管理API令牌", + "manage-user-profile": "管理个人资料", "manage-cookbooks": "管理食谱合集", "manage-members": "管理成员", "manage-webhooks": "管理 Webhooks", @@ -1167,15 +1167,15 @@ }, "cookbook": { "cookbooks": "食谱合集", - "description": "Cookbooks are another way to organize recipes by creating cross sections of recipes and tags. Creating a cookbook will add an entry to the side-bar and all the recipes with the tags and categories chosen will be displayed in the cookbook.", + "description": "食谱合集是通过结合分类、标签两套系统来归纳食谱的方案。每创建一个合集,侧栏都会新增一个对应入口,所有满足该合集所指定标签与分类的食谱都会显示在此。", "public-cookbook": "公开食谱合集", "public-cookbook-description": "公开食谱合集可以分享和非Mealie用户,同时也会显示在你的群组页面上。", - "filter-options": "Filter Options", - "filter-options-description": "When require all is selected the cookbook will only include recipes that have all of the items selected. This applies to each subset of selectors and not a cross section of the selected items.", - "require-all-categories": "Require All Categories", - "require-all-tags": "需要所有标签", - "require-all-tools": "需要所有用具", + "filter-options": "过滤器选项", + "filter-options-description": "当“包含全部xx”选中时,食谱合集将仅保留那些xx中含有全部上方所选项的食谱。(xx指目录、标签或用具)", + "require-all-categories": "包含全部分类", + "require-all-tags": "包含全部标签", + "require-all-tools": "包含全部工具", "cookbook-name": "食谱名称", - "cookbook-with-name": "Cookbook {0}" + "cookbook-with-name": "{0}合集" } } From a1b36d936119ef3749449553e24ba8331693c1ee Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Tue, 26 Dec 2023 10:08:42 -0600 Subject: [PATCH 026/170] New translations en-us.json (Chinese Simplified) (#2878) --- frontend/lang/messages/zh-CN.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/lang/messages/zh-CN.json b/frontend/lang/messages/zh-CN.json index 759b7ca1d929..6f9d4ed93803 100644 --- a/frontend/lang/messages/zh-CN.json +++ b/frontend/lang/messages/zh-CN.json @@ -1156,7 +1156,7 @@ "preferences": "Preferences", "show-advanced-description": "Show advanced features (API Keys, Webhooks, and Data Management)", "back-to-profile": "返回个人资料", - "looking-for-privacy-settings": "Looking for Privacy Settings?", + "looking-for-privacy-settings": "正在寻找隐私设置?", "manage-your-api-tokens": "管理API令牌", "manage-user-profile": "管理个人资料", "manage-cookbooks": "管理食谱合集", From 9809167188dddf302d207d2565bd642a4fbe7697 Mon Sep 17 00:00:00 2001 From: boc-the-git <3479092+boc-the-git@users.noreply.github.com> Date: Wed, 27 Dec 2023 21:27:51 +1100 Subject: [PATCH 027/170] fix: Remove references to 'advanced' installation guide (#2880) --- docs/docs/documentation/getting-started/faq.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/docs/documentation/getting-started/faq.md b/docs/docs/documentation/getting-started/faq.md index 4a241003e684..cdc1227e8fab 100644 --- a/docs/docs/documentation/getting-started/faq.md +++ b/docs/docs/documentation/getting-started/faq.md @@ -64,9 +64,7 @@ No. Due to limitations from the Javascript Framework, mealie doesn't support ser ## Can I install Mealie without docker? -Yes, you can install Mealie on your local machine. HOWEVER, it is recommended that you don't. Managing non-system versions of python, node, and npm is a pain. Moreover, updating and upgrading your system with this configuration is unsupported and will likely require manual interventions. If you insist on installing Mealie on your local machine, you can use the links below to help guide your path. - -- [Advanced Installation](../installation/advanced/) +Yes, you can install Mealie on your local machine. HOWEVER, it is recommended that you don't. Managing non-system versions of python, node, and npm is a pain. Moreover, updating and upgrading your system with this configuration is unsupported and will likely require manual interventions. ## What is fuzzy search and how do I use it? Mealie can use fuzzy search, which is robust to minor typos. For example, searching for "brocolli" will still find your recipe for "broccoli soup". But fuzzy search is only functional on a Postgres database backend. To enable fuzzy search you will need to migrate to Postgres: From 73559bea91e8bdfa6391ea9b8721ae930a95140b Mon Sep 17 00:00:00 2001 From: boc-the-git <3479092+boc-the-git@users.noreply.github.com> Date: Thu, 28 Dec 2023 07:03:49 +1100 Subject: [PATCH 028/170] fix: Example file using wrong volume declaration (#2872) Co-authored-by: Michael Genson <71845777+michael-genson@users.noreply.github.com> --- .../docs/documentation/getting-started/installation/postgres.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/documentation/getting-started/installation/postgres.md b/docs/docs/documentation/getting-started/installation/postgres.md index fa88e8b6c912..f98f6b22a7ff 100644 --- a/docs/docs/documentation/getting-started/installation/postgres.md +++ b/docs/docs/documentation/getting-started/installation/postgres.md @@ -46,7 +46,7 @@ services: image: postgres:15 restart: always volumes: - - ./mealie-pgdata:/var/lib/postgresql/data + - mealie-pgdata:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: mealie POSTGRES_USER: mealie From ece11a5f39d52b0a6853b375097ffe8770c3eaab Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Wed, 27 Dec 2023 16:19:12 -0600 Subject: [PATCH 029/170] fix: remove username/password banner (#2881) * remove username/password banner * remove divider --- frontend/layouts/blank.vue | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/frontend/layouts/blank.vue b/frontend/layouts/blank.vue index 2cc3006e06d0..d3f7c88a01a4 100644 --- a/frontend/layouts/blank.vue +++ b/frontend/layouts/blank.vue @@ -4,9 +4,7 @@
- {{ $t("demo.info_message_with_version", { version: version }) }} | - {{ $t("demo.demo_username", { username: "changeme@example.com" }) }} | - {{ $t("demo.demo_password", { password: "demo" }) }} + {{ $t("demo.info_message_with_version", { version: version }) }}
From 46cb36212a7dfbfbe051fed1782dba1fdcc00b9b Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Thu, 28 Dec 2023 07:52:29 -0600 Subject: [PATCH 030/170] New Crowdin updates (#2883) * New translations en-us.json (Greek) * New translations en-us.json (Greek) * New translations en-us.json (Greek) * New translations en-us.json (Chinese Simplified) * New translations en-us.json (Chinese Traditional) --------- Co-authored-by: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com> --- frontend/lang/messages/zh-TW.json | 12 +++---- .../seed/resources/foods/locales/el-GR.json | 32 +++++++++---------- .../seed/resources/labels/locales/el-GR.json | 26 +++++++-------- .../seed/resources/labels/locales/zh-CN.json | 6 ++-- .../seed/resources/units/locales/el-GR.json | 16 +++++----- 5 files changed, 46 insertions(+), 46 deletions(-) diff --git a/frontend/lang/messages/zh-TW.json b/frontend/lang/messages/zh-TW.json index d2aea605e3e7..a5a5e369ce11 100644 --- a/frontend/lang/messages/zh-TW.json +++ b/frontend/lang/messages/zh-TW.json @@ -177,25 +177,25 @@ "run": "運行", "menu": "選單", "a-name-is-required": "名稱必填", - "delete-with-name": "Delete {name}", + "delete-with-name": "刪除 {name}", "confirm-delete-generic-with-name": "Are you sure you want to delete this {name}?", "confirm-delete-own-admin-account": "Please note that you are trying to delete your own admin account! This action cannot be undone and will permanently delete your account?", "organizer": "Organizer", "transfer": "Transfer", "copy": "複製", - "color": "Color", + "color": "色彩", "timestamp": "時間戳", "last-made": "最後製作的", - "learn-more": "Learn More", + "learn-more": "學習更多", "this-feature-is-currently-inactive": "該功能目前處於非活動狀態", "clipboard-not-supported": "Clipboard not supported", - "copied-to-clipboard": "Copied to clipboard", + "copied-to-clipboard": "複製到剪貼簿", "your-browser-does-not-support-clipboard": "Your browser does not support clipboard", "copied-items-to-clipboard": "No item copied to clipboard|One item copied to clipboard|Copied {count} items to clipboard", "actions": "Actions", "selected-count": "Selected: {count}", "export-all": "Export All", - "refresh": "Refresh", + "refresh": "更新", "upload-file": "上傳文件", "created-on-date": "Created on: {0}", "unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes." @@ -224,7 +224,7 @@ "keep-my-recipes-private": "將我的食譜保密", "keep-my-recipes-private-description": "Sets your group and all recipes defaults to private. You can always change this later." }, - "manage-members": "Manage Members", + "manage-members": "管理成員", "manage-members-description": "Manage the permissions of the members in your groups. {manage} allows the user to access the data-management page {invite} allows the user to generate invitation links for other users. Group owners cannot change their own permissions.", "manage": "Manage", "invite": "邀請", diff --git a/mealie/repos/seed/resources/foods/locales/el-GR.json b/mealie/repos/seed/resources/foods/locales/el-GR.json index eaf783db0c9f..a6c20213cef6 100644 --- a/mealie/repos/seed/resources/foods/locales/el-GR.json +++ b/mealie/repos/seed/resources/foods/locales/el-GR.json @@ -23,7 +23,7 @@ "broccolini": "broccolini", "broccoli-rabe": "broccoli rabe", "brussels-sprouts": "λαχανάκια Βρυξελλών", - "cabbage": "cabbage", + "cabbage": "λάχανο", "cauliflower": "κουνουπίδι", "chinese-leaves": "κινέζικα φύλλα", "collard-greens": "collard greens", @@ -52,34 +52,34 @@ "chicory": "chicory", "chilli-peppers": "chilli peppers", "chives": "chives", - "chocolate": "chocolate", - "cilantro": "cilantro", - "cinnamon": "cinnamon", + "chocolate": "σοκολάτα", + "cilantro": "κόλιανδρος", + "cinnamon": "κανέλα", "clarified-butter": "clarified butter", - "coconut": "coconut", - "coconut-milk": "coconut milk", - "coffee": "coffee", + "coconut": "καρύδα", + "coconut-milk": "γάλα καρύδας", + "coffee": "καφές", "confectioners-sugar": "confectioners' sugar", - "coriander": "coriander", - "corn": "corn", + "coriander": "κόλιανδρος", + "corn": "καλαμπόκι", "corn-syrup": "corn syrup", "cottonseed-oil": "cottonseed oil", "courgette": "courgette", "cream-of-tartar": "cream of tartar", - "cucumber": "cucumber", - "cumin": "cumin", + "cucumber": "αγγούρι", + "cumin": "κύμινο", "daikon": "daikon", "dairy-products-and-dairy-substitutes": "dairy products and dairy substitutes", - "eggs": "eggs", + "eggs": "αυγά", "ghee": "ghee", - "milk": "milk", + "milk": "γάλα", "dandelion": "dandelion", "demerara-sugar": "demerara sugar", - "dough": "dough", + "dough": "ζυμάρι", "edible-cactus": "edible cactus", - "eggplant": "eggplant", + "eggplant": "μελιτζάνα", "endive": "endive", - "fats": "fats", + "fats": "λιπαρά", "speck": "speck", "fava-beans": "fava beans", "fiddlehead": "fiddlehead", diff --git a/mealie/repos/seed/resources/labels/locales/el-GR.json b/mealie/repos/seed/resources/labels/locales/el-GR.json index fe4d0175fcb7..a267bed7c74a 100644 --- a/mealie/repos/seed/resources/labels/locales/el-GR.json +++ b/mealie/repos/seed/resources/labels/locales/el-GR.json @@ -3,22 +3,22 @@ "name": "Produce" }, { - "name": "Grains" + "name": "Σιτηρά" }, { - "name": "Fruits" + "name": "Φρούτα" }, { - "name": "Vegetables" + "name": "Λαχανικά" }, { - "name": "Meat" + "name": "Κρέας" }, { - "name": "Seafood" + "name": "Θαλασσινά" }, { - "name": "Beverages" + "name": "Ποτά" }, { "name": "Baked Goods" @@ -33,10 +33,10 @@ "name": "Confectionary" }, { - "name": "Dairy Products" + "name": "Γαλακτοκομικά" }, { - "name": "Frozen Foods" + "name": "Κατεψυγμένα Φαγητά" }, { "name": "Health Foods" @@ -48,18 +48,18 @@ "name": "Meat Products" }, { - "name": "Snacks" + "name": "Σνακ" }, { - "name": "Spices" + "name": "Μπαχαρικά" }, { - "name": "Sweets" + "name": "Γλυκά" }, { - "name": "Alcohol" + "name": "Αλκοόλ" }, { - "name": "Other" + "name": "Άλλα" } ] diff --git a/mealie/repos/seed/resources/labels/locales/zh-CN.json b/mealie/repos/seed/resources/labels/locales/zh-CN.json index 827b7313c627..f37e262a4b77 100644 --- a/mealie/repos/seed/resources/labels/locales/zh-CN.json +++ b/mealie/repos/seed/resources/labels/locales/zh-CN.json @@ -1,6 +1,6 @@ [ { - "name": "Produce" + "name": "农产品" }, { "name": "谷物" @@ -30,7 +30,7 @@ "name": "调味品" }, { - "name": "Confectionary" + "name": "糖果类" }, { "name": "乳制品" @@ -54,7 +54,7 @@ "name": "调味品" }, { - "name": "甜味剂" + "name": "甜食" }, { "name": "酒类" diff --git a/mealie/repos/seed/resources/units/locales/el-GR.json b/mealie/repos/seed/resources/units/locales/el-GR.json index 0ef53f6336b6..bc9717fe83f4 100644 --- a/mealie/repos/seed/resources/units/locales/el-GR.json +++ b/mealie/repos/seed/resources/units/locales/el-GR.json @@ -2,17 +2,17 @@ "teaspoon": { "name": "teaspoon", "description": "", - "abbreviation": "tsp" + "abbreviation": "κ.γ." }, "tablespoon": { "name": "tablespoon", "description": "", - "abbreviation": "tbsp" + "abbreviation": "κ.σ." }, "cup": { - "name": "cup", + "name": "φλιτζάνι", "description": "", - "abbreviation": "cup" + "abbreviation": "φλ." }, "fluid-ounce": { "name": "fluid ounce", @@ -42,7 +42,7 @@ "liter": { "name": "λίτρο", "description": "", - "abbreviation": "λ" + "abbreviation": "l" }, "pound": { "name": "pound", @@ -57,17 +57,17 @@ "gram": { "name": "γραμ", "description": "", - "abbreviation": "γ" + "abbreviation": "γρ." }, "kilogram": { "name": "κιλό", "description": "", - "abbreviation": "κιλ" + "abbreviation": "kg" }, "milligram": { "name": "χιλιοστόγραμμο", "description": "", - "abbreviation": "μιλιγκράμ" + "abbreviation": "mg" }, "splash": { "name": "splash", From f6f9a1c5324abaa8d5653efbc4f1cdd8f4819d75 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Fri, 29 Dec 2023 07:53:02 -0600 Subject: [PATCH 031/170] New translations en-us.json (Italian) (#2887) --- frontend/lang/messages/it-IT.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/lang/messages/it-IT.json b/frontend/lang/messages/it-IT.json index 2c3bbe3884ba..ffab221390bb 100644 --- a/frontend/lang/messages/it-IT.json +++ b/frontend/lang/messages/it-IT.json @@ -77,7 +77,7 @@ "tag-events": "Tag Eventi", "category-events": "Categoria Eventi", "when-a-new-user-joins-your-group": "Quando un nuovo utente entra nel tuo gruppo", - "recipe-events": "Recipe Events" + "recipe-events": "Eventi di ricette" }, "general": { "cancel": "Cancella", @@ -198,7 +198,7 @@ "refresh": "Ricarica", "upload-file": "Carica file", "created-on-date": "Creato il: {0}", - "unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes." + "unsaved-changes": "Sono state apportate modifiche non salvate. Salvare prima di uscire? Premi Ok per salvare, Annulla per scartare le modifiche." }, "group": { "are-you-sure-you-want-to-delete-the-group": "Sei sicuro di volerlo eliminare {groupName}'?", @@ -213,7 +213,7 @@ "group-id-with-value": "ID Gruppo:{groupID}", "group-name": "Nome Gruppo", "group-not-found": "Gruppo non trovato", - "group-token": "Group Token", + "group-token": "Token del gruppo", "group-with-value": "Gruppo: {groupID}", "groups": "Gruppi", "manage-groups": "Gestisci Gruppi", @@ -249,7 +249,7 @@ "general-preferences": "Impostazioni Generali", "group-recipe-preferences": "Impostazioni per le ricette del gruppo", "report": "Report", - "report-with-id": "Report ID: {id}", + "report-with-id": "ID Report: {id}", "group-management": "Gestione Gruppo", "admin-group-management": "Gestione Gruppo Amministratore", "admin-group-management-text": "Le modifiche a questo gruppo si rifletteranno immediatamente.", @@ -304,7 +304,7 @@ "for-type-meal-types": "per {0} tipi di pasto", "meal-plan-rules": "Regole del piano alimentare", "new-rule": "Nuova regola", - "meal-plan-rules-description": "You can create rules for auto selecting recipes for your meal plans. These rules are used by the server to determine the random pool of recipes to select from when creating meal plans. Note that if rules have the same day/type constraints then the categories of the rules will be merged. In practice, it's unnecessary to create duplicate rules, but it's possible to do so.", + "meal-plan-rules-description": "Puoi creare regole per la selezione automatica delle ricette per i tuoi piani alimentari. Queste regole vengono utilizzate dal server per determinare le ricette da selezionare durante la creazione dei piani alimentari. Tieni presente che se le regole hanno gli stessi vincoli di giorno/tipo, le categorie delle regole verranno unite. In pratica non è necessario creare regole duplicate, ma è possibile farlo.", "new-rule-description": "Quando si crea una nuova regola per un piano alimentare è possibile limitare la sua applicazione ad un giorno specifico della settimana e/o un tipo specifico di pasto. Per applicare una regola a tutti i giorni o a tutti i tipi di pasto, è possibile impostare la regola a \"Qualsiasi\", applicandola a tutti i possibili valori per il tipo di giorno e/o di pasto.", "recipe-rules": "Regole per le ricette", "applies-to-all-days": "Si applica a ogni giorno", From 6a71af98bde8c69bdcc91b1c77cb1b7127560185 Mon Sep 17 00:00:00 2001 From: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com> Date: Fri, 29 Dec 2023 16:48:28 +0100 Subject: [PATCH 032/170] fix: show copy to clipboard failure (#2886) * fix for AppButtonCopy * add some logging * fix if statement * refactor, use .then * check for copied * Fix recipe share link * refactor AppButtonCopy * update tooltip text * update use-copy * logging * fix is supported check * more fixes for use-copy.ts --------- Co-authored-by: Michael Genson <71845777+michael-genson@users.noreply.github.com> --- .../Domain/Recipe/RecipeDialogShare.vue | 16 ++++++++-- frontend/components/global/AppButtonCopy.vue | 29 ++++++++++++++----- frontend/composables/use-copy.ts | 25 ++++++++++++---- frontend/lang/messages/en-US.json | 3 +- 4 files changed, 55 insertions(+), 18 deletions(-) diff --git a/frontend/components/Domain/Recipe/RecipeDialogShare.vue b/frontend/components/Domain/Recipe/RecipeDialogShare.vue index d62ccfc9843c..f64aa341588b 100644 --- a/frontend/components/Domain/Recipe/RecipeDialogShare.vue +++ b/frontend/components/Domain/Recipe/RecipeDialogShare.vue @@ -143,7 +143,7 @@ export default defineComponent({ } const { share, isSupported: shareIsSupported } = useShare(); - const { copy } = useClipboard(); + const { copy, copied, isSupported } = useClipboard(); function getRecipeText() { return i18n.t("recipe.share-recipe-message", [props.name]); @@ -154,8 +154,18 @@ export default defineComponent({ } async function copyTokenLink(token: string) { - await copy(getTokenLink(token)); - alert.success(i18n.t("recipe-share.recipe-link-copied-message") as string); + if (isSupported.value) { + await copy(getTokenLink(token)); + if (copied.value) { + alert.success(i18n.t("recipe-share.recipe-link-copied-message") as string); + } + else { + alert.error(i18n.t("general.clipboard-copy-failure") as string); + } + } + else { + alert.error(i18n.t("general.clipboard-not-supported") as string); + } } async function shareRecipe(token: string) { diff --git a/frontend/components/global/AppButtonCopy.vue b/frontend/components/global/AppButtonCopy.vue index 2f8fcf94bf11..09bbadcff47c 100644 --- a/frontend/components/global/AppButtonCopy.vue +++ b/frontend/components/global/AppButtonCopy.vue @@ -2,7 +2,7 @@ {{ $globals.icons.clipboardCheck }} - {{ $t("general.copied_message") }} + {{ $t("general.your-browser-does-not-support-clipboard") }} + {{ copied ? $t("general.copied_message") : $t("general.clipboard-copy-failure") }} From 0bf09ad91094b928067256777c69e6a166051e82 Mon Sep 17 00:00:00 2001 From: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com> Date: Wed, 10 Jan 2024 18:20:22 +0100 Subject: [PATCH 106/170] fix (dev): Cors middleware (#2960) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add cors middleware * 🧹 --- mealie/app.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/mealie/app.py b/mealie/app.py index 22b03ed8d760..a8ba8a0feb03 100644 --- a/mealie/app.py +++ b/mealie/app.py @@ -1,5 +1,6 @@ import uvicorn from fastapi import FastAPI +from fastapi.middleware.cors import CORSMiddleware from fastapi.middleware.gzip import GZipMiddleware from fastapi.routing import APIRoute @@ -48,6 +49,17 @@ app = FastAPI( app.add_middleware(GZipMiddleware, minimum_size=1000) +if not settings.PRODUCTION: + allowed_origins = ["http://localhost:3000"] + + app.add_middleware( + CORSMiddleware, + allow_origins=allowed_origins, + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], + ) + register_debug_handler(app) From d3b3bb63a600e92b7e5702350e960c71ff901de8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 11:37:33 -0600 Subject: [PATCH 107/170] fix(deps): update dependency orjson to v3.9.10 (#2948) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Genson <71845777+michael-genson@users.noreply.github.com> --- poetry.lock | 103 ++++++++++++++++++++++++++-------------------------- 1 file changed, 52 insertions(+), 51 deletions(-) diff --git a/poetry.lock b/poetry.lock index d40fce1c9a5e..13f433b9dad2 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1416,60 +1416,61 @@ signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] [[package]] name = "orjson" -version = "3.8.9" +version = "3.9.10" description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "orjson-3.8.9-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:5d029843eae7b6cbd6468b63517b8b61471afed6572162171d8b6471b6dbf41f"}, - {file = "orjson-3.8.9-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:405933c05490efb209d0f940d8ef1403d2932a97e47010a26d2694e9dd49f84d"}, - {file = "orjson-3.8.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:183de66eff4d41c330a3006f210ab0bce7affe398da6f6eda9579b67245a34ff"}, - {file = "orjson-3.8.9-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bb4081fe340ed1df42dddfd055e1d50479cb0ccb976d13e6b5e8667a07fec6f4"}, - {file = "orjson-3.8.9-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d11593a2e736055dd7b9587dbf89cd1cbe4a42a70e70f186e51aee7e1b38902e"}, - {file = "orjson-3.8.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e20649359e28f34d01b2570e4650a076f439a959bae3a8bbe7f5923ad80f54e8"}, - {file = "orjson-3.8.9-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:c02ece4f36a160c83efe74adfba5f189c7c7702361f02b809ab73744923ee139"}, - {file = "orjson-3.8.9-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f0e19801836cf1b30f333d475b05d79051b8ae8639a8e2422fb5f64e82676ae7"}, - {file = "orjson-3.8.9-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d4850fe5650cead3c0f8822192e381cee9d4c3b8162eb082c86c927124572dc6"}, - {file = "orjson-3.8.9-cp310-none-win_amd64.whl", hash = "sha256:5fd4193f260d9d30112b5e379d0870b54dc88040807c93cbe8d67bfea148ba5a"}, - {file = "orjson-3.8.9-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:70eae063ad8d7405dc63873760567b600fc10728ba0da24a69d49c1a5d318d6d"}, - {file = "orjson-3.8.9-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:251653437632583d02203e6b118b72b99c04425175853f35340f4bac7034a36e"}, - {file = "orjson-3.8.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ea833751f017ba321c277e7425b51c0b1a18a2c60f8c9c0f4c6c4d7e16cbd6c"}, - {file = "orjson-3.8.9-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8563c2cdeb923b82a5cc5bfc76c28c786777428263ee39292d928e9687165fb4"}, - {file = "orjson-3.8.9-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6f33e9ea45b4c9457eedca0c40f38cf5732c91b0fb68f091ac59e6ea68e03eb2"}, - {file = "orjson-3.8.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:855dee152daecb7de7b4cd7069d7854e11aa291687bffe8433156af0a224417e"}, - {file = "orjson-3.8.9-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:74fa9e02589339defc9d3662de9e7eef51d8f9f3a7f6304b43b18b39d7bbf10f"}, - {file = "orjson-3.8.9-cp311-none-win_amd64.whl", hash = "sha256:6c5b10ba1e62df8f96cbc37f6d5ae9acb3f6475926dea8b1b6a1a60f201a64f7"}, - {file = "orjson-3.8.9-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:a651123d01bc399fcd866e56acc2d76512e62aae3673652b13b470ea69faf1f4"}, - {file = "orjson-3.8.9-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:73019b6d2cc998c99556020c6bd8f8bc28420c69583186ca290c66a27916a3b7"}, - {file = "orjson-3.8.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f5c3daa8b02786ad5f0e14ae16a59bbb4e02cbae3a41989a25188e5a6c962ff"}, - {file = "orjson-3.8.9-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:598598b7f81f8fda7c3e09c88165f844152b7be223bc4ea929ec8ad59b00ea17"}, - {file = "orjson-3.8.9-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:090b10bdb06baae6d5cd3550d772ecbabd833bfceed7592ff167c0a82f5b4c20"}, - {file = "orjson-3.8.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd46f688ddf9c2ea10367446fe9bf3ceba0f7490c15b4f96420491c7f00bb283"}, - {file = "orjson-3.8.9-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:b8ed8d780e9fab01bc404a70d755a8b2b34ea6c0b6604b65de135daaaadaf9a9"}, - {file = "orjson-3.8.9-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8a32c9fb742868a34346f3c52e12d893a9d27f8e0c0bf3c480db7e6903d8be28"}, - {file = "orjson-3.8.9-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:2ba366009b98ac8899e935eff6fef7672d3ea43d3ce9deb3ee33452134b6cc3a"}, - {file = "orjson-3.8.9-cp37-none-win_amd64.whl", hash = "sha256:236b9313425cb2570626c64dd5cb6caff13882d1717d491da542cff228b96e97"}, - {file = "orjson-3.8.9-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:e8efc7e9ec35336f7cc98b6692536b1262046ff1d2a545295a4d89b8a2495903"}, - {file = "orjson-3.8.9-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:8c7eba3610ae69f4aba4032ecb61b0a6fbd1e4537283d1553eb8c1cb136e9118"}, - {file = "orjson-3.8.9-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7742649e4c357d4e7ad483a35ff5f55d519e895de56772cc486913614ee7d23b"}, - {file = "orjson-3.8.9-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b6566fb8daa538c7848fd6822e2409a7e1c41dae8e65e6536598d505f641a318"}, - {file = "orjson-3.8.9-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0ce8a2a667221e2e5160021e26b09e9c13eeedafb5cda1981340c8c0c0bc8f9d"}, - {file = "orjson-3.8.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c0399631b88fa4868956badef2561fba07dffcaf050bf53959ee50d26edf6f6"}, - {file = "orjson-3.8.9-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:189ccb16ed140a824d133fa1c55175cf0d2207edaade54f1db0456a526cb5fd8"}, - {file = "orjson-3.8.9-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b707fa4481e1af19b3052ec9352c688bad3f539d7bdd8aa4a451f6dd7e4bae73"}, - {file = "orjson-3.8.9-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:c3d988eb562da1dda7d49e9abd8a64b3cabc632b4299d177fb9e0c0ca9f06b8c"}, - {file = "orjson-3.8.9-cp38-none-win_amd64.whl", hash = "sha256:b30240eb6b22daab604f1595f6aacf92bcdac0d29e2d7ad507dfac68d2b39182"}, - {file = "orjson-3.8.9-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:81869a6de00bc676d10056fa8bb28cbe805b1cf498a45c14cb7b1765eee33fcb"}, - {file = "orjson-3.8.9-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:a25a5a215b19d414de8d416a3c5414f29165843a06f704cc0345ded9eac34ac1"}, - {file = "orjson-3.8.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dec0f2bea52e30ea98ce095f1f42da04535791f9a31b2aab2499caa88307bc49"}, - {file = "orjson-3.8.9-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7b91d88fe96b698b28bb1b95b1fce226f72757ab3ab7d8d97551e23bc629c84f"}, - {file = "orjson-3.8.9-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7629841ccdcccd3c43ebc6a4165abe9844909fcedb2041994c0153470f610801"}, - {file = "orjson-3.8.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d875b304e19f4b2758d233bbf2b9d627c66fac50b3150b8d31a35ba6cda3db67"}, - {file = "orjson-3.8.9-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:723ec880c5290fe4de330febb8030e57c1978fbd624fc5b9399969e7d7d74984"}, - {file = "orjson-3.8.9-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b11f8a71c82d19fce11ce487efeec2ca0dc3bcf5b4564445fecfc68d9c268744"}, - {file = "orjson-3.8.9-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b2079bf86dec62731c1b90fdfea3211f993f0c894d9261e0ce9b68ed9c9dfbec"}, - {file = "orjson-3.8.9-cp39-none-win_amd64.whl", hash = "sha256:97d94322a2eaab767ba8d52f6bf9d0ec0f35313fe36287be6e6085dd65d55d37"}, - {file = "orjson-3.8.9.tar.gz", hash = "sha256:c40bece58c11cb09aff17424d21b41f6f767d2b1252b2f745ec3ff29cce6a240"}, + {file = "orjson-3.9.10-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:c18a4da2f50050a03d1da5317388ef84a16013302a5281d6f64e4a3f406aabc4"}, + {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5148bab4d71f58948c7c39d12b14a9005b6ab35a0bdf317a8ade9a9e4d9d0bd5"}, + {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4cf7837c3b11a2dfb589f8530b3cff2bd0307ace4c301e8997e95c7468c1378e"}, + {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c62b6fa2961a1dcc51ebe88771be5319a93fd89bd247c9ddf732bc250507bc2b"}, + {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:deeb3922a7a804755bbe6b5be9b312e746137a03600f488290318936c1a2d4dc"}, + {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1234dc92d011d3554d929b6cf058ac4a24d188d97be5e04355f1b9223e98bbe9"}, + {file = "orjson-3.9.10-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:06ad5543217e0e46fd7ab7ea45d506c76f878b87b1b4e369006bdb01acc05a83"}, + {file = "orjson-3.9.10-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4fd72fab7bddce46c6826994ce1e7de145ae1e9e106ebb8eb9ce1393ca01444d"}, + {file = "orjson-3.9.10-cp310-none-win32.whl", hash = "sha256:b5b7d4a44cc0e6ff98da5d56cde794385bdd212a86563ac321ca64d7f80c80d1"}, + {file = "orjson-3.9.10-cp310-none-win_amd64.whl", hash = "sha256:61804231099214e2f84998316f3238c4c2c4aaec302df12b21a64d72e2a135c7"}, + {file = "orjson-3.9.10-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:cff7570d492bcf4b64cc862a6e2fb77edd5e5748ad715f487628f102815165e9"}, + {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed8bc367f725dfc5cabeed1ae079d00369900231fbb5a5280cf0736c30e2adf7"}, + {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c812312847867b6335cfb264772f2a7e85b3b502d3a6b0586aa35e1858528ab1"}, + {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9edd2856611e5050004f4722922b7b1cd6268da34102667bd49d2a2b18bafb81"}, + {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:674eb520f02422546c40401f4efaf8207b5e29e420c17051cddf6c02783ff5ca"}, + {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d0dc4310da8b5f6415949bd5ef937e60aeb0eb6b16f95041b5e43e6200821fb"}, + {file = "orjson-3.9.10-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e99c625b8c95d7741fe057585176b1b8783d46ed4b8932cf98ee145c4facf499"}, + {file = "orjson-3.9.10-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ec6f18f96b47299c11203edfbdc34e1b69085070d9a3d1f302810cc23ad36bf3"}, + {file = "orjson-3.9.10-cp311-none-win32.whl", hash = "sha256:ce0a29c28dfb8eccd0f16219360530bc3cfdf6bf70ca384dacd36e6c650ef8e8"}, + {file = "orjson-3.9.10-cp311-none-win_amd64.whl", hash = "sha256:cf80b550092cc480a0cbd0750e8189247ff45457e5a023305f7ef1bcec811616"}, + {file = "orjson-3.9.10-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:602a8001bdf60e1a7d544be29c82560a7b49319a0b31d62586548835bbe2c862"}, + {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f295efcd47b6124b01255d1491f9e46f17ef40d3d7eabf7364099e463fb45f0f"}, + {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:92af0d00091e744587221e79f68d617b432425a7e59328ca4c496f774a356071"}, + {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5a02360e73e7208a872bf65a7554c9f15df5fe063dc047f79738998b0506a14"}, + {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:858379cbb08d84fe7583231077d9a36a1a20eb72f8c9076a45df8b083724ad1d"}, + {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666c6fdcaac1f13eb982b649e1c311c08d7097cbda24f32612dae43648d8db8d"}, + {file = "orjson-3.9.10-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3fb205ab52a2e30354640780ce4587157a9563a68c9beaf52153e1cea9aa0921"}, + {file = "orjson-3.9.10-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7ec960b1b942ee3c69323b8721df2a3ce28ff40e7ca47873ae35bfafeb4555ca"}, + {file = "orjson-3.9.10-cp312-none-win_amd64.whl", hash = "sha256:3e892621434392199efb54e69edfff9f699f6cc36dd9553c5bf796058b14b20d"}, + {file = "orjson-3.9.10-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:8b9ba0ccd5a7f4219e67fbbe25e6b4a46ceef783c42af7dbc1da548eb28b6531"}, + {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e2ecd1d349e62e3960695214f40939bbfdcaeaaa62ccc638f8e651cf0970e5f"}, + {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f433be3b3f4c66016d5a20e5b4444ef833a1f802ced13a2d852c637f69729c1"}, + {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4689270c35d4bb3102e103ac43c3f0b76b169760aff8bcf2d401a3e0e58cdb7f"}, + {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4bd176f528a8151a6efc5359b853ba3cc0e82d4cd1fab9c1300c5d957dc8f48c"}, + {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a2ce5ea4f71681623f04e2b7dadede3c7435dfb5e5e2d1d0ec25b35530e277b"}, + {file = "orjson-3.9.10-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:49f8ad582da6e8d2cf663c4ba5bf9f83cc052570a3a767487fec6af839b0e777"}, + {file = "orjson-3.9.10-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2a11b4b1a8415f105d989876a19b173f6cdc89ca13855ccc67c18efbd7cbd1f8"}, + {file = "orjson-3.9.10-cp38-none-win32.whl", hash = "sha256:a353bf1f565ed27ba71a419b2cd3db9d6151da426b61b289b6ba1422a702e643"}, + {file = "orjson-3.9.10-cp38-none-win_amd64.whl", hash = "sha256:e28a50b5be854e18d54f75ef1bb13e1abf4bc650ab9d635e4258c58e71eb6ad5"}, + {file = "orjson-3.9.10-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:ee5926746232f627a3be1cc175b2cfad24d0170d520361f4ce3fa2fd83f09e1d"}, + {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a73160e823151f33cdc05fe2cea557c5ef12fdf276ce29bb4f1c571c8368a60"}, + {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c338ed69ad0b8f8f8920c13f529889fe0771abbb46550013e3c3d01e5174deef"}, + {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5869e8e130e99687d9e4be835116c4ebd83ca92e52e55810962446d841aba8de"}, + {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d2c1e559d96a7f94a4f581e2a32d6d610df5840881a8cba8f25e446f4d792df3"}, + {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81a3a3a72c9811b56adf8bcc829b010163bb2fc308877e50e9910c9357e78521"}, + {file = "orjson-3.9.10-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7f8fb7f5ecf4f6355683ac6881fd64b5bb2b8a60e3ccde6ff799e48791d8f864"}, + {file = "orjson-3.9.10-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c943b35ecdf7123b2d81d225397efddf0bce2e81db2f3ae633ead38e85cd5ade"}, + {file = "orjson-3.9.10-cp39-none-win32.whl", hash = "sha256:fb0b361d73f6b8eeceba47cd37070b5e6c9de5beaeaa63a1cb35c7e1a73ef088"}, + {file = "orjson-3.9.10-cp39-none-win_amd64.whl", hash = "sha256:b90f340cb6397ec7a854157fac03f0c82b744abdd1c0941a024c3c29d1340aff"}, + {file = "orjson-3.9.10.tar.gz", hash = "sha256:9ebbdbd6a046c304b1845e96fbcc5559cd296b4dfd3ad2509e33c4d9ce07d6a1"}, ] [[package]] From edb9c517c7e921ce8c4bcf8d53575182aa6b395b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 17:50:56 +0000 Subject: [PATCH 108/170] chore(deps): update dependency pytest to v7.4.4 (#2956) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- poetry.lock | 27 ++++----------------------- 1 file changed, 4 insertions(+), 23 deletions(-) diff --git a/poetry.lock b/poetry.lock index 13f433b9dad2..5e290fe55cb9 100644 --- a/poetry.lock +++ b/poetry.lock @@ -114,24 +114,6 @@ wrapt = [ {version = ">=1.14,<2", markers = "python_version >= \"3.11\""}, ] -[[package]] -name = "attrs" -version = "22.2.0" -description = "Classes Without Boilerplate" -optional = false -python-versions = ">=3.6" -files = [ - {file = "attrs-22.2.0-py3-none-any.whl", hash = "sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836"}, - {file = "attrs-22.2.0.tar.gz", hash = "sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99"}, -] - -[package.extras] -cov = ["attrs[tests]", "coverage-enable-subprocess", "coverage[toml] (>=5.3)"] -dev = ["attrs[docs,tests]"] -docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope.interface"] -tests = ["attrs[tests-no-zope]", "zope.interface"] -tests-no-zope = ["cloudpickle", "cloudpickle", "hypothesis", "hypothesis", "mypy (>=0.971,<0.990)", "mypy (>=0.971,<0.990)", "pympler", "pympler", "pytest (>=4.3.0)", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-mypy-plugins", "pytest-xdist[psutil]", "pytest-xdist[psutil]"] - [[package]] name = "babel" version = "2.14.0" @@ -1905,17 +1887,16 @@ rdflib = "*" [[package]] name = "pytest" -version = "7.2.2" +version = "7.4.4" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.7" files = [ - {file = "pytest-7.2.2-py3-none-any.whl", hash = "sha256:130328f552dcfac0b1cec75c12e3f005619dc5f874f0a06e8ff7263f0ee6225e"}, - {file = "pytest-7.2.2.tar.gz", hash = "sha256:c99ab0c73aceb050f68929bc93af19ab6db0558791c6a0715723abe9d0ade9d4"}, + {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, + {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, ] [package.dependencies] -attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} iniconfig = "*" @@ -1924,7 +1905,7 @@ pluggy = ">=0.12,<2.0" tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} [package.extras] -testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] +testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] [[package]] name = "pytest-asyncio" From b51da29e7924966e37c412fdc3ecacc5c105e30d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 12:13:07 -0600 Subject: [PATCH 109/170] chore(deps): update dependency black to v23.12.1 (#2952) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- poetry.lock | 49 +++++++++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/poetry.lock b/poetry.lock index 5e290fe55cb9..4bda6ba71bdc 100644 --- a/poetry.lock +++ b/poetry.lock @@ -188,33 +188,33 @@ lxml = ["lxml"] [[package]] name = "black" -version = "23.7.0" +version = "23.12.1" description = "The uncompromising code formatter." optional = false python-versions = ">=3.8" files = [ - {file = "black-23.7.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:5c4bc552ab52f6c1c506ccae05681fab58c3f72d59ae6e6639e8885e94fe2587"}, - {file = "black-23.7.0-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:552513d5cd5694590d7ef6f46e1767a4df9af168d449ff767b13b084c020e63f"}, - {file = "black-23.7.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:86cee259349b4448adb4ef9b204bb4467aae74a386bce85d56ba4f5dc0da27be"}, - {file = "black-23.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:501387a9edcb75d7ae8a4412bb8749900386eaef258f1aefab18adddea1936bc"}, - {file = "black-23.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:fb074d8b213749fa1d077d630db0d5f8cc3b2ae63587ad4116e8a436e9bbe995"}, - {file = "black-23.7.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:b5b0ee6d96b345a8b420100b7d71ebfdd19fab5e8301aff48ec270042cd40ac2"}, - {file = "black-23.7.0-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:893695a76b140881531062d48476ebe4a48f5d1e9388177e175d76234ca247cd"}, - {file = "black-23.7.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:c333286dc3ddca6fdff74670b911cccedacb4ef0a60b34e491b8a67c833b343a"}, - {file = "black-23.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:831d8f54c3a8c8cf55f64d0422ee875eecac26f5f649fb6c1df65316b67c8926"}, - {file = "black-23.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:7f3bf2dec7d541b4619b8ce526bda74a6b0bffc480a163fed32eb8b3c9aed8ad"}, - {file = "black-23.7.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:f9062af71c59c004cd519e2fb8f5d25d39e46d3af011b41ab43b9c74e27e236f"}, - {file = "black-23.7.0-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:01ede61aac8c154b55f35301fac3e730baf0c9cf8120f65a9cd61a81cfb4a0c3"}, - {file = "black-23.7.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:327a8c2550ddc573b51e2c352adb88143464bb9d92c10416feb86b0f5aee5ff6"}, - {file = "black-23.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d1c6022b86f83b632d06f2b02774134def5d4d4f1dac8bef16d90cda18ba28a"}, - {file = "black-23.7.0-cp38-cp38-win_amd64.whl", hash = "sha256:27eb7a0c71604d5de083757fbdb245b1a4fae60e9596514c6ec497eb63f95320"}, - {file = "black-23.7.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:8417dbd2f57b5701492cd46edcecc4f9208dc75529bcf76c514864e48da867d9"}, - {file = "black-23.7.0-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:47e56d83aad53ca140da0af87678fb38e44fd6bc0af71eebab2d1f59b1acf1d3"}, - {file = "black-23.7.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:25cc308838fe71f7065df53aedd20327969d05671bac95b38fdf37ebe70ac087"}, - {file = "black-23.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:642496b675095d423f9b8448243336f8ec71c9d4d57ec17bf795b67f08132a91"}, - {file = "black-23.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:ad0014efc7acf0bd745792bd0d8857413652979200ab924fbf239062adc12491"}, - {file = "black-23.7.0-py3-none-any.whl", hash = "sha256:9fd59d418c60c0348505f2ddf9609c1e1de8e7493eab96198fc89d9f865e7a96"}, - {file = "black-23.7.0.tar.gz", hash = "sha256:022a582720b0d9480ed82576c920a8c1dde97cc38ff11d8d8859b3bd6ca9eedb"}, + {file = "black-23.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0aaf6041986767a5e0ce663c7a2f0e9eaf21e6ff87a5f95cbf3675bfd4c41d2"}, + {file = "black-23.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c88b3711d12905b74206227109272673edce0cb29f27e1385f33b0163c414bba"}, + {file = "black-23.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a920b569dc6b3472513ba6ddea21f440d4b4c699494d2e972a1753cdc25df7b0"}, + {file = "black-23.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:3fa4be75ef2a6b96ea8d92b1587dd8cb3a35c7e3d51f0738ced0781c3aa3a5a3"}, + {file = "black-23.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8d4df77958a622f9b5a4c96edb4b8c0034f8434032ab11077ec6c56ae9f384ba"}, + {file = "black-23.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:602cfb1196dc692424c70b6507593a2b29aac0547c1be9a1d1365f0d964c353b"}, + {file = "black-23.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c4352800f14be5b4864016882cdba10755bd50805c95f728011bcb47a4afd59"}, + {file = "black-23.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:0808494f2b2df923ffc5723ed3c7b096bd76341f6213989759287611e9837d50"}, + {file = "black-23.12.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:25e57fd232a6d6ff3f4478a6fd0580838e47c93c83eaf1ccc92d4faf27112c4e"}, + {file = "black-23.12.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2d9e13db441c509a3763a7a3d9a49ccc1b4e974a47be4e08ade2a228876500ec"}, + {file = "black-23.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d1bd9c210f8b109b1762ec9fd36592fdd528485aadb3f5849b2740ef17e674e"}, + {file = "black-23.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:ae76c22bde5cbb6bfd211ec343ded2163bba7883c7bc77f6b756a1049436fbb9"}, + {file = "black-23.12.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1fa88a0f74e50e4487477bc0bb900c6781dbddfdfa32691e780bf854c3b4a47f"}, + {file = "black-23.12.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a4d6a9668e45ad99d2f8ec70d5c8c04ef4f32f648ef39048d010b0689832ec6d"}, + {file = "black-23.12.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b18fb2ae6c4bb63eebe5be6bd869ba2f14fd0259bda7d18a46b764d8fb86298a"}, + {file = "black-23.12.1-cp38-cp38-win_amd64.whl", hash = "sha256:c04b6d9d20e9c13f43eee8ea87d44156b8505ca8a3c878773f68b4e4812a421e"}, + {file = "black-23.12.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3e1b38b3135fd4c025c28c55ddfc236b05af657828a8a6abe5deec419a0b7055"}, + {file = "black-23.12.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4f0031eaa7b921db76decd73636ef3a12c942ed367d8c3841a0739412b260a54"}, + {file = "black-23.12.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97e56155c6b737854e60a9ab1c598ff2533d57e7506d97af5481141671abf3ea"}, + {file = "black-23.12.1-cp39-cp39-win_amd64.whl", hash = "sha256:dd15245c8b68fe2b6bd0f32c1556509d11bb33aec9b5d0866dd8e2ed3dba09c2"}, + {file = "black-23.12.1-py3-none-any.whl", hash = "sha256:78baad24af0f033958cad29731e27363183e140962595def56423e626f4bee3e"}, + {file = "black-23.12.1.tar.gz", hash = "sha256:4ce3ef14ebe8d9509188014d96af1c456a910d5b5cbf434a09fef7e024b3d0d5"}, ] [package.dependencies] @@ -224,10 +224,11 @@ packaging = ">=22.0" pathspec = ">=0.9.0" platformdirs = ">=2" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)"] +d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] From 9b365f882a25256be4c43b403acca0ae7d0a7f0e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 12:29:39 -0600 Subject: [PATCH 110/170] chore(deps): update dependency pytest-asyncio to ^0.23.0 (#2957) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- poetry.lock | 12 ++++++------ pyproject.toml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/poetry.lock b/poetry.lock index 4bda6ba71bdc..f0627fe41410 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1910,13 +1910,13 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no [[package]] name = "pytest-asyncio" -version = "0.21.1" +version = "0.23.3" description = "Pytest support for asyncio" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pytest-asyncio-0.21.1.tar.gz", hash = "sha256:40a7eae6dded22c7b604986855ea48400ab15b069ae38116e8c01238e9eeb64d"}, - {file = "pytest_asyncio-0.21.1-py3-none-any.whl", hash = "sha256:8666c1c8ac02631d7c51ba282e0c69a8a452b211ffedf2599099845da5c5c37b"}, + {file = "pytest-asyncio-0.23.3.tar.gz", hash = "sha256:af313ce900a62fbe2b1aed18e37ad757f1ef9940c6b6a88e2954de38d6b1fb9f"}, + {file = "pytest_asyncio-0.23.3-py3-none-any.whl", hash = "sha256:37a9d912e8338ee7b4a3e917381d1c95bfc8682048cb0fbc35baba316ec1faba"}, ] [package.dependencies] @@ -1924,7 +1924,7 @@ pytest = ">=7.0.0" [package.extras] docs = ["sphinx (>=5.3)", "sphinx-rtd-theme (>=1.0)"] -testing = ["coverage (>=6.2)", "flaky (>=3.5.0)", "hypothesis (>=5.7.1)", "mypy (>=0.931)", "pytest-trio (>=0.7.0)"] +testing = ["coverage (>=6.2)", "hypothesis (>=5.7.1)"] [[package]] name = "python-dateutil" @@ -3053,4 +3053,4 @@ pgsql = ["psycopg2-binary"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "cd8bc56d15a37be0ba4412181e1e7c9ec021c4c03ad7c6df10cda4cbc2fcde14" +content-hash = "cfb9f1720ab13708989175bacd96293a0536b49ad12ad23a84d6e25fffc81fd9" diff --git a/pyproject.toml b/pyproject.toml index 7cd9159e6845..b51c90297d92 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -55,7 +55,7 @@ pre-commit = "^3.3.3" pydantic-to-typescript = "^1.0.7" pylint = "^2.6.0" pytest = "^7.2.0" -pytest-asyncio = "^0.21.0" +pytest-asyncio = "^0.23.0" rich = "^13.5.2" ruff = "^0.0.265" types-PyYAML = "^6.0.4" From aed9f0047c374bd53d3fe40c34a3ccf4599f8bc0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 12:40:43 -0600 Subject: [PATCH 111/170] chore(deps): update dependency pre-commit to v3.6.0 (#2953) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- poetry.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/poetry.lock b/poetry.lock index f0627fe41410..81d57cbc63c7 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1604,13 +1604,13 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "pre-commit" -version = "3.3.3" +version = "3.6.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "pre_commit-3.3.3-py2.py3-none-any.whl", hash = "sha256:10badb65d6a38caff29703362271d7dca483d01da88f9d7e05d0b97171c136cb"}, - {file = "pre_commit-3.3.3.tar.gz", hash = "sha256:a2256f489cd913d575c145132ae196fe335da32d91a8294b7afe6622335dd023"}, + {file = "pre_commit-3.6.0-py2.py3-none-any.whl", hash = "sha256:c255039ef399049a5544b6ce13d135caba8f2c28c3b4033277a788f434308376"}, + {file = "pre_commit-3.6.0.tar.gz", hash = "sha256:d30bad9abf165f7785c15a21a1f46da7d0677cb00ee7ff4c579fd38922efe15d"}, ] [package.dependencies] From e37426d5d88c3e87d142b27a87d84366c480c64b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 18:58:50 +0000 Subject: [PATCH 112/170] chore(deps): update dependency pylint to v3 (#2965) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- poetry.lock | 172 ++++++++----------------------------------------- pyproject.toml | 2 +- 2 files changed, 28 insertions(+), 146 deletions(-) diff --git a/poetry.lock b/poetry.lock index 81d57cbc63c7..62b1c5d6d7a1 100644 --- a/poetry.lock +++ b/poetry.lock @@ -97,22 +97,17 @@ requests-oauthlib = "*" [[package]] name = "astroid" -version = "2.15.8" +version = "3.0.2" description = "An abstract syntax tree for Python with inference support." optional = false -python-versions = ">=3.7.2" +python-versions = ">=3.8.0" files = [ - {file = "astroid-2.15.8-py3-none-any.whl", hash = "sha256:1aa149fc5c6589e3d0ece885b4491acd80af4f087baafa3fb5203b113e68cd3c"}, - {file = "astroid-2.15.8.tar.gz", hash = "sha256:6c107453dffee9055899705de3c9ead36e74119cee151e5a9aaf7f0b0e020a6a"}, + {file = "astroid-3.0.2-py3-none-any.whl", hash = "sha256:d6e62862355f60e716164082d6b4b041d38e2a8cf1c7cd953ded5108bac8ff5c"}, + {file = "astroid-3.0.2.tar.gz", hash = "sha256:4a61cf0a59097c7bb52689b0fd63717cd2a8a14dc9f1eee97b82d814881c8c91"}, ] [package.dependencies] -lazy-object-proxy = ">=1.4.0" typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} -wrapt = [ - {version = ">=1.11,<2", markers = "python_version < \"3.11\""}, - {version = ">=1.14,<2", markers = "python_version >= \"3.11\""}, -] [[package]] name = "babel" @@ -469,6 +464,20 @@ files = [ [package.extras] graph = ["objgraph (>=1.7.2)"] +[[package]] +name = "dill" +version = "0.3.7" +description = "serialize all of Python" +optional = false +python-versions = ">=3.7" +files = [ + {file = "dill-0.3.7-py3-none-any.whl", hash = "sha256:76b122c08ef4ce2eedcd4d1abd8e641114bfc6c2867f49f3c41facf65bf19f5e"}, + {file = "dill-0.3.7.tar.gz", hash = "sha256:cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03"}, +] + +[package.extras] +graph = ["objgraph (>=1.7.2)"] + [[package]] name = "distlib" version = "0.3.6" @@ -923,51 +932,6 @@ files = [ {file = "jstyleson-0.0.2.tar.gz", hash = "sha256:680003f3b15a2959e4e6a351f3b858e3c07dd3e073a0d54954e34d8ea5e1308e"}, ] -[[package]] -name = "lazy-object-proxy" -version = "1.9.0" -description = "A fast and thorough lazy object proxy." -optional = false -python-versions = ">=3.7" -files = [ - {file = "lazy-object-proxy-1.9.0.tar.gz", hash = "sha256:659fb5809fa4629b8a1ac5106f669cfc7bef26fbb389dda53b3e010d1ac4ebae"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b40387277b0ed2d0602b8293b94d7257e17d1479e257b4de114ea11a8cb7f2d7"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8c6cfb338b133fbdbc5cfaa10fe3c6aeea827db80c978dbd13bc9dd8526b7d4"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:721532711daa7db0d8b779b0bb0318fa87af1c10d7fe5e52ef30f8eff254d0cd"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:66a3de4a3ec06cd8af3f61b8e1ec67614fbb7c995d02fa224813cb7afefee701"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1aa3de4088c89a1b69f8ec0dcc169aa725b0ff017899ac568fe44ddc1396df46"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-win32.whl", hash = "sha256:f0705c376533ed2a9e5e97aacdbfe04cecd71e0aa84c7c0595d02ef93b6e4455"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:ea806fd4c37bf7e7ad82537b0757999264d5f70c45468447bb2b91afdbe73a6e"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:946d27deaff6cf8452ed0dba83ba38839a87f4f7a9732e8f9fd4107b21e6ff07"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79a31b086e7e68b24b99b23d57723ef7e2c6d81ed21007b6281ebcd1688acb0a"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f699ac1c768270c9e384e4cbd268d6e67aebcfae6cd623b4d7c3bfde5a35db59"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bfb38f9ffb53b942f2b5954e0f610f1e721ccebe9cce9025a38c8ccf4a5183a4"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:189bbd5d41ae7a498397287c408617fe5c48633e7755287b21d741f7db2706a9"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-win32.whl", hash = "sha256:81fc4d08b062b535d95c9ea70dbe8a335c45c04029878e62d744bdced5141586"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:f2457189d8257dd41ae9b434ba33298aec198e30adf2dcdaaa3a28b9994f6adb"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d9e25ef10a39e8afe59a5c348a4dbf29b4868ab76269f81ce1674494e2565a6e"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cbf9b082426036e19c6924a9ce90c740a9861e2bdc27a4834fd0a910742ac1e8"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f5fa4a61ce2438267163891961cfd5e32ec97a2c444e5b842d574251ade27d2"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8fa02eaab317b1e9e03f69aab1f91e120e7899b392c4fc19807a8278a07a97e8"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e7c21c95cae3c05c14aafffe2865bbd5e377cfc1348c4f7751d9dc9a48ca4bda"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win32.whl", hash = "sha256:f12ad7126ae0c98d601a7ee504c1122bcef553d1d5e0c3bfa77b16b3968d2734"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win_amd64.whl", hash = "sha256:edd20c5a55acb67c7ed471fa2b5fb66cb17f61430b7a6b9c3b4a1e40293b1671"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0daa332786cf3bb49e10dc6a17a52f6a8f9601b4cf5c295a4f85854d61de63"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cd077f3d04a58e83d04b20e334f678c2b0ff9879b9375ed107d5d07ff160171"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:660c94ea760b3ce47d1855a30984c78327500493d396eac4dfd8bd82041b22be"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:212774e4dfa851e74d393a2370871e174d7ff0ebc980907723bb67d25c8a7c30"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0117049dd1d5635bbff65444496c90e0baa48ea405125c088e93d9cf4525b11"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-win32.whl", hash = "sha256:0a891e4e41b54fd5b8313b96399f8b0e173bbbfc03c7631f01efbe29bb0bcf82"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:9990d8e71b9f6488e91ad25f322898c136b008d87bf852ff65391b004da5e17b"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9e7551208b2aded9c1447453ee366f1c4070602b3d932ace044715d89666899b"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f83ac4d83ef0ab017683d715ed356e30dd48a93746309c8f3517e1287523ef4"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7322c3d6f1766d4ef1e51a465f47955f1e8123caee67dd641e67d539a534d006"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:18b78ec83edbbeb69efdc0e9c1cb41a3b1b1ed11ddd8ded602464c3fc6020494"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:09763491ce220c0299688940f8dc2c5d05fd1f45af1e42e636b2e8b2303e4382"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-win32.whl", hash = "sha256:9090d8e53235aa280fc9239a86ae3ea8ac58eff66a705fa6aa2ec4968b95c821"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:db1c1722726f47e10e0b5fdbf15ac3b8adb58c091d12b3ab713965795036985f"}, -] - [[package]] name = "lxml" version = "4.9.4" @@ -1813,23 +1777,24 @@ files = [ [[package]] name = "pylint" -version = "2.17.7" +version = "3.0.3" description = "python code static checker" optional = false -python-versions = ">=3.7.2" +python-versions = ">=3.8.0" files = [ - {file = "pylint-2.17.7-py3-none-any.whl", hash = "sha256:27a8d4c7ddc8c2f8c18aa0050148f89ffc09838142193fdbe98f172781a3ff87"}, - {file = "pylint-2.17.7.tar.gz", hash = "sha256:f4fcac7ae74cfe36bc8451e931d8438e4a476c20314b1101c458ad0f05191fad"}, + {file = "pylint-3.0.3-py3-none-any.whl", hash = "sha256:7a1585285aefc5165db81083c3e06363a27448f6b467b3b0f30dbd0ac1f73810"}, + {file = "pylint-3.0.3.tar.gz", hash = "sha256:58c2398b0301e049609a8429789ec6edf3aabe9b6c5fec916acd18639c16de8b"}, ] [package.dependencies] -astroid = ">=2.15.8,<=2.17.0-dev0" +astroid = ">=3.0.1,<=3.1.0-dev0" colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} dill = [ {version = ">=0.2", markers = "python_version < \"3.11\""}, - {version = ">=0.3.6", markers = "python_version >= \"3.11\""}, + {version = ">=0.3.7", markers = "python_version >= \"3.12\""}, + {version = ">=0.3.6", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, ] -isort = ">=4.2.5,<6" +isort = ">=4.2.5,<5.13.0 || >5.13.0,<6" mccabe = ">=0.6,<0.8" platformdirs = ">=2.2.0" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} @@ -2964,93 +2929,10 @@ files = [ {file = "websockets-10.4.tar.gz", hash = "sha256:eef610b23933c54d5d921c92578ae5f89813438fded840c2e9809d378dc765d3"}, ] -[[package]] -name = "wrapt" -version = "1.14.1" -description = "Module for decorators, wrappers and monkey patching." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" -files = [ - {file = "wrapt-1.14.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:1b376b3f4896e7930f1f772ac4b064ac12598d1c38d04907e696cc4d794b43d3"}, - {file = "wrapt-1.14.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:903500616422a40a98a5a3c4ff4ed9d0066f3b4c951fa286018ecdf0750194ef"}, - {file = "wrapt-1.14.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5a9a0d155deafd9448baff28c08e150d9b24ff010e899311ddd63c45c2445e28"}, - {file = "wrapt-1.14.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ddaea91abf8b0d13443f6dac52e89051a5063c7d014710dcb4d4abb2ff811a59"}, - {file = "wrapt-1.14.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:36f582d0c6bc99d5f39cd3ac2a9062e57f3cf606ade29a0a0d6b323462f4dd87"}, - {file = "wrapt-1.14.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:7ef58fb89674095bfc57c4069e95d7a31cfdc0939e2a579882ac7d55aadfd2a1"}, - {file = "wrapt-1.14.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:e2f83e18fe2f4c9e7db597e988f72712c0c3676d337d8b101f6758107c42425b"}, - {file = "wrapt-1.14.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:ee2b1b1769f6707a8a445162ea16dddf74285c3964f605877a20e38545c3c462"}, - {file = "wrapt-1.14.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:833b58d5d0b7e5b9832869f039203389ac7cbf01765639c7309fd50ef619e0b1"}, - {file = "wrapt-1.14.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:80bb5c256f1415f747011dc3604b59bc1f91c6e7150bd7db03b19170ee06b320"}, - {file = "wrapt-1.14.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:07f7a7d0f388028b2df1d916e94bbb40624c59b48ecc6cbc232546706fac74c2"}, - {file = "wrapt-1.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02b41b633c6261feff8ddd8d11c711df6842aba629fdd3da10249a53211a72c4"}, - {file = "wrapt-1.14.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2fe803deacd09a233e4762a1adcea5db5d31e6be577a43352936179d14d90069"}, - {file = "wrapt-1.14.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:257fd78c513e0fb5cdbe058c27a0624c9884e735bbd131935fd49e9fe719d310"}, - {file = "wrapt-1.14.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4fcc4649dc762cddacd193e6b55bc02edca674067f5f98166d7713b193932b7f"}, - {file = "wrapt-1.14.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:11871514607b15cfeb87c547a49bca19fde402f32e2b1c24a632506c0a756656"}, - {file = "wrapt-1.14.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8ad85f7f4e20964db4daadcab70b47ab05c7c1cf2a7c1e51087bfaa83831854c"}, - {file = "wrapt-1.14.1-cp310-cp310-win32.whl", hash = "sha256:a9a52172be0b5aae932bef82a79ec0a0ce87288c7d132946d645eba03f0ad8a8"}, - {file = "wrapt-1.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:6d323e1554b3d22cfc03cd3243b5bb815a51f5249fdcbb86fda4bf62bab9e164"}, - {file = "wrapt-1.14.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ecee4132c6cd2ce5308e21672015ddfed1ff975ad0ac8d27168ea82e71413f55"}, - {file = "wrapt-1.14.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2020f391008ef874c6d9e208b24f28e31bcb85ccff4f335f15a3251d222b92d9"}, - {file = "wrapt-1.14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2feecf86e1f7a86517cab34ae6c2f081fd2d0dac860cb0c0ded96d799d20b335"}, - {file = "wrapt-1.14.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:240b1686f38ae665d1b15475966fe0472f78e71b1b4903c143a842659c8e4cb9"}, - {file = "wrapt-1.14.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9008dad07d71f68487c91e96579c8567c98ca4c3881b9b113bc7b33e9fd78b8"}, - {file = "wrapt-1.14.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6447e9f3ba72f8e2b985a1da758767698efa72723d5b59accefd716e9e8272bf"}, - {file = "wrapt-1.14.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:acae32e13a4153809db37405f5eba5bac5fbe2e2ba61ab227926a22901051c0a"}, - {file = "wrapt-1.14.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:49ef582b7a1152ae2766557f0550a9fcbf7bbd76f43fbdc94dd3bf07cc7168be"}, - {file = "wrapt-1.14.1-cp311-cp311-win32.whl", hash = "sha256:358fe87cc899c6bb0ddc185bf3dbfa4ba646f05b1b0b9b5a27c2cb92c2cea204"}, - {file = "wrapt-1.14.1-cp311-cp311-win_amd64.whl", hash = "sha256:26046cd03936ae745a502abf44dac702a5e6880b2b01c29aea8ddf3353b68224"}, - {file = "wrapt-1.14.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:43ca3bbbe97af00f49efb06e352eae40434ca9d915906f77def219b88e85d907"}, - {file = "wrapt-1.14.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:6b1a564e6cb69922c7fe3a678b9f9a3c54e72b469875aa8018f18b4d1dd1adf3"}, - {file = "wrapt-1.14.1-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:00b6d4ea20a906c0ca56d84f93065b398ab74b927a7a3dbd470f6fc503f95dc3"}, - {file = "wrapt-1.14.1-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:a85d2b46be66a71bedde836d9e41859879cc54a2a04fad1191eb50c2066f6e9d"}, - {file = "wrapt-1.14.1-cp35-cp35m-win32.whl", hash = "sha256:dbcda74c67263139358f4d188ae5faae95c30929281bc6866d00573783c422b7"}, - {file = "wrapt-1.14.1-cp35-cp35m-win_amd64.whl", hash = "sha256:b21bb4c09ffabfa0e85e3a6b623e19b80e7acd709b9f91452b8297ace2a8ab00"}, - {file = "wrapt-1.14.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:9e0fd32e0148dd5dea6af5fee42beb949098564cc23211a88d799e434255a1f4"}, - {file = "wrapt-1.14.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9736af4641846491aedb3c3f56b9bc5568d92b0692303b5a305301a95dfd38b1"}, - {file = "wrapt-1.14.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b02d65b9ccf0ef6c34cba6cf5bf2aab1bb2f49c6090bafeecc9cd81ad4ea1c1"}, - {file = "wrapt-1.14.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21ac0156c4b089b330b7666db40feee30a5d52634cc4560e1905d6529a3897ff"}, - {file = "wrapt-1.14.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:9f3e6f9e05148ff90002b884fbc2a86bd303ae847e472f44ecc06c2cd2fcdb2d"}, - {file = "wrapt-1.14.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:6e743de5e9c3d1b7185870f480587b75b1cb604832e380d64f9504a0535912d1"}, - {file = "wrapt-1.14.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:d79d7d5dc8a32b7093e81e97dad755127ff77bcc899e845f41bf71747af0c569"}, - {file = "wrapt-1.14.1-cp36-cp36m-win32.whl", hash = "sha256:81b19725065dcb43df02b37e03278c011a09e49757287dca60c5aecdd5a0b8ed"}, - {file = "wrapt-1.14.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b014c23646a467558be7da3d6b9fa409b2c567d2110599b7cf9a0c5992b3b471"}, - {file = "wrapt-1.14.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:88bd7b6bd70a5b6803c1abf6bca012f7ed963e58c68d76ee20b9d751c74a3248"}, - {file = "wrapt-1.14.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5901a312f4d14c59918c221323068fad0540e34324925c8475263841dbdfe68"}, - {file = "wrapt-1.14.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d77c85fedff92cf788face9bfa3ebaa364448ebb1d765302e9af11bf449ca36d"}, - {file = "wrapt-1.14.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d649d616e5c6a678b26d15ece345354f7c2286acd6db868e65fcc5ff7c24a77"}, - {file = "wrapt-1.14.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7d2872609603cb35ca513d7404a94d6d608fc13211563571117046c9d2bcc3d7"}, - {file = "wrapt-1.14.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:ee6acae74a2b91865910eef5e7de37dc6895ad96fa23603d1d27ea69df545015"}, - {file = "wrapt-1.14.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:2b39d38039a1fdad98c87279b48bc5dce2c0ca0d73483b12cb72aa9609278e8a"}, - {file = "wrapt-1.14.1-cp37-cp37m-win32.whl", hash = "sha256:60db23fa423575eeb65ea430cee741acb7c26a1365d103f7b0f6ec412b893853"}, - {file = "wrapt-1.14.1-cp37-cp37m-win_amd64.whl", hash = "sha256:709fe01086a55cf79d20f741f39325018f4df051ef39fe921b1ebe780a66184c"}, - {file = "wrapt-1.14.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8c0ce1e99116d5ab21355d8ebe53d9460366704ea38ae4d9f6933188f327b456"}, - {file = "wrapt-1.14.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e3fb1677c720409d5f671e39bac6c9e0e422584e5f518bfd50aa4cbbea02433f"}, - {file = "wrapt-1.14.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:642c2e7a804fcf18c222e1060df25fc210b9c58db7c91416fb055897fc27e8cc"}, - {file = "wrapt-1.14.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b7c050ae976e286906dd3f26009e117eb000fb2cf3533398c5ad9ccc86867b1"}, - {file = "wrapt-1.14.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef3f72c9666bba2bab70d2a8b79f2c6d2c1a42a7f7e2b0ec83bb2f9e383950af"}, - {file = "wrapt-1.14.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:01c205616a89d09827986bc4e859bcabd64f5a0662a7fe95e0d359424e0e071b"}, - {file = "wrapt-1.14.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5a0f54ce2c092aaf439813735584b9537cad479575a09892b8352fea5e988dc0"}, - {file = "wrapt-1.14.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2cf71233a0ed05ccdabe209c606fe0bac7379fdcf687f39b944420d2a09fdb57"}, - {file = "wrapt-1.14.1-cp38-cp38-win32.whl", hash = "sha256:aa31fdcc33fef9eb2552cbcbfee7773d5a6792c137b359e82879c101e98584c5"}, - {file = "wrapt-1.14.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1967f46ea8f2db647c786e78d8cc7e4313dbd1b0aca360592d8027b8508e24d"}, - {file = "wrapt-1.14.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3232822c7d98d23895ccc443bbdf57c7412c5a65996c30442ebe6ed3df335383"}, - {file = "wrapt-1.14.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:988635d122aaf2bdcef9e795435662bcd65b02f4f4c1ae37fbee7401c440b3a7"}, - {file = "wrapt-1.14.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cca3c2cdadb362116235fdbd411735de4328c61425b0aa9f872fd76d02c4e86"}, - {file = "wrapt-1.14.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d52a25136894c63de15a35bc0bdc5adb4b0e173b9c0d07a2be9d3ca64a332735"}, - {file = "wrapt-1.14.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40e7bc81c9e2b2734ea4bc1aceb8a8f0ceaac7c5299bc5d69e37c44d9081d43b"}, - {file = "wrapt-1.14.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b9b7a708dd92306328117d8c4b62e2194d00c365f18eff11a9b53c6f923b01e3"}, - {file = "wrapt-1.14.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6a9a25751acb379b466ff6be78a315e2b439d4c94c1e99cb7266d40a537995d3"}, - {file = "wrapt-1.14.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:34aa51c45f28ba7f12accd624225e2b1e5a3a45206aa191f6f9aac931d9d56fe"}, - {file = "wrapt-1.14.1-cp39-cp39-win32.whl", hash = "sha256:dee0ce50c6a2dd9056c20db781e9c1cfd33e77d2d569f5d1d9321c641bb903d5"}, - {file = "wrapt-1.14.1-cp39-cp39-win_amd64.whl", hash = "sha256:dee60e1de1898bde3b238f18340eec6148986da0455d8ba7848d50470a7a32fb"}, - {file = "wrapt-1.14.1.tar.gz", hash = "sha256:380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d"}, -] - [extras] pgsql = ["psycopg2-binary"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "cfb9f1720ab13708989175bacd96293a0536b49ad12ad23a84d6e25fffc81fd9" +content-hash = "47855b0de2dbe071f33835c93b4426f9259905438f5f5c6e427792e4d14af4fc" diff --git a/pyproject.toml b/pyproject.toml index b51c90297d92..102015bbaa56 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,7 +53,7 @@ mkdocs-material = "^9.0.0" mypy = "^1.5.1" pre-commit = "^3.3.3" pydantic-to-typescript = "^1.0.7" -pylint = "^2.6.0" +pylint = "^3.0.0" pytest = "^7.2.0" pytest-asyncio = "^0.23.0" rich = "^13.5.2" From 00abd43fab76bcd9ce1870d410e1bd6609c40f86 Mon Sep 17 00:00:00 2001 From: boc-the-git <3479092+boc-the-git@users.noreply.github.com> Date: Thu, 11 Jan 2024 06:21:21 +1100 Subject: [PATCH 113/170] docs: Add 'latest release' to README (#2958) --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 983aafc549a6..2185ed7a48ac 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ +[![Latest Release][latest-release-shield]][latest-release-url] [![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] @@ -91,6 +92,8 @@ Thanks to Linode for providing Hosting for the Demo, Beta, and Documentation sit [stars-url]: https://github.com/mealie-recipes/mealie/stargazers [issues-shield]: https://img.shields.io/github/issues/mealie-recipes/mealie.svg?style=flat-square [issues-url]: https://github.com/mealie-recipes/mealie/issues +[latest-release-shield]: https://img.shields.io/github/v/release/mealie-recipes/mealie.svg?style=flat-square +[latest-release-url]: https://img.shields.io/github/v/release/mealie-recipes/mealie [license-shield]: https://img.shields.io/github/license/mealie-recipes/mealie.svg?style=flat-square [license-url]: https://github.com/mealie-recipes/mealie/blob/mealie-next/LICENSE [linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=flat-square&logo=linkedin&colorB=555 From 53b790b18c0b28c34771850fca47e1269f6edd4c Mon Sep 17 00:00:00 2001 From: Carter <35710697+cmintey@users.noreply.github.com> Date: Wed, 10 Jan 2024 13:42:04 -0600 Subject: [PATCH 114/170] Remove options that no longer exist and update a few options to be more reasonable (#2951) Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com> --- .pylintrc | 87 +++++++---------------------------------------------- poetry.lock | 14 --------- 2 files changed, 11 insertions(+), 90 deletions(-) diff --git a/.pylintrc b/.pylintrc index 4d6de19720bc..05cbd74d41ee 100644 --- a/.pylintrc +++ b/.pylintrc @@ -60,17 +60,7 @@ confidence= # --enable=similarities". If you want to run only the classes checker, but have # no Warning level messages displayed, use "--disable=all --enable=classes # --disable=W". -disable=print-statement, - parameter-unpacking, - unpacking-in-except, - old-raise-syntax, - backtick, - long-suffix, - old-ne-operator, - old-octal-literal, - import-star-module-level, - non-ascii-bytes-literal, - raw-checker-failed, +disable=raw-checker-failed, bad-inline-option, locally-disabled, file-ignored, @@ -78,67 +68,10 @@ disable=print-statement, useless-suppression, deprecated-pragma, use-symbolic-message-instead, - apply-builtin, - basestring-builtin, - buffer-builtin, - cmp-builtin, - coerce-builtin, - execfile-builtin, - file-builtin, - long-builtin, - raw_input-builtin, - reduce-builtin, - standarderror-builtin, - unicode-builtin, - xrange-builtin, - coerce-method, - delslice-method, - getslice-method, - setslice-method, - no-absolute-import, - old-division, - dict-iter-method, - dict-view-method, - next-method-called, - metaclass-assignment, - indexing-exception, - raising-string, - reload-builtin, - oct-method, - hex-method, - nonzero-method, - cmp-method, - input-builtin, - round-builtin, - intern-builtin, - unichr-builtin, - map-builtin-not-iterating, - zip-builtin-not-iterating, - range-builtin-not-iterating, - filter-builtin-not-iterating, - using-cmp-argument, - eq-without-hash, - div-method, - idiv-method, - rdiv-method, - exception-message-attribute, - invalid-str-codec, - sys-max-int, - bad-python3-import, - deprecated-string-function, - deprecated-str-translate-call, - deprecated-itertools-function, - deprecated-types-field, - next-method-defined, - dict-items-not-iterating, - dict-keys-not-iterating, - dict-values-not-iterating, - deprecated-operator-function, - deprecated-urllib-function, - xreadlines-attribute, - deprecated-sys-function, - exception-escape, - comprehension-escape + missing-function-docstring, + missing-class-docstring, + missing-module-docstring, + too-few-public-methods # Enable the message, report, category or checker with the given id(s). You can # either give multiple identifier separated by comma (,) or put this option @@ -292,7 +225,9 @@ good-names=i, k, ex, Run, - _ + _, + e, + db # Good variable names regexes, separated by a comma. If names match any regex, # they will always be accepted @@ -455,7 +390,7 @@ indent-after-paren=4 indent-string=' ' # Maximum number of characters on a single line. -max-line-length=100 +max-line-length=120 # Maximum number of lines in a module. max-module-lines=1000 @@ -583,5 +518,5 @@ valid-metaclass-classmethod-first-arg=cls # Exceptions that will emit a warning when being caught. Defaults to # "BaseException, Exception". -overgeneral-exceptions=BaseException, - Exception +overgeneral-exceptions=builtins.BaseException, + builtins.Exception diff --git a/poetry.lock b/poetry.lock index 62b1c5d6d7a1..3847d64630f6 100644 --- a/poetry.lock +++ b/poetry.lock @@ -450,20 +450,6 @@ files = [ click = ">=7.1.2" coverage = ">=5.5" -[[package]] -name = "dill" -version = "0.3.6" -description = "serialize all of python" -optional = false -python-versions = ">=3.7" -files = [ - {file = "dill-0.3.6-py3-none-any.whl", hash = "sha256:a07ffd2351b8c678dfc4a856a3005f8067aea51d6ba6c700796a4d9e280f39f0"}, - {file = "dill-0.3.6.tar.gz", hash = "sha256:e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373"}, -] - -[package.extras] -graph = ["objgraph (>=1.7.2)"] - [[package]] name = "dill" version = "0.3.7" From b41509bea0011d0d10603043121684aa392d0a3b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 13:51:45 -0600 Subject: [PATCH 115/170] fix(deps): update dependency psycopg2-binary to v2.9.9 (#2939) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- poetry.lock | 138 ++++++++++++++++++++++++++++------------------------ 1 file changed, 74 insertions(+), 64 deletions(-) diff --git a/poetry.lock b/poetry.lock index 3847d64630f6..00ba06ef4215 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1572,73 +1572,83 @@ virtualenv = ">=20.10.0" [[package]] name = "psycopg2-binary" -version = "2.9.6" +version = "2.9.9" description = "psycopg2 - Python-PostgreSQL Database Adapter" optional = true -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "psycopg2-binary-2.9.6.tar.gz", hash = "sha256:1f64dcfb8f6e0c014c7f55e51c9759f024f70ea572fbdef123f85318c297947c"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d26e0342183c762de3276cca7a530d574d4e25121ca7d6e4a98e4f05cb8e4df7"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c48d8f2db17f27d41fb0e2ecd703ea41984ee19362cbce52c097963b3a1b4365"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffe9dc0a884a8848075e576c1de0290d85a533a9f6e9c4e564f19adf8f6e54a7"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a76e027f87753f9bd1ab5f7c9cb8c7628d1077ef927f5e2446477153a602f2c"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6460c7a99fc939b849431f1e73e013d54aa54293f30f1109019c56a0b2b2ec2f"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae102a98c547ee2288637af07393dd33f440c25e5cd79556b04e3fca13325e5f"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9972aad21f965599ed0106f65334230ce826e5ae69fda7cbd688d24fa922415e"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7a40c00dbe17c0af5bdd55aafd6ff6679f94a9be9513a4c7e071baf3d7d22a70"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:cacbdc5839bdff804dfebc058fe25684cae322987f7a38b0168bc1b2df703fb1"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7f0438fa20fb6c7e202863e0d5ab02c246d35efb1d164e052f2f3bfe2b152bd0"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-win32.whl", hash = "sha256:b6c8288bb8a84b47e07013bb4850f50538aa913d487579e1921724631d02ea1b"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-win_amd64.whl", hash = "sha256:61b047a0537bbc3afae10f134dc6393823882eb263088c271331602b672e52e9"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:964b4dfb7c1c1965ac4c1978b0f755cc4bd698e8aa2b7667c575fb5f04ebe06b"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afe64e9b8ea66866a771996f6ff14447e8082ea26e675a295ad3bdbffdd72afb"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15e2ee79e7cf29582ef770de7dab3d286431b01c3bb598f8e05e09601b890081"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dfa74c903a3c1f0d9b1c7e7b53ed2d929a4910e272add6700c38f365a6002820"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b83456c2d4979e08ff56180a76429263ea254c3f6552cd14ada95cff1dec9bb8"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0645376d399bfd64da57148694d78e1f431b1e1ee1054872a5713125681cf1be"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e99e34c82309dd78959ba3c1590975b5d3c862d6f279f843d47d26ff89d7d7e1"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4ea29fc3ad9d91162c52b578f211ff1c931d8a38e1f58e684c45aa470adf19e2"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:4ac30da8b4f57187dbf449294d23b808f8f53cad6b1fc3623fa8a6c11d176dd0"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e78e6e2a00c223e164c417628572a90093c031ed724492c763721c2e0bc2a8df"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-win32.whl", hash = "sha256:1876843d8e31c89c399e31b97d4b9725a3575bb9c2af92038464231ec40f9edb"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-win_amd64.whl", hash = "sha256:b4b24f75d16a89cc6b4cdff0eb6a910a966ecd476d1e73f7ce5985ff1328e9a6"}, - {file = "psycopg2_binary-2.9.6-cp36-cp36m-win32.whl", hash = "sha256:498807b927ca2510baea1b05cc91d7da4718a0f53cb766c154c417a39f1820a0"}, - {file = "psycopg2_binary-2.9.6-cp36-cp36m-win_amd64.whl", hash = "sha256:0d236c2825fa656a2d98bbb0e52370a2e852e5a0ec45fc4f402977313329174d"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:34b9ccdf210cbbb1303c7c4db2905fa0319391bd5904d32689e6dd5c963d2ea8"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84d2222e61f313c4848ff05353653bf5f5cf6ce34df540e4274516880d9c3763"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30637a20623e2a2eacc420059be11527f4458ef54352d870b8181a4c3020ae6b"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8122cfc7cae0da9a3077216528b8bb3629c43b25053284cc868744bfe71eb141"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38601cbbfe600362c43714482f43b7c110b20cb0f8172422c616b09b85a750c5"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c7e62ab8b332147a7593a385d4f368874d5fe4ad4e341770d4983442d89603e3"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2ab652e729ff4ad76d400df2624d223d6e265ef81bb8aa17fbd63607878ecbee"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:c83a74b68270028dc8ee74d38ecfaf9c90eed23c8959fca95bd703d25b82c88e"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d4e6036decf4b72d6425d5b29bbd3e8f0ff1059cda7ac7b96d6ac5ed34ffbacd"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-win32.whl", hash = "sha256:a8c28fd40a4226b4a84bdf2d2b5b37d2c7bd49486b5adcc200e8c7ec991dfa7e"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-win_amd64.whl", hash = "sha256:51537e3d299be0db9137b321dfb6a5022caaab275775680e0c3d281feefaca6b"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cf4499e0a83b7b7edcb8dabecbd8501d0d3a5ef66457200f77bde3d210d5debb"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7e13a5a2c01151f1208d5207e42f33ba86d561b7a89fca67c700b9486a06d0e2"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e0f754d27fddcfd74006455b6e04e6705d6c31a612ec69ddc040a5468e44b4e"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d57c3fd55d9058645d26ae37d76e61156a27722097229d32a9e73ed54819982a"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71f14375d6f73b62800530b581aed3ada394039877818b2d5f7fc77e3bb6894d"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:441cc2f8869a4f0f4bb408475e5ae0ee1f3b55b33f350406150277f7f35384fc"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:65bee1e49fa6f9cf327ce0e01c4c10f39165ee76d35c846ade7cb0ec6683e303"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:af335bac6b666cc6aea16f11d486c3b794029d9df029967f9938a4bed59b6a19"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:cfec476887aa231b8548ece2e06d28edc87c1397ebd83922299af2e051cf2827"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:65c07febd1936d63bfde78948b76cd4c2a411572a44ac50719ead41947d0f26b"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-win32.whl", hash = "sha256:4dfb4be774c4436a4526d0c554af0cc2e02082c38303852a36f6456ece7b3503"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-win_amd64.whl", hash = "sha256:02c6e3cf3439e213e4ee930308dc122d6fb4d4bea9aef4a12535fbd605d1a2fe"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e9182eb20f41417ea1dd8e8f7888c4d7c6e805f8a7c98c1081778a3da2bee3e4"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8a6979cf527e2603d349a91060f428bcb135aea2be3201dff794813256c274f1"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8338a271cb71d8da40b023a35d9c1e919eba6cbd8fa20a54b748a332c355d896"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3ed340d2b858d6e6fb5083f87c09996506af483227735de6964a6100b4e6a54"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f81e65376e52f03422e1fb475c9514185669943798ed019ac50410fb4c4df232"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfb13af3c5dd3a9588000910178de17010ebcccd37b4f9794b00595e3a8ddad3"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4c727b597c6444a16e9119386b59388f8a424223302d0c06c676ec8b4bc1f963"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:4d67fbdaf177da06374473ef6f7ed8cc0a9dc640b01abfe9e8a2ccb1b1402c1f"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:0892ef645c2fabb0c75ec32d79f4252542d0caec1d5d949630e7d242ca4681a3"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:02c0f3757a4300cf379eb49f543fb7ac527fb00144d39246ee40e1df684ab514"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-win32.whl", hash = "sha256:c3dba7dab16709a33a847e5cd756767271697041fbe3fe97c215b1fc1f5c9848"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-win_amd64.whl", hash = "sha256:f6a88f384335bb27812293fdb11ac6aee2ca3f51d3c7820fe03de0a304ab6249"}, + {file = "psycopg2-binary-2.9.9.tar.gz", hash = "sha256:7f01846810177d829c7692f1f5ada8096762d9172af1b1a28d4ab5b77c923c1c"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c2470da5418b76232f02a2fcd2229537bb2d5a7096674ce61859c3229f2eb202"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c6af2a6d4b7ee9615cbb162b0738f6e1fd1f5c3eda7e5da17861eacf4c717ea7"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:75723c3c0fbbf34350b46a3199eb50638ab22a0228f93fb472ef4d9becc2382b"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:83791a65b51ad6ee6cf0845634859d69a038ea9b03d7b26e703f94c7e93dbcf9"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0ef4854e82c09e84cc63084a9e4ccd6d9b154f1dbdd283efb92ecd0b5e2b8c84"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed1184ab8f113e8d660ce49a56390ca181f2981066acc27cf637d5c1e10ce46e"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d2997c458c690ec2bc6b0b7ecbafd02b029b7b4283078d3b32a852a7ce3ddd98"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:b58b4710c7f4161b5e9dcbe73bb7c62d65670a87df7bcce9e1faaad43e715245"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:0c009475ee389757e6e34611d75f6e4f05f0cf5ebb76c6037508318e1a1e0d7e"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8dbf6d1bc73f1d04ec1734bae3b4fb0ee3cb2a493d35ede9badbeb901fb40f6f"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-win32.whl", hash = "sha256:3f78fd71c4f43a13d342be74ebbc0666fe1f555b8837eb113cb7416856c79682"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-win_amd64.whl", hash = "sha256:876801744b0dee379e4e3c38b76fc89f88834bb15bf92ee07d94acd06ec890a0"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ee825e70b1a209475622f7f7b776785bd68f34af6e7a46e2e42f27b659b5bc26"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1ea665f8ce695bcc37a90ee52de7a7980be5161375d42a0b6c6abedbf0d81f0f"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:143072318f793f53819048fdfe30c321890af0c3ec7cb1dfc9cc87aa88241de2"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c332c8d69fb64979ebf76613c66b985414927a40f8defa16cf1bc028b7b0a7b0"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7fc5a5acafb7d6ccca13bfa8c90f8c51f13d8fb87d95656d3950f0158d3ce53"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:977646e05232579d2e7b9c59e21dbe5261f403a88417f6a6512e70d3f8a046be"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b6356793b84728d9d50ead16ab43c187673831e9d4019013f1402c41b1db9b27"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:bc7bb56d04601d443f24094e9e31ae6deec9ccb23581f75343feebaf30423359"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:77853062a2c45be16fd6b8d6de2a99278ee1d985a7bd8b103e97e41c034006d2"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:78151aa3ec21dccd5cdef6c74c3e73386dcdfaf19bced944169697d7ac7482fc"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-win32.whl", hash = "sha256:dc4926288b2a3e9fd7b50dc6a1909a13bbdadfc67d93f3374d984e56f885579d"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-win_amd64.whl", hash = "sha256:b76bedd166805480ab069612119ea636f5ab8f8771e640ae103e05a4aae3e417"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8532fd6e6e2dc57bcb3bc90b079c60de896d2128c5d9d6f24a63875a95a088cf"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0605eaed3eb239e87df0d5e3c6489daae3f7388d455d0c0b4df899519c6a38d"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f8544b092a29a6ddd72f3556a9fcf249ec412e10ad28be6a0c0d948924f2212"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2d423c8d8a3c82d08fe8af900ad5b613ce3632a1249fd6a223941d0735fce493"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e5afae772c00980525f6d6ecf7cbca55676296b580c0e6abb407f15f3706996"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e6f98446430fdf41bd36d4faa6cb409f5140c1c2cf58ce0bbdaf16af7d3f119"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c77e3d1862452565875eb31bdb45ac62502feabbd53429fdc39a1cc341d681ba"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:cb16c65dcb648d0a43a2521f2f0a2300f40639f6f8c1ecbc662141e4e3e1ee07"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:911dda9c487075abd54e644ccdf5e5c16773470a6a5d3826fda76699410066fb"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:57fede879f08d23c85140a360c6a77709113efd1c993923c59fde17aa27599fe"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-win32.whl", hash = "sha256:64cf30263844fa208851ebb13b0732ce674d8ec6a0c86a4e160495d299ba3c93"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-win_amd64.whl", hash = "sha256:81ff62668af011f9a48787564ab7eded4e9fb17a4a6a74af5ffa6a457400d2ab"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2293b001e319ab0d869d660a704942c9e2cce19745262a8aba2115ef41a0a42a"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ef7df18daf2c4c07e2695e8cfd5ee7f748a1d54d802330985a78d2a5a6dca9"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a602ea5aff39bb9fac6308e9c9d82b9a35c2bf288e184a816002c9fae930b77"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8359bf4791968c5a78c56103702000105501adb557f3cf772b2c207284273984"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:275ff571376626195ab95a746e6a04c7df8ea34638b99fc11160de91f2fef503"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:f9b5571d33660d5009a8b3c25dc1db560206e2d2f89d3df1cb32d72c0d117d52"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:420f9bbf47a02616e8554e825208cb947969451978dceb77f95ad09c37791dae"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:4154ad09dac630a0f13f37b583eae260c6aa885d67dfbccb5b02c33f31a6d420"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a148c5d507bb9b4f2030a2025c545fccb0e1ef317393eaba42e7eabd28eb6041"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-win32.whl", hash = "sha256:68fc1f1ba168724771e38bee37d940d2865cb0f562380a1fb1ffb428b75cb692"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-win_amd64.whl", hash = "sha256:281309265596e388ef483250db3640e5f414168c5a67e9c665cafce9492eda2f"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:60989127da422b74a04345096c10d416c2b41bd7bf2a380eb541059e4e999980"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:246b123cc54bb5361588acc54218c8c9fb73068bf227a4a531d8ed56fa3ca7d6"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34eccd14566f8fe14b2b95bb13b11572f7c7d5c36da61caf414d23b91fcc5d94"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18d0ef97766055fec15b5de2c06dd8e7654705ce3e5e5eed3b6651a1d2a9a152"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d3f82c171b4ccd83bbaf35aa05e44e690113bd4f3b7b6cc54d2219b132f3ae55"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ead20f7913a9c1e894aebe47cccf9dc834e1618b7aa96155d2091a626e59c972"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ca49a8119c6cbd77375ae303b0cfd8c11f011abbbd64601167ecca18a87e7cdd"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:323ba25b92454adb36fa425dc5cf6f8f19f78948cbad2e7bc6cdf7b0d7982e59"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:1236ed0952fbd919c100bc839eaa4a39ebc397ed1c08a97fc45fee2a595aa1b3"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:729177eaf0aefca0994ce4cffe96ad3c75e377c7b6f4efa59ebf003b6d398716"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-win32.whl", hash = "sha256:804d99b24ad523a1fe18cc707bf741670332f7c7412e9d49cb5eab67e886b9b5"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-win_amd64.whl", hash = "sha256:a6cdcc3ede532f4a4b96000b6362099591ab4a3e913d70bcbac2b56c872446f7"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:72dffbd8b4194858d0941062a9766f8297e8868e1dd07a7b36212aaa90f49472"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:30dcc86377618a4c8f3b72418df92e77be4254d8f89f14b8e8f57d6d43603c0f"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:31a34c508c003a4347d389a9e6fcc2307cc2150eb516462a7a17512130de109e"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:15208be1c50b99203fe88d15695f22a5bed95ab3f84354c494bcb1d08557df67"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1873aade94b74715be2246321c8650cabf5a0d098a95bab81145ffffa4c13876"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a58c98a7e9c021f357348867f537017057c2ed7f77337fd914d0bedb35dace7"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4686818798f9194d03c9129a4d9a702d9e113a89cb03bffe08c6cf799e053291"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ebdc36bea43063116f0486869652cb2ed7032dbc59fbcb4445c4862b5c1ecf7f"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:ca08decd2697fdea0aea364b370b1249d47336aec935f87b8bbfd7da5b2ee9c1"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ac05fb791acf5e1a3e39402641827780fe44d27e72567a000412c648a85ba860"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-win32.whl", hash = "sha256:9dba73be7305b399924709b91682299794887cbbd88e38226ed9f6712eabee90"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-win_amd64.whl", hash = "sha256:f7ae5d65ccfbebdfa761585228eb4d0df3a8b15cfb53bd953e713e09fbb12957"}, ] [[package]] From bc44cdf16f6e495c8ed53c25d42e879f6d79a5fc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 20:03:13 +0000 Subject: [PATCH 116/170] chore(deps): update dependency rich to v13.7.0 (#2961) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- poetry.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index 00ba06ef4215..a36adb4721bb 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2337,13 +2337,13 @@ rsa = ["oauthlib[signedtoken] (>=3.0.0)"] [[package]] name = "rich" -version = "13.5.2" +version = "13.7.0" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = false python-versions = ">=3.7.0" files = [ - {file = "rich-13.5.2-py3-none-any.whl", hash = "sha256:146a90b3b6b47cac4a73c12866a499e9817426423f57c5a66949c086191a8808"}, - {file = "rich-13.5.2.tar.gz", hash = "sha256:fb9d6c0a0f643c99eed3875b5377a184132ba9be4d61516a55273d3554d75a39"}, + {file = "rich-13.7.0-py3-none-any.whl", hash = "sha256:6da14c108c4866ee9520bbffa71f6fe3962e193b7da68720583850cd4548e235"}, + {file = "rich-13.7.0.tar.gz", hash = "sha256:5cb5123b5cf9ee70584244246816e9114227e0b98ad9176eede6ad54bf5403fa"}, ] [package.dependencies] From 3cf9d403268156e220115f9d2099def40bbf831d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 14:18:45 -0600 Subject: [PATCH 117/170] fix(deps): update dependency aiofiles to v23.2.1 (#2962) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- poetry.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/poetry.lock b/poetry.lock index a36adb4721bb..5bf88beb6ffb 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2,13 +2,13 @@ [[package]] name = "aiofiles" -version = "23.1.0" +version = "23.2.1" description = "File support for asyncio." optional = false -python-versions = ">=3.7,<4.0" +python-versions = ">=3.7" files = [ - {file = "aiofiles-23.1.0-py3-none-any.whl", hash = "sha256:9312414ae06472eb6f1d163f555e466a23aed1c8f60c30cccf7121dba2e53eb2"}, - {file = "aiofiles-23.1.0.tar.gz", hash = "sha256:edd247df9a19e0db16534d4baaf536d6609a43e1de5401d7a4c1c148753a1635"}, + {file = "aiofiles-23.2.1-py3-none-any.whl", hash = "sha256:19297512c647d4b27a2cf7c34caa7e405c0d60b5560618a29a9fe027b18b0107"}, + {file = "aiofiles-23.2.1.tar.gz", hash = "sha256:84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a"}, ] [[package]] From 2951042e7af88dc8f56200da9f88d3f56dcfdde2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 20:30:17 +0000 Subject: [PATCH 118/170] fix(deps): update dependency alembic to v1.13.1 (#2963) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- poetry.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/poetry.lock b/poetry.lock index 5bf88beb6ffb..7344a607e07a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -13,13 +13,13 @@ files = [ [[package]] name = "alembic" -version = "1.11.3" +version = "1.13.1" description = "A database migration tool for SQLAlchemy." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "alembic-1.11.3-py3-none-any.whl", hash = "sha256:d6c96c2482740592777c400550a523bc7a9aada4e210cae2e733354ddae6f6f8"}, - {file = "alembic-1.11.3.tar.gz", hash = "sha256:3db4ce81a9072e1b5aa44c2d202add24553182672a12daf21608d6f62a8f9cf9"}, + {file = "alembic-1.13.1-py3-none-any.whl", hash = "sha256:2edcc97bed0bd3272611ce3a98d98279e9c209e7186e43e75bbb1b2bdfdbcc43"}, + {file = "alembic-1.13.1.tar.gz", hash = "sha256:4932c8558bf68f2ee92b9bbcb8218671c627064d5b08939437af6d77dc05e595"}, ] [package.dependencies] @@ -28,7 +28,7 @@ SQLAlchemy = ">=1.3.0" typing-extensions = ">=4" [package.extras] -tz = ["python-dateutil"] +tz = ["backports.zoneinfo"] [[package]] name = "aniso8601" From e0fca5e4b72e5b9d13ef0a1fc6ba42b5725dd1f1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 14:53:57 -0600 Subject: [PATCH 119/170] fix(deps): update dependency apprise to v1.7.1 (#2964) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- poetry.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index 7344a607e07a..f5b91f954546 100644 --- a/poetry.lock +++ b/poetry.lock @@ -78,13 +78,13 @@ files = [ [[package]] name = "apprise" -version = "1.4.5" +version = "1.7.1" description = "Push Notifications that work with just about every platform!" optional = false python-versions = ">=3.6" files = [ - {file = "apprise-1.4.5-py3-none-any.whl", hash = "sha256:01c9949327d94c11c886bd1ae387ba7f61cdb9d6247b8096686920685e40fb47"}, - {file = "apprise-1.4.5.tar.gz", hash = "sha256:b7c66513c5456690a298ed887c9016ded42f15e365d16142e728b74f7cffee82"}, + {file = "apprise-1.7.1-py3-none-any.whl", hash = "sha256:eb2a7b546c6d4f426abb8b1006957e6a480c21215b5d780358445531611d1db7"}, + {file = "apprise-1.7.1.tar.gz", hash = "sha256:8d439d08550470524425dedee4bc8a72766c216c218f3772c37404eb2fd86e5a"}, ] [package.dependencies] From da71ee5deb786b740427e82cc0aa9f2df12b9e85 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 21:05:04 +0000 Subject: [PATCH 120/170] fix(deps): update dependency extruct to ^0.16.0 (#2966) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- poetry.lock | 8 ++++---- pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/poetry.lock b/poetry.lock index f5b91f954546..9d2659519d76 100644 --- a/poetry.lock +++ b/poetry.lock @@ -509,13 +509,13 @@ test = ["pytest (>=6)"] [[package]] name = "extruct" -version = "0.14.0" +version = "0.16.0" description = "Extract embedded metadata from HTML markup" optional = false python-versions = "*" files = [ - {file = "extruct-0.14.0-py2.py3-none-any.whl", hash = "sha256:22739b23a7fd66239137838b8cde7b15ce838ad7a0e0721dba86058df206a2da"}, - {file = "extruct-0.14.0.tar.gz", hash = "sha256:4c74a3f0c6829252fa40b3a1c7364c966265fd4c0f0dbcef019d1b839e3434bf"}, + {file = "extruct-0.16.0-py2.py3-none-any.whl", hash = "sha256:2499ea9e7d22744745ca708acee9542a4aa231871620c4f65f869a1286e64aa8"}, + {file = "extruct-0.16.0.tar.gz", hash = "sha256:d09cb3d86d149a276b277b3bd45b2b867ef3ec78bed9cd58ee0f2ae01ae670c4"}, ] [package.dependencies] @@ -2931,4 +2931,4 @@ pgsql = ["psycopg2-binary"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "47855b0de2dbe071f33835c93b4426f9259905438f5f5c6e427792e4d14af4fc" +content-hash = "eb49b90f9398e1f4f41b2be5564ba3a1f7c05a3f68a58a56b2b59477057950fd" diff --git a/pyproject.toml b/pyproject.toml index 102015bbaa56..135928db74b5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,7 +19,7 @@ aniso8601 = "9.0.1" appdirs = "1.4.4" apprise = "^1.4.5" bcrypt = "^4.0.1" -extruct = "^0.14.0" +extruct = "^0.16.0" fastapi = "^0.104.1" gunicorn = "^20.1.0" httpx = "^0.26.0" From 72e78feaadbcc19282922d2b1a69c86c4544c902 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 15:18:28 -0600 Subject: [PATCH 121/170] fix(deps): update dependency pillow to v10.2.0 (#2967) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- poetry.lock | 128 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 73 insertions(+), 55 deletions(-) diff --git a/poetry.lock b/poetry.lock index 9d2659519d76..cb79ca232e8d 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1457,70 +1457,88 @@ files = [ [[package]] name = "pillow" -version = "10.0.1" +version = "10.2.0" description = "Python Imaging Library (Fork)" optional = false python-versions = ">=3.8" files = [ - {file = "Pillow-10.0.1-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:8f06be50669087250f319b706decf69ca71fdecd829091a37cc89398ca4dc17a"}, - {file = "Pillow-10.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:50bd5f1ebafe9362ad622072a1d2f5850ecfa44303531ff14353a4059113b12d"}, - {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6a90167bcca1216606223a05e2cf991bb25b14695c518bc65639463d7db722d"}, - {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f11c9102c56ffb9ca87134bd025a43d2aba3f1155f508eff88f694b33a9c6d19"}, - {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:186f7e04248103482ea6354af6d5bcedb62941ee08f7f788a1c7707bc720c66f"}, - {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0462b1496505a3462d0f35dc1c4d7b54069747d65d00ef48e736acda2c8cbdff"}, - {file = "Pillow-10.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d889b53ae2f030f756e61a7bff13684dcd77e9af8b10c6048fb2c559d6ed6eaf"}, - {file = "Pillow-10.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:552912dbca585b74d75279a7570dd29fa43b6d93594abb494ebb31ac19ace6bd"}, - {file = "Pillow-10.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:787bb0169d2385a798888e1122c980c6eff26bf941a8ea79747d35d8f9210ca0"}, - {file = "Pillow-10.0.1-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:fd2a5403a75b54661182b75ec6132437a181209b901446ee5724b589af8edef1"}, - {file = "Pillow-10.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2d7e91b4379f7a76b31c2dda84ab9e20c6220488e50f7822e59dac36b0cd92b1"}, - {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19e9adb3f22d4c416e7cd79b01375b17159d6990003633ff1d8377e21b7f1b21"}, - {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93139acd8109edcdeffd85e3af8ae7d88b258b3a1e13a038f542b79b6d255c54"}, - {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:92a23b0431941a33242b1f0ce6c88a952e09feeea9af4e8be48236a68ffe2205"}, - {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:cbe68deb8580462ca0d9eb56a81912f59eb4542e1ef8f987405e35a0179f4ea2"}, - {file = "Pillow-10.0.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:522ff4ac3aaf839242c6f4e5b406634bfea002469656ae8358644fc6c4856a3b"}, - {file = "Pillow-10.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:84efb46e8d881bb06b35d1d541aa87f574b58e87f781cbba8d200daa835b42e1"}, - {file = "Pillow-10.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:898f1d306298ff40dc1b9ca24824f0488f6f039bc0e25cfb549d3195ffa17088"}, - {file = "Pillow-10.0.1-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:bcf1207e2f2385a576832af02702de104be71301c2696d0012b1b93fe34aaa5b"}, - {file = "Pillow-10.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5d6c9049c6274c1bb565021367431ad04481ebb54872edecfcd6088d27edd6ed"}, - {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28444cb6ad49726127d6b340217f0627abc8732f1194fd5352dec5e6a0105635"}, - {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de596695a75496deb3b499c8c4f8e60376e0516e1a774e7bc046f0f48cd620ad"}, - {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:2872f2d7846cf39b3dbff64bc1104cc48c76145854256451d33c5faa55c04d1a"}, - {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:4ce90f8a24e1c15465048959f1e94309dfef93af272633e8f37361b824532e91"}, - {file = "Pillow-10.0.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ee7810cf7c83fa227ba9125de6084e5e8b08c59038a7b2c9045ef4dde61663b4"}, - {file = "Pillow-10.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b1be1c872b9b5fcc229adeadbeb51422a9633abd847c0ff87dc4ef9bb184ae08"}, - {file = "Pillow-10.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:98533fd7fa764e5f85eebe56c8e4094db912ccbe6fbf3a58778d543cadd0db08"}, - {file = "Pillow-10.0.1-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:764d2c0daf9c4d40ad12fbc0abd5da3af7f8aa11daf87e4fa1b834000f4b6b0a"}, - {file = "Pillow-10.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fcb59711009b0168d6ee0bd8fb5eb259c4ab1717b2f538bbf36bacf207ef7a68"}, - {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:697a06bdcedd473b35e50a7e7506b1d8ceb832dc238a336bd6f4f5aa91a4b500"}, - {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f665d1e6474af9f9da5e86c2a3a2d2d6204e04d5af9c06b9d42afa6ebde3f21"}, - {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:2fa6dd2661838c66f1a5473f3b49ab610c98a128fc08afbe81b91a1f0bf8c51d"}, - {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:3a04359f308ebee571a3127fdb1bd01f88ba6f6fb6d087f8dd2e0d9bff43f2a7"}, - {file = "Pillow-10.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:723bd25051454cea9990203405fa6b74e043ea76d4968166dfd2569b0210886a"}, - {file = "Pillow-10.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:71671503e3015da1b50bd18951e2f9daf5b6ffe36d16f1eb2c45711a301521a7"}, - {file = "Pillow-10.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:44e7e4587392953e5e251190a964675f61e4dae88d1e6edbe9f36d6243547ff3"}, - {file = "Pillow-10.0.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:3855447d98cced8670aaa63683808df905e956f00348732448b5a6df67ee5849"}, - {file = "Pillow-10.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ed2d9c0704f2dc4fa980b99d565c0c9a543fe5101c25b3d60488b8ba80f0cce1"}, - {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5bb289bb835f9fe1a1e9300d011eef4d69661bb9b34d5e196e5e82c4cb09b37"}, - {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a0d3e54ab1df9df51b914b2233cf779a5a10dfd1ce339d0421748232cea9876"}, - {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:2cc6b86ece42a11f16f55fe8903595eff2b25e0358dec635d0a701ac9586588f"}, - {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:ca26ba5767888c84bf5a0c1a32f069e8204ce8c21d00a49c90dabeba00ce0145"}, - {file = "Pillow-10.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f0b4b06da13275bc02adfeb82643c4a6385bd08d26f03068c2796f60d125f6f2"}, - {file = "Pillow-10.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bc2e3069569ea9dbe88d6b8ea38f439a6aad8f6e7a6283a38edf61ddefb3a9bf"}, - {file = "Pillow-10.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:8b451d6ead6e3500b6ce5c7916a43d8d8d25ad74b9102a629baccc0808c54971"}, - {file = "Pillow-10.0.1-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:32bec7423cdf25c9038fef614a853c9d25c07590e1a870ed471f47fb80b244db"}, - {file = "Pillow-10.0.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7cf63d2c6928b51d35dfdbda6f2c1fddbe51a6bc4a9d4ee6ea0e11670dd981e"}, - {file = "Pillow-10.0.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f6d3d4c905e26354e8f9d82548475c46d8e0889538cb0657aa9c6f0872a37aa4"}, - {file = "Pillow-10.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:847e8d1017c741c735d3cd1883fa7b03ded4f825a6e5fcb9378fd813edee995f"}, - {file = "Pillow-10.0.1-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:7f771e7219ff04b79e231d099c0a28ed83aa82af91fd5fa9fdb28f5b8d5addaf"}, - {file = "Pillow-10.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:459307cacdd4138edee3875bbe22a2492519e060660eaf378ba3b405d1c66317"}, - {file = "Pillow-10.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b059ac2c4c7a97daafa7dc850b43b2d3667def858a4f112d1aa082e5c3d6cf7d"}, - {file = "Pillow-10.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d6caf3cd38449ec3cd8a68b375e0c6fe4b6fd04edb6c9766b55ef84a6e8ddf2d"}, - {file = "Pillow-10.0.1.tar.gz", hash = "sha256:d72967b06be9300fed5cfbc8b5bafceec48bf7cdc7dab66b1d2549035287191d"}, + {file = "pillow-10.2.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:7823bdd049099efa16e4246bdf15e5a13dbb18a51b68fa06d6c1d4d8b99a796e"}, + {file = "pillow-10.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:83b2021f2ade7d1ed556bc50a399127d7fb245e725aa0113ebd05cfe88aaf588"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fad5ff2f13d69b7e74ce5b4ecd12cc0ec530fcee76356cac6742785ff71c452"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da2b52b37dad6d9ec64e653637a096905b258d2fc2b984c41ae7d08b938a67e4"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:47c0995fc4e7f79b5cfcab1fc437ff2890b770440f7696a3ba065ee0fd496563"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:322bdf3c9b556e9ffb18f93462e5f749d3444ce081290352c6070d014c93feb2"}, + {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:51f1a1bffc50e2e9492e87d8e09a17c5eea8409cda8d3f277eb6edc82813c17c"}, + {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:69ffdd6120a4737710a9eee73e1d2e37db89b620f702754b8f6e62594471dee0"}, + {file = "pillow-10.2.0-cp310-cp310-win32.whl", hash = "sha256:c6dafac9e0f2b3c78df97e79af707cdc5ef8e88208d686a4847bab8266870023"}, + {file = "pillow-10.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:aebb6044806f2e16ecc07b2a2637ee1ef67a11840a66752751714a0d924adf72"}, + {file = "pillow-10.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:7049e301399273a0136ff39b84c3678e314f2158f50f517bc50285fb5ec847ad"}, + {file = "pillow-10.2.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:35bb52c37f256f662abdfa49d2dfa6ce5d93281d323a9af377a120e89a9eafb5"}, + {file = "pillow-10.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9c23f307202661071d94b5e384e1e1dc7dfb972a28a2310e4ee16103e66ddb67"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:773efe0603db30c281521a7c0214cad7836c03b8ccff897beae9b47c0b657d61"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11fa2e5984b949b0dd6d7a94d967743d87c577ff0b83392f17cb3990d0d2fd6e"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:716d30ed977be8b37d3ef185fecb9e5a1d62d110dfbdcd1e2a122ab46fddb03f"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a086c2af425c5f62a65e12fbf385f7c9fcb8f107d0849dba5839461a129cf311"}, + {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c8de2789052ed501dd829e9cae8d3dcce7acb4777ea4a479c14521c942d395b1"}, + {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:609448742444d9290fd687940ac0b57fb35e6fd92bdb65386e08e99af60bf757"}, + {file = "pillow-10.2.0-cp311-cp311-win32.whl", hash = "sha256:823ef7a27cf86df6597fa0671066c1b596f69eba53efa3d1e1cb8b30f3533068"}, + {file = "pillow-10.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:1da3b2703afd040cf65ec97efea81cfba59cdbed9c11d8efc5ab09df9509fc56"}, + {file = "pillow-10.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:edca80cbfb2b68d7b56930b84a0e45ae1694aeba0541f798e908a49d66b837f1"}, + {file = "pillow-10.2.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:1b5e1b74d1bd1b78bc3477528919414874748dd363e6272efd5abf7654e68bef"}, + {file = "pillow-10.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0eae2073305f451d8ecacb5474997c08569fb4eb4ac231ffa4ad7d342fdc25ac"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7c2286c23cd350b80d2fc9d424fc797575fb16f854b831d16fd47ceec078f2c"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e23412b5c41e58cec602f1135c57dfcf15482013ce6e5f093a86db69646a5aa"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:52a50aa3fb3acb9cf7213573ef55d31d6eca37f5709c69e6858fe3bc04a5c2a2"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:127cee571038f252a552760076407f9cff79761c3d436a12af6000cd182a9d04"}, + {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8d12251f02d69d8310b046e82572ed486685c38f02176bd08baf216746eb947f"}, + {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:54f1852cd531aa981bc0965b7d609f5f6cc8ce8c41b1139f6ed6b3c54ab82bfb"}, + {file = "pillow-10.2.0-cp312-cp312-win32.whl", hash = "sha256:257d8788df5ca62c980314053197f4d46eefedf4e6175bc9412f14412ec4ea2f"}, + {file = "pillow-10.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:154e939c5f0053a383de4fd3d3da48d9427a7e985f58af8e94d0b3c9fcfcf4f9"}, + {file = "pillow-10.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:f379abd2f1e3dddb2b61bc67977a6b5a0a3f7485538bcc6f39ec76163891ee48"}, + {file = "pillow-10.2.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8373c6c251f7ef8bda6675dd6d2b3a0fcc31edf1201266b5cf608b62a37407f9"}, + {file = "pillow-10.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:870ea1ada0899fd0b79643990809323b389d4d1d46c192f97342eeb6ee0b8483"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4b6b1e20608493548b1f32bce8cca185bf0480983890403d3b8753e44077129"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3031709084b6e7852d00479fd1d310b07d0ba82765f973b543c8af5061cf990e"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:3ff074fc97dd4e80543a3e91f69d58889baf2002b6be64347ea8cf5533188213"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:cb4c38abeef13c61d6916f264d4845fab99d7b711be96c326b84df9e3e0ff62d"}, + {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b1b3020d90c2d8e1dae29cf3ce54f8094f7938460fb5ce8bc5c01450b01fbaf6"}, + {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:170aeb00224ab3dc54230c797f8404507240dd868cf52066f66a41b33169bdbe"}, + {file = "pillow-10.2.0-cp38-cp38-win32.whl", hash = "sha256:c4225f5220f46b2fde568c74fca27ae9771536c2e29d7c04f4fb62c83275ac4e"}, + {file = "pillow-10.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:0689b5a8c5288bc0504d9fcee48f61a6a586b9b98514d7d29b840143d6734f39"}, + {file = "pillow-10.2.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:b792a349405fbc0163190fde0dc7b3fef3c9268292586cf5645598b48e63dc67"}, + {file = "pillow-10.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c570f24be1e468e3f0ce7ef56a89a60f0e05b30a3669a459e419c6eac2c35364"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8ecd059fdaf60c1963c58ceb8997b32e9dc1b911f5da5307aab614f1ce5c2fb"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c365fd1703040de1ec284b176d6af5abe21b427cb3a5ff68e0759e1e313a5e7e"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:70c61d4c475835a19b3a5aa42492409878bbca7438554a1f89d20d58a7c75c01"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b6f491cdf80ae540738859d9766783e3b3c8e5bd37f5dfa0b76abdecc5081f13"}, + {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d189550615b4948f45252d7f005e53c2040cea1af5b60d6f79491a6e147eef7"}, + {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:49d9ba1ed0ef3e061088cd1e7538a0759aab559e2e0a80a36f9fd9d8c0c21591"}, + {file = "pillow-10.2.0-cp39-cp39-win32.whl", hash = "sha256:babf5acfede515f176833ed6028754cbcd0d206f7f614ea3447d67c33be12516"}, + {file = "pillow-10.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:0304004f8067386b477d20a518b50f3fa658a28d44e4116970abfcd94fac34a8"}, + {file = "pillow-10.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:0fb3e7fc88a14eacd303e90481ad983fd5b69c761e9e6ef94c983f91025da869"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:322209c642aabdd6207517e9739c704dc9f9db943015535783239022002f054a"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3eedd52442c0a5ff4f887fab0c1c0bb164d8635b32c894bc1faf4c618dd89df2"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb28c753fd5eb3dd859b4ee95de66cc62af91bcff5db5f2571d32a520baf1f04"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:33870dc4653c5017bf4c8873e5488d8f8d5f8935e2f1fb9a2208c47cdd66efd2"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3c31822339516fb3c82d03f30e22b1d038da87ef27b6a78c9549888f8ceda39a"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a2b56ba36e05f973d450582fb015594aaa78834fefe8dfb8fcd79b93e64ba4c6"}, + {file = "pillow-10.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d8e6aeb9201e655354b3ad049cb77d19813ad4ece0df1249d3c793de3774f8c7"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:2247178effb34a77c11c0e8ac355c7a741ceca0a732b27bf11e747bbc950722f"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15587643b9e5eb26c48e49a7b33659790d28f190fc514a322d55da2fb5c2950e"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753cd8f2086b2b80180d9b3010dd4ed147efc167c90d3bf593fe2af21265e5a5"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7c8f97e8e7a9009bcacbe3766a36175056c12f9a44e6e6f2d5caad06dcfbf03b"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d1b35bcd6c5543b9cb547dee3150c93008f8dd0f1fef78fc0cd2b141c5baf58a"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fe4c15f6c9285dc54ce6553a3ce908ed37c8f3825b5a51a15c91442bb955b868"}, + {file = "pillow-10.2.0.tar.gz", hash = "sha256:e87f0b2c78157e12d7686b27d63c070fd65d994e8ddae6f328e0dcf4a0cd007e"}, ] [package.extras] docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"] +fpx = ["olefile"] +mic = ["olefile"] tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] +typing = ["typing-extensions"] +xmp = ["defusedxml"] [[package]] name = "platformdirs" From ab3c9e8bf02fe1a7517fb525acefe83206f65937 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 21:29:39 +0000 Subject: [PATCH 122/170] fix(deps): update dependency rapidfuzz to v3.6.1 (#2968) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- poetry.lock | 186 ++++++++++++++++++++++++++-------------------------- 1 file changed, 92 insertions(+), 94 deletions(-) diff --git a/poetry.lock b/poetry.lock index cb79ca232e8d..eab93b85ea10 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2074,103 +2074,101 @@ pyyaml = "*" [[package]] name = "rapidfuzz" -version = "3.2.0" +version = "3.6.1" description = "rapid fuzzy string matching" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "rapidfuzz-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f5787f1cc456207dee1902804209e1a90df67e88517213aeeb1b248822413b4c"}, - {file = "rapidfuzz-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e8d91137b0b5a6ef06c3979b6302265129dee1741486b6baa241ac63a632bea7"}, - {file = "rapidfuzz-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c130e73e0079f403b7c3dbf6f85816a3773971c3e639f7289f8b4337b8fd70fe"}, - {file = "rapidfuzz-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e18059188bfe3cdbc3462aeec2fa3302b08717e04ca34e2cc6e02fb3c0280d8"}, - {file = "rapidfuzz-3.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:37bb6bd6a79d5524f121ff2a7d7df4491519b3f43565dccd4596bd75aa73ab7c"}, - {file = "rapidfuzz-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ca0d6aee42effaf2e8883d2181196dd0957b1af5731b0763f10f994c32c823db"}, - {file = "rapidfuzz-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:49fc2cbbf05bfa1af3fe4c0e0c8e5c8ac118d6b6ddfb0081cff48ad53734f7ac"}, - {file = "rapidfuzz-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bd4fdee46f6ba7d254dba8e7e8f33012c964fc891a06b036b0fd20cab0db301"}, - {file = "rapidfuzz-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ab2863732eafd1cc58f249f145c20ad13d4c902d3ef3a369b00438c05e5bfb55"}, - {file = "rapidfuzz-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a9658c545de62ac948027092ba7f4e8507ebc5c9aef964eca654409c58f207f0"}, - {file = "rapidfuzz-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:5f3e36cfadaf29f081ad4ca476e320b639d610e930e0557f395780c9b2bdb135"}, - {file = "rapidfuzz-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:239ffc04328e14f5e4097102bd934352a43d5912acf34fb7d3e3fe306de92787"}, - {file = "rapidfuzz-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b56ce39ba0a77501d491bc20a2266989ae0264452758b004950ee5f4c10c641f"}, - {file = "rapidfuzz-3.2.0-cp310-cp310-win32.whl", hash = "sha256:dbebd639579ab113644699fe0c536ae00aba15b224e40a79987684333d1104a5"}, - {file = "rapidfuzz-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:88e99229c4df99a7e5810d4d361033b44e29d8eb4faaddcfb8e4bdcb604cf40a"}, - {file = "rapidfuzz-3.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:8e39c4e2e85828aa6c39cc7f30e2917d991b40190a2a3af1fa02396a3362a54e"}, - {file = "rapidfuzz-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2f2e618389427c5e8304357a78f83df22558e61f11bc21aeb95dd544c274d330"}, - {file = "rapidfuzz-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a2a6babfe4d3ce2eadd0079ee7861cb5f1584845c5a3394edead85457e7d7464"}, - {file = "rapidfuzz-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f223deb06895c9c136b40cd8fd7e96ee745c3bb9ed502d7367f6ad9ab6fdd40e"}, - {file = "rapidfuzz-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0de6962b45f761355fa4b37de635e4df467d57530732a40d82e748a5bc911731"}, - {file = "rapidfuzz-3.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76953516cb3b75fb1234c5a90e0b86be4525f055a9e276237adb1ffe40dca536"}, - {file = "rapidfuzz-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1e04861dddbb477500449dc67fb037656a049b6f78c4c434c6000e64aa42bb4"}, - {file = "rapidfuzz-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4ff6e725eec9c769f9d22126c80a6ada90275c0d693eca2b35d5933178bda5a2"}, - {file = "rapidfuzz-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f21ce33242e579ba255c8a8b438782164acaa55bf188d9410298c40cbaa07d5"}, - {file = "rapidfuzz-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:986a7aad18768b920bb710e15ed7629d1da0af31589348c0a51d152820efc05d"}, - {file = "rapidfuzz-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6e98f0a6fac14b7b9893147deceae12131f6ff169ae1c973635ef97617949c8f"}, - {file = "rapidfuzz-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:5dd5c4b9f5cd8a8271a90d1bab643028e7172808c68ed5d8dde661a3e51098e3"}, - {file = "rapidfuzz-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:e336b0a81c5a8e689edf6928136d19e791733a66509026d9acbaa148238186e0"}, - {file = "rapidfuzz-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8fa44afb731535a803c4c15ee846257fef050768af96d1d6c0eadb30285d0f7b"}, - {file = "rapidfuzz-3.2.0-cp311-cp311-win32.whl", hash = "sha256:d04ad155dbecc0c143912f691d38d4790e290c2ce5411b146c0e00d4f4afd26f"}, - {file = "rapidfuzz-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:b9e79e27344af95a71a3bb6cd3562581da5d0780ff847a13ad69ee622d940d3c"}, - {file = "rapidfuzz-3.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:dc53747e73f34e8f3a3c1b0bc5b437b90a2c69d873e97781aa7c06543201409a"}, - {file = "rapidfuzz-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:613c1043332eeba0c0910de71af221ac10d820b4fa9615b0083c733b90a757f9"}, - {file = "rapidfuzz-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0907f87beca70e44f78e318eede2416ddba19ec43d28af9248617e8a1741ef3"}, - {file = "rapidfuzz-3.2.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bcfd184e0b5c58497cc3d961f49ac07ae1656d161c6c4d06230d267ae4e11f00"}, - {file = "rapidfuzz-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7a7d53a2f1ccfb169be26fa3824b1b185420592c75853f16c6b7115315ea6784"}, - {file = "rapidfuzz-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2eac585803c4e8132ed5f4a150621db05c418304982c88cf706abdded65e1632"}, - {file = "rapidfuzz-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc859f654b350def5df2ebc6d09f822b04399823e3dad1c3f2e8776c825fcde7"}, - {file = "rapidfuzz-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8a165f64c528edc0bbbd09c76d64efd4dbe4240fd1961710b69586ef40486e79"}, - {file = "rapidfuzz-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:56a392b655597ecf40535b56bfb7c0856c10c0abc0cbc369fd25a1665420710b"}, - {file = "rapidfuzz-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:5863b176da42b1bb450a28375ef1502f81fbecd210a5aae295d7f2221284ad41"}, - {file = "rapidfuzz-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:8f8590c39a3f745b314f2697b140c8f8600fe7ecfb2101e9e4ec6e7716c66827"}, - {file = "rapidfuzz-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:da00990adf1fbc0904f22409b3451473fa465a0ef49f3075703c206080aa31b2"}, - {file = "rapidfuzz-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:2504205552bf568ac478f17dd612d0e31c4a82c645c66209a442df7e572b5adc"}, - {file = "rapidfuzz-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:af3ac648232c109e36c8b941106d726969972644aa3ef55218c5988aa1daea03"}, - {file = "rapidfuzz-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:04d22f6058ce5d620ec4ecd771e44cfa77d571137d6c6547df57bdfc44ee2a98"}, - {file = "rapidfuzz-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ac7ddcd372ed202d1b59b117506da695b291f135435cfbf3e71490aa8e687173"}, - {file = "rapidfuzz-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fd3fca0224b84350f73eab1fb5728c58fd25ee4f20e512607c7d83f9bc836d3f"}, - {file = "rapidfuzz-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9bdb1f92c4666c7e1d3c21268b931cf3f06f32af98dfdeb37641159b15fa31dd"}, - {file = "rapidfuzz-3.2.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:871052405c465a45b53a3dc854a8be62079f42cdbb052651ff0b65e2452131e6"}, - {file = "rapidfuzz-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fb9bb1af5680741cf974f510fb3894907a1b308e819aff3d9ea10b5326e8a5f6"}, - {file = "rapidfuzz-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84ce2e010677835fa5ba591419e4404f11a1446f33eec3724a2bff557ae5144a"}, - {file = "rapidfuzz-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c13107e0fdca5ccae70659f45646d57453338a9dfc6b152fb7372e4bf73466a0"}, - {file = "rapidfuzz-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:538027685a1a8f1699e329f6443951267f169bfa149298734ea679db8f0e7171"}, - {file = "rapidfuzz-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3557736672115d082979a8a12f884ed5b24268f4471fee85cfb2ec7212b68607"}, - {file = "rapidfuzz-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:6bc5e3da74644cf75663f5b438e0ae79b67d1f96d082cda771b0ecfed0528f40"}, - {file = "rapidfuzz-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:d2d0fc98d9d7bba44f929d201c2c2c35eb69ea2ffef43d939b297dafef934625"}, - {file = "rapidfuzz-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2bf85a3bf34f27383691e8af0fd148b2a3a89f1444d4640d04ef58030f596ee0"}, - {file = "rapidfuzz-3.2.0-cp38-cp38-win32.whl", hash = "sha256:cf5ea3f1d65a0bee707245a0096c3a6f769b3ad6f1b9afc7176dfb73eb0ac98f"}, - {file = "rapidfuzz-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:54906095444ea8b0a4013f3799b3f2c380205d7f60b9c55774e7d2264fa8d9c6"}, - {file = "rapidfuzz-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6d44218823533e0d47770feef86c73c90a6f7e8d4923eafabf56a1fa3444eda0"}, - {file = "rapidfuzz-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:87c3d4077e61c66d5dd11198a317f83db8e8cf034239baa16e4384037b611652"}, - {file = "rapidfuzz-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fc0e1142350566349c41173685988d942ebc89578f25ee27750d261e7d79e1ce"}, - {file = "rapidfuzz-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de44a378751fdfb19ddf6af412b3395db4b21ab61f40139f815c82f1a1611b50"}, - {file = "rapidfuzz-3.2.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca0983b30c7b289f540b11cdb550e301b3f2e8f0ef9df866aa24a16f6cd96041"}, - {file = "rapidfuzz-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adfffb79288437006be412d74e28cddd7c5e6cc9f84a34aa9c356b13dc1ad2c9"}, - {file = "rapidfuzz-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a284386652efb3b7d41ed5dd101ab4ce5936f585c52a47fa9838fc0342235700"}, - {file = "rapidfuzz-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c546c83d6bc9006b86f56921b92c3e16d8ddeb4e1663653e755a5d8a3ac258da"}, - {file = "rapidfuzz-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:53b3575fa398a5021192c1592dce98965560ad00690be3ade056eab99288562c"}, - {file = "rapidfuzz-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:366ade5d0067dc6281e2a6c9e5c91bbfe023b09cef86894de8fe480b4696e3bf"}, - {file = "rapidfuzz-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:f946dec03cc2c77bc091d186c007d1e957d1f16a4d68a181f5fa75aea40bdf87"}, - {file = "rapidfuzz-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:045e5cccb0e792005d5465de0ea4621b9b67778580e558f266984704e68b0087"}, - {file = "rapidfuzz-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:fd80288b9538c87209893f0934563c20b6a43acf30693794bcc111b294447ee9"}, - {file = "rapidfuzz-3.2.0-cp39-cp39-win32.whl", hash = "sha256:a359436754ed5dd10d88706f076caa7f8e5c1469bf5ebba1897dc87aa9ff953e"}, - {file = "rapidfuzz-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:75df3d9b895910ee810b2c96c8626cc2b5b63bb237762db36ff79fb466eccc43"}, - {file = "rapidfuzz-3.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:893833a903875a50acdbcb7ed33b5426ba47412bd18b3eb80d56d982b641dc59"}, - {file = "rapidfuzz-3.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3002c3660180747243cccb40c95ade1960e6665b340f211a114f5994b345ab53"}, - {file = "rapidfuzz-3.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa50de7e0f95e1400b2bf38cfeb6e40cf87c862537871c2f7b2050b5db0a9dfc"}, - {file = "rapidfuzz-3.2.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54842a578a2a8e5258812a9032ffb55e6f1185490fd160cae64e57b4dc342297"}, - {file = "rapidfuzz-3.2.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:108861623838cd574b0faa3309ce8525c2086159de7f9e23ac263a987c070ebd"}, - {file = "rapidfuzz-3.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:d39128415f0b52be08c15eeee5f79288189933a4d6fa5dc5fff11e20614b7989"}, - {file = "rapidfuzz-3.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3af2b75635f33ffab84e295773c84a176d4cba75311d836ad79b6795e9da11ac"}, - {file = "rapidfuzz-3.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68c678f7f3ca3d83d1e1dd7fb7db3232037d9eef12a47f1d5fe248a76ca47571"}, - {file = "rapidfuzz-3.2.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:25d2bd257034e910df0951cdeff337dbd086d7d90af3ed9f6721e7bba9fc388a"}, - {file = "rapidfuzz-3.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c7f20e68cad26fc140c6f2ac9e8f2632a0cd66e407ba3ea4ace63c669fd4719"}, - {file = "rapidfuzz-3.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:f09fd9dc73180deb9ca1c4fbd9cc27378f0ab6ee74e97318c38c5080708702b6"}, - {file = "rapidfuzz-3.2.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:af7914fc7683f921492f32314cfbe915a5376cc08a982e09084cbd9b866c9fd4"}, - {file = "rapidfuzz-3.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08a242c4b909abbcfa44504dc5041d5eeca4cd088ae51afd6a52b4dc61684fa2"}, - {file = "rapidfuzz-3.2.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:71b07afaca28398b93d727a2565491c455896898b66daee4664acde4af94e557"}, - {file = "rapidfuzz-3.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24e4c4a031c50e4eeb4787263319a0ac5bed20f4a263d28eac060150e3ba0018"}, - {file = "rapidfuzz-3.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d19c2853a464c7b98cc408654412fd875b030f78023ccbefc4ba9eec754e07e7"}, - {file = "rapidfuzz-3.2.0.tar.gz", hash = "sha256:448d031d9960fea7826d42bd4284156fc68d3b55a6946eb34ca5c6acf960577b"}, + {file = "rapidfuzz-3.6.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ac434fc71edda30d45db4a92ba5e7a42c7405e1a54cb4ec01d03cc668c6dcd40"}, + {file = "rapidfuzz-3.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2a791168e119cfddf4b5a40470620c872812042f0621e6a293983a2d52372db0"}, + {file = "rapidfuzz-3.6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5a2f3e9df346145c2be94e4d9eeffb82fab0cbfee85bd4a06810e834fe7c03fa"}, + {file = "rapidfuzz-3.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23de71e7f05518b0bbeef55d67b5dbce3bcd3e2c81e7e533051a2e9401354eb0"}, + {file = "rapidfuzz-3.6.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d056e342989248d2bdd67f1955bb7c3b0ecfa239d8f67a8dfe6477b30872c607"}, + {file = "rapidfuzz-3.6.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:01835d02acd5d95c1071e1da1bb27fe213c84a013b899aba96380ca9962364bc"}, + {file = "rapidfuzz-3.6.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ed0f712e0bb5fea327e92aec8a937afd07ba8de4c529735d82e4c4124c10d5a0"}, + {file = "rapidfuzz-3.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96cd19934f76a1264e8ecfed9d9f5291fde04ecb667faef5f33bdbfd95fe2d1f"}, + {file = "rapidfuzz-3.6.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e06c4242a1354cf9d48ee01f6f4e6e19c511d50bb1e8d7d20bcadbb83a2aea90"}, + {file = "rapidfuzz-3.6.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:d73dcfe789d37c6c8b108bf1e203e027714a239e50ad55572ced3c004424ed3b"}, + {file = "rapidfuzz-3.6.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:06e98ff000e2619e7cfe552d086815671ed09b6899408c2c1b5103658261f6f3"}, + {file = "rapidfuzz-3.6.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:08b6fb47dd889c69fbc0b915d782aaed43e025df6979b6b7f92084ba55edd526"}, + {file = "rapidfuzz-3.6.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a1788ebb5f5b655a15777e654ea433d198f593230277e74d51a2a1e29a986283"}, + {file = "rapidfuzz-3.6.1-cp310-cp310-win32.whl", hash = "sha256:c65f92881753aa1098c77818e2b04a95048f30edbe9c3094dc3707d67df4598b"}, + {file = "rapidfuzz-3.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:4243a9c35667a349788461aae6471efde8d8800175b7db5148a6ab929628047f"}, + {file = "rapidfuzz-3.6.1-cp310-cp310-win_arm64.whl", hash = "sha256:f59d19078cc332dbdf3b7b210852ba1f5db8c0a2cd8cc4c0ed84cc00c76e6802"}, + {file = "rapidfuzz-3.6.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fbc07e2e4ac696497c5f66ec35c21ddab3fc7a406640bffed64c26ab2f7ce6d6"}, + {file = "rapidfuzz-3.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:40cced1a8852652813f30fb5d4b8f9b237112a0bbaeebb0f4cc3611502556764"}, + {file = "rapidfuzz-3.6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:82300e5f8945d601c2daaaac139d5524d7c1fdf719aa799a9439927739917460"}, + {file = "rapidfuzz-3.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edf97c321fd641fea2793abce0e48fa4f91f3c202092672f8b5b4e781960b891"}, + {file = "rapidfuzz-3.6.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7420e801b00dee4a344ae2ee10e837d603461eb180e41d063699fb7efe08faf0"}, + {file = "rapidfuzz-3.6.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:060bd7277dc794279fa95522af355034a29c90b42adcb7aa1da358fc839cdb11"}, + {file = "rapidfuzz-3.6.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7e3375e4f2bfec77f907680328e4cd16cc64e137c84b1886d547ab340ba6928"}, + {file = "rapidfuzz-3.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a490cd645ef9d8524090551016f05f052e416c8adb2d8b85d35c9baa9d0428ab"}, + {file = "rapidfuzz-3.6.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:2e03038bfa66d2d7cffa05d81c2f18fd6acbb25e7e3c068d52bb7469e07ff382"}, + {file = "rapidfuzz-3.6.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:2b19795b26b979c845dba407fe79d66975d520947b74a8ab6cee1d22686f7967"}, + {file = "rapidfuzz-3.6.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:064c1d66c40b3a0f488db1f319a6e75616b2e5fe5430a59f93a9a5e40a656d15"}, + {file = "rapidfuzz-3.6.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3c772d04fb0ebeece3109d91f6122b1503023086a9591a0b63d6ee7326bd73d9"}, + {file = "rapidfuzz-3.6.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:841eafba6913c4dfd53045835545ba01a41e9644e60920c65b89c8f7e60c00a9"}, + {file = "rapidfuzz-3.6.1-cp311-cp311-win32.whl", hash = "sha256:266dd630f12696ea7119f31d8b8e4959ef45ee2cbedae54417d71ae6f47b9848"}, + {file = "rapidfuzz-3.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:d79aec8aeee02ab55d0ddb33cea3ecd7b69813a48e423c966a26d7aab025cdfe"}, + {file = "rapidfuzz-3.6.1-cp311-cp311-win_arm64.whl", hash = "sha256:484759b5dbc5559e76fefaa9170147d1254468f555fd9649aea3bad46162a88b"}, + {file = "rapidfuzz-3.6.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b2ef4c0fd3256e357b70591ffb9e8ed1d439fb1f481ba03016e751a55261d7c1"}, + {file = "rapidfuzz-3.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:588c4b20fa2fae79d60a4e438cf7133d6773915df3cc0a7f1351da19eb90f720"}, + {file = "rapidfuzz-3.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7142ee354e9c06e29a2636b9bbcb592bb00600a88f02aa5e70e4f230347b373e"}, + {file = "rapidfuzz-3.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1dfc557c0454ad22382373ec1b7df530b4bbd974335efe97a04caec936f2956a"}, + {file = "rapidfuzz-3.6.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:03f73b381bdeccb331a12c3c60f1e41943931461cdb52987f2ecf46bfc22f50d"}, + {file = "rapidfuzz-3.6.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b0ccc2ec1781c7e5370d96aef0573dd1f97335343e4982bdb3a44c133e27786"}, + {file = "rapidfuzz-3.6.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da3e8c9f7e64bb17faefda085ff6862ecb3ad8b79b0f618a6cf4452028aa2222"}, + {file = "rapidfuzz-3.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fde9b14302a31af7bdafbf5cfbb100201ba21519be2b9dedcf4f1048e4fbe65d"}, + {file = "rapidfuzz-3.6.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c1a23eee225dfb21c07f25c9fcf23eb055d0056b48e740fe241cbb4b22284379"}, + {file = "rapidfuzz-3.6.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:e49b9575d16c56c696bc7b06a06bf0c3d4ef01e89137b3ddd4e2ce709af9fe06"}, + {file = "rapidfuzz-3.6.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:0a9fc714b8c290261669f22808913aad49553b686115ad0ee999d1cb3df0cd66"}, + {file = "rapidfuzz-3.6.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:a3ee4f8f076aa92184e80308fc1a079ac356b99c39408fa422bbd00145be9854"}, + {file = "rapidfuzz-3.6.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f056ba42fd2f32e06b2c2ba2443594873cfccc0c90c8b6327904fc2ddf6d5799"}, + {file = "rapidfuzz-3.6.1-cp312-cp312-win32.whl", hash = "sha256:5d82b9651e3d34b23e4e8e201ecd3477c2baa17b638979deeabbb585bcb8ba74"}, + {file = "rapidfuzz-3.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:dad55a514868dae4543ca48c4e1fc0fac704ead038dafedf8f1fc0cc263746c1"}, + {file = "rapidfuzz-3.6.1-cp312-cp312-win_arm64.whl", hash = "sha256:3c84294f4470fcabd7830795d754d808133329e0a81d62fcc2e65886164be83b"}, + {file = "rapidfuzz-3.6.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e19d519386e9db4a5335a4b29f25b8183a1c3f78cecb4c9c3112e7f86470e37f"}, + {file = "rapidfuzz-3.6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:01eb03cd880a294d1bf1a583fdd00b87169b9cc9c9f52587411506658c864d73"}, + {file = "rapidfuzz-3.6.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:be368573255f8fbb0125a78330a1a40c65e9ba3c5ad129a426ff4289099bfb41"}, + {file = "rapidfuzz-3.6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3e5af946f419c30f5cb98b69d40997fe8580efe78fc83c2f0f25b60d0e56efb"}, + {file = "rapidfuzz-3.6.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f382f7ffe384ce34345e1c0b2065451267d3453cadde78946fbd99a59f0cc23c"}, + {file = "rapidfuzz-3.6.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be156f51f3a4f369e758505ed4ae64ea88900dcb2f89d5aabb5752676d3f3d7e"}, + {file = "rapidfuzz-3.6.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1936d134b6c513fbe934aeb668b0fee1ffd4729a3c9d8d373f3e404fbb0ce8a0"}, + {file = "rapidfuzz-3.6.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12ff8eaf4a9399eb2bebd838f16e2d1ded0955230283b07376d68947bbc2d33d"}, + {file = "rapidfuzz-3.6.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ae598a172e3a95df3383634589660d6b170cc1336fe7578115c584a99e0ba64d"}, + {file = "rapidfuzz-3.6.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:cd4ba4c18b149da11e7f1b3584813159f189dc20833709de5f3df8b1342a9759"}, + {file = "rapidfuzz-3.6.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:0402f1629e91a4b2e4aee68043a30191e5e1b7cd2aa8dacf50b1a1bcf6b7d3ab"}, + {file = "rapidfuzz-3.6.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:1e12319c6b304cd4c32d5db00b7a1e36bdc66179c44c5707f6faa5a889a317c0"}, + {file = "rapidfuzz-3.6.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0bbfae35ce4de4c574b386c43c78a0be176eeddfdae148cb2136f4605bebab89"}, + {file = "rapidfuzz-3.6.1-cp38-cp38-win32.whl", hash = "sha256:7fec74c234d3097612ea80f2a80c60720eec34947066d33d34dc07a3092e8105"}, + {file = "rapidfuzz-3.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:a553cc1a80d97459d587529cc43a4c7c5ecf835f572b671107692fe9eddf3e24"}, + {file = "rapidfuzz-3.6.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:757dfd7392ec6346bd004f8826afb3bf01d18a723c97cbe9958c733ab1a51791"}, + {file = "rapidfuzz-3.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2963f4a3f763870a16ee076796be31a4a0958fbae133dbc43fc55c3968564cf5"}, + {file = "rapidfuzz-3.6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d2f0274595cc5b2b929c80d4e71b35041104b577e118cf789b3fe0a77b37a4c5"}, + {file = "rapidfuzz-3.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f211e366e026de110a4246801d43a907cd1a10948082f47e8a4e6da76fef52"}, + {file = "rapidfuzz-3.6.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a59472b43879012b90989603aa5a6937a869a72723b1bf2ff1a0d1edee2cc8e6"}, + {file = "rapidfuzz-3.6.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a03863714fa6936f90caa7b4b50ea59ea32bb498cc91f74dc25485b3f8fccfe9"}, + {file = "rapidfuzz-3.6.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5dd95b6b7bfb1584f806db89e1e0c8dbb9d25a30a4683880c195cc7f197eaf0c"}, + {file = "rapidfuzz-3.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7183157edf0c982c0b8592686535c8b3e107f13904b36d85219c77be5cefd0d8"}, + {file = "rapidfuzz-3.6.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ad9d74ef7c619b5b0577e909582a1928d93e07d271af18ba43e428dc3512c2a1"}, + {file = "rapidfuzz-3.6.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:b53137d81e770c82189e07a8f32722d9e4260f13a0aec9914029206ead38cac3"}, + {file = "rapidfuzz-3.6.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:49b9ed2472394d306d5dc967a7de48b0aab599016aa4477127b20c2ed982dbf9"}, + {file = "rapidfuzz-3.6.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:dec307b57ec2d5054d77d03ee4f654afcd2c18aee00c48014cb70bfed79597d6"}, + {file = "rapidfuzz-3.6.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4381023fa1ff32fd5076f5d8321249a9aa62128eb3f21d7ee6a55373e672b261"}, + {file = "rapidfuzz-3.6.1-cp39-cp39-win32.whl", hash = "sha256:8d7a072f10ee57c8413c8ab9593086d42aaff6ee65df4aa6663eecdb7c398dca"}, + {file = "rapidfuzz-3.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:ebcfb5bfd0a733514352cfc94224faad8791e576a80ffe2fd40b2177bf0e7198"}, + {file = "rapidfuzz-3.6.1-cp39-cp39-win_arm64.whl", hash = "sha256:1c47d592e447738744905c18dda47ed155620204714e6df20eb1941bb1ba315e"}, + {file = "rapidfuzz-3.6.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:eef8b346ab331bec12bbc83ac75641249e6167fab3d84d8f5ca37fd8e6c7a08c"}, + {file = "rapidfuzz-3.6.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53251e256017e2b87f7000aee0353ba42392c442ae0bafd0f6b948593d3f68c6"}, + {file = "rapidfuzz-3.6.1-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6dede83a6b903e3ebcd7e8137e7ff46907ce9316e9d7e7f917d7e7cdc570ee05"}, + {file = "rapidfuzz-3.6.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e4da90e4c2b444d0a171d7444ea10152e07e95972bb40b834a13bdd6de1110c"}, + {file = "rapidfuzz-3.6.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:ca3dfcf74f2b6962f411c33dd95b0adf3901266e770da6281bc96bb5a8b20de9"}, + {file = "rapidfuzz-3.6.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bcc957c0a8bde8007f1a8a413a632a1a409890f31f73fe764ef4eac55f59ca87"}, + {file = "rapidfuzz-3.6.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:692c9a50bea7a8537442834f9bc6b7d29d8729a5b6379df17c31b6ab4df948c2"}, + {file = "rapidfuzz-3.6.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76c23ceaea27e790ddd35ef88b84cf9d721806ca366199a76fd47cfc0457a81b"}, + {file = "rapidfuzz-3.6.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b155e67fff215c09f130555002e42f7517d0ea72cbd58050abb83cb7c880cec"}, + {file = "rapidfuzz-3.6.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:3028ee8ecc48250607fa8a0adce37b56275ec3b1acaccd84aee1f68487c8557b"}, + {file = "rapidfuzz-3.6.1.tar.gz", hash = "sha256:35660bee3ce1204872574fa041c7ad7ec5175b3053a4cb6e181463fc07013de7"}, ] [package.extras] From b79c0ad441c192ebc32473aceb623f79934f48ae Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 15:44:23 -0600 Subject: [PATCH 123/170] fix(deps): update dependency uvicorn to ^0.25.0 (#2971) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- poetry.lock | 11 ++++++----- pyproject.toml | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/poetry.lock b/poetry.lock index eab93b85ea10..15a43841494a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2684,13 +2684,13 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] name = "uvicorn" -version = "0.21.1" +version = "0.25.0" description = "The lightning-fast ASGI server." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "uvicorn-0.21.1-py3-none-any.whl", hash = "sha256:e47cac98a6da10cd41e6fd036d472c6f58ede6c5dbee3dbee3ef7a100ed97742"}, - {file = "uvicorn-0.21.1.tar.gz", hash = "sha256:0fac9cb342ba099e0d582966005f3fdba5b0290579fed4a6266dc702ca7bb032"}, + {file = "uvicorn-0.25.0-py3-none-any.whl", hash = "sha256:ce107f5d9bd02b4636001a77a4e74aab5e1e2b146868ebbad565237145af444c"}, + {file = "uvicorn-0.25.0.tar.gz", hash = "sha256:6dddbad1d7ee0f5140aba5ec138ddc9612c5109399903828b4874c9937f009c2"}, ] [package.dependencies] @@ -2700,6 +2700,7 @@ h11 = ">=0.8" httptools = {version = ">=0.5.0", optional = true, markers = "extra == \"standard\""} python-dotenv = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} pyyaml = {version = ">=5.1", optional = true, markers = "extra == \"standard\""} +typing-extensions = {version = ">=4.0", markers = "python_version < \"3.11\""} uvloop = {version = ">=0.14.0,<0.15.0 || >0.15.0,<0.15.1 || >0.15.1", optional = true, markers = "(sys_platform != \"win32\" and sys_platform != \"cygwin\") and platform_python_implementation != \"PyPy\" and extra == \"standard\""} watchfiles = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} websockets = {version = ">=10.4", optional = true, markers = "extra == \"standard\""} @@ -2947,4 +2948,4 @@ pgsql = ["psycopg2-binary"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "eb49b90f9398e1f4f41b2be5564ba3a1f7c05a3f68a58a56b2b59477057950fd" +content-hash = "1b0e6c6670900d9fd113f263ec044254fa7334b54a198b434a034361390abe2f" diff --git a/pyproject.toml b/pyproject.toml index 135928db74b5..5e616a72eb86 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,7 +39,7 @@ python-slugify = "^8.0.0" recipe-scrapers = "^14.53.0" requests = "^2.31.0" tzdata = "^2022.7" -uvicorn = { extras = ["standard"], version = "^0.21.0" } +uvicorn = { extras = ["standard"], version = "^0.25.0" } beautifulsoup4 = "^4.11.2" isodate = "^0.6.1" text-unidecode = "^1.3" From 04d2fa241631a158f5c89e9d2a9bb866a74091fd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 21:55:58 +0000 Subject: [PATCH 124/170] fix(deps): update dependency gunicorn to v21 (#2972) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- poetry.lock | 10 +++++----- pyproject.toml | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/poetry.lock b/poetry.lock index 15a43841494a..b381e4d58e3e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -662,17 +662,17 @@ test = ["objgraph", "psutil"] [[package]] name = "gunicorn" -version = "20.1.0" +version = "21.2.0" description = "WSGI HTTP Server for UNIX" optional = false python-versions = ">=3.5" files = [ - {file = "gunicorn-20.1.0-py3-none-any.whl", hash = "sha256:9dcc4547dbb1cb284accfb15ab5667a0e5d1881cc443e0677b4882a4067a807e"}, - {file = "gunicorn-20.1.0.tar.gz", hash = "sha256:e0a968b5ba15f8a328fdfd7ab1fcb5af4470c28aaf7e55df02a99bc13138e6e8"}, + {file = "gunicorn-21.2.0-py3-none-any.whl", hash = "sha256:3213aa5e8c24949e792bcacfc176fef362e7aac80b76c56f6b5122bf350722f0"}, + {file = "gunicorn-21.2.0.tar.gz", hash = "sha256:88ec8bff1d634f98e61b9f65bc4bf3cd918a90806c6f5c48bc5603849ec81033"}, ] [package.dependencies] -setuptools = ">=3.0" +packaging = "*" [package.extras] eventlet = ["eventlet (>=0.24.1)"] @@ -2948,4 +2948,4 @@ pgsql = ["psycopg2-binary"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "1b0e6c6670900d9fd113f263ec044254fa7334b54a198b434a034361390abe2f" +content-hash = "4862dd32fa184dc2771bee37b155d29070b14b5c28aed90b7fadf91a6efb04f6" diff --git a/pyproject.toml b/pyproject.toml index 5e616a72eb86..51b4969e696e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ apprise = "^1.4.5" bcrypt = "^4.0.1" extruct = "^0.16.0" fastapi = "^0.104.1" -gunicorn = "^20.1.0" +gunicorn = "^21.0.0" httpx = "^0.26.0" lxml = "^4.7.1" orjson = "^3.8.0" From 238ef838ba9fd822825768b450e7e461a4486a36 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 16:42:29 -0600 Subject: [PATCH 125/170] fix(deps): update dependency lxml to v5 (#2973) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- poetry.lock | 179 ++++++++++++++++++++++--------------------------- pyproject.toml | 2 +- 2 files changed, 83 insertions(+), 98 deletions(-) diff --git a/poetry.lock b/poetry.lock index b381e4d58e3e..4a4bfc51bb0a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -920,111 +920,96 @@ files = [ [[package]] name = "lxml" -version = "4.9.4" +version = "5.1.0" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" +python-versions = ">=3.6" files = [ - {file = "lxml-4.9.4-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e214025e23db238805a600f1f37bf9f9a15413c7bf5f9d6ae194f84980c78722"}, - {file = "lxml-4.9.4-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:ec53a09aee61d45e7dbe7e91252ff0491b6b5fee3d85b2d45b173d8ab453efc1"}, - {file = "lxml-4.9.4-cp27-cp27m-win32.whl", hash = "sha256:7d1d6c9e74c70ddf524e3c09d9dc0522aba9370708c2cb58680ea40174800013"}, - {file = "lxml-4.9.4-cp27-cp27m-win_amd64.whl", hash = "sha256:cb53669442895763e61df5c995f0e8361b61662f26c1b04ee82899c2789c8f69"}, - {file = "lxml-4.9.4-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:647bfe88b1997d7ae8d45dabc7c868d8cb0c8412a6e730a7651050b8c7289cf2"}, - {file = "lxml-4.9.4-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:4d973729ce04784906a19108054e1fd476bc85279a403ea1a72fdb051c76fa48"}, - {file = "lxml-4.9.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:056a17eaaf3da87a05523472ae84246f87ac2f29a53306466c22e60282e54ff8"}, - {file = "lxml-4.9.4-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:aaa5c173a26960fe67daa69aa93d6d6a1cd714a6eb13802d4e4bd1d24a530644"}, - {file = "lxml-4.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:647459b23594f370c1c01768edaa0ba0959afc39caeeb793b43158bb9bb6a663"}, - {file = "lxml-4.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:bdd9abccd0927673cffe601d2c6cdad1c9321bf3437a2f507d6b037ef91ea307"}, - {file = "lxml-4.9.4-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:00e91573183ad273e242db5585b52670eddf92bacad095ce25c1e682da14ed91"}, - {file = "lxml-4.9.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a602ed9bd2c7d85bd58592c28e101bd9ff9c718fbde06545a70945ffd5d11868"}, - {file = "lxml-4.9.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:de362ac8bc962408ad8fae28f3967ce1a262b5d63ab8cefb42662566737f1dc7"}, - {file = "lxml-4.9.4-cp310-cp310-win32.whl", hash = "sha256:33714fcf5af4ff7e70a49731a7cc8fd9ce910b9ac194f66eaa18c3cc0a4c02be"}, - {file = "lxml-4.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:d3caa09e613ece43ac292fbed513a4bce170681a447d25ffcbc1b647d45a39c5"}, - {file = "lxml-4.9.4-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:359a8b09d712df27849e0bcb62c6a3404e780b274b0b7e4c39a88826d1926c28"}, - {file = "lxml-4.9.4-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:43498ea734ccdfb92e1886dfedaebeb81178a241d39a79d5351ba2b671bff2b2"}, - {file = "lxml-4.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:4855161013dfb2b762e02b3f4d4a21cc7c6aec13c69e3bffbf5022b3e708dd97"}, - {file = "lxml-4.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:c71b5b860c5215fdbaa56f715bc218e45a98477f816b46cfde4a84d25b13274e"}, - {file = "lxml-4.9.4-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:9a2b5915c333e4364367140443b59f09feae42184459b913f0f41b9fed55794a"}, - {file = "lxml-4.9.4-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d82411dbf4d3127b6cde7da0f9373e37ad3a43e89ef374965465928f01c2b979"}, - {file = "lxml-4.9.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:273473d34462ae6e97c0f4e517bd1bf9588aa67a1d47d93f760a1282640e24ac"}, - {file = "lxml-4.9.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:389d2b2e543b27962990ab529ac6720c3dded588cc6d0f6557eec153305a3622"}, - {file = "lxml-4.9.4-cp311-cp311-win32.whl", hash = "sha256:8aecb5a7f6f7f8fe9cac0bcadd39efaca8bbf8d1bf242e9f175cbe4c925116c3"}, - {file = "lxml-4.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:c7721a3ef41591341388bb2265395ce522aba52f969d33dacd822da8f018aff8"}, - {file = "lxml-4.9.4-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:dbcb2dc07308453db428a95a4d03259bd8caea97d7f0776842299f2d00c72fc8"}, - {file = "lxml-4.9.4-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:01bf1df1db327e748dcb152d17389cf6d0a8c5d533ef9bab781e9d5037619229"}, - {file = "lxml-4.9.4-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:e8f9f93a23634cfafbad6e46ad7d09e0f4a25a2400e4a64b1b7b7c0fbaa06d9d"}, - {file = "lxml-4.9.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3f3f00a9061605725df1816f5713d10cd94636347ed651abdbc75828df302b20"}, - {file = "lxml-4.9.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:953dd5481bd6252bd480d6ec431f61d7d87fdcbbb71b0d2bdcfc6ae00bb6fb10"}, - {file = "lxml-4.9.4-cp312-cp312-win32.whl", hash = "sha256:266f655d1baff9c47b52f529b5f6bec33f66042f65f7c56adde3fcf2ed62ae8b"}, - {file = "lxml-4.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:f1faee2a831fe249e1bae9cbc68d3cd8a30f7e37851deee4d7962b17c410dd56"}, - {file = "lxml-4.9.4-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:23d891e5bdc12e2e506e7d225d6aa929e0a0368c9916c1fddefab88166e98b20"}, - {file = "lxml-4.9.4-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e96a1788f24d03e8d61679f9881a883ecdf9c445a38f9ae3f3f193ab6c591c66"}, - {file = "lxml-4.9.4-cp36-cp36m-macosx_11_0_x86_64.whl", hash = "sha256:5557461f83bb7cc718bc9ee1f7156d50e31747e5b38d79cf40f79ab1447afd2d"}, - {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:fdb325b7fba1e2c40b9b1db407f85642e32404131c08480dd652110fc908561b"}, - {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d74d4a3c4b8f7a1f676cedf8e84bcc57705a6d7925e6daef7a1e54ae543a197"}, - {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:ac7674d1638df129d9cb4503d20ffc3922bd463c865ef3cb412f2c926108e9a4"}, - {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:ddd92e18b783aeb86ad2132d84a4b795fc5ec612e3545c1b687e7747e66e2b53"}, - {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2bd9ac6e44f2db368ef8986f3989a4cad3de4cd55dbdda536e253000c801bcc7"}, - {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:bc354b1393dce46026ab13075f77b30e40b61b1a53e852e99d3cc5dd1af4bc85"}, - {file = "lxml-4.9.4-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:f836f39678cb47c9541f04d8ed4545719dc31ad850bf1832d6b4171e30d65d23"}, - {file = "lxml-4.9.4-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:9c131447768ed7bc05a02553d939e7f0e807e533441901dd504e217b76307745"}, - {file = "lxml-4.9.4-cp36-cp36m-win32.whl", hash = "sha256:bafa65e3acae612a7799ada439bd202403414ebe23f52e5b17f6ffc2eb98c2be"}, - {file = "lxml-4.9.4-cp36-cp36m-win_amd64.whl", hash = "sha256:6197c3f3c0b960ad033b9b7d611db11285bb461fc6b802c1dd50d04ad715c225"}, - {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:7b378847a09d6bd46047f5f3599cdc64fcb4cc5a5a2dd0a2af610361fbe77b16"}, - {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:1343df4e2e6e51182aad12162b23b0a4b3fd77f17527a78c53f0f23573663545"}, - {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:6dbdacf5752fbd78ccdb434698230c4f0f95df7dd956d5f205b5ed6911a1367c"}, - {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:506becdf2ecaebaf7f7995f776394fcc8bd8a78022772de66677c84fb02dd33d"}, - {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ca8e44b5ba3edb682ea4e6185b49661fc22b230cf811b9c13963c9f982d1d964"}, - {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:9d9d5726474cbbef279fd709008f91a49c4f758bec9c062dfbba88eab00e3ff9"}, - {file = "lxml-4.9.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:bbdd69e20fe2943b51e2841fc1e6a3c1de460d630f65bde12452d8c97209464d"}, - {file = "lxml-4.9.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8671622256a0859f5089cbe0ce4693c2af407bc053dcc99aadff7f5310b4aa02"}, - {file = "lxml-4.9.4-cp37-cp37m-win32.whl", hash = "sha256:dd4fda67f5faaef4f9ee5383435048ee3e11ad996901225ad7615bc92245bc8e"}, - {file = "lxml-4.9.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6bee9c2e501d835f91460b2c904bc359f8433e96799f5c2ff20feebd9bb1e590"}, - {file = "lxml-4.9.4-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:1f10f250430a4caf84115b1e0f23f3615566ca2369d1962f82bef40dd99cd81a"}, - {file = "lxml-4.9.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:3b505f2bbff50d261176e67be24e8909e54b5d9d08b12d4946344066d66b3e43"}, - {file = "lxml-4.9.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:1449f9451cd53e0fd0a7ec2ff5ede4686add13ac7a7bfa6988ff6d75cff3ebe2"}, - {file = "lxml-4.9.4-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:4ece9cca4cd1c8ba889bfa67eae7f21d0d1a2e715b4d5045395113361e8c533d"}, - {file = "lxml-4.9.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:59bb5979f9941c61e907ee571732219fa4774d5a18f3fa5ff2df963f5dfaa6bc"}, - {file = "lxml-4.9.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b1980dbcaad634fe78e710c8587383e6e3f61dbe146bcbfd13a9c8ab2d7b1192"}, - {file = "lxml-4.9.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9ae6c3363261021144121427b1552b29e7b59de9d6a75bf51e03bc072efb3c37"}, - {file = "lxml-4.9.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bcee502c649fa6351b44bb014b98c09cb00982a475a1912a9881ca28ab4f9cd9"}, - {file = "lxml-4.9.4-cp38-cp38-win32.whl", hash = "sha256:a8edae5253efa75c2fc79a90068fe540b197d1c7ab5803b800fccfe240eed33c"}, - {file = "lxml-4.9.4-cp38-cp38-win_amd64.whl", hash = "sha256:701847a7aaefef121c5c0d855b2affa5f9bd45196ef00266724a80e439220e46"}, - {file = "lxml-4.9.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:f610d980e3fccf4394ab3806de6065682982f3d27c12d4ce3ee46a8183d64a6a"}, - {file = "lxml-4.9.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:aa9b5abd07f71b081a33115d9758ef6077924082055005808f68feccb27616bd"}, - {file = "lxml-4.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:365005e8b0718ea6d64b374423e870648ab47c3a905356ab6e5a5ff03962b9a9"}, - {file = "lxml-4.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:16b9ec51cc2feab009e800f2c6327338d6ee4e752c76e95a35c4465e80390ccd"}, - {file = "lxml-4.9.4-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:a905affe76f1802edcac554e3ccf68188bea16546071d7583fb1b693f9cf756b"}, - {file = "lxml-4.9.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fd814847901df6e8de13ce69b84c31fc9b3fb591224d6762d0b256d510cbf382"}, - {file = "lxml-4.9.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:91bbf398ac8bb7d65a5a52127407c05f75a18d7015a270fdd94bbcb04e65d573"}, - {file = "lxml-4.9.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f99768232f036b4776ce419d3244a04fe83784bce871b16d2c2e984c7fcea847"}, - {file = "lxml-4.9.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bb5bd6212eb0edfd1e8f254585290ea1dadc3687dd8fd5e2fd9a87c31915cdab"}, - {file = "lxml-4.9.4-cp39-cp39-win32.whl", hash = "sha256:88f7c383071981c74ec1998ba9b437659e4fd02a3c4a4d3efc16774eb108d0ec"}, - {file = "lxml-4.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:936e8880cc00f839aa4173f94466a8406a96ddce814651075f95837316369899"}, - {file = "lxml-4.9.4-pp310-pypy310_pp73-macosx_11_0_x86_64.whl", hash = "sha256:f6c35b2f87c004270fa2e703b872fcc984d714d430b305145c39d53074e1ffe0"}, - {file = "lxml-4.9.4-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:606d445feeb0856c2b424405236a01c71af7c97e5fe42fbc778634faef2b47e4"}, - {file = "lxml-4.9.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a1bdcbebd4e13446a14de4dd1825f1e778e099f17f79718b4aeaf2403624b0f7"}, - {file = "lxml-4.9.4-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:0a08c89b23117049ba171bf51d2f9c5f3abf507d65d016d6e0fa2f37e18c0fc5"}, - {file = "lxml-4.9.4-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:232fd30903d3123be4c435fb5159938c6225ee8607b635a4d3fca847003134ba"}, - {file = "lxml-4.9.4-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:231142459d32779b209aa4b4d460b175cadd604fed856f25c1571a9d78114771"}, - {file = "lxml-4.9.4-pp38-pypy38_pp73-macosx_11_0_x86_64.whl", hash = "sha256:520486f27f1d4ce9654154b4494cf9307b495527f3a2908ad4cb48e4f7ed7ef7"}, - {file = "lxml-4.9.4-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:562778586949be7e0d7435fcb24aca4810913771f845d99145a6cee64d5b67ca"}, - {file = "lxml-4.9.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:a9e7c6d89c77bb2770c9491d988f26a4b161d05c8ca58f63fb1f1b6b9a74be45"}, - {file = "lxml-4.9.4-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:786d6b57026e7e04d184313c1359ac3d68002c33e4b1042ca58c362f1d09ff58"}, - {file = "lxml-4.9.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:95ae6c5a196e2f239150aa4a479967351df7f44800c93e5a975ec726fef005e2"}, - {file = "lxml-4.9.4-pp39-pypy39_pp73-macosx_11_0_x86_64.whl", hash = "sha256:9b556596c49fa1232b0fff4b0e69b9d4083a502e60e404b44341e2f8fb7187f5"}, - {file = "lxml-4.9.4-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:cc02c06e9e320869d7d1bd323df6dd4281e78ac2e7f8526835d3d48c69060683"}, - {file = "lxml-4.9.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:857d6565f9aa3464764c2cb6a2e3c2e75e1970e877c188f4aeae45954a314e0c"}, - {file = "lxml-4.9.4-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c42ae7e010d7d6bc51875d768110c10e8a59494855c3d4c348b068f5fb81fdcd"}, - {file = "lxml-4.9.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:f10250bb190fb0742e3e1958dd5c100524c2cc5096c67c8da51233f7448dc137"}, - {file = "lxml-4.9.4.tar.gz", hash = "sha256:b1541e50b78e15fa06a2670157a1962ef06591d4c998b998047fff5e3236880e"}, + {file = "lxml-5.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:704f5572ff473a5f897745abebc6df40f22d4133c1e0a1f124e4f2bd3330ff7e"}, + {file = "lxml-5.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9d3c0f8567ffe7502d969c2c1b809892dc793b5d0665f602aad19895f8d508da"}, + {file = "lxml-5.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5fcfbebdb0c5d8d18b84118842f31965d59ee3e66996ac842e21f957eb76138c"}, + {file = "lxml-5.1.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f37c6d7106a9d6f0708d4e164b707037b7380fcd0b04c5bd9cae1fb46a856fb"}, + {file = "lxml-5.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2befa20a13f1a75c751f47e00929fb3433d67eb9923c2c0b364de449121f447c"}, + {file = "lxml-5.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22b7ee4c35f374e2c20337a95502057964d7e35b996b1c667b5c65c567d2252a"}, + {file = "lxml-5.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:bf8443781533b8d37b295016a4b53c1494fa9a03573c09ca5104550c138d5c05"}, + {file = "lxml-5.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:82bddf0e72cb2af3cbba7cec1d2fd11fda0de6be8f4492223d4a268713ef2147"}, + {file = "lxml-5.1.0-cp310-cp310-win32.whl", hash = "sha256:b66aa6357b265670bb574f050ffceefb98549c721cf28351b748be1ef9577d93"}, + {file = "lxml-5.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:4946e7f59b7b6a9e27bef34422f645e9a368cb2be11bf1ef3cafc39a1f6ba68d"}, + {file = "lxml-5.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:14deca1460b4b0f6b01f1ddc9557704e8b365f55c63070463f6c18619ebf964f"}, + {file = "lxml-5.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ed8c3d2cd329bf779b7ed38db176738f3f8be637bb395ce9629fc76f78afe3d4"}, + {file = "lxml-5.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:436a943c2900bb98123b06437cdd30580a61340fbdb7b28aaf345a459c19046a"}, + {file = "lxml-5.1.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:acb6b2f96f60f70e7f34efe0c3ea34ca63f19ca63ce90019c6cbca6b676e81fa"}, + {file = "lxml-5.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:af8920ce4a55ff41167ddbc20077f5698c2e710ad3353d32a07d3264f3a2021e"}, + {file = "lxml-5.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7cfced4a069003d8913408e10ca8ed092c49a7f6cefee9bb74b6b3e860683b45"}, + {file = "lxml-5.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9e5ac3437746189a9b4121db2a7b86056ac8786b12e88838696899328fc44bb2"}, + {file = "lxml-5.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f4c9bda132ad108b387c33fabfea47866af87f4ea6ffb79418004f0521e63204"}, + {file = "lxml-5.1.0-cp311-cp311-win32.whl", hash = "sha256:bc64d1b1dab08f679fb89c368f4c05693f58a9faf744c4d390d7ed1d8223869b"}, + {file = "lxml-5.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:a5ab722ae5a873d8dcee1f5f45ddd93c34210aed44ff2dc643b5025981908cda"}, + {file = "lxml-5.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:9aa543980ab1fbf1720969af1d99095a548ea42e00361e727c58a40832439114"}, + {file = "lxml-5.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6f11b77ec0979f7e4dc5ae081325a2946f1fe424148d3945f943ceaede98adb8"}, + {file = "lxml-5.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a36c506e5f8aeb40680491d39ed94670487ce6614b9d27cabe45d94cd5d63e1e"}, + {file = "lxml-5.1.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f643ffd2669ffd4b5a3e9b41c909b72b2a1d5e4915da90a77e119b8d48ce867a"}, + {file = "lxml-5.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16dd953fb719f0ffc5bc067428fc9e88f599e15723a85618c45847c96f11f431"}, + {file = "lxml-5.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:16018f7099245157564d7148165132c70adb272fb5a17c048ba70d9cc542a1a1"}, + {file = "lxml-5.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:82cd34f1081ae4ea2ede3d52f71b7be313756e99b4b5f829f89b12da552d3aa3"}, + {file = "lxml-5.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:19a1bc898ae9f06bccb7c3e1dfd73897ecbbd2c96afe9095a6026016e5ca97b8"}, + {file = "lxml-5.1.0-cp312-cp312-win32.whl", hash = "sha256:13521a321a25c641b9ea127ef478b580b5ec82aa2e9fc076c86169d161798b01"}, + {file = "lxml-5.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:1ad17c20e3666c035db502c78b86e58ff6b5991906e55bdbef94977700c72623"}, + {file = "lxml-5.1.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:24ef5a4631c0b6cceaf2dbca21687e29725b7c4e171f33a8f8ce23c12558ded1"}, + {file = "lxml-5.1.0-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8d2900b7f5318bc7ad8631d3d40190b95ef2aa8cc59473b73b294e4a55e9f30f"}, + {file = "lxml-5.1.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:601f4a75797d7a770daed8b42b97cd1bb1ba18bd51a9382077a6a247a12aa38d"}, + {file = "lxml-5.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4b68c961b5cc402cbd99cca5eb2547e46ce77260eb705f4d117fd9c3f932b95"}, + {file = "lxml-5.1.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:afd825e30f8d1f521713a5669b63657bcfe5980a916c95855060048b88e1adb7"}, + {file = "lxml-5.1.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:262bc5f512a66b527d026518507e78c2f9c2bd9eb5c8aeeb9f0eb43fcb69dc67"}, + {file = "lxml-5.1.0-cp36-cp36m-win32.whl", hash = "sha256:e856c1c7255c739434489ec9c8aa9cdf5179785d10ff20add308b5d673bed5cd"}, + {file = "lxml-5.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:c7257171bb8d4432fe9d6fdde4d55fdbe663a63636a17f7f9aaba9bcb3153ad7"}, + {file = "lxml-5.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b9e240ae0ba96477682aa87899d94ddec1cc7926f9df29b1dd57b39e797d5ab5"}, + {file = "lxml-5.1.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a96f02ba1bcd330807fc060ed91d1f7a20853da6dd449e5da4b09bfcc08fdcf5"}, + {file = "lxml-5.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e3898ae2b58eeafedfe99e542a17859017d72d7f6a63de0f04f99c2cb125936"}, + {file = "lxml-5.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61c5a7edbd7c695e54fca029ceb351fc45cd8860119a0f83e48be44e1c464862"}, + {file = "lxml-5.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:3aeca824b38ca78d9ee2ab82bd9883083d0492d9d17df065ba3b94e88e4d7ee6"}, + {file = "lxml-5.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8f52fe6859b9db71ee609b0c0a70fea5f1e71c3462ecf144ca800d3f434f0764"}, + {file = "lxml-5.1.0-cp37-cp37m-win32.whl", hash = "sha256:d42e3a3fc18acc88b838efded0e6ec3edf3e328a58c68fbd36a7263a874906c8"}, + {file = "lxml-5.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:eac68f96539b32fce2c9b47eb7c25bb2582bdaf1bbb360d25f564ee9e04c542b"}, + {file = "lxml-5.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ae15347a88cf8af0949a9872b57a320d2605ae069bcdf047677318bc0bba45b1"}, + {file = "lxml-5.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c26aab6ea9c54d3bed716b8851c8bfc40cb249b8e9880e250d1eddde9f709bf5"}, + {file = "lxml-5.1.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:342e95bddec3a698ac24378d61996b3ee5ba9acfeb253986002ac53c9a5f6f84"}, + {file = "lxml-5.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:725e171e0b99a66ec8605ac77fa12239dbe061482ac854d25720e2294652eeaa"}, + {file = "lxml-5.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d184e0d5c918cff04cdde9dbdf9600e960161d773666958c9d7b565ccc60c45"}, + {file = "lxml-5.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:98f3f020a2b736566c707c8e034945c02aa94e124c24f77ca097c446f81b01f1"}, + {file = "lxml-5.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6d48fc57e7c1e3df57be5ae8614bab6d4e7b60f65c5457915c26892c41afc59e"}, + {file = "lxml-5.1.0-cp38-cp38-win32.whl", hash = "sha256:7ec465e6549ed97e9f1e5ed51c657c9ede767bc1c11552f7f4d022c4df4a977a"}, + {file = "lxml-5.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:b21b4031b53d25b0858d4e124f2f9131ffc1530431c6d1321805c90da78388d1"}, + {file = "lxml-5.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:52427a7eadc98f9e62cb1368a5079ae826f94f05755d2d567d93ee1bc3ceb354"}, + {file = "lxml-5.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6a2a2c724d97c1eb8cf966b16ca2915566a4904b9aad2ed9a09c748ffe14f969"}, + {file = "lxml-5.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:843b9c835580d52828d8f69ea4302537337a21e6b4f1ec711a52241ba4a824f3"}, + {file = "lxml-5.1.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9b99f564659cfa704a2dd82d0684207b1aadf7d02d33e54845f9fc78e06b7581"}, + {file = "lxml-5.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f8b0c78e7aac24979ef09b7f50da871c2de2def043d468c4b41f512d831e912"}, + {file = "lxml-5.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9bcf86dfc8ff3e992fed847c077bd875d9e0ba2fa25d859c3a0f0f76f07f0c8d"}, + {file = "lxml-5.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:49a9b4af45e8b925e1cd6f3b15bbba2c81e7dba6dce170c677c9cda547411e14"}, + {file = "lxml-5.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:280f3edf15c2a967d923bcfb1f8f15337ad36f93525828b40a0f9d6c2ad24890"}, + {file = "lxml-5.1.0-cp39-cp39-win32.whl", hash = "sha256:ed7326563024b6e91fef6b6c7a1a2ff0a71b97793ac33dbbcf38f6005e51ff6e"}, + {file = "lxml-5.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:8d7b4beebb178e9183138f552238f7e6613162a42164233e2bda00cb3afac58f"}, + {file = "lxml-5.1.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9bd0ae7cc2b85320abd5e0abad5ccee5564ed5f0cc90245d2f9a8ef330a8deae"}, + {file = "lxml-5.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8c1d679df4361408b628f42b26a5d62bd3e9ba7f0c0e7969f925021554755aa"}, + {file = "lxml-5.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:2ad3a8ce9e8a767131061a22cd28fdffa3cd2dc193f399ff7b81777f3520e372"}, + {file = "lxml-5.1.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:304128394c9c22b6569eba2a6d98392b56fbdfbad58f83ea702530be80d0f9df"}, + {file = "lxml-5.1.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d74fcaf87132ffc0447b3c685a9f862ffb5b43e70ea6beec2fb8057d5d2a1fea"}, + {file = "lxml-5.1.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:8cf5877f7ed384dabfdcc37922c3191bf27e55b498fecece9fd5c2c7aaa34c33"}, + {file = "lxml-5.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:877efb968c3d7eb2dad540b6cabf2f1d3c0fbf4b2d309a3c141f79c7e0061324"}, + {file = "lxml-5.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f14a4fb1c1c402a22e6a341a24c1341b4a3def81b41cd354386dcb795f83897"}, + {file = "lxml-5.1.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:25663d6e99659544ee8fe1b89b1a8c0aaa5e34b103fab124b17fa958c4a324a6"}, + {file = "lxml-5.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8b9f19df998761babaa7f09e6bc169294eefafd6149aaa272081cbddc7ba4ca3"}, + {file = "lxml-5.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e53d7e6a98b64fe54775d23a7c669763451340c3d44ad5e3a3b48a1efbdc96f"}, + {file = "lxml-5.1.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c3cd1fc1dc7c376c54440aeaaa0dcc803d2126732ff5c6b68ccd619f2e64be4f"}, + {file = "lxml-5.1.0.tar.gz", hash = "sha256:3eea6ed6e6c918e468e693c41ef07f3c3acc310b70ddd9cc72d9ef84bc9564ca"}, ] [package.extras] cssselect = ["cssselect (>=0.7)"] html5 = ["html5lib"] htmlsoup = ["BeautifulSoup4"] -source = ["Cython (==0.29.37)"] +source = ["Cython (>=3.0.7)"] [[package]] name = "mako" @@ -2948,4 +2933,4 @@ pgsql = ["psycopg2-binary"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "4862dd32fa184dc2771bee37b155d29070b14b5c28aed90b7fadf91a6efb04f6" +content-hash = "59deb74794c951efd632d5db4b934e4aad665e7ea74ff8161bc3ca25a14b59b9" diff --git a/pyproject.toml b/pyproject.toml index 51b4969e696e..e85da323caf2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,7 +23,7 @@ extruct = "^0.16.0" fastapi = "^0.104.1" gunicorn = "^21.0.0" httpx = "^0.26.0" -lxml = "^4.7.1" +lxml = "^5.0.0" orjson = "^3.8.0" passlib = "^1.7.4" psycopg2-binary = { version = "^2.9.1", optional = true } From 1f195a02a0b465d148607f9c0a00c59aad3fb65e Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Wed, 10 Jan 2024 17:55:14 -0600 Subject: [PATCH 126/170] New translations en-us.json (Italian) --- frontend/lang/messages/it-IT.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/lang/messages/it-IT.json b/frontend/lang/messages/it-IT.json index b9f6ba71af0c..99bacaadb31c 100644 --- a/frontend/lang/messages/it-IT.json +++ b/frontend/lang/messages/it-IT.json @@ -533,8 +533,8 @@ "new-recipe-names-must-be-unique": "I nuovi nomi delle ricette devono essere univoci", "scrape-recipe": "Recupera Ricetta", "scrape-recipe-description": "Recupera una ricetta da url. Fornire l'url per il sito che si desidera analizzare, e Mealie cercherà di recuperare la ricetta da quel sito e aggiungerlo alla vostra raccolta.", - "scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?", - "scrape-recipe-suggest-bulk-importer": "Try out the bulk importer", + "scrape-recipe-have-a-lot-of-recipes": "Hai un sacco di ricette che vuoi importare contemporaneamente?", + "scrape-recipe-suggest-bulk-importer": "Prova l'importatore massivo", "import-original-keywords-as-tags": "Importa parole chiave originali come tag", "stay-in-edit-mode": "Rimani in modalità Modifica", "import-from-zip": "Importa da Zip", @@ -802,7 +802,7 @@ "create-new-tool": "Crea un Nuovo Utensile", "on-hand-checkbox-label": "Mostra come Disponibile (Spuntato)", "required-tools": "Strumenti necessari", - "tool": "Tool" + "tool": "Strumento" }, "user": { "admin": "Amministratore", From 60eabf3e1cf1f575d91aabd3b9677f61884ba8e2 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Wed, 10 Jan 2024 17:55:15 -0600 Subject: [PATCH 127/170] New translations en-us.json (Portuguese) --- frontend/lang/messages/pt-PT.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/lang/messages/pt-PT.json b/frontend/lang/messages/pt-PT.json index 0011ba328ca4..1be1b9a056b7 100644 --- a/frontend/lang/messages/pt-PT.json +++ b/frontend/lang/messages/pt-PT.json @@ -238,7 +238,7 @@ "allow-users-outside-of-your-group-to-see-your-recipes": "Permitir que utilizadores externos ao seu grupo vejam as suas receitas", "allow-users-outside-of-your-group-to-see-your-recipes-description": "Quando ativado, poderá usar um link público para partilhar receitas específicas sem autorizar o utilizador. Quando desativado, só poderá partilhar receitas com utilizadores do seu grupo ou com um link privado gerado previamente", "show-nutrition-information": "Mostrar informações nutricionais", - "show-nutrition-information-description": "Quando ativado, a informação nutricional será exibida na receita, se disponível. Se não houver informação nutricional disponível, está não será exibida", + "show-nutrition-information-description": "Quando ativado, a informação nutricional será exibida na receita, se disponível. Se não houver informação nutricional disponível, esta não será exibida", "show-recipe-assets": "Mostrar recursos da receita", "show-recipe-assets-description": "Quando ativado, os recursos da receita serão mostrados na receita, se disponíveis", "default-to-landscape-view": "Padrão para visualização em paisagem", From 9b97a7b3e7491402cbb24079a64d892f2f2761dc Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Wed, 10 Jan 2024 17:55:16 -0600 Subject: [PATCH 128/170] New translations en-us.json (Russian) --- frontend/lang/messages/ru-RU.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/lang/messages/ru-RU.json b/frontend/lang/messages/ru-RU.json index 35540be56766..31721d73ec1e 100644 --- a/frontend/lang/messages/ru-RU.json +++ b/frontend/lang/messages/ru-RU.json @@ -199,7 +199,7 @@ "upload-file": "Загрузить файл", "created-on-date": "Создано: {0}", "unsaved-changes": "У вас есть несохраненные изменения. Вы хотите сохранить их перед выходом?", - "clipboard-copy-failure": "Failed to copy to the clipboard." + "clipboard-copy-failure": "Не удалось скопировать текст." }, "group": { "are-you-sure-you-want-to-delete-the-group": "Вы действительно хотите удалить {groupName}?", From 1aa9bbe8e2985196e9ed4c3bd2c0be74e4c25583 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Wed, 10 Jan 2024 17:55:17 -0600 Subject: [PATCH 129/170] New translations en-us.json (Turkish) --- frontend/lang/messages/tr-TR.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/lang/messages/tr-TR.json b/frontend/lang/messages/tr-TR.json index 7805c51b4633..ec5e39f959ed 100644 --- a/frontend/lang/messages/tr-TR.json +++ b/frontend/lang/messages/tr-TR.json @@ -533,8 +533,8 @@ "new-recipe-names-must-be-unique": "New recipe names must be unique", "scrape-recipe": "Scrape Recipe", "scrape-recipe-description": "Scrape a recipe by url. Provide the url for the site you want to scrape, and Mealie will attempt to scrape the recipe from that site and add it to your collection.", - "scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?", - "scrape-recipe-suggest-bulk-importer": "Try out the bulk importer", + "scrape-recipe-have-a-lot-of-recipes": "Aynı anda kazımak istediğiniz birçok tarifiniz mi var?", + "scrape-recipe-suggest-bulk-importer": "Toplu ithalatçıyı deneyin", "import-original-keywords-as-tags": "Import original keywords as tags", "stay-in-edit-mode": "Stay in Edit mode", "import-from-zip": "Zip'ten içeri aktar", From c64ae9404304a17d622382f6ab43354cabd9c8a9 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Wed, 10 Jan 2024 17:55:18 -0600 Subject: [PATCH 130/170] New translations en-us.json (Chinese Traditional) --- mealie/lang/messages/zh-TW.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mealie/lang/messages/zh-TW.json b/mealie/lang/messages/zh-TW.json index a4990159d5d5..1690e19e890f 100644 --- a/mealie/lang/messages/zh-TW.json +++ b/mealie/lang/messages/zh-TW.json @@ -11,7 +11,7 @@ "user": { "user-updated": "User updated", "password-updated": "Password updated", - "invalid-current-password": "Invalid current password", + "invalid-current-password": "目前密碼無效", "ldap-update-password-unavailable": "Unable to update password, user is controlled by LDAP" }, "group": { @@ -22,7 +22,7 @@ "no-entry-found": "The requested resource was not found", "integrity-error": "Database integrity error", "username-conflict-error": "This username is already taken", - "email-conflict-error": "This email is already in use" + "email-conflict-error": "該電子郵件已被使用" }, "notifications": { "generic-created": "{name} was created", From ce929f2833e0df574f189caec5a5c1d547195b7c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 11 Jan 2024 00:53:54 +0000 Subject: [PATCH 131/170] chore(deps): update dependency ruff to ^0.1.0 (#2944) * chore(deps): update dependency ruff to ^0.1.0 * fix breaking cfg change --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Genson <71845777+michael-genson@users.noreply.github.com> --- mealie/repos/repository_recipes.py | 4 +- mealie/routes/_base/routers.py | 2 +- mealie/services/migrations/mealie_alpha.py | 2 +- mealie/services/migrations/plantoeat.py | 3 +- .../services/parser_services/crfpp/utils.py | 2 +- poetry.lock | 40 +++++++++---------- pyproject.toml | 4 +- 7 files changed, 28 insertions(+), 29 deletions(-) diff --git a/mealie/repos/repository_recipes.py b/mealie/repos/repository_recipes.py index 31b52aac2361..c5a0fe1e3ace 100644 --- a/mealie/repos/repository_recipes.py +++ b/mealie/repos/repository_recipes.py @@ -53,7 +53,7 @@ class RepositoryRecipes(RepositoryGeneric[Recipe, RecipeModel]): stmt = ( select(self.model) .join(RecipeSettings) - .filter(RecipeSettings.public == True) # noqa: 711 + .filter(RecipeSettings.public == True) # noqa: E712 .order_by(order_attr.desc()) .offset(start) .limit(limit) @@ -63,7 +63,7 @@ class RepositoryRecipes(RepositoryGeneric[Recipe, RecipeModel]): stmt = ( select(self.model) .join(RecipeSettings) - .filter(RecipeSettings.public == True) # noqa: 711 + .filter(RecipeSettings.public == True) # noqa: E712 .offset(start) .limit(limit) ) diff --git a/mealie/routes/_base/routers.py b/mealie/routes/_base/routers.py index e4b7d4463291..0af27b486665 100644 --- a/mealie/routes/_base/routers.py +++ b/mealie/routes/_base/routers.py @@ -34,7 +34,7 @@ class MealieCrudRoute(APIRoute): with contextlib.suppress(JSONDecodeError): response = await original_route_handler(request) response_body = json.loads(response.body) - if type(response_body) == dict: + if isinstance(response_body, dict): if last_modified := response_body.get("updateAt"): response.headers["last-modified"] = last_modified diff --git a/mealie/services/migrations/mealie_alpha.py b/mealie/services/migrations/mealie_alpha.py index 59812600ad57..0886e8d509b3 100644 --- a/mealie/services/migrations/mealie_alpha.py +++ b/mealie/services/migrations/mealie_alpha.py @@ -39,7 +39,7 @@ class MealieAlphaMigrator(BaseMigrator): with contextlib.suppress(KeyError): if "" in recipe["categories"]: recipe["categories"] = [cat for cat in recipe["categories"] if cat != ""] - if type(recipe["extras"]) == list: + if isinstance(recipe["extras"], list): recipe["extras"] = {} recipe["comments"] = [] diff --git a/mealie/services/migrations/plantoeat.py b/mealie/services/migrations/plantoeat.py index 564a39186017..918e2545e0b8 100644 --- a/mealie/services/migrations/plantoeat.py +++ b/mealie/services/migrations/plantoeat.py @@ -23,8 +23,7 @@ def plantoeat_recipes(file: Path): for name in Path(tmpdir).glob("**/[!.]*.csv"): with open(name, newline="") as csvfile: reader = csv.DictReader(csvfile) - for row in reader: - yield row + yield from reader def get_value_as_string_or_none(dictionary: dict, key: str): diff --git a/mealie/services/parser_services/crfpp/utils.py b/mealie/services/parser_services/crfpp/utils.py index 2d21d2051520..fc13c71af23d 100644 --- a/mealie/services/parser_services/crfpp/utils.py +++ b/mealie/services/parser_services/crfpp/utils.py @@ -187,7 +187,7 @@ def import_data(lines): token = unclump(token) # turn B-NAME/123 back into "name" - tag, confidence = re.split(r"/", columns[-1], 1) + tag, confidence = re.split(r"/", columns[-1], maxsplit=1) tag = re.sub(r"^[BI]\-", "", tag).lower() # noqa: W605 - invalid dscape sequence # ==================== diff --git a/poetry.lock b/poetry.lock index 4a4bfc51bb0a..c4546096de98 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2370,28 +2370,28 @@ pyasn1 = ">=0.1.3" [[package]] name = "ruff" -version = "0.0.265" -description = "An extremely fast Python linter, written in Rust." +version = "0.1.11" +description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.0.265-py3-none-macosx_10_7_x86_64.whl", hash = "sha256:30ddfe22de6ce4eb1260408f4480bbbce998f954dbf470228a21a9b2c45955e4"}, - {file = "ruff-0.0.265-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:a11bd0889e88d3342e7bc514554bb4461bf6cc30ec115821c2425cfaac0b1b6a"}, - {file = "ruff-0.0.265-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a9b38bdb40a998cbc677db55b6225a6c4fadcf8819eb30695e1b8470942426b"}, - {file = "ruff-0.0.265-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a8b44a245b60512403a6a03a5b5212da274d33862225c5eed3bcf12037eb19bb"}, - {file = "ruff-0.0.265-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b279fa55ea175ef953208a6d8bfbcdcffac1c39b38cdb8c2bfafe9222add70bb"}, - {file = "ruff-0.0.265-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:5028950f7af9b119d43d91b215d5044976e43b96a0d1458d193ef0dd3c587bf8"}, - {file = "ruff-0.0.265-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4057eb539a1d88eb84e9f6a36e0a999e0f261ed850ae5d5817e68968e7b89ed9"}, - {file = "ruff-0.0.265-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d586e69ab5cbf521a1910b733412a5735936f6a610d805b89d35b6647e2a66aa"}, - {file = "ruff-0.0.265-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa17b13cd3f29fc57d06bf34c31f21d043735cc9a681203d634549b0e41047d1"}, - {file = "ruff-0.0.265-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:9ac13b11d9ad3001de9d637974ec5402a67cefdf9fffc3929ab44c2fcbb850a1"}, - {file = "ruff-0.0.265-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:62a9578b48cfd292c64ea3d28681dc16b1aa7445b7a7709a2884510fc0822118"}, - {file = "ruff-0.0.265-py3-none-musllinux_1_2_i686.whl", hash = "sha256:d0f9967f84da42d28e3d9d9354cc1575f96ed69e6e40a7d4b780a7a0418d9409"}, - {file = "ruff-0.0.265-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:1d5a8de2fbaf91ea5699451a06f4074e7a312accfa774ad9327cde3e4fda2081"}, - {file = "ruff-0.0.265-py3-none-win32.whl", hash = "sha256:9e9db5ccb810742d621f93272e3cc23b5f277d8d00c4a79668835d26ccbe48dd"}, - {file = "ruff-0.0.265-py3-none-win_amd64.whl", hash = "sha256:f54facf286103006171a00ce20388d88ed1d6732db3b49c11feb9bf3d46f90e9"}, - {file = "ruff-0.0.265-py3-none-win_arm64.whl", hash = "sha256:c78470656e33d32ddc54e8482b1b0fc6de58f1195586731e5ff1405d74421499"}, - {file = "ruff-0.0.265.tar.gz", hash = "sha256:53c17f0dab19ddc22b254b087d1381b601b155acfa8feed514f0d6a413d0ab3a"}, + {file = "ruff-0.1.11-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:a7f772696b4cdc0a3b2e527fc3c7ccc41cdcb98f5c80fdd4f2b8c50eb1458196"}, + {file = "ruff-0.1.11-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:934832f6ed9b34a7d5feea58972635c2039c7a3b434fe5ba2ce015064cb6e955"}, + {file = "ruff-0.1.11-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea0d3e950e394c4b332bcdd112aa566010a9f9c95814844a7468325290aabfd9"}, + {file = "ruff-0.1.11-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9bd4025b9c5b429a48280785a2b71d479798a69f5c2919e7d274c5f4b32c3607"}, + {file = "ruff-0.1.11-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1ad00662305dcb1e987f5ec214d31f7d6a062cae3e74c1cbccef15afd96611d"}, + {file = "ruff-0.1.11-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:4b077ce83f47dd6bea1991af08b140e8b8339f0ba8cb9b7a484c30ebab18a23f"}, + {file = "ruff-0.1.11-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4a88efecec23c37b11076fe676e15c6cdb1271a38f2b415e381e87fe4517f18"}, + {file = "ruff-0.1.11-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5b25093dad3b055667730a9b491129c42d45e11cdb7043b702e97125bcec48a1"}, + {file = "ruff-0.1.11-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:231d8fb11b2cc7c0366a326a66dafc6ad449d7fcdbc268497ee47e1334f66f77"}, + {file = "ruff-0.1.11-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:09c415716884950080921dd6237767e52e227e397e2008e2bed410117679975b"}, + {file = "ruff-0.1.11-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:0f58948c6d212a6b8d41cd59e349751018797ce1727f961c2fa755ad6208ba45"}, + {file = "ruff-0.1.11-py3-none-musllinux_1_2_i686.whl", hash = "sha256:190a566c8f766c37074d99640cd9ca3da11d8deae2deae7c9505e68a4a30f740"}, + {file = "ruff-0.1.11-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:6464289bd67b2344d2a5d9158d5eb81025258f169e69a46b741b396ffb0cda95"}, + {file = "ruff-0.1.11-py3-none-win32.whl", hash = "sha256:9b8f397902f92bc2e70fb6bebfa2139008dc72ae5177e66c383fa5426cb0bf2c"}, + {file = "ruff-0.1.11-py3-none-win_amd64.whl", hash = "sha256:eb85ee287b11f901037a6683b2374bb0ec82928c5cbc984f575d0437979c521a"}, + {file = "ruff-0.1.11-py3-none-win_arm64.whl", hash = "sha256:97ce4d752f964ba559c7023a86e5f8e97f026d511e48013987623915431c7ea9"}, + {file = "ruff-0.1.11.tar.gz", hash = "sha256:f9d4d88cb6eeb4dfe20f9f0519bd2eaba8119bde87c3d5065c541dbae2b5a2cb"}, ] [[package]] @@ -2933,4 +2933,4 @@ pgsql = ["psycopg2-binary"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "59deb74794c951efd632d5db4b934e4aad665e7ea74ff8161bc3ca25a14b59b9" +content-hash = "b7d5c58d572a0d86e4b4fe609eecd180a708fe82e4b5800856b89e71d8e34bbc" diff --git a/pyproject.toml b/pyproject.toml index e85da323caf2..94cbd9cb461d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -57,7 +57,7 @@ pylint = "^3.0.0" pytest = "^7.2.0" pytest-asyncio = "^0.23.0" rich = "^13.5.2" -ruff = "^0.0.265" +ruff = "^0.1.0" types-PyYAML = "^6.0.4" types-python-dateutil = "^2.8.18" types-python-slugify = "^6.0.0" @@ -107,7 +107,7 @@ strict_optional = true [tool.ruff] line-length = 120 -format = "text" +output-format = "text" # Enable Pyflakes `E` and `F` codes by default. ignore = ["F403", "TID252", "B008"] From 0d89c865598813567aec71d3277a95e6f2c36ae7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 22:23:39 -0600 Subject: [PATCH 132/170] fix(deps): update dependency jinja2 to v3.1.3 (#2975) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- poetry.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index c4546096de98..3dcf94858e6a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -893,13 +893,13 @@ requirements-deprecated-finder = ["pip-api", "pipreqs"] [[package]] name = "jinja2" -version = "3.1.2" +version = "3.1.3" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, - {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, + {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"}, + {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"}, ] [package.dependencies] From b8dd0fc97cfc2d84f2c9283b38ee322406922a68 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 11 Jan 2024 04:44:23 +0000 Subject: [PATCH 133/170] chore(deps): update dependency mypy to v1.8.0 (#2943) * chore(deps): update dependency mypy to v1.8.0 * appease the linting overlords --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Genson <71845777+michael-genson@users.noreply.github.com> --- .../services/scraper/recipe_bulk_scraper.py | 2 +- poetry.lock | 57 ++++++++++--------- 2 files changed, 30 insertions(+), 29 deletions(-) diff --git a/mealie/services/scraper/recipe_bulk_scraper.py b/mealie/services/scraper/recipe_bulk_scraper.py index ed701ecc3886..877bdc5568e0 100644 --- a/mealie/services/scraper/recipe_bulk_scraper.py +++ b/mealie/services/scraper/recipe_bulk_scraper.py @@ -94,7 +94,7 @@ class RecipeBulkScraperService(BaseService): tasks = [_do(b.url) for b in urls.imports] results = await asyncio.gather(*tasks, return_exceptions=True) for b, recipe in zip(urls.imports, results, strict=True): - if not recipe or isinstance(recipe, Exception): + if not recipe or isinstance(recipe, BaseException): continue if b.tags: diff --git a/poetry.lock b/poetry.lock index 3dcf94858e6a..4de164e2c537 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1247,38 +1247,38 @@ files = [ [[package]] name = "mypy" -version = "1.5.1" +version = "1.8.0" description = "Optional static typing for Python" optional = false python-versions = ">=3.8" files = [ - {file = "mypy-1.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f33592ddf9655a4894aef22d134de7393e95fcbdc2d15c1ab65828eee5c66c70"}, - {file = "mypy-1.5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:258b22210a4a258ccd077426c7a181d789d1121aca6db73a83f79372f5569ae0"}, - {file = "mypy-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9ec1f695f0c25986e6f7f8778e5ce61659063268836a38c951200c57479cc12"}, - {file = "mypy-1.5.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:abed92d9c8f08643c7d831300b739562b0a6c9fcb028d211134fc9ab20ccad5d"}, - {file = "mypy-1.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:a156e6390944c265eb56afa67c74c0636f10283429171018446b732f1a05af25"}, - {file = "mypy-1.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6ac9c21bfe7bc9f7f1b6fae441746e6a106e48fc9de530dea29e8cd37a2c0cc4"}, - {file = "mypy-1.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:51cb1323064b1099e177098cb939eab2da42fea5d818d40113957ec954fc85f4"}, - {file = "mypy-1.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:596fae69f2bfcb7305808c75c00f81fe2829b6236eadda536f00610ac5ec2243"}, - {file = "mypy-1.5.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:32cb59609b0534f0bd67faebb6e022fe534bdb0e2ecab4290d683d248be1b275"}, - {file = "mypy-1.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:159aa9acb16086b79bbb0016145034a1a05360626046a929f84579ce1666b315"}, - {file = "mypy-1.5.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f6b0e77db9ff4fda74de7df13f30016a0a663928d669c9f2c057048ba44f09bb"}, - {file = "mypy-1.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:26f71b535dfc158a71264e6dc805a9f8d2e60b67215ca0bfa26e2e1aa4d4d373"}, - {file = "mypy-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fc3a600f749b1008cc75e02b6fb3d4db8dbcca2d733030fe7a3b3502902f161"}, - {file = "mypy-1.5.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:26fb32e4d4afa205b24bf645eddfbb36a1e17e995c5c99d6d00edb24b693406a"}, - {file = "mypy-1.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:82cb6193de9bbb3844bab4c7cf80e6227d5225cc7625b068a06d005d861ad5f1"}, - {file = "mypy-1.5.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4a465ea2ca12804d5b34bb056be3a29dc47aea5973b892d0417c6a10a40b2d65"}, - {file = "mypy-1.5.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9fece120dbb041771a63eb95e4896791386fe287fefb2837258925b8326d6160"}, - {file = "mypy-1.5.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d28ddc3e3dfeab553e743e532fb95b4e6afad51d4706dd22f28e1e5e664828d2"}, - {file = "mypy-1.5.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:57b10c56016adce71fba6bc6e9fd45d8083f74361f629390c556738565af8eeb"}, - {file = "mypy-1.5.1-cp38-cp38-win_amd64.whl", hash = "sha256:ff0cedc84184115202475bbb46dd99f8dcb87fe24d5d0ddfc0fe6b8575c88d2f"}, - {file = "mypy-1.5.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8f772942d372c8cbac575be99f9cc9d9fb3bd95c8bc2de6c01411e2c84ebca8a"}, - {file = "mypy-1.5.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5d627124700b92b6bbaa99f27cbe615c8ea7b3402960f6372ea7d65faf376c14"}, - {file = "mypy-1.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:361da43c4f5a96173220eb53340ace68cda81845cd88218f8862dfb0adc8cddb"}, - {file = "mypy-1.5.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:330857f9507c24de5c5724235e66858f8364a0693894342485e543f5b07c8693"}, - {file = "mypy-1.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:c543214ffdd422623e9fedd0869166c2f16affe4ba37463975043ef7d2ea8770"}, - {file = "mypy-1.5.1-py3-none-any.whl", hash = "sha256:f757063a83970d67c444f6e01d9550a7402322af3557ce7630d3c957386fa8f5"}, - {file = "mypy-1.5.1.tar.gz", hash = "sha256:b031b9601f1060bf1281feab89697324726ba0c0bae9d7cd7ab4b690940f0b92"}, + {file = "mypy-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:485a8942f671120f76afffff70f259e1cd0f0cfe08f81c05d8816d958d4577d3"}, + {file = "mypy-1.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:df9824ac11deaf007443e7ed2a4a26bebff98d2bc43c6da21b2b64185da011c4"}, + {file = "mypy-1.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2afecd6354bbfb6e0160f4e4ad9ba6e4e003b767dd80d85516e71f2e955ab50d"}, + {file = "mypy-1.8.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8963b83d53ee733a6e4196954502b33567ad07dfd74851f32be18eb932fb1cb9"}, + {file = "mypy-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:e46f44b54ebddbeedbd3d5b289a893219065ef805d95094d16a0af6630f5d410"}, + {file = "mypy-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:855fe27b80375e5c5878492f0729540db47b186509c98dae341254c8f45f42ae"}, + {file = "mypy-1.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4c886c6cce2d070bd7df4ec4a05a13ee20c0aa60cb587e8d1265b6c03cf91da3"}, + {file = "mypy-1.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d19c413b3c07cbecf1f991e2221746b0d2a9410b59cb3f4fb9557f0365a1a817"}, + {file = "mypy-1.8.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9261ed810972061388918c83c3f5cd46079d875026ba97380f3e3978a72f503d"}, + {file = "mypy-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:51720c776d148bad2372ca21ca29256ed483aa9a4cdefefcef49006dff2a6835"}, + {file = "mypy-1.8.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:52825b01f5c4c1c4eb0db253ec09c7aa17e1a7304d247c48b6f3599ef40db8bd"}, + {file = "mypy-1.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f5ac9a4eeb1ec0f1ccdc6f326bcdb464de5f80eb07fb38b5ddd7b0de6bc61e55"}, + {file = "mypy-1.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afe3fe972c645b4632c563d3f3eff1cdca2fa058f730df2b93a35e3b0c538218"}, + {file = "mypy-1.8.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:42c6680d256ab35637ef88891c6bd02514ccb7e1122133ac96055ff458f93fc3"}, + {file = "mypy-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:720a5ca70e136b675af3af63db533c1c8c9181314d207568bbe79051f122669e"}, + {file = "mypy-1.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:028cf9f2cae89e202d7b6593cd98db6759379f17a319b5faf4f9978d7084cdc6"}, + {file = "mypy-1.8.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4e6d97288757e1ddba10dd9549ac27982e3e74a49d8d0179fc14d4365c7add66"}, + {file = "mypy-1.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f1478736fcebb90f97e40aff11a5f253af890c845ee0c850fe80aa060a267c6"}, + {file = "mypy-1.8.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42419861b43e6962a649068a61f4a4839205a3ef525b858377a960b9e2de6e0d"}, + {file = "mypy-1.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:2b5b6c721bd4aabaadead3a5e6fa85c11c6c795e0c81a7215776ef8afc66de02"}, + {file = "mypy-1.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5c1538c38584029352878a0466f03a8ee7547d7bd9f641f57a0f3017a7c905b8"}, + {file = "mypy-1.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ef4be7baf08a203170f29e89d79064463b7fc7a0908b9d0d5114e8009c3a259"}, + {file = "mypy-1.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7178def594014aa6c35a8ff411cf37d682f428b3b5617ca79029d8ae72f5402b"}, + {file = "mypy-1.8.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ab3c84fa13c04aeeeabb2a7f67a25ef5d77ac9d6486ff33ded762ef353aa5592"}, + {file = "mypy-1.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:99b00bc72855812a60d253420d8a2eae839b0afa4938f09f4d2aa9bb4654263a"}, + {file = "mypy-1.8.0-py3-none-any.whl", hash = "sha256:538fd81bb5e430cc1381a443971c0475582ff9f434c16cd46d2c66763ce85d9d"}, + {file = "mypy-1.8.0.tar.gz", hash = "sha256:6ff8b244d7085a0b425b56d327b480c3b29cafbd2eff27316a004f9a7391ae07"}, ] [package.dependencies] @@ -1289,6 +1289,7 @@ typing-extensions = ">=4.1.0" [package.extras] dmypy = ["psutil (>=4.0)"] install-types = ["pip"] +mypyc = ["setuptools (>=50)"] reports = ["lxml"] [[package]] From 9c0ce1af2738cdd5bb4a3cc703debdc4a6d3ad83 Mon Sep 17 00:00:00 2001 From: Michael Genson <71845777+michael-genson@users.noreply.github.com> Date: Thu, 11 Jan 2024 01:18:17 -0600 Subject: [PATCH 134/170] bump tzdata (#2976) --- poetry.lock | 8 ++++---- pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/poetry.lock b/poetry.lock index 4de164e2c537..6e69899a8dc6 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2643,13 +2643,13 @@ files = [ [[package]] name = "tzdata" -version = "2022.7" +version = "2023.4" description = "Provider of IANA time zone data" optional = false python-versions = ">=2" files = [ - {file = "tzdata-2022.7-py2.py3-none-any.whl", hash = "sha256:2b88858b0e3120792a3c0635c23daf36a7d7eeeca657c323da299d2094402a0d"}, - {file = "tzdata-2022.7.tar.gz", hash = "sha256:fe5f866eddd8b96e9fcba978f8e503c909b19ea7efda11e52e39494bad3a7bfa"}, + {file = "tzdata-2023.4-py2.py3-none-any.whl", hash = "sha256:aa3ace4329eeacda5b7beb7ea08ece826c28d761cda36e747cfbf97996d39bf3"}, + {file = "tzdata-2023.4.tar.gz", hash = "sha256:dd54c94f294765522c77399649b4fefd95522479a664a0cec87f41bebc6148c9"}, ] [[package]] @@ -2934,4 +2934,4 @@ pgsql = ["psycopg2-binary"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "b7d5c58d572a0d86e4b4fe609eecd180a708fe82e4b5800856b89e71d8e34bbc" +content-hash = "54d8863f2a22257c7900fa7005ba4fc02812c22cb3759adfdc1644ee0479f330" diff --git a/pyproject.toml b/pyproject.toml index 94cbd9cb461d..80549aa97e7e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,7 +38,7 @@ python-multipart = "^0.0.6" python-slugify = "^8.0.0" recipe-scrapers = "^14.53.0" requests = "^2.31.0" -tzdata = "^2022.7" +tzdata = "^2023.4" uvicorn = { extras = ["standard"], version = "^0.25.0" } beautifulsoup4 = "^4.11.2" isodate = "^0.6.1" From 58df50f624c19a79614b6389d9a34c26203bd01b Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Thu, 11 Jan 2024 17:03:08 -0600 Subject: [PATCH 135/170] fix: re-enable change user and fix SIGTERM (#2882) * re-enable change user * fix gosu and close #2723 --- docker/Dockerfile | 2 +- docker/entry.sh | 15 ++++++--------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 919d27b7d007..1e786291bd79 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -138,4 +138,4 @@ EXPOSE ${APP_PORT} COPY ./docker/entry.sh $MEALIE_HOME/run.sh RUN chmod +x $MEALIE_HOME/run.sh -ENTRYPOINT $MEALIE_HOME/run.sh +ENTRYPOINT ["/app/run.sh"] diff --git a/docker/entry.sh b/docker/entry.sh index 9bbddf1ecf3a..2754ddecfec4 100644 --- a/docker/entry.sh +++ b/docker/entry.sh @@ -1,13 +1,10 @@ -# Start Backend API #!/bin/bash - -# Strict Mode -# set -e -# IFS=$'\n\t' +# Start Backend API # Get PUID/PGID PUID=${PUID:-911} PGID=${PGID:-911} +BASH_SOURCE=${BASH_SOURCE:-$0} add_user() { groupmod -o -g "$PGID" abc @@ -22,7 +19,7 @@ change_user() { echo "Switching to dedicated user" exec gosu $PUID "$BASH_SOURCE" "$@" - elif [ "$(id -u)" = $PUID ]; then + elif [ "$(id -u)" = $PUID ]; then echo " User uid: $PUID User gid: $PGID @@ -41,7 +38,7 @@ init() { poetry run python /app/mealie/db/init_db.py } -# change_user +change_user init GUNICORN_PORT=${API_PORT:-9000} @@ -49,7 +46,7 @@ GUNICORN_PORT=${API_PORT:-9000} hostip=`/sbin/ip route|awk '/default/ { print $3 }'` if [ "$WEB_GUNICORN" = 'true' ]; then echo "Starting Gunicorn" - gunicorn mealie.app:app -b 0.0.0.0:$GUNICORN_PORT --forwarded-allow-ips=$hostip -k uvicorn.workers.UvicornWorker -c /app/gunicorn_conf.py --preload + exec gunicorn mealie.app:app -b 0.0.0.0:$GUNICORN_PORT --forwarded-allow-ips=$hostip -k uvicorn.workers.UvicornWorker -c /app/gunicorn_conf.py --preload else - uvicorn mealie.app:app --host 0.0.0.0 --forwarded-allow-ips=$hostip --port $GUNICORN_PORT + exec uvicorn mealie.app:app --host 0.0.0.0 --forwarded-allow-ips=$hostip --port $GUNICORN_PORT fi From 21c4ba54a57e9bf0934b1370194aea44f35d64c4 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Thu, 11 Jan 2024 17:11:42 -0600 Subject: [PATCH 136/170] fix: docker health checks (#2979) --- mealie/scripts/healthcheck.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mealie/scripts/healthcheck.py b/mealie/scripts/healthcheck.py index 9b1f36475c6a..135daeb66855 100644 --- a/mealie/scripts/healthcheck.py +++ b/mealie/scripts/healthcheck.py @@ -1,4 +1,5 @@ import os +import sys import requests @@ -14,9 +15,9 @@ def main(): r = requests.get(url) if r.status_code == 200: - exit(0) + sys.exit(0) else: - exit(1) + sys.exit(1) if __name__ == "__main__": From 940df92222597843893d0b28f0d5818fa6ed62d1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 11 Jan 2024 17:38:46 -0600 Subject: [PATCH 137/170] chore(deps): update dependency ruff to v0.1.12 (#2978) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- poetry.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/poetry.lock b/poetry.lock index 6e69899a8dc6..3fb476a21ae3 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2371,28 +2371,28 @@ pyasn1 = ">=0.1.3" [[package]] name = "ruff" -version = "0.1.11" +version = "0.1.12" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.1.11-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:a7f772696b4cdc0a3b2e527fc3c7ccc41cdcb98f5c80fdd4f2b8c50eb1458196"}, - {file = "ruff-0.1.11-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:934832f6ed9b34a7d5feea58972635c2039c7a3b434fe5ba2ce015064cb6e955"}, - {file = "ruff-0.1.11-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea0d3e950e394c4b332bcdd112aa566010a9f9c95814844a7468325290aabfd9"}, - {file = "ruff-0.1.11-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9bd4025b9c5b429a48280785a2b71d479798a69f5c2919e7d274c5f4b32c3607"}, - {file = "ruff-0.1.11-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1ad00662305dcb1e987f5ec214d31f7d6a062cae3e74c1cbccef15afd96611d"}, - {file = "ruff-0.1.11-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:4b077ce83f47dd6bea1991af08b140e8b8339f0ba8cb9b7a484c30ebab18a23f"}, - {file = "ruff-0.1.11-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4a88efecec23c37b11076fe676e15c6cdb1271a38f2b415e381e87fe4517f18"}, - {file = "ruff-0.1.11-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5b25093dad3b055667730a9b491129c42d45e11cdb7043b702e97125bcec48a1"}, - {file = "ruff-0.1.11-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:231d8fb11b2cc7c0366a326a66dafc6ad449d7fcdbc268497ee47e1334f66f77"}, - {file = "ruff-0.1.11-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:09c415716884950080921dd6237767e52e227e397e2008e2bed410117679975b"}, - {file = "ruff-0.1.11-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:0f58948c6d212a6b8d41cd59e349751018797ce1727f961c2fa755ad6208ba45"}, - {file = "ruff-0.1.11-py3-none-musllinux_1_2_i686.whl", hash = "sha256:190a566c8f766c37074d99640cd9ca3da11d8deae2deae7c9505e68a4a30f740"}, - {file = "ruff-0.1.11-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:6464289bd67b2344d2a5d9158d5eb81025258f169e69a46b741b396ffb0cda95"}, - {file = "ruff-0.1.11-py3-none-win32.whl", hash = "sha256:9b8f397902f92bc2e70fb6bebfa2139008dc72ae5177e66c383fa5426cb0bf2c"}, - {file = "ruff-0.1.11-py3-none-win_amd64.whl", hash = "sha256:eb85ee287b11f901037a6683b2374bb0ec82928c5cbc984f575d0437979c521a"}, - {file = "ruff-0.1.11-py3-none-win_arm64.whl", hash = "sha256:97ce4d752f964ba559c7023a86e5f8e97f026d511e48013987623915431c7ea9"}, - {file = "ruff-0.1.11.tar.gz", hash = "sha256:f9d4d88cb6eeb4dfe20f9f0519bd2eaba8119bde87c3d5065c541dbae2b5a2cb"}, + {file = "ruff-0.1.12-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:544038693543c11edc56bb94a9875df2dc249e3616f90c15964c720dcccf0745"}, + {file = "ruff-0.1.12-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:8a0e3ef6299c4eab75a7740730e4b4bd4a36e0bd8102ded01553403cad088fd4"}, + {file = "ruff-0.1.12-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:47f6d939461e3273f10f4cd059fd0b83c249d73f1736032fffbac83a62939395"}, + {file = "ruff-0.1.12-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25be18abc1fc3f3d3fb55855c41ed5d52063316defde202f413493bb3888218c"}, + {file = "ruff-0.1.12-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d41e9f100b50526d80b076fc9c103c729387ff3f10f63606ed1038c30a372a40"}, + {file = "ruff-0.1.12-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:472a0548738d4711549c7874b43fab61aacafb1fede29c5232d4cfb8e2d13f69"}, + {file = "ruff-0.1.12-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46685ef2f106b827705df876d38617741ed4f858bbdbc0817f94476c45ab6669"}, + {file = "ruff-0.1.12-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cf6073749c70b616d7929897b14824ec6713a6c3a8195dfd2ffdcc66594d880c"}, + {file = "ruff-0.1.12-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4bdf26e5a2efab4c3aaf6b61648ea47a525dc12775810a85c285dc9ca03e5ac0"}, + {file = "ruff-0.1.12-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:b631c6a95e4b6d5c4299e599067b5a89f5b18e2f2d9a6c22b879b3c4b077c96e"}, + {file = "ruff-0.1.12-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:f193f460e231e63af5fc7516897cf5ab257cbda72ae83cf9a654f1c80c3b758a"}, + {file = "ruff-0.1.12-py3-none-musllinux_1_2_i686.whl", hash = "sha256:718523c3a0b787590511f212d30cc9b194228ef369c8bdd72acd1282cc27c468"}, + {file = "ruff-0.1.12-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:1c49e826de55d81a6ef93808b760925e492bad7cc470aaa114a3be158b2c7f99"}, + {file = "ruff-0.1.12-py3-none-win32.whl", hash = "sha256:fbb1c002eeacb60161e51d77b2274c968656599477a1c8c65066953276e8ee2b"}, + {file = "ruff-0.1.12-py3-none-win_amd64.whl", hash = "sha256:7fe06ba77e5b7b78db1d058478c47176810f69bb5be7c1b0d06876af59198203"}, + {file = "ruff-0.1.12-py3-none-win_arm64.whl", hash = "sha256:bb29f8e3e6c95024902eaec5a9ce1fd5ac4e77f4594f4554e67fbb0f6d9a2f37"}, + {file = "ruff-0.1.12.tar.gz", hash = "sha256:97189f38c655e573f6bea0d12e9f18aad5539fd08ab50651449450999f45383a"}, ] [[package]] From 5418223425f0e5256a9c8ef96251c9ef2575b4e8 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Thu, 11 Jan 2024 21:35:38 -0600 Subject: [PATCH 138/170] New translations en-us.json (Hungarian) (#2981) --- frontend/lang/messages/hu-HU.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/lang/messages/hu-HU.json b/frontend/lang/messages/hu-HU.json index 082c150dac57..63eefb351976 100644 --- a/frontend/lang/messages/hu-HU.json +++ b/frontend/lang/messages/hu-HU.json @@ -533,8 +533,8 @@ "new-recipe-names-must-be-unique": "Az új recept nevének egyedinek kell lennie", "scrape-recipe": "Recept kinyerése", "scrape-recipe-description": "Recept (adatok) kinyerése Url alapján. Adja meg a beolvasni kívánt oldal Url-címét, és Mealie megpróbálja beolvasni a receptet az adott oldalról, majd hozzáadja azt gyűjteményéhez.", - "scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?", - "scrape-recipe-suggest-bulk-importer": "Try out the bulk importer", + "scrape-recipe-have-a-lot-of-recipes": "Sok receptje van, amit egyszerre szeretne átvenni?", + "scrape-recipe-suggest-bulk-importer": "Próbálja ki a tömeges importálót", "import-original-keywords-as-tags": "Eredeti kulcsszavak importálása címkeként", "stay-in-edit-mode": "Maradjon Szerkesztés módban", "import-from-zip": "Importálás ZIP-ből", From e7eb2a8dc52ea471f43d229ef93b85cf18d9cb13 Mon Sep 17 00:00:00 2001 From: Guillaume <46498821+guiguir68@users.noreply.github.com> Date: Fri, 12 Jan 2024 17:04:08 +0100 Subject: [PATCH 139/170] Fixing typo in ghcr.io domain (#2982) --- .../getting-started/installation/installation-checklist.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs/documentation/getting-started/installation/installation-checklist.md b/docs/docs/documentation/getting-started/installation/installation-checklist.md index 2391d2d3a01d..7155987bb24a 100644 --- a/docs/docs/documentation/getting-started/installation/installation-checklist.md +++ b/docs/docs/documentation/getting-started/installation/installation-checklist.md @@ -107,11 +107,11 @@ See all available tags on [GitHub](https://github.com/mealie-recipes/mealie/pkgs The nightly build are the latest and greatest builds that are built directly off of every commit to the `mealie-next` branch and as such may contain bugs. These are great to help the community catch bugs before they hit the stable release or if you like living on the edge. -`ghrc.io/mealie-recipes/mealie:` +`ghcr.io/mealie-recipes/mealie:` We also provide versioned containers that allow to pin to a specific release. Each time a new release is built a new tag will be pushed with the version. These are great to pin to a specific version and allows you to have absolute control on when you upgrade your container. -`ghrc.io/mealie-recipes/mealie:latest` +`ghcr.io/mealie-recipes/mealie:latest` _Note: This tag is not yet available; it will be available with the v1 stable release_ From 631500a574a7a9b642758440744c9f9c21684676 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 12 Jan 2024 10:15:14 -0600 Subject: [PATCH 140/170] chore(deps): update dependency ruff to v0.1.13 (#2983) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- poetry.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/poetry.lock b/poetry.lock index 3fb476a21ae3..de40a8912c8a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2371,28 +2371,28 @@ pyasn1 = ">=0.1.3" [[package]] name = "ruff" -version = "0.1.12" +version = "0.1.13" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.1.12-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:544038693543c11edc56bb94a9875df2dc249e3616f90c15964c720dcccf0745"}, - {file = "ruff-0.1.12-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:8a0e3ef6299c4eab75a7740730e4b4bd4a36e0bd8102ded01553403cad088fd4"}, - {file = "ruff-0.1.12-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:47f6d939461e3273f10f4cd059fd0b83c249d73f1736032fffbac83a62939395"}, - {file = "ruff-0.1.12-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25be18abc1fc3f3d3fb55855c41ed5d52063316defde202f413493bb3888218c"}, - {file = "ruff-0.1.12-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d41e9f100b50526d80b076fc9c103c729387ff3f10f63606ed1038c30a372a40"}, - {file = "ruff-0.1.12-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:472a0548738d4711549c7874b43fab61aacafb1fede29c5232d4cfb8e2d13f69"}, - {file = "ruff-0.1.12-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46685ef2f106b827705df876d38617741ed4f858bbdbc0817f94476c45ab6669"}, - {file = "ruff-0.1.12-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cf6073749c70b616d7929897b14824ec6713a6c3a8195dfd2ffdcc66594d880c"}, - {file = "ruff-0.1.12-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4bdf26e5a2efab4c3aaf6b61648ea47a525dc12775810a85c285dc9ca03e5ac0"}, - {file = "ruff-0.1.12-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:b631c6a95e4b6d5c4299e599067b5a89f5b18e2f2d9a6c22b879b3c4b077c96e"}, - {file = "ruff-0.1.12-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:f193f460e231e63af5fc7516897cf5ab257cbda72ae83cf9a654f1c80c3b758a"}, - {file = "ruff-0.1.12-py3-none-musllinux_1_2_i686.whl", hash = "sha256:718523c3a0b787590511f212d30cc9b194228ef369c8bdd72acd1282cc27c468"}, - {file = "ruff-0.1.12-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:1c49e826de55d81a6ef93808b760925e492bad7cc470aaa114a3be158b2c7f99"}, - {file = "ruff-0.1.12-py3-none-win32.whl", hash = "sha256:fbb1c002eeacb60161e51d77b2274c968656599477a1c8c65066953276e8ee2b"}, - {file = "ruff-0.1.12-py3-none-win_amd64.whl", hash = "sha256:7fe06ba77e5b7b78db1d058478c47176810f69bb5be7c1b0d06876af59198203"}, - {file = "ruff-0.1.12-py3-none-win_arm64.whl", hash = "sha256:bb29f8e3e6c95024902eaec5a9ce1fd5ac4e77f4594f4554e67fbb0f6d9a2f37"}, - {file = "ruff-0.1.12.tar.gz", hash = "sha256:97189f38c655e573f6bea0d12e9f18aad5539fd08ab50651449450999f45383a"}, + {file = "ruff-0.1.13-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:e3fd36e0d48aeac672aa850045e784673449ce619afc12823ea7868fcc41d8ba"}, + {file = "ruff-0.1.13-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:9fb6b3b86450d4ec6a6732f9f60c4406061b6851c4b29f944f8c9d91c3611c7a"}, + {file = "ruff-0.1.13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b13ba5d7156daaf3fd08b6b993360a96060500aca7e307d95ecbc5bb47a69296"}, + {file = "ruff-0.1.13-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9ebb40442f7b531e136d334ef0851412410061e65d61ca8ce90d894a094feb22"}, + {file = "ruff-0.1.13-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:226b517f42d59a543d6383cfe03cccf0091e3e0ed1b856c6824be03d2a75d3b6"}, + {file = "ruff-0.1.13-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:5f0312ba1061e9b8c724e9a702d3c8621e3c6e6c2c9bd862550ab2951ac75c16"}, + {file = "ruff-0.1.13-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2f59bcf5217c661254bd6bc42d65a6fd1a8b80c48763cb5c2293295babd945dd"}, + {file = "ruff-0.1.13-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e6894b00495e00c27b6ba61af1fc666f17de6140345e5ef27dd6e08fb987259d"}, + {file = "ruff-0.1.13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a1600942485c6e66119da294c6294856b5c86fd6df591ce293e4a4cc8e72989"}, + {file = "ruff-0.1.13-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:ee3febce7863e231a467f90e681d3d89210b900d49ce88723ce052c8761be8c7"}, + {file = "ruff-0.1.13-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:dcaab50e278ff497ee4d1fe69b29ca0a9a47cd954bb17963628fa417933c6eb1"}, + {file = "ruff-0.1.13-py3-none-musllinux_1_2_i686.whl", hash = "sha256:f57de973de4edef3ad3044d6a50c02ad9fc2dff0d88587f25f1a48e3f72edf5e"}, + {file = "ruff-0.1.13-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:7a36fa90eb12208272a858475ec43ac811ac37e91ef868759770b71bdabe27b6"}, + {file = "ruff-0.1.13-py3-none-win32.whl", hash = "sha256:a623349a505ff768dad6bd57087e2461be8db58305ebd5577bd0e98631f9ae69"}, + {file = "ruff-0.1.13-py3-none-win_amd64.whl", hash = "sha256:f988746e3c3982bea7f824c8fa318ce7f538c4dfefec99cd09c8770bd33e6539"}, + {file = "ruff-0.1.13-py3-none-win_arm64.whl", hash = "sha256:6bbbc3042075871ec17f28864808540a26f0f79a4478c357d3e3d2284e832998"}, + {file = "ruff-0.1.13.tar.gz", hash = "sha256:e261f1baed6291f434ffb1d5c6bd8051d1c2a26958072d38dfbec39b3dda7352"}, ] [[package]] From 4357c37d22a06e87a63fb3620411422d84d10639 Mon Sep 17 00:00:00 2001 From: RealFoxie <52831920+RealFoxie@users.noreply.github.com> Date: Sat, 13 Jan 2024 16:45:59 +0100 Subject: [PATCH 141/170] Add extra button "Next step" to ingredient linker dialog (#2920) * Add "next step" button to ingredient linker dialog clicking button will save current step ingredient links and show the next step in the dialog * unload ingredient linker dialog to reset scroll position * cleanup forward button in linking ingredients dialog * add vertical spacing between buttons on smaller screens - recipe linker dialog * align buttons equally to match alignment of `cancel` --------- Co-authored-by: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com> --- .../RecipePageInstructions.vue | 29 +++++++++++++++++-- frontend/lang/messages/en-US.json | 3 +- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/frontend/components/Domain/Recipe/RecipePage/RecipePageParts/RecipePageInstructions.vue b/frontend/components/Domain/Recipe/RecipePage/RecipePageParts/RecipePageInstructions.vue index cb8e9732ad92..cba6d795764b 100644 --- a/frontend/components/Domain/Recipe/RecipePage/RecipePageParts/RecipePageInstructions.vue +++ b/frontend/components/Domain/Recipe/RecipePage/RecipePageParts/RecipePageInstructions.vue @@ -1,7 +1,7 @@