Feature/improve localization (#1147)

* use locale to set language header

* rewrite i18n provider and drop dependency

* rename file

* rename CrudMixin to HttpRepo

* refactor: code-cleanup

* add crowdin source

* remove unused translations

* grab translations from dev branch

* add translation support for foods, units, and labels

* remove rich import
This commit is contained in:
Hayden 2022-04-10 14:07:35 -08:00 committed by GitHub
parent db095656e1
commit 7866f0f46e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
71 changed files with 4736 additions and 3642 deletions

View File

@ -4,3 +4,15 @@ files:
translation: /frontend/src/locales/messages/%locale%.json translation: /frontend/src/locales/messages/%locale%.json
- source: /frontend/src/locales/dateTimeFormats/en-US.json - source: /frontend/src/locales/dateTimeFormats/en-US.json
translation: /frontend/src/locales/dateTimeFormats/%locale%.json translation: /frontend/src/locales/dateTimeFormats/%locale%.json
# Backend General Messages
- source: /mealie/lang/messages/en-US.json
translation: /mealie/lang/messages/%locale%.json
# Resource Files
- source: /mealie/repos/seed/resources/foods/en-US.json
translation: /mealie/repos/seed/resources/foods/%locale%.json
- source: /mealie/repos/seed/resources/units/en-US.json
translation: /mealie/repos/seed/resources/units/%locale%.json
- source: /mealie/repos/seed/resources/labels/en-US.json
translation: /mealie/repos/seed/resources/labels/%locale%.json

View File

@ -53,13 +53,18 @@ function getRequests(axiosInstance: NuxtAxiosInstance): ApiRequestInstance {
} }
export const useAdminApi = function (): AdminAPI { export const useAdminApi = function (): AdminAPI {
const { $axios } = useContext(); const { $axios, i18n } = useContext();
$axios.setHeader("Accept-Language", i18n.locale);
const requests = getRequests($axios); const requests = getRequests($axios);
return new AdminAPI(requests); return new AdminAPI(requests);
}; };
export const useUserApi = function (): Api { export const useUserApi = function (): Api {
const { $axios } = useContext(); const { $axios, i18n } = useContext();
$axios.setHeader("Accept-Language", i18n.locale);
const requests = getRequests($axios); const requests = getRequests($axios);
return new Api(requests); return new Api(requests);

View File

@ -5,7 +5,8 @@ import { AppInfo } from "~/types/api-types/admin";
export function useAppInfo(): Ref<AppInfo | null> { export function useAppInfo(): Ref<AppInfo | null> {
const appInfo = ref<null | AppInfo>(null); const appInfo = ref<null | AppInfo>(null);
const { $axios } = useContext(); const { $axios, i18n } = useContext();
$axios.setHeader("Accept-Language", i18n.locale);
useAsync(async () => { useAsync(async () => {
const data = await $axios.get<AppInfo>("/api/app/about"); const data = await $axios.get<AppInfo>("/api/app/about");

View File

@ -1,44 +0,0 @@
{
"backup-create-failed": "Backup Create Failed",
"backup-update-failed": "Backup Update Failed",
"backup-delete-failed": "Backup Delete Failed",
"cookbook-create-failed": "Cookbook Create Failed",
"cookbook-update-failed": "Cookbook Update Failed",
"cookbook-delete-failed": "Cookbook Delete Failed",
"event-create-failed": "Event Create Failed",
"event-update-failed": "Event Update Failed",
"event-delete-failed": "Event Delete Failed",
"food-create-failed": "Food Create Failed",
"food-update-failed": "Food Update Failed",
"food-delete-failed": "Food Delete Failed",
"group-create-failed": "Group Create Failed",
"group-update-failed": "Group Update Failed",
"group-delete-failed": "Group Delete Failed",
"ingredient-create-failed": "Ingredient Create Failed",
"ingredient-update-failed": "Ingredient Update Failed",
"ingredient-delete-failed": "Ingredient Delete Failed",
"mealplan-create-failed": "Mealplan Create Failed",
"mealplan-update-failed": "Mealplan Update Failed",
"mealplan-delete-failed": "Mealplan Delete Failed",
"migration-create-failed": "Migration Create Failed",
"migration-update-failed": "Migration Update Failed",
"migration-delete-failed": "Migration Delete Failed",
"recipe-create-failed": "Recipe Create Failed",
"recipe-update-failed": "Recipe Update Failed",
"recipe-delete-failed": "Recipe Delete Failed",
"scraper-create-failed": "Scraper Create Failed",
"scraper-update-failed": "Scraper Update Failed",
"scraper-delete-failed": "Scraper Delete Failed",
"token-create-failed": "Token Create Failed",
"token-update-failed": "Token Update Failed",
"token-delete-failed": "Token Delete Failed",
"unit-create-failed": "Unit Create Failed",
"unit-update-failed": "Unit Update Failed",
"unit-delete-failed": "Unit Delete Failed",
"user-create-failed": "User Create Failed",
"user-update-failed": "User Update Failed",
"user-delete-failed": "User Delete Failed",
"webhook-create-failed": "Webhook Create Failed",
"webhook-update-failed": "Webhook Update Failed",
"webhook-delete-failed": "Webhook Delete Failed"
}

View File

@ -1,45 +1,45 @@
{ {
"about": { "about": {
"about": "About", "about": "حول",
"about-mealie": "About Mealie", "about-mealie": "حول Mealie",
"api-docs": "API Docs", "api-docs": "مستندات API",
"api-port": "API Port", "api-port": "API Port",
"application-mode": "Application Mode", "application-mode": "وضع التطبيق",
"database-type": "Database Type", "database-type": "نوع قاعدة البيانات",
"database-url": "Database URL", "database-url": "رابط قاعدة البيانات",
"default-group": "Default Group", "default-group": "المجموعة الافتراضية",
"demo": "Demo", "demo": "عرض تجريبي",
"demo-status": "Demo Status", "demo-status": "حالة العرض تجريبي",
"development": "Development", "development": "تطوير",
"docs": "Docs", "docs": "المستندات",
"download-log": "Download Log", "download-log": "تحميل السجل",
"download-recipe-json": "Last Scraped JSON", "download-recipe-json": "Last Scraped JSON",
"github": "Github", "github": "Github",
"log-lines": "Log Lines", "log-lines": "Log Lines",
"not-demo": "Not Demo", "not-demo": "ليس عرض تجريبي",
"portfolio": "Portfolio", "portfolio": "Portfolio",
"production": "Production", "production": "الإنتاج",
"support": "Support", "support": "الدعم",
"version": "Version" "version": "الإصدار"
}, },
"asset": { "asset": {
"assets": "Assets", "assets": "الأصول",
"code": "Code", "code": "الكود",
"file": "File", "file": "ملف",
"image": "Image", "image": "صورة",
"new-asset": "New Asset", "new-asset": "أصول جديدة",
"pdf": "PDF", "pdf": "PDF",
"recipe": "Recipe", "recipe": "وصفة",
"show-assets": "Show Assets" "show-assets": "إظهار الأصول"
}, },
"category": { "category": {
"category-created": "Category created", "category-created": "تم انشاء الفئة",
"category-creation-failed": "Category creation failed", "category-creation-failed": "فشل إنشاء الفئة",
"category-deleted": "Category Deleted", "category-deleted": "تم حذف الفئة",
"category-deletion-failed": "Category deletion failed", "category-deletion-failed": "فشل حذف الفئة",
"category-filter": "Category Filter", "category-filter": "Category Filter",
"category-update-failed": "Category update failed", "category-update-failed": "فشل تحديث الفئة",
"category-updated": "Category updated", "category-updated": "تم تحديث الفئة",
"uncategorized-count": "Uncategorized {count}" "uncategorized-count": "Uncategorized {count}"
}, },
"events": { "events": {
@ -486,4 +486,4 @@
"you-are-not-allowed-to-create-a-user": "You are not allowed to create a user", "you-are-not-allowed-to-create-a-user": "You are not allowed to create a user",
"you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user" "you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user"
} }
} }

View File

@ -1,489 +1,489 @@
{ {
"about": { "about": {
"about": "About", "about": "Quant a",
"about-mealie": "Quant a Mealie", "about-mealie": "Quant a Mealie",
"api-docs": "Documentació de l'API", "api-docs": "Documentació de l'API",
"api-port": "Port de l'API", "api-port": "Port de l'API",
"application-mode": "Application Mode", "application-mode": "Mode",
"database-type": "Database Type", "database-type": "Tipus de base de dades",
"database-url": "Database URL", "database-url": "URL del servidor de base de dades",
"default-group": "Default Group", "default-group": "Grup per defecte",
"demo": "Demo", "demo": "Demo",
"demo-status": "Demo Status", "demo-status": "Estat",
"development": "Development", "development": "Desenvolupament",
"docs": "Docs", "docs": "Documentació",
"download-log": "Download Log", "download-log": "Descarregueu el registre",
"download-recipe-json": "Last Scraped JSON", "download-recipe-json": "Últim JSON recuperat",
"github": "Github", "github": "Github",
"log-lines": "Log Lines", "log-lines": "Registre Línies",
"not-demo": "Not Demo", "not-demo": "No Demo",
"portfolio": "Portfolio", "portfolio": "Projectes",
"production": "Production", "production": "Producció",
"support": "Support", "support": "Suport",
"version": "Version" "version": "Versió"
}, },
"asset": { "asset": {
"assets": "Assets", "assets": "Adjunts",
"code": "Code", "code": "Codi font",
"file": "File", "file": "Arxiu",
"image": "Image", "image": "Imatge",
"new-asset": "New Asset", "new-asset": "Afegiu un adjunt",
"pdf": "PDF", "pdf": "PDF",
"recipe": "Recipe", "recipe": "Recepta",
"show-assets": "Show Assets" "show-assets": "Mostra els adjunts"
}, },
"category": { "category": {
"category-created": "Category created", "category-created": "S'ha creat la categoria",
"category-creation-failed": "Category creation failed", "category-creation-failed": "S'ha produït un error al crear la categoria",
"category-deleted": "Category Deleted", "category-deleted": "S'ha suprimit la categoria",
"category-deletion-failed": "Category deletion failed", "category-deletion-failed": "S'ha produït un error al eliminar la categoria",
"category-filter": "Category Filter", "category-filter": "Filtre per categoria",
"category-update-failed": "Category update failed", "category-update-failed": "S'ha produït un error a l'actualitzar la categoria",
"category-updated": "Category updated", "category-updated": "S'ha actualitzat la categoria",
"uncategorized-count": "Uncategorized {count}" "uncategorized-count": "{count} sense categoritzar"
}, },
"events": { "events": {
"apprise-url": "Apprise URL", "apprise-url": "Apprise URL",
"database": "Database", "database": "Base de Dades",
"delete-event": "Delete Event", "delete-event": "Suprimiu l'esdeveniment",
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.", "new-notification-form-description": "Mealie utilitza la llibreria Apprise per a generar notificacions. Ofereix moltes opcions de serveis de notificació. A la seua wiki, disposeu de guies d'ús i informació per a crear l'URL al vostre servei. Si està disponible, al seleccionar el tipus de notificació, pot incloure funcions adicionals.",
"new-version": "New version available!", "new-version": "Hi ha una nova versió disponible!",
"notification": "Notification", "notification": "Notificacions",
"refresh": "Refresh", "refresh": "Recarrega",
"scheduled": "Scheduled", "scheduled": "Programat",
"something-went-wrong": "Something Went Wrong!", "something-went-wrong": "Alguna cosa ha anat malament!",
"subscribed-events": "Subscribed Events", "subscribed-events": "Esdeveniments subscrits",
"test-message-sent": "Test Message Sent" "test-message-sent": "S'ha enviat el missatge"
}, },
"general": { "general": {
"cancel": "Cancel", "cancel": "Anuŀla",
"clear": "Clear", "clear": "Neteja",
"close": "Close", "close": "Tanca",
"confirm": "Confirm", "confirm": "Confirma",
"confirm-delete-generic": "Are you sure you want to delete this?", "confirm-delete-generic": "Esteu segur de voler suprimir-lo?",
"copied": "Copied", "copied": "S'ha copiat",
"create": "Create", "create": "Crea",
"created": "Created", "created": "S'ha creat",
"custom": "Custom", "custom": "Personalitzat",
"dashboard": "Dashboard", "dashboard": "Tauler de control",
"delete": "Delete", "delete": "Suprimeix",
"disabled": "Disabled", "disabled": "Desactivat",
"download": "Download", "download": "Baixal",
"edit": "Edit", "edit": "Edita",
"enabled": "Enabled", "enabled": "Activat",
"exception": "Exception", "exception": "Excepció",
"failed-count": "Failed: {count}", "failed-count": "Han fallat: {count}",
"failure-uploading-file": "Failure uploading file", "failure-uploading-file": "No s'ha pogut pujar l'arxiu",
"favorites": "Favorites", "favorites": "Preferides",
"field-required": "Field Required", "field-required": "Camp obligatori",
"file-folder-not-found": "File/folder not found", "file-folder-not-found": "No s'ha trobat la carpeta o l'arxiu",
"file-uploaded": "File uploaded", "file-uploaded": "S'ha pujat l'arxiu",
"filter": "Filter", "filter": "Filtre",
"friday": "Friday", "friday": "Divendres",
"general": "General", "general": "General",
"get": "Get", "get": "Obté",
"home": "Home", "home": "Inici",
"image": "Image", "image": "Imatge",
"image-upload-failed": "Image upload failed", "image-upload-failed": "No s'ha pogut pujar la imatge",
"import": "Import", "import": "Importa",
"json": "JSON", "json": "JSON",
"keyword": "Keyword", "keyword": "Paraula clau",
"link-copied": "Link Copied", "link-copied": "S'ha copiat l'enllaç",
"loading-recipes": "Loading Recipes", "loading-recipes": "Carregant les receptes",
"monday": "Monday", "monday": "Dilluns",
"name": "Name", "name": "Nom",
"new": "New", "new": "Nou",
"no": "No", "no": "No",
"no-recipe-found": "No Recipe Found", "no-recipe-found": "No s'han trobat receptes",
"ok": "OK", "ok": "D'acord",
"options": "Options:", "options": "Opcions:",
"print": "Print", "print": "Imprimiu",
"random": "Random", "random": "Aleatori",
"rating": "Rating", "rating": "Valoració",
"recent": "Recent", "recent": "Recent",
"recipe": "Recipe", "recipe": "Recepta",
"recipes": "Recipes", "recipes": "Receptes",
"rename-object": "Rename {0}", "rename-object": "Canvia de nom {0}",
"reset": "Reset", "reset": "Restableix",
"saturday": "Saturday", "saturday": "Dissabte",
"save": "Save", "save": "Desa",
"settings": "Settings", "settings": "Configuració",
"share": "Share", "share": "Compartiu",
"shuffle": "Shuffle", "shuffle": "Barreja",
"sort": "Sort", "sort": "Ordena",
"sort-alphabetically": "Alphabetical", "sort-alphabetically": "Alfabèticament",
"status": "Status", "status": "Estat",
"submit": "Submit", "submit": "Envia",
"success-count": "Success: {count}", "success-count": "Amb èxit: {count}",
"sunday": "Sunday", "sunday": "Diumenge",
"templates": "Templates:", "templates": "Plantilles:",
"test": "Test", "test": "Prova",
"themes": "Themes", "themes": "Temes",
"thursday": "Thursday", "thursday": "Dijous",
"token": "Token", "token": "Token",
"tuesday": "Tuesday", "tuesday": "Dimarts",
"type": "Type", "type": "Tipus",
"update": "Update", "update": "Actualitza",
"updated": "Updated", "updated": "S'ha actualitzat",
"upload": "Upload", "upload": "Puja",
"url": "URL", "url": "Adreça",
"view": "View", "view": "Mostra",
"wednesday": "Wednesday", "wednesday": "Dimecres",
"yes": "Yes" "yes": ""
}, },
"group": { "group": {
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?", "are-you-sure-you-want-to-delete-the-group": "Esteu segur de voler suprimir el grup <b>{groupName}<b/>?",
"cannot-delete-default-group": "Cannot delete default group", "cannot-delete-default-group": "No s'ha pogut suprimir el grup",
"cannot-delete-group-with-users": "Cannot delete group with users", "cannot-delete-group-with-users": "No es pot suprimir un grup amb usuaris",
"confirm-group-deletion": "Confirm Group Deletion", "confirm-group-deletion": "Confirma l'eliminació del grup",
"create-group": "Create Group", "create-group": "Crea un grup",
"error-updating-group": "Error updating group", "error-updating-group": "Sha produït un error a l'actualitzar el grup",
"group": "Group", "group": "Grup",
"group-deleted": "Group deleted", "group-deleted": "S'ha suprimir el grup",
"group-deletion-failed": "Group deletion failed", "group-deletion-failed": "S'ha produït un error al suprimir el grup",
"group-id-with-value": "Group ID: {groupID}", "group-id-with-value": "Identificador del grup: {groupID}",
"group-name": "Group Name", "group-name": "Nom del grup",
"group-not-found": "Group not found", "group-not-found": "No s'ha trobat el grup",
"group-with-value": "Group: {groupID}", "group-with-value": "Grup: {groupID}",
"groups": "Groups", "groups": "Grups",
"manage-groups": "Manage Groups", "manage-groups": "Gestiona els grups",
"user-group": "User Group", "user-group": "Grup",
"user-group-created": "User Group Created", "user-group-created": "S'ha creat el grup de l'usuari",
"user-group-creation-failed": "User Group Creation Failed" "user-group-creation-failed": "Ha fallat la creación del grup de l'usuari"
}, },
"meal-plan": { "meal-plan": {
"create-a-new-meal-plan": "Create a New Meal Plan", "create-a-new-meal-plan": "Crea un nou menú",
"dinner-this-week": "Dinner This Week", "dinner-this-week": "Sopar d'esta setmana",
"dinner-today": "Dinner Today", "dinner-today": "Sopar per a hui",
"dinner-tonight": "DINNER TONIGHT", "dinner-tonight": "Sopar d'esta nit",
"edit-meal-plan": "Edit Meal Plan", "edit-meal-plan": "Edita el menú",
"end-date": "End Date", "end-date": "Data de finalització",
"group": "Group (Beta)", "group": "Agrupa (en proves)",
"main": "Main", "main": "Principal",
"meal-planner": "Meal Planner", "meal-planner": "Planificador de menús",
"meal-plans": "Meal Plans", "meal-plans": "Menús",
"mealplan-categories": "MEALPLAN CATEGORIES", "mealplan-categories": "Categories dels menús",
"mealplan-created": "Mealplan created", "mealplan-created": "S'ha actualitzat el menú",
"mealplan-creation-failed": "Mealplan creation failed", "mealplan-creation-failed": "S'ha produït un error al crear el menú",
"mealplan-deleted": "Mealplan Deleted", "mealplan-deleted": "S'ha suprimir el menú",
"mealplan-deletion-failed": "Mealplan deletion failed", "mealplan-deletion-failed": "S'ha produït un error al suprimir el menú",
"mealplan-settings": "Mealplan Settings", "mealplan-settings": "Configuració del menú",
"mealplan-update-failed": "Mealplan update failed", "mealplan-update-failed": "S'ha produït un error a l'actualitzar el menú",
"mealplan-updated": "Mealplan Updated", "mealplan-updated": "S'ha actualitzat el menú",
"no-meal-plan-defined-yet": "No meal plan defined yet", "no-meal-plan-defined-yet": "No hi ha cap menú planificat",
"no-meal-planned-for-today": "No meal planned for today", "no-meal-planned-for-today": "No hi han cap menú per a hui",
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans", "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Només s'utilitzaran aquestes categories per als menús",
"planner": "Planner", "planner": "Planificador",
"quick-week": "Quick Week", "quick-week": "Pla ràpid",
"side": "Side", "side": "Guarnició",
"sides": "Sides", "sides": "Guarnicions",
"start-date": "Start Date" "start-date": "Data d'inici"
}, },
"migration": { "migration": {
"chowdown": { "chowdown": {
"description": "Migrate data from Chowdown", "description": "Migreu les dades de Chowdown",
"title": "Chowdown" "title": "Chowdown"
}, },
"migration-data-removed": "Migration data removed", "migration-data-removed": "S'han suprimit les dades migrades",
"nextcloud": { "nextcloud": {
"description": "Migrate data from a Nextcloud Cookbook instance", "description": "Migreu les dades del Cookbook de Nextcloud",
"title": "Nextcloud Cookbook" "title": "Nextcloud Cookbook"
}, },
"no-migration-data-available": "No Migration Data Available", "no-migration-data-available": "No hi han dades disponibles",
"recipe-migration": "Recipe Migration" "recipe-migration": "Migració de receptes"
}, },
"new-recipe": { "new-recipe": {
"bulk-add": "Bulk Add", "bulk-add": "Afegiu tot d'una",
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.", "error-details": "Mealie només pot importar els llocs web amb Id+json o microdata. Els principals llocs de receptes suporten aquesta estructura de les dades. Si no pot importar-les però hi ha dades json al registre, per favor, obriu un problema (issue) a GitHub amb l'URL i les dades. A GitHub només obriu problemes en anglés.",
"error-title": "Looks Like We Couldn't Find Anything", "error-title": "No hem pout trobar res",
"from-url": "Import a Recipe", "from-url": "Importa una recepta",
"github-issues": "GitHub Issues", "github-issues": "GitHub Issues",
"google-ld-json-info": "Google ld+json Info", "google-ld-json-info": "Google ld+json Info",
"must-be-a-valid-url": "Must be a Valid URL", "must-be-a-valid-url": "Ha de ser una URL vàlida",
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list", "paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Copieu en la recepta. Cada línia serà tractada com un element de la llista",
"recipe-markup-specification": "Recipe Markup Specification", "recipe-markup-specification": "Especificació Markup de la recepta",
"recipe-url": "Recipe URL", "recipe-url": "URL de la recepta",
"upload-a-recipe": "Upload a Recipe", "upload-a-recipe": "Puja una recepta",
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.", "upload-individual-zip-file": "Puja només un arxiu zip, exportat d'altre Mealie.",
"url-form-hint": "Copy and paste a link from your favorite recipe website", "url-form-hint": "Copia i enganxa l'enllaç del teu lloc web de receptes preferit",
"view-scraped-data": "View Scraped Data" "view-scraped-data": "Visualitza les dades recuperades"
}, },
"page": { "page": {
"404-page-not-found": "404 Page not found", "404-page-not-found": "Error 404 - No s'ha trobat la pàgina",
"all-recipes": "All Recipes", "all-recipes": "Totes les receptes",
"new-page-created": "New page created", "new-page-created": "S'ha creat una nova pàgina",
"page": "Page", "page": "Pàgina",
"page-creation-failed": "Page creation failed", "page-creation-failed": "S'ha produït un error al crear la pàgina",
"page-deleted": "Page deleted", "page-deleted": "S'ha suprimit la pàgina",
"page-deletion-failed": "Page deletion failed", "page-deletion-failed": "S'ha produït un error al suprimir la pàgina",
"page-update-failed": "Page update failed", "page-update-failed": "S'ha produït un error a l'actualitzar la pàgina",
"page-updated": "Page updated", "page-updated": "S'ha actualitzat la pàgina",
"pages-update-failed": "Pages update failed", "pages-update-failed": "S'ha produït un error a l'actualitzar les pàgines",
"pages-updated": "Pages updated" "pages-updated": "S'han actualitzat les pàgines"
}, },
"recipe": { "recipe": {
"add-key": "Add Key", "add-key": "Afegeix clau",
"add-to-favorites": "Add to Favorites", "add-to-favorites": "Afegeix a preferides",
"api-extras": "API Extras", "api-extras": "API Extras",
"calories": "Calories", "calories": "Calories",
"calories-suffix": "calories", "calories-suffix": "calories",
"carbohydrate-content": "Carbohydrate", "carbohydrate-content": "Carbohidrats",
"categories": "Categories", "categories": "Categories",
"comment-action": "Comment", "comment-action": "Comentari",
"comments": "Comments", "comments": "Comentaris",
"delete-confirmation": "Are you sure you want to delete this recipe?", "delete-confirmation": "Estàs segur que vols suprimir-la?",
"delete-recipe": "Delete Recipe", "delete-recipe": "Suprimeix la recepta",
"description": "Description", "description": "Descripció",
"disable-amount": "Disable Ingredient Amounts", "disable-amount": "Oculta les quantitats",
"disable-comments": "Disable Comments", "disable-comments": "Oculta els comentaris",
"fat-content": "Fat", "fat-content": "Greixos",
"fiber-content": "Fiber", "fiber-content": "Fibra",
"grams": "grams", "grams": "grams",
"ingredient": "Ingredient", "ingredient": "Ingredient",
"ingredients": "Ingredients", "ingredients": "Ingredients",
"insert-section": "Insert Section", "insert-section": "Insereix una secció",
"instructions": "Instructions", "instructions": "Instruccions",
"key-name-required": "Key Name Required", "key-name-required": "Es requereix un nom de clau",
"landscape-view-coming-soon": "Landscape View (Coming Soon)", "landscape-view-coming-soon": "Vista apaïsada (aviat)",
"milligrams": "milligrams", "milligrams": "mil·ligrams",
"new-key-name": "New Key Name", "new-key-name": "Nou nom de la clau",
"no-white-space-allowed": "No White Space Allowed", "no-white-space-allowed": "No es permeten espais en blanc",
"note": "Note", "note": "Nota",
"nutrition": "Nutrition", "nutrition": "Valors nutricionals",
"object-key": "Object Key", "object-key": "Nom de la clau",
"object-value": "Object Value", "object-value": "Valor",
"original-url": "Original URL", "original-url": "Adreça URL original",
"perform-time": "Cook Time", "perform-time": "Temps de cocció",
"prep-time": "Prep Time", "prep-time": "Temps de preparació",
"protein-content": "Protein", "protein-content": "Proteïnes",
"public-recipe": "Public Recipe", "public-recipe": "Recepta pública",
"recipe-created": "Recipe created", "recipe-created": "S'ha creat la recepta",
"recipe-creation-failed": "Recipe creation failed", "recipe-creation-failed": "S'ha produït un error al crear la recepta",
"recipe-deleted": "Recipe deleted", "recipe-deleted": "S'ha suprimit la recepta",
"recipe-image": "Recipe Image", "recipe-image": "Imatge de la recepta",
"recipe-image-updated": "Recipe image updated", "recipe-image-updated": "S'ha actualitzat la imatge de la recepta",
"recipe-name": "Recipe Name", "recipe-name": "Nom de la recepta",
"recipe-settings": "Recipe Settings", "recipe-settings": "Opcions de la recepta",
"recipe-update-failed": "Recipe update failed", "recipe-update-failed": "S'ha produït un error a l'actualitzar la recepta",
"recipe-updated": "Recipe updated", "recipe-updated": "S'ha actualitzat la recepta",
"remove-from-favorites": "Remove from Favorites", "remove-from-favorites": "S'ha eliminat de les receptes preferides",
"remove-section": "Remove Section", "remove-section": "Suprimeix la sel·lecció",
"save-recipe-before-use": "Save recipe before use", "save-recipe-before-use": "Desa la recepta abans d'utilitzar-la",
"section-title": "Section Title", "section-title": "Secció",
"servings": "Servings", "servings": "Porcions",
"share-recipe-message": "I wanted to share my {0} recipe with you.", "share-recipe-message": "Vull compartir la meua recepta {0} amb tú.",
"show-nutrition-values": "Show Nutrition Values", "show-nutrition-values": "Mostra els valors nutricionals",
"sodium-content": "Sodium", "sodium-content": "Sodi",
"step-index": "Step: {step}", "step-index": "Pas: {step}",
"sugar-content": "Sugar", "sugar-content": "Sucres",
"title": "Title", "title": "Títol",
"total-time": "Total Time", "total-time": "Temps total",
"unable-to-delete-recipe": "Unable to Delete Recipe" "unable-to-delete-recipe": "No s'ha pogut suprimir la recepta"
}, },
"reicpe": { "reicpe": {
"no-recipe": "No Recipe" "no-recipe": "Cap recepta"
}, },
"search": { "search": {
"advanced-search": "Advanced Search", "advanced-search": "Cerca avançada",
"and": "and", "and": "i",
"exclude": "Exclude", "exclude": "Exclou",
"include": "Include", "include": "Inclou",
"max-results": "Max Results", "max-results": "No mostreu més de",
"or": "Or", "or": "O",
"results": "Results", "results": "Resultats",
"search": "Search", "search": "Cerca",
"search-mealie": "Search Mealie (press /)", "search-mealie": "Cerca a Melie (prem /)",
"search-placeholder": "Search...", "search-placeholder": "Cerca...",
"tag-filter": "Tag Filter" "tag-filter": "Filtra per etiqueta"
}, },
"settings": { "settings": {
"add-a-new-theme": "Add a New Theme", "add-a-new-theme": "Afegiu un nou tema",
"admin-settings": "Admin Settings", "admin-settings": "Opcions de l'administrador",
"backup": { "backup": {
"backup-created-at-response-export_path": "Backup Created at {path}", "backup-created-at-response-export_path": "S'ha creat una còpia de seguretat a {path}",
"backup-deleted": "Backup deleted", "backup-deleted": "Còpia de seguretat suprimida",
"backup-tag": "Backup Tag", "backup-tag": "Etiqueta de la còpia de seguretat",
"create-heading": "Create a Backup", "create-heading": "Crea una còpia de seguretat",
"delete-backup": "Delete Backup", "delete-backup": "Esborra la còpia de seguretat",
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File", "error-creating-backup-see-log-file": "S'ha produït un error al crear la còpia de seguritat. Disposa de més informació a l'arxiu de registre",
"full-backup": "Full Backup", "full-backup": "Còpia de seguretat completa",
"import-summary": "Import Summary", "import-summary": "Resum de la importació",
"partial-backup": "Partial Backup", "partial-backup": "Còpia de seguretat parcial",
"unable-to-delete-backup": "Unable to Delete Backup." "unable-to-delete-backup": "No s'ha pogut suprimir la còpia."
}, },
"backup-and-exports": "Backups", "backup-and-exports": "Còpies de seguretat",
"change-password": "Change Password", "change-password": "Canvia la contrasenya",
"current": "Version:", "current": "Versió:",
"custom-pages": "Custom Pages", "custom-pages": "Pàgines personalitzades",
"edit-page": "Edit Page", "edit-page": "Edita la Pàgina",
"events": "Events", "events": "Esdeveniments",
"first-day-of-week": "First day of the week", "first-day-of-week": "Primer dia de la setmana",
"group-settings-updated": "Group Settings Updated", "group-settings-updated": "S'ha actualitzat la configuració del grup",
"homepage": { "homepage": {
"all-categories": "All Categories", "all-categories": "Totes les categories",
"card-per-section": "Card Per Section", "card-per-section": "Receptes per secció",
"home-page": "Home Page", "home-page": "Pàgina d'inici",
"home-page-sections": "Home Page Sections", "home-page-sections": "Seccions de la pàgina d'inici",
"show-recent": "Show Recent" "show-recent": "Mostra receptes recients"
}, },
"language": "Language", "language": "Idioma",
"latest": "Latest", "latest": "Darrera",
"local-api": "Local API", "local-api": "API local",
"locale-settings": "Locale settings", "locale-settings": "Opcions d'idioma",
"migrations": "Migrations", "migrations": "Migracions",
"new-page": "New Page", "new-page": "Pàgina nova",
"notify": "Notify", "notify": "Notifica",
"organize": "Organize", "organize": "Organitzador",
"page-name": "Page Name", "page-name": "Nom de la pàgina",
"pages": "Pages", "pages": "Pàgines",
"profile": "Profile", "profile": "Perfil",
"remove-existing-entries-matching-imported-entries": "Remove existing entries matching imported entries", "remove-existing-entries-matching-imported-entries": "Elimina les entrades existents que coincideixen amb les importades",
"set-new-time": "Set New Time", "set-new-time": "Defineix l'hora",
"settings-update-failed": "Settings update failed", "settings-update-failed": "S'ha produït un error a l'actualitzar la configuració",
"settings-updated": "Settings updated", "settings-updated": "S'ha actualitzat la configuració",
"site-settings": "Site Settings", "site-settings": "Configuració del portal",
"theme": { "theme": {
"accent": "Accent", "accent": "Èmfasi",
"dark": "Dark", "dark": "Fosc",
"default-to-system": "Default to system", "default-to-system": "Gestionat pel sistema",
"error": "Error", "error": "S'ha produït un error",
"error-creating-theme-see-log-file": "Error creating theme. See log file.", "error-creating-theme-see-log-file": "S'ha produït un error creant el tema. Disposa de més informació a l'arxiu de registre.",
"error-deleting-theme": "Error deleting theme", "error-deleting-theme": "S'ha produït un error suprimint el tema",
"error-updating-theme": "Error updating theme", "error-updating-theme": "S'ha produït un error actualitzant el tema",
"info": "Info", "info": "Informació",
"light": "Light", "light": "Clar",
"primary": "Primary", "primary": "Primari",
"secondary": "Secondary", "secondary": "Secundari",
"success": "Success", "success": "Correcte",
"switch-to-dark-mode": "Switch to dark mode", "switch-to-dark-mode": "Canvia al mode fosc",
"switch-to-light-mode": "Switch to light mode", "switch-to-light-mode": "Canvia al mode clar",
"theme-deleted": "Theme deleted", "theme-deleted": "S'ha suprimit el tema",
"theme-name": "Theme Name", "theme-name": "Nom del tema",
"theme-name-is-required": "Theme Name is required.", "theme-name-is-required": "Es requereix nom per al tema.",
"theme-saved": "Theme Saved", "theme-saved": "S'ha desat el tema",
"theme-updated": "Theme updated", "theme-updated": "S'ha actualitzat el tema",
"warning": "Warning" "warning": "Advertència"
}, },
"token": { "token": {
"active-tokens": "ACTIVE TOKENS", "active-tokens": "TOKENS ACTIUS",
"api-token": "API Token", "api-token": "Token de l'API",
"api-tokens": "API Tokens", "api-tokens": "Tokens de l'API",
"copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Copy this token for use with an external application. This token will not be viewable again.", "copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Còpia aquest token per a utilitzar-lo en una aplicació externa. Aquest token, no es tornarà a mostrar.",
"create-an-api-token": "Create an API Token", "create-an-api-token": "Crea un token d'API",
"token-name": "Token Name" "token-name": "Nom del token"
}, },
"toolbox": { "toolbox": {
"assign-all": "Assign All", "assign-all": "Asigna tots",
"bulk-assign": "Bulk Assign", "bulk-assign": "Assigna en grup",
"new-name": "New Name", "new-name": "Nou nom",
"no-unused-items": "No Unused Items", "no-unused-items": "No hi han elements sense utilitzar",
"recipes-affected": "No Recipes Affected|One Recipe Affected|{count} Recipes Affected", "recipes-affected": "Cap recepta afectada|Una recepta afectada|{count} receptes afectades",
"remove-unused": "Remove Unused", "remove-unused": "Elimina els no utilitzats",
"title-case-all": "Title Case All", "title-case-all": "Totes en majúscules",
"toolbox": "Toolbox", "toolbox": "Eines",
"unorganized": "Unorganized" "unorganized": "Sense organitzar"
}, },
"webhooks": { "webhooks": {
"test-webhooks": "Test Webhooks", "test-webhooks": "Prova els 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": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at", "the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "Les URLs mostrades a continuació rebran webhooks amb les dades de la recepta per al menú del dia programat. Actaualment els webhooks s'executaran a les",
"webhook-url": "Webhook URL", "webhook-url": "URL del webhook",
"webhooks-caps": "WEBHOOKS" "webhooks-caps": "WEBHOOKS"
} }
}, },
"shopping-list": { "shopping-list": {
"all-lists": "All Lists", "all-lists": "Totes les llistes",
"create-shopping-list": "Create Shopping List", "create-shopping-list": "Crea una llista de la compra",
"from-recipe": "From Recipe", "from-recipe": "Des de la recepta",
"list-name": "List Name", "list-name": "Nom de la llista",
"new-list": "New List", "new-list": "Llista nova",
"quantity": "Quantity: {0}", "quantity": "Quantitat: {0}",
"shopping-list": "Shopping List", "shopping-list": "Llista de la compra",
"shopping-lists": "Shopping Lists" "shopping-lists": "Llistes de la compra"
}, },
"sidebar": { "sidebar": {
"all-recipes": "All Recipes", "all-recipes": "Receptes",
"categories": "Categories", "categories": "Categories",
"dashboard": "Dashboard", "dashboard": "Consola",
"home-page": "Home Page", "home-page": "Inici",
"manage-users": "Manage Users", "manage-users": "Usuaris",
"migrations": "Migrations", "migrations": "Migracions",
"profile": "Profile", "profile": "Perfil",
"search": "Search", "search": "Cerca",
"site-settings": "Site Settings", "site-settings": "Configuració",
"tags": "Tags", "tags": "Etiquetes",
"toolbox": "Toolbox" "toolbox": "Eines"
}, },
"signup": { "signup": {
"error-signing-up": "Error Signing Up", "error-signing-up": "S'ha produït un error al registrar-se",
"sign-up": "Sign Up", "sign-up": "Registreu-vos",
"sign-up-link-created": "Sign up link created", "sign-up-link-created": "S'ha creat l'enllaç per a registrar-se",
"sign-up-link-creation-failed": "Sign up link creation failed", "sign-up-link-creation-failed": "S'ha produït un error al crear l'enllaç per a registrar-se",
"sign-up-links": "Sign Up Links", "sign-up-links": "Enllaços de registre",
"sign-up-token-deleted": "Sign Up Token Deleted", "sign-up-token-deleted": "S'ha suprimit el token de registre",
"sign-up-token-deletion-failed": "Sign up token deletion failed", "sign-up-token-deletion-failed": "S'ha produït un error a l'eliminar el token per a registrar-se",
"welcome-to-mealie": "Welcome to Mealie! To become a user of this instance you are required to have a valid invitation link. If you haven't recieved an invitation you are unable to sign-up. To recieve a link, contact the sites administrator." "welcome-to-mealie": "Benvingut a Mealie! Per a poder ser usuari d'aquesta instància ha de tenir un enllaç d'invitació vàlid. Si no l'ha rebut, no podrà registrar-se. Per a rebre'l, contacte amb l'administrador."
}, },
"tag": { "tag": {
"tag-created": "Tag created", "tag-created": "S'ha creat l'etiqueta",
"tag-creation-failed": "Tag creation failed", "tag-creation-failed": "S'ha produït un error al crear l'etiqueta",
"tag-deleted": "Tag deleted", "tag-deleted": "S'ha suprimit l'etiqueta",
"tag-deletion-failed": "Tag deletion failed", "tag-deletion-failed": "S'ha produït un error al suprimir l'etiqueta",
"tag-update-failed": "Tag update failed", "tag-update-failed": "S'ha produït un error a l'actualitzar l'etiqueta",
"tag-updated": "Tag updated", "tag-updated": "S'ha actualitzat l'etiqueta",
"tags": "Tags", "tags": "Etiquetes",
"untagged-count": "Untagged {count}" "untagged-count": "{count} sense etiquetar"
}, },
"user": { "user": {
"admin": "Admin", "admin": "Administrador/a",
"are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link <b>{link}<b/>?", "are-you-sure-you-want-to-delete-the-link": "Esteu segur de voler suprimir l'enllaç <b>{link}<b/>?",
"are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user <b>{activeName} ID: {activeId}<b/>?", "are-you-sure-you-want-to-delete-the-user": "Esteu segur de voler suprimir l'usuari <b>{activeName}<b/> ID: <b>{activeId}<b/>?",
"confirm-link-deletion": "Confirm Link Deletion", "confirm-link-deletion": "Confirmeu l'eliminació de l'enllaç",
"confirm-password": "Confirm Password", "confirm-password": "Confirmeu la contrasenya",
"confirm-user-deletion": "Confirm User Deletion", "confirm-user-deletion": "Confirmeu l'eliminació de l'usuari",
"could-not-validate-credentials": "Could Not Validate Credentials", "could-not-validate-credentials": "No s'han pogut validar les credencials",
"create-link": "Create Link", "create-link": "Crea lenllaç",
"create-user": "Create User", "create-user": "Crear l'usuari",
"current-password": "Current Password", "current-password": "Contrasenya actual",
"e-mail-must-be-valid": "E-mail must be valid", "e-mail-must-be-valid": "Ha de ser un correu electrònic vàlid",
"edit-user": "Edit User", "edit-user": "Edita l'usuari",
"email": "Email", "email": "Correu electrònic",
"error-cannot-delete-super-user": "Error! Cannot Delete Super User", "error-cannot-delete-super-user": "S'ha produït un error. El Super usuari no es pot suprimir!",
"existing-password-does-not-match": "Existing password does not match", "existing-password-does-not-match": "La contrasenya actual no coincideix",
"full-name": "Full Name", "full-name": "Nom sencer",
"link-id": "Link ID", "link-id": "Id de l'enllaç",
"link-name": "Link Name", "link-name": "Nom de l'enllaç",
"login": "Login", "login": "Inicieu sessió",
"logout": "Logout", "logout": "Tanca la sessió",
"manage-users": "Manage Users", "manage-users": "Gestionar usuaris",
"new-password": "New Password", "new-password": "Nova contrasenya",
"new-user": "New User", "new-user": "Nou Usuari",
"password": "Password", "password": "Contrasenya",
"password-has-been-reset-to-the-default-password": "Password has been reset to the default password", "password-has-been-reset-to-the-default-password": "S'ha restablert la contrasenya al seu valor per defecte",
"password-must-match": "Password must match", "password-must-match": "Les contrasenyes han de coincidir",
"password-reset-failed": "Password reset failed", "password-reset-failed": "S'ha produït un error al restablir la contrasenya",
"password-updated": "Password updated", "password-updated": "S'ha actualitzat la contrasenya",
"reset-password": "Reset Password", "reset-password": "Restableix la contrasenya",
"sign-in": "Sign in", "sign-in": "Inicia sessió",
"total-mealplans": "Total MealPlans", "total-mealplans": "Menús totals",
"total-users": "Total Users", "total-users": "Usuaris totals",
"upload-photo": "Upload Photo", "upload-photo": "Pugeu la foto",
"use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password", "use-8-characters-or-more-for-your-password": "La contrasenya ha de tindre mínim 8 caràcters",
"user": "User", "user": "Usuari",
"user-created": "User created", "user-created": "S'ha creat l'usuari",
"user-creation-failed": "User creation failed", "user-creation-failed": "S'ha produït un error al crear l'usuari",
"user-deleted": "User deleted", "user-deleted": "S'ha suprimit l'usuari",
"user-id": "User ID", "user-id": "ID d'usuari",
"user-id-with-value": "User ID: {id}", "user-id-with-value": "ID d'usuari: {id}",
"user-password": "User Password", "user-password": "Contrasenya",
"user-successfully-logged-in": "User Successfully Logged In", "user-successfully-logged-in": "La sessió s'ha iniciat correctament",
"user-update-failed": "User update failed", "user-update-failed": "S'ha produït un error a l'actualitzar l'usuari",
"user-updated": "User updated", "user-updated": "S'ha actualitzat l'usuari",
"username": "Username", "username": "Nom d'usuari",
"users": "Users", "users": "Usuaris",
"users-header": "USERS", "users-header": "USUARIS",
"webhook-time": "Webhook Time", "webhook-time": "Hora del Webhook",
"webhooks-enabled": "Webhooks Enabled", "webhooks-enabled": "Webhooks habilitats",
"you-are-not-allowed-to-create-a-user": "You are not allowed to create a user", "you-are-not-allowed-to-create-a-user": "Vostè no està autoritzat per a crear un usuari",
"you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user" "you-are-not-allowed-to-delete-this-user": "Vostè no està autoritzat per a suprimir l'usuari"
} }
} }

View File

@ -4,384 +4,384 @@
"about-mealie": "Om Mealie", "about-mealie": "Om Mealie",
"api-docs": "API dokumentation", "api-docs": "API dokumentation",
"api-port": "API port", "api-port": "API port",
"application-mode": "Application Mode", "application-mode": "Applikationstilstand",
"database-type": "Database-type", "database-type": "Database-type",
"database-url": "Database-url", "database-url": "Database-url",
"default-group": "Default Group", "default-group": "Standardgruppe",
"demo": "Demo", "demo": "Demo",
"demo-status": "Demo status", "demo-status": "Demo status",
"development": "Udvikling", "development": "Udvikling",
"docs": "Dokumenter", "docs": "Dokumenter",
"download-log": "Download log", "download-log": "Download log",
"download-recipe-json": "Last Scraped JSON", "download-recipe-json": "Sidst skrabet JSON",
"github": "Github", "github": "Github",
"log-lines": "Log Lines", "log-lines": "Log linjer",
"not-demo": "Not Demo", "not-demo": "Ikke demo",
"portfolio": "Portfolio", "portfolio": "Portfolio",
"production": "Produktion", "production": "Produktion",
"support": "Support", "support": "Hjælp",
"version": "Version" "version": "Version"
}, },
"asset": { "asset": {
"assets": "Assets", "assets": "Ekstramateriale",
"code": "Code", "code": "Kode",
"file": "File", "file": "Fil",
"image": "Image", "image": "Billede",
"new-asset": "New Asset", "new-asset": "Ny aktiv",
"pdf": "PDF", "pdf": "PDF",
"recipe": "Recipe", "recipe": "Opskrift",
"show-assets": "Show Assets" "show-assets": "Vis ekstramateriale"
}, },
"category": { "category": {
"category-created": "Category created", "category-created": "Kategori oprettet",
"category-creation-failed": "Category creation failed", "category-creation-failed": "Oprettelse af kategorien fejlede",
"category-deleted": "Category Deleted", "category-deleted": "Kategori slettet",
"category-deletion-failed": "Category deletion failed", "category-deletion-failed": "Sletning af kategori fejlede",
"category-filter": "Category Filter", "category-filter": "Kategorifilter",
"category-update-failed": "Category update failed", "category-update-failed": "Kategoriopdatering fejlede",
"category-updated": "Category updated", "category-updated": "Kategori opdateret",
"uncategorized-count": "Uncategorized {count}" "uncategorized-count": "Ukategoriseret {count}"
}, },
"events": { "events": {
"apprise-url": "Apprise URL", "apprise-url": "Apprise URL",
"database": "Database", "database": "Database",
"delete-event": "Delete Event", "delete-event": "Slet event",
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.", "new-notification-form-description": "Mealie bruger Apprise-biblioteket for at generere notifikationer. De giver mange muligheder for notifikationer til tjenester. Kig i deres wiki for en gennemgående guide til, hvordan en URL oprettes i din situation. Hvis muligt, kan valget af din type af notifikation omfatte flere ekstrafunktioner.",
"new-version": "New version available!", "new-version": "Ny opdatering er tilgængelig!",
"notification": "Notification", "notification": "Notifikation",
"refresh": "Refresh", "refresh": "Opdater",
"scheduled": "Scheduled", "scheduled": "Planlagt",
"something-went-wrong": "Something Went Wrong!", "something-went-wrong": "Noget gik galt!",
"subscribed-events": "Subscribed Events", "subscribed-events": "Abonnerede begivenheder",
"test-message-sent": "Test Message Sent" "test-message-sent": "Testbesked sendt"
}, },
"general": { "general": {
"cancel": "Annuller", "cancel": "Annuller",
"clear": "Clear", "clear": "Ryd",
"close": "Luk", "close": "Luk",
"confirm": "Bekræft", "confirm": "Bekræft",
"confirm-delete-generic": "Are you sure you want to delete this?", "confirm-delete-generic": "Er du sikker på, du vil slette dette?",
"copied": "Copied", "copied": "Kopieret",
"create": "Opret", "create": "Opret",
"created": "Created", "created": "Oprettet",
"custom": "Custom", "custom": "Brugerdefineret",
"dashboard": "Dashboard", "dashboard": "Instrumentbræt",
"delete": "Slet", "delete": "Slet",
"disabled": "Disabled", "disabled": "Deaktiveret",
"download": "Hent", "download": "Hent",
"edit": "Rediger", "edit": "Rediger",
"enabled": "Aktiveret", "enabled": "Aktiveret",
"exception": "Exception", "exception": "Undtagelse",
"failed-count": "Failed: {count}", "failed-count": "Fejlet: {count}",
"failure-uploading-file": "Failure uploading file", "failure-uploading-file": "Fejl ved upload af fil",
"favorites": "Favorites", "favorites": "Favoritter",
"field-required": "Felt påkrævet", "field-required": "Felt påkrævet",
"file-folder-not-found": "File/folder not found", "file-folder-not-found": "Fil/mappe ikke fundet",
"file-uploaded": "File uploaded", "file-uploaded": "Fil uploadet",
"filter": "Filtrer", "filter": "Filtrer",
"friday": "Fredag", "friday": "Fredag",
"general": "General", "general": "Generelt",
"get": "Get", "get": "Hent",
"home": "Home", "home": "Hjem",
"image": "Image", "image": "Billede",
"image-upload-failed": "Image upload failed", "image-upload-failed": "Upload af billede fejlede",
"import": "Importere", "import": "Importere",
"json": "JSON", "json": "JSON",
"keyword": "Keyword", "keyword": "Nøgleord",
"link-copied": "Link Copied", "link-copied": "Link kopieret",
"loading-recipes": "Loading Recipes", "loading-recipes": "Indlæser opskrifter",
"monday": "Mandag", "monday": "Mandag",
"name": "Navn", "name": "Navn",
"new": "New", "new": "Ny",
"no": "Nej", "no": "Nej",
"no-recipe-found": "No Recipe Found", "no-recipe-found": "Ingen opskrift fundet",
"ok": "Ok", "ok": "Ok",
"options": "Options:", "options": "Valgmuligheder:",
"print": "Print", "print": "Print",
"random": "Tilfældig", "random": "Tilfældig",
"rating": "Rating", "rating": "Bedømmelse",
"recent": "Seneste", "recent": "Seneste",
"recipe": "Recipe", "recipe": "Opskrift",
"recipes": "Opskrifter", "recipes": "Opskrifter",
"rename-object": "Rename {0}", "rename-object": "Omdøb {0}",
"reset": "Nulstil", "reset": "Nulstil",
"saturday": "Lørdag", "saturday": "Lørdag",
"save": "Gem", "save": "Gem",
"settings": "Indstillinger", "settings": "Indstillinger",
"share": "Share", "share": "Del",
"shuffle": "Shuffle", "shuffle": "Bland",
"sort": "Sorter", "sort": "Sorter",
"sort-alphabetically": "Alphabetical", "sort-alphabetically": "Alfabetisk",
"status": "Status", "status": "Status",
"submit": "Indsend", "submit": "Indsend",
"success-count": "Success: {count}", "success-count": "Succes: {count}",
"sunday": "Søndag", "sunday": "Søndag",
"templates": "Templates:", "templates": "Skabeloner:",
"test": "Test", "test": "Afprøv",
"themes": "Temaer", "themes": "Temaer",
"thursday": "Torsdag", "thursday": "Torsdag",
"token": "Token", "token": "Token",
"tuesday": "Tirsdag", "tuesday": "Tirsdag",
"type": "Type", "type": "Type",
"update": "Opdater", "update": "Gem",
"updated": "Updated", "updated": "Ændret",
"upload": "Upload", "upload": "Upload",
"url": "URL", "url": "URL",
"view": "View", "view": "Se",
"wednesday": "Onsdag", "wednesday": "Onsdag",
"yes": "Ja" "yes": "Ja"
}, },
"group": { "group": {
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?", "are-you-sure-you-want-to-delete-the-group": "Er du sikker på, du vil slette <b>{groupName}<b/>?",
"cannot-delete-default-group": "Cannot delete default group", "cannot-delete-default-group": "Standardgruppen kan ikke blive slettet",
"cannot-delete-group-with-users": "Cannot delete group with users", "cannot-delete-group-with-users": "En gruppe med brugere i kan ikke blive slettet",
"confirm-group-deletion": "Confirm Group Deletion", "confirm-group-deletion": "Bekræft sletning af gruppe",
"create-group": "Create Group", "create-group": "Opret gruppe",
"error-updating-group": "Error updating group", "error-updating-group": "Fejl ved ændring af gruppe",
"group": "Group", "group": "Gruppe",
"group-deleted": "Group deleted", "group-deleted": "Gruppe slettet",
"group-deletion-failed": "Group deletion failed", "group-deletion-failed": "Sletning af gruppe fejlede",
"group-id-with-value": "Group ID: {groupID}", "group-id-with-value": "Gruppe-ID: {groupID}",
"group-name": "Group Name", "group-name": "Gruppenavn",
"group-not-found": "Group not found", "group-not-found": "Gruppen blev ikke fundet",
"group-with-value": "Group: {groupID}", "group-with-value": "Gruppe: {groupID}",
"groups": "Groups", "groups": "Grupper",
"manage-groups": "Manage Groups", "manage-groups": "Administrer grupper",
"user-group": "User Group", "user-group": "Brugergruppe",
"user-group-created": "User Group Created", "user-group-created": "Brugergruppe oprettet",
"user-group-creation-failed": "User Group Creation Failed" "user-group-creation-failed": "Oprettelse af brugergruppe fejlede"
}, },
"meal-plan": { "meal-plan": {
"create-a-new-meal-plan": "Opret en ny måltidsplan", "create-a-new-meal-plan": "Opret en ny madplan",
"dinner-this-week": "Madplan denne uge", "dinner-this-week": "Madplan denne uge",
"dinner-today": "Madplan i dag", "dinner-today": "Madplan i dag",
"dinner-tonight": "DINNER TONIGHT", "dinner-tonight": "AFTENSMAD I AFTEN",
"edit-meal-plan": "Rediger måltidsplan", "edit-meal-plan": "Rediger madplan",
"end-date": "Slutdato", "end-date": "Slutdato",
"group": "Group (Beta)", "group": "Gruppér (Beta)",
"main": "Main", "main": "Hovedret",
"meal-planner": "Meal Planner", "meal-planner": "Madplanlægger",
"meal-plans": "Måltidsplaner", "meal-plans": "Madplan",
"mealplan-categories": "MEALPLAN CATEGORIES", "mealplan-categories": "MADPLANKATEGORIER",
"mealplan-created": "Mealplan created", "mealplan-created": "Madplan oprettet",
"mealplan-creation-failed": "Mealplan creation failed", "mealplan-creation-failed": "Oprettelse af madplan fejlede",
"mealplan-deleted": "Mealplan Deleted", "mealplan-deleted": "Madplan slettet",
"mealplan-deletion-failed": "Mealplan deletion failed", "mealplan-deletion-failed": "Sletning af madplan fejlede",
"mealplan-settings": "Mealplan Settings", "mealplan-settings": "Madplansindstillinger",
"mealplan-update-failed": "Mealplan update failed", "mealplan-update-failed": "Ændring af madplanen fejlede",
"mealplan-updated": "Mealplan Updated", "mealplan-updated": "Madplanen blev ændret",
"no-meal-plan-defined-yet": "No meal plan defined yet", "no-meal-plan-defined-yet": "Ingen madplan er defineret",
"no-meal-planned-for-today": "No meal planned for today", "no-meal-planned-for-today": "Ingen ret er planlagt til i dag",
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans", "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Kun opskrifter med disse kategorier vil blive brugt i madplaner",
"planner": "Planlægger", "planner": "Planlæg madplan",
"quick-week": "Quick Week", "quick-week": "Hurtig uge",
"side": "Side", "side": "Tilbehør",
"sides": "Sides", "sides": "Tilbehør",
"start-date": "Start dato" "start-date": "Start dato"
}, },
"migration": { "migration": {
"chowdown": { "chowdown": {
"description": "Migrate data from Chowdown", "description": "Migrer data fra Chowdown",
"title": "Chowdown" "title": "Chowdown"
}, },
"migration-data-removed": "Migration data removed", "migration-data-removed": "Migrationsdata fjernet",
"nextcloud": { "nextcloud": {
"description": "Migrate data from a Nextcloud Cookbook instance", "description": "Migrer data fra Nextcloud Cookbook",
"title": "Nextcloud Cookbook" "title": "Nextcould Cookbook"
}, },
"no-migration-data-available": "No Migration Data Available", "no-migration-data-available": "Ingen migrationsdata er tilgængelig",
"recipe-migration": "Migrering af opskrifter" "recipe-migration": "Migrering af opskrifter"
}, },
"new-recipe": { "new-recipe": {
"bulk-add": "Bulk Tilføj", "bulk-add": "Bulk Tilføj",
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.", "error-details": "Kun hjemmesider med ID+JSON eller microdata kan blive importeret af Mealie. De fleste større opskriftshjemmesider bruger denne struktur. Opret et emne på GitHub, hvis en hjemmeside ikke kan blive importeret, men der er JSON-data i loggen.",
"error-title": "Looks Like We Couldn't Find Anything", "error-title": "Det ser ud til, vi ikke kunne finde noget",
"from-url": "Fra URL", "from-url": "Fra URL",
"github-issues": "GitHub Issues", "github-issues": "GitHub problemer",
"google-ld-json-info": "Google ld+json Info", "google-ld-json-info": "Google ID+JSON information",
"must-be-a-valid-url": "Must be a Valid URL", "must-be-a-valid-url": "Det skal være en korrekt URL",
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Indsæt dine opskriftsdata. \nHver linje behandles som et element på en liste", "paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Indsæt dine opskriftsdata. \nHver linje behandles som et element på en liste",
"recipe-markup-specification": "Recipe Markup Specification", "recipe-markup-specification": "Opskriftsmarkupspecifikation",
"recipe-url": "URL på opskrift", "recipe-url": "URL på opskrift",
"upload-a-recipe": "Upload a Recipe", "upload-a-recipe": "Upload en opskrift",
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.", "upload-individual-zip-file": "Opload en individuel .zip-fil, eksporteret fra en anden Mealie-instans.",
"url-form-hint": "Kopiér og indsæt et link fra din foretrukne opskrifts hjemmeside", "url-form-hint": "Kopiér og indsæt et link fra din foretrukne opskrifts hjemmeside",
"view-scraped-data": "View Scraped Data" "view-scraped-data": "Vis skrabet data"
}, },
"page": { "page": {
"404-page-not-found": "404 Page not found", "404-page-not-found": "404 Siden blev ikke fundet",
"all-recipes": "Alle Opskrifter", "all-recipes": "Alle Opskrifter",
"new-page-created": "New page created", "new-page-created": "Ny side blev oprettet",
"page": "Page", "page": "Side",
"page-creation-failed": "Page creation failed", "page-creation-failed": "Oprettelse af side fejlede",
"page-deleted": "Page deleted", "page-deleted": "Side slettet",
"page-deletion-failed": "Page deletion failed", "page-deletion-failed": "Sletning af side fejlede",
"page-update-failed": "Page update failed", "page-update-failed": "Opdatering af side fejlede",
"page-updated": "Page updated", "page-updated": "Side opdateret",
"pages-update-failed": "Pages update failed", "pages-update-failed": "Opdatering af sider fejlede",
"pages-updated": "Pages updated" "pages-updated": "Sider opdateret"
}, },
"recipe": { "recipe": {
"add-key": "Add Key", "add-key": "Tilføj nøgle",
"add-to-favorites": "Add to Favorites", "add-to-favorites": "Tilføj til favoritter",
"api-extras": "API Extras", "api-extras": "API-ekstramateriale",
"calories": "Calories", "calories": "Kalorier",
"calories-suffix": "calories", "calories-suffix": "kalorier",
"carbohydrate-content": "Carbohydrate", "carbohydrate-content": "Kulhydrat",
"categories": "Kategorier", "categories": "Kategorier",
"comment-action": "Comment", "comment-action": "Kommentar",
"comments": "Comments", "comments": "Kommentarer",
"delete-confirmation": "Are you sure you want to delete this recipe?", "delete-confirmation": "Er du sikker på, du vil slette denne opskrift?",
"delete-recipe": "Delete Recipe", "delete-recipe": "Slet opskrift",
"description": "Beskrivelse", "description": "Beskrivelse",
"disable-amount": "Disable Ingredient Amounts", "disable-amount": "Slå ingrediensmængder fra",
"disable-comments": "Disable Comments", "disable-comments": "Slå kommentarer fra",
"fat-content": "Fat", "fat-content": "Fedt",
"fiber-content": "Fiber", "fiber-content": "Fiber",
"grams": "grams", "grams": "gram",
"ingredient": "Ingrediens", "ingredient": "Ingrediens",
"ingredients": "Ingredienser", "ingredients": "Ingredienser",
"insert-section": "Insert Section", "insert-section": "Indsæt sektion",
"instructions": "Instruktioner", "instructions": "Instruktioner",
"key-name-required": "Key Name Required", "key-name-required": "Nøglenavn påkrævet",
"landscape-view-coming-soon": "Landscape View (Coming Soon)", "landscape-view-coming-soon": "Liggende visning (Kommer snart)",
"milligrams": "milligrams", "milligrams": "milligram",
"new-key-name": "New Key Name", "new-key-name": "Nyt nøglenavn",
"no-white-space-allowed": "No White Space Allowed", "no-white-space-allowed": "Mellemrum er ikke tilladt",
"note": "Bemærk", "note": "Bemærkninger",
"nutrition": "Nutrition", "nutrition": "Ernæring",
"object-key": "Object Key", "object-key": "Objektnøgle",
"object-value": "Object Value", "object-value": "Objektværdi",
"original-url": "Oprindelig opskrift", "original-url": "Oprindelig opskrift",
"perform-time": "Cook Time", "perform-time": "Tilberedningstid",
"prep-time": "Prep Time", "prep-time": "Forberedelsestid",
"protein-content": "Protein", "protein-content": "Protein",
"public-recipe": "Public Recipe", "public-recipe": "Offentlig opskrift",
"recipe-created": "Recipe created", "recipe-created": "Opskrift oprettet",
"recipe-creation-failed": "Recipe creation failed", "recipe-creation-failed": "Oprettelse af opskrift fejlede",
"recipe-deleted": "Recipe deleted", "recipe-deleted": "Opskrift slettet",
"recipe-image": "Recipe Image", "recipe-image": "Opskriftsbillede",
"recipe-image-updated": "Recipe image updated", "recipe-image-updated": "Opskriftsbillede ændret",
"recipe-name": "Opskriftens navn", "recipe-name": "Opskriftens navn",
"recipe-settings": "Recipe Settings", "recipe-settings": "Opskriftsindstillinger",
"recipe-update-failed": "Recipe update failed", "recipe-update-failed": "Opdatering af opskrift fejlede",
"recipe-updated": "Recipe updated", "recipe-updated": "Opskrift opdateret",
"remove-from-favorites": "Remove from Favorites", "remove-from-favorites": "Fjern fra favoritter",
"remove-section": "Remove Section", "remove-section": "Fjern sektion",
"save-recipe-before-use": "Save recipe before use", "save-recipe-before-use": "Gem opskrift før brug",
"section-title": "Section Title", "section-title": "Sektionstitel",
"servings": "Portioner", "servings": "Portioner",
"share-recipe-message": "I wanted to share my {0} recipe with you.", "share-recipe-message": "Jeg vil gerne dele min opskrift \"{0}\" med dig.",
"show-nutrition-values": "Show Nutrition Values", "show-nutrition-values": "Vis ernæringstabel",
"sodium-content": "Sodium", "sodium-content": "Natrium",
"step-index": "Trin: {step}", "step-index": "Trin: {step}",
"sugar-content": "Sugar", "sugar-content": "Sukker",
"title": "Title", "title": "Titel",
"total-time": "Total Time", "total-time": "Total tid",
"unable-to-delete-recipe": "Unable to Delete Recipe" "unable-to-delete-recipe": "Kunne ikke slette opskrift"
}, },
"reicpe": { "reicpe": {
"no-recipe": "No Recipe" "no-recipe": "Ingen opskrift"
}, },
"search": { "search": {
"advanced-search": "Advanced Search", "advanced-search": "Avanceret søgning",
"and": "and", "and": "og",
"exclude": "Exclude", "exclude": "Ekskluder",
"include": "Include", "include": "Inkluder",
"max-results": "Max Results", "max-results": "Maksimalt antal resultater",
"or": "Or", "or": "Eller",
"results": "Results", "results": "Resultater",
"search": "Search", "search": "Søg",
"search-mealie": "Search Mealie (press /)", "search-mealie": "Søg Mealie (tryk /)",
"search-placeholder": "Search...", "search-placeholder": "Søg...",
"tag-filter": "Tag Filter" "tag-filter": "Tagfiler"
}, },
"settings": { "settings": {
"add-a-new-theme": "Tilføj et nyt tema", "add-a-new-theme": "Tilføj et nyt tema",
"admin-settings": "Admin Settings", "admin-settings": "Administratorindstillinger",
"backup": { "backup": {
"backup-created-at-response-export_path": "Backup Created at {path}", "backup-created-at-response-export_path": "Backup oprettet ved {path}",
"backup-deleted": "Backup deleted", "backup-deleted": "Backup slettet",
"backup-tag": "Backup Tag", "backup-tag": "Backupnavn",
"create-heading": "Create a Backup", "create-heading": "Opret en backup",
"delete-backup": "Delete Backup", "delete-backup": "Slet backup",
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File", "error-creating-backup-see-log-file": "Der opstod en fejl under oprettelse af backuppen. Se log-filen",
"full-backup": "Full Backup", "full-backup": "Fuld backup",
"import-summary": "Import Summary", "import-summary": "Importer resumé",
"partial-backup": "Partial Backup", "partial-backup": "Delvis backup",
"unable-to-delete-backup": "Unable to Delete Backup." "unable-to-delete-backup": "Ude af stand til at slette backup."
}, },
"backup-and-exports": "Backup og eksport", "backup-and-exports": "Backup og eksport",
"change-password": "Change Password", "change-password": "Skift kodeord",
"current": "Version:", "current": "Version:",
"custom-pages": "Custom Pages", "custom-pages": "Brugerdefinerede sider",
"edit-page": "Edit Page", "edit-page": "Rediger side",
"events": "Events", "events": "Begivenheder",
"first-day-of-week": "First day of the week", "first-day-of-week": "Første dag i ugen",
"group-settings-updated": "Group Settings Updated", "group-settings-updated": "Gruppeindstillinger blev opdateret",
"homepage": { "homepage": {
"all-categories": "All Categories", "all-categories": "Alle kategorier",
"card-per-section": "Card Per Section", "card-per-section": "Kort per sektion",
"home-page": "Home Page", "home-page": "Forside",
"home-page-sections": "Home Page Sections", "home-page-sections": "Forsidesektioner",
"show-recent": "Show Recent" "show-recent": "Vis seneste opskrifter"
}, },
"language": "Language", "language": "Sprog",
"latest": "Seneste:", "latest": "Seneste:",
"local-api": "Local API", "local-api": "Lokal API",
"locale-settings": "Locale settings", "locale-settings": "Lokale indstillinger",
"migrations": "Migrations", "migrations": "Migrationer",
"new-page": "New Page", "new-page": "Ny side",
"notify": "Notify", "notify": "Notifikationer",
"organize": "Organize", "organize": "Organiser",
"page-name": "Page Name", "page-name": "Sidenavn",
"pages": "Pages", "pages": "Sider",
"profile": "Profile", "profile": "Profil",
"remove-existing-entries-matching-imported-entries": "Remove existing entries matching imported entries", "remove-existing-entries-matching-imported-entries": "Fjern eksisterende indtastninger, hvis de matcher de importerede",
"set-new-time": "Indstil ny tid", "set-new-time": "Indstil ny tid",
"settings-update-failed": "Settings update failed", "settings-update-failed": "Ændring af indstillinger fejlede",
"settings-updated": "Settings updated", "settings-updated": "Indstillinger ændret",
"site-settings": "Site Settings", "site-settings": "Sideindstillinger",
"theme": { "theme": {
"accent": "Accent", "accent": "Accent",
"dark": "Mørkt", "dark": "Mørkt",
"default-to-system": "Default to system", "default-to-system": "Systemstandard",
"error": "Fejl", "error": "Fejl",
"error-creating-theme-see-log-file": "Error creating theme. See log file.", "error-creating-theme-see-log-file": "En fejl opstod ved oprettelse af temaet. Se logfilen.",
"error-deleting-theme": "Error deleting theme", "error-deleting-theme": "En fejl opstod ved sletning af temaet",
"error-updating-theme": "Error updating theme", "error-updating-theme": "En fejl opstod ved opdatering af temaet",
"info": "Info", "info": "Information",
"light": "Lyst", "light": "Lyst",
"primary": "Primær", "primary": "Primær",
"secondary": "Sekundær", "secondary": "Sekundær",
"success": "Succes", "success": "Succes",
"switch-to-dark-mode": "Switch to dark mode", "switch-to-dark-mode": "Skift til mørkt udseende",
"switch-to-light-mode": "Switch to light mode", "switch-to-light-mode": "Skift til lyst udseende",
"theme-deleted": "Theme deleted", "theme-deleted": "Tema slettet",
"theme-name": "Theme Name", "theme-name": "Temanavn",
"theme-name-is-required": "Theme Name is required.", "theme-name-is-required": "Temanavnet er påkrævet.",
"theme-saved": "Theme Saved", "theme-saved": "Tema gemt",
"theme-updated": "Theme updated", "theme-updated": "Tema opdateret",
"warning": "Advarsel" "warning": "Advarsel"
}, },
"token": { "token": {
"active-tokens": "ACTIVE TOKENS", "active-tokens": "Aktive tokens",
"api-token": "API Token", "api-token": "API Token",
"api-tokens": "API Tokens", "api-tokens": "API Tokens",
"copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Copy this token for use with an external application. This token will not be viewable again.", "copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Kopier denne token ved brug i en anden applikation. Denne token kan ikke ses igen.",
"create-an-api-token": "Create an API Token", "create-an-api-token": "Opret en API token",
"token-name": "Token Name" "token-name": "Tokennavn"
}, },
"toolbox": { "toolbox": {
"assign-all": "Assign All", "assign-all": "Tildel alle",
"bulk-assign": "Bulk Assign", "bulk-assign": "Massetildeling",
"new-name": "New Name", "new-name": "Nyt navn",
"no-unused-items": "No Unused Items", "no-unused-items": "Ingen ubrugte punkter",
"recipes-affected": "No Recipes Affected|One Recipe Affected|{count} Recipes Affected", "recipes-affected": "Ingen opskrifter blev påvirket|En opskrift blev påvirket|{count} opskrifter blev påvirket",
"remove-unused": "Remove Unused", "remove-unused": "Slet ubrugte",
"title-case-all": "Title Case All", "title-case-all": "Stort forbogstav på alle",
"toolbox": "Toolbox", "toolbox": "Værktøjskasse",
"unorganized": "Unorganized" "unorganized": "Uorganiseret"
}, },
"webhooks": { "webhooks": {
"test-webhooks": "Test Webhooks", "test-webhooks": "Test Webhooks",
@ -391,99 +391,99 @@
} }
}, },
"shopping-list": { "shopping-list": {
"all-lists": "All Lists", "all-lists": "Alle lister",
"create-shopping-list": "Create Shopping List", "create-shopping-list": "Lav indkøbsliste",
"from-recipe": "From Recipe", "from-recipe": "Fra opskrift",
"list-name": "List Name", "list-name": "Listenavn",
"new-list": "New List", "new-list": "Ny liste",
"quantity": "Quantity: {0}", "quantity": "Antal: {0}",
"shopping-list": "Shopping List", "shopping-list": "Indkøbsliste",
"shopping-lists": "Shopping Lists" "shopping-lists": "Indkøbslister"
}, },
"sidebar": { "sidebar": {
"all-recipes": "All Recipes", "all-recipes": "Alle opskr.",
"categories": "Categories", "categories": "Kategorier",
"dashboard": "Dashboard", "dashboard": "Instrumentbræt",
"home-page": "Home Page", "home-page": "Forside",
"manage-users": "Manage Users", "manage-users": "Adm. brugere",
"migrations": "Migrations", "migrations": "Migrationer",
"profile": "Profile", "profile": "Profil",
"search": "Search", "search": "Søg",
"site-settings": "Site Settings", "site-settings": "Sideindstil.",
"tags": "Tags", "tags": "Tags",
"toolbox": "Toolbox" "toolbox": "Værktøjskasse"
}, },
"signup": { "signup": {
"error-signing-up": "Error Signing Up", "error-signing-up": "Fejl i forbindelse med oprettelse af bruger",
"sign-up": "Sign Up", "sign-up": "Opret bruger",
"sign-up-link-created": "Sign up link created", "sign-up-link-created": "Brugeroprettelseslink oprettet",
"sign-up-link-creation-failed": "Sign up link creation failed", "sign-up-link-creation-failed": "Oprettelsen af brugeroprettelseslink fejlede",
"sign-up-links": "Sign Up Links", "sign-up-links": "Brugeroprettelseslinks",
"sign-up-token-deleted": "Sign Up Token Deleted", "sign-up-token-deleted": "Brugeroprettelsestoken blev slettet",
"sign-up-token-deletion-failed": "Sign up token deletion failed", "sign-up-token-deletion-failed": "Sletning af brugeroprettelsestoken fejlede",
"welcome-to-mealie": "Welcome to Mealie! To become a user of this instance you are required to have a valid invitation link. If you haven't recieved an invitation you are unable to sign-up. To recieve a link, contact the sites administrator." "welcome-to-mealie": "Velkommen til Mealie. For at oprette en bruger på denne hjemmeside, kræves det at du har et validt invitationslink. Har du ikke fået en invitation, kan du ikke oprette en bruger. For at få et link, skal du kontakte sideadministratoren."
}, },
"tag": { "tag": {
"tag-created": "Tag created", "tag-created": "Tag oprettet",
"tag-creation-failed": "Tag creation failed", "tag-creation-failed": "Oprettelse af tag fejlede",
"tag-deleted": "Tag deleted", "tag-deleted": "Tag blev slettet",
"tag-deletion-failed": "Tag deletion failed", "tag-deletion-failed": "Sletning af tag fejlede",
"tag-update-failed": "Tag update failed", "tag-update-failed": "Opdatering af tag fejlede",
"tag-updated": "Tag updated", "tag-updated": "Tag blev opdateret",
"tags": "Tags", "tags": "Tags",
"untagged-count": "Untagged {count}" "untagged-count": "Ikke-tagget: {count}"
}, },
"user": { "user": {
"admin": "Administrator", "admin": "Administrator",
"are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link <b>{link}<b/>?", "are-you-sure-you-want-to-delete-the-link": "Er du sikker på, at du vil slette linket \"<b>{link}<b/>\"?",
"are-you-sure-you-want-to-delete-the-user": "Er du sikker på, at du vil slette brugeren <b>{activeName} med ID: {activeId}<b/>?", "are-you-sure-you-want-to-delete-the-user": "Er du sikker på, at du vil slette brugeren <b>{activeName} med ID: {activeId}<b/>?",
"confirm-link-deletion": "Confirm Link Deletion", "confirm-link-deletion": "Bekræft sletning af link",
"confirm-password": "Confirm Password", "confirm-password": "Bekræft adgangskode",
"confirm-user-deletion": "Bekræft Sletning Af Bruger", "confirm-user-deletion": "Bekræft Sletning Af Bruger",
"could-not-validate-credentials": "Could Not Validate Credentials", "could-not-validate-credentials": "Kunne verificere legitimationsoplysninger",
"create-link": "Create Link", "create-link": "Link blev oprettet",
"create-user": "Opret bruger", "create-user": "Opret bruger",
"current-password": "Current Password", "current-password": "Nuværende kodeord",
"e-mail-must-be-valid": "E-mail must be valid", "e-mail-must-be-valid": "E-mailen skal være valid",
"edit-user": "Rediger bruger", "edit-user": "Rediger bruger",
"email": "E-mail", "email": "E-mail",
"error-cannot-delete-super-user": "Error! Cannot Delete Super User", "error-cannot-delete-super-user": "Fejl! Kan ikke slette super-brugeren",
"existing-password-does-not-match": "Existing password does not match", "existing-password-does-not-match": "Nuværende adgangskode matcher ikke",
"full-name": "Fulde navn", "full-name": "Fulde navn",
"link-id": "Link ID", "link-id": "Link ID",
"link-name": "Link Name", "link-name": "Linknavn",
"login": "Login", "login": "Log",
"logout": "Log ud", "logout": "Log ud",
"manage-users": "Manage Users", "manage-users": "Administrer brugere",
"new-password": "New Password", "new-password": "Ny adgangskode",
"new-user": "Ny bruger", "new-user": "Ny bruger",
"password": "Adgangskode", "password": "Adgangskode",
"password-has-been-reset-to-the-default-password": "Password has been reset to the default password", "password-has-been-reset-to-the-default-password": "Adgangskode er blevet nulstillet til systemstandarden",
"password-must-match": "Password must match", "password-must-match": "Adgangskode skal matche",
"password-reset-failed": "Password reset failed", "password-reset-failed": "Nulstilling af adgangskode fejlede",
"password-updated": "Password updated", "password-updated": "Adgangskoden blev opdateret",
"reset-password": "Reset Password", "reset-password": "Nulstil adgangskoden",
"sign-in": "Log ind", "sign-in": "Log ind",
"total-mealplans": "Antal Madplaner", "total-mealplans": "Antal Madplaner",
"total-users": "Antal brugere", "total-users": "Antal brugere",
"upload-photo": "Upload Photo", "upload-photo": "Upload billede",
"use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password", "use-8-characters-or-more-for-your-password": "Adgangskode skal indeholde 8 tegn eller flere",
"user": "User", "user": "Bruger",
"user-created": "User created", "user-created": "Brugeren blev oprettet",
"user-creation-failed": "User creation failed", "user-creation-failed": "Oprettelsen af brugeren fejlede",
"user-deleted": "User deleted", "user-deleted": "Brugeren blev slettet",
"user-id": "Bruger ID", "user-id": "Bruger ID",
"user-id-with-value": "Bruger ID: {id}", "user-id-with-value": "Bruger ID: {id}",
"user-password": "Adgangskode", "user-password": "Adgangskode",
"user-successfully-logged-in": "User Successfully Logged In", "user-successfully-logged-in": "Brugeren blev succesfuld logget ind",
"user-update-failed": "User update failed", "user-update-failed": "Opdatering af bruger fejlede",
"user-updated": "User updated", "user-updated": "Bruger opdateret",
"username": "Username", "username": "Brugernavn",
"users": "Users", "users": "Brugere",
"users-header": "USERS", "users-header": "BRUGERE",
"webhook-time": "Webhook Tid", "webhook-time": "Webhook Tid",
"webhooks-enabled": "Webhooks Aktiveret", "webhooks-enabled": "Webhooks Aktiveret",
"you-are-not-allowed-to-create-a-user": "You are not allowed to create a user", "you-are-not-allowed-to-create-a-user": "Du har ikke rettigheder til at oprette en ny bruger",
"you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user" "you-are-not-allowed-to-delete-this-user": "Du har ikke rettigheder til at slette denne bruger"
} }
} }

View File

@ -197,16 +197,16 @@
"error-details": "Mealie kann Rezepte nur von Webseiten importieren, die Id+json oder Mikrodaten enthalten. Die meisten großen Rezeptwebseiten unterstützen diese Datenstruktur. Wenn das Rezept nicht importiert werden kann, aber JSON-Daten im Log vorhanden sind, melde es bitte mit der URL und diesen Daten auf GitHub.", "error-details": "Mealie kann Rezepte nur von Webseiten importieren, die Id+json oder Mikrodaten enthalten. Die meisten großen Rezeptwebseiten unterstützen diese Datenstruktur. Wenn das Rezept nicht importiert werden kann, aber JSON-Daten im Log vorhanden sind, melde es bitte mit der URL und diesen Daten auf GitHub.",
"error-title": "Anscheinend konnten wir nichts finden", "error-title": "Anscheinend konnten wir nichts finden",
"from-url": "Von URL", "from-url": "Von URL",
"github-issues": "GitHub Themen", "github-issues": "GitHub Issues",
"google-ld-json-info": "Google ld+json Info", "google-ld-json-info": "Google ld+json Info",
"must-be-a-valid-url": "Muss eine gültige URL sein", "must-be-a-valid-url": "Muss eine gültige URL sein",
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Füge deine Rezeptdaten ein. Jede Zeile wird als Eintrag in einer Liste dargestellt", "paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Füge deine Rezeptdaten ein. Jede Zeile wird als Eintrag in einer Liste dargestellt",
"recipe-markup-specification": "Recipe Markup Specification", "recipe-markup-specification": "Rezept Markup Spezifikation",
"recipe-url": "Rezept URL", "recipe-url": "Rezept URL",
"upload-a-recipe": "Rezept hochladen", "upload-a-recipe": "Rezept hochladen",
"upload-individual-zip-file": "Lade eine individuelle .zip-Datei hoch, die von einer anderen Mealie-Instanz exportiert wird.", "upload-individual-zip-file": "Lade eine individuelle .zip-Datei hoch, die von einer anderen Mealie-Instanz exportiert wird.",
"url-form-hint": "Kopiere einen Link von deiner Lieblingsrezept-Website und füge ihn ein", "url-form-hint": "Kopiere einen Link von deiner Lieblingsrezept-Website und füge ihn ein",
"view-scraped-data": "View Scraped Data" "view-scraped-data": "Gesammelte Daten anzeigen"
}, },
"page": { "page": {
"404-page-not-found": "404 Seite nicht gefunden", "404-page-not-found": "404 Seite nicht gefunden",
@ -486,4 +486,4 @@
"you-are-not-allowed-to-create-a-user": "Sie sind nicht berechtigt, einen Benutzer anzulegen", "you-are-not-allowed-to-create-a-user": "Sie sind nicht berechtigt, einen Benutzer anzulegen",
"you-are-not-allowed-to-delete-this-user": "Sie sind nicht berechtigt, diesen Benutzer zu entfernen" "you-are-not-allowed-to-delete-this-user": "Sie sind nicht berechtigt, diesen Benutzer zu entfernen"
} }
} }

View File

@ -1,489 +1,489 @@
{ {
"about": { "about": {
"about": "About", "about": "Σχετικά με",
"about-mealie": "About Mealie", "about-mealie": "Σχετικά με το Mealie",
"api-docs": "API Docs", "api-docs": "API Docs",
"api-port": "API Port", "api-port": "API Port",
"application-mode": "Application Mode", "application-mode": "Κατάσταση εφαρμογής",
"database-type": "Database Type", "database-type": "Τύπος βάσης δεδομένων",
"database-url": "Database URL", "database-url": "Database URL",
"default-group": "Default Group", "default-group": "Προεπιλεγμένη ομάδα",
"demo": "Demo", "demo": "Επίδειξη",
"demo-status": "Demo Status", "demo-status": "Κατάσταση επίδειξης",
"development": "Development", "development": "Ανάπτυξη",
"docs": "Docs", "docs": "Docs",
"download-log": "Download Log", "download-log": "Λήψη αρχείου καταγραφής",
"download-recipe-json": "Last Scraped JSON", "download-recipe-json": "Τελευταίο Scraped JSON",
"github": "Github", "github": "Github",
"log-lines": "Log Lines", "log-lines": "Γραμμές καταγραφής",
"not-demo": "Not Demo", "not-demo": "Όχι επίδειξη",
"portfolio": "Portfolio", "portfolio": "Χαρτοφυλάκιο",
"production": "Production", "production": "Παραγωγή",
"support": "Support", "support": "Υποστήριξη",
"version": "Version" "version": "Έκδοση"
}, },
"asset": { "asset": {
"assets": "Assets", "assets": "Στοιχεία",
"code": "Code", "code": "Code",
"file": "File", "file": "Αρχείο",
"image": "Image", "image": "Εικόνα",
"new-asset": "New Asset", "new-asset": "Νέο Στοιχείο",
"pdf": "PDF", "pdf": "PDF",
"recipe": "Recipe", "recipe": "Συνταγή",
"show-assets": "Show Assets" "show-assets": "Εμφάνιση Στοιχείων"
}, },
"category": { "category": {
"category-created": "Category created", "category-created": "Δημιουργήθηκε η κατηγορία",
"category-creation-failed": "Category creation failed", "category-creation-failed": "Η δημιουργία κατηγορίας απέτυχε",
"category-deleted": "Category Deleted", "category-deleted": "Κατηγορία Διαγράφηκε",
"category-deletion-failed": "Category deletion failed", "category-deletion-failed": "Η διαγραφή κατηγορίας απέτυχε",
"category-filter": "Category Filter", "category-filter": "Φίλτρο κατηγορίας",
"category-update-failed": "Category update failed", "category-update-failed": "Η ενημέρωση της κατηγορίας απέτυχε",
"category-updated": "Category updated", "category-updated": "Η κατηγορία ενημερώθηκε",
"uncategorized-count": "Uncategorized {count}" "uncategorized-count": "Μη κατηγοριοποιημένο {count}"
}, },
"events": { "events": {
"apprise-url": "Apprise URL", "apprise-url": "URL Έκπληξης",
"database": "Database", "database": "Βάση δεδομένων",
"delete-event": "Delete Event", "delete-event": "Διαγραφή γεγονότος",
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.", "new-notification-form-description": "Η Mealie χρησιμοποιεί τη βιβλιοθήκη Apprise για τη δημιουργία ειδοποιήσεων. Προσφέρουν πολλές επιλογές για τις υπηρεσίες που θα χρησιμοποιηθούν για ειδοποιήσεις. Ανατρέξτε στο wiki τους για έναν ολοκληρωμένο οδηγό για το πώς να δημιουργήσετε τη διεύθυνση URL για την υπηρεσία σας. Αν είναι διαθέσιμο, η επιλογή του τύπου της ειδοποίησής σας μπορεί να περιλαμβάνει επιπλέον χαρακτηριστικά.",
"new-version": "New version available!", "new-version": "Νέα έκδοση διαθέσιμη!",
"notification": "Notification", "notification": "Ειδοποίηση",
"refresh": "Refresh", "refresh": "Ανανέωση",
"scheduled": "Scheduled", "scheduled": "Προγραμματισμένο",
"something-went-wrong": "Something Went Wrong!", "something-went-wrong": "Κάτι δεν πήγε καλά!",
"subscribed-events": "Subscribed Events", "subscribed-events": "Εγγεγραμμένα Γεγονότα",
"test-message-sent": "Test Message Sent" "test-message-sent": "Το δοκιμαστικό μήνυμα εστάλη"
}, },
"general": { "general": {
"cancel": "Cancel", "cancel": "Άκυρο",
"clear": "Clear", "clear": "Εκκαθάριση",
"close": "Close", "close": "Κλείσιμο",
"confirm": "Confirm", "confirm": "Επιβεβαίωση",
"confirm-delete-generic": "Are you sure you want to delete this?", "confirm-delete-generic": "Είστε βέβαιοι ότι θέλετε να γίνει διαγραφή;",
"copied": "Copied", "copied": "Αντιγράφηκε",
"create": "Create", "create": "Δημιουργία",
"created": "Created", "created": "Δημιουργήθηκε",
"custom": "Custom", "custom": "Προσαρμοσμένο",
"dashboard": "Dashboard", "dashboard": "Ταμπλό",
"delete": "Delete", "delete": "Διαγραφή",
"disabled": "Disabled", "disabled": "Ανενεργό",
"download": "Download", "download": "Download",
"edit": "Edit", "edit": "Επεξεργασία",
"enabled": "Enabled", "enabled": "Ενεργό",
"exception": "Exception", "exception": "Εξαίρεση",
"failed-count": "Failed: {count}", "failed-count": "Απέτυχε: {count}",
"failure-uploading-file": "Failure uploading file", "failure-uploading-file": "Αποτυχία μεταφόρτωσης αρχείου",
"favorites": "Favorites", "favorites": "Αγαπημένα",
"field-required": "Field Required", "field-required": "Απαιτούμενο πεδίο",
"file-folder-not-found": "File/folder not found", "file-folder-not-found": "Το αρχείο/φάκελος δεν βρέθηκε",
"file-uploaded": "File uploaded", "file-uploaded": "Το αρχείο μεταφορτώθηκε",
"filter": "Filter", "filter": "Φίλτρο",
"friday": "Friday", "friday": "Παρασκευή",
"general": "General", "general": "Γενικά",
"get": "Get", "get": "Λήψη",
"home": "Home", "home": "Αρχική",
"image": "Image", "image": "Εικόνα",
"image-upload-failed": "Image upload failed", "image-upload-failed": "Η μεταφόρτωση της εικόνας απέτυχε",
"import": "Import", "import": "Εισαγωγή",
"json": "JSON", "json": "JSON",
"keyword": "Keyword", "keyword": "Λέξη-κλειδί",
"link-copied": "Link Copied", "link-copied": "Ο Σύνδεσμος Αντιγράφηκε",
"loading-recipes": "Loading Recipes", "loading-recipes": "Φόρτωση Συνταγών",
"monday": "Monday", "monday": "Δευτέρα",
"name": "Name", "name": "Όνομα",
"new": "New", "new": "Νέο",
"no": "No", "no": "Όχι",
"no-recipe-found": "No Recipe Found", "no-recipe-found": "Δεν βρέθηκαν συνταγές",
"ok": "OK", "ok": "ΟΚ",
"options": "Options:", "options": "Επιλογές:",
"print": "Print", "print": "Εκτύπωση",
"random": "Random", "random": "Τυχαίο",
"rating": "Rating", "rating": "Βαθμολόγηση",
"recent": "Recent", "recent": "Πρόσφατα",
"recipe": "Recipe", "recipe": "Συνταγή",
"recipes": "Recipes", "recipes": "Συνταγές",
"rename-object": "Rename {0}", "rename-object": "Μετονομασία {0}",
"reset": "Reset", "reset": "Επαναφορά",
"saturday": "Saturday", "saturday": "Σάββατο",
"save": "Save", "save": "Αποθήκευση",
"settings": "Settings", "settings": "Ρυθμίσεις",
"share": "Share", "share": "Κοινοποίηση",
"shuffle": "Shuffle", "shuffle": "Τυχαία",
"sort": "Sort", "sort": "Ταξινόμηση",
"sort-alphabetically": "Alphabetical", "sort-alphabetically": "Αλφαβητική",
"status": "Status", "status": "Κατάσταση",
"submit": "Submit", "submit": "Υποβολή",
"success-count": "Success: {count}", "success-count": "Επιτυχία: {count}",
"sunday": "Sunday", "sunday": "Κυριακή",
"templates": "Templates:", "templates": "Πρότυπα:",
"test": "Test", "test": "Δοκιμή",
"themes": "Themes", "themes": "Θέματα",
"thursday": "Thursday", "thursday": "Τρίτη",
"token": "Token", "token": "Token",
"tuesday": "Tuesday", "tuesday": "Τρίτη",
"type": "Type", "type": "Τύπος",
"update": "Update", "update": "Ενημέρωση",
"updated": "Updated", "updated": "Ενημερώθηκε",
"upload": "Upload", "upload": "Ανέβασμα",
"url": "URL", "url": "URL",
"view": "View", "view": "Προβολη",
"wednesday": "Wednesday", "wednesday": "Τετάρτη",
"yes": "Yes" "yes": "Ναι"
}, },
"group": { "group": {
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?", "are-you-sure-you-want-to-delete-the-group": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό τον ασφαλή σύνδεσμο <b>{groupName}<b/>;",
"cannot-delete-default-group": "Cannot delete default group", "cannot-delete-default-group": "Δεν μπορείς να διαγράψεις την προεπιλεγμένη ομάδα",
"cannot-delete-group-with-users": "Cannot delete group with users", "cannot-delete-group-with-users": "Δεν είναι δυνατή η διαγραφή ομάδας με χρήστες",
"confirm-group-deletion": "Confirm Group Deletion", "confirm-group-deletion": "Επιβεβαίωση Διαγραφής Ομάδας",
"create-group": "Create Group", "create-group": "Δημιουργία ομάδας",
"error-updating-group": "Error updating group", "error-updating-group": "Σφάλμα ενημέρωσης ομάδας",
"group": "Group", "group": "Ομάδα",
"group-deleted": "Group deleted", "group-deleted": "Ομάδα διαγράφηκε",
"group-deletion-failed": "Group deletion failed", "group-deletion-failed": "Αποτυχία διαγραφής ομάδας",
"group-id-with-value": "Group ID: {groupID}", "group-id-with-value": "Αναγνωριστικό ομάδας: {groupID}",
"group-name": "Group Name", "group-name": "Όνομα Ομάδας",
"group-not-found": "Group not found", "group-not-found": "Η Ομάδα δεν βρέθηκε",
"group-with-value": "Group: {groupID}", "group-with-value": "Ομάδα: {groupID}",
"groups": "Groups", "groups": "Ομάδες",
"manage-groups": "Manage Groups", "manage-groups": "Διαχείριση Ομάδων",
"user-group": "User Group", "user-group": "Ομάδες χρηστών",
"user-group-created": "User Group Created", "user-group-created": "Η Ομάδα Χρηστών Δημιουργήθηκε",
"user-group-creation-failed": "User Group Creation Failed" "user-group-creation-failed": "Αποτυχία Δημιουργίας Ομάδας Χρηστών"
}, },
"meal-plan": { "meal-plan": {
"create-a-new-meal-plan": "Create a New Meal Plan", "create-a-new-meal-plan": "Δημιουργία νέου σχεδίου γεύματος",
"dinner-this-week": "Dinner This Week", "dinner-this-week": "Δείπνο Αυτή Τη Εβδομάδα",
"dinner-today": "Dinner Today", "dinner-today": "Δείπνο Σήμερα",
"dinner-tonight": "DINNER TONIGHT", "dinner-tonight": "ΔΕΙΠΝΟ ΣΗΜΕΡΑ",
"edit-meal-plan": "Edit Meal Plan", "edit-meal-plan": "Επεξεργασία Πλάνου Γεύματος",
"end-date": "End Date", "end-date": "Ημερομηνία Λήξης",
"group": "Group (Beta)", "group": "Ομάδα (Beta)",
"main": "Main", "main": "Κεντρικό",
"meal-planner": "Meal Planner", "meal-planner": "Σχεδιασμός Γεύματος",
"meal-plans": "Meal Plans", "meal-plans": "Πλάνο Διατροφής",
"mealplan-categories": "MEALPLAN CATEGORIES", "mealplan-categories": "ΚΑΤΗΓΟΡΙΕΣ ΓΕΥΜΑΤΩΝ",
"mealplan-created": "Mealplan created", "mealplan-created": "Γεύμα δημιουργήθηκε",
"mealplan-creation-failed": "Mealplan creation failed", "mealplan-creation-failed": "Αποτυχία δημιουργίας γεύματος",
"mealplan-deleted": "Mealplan Deleted", "mealplan-deleted": "Το Γεύμα Διαγράφηκε",
"mealplan-deletion-failed": "Mealplan deletion failed", "mealplan-deletion-failed": "Αποτυχία διαγραφής γεύματος",
"mealplan-settings": "Mealplan Settings", "mealplan-settings": "Ρυθμίσεις Προγράμματος Γεύματος",
"mealplan-update-failed": "Mealplan update failed", "mealplan-update-failed": "Η ενημέρωση του Mealplan απέτυχε",
"mealplan-updated": "Mealplan Updated", "mealplan-updated": "Το Γεύμα Ενημερώθηκε",
"no-meal-plan-defined-yet": "No meal plan defined yet", "no-meal-plan-defined-yet": "Δεν έχει οριστεί ακόμα σχέδιο γεύματος",
"no-meal-planned-for-today": "No meal planned for today", "no-meal-planned-for-today": "Δεν έχει προγραμματιστεί γεύμα για σήμερα",
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans", "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Μόνο συνταγές με αυτές τις κατηγορίες θα χρησιμοποιηθούν στα σχέδια γεύματος",
"planner": "Planner", "planner": "Προγραμματισμός",
"quick-week": "Quick Week", "quick-week": "Γρήγορη προβολή",
"side": "Side", "side": "Πλευρά",
"sides": "Sides", "sides": "Πλευρές",
"start-date": "Start Date" "start-date": "Ημερομηνία έναρξης"
}, },
"migration": { "migration": {
"chowdown": { "chowdown": {
"description": "Migrate data from Chowdown", "description": "Μετεγκατάσταση δεδομένων από Chowdown",
"title": "Chowdown" "title": "Μετατόπιση"
}, },
"migration-data-removed": "Migration data removed", "migration-data-removed": "Τα δεδομένα μεταφοράς αφαιρέθηκαν",
"nextcloud": { "nextcloud": {
"description": "Migrate data from a Nextcloud Cookbook instance", "description": "Μετεγκατάσταση δεδομένων από μια παρουσία Nextcloud Cookbook",
"title": "Nextcloud Cookbook" "title": "Βιβλίο Cookbook Nextcloud"
}, },
"no-migration-data-available": "No Migration Data Available", "no-migration-data-available": "Δεν Υπάρχουν Διαθέσιμα Δεδομένα Μεταφοράς",
"recipe-migration": "Recipe Migration" "recipe-migration": "Μεταφορά Συνταγής"
}, },
"new-recipe": { "new-recipe": {
"bulk-add": "Bulk Add", "bulk-add": "Μαζική Προσθήκη",
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.", "error-details": "Μόνο ιστοσελίδες που περιέχουν ld+json ή μικροδεδομένα μπορούν να εισαχθούν από την Mealie. Οι πιο σημαντικές ιστοσελίδες συνταγών υποστηρίζουν αυτή τη δομή δεδομένων. Αν το site σας δεν μπορεί να εισαχθεί, αλλά υπάρχουν δεδομένα json στο αρχείο καταγραφής, παρακαλούμε να υποβάλετε ένα github πρόβλημα με το URL και τα δεδομένα.",
"error-title": "Looks Like We Couldn't Find Anything", "error-title": "Φαίνεται Όπως Δεν Μπορούσαμε Να βρούμε Οτιδήποτε",
"from-url": "Import a Recipe", "from-url": "Εισαγωγή συνταγής",
"github-issues": "GitHub Issues", "github-issues": "GitHub Issues",
"google-ld-json-info": "Google ld+json Info", "google-ld-json-info": "Google ld+json Info",
"must-be-a-valid-url": "Must be a Valid URL", "must-be-a-valid-url": "Πρέπει να είναι ένα έγκυρο URL",
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list", "paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Επικόλληση δεδομένων συνταγών σας. Κάθε γραμμή θα αντιμετωπίζεται ως αντικείμενο σε μια λίστα",
"recipe-markup-specification": "Recipe Markup Specification", "recipe-markup-specification": "Προδιαγραφή Σημείωσης Συνταγής",
"recipe-url": "Recipe URL", "recipe-url": "URL Συνταγής",
"upload-a-recipe": "Upload a Recipe", "upload-a-recipe": "Ανεβάστε μια συνταγή",
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.", "upload-individual-zip-file": "Ανεβάστε ένα μεμονωμένο αρχείο .zip που εξάγεται από μια άλλη περίπτωση Mealie.",
"url-form-hint": "Copy and paste a link from your favorite recipe website", "url-form-hint": "Αντιγράψτε και επικολλήστε έναν σύνδεσμο από την αγαπημένη σας ιστοσελίδα συνταγών",
"view-scraped-data": "View Scraped Data" "view-scraped-data": "Προβολή Παραγόμενων Δεδομένων"
}, },
"page": { "page": {
"404-page-not-found": "404 Page not found", "404-page-not-found": "404. η σελίδα δεν βρέθηκε",
"all-recipes": "All Recipes", "all-recipes": "Όλες Οι Συνταγές",
"new-page-created": "New page created", "new-page-created": "Νέα σελίδα δημιουργήθηκε",
"page": "Page", "page": "Σελίδα",
"page-creation-failed": "Page creation failed", "page-creation-failed": "Αποτυχία δημιουργίας σελίδας",
"page-deleted": "Page deleted", "page-deleted": "Η σελίδα διαγράφηκε",
"page-deletion-failed": "Page deletion failed", "page-deletion-failed": "Η διαγραφή σελίδας απέτυχε",
"page-update-failed": "Page update failed", "page-update-failed": "Αποτυχία ενημέρωσης σελίδας",
"page-updated": "Page updated", "page-updated": "Η σελίδα ενημερώθηκε",
"pages-update-failed": "Pages update failed", "pages-update-failed": "Αποτυχία ενημέρωσης σελίδων",
"pages-updated": "Pages updated" "pages-updated": "Οι σελίδες ενημερώθηκαν"
}, },
"recipe": { "recipe": {
"add-key": "Add Key", "add-key": "Προσθήκη Κλειδιού",
"add-to-favorites": "Add to Favorites", "add-to-favorites": "Προσθήκη στα αγαπημένα",
"api-extras": "API Extras", "api-extras": "API Extras",
"calories": "Calories", "calories": "Θερμίδες",
"calories-suffix": "calories", "calories-suffix": "θερμίδες",
"carbohydrate-content": "Carbohydrate", "carbohydrate-content": "Υδατάνθρακες",
"categories": "Categories", "categories": "Κατηγορίες",
"comment-action": "Comment", "comment-action": "Σχόλιο",
"comments": "Comments", "comments": "Σχόλια",
"delete-confirmation": "Are you sure you want to delete this recipe?", "delete-confirmation": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτή τη συνταγή;",
"delete-recipe": "Delete Recipe", "delete-recipe": "Διαγραφή Συνταγής",
"description": "Description", "description": "Περιγραφή",
"disable-amount": "Disable Ingredient Amounts", "disable-amount": "Απενεργοποίηση Ποσών Συστατικών",
"disable-comments": "Disable Comments", "disable-comments": "Απενεργοποιηση σχολιων",
"fat-content": "Fat", "fat-content": "Λιπαρά",
"fiber-content": "Fiber", "fiber-content": "Ίνα",
"grams": "grams", "grams": "γραμμάρια",
"ingredient": "Ingredient", "ingredient": "Συστατικό",
"ingredients": "Ingredients", "ingredients": "Συστατικά",
"insert-section": "Insert Section", "insert-section": "Εισαγωγή ενότητας",
"instructions": "Instructions", "instructions": "Οδηγίες",
"key-name-required": "Key Name Required", "key-name-required": "Απαιτείται Όνομα Κλειδιού",
"landscape-view-coming-soon": "Landscape View (Coming Soon)", "landscape-view-coming-soon": "Οριζόντια Προβολή (Σύντομα)",
"milligrams": "milligrams", "milligrams": "χιλιοστόγραμμα",
"new-key-name": "New Key Name", "new-key-name": "Νέο Όνομα Κλειδιού",
"no-white-space-allowed": "No White Space Allowed", "no-white-space-allowed": "Δεν Επιτρέπεται Άσπρος Χώρος",
"note": "Note", "note": "Σημείωση",
"nutrition": "Nutrition", "nutrition": "Διατροφή",
"object-key": "Object Key", "object-key": "Κλειδί Αντικειμένου",
"object-value": "Object Value", "object-value": "Τιμή αντικειμένου",
"original-url": "Original URL", "original-url": "Αρχική URL",
"perform-time": "Cook Time", "perform-time": "Χρόνος Μαγειρέματος",
"prep-time": "Prep Time", "prep-time": "Χρόνος Προετοιμασίας",
"protein-content": "Protein", "protein-content": "Πρωτεΐνες",
"public-recipe": "Public Recipe", "public-recipe": "Δημόσια Συνταγή",
"recipe-created": "Recipe created", "recipe-created": "Η συνταγή δημιουργήθηκε",
"recipe-creation-failed": "Recipe creation failed", "recipe-creation-failed": "Η δημιουργία συνταγής απέτυχε",
"recipe-deleted": "Recipe deleted", "recipe-deleted": "Η συνταγή διαγράφηκε",
"recipe-image": "Recipe Image", "recipe-image": "Εικόνα Συνταγής",
"recipe-image-updated": "Recipe image updated", "recipe-image-updated": "Η εικόνα συνταγής ενημερώθηκε",
"recipe-name": "Recipe Name", "recipe-name": "Όνομα συνταγής",
"recipe-settings": "Recipe Settings", "recipe-settings": "Ρυθμίσεις Συνταγής",
"recipe-update-failed": "Recipe update failed", "recipe-update-failed": "Η ενημέρωση συνταγής απέτυχε",
"recipe-updated": "Recipe updated", "recipe-updated": "Η συνταγή ενημερώθηκε",
"remove-from-favorites": "Remove from Favorites", "remove-from-favorites": "Διαγραφή από τα Αγαπημένα",
"remove-section": "Remove Section", "remove-section": "Αφαίρεση Ενότητας",
"save-recipe-before-use": "Save recipe before use", "save-recipe-before-use": "Αποθήκευση συνταγής πριν τη χρήση",
"section-title": "Section Title", "section-title": "Τμήμα Τίτλου",
"servings": "Servings", "servings": "Σερβίρισμα",
"share-recipe-message": "I wanted to share my {0} recipe with you.", "share-recipe-message": "Ήθελα να μοιραστώ την {0} συνταγή μου μαζί σας.",
"show-nutrition-values": "Show Nutrition Values", "show-nutrition-values": "Εμφάνιση Τιμών Διατροφής",
"sodium-content": "Sodium", "sodium-content": "Νάτριο",
"step-index": "Step: {step}", "step-index": "Βήμα: {step}",
"sugar-content": "Sugar", "sugar-content": "Ζάχαρη",
"title": "Title", "title": "Τίτλος",
"total-time": "Total Time", "total-time": "Συνολικός Χρόνος",
"unable-to-delete-recipe": "Unable to Delete Recipe" "unable-to-delete-recipe": "Αδυναμία διαγραφής συνταγής"
}, },
"reicpe": { "reicpe": {
"no-recipe": "No Recipe" "no-recipe": "Καμία Συνταγή"
}, },
"search": { "search": {
"advanced-search": "Advanced Search", "advanced-search": "Σύνθετη Αναζήτηση",
"and": "and", "and": "και",
"exclude": "Exclude", "exclude": "Εξαίρεση",
"include": "Include", "include": "Συμπερίληψη",
"max-results": "Max Results", "max-results": "Μέγιστα Αποτελέσματα",
"or": "Or", "or": "Ή",
"results": "Results", "results": "Αποτελέσματα",
"search": "Search", "search": "Αναζήτηση",
"search-mealie": "Search Mealie (press /)", "search-mealie": "Αναζήτηση Mealie (πατήστε /)",
"search-placeholder": "Search...", "search-placeholder": "Αναζήτηση...",
"tag-filter": "Tag Filter" "tag-filter": "Φίλτρο Ετικέτας"
}, },
"settings": { "settings": {
"add-a-new-theme": "Add a New Theme", "add-a-new-theme": "Προσθήκη νέου θέματος",
"admin-settings": "Admin Settings", "admin-settings": "Ρυθμίσεις Διαχειριστή",
"backup": { "backup": {
"backup-created-at-response-export_path": "Backup Created at {path}", "backup-created-at-response-export_path": "Αντίγραφο ασφαλείας αποθηκεύτηκαν στο: {path}",
"backup-deleted": "Backup deleted", "backup-deleted": "Το Αντίγραφο διαγράφηκε",
"backup-tag": "Backup Tag", "backup-tag": "Αντίγραφο Ετικέτας",
"create-heading": "Create a Backup", "create-heading": "Δημιουργία αντιγράφου ασφαλείας",
"delete-backup": "Delete Backup", "delete-backup": "Διαγραφή Αντιγράφου Ασφαλείας",
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File", "error-creating-backup-see-log-file": "Σφάλμα Δημιουργίας Αντιγράφου Ασφαλείας. Δείτε Το Αρχείο Καταγραφής",
"full-backup": "Full Backup", "full-backup": "Πλήρες αντίγραφο ασφαλείας",
"import-summary": "Import Summary", "import-summary": "Εισαγωγή Περίληψης",
"partial-backup": "Partial Backup", "partial-backup": "Μερικό Αντίγραφο Ασφαλείας",
"unable-to-delete-backup": "Unable to Delete Backup." "unable-to-delete-backup": "Αδυναμία διαγραφής αντιγράφου ασφαλείας."
}, },
"backup-and-exports": "Backups", "backup-and-exports": "Αντίγραφα ασφαλείας",
"change-password": "Change Password", "change-password": "Αλλαγή κωδικού",
"current": "Version:", "current": "Έκδοση:",
"custom-pages": "Custom Pages", "custom-pages": "Προσαρμοσμένες Σελίδες",
"edit-page": "Edit Page", "edit-page": "Επεξεργασία σελίδας",
"events": "Events", "events": "Συμβάντα",
"first-day-of-week": "First day of the week", "first-day-of-week": "Πρώτη ημέρα της εβδομάδας",
"group-settings-updated": "Group Settings Updated", "group-settings-updated": "Ενημέρωση Ρυθμίσεων Ομάδας",
"homepage": { "homepage": {
"all-categories": "All Categories", "all-categories": "Όλες Οι Κατηγορίες",
"card-per-section": "Card Per Section", "card-per-section": "Κάρτα Ανά Τμήμα",
"home-page": "Home Page", "home-page": "Αρχική Σελίδα",
"home-page-sections": "Home Page Sections", "home-page-sections": "Επιλογές αρχικής σελίδας",
"show-recent": "Show Recent" "show-recent": "Εμφάνιση Πρόσφατων"
}, },
"language": "Language", "language": "Γλώσσα",
"latest": "Latest", "latest": "Πρόσφατα",
"local-api": "Local API", "local-api": "Τοπικό API",
"locale-settings": "Locale settings", "locale-settings": "Τοπικές ρυθμίσεις",
"migrations": "Migrations", "migrations": "Μετεγκαταστάσεις",
"new-page": "New Page", "new-page": "Νέα σελίδα",
"notify": "Notify", "notify": "Ειδοποίηση",
"organize": "Organize", "organize": "Οργάνωση",
"page-name": "Page Name", "page-name": "Όνομα σελίδας",
"pages": "Pages", "pages": "Σελίδες",
"profile": "Profile", "profile": "Προφίλ",
"remove-existing-entries-matching-imported-entries": "Remove existing entries matching imported entries", "remove-existing-entries-matching-imported-entries": "Αφαιρέστε τις υπάρχουσες καταχωρήσεις που ταιριάζουν στις εισαγόμενες καταχωρήσεις",
"set-new-time": "Set New Time", "set-new-time": "Ορισμός Νέας Ώρας",
"settings-update-failed": "Settings update failed", "settings-update-failed": "Η ενημέρωση των ρυθμίσεων απέτυχε",
"settings-updated": "Settings updated", "settings-updated": "Οι ρυθμίσεις ενημερώθηκαν",
"site-settings": "Site Settings", "site-settings": "Ρυθμίσεις Ιστοσελίδας",
"theme": { "theme": {
"accent": "Accent", "accent": "Έμφαση",
"dark": "Dark", "dark": "Σκούρο",
"default-to-system": "Default to system", "default-to-system": "Προεπιλογή στο σύστημα",
"error": "Error", "error": "Σφάλμα",
"error-creating-theme-see-log-file": "Error creating theme. See log file.", "error-creating-theme-see-log-file": "Σφάλμα δημιουργίας θέματος. Δείτε το αρχείο καταγραφής.",
"error-deleting-theme": "Error deleting theme", "error-deleting-theme": "Σφάλμα διαγραφής θέματος",
"error-updating-theme": "Error updating theme", "error-updating-theme": "Σφάλμα ενημέρωσης θέματος",
"info": "Info", "info": "Πληροφορίες",
"light": "Light", "light": "Ελαφρύ",
"primary": "Primary", "primary": "Πρωτεύον",
"secondary": "Secondary", "secondary": "Δευτερεύων",
"success": "Success", "success": "Επιτυχής",
"switch-to-dark-mode": "Switch to dark mode", "switch-to-dark-mode": "Εναλλαγή σε σκοτεινή λειτουργία",
"switch-to-light-mode": "Switch to light mode", "switch-to-light-mode": "Εναλλαγή σε φωτεινή λειτουργία",
"theme-deleted": "Theme deleted", "theme-deleted": "Το θέμα διαγράφτηκε",
"theme-name": "Theme Name", "theme-name": "Όνομα Θέματος",
"theme-name-is-required": "Theme Name is required.", "theme-name-is-required": "Απαιτείται όνομα θέματος.",
"theme-saved": "Theme Saved", "theme-saved": "Το Θέμα Αποθηκεύτηκε",
"theme-updated": "Theme updated", "theme-updated": "Το θέμα ενημερώθηκε",
"warning": "Warning" "warning": "Προσοχή"
}, },
"token": { "token": {
"active-tokens": "ACTIVE TOKENS", "active-tokens": "ΕΝΕΡΓΑ TOKENS",
"api-token": "API Token", "api-token": "API Token",
"api-tokens": "API Tokens", "api-tokens": "API Tokens",
"copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Copy this token for use with an external application. This token will not be viewable again.", "copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Αντιγράψτε αυτό το token για χρήση με μια εξωτερική εφαρμογή. Αυτό το token δεν θα είναι ορατό ξανά.",
"create-an-api-token": "Create an API Token", "create-an-api-token": "Δημιουργία νέου Token API",
"token-name": "Token Name" "token-name": "Όνομα token"
}, },
"toolbox": { "toolbox": {
"assign-all": "Assign All", "assign-all": "Ανάθεση Όλων",
"bulk-assign": "Bulk Assign", "bulk-assign": "Μαζική Ανάθεση",
"new-name": "New Name", "new-name": "Νέο όνομα",
"no-unused-items": "No Unused Items", "no-unused-items": "Χωρίς Αχρησιμοποίητα Στοιχεία",
"recipes-affected": "No Recipes Affected|One Recipe Affected|{count} Recipes Affected", "recipes-affected": "Δεν επηρεάζονται συνταγές|Μια συνταγή επηρεάζεται|{count} Επηρεαζόμενες συνταγές",
"remove-unused": "Remove Unused", "remove-unused": "Αφαίρεση αχρησιμοποίητων",
"title-case-all": "Title Case All", "title-case-all": "Γράμματα Τίτλου Όλα",
"toolbox": "Toolbox", "toolbox": "Εργαλειοθήκη",
"unorganized": "Unorganized" "unorganized": "Ανοργάνωτος"
}, },
"webhooks": { "webhooks": {
"test-webhooks": "Test 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": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at", "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 URL", "webhook-url": "Webhook URL",
"webhooks-caps": "WEBHOOKS" "webhooks-caps": "WEBHOOKS"
} }
}, },
"shopping-list": { "shopping-list": {
"all-lists": "All Lists", "all-lists": "Όλες οι λίστες",
"create-shopping-list": "Create Shopping List", "create-shopping-list": "Δημιουργία Λίστας Αγορών",
"from-recipe": "From Recipe", "from-recipe": "Από Τη Συνταγή",
"list-name": "List Name", "list-name": "Όνομα λίστας",
"new-list": "New List", "new-list": "Νέα λίστα",
"quantity": "Quantity: {0}", "quantity": "Ποσότητα: {0}",
"shopping-list": "Shopping List", "shopping-list": "Λίστα αγορών",
"shopping-lists": "Shopping Lists" "shopping-lists": "Λίστες Αγορών"
}, },
"sidebar": { "sidebar": {
"all-recipes": "All Recipes", "all-recipes": "Συνταγές όλες",
"categories": "Categories", "categories": "Κατηγορίες",
"dashboard": "Dashboard", "dashboard": "Ταμπλό",
"home-page": "Home Page", "home-page": "Αρχική Σελίδα",
"manage-users": "Manage Users", "manage-users": "Διαχ. χρηστών",
"migrations": "Migrations", "migrations": "Μετάβαση",
"profile": "Profile", "profile": "Προφίλ",
"search": "Search", "search": "Αναζήτηση",
"site-settings": "Site Settings", "site-settings": "Ρυθμ. site",
"tags": "Tags", "tags": "Ετικέτα",
"toolbox": "Toolbox" "toolbox": "Εργαλειοθήκη"
}, },
"signup": { "signup": {
"error-signing-up": "Error Signing Up", "error-signing-up": "Σφάλμα Στην Υπογραφή",
"sign-up": "Sign Up", "sign-up": "Εγγραφή",
"sign-up-link-created": "Sign up link created", "sign-up-link-created": "Δημιουργήθηκε σύνδεσμος εγγραφής",
"sign-up-link-creation-failed": "Sign up link creation failed", "sign-up-link-creation-failed": "Δημιουργία συνδέσμου εγγραφής απέτυχε",
"sign-up-links": "Sign Up Links", "sign-up-links": "Σύνδεσμοι Εγγραφής",
"sign-up-token-deleted": "Sign Up Token Deleted", "sign-up-token-deleted": "Εγγραφή Διακριτικού Διαγράφηκε",
"sign-up-token-deletion-failed": "Sign up token deletion failed", "sign-up-token-deletion-failed": "Αποτυχία διαγραφής διακριτικού εγγραφής",
"welcome-to-mealie": "Welcome to Mealie! To become a user of this instance you are required to have a valid invitation link. If you haven't recieved an invitation you are unable to sign-up. To recieve a link, contact the sites administrator." "welcome-to-mealie": "Καλώς ήρθατε στο Mealie! Για να γίνετε χρήστης αυτής της διεργασίας θα πρέπει να έχετε έναν έγκυρο σύνδεσμο πρόσκλησης. Αν δεν έχετε λάβει πρόσκληση δεν μπορείτε να εγγραφείτε. Για να λάβετε ένα σύνδεσμο, επικοινωνήστε με το διαχειριστή του ιστότοπου."
}, },
"tag": { "tag": {
"tag-created": "Tag created", "tag-created": "Η ετικέτα δημιουργήθηκε",
"tag-creation-failed": "Tag creation failed", "tag-creation-failed": "Αποτυχία δημιουργίας ετικέτας",
"tag-deleted": "Tag deleted", "tag-deleted": "Η ετικέτα διαγράφεται",
"tag-deletion-failed": "Tag deletion failed", "tag-deletion-failed": "Αποτυχία διαγραφής της ετικέτας",
"tag-update-failed": "Tag update failed", "tag-update-failed": "Αποτυχία ενημέρωσης της ετικέτας",
"tag-updated": "Tag updated", "tag-updated": "Ετικέτα ενημερώθηκε",
"tags": "Tags", "tags": "Ετικέτες",
"untagged-count": "Untagged {count}" "untagged-count": "Χωρίς ετικέτα {count}"
}, },
"user": { "user": {
"admin": "Admin", "admin": "Διαχειριστής",
"are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link <b>{link}<b/>?", "are-you-sure-you-want-to-delete-the-link": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό τον ασφαλή σύνδεσμο <b>{link}<b/>;",
"are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user <b>{activeName} ID: {activeId}<b/>?", "are-you-sure-you-want-to-delete-the-user": "Είστε βέβαιοι ότι θέλετε να διαγράψετε τον χρήστη <b>{activeName} ID: {activeId}<b/>;",
"confirm-link-deletion": "Confirm Link Deletion", "confirm-link-deletion": "Επιβεβαίωση διαγραφής",
"confirm-password": "Confirm Password", "confirm-password": "Επιβεβαίωση Κωδικού",
"confirm-user-deletion": "Confirm User Deletion", "confirm-user-deletion": "Επιβεβαίωση Διαγραφής Χρήστη",
"could-not-validate-credentials": "Could Not Validate Credentials", "could-not-validate-credentials": "Αδυναμία Επικύρωσης Διαπιστευτηρίων",
"create-link": "Create Link", "create-link": "Δημιουργία Συνδέσμου",
"create-user": "Create User", "create-user": "Δημιουργία χρήστη",
"current-password": "Current Password", "current-password": "Τρέχον Κωδικός",
"e-mail-must-be-valid": "E-mail must be valid", "e-mail-must-be-valid": "To e-mail δεν είναι έγκυρο",
"edit-user": "Edit User", "edit-user": "Επεξεργασία Χρήστη",
"email": "Email", "email": "Email",
"error-cannot-delete-super-user": "Error! Cannot Delete Super User", "error-cannot-delete-super-user": "Σφάλμα! Αδυναμία Διαγραφής Υπερχρήστη",
"existing-password-does-not-match": "Existing password does not match", "existing-password-does-not-match": "Ο υπάρχων κωδικός πρόσβασης δεν ταιριάζει",
"full-name": "Full Name", "full-name": "Πλήρες όνομα",
"link-id": "Link ID", "link-id": "Σύνδεσμος ID",
"link-name": "Link Name", "link-name": "Όνομα συνδέσμου",
"login": "Login", "login": "Σύνδεση",
"logout": "Logout", "logout": "Αποσύνδεση",
"manage-users": "Manage Users", "manage-users": "Διαχείριση χρηστών",
"new-password": "New Password", "new-password": "Νέος Κωδικός",
"new-user": "New User", "new-user": "Νέος χρήστης",
"password": "Password", "password": "Κωδικός",
"password-has-been-reset-to-the-default-password": "Password has been reset to the default password", "password-has-been-reset-to-the-default-password": "Ο κωδικός πρόσβασης έχει επαναφερθεί στον προεπιλεγμένο κωδικό",
"password-must-match": "Password must match", "password-must-match": "Οι κωδικοί πρέπει να είναι ίδιοι",
"password-reset-failed": "Password reset failed", "password-reset-failed": "Αποτυχία επαναφοράς κωδικού πρόσβασης",
"password-updated": "Password updated", "password-updated": "Ο κωδικός πρόσβασης ενημερώθηκε",
"reset-password": "Reset Password", "reset-password": "Επαναφορά Κωδικού",
"sign-in": "Sign in", "sign-in": "Είσοδος",
"total-mealplans": "Total MealPlans", "total-mealplans": "Σύνολο Σχεδίων Γεύματος",
"total-users": "Total Users", "total-users": "Σύνολο Χρηστών",
"upload-photo": "Upload Photo", "upload-photo": "Ανέβασμα φωτογραφίας",
"use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password", "use-8-characters-or-more-for-your-password": "Χρησιμοποιήστε 8 ή περισσότερους χαρακτήρες για τον κωδικό σας",
"user": "User", "user": "Χρήστης",
"user-created": "User created", "user-created": "Ο χρήστης δημιουργήθηκε",
"user-creation-failed": "User creation failed", "user-creation-failed": "Απέτυχε η δημιουργία χρήστη",
"user-deleted": "User deleted", "user-deleted": "Ο χρήστης διαγράφηκε",
"user-id": "User ID", "user-id": "ID Χρήστη",
"user-id-with-value": "User ID: {id}", "user-id-with-value": "ID χρήστη: {id}",
"user-password": "User Password", "user-password": "Κωδικός Χρήστη",
"user-successfully-logged-in": "User Successfully Logged In", "user-successfully-logged-in": "Συνδεθήκατε επιτυχώς",
"user-update-failed": "User update failed", "user-update-failed": "Αποτυχία ενημέρωσης χρήστη",
"user-updated": "User updated", "user-updated": "Ο χρήστης ενημερώθηκε",
"username": "Username", "username": "Όνομα Χρήστη",
"users": "Users", "users": "Χρήστες",
"users-header": "USERS", "users-header": "ΧΡΗΣΤΕΣ",
"webhook-time": "Webhook Time", "webhook-time": "Χρόνος Webhook",
"webhooks-enabled": "Webhooks Enabled", "webhooks-enabled": "Το webhook είναι ενεργό",
"you-are-not-allowed-to-create-a-user": "You are not allowed to create a user", "you-are-not-allowed-to-create-a-user": "Δεν επιτρέπεται να δημιουργήσετε ένα χρήστη",
"you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user" "you-are-not-allowed-to-delete-this-user": "Δεν επιτρέπεται να διαγράψετε αυτόν τον χρήστη"
} }
} }

View File

@ -13,7 +13,7 @@
"development": "Desarrollo", "development": "Desarrollo",
"docs": "Documentación", "docs": "Documentación",
"download-log": "Descargar Log", "download-log": "Descargar Log",
"download-recipe-json": "Último JSON raspado", "download-recipe-json": "Último JSON recuperado",
"github": "Github", "github": "Github",
"log-lines": "Líneas de registro", "log-lines": "Líneas de registro",
"not-demo": "No Demo", "not-demo": "No Demo",
@ -144,7 +144,7 @@
"group-id-with-value": "ID del Grupo: {groupID}", "group-id-with-value": "ID del Grupo: {groupID}",
"group-name": "Nombre del Grupo", "group-name": "Nombre del Grupo",
"group-not-found": "Grupo no encontrado", "group-not-found": "Grupo no encontrado",
"group-with-value": "Group: {groupID}", "group-with-value": "Grupo: {groupID}",
"groups": "Grupos", "groups": "Grupos",
"manage-groups": "Administrar grupos", "manage-groups": "Administrar grupos",
"user-group": "Grupo de usuarios", "user-group": "Grupo de usuarios",
@ -158,7 +158,7 @@
"dinner-tonight": "Cena para esta noche", "dinner-tonight": "Cena para esta noche",
"edit-meal-plan": "Editar menú", "edit-meal-plan": "Editar menú",
"end-date": "Fecha de Finalización", "end-date": "Fecha de Finalización",
"group": "Grupo (Beta)", "group": "Agrupar (Beta)",
"main": "Principal", "main": "Principal",
"meal-planner": "Menús", "meal-planner": "Menús",
"meal-plans": "Menús", "meal-plans": "Menús",
@ -174,9 +174,9 @@
"no-meal-planned-for-today": "No hay ningún menú para hoy", "no-meal-planned-for-today": "No hay ningún menú para hoy",
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Sólo las recetas con estas categorías se utilizarán en los menús", "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Sólo las recetas con estas categorías se utilizarán en los menús",
"planner": "Planificador", "planner": "Planificador",
"quick-week": "Vista rápida", "quick-week": "Plan rápido",
"side": "Entremés", "side": "Guarnición",
"sides": "Entremeses", "sides": "Guarniciones",
"start-date": "Fecha de Inicio" "start-date": "Fecha de Inicio"
}, },
"migration": { "migration": {
@ -197,16 +197,16 @@
"error-details": "Sólo los sitios web que contengan ld+json o microdatos pueden ser importados por Mealie. La mayoría de los sitios web de recetas principales soportan esta estructura de datos. Si su sitio no puede ser importado pero hay datos json en el registro, por favor envíe un problema a github con la URL y los datos.", "error-details": "Sólo los sitios web que contengan ld+json o microdatos pueden ser importados por Mealie. La mayoría de los sitios web de recetas principales soportan esta estructura de datos. Si su sitio no puede ser importado pero hay datos json en el registro, por favor envíe un problema a github con la URL y los datos.",
"error-title": "Parece que no hemos podido encontrar nada", "error-title": "Parece que no hemos podido encontrar nada",
"from-url": "Importar una receta", "from-url": "Importar una receta",
"github-issues": "GitHub Issues", "github-issues": "Incidencia de Github",
"google-ld-json-info": "Google ld+json Info", "google-ld-json-info": "Google ld+json Info",
"must-be-a-valid-url": "Must be a Valid URL", "must-be-a-valid-url": "Debe ser una URL válida",
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Pegar los datos de tu receta. Cada línea será tratada como un elemento de una lista", "paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Pegar los datos de tu receta. Cada línea será tratada como un elemento de una lista",
"recipe-markup-specification": "Recipe Markup Specification", "recipe-markup-specification": "Definición de Markup de la receta",
"recipe-url": "URL de la receta", "recipe-url": "URL de la receta",
"upload-a-recipe": "Upload a Recipe", "upload-a-recipe": "Subir una receta",
"upload-individual-zip-file": "Sube un archivo .zip individual exportado desde otra instancia de Mealie.", "upload-individual-zip-file": "Sube un archivo .zip individual exportado desde otra instancia de Mealie.",
"url-form-hint": "Copia y pega un enlace desde tu página web favorita", "url-form-hint": "Copia y pega un enlace desde tu página web favorita",
"view-scraped-data": "View Scraped Data" "view-scraped-data": "Ver información recuperada"
}, },
"page": { "page": {
"404-page-not-found": "404 Página no encontrada", "404-page-not-found": "404 Página no encontrada",
@ -249,8 +249,8 @@
"new-key-name": "Nuevo nombre de clave", "new-key-name": "Nuevo nombre de clave",
"no-white-space-allowed": "No se permite espacio en blanco", "no-white-space-allowed": "No se permite espacio en blanco",
"note": "Nota", "note": "Nota",
"nutrition": "Nutrición", "nutrition": "Valores nutricionales",
"object-key": "Clave de objeto", "object-key": "Nombre de la clave",
"object-value": "Valor del objeto", "object-value": "Valor del objeto",
"original-url": "URL original", "original-url": "URL original",
"perform-time": "Tiempo de cocción", "perform-time": "Tiempo de cocción",
@ -275,7 +275,7 @@
"show-nutrition-values": "Mostrar valores nutricionales", "show-nutrition-values": "Mostrar valores nutricionales",
"sodium-content": "Sodio", "sodium-content": "Sodio",
"step-index": "Paso: {step}", "step-index": "Paso: {step}",
"sugar-content": "Azúcar", "sugar-content": "Azúcares",
"title": "Título", "title": "Título",
"total-time": "Tiempo total", "total-time": "Tiempo total",
"unable-to-delete-recipe": "No se puede eliminar la receta" "unable-to-delete-recipe": "No se puede eliminar la receta"
@ -298,7 +298,7 @@
}, },
"settings": { "settings": {
"add-a-new-theme": "Añadir un nuevo tema", "add-a-new-theme": "Añadir un nuevo tema",
"admin-settings": "Configuración del Administrador", "admin-settings": "Opciones del adminstrador",
"backup": { "backup": {
"backup-created-at-response-export_path": "Copia de seguridad creada en {path}", "backup-created-at-response-export_path": "Copia de seguridad creada en {path}",
"backup-deleted": "Copia de seguridad eliminada", "backup-deleted": "Copia de seguridad eliminada",
@ -329,7 +329,7 @@
"language": "Idioma", "language": "Idioma",
"latest": "Nuevo", "latest": "Nuevo",
"local-api": "API local", "local-api": "API local",
"locale-settings": "Configuración local", "locale-settings": "Configuración de idioma",
"migrations": "Migraciones", "migrations": "Migraciones",
"new-page": "Nueva página", "new-page": "Nueva página",
"notify": "Notificar", "notify": "Notificar",
@ -377,10 +377,10 @@
"bulk-assign": "Asignar en masa", "bulk-assign": "Asignar en masa",
"new-name": "Nombre Nuevo", "new-name": "Nombre Nuevo",
"no-unused-items": "No hay elementos sin usar", "no-unused-items": "No hay elementos sin usar",
"recipes-affected": "Ninguna receta afectuada | Una receta afectada |{count} recetas afectuadas", "recipes-affected": "Ninguna receta afectada | Una receta afectada |{count} recetas afectadas",
"remove-unused": "Eliminar los no usados", "remove-unused": "Eliminar los no usados",
"title-case-all": "Primera letra en mayúscula", "title-case-all": "Primera letra en mayúscula",
"toolbox": "Cuadro de herramientas", "toolbox": "Herramientas",
"unorganized": "Sin organizar" "unorganized": "Sin organizar"
}, },
"webhooks": { "webhooks": {
@ -401,17 +401,17 @@
"shopping-lists": "Listas de la compra" "shopping-lists": "Listas de la compra"
}, },
"sidebar": { "sidebar": {
"all-recipes": "All Recipes", "all-recipes": "Recetas",
"categories": "Categories", "categories": "Categorías",
"dashboard": "Dashboard", "dashboard": "Consola",
"home-page": "Home Page", "home-page": "Inicio",
"manage-users": "Manage Users", "manage-users": "Usuarios",
"migrations": "Migrations", "migrations": "Migraciones",
"profile": "Profile", "profile": "Perfil",
"search": "Search", "search": "Buscar",
"site-settings": "Site Settings", "site-settings": "Ajustes",
"tags": "Tags", "tags": "Etiquetas",
"toolbox": "Toolbox" "toolbox": "Herramientas"
}, },
"signup": { "signup": {
"error-signing-up": "Error al registrarse", "error-signing-up": "Error al registrarse",
@ -450,8 +450,8 @@
"error-cannot-delete-super-user": "¡Error! No se puede eliminar el Super Usuario", "error-cannot-delete-super-user": "¡Error! No se puede eliminar el Super Usuario",
"existing-password-does-not-match": "La contraseña actual no coincide", "existing-password-does-not-match": "La contraseña actual no coincide",
"full-name": "Nombre completo", "full-name": "Nombre completo",
"link-id": "Link ID", "link-id": "ID del enlace",
"link-name": "Link Name", "link-name": "Nombre del enlace",
"login": "Iniciar sesión", "login": "Iniciar sesión",
"logout": "Cerrar Sesión", "logout": "Cerrar Sesión",
"manage-users": "Administrar usuarios", "manage-users": "Administrar usuarios",
@ -486,4 +486,4 @@
"you-are-not-allowed-to-create-a-user": "No tiene permisos para crear usuarios", "you-are-not-allowed-to-create-a-user": "No tiene permisos para crear usuarios",
"you-are-not-allowed-to-delete-this-user": "No tiene permiso para eliminar este usuario" "you-are-not-allowed-to-delete-this-user": "No tiene permiso para eliminar este usuario"
} }
} }

View File

@ -0,0 +1,489 @@
{
"about": {
"about": "À propos",
"about-mealie": "À propos de Mealie",
"api-docs": "Documentation de l'API",
"api-port": "Port de l'API",
"application-mode": "Mode de l'application",
"database-type": "Type de base de données",
"database-url": "URL de la base de données",
"default-group": "Groupe par défaut",
"demo": "Oui",
"demo-status": "Mode démo",
"development": "Développement",
"docs": "Documentation",
"download-log": "Télécharger les logs",
"download-recipe-json": "Dernier JSON récupéré",
"github": "GitHub",
"log-lines": "Lignes de log",
"not-demo": "Non",
"portfolio": "Portfolio",
"production": "Production",
"support": "Soutenir",
"version": "Version"
},
"asset": {
"assets": "Ressources",
"code": "Code",
"file": "Fichier",
"image": "Image",
"new-asset": "Nouvelle ressource",
"pdf": "PDF",
"recipe": "Recette",
"show-assets": "Afficher les ressources"
},
"category": {
"category-created": "Catégorie créée",
"category-creation-failed": "La création de la catégorie a échoué",
"category-deleted": "Catégorie supprimée",
"category-deletion-failed": "La suppression de la catégorie a échoué",
"category-filter": "Filtre par catégories",
"category-update-failed": "La mise à jour de la catégorie a échoué",
"category-updated": "Catégorie mise à jour",
"uncategorized-count": "{count} non catégorisée|{count} non catégorisées"
},
"events": {
"apprise-url": "URL apprise",
"database": "Base de données",
"delete-event": "Supprimer lévènement",
"new-notification-form-description": "Mealie utilise la bibliothèque apprise pour générer des notifications. Elle propose de nombreux services à utiliser pour les notifications. Consultez leur wiki pour un guide complet sur la façon de créer l'URL de votre service. Si disponible, sélectionner le type de votre notification peut inclure des fonctionnalités supplémentaires.",
"new-version": "Nouvelle version disponible!",
"notification": "Notification",
"refresh": "Rafraîchir",
"scheduled": "Planifié",
"something-went-wrong": "Une erreur s'est produite!",
"subscribed-events": "Évènements suivis",
"test-message-sent": "Message de test envoyé"
},
"general": {
"cancel": "Annuler",
"clear": "Effacer",
"close": "Fermer",
"confirm": "Confirmer",
"confirm-delete-generic": "Voulez-vous vraiment supprimer ceci?",
"copied": "Copié",
"create": "Créer",
"created": "Créé",
"custom": "Personnalisé",
"dashboard": "Tableau de bord",
"delete": "Supprimer",
"disabled": "Désactivé",
"download": "Télécharger",
"edit": "Modifier",
"enabled": "Activé",
"exception": "Exception",
"failed-count": "Échec : {count}",
"failure-uploading-file": "Échec de l'envoi du fichier",
"favorites": "Favoris",
"field-required": "Champ obligatoire",
"file-folder-not-found": "Fichier/dossier introuvable",
"file-uploaded": "Fichier envoyé",
"filter": "Filtrer",
"friday": "Vendredi",
"general": "Général",
"get": "Envoyer",
"home": "Page d'accueil",
"image": "Image",
"image-upload-failed": "Le téléchargement de l'image a échoué",
"import": "Importer",
"json": "JSON",
"keyword": "Mot-clé",
"link-copied": "Lien copié",
"loading-recipes": "Chargement des recettes",
"monday": "Lundi",
"name": "Nom",
"new": "Nouveau",
"no": "Non",
"no-recipe-found": "Aucune recette trouvée",
"ok": "OK",
"options": "Options :",
"print": "Imprimer",
"random": "Aléatoire",
"rating": "Note",
"recent": "Récent",
"recipe": "Recette",
"recipes": "Recettes",
"rename-object": "Renommer {0}",
"reset": "Réinitialiser",
"saturday": "Samedi",
"save": "Sauvegarder",
"settings": "Paramètres",
"share": "Partager",
"shuffle": "Aléatoire",
"sort": "Trier",
"sort-alphabetically": "Alphabétique",
"status": "Statut",
"submit": "Importer",
"success-count": "Succès : {count}",
"sunday": "Dimanche",
"templates": "Modèles :",
"test": "Tester",
"themes": "Thèmes",
"thursday": "Jeudi",
"token": "Jeton",
"tuesday": "Mardi",
"type": "Type",
"update": "Mettre à jour",
"updated": "Mis à jour",
"upload": "Importer",
"url": "URL",
"view": "Afficher",
"wednesday": "Mercredi",
"yes": "Oui"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Êtes-vous certain de vouloir supprimer <b>{groupName}<b/>?",
"cannot-delete-default-group": "Vous ne pouvez pas supprimer le groupe par défaut",
"cannot-delete-group-with-users": "Impossible de supprimer un groupe avec des utilisateurs",
"confirm-group-deletion": "Confirmer la suppression du groupe",
"create-group": "Créer un groupe",
"error-updating-group": "Erreur lors de la mise à jour du groupe",
"group": "Groupe",
"group-deleted": "Groupe supprimé",
"group-deletion-failed": "Échec de la suppression du groupe",
"group-id-with-value": "ID groupe : {groupID}",
"group-name": "Nom du groupe",
"group-not-found": "Groupe non trouvé",
"group-with-value": "Groupe : {groupID}",
"groups": "Groupes",
"manage-groups": "Gérer les groupes",
"user-group": "Groupe d'utilisateurs",
"user-group-created": "Groupe d'utilisateurs créé",
"user-group-creation-failed": "La création du groupe d'utilisateur a échoué"
},
"meal-plan": {
"create-a-new-meal-plan": "Créer un nouveau menu",
"dinner-this-week": "Menu de la semaine",
"dinner-today": "Menu du jour",
"dinner-tonight": "AU MENU CE SOIR",
"edit-meal-plan": "Modifier le menu",
"end-date": "Date de fin",
"group": "Regrouper (Bêta)",
"main": "Plat principal",
"meal-planner": "Menus",
"meal-plans": "Menus",
"mealplan-categories": "CATÉGORIES DES MENUS",
"mealplan-created": "Menu créé",
"mealplan-creation-failed": "La création du menu a échoué",
"mealplan-deleted": "Menu supprimé",
"mealplan-deletion-failed": "La suppression du menu a échoué",
"mealplan-settings": "Paramètres des menus",
"mealplan-update-failed": "La mise à jour du menu a échoué",
"mealplan-updated": "Menu mis à jour",
"no-meal-plan-defined-yet": "Aucun menu planifié",
"no-meal-planned-for-today": "Aucun repas prévu pour aujourd'hui",
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Seules les recettes appartenant à ces catégories seront utilisées dans les menus",
"planner": "Planificateur",
"quick-week": "Semaine rapide",
"side": "Accompagnement",
"sides": "Accompagnements",
"start-date": "Date de début"
},
"migration": {
"chowdown": {
"description": "Importer des recettes depuis Chowdown",
"title": "Chowdown"
},
"migration-data-removed": "Données de migration supprimées",
"nextcloud": {
"description": "Importer des recettes depuis un livre de recettes Nextcloud existant",
"title": "Nextcloud Cookbook"
},
"no-migration-data-available": "Aucune donnée d'importation n'est disponible",
"recipe-migration": "Migrer les recettes"
},
"new-recipe": {
"bulk-add": "Ajouter en masse",
"error-details": "Seuls les sites Web contenant ld+json ou des microdonnées peuvent être importés par Mealie. La plupart des grands sites web de recettes sont compatibles avec cette structure de données. Si votre site ne peut pas être importé mais qu'il y a des données JSON dans le journal, veuillez soumettre un problème GitHub avec l'URL et les données.",
"error-title": "On dirait qu'on n'a pas pu trouver quoi que ce soit",
"from-url": "Depuis une adresse Web",
"github-issues": "Anomalies GitHub",
"google-ld-json-info": "Infos Json-Ld Google",
"must-be-a-valid-url": "Doit être une URL valide",
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Copiez votre recette ici. Chaque ligne sera traitée comme un objet de la liste",
"recipe-markup-specification": "Spécification du marquage des recettes",
"recipe-url": "Adresse de la recette",
"upload-a-recipe": "Télécharger une recette",
"upload-individual-zip-file": "Chargez un fichier .zip exporté depuis une autre instance Mealie.",
"url-form-hint": "Copiez et collez un lien depuis votre site de recettes favori",
"view-scraped-data": "Voir les données récupérées"
},
"page": {
"404-page-not-found": "404 Page introuvable",
"all-recipes": "Toutes les recettes",
"new-page-created": "Nouvelle page créée",
"page": "Page",
"page-creation-failed": "La création de la page a échoué",
"page-deleted": "Page supprimée",
"page-deletion-failed": "La suppression de la page a échoué",
"page-update-failed": "La mise à jour de la page a échoué",
"page-updated": "Page mise à jour",
"pages-update-failed": "La mise à jour des pages a échoué",
"pages-updated": "Pages mises à jour"
},
"recipe": {
"add-key": "Ajouter une clé",
"add-to-favorites": "Ajouter aux favoris",
"api-extras": "Extras API",
"calories": "Calories",
"calories-suffix": "calories",
"carbohydrate-content": "Glucides",
"categories": "Catégories",
"comment-action": "Commenter",
"comments": "Commentaires",
"delete-confirmation": "Êtes-vous sûr(e) de vouloir supprimer cette recette?",
"delete-recipe": "Supprimer la recette",
"description": "Description",
"disable-amount": "Désactiver les quantités d'ingrédients",
"disable-comments": "Désactiver les commentaires",
"fat-content": "Matières grasses",
"fiber-content": "Fibres",
"grams": "grammes",
"ingredient": "Ingrédient",
"ingredients": "Ingrédients",
"insert-section": "Insérer une section",
"instructions": "Instructions",
"key-name-required": "Un nom de clé est requis",
"landscape-view-coming-soon": "Vue paysage (bientôt disponible)",
"milligrams": "milligrammes",
"new-key-name": "Nouveau nom de clé",
"no-white-space-allowed": "Aucun espace blanc autorisé",
"note": "Note",
"nutrition": "Valeurs nutritionnelles",
"object-key": "Clé d'objet",
"object-value": "Valeur d'objet",
"original-url": "Recette originale",
"perform-time": "Temps de cuisson",
"prep-time": "Temps de préparation",
"protein-content": "Protéines",
"public-recipe": "Recette publique",
"recipe-created": "Recette créée",
"recipe-creation-failed": "La création de la recette a échoué",
"recipe-deleted": "Recette supprimée",
"recipe-image": "Image de la recette",
"recipe-image-updated": "L'image de la recette a été mise à jour",
"recipe-name": "Nom de la recette",
"recipe-settings": "Paramètres de la recette",
"recipe-update-failed": "La mise à jour de la recette a échoué",
"recipe-updated": "Recette mise à jour",
"remove-from-favorites": "Supprimer des favoris",
"remove-section": "Supprimer une section",
"save-recipe-before-use": "Enregistrez la recette avant utilisation",
"section-title": "Titre de la section",
"servings": "Portions",
"share-recipe-message": "Je voulais partager ma recette de {0} avec vous.",
"show-nutrition-values": "Afficher les valeurs nutritionnelles",
"sodium-content": "Sodium",
"step-index": "Étape {step}",
"sugar-content": "Sucres",
"title": "Titre",
"total-time": "Temps total",
"unable-to-delete-recipe": "Impossible de supprimer la recette"
},
"reicpe": {
"no-recipe": "Pas de recette"
},
"search": {
"advanced-search": "Recherche avancée",
"and": "et",
"exclude": "Exclure",
"include": "Inclure",
"max-results": "Nombre de résultats maximum",
"or": "Ou",
"results": "Résultats",
"search": "Rechercher",
"search-mealie": "Rechercher dans Mealie (appuyez sur /)",
"search-placeholder": "Rechercher...",
"tag-filter": "Filtre par mots-clés"
},
"settings": {
"add-a-new-theme": "Ajouter un nouveau thème",
"admin-settings": "Paramètres d'administration",
"backup": {
"backup-created-at-response-export_path": "Sauvegarde créée dans {path}",
"backup-deleted": "Sauvegarde supprimée",
"backup-tag": "Tag de la sauvegarde",
"create-heading": "Créer une sauvegarde",
"delete-backup": "Supprimer la sauvegarde",
"error-creating-backup-see-log-file": "Erreur de création de la sauvegarde. Voir les logs",
"full-backup": "Sauvegarde complète",
"import-summary": "Résumé de l'importation",
"partial-backup": "Sauvegarde partielle",
"unable-to-delete-backup": "Impossible de supprimer la sauvegarde."
},
"backup-and-exports": "Sauvegardes",
"change-password": "Modifier le mot de passe",
"current": "Version :",
"custom-pages": "Pages personnalisées",
"edit-page": "Modifier la page",
"events": "Évènements",
"first-day-of-week": "Premier jour de la semaine",
"group-settings-updated": "Paramètres du groupe mis à jour",
"homepage": {
"all-categories": "Toutes les catégories",
"card-per-section": "Tuiles par section",
"home-page": "Page d'accueil",
"home-page-sections": "Sections de la page d'accueil",
"show-recent": "Afficher les récentes"
},
"language": "Langue",
"latest": "Dernière",
"local-api": "API locale",
"locale-settings": "Paramètres régionaux",
"migrations": "Migrations",
"new-page": "Nouvelle page",
"notify": "Notifier",
"organize": "Organiser",
"page-name": "Nom de la page",
"pages": "Pages",
"profile": "Profil",
"remove-existing-entries-matching-imported-entries": "Supprimer les entrées existantes correspondant aux entrées importées",
"set-new-time": "Indiquer une nouvelle heure",
"settings-update-failed": "La mise à jour des paramètres a échoué",
"settings-updated": "Paramètres mis à jour",
"site-settings": "Paramètres du site",
"theme": {
"accent": "Accentué",
"dark": "Sombre",
"default-to-system": "Identique au système",
"error": "Erreur",
"error-creating-theme-see-log-file": "Erreur lors de la création du thème. Consultez les logs.",
"error-deleting-theme": "Erreur lors de la suppression du thème",
"error-updating-theme": "Erreur lors de la mise à jour du thème",
"info": "Information",
"light": "Clair",
"primary": "Primaire",
"secondary": "Secondaire",
"success": "Succès",
"switch-to-dark-mode": "Basculer en mode sombre",
"switch-to-light-mode": "Basculer en mode clair",
"theme-deleted": "Thème supprimé",
"theme-name": "Nom du thème",
"theme-name-is-required": "Un nom de thème est requis.",
"theme-saved": "Thème enregistré",
"theme-updated": "Thème mis à jour",
"warning": "Avertissement"
},
"token": {
"active-tokens": "JETONS ACTIFS",
"api-token": "Jeton de l'API",
"api-tokens": "Jetons de l'API",
"copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Copiez ce jeton pour l'utiliser avec une application externe. Ce jeton ne sera plus consultable.",
"create-an-api-token": "Créer un jeton API",
"token-name": "Nom du jeton"
},
"toolbox": {
"assign-all": "Assigner tout",
"bulk-assign": "Assigner en masse",
"new-name": "Nouveau nom",
"no-unused-items": "Aucun élément inutilisé",
"recipes-affected": "Aucune recette affectée|Une recette affectée|{count} recettes affectées",
"remove-unused": "Supprimer orphelins",
"title-case-all": "Majuscules partout",
"toolbox": "Boîte à outils",
"unorganized": "Non organisé(s)"
},
"webhooks": {
"test-webhooks": "Tester les 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": "Les liens dans cette liste recevront les webhooks contenant les recettes pour le menu du jour. Actuellement, les webhooks se lancent à",
"webhook-url": "Lien du webhook",
"webhooks-caps": "WEBHOOKS"
}
},
"shopping-list": {
"all-lists": "Toutes les listes",
"create-shopping-list": "Créer une liste d'épicerie",
"from-recipe": "À partir d'une recette",
"list-name": "Nom de la liste",
"new-list": "Nouvelle liste",
"quantity": "Quantité : {0}",
"shopping-list": "Liste d'épicerie",
"shopping-lists": "Listes d'épicerie"
},
"sidebar": {
"all-recipes": "Les recettes",
"categories": "Catégories",
"dashboard": "Console",
"home-page": "Accueil",
"manage-users": "Utilisateurs",
"migrations": "Migrations",
"profile": "Profil",
"search": "Rechercher",
"site-settings": "Paramètres",
"tags": "Mots-clés",
"toolbox": "Boîte à outils"
},
"signup": {
"error-signing-up": "Erreur lors de l'inscription",
"sign-up": "S'inscrire",
"sign-up-link-created": "Lien d'inscription créé",
"sign-up-link-creation-failed": "La création du lien d'inscription a échoué",
"sign-up-links": "Liens d'inscription",
"sign-up-token-deleted": "Jeton d'inscription supprimé",
"sign-up-token-deletion-failed": "La suppression du jeton d'inscription a échoué",
"welcome-to-mealie": "Bienvenue sur Mealie! Pour devenir un utilisateur de cette instance, vous devez avoir un lien d'invitation valide. Si vous n'avez pas reçu d'invitation, vous ne pouvez pas vous inscrire. Pour recevoir un lien, contactez l'administrateur du site."
},
"tag": {
"tag-created": "Mot-clé créé",
"tag-creation-failed": "La création du mot-clé a échoué",
"tag-deleted": "Mot-clé supprimé",
"tag-deletion-failed": "La suppression du mot-clé a échoué",
"tag-update-failed": "La mise à jour du mot-clé a échoué",
"tag-updated": "Mot-clé mis à jour",
"tags": "Mots-clés",
"untagged-count": "{count} sans mot-clés"
},
"user": {
"admin": "Administrateur",
"are-you-sure-you-want-to-delete-the-link": "Voulez-vous réellement supprimer le lien <b>{link}<b/>?",
"are-you-sure-you-want-to-delete-the-user": "Voulez-vous réellement supprimer l'utilisateur <b>{activeName} ID : {activeId}<b/>?",
"confirm-link-deletion": "Confirmer la suppression du lien",
"confirm-password": "Confirmer mot de passe",
"confirm-user-deletion": "Confirmer la suppression",
"could-not-validate-credentials": "La vérification de vos identifiants a échoué",
"create-link": "Créer un lien",
"create-user": "Créer utilisateur",
"current-password": "Mot de passe actuel",
"e-mail-must-be-valid": "Le courriel doit être valide",
"edit-user": "Modifier l'utilisateur",
"email": "Courriel",
"error-cannot-delete-super-user": "Erreur! Impossible de supprimer le super utilisateur",
"existing-password-does-not-match": "Le mot de passe actuel ne correspond pas",
"full-name": "Nom",
"link-id": "ID du lien",
"link-name": "Nom du lien",
"login": "Connexion",
"logout": "Déconnexion",
"manage-users": "Gérer les utilisateurs",
"new-password": "Nouveau mot de passe",
"new-user": "Nouvel utilisateur",
"password": "Mot de passe",
"password-has-been-reset-to-the-default-password": "Le mot de passe a été réinitialisé à la valeur par défaut",
"password-must-match": "Les mots de passe doivent correspondre",
"password-reset-failed": "Échec de la réinitialisation du mot de passe",
"password-updated": "Mot de passe mis à jour",
"reset-password": "Réinitialiser le mot de passe",
"sign-in": "Se connecter",
"total-mealplans": "Nombre de menus",
"total-users": "Nombre d'utilisateurs",
"upload-photo": "Importer une photo",
"use-8-characters-or-more-for-your-password": "Utilisez au moins 8 caractères pour votre mot de passe",
"user": "Utilisateur",
"user-created": "Utilisateur créé",
"user-creation-failed": "La création de l'utilisateur a échoué",
"user-deleted": "Utilisateur supprimé",
"user-id": "ID utilisateur",
"user-id-with-value": "ID utilisateur : {id}",
"user-password": "Mot de passe de l'utilisateur",
"user-successfully-logged-in": "Connexion réussie",
"user-update-failed": "La mise à jour de l'utilisateur a échoué",
"user-updated": "Utilisateur mis à jour",
"username": "Nom d'utilisateur",
"users": "Utilisateurs",
"users-header": "UTILISATEURS",
"webhook-time": "Heure du Webhook",
"webhooks-enabled": "Webhooks activés",
"you-are-not-allowed-to-create-a-user": "Vous n'avez pas le droit de créer un utilisateur",
"you-are-not-allowed-to-delete-this-user": "Vous n'avez pas le droit de supprimer cet utilisateur"
}
}

View File

@ -2,7 +2,7 @@
"about": { "about": {
"about": "À propos", "about": "À propos",
"about-mealie": "À propos de Mealie", "about-mealie": "À propos de Mealie",
"api-docs": "Docs API", "api-docs": "Documentation de l'API",
"api-port": "Port de l'API", "api-port": "Port de l'API",
"application-mode": "Mode de l'application", "application-mode": "Mode de l'application",
"database-type": "Type de base de données", "database-type": "Type de base de données",
@ -11,10 +11,10 @@
"demo": "Oui", "demo": "Oui",
"demo-status": "Mode démo", "demo-status": "Mode démo",
"development": "Développement", "development": "Développement",
"docs": "Docs", "docs": "Documentation",
"download-log": "Télécharger les logs", "download-log": "Télécharger les logs",
"download-recipe-json": "Dernier JSON récupéré", "download-recipe-json": "Dernier JSON récupéré",
"github": "Github", "github": "GitHub",
"log-lines": "Lignes de log", "log-lines": "Lignes de log",
"not-demo": "Non", "not-demo": "Non",
"portfolio": "Portfolio", "portfolio": "Portfolio",
@ -159,7 +159,7 @@
"edit-meal-plan": "Modifier le menu", "edit-meal-plan": "Modifier le menu",
"end-date": "Date de fin", "end-date": "Date de fin",
"group": "Regrouper (Bêta)", "group": "Regrouper (Bêta)",
"main": "Plat", "main": "Plat principal",
"meal-planner": "Menus", "meal-planner": "Menus",
"meal-plans": "Menus", "meal-plans": "Menus",
"mealplan-categories": "CATÉGORIES DES MENUS", "mealplan-categories": "CATÉGORIES DES MENUS",
@ -231,7 +231,7 @@
"categories": "Catégories", "categories": "Catégories",
"comment-action": "Commenter", "comment-action": "Commenter",
"comments": "Commentaires", "comments": "Commentaires",
"delete-confirmation": "Êtes-vous sûr·e de vouloir supprimer cette recette ?", "delete-confirmation": "Voulez-vous vraiment supprimer cette recette ?",
"delete-recipe": "Supprimer la recette", "delete-recipe": "Supprimer la recette",
"description": "Description", "description": "Description",
"disable-amount": "Désactiver les quantités des ingrédients", "disable-amount": "Désactiver les quantités des ingrédients",
@ -316,7 +316,7 @@
"current": "Version :", "current": "Version :",
"custom-pages": "Pages personnalisées", "custom-pages": "Pages personnalisées",
"edit-page": "Modifier la page", "edit-page": "Modifier la page",
"events": "Evènements", "events": "Évènements",
"first-day-of-week": "Premier jour de la semaine", "first-day-of-week": "Premier jour de la semaine",
"group-settings-updated": "Paramètres du groupe mis à jour", "group-settings-updated": "Paramètres du groupe mis à jour",
"homepage": { "homepage": {
@ -486,4 +486,4 @@
"you-are-not-allowed-to-create-a-user": "Vous n'avez pas le droit de créer un utilisateur", "you-are-not-allowed-to-create-a-user": "Vous n'avez pas le droit de créer un utilisateur",
"you-are-not-allowed-to-delete-this-user": "Vous n'avez pas le droit de supprimer cet utilisateur" "you-are-not-allowed-to-delete-this-user": "Vous n'avez pas le droit de supprimer cet utilisateur"
} }
} }

View File

@ -1,489 +1,489 @@
{ {
"about": { "about": {
"about": "About", "about": "Om",
"about-mealie": "About Mealie", "about-mealie": "Om Mealie",
"api-docs": "API Docs", "api-docs": "API Dokumentasjon",
"api-port": "API Port", "api-port": "API port",
"application-mode": "Application Mode", "application-mode": "Program Modus",
"database-type": "Database Type", "database-type": "Databasetype",
"database-url": "Database URL", "database-url": "Databasens URL",
"default-group": "Default Group", "default-group": "Standardgruppe",
"demo": "Demo", "demo": "Demo",
"demo-status": "Demo Status", "demo-status": "Demo status",
"development": "Development", "development": "Utvikling",
"docs": "Docs", "docs": "Dokumentasjon",
"download-log": "Download Log", "download-log": "Nedlastingslogg",
"download-recipe-json": "Last Scraped JSON", "download-recipe-json": "Siste skrapt JSON",
"github": "Github", "github": "GitHub",
"log-lines": "Log Lines", "log-lines": "Logg linjer",
"not-demo": "Not Demo", "not-demo": "Ikke demo",
"portfolio": "Portfolio", "portfolio": "Portefølje",
"production": "Production", "production": "Produksjon",
"support": "Support", "support": "Brukerstøtte",
"version": "Version" "version": "Versjon"
}, },
"asset": { "asset": {
"assets": "Assets", "assets": "Ressurser",
"code": "Code", "code": "Kode",
"file": "File", "file": "Fil",
"image": "Image", "image": "Bilde",
"new-asset": "New Asset", "new-asset": "Ny ressurs",
"pdf": "PDF", "pdf": "PDF",
"recipe": "Recipe", "recipe": "Oppskrift",
"show-assets": "Show Assets" "show-assets": "Vis ressurser"
}, },
"category": { "category": {
"category-created": "Category created", "category-created": "Kategori opprettet",
"category-creation-failed": "Category creation failed", "category-creation-failed": "Kategori-opprettelse mislyktes",
"category-deleted": "Category Deleted", "category-deleted": "Kategori slettet",
"category-deletion-failed": "Category deletion failed", "category-deletion-failed": "Sletting av kategori mislyktes",
"category-filter": "Category Filter", "category-filter": "Kategori Filter",
"category-update-failed": "Category update failed", "category-update-failed": "Oppdatering av kategori mislyktes",
"category-updated": "Category updated", "category-updated": "Kategori oppdatert",
"uncategorized-count": "Uncategorized {count}" "uncategorized-count": "Ukategorisert {count}"
}, },
"events": { "events": {
"apprise-url": "Apprise URL", "apprise-url": "Apprise URL",
"database": "Database", "database": "Database",
"delete-event": "Delete Event", "delete-event": "Slett hendelse",
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.", "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": "New version available!", "new-version": "Ny versjon tilgjengelig!",
"notification": "Notification", "notification": "Varslinger",
"refresh": "Refresh", "refresh": "Oppdater",
"scheduled": "Scheduled", "scheduled": "Planlagt",
"something-went-wrong": "Something Went Wrong!", "something-went-wrong": "Noe gikk galt!",
"subscribed-events": "Subscribed Events", "subscribed-events": "Abonnerte hendelser",
"test-message-sent": "Test Message Sent" "test-message-sent": "Testmelding sendt"
}, },
"general": { "general": {
"cancel": "Cancel", "cancel": "Avbryt",
"clear": "Clear", "clear": "Tøm",
"close": "Close", "close": "Lukk",
"confirm": "Confirm", "confirm": "Bekreft",
"confirm-delete-generic": "Are you sure you want to delete this?", "confirm-delete-generic": "Er du sikker på at du vil slette dette?",
"copied": "Copied", "copied": "Kopiert",
"create": "Create", "create": "Opprett",
"created": "Created", "created": "Opprettet",
"custom": "Custom", "custom": "Egendefinert",
"dashboard": "Dashboard", "dashboard": "Kontrollpanel",
"delete": "Delete", "delete": "Slett",
"disabled": "Disabled", "disabled": "Deaktivert",
"download": "Download", "download": "Last ned",
"edit": "Edit", "edit": "Rediger",
"enabled": "Enabled", "enabled": "Aktivert",
"exception": "Exception", "exception": "Unntak",
"failed-count": "Failed: {count}", "failed-count": "Mislyktes: {count}",
"failure-uploading-file": "Failure uploading file", "failure-uploading-file": "Opplasting av fil mislyktes",
"favorites": "Favorites", "favorites": "Favoritter",
"field-required": "Field Required", "field-required": "Nødvendig felt",
"file-folder-not-found": "File/folder not found", "file-folder-not-found": "Fil/mappe ikke funnet",
"file-uploaded": "File uploaded", "file-uploaded": "Fil lastet opp",
"filter": "Filter", "filter": "Filter",
"friday": "Friday", "friday": "Fredag",
"general": "General", "general": "Generelt",
"get": "Get", "get": "Hent",
"home": "Home", "home": "Hjem",
"image": "Image", "image": "Bilde",
"image-upload-failed": "Image upload failed", "image-upload-failed": "Bildeopplasting mislyktes",
"import": "Import", "import": "Importer",
"json": "JSON", "json": "JSON",
"keyword": "Keyword", "keyword": "Nøkkelord",
"link-copied": "Link Copied", "link-copied": "Lenke kopiert",
"loading-recipes": "Loading Recipes", "loading-recipes": "Laster Oppskrifter",
"monday": "Monday", "monday": "Mandag",
"name": "Name", "name": "Navn",
"new": "New", "new": "Ny",
"no": "No", "no": "Nei",
"no-recipe-found": "No Recipe Found", "no-recipe-found": "Ingen oppskrift funnet",
"ok": "OK", "ok": "OK",
"options": "Options:", "options": "Alternativer:",
"print": "Print", "print": "Skriv ut",
"random": "Random", "random": "Tilfeldig",
"rating": "Rating", "rating": "Rangering",
"recent": "Recent", "recent": "Nylig",
"recipe": "Recipe", "recipe": "Oppskrift",
"recipes": "Recipes", "recipes": "Oppskrifter",
"rename-object": "Rename {0}", "rename-object": "Endre navn {0}",
"reset": "Reset", "reset": "Tilbakestill",
"saturday": "Saturday", "saturday": "Lørdag",
"save": "Save", "save": "Lagre",
"settings": "Settings", "settings": "Innstillinger",
"share": "Share", "share": "Del",
"shuffle": "Shuffle", "shuffle": "Tilf. rekkefølge",
"sort": "Sort", "sort": "Sortèr",
"sort-alphabetically": "Alphabetical", "sort-alphabetically": "Alfabetisk",
"status": "Status", "status": "Status",
"submit": "Submit", "submit": "Legg til",
"success-count": "Success: {count}", "success-count": "Vellykket: {count}",
"sunday": "Sunday", "sunday": "Søndag",
"templates": "Templates:", "templates": "Maler:",
"test": "Test", "test": "Test",
"themes": "Themes", "themes": "Temaer",
"thursday": "Thursday", "thursday": "Torsdag",
"token": "Token", "token": "Token",
"tuesday": "Tuesday", "tuesday": "Tirsdag",
"type": "Type", "type": "Type",
"update": "Update", "update": "Oppdater",
"updated": "Updated", "updated": "Oppdatert",
"upload": "Upload", "upload": "Last opp",
"url": "URL", "url": "URL",
"view": "View", "view": "Vis",
"wednesday": "Wednesday", "wednesday": "Onsdag",
"yes": "Yes" "yes": "Ja"
}, },
"group": { "group": {
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?", "are-you-sure-you-want-to-delete-the-group": "Er du sikker på at du vil slette <b>{groupName}<b/>?",
"cannot-delete-default-group": "Cannot delete default group", "cannot-delete-default-group": "Du kan ikke slette standardgruppen",
"cannot-delete-group-with-users": "Cannot delete group with users", "cannot-delete-group-with-users": "Kan ikke slette gruppe med brukere",
"confirm-group-deletion": "Confirm Group Deletion", "confirm-group-deletion": "Bekreft sletting av gruppe",
"create-group": "Create Group", "create-group": "Opprett gruppe",
"error-updating-group": "Error updating group", "error-updating-group": "Feil ved oppdatering av gruppe",
"group": "Group", "group": "Gruppe",
"group-deleted": "Group deleted", "group-deleted": "Gruppe slettet",
"group-deletion-failed": "Group deletion failed", "group-deletion-failed": "Sletting av gruppe mislyktes",
"group-id-with-value": "Group ID: {groupID}", "group-id-with-value": "Gruppe ID: {groupID}",
"group-name": "Group Name", "group-name": "Gruppenavn",
"group-not-found": "Group not found", "group-not-found": "Gruppe ikke funnet",
"group-with-value": "Group: {groupID}", "group-with-value": "Gruppe ID: {groupID}",
"groups": "Groups", "groups": "Grupper",
"manage-groups": "Manage Groups", "manage-groups": "Administrer grupper",
"user-group": "User Group", "user-group": "Brukergruppe",
"user-group-created": "User Group Created", "user-group-created": "Brukergruppe opprettet",
"user-group-creation-failed": "User Group Creation Failed" "user-group-creation-failed": "Opprett brukergruppe feilet"
}, },
"meal-plan": { "meal-plan": {
"create-a-new-meal-plan": "Create a New Meal Plan", "create-a-new-meal-plan": "Lag en ny måltidsplan",
"dinner-this-week": "Dinner This Week", "dinner-this-week": "Middag denne uken",
"dinner-today": "Dinner Today", "dinner-today": "Middag idag",
"dinner-tonight": "DINNER TONIGHT", "dinner-tonight": "DAGENS MIDDAG",
"edit-meal-plan": "Edit Meal Plan", "edit-meal-plan": "Rediger måltidsplan",
"end-date": "End Date", "end-date": "Sluttdato",
"group": "Group (Beta)", "group": "Gruppe (Beta)",
"main": "Main", "main": "Hovedrett",
"meal-planner": "Meal Planner", "meal-planner": "Planlegg Måltid",
"meal-plans": "Meal Plans", "meal-plans": "Måltidsplan",
"mealplan-categories": "MEALPLAN CATEGORIES", "mealplan-categories": "MÅLTIDSPLAN KATEGORIER",
"mealplan-created": "Mealplan created", "mealplan-created": "Måltidsplan opprettet",
"mealplan-creation-failed": "Mealplan creation failed", "mealplan-creation-failed": "Opprettelse av måltidsplan feilet",
"mealplan-deleted": "Mealplan Deleted", "mealplan-deleted": "Måltidsplan Slettet",
"mealplan-deletion-failed": "Mealplan deletion failed", "mealplan-deletion-failed": "Sletting av måltidsplan feilet",
"mealplan-settings": "Mealplan Settings", "mealplan-settings": "Måltidsplan Innstillinger",
"mealplan-update-failed": "Mealplan update failed", "mealplan-update-failed": "Oppdatering av måltidsplan feilet",
"mealplan-updated": "Mealplan Updated", "mealplan-updated": "Måltidsplan Oppdatert",
"no-meal-plan-defined-yet": "No meal plan defined yet", "no-meal-plan-defined-yet": "Ingen måltidsplan er definert ennå",
"no-meal-planned-for-today": "No meal planned for today", "no-meal-planned-for-today": "Ingen måltid planlagt i dag",
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans", "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Kun oppskrifter med disse kategoriene vil bli brukt i måltidsplaner",
"planner": "Planner", "planner": "Planlegger",
"quick-week": "Quick Week", "quick-week": "Hurtigplan",
"side": "Side", "side": "Siderett",
"sides": "Sides", "sides": "Sideretter",
"start-date": "Start Date" "start-date": "Start Dato"
}, },
"migration": { "migration": {
"chowdown": { "chowdown": {
"description": "Migrate data from Chowdown", "description": "Overfør data fra Chowdown",
"title": "Chowdown" "title": "Chowdown"
}, },
"migration-data-removed": "Migration data removed", "migration-data-removed": "Migrasjonsdata er fjernet",
"nextcloud": { "nextcloud": {
"description": "Migrate data from a Nextcloud Cookbook instance", "description": "Migrer data fra en Nextcloud Cookbook instans",
"title": "Nextcloud Cookbook" "title": "Nextcloud Cookbook"
}, },
"no-migration-data-available": "No Migration Data Available", "no-migration-data-available": "Ingen migrasjonsdata tilgjengelig",
"recipe-migration": "Recipe Migration" "recipe-migration": "Oppskriftsmigrering"
}, },
"new-recipe": { "new-recipe": {
"bulk-add": "Bulk Add", "bulk-add": "Opprett flere",
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.", "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": "Looks Like We Couldn't Find Anything", "error-title": "Ser ut som vi ikke kunne finne noe",
"from-url": "Import a Recipe", "from-url": "Importer en oppskrift",
"github-issues": "GitHub Issues", "github-issues": "GitHub Issues",
"google-ld-json-info": "Google ld+json Info", "google-ld-json-info": "Google ld+json Info",
"must-be-a-valid-url": "Must be a Valid URL", "must-be-a-valid-url": "Må være en korrekt URL",
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list", "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": "Recipe Markup Specification", "recipe-markup-specification": "Spesifikasjon av oppmåling",
"recipe-url": "Recipe URL", "recipe-url": "Oppskrift URL",
"upload-a-recipe": "Upload a Recipe", "upload-a-recipe": "Last opp oppskrift",
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.", "upload-individual-zip-file": "Last opp en individuell .zip-fil eksportert fra en annen Mealie-instans.",
"url-form-hint": "Copy and paste a link from your favorite recipe website", "url-form-hint": "Kopier og lim inn en lenke fra ditt favoritt-oppskriftsnettsted",
"view-scraped-data": "View Scraped Data" "view-scraped-data": "Vis skrapte data"
}, },
"page": { "page": {
"404-page-not-found": "404 Page not found", "404-page-not-found": "404 Siden ble ikke funnet",
"all-recipes": "All Recipes", "all-recipes": "Alle oppskrifter",
"new-page-created": "New page created", "new-page-created": "Ny side opprettet",
"page": "Page", "page": "Side",
"page-creation-failed": "Page creation failed", "page-creation-failed": "Sideopprettelse feilet",
"page-deleted": "Page deleted", "page-deleted": "Side slettet",
"page-deletion-failed": "Page deletion failed", "page-deletion-failed": "Sletting av siden mislyktes",
"page-update-failed": "Page update failed", "page-update-failed": "Oppdatering av siden mislyktes",
"page-updated": "Page updated", "page-updated": "Side oppdatert",
"pages-update-failed": "Pages update failed", "pages-update-failed": "Oppdatering av siden mislyktes",
"pages-updated": "Pages updated" "pages-updated": "Sider oppdatert"
}, },
"recipe": { "recipe": {
"add-key": "Add Key", "add-key": "Legg til nøkkel",
"add-to-favorites": "Add to Favorites", "add-to-favorites": "Legg til i favoritter",
"api-extras": "API Extras", "api-extras": "API Tillegg",
"calories": "Calories", "calories": "Kalorier",
"calories-suffix": "calories", "calories-suffix": "kalorier",
"carbohydrate-content": "Carbohydrate", "carbohydrate-content": "Karbohydrater",
"categories": "Categories", "categories": "Kategorier",
"comment-action": "Comment", "comment-action": "Kommenter",
"comments": "Comments", "comments": "Kommentarer",
"delete-confirmation": "Are you sure you want to delete this recipe?", "delete-confirmation": "Er du sikker på at du vil slette denne oppskriften?",
"delete-recipe": "Delete Recipe", "delete-recipe": "Slett oppskrift",
"description": "Description", "description": "Beskrivelse",
"disable-amount": "Disable Ingredient Amounts", "disable-amount": "Deaktiver Ingrediens-mengde",
"disable-comments": "Disable Comments", "disable-comments": "Deaktiver kommentarer",
"fat-content": "Fat", "fat-content": "Fett",
"fiber-content": "Fiber", "fiber-content": "Kostfiber",
"grams": "grams", "grams": "gram",
"ingredient": "Ingredient", "ingredient": "Ingredienser",
"ingredients": "Ingredients", "ingredients": "Ingredienser",
"insert-section": "Insert Section", "insert-section": "Sett inn avsnitt",
"instructions": "Instructions", "instructions": "Instruksjoner",
"key-name-required": "Key Name Required", "key-name-required": "Nøkkelnavn kreves",
"landscape-view-coming-soon": "Landscape View (Coming Soon)", "landscape-view-coming-soon": "Landskapsvisning (Kommer snart)",
"milligrams": "milligrams", "milligrams": "mg",
"new-key-name": "New Key Name", "new-key-name": "Nytt nøkkelnavn",
"no-white-space-allowed": "No White Space Allowed", "no-white-space-allowed": "Ingen mellomrom tillatt",
"note": "Note", "note": "Notat",
"nutrition": "Nutrition", "nutrition": "Næring",
"object-key": "Object Key", "object-key": "Objektnøkkel",
"object-value": "Object Value", "object-value": "Objekt verdi",
"original-url": "Original URL", "original-url": "Opprinnlig URL",
"perform-time": "Cook Time", "perform-time": "Koketid",
"prep-time": "Prep Time", "prep-time": "Forberedelser tid",
"protein-content": "Protein", "protein-content": "Protein",
"public-recipe": "Public Recipe", "public-recipe": "Offentlig oppskrift",
"recipe-created": "Recipe created", "recipe-created": "Oppskrift opprettet",
"recipe-creation-failed": "Recipe creation failed", "recipe-creation-failed": "Opprettelse av oppskrift feilet",
"recipe-deleted": "Recipe deleted", "recipe-deleted": "Oppskrift slettet",
"recipe-image": "Recipe Image", "recipe-image": "Oppskriftsbilde",
"recipe-image-updated": "Recipe image updated", "recipe-image-updated": "Oppskriftsbilde oppdatert",
"recipe-name": "Recipe Name", "recipe-name": "Oppskriftsnavn",
"recipe-settings": "Recipe Settings", "recipe-settings": "Oppskriftsinnstillinger",
"recipe-update-failed": "Recipe update failed", "recipe-update-failed": "Oppdatering av oppskrift mislyktes",
"recipe-updated": "Recipe updated", "recipe-updated": "Oppskrift oppdatert",
"remove-from-favorites": "Remove from Favorites", "remove-from-favorites": "Fjern fra favoritter",
"remove-section": "Remove Section", "remove-section": "Fjern seksjon",
"save-recipe-before-use": "Save recipe before use", "save-recipe-before-use": "Lagre oppskrift før bruk",
"section-title": "Section Title", "section-title": "Seksjonstittel",
"servings": "Servings", "servings": "Porsjoner",
"share-recipe-message": "I wanted to share my {0} recipe with you.", "share-recipe-message": "Jeg ville dele min {0} oppskrift med deg.",
"show-nutrition-values": "Show Nutrition Values", "show-nutrition-values": "Vis ernæringsverdier",
"sodium-content": "Sodium", "sodium-content": "Natrium",
"step-index": "Step: {step}", "step-index": "Steg: {step}",
"sugar-content": "Sugar", "sugar-content": "Sukker",
"title": "Title", "title": "Tittel",
"total-time": "Total Time", "total-time": "Total Tid",
"unable-to-delete-recipe": "Unable to Delete Recipe" "unable-to-delete-recipe": "Kan ikke slette oppskrift"
}, },
"reicpe": { "reicpe": {
"no-recipe": "No Recipe" "no-recipe": "Ingen oppskrift"
}, },
"search": { "search": {
"advanced-search": "Advanced Search", "advanced-search": "Avansert søk",
"and": "and", "and": "og",
"exclude": "Exclude", "exclude": "Utelate",
"include": "Include", "include": "Inkluder",
"max-results": "Max Results", "max-results": "Maks resultater",
"or": "Or", "or": "Eller",
"results": "Results", "results": "Resultater",
"search": "Search", "search": "Søk",
"search-mealie": "Search Mealie (press /)", "search-mealie": "Søke i Mealie (trykk /)",
"search-placeholder": "Search...", "search-placeholder": "Søk...",
"tag-filter": "Tag Filter" "tag-filter": "Etikett filter"
}, },
"settings": { "settings": {
"add-a-new-theme": "Add a New Theme", "add-a-new-theme": "Legg til nytt tema",
"admin-settings": "Admin Settings", "admin-settings": "Administrator innstillinger",
"backup": { "backup": {
"backup-created-at-response-export_path": "Backup Created at {path}", "backup-created-at-response-export_path": "Sikkerhetskopi opprettet på {path}",
"backup-deleted": "Backup deleted", "backup-deleted": "Sikkerhetskopi slettet",
"backup-tag": "Backup Tag", "backup-tag": "Sikkerhetskopi-merke",
"create-heading": "Create a Backup", "create-heading": "Opprett sikkerhetskopi",
"delete-backup": "Delete Backup", "delete-backup": "Slett Sikkerhetskopi",
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File", "error-creating-backup-see-log-file": "Feil ved oppretting av sikkerhetskopi. Se loggfilen",
"full-backup": "Full Backup", "full-backup": "Fullstendig sikkerhetskopi",
"import-summary": "Import Summary", "import-summary": "Importer Sammendrag",
"partial-backup": "Partial Backup", "partial-backup": "Delvis sikkerhetskopi",
"unable-to-delete-backup": "Unable to Delete Backup." "unable-to-delete-backup": "Kan ikke slette sikkerhetskopien."
}, },
"backup-and-exports": "Backups", "backup-and-exports": "Sikkerhetskopier",
"change-password": "Change Password", "change-password": "Endre passord",
"current": "Version:", "current": "Versjon:",
"custom-pages": "Custom Pages", "custom-pages": "Egendefinerte sider",
"edit-page": "Edit Page", "edit-page": "Rediger side",
"events": "Events", "events": "Hendelser",
"first-day-of-week": "First day of the week", "first-day-of-week": "Første dag i uken",
"group-settings-updated": "Group Settings Updated", "group-settings-updated": "Gruppeinnstillinger oppdatert",
"homepage": { "homepage": {
"all-categories": "All Categories", "all-categories": "Alle kategorier",
"card-per-section": "Card Per Section", "card-per-section": "Kort Per seksjon",
"home-page": "Home Page", "home-page": "Hjemmeside",
"home-page-sections": "Home Page Sections", "home-page-sections": "Hovedside-seksjoner",
"show-recent": "Show Recent" "show-recent": "Vis Nylige"
}, },
"language": "Language", "language": "Språk",
"latest": "Latest", "latest": "Siste",
"local-api": "Local API", "local-api": "Lokal API",
"locale-settings": "Locale settings", "locale-settings": "Språkinnstillinger",
"migrations": "Migrations", "migrations": "Overføringer",
"new-page": "New Page", "new-page": "Ny side",
"notify": "Notify", "notify": "Varsling",
"organize": "Organize", "organize": "Organiser",
"page-name": "Page Name", "page-name": "Sidenavn",
"pages": "Pages", "pages": "Sider",
"profile": "Profile", "profile": "Profil",
"remove-existing-entries-matching-imported-entries": "Remove existing entries matching imported entries", "remove-existing-entries-matching-imported-entries": "Fjern eksisterende oppføringer som samsvarer med de importerte",
"set-new-time": "Set New Time", "set-new-time": "Angi ny tid",
"settings-update-failed": "Settings update failed", "settings-update-failed": "Oppdatering av innstillinger mislyktes",
"settings-updated": "Settings updated", "settings-updated": "Innstillinger oppdatert",
"site-settings": "Site Settings", "site-settings": "Sideinnstillinger",
"theme": { "theme": {
"accent": "Accent", "accent": "Utheving",
"dark": "Dark", "dark": "rk",
"default-to-system": "Default to system", "default-to-system": "Standard",
"error": "Error", "error": "Feil",
"error-creating-theme-see-log-file": "Error creating theme. See log file.", "error-creating-theme-see-log-file": "Feil under oppretting av tema. Se loggfilen.",
"error-deleting-theme": "Error deleting theme", "error-deleting-theme": "Feil ved sletting av tema",
"error-updating-theme": "Error updating theme", "error-updating-theme": "Feil ved oppdatering av tema",
"info": "Info", "info": "Info",
"light": "Light", "light": "Lys",
"primary": "Primary", "primary": "Primær",
"secondary": "Secondary", "secondary": "Sekundær",
"success": "Success", "success": "Fullført",
"switch-to-dark-mode": "Switch to dark mode", "switch-to-dark-mode": "Bytt til mørk modus",
"switch-to-light-mode": "Switch to light mode", "switch-to-light-mode": "Bytt til lys modus",
"theme-deleted": "Theme deleted", "theme-deleted": "Tema slettet",
"theme-name": "Theme Name", "theme-name": "Temanavn",
"theme-name-is-required": "Theme Name is required.", "theme-name-is-required": "Navn er påkrevd.",
"theme-saved": "Theme Saved", "theme-saved": "Tema lagret",
"theme-updated": "Theme updated", "theme-updated": "Tema oppdatert",
"warning": "Warning" "warning": "Advarsel"
}, },
"token": { "token": {
"active-tokens": "ACTIVE TOKENS", "active-tokens": "AKTIVE TOKENS",
"api-token": "API Token", "api-token": "API-Token",
"api-tokens": "API Tokens", "api-tokens": "API-Token",
"copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Copy this token for use with an external application. This token will not be viewable again.", "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": "Create an API Token", "create-an-api-token": "Opprett API Token",
"token-name": "Token Name" "token-name": "Tokennavn"
}, },
"toolbox": { "toolbox": {
"assign-all": "Assign All", "assign-all": "Tildel alle",
"bulk-assign": "Bulk Assign", "bulk-assign": "Tilordne flere",
"new-name": "New Name", "new-name": "Nytt navn",
"no-unused-items": "No Unused Items", "no-unused-items": "Ingen ubrukte elementer",
"recipes-affected": "No Recipes Affected|One Recipe Affected|{count} Recipes Affected", "recipes-affected": "Ingen Oppskrifter påvirket|En oppskrift påvirket|{count} Oppskrifter påvirket",
"remove-unused": "Remove Unused", "remove-unused": "Fjern ubrukte",
"title-case-all": "Title Case All", "title-case-all": "Stor forbokstav på alle",
"toolbox": "Toolbox", "toolbox": "Verktøykasse",
"unorganized": "Unorganized" "unorganized": "Uorganisert"
}, },
"webhooks": { "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": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at", "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å",
"webhook-url": "Webhook URL", "webhook-url": "Webhook-URL",
"webhooks-caps": "WEBHOOKS" "webhooks-caps": "WEBHOOKS"
} }
}, },
"shopping-list": { "shopping-list": {
"all-lists": "All Lists", "all-lists": "Alle lister",
"create-shopping-list": "Create Shopping List", "create-shopping-list": "Opprett handleliste",
"from-recipe": "From Recipe", "from-recipe": "Fra Oppskrift",
"list-name": "List Name", "list-name": "Listenavn",
"new-list": "New List", "new-list": "Ny liste",
"quantity": "Quantity: {0}", "quantity": "Mengde: {0}",
"shopping-list": "Shopping List", "shopping-list": "Handleliste",
"shopping-lists": "Shopping Lists" "shopping-lists": "Handlelister"
}, },
"sidebar": { "sidebar": {
"all-recipes": "All Recipes", "all-recipes": "Oppskrifter",
"categories": "Categories", "categories": "Kategorier",
"dashboard": "Dashboard", "dashboard": "Kontrollpanel",
"home-page": "Home Page", "home-page": "Hovedside",
"manage-users": "Manage Users", "manage-users": "Brukere",
"migrations": "Migrations", "migrations": "Overføringer",
"profile": "Profile", "profile": "Profil",
"search": "Search", "search": "Søk",
"site-settings": "Site Settings", "site-settings": "Innstillinger",
"tags": "Tags", "tags": "Etiketter",
"toolbox": "Toolbox" "toolbox": "Verktøy"
}, },
"signup": { "signup": {
"error-signing-up": "Error Signing Up", "error-signing-up": "Feil under pålogging",
"sign-up": "Sign Up", "sign-up": "Registrer deg",
"sign-up-link-created": "Sign up link created", "sign-up-link-created": "Registreringslenke opprettet",
"sign-up-link-creation-failed": "Sign up link creation failed", "sign-up-link-creation-failed": "Kunne ikke opprette registreringslenke",
"sign-up-links": "Sign Up Links", "sign-up-links": "Registreringslenker",
"sign-up-token-deleted": "Sign Up Token Deleted", "sign-up-token-deleted": "Registrerings-token slettet",
"sign-up-token-deletion-failed": "Sign up token deletion failed", "sign-up-token-deletion-failed": "Sletting av registreringstoken feilet",
"welcome-to-mealie": "Welcome to Mealie! To become a user of this instance you are required to have a valid invitation link. If you haven't recieved an invitation you are unable to sign-up. To recieve a link, contact the sites administrator." "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": {
"tag-created": "Tag created", "tag-created": "Etikett opprettet",
"tag-creation-failed": "Tag creation failed", "tag-creation-failed": "Etikett-opprettelse mislyktes",
"tag-deleted": "Tag deleted", "tag-deleted": "Etikett slettet",
"tag-deletion-failed": "Tag deletion failed", "tag-deletion-failed": "Sletting av etikett feilet",
"tag-update-failed": "Tag update failed", "tag-update-failed": "Oppdatering av etikett feilet",
"tag-updated": "Tag updated", "tag-updated": "Etikett oppdatert",
"tags": "Tags", "tags": "Etiketter",
"untagged-count": "Untagged {count}" "untagged-count": "Umerkede {count}"
}, },
"user": { "user": {
"admin": "Admin", "admin": "Administrator",
"are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link <b>{link}<b/>?", "are-you-sure-you-want-to-delete-the-link": "Er du sikker på at du vil slette <b>{link}<b/>?",
"are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user <b>{activeName} ID: {activeId}<b/>?", "are-you-sure-you-want-to-delete-the-user": "Er du sikker på at du vil slette brukeren <b>{activeName} ID: {activeId}<b/>?",
"confirm-link-deletion": "Confirm Link Deletion", "confirm-link-deletion": "Bekreft sletting",
"confirm-password": "Confirm Password", "confirm-password": "Bekreft passord",
"confirm-user-deletion": "Confirm User Deletion", "confirm-user-deletion": "Bekreft sletting av bruker",
"could-not-validate-credentials": "Could Not Validate Credentials", "could-not-validate-credentials": "Kunne ikke validere påloggingsinformasjon",
"create-link": "Create Link", "create-link": "Opprette link",
"create-user": "Create User", "create-user": "Opprett bruker",
"current-password": "Current Password", "current-password": "Gjeldende passord",
"e-mail-must-be-valid": "E-mail must be valid", "e-mail-must-be-valid": "E-post må være gyldig",
"edit-user": "Edit User", "edit-user": "Rediger Bruker",
"email": "Email", "email": "E-post",
"error-cannot-delete-super-user": "Error! Cannot Delete Super User", "error-cannot-delete-super-user": "Feil! Kan ikke slette superbruker",
"existing-password-does-not-match": "Existing password does not match", "existing-password-does-not-match": "Eksisterende passord samsvarer ikke",
"full-name": "Full Name", "full-name": "Fullt navn",
"link-id": "Link ID", "link-id": "Link-ID",
"link-name": "Link Name", "link-name": "Lenkenavn",
"login": "Login", "login": "Logg på",
"logout": "Logout", "logout": "Logg ut",
"manage-users": "Manage Users", "manage-users": "Administrere brukere",
"new-password": "New Password", "new-password": "Nytt passord",
"new-user": "New User", "new-user": "Ny bruker",
"password": "Password", "password": "Passord",
"password-has-been-reset-to-the-default-password": "Password has been reset to the default password", "password-has-been-reset-to-the-default-password": "Passordet er blitt tilbakestilt til standard passord",
"password-must-match": "Password must match", "password-must-match": "Passordene må samsvare",
"password-reset-failed": "Password reset failed", "password-reset-failed": "Nullstilling av passord mislyktes",
"password-updated": "Password updated", "password-updated": "Passord oppdatert",
"reset-password": "Reset Password", "reset-password": "Tilbakestill passord",
"sign-in": "Sign in", "sign-in": "Logg inn",
"total-mealplans": "Total MealPlans", "total-mealplans": "Antall Oppskrifter",
"total-users": "Total Users", "total-users": "Totalt antall brukere",
"upload-photo": "Upload Photo", "upload-photo": "Last opp bilde",
"use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password", "use-8-characters-or-more-for-your-password": "Bruk 8 tegn eller mer for ditt passord",
"user": "User", "user": "Bruker",
"user-created": "User created", "user-created": "Bruker opprettet",
"user-creation-failed": "User creation failed", "user-creation-failed": "Brukeroppretting mislyktes",
"user-deleted": "User deleted", "user-deleted": "Slettet bruker",
"user-id": "User ID", "user-id": "Bruker-ID",
"user-id-with-value": "User ID: {id}", "user-id-with-value": "Bruker-ID: {id}",
"user-password": "User Password", "user-password": "Brukerpassord",
"user-successfully-logged-in": "User Successfully Logged In", "user-successfully-logged-in": "Innlogging vellykket",
"user-update-failed": "User update failed", "user-update-failed": "Brukeroppdatering mislyktes",
"user-updated": "User updated", "user-updated": "Oppdatert bruker",
"username": "Username", "username": "Brukernavn",
"users": "Users", "users": "Brukere",
"users-header": "USERS", "users-header": "BRUKERE",
"webhook-time": "Webhook Time", "webhook-time": "Webhooks Tidsbruk",
"webhooks-enabled": "Webhooks Enabled", "webhooks-enabled": "Webhooks aktivert",
"you-are-not-allowed-to-create-a-user": "You are not allowed to create a user", "you-are-not-allowed-to-create-a-user": "Du har ikke rettigheter til å opprette en bruker",
"you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user" "you-are-not-allowed-to-delete-this-user": "Du har ikke rettigheter til å slette denne brukeren"
} }
} }

View File

@ -401,11 +401,11 @@
"shopping-lists": "Lista zakupów" "shopping-lists": "Lista zakupów"
}, },
"sidebar": { "sidebar": {
"all-recipes": "All Recipes", "all-recipes": "Wszystkie",
"categories": "Kategorie", "categories": "Kategorie",
"dashboard": "Kokpit", "dashboard": "Kokpit",
"home-page": "Strona główna", "home-page": "Strona główna",
"manage-users": "Manage Users", "manage-users": "Zarządzanie",
"migrations": "Migracje", "migrations": "Migracje",
"profile": "Profil", "profile": "Profil",
"search": "Wyszukaj", "search": "Wyszukaj",
@ -486,4 +486,4 @@
"you-are-not-allowed-to-create-a-user": "Nie masz uprawnień do tworzenia użytkowników", "you-are-not-allowed-to-create-a-user": "Nie masz uprawnień do tworzenia użytkowników",
"you-are-not-allowed-to-delete-this-user": "Nie masz uprawnień do usuwania użytkowników" "you-are-not-allowed-to-delete-this-user": "Nie masz uprawnień do usuwania użytkowników"
} }
} }

View File

@ -1,165 +1,165 @@
{ {
"about": { "about": {
"about": "About", "about": "Sobre",
"about-mealie": "About Mealie", "about-mealie": "Sobre Mealie",
"api-docs": "API Docs", "api-docs": "Documentação da API",
"api-port": "API Port", "api-port": "Porta da API",
"application-mode": "Application Mode", "application-mode": "Application Mode",
"database-type": "Database Type", "database-type": "Tipo do banco de dados",
"database-url": "Database URL", "database-url": "URL do servidor de banco de dados",
"default-group": "Default Group", "default-group": "Grupo padrão",
"demo": "Demo", "demo": "Demo",
"demo-status": "Demo Status", "demo-status": "Demo Status",
"development": "Development", "development": "Desenvolvimento",
"docs": "Docs", "docs": "Documentação",
"download-log": "Download Log", "download-log": "Baixar Log",
"download-recipe-json": "Last Scraped JSON", "download-recipe-json": "Last Scraped JSON",
"github": "Github", "github": "GitHub",
"log-lines": "Log Lines", "log-lines": "Linhas de log",
"not-demo": "Not Demo", "not-demo": "Not Demo",
"portfolio": "Portfolio", "portfolio": "Portfólio",
"production": "Production", "production": "Produção",
"support": "Support", "support": "Suporte",
"version": "Version" "version": "Versão"
}, },
"asset": { "asset": {
"assets": "Assets", "assets": "Arquivos",
"code": "Code", "code": "Código",
"file": "File", "file": "Arquivo",
"image": "Image", "image": "Imagem",
"new-asset": "New Asset", "new-asset": "Novo Arquivo",
"pdf": "PDF", "pdf": "PDF",
"recipe": "Recipe", "recipe": "Receita",
"show-assets": "Show Assets" "show-assets": "Exibir Arquivos"
}, },
"category": { "category": {
"category-created": "Category created", "category-created": "Categoria criada",
"category-creation-failed": "Category creation failed", "category-creation-failed": "Falha ao criar categoria",
"category-deleted": "Category Deleted", "category-deleted": "Categoria Excluída",
"category-deletion-failed": "Category deletion failed", "category-deletion-failed": "Falha ao excluir a categoria",
"category-filter": "Category Filter", "category-filter": "Filtro de categoria",
"category-update-failed": "Category update failed", "category-update-failed": "Falha ao atualizar categoria",
"category-updated": "Category updated", "category-updated": "Categoria atualizada",
"uncategorized-count": "Uncategorized {count}" "uncategorized-count": "Sem categoria {count}"
}, },
"events": { "events": {
"apprise-url": "Apprise URL", "apprise-url": "URL do Apprise",
"database": "Database", "database": "Banco de dados",
"delete-event": "Delete Event", "delete-event": "Apagar evento",
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.", "new-notification-form-description": "Mealie usa a biblioteca Apprise para gerar notificações. Eles oferecem várias opções de serviços para serem usados para notificações. Consulte a wiki para um guia completo sobre como criar a URL para o seu serviço. Se disponível, selecionar o tipo de notificação pode incluir recursos extras.",
"new-version": "New version available!", "new-version": "Nova versão disponível!",
"notification": "Notification", "notification": "Notificação",
"refresh": "Refresh", "refresh": "Atualizar",
"scheduled": "Scheduled", "scheduled": "Agendado",
"something-went-wrong": "Something Went Wrong!", "something-went-wrong": "Algo deu errado!",
"subscribed-events": "Subscribed Events", "subscribed-events": "Eventos Inscritos",
"test-message-sent": "Test Message Sent" "test-message-sent": "Mensagem de teste enviada"
}, },
"general": { "general": {
"cancel": "Cancel", "cancel": "Cancelar",
"clear": "Clear", "clear": "Limpar",
"close": "Close", "close": "Fechar",
"confirm": "Confirm", "confirm": "Confirmar",
"confirm-delete-generic": "Are you sure you want to delete this?", "confirm-delete-generic": "Você tem certeza de que deseja apagar isto?",
"copied": "Copied", "copied": "Copiado",
"create": "Create", "create": "Criar",
"created": "Created", "created": "Criado",
"custom": "Custom", "custom": "Personalizado",
"dashboard": "Dashboard", "dashboard": "Dashboard",
"delete": "Delete", "delete": "Excluir",
"disabled": "Disabled", "disabled": "Desabilitado",
"download": "Download", "download": "Download",
"edit": "Edit", "edit": "Editar",
"enabled": "Enabled", "enabled": "Habilitado",
"exception": "Exception", "exception": "Exceção",
"failed-count": "Failed: {count}", "failed-count": "Falhou: {count}",
"failure-uploading-file": "Failure uploading file", "failure-uploading-file": "Falha ao enviar arquivo",
"favorites": "Favorites", "favorites": "Favoritos",
"field-required": "Field Required", "field-required": "Campo obrigatório",
"file-folder-not-found": "File/folder not found", "file-folder-not-found": "Arquivo/pasta não encontrado",
"file-uploaded": "File uploaded", "file-uploaded": "Arquivo enviado",
"filter": "Filter", "filter": "Filtro",
"friday": "Friday", "friday": "Sexta-feira",
"general": "General", "general": "Geral",
"get": "Get", "get": "Obter",
"home": "Home", "home": "Home",
"image": "Image", "image": "Imagem",
"image-upload-failed": "Image upload failed", "image-upload-failed": "Falha no envio da imagem",
"import": "Import", "import": "Importar",
"json": "JSON", "json": "JSON",
"keyword": "Keyword", "keyword": "Palavra chave",
"link-copied": "Link Copied", "link-copied": "Link Copiado",
"loading-recipes": "Loading Recipes", "loading-recipes": "Carregando Receitas",
"monday": "Monday", "monday": "Segunda-feira",
"name": "Name", "name": "Nome",
"new": "New", "new": "Novo",
"no": "No", "no": "Não",
"no-recipe-found": "No Recipe Found", "no-recipe-found": "Nenhuma Receita Encontrada",
"ok": "OK", "ok": "OK",
"options": "Options:", "options": "Opções:",
"print": "Print", "print": "Imprimir",
"random": "Random", "random": "Aleatório",
"rating": "Rating", "rating": "Avaliação",
"recent": "Recent", "recent": "Recentes",
"recipe": "Recipe", "recipe": "Receita",
"recipes": "Recipes", "recipes": "Receitas",
"rename-object": "Rename {0}", "rename-object": "Renomear {0}",
"reset": "Reset", "reset": "Redefinir",
"saturday": "Saturday", "saturday": "Sábado",
"save": "Save", "save": "Salvar",
"settings": "Settings", "settings": "Configurações",
"share": "Share", "share": "Compartilhar",
"shuffle": "Shuffle", "shuffle": "Aleatório",
"sort": "Sort", "sort": "Ordenar",
"sort-alphabetically": "Alphabetical", "sort-alphabetically": "Alfabética",
"status": "Status", "status": "Estado",
"submit": "Submit", "submit": "Submeter",
"success-count": "Success: {count}", "success-count": "Sucesso: {count}",
"sunday": "Sunday", "sunday": "Domingo",
"templates": "Templates:", "templates": "Modelos:",
"test": "Test", "test": "Teste",
"themes": "Themes", "themes": "Temas",
"thursday": "Thursday", "thursday": "Quinta-feira",
"token": "Token", "token": "Token",
"tuesday": "Tuesday", "tuesday": "Terça-feira",
"type": "Type", "type": "Tipo",
"update": "Update", "update": "Atualizar",
"updated": "Updated", "updated": "Atualizado",
"upload": "Upload", "upload": "Enviar",
"url": "URL", "url": "URL",
"view": "View", "view": "Visualizar",
"wednesday": "Wednesday", "wednesday": "Quarta-feira",
"yes": "Yes" "yes": "Sim"
}, },
"group": { "group": {
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?", "are-you-sure-you-want-to-delete-the-group": "Tem certeza que deseja excluir o grupo <b>{groupName}<b/>?",
"cannot-delete-default-group": "Cannot delete default group", "cannot-delete-default-group": "Não é possível excluir o grupo padrão",
"cannot-delete-group-with-users": "Cannot delete group with users", "cannot-delete-group-with-users": "Não é possível excluir grupo com usuários",
"confirm-group-deletion": "Confirm Group Deletion", "confirm-group-deletion": "Confirmar Exclusão de Grupo",
"create-group": "Create Group", "create-group": "Criar Grupo",
"error-updating-group": "Error updating group", "error-updating-group": "Erro ao atualizar grupo",
"group": "Group", "group": "Grupo",
"group-deleted": "Group deleted", "group-deleted": "Grupo excluído",
"group-deletion-failed": "Group deletion failed", "group-deletion-failed": "Falha ao excluir grupo",
"group-id-with-value": "Group ID: {groupID}", "group-id-with-value": "ID do grupo: {groupID}",
"group-name": "Group Name", "group-name": "Nome do Grupo",
"group-not-found": "Group not found", "group-not-found": "Grupo não encontrado",
"group-with-value": "Group: {groupID}", "group-with-value": "Grupo: {groupID}",
"groups": "Groups", "groups": "Grupos",
"manage-groups": "Manage Groups", "manage-groups": "Gerenciar Grupos",
"user-group": "User Group", "user-group": "Grupo de usuário",
"user-group-created": "User Group Created", "user-group-created": "Grupo de usuários criado",
"user-group-creation-failed": "User Group Creation Failed" "user-group-creation-failed": "Falha ao criar grupo de usuários"
}, },
"meal-plan": { "meal-plan": {
"create-a-new-meal-plan": "Create a New Meal Plan", "create-a-new-meal-plan": "Criar um novo plano de refeições",
"dinner-this-week": "Dinner This Week", "dinner-this-week": "Jantar desta semana",
"dinner-today": "Dinner Today", "dinner-today": "Jantar de hoje",
"dinner-tonight": "DINNER TONIGHT", "dinner-tonight": "DINNER TONIGHT",
"edit-meal-plan": "Edit Meal Plan", "edit-meal-plan": "Editar cardápio",
"end-date": "End Date", "end-date": "Data Final",
"group": "Group (Beta)", "group": "Grupo (Beta)",
"main": "Main", "main": "Prato Principal",
"meal-planner": "Meal Planner", "meal-planner": "Meal Planner",
"meal-plans": "Meal Plans", "meal-plans": "Meal Plans",
"mealplan-categories": "MEALPLAN CATEGORIES", "mealplan-categories": "MEALPLAN CATEGORIES",
@ -175,135 +175,135 @@
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans", "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans",
"planner": "Planner", "planner": "Planner",
"quick-week": "Quick Week", "quick-week": "Quick Week",
"side": "Side", "side": "Acompanhamento",
"sides": "Sides", "sides": "Acompanhamentos",
"start-date": "Start Date" "start-date": "Data Inicial"
}, },
"migration": { "migration": {
"chowdown": { "chowdown": {
"description": "Migrate data from Chowdown", "description": "Migrar dados do Chowdown",
"title": "Chowdown" "title": "Chowdown"
}, },
"migration-data-removed": "Migration data removed", "migration-data-removed": "Migration data removed",
"nextcloud": { "nextcloud": {
"description": "Migrate data from a Nextcloud Cookbook instance", "description": "Migrar dados de uma instância de Nextcloud Cookbook",
"title": "Nextcloud Cookbook" "title": "Nextcloud Cookbook"
}, },
"no-migration-data-available": "No Migration Data Available", "no-migration-data-available": "No Migration Data Available",
"recipe-migration": "Recipe Migration" "recipe-migration": "Recipe Migration"
}, },
"new-recipe": { "new-recipe": {
"bulk-add": "Bulk Add", "bulk-add": "Adicionar em Massa",
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.", "error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
"error-title": "Looks Like We Couldn't Find Anything", "error-title": "Looks Like We Couldn't Find Anything",
"from-url": "Import a Recipe", "from-url": "Importar uma Receita",
"github-issues": "GitHub Issues", "github-issues": "GitHub Issues",
"google-ld-json-info": "Google ld+json Info", "google-ld-json-info": "Google ld+json Info",
"must-be-a-valid-url": "Must be a Valid URL", "must-be-a-valid-url": "Precisa ser uma URL válida",
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list", "paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Cole os dados da sua receita. Cada linha será tratado como um item em uma lista",
"recipe-markup-specification": "Recipe Markup Specification", "recipe-markup-specification": "Recipe Markup Specification",
"recipe-url": "Recipe URL", "recipe-url": "URL da Receita",
"upload-a-recipe": "Upload a Recipe", "upload-a-recipe": "Enviar uma Receita",
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.", "upload-individual-zip-file": "Enviar um arquivo .zip individual exportado a partir de outra instância do Mealie.",
"url-form-hint": "Copy and paste a link from your favorite recipe website", "url-form-hint": "Copie e cole um link do seu site de receita favorito",
"view-scraped-data": "View Scraped Data" "view-scraped-data": "View Scraped Data"
}, },
"page": { "page": {
"404-page-not-found": "404 Page not found", "404-page-not-found": "404 Página não encontrada",
"all-recipes": "All Recipes", "all-recipes": "Todas as Receitas",
"new-page-created": "New page created", "new-page-created": "Nova página criada",
"page": "Page", "page": "Página",
"page-creation-failed": "Page creation failed", "page-creation-failed": "Falha ao criar página",
"page-deleted": "Page deleted", "page-deleted": "Página excluída",
"page-deletion-failed": "Page deletion failed", "page-deletion-failed": "Falha ao excluir página",
"page-update-failed": "Page update failed", "page-update-failed": "Falha ao atualizar página",
"page-updated": "Page updated", "page-updated": "Página atualizada",
"pages-update-failed": "Pages update failed", "pages-update-failed": "Falha ao atualizar página",
"pages-updated": "Pages updated" "pages-updated": "Páginas atualizadas"
}, },
"recipe": { "recipe": {
"add-key": "Add Key", "add-key": "Adicionar Chave",
"add-to-favorites": "Add to Favorites", "add-to-favorites": "Adicionar aos favoritos",
"api-extras": "API Extras", "api-extras": "API Extras",
"calories": "Calories", "calories": "Calorias",
"calories-suffix": "calories", "calories-suffix": "calorias",
"carbohydrate-content": "Carbohydrate", "carbohydrate-content": "Carboidrato",
"categories": "Categories", "categories": "Categorias",
"comment-action": "Comment", "comment-action": "Comentário",
"comments": "Comments", "comments": "Comentários",
"delete-confirmation": "Are you sure you want to delete this recipe?", "delete-confirmation": "Você tem certeza que deseja apagar esta receita?",
"delete-recipe": "Delete Recipe", "delete-recipe": "Excluir Receita",
"description": "Description", "description": "Descrição",
"disable-amount": "Disable Ingredient Amounts", "disable-amount": "Disable Ingredient Amounts",
"disable-comments": "Disable Comments", "disable-comments": "Desativar Comentários",
"fat-content": "Fat", "fat-content": "Gordura",
"fiber-content": "Fiber", "fiber-content": "Fibras",
"grams": "grams", "grams": "gramas",
"ingredient": "Ingredient", "ingredient": "Ingrediente",
"ingredients": "Ingredients", "ingredients": "Ingredientes",
"insert-section": "Insert Section", "insert-section": "Inserir Seção",
"instructions": "Instructions", "instructions": "Modo de Preparo",
"key-name-required": "Key Name Required", "key-name-required": "Nome da chave obrigatório",
"landscape-view-coming-soon": "Landscape View (Coming Soon)", "landscape-view-coming-soon": "Visualização em modo paisagem (Em breve)",
"milligrams": "milligrams", "milligrams": "miligramas",
"new-key-name": "New Key Name", "new-key-name": "Novo Nome da Chave",
"no-white-space-allowed": "No White Space Allowed", "no-white-space-allowed": "Nenhum Espaço em Branco Permitido",
"note": "Note", "note": "Nota",
"nutrition": "Nutrition", "nutrition": "Nutrição",
"object-key": "Object Key", "object-key": "Chave do Objeto",
"object-value": "Object Value", "object-value": "Valor do objeto",
"original-url": "Original URL", "original-url": "URL Original",
"perform-time": "Cook Time", "perform-time": "Tempo de cozimento",
"prep-time": "Prep Time", "prep-time": "Tempo de preparo",
"protein-content": "Protein", "protein-content": "Proteína",
"public-recipe": "Public Recipe", "public-recipe": "Receita Pública",
"recipe-created": "Recipe created", "recipe-created": "Receita criada",
"recipe-creation-failed": "Recipe creation failed", "recipe-creation-failed": "Falha ao criar receita",
"recipe-deleted": "Recipe deleted", "recipe-deleted": "Receita excluída",
"recipe-image": "Recipe Image", "recipe-image": "Imagem da Receita",
"recipe-image-updated": "Recipe image updated", "recipe-image-updated": "Imagem da receita atualizada",
"recipe-name": "Recipe Name", "recipe-name": "Nome da Receita",
"recipe-settings": "Recipe Settings", "recipe-settings": "Configurações da Receita",
"recipe-update-failed": "Recipe update failed", "recipe-update-failed": "Falha ao atualizar a receita",
"recipe-updated": "Recipe updated", "recipe-updated": "Receita atualizada",
"remove-from-favorites": "Remove from Favorites", "remove-from-favorites": "Remover dos Favoritos",
"remove-section": "Remove Section", "remove-section": "Remover Seção",
"save-recipe-before-use": "Save recipe before use", "save-recipe-before-use": "Salve a receita antes de utilizar",
"section-title": "Section Title", "section-title": "Título da Seção",
"servings": "Servings", "servings": "Porções",
"share-recipe-message": "I wanted to share my {0} recipe with you.", "share-recipe-message": "Eu quero compartilhar minha receita de {0} com você.",
"show-nutrition-values": "Show Nutrition Values", "show-nutrition-values": "Mostrar informações nutricionais",
"sodium-content": "Sodium", "sodium-content": "Sódio",
"step-index": "Step: {step}", "step-index": "Passo: {step}",
"sugar-content": "Sugar", "sugar-content": "Açúcares",
"title": "Title", "title": "Título",
"total-time": "Total Time", "total-time": "Tempo Total",
"unable-to-delete-recipe": "Unable to Delete Recipe" "unable-to-delete-recipe": "Unable to Delete Recipe"
}, },
"reicpe": { "reicpe": {
"no-recipe": "No Recipe" "no-recipe": "Nenhuma Receita"
}, },
"search": { "search": {
"advanced-search": "Advanced Search", "advanced-search": "Pesquisa avançada",
"and": "and", "and": "e",
"exclude": "Exclude", "exclude": "Excluir",
"include": "Include", "include": "Incluir",
"max-results": "Max Results", "max-results": "Número máx. de resultados",
"or": "Or", "or": "Ou",
"results": "Results", "results": "Resultados",
"search": "Search", "search": "Pesquisar",
"search-mealie": "Search Mealie (press /)", "search-mealie": "Pesquisar no Mealie (pressione /)",
"search-placeholder": "Search...", "search-placeholder": "Pesquisar...",
"tag-filter": "Tag Filter" "tag-filter": "Tag Filter"
}, },
"settings": { "settings": {
"add-a-new-theme": "Add a New Theme", "add-a-new-theme": "Adicionar um novo tema",
"admin-settings": "Admin Settings", "admin-settings": "Admin Settings",
"backup": { "backup": {
"backup-created-at-response-export_path": "Backup Created at {path}", "backup-created-at-response-export_path": "Backup criado em {path}",
"backup-deleted": "Backup deleted", "backup-deleted": "Backup deleted",
"backup-tag": "Backup Tag", "backup-tag": "Backup Tag",
"create-heading": "Create a Backup", "create-heading": "Criar um Backup",
"delete-backup": "Delete Backup", "delete-backup": "Delete Backup",
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File", "error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
"full-backup": "Full Backup", "full-backup": "Full Backup",
@ -312,106 +312,106 @@
"unable-to-delete-backup": "Unable to Delete Backup." "unable-to-delete-backup": "Unable to Delete Backup."
}, },
"backup-and-exports": "Backups", "backup-and-exports": "Backups",
"change-password": "Change Password", "change-password": "Alterar senha",
"current": "Version:", "current": "Versão:",
"custom-pages": "Custom Pages", "custom-pages": "Páginas personalizadas",
"edit-page": "Edit Page", "edit-page": "Editar Página",
"events": "Events", "events": "Eventos",
"first-day-of-week": "First day of the week", "first-day-of-week": "Primeiro dia da semana",
"group-settings-updated": "Group Settings Updated", "group-settings-updated": "Configurações de Grupo Atualizadas",
"homepage": { "homepage": {
"all-categories": "All Categories", "all-categories": "Todas as Categorias",
"card-per-section": "Card Per Section", "card-per-section": "Cartão por Seção",
"home-page": "Home Page", "home-page": "Página Inicial",
"home-page-sections": "Home Page Sections", "home-page-sections": "Seções da Página Inicial",
"show-recent": "Show Recent" "show-recent": "Mostrar Recentes"
}, },
"language": "Language", "language": "Idioma",
"latest": "Latest", "latest": "Mais recentes",
"local-api": "Local API", "local-api": "API Local",
"locale-settings": "Locale settings", "locale-settings": "Locale settings",
"migrations": "Migrations", "migrations": "Migrações",
"new-page": "New Page", "new-page": "Nova Página",
"notify": "Notify", "notify": "Notificações",
"organize": "Organize", "organize": "Organizar",
"page-name": "Page Name", "page-name": "Nome da Página",
"pages": "Pages", "pages": "Páginas",
"profile": "Profile", "profile": "Perfil",
"remove-existing-entries-matching-imported-entries": "Remove existing entries matching imported entries", "remove-existing-entries-matching-imported-entries": "Remove existing entries matching imported entries",
"set-new-time": "Set New Time", "set-new-time": "Definir novo horário",
"settings-update-failed": "Settings update failed", "settings-update-failed": "Falha ao atualizar configurações",
"settings-updated": "Settings updated", "settings-updated": "Configurações atualizadas",
"site-settings": "Site Settings", "site-settings": "Configurações do site",
"theme": { "theme": {
"accent": "Accent", "accent": "Cor em destaque",
"dark": "Dark", "dark": "Escuro",
"default-to-system": "Default to system", "default-to-system": "Padrão para o sistema",
"error": "Error", "error": "Erro",
"error-creating-theme-see-log-file": "Error creating theme. See log file.", "error-creating-theme-see-log-file": "Erro ao criar tema. Consulte o arquivo de log.",
"error-deleting-theme": "Error deleting theme", "error-deleting-theme": "Erro ao excluir tema",
"error-updating-theme": "Error updating theme", "error-updating-theme": "Erro ao atualizar tema",
"info": "Info", "info": "Informação",
"light": "Light", "light": "Claro",
"primary": "Primary", "primary": "Primária",
"secondary": "Secondary", "secondary": "Secundária",
"success": "Success", "success": "Sucesso",
"switch-to-dark-mode": "Switch to dark mode", "switch-to-dark-mode": "Mudar para modo escuro",
"switch-to-light-mode": "Switch to light mode", "switch-to-light-mode": "Alternar para modo claro",
"theme-deleted": "Theme deleted", "theme-deleted": "Tema excluído",
"theme-name": "Theme Name", "theme-name": "Nome do Tema",
"theme-name-is-required": "Theme Name is required.", "theme-name-is-required": "O nome do tema é obrigatório.",
"theme-saved": "Theme Saved", "theme-saved": "Tema Salvo",
"theme-updated": "Theme updated", "theme-updated": "Tema atualizado",
"warning": "Warning" "warning": "Atenção"
}, },
"token": { "token": {
"active-tokens": "ACTIVE TOKENS", "active-tokens": "TOKENS ATIVOS",
"api-token": "API Token", "api-token": "Token de API",
"api-tokens": "API Tokens", "api-tokens": "Tokens de API",
"copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Copy this token for use with an external application. This token will not be viewable again.", "copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Copy this token for use with an external application. This token will not be viewable again.",
"create-an-api-token": "Create an API Token", "create-an-api-token": "Criar um token de API",
"token-name": "Token Name" "token-name": "Nome do Token"
}, },
"toolbox": { "toolbox": {
"assign-all": "Assign All", "assign-all": "Atribuir a todos",
"bulk-assign": "Bulk Assign", "bulk-assign": "Atribuir em massa",
"new-name": "New Name", "new-name": "Novo Nome",
"no-unused-items": "No Unused Items", "no-unused-items": "Nenhum item não utilizado",
"recipes-affected": "No Recipes Affected|One Recipe Affected|{count} Recipes Affected", "recipes-affected": "Nenhuma Receita Afetada|Uma Receita Afetada|{count} Receitas Afetadas",
"remove-unused": "Remove Unused", "remove-unused": "Remover não utilizadas",
"title-case-all": "Title Case All", "title-case-all": "Title Case All",
"toolbox": "Toolbox", "toolbox": "Ferramentas",
"unorganized": "Unorganized" "unorganized": "Unorganized"
}, },
"webhooks": { "webhooks": {
"test-webhooks": "Test Webhooks", "test-webhooks": "Testar 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": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at", "the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at",
"webhook-url": "Webhook URL", "webhook-url": "Webhook URL",
"webhooks-caps": "WEBHOOKS" "webhooks-caps": "WEBHOOKS"
} }
}, },
"shopping-list": { "shopping-list": {
"all-lists": "All Lists", "all-lists": "Todas as Listas",
"create-shopping-list": "Create Shopping List", "create-shopping-list": "Criar Lista de Compras",
"from-recipe": "From Recipe", "from-recipe": "Da Receita",
"list-name": "List Name", "list-name": "Nome da Lista",
"new-list": "New List", "new-list": "Nova lista",
"quantity": "Quantity: {0}", "quantity": "Quantidade: {0}",
"shopping-list": "Shopping List", "shopping-list": "Shopping List",
"shopping-lists": "Shopping Lists" "shopping-lists": "Shopping Lists"
}, },
"sidebar": { "sidebar": {
"all-recipes": "All Recipes", "all-recipes": "All Recipes",
"categories": "Categories", "categories": "Categorias",
"dashboard": "Dashboard", "dashboard": "Dashboard",
"home-page": "Home Page", "home-page": "Home Page",
"manage-users": "Manage Users", "manage-users": "Manage Users",
"migrations": "Migrations", "migrations": "Migrações",
"profile": "Profile", "profile": "Perfil",
"search": "Search", "search": "Pesquisar",
"site-settings": "Site Settings", "site-settings": "Site Settings",
"tags": "Tags", "tags": "Tags",
"toolbox": "Toolbox" "toolbox": "Ferramentas"
}, },
"signup": { "signup": {
"error-signing-up": "Error Signing Up", "error-signing-up": "Error Signing Up",
@ -434,50 +434,50 @@
"untagged-count": "Untagged {count}" "untagged-count": "Untagged {count}"
}, },
"user": { "user": {
"admin": "Admin", "admin": "Administrador",
"are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link <b>{link}<b/>?", "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link <b>{link}<b/>?",
"are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user <b>{activeName} ID: {activeId}<b/>?", "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user <b>{activeName} ID: {activeId}<b/>?",
"confirm-link-deletion": "Confirm Link Deletion", "confirm-link-deletion": "Confirm Link Deletion",
"confirm-password": "Confirm Password", "confirm-password": "Confirmar senha",
"confirm-user-deletion": "Confirm User Deletion", "confirm-user-deletion": "Confirm User Deletion",
"could-not-validate-credentials": "Could Not Validate Credentials", "could-not-validate-credentials": "Could Not Validate Credentials",
"create-link": "Create Link", "create-link": "Create Link",
"create-user": "Create User", "create-user": "Criar usuário",
"current-password": "Current Password", "current-password": "Senha atual",
"e-mail-must-be-valid": "E-mail must be valid", "e-mail-must-be-valid": "O e-mail deve ser válido",
"edit-user": "Edit User", "edit-user": "Editar Usuário",
"email": "Email", "email": "E-mail",
"error-cannot-delete-super-user": "Error! Cannot Delete Super User", "error-cannot-delete-super-user": "Erro! Não é possível excluir Super Usuário",
"existing-password-does-not-match": "Existing password does not match", "existing-password-does-not-match": "Existing password does not match",
"full-name": "Full Name", "full-name": "Nome Completo",
"link-id": "Link ID", "link-id": "Link ID",
"link-name": "Link Name", "link-name": "Link Name",
"login": "Login", "login": "Login",
"logout": "Logout", "logout": "Logout",
"manage-users": "Manage Users", "manage-users": "Gerenciar Usuários",
"new-password": "New Password", "new-password": "Nova senha",
"new-user": "New User", "new-user": "Novo Usuário",
"password": "Password", "password": "Senha",
"password-has-been-reset-to-the-default-password": "Password has been reset to the default password", "password-has-been-reset-to-the-default-password": "A senha foi redefinida para a senha padrão",
"password-must-match": "Password must match", "password-must-match": "Password must match",
"password-reset-failed": "Password reset failed", "password-reset-failed": "Falha na redefinição da senha",
"password-updated": "Password updated", "password-updated": "Senha modificada",
"reset-password": "Reset Password", "reset-password": "Alterar senha",
"sign-in": "Sign in", "sign-in": "Sign in",
"total-mealplans": "Total MealPlans", "total-mealplans": "Total MealPlans",
"total-users": "Total Users", "total-users": "Total de usuários",
"upload-photo": "Upload Photo", "upload-photo": "Enviar Foto",
"use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password", "use-8-characters-or-more-for-your-password": "Use 8 caracteres ou mais para sua senha",
"user": "User", "user": "Usuário",
"user-created": "User created", "user-created": "Usuário criado",
"user-creation-failed": "User creation failed", "user-creation-failed": "Falha ao criar usuário",
"user-deleted": "User deleted", "user-deleted": "User deleted",
"user-id": "User ID", "user-id": "ID do Usuário",
"user-id-with-value": "User ID: {id}", "user-id-with-value": "ID do Usuário: {id}",
"user-password": "User Password", "user-password": "Senha do Usuário",
"user-successfully-logged-in": "User Successfully Logged In", "user-successfully-logged-in": "User Successfully Logged In",
"user-update-failed": "User update failed", "user-update-failed": "Falha ao atualizar o usuário",
"user-updated": "User updated", "user-updated": "Usuário atualizado",
"username": "Username", "username": "Username",
"users": "Users", "users": "Users",
"users-header": "USERS", "users-header": "USERS",
@ -486,4 +486,4 @@
"you-are-not-allowed-to-create-a-user": "You are not allowed to create a user", "you-are-not-allowed-to-create-a-user": "You are not allowed to create a user",
"you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user" "you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user"
} }
} }

View File

@ -8,7 +8,7 @@
"database-type": "Database Type", "database-type": "Database Type",
"database-url": "Database URL", "database-url": "Database URL",
"default-group": "Default Group", "default-group": "Default Group",
"demo": "Demo", "demo": "Demonstração",
"demo-status": "Demo Status", "demo-status": "Demo Status",
"development": "Development", "development": "Development",
"docs": "Docs", "docs": "Docs",
@ -128,8 +128,8 @@
"upload": "Enviar", "upload": "Enviar",
"url": "URL", "url": "URL",
"view": "View", "view": "View",
"wednesday": "Wednesday", "wednesday": "Quarta-feira",
"yes": "Yes" "yes": "Sim"
}, },
"group": { "group": {
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?", "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?",
@ -486,4 +486,4 @@
"you-are-not-allowed-to-create-a-user": "You are not allowed to create a user", "you-are-not-allowed-to-create-a-user": "You are not allowed to create a user",
"you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user" "you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user"
} }
} }

View File

@ -1,489 +1,489 @@
{ {
"about": { "about": {
"about": "About", "about": "О проекте",
"about-mealie": "About Mealie", "about-mealie": "О Mealie",
"api-docs": "API Docs", "api-docs": "Документация API",
"api-port": "API Port", "api-port": "Порт API",
"application-mode": "Application Mode", "application-mode": "Статус приложения",
"database-type": "Database Type", "database-type": "Тип базы данных",
"database-url": "Database URL", "database-url": "URL базы данных",
"default-group": "Default Group", "default-group": "Группа по умолчанию",
"demo": "Demo", "demo": "Демо",
"demo-status": "Demo Status", "demo-status": "Демо-статус",
"development": "Development", "development": "В разработке",
"docs": "Docs", "docs": "Справка",
"download-log": "Download Log", "download-log": "Скачать лог",
"download-recipe-json": "Last Scraped JSON", "download-recipe-json": "Последний скрап JSON",
"github": "Github", "github": "GitHub",
"log-lines": "Log Lines", "log-lines": "Строки журнала",
"not-demo": "Not Demo", "not-demo": "Не демо",
"portfolio": "Portfolio", "portfolio": "Портфолио",
"production": "Production", "production": "Пользовательский",
"support": "Support", "support": "Поддержка",
"version": "Version" "version": "Версия"
}, },
"asset": { "asset": {
"assets": "Assets", "assets": "Ресурсы",
"code": "Code", "code": "Код",
"file": "File", "file": "Файл",
"image": "Image", "image": "Изображение",
"new-asset": "New Asset", "new-asset": "Новый ресурс",
"pdf": "PDF", "pdf": "PDF",
"recipe": "Recipe", "recipe": "Рецепт",
"show-assets": "Show Assets" "show-assets": "Показать ресурсы"
}, },
"category": { "category": {
"category-created": "Category created", "category-created": "Категория создана",
"category-creation-failed": "Category creation failed", "category-creation-failed": "Не удалось создать категорию",
"category-deleted": "Category Deleted", "category-deleted": "Категория удалена",
"category-deletion-failed": "Category deletion failed", "category-deletion-failed": "Ошибка удаления категории",
"category-filter": "Category Filter", "category-filter": "Фильтр по категориям",
"category-update-failed": "Category update failed", "category-update-failed": "Не удалось обновить категорию",
"category-updated": "Category updated", "category-updated": "Категория обновлена",
"uncategorized-count": "Uncategorized {count}" "uncategorized-count": "Без категории {count}"
}, },
"events": { "events": {
"apprise-url": "Apprise URL", "apprise-url": "Apprise URL",
"database": "Database", "database": "База данных",
"delete-event": "Delete Event", "delete-event": "Удалить событие",
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.", "new-notification-form-description": "Mealie использует библиотеку Apprise для генерирования уведомлений. Apprise предлагают сервисам многочисленные возможности для использования при создании уведомлений. Обратитесь к их гиду в wiki за подробным руководством по созданию URL для Вашего сервиса. Также при выборе типа уведомления могут стать доступными дополнительные функции.",
"new-version": "New version available!", "new-version": "Доступна новая версия!",
"notification": "Notification", "notification": "Оповещение",
"refresh": "Refresh", "refresh": "Обновить",
"scheduled": "Scheduled", "scheduled": "Запланировано",
"something-went-wrong": "Something Went Wrong!", "something-went-wrong": "Что-то пошло не так!",
"subscribed-events": "Subscribed Events", "subscribed-events": "Уведомлять о событиях",
"test-message-sent": "Test Message Sent" "test-message-sent": "Тестовое сообщение отправлено"
}, },
"general": { "general": {
"cancel": "Cancel", "cancel": "Отмена",
"clear": "Clear", "clear": "Очистить",
"close": "Close", "close": "Закрыть",
"confirm": "Confirm", "confirm": "Подтвердить",
"confirm-delete-generic": "Are you sure you want to delete this?", "confirm-delete-generic": "Вы уверены, что хотите это удалить?",
"copied": "Copied", "copied": "Скопировано",
"create": "Create", "create": "Создать",
"created": "Created", "created": "По дате создания",
"custom": "Custom", "custom": "Свой",
"dashboard": "Dashboard", "dashboard": "Панель инструментов",
"delete": "Delete", "delete": "Удалить",
"disabled": "Disabled", "disabled": "Отключено",
"download": "Download", "download": "Загрузить",
"edit": "Edit", "edit": "Изменить",
"enabled": "Enabled", "enabled": "Вкл.",
"exception": "Exception", "exception": "Исключение",
"failed-count": "Failed: {count}", "failed-count": "Ошибка: {count}",
"failure-uploading-file": "Failure uploading file", "failure-uploading-file": "Ошибка загрузки файла",
"favorites": "Favorites", "favorites": "Избранное",
"field-required": "Field Required", "field-required": "Обязательное поле",
"file-folder-not-found": "File/folder not found", "file-folder-not-found": "Файл/папка не найдена",
"file-uploaded": "File uploaded", "file-uploaded": "Файл загружен",
"filter": "Filter", "filter": "Фильтр",
"friday": "Friday", "friday": "Пятница",
"general": "General", "general": "Общие",
"get": "Get", "get": "Получить",
"home": "Home", "home": "Домашняя",
"image": "Image", "image": "Изображение",
"image-upload-failed": "Image upload failed", "image-upload-failed": "Ошибка при загрузке изображения",
"import": "Import", "import": "Импортировать",
"json": "JSON", "json": "JSON",
"keyword": "Keyword", "keyword": "Ключевое слово",
"link-copied": "Link Copied", "link-copied": "Ссылка скопирована",
"loading-recipes": "Loading Recipes", "loading-recipes": "Загрузка рецептов",
"monday": "Monday", "monday": "Понедельник",
"name": "Name", "name": "Имя",
"new": "New", "new": "Новый",
"no": "No", "no": "Нет",
"no-recipe-found": "No Recipe Found", "no-recipe-found": "Рецепт не найден",
"ok": "OK", "ok": "Ок",
"options": "Options:", "options": "Параметры:",
"print": "Print", "print": "Печать",
"random": "Random", "random": "Случайный",
"rating": "Rating", "rating": "По оценке",
"recent": "Recent", "recent": "Недавние",
"recipe": "Recipe", "recipe": "Рецепт",
"recipes": "Recipes", "recipes": "Рецепты",
"rename-object": "Rename {0}", "rename-object": "Переименовать {0}",
"reset": "Reset", "reset": "Сбросить",
"saturday": "Saturday", "saturday": "Суббота",
"save": "Save", "save": "Сохранить",
"settings": "Settings", "settings": "Настройки",
"share": "Share", "share": "Поделиться",
"shuffle": "Shuffle", "shuffle": "Перемешать",
"sort": "Sort", "sort": "Сортировать",
"sort-alphabetically": "Alphabetical", "sort-alphabetically": "По алфавиту",
"status": "Status", "status": "По статусу",
"submit": "Submit", "submit": "Добавить",
"success-count": "Success: {count}", "success-count": "Успешно: {count}",
"sunday": "Sunday", "sunday": "Воскресенье",
"templates": "Templates:", "templates": "Шаблоны:",
"test": "Test", "test": "Тест",
"themes": "Themes", "themes": "Темы",
"thursday": "Thursday", "thursday": "Четверг",
"token": "Token", "token": "Токен",
"tuesday": "Tuesday", "tuesday": "Вторник",
"type": "Type", "type": "Тип",
"update": "Update", "update": "Обновить",
"updated": "Updated", "updated": "Обновлено",
"upload": "Upload", "upload": "Загрузить",
"url": "URL", "url": "URL-адрес",
"view": "View", "view": "Просмотр",
"wednesday": "Wednesday", "wednesday": "Среда",
"yes": "Yes" "yes": "Да"
}, },
"group": { "group": {
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?", "are-you-sure-you-want-to-delete-the-group": "Вы действительно хотите удалить <b>{groupName}<b/>?",
"cannot-delete-default-group": "Cannot delete default group", "cannot-delete-default-group": "Невозможно удалить группу по умолчанию",
"cannot-delete-group-with-users": "Cannot delete group with users", "cannot-delete-group-with-users": "Невозможно удалить группу с пользователями",
"confirm-group-deletion": "Confirm Group Deletion", "confirm-group-deletion": "Подтвердить удаление группы",
"create-group": "Create Group", "create-group": "Создать группу",
"error-updating-group": "Error updating group", "error-updating-group": "Ошибка при обновлении группы",
"group": "Group", "group": "Группа",
"group-deleted": "Group deleted", "group-deleted": "Группа удалена",
"group-deletion-failed": "Group deletion failed", "group-deletion-failed": "Не удалось удалить группу",
"group-id-with-value": "Group ID: {groupID}", "group-id-with-value": "ID группы: {groupID}",
"group-name": "Group Name", "group-name": "Наименование группы",
"group-not-found": "Group not found", "group-not-found": "Группа не найдена",
"group-with-value": "Group: {groupID}", "group-with-value": "Группа: {groupID}",
"groups": "Groups", "groups": "Группы",
"manage-groups": "Manage Groups", "manage-groups": "Управление группами",
"user-group": "User Group", "user-group": "Пользовательская группа",
"user-group-created": "User Group Created", "user-group-created": "Пользовательская группа создана",
"user-group-creation-failed": "User Group Creation Failed" "user-group-creation-failed": "Не удалось создать пользовательскую группу"
}, },
"meal-plan": { "meal-plan": {
"create-a-new-meal-plan": "Create a New Meal Plan", "create-a-new-meal-plan": "Создать новый план питания",
"dinner-this-week": "Dinner This Week", "dinner-this-week": "Ужин на этой неделе",
"dinner-today": "Dinner Today", "dinner-today": "Ужин сегодня",
"dinner-tonight": "DINNER TONIGHT", "dinner-tonight": "Ужин сегодня",
"edit-meal-plan": "Edit Meal Plan", "edit-meal-plan": "Редактировать план питания",
"end-date": "End Date", "end-date": "Конечная дата",
"group": "Group (Beta)", "group": "Группировать (Beta)",
"main": "Main", "main": "Основное блюдо",
"meal-planner": "Meal Planner", "meal-planner": "Планировщик питания",
"meal-plans": "Meal Plans", "meal-plans": "Планы питания",
"mealplan-categories": "MEALPLAN CATEGORIES", "mealplan-categories": "КАТЕГОРИИ MEALPLAN",
"mealplan-created": "Mealplan created", "mealplan-created": "Mealplan создан",
"mealplan-creation-failed": "Mealplan creation failed", "mealplan-creation-failed": "Не удалось создать Mealplan",
"mealplan-deleted": "Mealplan Deleted", "mealplan-deleted": "Mealplan удален",
"mealplan-deletion-failed": "Mealplan deletion failed", "mealplan-deletion-failed": "Ошибка удаления Mealplan",
"mealplan-settings": "Mealplan Settings", "mealplan-settings": "Настройки Mealplan",
"mealplan-update-failed": "Mealplan update failed", "mealplan-update-failed": "Не удалось обновить Mealplan",
"mealplan-updated": "Mealplan Updated", "mealplan-updated": "Mealplan обновлен",
"no-meal-plan-defined-yet": "No meal plan defined yet", "no-meal-plan-defined-yet": "План питания еще не определен",
"no-meal-planned-for-today": "No meal planned for today", "no-meal-planned-for-today": "На сегодня нет запланированых блюд",
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans", "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Только рецепты с этими категориями будут использоваться в планах питания",
"planner": "Planner", "planner": "Планировщик",
"quick-week": "Quick Week", "quick-week": "Быстрый план",
"side": "Side", "side": "Гарнир",
"sides": "Sides", "sides": "Гарниры",
"start-date": "Start Date" "start-date": "Начальная дата"
}, },
"migration": { "migration": {
"chowdown": { "chowdown": {
"description": "Migrate data from Chowdown", "description": "Миграция данных из Chowdown",
"title": "Chowdown" "title": "Chowdown"
}, },
"migration-data-removed": "Migration data removed", "migration-data-removed": "Данные миграции удалены",
"nextcloud": { "nextcloud": {
"description": "Migrate data from a Nextcloud Cookbook instance", "description": "Миграция данных из Nextcloud Cookbook",
"title": "Nextcloud Cookbook" "title": "Nextcloud Cookbook"
}, },
"no-migration-data-available": "No Migration Data Available", "no-migration-data-available": "Данные о миграции отсутствуют",
"recipe-migration": "Recipe Migration" "recipe-migration": "Миграция рецепта"
}, },
"new-recipe": { "new-recipe": {
"bulk-add": "Bulk Add", "bulk-add": "Массовое добавление",
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.", "error-details": "Mealie может импортировать только веб-сайты, содержащие ld+json или микроданные. Большинство веб-сайтов с рецептами поддерживают эту структуру данных. Если Ваш сайт не может быть импортирован, но в логе есть данные json, то пожалуйста уведомите о проблеме на GitHub с URL и данными.",
"error-title": "Looks Like We Couldn't Find Anything", "error-title": "Похоже, нам не удалось ничего найти",
"from-url": "Import a Recipe", "from-url": "Импортировать рецепт",
"github-issues": "GitHub Issues", "github-issues": "Список проблем (GitHub)",
"google-ld-json-info": "Google ld+json Info", "google-ld-json-info": "Справка по ld+json (Google)",
"must-be-a-valid-url": "Must be a Valid URL", "must-be-a-valid-url": "Должен быть действительным URL",
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list", "paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Вставьте в данные рецепта. Каждая строка будет рассматриваться как отдельный предмет в списке",
"recipe-markup-specification": "Recipe Markup Specification", "recipe-markup-specification": "Спецификация разметки рецепта",
"recipe-url": "Recipe URL", "recipe-url": "URL-адрес рецепта",
"upload-a-recipe": "Upload a Recipe", "upload-a-recipe": "Загрузить рецепт",
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.", "upload-individual-zip-file": "Загрузить отдельный .zip файл, экспортированный из другой Mealie.",
"url-form-hint": "Copy and paste a link from your favorite recipe website", "url-form-hint": "Скопируйте и вставьте ссылку из вашего любимого сайта рецептов",
"view-scraped-data": "View Scraped Data" "view-scraped-data": "Просмотр собранных данных"
}, },
"page": { "page": {
"404-page-not-found": "404 Page not found", "404-page-not-found": "404 - страница не найдена",
"all-recipes": "All Recipes", "all-recipes": "Все рецепты",
"new-page-created": "New page created", "new-page-created": "Создана новая страница",
"page": "Page", "page": "Страница",
"page-creation-failed": "Page creation failed", "page-creation-failed": "Не удалось создать страницу",
"page-deleted": "Page deleted", "page-deleted": "Страница удалена",
"page-deletion-failed": "Page deletion failed", "page-deletion-failed": "Ошибка удаления страницы",
"page-update-failed": "Page update failed", "page-update-failed": "Ошибка обновления страницы",
"page-updated": "Page updated", "page-updated": "Страница обновлена",
"pages-update-failed": "Pages update failed", "pages-update-failed": "Ошибка обновления страниц",
"pages-updated": "Pages updated" "pages-updated": "Страницы обновлены"
}, },
"recipe": { "recipe": {
"add-key": "Add Key", "add-key": "Добавить ключ",
"add-to-favorites": "Add to Favorites", "add-to-favorites": "В избранное",
"api-extras": "API Extras", "api-extras": "Дополнительные API",
"calories": "Calories", "calories": "Энергетическая ценность",
"calories-suffix": "calories", "calories-suffix": "ккал",
"carbohydrate-content": "Carbohydrate", "carbohydrate-content": "Углеводы",
"categories": "Categories", "categories": "Категории",
"comment-action": "Comment", "comment-action": "Оставить комментарий",
"comments": "Comments", "comments": "Комментарии",
"delete-confirmation": "Are you sure you want to delete this recipe?", "delete-confirmation": "Вы уверены, что хотите удалить этот рецепт?",
"delete-recipe": "Delete Recipe", "delete-recipe": "Удалить рецепт",
"description": "Description", "description": "Описание",
"disable-amount": "Disable Ingredient Amounts", "disable-amount": "Не показывать кол-во ингредиентов",
"disable-comments": "Disable Comments", "disable-comments": "Отключить комментарии",
"fat-content": "Fat", "fat-content": "Жиры",
"fiber-content": "Fiber", "fiber-content": "Клетчатка",
"grams": "grams", "grams": "гр.",
"ingredient": "Ingredient", "ingredient": "Ингредиент",
"ingredients": "Ingredients", "ingredients": "Ингредиенты",
"insert-section": "Insert Section", "insert-section": "Вставить раздел",
"instructions": "Instructions", "instructions": "Инструкции",
"key-name-required": "Key Name Required", "key-name-required": "Требуется имя ключа",
"landscape-view-coming-soon": "Landscape View (Coming Soon)", "landscape-view-coming-soon": "В ландшафтном режиме (скоро)",
"milligrams": "milligrams", "milligrams": "мг.",
"new-key-name": "New Key Name", "new-key-name": "Имя нового ключа",
"no-white-space-allowed": "No White Space Allowed", "no-white-space-allowed": "Пробелы не допускаются",
"note": "Note", "note": "Заметка",
"nutrition": "Nutrition", "nutrition": "Пищевая ценность",
"object-key": "Object Key", "object-key": "Ключ объекта",
"object-value": "Object Value", "object-value": "Значение объекта",
"original-url": "Original URL", "original-url": "Исходный URL",
"perform-time": "Cook Time", "perform-time": "Время приготовления",
"prep-time": "Prep Time", "prep-time": "Время подготовки",
"protein-content": "Protein", "protein-content": "Белки",
"public-recipe": "Public Recipe", "public-recipe": "Открытый рецепт",
"recipe-created": "Recipe created", "recipe-created": "Рецепт создан",
"recipe-creation-failed": "Recipe creation failed", "recipe-creation-failed": "Ошибка создания рецепта",
"recipe-deleted": "Recipe deleted", "recipe-deleted": "Рецепт удален",
"recipe-image": "Recipe Image", "recipe-image": "Изображение рецепта",
"recipe-image-updated": "Recipe image updated", "recipe-image-updated": "Изображение рецепта обновлено",
"recipe-name": "Recipe Name", "recipe-name": "Название рецепта",
"recipe-settings": "Recipe Settings", "recipe-settings": "Настройки рецепта",
"recipe-update-failed": "Recipe update failed", "recipe-update-failed": "Ошибка обновления рецепта",
"recipe-updated": "Recipe updated", "recipe-updated": "Рецепт обновлен",
"remove-from-favorites": "Remove from Favorites", "remove-from-favorites": "Убрать из избранного",
"remove-section": "Remove Section", "remove-section": "Удалить раздел",
"save-recipe-before-use": "Save recipe before use", "save-recipe-before-use": "Сохранить рецепт перед использованием",
"section-title": "Section Title", "section-title": "Название раздела",
"servings": "Servings", "servings": "Порции",
"share-recipe-message": "I wanted to share my {0} recipe with you.", "share-recipe-message": "Я хотел(а) поделиться с тобой моим рецептом {0}.",
"show-nutrition-values": "Show Nutrition Values", "show-nutrition-values": "Показать пищевую ценность",
"sodium-content": "Sodium", "sodium-content": "Соль",
"step-index": "Step: {step}", "step-index": "Шаг: {step}",
"sugar-content": "Sugar", "sugar-content": "Сахар",
"title": "Title", "title": "Заголовок",
"total-time": "Total Time", "total-time": "Общее время",
"unable-to-delete-recipe": "Unable to Delete Recipe" "unable-to-delete-recipe": "Невозможно удалить рецепт"
}, },
"reicpe": { "reicpe": {
"no-recipe": "No Recipe" "no-recipe": "Нет рецепта"
}, },
"search": { "search": {
"advanced-search": "Advanced Search", "advanced-search": "Расширенный поиск",
"and": "and", "and": "И",
"exclude": "Exclude", "exclude": "Исключить",
"include": "Include", "include": "Включить",
"max-results": "Max Results", "max-results": "Макс. результатов",
"or": "Or", "or": "Или",
"results": "Results", "results": "Результаты",
"search": "Search", "search": "Поиск",
"search-mealie": "Search Mealie (press /)", "search-mealie": "Поиск Mealie (нажмите /)",
"search-placeholder": "Search...", "search-placeholder": "Поиск...",
"tag-filter": "Tag Filter" "tag-filter": "Фильтр тегов"
}, },
"settings": { "settings": {
"add-a-new-theme": "Add a New Theme", "add-a-new-theme": "Добавить новую тему",
"admin-settings": "Admin Settings", "admin-settings": "Настройки администратора",
"backup": { "backup": {
"backup-created-at-response-export_path": "Backup Created at {path}", "backup-created-at-response-export_path": "Резервная копия создана в {path}",
"backup-deleted": "Backup deleted", "backup-deleted": "Резервная копия удалена",
"backup-tag": "Backup Tag", "backup-tag": "Тег резервной копии",
"create-heading": "Create a Backup", "create-heading": "Резервное копирование",
"delete-backup": "Delete Backup", "delete-backup": "Удалить резервную копию",
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File", "error-creating-backup-see-log-file": "Ошибка создания резервной копии. Смотрите файл журнала",
"full-backup": "Full Backup", "full-backup": "Полное резервное копирование",
"import-summary": "Import Summary", "import-summary": "Сводка по импорту",
"partial-backup": "Partial Backup", "partial-backup": "Частичное резервное копирование",
"unable-to-delete-backup": "Unable to Delete Backup." "unable-to-delete-backup": "Невозможно удалить резервную копию."
}, },
"backup-and-exports": "Backups", "backup-and-exports": "Резервные копии",
"change-password": "Change Password", "change-password": "Изменить пароль",
"current": "Version:", "current": "Версия:",
"custom-pages": "Custom Pages", "custom-pages": "Пользовательские страницы",
"edit-page": "Edit Page", "edit-page": "Редактировать страницу",
"events": "Events", "events": "События",
"first-day-of-week": "First day of the week", "first-day-of-week": "Первый день недели",
"group-settings-updated": "Group Settings Updated", "group-settings-updated": "Настройки группы обновлены",
"homepage": { "homepage": {
"all-categories": "All Categories", "all-categories": "Все категории",
"card-per-section": "Card Per Section", "card-per-section": "Карточек в разделе",
"home-page": "Home Page", "home-page": "Домашняя страница",
"home-page-sections": "Home Page Sections", "home-page-sections": "Разделы домашней страницы",
"show-recent": "Show Recent" "show-recent": "Показать недавние"
}, },
"language": "Language", "language": "Язык",
"latest": "Latest", "latest": "Последние",
"local-api": "Local API", "local-api": "Локальный API",
"locale-settings": "Locale settings", "locale-settings": "Региональные настройки",
"migrations": "Migrations", "migrations": "Миграции",
"new-page": "New Page", "new-page": "Новая страница",
"notify": "Notify", "notify": "Уведомить",
"organize": "Organize", "organize": "Упорядочить",
"page-name": "Page Name", "page-name": "Название страницы",
"pages": "Pages", "pages": "Страницы",
"profile": "Profile", "profile": "Профиль",
"remove-existing-entries-matching-imported-entries": "Remove existing entries matching imported entries", "remove-existing-entries-matching-imported-entries": "Удалить существующие записи, совпадающие с импортированными",
"set-new-time": "Set New Time", "set-new-time": "Задать новое время",
"settings-update-failed": "Settings update failed", "settings-update-failed": "Ошибка обновления настроек",
"settings-updated": "Settings updated", "settings-updated": "Настройки обновлены",
"site-settings": "Site Settings", "site-settings": "Настройки сайта",
"theme": { "theme": {
"accent": "Accent", "accent": "Оттенок",
"dark": "Dark", "dark": "Темная",
"default-to-system": "Default to system", "default-to-system": "По умолчанию (системный)",
"error": "Error", "error": "Ошибка",
"error-creating-theme-see-log-file": "Error creating theme. See log file.", "error-creating-theme-see-log-file": "Ошибка создания темы. См. файл журнала.",
"error-deleting-theme": "Error deleting theme", "error-deleting-theme": "Ошибка удаления темы",
"error-updating-theme": "Error updating theme", "error-updating-theme": "Ошибка обновления темы",
"info": "Info", "info": "Информация",
"light": "Light", "light": "Светлая",
"primary": "Primary", "primary": "Основная",
"secondary": "Secondary", "secondary": "Дополнительная",
"success": "Success", "success": "Готово",
"switch-to-dark-mode": "Switch to dark mode", "switch-to-dark-mode": "Включить темный режим",
"switch-to-light-mode": "Switch to light mode", "switch-to-light-mode": "Включить светлый режим",
"theme-deleted": "Theme deleted", "theme-deleted": "Тема удалена",
"theme-name": "Theme Name", "theme-name": "Название темы",
"theme-name-is-required": "Theme Name is required.", "theme-name-is-required": "Название темы обязательно.",
"theme-saved": "Theme Saved", "theme-saved": "Тема сохранена",
"theme-updated": "Theme updated", "theme-updated": "Тема обновлена",
"warning": "Warning" "warning": "Предупреждение"
}, },
"token": { "token": {
"active-tokens": "ACTIVE TOKENS", "active-tokens": "АКТИВНЫЕ ТОКЕНЫ",
"api-token": "API Token", "api-token": "API токен",
"api-tokens": "API Tokens", "api-tokens": "Токены API",
"copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Copy this token for use with an external application. This token will not be viewable again.", "copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Скопируйте этот токен для использования с внешним приложением. Этот токен не будет доступен для повторного просмотра.",
"create-an-api-token": "Create an API Token", "create-an-api-token": "Создать API токен",
"token-name": "Token Name" "token-name": "Название токена"
}, },
"toolbox": { "toolbox": {
"assign-all": "Assign All", "assign-all": "Выбрать все",
"bulk-assign": "Bulk Assign", "bulk-assign": "Массово назначить",
"new-name": "New Name", "new-name": "Новое название",
"no-unused-items": "No Unused Items", "no-unused-items": "Нет неиспользуемых предметов",
"recipes-affected": "No Recipes Affected|One Recipe Affected|{count} Recipes Affected", "recipes-affected": "Нет затронутых рецептов|Один рецепт затронут|{count} рецептов затронуто",
"remove-unused": "Remove Unused", "remove-unused": "Удалить неиспользованные",
"title-case-all": "Title Case All", "title-case-all": "С Заглавной Буквы",
"toolbox": "Toolbox", "toolbox": "Инструменты",
"unorganized": "Unorganized" "unorganized": "Неупорядоченное"
}, },
"webhooks": { "webhooks": {
"test-webhooks": "Test Webhooks", "test-webhooks": "Тестировать Webhook",
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at", "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 будут отправляться вебхуки, содержащие данные рецептов для плана питания на запланированный день. Сейчас вебхуки будут отправляться в",
"webhook-url": "Webhook URL", "webhook-url": "Webhook URL",
"webhooks-caps": "WEBHOOKS" "webhooks-caps": "WEBHOOKS"
} }
}, },
"shopping-list": { "shopping-list": {
"all-lists": "All Lists", "all-lists": "Все списки",
"create-shopping-list": "Create Shopping List", "create-shopping-list": "Создать список покупок",
"from-recipe": "From Recipe", "from-recipe": "Из рецепта",
"list-name": "List Name", "list-name": "Название списка",
"new-list": "New List", "new-list": "Новый список",
"quantity": "Quantity: {0}", "quantity": "Количество: {0}",
"shopping-list": "Shopping List", "shopping-list": "Список покупок",
"shopping-lists": "Shopping Lists" "shopping-lists": "Списки покупок"
}, },
"sidebar": { "sidebar": {
"all-recipes": "All Recipes", "all-recipes": "Все рецепты",
"categories": "Categories", "categories": "Категории",
"dashboard": "Dashboard", "dashboard": "Рабочая панель",
"home-page": "Home Page", "home-page": "Главная",
"manage-users": "Manage Users", "manage-users": "Пользователи",
"migrations": "Migrations", "migrations": "Миграции",
"profile": "Profile", "profile": "Профиль",
"search": "Search", "search": "Поиск",
"site-settings": "Site Settings", "site-settings": "Настройки",
"tags": "Tags", "tags": "Теги",
"toolbox": "Toolbox" "toolbox": "Инструменты"
}, },
"signup": { "signup": {
"error-signing-up": "Error Signing Up", "error-signing-up": "Ошибка регистрации",
"sign-up": "Sign Up", "sign-up": "Зарегистрироваться",
"sign-up-link-created": "Sign up link created", "sign-up-link-created": "Ссылка для регистрации создана",
"sign-up-link-creation-failed": "Sign up link creation failed", "sign-up-link-creation-failed": "Ошибка создания ссылки для регистрации",
"sign-up-links": "Sign Up Links", "sign-up-links": "Ссылки для регистрации",
"sign-up-token-deleted": "Sign Up Token Deleted", "sign-up-token-deleted": "Токен регистрации удален",
"sign-up-token-deletion-failed": "Sign up token deletion failed", "sign-up-token-deletion-failed": "Ошибка удаления токена для регистрации",
"welcome-to-mealie": "Welcome to Mealie! To become a user of this instance you are required to have a valid invitation link. If you haven't recieved an invitation you are unable to sign-up. To recieve a link, contact the sites administrator." "welcome-to-mealie": "Добро пожаловать в Mealie! Чтобы стать пользователем этого сервера, вы должны иметь действительную ссылку-приглашение. Вы не можете зарегистрироваться без приглашения. Для получения ссылки свяжитесь с администратором сайта."
}, },
"tag": { "tag": {
"tag-created": "Tag created", "tag-created": "Тег создан",
"tag-creation-failed": "Tag creation failed", "tag-creation-failed": "Не удалось создать тег",
"tag-deleted": "Tag deleted", "tag-deleted": "Тег удален",
"tag-deletion-failed": "Tag deletion failed", "tag-deletion-failed": "Ошибка удаления тега",
"tag-update-failed": "Tag update failed", "tag-update-failed": "Не удалось обновить тег",
"tag-updated": "Tag updated", "tag-updated": "Тег обновлен",
"tags": "Tags", "tags": "Теги",
"untagged-count": "Untagged {count}" "untagged-count": "Не помеченные {count}"
}, },
"user": { "user": {
"admin": "Admin", "admin": "Администратор",
"are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link <b>{link}<b/>?", "are-you-sure-you-want-to-delete-the-link": "Вы действительно хотите удалить <b>{link}<b/>?",
"are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user <b>{activeName} ID: {activeId}<b/>?", "are-you-sure-you-want-to-delete-the-user": "Вы уверены, что хотите удалить пользователя <b>{activeName} ID: {activeId}<b/>?",
"confirm-link-deletion": "Confirm Link Deletion", "confirm-link-deletion": "Подтвердить удаление ссылки",
"confirm-password": "Confirm Password", "confirm-password": "Подтвердить пароль",
"confirm-user-deletion": "Confirm User Deletion", "confirm-user-deletion": "Подтвердить удаление пользователя",
"could-not-validate-credentials": "Could Not Validate Credentials", "could-not-validate-credentials": "Не удалось проверить учетные данные",
"create-link": "Create Link", "create-link": "Создать ссылку",
"create-user": "Create User", "create-user": "Создать пользователя",
"current-password": "Current Password", "current-password": "Текущий пароль",
"e-mail-must-be-valid": "E-mail must be valid", "e-mail-must-be-valid": "E-mail должен быть действительным",
"edit-user": "Edit User", "edit-user": "Редактирование пользователя",
"email": "Email", "email": "Адрес электронной почты",
"error-cannot-delete-super-user": "Error! Cannot Delete Super User", "error-cannot-delete-super-user": "Ошибка! Невозможно удалить суперпользователя",
"existing-password-does-not-match": "Existing password does not match", "existing-password-does-not-match": "Пароли не совпадают",
"full-name": "Full Name", "full-name": "Ф.И.О.",
"link-id": "Link ID", "link-id": "ID ссылки",
"link-name": "Link Name", "link-name": "Название ссылки",
"login": "Login", "login": "Вход",
"logout": "Logout", "logout": "Выход",
"manage-users": "Manage Users", "manage-users": "Управление пользователями",
"new-password": "New Password", "new-password": "Новый пароль",
"new-user": "New User", "new-user": "Новый пользователь",
"password": "Password", "password": "Пароль",
"password-has-been-reset-to-the-default-password": "Password has been reset to the default password", "password-has-been-reset-to-the-default-password": "Пароль был сброшен по умолчанию",
"password-must-match": "Password must match", "password-must-match": "Пароли должны совпадать",
"password-reset-failed": "Password reset failed", "password-reset-failed": "Ошибка сброса пароля",
"password-updated": "Password updated", "password-updated": "Пароль обновлен",
"reset-password": "Reset Password", "reset-password": "Сброс пароля",
"sign-in": "Sign in", "sign-in": "Авторизация",
"total-mealplans": "Total MealPlans", "total-mealplans": "Всего планов питания",
"total-users": "Total Users", "total-users": "Всего пользователей",
"upload-photo": "Upload Photo", "upload-photo": "Загрузить фотографию",
"use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password", "use-8-characters-or-more-for-your-password": "Используйте 8 символов или более для пароля",
"user": "User", "user": "Пользователь",
"user-created": "User created", "user-created": "Пользователь создан",
"user-creation-failed": "User creation failed", "user-creation-failed": "Ошибка создания пользователя",
"user-deleted": "User deleted", "user-deleted": "Пользователь удален",
"user-id": "User ID", "user-id": "ID пользователя",
"user-id-with-value": "User ID: {id}", "user-id-with-value": "ID пользователя: {id}",
"user-password": "User Password", "user-password": "Пароль пользователя",
"user-successfully-logged-in": "User Successfully Logged In", "user-successfully-logged-in": "Пользователь успешно вошел в систему",
"user-update-failed": "User update failed", "user-update-failed": "Ошибка обновления пользователя",
"user-updated": "User updated", "user-updated": "Пользователь обновлен",
"username": "Username", "username": "Имя пользователя",
"users": "Users", "users": "Пользователи",
"users-header": "USERS", "users-header": "ПОЛЬЗОВАТЕЛИ",
"webhook-time": "Webhook Time", "webhook-time": "Длительность Webhook",
"webhooks-enabled": "Webhooks Enabled", "webhooks-enabled": "Webhooks включены",
"you-are-not-allowed-to-create-a-user": "You are not allowed to create a user", "you-are-not-allowed-to-create-a-user": "Вы не можете создавать пользователей",
"you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user" "you-are-not-allowed-to-delete-this-user": "Вы не можете удалить этого пользователя"
} }
} }

View File

@ -0,0 +1,489 @@
{
"about": {
"about": "O",
"about-mealie": "O aplikácii",
"api-docs": "API dokumentácia",
"api-port": "API port",
"application-mode": "Mód",
"database-type": "Typ databázy",
"database-url": "Link databázy",
"default-group": "Predvolená skupina",
"demo": "Demo",
"demo-status": "Demo Stav",
"development": "Vývoj",
"docs": "Dokumentácia",
"download-log": "Záznam sťahovania",
"download-recipe-json": "Posledný získaný JSON",
"github": "Github",
"log-lines": "Riadky záznamu",
"not-demo": "Nie Demo",
"portfolio": "Portfólio",
"production": "Produkčné prostredie",
"support": "Podpora",
"version": "Verzia"
},
"asset": {
"assets": "Prílohy",
"code": "Kód",
"file": "Súbor",
"image": "Obrázok",
"new-asset": "Nová príloha",
"pdf": "PDF",
"recipe": "Recept",
"show-assets": "Ukáž prílohy"
},
"category": {
"category-created": "Kategória vytvorená",
"category-creation-failed": "Vytvorenie kategórie zlyhalo",
"category-deleted": "Kategória vymazaná",
"category-deletion-failed": "Vymazanie kategórie zlyhalo",
"category-filter": "Filter kategórií",
"category-update-failed": "Aktualizácia kategórie zlyhala",
"category-updated": "Kategória aktualizovaná",
"uncategorized-count": "Nezaradené {count}"
},
"events": {
"apprise-url": "Apprise URL",
"database": "Databáza",
"delete-event": "Odstrániť akciu",
"new-notification-form-description": "Mealie používa na generovanie upozornení knižnicu Apprise. Vďaka tomu ponúkajú množstvo možností pre služby využívajúce upozornenia. V prípade, ak chcete vytvoriť URL odkaz na Vašu službu, obráťte sa na ich oficiálnu wiki. Výberom vhodného typu upozornení môžete získať prístup k ďalším užitočným funkciám.",
"new-version": "K dispozícií je nová verzia!",
"notification": "Upozornenie",
"refresh": "Obnoviť",
"scheduled": "Naplánované",
"something-went-wrong": "Vyskytla sa chyba",
"subscribed-events": "Prihlásené akcie",
"test-message-sent": "Testovacia správa bola odoslaná"
},
"general": {
"cancel": "Zrušiť",
"clear": "Vymazať",
"close": "Zavrieť",
"confirm": "Potvrdiť",
"confirm-delete-generic": "Naozaj chcete odstrániť?",
"copied": "Okopírované",
"create": "Vytvoriť",
"created": "Vytvorenia",
"custom": "Vlastné",
"dashboard": "Hlavný panel",
"delete": "Odstrániť",
"disabled": "Deaktivované",
"download": "Stiahnuť",
"edit": "Upraviť",
"enabled": "Povolené",
"exception": "Výnimka",
"failed-count": "Zlyhané: {count}",
"failure-uploading-file": "Nahratie súboru zlyhalo",
"favorites": "Obľúbené",
"field-required": "Povinný údaj",
"file-folder-not-found": "Súbor/priečinok nenájdený",
"file-uploaded": "Súbor nahratý",
"filter": "Filter",
"friday": "Piatok",
"general": "Všeobecné",
"get": "Získať",
"home": "Domov",
"image": "Obrázok",
"image-upload-failed": "Nahratie obrázku zlyhalo",
"import": "Importovať",
"json": "JSON",
"keyword": "Kľučové slovo",
"link-copied": "Odkaz bol skopírovaný",
"loading-recipes": "Nahrávanie receptu",
"monday": "Pondelok",
"name": "Názov",
"new": "Nový",
"no": "Nie",
"no-recipe-found": "Žiadny recept nenájdený",
"ok": "OK",
"options": "Možnosti:",
"print": "Tlačiť",
"random": "Náhodné",
"rating": "Hodnotenie",
"recent": "Posledné",
"recipe": "Recept",
"recipes": "Recepty",
"rename-object": "Premenovať {0}",
"reset": "Resetovať",
"saturday": "Sobota",
"save": "Uložiť",
"settings": "Nastavenia",
"share": "Zdieľať",
"shuffle": "Náhodný výber",
"sort": "Usporiadať",
"sort-alphabetically": "Abecedne",
"status": "Stav",
"submit": "Odoslať",
"success-count": "Úspešné {count}",
"sunday": "Nedeľa",
"templates": "Šablóny:",
"test": "Otestovať",
"themes": "Motívy",
"thursday": "Štvrtok",
"token": "Token",
"tuesday": "Utorok",
"type": "Typ",
"update": "Aktualizovať",
"updated": "Aktualizované",
"upload": "Nahrať",
"url": "URL",
"view": "Zobraziť",
"wednesday": "Streda",
"yes": "Áno"
},
"group": {
"are-you-sure-you-want-to-delete-the-group": "Naozaj chcete odstrániť <b>{groupName}<b/>?",
"cannot-delete-default-group": "Predvolenú skupinu nie je možné vymazať",
"cannot-delete-group-with-users": "Skupinu s užívateľmi nie je možné odstrániť",
"confirm-group-deletion": "Potvrdiť odstránenie skupiny",
"create-group": "Vytvoriť skupinu",
"error-updating-group": "Chyba pri aktualizácii skupiny",
"group": "Skupina",
"group-deleted": "Skupina odstránená",
"group-deletion-failed": "Odstránenie skupiny zlyhalo",
"group-id-with-value": "ID skupiny: {groupID}",
"group-name": "Názov skupiny",
"group-not-found": "Skupina nebola nájdená",
"group-with-value": "Skupina: {groupID}",
"groups": "Skupiny",
"manage-groups": "Spravovať skupiny",
"user-group": "Užívateľské skupiny",
"user-group-created": "Užívateľská skupina bola vytvorená",
"user-group-creation-failed": "Vytvorenie užívateľskej skupiny zlyhalo"
},
"meal-plan": {
"create-a-new-meal-plan": "Vytvoriť nový jedálniček",
"dinner-this-week": "Večera tento týždeň",
"dinner-today": "Večera dnes",
"dinner-tonight": "VEČERA NA DNES",
"edit-meal-plan": "Upraviť jedálniček",
"end-date": "Dátum do",
"group": "Skupina (Beta)",
"main": "Hlavné",
"meal-planner": "Plánovač jedál",
"meal-plans": "Jedálničky",
"mealplan-categories": "KATEGÓRIE JEDÁLNIČKOV",
"mealplan-created": "Jedálniček vytvorený",
"mealplan-creation-failed": "Vytvorenie jedálnička zlyhalo",
"mealplan-deleted": "Jedálniček odstránený",
"mealplan-deletion-failed": "Odstránenie jedálnička zlyhalo",
"mealplan-settings": "Nastavenia jedálnička",
"mealplan-update-failed": "Aktualizácia jedálnička zlyhala",
"mealplan-updated": "Jedálniček aktualizovaný",
"no-meal-plan-defined-yet": "Nebol vytvorený žiadny jedálniček",
"no-meal-planned-for-today": "Pre dnešok žiadne jedlo v jedálničku",
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "V jedálničkoch budú použité iba recepty z nasledovných kategórií",
"planner": "Plánovač",
"quick-week": "Rýchly návrh týždňa",
"side": "Príloha",
"sides": "Prílohy",
"start-date": "Dátum od"
},
"migration": {
"chowdown": {
"description": "Preniesť dáta z Chowdown",
"title": "Chowdown"
},
"migration-data-removed": "Prenesené dáta odstránené",
"nextcloud": {
"description": "Preniesť dáta z Nextcloud Cookbook",
"title": "Nextcloud Cookbook"
},
"no-migration-data-available": "Dáta na prenos nie sú k dispozícii",
"recipe-migration": "Prenos receptu"
},
"new-recipe": {
"bulk-add": "Hromadné pridanie",
"error-details": "Mealie dokáže importovať iba webstránky obsahujúce mikrodáta alebo ld+json dáta. Veľká väčšina webstránok zameraných na recepty takéto dáta obsahuje. Ak Vami zvolenú webstránku nie je možné importovať, ale v zázname chybového importu sú json-dáta prítomné, zadajte prosím hlásenie o chybe na našom GitHub profile spolu s odkazom na webstránku a json-dátami.",
"error-title": "Je nám ľúto, ale nič sme nenašli",
"from-url": "Importovať recept",
"github-issues": "Problémy GitHub",
"google-ld-json-info": "Google ld+json Info",
"must-be-a-valid-url": "Adresa URL musí byť platná",
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Vložte údaje z vášho receptu. Každý riadok sa považuje za samostatnú položku v zozname",
"recipe-markup-specification": "Nastavenie značkovania receptov",
"recipe-url": "URL adresa receptu",
"upload-a-recipe": "Nahrať recept",
"upload-individual-zip-file": "Nahrať súbor .zip exportovaný z inej Mealie inštalácie.",
"url-form-hint": "Okopírujte a zložte odkaz z vašej obľúbenej webstránky",
"view-scraped-data": "Náhľad získaných údajov"
},
"page": {
"404-page-not-found": "Chyba 404 - Stránka nenájdená",
"all-recipes": "Všetky recepty",
"new-page-created": "Nová stránka bola vytvorená",
"page": "Stránka",
"page-creation-failed": "Vytvorenie stránky zlyhalo",
"page-deleted": "Stránka bola odstránená",
"page-deletion-failed": "Odstránenie stránky zlyhalo",
"page-update-failed": "Aktualizácia stránky zlyhala",
"page-updated": "Stránka bola aktualizovaná",
"pages-update-failed": "Aktualizácia stránok zlyhala",
"pages-updated": "Stránky boli aktualizované"
},
"recipe": {
"add-key": "Pridať kľúč",
"add-to-favorites": "Pridať do obľúbených",
"api-extras": "API Extras",
"calories": "Kalórie",
"calories-suffix": "kalórie",
"carbohydrate-content": "Sacharidy",
"categories": "Kategórie",
"comment-action": "Komentovať",
"comments": "Komentáre",
"delete-confirmation": "Naozaj chcete odstrániť zvolený recept?",
"delete-recipe": "Odstrániť recept",
"description": "Popis",
"disable-amount": "Vypnúť množstvá surovín",
"disable-comments": "Vypnúť komentáre",
"fat-content": "Tuky",
"fiber-content": "Vlákniny",
"grams": "gramov",
"ingredient": "Surovina",
"ingredients": "Suroviny",
"insert-section": "Vložiť sekciu",
"instructions": "Postup",
"key-name-required": "Názov kľúča je povinným údajom",
"landscape-view-coming-soon": "Orientácia na šírku (čoskoro)",
"milligrams": "miligramov",
"new-key-name": "Názov nového kľúča",
"no-white-space-allowed": "Medzery nie sú povolené",
"note": "Poznámka",
"nutrition": "Nutričné hodnoty",
"object-key": "Kľúč objektu",
"object-value": "Hodnota objektu",
"original-url": "URL zdroja",
"perform-time": "Tepelná úprava",
"prep-time": "Príprava",
"protein-content": "Bielkoviny",
"public-recipe": "Verejne dostupný recept",
"recipe-created": "Recept bol vytvorený",
"recipe-creation-failed": "Vytvorenie receptu zlyhalo",
"recipe-deleted": "Recept bol odstránený",
"recipe-image": "Obrázok receptu",
"recipe-image-updated": "Obrázok receptu aktualizovaný",
"recipe-name": "Názov receptu",
"recipe-settings": "Nastavenia receptu",
"recipe-update-failed": "Aktualizácia receptu zlyhala",
"recipe-updated": "Recept bol aktualizovaný",
"remove-from-favorites": "Ostrániť z obľúbených",
"remove-section": "Odstrániť sekciu",
"save-recipe-before-use": "Uložiť recept pred použitím",
"section-title": "Názov sekcie",
"servings": "Porcie",
"share-recipe-message": "Chcel by som sa s tebou podeliť o recept na {0}.",
"show-nutrition-values": "Ukáž nutričné hodnoty",
"sodium-content": "Sodík",
"step-index": "Krok: {step}",
"sugar-content": "Cukry",
"title": "Názov",
"total-time": "Celkový čas",
"unable-to-delete-recipe": "Recept nie je možné odstrániť"
},
"reicpe": {
"no-recipe": "Bez receptu"
},
"search": {
"advanced-search": "Rozšírené vyhľadávanie",
"and": "a",
"exclude": "Vylúčiť",
"include": "Zahrnúť",
"max-results": "Max. počet výsledkov",
"or": "Alebo",
"results": "Výsledky",
"search": "Vyhľadať",
"search-mealie": "Prehľadať Mealie (stlač /)",
"search-placeholder": "Hľadať...",
"tag-filter": "Filter štítkov"
},
"settings": {
"add-a-new-theme": "Pridať nový motív",
"admin-settings": "Nastavenia správcu",
"backup": {
"backup-created-at-response-export_path": "Záloha vytvorená v {path}",
"backup-deleted": "Záloha bola odstránená",
"backup-tag": "Označenie zálohy",
"create-heading": "Vytvoriť zálohu",
"delete-backup": "Odstrániť zálohu",
"error-creating-backup-see-log-file": "Vytvorenie zálohy zlyhalo. Pozrite prosím súbor záznamu",
"full-backup": "Úplná záloha",
"import-summary": "Importovať zhrnutie",
"partial-backup": "Čiastočná záloha",
"unable-to-delete-backup": "Zálohu nebolo možné odstrániť."
},
"backup-and-exports": "Zálohy",
"change-password": "Zmeniť heslo",
"current": "Verzia:",
"custom-pages": "Vlastné stránky",
"edit-page": "Upraviť stránku",
"events": "Udalosti",
"first-day-of-week": "Prvý deň v týždni",
"group-settings-updated": "Nastavenia skupiny boli aktualizované",
"homepage": {
"all-categories": "Všetky kategórie",
"card-per-section": "Karta na sekciu",
"home-page": "Domovská stránka",
"home-page-sections": "Sekcie na domovskej stránke",
"show-recent": "Zobraziť posledné"
},
"language": "Jazyk",
"latest": "Najnovšie",
"local-api": "Local API",
"locale-settings": "Miestne nastavenia",
"migrations": "Migrácie",
"new-page": "Nová stránka",
"notify": "Upozorniť",
"organize": "Usporiadať",
"page-name": "Názov stránky",
"pages": "Stránky",
"profile": "Profil",
"remove-existing-entries-matching-imported-entries": "Odstrániť existujúce položky totožné s importovanými",
"set-new-time": "Nastaviť nový čas",
"settings-update-failed": "Aktualizácia nastavení zlyhala",
"settings-updated": "Nastavenia boli aktualizované",
"site-settings": "Nastavenia hostiteľskej stránky",
"theme": {
"accent": "Odtieň",
"dark": "Tmavý",
"default-to-system": "Predvolené systémom",
"error": "Chyba",
"error-creating-theme-see-log-file": "Vyskytla sa chyba pri vytváraní motívu. Pozrite súbor záznamu.",
"error-deleting-theme": "Vyskytla sa chyba pri odstraňovaní motívu",
"error-updating-theme": "Vysytla sa chyba pri aktualizácii motívu",
"info": "Info",
"light": "Svetlý",
"primary": "Primary",
"secondary": "Sekundárny",
"success": "Hotovo",
"switch-to-dark-mode": "Prepnúť na tmavý motív",
"switch-to-light-mode": "Prepnúť na svetlý motív",
"theme-deleted": "Motív bol odstránený",
"theme-name": "Názov motívu",
"theme-name-is-required": "Názov motívu je povinným údajom.",
"theme-saved": "Motív bol uložený",
"theme-updated": "Motív bol aktualizovaný",
"warning": "Upozornenie"
},
"token": {
"active-tokens": "ACTIVE TOKENS",
"api-token": "API Token",
"api-tokens": "API Tokens",
"copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Okopíruj zobrazený token na použitie v externej aplikácii. Tento token už nebude možné v budúcnosti opäť zobraziť.",
"create-an-api-token": "Vytvoriť API token",
"token-name": "Názov tokenu"
},
"toolbox": {
"assign-all": "Priradiť všetko",
"bulk-assign": "Priradiť hromadne",
"new-name": "Nový názov",
"no-unused-items": "Žiadne nepoužité položky",
"recipes-affected": "Žiadny recept nebol zmenený|Jeden recept bol zmenený|{count} receptov bolo zmenených",
"remove-unused": "Odstrániť nepoužité",
"title-case-all": "Kapitálky",
"toolbox": "Panel nástrojov",
"unorganized": "Nezaradené"
},
"webhooks": {
"test-webhooks": "Otestovať webhook",
"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 adresy zobrazené nižšie obdržia webhooky obsahujúce údaje z receptov pre jedálniček v naplánovaný deň. Momentálne webhooky zbiehajú v",
"webhook-url": "URL adresa webhooku",
"webhooks-caps": "WEBHOOKS"
}
},
"shopping-list": {
"all-lists": "Všetky zoznamy",
"create-shopping-list": "Vytvoriť nákupný zoznam",
"from-recipe": "Podľa receptu",
"list-name": "Názov zoznamu",
"new-list": "Nový zoznam",
"quantity": "Množstvo: {0}",
"shopping-list": "Nákupný zoznam",
"shopping-lists": "Nákupné zoznamy"
},
"sidebar": {
"all-recipes": "Všetky recepty",
"categories": "Kategórie",
"dashboard": "Hlavný panel",
"home-page": "Úvodná stránka",
"manage-users": "Užívatelia",
"migrations": "Migrácie",
"profile": "Profil",
"search": "Hľadať",
"site-settings": "Nastavenia",
"tags": "Štítky",
"toolbox": "Nástroje"
},
"signup": {
"error-signing-up": "Nastala chyba pri registrácii",
"sign-up": "Registrovať sa",
"sign-up-link-created": "Odkaz na registráciu bol vytvorený",
"sign-up-link-creation-failed": "Vytvorenie odkazu na registráciu zlyhalo",
"sign-up-links": "Odkazy na registráciu",
"sign-up-token-deleted": "Token registrácie bol odstránený",
"sign-up-token-deletion-failed": "Odstránenie tokenu registrácie zlyhalo",
"welcome-to-mealie": "Vitajte v Mealie! Aby Ste sa stali užívateľom, je nutné získať pozívací odkaz. Bez pozívacieho odkazu registrácia nie je možná. O pozívací odkaz požiadajte administrátora stránky."
},
"tag": {
"tag-created": "Štítok bol vytvorený",
"tag-creation-failed": "Vytvorenie štítku zlyhalo",
"tag-deleted": "Štítok bol odstránený",
"tag-deletion-failed": "Odstránenie štítku zlyhalo",
"tag-update-failed": "Aktualizácia štítku zlyhala",
"tag-updated": "Štítok bol aktualizovaný",
"tags": "Štítky",
"untagged-count": "Neoznačené {count}"
},
"user": {
"admin": "Administrátor",
"are-you-sure-you-want-to-delete-the-link": "Ste si istý, že chcete odstrániť odkaz <b>{link}<b/>?",
"are-you-sure-you-want-to-delete-the-user": "Ste si istý, že chcete odstrániť užívateľa <b>{activeName} ID: {activeId}<b/>?",
"confirm-link-deletion": "Potvrďte odstránenie odkazu",
"confirm-password": "Potvrdiť heslo",
"confirm-user-deletion": "Potvrďte odstránenie užívateľa",
"could-not-validate-credentials": "Prihlasovacie údaje nebolo možné overiť",
"create-link": "Vytvoriť odkaz",
"create-user": "Vytvoriť užívateľa",
"current-password": "Súčasné heslo",
"e-mail-must-be-valid": "E-mailová adresa musí byť platná",
"edit-user": "Upraviť užívateľa",
"email": "E-mail",
"error-cannot-delete-super-user": "Chyba! Superužívateľa nie je možné odstrániť",
"existing-password-does-not-match": "Súčasné heslo sa nezhoduje",
"full-name": "Celé meno",
"link-id": "ID odkazu",
"link-name": "Názov odkazu",
"login": "Prihlásiť sa",
"logout": "Odhlásiť sa",
"manage-users": "Správa užívateľov",
"new-password": "Nové heslo",
"new-user": "Nový užívateľ",
"password": "Heslo",
"password-has-been-reset-to-the-default-password": "Heslo bolo zresetované na prednastavenú hodnotu",
"password-must-match": "Heslá sa musia zhodovať",
"password-reset-failed": "Zresetovanie hesla zlyhalo",
"password-updated": "Heslo bolo aktualizované",
"reset-password": "Resetovať heslo",
"sign-in": "Prihlásiť sa",
"total-mealplans": "Počet jedálničkov",
"total-users": "Počet užívateľov",
"upload-photo": "Nahrať fotografiu",
"use-8-characters-or-more-for-your-password": "Heslo musí obsahovať 8 alebo viac písmen",
"user": "Užívateľ",
"user-created": "Vytvorené užívateľom",
"user-creation-failed": "Vytvorenie užívateľa zlyhalo",
"user-deleted": "Užívateľ bol odstránený",
"user-id": "ID užívateľa",
"user-id-with-value": "ID užívateľa: {id}",
"user-password": "Heslo užívateľa",
"user-successfully-logged-in": "Užívateľ bol úspešne prihlásený",
"user-update-failed": "Aktualizácia užívateľa zlyhala",
"user-updated": "Užívateľ bol aktualizovaný",
"username": "Užívateľské meno",
"users": "Užívatelia",
"users-header": "USERS",
"webhook-time": "Čas webhookov",
"webhooks-enabled": "Webhooky povolené",
"you-are-not-allowed-to-create-a-user": "Nie Ste oprávnený vytvoriť nového užívateľa",
"you-are-not-allowed-to-delete-this-user": "Nie Ste oprávnený odstrániť tohto užívateľa"
}
}

View File

@ -1,6 +1,6 @@
{ {
"about": { "about": {
"about": "About", "about": "О апликацији",
"about-mealie": "About Mealie", "about-mealie": "About Mealie",
"api-docs": "API Docs", "api-docs": "API Docs",
"api-port": "API Port", "api-port": "API Port",
@ -486,4 +486,4 @@
"you-are-not-allowed-to-create-a-user": "You are not allowed to create a user", "you-are-not-allowed-to-create-a-user": "You are not allowed to create a user",
"you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user" "you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user"
} }
} }

View File

@ -4,19 +4,19 @@
"about-mealie": "Om Mealie", "about-mealie": "Om Mealie",
"api-docs": "API Dokumentation", "api-docs": "API Dokumentation",
"api-port": "API port", "api-port": "API port",
"application-mode": "Program läge", "application-mode": "Applikationsläge",
"database-type": "Databastyp", "database-type": "Databastyp",
"database-url": "Databas URL", "database-url": "Databas URL",
"default-group": "Standard grupp", "default-group": "Standardgrupp",
"demo": "Demo", "demo": "Demo",
"demo-status": "Demo status", "demo-status": "Demo Status",
"development": "Utveckling", "development": "Utveckling",
"docs": "Dokumentation", "docs": "Dokumentation",
"download-log": "Ladda ner logg", "download-log": "Ladda ner logg",
"download-recipe-json": "Senast hämtad JSON", "download-recipe-json": "Senast hämtad JSON",
"github": "Github", "github": "Github",
"log-lines": "Loggrader", "log-lines": "Loggrader",
"not-demo": "Ingen Demo", "not-demo": "Inte Demo",
"portfolio": "Portfölj", "portfolio": "Portfölj",
"production": "Produktion", "production": "Produktion",
"support": "Hjälp", "support": "Hjälp",
@ -34,11 +34,11 @@
}, },
"category": { "category": {
"category-created": "Kategori skapad", "category-created": "Kategori skapad",
"category-creation-failed": "Kategori misslyckades", "category-creation-failed": "Kategori gick inte att skapa",
"category-deleted": "Kategori raderad", "category-deleted": "Kategori raderad",
"category-deletion-failed": "Kategori radering misslyckades", "category-deletion-failed": "Kategori gick inte att radera",
"category-filter": "Kategori filter", "category-filter": "Kategorifilter",
"category-update-failed": "Kategori uppdatering misslyckades", "category-update-failed": "Kategori gick inte att uppdatera",
"category-updated": "Kategori uppdaterad", "category-updated": "Kategori uppdaterad",
"uncategorized-count": "Ingen Kategori {count}" "uncategorized-count": "Ingen Kategori {count}"
}, },
@ -46,14 +46,14 @@
"apprise-url": "Apprise URL", "apprise-url": "Apprise URL",
"database": "Databas", "database": "Databas",
"delete-event": "Radera händelse", "delete-event": "Radera händelse",
"new-notification-form-description": "Mealie använder Apprise-biblioteket för att generera aviseringar. De erbjuder många alternativ för tjänster att använda för aviseringar. Se deras wiki för en omfattande guide om hur du skapar URL för din tjänst. Om det är tillgängligt kan det vara extra funktioner att välja typ av anmälan.", "new-notification-form-description": "Mealie använder Apprise-biblioteket för att generera aviseringar. De erbjuder många alternativ för tjänster att använda för aviseringar. Se deras wiki för en omfattande guide om hur du skapar URL för din tjänst. Om tillgängligt kan val av tjänst inkludera extra funktioner.",
"new-version": "Uppdatering tillgänglig!", "new-version": "Uppdatering tillgänglig!",
"notification": "Notifiering", "notification": "Notifiering",
"refresh": "Uppdatera", "refresh": "Uppdatera",
"scheduled": "Schemalagd", "scheduled": "Schemalagd",
"something-went-wrong": "Hmmm, något blev fel!", "something-went-wrong": "Hmmm, något blev fel!",
"subscribed-events": "Prenumererade händelser", "subscribed-events": "Prenumererade händelser",
"test-message-sent": "Test meddelande skickat" "test-message-sent": "Testmeddelande Skickat"
}, },
"general": { "general": {
"cancel": "Avbryt", "cancel": "Avbryt",
@ -77,19 +77,19 @@
"favorites": "Favoriter", "favorites": "Favoriter",
"field-required": "Obligatoriskt fält", "field-required": "Obligatoriskt fält",
"file-folder-not-found": "Fil/mapp ej hittad", "file-folder-not-found": "Fil/mapp ej hittad",
"file-uploaded": "Ful uppladdad", "file-uploaded": "Fil uppladdad",
"filter": "Filter", "filter": "Filter",
"friday": "Fredag", "friday": "Fredag",
"general": "Allmänt", "general": "Allmänt",
"get": "Hämta", "get": "Hämta",
"home": "Startsida", "home": "Startsida",
"image": "Bild", "image": "Bild",
"image-upload-failed": "Bild uppladdning misslyckad", "image-upload-failed": "Bilduppladdning misslyckades",
"import": "Importera", "import": "Importera",
"json": "JSON", "json": "JSON",
"keyword": "Nyckelord", "keyword": "Nyckelord",
"link-copied": "Länk kopierad", "link-copied": "Länk kopierad",
"loading-recipes": "Laddar recept", "loading-recipes": "Laddar Recept",
"monday": "Måndag", "monday": "Måndag",
"name": "Namn", "name": "Namn",
"new": "Ny", "new": "Ny",
@ -159,7 +159,7 @@
"edit-meal-plan": "Redigera måltidsplan", "edit-meal-plan": "Redigera måltidsplan",
"end-date": "Slutdatum", "end-date": "Slutdatum",
"group": "Grupp (Beta)", "group": "Grupp (Beta)",
"main": "Startsida", "main": "Huvudrätt",
"meal-planner": "Måltidsplanering", "meal-planner": "Måltidsplanering",
"meal-plans": "Måltidsplaner", "meal-plans": "Måltidsplaner",
"mealplan-categories": "Målplans kategorier", "mealplan-categories": "Målplans kategorier",
@ -175,8 +175,8 @@
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Endast recept med dessa kategorier kommer att användas i måltidsplaner", "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Endast recept med dessa kategorier kommer att användas i måltidsplaner",
"planner": "Planeringkalender", "planner": "Planeringkalender",
"quick-week": "Snabb vecka", "quick-week": "Snabb vecka",
"side": "Sida", "side": "Sidorätt",
"sides": "Sidor", "sides": "Sidorätter",
"start-date": "Startdatum" "start-date": "Startdatum"
}, },
"migration": { "migration": {
@ -201,7 +201,7 @@
"google-ld-json-info": "Google ld+json Info", "google-ld-json-info": "Google ld+json Info",
"must-be-a-valid-url": "Måste vara en korrekt URL", "must-be-a-valid-url": "Måste vara en korrekt URL",
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Klistra in din receptdata, varje rad kommer att hanteras som ett listelement", "paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Klistra in din receptdata, varje rad kommer att hanteras som ett listelement",
"recipe-markup-specification": "Recipe Markup Specification", "recipe-markup-specification": "Specifikation för receptmärkning",
"recipe-url": "Recept URL", "recipe-url": "Recept URL",
"upload-a-recipe": "Ladda upp ett recept", "upload-a-recipe": "Ladda upp ett recept",
"upload-individual-zip-file": "Ladda upp en individuell .zip-fil som exporteras från en annan Mealie-instans.", "upload-individual-zip-file": "Ladda upp en individuell .zip-fil som exporteras från en annan Mealie-instans.",
@ -385,7 +385,7 @@
}, },
"webhooks": { "webhooks": {
"test-webhooks": "Testa Webhooks", "test-webhooks": "Testa 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": "Följande URLer kommer att mottaga webhooks med receptdata för dagens planerade måltid. Datan kommer att skickas klockan <strong>{ time }</strong>", "the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "Följande webbadresser kommer att mottaga webhooks med receptdata för dagens planerade måltid. För närvarande körs webhooks klockan",
"webhook-url": "Webhook URL", "webhook-url": "Webhook URL",
"webhooks-caps": "WEBHOOKS" "webhooks-caps": "WEBHOOKS"
} }
@ -405,11 +405,11 @@
"categories": "Kategorier", "categories": "Kategorier",
"dashboard": "Startsida", "dashboard": "Startsida",
"home-page": "Startsida", "home-page": "Startsida",
"manage-users": "Manage Users", "manage-users": "Användare",
"migrations": "Importer", "migrations": "Importer",
"profile": "Profil", "profile": "Profil",
"search": "Sök", "search": "Sök",
"site-settings": "Site Settings", "site-settings": "Inställningar",
"tags": "Taggar", "tags": "Taggar",
"toolbox": "Verktygslåda" "toolbox": "Verktygslåda"
}, },
@ -486,4 +486,4 @@
"you-are-not-allowed-to-create-a-user": "Du har inte behörighet att skapa en användare", "you-are-not-allowed-to-create-a-user": "Du har inte behörighet att skapa en användare",
"you-are-not-allowed-to-delete-this-user": "Du har inte behörighet att radera denna användare" "you-are-not-allowed-to-delete-this-user": "Du har inte behörighet att radera denna användare"
} }
} }

View File

@ -1,63 +1,63 @@
{ {
"about": { "about": {
"about": "About", "about": "Hakkında",
"about-mealie": "About Mealie", "about-mealie": "Mealie hakkında",
"api-docs": "API Docs", "api-docs": "API Dökümentasyonu",
"api-port": "API Port", "api-port": "API port",
"application-mode": "Application Mode", "application-mode": "Uygulama Modu",
"database-type": "Database Type", "database-type": "Veritabanı Türü",
"database-url": "Database URL", "database-url": "Veritabanı Sunucu URL'si",
"default-group": "Default Group", "default-group": "Varsayılan Grup",
"demo": "Demo", "demo": "Demo",
"demo-status": "Demo Status", "demo-status": "Demo durumu",
"development": "Development", "development": "Geliştirme",
"docs": "Docs", "docs": "Dökümanlar",
"download-log": "Download Log", "download-log": "Logu indir",
"download-recipe-json": "Last Scraped JSON", "download-recipe-json": "Son Kazınmış JSON",
"github": "Github", "github": "GitHub",
"log-lines": "Log Lines", "log-lines": "Log satırlar",
"not-demo": "Not Demo", "not-demo": "Demo Değil",
"portfolio": "Portfolio", "portfolio": "Portföy",
"production": "Production", "production": "Üretim",
"support": "Support", "support": "Destek",
"version": "Version" "version": "Versiyon"
}, },
"asset": { "asset": {
"assets": "Assets", "assets": "Varlıklar",
"code": "Code", "code": "Kod",
"file": "File", "file": "Dosya",
"image": "Image", "image": "Resim",
"new-asset": "New Asset", "new-asset": "Yeni Varlık",
"pdf": "PDF", "pdf": "PDF",
"recipe": "Recipe", "recipe": "Tarif",
"show-assets": "Show Assets" "show-assets": "Show Assets"
}, },
"category": { "category": {
"category-created": "Category created", "category-created": "Kategori oluşturuldu",
"category-creation-failed": "Category creation failed", "category-creation-failed": "Kategori oluşturma başarısız",
"category-deleted": "Category Deleted", "category-deleted": "Kategori silindi",
"category-deletion-failed": "Category deletion failed", "category-deletion-failed": "Kategori silinme başarısız",
"category-filter": "Category Filter", "category-filter": "Kategori Filteri",
"category-update-failed": "Category update failed", "category-update-failed": "Kategori güncellemesi başarısız oldu",
"category-updated": "Category updated", "category-updated": "Kategori güncellendi",
"uncategorized-count": "Uncategorized {count}" "uncategorized-count": "{count} Kategorize edilmemiş"
}, },
"events": { "events": {
"apprise-url": "Apprise URL", "apprise-url": "Url'yi bildir",
"database": "Database", "database": "Veritabanı",
"delete-event": "Delete Event", "delete-event": "Etkinlik Sil",
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.", "new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
"new-version": "New version available!", "new-version": "Yeni bir sürüm var!",
"notification": "Notification", "notification": "Bildirimler",
"refresh": "Refresh", "refresh": "Yenile",
"scheduled": "Scheduled", "scheduled": "Planlandı",
"something-went-wrong": "Something Went Wrong!", "something-went-wrong": "Bir sorun oluştu!",
"subscribed-events": "Subscribed Events", "subscribed-events": "Abone Olunan Etkinlikler",
"test-message-sent": "Test Message Sent" "test-message-sent": "Test Mesajı Gönderildi"
}, },
"general": { "general": {
"cancel": "Cancel", "cancel": "İptal",
"clear": "Clear", "clear": "Temizle",
"close": "Close", "close": "Close",
"confirm": "Confirm", "confirm": "Confirm",
"confirm-delete-generic": "Are you sure you want to delete this?", "confirm-delete-generic": "Are you sure you want to delete this?",
@ -486,4 +486,4 @@
"you-are-not-allowed-to-create-a-user": "You are not allowed to create a user", "you-are-not-allowed-to-create-a-user": "You are not allowed to create a user",
"you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user" "you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user"
} }
} }

View File

@ -1,489 +1,489 @@
{ {
"about": { "about": {
"about": "About", "about": "Про програму",
"about-mealie": "About Mealie", "about-mealie": "Про Mealie",
"api-docs": "API Docs", "api-docs": "Документація API",
"api-port": "API Port", "api-port": "Порт API",
"application-mode": "Application Mode", "application-mode": "Режим додатку",
"database-type": "Database Type", "database-type": "Тип бази данних",
"database-url": "Database URL", "database-url": "URL-адреса бази даних",
"default-group": "Default Group", "default-group": "Групи за замовчуванням",
"demo": "Demo", "demo": "Демо",
"demo-status": "Demo Status", "demo-status": "Статус демо",
"development": "Development", "development": "Розробка",
"docs": "Docs", "docs": "Документація",
"download-log": "Download Log", "download-log": "Завантажити лог",
"download-recipe-json": "Last Scraped JSON", "download-recipe-json": "Останній зібраний JSON",
"github": "Github", "github": "Github",
"log-lines": "Log Lines", "log-lines": "Журнал рядків",
"not-demo": "Not Demo", "not-demo": "Не демо",
"portfolio": "Portfolio", "portfolio": "Портфоліо",
"production": "Production", "production": "Користувацький",
"support": "Support", "support": "Підтримка",
"version": "Version" "version": "Версія"
}, },
"asset": { "asset": {
"assets": "Assets", "assets": "Медіа-ресурси",
"code": "Code", "code": "Код",
"file": "File", "file": "Файл",
"image": "Image", "image": "Зображення",
"new-asset": "New Asset", "new-asset": "Новий медіа-ресурс",
"pdf": "PDF", "pdf": "PDF",
"recipe": "Recipe", "recipe": "Рецепт",
"show-assets": "Show Assets" "show-assets": "Показати медіа-ресурси"
}, },
"category": { "category": {
"category-created": "Category created", "category-created": "Категорія створена",
"category-creation-failed": "Category creation failed", "category-creation-failed": "Не вдалося створити категорію",
"category-deleted": "Category Deleted", "category-deleted": "Категорію видалено",
"category-deletion-failed": "Category deletion failed", "category-deletion-failed": "Не вдалося видалити категорію",
"category-filter": "Category Filter", "category-filter": "Фільтр категорій",
"category-update-failed": "Category update failed", "category-update-failed": "Не вдалося оновити категорію",
"category-updated": "Category updated", "category-updated": "Категорію оновлено",
"uncategorized-count": "Uncategorized {count}" "uncategorized-count": "Без категорії {count}"
}, },
"events": { "events": {
"apprise-url": "Apprise URL", "apprise-url": "URL-адреса Apprise",
"database": "Database", "database": "База даних",
"delete-event": "Delete Event", "delete-event": "Видалити подію",
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.", "new-notification-form-description": "Mealie використовує бібліотеку Apprise для створення сповіщень. Вони пропонують багато варіантів використання служб для сповіщень. Зверніться до wiki бібліотеки Apprise, щоб отримати повну інструкцію про те, як створити URL-адресу для вашого сервісу. При наявності вибраний тип вашого сповіщення може включати додаткові функції.",
"new-version": "New version available!", "new-version": "Доступна нова версія!",
"notification": "Notification", "notification": "Сповіщення",
"refresh": "Refresh", "refresh": "Оновлення",
"scheduled": "Scheduled", "scheduled": "Заплановано",
"something-went-wrong": "Something Went Wrong!", "something-went-wrong": "Щось пішло не так!",
"subscribed-events": "Subscribed Events", "subscribed-events": "Події, на які підписано",
"test-message-sent": "Test Message Sent" "test-message-sent": "Тестове повідомлення надіслано"
}, },
"general": { "general": {
"cancel": "Cancel", "cancel": "Скасувати",
"clear": "Clear", "clear": "Очистити",
"close": "Close", "close": "Закрити",
"confirm": "Confirm", "confirm": "Підтвердити",
"confirm-delete-generic": "Are you sure you want to delete this?", "confirm-delete-generic": "Ви дійсно бажаєте видалити це?",
"copied": "Copied", "copied": "Скопійовано",
"create": "Create", "create": "Створити",
"created": "Created", "created": "Створено",
"custom": "Custom", "custom": "Власний",
"dashboard": "Dashboard", "dashboard": "Панель керування",
"delete": "Delete", "delete": "Видалити",
"disabled": "Disabled", "disabled": "Вимкнено",
"download": "Download", "download": "Завантажити",
"edit": "Edit", "edit": "Редагувати",
"enabled": "Enabled", "enabled": "Увімкнено",
"exception": "Exception", "exception": "Виняток",
"failed-count": "Failed: {count}", "failed-count": "Не вдалося: {count}",
"failure-uploading-file": "Failure uploading file", "failure-uploading-file": "Помилка відвантаження файлу",
"favorites": "Favorites", "favorites": "Улюблені",
"field-required": "Field Required", "field-required": "Обов'язкове поле",
"file-folder-not-found": "File/folder not found", "file-folder-not-found": "Файл/теку не знайдено",
"file-uploaded": "File uploaded", "file-uploaded": "Файл відвантажено",
"filter": "Filter", "filter": "Фільтр",
"friday": "Friday", "friday": "П'ятниця",
"general": "General", "general": "Загальне",
"get": "Get", "get": "Отримати",
"home": "Home", "home": "Головна",
"image": "Image", "image": "Зображення",
"image-upload-failed": "Image upload failed", "image-upload-failed": "Не вдалося відвантажити зображення",
"import": "Import", "import": "Імпорт",
"json": "JSON", "json": "JSON",
"keyword": "Keyword", "keyword": "Ключове слово",
"link-copied": "Link Copied", "link-copied": "Посилання скопійовано",
"loading-recipes": "Loading Recipes", "loading-recipes": "Завантаження рецептів",
"monday": "Monday", "monday": "Понеділок",
"name": "Name", "name": "Назва",
"new": "New", "new": "Створити",
"no": "No", "no": "Ні",
"no-recipe-found": "No Recipe Found", "no-recipe-found": "Рецепти не знайдені",
"ok": "OK", "ok": "OK",
"options": "Options:", "options": "Опції:",
"print": "Print", "print": "Друк",
"random": "Random", "random": "Випадково",
"rating": "Rating", "rating": "Рейтинг",
"recent": "Recent", "recent": "Нещодавні",
"recipe": "Recipe", "recipe": "Рецепт",
"recipes": "Recipes", "recipes": "Рецепти",
"rename-object": "Rename {0}", "rename-object": "Перейменувати {0}",
"reset": "Reset", "reset": "Скинути",
"saturday": "Saturday", "saturday": "Субота",
"save": "Save", "save": "Зберегти",
"settings": "Settings", "settings": "Налаштування",
"share": "Share", "share": "Поділитись",
"shuffle": "Shuffle", "shuffle": "Перемішати",
"sort": "Sort", "sort": "Сортувати",
"sort-alphabetically": "Alphabetical", "sort-alphabetically": "За алфавітом",
"status": "Status", "status": "Статус",
"submit": "Submit", "submit": "Надіслати",
"success-count": "Success: {count}", "success-count": "Успіх: {count}",
"sunday": "Sunday", "sunday": "Неділя",
"templates": "Templates:", "templates": "Шаблони:",
"test": "Test", "test": "Тест",
"themes": "Themes", "themes": "Теми",
"thursday": "Thursday", "thursday": "Четвер",
"token": "Token", "token": "Токен",
"tuesday": "Tuesday", "tuesday": "Вівторок",
"type": "Type", "type": "Тип",
"update": "Update", "update": "Оновити",
"updated": "Updated", "updated": "Оновлено",
"upload": "Upload", "upload": "Відвантажити",
"url": "URL", "url": "URL-адреса",
"view": "View", "view": "Перегляд",
"wednesday": "Wednesday", "wednesday": "Середа",
"yes": "Yes" "yes": "Так"
}, },
"group": { "group": {
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?", "are-you-sure-you-want-to-delete-the-group": "Ви дійсно бажаєте видалити <b>{groupName}<b/>?",
"cannot-delete-default-group": "Cannot delete default group", "cannot-delete-default-group": "Неможливо видалити групу за замовчуванням",
"cannot-delete-group-with-users": "Cannot delete group with users", "cannot-delete-group-with-users": "Неможливо видалити групу з користувачами",
"confirm-group-deletion": "Confirm Group Deletion", "confirm-group-deletion": "Підтвердіть видалення групи",
"create-group": "Create Group", "create-group": "Створити групу",
"error-updating-group": "Error updating group", "error-updating-group": "Помилка оновлення групи",
"group": "Group", "group": "Група",
"group-deleted": "Group deleted", "group-deleted": "Групу видалено",
"group-deletion-failed": "Group deletion failed", "group-deletion-failed": "Не вдалося видалити групу",
"group-id-with-value": "Group ID: {groupID}", "group-id-with-value": "ID групи: {groupID}",
"group-name": "Group Name", "group-name": "Назва групи",
"group-not-found": "Group not found", "group-not-found": "Групу не знайдено",
"group-with-value": "Group: {groupID}", "group-with-value": "Група: {groupID}",
"groups": "Groups", "groups": "Групи",
"manage-groups": "Manage Groups", "manage-groups": "Керування групами",
"user-group": "User Group", "user-group": "Група користувача",
"user-group-created": "User Group Created", "user-group-created": "Групу користувача створено",
"user-group-creation-failed": "User Group Creation Failed" "user-group-creation-failed": "Не вдалося створити групу користувача"
}, },
"meal-plan": { "meal-plan": {
"create-a-new-meal-plan": "Create a New Meal Plan", "create-a-new-meal-plan": "Створити новий план харчування",
"dinner-this-week": "Dinner This Week", "dinner-this-week": "Обід цього тижня",
"dinner-today": "Dinner Today", "dinner-today": "Обід сьогодні",
"dinner-tonight": "DINNER TONIGHT", "dinner-tonight": "Вечеря сьогодні",
"edit-meal-plan": "Edit Meal Plan", "edit-meal-plan": "Редагувати план харчування",
"end-date": "End Date", "end-date": "Дата завершення",
"group": "Group (Beta)", "group": "Група (бета)",
"main": "Main", "main": "Основне",
"meal-planner": "Meal Planner", "meal-planner": "Планувальник харчування",
"meal-plans": "Meal Plans", "meal-plans": "Плани харчування",
"mealplan-categories": "MEALPLAN CATEGORIES", "mealplan-categories": "КАТЕГОРІЇ",
"mealplan-created": "Mealplan created", "mealplan-created": "План харчування створено",
"mealplan-creation-failed": "Mealplan creation failed", "mealplan-creation-failed": "Не вдалося створити план харчування",
"mealplan-deleted": "Mealplan Deleted", "mealplan-deleted": "План харчування видалено",
"mealplan-deletion-failed": "Mealplan deletion failed", "mealplan-deletion-failed": "Не вдалося видалити план харчування",
"mealplan-settings": "Mealplan Settings", "mealplan-settings": "Налаштування плану харчування",
"mealplan-update-failed": "Mealplan update failed", "mealplan-update-failed": "Не вдалося оновити план харчування",
"mealplan-updated": "Mealplan Updated", "mealplan-updated": "План харчування оновлено",
"no-meal-plan-defined-yet": "No meal plan defined yet", "no-meal-plan-defined-yet": "Не створено жодного плану харчування",
"no-meal-planned-for-today": "No meal planned for today", "no-meal-planned-for-today": "Не заплановано харчування на сьогодні",
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans", "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Лише рецепти з цими категоріями будуть використані в планах харчування",
"planner": "Planner", "planner": "Планувальник",
"quick-week": "Quick Week", "quick-week": "Швидкий тиждень",
"side": "Side", "side": "Закуска",
"sides": "Sides", "sides": "Закуска",
"start-date": "Start Date" "start-date": "Дата початку"
}, },
"migration": { "migration": {
"chowdown": { "chowdown": {
"description": "Migrate data from Chowdown", "description": "Міграція даних з Chowdown",
"title": "Chowdown" "title": "Chowdown"
}, },
"migration-data-removed": "Migration data removed", "migration-data-removed": "Дані міграції видалені",
"nextcloud": { "nextcloud": {
"description": "Migrate data from a Nextcloud Cookbook instance", "description": "Міграція даних з Nextcloud Cookbook",
"title": "Nextcloud Cookbook" "title": "Nextcloud Cookbook"
}, },
"no-migration-data-available": "No Migration Data Available", "no-migration-data-available": "Дані для міграції відсутні",
"recipe-migration": "Recipe Migration" "recipe-migration": "Міграція рецептів"
}, },
"new-recipe": { "new-recipe": {
"bulk-add": "Bulk Add", "bulk-add": "Масове додавання",
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.", "error-details": "Лише веб-сайти, що містять ld+json або мікродані, можуть бути імпортовані Mealie. Більшість кулінарних веб-сайтів підтримують цю структуру даних. Якщо ваш сайт не може бути імпортовано, але в журналі є json, будь ласка, створіть GitHub задачу з URL-адресою та даними.",
"error-title": "Looks Like We Couldn't Find Anything", "error-title": "Схоже, ми не змогли нічого знайти",
"from-url": "Import a Recipe", "from-url": "Імпорт рецепту",
"github-issues": "GitHub Issues", "github-issues": "GitHub Issues",
"google-ld-json-info": "Google ld+json Info", "google-ld-json-info": "Google ld+json дані",
"must-be-a-valid-url": "Must be a Valid URL", "must-be-a-valid-url": "Має бути дійсною URL-адресою",
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list", "paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Вставте дані рецепту. Кожен рядок буде використаний як елемент у списку",
"recipe-markup-specification": "Recipe Markup Specification", "recipe-markup-specification": "Налаштування розмітки рецептів",
"recipe-url": "Recipe URL", "recipe-url": "URL-адреса рецепту",
"upload-a-recipe": "Upload a Recipe", "upload-a-recipe": "Відвантажити рецепт",
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.", "upload-individual-zip-file": "Відвантажити окремий .zip файл, експортований з іншого Mealie.",
"url-form-hint": "Copy and paste a link from your favorite recipe website", "url-form-hint": "Скопіюйте та вставте посилання з вашого улюбленого кулінарного веб-сайту",
"view-scraped-data": "View Scraped Data" "view-scraped-data": "Переглянути зібрані дані"
}, },
"page": { "page": {
"404-page-not-found": "404 Page not found", "404-page-not-found": "404 - Сторінка не знайдена",
"all-recipes": "All Recipes", "all-recipes": "Всі рецепти",
"new-page-created": "New page created", "new-page-created": "Нова сторінка створена",
"page": "Page", "page": "Сторінка",
"page-creation-failed": "Page creation failed", "page-creation-failed": "Не вдалося створити сторінку",
"page-deleted": "Page deleted", "page-deleted": "Сторінка видалена",
"page-deletion-failed": "Page deletion failed", "page-deletion-failed": "Не вдалося видалити сторінку",
"page-update-failed": "Page update failed", "page-update-failed": "Не вдалося оновити сторінку",
"page-updated": "Page updated", "page-updated": "Сторінку оновлено",
"pages-update-failed": "Pages update failed", "pages-update-failed": "Не вдалося оновити сторінки",
"pages-updated": "Pages updated" "pages-updated": "Сторінки оновлено"
}, },
"recipe": { "recipe": {
"add-key": "Add Key", "add-key": "Додати ключ",
"add-to-favorites": "Add to Favorites", "add-to-favorites": "Додати в улюблені",
"api-extras": "API Extras", "api-extras": "Додаткове API",
"calories": "Calories", "calories": "Калорії",
"calories-suffix": "calories", "calories-suffix": "калорії",
"carbohydrate-content": "Carbohydrate", "carbohydrate-content": "Вуглеводи",
"categories": "Categories", "categories": "Категорії",
"comment-action": "Comment", "comment-action": "Коментар",
"comments": "Comments", "comments": "Коментарі",
"delete-confirmation": "Are you sure you want to delete this recipe?", "delete-confirmation": "Ви впевнені, що хочете видалити цей рецепт?",
"delete-recipe": "Delete Recipe", "delete-recipe": "Видалити рецепт",
"description": "Description", "description": "Опис",
"disable-amount": "Disable Ingredient Amounts", "disable-amount": "Сховати кількість інгредієнтів",
"disable-comments": "Disable Comments", "disable-comments": "Вимкнути коментарі",
"fat-content": "Fat", "fat-content": "Жири",
"fiber-content": "Fiber", "fiber-content": "Волокна",
"grams": "grams", "grams": "грами",
"ingredient": "Ingredient", "ingredient": "Інгредієнт",
"ingredients": "Ingredients", "ingredients": "Інгредієнти",
"insert-section": "Insert Section", "insert-section": "Вставити розділ",
"instructions": "Instructions", "instructions": "Інструкції",
"key-name-required": "Key Name Required", "key-name-required": "Необхідно вказати назву ключа",
"landscape-view-coming-soon": "Landscape View (Coming Soon)", "landscape-view-coming-soon": "Вид в ландшафтному режимі (незабаром буде)",
"milligrams": "milligrams", "milligrams": "міліграми",
"new-key-name": "New Key Name", "new-key-name": "Назва нового ключа",
"no-white-space-allowed": "No White Space Allowed", "no-white-space-allowed": "Проміжки не дозволені",
"note": "Note", "note": "Нотатка",
"nutrition": "Nutrition", "nutrition": "Харчова цінність",
"object-key": "Object Key", "object-key": "Ключ об'єкту",
"object-value": "Object Value", "object-value": "Значення об'єкту",
"original-url": "Original URL", "original-url": "Оригінальна URL-адреса",
"perform-time": "Cook Time", "perform-time": "Час приготування",
"prep-time": "Prep Time", "prep-time": "Час підготовки",
"protein-content": "Protein", "protein-content": "Білки",
"public-recipe": "Public Recipe", "public-recipe": "Публічний рецепт",
"recipe-created": "Recipe created", "recipe-created": "Рецепт створено",
"recipe-creation-failed": "Recipe creation failed", "recipe-creation-failed": "Не вдалося створити рецепт",
"recipe-deleted": "Recipe deleted", "recipe-deleted": "Рецепт видалено",
"recipe-image": "Recipe Image", "recipe-image": "Зображення рецепту",
"recipe-image-updated": "Recipe image updated", "recipe-image-updated": "Зображення рецепту оновлено",
"recipe-name": "Recipe Name", "recipe-name": "Назва рецепта",
"recipe-settings": "Recipe Settings", "recipe-settings": "Налаштування рецепта",
"recipe-update-failed": "Recipe update failed", "recipe-update-failed": "Не вдалося оновити рецепт",
"recipe-updated": "Recipe updated", "recipe-updated": "Рецепт оновлено",
"remove-from-favorites": "Remove from Favorites", "remove-from-favorites": "Видалити з улюбленого",
"remove-section": "Remove Section", "remove-section": "Видалити розділ",
"save-recipe-before-use": "Save recipe before use", "save-recipe-before-use": "Зберегти рецепт перед використанням",
"section-title": "Section Title", "section-title": "Назва розділу",
"servings": "Servings", "servings": "Порції",
"share-recipe-message": "I wanted to share my {0} recipe with you.", "share-recipe-message": "Я хотів би поділитися з тобою своїм рецептом {0}.",
"show-nutrition-values": "Show Nutrition Values", "show-nutrition-values": "Показати харчову цінність",
"sodium-content": "Sodium", "sodium-content": "Натрій",
"step-index": "Step: {step}", "step-index": "Крок: {step}",
"sugar-content": "Sugar", "sugar-content": "Цукор",
"title": "Title", "title": "Назва",
"total-time": "Total Time", "total-time": "Загальний час",
"unable-to-delete-recipe": "Unable to Delete Recipe" "unable-to-delete-recipe": "Не вдалося видалити рецепт"
}, },
"reicpe": { "reicpe": {
"no-recipe": "No Recipe" "no-recipe": "Немає рецепту"
}, },
"search": { "search": {
"advanced-search": "Advanced Search", "advanced-search": "Розширений пошук",
"and": "and", "and": "та",
"exclude": "Exclude", "exclude": "Виключаючи",
"include": "Include", "include": "Включаючи",
"max-results": "Max Results", "max-results": "Максимальна кількість результатів",
"or": "Or", "or": "Або",
"results": "Results", "results": "Результати",
"search": "Search", "search": "Пошук",
"search-mealie": "Search Mealie (press /)", "search-mealie": "Пошук по Mealie (натисніть /)",
"search-placeholder": "Search...", "search-placeholder": "Пошук...",
"tag-filter": "Tag Filter" "tag-filter": "Фільтр міток"
}, },
"settings": { "settings": {
"add-a-new-theme": "Add a New Theme", "add-a-new-theme": "Додати нову тему",
"admin-settings": "Admin Settings", "admin-settings": "Адміністративні налаштування",
"backup": { "backup": {
"backup-created-at-response-export_path": "Backup Created at {path}", "backup-created-at-response-export_path": "Резервна копія створена {path}",
"backup-deleted": "Backup deleted", "backup-deleted": "Резервна копія видалена",
"backup-tag": "Backup Tag", "backup-tag": "Мітка резервної копії",
"create-heading": "Create a Backup", "create-heading": "Створити резервну копію",
"delete-backup": "Delete Backup", "delete-backup": "Видалити резервну копію",
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File", "error-creating-backup-see-log-file": "Помилка створення резервної копії. Перегляньте файл журналу",
"full-backup": "Full Backup", "full-backup": "Повна резервна копія",
"import-summary": "Import Summary", "import-summary": "Резюме імпорту",
"partial-backup": "Partial Backup", "partial-backup": "Часткова резервна копія",
"unable-to-delete-backup": "Unable to Delete Backup." "unable-to-delete-backup": "Не вдалося видалити резервну копію."
}, },
"backup-and-exports": "Backups", "backup-and-exports": "Резервні копії",
"change-password": "Change Password", "change-password": "Змінити пароль",
"current": "Version:", "current": "Версія:",
"custom-pages": "Custom Pages", "custom-pages": "Власні сторінки",
"edit-page": "Edit Page", "edit-page": "Редагувати сторінку",
"events": "Events", "events": "Події",
"first-day-of-week": "First day of the week", "first-day-of-week": "Перший день тижня",
"group-settings-updated": "Group Settings Updated", "group-settings-updated": "Налаштування групи оновлено",
"homepage": { "homepage": {
"all-categories": "All Categories", "all-categories": "Всі категорії",
"card-per-section": "Card Per Section", "card-per-section": "Карток в розділі",
"home-page": "Home Page", "home-page": "Домашня сторінка",
"home-page-sections": "Home Page Sections", "home-page-sections": "Розділи на головній сторінці",
"show-recent": "Show Recent" "show-recent": "Показати недавні"
}, },
"language": "Language", "language": "Мова",
"latest": "Latest", "latest": "Недавні",
"local-api": "Local API", "local-api": "Локальний API",
"locale-settings": "Locale settings", "locale-settings": "Налаштування локалі",
"migrations": "Migrations", "migrations": "Міграції",
"new-page": "New Page", "new-page": "Нова сторінка",
"notify": "Notify", "notify": "Сповіщення",
"organize": "Organize", "organize": "Впорядкувати",
"page-name": "Page Name", "page-name": "Назва сторінки",
"pages": "Pages", "pages": "Сторінки",
"profile": "Profile", "profile": "Профіль",
"remove-existing-entries-matching-imported-entries": "Remove existing entries matching imported entries", "remove-existing-entries-matching-imported-entries": "Видалити існуючі записи, відповідні до імпортованих даних",
"set-new-time": "Set New Time", "set-new-time": "Встановити новий час",
"settings-update-failed": "Settings update failed", "settings-update-failed": "Не вдалося оновити налаштування",
"settings-updated": "Settings updated", "settings-updated": "Налаштування оновлено",
"site-settings": "Site Settings", "site-settings": "Налаштування сайту",
"theme": { "theme": {
"accent": "Accent", "accent": "Акцент",
"dark": "Dark", "dark": "Темна",
"default-to-system": "Default to system", "default-to-system": "За замовчуванням системи",
"error": "Error", "error": "Помилка",
"error-creating-theme-see-log-file": "Error creating theme. See log file.", "error-creating-theme-see-log-file": "Помилка створення теми. Перегляньте файл журналу.",
"error-deleting-theme": "Error deleting theme", "error-deleting-theme": "Помилка видалення теми",
"error-updating-theme": "Error updating theme", "error-updating-theme": "Помилка оновлення теми",
"info": "Info", "info": "Інформація",
"light": "Light", "light": "Світла",
"primary": "Primary", "primary": "Основний",
"secondary": "Secondary", "secondary": "Додатковий",
"success": "Success", "success": "Успіх",
"switch-to-dark-mode": "Switch to dark mode", "switch-to-dark-mode": "Перейти в темний режим",
"switch-to-light-mode": "Switch to light mode", "switch-to-light-mode": "Перейти в світлий режим",
"theme-deleted": "Theme deleted", "theme-deleted": "Тему видалено",
"theme-name": "Theme Name", "theme-name": "Назва теми",
"theme-name-is-required": "Theme Name is required.", "theme-name-is-required": "Назва обов'язкова.",
"theme-saved": "Theme Saved", "theme-saved": "Тему збережено",
"theme-updated": "Theme updated", "theme-updated": "Тему оновлено",
"warning": "Warning" "warning": "Попередження"
}, },
"token": { "token": {
"active-tokens": "ACTIVE TOKENS", "active-tokens": "АКТИВНІ КЛЮЧІ",
"api-token": "API Token", "api-token": "Ключ API",
"api-tokens": "API Tokens", "api-tokens": "Ключі API",
"copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Copy this token for use with an external application. This token will not be viewable again.", "copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Скопіюйте цей ключ для використання з зовнішнім додатком. Цей ключ не буде доступним для перегляду знову.",
"create-an-api-token": "Create an API Token", "create-an-api-token": "Створити новий API ключ",
"token-name": "Token Name" "token-name": "Назва ключа"
}, },
"toolbox": { "toolbox": {
"assign-all": "Assign All", "assign-all": "Призначити все",
"bulk-assign": "Bulk Assign", "bulk-assign": "Масове призначення",
"new-name": "New Name", "new-name": "Нова назва",
"no-unused-items": "No Unused Items", "no-unused-items": "Немає невикористаних елементів",
"recipes-affected": "No Recipes Affected|One Recipe Affected|{count} Recipes Affected", "recipes-affected": "Жоден рецепт не змінено|Один рецепт змінено|{count} рецептів змінено",
"remove-unused": "Remove Unused", "remove-unused": "Видалити невикористані",
"title-case-all": "Title Case All", "title-case-all": "Все З Великих Літер",
"toolbox": "Toolbox", "toolbox": "Інструменти",
"unorganized": "Unorganized" "unorganized": "Неорганізовані"
}, },
"webhooks": { "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": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at", "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-адреси, перераховані нижче, будуть отримувати вебхуки, що містять дані рецепта для плану харчування на запланований день. В даний час Вебхуки будуть виконуватися о",
"webhook-url": "Webhook URL", "webhook-url": "URL-адреса вебхука",
"webhooks-caps": "WEBHOOKS" "webhooks-caps": "ВЕБХУКИ"
} }
}, },
"shopping-list": { "shopping-list": {
"all-lists": "All Lists", "all-lists": "Всі списки",
"create-shopping-list": "Create Shopping List", "create-shopping-list": "Сторити список покупок",
"from-recipe": "From Recipe", "from-recipe": "З рецепту",
"list-name": "List Name", "list-name": "Назва списку",
"new-list": "New List", "new-list": "Новий список",
"quantity": "Quantity: {0}", "quantity": "Кількість: {0}",
"shopping-list": "Shopping List", "shopping-list": "Список покупок",
"shopping-lists": "Shopping Lists" "shopping-lists": "Списки покупок"
}, },
"sidebar": { "sidebar": {
"all-recipes": "All Recipes", "all-recipes": "Всі рецепти",
"categories": "Categories", "categories": "Категорії",
"dashboard": "Dashboard", "dashboard": "Панель",
"home-page": "Home Page", "home-page": "Головна",
"manage-users": "Manage Users", "manage-users": "Користувачі",
"migrations": "Migrations", "migrations": "Міграції",
"profile": "Profile", "profile": "Профіль",
"search": "Search", "search": "Пошук",
"site-settings": "Site Settings", "site-settings": "Налаштування",
"tags": "Tags", "tags": "Мітки",
"toolbox": "Toolbox" "toolbox": "Інструменти"
}, },
"signup": { "signup": {
"error-signing-up": "Error Signing Up", "error-signing-up": "Помилка реєстрації",
"sign-up": "Sign Up", "sign-up": "Зареєструватися",
"sign-up-link-created": "Sign up link created", "sign-up-link-created": "Посилання для реєстрації створено",
"sign-up-link-creation-failed": "Sign up link creation failed", "sign-up-link-creation-failed": "Не вдалося створити посилання для реєстрації",
"sign-up-links": "Sign Up Links", "sign-up-links": "Посилання для реєстрації",
"sign-up-token-deleted": "Sign Up Token Deleted", "sign-up-token-deleted": "Ключ реєстрації видалено",
"sign-up-token-deletion-failed": "Sign up token deletion failed", "sign-up-token-deletion-failed": "Не вдалося видалити ключ реєстрації",
"welcome-to-mealie": "Welcome to Mealie! To become a user of this instance you are required to have a valid invitation link. If you haven't recieved an invitation you are unable to sign-up. To recieve a link, contact the sites administrator." "welcome-to-mealie": "Ласкаво просимо до Mealie! Щоб стати користувачем цього серверу, вам необхідно мати дійсне посилання-запрошення. Якщо ви не отримали запрошення, вам не вдасться зареєструватися. Щоб отримати посилання, зв'яжіться з адміністратором сайту."
}, },
"tag": { "tag": {
"tag-created": "Tag created", "tag-created": "Мітка створена",
"tag-creation-failed": "Tag creation failed", "tag-creation-failed": "Не вдалося створити мітку",
"tag-deleted": "Tag deleted", "tag-deleted": "Мітка видалена",
"tag-deletion-failed": "Tag deletion failed", "tag-deletion-failed": "Не вдалося видалити мітку",
"tag-update-failed": "Tag update failed", "tag-update-failed": "Не вдалося оновити мітку",
"tag-updated": "Tag updated", "tag-updated": "Мітку оновлено",
"tags": "Tags", "tags": "Мітки",
"untagged-count": "Untagged {count}" "untagged-count": "Без мітки {count}"
}, },
"user": { "user": {
"admin": "Admin", "admin": "Адміністратор",
"are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link <b>{link}<b/>?", "are-you-sure-you-want-to-delete-the-link": "Ви впевнені, що хочете видалити посилання <b>{link}<b/>?",
"are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user <b>{activeName} ID: {activeId}<b/>?", "are-you-sure-you-want-to-delete-the-user": "Ви впевнені, що хочете видалити користувача <b>{activeName} ID: {activeId}<b/>?",
"confirm-link-deletion": "Confirm Link Deletion", "confirm-link-deletion": "Підтвердіть видалення посилання",
"confirm-password": "Confirm Password", "confirm-password": "Підтвердьте пароль",
"confirm-user-deletion": "Confirm User Deletion", "confirm-user-deletion": "Підтвердіть видалення користувача",
"could-not-validate-credentials": "Could Not Validate Credentials", "could-not-validate-credentials": "Не вдалося підтвердити облікові дані",
"create-link": "Create Link", "create-link": "Створити посилання",
"create-user": "Create User", "create-user": "Створити користувача",
"current-password": "Current Password", "current-password": "Поточний пароль",
"e-mail-must-be-valid": "E-mail must be valid", "e-mail-must-be-valid": "Електронна пошта має бути дійсною",
"edit-user": "Edit User", "edit-user": "Редагувати користувача",
"email": "Email", "email": "Електронна пошта",
"error-cannot-delete-super-user": "Error! Cannot Delete Super User", "error-cannot-delete-super-user": "Помилка! Неможливо видалити суперкористувача",
"existing-password-does-not-match": "Existing password does not match", "existing-password-does-not-match": "Існуючий пароль не збігається",
"full-name": "Full Name", "full-name": "Повне Ім'я",
"link-id": "Link ID", "link-id": "ID посилання",
"link-name": "Link Name", "link-name": "Назва посилання",
"login": "Login", "login": "Увійти",
"logout": "Logout", "logout": "Вийти",
"manage-users": "Manage Users", "manage-users": "Керування користувачами",
"new-password": "New Password", "new-password": "Новий пароль",
"new-user": "New User", "new-user": "Новий користувач",
"password": "Password", "password": "Пароль",
"password-has-been-reset-to-the-default-password": "Password has been reset to the default password", "password-has-been-reset-to-the-default-password": "Пароль було скинуто до стандартного",
"password-must-match": "Password must match", "password-must-match": "Паролі повинні збігатися",
"password-reset-failed": "Password reset failed", "password-reset-failed": "Не вдалося скинути пароль",
"password-updated": "Password updated", "password-updated": "Пароль оновлено",
"reset-password": "Reset Password", "reset-password": "Скинути пароль",
"sign-in": "Sign in", "sign-in": "Увійти",
"total-mealplans": "Total MealPlans", "total-mealplans": "Всього планів харчування",
"total-users": "Total Users", "total-users": "Всього користувачів",
"upload-photo": "Upload Photo", "upload-photo": "Відвантажити світлину",
"use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password", "use-8-characters-or-more-for-your-password": "Пароль повинен містити 8 або більше символів",
"user": "User", "user": "Користувач",
"user-created": "User created", "user-created": "Користувача створено",
"user-creation-failed": "User creation failed", "user-creation-failed": "Не вдалося створити користувача",
"user-deleted": "User deleted", "user-deleted": "Користувача видалено",
"user-id": "User ID", "user-id": "ID Користувача",
"user-id-with-value": "User ID: {id}", "user-id-with-value": "ID користувача: {id}",
"user-password": "User Password", "user-password": "Пароль користувача",
"user-successfully-logged-in": "User Successfully Logged In", "user-successfully-logged-in": "Користувач успішно увійшов",
"user-update-failed": "User update failed", "user-update-failed": "Не вдалося оновити користувача",
"user-updated": "User updated", "user-updated": "Користувача оновлено",
"username": "Username", "username": "Ім'я користувача",
"users": "Users", "users": "Користувачі",
"users-header": "USERS", "users-header": "КОРИСТУВАЧІ",
"webhook-time": "Webhook Time", "webhook-time": "Час вебхука",
"webhooks-enabled": "Webhooks Enabled", "webhooks-enabled": "Веб-хуки увімкнено",
"you-are-not-allowed-to-create-a-user": "You are not allowed to create a user", "you-are-not-allowed-to-create-a-user": "Вам не дозволено створювати користувача",
"you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user" "you-are-not-allowed-to-delete-this-user": "Вам не дозволено видаляти користувача"
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"about": { "about": {
"about": "About", "about": "关于",
"about-mealie": "关于 Mealie", "about-mealie": "关于 Mealie",
"api-docs": "API 文档", "api-docs": "API 文档",
"api-port": "API 端口", "api-port": "API 端口",
@ -15,22 +15,22 @@
"download-log": "下载日志", "download-log": "下载日志",
"download-recipe-json": "最后扫描的 JSON", "download-recipe-json": "最后扫描的 JSON",
"github": "Github", "github": "Github",
"log-lines": "Log Lines", "log-lines": "日志行",
"not-demo": "非演示模式", "not-demo": "非演示模式",
"portfolio": "Portfolio", "portfolio": "档案",
"production": "生产版", "production": "生产版",
"support": "支持", "support": "支持",
"version": "版本" "version": "版本"
}, },
"asset": { "asset": {
"assets": "Assets", "assets": "附件",
"code": "Code", "code": "代码",
"file": "File", "file": "文件",
"image": "Image", "image": "图片",
"new-asset": "New Asset", "new-asset": "新素材",
"pdf": "PDF", "pdf": "PDF",
"recipe": "Recipe", "recipe": "食谱",
"show-assets": "Show Assets" "show-assets": "显示素材"
}, },
"category": { "category": {
"category-created": "类别已创建", "category-created": "类别已创建",
@ -45,15 +45,15 @@
"events": { "events": {
"apprise-url": "Apprise URL", "apprise-url": "Apprise URL",
"database": "数据库", "database": "数据库",
"delete-event": "Delete Event", "delete-event": "删除事件",
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.", "new-notification-form-description": "Mealie 使用 Aprise 库生成通知。它们提供了许多服务选项用于通知。 关于如何为您的服务创建URL的全面指南请参阅他们的维基。 如果可用,选择通知类型可能包含额外功能。",
"new-version": "New version available!", "new-version": "有新版本可用!",
"notification": "通知", "notification": "通知",
"refresh": "Refresh", "refresh": "刷新",
"scheduled": "Scheduled", "scheduled": "已预订",
"something-went-wrong": "Something Went Wrong!", "something-went-wrong": "出错了\t#",
"subscribed-events": "Subscribed Events", "subscribed-events": "订阅事件",
"test-message-sent": "Test Message Sent" "test-message-sent": "测试消息已发送"
}, },
"general": { "general": {
"cancel": "取消", "cancel": "取消",
@ -74,77 +74,77 @@
"exception": "异常", "exception": "异常",
"failed-count": "失败: {count}", "failed-count": "失败: {count}",
"failure-uploading-file": "文件上传失败", "failure-uploading-file": "文件上传失败",
"favorites": "Favorites", "favorites": "收藏夹",
"field-required": "必填", "field-required": "必填",
"file-folder-not-found": "未找到文件/文件夹", "file-folder-not-found": "未找到文件/文件夹",
"file-uploaded": "文件已上传", "file-uploaded": "文件已上传",
"filter": "筛选", "filter": "筛选",
"friday": "星期五", "friday": "星期五",
"general": "General", "general": "概览",
"get": "Get", "get": "获取",
"home": "Home", "home": "首页",
"image": "Image", "image": "图片",
"image-upload-failed": "Image upload failed", "image-upload-failed": "图片上传失败",
"import": "导入", "import": "导入",
"json": "JSON", "json": "JSON",
"keyword": "Keyword", "keyword": "关键字",
"link-copied": "Link Copied", "link-copied": "链接已复制",
"loading-recipes": "Loading Recipes", "loading-recipes": "正在加载食谱",
"monday": "Monday", "monday": "周一",
"name": "名称", "name": "名称",
"new": "New", "new": "新建",
"no": "否", "no": "否",
"no-recipe-found": "No Recipe Found", "no-recipe-found": "未找到食谱",
"ok": "好的", "ok": "好的",
"options": "Options:", "options": "选项:",
"print": "Print", "print": "打印",
"random": "随机", "random": "随机",
"rating": "Rating", "rating": "评分",
"recent": "最近", "recent": "最近",
"recipe": "Recipe", "recipe": "食谱",
"recipes": "食谱", "recipes": "食谱",
"rename-object": "Rename {0}", "rename-object": "重命名 {0}",
"reset": "重置", "reset": "重置",
"saturday": "Saturday", "saturday": "周六",
"save": "保存", "save": "保存",
"settings": "设定", "settings": "设定",
"share": "Share", "share": "分享",
"shuffle": "Shuffle", "shuffle": "随机",
"sort": "排序", "sort": "排序",
"sort-alphabetically": "Alphabetical", "sort-alphabetically": "按字母顺序排序",
"status": "Status", "status": "状态",
"submit": "提交", "submit": "提交",
"success-count": "Success: {count}", "success-count": "成功: {count}",
"sunday": "Sunday", "sunday": "周日",
"templates": "Templates:", "templates": "模板:",
"test": "Test", "test": "测试",
"themes": "布景主题", "themes": "布景主题",
"thursday": "Thursday", "thursday": "周四",
"token": "密钥", "token": "密钥",
"tuesday": "Tuesday", "tuesday": "周二",
"type": "Type", "type": "类型",
"update": "更新", "update": "更新",
"updated": "Updated", "updated": "已更新",
"upload": "上传", "upload": "上传",
"url": "URL", "url": "网址链接",
"view": "View", "view": "查看",
"wednesday": "Wednesday", "wednesday": "周三",
"yes": "是" "yes": "是"
}, },
"group": { "group": {
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?", "are-you-sure-you-want-to-delete-the-group": "您确定要删除<b>{groupName}<b/>吗?",
"cannot-delete-default-group": "Cannot delete default group", "cannot-delete-default-group": "无法删除默认群组",
"cannot-delete-group-with-users": "Cannot delete group with users", "cannot-delete-group-with-users": "无法删除还有用户的群组",
"confirm-group-deletion": "Confirm Group Deletion", "confirm-group-deletion": "确认删除群组",
"create-group": "Create Group", "create-group": "创建群组",
"error-updating-group": "Error updating group", "error-updating-group": "更新群组错误。",
"group": "Group", "group": "群组",
"group-deleted": "Group deleted", "group-deleted": "群组已删除",
"group-deletion-failed": "Group deletion failed", "group-deletion-failed": "群组删除失败",
"group-id-with-value": "Group ID: {groupID}", "group-id-with-value": "群组ID: {groupID}",
"group-name": "Group Name", "group-name": "群组名",
"group-not-found": "Group not found", "group-not-found": "未找到该群组",
"group-with-value": "Group: {groupID}", "group-with-value": "群组: {groupID}",
"groups": "群组", "groups": "群组",
"manage-groups": "管理群组", "manage-groups": "管理群组",
"user-group": "用户群组", "user-group": "用户群组",
@ -155,28 +155,28 @@
"create-a-new-meal-plan": "创建一个新的用餐计划", "create-a-new-meal-plan": "创建一个新的用餐计划",
"dinner-this-week": "本周晚餐", "dinner-this-week": "本周晚餐",
"dinner-today": "今日晚餐", "dinner-today": "今日晚餐",
"dinner-tonight": "DINNER TONIGHT", "dinner-tonight": "今晚食谱",
"edit-meal-plan": "编辑用餐计划", "edit-meal-plan": "编辑用餐计划",
"end-date": "结束日期", "end-date": "结束日期",
"group": "Group (Beta)", "group": "群组 (Beta)",
"main": "Main", "main": "主要内容",
"meal-planner": "用餐计划", "meal-planner": "用餐计划",
"meal-plans": "用餐计划", "meal-plans": "用餐计划",
"mealplan-categories": "MEALPLAN CATEGORIES", "mealplan-categories": "食谱计划分类",
"mealplan-created": "Mealplan created", "mealplan-created": "膳食计划已创建",
"mealplan-creation-failed": "Mealplan creation failed", "mealplan-creation-failed": "膳食计划创建失败",
"mealplan-deleted": "Mealplan Deleted", "mealplan-deleted": "膳食计划已删除",
"mealplan-deletion-failed": "Mealplan deletion failed", "mealplan-deletion-failed": "食谱计划删除失败",
"mealplan-settings": "Mealplan Settings", "mealplan-settings": "食谱计划设置",
"mealplan-update-failed": "Mealplan update failed", "mealplan-update-failed": "食谱更新失败",
"mealplan-updated": "Mealplan Updated", "mealplan-updated": "食谱计划已更新",
"no-meal-plan-defined-yet": "No meal plan defined yet", "no-meal-plan-defined-yet": "还没有定义食谱计划",
"no-meal-planned-for-today": "No meal planned for today", "no-meal-planned-for-today": "今日没有排定的食谱计划",
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "只有与这些类别相关的食谱才会被用于用餐计划", "only-recipes-with-these-categories-will-be-used-in-meal-plans": "只有与这些类别相关的食谱才会被用于用餐计划",
"planner": "策划人", "planner": "策划人",
"quick-week": "Quick Week", "quick-week": "快速创建周食谱计划",
"side": "Side", "side": "侧栏",
"sides": "Sides", "sides": "侧栏",
"start-date": "开始日期" "start-date": "开始日期"
}, },
"migration": { "migration": {
@ -194,22 +194,22 @@
}, },
"new-recipe": { "new-recipe": {
"bulk-add": "批量添加", "bulk-add": "批量添加",
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.", "error-details": "只有包含ld+json或微观数据的网站可以被Mealie导入。大多数主要配方网站支持此数据结构。 如果您的网站不能被导入但日志里有json数据请提交一个 github 问题与 URL 和数据。",
"error-title": "Looks Like We Couldn't Find Anything", "error-title": "看起来我们没找到任何内容",
"from-url": "输入网址", "from-url": "输入网址",
"github-issues": "GitHub Issues", "github-issues": "GitHub Issues",
"google-ld-json-info": "Google ld+json Info", "google-ld-json-info": "Google ld+json 信息",
"must-be-a-valid-url": "Must be a Valid URL", "must-be-a-valid-url": "必须是一个有效的链接",
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "请粘贴您的食谱资料。每行将被视为列表中的一项。", "paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "请粘贴您的食谱资料。每行将被视为列表中的一项。",
"recipe-markup-specification": "Recipe Markup Specification", "recipe-markup-specification": "食谱标记规范",
"recipe-url": "食谱网址", "recipe-url": "食谱网址",
"upload-a-recipe": "Upload a Recipe", "upload-a-recipe": "上传食谱",
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.", "upload-individual-zip-file": "上传从Mealie导出的.zip文件。",
"url-form-hint": "从您最喜爱的食谱网站复制并粘贴链接", "url-form-hint": "从您最喜爱的食谱网站复制并粘贴链接",
"view-scraped-data": "View Scraped Data" "view-scraped-data": "查看爬取的数据"
}, },
"page": { "page": {
"404-page-not-found": "404 Page not found", "404-page-not-found": "404-页面未找到",
"all-recipes": "全部食谱", "all-recipes": "全部食谱",
"new-page-created": "新页面已创建", "new-page-created": "新页面已创建",
"page": "页面", "page": "页面",
@ -223,28 +223,28 @@
}, },
"recipe": { "recipe": {
"add-key": "Add Key", "add-key": "Add Key",
"add-to-favorites": "Add to Favorites", "add-to-favorites": "添加到收藏夹",
"api-extras": "API Extras", "api-extras": "API Extras",
"calories": "卡路里", "calories": "卡路里",
"calories-suffix": "卡路里", "calories-suffix": "卡路里",
"carbohydrate-content": "碳水化合物", "carbohydrate-content": "碳水化合物",
"categories": "分类目录", "categories": "分类目录",
"comment-action": "Comment", "comment-action": "评论",
"comments": "Comments", "comments": "评论",
"delete-confirmation": "您确定要删除此食谱吗?", "delete-confirmation": "您确定要删除此食谱吗?",
"delete-recipe": "删除食谱", "delete-recipe": "删除食谱",
"description": "描述", "description": "描述",
"disable-amount": "Disable Ingredient Amounts", "disable-amount": "关闭显示成分数量",
"disable-comments": "Disable Comments", "disable-comments": "禁用评论",
"fat-content": "脂肪", "fat-content": "脂肪",
"fiber-content": "纤维", "fiber-content": "纤维",
"grams": "克", "grams": "克",
"ingredient": "材料", "ingredient": "材料",
"ingredients": "材料", "ingredients": "材料",
"insert-section": "Insert Section", "insert-section": "插入章节",
"instructions": "做法", "instructions": "做法",
"key-name-required": "必须输入关键字", "key-name-required": "必须输入关键字",
"landscape-view-coming-soon": "Landscape View (Coming Soon)", "landscape-view-coming-soon": "横向视图 (即将到来)",
"milligrams": "毫克", "milligrams": "毫克",
"new-key-name": "New Key Name", "new-key-name": "New Key Name",
"no-white-space-allowed": "不允许有空格", "no-white-space-allowed": "不允许有空格",
@ -260,39 +260,39 @@
"recipe-created": "食谱已创建", "recipe-created": "食谱已创建",
"recipe-creation-failed": "创建食谱失败", "recipe-creation-failed": "创建食谱失败",
"recipe-deleted": "食谱已删除", "recipe-deleted": "食谱已删除",
"recipe-image": "Recipe Image", "recipe-image": "食谱图片",
"recipe-image-updated": "Recipe image updated", "recipe-image-updated": "食谱图片已更新",
"recipe-name": "食谱名称", "recipe-name": "食谱名称",
"recipe-settings": "Recipe Settings", "recipe-settings": "食谱设置",
"recipe-update-failed": "Recipe update failed", "recipe-update-failed": "食谱更新失败",
"recipe-updated": "Recipe updated", "recipe-updated": "食谱已更新",
"remove-from-favorites": "Remove from Favorites", "remove-from-favorites": "从收藏夹中删除",
"remove-section": "Remove Section", "remove-section": "删除章节",
"save-recipe-before-use": "Save recipe before use", "save-recipe-before-use": "使用前保存食谱",
"section-title": "Section Title", "section-title": "章节标题",
"servings": "份量", "servings": "份量",
"share-recipe-message": "我想与你分享我的 {0} 配方。", "share-recipe-message": "我想与你分享我的 {0} 配方。",
"show-nutrition-values": "Show Nutrition Values", "show-nutrition-values": "显示营养价值表",
"sodium-content": "Sodium", "sodium-content": "",
"step-index": "步骤:{step}", "step-index": "步骤:{step}",
"sugar-content": "Sugar", "sugar-content": "",
"title": "标题", "title": "标题",
"total-time": "总时间", "total-time": "总时间",
"unable-to-delete-recipe": "Unable to Delete Recipe" "unable-to-delete-recipe": "无法删除食谱"
}, },
"reicpe": { "reicpe": {
"no-recipe": "No Recipe" "no-recipe": "没有食谱"
}, },
"search": { "search": {
"advanced-search": "Advanced Search", "advanced-search": "高级搜索",
"and": "and", "and": "",
"exclude": "排除", "exclude": "排除",
"include": "包括", "include": "包括",
"max-results": "最大结果", "max-results": "最大结果",
"or": "或", "or": "或",
"results": "Results", "results": "结果",
"search": "搜索", "search": "搜索",
"search-mealie": "Search Mealie (press /)", "search-mealie": "搜索Mealie (按 /)",
"search-placeholder": "搜索...", "search-placeholder": "搜索...",
"tag-filter": "标签筛选" "tag-filter": "标签筛选"
}, },
@ -300,25 +300,25 @@
"add-a-new-theme": "新增布景主题", "add-a-new-theme": "新增布景主题",
"admin-settings": "管理设置", "admin-settings": "管理设置",
"backup": { "backup": {
"backup-created-at-response-export_path": "Backup Created at {path}", "backup-created-at-response-export_path": "备份创建于 {path}",
"backup-deleted": "Backup deleted", "backup-deleted": "备份已删除",
"backup-tag": "标签备份", "backup-tag": "标签备份",
"create-heading": "创建备份", "create-heading": "创建备份",
"delete-backup": "Delete Backup", "delete-backup": "删除备份",
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File", "error-creating-backup-see-log-file": "创建备份时出错。请查看日志文件",
"full-backup": "完整备份", "full-backup": "完整备份",
"import-summary": "Import Summary", "import-summary": "导入摘要",
"partial-backup": "部分备份", "partial-backup": "部分备份",
"unable-to-delete-backup": "Unable to Delete Backup." "unable-to-delete-backup": "无法删除备份"
}, },
"backup-and-exports": "备份", "backup-and-exports": "备份",
"change-password": "更改密码", "change-password": "更改密码",
"current": "版本号:", "current": "版本号:",
"custom-pages": "自定义页面", "custom-pages": "自定义页面",
"edit-page": "编辑页面", "edit-page": "编辑页面",
"events": "Events", "events": "事件",
"first-day-of-week": "First day of the week", "first-day-of-week": "每周的起始日",
"group-settings-updated": "Group Settings Updated", "group-settings-updated": "群组设置已更新",
"homepage": { "homepage": {
"all-categories": "所有分类", "all-categories": "所有分类",
"card-per-section": "Card的部分", "card-per-section": "Card的部分",
@ -329,27 +329,27 @@
"language": "语言", "language": "语言",
"latest": "最新版本", "latest": "最新版本",
"local-api": "本地API", "local-api": "本地API",
"locale-settings": "Locale settings", "locale-settings": "区域设置",
"migrations": "迁移", "migrations": "迁移",
"new-page": "新建页面", "new-page": "新建页面",
"notify": "Notify", "notify": "通知",
"organize": "Organize", "organize": "未分类/未打标签",
"page-name": "页面名称", "page-name": "页面名称",
"pages": "Pages", "pages": "页面",
"profile": "用户信息", "profile": "用户信息",
"remove-existing-entries-matching-imported-entries": "Remove existing entries matching imported entries", "remove-existing-entries-matching-imported-entries": "删除与导入条目匹配的现有条目",
"set-new-time": "设定新的时间", "set-new-time": "设定新的时间",
"settings-update-failed": "Settings update failed", "settings-update-failed": "设置更新失败",
"settings-updated": "Settings updated", "settings-updated": "设置已更新",
"site-settings": "网站设置", "site-settings": "网站设置",
"theme": { "theme": {
"accent": "Accent强调", "accent": "Accent强调",
"dark": "深色", "dark": "深色",
"default-to-system": "默认为系统", "default-to-system": "默认为系统",
"error": "Error错误", "error": "Error错误",
"error-creating-theme-see-log-file": "Error creating theme. See log file.", "error-creating-theme-see-log-file": "创建主题时出错。请查看日志文件.",
"error-deleting-theme": "Error deleting theme", "error-deleting-theme": "删除主题时出错",
"error-updating-theme": "Error updating theme", "error-updating-theme": "更新主题时出错",
"info": "Info信息", "info": "Info信息",
"light": "浅色", "light": "浅色",
"primary": "Primary主要", "primary": "Primary主要",
@ -357,31 +357,31 @@
"success": "Success成功", "success": "Success成功",
"switch-to-dark-mode": "切换暗色主题", "switch-to-dark-mode": "切换暗色主题",
"switch-to-light-mode": "切换到亮色模式", "switch-to-light-mode": "切换到亮色模式",
"theme-deleted": "Theme deleted", "theme-deleted": "主题已删除",
"theme-name": "主题名称", "theme-name": "主题名称",
"theme-name-is-required": "主题名称是必填项。", "theme-name-is-required": "主题名称是必填项。",
"theme-saved": "Theme Saved", "theme-saved": "主题已保存",
"theme-updated": "主题已更新", "theme-updated": "主题已更新",
"warning": "Warning警告" "warning": "Warning警告"
}, },
"token": { "token": {
"active-tokens": "ACTIVE TOKENS", "active-tokens": "当前激活令牌",
"api-token": "API Token", "api-token": "API 令牌",
"api-tokens": "API Tokens", "api-tokens": "API 令牌",
"copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Copy this token for use with an external application. This token will not be viewable again.", "copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "复制此令牌与外部应用程序一起使用。此令牌将无法再次查看。",
"create-an-api-token": "Create an API Token", "create-an-api-token": "创建 API 令牌",
"token-name": "Token Name" "token-name": "令牌名称"
}, },
"toolbox": { "toolbox": {
"assign-all": "Assign All", "assign-all": "分配所有",
"bulk-assign": "Bulk Assign", "bulk-assign": "批量操作",
"new-name": "New Name", "new-name": "新名称",
"no-unused-items": "No Unused Items", "no-unused-items": "没有未使用的项目",
"recipes-affected": "No Recipes Affected|One Recipe Affected|{count} Recipes Affected", "recipes-affected": "没有配方受影响|只有一个配方受影响|{count} 个配方受影响",
"remove-unused": "Remove Unused", "remove-unused": "删除未使用的",
"title-case-all": "Title Case All", "title-case-all": "所有字母大写",
"toolbox": "Toolbox", "toolbox": "工具箱",
"unorganized": "Unorganized" "unorganized": "未分类/未打标签"
}, },
"webhooks": { "webhooks": {
"test-webhooks": "测试Webhooks", "test-webhooks": "测试Webhooks",
@ -391,47 +391,47 @@
} }
}, },
"shopping-list": { "shopping-list": {
"all-lists": "All Lists", "all-lists": "所有购物清单",
"create-shopping-list": "Create Shopping List", "create-shopping-list": "创建购物清单",
"from-recipe": "From Recipe", "from-recipe": "从食谱创建",
"list-name": "List Name", "list-name": "购物清单名称",
"new-list": "New List", "new-list": "创建购物清单",
"quantity": "Quantity: {0}", "quantity": "数量: {0} 个",
"shopping-list": "Shopping List", "shopping-list": "购物清单",
"shopping-lists": "Shopping Lists" "shopping-lists": "购物清单"
}, },
"sidebar": { "sidebar": {
"all-recipes": "All Recipes", "all-recipes": "全部食谱",
"categories": "Categories", "categories": "分类",
"dashboard": "Dashboard", "dashboard": "仪表盘",
"home-page": "Home Page", "home-page": "首页",
"manage-users": "Manage Users", "manage-users": "管理用户",
"migrations": "Migrations", "migrations": "迁移",
"profile": "Profile", "profile": "个人资料",
"search": "Search", "search": "搜索",
"site-settings": "Site Settings", "site-settings": "站点设置",
"tags": "Tags", "tags": "标签",
"toolbox": "Toolbox" "toolbox": "工具箱"
}, },
"signup": { "signup": {
"error-signing-up": "Error Signing Up", "error-signing-up": "注册时出错",
"sign-up": "Sign Up", "sign-up": "注册用户",
"sign-up-link-created": "Sign up link created", "sign-up-link-created": "已创建注册链接",
"sign-up-link-creation-failed": "Sign up link creation failed", "sign-up-link-creation-failed": "注册链接创建失败",
"sign-up-links": "Sign Up Links", "sign-up-links": "注册链接",
"sign-up-token-deleted": "Sign Up Token Deleted", "sign-up-token-deleted": "注册令牌已删除",
"sign-up-token-deletion-failed": "Sign up token deletion failed", "sign-up-token-deletion-failed": "注册令牌删除失败",
"welcome-to-mealie": "Welcome to Mealie! To become a user of this instance you are required to have a valid invitation link. If you haven't recieved an invitation you are unable to sign-up. To recieve a link, contact the sites administrator." "welcome-to-mealie": "欢迎来到Mealie要成为此实例的用户您必须有一个有效的邀请链接。 如果您没有收到邀请,您无法注册。要接收链接,请联系站点管理员。"
}, },
"tag": { "tag": {
"tag-created": "Tag created", "tag-created": "标签已创建",
"tag-creation-failed": "Tag creation failed", "tag-creation-failed": "标签创建失败",
"tag-deleted": "Tag deleted", "tag-deleted": "标签已删除",
"tag-deletion-failed": "Tag deletion failed", "tag-deletion-failed": "标签删除失败",
"tag-update-failed": "Tag update failed", "tag-update-failed": "标签更新失败",
"tag-updated": "Tag updated", "tag-updated": "标签已更新",
"tags": "Tags", "tags": "标签",
"untagged-count": "Untagged {count}" "untagged-count": "无标签的共 {count} 个"
}, },
"user": { "user": {
"admin": "管理员", "admin": "管理员",
@ -447,43 +447,43 @@
"e-mail-must-be-valid": "电子邮件必须有效", "e-mail-must-be-valid": "电子邮件必须有效",
"edit-user": "编辑用户", "edit-user": "编辑用户",
"email": "电子邮件", "email": "电子邮件",
"error-cannot-delete-super-user": "Error! Cannot Delete Super User", "error-cannot-delete-super-user": "错误!无法删除超级用户",
"existing-password-does-not-match": "Existing password does not match", "existing-password-does-not-match": "与现有的密码不匹配",
"full-name": "全名", "full-name": "全名",
"link-id": "链接ID", "link-id": "链接ID",
"link-name": "链接名", "link-name": "链接名",
"login": "登录", "login": "登录",
"logout": "登出", "logout": "登出",
"manage-users": "Manage Users", "manage-users": "管理用户",
"new-password": "新密码", "new-password": "新密码",
"new-user": "新建用户", "new-user": "新建用户",
"password": "密码", "password": "密码",
"password-has-been-reset-to-the-default-password": "Password has been reset to the default password", "password-has-been-reset-to-the-default-password": "密码已被重置为默认密码",
"password-must-match": "密码必须一致", "password-must-match": "密码必须一致",
"password-reset-failed": "Password reset failed", "password-reset-failed": "密码重置失败",
"password-updated": "Password updated", "password-updated": "密码已更新",
"reset-password": "重置密码", "reset-password": "重置密码",
"sign-in": "登入", "sign-in": "登入",
"total-mealplans": "总用餐计划", "total-mealplans": "总用餐计划",
"total-users": "用户总数", "total-users": "用户总数",
"upload-photo": "上传照片", "upload-photo": "上传照片",
"use-8-characters-or-more-for-your-password": "请设置密码字符为8个或更多", "use-8-characters-or-more-for-your-password": "请设置密码字符为8个或更多",
"user": "User", "user": "用户",
"user-created": "User created", "user-created": "用户已创建",
"user-creation-failed": "User creation failed", "user-creation-failed": "用户创建失败",
"user-deleted": "User deleted", "user-deleted": "用户已删除",
"user-id": "用户ID", "user-id": "用户ID",
"user-id-with-value": "用户ID: {id}", "user-id-with-value": "用户ID: {id}",
"user-password": "用户密码", "user-password": "用户密码",
"user-successfully-logged-in": "User Successfully Logged In", "user-successfully-logged-in": "用户登录成功",
"user-update-failed": "User update failed", "user-update-failed": "用户更新失败",
"user-updated": "User updated", "user-updated": "用户已更新",
"username": "Username", "username": "用户名",
"users": "用户", "users": "用户",
"users-header": "USERS", "users-header": "用户",
"webhook-time": "Webhook时间", "webhook-time": "Webhook时间",
"webhooks-enabled": "Webhooks 启用", "webhooks-enabled": "Webhooks 启用",
"you-are-not-allowed-to-create-a-user": "You are not allowed to create a user", "you-are-not-allowed-to-create-a-user": "您无权创建用户",
"you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user" "you-are-not-allowed-to-delete-this-user": "您无权删除此用户"
} }
} }

View File

@ -1,182 +1,182 @@
{ {
"about": { "about": {
"about": "About", "about": "關於",
"about-mealie": "About Mealie", "about-mealie": "關於Mealie",
"api-docs": "API Docs", "api-docs": "API 文件",
"api-port": "API Port", "api-port": "API 埠號",
"application-mode": "Application Mode", "application-mode": "軟體模式",
"database-type": "Database Type", "database-type": "資料庫類型",
"database-url": "Database URL", "database-url": "資料庫網址",
"default-group": "Default Group", "default-group": "預設群組",
"demo": "Demo", "demo": "展示",
"demo-status": "Demo Status", "demo-status": "展示狀態",
"development": "Development", "development": "開發版",
"docs": "Docs", "docs": "文件",
"download-log": "Download Log", "download-log": "下載日誌",
"download-recipe-json": "Last Scraped JSON", "download-recipe-json": "上次網頁擷取的JSON",
"github": "Github", "github": "GitHub",
"log-lines": "Log Lines", "log-lines": "日誌行數",
"not-demo": "Not Demo", "not-demo": "非展示",
"portfolio": "Portfolio", "portfolio": "個人檔案",
"production": "Production", "production": "正式版",
"support": "Support", "support": "支持",
"version": "Version" "version": "版本"
}, },
"asset": { "asset": {
"assets": "Assets", "assets": "資源",
"code": "Code", "code": "程式碼",
"file": "File", "file": "檔案",
"image": "Image", "image": "圖片",
"new-asset": "New Asset", "new-asset": "新增資源",
"pdf": "PDF", "pdf": "PDF",
"recipe": "Recipe", "recipe": "食譜",
"show-assets": "Show Assets" "show-assets": "顯示資源"
}, },
"category": { "category": {
"category-created": "Category created", "category-created": "類別已新增",
"category-creation-failed": "Category creation failed", "category-creation-failed": "新增類別失敗",
"category-deleted": "Category Deleted", "category-deleted": "類別已刪除",
"category-deletion-failed": "Category deletion failed", "category-deletion-failed": "類別刪除失敗",
"category-filter": "Category Filter", "category-filter": "類別篩選",
"category-update-failed": "Category update failed", "category-update-failed": "類別更新失敗",
"category-updated": "Category updated", "category-updated": "類別已更新",
"uncategorized-count": "Uncategorized {count}" "uncategorized-count": "未分類 {count}"
}, },
"events": { "events": {
"apprise-url": "Apprise URL", "apprise-url": "Apprise連結",
"database": "Database", "database": "資料庫",
"delete-event": "Delete Event", "delete-event": "删除事件",
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.", "new-notification-form-description": "Mealie使用Apprise來產生通知。他們提供多種選項給服務來使用通知。請參考他們wiki上關於如何為你的服務新建一個連結的詳細指引。若選擇通知的種類可能會包含額外的功能。",
"new-version": "New version available!", "new-version": "有可用的新版本!",
"notification": "Notification", "notification": "通知",
"refresh": "Refresh", "refresh": "重新整理",
"scheduled": "Scheduled", "scheduled": "已排程",
"something-went-wrong": "Something Went Wrong!", "something-went-wrong": "出了點問題...",
"subscribed-events": "Subscribed Events", "subscribed-events": "關注的事件",
"test-message-sent": "Test Message Sent" "test-message-sent": "測試訊息已發送"
}, },
"general": { "general": {
"cancel": "取消", "cancel": "取消",
"clear": "Clear", "clear": "清除",
"close": "關閉", "close": "關閉",
"confirm": "確定", "confirm": "確定",
"confirm-delete-generic": "Are you sure you want to delete this?", "confirm-delete-generic": "您確定要刪除這個嗎?",
"copied": "Copied", "copied": "已複製",
"create": "創建", "create": "創建",
"created": "Created", "created": "已建立",
"custom": "Custom", "custom": "自訂",
"dashboard": "Dashboard", "dashboard": "控制面板",
"delete": "删除", "delete": "删除",
"disabled": "Disabled", "disabled": "已停用",
"download": "下载", "download": "下载",
"edit": "编辑", "edit": "编辑",
"enabled": "用", "enabled": "已啟用",
"exception": "Exception", "exception": "錯誤",
"failed-count": "Failed: {count}", "failed-count": "失敗: {count}",
"failure-uploading-file": "Failure uploading file", "failure-uploading-file": "上傳檔案失敗",
"favorites": "Favorites", "favorites": "最愛",
"field-required": "Field Required", "field-required": "必填欄位",
"file-folder-not-found": "File/folder not found", "file-folder-not-found": "找不到檔案/資料夾",
"file-uploaded": "File uploaded", "file-uploaded": "檔案已上傳",
"filter": "Filter", "filter": "篩選",
"friday": "Friday", "friday": "星期五",
"general": "General", "general": "一般",
"get": "Get", "get": "獲取",
"home": "Home", "home": "主頁",
"image": "Image", "image": "圖片",
"image-upload-failed": "Image upload failed", "image-upload-failed": "圖片上傳失敗",
"import": "入", "import": "入",
"json": "JSON", "json": "JSON",
"keyword": "Keyword", "keyword": "關鍵字",
"link-copied": "Link Copied", "link-copied": "已複製連結",
"loading-recipes": "Loading Recipes", "loading-recipes": "載入食譜中",
"monday": "Monday", "monday": "星期一",
"name": "名稱", "name": "名稱",
"new": "New", "new": "新增",
"no": "No", "no": "",
"no-recipe-found": "No Recipe Found", "no-recipe-found": "找不到食譜",
"ok": "好的", "ok": "好的",
"options": "Options:", "options": "選項:",
"print": "Print", "print": "列印",
"random": "隨機", "random": "隨機",
"rating": "Rating", "rating": "評價",
"recent": "Recent", "recent": "最近",
"recipe": "Recipe", "recipe": "食譜",
"recipes": "食譜", "recipes": "食譜",
"rename-object": "Rename {0}", "rename-object": "重新命名 {0}",
"reset": "Reset", "reset": "重設",
"saturday": "Saturday", "saturday": "星期六",
"save": "保存", "save": "保存",
"settings": "設定", "settings": "設定",
"share": "Share", "share": "分享",
"shuffle": "Shuffle", "shuffle": "隨機",
"sort": "Sort", "sort": "排序",
"sort-alphabetically": "Alphabetical", "sort-alphabetically": "按字母順序",
"status": "Status", "status": "狀態",
"submit": "提交", "submit": "提交",
"success-count": "Success: {count}", "success-count": "成功: {count}",
"sunday": "Sunday", "sunday": "星期日",
"templates": "Templates:", "templates": "範本",
"test": "Test", "test": "測試",
"themes": "佈景主題", "themes": "佈景主題",
"thursday": "Thursday", "thursday": "星期四",
"token": "Token", "token": "密鑰",
"tuesday": "Tuesday", "tuesday": "星期二",
"type": "Type", "type": "類型",
"update": "更新", "update": "更新",
"updated": "Updated", "updated": "已更新",
"upload": "上傳", "upload": "上傳",
"url": "URL", "url": "網址",
"view": "View", "view": "檢視",
"wednesday": "Wednesday", "wednesday": "星期三",
"yes": "Yes" "yes": ""
}, },
"group": { "group": {
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?", "are-you-sure-you-want-to-delete-the-group": "確定要刪除<b>{groupName}<b/>",
"cannot-delete-default-group": "Cannot delete default group", "cannot-delete-default-group": "無法刪除預設群組",
"cannot-delete-group-with-users": "Cannot delete group with users", "cannot-delete-group-with-users": "無法刪除含用戶的群組",
"confirm-group-deletion": "Confirm Group Deletion", "confirm-group-deletion": "確認刪除群組",
"create-group": "Create Group", "create-group": "新增群組",
"error-updating-group": "Error updating group", "error-updating-group": "更新群組失敗",
"group": "Group", "group": "群組",
"group-deleted": "Group deleted", "group-deleted": "群組已刪除",
"group-deletion-failed": "Group deletion failed", "group-deletion-failed": "群組刪除失敗",
"group-id-with-value": "Group ID: {groupID}", "group-id-with-value": "群組 ID: {groupID}",
"group-name": "Group Name", "group-name": "群組名稱",
"group-not-found": "Group not found", "group-not-found": "找不到該群組",
"group-with-value": "Group: {groupID}", "group-with-value": "群組: {groupID}",
"groups": "Groups", "groups": "群組",
"manage-groups": "Manage Groups", "manage-groups": "管理群組",
"user-group": "User Group", "user-group": "用户群组",
"user-group-created": "User Group Created", "user-group-created": "用戶群組已建立",
"user-group-creation-failed": "User Group Creation Failed" "user-group-creation-failed": "用戶群組建立失敗"
}, },
"meal-plan": { "meal-plan": {
"create-a-new-meal-plan": "創建一個新的用餐計劃", "create-a-new-meal-plan": "創建一個新的用餐計劃",
"dinner-this-week": "本週晚餐", "dinner-this-week": "本週晚餐",
"dinner-today": "今日晚餐", "dinner-today": "今日晚餐",
"dinner-tonight": "DINNER TONIGHT", "dinner-tonight": "今晚晚餐",
"edit-meal-plan": "編輯用餐計劃", "edit-meal-plan": "編輯用餐計劃",
"end-date": "結束日期", "end-date": "結束日期",
"group": "Group (Beta)", "group": "群組 (Beta)",
"main": "Main", "main": "主菜",
"meal-planner": "Meal Planner", "meal-planner": "用餐規劃師",
"meal-plans": "用餐計劃", "meal-plans": "用餐計劃",
"mealplan-categories": "MEALPLAN CATEGORIES", "mealplan-categories": "用餐計劃類別",
"mealplan-created": "Mealplan created", "mealplan-created": "用餐計劃已創建",
"mealplan-creation-failed": "Mealplan creation failed", "mealplan-creation-failed": "用餐計畫創建失敗",
"mealplan-deleted": "Mealplan Deleted", "mealplan-deleted": "用餐計劃已刪除",
"mealplan-deletion-failed": "Mealplan deletion failed", "mealplan-deletion-failed": "用餐計劃刪除失敗",
"mealplan-settings": "Mealplan Settings", "mealplan-settings": "用餐計劃設定",
"mealplan-update-failed": "Mealplan update failed", "mealplan-update-failed": "用餐計劃更新失敗",
"mealplan-updated": "Mealplan Updated", "mealplan-updated": "用餐計劃已更新",
"no-meal-plan-defined-yet": "No meal plan defined yet", "no-meal-plan-defined-yet": "目前無用餐計畫",
"no-meal-planned-for-today": "No meal planned for today", "no-meal-planned-for-today": "本日無用餐計畫",
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans", "only-recipes-with-these-categories-will-be-used-in-meal-plans": "只有屬於這些類別的食譜會被用於用餐計畫",
"planner": "策劃人", "planner": "規劃師",
"quick-week": "Quick Week", "quick-week": "快速規劃",
"side": "Side", "side": "配菜",
"sides": "Sides", "sides": "配菜",
"start-date": "開始日期" "start-date": "開始日期"
}, },
"migration": { "migration": {
@ -184,204 +184,204 @@
"description": "從Chowdown遷移數據", "description": "從Chowdown遷移數據",
"title": "Chowdown" "title": "Chowdown"
}, },
"migration-data-removed": "Migration data removed", "migration-data-removed": "遷移數據已刪除",
"nextcloud": { "nextcloud": {
"description": "Migrate data from a Nextcloud Cookbook instance", "description": "從Nextcloud Cookbook遷移數據",
"title": "Nextcloud Cookbook" "title": "Nextcloud Cookbook"
}, },
"no-migration-data-available": "No Migration Data Available", "no-migration-data-available": "無遷移數據可用",
"recipe-migration": "食譜遷移" "recipe-migration": "食譜遷移"
}, },
"new-recipe": { "new-recipe": {
"bulk-add": "批量添加", "bulk-add": "批量添加",
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.", "error-details": "只有包含ID+JSON或microdata的網站能夠被Mealie匯入。多數大型食譜網站都支援這種資料結構。如果您的網站無法被匯入但是日誌中含有JSON資料請提交一個GitHub issue並附上連結及資料。",
"error-title": "Looks Like We Couldn't Find Anything", "error-title": "看起來我們找不到任何東西",
"from-url": "輸入網址", "from-url": "匯入食譜",
"github-issues": "GitHub Issues", "github-issues": "GitHub Issues",
"google-ld-json-info": "Google ld+json Info", "google-ld-json-info": "Google ID + JSON訊息",
"must-be-a-valid-url": "Must be a Valid URL", "must-be-a-valid-url": "必須為有效的連結",
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "請粘貼您的食譜資料。每行將被視為列表中的一項。", "paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "請貼上您的食譜資料。每一行將被視為清單中的一項。",
"recipe-markup-specification": "Recipe Markup Specification", "recipe-markup-specification": "食譜標記標準",
"recipe-url": "食譜網址", "recipe-url": "食譜網址",
"upload-a-recipe": "Upload a Recipe", "upload-a-recipe": "上傳食譜",
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.", "upload-individual-zip-file": "上傳從另一個Mealie匯出的zip壓縮檔",
"url-form-hint": "Copy and paste a link from your favorite recipe website", "url-form-hint": "複製您最喜歡的食譜網站的網址並在此貼上",
"view-scraped-data": "View Scraped Data" "view-scraped-data": "查看網頁擷取資料"
}, },
"page": { "page": {
"404-page-not-found": "404 Page not found", "404-page-not-found": "404 找不到頁面",
"all-recipes": "All Recipes", "all-recipes": "所有食譜",
"new-page-created": "New page created", "new-page-created": "新頁面以創建",
"page": "Page", "page": "頁面",
"page-creation-failed": "Page creation failed", "page-creation-failed": "創建頁面失敗",
"page-deleted": "Page deleted", "page-deleted": "頁面已刪除",
"page-deletion-failed": "Page deletion failed", "page-deletion-failed": "頁面刪除失敗",
"page-update-failed": "Page update failed", "page-update-failed": "頁面更新失敗",
"page-updated": "Page updated", "page-updated": "頁面已更新",
"pages-update-failed": "Pages update failed", "pages-update-failed": "頁面更新失敗",
"pages-updated": "Pages updated" "pages-updated": "頁面已更新"
}, },
"recipe": { "recipe": {
"add-key": "Add Key", "add-key": "新增密鑰",
"add-to-favorites": "Add to Favorites", "add-to-favorites": "添加到我的最愛",
"api-extras": "API Extras", "api-extras": "API 更多",
"calories": "Calories", "calories": "卡路里",
"calories-suffix": "calories", "calories-suffix": "卡路里",
"carbohydrate-content": "Carbohydrate", "carbohydrate-content": "碳水化合物",
"categories": "分類目錄", "categories": "類別",
"comment-action": "Comment", "comment-action": "留言",
"comments": "Comments", "comments": "留言",
"delete-confirmation": "您確定要刪除此食譜嗎?", "delete-confirmation": "您確定要刪除此食譜嗎?",
"delete-recipe": "刪除食譜", "delete-recipe": "刪除食譜",
"description": "描述", "description": "描述",
"disable-amount": "Disable Ingredient Amounts", "disable-amount": "停用成分數量",
"disable-comments": "Disable Comments", "disable-comments": "關閉留言",
"fat-content": "Fat", "fat-content": "脂肪",
"fiber-content": "Fiber", "fiber-content": "纖維",
"grams": "grams", "grams": "",
"ingredient": "", "ingredient": "材",
"ingredients": "", "ingredients": "材",
"insert-section": "Insert Section", "insert-section": "插入段落",
"instructions": "做法", "instructions": "做法",
"key-name-required": "Key Name Required", "key-name-required": "鍵名不可為空",
"landscape-view-coming-soon": "Landscape View (Coming Soon)", "landscape-view-coming-soon": "橫式畫面(即將推出)",
"milligrams": "milligrams", "milligrams": "毫克",
"new-key-name": "New Key Name", "new-key-name": "新密鑰名稱",
"no-white-space-allowed": "No White Space Allowed", "no-white-space-allowed": "不允許有空格",
"note": "貼士", "note": "備註",
"nutrition": "Nutrition", "nutrition": "營養成分",
"object-key": "Object Key", "object-key": "",
"object-value": "Object Value", "object-value": "",
"original-url": "原食譜鏈接", "original-url": "原食譜網址",
"perform-time": "烹飪時間 / 執行時間", "perform-time": "烹飪時間",
"prep-time": "準備時間", "prep-time": "準備時間",
"protein-content": "Protein", "protein-content": "蛋白質",
"public-recipe": "Public Recipe", "public-recipe": "公開食譜",
"recipe-created": "Recipe created", "recipe-created": "食譜已建立",
"recipe-creation-failed": "Recipe creation failed", "recipe-creation-failed": "食譜建立失敗",
"recipe-deleted": "Recipe deleted", "recipe-deleted": "食譜已刪除",
"recipe-image": "Recipe Image", "recipe-image": "食譜封面",
"recipe-image-updated": "Recipe image updated", "recipe-image-updated": "食譜封面已更新",
"recipe-name": "食譜名稱", "recipe-name": "食譜名稱",
"recipe-settings": "Recipe Settings", "recipe-settings": "食譜設定",
"recipe-update-failed": "Recipe update failed", "recipe-update-failed": "食譜更新失敗",
"recipe-updated": "Recipe updated", "recipe-updated": "食譜已更新",
"remove-from-favorites": "Remove from Favorites", "remove-from-favorites": "從我的最愛中删除",
"remove-section": "Remove Section", "remove-section": "刪除段落",
"save-recipe-before-use": "Save recipe before use", "save-recipe-before-use": "使用食譜前先儲存",
"section-title": "Section Title", "section-title": "段落標題",
"servings": "份量", "servings": "份量",
"share-recipe-message": "I wanted to share my {0} recipe with you.", "share-recipe-message": "我想跟你分享我的 {0} 個食譜。",
"show-nutrition-values": "Show Nutrition Values", "show-nutrition-values": "顯示營養含量",
"sodium-content": "Sodium", "sodium-content": "",
"step-index": "步驟:{step}", "step-index": "步驟:{step}",
"sugar-content": "Sugar", "sugar-content": "",
"title": "標題", "title": "標題",
"total-time": "總時間", "total-time": "總時間",
"unable-to-delete-recipe": "Unable to Delete Recipe" "unable-to-delete-recipe": "無法刪除食譜"
}, },
"reicpe": { "reicpe": {
"no-recipe": "No Recipe" "no-recipe": "無食譜"
}, },
"search": { "search": {
"advanced-search": "Advanced Search", "advanced-search": "進階搜尋",
"and": "and", "and": "",
"exclude": "Exclude", "exclude": "排除",
"include": "Include", "include": "包含",
"max-results": "Max Results", "max-results": "最多結果",
"or": "Or", "or": "",
"results": "Results", "results": "結果",
"search": "Search", "search": "搜尋",
"search-mealie": "Search Mealie (press /)", "search-mealie": "搜尋Mealie (按 /)",
"search-placeholder": "Search...", "search-placeholder": "搜尋...",
"tag-filter": "Tag Filter" "tag-filter": "標簽篩選"
}, },
"settings": { "settings": {
"add-a-new-theme": "新增佈景主題", "add-a-new-theme": "新增佈景主題",
"admin-settings": "Admin Settings", "admin-settings": "管理員設置",
"backup": { "backup": {
"backup-created-at-response-export_path": "Backup Created at {path}", "backup-created-at-response-export_path": "已備份於:{path}",
"backup-deleted": "Backup deleted", "backup-deleted": "備份已刪除",
"backup-tag": "標籤備份", "backup-tag": "備份標籤",
"create-heading": "創建備份", "create-heading": "創建備份",
"delete-backup": "Delete Backup", "delete-backup": "刪除備份",
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File", "error-creating-backup-see-log-file": "備份失敗。請查看日誌檔案。",
"full-backup": "完整備份", "full-backup": "完整備份",
"import-summary": "Import Summary", "import-summary": "匯入總結",
"partial-backup": "部分備份", "partial-backup": "部分備份",
"unable-to-delete-backup": "Unable to Delete Backup." "unable-to-delete-backup": "無法刪除備份"
}, },
"backup-and-exports": "備份", "backup-and-exports": "備份",
"change-password": "Change Password", "change-password": "變更密碼",
"current": "版本號:", "current": "版本號:",
"custom-pages": "Custom Pages", "custom-pages": "自訂頁面",
"edit-page": "Edit Page", "edit-page": "編輯頁面",
"events": "Events", "events": "事件",
"first-day-of-week": "First day of the week", "first-day-of-week": "一週的起始日",
"group-settings-updated": "Group Settings Updated", "group-settings-updated": "群組設定已更新",
"homepage": { "homepage": {
"all-categories": "All Categories", "all-categories": "所有類別",
"card-per-section": "Card Per Section", "card-per-section": "每個段落卡片數量",
"home-page": "Home Page", "home-page": "首頁",
"home-page-sections": "Home Page Sections", "home-page-sections": "首頁區塊",
"show-recent": "Show Recent" "show-recent": "顯示最近更新"
}, },
"language": "語言", "language": "語言",
"latest": "最新版本:", "latest": "最新版本:",
"local-api": "Local API", "local-api": "本地API",
"locale-settings": "Locale settings", "locale-settings": "語言設定",
"migrations": "Migrations", "migrations": "遷移",
"new-page": "New Page", "new-page": "新頁面",
"notify": "Notify", "notify": "通知",
"organize": "Organize", "organize": "整理",
"page-name": "Page Name", "page-name": "頁面名稱",
"pages": "Pages", "pages": "頁面",
"profile": "Profile", "profile": "個人資料",
"remove-existing-entries-matching-imported-entries": "Remove existing entries matching imported entries", "remove-existing-entries-matching-imported-entries": "移除和匯入項目相同的現有項目",
"set-new-time": "設定新的時間", "set-new-time": "設定新的時間",
"settings-update-failed": "Settings update failed", "settings-update-failed": "設定更新失敗",
"settings-updated": "Settings updated", "settings-updated": "設定已更新",
"site-settings": "Site Settings", "site-settings": "網站設定",
"theme": { "theme": {
"accent": "強調Accent", "accent": "重點色彩",
"dark": "深色", "dark": "深色",
"default-to-system": "默認爲系統", "default-to-system": "默認爲系統",
"error": "錯誤Error", "error": "錯誤",
"error-creating-theme-see-log-file": "Error creating theme. See log file.", "error-creating-theme-see-log-file": "創建佈景主題失敗。請查看日誌檔案。",
"error-deleting-theme": "Error deleting theme", "error-deleting-theme": "刪除佈景主題失敗",
"error-updating-theme": "Error updating theme", "error-updating-theme": "更新佈景主題失敗",
"info": "信息Info", "info": "訊息",
"light": "淺色", "light": "淺色",
"primary": "主要Primary", "primary": "主要",
"secondary": "次要Secondary", "secondary": "次要",
"success": "成功Success", "success": "成功",
"switch-to-dark-mode": "Switch to dark mode", "switch-to-dark-mode": "切換至深色模式",
"switch-to-light-mode": "Switch to light mode", "switch-to-light-mode": "切換至淺色模式",
"theme-deleted": "Theme deleted", "theme-deleted": "佈景主題已刪除",
"theme-name": "主題名稱", "theme-name": "主題名稱",
"theme-name-is-required": "主題名稱是必填項。", "theme-name-is-required": "主題名稱為必填",
"theme-saved": "Theme Saved", "theme-saved": "佈景主題已保存",
"theme-updated": "Theme updated", "theme-updated": "佈景主題已更新",
"warning": "警告Warning" "warning": "警告"
}, },
"token": { "token": {
"active-tokens": "ACTIVE TOKENS", "active-tokens": "使用中的密鑰",
"api-token": "API Token", "api-token": "API 密鑰",
"api-tokens": "API Tokens", "api-tokens": "API 密鑰",
"copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Copy this token for use with an external application. This token will not be viewable again.", "copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "複製此密鑰用於外部應用程式。這個密鑰將無法再次查看。",
"create-an-api-token": "Create an API Token", "create-an-api-token": "新增 API 密鑰",
"token-name": "Token Name" "token-name": "密鑰名稱"
}, },
"toolbox": { "toolbox": {
"assign-all": "Assign All", "assign-all": "標記所有",
"bulk-assign": "Bulk Assign", "bulk-assign": "批量標記",
"new-name": "New Name", "new-name": "新名稱",
"no-unused-items": "No Unused Items", "no-unused-items": "沒有未使用的項目",
"recipes-affected": "No Recipes Affected|One Recipe Affected|{count} Recipes Affected", "recipes-affected": "無食譜受影響|1 個食譜受影響|{count} 個食譜受影響",
"remove-unused": "Remove Unused", "remove-unused": "清除未使用的",
"title-case-all": "Title Case All", "title-case-all": "更改為大寫字母",
"toolbox": "Toolbox", "toolbox": "工具箱",
"unorganized": "Unorganized" "unorganized": "未分類的"
}, },
"webhooks": { "webhooks": {
"test-webhooks": "測試Webhooks", "test-webhooks": "測試Webhooks",
@ -391,99 +391,99 @@
} }
}, },
"shopping-list": { "shopping-list": {
"all-lists": "All Lists", "all-lists": "所有清單",
"create-shopping-list": "Create Shopping List", "create-shopping-list": "建立購物清單",
"from-recipe": "From Recipe", "from-recipe": "從食譜",
"list-name": "List Name", "list-name": "清單名稱",
"new-list": "New List", "new-list": "新增清單",
"quantity": "Quantity: {0}", "quantity": "數量: {0}",
"shopping-list": "Shopping List", "shopping-list": "購物清單",
"shopping-lists": "Shopping Lists" "shopping-lists": "購物清單"
}, },
"sidebar": { "sidebar": {
"all-recipes": "All Recipes", "all-recipes": "所有食譜",
"categories": "Categories", "categories": "類別",
"dashboard": "Dashboard", "dashboard": "控制面板",
"home-page": "Home Page", "home-page": "首頁",
"manage-users": "Manage Users", "manage-users": "管理使用者",
"migrations": "Migrations", "migrations": "遷移",
"profile": "Profile", "profile": "個人資料",
"search": "Search", "search": "搜尋",
"site-settings": "Site Settings", "site-settings": "網站設置",
"tags": "Tags", "tags": "標籤",
"toolbox": "Toolbox" "toolbox": "工具箱"
}, },
"signup": { "signup": {
"error-signing-up": "Error Signing Up", "error-signing-up": "註冊失敗",
"sign-up": "Sign Up", "sign-up": "註冊",
"sign-up-link-created": "Sign up link created", "sign-up-link-created": "註冊連結已創建",
"sign-up-link-creation-failed": "Sign up link creation failed", "sign-up-link-creation-failed": "創建註冊連結失敗",
"sign-up-links": "Sign Up Links", "sign-up-links": "註冊連結",
"sign-up-token-deleted": "Sign Up Token Deleted", "sign-up-token-deleted": "註冊密鑰已刪除",
"sign-up-token-deletion-failed": "Sign up token deletion failed", "sign-up-token-deletion-failed": "註冊密鑰刪除失敗",
"welcome-to-mealie": "Welcome to Mealie! To become a user of this instance you are required to have a valid invitation link. If you haven't recieved an invitation you are unable to sign-up. To recieve a link, contact the sites administrator." "welcome-to-mealie": "歡迎來到Mealie您必須持有一個有效的邀請連結才能成為此應用的用戶。如果尚未獲得邀請您將無法註冊。請聯繫管理員來獲得邀請連結。"
}, },
"tag": { "tag": {
"tag-created": "Tag created", "tag-created": "標籤已創建",
"tag-creation-failed": "Tag creation failed", "tag-creation-failed": "創建標籤失敗",
"tag-deleted": "Tag deleted", "tag-deleted": "標籤已刪除",
"tag-deletion-failed": "Tag deletion failed", "tag-deletion-failed": "標籤刪除失敗",
"tag-update-failed": "Tag update failed", "tag-update-failed": "標籤更新失敗",
"tag-updated": "Tag updated", "tag-updated": "標籤已更新",
"tags": "Tags", "tags": "標籤",
"untagged-count": "Untagged {count}" "untagged-count": "為標記的 {count}"
}, },
"user": { "user": {
"admin": "Admin", "admin": "管理員",
"are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link <b>{link}<b/>?", "are-you-sure-you-want-to-delete-the-link": "確定要刪除連結<b>{link}<b/>",
"are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user <b>{activeName} ID: {activeId}<b/>?", "are-you-sure-you-want-to-delete-the-user": "確定要刪除用戶<b>{activeName} ID: {activeId}<b/>",
"confirm-link-deletion": "Confirm Link Deletion", "confirm-link-deletion": "確認刪除連結",
"confirm-password": "Confirm Password", "confirm-password": "確認密碼",
"confirm-user-deletion": "Confirm User Deletion", "confirm-user-deletion": "確認刪除用戶",
"could-not-validate-credentials": "Could Not Validate Credentials", "could-not-validate-credentials": "無法認證密碼",
"create-link": "Create Link", "create-link": "建立連結",
"create-user": "Create User", "create-user": "新增使用者",
"current-password": "Current Password", "current-password": "目前密碼",
"e-mail-must-be-valid": "E-mail must be valid", "e-mail-must-be-valid": "電子郵件無效",
"edit-user": "Edit User", "edit-user": "編輯用戶",
"email": "電子郵件", "email": "電子郵件",
"error-cannot-delete-super-user": "Error! Cannot Delete Super User", "error-cannot-delete-super-user": "錯誤!無法刪除管理員帳戶",
"existing-password-does-not-match": "Existing password does not match", "existing-password-does-not-match": "舊密碼不正確",
"full-name": "Full Name", "full-name": "全名",
"link-id": "Link ID", "link-id": "連結ID",
"link-name": "Link Name", "link-name": "連結名稱",
"login": "Login", "login": "登入",
"logout": "Logout", "logout": "登出",
"manage-users": "Manage Users", "manage-users": "管理使用者",
"new-password": "New Password", "new-password": "新密碼",
"new-user": "New User", "new-user": "新用戶",
"password": "密碼", "password": "密碼",
"password-has-been-reset-to-the-default-password": "Password has been reset to the default password", "password-has-been-reset-to-the-default-password": "密碼重設為預設密碼",
"password-must-match": "Password must match", "password-must-match": "輸入的密碼必須完全相同",
"password-reset-failed": "Password reset failed", "password-reset-failed": "密碼重設失敗",
"password-updated": "Password updated", "password-updated": "密碼已更新",
"reset-password": "Reset Password", "reset-password": "重設密碼",
"sign-in": "登入", "sign-in": "登入",
"total-mealplans": "Total MealPlans", "total-mealplans": "用餐計畫總數",
"total-users": "Total Users", "total-users": "用戶總數",
"upload-photo": "Upload Photo", "upload-photo": "上傳照片",
"use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password", "use-8-characters-or-more-for-your-password": "請使用8個字母以上的密碼",
"user": "User", "user": "用戶",
"user-created": "User created", "user-created": "用戶已建立",
"user-creation-failed": "User creation failed", "user-creation-failed": "新增用戶失敗",
"user-deleted": "User deleted", "user-deleted": "用戶已刪除",
"user-id": "User ID", "user-id": "用戶 ID",
"user-id-with-value": "User ID: {id}", "user-id-with-value": "用戶 ID: {id}",
"user-password": "User Password", "user-password": "用戶密碼",
"user-successfully-logged-in": "User Successfully Logged In", "user-successfully-logged-in": "成功登入",
"user-update-failed": "User update failed", "user-update-failed": "用戶更新失敗",
"user-updated": "User updated", "user-updated": "用戶已更新",
"username": "Username", "username": "用戶名",
"users": "Users", "users": "用戶",
"users-header": "USERS", "users-header": "用戶",
"webhook-time": "Webhook Time", "webhook-time": "Webhook時間",
"webhooks-enabled": "Webhooks Enabled", "webhooks-enabled": "Webhooks 啟用",
"you-are-not-allowed-to-create-a-user": "You are not allowed to create a user", "you-are-not-allowed-to-create-a-user": "您沒有權限新增用戶",
"you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user" "you-are-not-allowed-to-delete-this-user": "您沒有權限刪除此用戶"
} }
} }

View File

@ -1,6 +1,6 @@
from sqlite3 import IntegrityError from sqlite3 import IntegrityError
from mealie.lang.providers import AbstractLocaleProvider from mealie.lang.providers import Translator
class PermissionDenied(Exception): class PermissionDenied(Exception):
@ -19,7 +19,7 @@ class NoEntryFound(Exception):
pass pass
def mealie_registered_exceptions(t: AbstractLocaleProvider) -> dict: def mealie_registered_exceptions(t: Translator) -> dict:
""" """
This function returns a dictionary of all the globally registered exceptions in the Mealie application. This function returns a dictionary of all the globally registered exceptions in the Mealie application.
""" """

View File

@ -18,7 +18,7 @@ def fix_slug_food_names(db: AllRepositories):
all_foods = db.ingredient_foods.get_all() all_foods = db.ingredient_foods.get_all()
seed_foods: dict[str, str] = json.loads(food_resources.en_us.read_text()) seed_foods: dict[str, str] = json.loads(food_resources.en_US.read_text())
for food in all_foods: for food in all_foods:
if food.name in seed_foods: if food.name in seed_foods:

View File

@ -1,6 +1,6 @@
{ {
"generic": { "generic": {
"server-error": "Something went wrong" "server-error": "An unexpected error occurred"
}, },
"recipe": { "recipe": {
"unique-name-error": "Recipe names must be unique" "unique-name-error": "Recipe names must be unique"
@ -10,4 +10,4 @@
"no-entry-found": "The requested resource was not found", "no-entry-found": "The requested resource was not found",
"integrity-error": "Database integrity error" "integrity-error": "Database integrity error"
} }
} }

View File

@ -1,35 +1,31 @@
from abc import ABC, abstractmethod from abc import abstractmethod
from functools import lru_cache from functools import lru_cache
from pathlib import Path from pathlib import Path
from typing import Protocol
import i18n from fastapi import Header
from bcrypt import os
from mealie.pkgs import i18n
CWD = Path(__file__).parent CWD = Path(__file__).parent
TRANSLATIONS = CWD / "messages" TRANSLATIONS = CWD / "messages"
class AbstractLocaleProvider(ABC): class Translator(Protocol):
@abstractmethod @abstractmethod
def t(self, key): def t(self, key, default=None, **kwargs):
pass pass
class i18nProvider(AbstractLocaleProvider):
def __init__(self, locale):
i18n.set("file_format", "json")
i18n.set("filename_format", "{locale}.{format}")
i18n.set("skip_locale_root_data", True)
i18n.load_path.append(TRANSLATIONS)
i18n.set("locale", locale)
i18n.set("fallback", "en-US")
self._t = i18n.t
def t(self, key):
return self._t(key)
@lru_cache() @lru_cache()
def get_locale_provider(): def _load_factory() -> i18n.ProviderFactory:
lang = os.environ.get("LANG", "en-US") return i18n.ProviderFactory(
return i18nProvider(lang) directory=TRANSLATIONS,
fallback_locale="en-US",
)
def local_provider(accept_language: str | None = Header(None)) -> Translator:
factory = _load_factory()
accept_language = accept_language or "en-US"
return factory.get(accept_language)

View File

@ -0,0 +1,2 @@
from .json_provider import *
from .provider_factory import *

View File

@ -0,0 +1,34 @@
import json
from dataclasses import dataclass
from pathlib import Path
@dataclass(slots=True)
class JsonProvider:
translations: dict
def __init__(self, path: Path | dict):
if isinstance(path, Path):
self.translations = json.loads(path.read_text())
else:
self.translations = path
def t(self, key: str, default=None, **kwargs) -> str:
keys = key.split(".")
translation_value: dict | str = self.translations
last = len(keys) - 1
for i, k in enumerate(keys):
if k not in translation_value:
break
try:
translation_value = translation_value[k] # type: ignore
except Exception:
break
if i == last:
return translation_value
return default or key

View File

@ -0,0 +1,43 @@
from dataclasses import dataclass, field
from pathlib import Path
from .json_provider import JsonProvider
@dataclass(slots=True)
class InUseProvider:
provider: JsonProvider
locks: int
@dataclass(slots=True)
class ProviderFactory:
directory: Path
fallback_locale: str = "en-US"
filename_format = "{locale}.{format}"
_store: dict[str, InUseProvider] = field(default_factory=dict)
@property
def fallback_file(self) -> Path:
return self.directory / self.filename_format.format(locale=self.fallback_locale, format="json")
def _load(self, locale: str) -> JsonProvider:
filename = self.filename_format.format(locale=locale, format="json")
path = self.directory / filename
return JsonProvider(path) if path.exists() else JsonProvider(self.fallback_file)
def release(self, locale) -> None:
if locale in self._store:
self._store[locale].locks -= 1
if self._store[locale].locks == 0:
del self._store[locale]
def get(self, locale: str) -> JsonProvider:
if locale in self._store:
self._store[locale].locks += 1
else:
self._store[locale] = InUseProvider(provider=self._load(locale), locks=1)
return self._store[locale].provider

View File

@ -2,4 +2,4 @@ from pathlib import Path
CWD = Path(__file__).parent CWD = Path(__file__).parent
en_us = CWD / "en-us.json" en_US = CWD / "en-US.json"

View File

@ -2,4 +2,4 @@ from pathlib import Path
CWD = Path(__file__).parent CWD = Path(__file__).parent
en_us = CWD / "en-us.json" en_US = CWD / "en-US.json"

View File

@ -2,4 +2,4 @@ from pathlib import Path
CWD = Path(__file__).parent CWD = Path(__file__).parent
en_us = CWD / "en-us.json" en_US = CWD / "en-US.json"

View File

@ -1,4 +1,4 @@
from .abc_controller import * from .base_controllers import *
from .controller import * from .controller import *
from .dependencies import * from .dependencies import *
from .mixins import * from .mixins import *

View File

@ -11,29 +11,26 @@ class OperationChecks:
user: PrivateUser user: PrivateUser
ForbiddenException = HTTPException(status.HTTP_403_FORBIDDEN)
UnauthorizedException = HTTPException(status.HTTP_401_UNAUTHORIZED)
def __init__(self, user: PrivateUser) -> None: def __init__(self, user: PrivateUser) -> None:
self.user = user self.user = user
def _raise_unauthorized(self) -> None:
raise HTTPException(status.HTTP_401_UNAUTHORIZED)
def _raise_forbidden(self) -> None:
raise HTTPException(status.HTTP_403_FORBIDDEN)
# ========================================= # =========================================
# User Permission Checks # User Permission Checks
def can_manage(self) -> bool: def can_manage(self) -> bool:
if not self.user.can_manage: if not self.user.can_manage:
self._raise_forbidden() raise self.ForbiddenException
return True return True
def can_invite(self) -> bool: def can_invite(self) -> bool:
if not self.user.can_invite: if not self.user.can_invite:
self._raise_forbidden() raise self.ForbiddenException
return True return True
def can_organize(self) -> bool: def can_organize(self) -> bool:
if not self.user.can_organize: if not self.user.can_organize:
self._raise_forbidden() raise self.ForbiddenException
return True return True

View File

@ -151,8 +151,8 @@ def _allocate_routes_by_method_name(router: APIRouter, url: str, function_member
responses = None responses = None
kwargs = {} kwargs = {}
status_code = 200 status_code = 200
return_types_func = getattr(func, RETURN_TYPES_FUNC_KEY, None)
if return_types_func: if return_types_func := getattr(func, RETURN_TYPES_FUNC_KEY, None):
response_model, status_code, responses, kwargs = return_types_func() response_model, status_code, responses, kwargs = return_types_func()
api_resource = router.api_route( api_resource = router.api_route(

View File

@ -10,40 +10,46 @@ from mealie.core.root_logger import get_logger
from mealie.core.settings.directories import AppDirectories from mealie.core.settings.directories import AppDirectories
from mealie.core.settings.settings import AppSettings from mealie.core.settings.settings import AppSettings
from mealie.db.db_setup import generate_session from mealie.db.db_setup import generate_session
from mealie.lang import AbstractLocaleProvider, get_locale_provider from mealie.lang import Translator, local_provider
from mealie.repos import AllRepositories from mealie.repos import AllRepositories
from mealie.schema.user.user import PrivateUser from mealie.schema.user.user import PrivateUser
class SharedDependencies: class SharedDependencies:
session: Session session: Session
t: AbstractLocaleProvider t: Translator
acting_user: PrivateUser | None acting_user: PrivateUser | None
def __init__(self, session: Session, acting_user: PrivateUser | None) -> None: def __init__(self, session: Session, acting_user: PrivateUser | None, provider: Translator | None = None) -> None:
self.t = get_locale_provider() self.t = provider or local_provider()
self.session = session self.session = session
self.acting_user = acting_user self.acting_user = acting_user
@classmethod @classmethod
def public(cls, session: Session = Depends(generate_session)) -> "SharedDependencies": def public(
return cls(session, None) cls,
session: Session = Depends(generate_session),
translator: Translator = Depends(local_provider),
) -> "SharedDependencies":
return cls(session, None, translator)
@classmethod @classmethod
def user( def user(
cls, cls,
session: Session = Depends(generate_session), session: Session = Depends(generate_session),
user: PrivateUser = Depends(get_current_user), user: PrivateUser = Depends(get_current_user),
translator: Translator = Depends(local_provider),
) -> "SharedDependencies": ) -> "SharedDependencies":
return cls(session, user) return cls(session, user, translator)
@classmethod @classmethod
def admin( def admin(
cls, cls,
session: Session = Depends(generate_session), session: Session = Depends(generate_session),
admin: PrivateUser = Depends(get_admin_user), admin: PrivateUser = Depends(get_admin_user),
translator: Translator = Depends(local_provider),
) -> "SharedDependencies": ) -> "SharedDependencies":
return cls(session, admin) return cls(session, admin, translator)
@cached_property @cached_property
def logger(self) -> Logger: def logger(self) -> Logger:

View File

@ -13,15 +13,15 @@ R = TypeVar("R", bound=BaseModel)
U = TypeVar("U", bound=BaseModel) U = TypeVar("U", bound=BaseModel)
class CrudMixins(Generic[C, R, U]): class HttpRepo(Generic[C, R, U]):
""" """
The CrudMixins[C, R, U] class is a mixin class that provides a common set of methods for CRUD operations. The HttpRepo[C, R, U] class is a mixin class that provides a common set of methods for CRUD operations.
This class is inteded to be used in a composition pattern where a class has a mixin property. For example: This class is inteded to be used in a composition pattern where a class has a mixin property. For example:
``` ```
class MyClass: class MyClass:
def __init(self repo, logger): def __init__(self, repo, logger):
self.mixins = CrudMixins(repo, logger) self.mixins = HttpRepo(repo, logger)
``` ```
""" """

View File

@ -18,6 +18,7 @@ class AdminAboutController(BaseAdminController):
@router.get("", response_model=AdminAboutInfo) @router.get("", response_model=AdminAboutInfo)
def get_app_info(self): def get_app_info(self):
"""Get general application information""" """Get general application information"""
settings = self.deps.settings settings = self.deps.settings
return AdminAboutInfo( return AdminAboutInfo(
@ -48,12 +49,11 @@ class AdminAboutController(BaseAdminController):
@router.get("/check", response_model=CheckAppConfig) @router.get("/check", response_model=CheckAppConfig)
def check_app_config(self): def check_app_config(self):
settings = self.deps.settings settings = self.deps.settings
url_set = settings.BASE_URL != "http://localhost:8080"
return CheckAppConfig( return CheckAppConfig(
email_ready=settings.SMTP_ENABLE, email_ready=settings.SMTP_ENABLE,
ldap_ready=settings.LDAP_ENABLED, ldap_ready=settings.LDAP_ENABLED,
base_url_set=url_set, base_url_set=settings.BASE_URL != "http://localhost:8080",
is_up_to_date=get_latest_version() == APP_VERSION, is_up_to_date=get_latest_version() == APP_VERSION,
) )

View File

@ -12,7 +12,7 @@ from mealie.services.group_services.group_service import GroupService
from .._base import BaseAdminController, controller from .._base import BaseAdminController, controller
from .._base.dependencies import SharedDependencies from .._base.dependencies import SharedDependencies
from .._base.mixins import CrudMixins from .._base.mixins import HttpRepo
router = APIRouter(prefix="/groups", tags=["Admin: Groups"]) router = APIRouter(prefix="/groups", tags=["Admin: Groups"])
@ -33,7 +33,7 @@ class AdminUserManagementRoutes(BaseAdminController):
@property @property
def mixins(self): def mixins(self):
return CrudMixins[GroupBase, GroupInDB, GroupAdminUpdate]( return HttpRepo[GroupBase, GroupInDB, GroupAdminUpdate](
self.repo, self.repo,
self.deps.logger, self.deps.logger,
self.registered_exceptions, self.registered_exceptions,

View File

@ -6,7 +6,7 @@ from pydantic import UUID4
from mealie.core import security from mealie.core import security
from mealie.routes._base import BaseAdminController, controller from mealie.routes._base import BaseAdminController, controller
from mealie.routes._base.dependencies import SharedDependencies from mealie.routes._base.dependencies import SharedDependencies
from mealie.routes._base.mixins import CrudMixins from mealie.routes._base.mixins import HttpRepo
from mealie.schema.query import GetAll from mealie.schema.query import GetAll
from mealie.schema.response.responses import ErrorResponse from mealie.schema.response.responses import ErrorResponse
from mealie.schema.user.user import UserIn, UserOut from mealie.schema.user.user import UserIn, UserOut
@ -30,7 +30,7 @@ class AdminUserManagementRoutes(BaseAdminController):
@property @property
def mixins(self): def mixins(self):
return CrudMixins[UserIn, UserOut, UserOut](self.repo, self.deps.logger, self.registered_exceptions) return HttpRepo[UserIn, UserOut, UserOut](self.repo, self.deps.logger, self.registered_exceptions)
@router.get("", response_model=list[UserOut]) @router.get("", response_model=list[UserOut])
def get_all(self, q: GetAll = Depends(GetAll)): def get_all(self, q: GetAll = Depends(GetAll)):

View File

@ -7,7 +7,7 @@ router = APIRouter(prefix="/about")
@router.get("", response_model=AppInfo) @router.get("", response_model=AppInfo)
async def get_app_info(): def get_app_info():
"""Get general application information""" """Get general application information"""
settings = get_app_settings() settings = get_app_settings()

View File

@ -5,9 +5,9 @@ from fastapi import APIRouter, Depends, HTTPException
from pydantic import UUID4 from pydantic import UUID4
from mealie.core.exceptions import mealie_registered_exceptions from mealie.core.exceptions import mealie_registered_exceptions
from mealie.routes._base.abc_controller import BaseUserController from mealie.routes._base.base_controllers import BaseUserController
from mealie.routes._base.controller import controller from mealie.routes._base.controller import controller
from mealie.routes._base.mixins import CrudMixins from mealie.routes._base.mixins import HttpRepo
from mealie.schema.query import GetAll from mealie.schema.query import GetAll
from mealie.schema.recipe.recipe_comments import ( from mealie.schema.recipe.recipe_comments import (
RecipeCommentCreate, RecipeCommentCreate,
@ -30,8 +30,8 @@ class RecipeCommentRoutes(BaseUserController):
# CRUD Operations # CRUD Operations
@property @property
def mixins(self) -> CrudMixins: def mixins(self) -> HttpRepo:
return CrudMixins(self.repo, self.deps.logger, self.registered_exceptions, "An unexpected error occurred.") return HttpRepo(self.repo, self.deps.logger, self.registered_exceptions, "An unexpected error occurred.")
def _check_comment_belongs_to_user(self, item_id: UUID4) -> None: def _check_comment_belongs_to_user(self, item_id: UUID4) -> None:
comment = self.repo.get_one(item_id) comment = self.repo.get_one(item_id)

View File

@ -5,7 +5,7 @@ from pydantic import UUID4
from mealie.core.exceptions import mealie_registered_exceptions from mealie.core.exceptions import mealie_registered_exceptions
from mealie.routes._base import BaseUserController, controller from mealie.routes._base import BaseUserController, controller
from mealie.routes._base.mixins import CrudMixins from mealie.routes._base.mixins import HttpRepo
from mealie.schema import mapper from mealie.schema import mapper
from mealie.schema.cookbook import CreateCookBook, ReadCookBook, RecipeCookBook, SaveCookBook, UpdateCookBook from mealie.schema.cookbook import CreateCookBook, ReadCookBook, RecipeCookBook, SaveCookBook, UpdateCookBook
@ -26,7 +26,7 @@ class GroupCookbookController(BaseUserController):
@cached_property @cached_property
def mixins(self): def mixins(self):
return CrudMixins[CreateCookBook, ReadCookBook, UpdateCookBook]( return HttpRepo[CreateCookBook, ReadCookBook, UpdateCookBook](
self.repo, self.repo,
self.deps.logger, self.deps.logger,
self.registered_exceptions, self.registered_exceptions,

View File

@ -3,9 +3,9 @@ from functools import cached_property
from fastapi import APIRouter, Depends from fastapi import APIRouter, Depends
from pydantic import UUID4 from pydantic import UUID4
from mealie.routes._base.abc_controller import BaseUserController from mealie.routes._base.base_controllers import BaseUserController
from mealie.routes._base.controller import controller from mealie.routes._base.controller import controller
from mealie.routes._base.mixins import CrudMixins from mealie.routes._base.mixins import HttpRepo
from mealie.schema.group.group_events import ( from mealie.schema.group.group_events import (
GroupEventNotifierCreate, GroupEventNotifierCreate,
GroupEventNotifierOut, GroupEventNotifierOut,
@ -35,8 +35,8 @@ class GroupEventsNotifierController(BaseUserController):
# CRUD Operations # CRUD Operations
@property @property
def mixins(self) -> CrudMixins: def mixins(self) -> HttpRepo:
return CrudMixins(self.repo, self.deps.logger, self.registered_exceptions, "An unexpected error occurred.") return HttpRepo(self.repo, self.deps.logger, self.registered_exceptions, "An unexpected error occurred.")
@router.get("", response_model=list[GroupEventNotifierOut]) @router.get("", response_model=list[GroupEventNotifierOut])
def get_all(self, q: GetAll = Depends(GetAll)): def get_all(self, q: GetAll = Depends(GetAll)):

View File

@ -4,9 +4,9 @@ from fastapi import APIRouter
from pydantic import UUID4 from pydantic import UUID4
from mealie.core.exceptions import mealie_registered_exceptions from mealie.core.exceptions import mealie_registered_exceptions
from mealie.routes._base.abc_controller import BaseUserController from mealie.routes._base.base_controllers import BaseUserController
from mealie.routes._base.controller import controller from mealie.routes._base.controller import controller
from mealie.routes._base.mixins import CrudMixins from mealie.routes._base.mixins import HttpRepo
from mealie.schema.reports.reports import ReportCategory, ReportCreate, ReportOut, ReportSummary from mealie.schema.reports.reports import ReportCategory, ReportCreate, ReportOut, ReportSummary
router = APIRouter(prefix="/groups/reports", tags=["Groups: Reports"]) router = APIRouter(prefix="/groups/reports", tags=["Groups: Reports"])
@ -25,7 +25,7 @@ class GroupReportsController(BaseUserController):
@cached_property @cached_property
def mixins(self): def mixins(self):
return CrudMixins[ReportCreate, ReportOut, ReportCreate]( return HttpRepo[ReportCreate, ReportOut, ReportCreate](
self.repo, self.repo,
self.deps.logger, self.deps.logger,
self.registered_exceptions, self.registered_exceptions,

View File

@ -2,7 +2,7 @@ from functools import cached_property
from fastapi import HTTPException, status from fastapi import HTTPException, status
from mealie.routes._base.abc_controller import BaseUserController from mealie.routes._base.base_controllers import BaseUserController
from mealie.routes._base.controller import controller from mealie.routes._base.controller import controller
from mealie.routes._base.routers import UserAPIRouter from mealie.routes._base.routers import UserAPIRouter
from mealie.schema.group.group_permissions import SetPermissions from mealie.schema.group.group_permissions import SetPermissions

View File

@ -3,9 +3,9 @@ from functools import cached_property
from fastapi import APIRouter, Depends from fastapi import APIRouter, Depends
from pydantic import UUID4 from pydantic import UUID4
from mealie.routes._base.abc_controller import BaseUserController from mealie.routes._base.base_controllers import BaseUserController
from mealie.routes._base.controller import controller from mealie.routes._base.controller import controller
from mealie.routes._base.mixins import CrudMixins from mealie.routes._base.mixins import HttpRepo
from mealie.schema.labels import ( from mealie.schema.labels import (
MultiPurposeLabelCreate, MultiPurposeLabelCreate,
MultiPurposeLabelOut, MultiPurposeLabelOut,
@ -32,8 +32,8 @@ class MultiPurposeLabelsController(BaseUserController):
# CRUD Operations # CRUD Operations
@property @property
def mixins(self) -> CrudMixins: def mixins(self) -> HttpRepo:
return CrudMixins(self.repo, self.deps.logger, self.registered_exceptions, "An unexpected error occurred.") return HttpRepo(self.repo, self.deps.logger, self.registered_exceptions, "An unexpected error occurred.")
@router.get("", response_model=list[MultiPurposeLabelSummary]) @router.get("", response_model=list[MultiPurposeLabelSummary])
def get_all(self, q: GetAll = Depends(GetAll)): def get_all(self, q: GetAll = Depends(GetAll)):

View File

@ -6,7 +6,7 @@ from fastapi import APIRouter, HTTPException
from mealie.core.exceptions import mealie_registered_exceptions from mealie.core.exceptions import mealie_registered_exceptions
from mealie.repos.repository_meals import RepositoryMeals from mealie.repos.repository_meals import RepositoryMeals
from mealie.routes._base import BaseUserController, controller from mealie.routes._base import BaseUserController, controller
from mealie.routes._base.mixins import CrudMixins from mealie.routes._base.mixins import HttpRepo
from mealie.schema import mapper from mealie.schema import mapper
from mealie.schema.meal_plan import CreatePlanEntry, ReadPlanEntry, SavePlanEntry, UpdatePlanEntry from mealie.schema.meal_plan import CreatePlanEntry, ReadPlanEntry, SavePlanEntry, UpdatePlanEntry
from mealie.schema.meal_plan.new_meal import CreatRandomEntry from mealie.schema.meal_plan.new_meal import CreatRandomEntry
@ -31,7 +31,7 @@ class GroupMealplanController(BaseUserController):
@cached_property @cached_property
def mixins(self): def mixins(self):
return CrudMixins[CreatePlanEntry, ReadPlanEntry, UpdatePlanEntry]( return HttpRepo[CreatePlanEntry, ReadPlanEntry, UpdatePlanEntry](
self.repo, self.repo,
self.deps.logger, self.deps.logger,
self.registered_exceptions, self.registered_exceptions,

View File

@ -1,6 +1,6 @@
from mealie.routes._base.abc_controller import BaseUserController from mealie.routes._base.base_controllers import BaseUserController
from mealie.routes._base.controller import controller from mealie.routes._base.controller import controller
from mealie.routes._base.mixins import CrudMixins from mealie.routes._base.mixins import HttpRepo
from mealie.routes._base.routers import UserAPIRouter from mealie.routes._base.routers import UserAPIRouter
from mealie.schema.recipe.recipe_category import CategoryBase from mealie.schema.recipe.recipe_category import CategoryBase
from mealie.schema.user.user import GroupInDB from mealie.schema.user.user import GroupInDB
@ -12,7 +12,7 @@ router = UserAPIRouter(prefix="/groups/categories", tags=["Groups: Mealplan Cate
class GroupMealplanConfigController(BaseUserController): class GroupMealplanConfigController(BaseUserController):
@property @property
def mixins(self): def mixins(self):
return CrudMixins[GroupInDB, GroupInDB, GroupInDB](self.repos.groups, self.deps.logger) return HttpRepo[GroupInDB, GroupInDB, GroupInDB](self.repos.groups, self.deps.logger)
@router.get("", response_model=list[CategoryBase]) @router.get("", response_model=list[CategoryBase])
def get_mealplan_categories(self): def get_mealplan_categories(self):

View File

@ -2,9 +2,9 @@ from functools import cached_property
from pydantic import UUID4 from pydantic import UUID4
from mealie.routes._base.abc_controller import BaseUserController from mealie.routes._base.base_controllers import BaseUserController
from mealie.routes._base.controller import controller from mealie.routes._base.controller import controller
from mealie.routes._base.mixins import CrudMixins from mealie.routes._base.mixins import HttpRepo
from mealie.routes._base.routers import UserAPIRouter from mealie.routes._base.routers import UserAPIRouter
from mealie.schema import mapper from mealie.schema import mapper
from mealie.schema.meal_plan.plan_rules import PlanRulesCreate, PlanRulesOut, PlanRulesSave from mealie.schema.meal_plan.plan_rules import PlanRulesCreate, PlanRulesOut, PlanRulesSave
@ -20,7 +20,7 @@ class GroupMealplanConfigController(BaseUserController):
@cached_property @cached_property
def mixins(self): def mixins(self):
return CrudMixins[PlanRulesCreate, PlanRulesOut, PlanRulesOut](self.repo, self.deps.logger) return HttpRepo[PlanRulesCreate, PlanRulesOut, PlanRulesOut](self.repo, self.deps.logger)
@router.get("", response_model=list[PlanRulesOut]) @router.get("", response_model=list[PlanRulesOut])
def get_all(self): def get_all(self):

View File

@ -3,9 +3,9 @@ from functools import cached_property
from fastapi import APIRouter, Depends, Query from fastapi import APIRouter, Depends, Query
from pydantic import UUID4 from pydantic import UUID4
from mealie.routes._base.abc_controller import BaseUserController from mealie.routes._base.base_controllers import BaseUserController
from mealie.routes._base.controller import controller from mealie.routes._base.controller import controller
from mealie.routes._base.mixins import CrudMixins from mealie.routes._base.mixins import HttpRepo
from mealie.schema.group.group_shopping_list import ( from mealie.schema.group.group_shopping_list import (
ShoppingListCreate, ShoppingListCreate,
ShoppingListItemCreate, ShoppingListItemCreate,
@ -38,7 +38,7 @@ class ShoppingListItemController(BaseUserController):
@cached_property @cached_property
def mixins(self): def mixins(self):
return CrudMixins[ShoppingListItemCreate, ShoppingListItemOut, ShoppingListItemCreate]( return HttpRepo[ShoppingListItemCreate, ShoppingListItemOut, ShoppingListItemCreate](
self.repo, self.repo,
self.deps.logger, self.deps.logger,
) )
@ -106,8 +106,8 @@ class ShoppingListController(BaseUserController):
# CRUD Operations # CRUD Operations
@cached_property @cached_property
def mixins(self) -> CrudMixins: def mixins(self) -> HttpRepo:
return CrudMixins(self.repo, self.deps.logger, self.registered_exceptions, "An unexpected error occurred.") return HttpRepo(self.repo, self.deps.logger, self.registered_exceptions, "An unexpected error occurred.")
@router.get("", response_model=list[ShoppingListSummary]) @router.get("", response_model=list[ShoppingListSummary])
def get_all(self, q: GetAll = Depends(GetAll)): def get_all(self, q: GetAll = Depends(GetAll)):

View File

@ -3,9 +3,9 @@ from functools import cached_property
from fastapi import APIRouter, Depends from fastapi import APIRouter, Depends
from pydantic import UUID4 from pydantic import UUID4
from mealie.routes._base.abc_controller import BaseUserController from mealie.routes._base.base_controllers import BaseUserController
from mealie.routes._base.controller import controller from mealie.routes._base.controller import controller
from mealie.routes._base.mixins import CrudMixins from mealie.routes._base.mixins import HttpRepo
from mealie.schema import mapper from mealie.schema import mapper
from mealie.schema.group.webhook import CreateWebhook, ReadWebhook, SaveWebhook from mealie.schema.group.webhook import CreateWebhook, ReadWebhook, SaveWebhook
from mealie.schema.query import GetAll from mealie.schema.query import GetAll
@ -20,8 +20,8 @@ class ReadWebhookController(BaseUserController):
return self.repos.webhooks.by_group(self.group_id) return self.repos.webhooks.by_group(self.group_id)
@property @property
def mixins(self) -> CrudMixins: def mixins(self) -> HttpRepo:
return CrudMixins[CreateWebhook, SaveWebhook, CreateWebhook](self.repo, self.deps.logger) return HttpRepo[CreateWebhook, SaveWebhook, CreateWebhook](self.repo, self.deps.logger)
@router.get("", response_model=list[ReadWebhook]) @router.get("", response_model=list[ReadWebhook])
def get_all(self, q: GetAll = Depends(GetAll)): def get_all(self, q: GetAll = Depends(GetAll)):

View File

@ -4,7 +4,7 @@ from fastapi import APIRouter
from pydantic import UUID4, BaseModel from pydantic import UUID4, BaseModel
from mealie.routes._base import BaseUserController, controller from mealie.routes._base import BaseUserController, controller
from mealie.routes._base.mixins import CrudMixins from mealie.routes._base.mixins import HttpRepo
from mealie.schema import mapper from mealie.schema import mapper
from mealie.schema.recipe import CategoryIn, RecipeCategoryResponse from mealie.schema.recipe import CategoryIn, RecipeCategoryResponse
from mealie.schema.recipe.recipe import RecipeCategory from mealie.schema.recipe.recipe import RecipeCategory
@ -32,7 +32,7 @@ class RecipeCategoryController(BaseUserController):
@cached_property @cached_property
def mixins(self): def mixins(self):
return CrudMixins(self.repo, self.deps.logger) return HttpRepo(self.repo, self.deps.logger)
@router.get("", response_model=list[CategorySummary]) @router.get("", response_model=list[CategorySummary])
def get_all(self): def get_all(self):

View File

@ -4,7 +4,7 @@ from fastapi import APIRouter, HTTPException, status
from pydantic import UUID4 from pydantic import UUID4
from mealie.routes._base import BaseUserController, controller from mealie.routes._base import BaseUserController, controller
from mealie.routes._base.mixins import CrudMixins from mealie.routes._base.mixins import HttpRepo
from mealie.schema import mapper from mealie.schema import mapper
from mealie.schema.recipe import RecipeTagResponse, TagIn from mealie.schema.recipe import RecipeTagResponse, TagIn
from mealie.schema.recipe.recipe import RecipeTag from mealie.schema.recipe.recipe import RecipeTag
@ -21,7 +21,7 @@ class TagController(BaseUserController):
@cached_property @cached_property
def mixins(self): def mixins(self):
return CrudMixins(self.repo, self.deps.logger) return HttpRepo(self.repo, self.deps.logger)
@router.get("") @router.get("")
async def get_all(self): async def get_all(self):

View File

@ -3,9 +3,9 @@ from functools import cached_property
from fastapi import APIRouter, Depends from fastapi import APIRouter, Depends
from pydantic import UUID4 from pydantic import UUID4
from mealie.routes._base.abc_controller import BaseUserController from mealie.routes._base.base_controllers import BaseUserController
from mealie.routes._base.controller import controller from mealie.routes._base.controller import controller
from mealie.routes._base.mixins import CrudMixins from mealie.routes._base.mixins import HttpRepo
from mealie.schema import mapper from mealie.schema import mapper
from mealie.schema.query import GetAll from mealie.schema.query import GetAll
from mealie.schema.recipe.recipe import RecipeTool from mealie.schema.recipe.recipe import RecipeTool
@ -21,8 +21,8 @@ class RecipeToolController(BaseUserController):
return self.repos.tools.by_group(self.group_id) return self.repos.tools.by_group(self.group_id)
@property @property
def mixins(self) -> CrudMixins: def mixins(self) -> HttpRepo:
return CrudMixins[RecipeToolCreate, RecipeTool, RecipeToolCreate](self.repo, self.deps.logger) return HttpRepo[RecipeToolCreate, RecipeTool, RecipeToolCreate](self.repo, self.deps.logger)
@router.get("", response_model=list[RecipeTool]) @router.get("", response_model=list[RecipeTool])
def get_all(self, q: GetAll = Depends(GetAll)): def get_all(self, q: GetAll = Depends(GetAll)):

View File

@ -20,7 +20,7 @@ from mealie.pkgs import cache
from mealie.repos.all_repositories import get_repositories from mealie.repos.all_repositories import get_repositories
from mealie.repos.repository_recipes import RepositoryRecipes from mealie.repos.repository_recipes import RepositoryRecipes
from mealie.routes._base import BaseUserController, controller from mealie.routes._base import BaseUserController, controller
from mealie.routes._base.mixins import CrudMixins from mealie.routes._base.mixins import HttpRepo
from mealie.routes._base.routers import UserAPIRouter from mealie.routes._base.routers import UserAPIRouter
from mealie.schema.query import GetAll from mealie.schema.query import GetAll
from mealie.schema.recipe import CreateRecipeByUrl, Recipe, RecipeImageTypes from mealie.schema.recipe import CreateRecipeByUrl, Recipe, RecipeImageTypes
@ -47,7 +47,7 @@ class BaseRecipeController(BaseUserController):
@cached_property @cached_property
def mixins(self): def mixins(self):
return CrudMixins[CreateRecipe, Recipe, Recipe](self.repo, self.deps.logger) return HttpRepo[CreateRecipe, Recipe, Recipe](self.repo, self.deps.logger)
class RecipeGetAll(GetAll): class RecipeGetAll(GetAll):

View File

@ -3,7 +3,7 @@ from functools import cached_property
from pydantic import UUID4 from pydantic import UUID4
from mealie.routes._base import BaseUserController, controller from mealie.routes._base import BaseUserController, controller
from mealie.routes._base.mixins import CrudMixins from mealie.routes._base.mixins import HttpRepo
from mealie.routes._base.routers import UserAPIRouter from mealie.routes._base.routers import UserAPIRouter
from mealie.schema.recipe import RecipeShareTokenSummary from mealie.schema.recipe import RecipeShareTokenSummary
from mealie.schema.recipe.recipe_share_token import RecipeShareToken, RecipeShareTokenCreate, RecipeShareTokenSave from mealie.schema.recipe.recipe_share_token import RecipeShareToken, RecipeShareTokenCreate, RecipeShareTokenSave
@ -19,7 +19,7 @@ class RecipeSharedController(BaseUserController):
@cached_property @cached_property
def mixins(self): def mixins(self):
return CrudMixins[RecipeShareTokenSave, RecipeShareToken, RecipeShareTokenCreate](self.repo, self.deps.logger) return HttpRepo[RecipeShareTokenSave, RecipeShareToken, RecipeShareTokenCreate](self.repo, self.deps.logger)
@router.get("", response_model=list[RecipeShareTokenSummary]) @router.get("", response_model=list[RecipeShareTokenSummary])
def get_all(self, recipe_id: UUID4 = None): def get_all(self, recipe_id: UUID4 = None):

View File

@ -3,9 +3,9 @@ from functools import cached_property
from fastapi import APIRouter, Depends, HTTPException from fastapi import APIRouter, Depends, HTTPException
from pydantic import UUID4 from pydantic import UUID4
from mealie.routes._base.abc_controller import BaseUserController from mealie.routes._base.base_controllers import BaseUserController
from mealie.routes._base.controller import controller from mealie.routes._base.controller import controller
from mealie.routes._base.mixins import CrudMixins from mealie.routes._base.mixins import HttpRepo
from mealie.schema import mapper from mealie.schema import mapper
from mealie.schema.query import GetAll from mealie.schema.query import GetAll
from mealie.schema.recipe.recipe_ingredient import CreateIngredientFood, IngredientFood, MergeFood, SaveIngredientFood from mealie.schema.recipe.recipe_ingredient import CreateIngredientFood, IngredientFood, MergeFood, SaveIngredientFood
@ -22,7 +22,7 @@ class IngredientFoodsController(BaseUserController):
@cached_property @cached_property
def mixins(self): def mixins(self):
return CrudMixins[SaveIngredientFood, IngredientFood, CreateIngredientFood]( return HttpRepo[SaveIngredientFood, IngredientFood, CreateIngredientFood](
self.repo, self.repo,
self.deps.logger, self.deps.logger,
self.registered_exceptions, self.registered_exceptions,

View File

@ -3,9 +3,9 @@ from functools import cached_property
from fastapi import APIRouter, Depends, HTTPException from fastapi import APIRouter, Depends, HTTPException
from pydantic import UUID4 from pydantic import UUID4
from mealie.routes._base.abc_controller import BaseUserController from mealie.routes._base.base_controllers import BaseUserController
from mealie.routes._base.controller import controller from mealie.routes._base.controller import controller
from mealie.routes._base.mixins import CrudMixins from mealie.routes._base.mixins import HttpRepo
from mealie.schema import mapper from mealie.schema import mapper
from mealie.schema.query import GetAll from mealie.schema.query import GetAll
from mealie.schema.recipe.recipe_ingredient import CreateIngredientUnit, IngredientUnit, MergeUnit, SaveIngredientUnit from mealie.schema.recipe.recipe_ingredient import CreateIngredientUnit, IngredientUnit, MergeUnit, SaveIngredientUnit
@ -22,7 +22,7 @@ class IngredientUnitsController(BaseUserController):
@cached_property @cached_property
def mixins(self): def mixins(self):
return CrudMixins[CreateIngredientUnit, IngredientUnit, CreateIngredientUnit]( return HttpRepo[CreateIngredientUnit, IngredientUnit, CreateIngredientUnit](
self.repo, self.repo,
self.deps.logger, self.deps.logger,
self.registered_exceptions, self.registered_exceptions,

View File

@ -3,8 +3,8 @@ from pydantic import UUID4
from mealie.core.security import hash_password, verify_password from mealie.core.security import hash_password, verify_password
from mealie.routes._base import BaseAdminController, controller from mealie.routes._base import BaseAdminController, controller
from mealie.routes._base.abc_controller import BaseUserController from mealie.routes._base.base_controllers import BaseUserController
from mealie.routes._base.mixins import CrudMixins from mealie.routes._base.mixins import HttpRepo
from mealie.routes._base.routers import AdminAPIRouter, UserAPIRouter from mealie.routes._base.routers import AdminAPIRouter, UserAPIRouter
from mealie.routes.users._helpers import assert_user_change_allowed from mealie.routes.users._helpers import assert_user_change_allowed
from mealie.schema.response import ErrorResponse, SuccessResponse from mealie.schema.response import ErrorResponse, SuccessResponse
@ -17,8 +17,8 @@ admin_router = AdminAPIRouter(prefix="/users", tags=["Users: Admin CRUD"])
@controller(admin_router) @controller(admin_router)
class AdminUserController(BaseAdminController): class AdminUserController(BaseAdminController):
@property @property
def mixins(self) -> CrudMixins: def mixins(self) -> HttpRepo:
return CrudMixins[UserIn, UserOut, UserBase](self.repos.users, self.deps.logger) return HttpRepo[UserIn, UserOut, UserBase](self.repos.users, self.deps.logger)
@admin_router.get("", response_model=list[UserOut]) @admin_router.get("", response_model=list[UserOut])
def get_all_users(self): def get_all_users(self):

View File

@ -1,11 +1,9 @@
from mealie.core.config import get_app_dirs, get_app_settings from mealie.core.config import get_app_dirs, get_app_settings
from mealie.core.root_logger import get_logger from mealie.core.root_logger import get_logger
from mealie.lang import get_locale_provider
class BaseService: class BaseService:
def __init__(self) -> None: def __init__(self) -> None:
self.directories = get_app_dirs() self.directories = get_app_dirs()
self.settings = get_app_settings() self.settings = get_app_settings()
self.t = get_locale_provider()
self.logger = get_logger() self.logger = get_logger()

17
poetry.lock generated
View File

@ -1095,17 +1095,6 @@ python-versions = "*"
[package.extras] [package.extras]
cli = ["click (>=5.0)"] cli = ["click (>=5.0)"]
[[package]]
name = "python-i18n"
version = "0.3.9"
description = "Translation library for Python"
category = "main"
optional = false
python-versions = "*"
[package.extras]
yaml = ["pyyaml (>=3.10)"]
[[package]] [[package]]
name = "python-jose" name = "python-jose"
version = "3.3.0" version = "3.3.0"
@ -1599,7 +1588,7 @@ pgsql = ["psycopg2-binary"]
[metadata] [metadata]
lock-version = "1.1" lock-version = "1.1"
python-versions = "^3.10" python-versions = "^3.10"
content-hash = "00c0adae74732437eaa473f24757191d620edfde671dceb5fdae28de9843d0c3" content-hash = "576653c13d9b6220769f2a166cb65ac7bc9cd5d5298e03b45002cd68eef66ede"
[metadata.files] [metadata.files]
aiofiles = [ aiofiles = [
@ -2458,10 +2447,6 @@ python-dotenv = [
{file = "python-dotenv-0.15.0.tar.gz", hash = "sha256:587825ed60b1711daea4832cf37524dfd404325b7db5e25ebe88c495c9f807a0"}, {file = "python-dotenv-0.15.0.tar.gz", hash = "sha256:587825ed60b1711daea4832cf37524dfd404325b7db5e25ebe88c495c9f807a0"},
{file = "python_dotenv-0.15.0-py2.py3-none-any.whl", hash = "sha256:0c8d1b80d1a1e91717ea7d526178e3882732420b03f08afea0406db6402e220e"}, {file = "python_dotenv-0.15.0-py2.py3-none-any.whl", hash = "sha256:0c8d1b80d1a1e91717ea7d526178e3882732420b03f08afea0406db6402e220e"},
] ]
python-i18n = [
{file = "python-i18n-0.3.9.tar.gz", hash = "sha256:df97f3d2364bf3a7ebfbd6cbefe8e45483468e52a9e30b909c6078f5f471e4e8"},
{file = "python_i18n-0.3.9-py3-none-any.whl", hash = "sha256:bda5b8d889ebd51973e22e53746417bd32783c9bd6780fd27cadbb733915651d"},
]
python-jose = [ python-jose = [
{file = "python-jose-3.3.0.tar.gz", hash = "sha256:55779b5e6ad599c6336191246e95eb2293a9ddebd555f796a65f838f07e5d78a"}, {file = "python-jose-3.3.0.tar.gz", hash = "sha256:55779b5e6ad599c6336191246e95eb2293a9ddebd555f796a65f838f07e5d78a"},
{file = "python_jose-3.3.0-py2.py3-none-any.whl", hash = "sha256:9b1376b023f8b298536eedd47ae1089bcdb848f1535ab30555cd92002d78923a"}, {file = "python_jose-3.3.0-py2.py3-none-any.whl", hash = "sha256:9b1376b023f8b298536eedd47ae1089bcdb848f1535ab30555cd92002d78923a"},

View File

@ -35,7 +35,6 @@ recipe-scrapers = "^13.28.0"
psycopg2-binary = {version = "^2.9.1", optional = true} psycopg2-binary = {version = "^2.9.1", optional = true}
gunicorn = "^20.1.0" gunicorn = "^20.1.0"
emails = "^0.6" emails = "^0.6"
python-i18n = "^0.3.9"
python-ldap = "^3.3.1" python-ldap = "^3.3.1"
pydantic = "^1.9.0" pydantic = "^1.9.0"
tzdata = "^2021.5" tzdata = "^2021.5"

View File

@ -2,6 +2,7 @@ from pathlib import Path
CWD = Path(__file__).parent CWD = Path(__file__).parent
locale_dir = CWD / "locale"
migrations_paprika = CWD / "migrations/paprika.zip" migrations_paprika = CWD / "migrations/paprika.zip"

View File

@ -0,0 +1,8 @@
{
"language": "af-ZA",
"t1": "test2",
"t2": {
"1": "value1",
"2": "value2"
}
}

View File

@ -0,0 +1,8 @@
{
"language": "en-US",
"t1": "test2",
"t2": {
"1": "value1",
"2": "value2"
}
}

View File

@ -0,0 +1,65 @@
from mealie.pkgs.i18n import JsonProvider, ProviderFactory
from tests.data import locale_dir
def test_json_provider():
provider = JsonProvider({"test": "test"})
assert provider.t("test") == "test"
assert provider.t("test2", "DEFAULT") == "DEFAULT"
def test_json_provider_nested_keys():
nested_dict = {
"root": {
"tier1": "tire1_value",
},
}
provider = JsonProvider(nested_dict)
assert provider.t("root.tier1") == "tire1_value"
def test_json_provider_nested_keys_not_found():
nested_dict = {
"root": {
"tier1": "tire1_value",
},
}
provider = JsonProvider(nested_dict)
assert provider.t("root.tier2") == "root.tier2"
def test_locale_provider_defaults():
factory = ProviderFactory(locale_dir)
assert factory.get("en-US") is not None
assert factory.get("asdfadsf") is not None
assert factory._store["en-US"].locks == 1
factory.release("en-US")
assert "en-US" not in factory._store
def test_locale_providers_store_locks():
factory = ProviderFactory(locale_dir)
factory.get("en-US")
factory.get("en-US")
factory.get("en-US")
assert factory._store["en-US"].locks == 3
factory.release("en-US")
assert factory._store["en-US"].locks == 2
factory.release("en-US")
factory.release("en-US")
assert "en-US" not in factory._store

View File

@ -1,9 +1,9 @@
from mealie.core import exceptions from mealie.core import exceptions
from mealie.lang import get_locale_provider from mealie.lang import local_provider
def test_mealie_registered_exceptions() -> None: def test_mealie_registered_exceptions() -> None:
provider = get_locale_provider() provider = local_provider()
lookup = exceptions.mealie_registered_exceptions(provider) lookup = exceptions.mealie_registered_exceptions(provider)