diff --git a/docs/docs/getting-started/install.md b/docs/docs/getting-started/install.md index 9be8f56af..37fc56f99 100644 --- a/docs/docs/getting-started/install.md +++ b/docs/docs/getting-started/install.md @@ -10,6 +10,12 @@ To deploy docker on your local network it is highly recommended to use docker to - linux/arm/v7 - linux/arm64 +!!! tip "Fix for linux/arm/v7 container on Raspberry Pi 4: 'Fatal Python error: init_interp_main: can't initialize time'" + Update the host RP4 using [instructions](linuxserver/docker-papermerge#4 (comment)), summarized here: +```shell + wget http://ftp.us.debian.org/debian/pool/main/libs/libseccomp/libseccomp2_2.5.1-1_armhf.deb + sudo dpkg -i libseccomp2_2.5.1-1_armhf.deb +``` ## Quick Start - Docker CLI Deployment with the Docker CLI can be done with `docker run` and specify the database type, in this case `sqlite`, setting the exposed port `9925`, mounting the current directory, and pull the latest image. After the image is up an running you can navigate to http://your.ip.addres:9925 and you'll should see mealie up and running! diff --git a/frontend/src/components/Admin/General/HomePageSettings.vue b/frontend/src/components/Admin/General/HomePageSettings.vue index 91aec8a57..58eb945af 100644 --- a/frontend/src/components/Admin/General/HomePageSettings.vue +++ b/frontend/src/components/Admin/General/HomePageSettings.vue @@ -3,9 +3,6 @@

{{ $t("settings.homepage.home-page") }}

- - -
+ +

{{$t('settings.locale-settings')}}

+ + + + + + + + +
@@ -145,6 +161,7 @@ export default { return { settings: { language: "en", + firstDayOfWeek: 0, showRecent: null, cardsPerSection: null, categories: [], @@ -158,11 +175,42 @@ export default { allCategories() { return this.$store.getters.getAllCategories; }, + allDays() { + return [ + { + name: this.$t('general.sunday'), + value: 0, + }, + { + name: this.$t('general.monday'), + value: 1, + }, + { + name: this.$t('general.tuesday'), + value: 2, + }, + { + name: this.$t('general.wednesday'), + value: 3, + }, + { + name: this.$t('general.thursday'), + value: 4, + }, + { + name: this.$t('general.friday'), + value: 5, + }, + { + name: this.$t('general.saturday'), + value: 6, + } + ]; + }, }, methods: { writeLang(val) { - this.$store.commit("setLang", val); this.settings.language = val; }, deleteCategoryfromDatabase(category) { @@ -176,6 +224,9 @@ export default { }, async saveSettings() { await api.siteSettings.update(this.settings); + this.$store.dispatch("setLang", { + currentVueComponent: this, + language: this.settings.language }); this.getOptions(); }, }, diff --git a/frontend/src/components/MealPlan/MealPlanNew.vue b/frontend/src/components/MealPlan/MealPlanNew.vue index 278efd3fc..42f00116c 100644 --- a/frontend/src/components/MealPlan/MealPlanNew.vue +++ b/frontend/src/components/MealPlan/MealPlanNew.vue @@ -31,11 +31,11 @@ v-on="on" > - + /> @@ -59,11 +59,11 @@ v-on="on" > - + /> @@ -87,12 +87,14 @@ + + \ No newline at end of file diff --git a/frontend/src/components/UI/LanguageMenu.vue b/frontend/src/components/UI/LanguageMenu.vue index 6038bbc37..4be3a31dd 100644 --- a/frontend/src/components/UI/LanguageMenu.vue +++ b/frontend/src/components/UI/LanguageMenu.vue @@ -47,7 +47,7 @@ export default { items: [ { name: "English", - value: "en", + value: "en-US", }, ], }; @@ -72,7 +72,9 @@ export default { if (this.siteSettings) { this.$emit(SELECT_EVENT, selectedLanguage); } else { - this.$store.commit("setLang", selectedLanguage); + this.$store.dispatch("setLang", { + currentVueComponent: this, + language: selectedLanguage }); } }, }, diff --git a/frontend/src/locales/messages/af-ZA.json b/frontend/src/locales/messages/af-ZA.json new file mode 100644 index 000000000..9a63052c5 --- /dev/null +++ b/frontend/src/locales/messages/af-ZA.json @@ -0,0 +1,258 @@ +{ + "404": { + "page-not-found": "404 Page Not Found", + "take-me-home": "Take me Home" + }, + "new-recipe": { + "from-url": "Import a Recipe", + "recipe-url": "Recipe URL", + "url-form-hint": "Copy and paste a link from your favorite recipe website", + "error-message": "Looks like there was an error parsing the URL. Check the log and debug/last_recipe.json to see what went wrong.", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Upload", + "submit": "Submit", + "name": "Name", + "settings": "Settings", + "close": "Close", + "save": "Save", + "image-file": "Image File", + "update": "Update", + "edit": "Edit", + "delete": "Delete", + "select": "Select", + "random": "Random", + "new": "New", + "create": "Create", + "cancel": "Cancel", + "ok": "OK", + "enabled": "Enabled", + "download": "Download", + "import": "Import", + "options": "Options", + "templates": "Templates", + "recipes": "Recipes", + "themes": "Themes", + "confirm": "Confirm", + "sort": "Sort", + "recent": "Recent", + "sort-alphabetically": "A-Z", + "reset": "Reset", + "filter": "Filter", + "yes": "Yes", + "no": "No", + "token": "Token", + "field-required": "Field Required", + "apply": "Apply", + "current-parenthesis": "(Current)", + "users": "Users", + "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "About" + }, + "page": { + "home-page": "Home Page", + "all-recipes": "All Recipes", + "recent": "Recent" + }, + "user": { + "stay-logged-in": "Stay logged in?", + "email": "Email", + "password": "Password", + "sign-in": "Sign in", + "sign-up": "Sign up", + "logout": "Logout", + "full-name": "Full Name", + "user-group": "User Group", + "user-password": "User Password", + "admin": "Admin", + "user-id": "User ID", + "user-id-with-value": "User ID: {id}", + "group": "Group", + "new-user": "New User", + "edit-user": "Edit User", + "create-user": "Create User", + "confirm-user-deletion": "Confirm User Deletion", + "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirm Group Deletion", + "total-users": "Total Users", + "total-mealplans": "Total MealPlans", + "webhooks-enabled": "Webhooks Enabled", + "webhook-time": "Webhook Time", + "create-group": "Create Group", + "sign-up-links": "Sign Up Links", + "create-link": "Create Link", + "link-name": "Link Name", + "group-id-with-value": "Group ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", + "group-name": "Group Name", + "confirm-link-deletion": "Confirm Link Deletion", + "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", + "link-id": "Link ID", + "users": "Users", + "groups": "Groups", + "could-not-validate-credentials": "Could Not Validate Credentials", + "login": "Login", + "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", + "upload-photo": "Upload Photo", + "reset-password": "Reset Password", + "current-password": "Current Password", + "new-password": "New Password", + "confirm-password": "Confirm Password", + "password-must-match": "Password must match", + "e-mail-must-be-valid": "E-mail must be valid", + "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + }, + "meal-plan": { + "shopping-list": "Shopping List", + "dinner-this-week": "Dinner This Week", + "meal-planner": "Meal Planner", + "dinner-today": "Dinner Today", + "planner": "Planner", + "edit-meal-plan": "Edit Meal Plan", + "meal-plans": "Meal Plans", + "create-a-new-meal-plan": "Create a New Meal Plan", + "start-date": "Start Date", + "end-date": "End Date", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans" + }, + "recipe": { + "description": "Description", + "ingredients": "Ingredients", + "categories": "Categories", + "tags": "Tags", + "instructions": "Instructions", + "step-index": "Step: {step}", + "recipe-name": "Recipe Name", + "servings": "Servings", + "ingredient": "Ingredient", + "notes": "Notes", + "note": "Note", + "original-url": "Original URL", + "view-recipe": "View Recipe", + "title": "Title", + "total-time": "Total Time", + "prep-time": "Prep Time", + "perform-time": "Cook Time", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No White Space Allowed", + "delete-recipe": "Delete Recipe", + "delete-confirmation": "Are you sure you want to delete this recipe?" + }, + "search": { + "search-mealie": "Search Mealie", + "search-placeholder": "Search...", + "max-results": "Max Results", + "category-filter": "Category Filter", + "tag-filter": "Tag Filter", + "include": "Include", + "exclude": "Exclude", + "and": "And", + "or": "Or", + "search": "Search" + }, + "settings": { + "general-settings": "General Settings", + "change-password": "Change Password", + "admin-settings": "Admin Settings", + "local-api": "Local API", + "language": "Language", + "add-a-new-theme": "Add a New Theme", + "set-new-time": "Set New Time", + "current": "Version:", + "latest": "Latest", + "explore-the-docs": "Explore the Docs", + "contribute": "Contribute", + "backup-and-exports": "Backups", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Available Backups", + "theme": { + "theme-name": "Theme Name", + "theme-settings": "Theme Settings", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Dark Mode", + "theme-is-required": "Theme is required", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "success": "Success", + "info": "Info", + "warning": "Warning", + "error": "Error", + "default-to-system": "Default to system", + "light": "Light", + "dark": "Dark", + "theme": "Theme", + "saved-color-theme": "Saved Color Theme", + "delete-theme": "Delete Theme", + "are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Theme Name is required." + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "A New Version of Mealie is Available, Visit the Repo ", + "backup": { + "import-recipes": "Import Recipes", + "import-themes": "Import Themes", + "import-settings": "Import Settings", + "create-heading": "Create a Backup", + "backup-tag": "Backup Tag", + "full-backup": "Full Backup", + "partial-backup": "Partial Backup", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Successfully Imported", + "failed-imports": "Failed Imports" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Home Page", + "all-categories": "All Categories", + "show-recent": "Show Recent", + "home-page-sections": "Home Page Sections" + }, + "site-settings": "Site Settings", + "manage-users": "Manage Users", + "migrations": "Migrations", + "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "Custom Pages", + "new-page": "New Page", + "edit-page": "Edit Page", + "page-name": "Page Name" + }, + "migration": { + "recipe-migration": "Recipe Migration", + "failed-imports": "Failed Imports", + "migration-report": "Migration Report", + "successful-imports": "Successful Imports", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/ar-SA.json b/frontend/src/locales/messages/ar-SA.json new file mode 100644 index 000000000..9a63052c5 --- /dev/null +++ b/frontend/src/locales/messages/ar-SA.json @@ -0,0 +1,258 @@ +{ + "404": { + "page-not-found": "404 Page Not Found", + "take-me-home": "Take me Home" + }, + "new-recipe": { + "from-url": "Import a Recipe", + "recipe-url": "Recipe URL", + "url-form-hint": "Copy and paste a link from your favorite recipe website", + "error-message": "Looks like there was an error parsing the URL. Check the log and debug/last_recipe.json to see what went wrong.", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Upload", + "submit": "Submit", + "name": "Name", + "settings": "Settings", + "close": "Close", + "save": "Save", + "image-file": "Image File", + "update": "Update", + "edit": "Edit", + "delete": "Delete", + "select": "Select", + "random": "Random", + "new": "New", + "create": "Create", + "cancel": "Cancel", + "ok": "OK", + "enabled": "Enabled", + "download": "Download", + "import": "Import", + "options": "Options", + "templates": "Templates", + "recipes": "Recipes", + "themes": "Themes", + "confirm": "Confirm", + "sort": "Sort", + "recent": "Recent", + "sort-alphabetically": "A-Z", + "reset": "Reset", + "filter": "Filter", + "yes": "Yes", + "no": "No", + "token": "Token", + "field-required": "Field Required", + "apply": "Apply", + "current-parenthesis": "(Current)", + "users": "Users", + "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "About" + }, + "page": { + "home-page": "Home Page", + "all-recipes": "All Recipes", + "recent": "Recent" + }, + "user": { + "stay-logged-in": "Stay logged in?", + "email": "Email", + "password": "Password", + "sign-in": "Sign in", + "sign-up": "Sign up", + "logout": "Logout", + "full-name": "Full Name", + "user-group": "User Group", + "user-password": "User Password", + "admin": "Admin", + "user-id": "User ID", + "user-id-with-value": "User ID: {id}", + "group": "Group", + "new-user": "New User", + "edit-user": "Edit User", + "create-user": "Create User", + "confirm-user-deletion": "Confirm User Deletion", + "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirm Group Deletion", + "total-users": "Total Users", + "total-mealplans": "Total MealPlans", + "webhooks-enabled": "Webhooks Enabled", + "webhook-time": "Webhook Time", + "create-group": "Create Group", + "sign-up-links": "Sign Up Links", + "create-link": "Create Link", + "link-name": "Link Name", + "group-id-with-value": "Group ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", + "group-name": "Group Name", + "confirm-link-deletion": "Confirm Link Deletion", + "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", + "link-id": "Link ID", + "users": "Users", + "groups": "Groups", + "could-not-validate-credentials": "Could Not Validate Credentials", + "login": "Login", + "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", + "upload-photo": "Upload Photo", + "reset-password": "Reset Password", + "current-password": "Current Password", + "new-password": "New Password", + "confirm-password": "Confirm Password", + "password-must-match": "Password must match", + "e-mail-must-be-valid": "E-mail must be valid", + "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + }, + "meal-plan": { + "shopping-list": "Shopping List", + "dinner-this-week": "Dinner This Week", + "meal-planner": "Meal Planner", + "dinner-today": "Dinner Today", + "planner": "Planner", + "edit-meal-plan": "Edit Meal Plan", + "meal-plans": "Meal Plans", + "create-a-new-meal-plan": "Create a New Meal Plan", + "start-date": "Start Date", + "end-date": "End Date", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans" + }, + "recipe": { + "description": "Description", + "ingredients": "Ingredients", + "categories": "Categories", + "tags": "Tags", + "instructions": "Instructions", + "step-index": "Step: {step}", + "recipe-name": "Recipe Name", + "servings": "Servings", + "ingredient": "Ingredient", + "notes": "Notes", + "note": "Note", + "original-url": "Original URL", + "view-recipe": "View Recipe", + "title": "Title", + "total-time": "Total Time", + "prep-time": "Prep Time", + "perform-time": "Cook Time", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No White Space Allowed", + "delete-recipe": "Delete Recipe", + "delete-confirmation": "Are you sure you want to delete this recipe?" + }, + "search": { + "search-mealie": "Search Mealie", + "search-placeholder": "Search...", + "max-results": "Max Results", + "category-filter": "Category Filter", + "tag-filter": "Tag Filter", + "include": "Include", + "exclude": "Exclude", + "and": "And", + "or": "Or", + "search": "Search" + }, + "settings": { + "general-settings": "General Settings", + "change-password": "Change Password", + "admin-settings": "Admin Settings", + "local-api": "Local API", + "language": "Language", + "add-a-new-theme": "Add a New Theme", + "set-new-time": "Set New Time", + "current": "Version:", + "latest": "Latest", + "explore-the-docs": "Explore the Docs", + "contribute": "Contribute", + "backup-and-exports": "Backups", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Available Backups", + "theme": { + "theme-name": "Theme Name", + "theme-settings": "Theme Settings", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Dark Mode", + "theme-is-required": "Theme is required", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "success": "Success", + "info": "Info", + "warning": "Warning", + "error": "Error", + "default-to-system": "Default to system", + "light": "Light", + "dark": "Dark", + "theme": "Theme", + "saved-color-theme": "Saved Color Theme", + "delete-theme": "Delete Theme", + "are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Theme Name is required." + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "A New Version of Mealie is Available, Visit the Repo ", + "backup": { + "import-recipes": "Import Recipes", + "import-themes": "Import Themes", + "import-settings": "Import Settings", + "create-heading": "Create a Backup", + "backup-tag": "Backup Tag", + "full-backup": "Full Backup", + "partial-backup": "Partial Backup", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Successfully Imported", + "failed-imports": "Failed Imports" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Home Page", + "all-categories": "All Categories", + "show-recent": "Show Recent", + "home-page-sections": "Home Page Sections" + }, + "site-settings": "Site Settings", + "manage-users": "Manage Users", + "migrations": "Migrations", + "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "Custom Pages", + "new-page": "New Page", + "edit-page": "Edit Page", + "page-name": "Page Name" + }, + "migration": { + "recipe-migration": "Recipe Migration", + "failed-imports": "Failed Imports", + "migration-report": "Migration Report", + "successful-imports": "Successful Imports", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/ca-ES.json b/frontend/src/locales/messages/ca-ES.json new file mode 100644 index 000000000..9a63052c5 --- /dev/null +++ b/frontend/src/locales/messages/ca-ES.json @@ -0,0 +1,258 @@ +{ + "404": { + "page-not-found": "404 Page Not Found", + "take-me-home": "Take me Home" + }, + "new-recipe": { + "from-url": "Import a Recipe", + "recipe-url": "Recipe URL", + "url-form-hint": "Copy and paste a link from your favorite recipe website", + "error-message": "Looks like there was an error parsing the URL. Check the log and debug/last_recipe.json to see what went wrong.", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Upload", + "submit": "Submit", + "name": "Name", + "settings": "Settings", + "close": "Close", + "save": "Save", + "image-file": "Image File", + "update": "Update", + "edit": "Edit", + "delete": "Delete", + "select": "Select", + "random": "Random", + "new": "New", + "create": "Create", + "cancel": "Cancel", + "ok": "OK", + "enabled": "Enabled", + "download": "Download", + "import": "Import", + "options": "Options", + "templates": "Templates", + "recipes": "Recipes", + "themes": "Themes", + "confirm": "Confirm", + "sort": "Sort", + "recent": "Recent", + "sort-alphabetically": "A-Z", + "reset": "Reset", + "filter": "Filter", + "yes": "Yes", + "no": "No", + "token": "Token", + "field-required": "Field Required", + "apply": "Apply", + "current-parenthesis": "(Current)", + "users": "Users", + "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "About" + }, + "page": { + "home-page": "Home Page", + "all-recipes": "All Recipes", + "recent": "Recent" + }, + "user": { + "stay-logged-in": "Stay logged in?", + "email": "Email", + "password": "Password", + "sign-in": "Sign in", + "sign-up": "Sign up", + "logout": "Logout", + "full-name": "Full Name", + "user-group": "User Group", + "user-password": "User Password", + "admin": "Admin", + "user-id": "User ID", + "user-id-with-value": "User ID: {id}", + "group": "Group", + "new-user": "New User", + "edit-user": "Edit User", + "create-user": "Create User", + "confirm-user-deletion": "Confirm User Deletion", + "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirm Group Deletion", + "total-users": "Total Users", + "total-mealplans": "Total MealPlans", + "webhooks-enabled": "Webhooks Enabled", + "webhook-time": "Webhook Time", + "create-group": "Create Group", + "sign-up-links": "Sign Up Links", + "create-link": "Create Link", + "link-name": "Link Name", + "group-id-with-value": "Group ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", + "group-name": "Group Name", + "confirm-link-deletion": "Confirm Link Deletion", + "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", + "link-id": "Link ID", + "users": "Users", + "groups": "Groups", + "could-not-validate-credentials": "Could Not Validate Credentials", + "login": "Login", + "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", + "upload-photo": "Upload Photo", + "reset-password": "Reset Password", + "current-password": "Current Password", + "new-password": "New Password", + "confirm-password": "Confirm Password", + "password-must-match": "Password must match", + "e-mail-must-be-valid": "E-mail must be valid", + "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + }, + "meal-plan": { + "shopping-list": "Shopping List", + "dinner-this-week": "Dinner This Week", + "meal-planner": "Meal Planner", + "dinner-today": "Dinner Today", + "planner": "Planner", + "edit-meal-plan": "Edit Meal Plan", + "meal-plans": "Meal Plans", + "create-a-new-meal-plan": "Create a New Meal Plan", + "start-date": "Start Date", + "end-date": "End Date", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans" + }, + "recipe": { + "description": "Description", + "ingredients": "Ingredients", + "categories": "Categories", + "tags": "Tags", + "instructions": "Instructions", + "step-index": "Step: {step}", + "recipe-name": "Recipe Name", + "servings": "Servings", + "ingredient": "Ingredient", + "notes": "Notes", + "note": "Note", + "original-url": "Original URL", + "view-recipe": "View Recipe", + "title": "Title", + "total-time": "Total Time", + "prep-time": "Prep Time", + "perform-time": "Cook Time", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No White Space Allowed", + "delete-recipe": "Delete Recipe", + "delete-confirmation": "Are you sure you want to delete this recipe?" + }, + "search": { + "search-mealie": "Search Mealie", + "search-placeholder": "Search...", + "max-results": "Max Results", + "category-filter": "Category Filter", + "tag-filter": "Tag Filter", + "include": "Include", + "exclude": "Exclude", + "and": "And", + "or": "Or", + "search": "Search" + }, + "settings": { + "general-settings": "General Settings", + "change-password": "Change Password", + "admin-settings": "Admin Settings", + "local-api": "Local API", + "language": "Language", + "add-a-new-theme": "Add a New Theme", + "set-new-time": "Set New Time", + "current": "Version:", + "latest": "Latest", + "explore-the-docs": "Explore the Docs", + "contribute": "Contribute", + "backup-and-exports": "Backups", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Available Backups", + "theme": { + "theme-name": "Theme Name", + "theme-settings": "Theme Settings", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Dark Mode", + "theme-is-required": "Theme is required", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "success": "Success", + "info": "Info", + "warning": "Warning", + "error": "Error", + "default-to-system": "Default to system", + "light": "Light", + "dark": "Dark", + "theme": "Theme", + "saved-color-theme": "Saved Color Theme", + "delete-theme": "Delete Theme", + "are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Theme Name is required." + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "A New Version of Mealie is Available, Visit the Repo ", + "backup": { + "import-recipes": "Import Recipes", + "import-themes": "Import Themes", + "import-settings": "Import Settings", + "create-heading": "Create a Backup", + "backup-tag": "Backup Tag", + "full-backup": "Full Backup", + "partial-backup": "Partial Backup", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Successfully Imported", + "failed-imports": "Failed Imports" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Home Page", + "all-categories": "All Categories", + "show-recent": "Show Recent", + "home-page-sections": "Home Page Sections" + }, + "site-settings": "Site Settings", + "manage-users": "Manage Users", + "migrations": "Migrations", + "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "Custom Pages", + "new-page": "New Page", + "edit-page": "Edit Page", + "page-name": "Page Name" + }, + "migration": { + "recipe-migration": "Recipe Migration", + "failed-imports": "Failed Imports", + "migration-report": "Migration Report", + "successful-imports": "Successful Imports", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/cs-CZ.json b/frontend/src/locales/messages/cs-CZ.json new file mode 100644 index 000000000..9a63052c5 --- /dev/null +++ b/frontend/src/locales/messages/cs-CZ.json @@ -0,0 +1,258 @@ +{ + "404": { + "page-not-found": "404 Page Not Found", + "take-me-home": "Take me Home" + }, + "new-recipe": { + "from-url": "Import a Recipe", + "recipe-url": "Recipe URL", + "url-form-hint": "Copy and paste a link from your favorite recipe website", + "error-message": "Looks like there was an error parsing the URL. Check the log and debug/last_recipe.json to see what went wrong.", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Upload", + "submit": "Submit", + "name": "Name", + "settings": "Settings", + "close": "Close", + "save": "Save", + "image-file": "Image File", + "update": "Update", + "edit": "Edit", + "delete": "Delete", + "select": "Select", + "random": "Random", + "new": "New", + "create": "Create", + "cancel": "Cancel", + "ok": "OK", + "enabled": "Enabled", + "download": "Download", + "import": "Import", + "options": "Options", + "templates": "Templates", + "recipes": "Recipes", + "themes": "Themes", + "confirm": "Confirm", + "sort": "Sort", + "recent": "Recent", + "sort-alphabetically": "A-Z", + "reset": "Reset", + "filter": "Filter", + "yes": "Yes", + "no": "No", + "token": "Token", + "field-required": "Field Required", + "apply": "Apply", + "current-parenthesis": "(Current)", + "users": "Users", + "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "About" + }, + "page": { + "home-page": "Home Page", + "all-recipes": "All Recipes", + "recent": "Recent" + }, + "user": { + "stay-logged-in": "Stay logged in?", + "email": "Email", + "password": "Password", + "sign-in": "Sign in", + "sign-up": "Sign up", + "logout": "Logout", + "full-name": "Full Name", + "user-group": "User Group", + "user-password": "User Password", + "admin": "Admin", + "user-id": "User ID", + "user-id-with-value": "User ID: {id}", + "group": "Group", + "new-user": "New User", + "edit-user": "Edit User", + "create-user": "Create User", + "confirm-user-deletion": "Confirm User Deletion", + "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirm Group Deletion", + "total-users": "Total Users", + "total-mealplans": "Total MealPlans", + "webhooks-enabled": "Webhooks Enabled", + "webhook-time": "Webhook Time", + "create-group": "Create Group", + "sign-up-links": "Sign Up Links", + "create-link": "Create Link", + "link-name": "Link Name", + "group-id-with-value": "Group ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", + "group-name": "Group Name", + "confirm-link-deletion": "Confirm Link Deletion", + "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", + "link-id": "Link ID", + "users": "Users", + "groups": "Groups", + "could-not-validate-credentials": "Could Not Validate Credentials", + "login": "Login", + "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", + "upload-photo": "Upload Photo", + "reset-password": "Reset Password", + "current-password": "Current Password", + "new-password": "New Password", + "confirm-password": "Confirm Password", + "password-must-match": "Password must match", + "e-mail-must-be-valid": "E-mail must be valid", + "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + }, + "meal-plan": { + "shopping-list": "Shopping List", + "dinner-this-week": "Dinner This Week", + "meal-planner": "Meal Planner", + "dinner-today": "Dinner Today", + "planner": "Planner", + "edit-meal-plan": "Edit Meal Plan", + "meal-plans": "Meal Plans", + "create-a-new-meal-plan": "Create a New Meal Plan", + "start-date": "Start Date", + "end-date": "End Date", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans" + }, + "recipe": { + "description": "Description", + "ingredients": "Ingredients", + "categories": "Categories", + "tags": "Tags", + "instructions": "Instructions", + "step-index": "Step: {step}", + "recipe-name": "Recipe Name", + "servings": "Servings", + "ingredient": "Ingredient", + "notes": "Notes", + "note": "Note", + "original-url": "Original URL", + "view-recipe": "View Recipe", + "title": "Title", + "total-time": "Total Time", + "prep-time": "Prep Time", + "perform-time": "Cook Time", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No White Space Allowed", + "delete-recipe": "Delete Recipe", + "delete-confirmation": "Are you sure you want to delete this recipe?" + }, + "search": { + "search-mealie": "Search Mealie", + "search-placeholder": "Search...", + "max-results": "Max Results", + "category-filter": "Category Filter", + "tag-filter": "Tag Filter", + "include": "Include", + "exclude": "Exclude", + "and": "And", + "or": "Or", + "search": "Search" + }, + "settings": { + "general-settings": "General Settings", + "change-password": "Change Password", + "admin-settings": "Admin Settings", + "local-api": "Local API", + "language": "Language", + "add-a-new-theme": "Add a New Theme", + "set-new-time": "Set New Time", + "current": "Version:", + "latest": "Latest", + "explore-the-docs": "Explore the Docs", + "contribute": "Contribute", + "backup-and-exports": "Backups", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Available Backups", + "theme": { + "theme-name": "Theme Name", + "theme-settings": "Theme Settings", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Dark Mode", + "theme-is-required": "Theme is required", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "success": "Success", + "info": "Info", + "warning": "Warning", + "error": "Error", + "default-to-system": "Default to system", + "light": "Light", + "dark": "Dark", + "theme": "Theme", + "saved-color-theme": "Saved Color Theme", + "delete-theme": "Delete Theme", + "are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Theme Name is required." + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "A New Version of Mealie is Available, Visit the Repo ", + "backup": { + "import-recipes": "Import Recipes", + "import-themes": "Import Themes", + "import-settings": "Import Settings", + "create-heading": "Create a Backup", + "backup-tag": "Backup Tag", + "full-backup": "Full Backup", + "partial-backup": "Partial Backup", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Successfully Imported", + "failed-imports": "Failed Imports" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Home Page", + "all-categories": "All Categories", + "show-recent": "Show Recent", + "home-page-sections": "Home Page Sections" + }, + "site-settings": "Site Settings", + "manage-users": "Manage Users", + "migrations": "Migrations", + "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "Custom Pages", + "new-page": "New Page", + "edit-page": "Edit Page", + "page-name": "Page Name" + }, + "migration": { + "recipe-migration": "Recipe Migration", + "failed-imports": "Failed Imports", + "migration-report": "Migration Report", + "successful-imports": "Successful Imports", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/da-DK.json b/frontend/src/locales/messages/da-DK.json index ad4c080a4..fb6320832 100644 --- a/frontend/src/locales/messages/da-DK.json +++ b/frontend/src/locales/messages/da-DK.json @@ -6,7 +6,7 @@ "new-recipe": { "from-url": "Fra URL", "recipe-url": "URL på opskrift", - "url-form-hint": "Copy and paste a link from your favorite recipe website", + "url-form-hint": "Kopiér og indsæt et link fra din foretrukne opskrifts hjemmeside", "error-message": "Der opstod en fejl under indlæsning af opskriften. Tjek loggen og debug/last_recipe.json for at fejlsøge problemet.", "bulk-add": "Bulk Tilføj", "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" @@ -31,30 +31,37 @@ "enabled": "Aktiveret", "download": "Hent", "import": "Importere", - "options": "Options", - "templates": "Templates", - "recipes": "Recipes", - "themes": "Themes", - "confirm": "Confirm", - "sort": "Sort", - "recent": "Recent", - "sort-alphabetically": "A-Z", - "reset": "Reset", - "filter": "Filter", - "yes": "Yes", - "no": "No", + "options": "Indstillinger", + "templates": "Skabeloner", + "recipes": "Opskrifter", + "themes": "Temaer", + "confirm": "Bekræft", + "sort": "Sorter", + "recent": "Seneste", + "sort-alphabetically": "A-Å", + "reset": "Nulstil", + "filter": "Filtrer", + "yes": "Ja", + "no": "Nej", "token": "Token", - "field-required": "Field Required", - "apply": "Apply", + "field-required": "Felt påkrævet", + "apply": "Anvend", "current-parenthesis": "(Current)", - "users": "Users", - "groups": "Groups", - "about": "About" + "users": "Brugere", + "groups": "Grupper", + "sunday": "Søndag", + "monday": "Mandag", + "tuesday": "Tirsdag", + "wednesday": "Onsdag", + "thursday": "Torsdag", + "friday": "Fredag", + "saturday": "Lørdag", + "about": "Om" }, "page": { - "home-page": "Home Page", - "all-recipes": "All Recipes", - "recent": "Recent" + "home-page": "Startside", + "all-recipes": "Alle Opskrifter", + "recent": "Seneste" }, "user": { "stay-logged-in": "Forbliv logget ind", @@ -62,25 +69,25 @@ "password": "Adgangskode", "sign-in": "Log ind", "sign-up": "Opret bruger", - "logout": "Logout", - "full-name": "Full Name", - "user-group": "User Group", - "user-password": "User Password", - "admin": "Admin", - "user-id": "User ID", - "user-id-with-value": "User ID: {id}", - "group": "Group", - "new-user": "New User", - "edit-user": "Edit User", - "create-user": "Create User", - "confirm-user-deletion": "Confirm User Deletion", - "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", - "confirm-group-deletion": "Confirm Group Deletion", - "total-users": "Total Users", - "total-mealplans": "Total MealPlans", - "webhooks-enabled": "Webhooks Enabled", - "webhook-time": "Webhook Time", - "create-group": "Create Group", + "logout": "Log ud", + "full-name": "Fulde navn", + "user-group": "Brugergruppe", + "user-password": "Adgangskode", + "admin": "Administrator", + "user-id": "Bruger ID", + "user-id-with-value": "Bruger ID: {id}", + "group": "Gruppe", + "new-user": "Ny bruger", + "edit-user": "Rediger bruger", + "create-user": "Opret bruger", + "confirm-user-deletion": "Bekræft Sletning Af Bruger", + "are-you-sure-you-want-to-delete-the-user": "Er du sikker på, at du vil slette brugeren {activeName} med ID: {activeId}?", + "confirm-group-deletion": "Bekræft Sletning Af Gruppe", + "total-users": "Antal brugere", + "total-mealplans": "Antal Madplaner", + "webhooks-enabled": "Webhooks Aktiveret", + "webhook-time": "Webhook Tid", + "create-group": "Opret Gruppe", "sign-up-links": "Sign Up Links", "create-link": "Create Link", "link-name": "Link Name", @@ -226,6 +233,8 @@ "manage-users": "Manage Users", "migrations": "Migrations", "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", "custom-pages": "Custom Pages", "new-page": "New Page", "edit-page": "Edit Page", diff --git a/frontend/src/locales/messages/de-DE.json b/frontend/src/locales/messages/de-DE.json index 6a1207763..a45e68479 100644 --- a/frontend/src/locales/messages/de-DE.json +++ b/frontend/src/locales/messages/de-DE.json @@ -49,6 +49,13 @@ "current-parenthesis": "(Neueste)", "users": "Benutzer", "groups": "Gruppen", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", "about": "Über" }, "page": { @@ -226,6 +233,8 @@ "manage-users": "Benutzer verwalten", "migrations": "Migrationen", "profile": "Profil", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", "custom-pages": "Benutzerdefinierte Seiten", "new-page": "Neue Seite", "edit-page": "Seite bearbeiten", diff --git a/frontend/src/locales/messages/el-GR.json b/frontend/src/locales/messages/el-GR.json new file mode 100644 index 000000000..9a63052c5 --- /dev/null +++ b/frontend/src/locales/messages/el-GR.json @@ -0,0 +1,258 @@ +{ + "404": { + "page-not-found": "404 Page Not Found", + "take-me-home": "Take me Home" + }, + "new-recipe": { + "from-url": "Import a Recipe", + "recipe-url": "Recipe URL", + "url-form-hint": "Copy and paste a link from your favorite recipe website", + "error-message": "Looks like there was an error parsing the URL. Check the log and debug/last_recipe.json to see what went wrong.", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Upload", + "submit": "Submit", + "name": "Name", + "settings": "Settings", + "close": "Close", + "save": "Save", + "image-file": "Image File", + "update": "Update", + "edit": "Edit", + "delete": "Delete", + "select": "Select", + "random": "Random", + "new": "New", + "create": "Create", + "cancel": "Cancel", + "ok": "OK", + "enabled": "Enabled", + "download": "Download", + "import": "Import", + "options": "Options", + "templates": "Templates", + "recipes": "Recipes", + "themes": "Themes", + "confirm": "Confirm", + "sort": "Sort", + "recent": "Recent", + "sort-alphabetically": "A-Z", + "reset": "Reset", + "filter": "Filter", + "yes": "Yes", + "no": "No", + "token": "Token", + "field-required": "Field Required", + "apply": "Apply", + "current-parenthesis": "(Current)", + "users": "Users", + "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "About" + }, + "page": { + "home-page": "Home Page", + "all-recipes": "All Recipes", + "recent": "Recent" + }, + "user": { + "stay-logged-in": "Stay logged in?", + "email": "Email", + "password": "Password", + "sign-in": "Sign in", + "sign-up": "Sign up", + "logout": "Logout", + "full-name": "Full Name", + "user-group": "User Group", + "user-password": "User Password", + "admin": "Admin", + "user-id": "User ID", + "user-id-with-value": "User ID: {id}", + "group": "Group", + "new-user": "New User", + "edit-user": "Edit User", + "create-user": "Create User", + "confirm-user-deletion": "Confirm User Deletion", + "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirm Group Deletion", + "total-users": "Total Users", + "total-mealplans": "Total MealPlans", + "webhooks-enabled": "Webhooks Enabled", + "webhook-time": "Webhook Time", + "create-group": "Create Group", + "sign-up-links": "Sign Up Links", + "create-link": "Create Link", + "link-name": "Link Name", + "group-id-with-value": "Group ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", + "group-name": "Group Name", + "confirm-link-deletion": "Confirm Link Deletion", + "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", + "link-id": "Link ID", + "users": "Users", + "groups": "Groups", + "could-not-validate-credentials": "Could Not Validate Credentials", + "login": "Login", + "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", + "upload-photo": "Upload Photo", + "reset-password": "Reset Password", + "current-password": "Current Password", + "new-password": "New Password", + "confirm-password": "Confirm Password", + "password-must-match": "Password must match", + "e-mail-must-be-valid": "E-mail must be valid", + "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + }, + "meal-plan": { + "shopping-list": "Shopping List", + "dinner-this-week": "Dinner This Week", + "meal-planner": "Meal Planner", + "dinner-today": "Dinner Today", + "planner": "Planner", + "edit-meal-plan": "Edit Meal Plan", + "meal-plans": "Meal Plans", + "create-a-new-meal-plan": "Create a New Meal Plan", + "start-date": "Start Date", + "end-date": "End Date", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans" + }, + "recipe": { + "description": "Description", + "ingredients": "Ingredients", + "categories": "Categories", + "tags": "Tags", + "instructions": "Instructions", + "step-index": "Step: {step}", + "recipe-name": "Recipe Name", + "servings": "Servings", + "ingredient": "Ingredient", + "notes": "Notes", + "note": "Note", + "original-url": "Original URL", + "view-recipe": "View Recipe", + "title": "Title", + "total-time": "Total Time", + "prep-time": "Prep Time", + "perform-time": "Cook Time", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No White Space Allowed", + "delete-recipe": "Delete Recipe", + "delete-confirmation": "Are you sure you want to delete this recipe?" + }, + "search": { + "search-mealie": "Search Mealie", + "search-placeholder": "Search...", + "max-results": "Max Results", + "category-filter": "Category Filter", + "tag-filter": "Tag Filter", + "include": "Include", + "exclude": "Exclude", + "and": "And", + "or": "Or", + "search": "Search" + }, + "settings": { + "general-settings": "General Settings", + "change-password": "Change Password", + "admin-settings": "Admin Settings", + "local-api": "Local API", + "language": "Language", + "add-a-new-theme": "Add a New Theme", + "set-new-time": "Set New Time", + "current": "Version:", + "latest": "Latest", + "explore-the-docs": "Explore the Docs", + "contribute": "Contribute", + "backup-and-exports": "Backups", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Available Backups", + "theme": { + "theme-name": "Theme Name", + "theme-settings": "Theme Settings", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Dark Mode", + "theme-is-required": "Theme is required", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "success": "Success", + "info": "Info", + "warning": "Warning", + "error": "Error", + "default-to-system": "Default to system", + "light": "Light", + "dark": "Dark", + "theme": "Theme", + "saved-color-theme": "Saved Color Theme", + "delete-theme": "Delete Theme", + "are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Theme Name is required." + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "A New Version of Mealie is Available, Visit the Repo ", + "backup": { + "import-recipes": "Import Recipes", + "import-themes": "Import Themes", + "import-settings": "Import Settings", + "create-heading": "Create a Backup", + "backup-tag": "Backup Tag", + "full-backup": "Full Backup", + "partial-backup": "Partial Backup", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Successfully Imported", + "failed-imports": "Failed Imports" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Home Page", + "all-categories": "All Categories", + "show-recent": "Show Recent", + "home-page-sections": "Home Page Sections" + }, + "site-settings": "Site Settings", + "manage-users": "Manage Users", + "migrations": "Migrations", + "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "Custom Pages", + "new-page": "New Page", + "edit-page": "Edit Page", + "page-name": "Page Name" + }, + "migration": { + "recipe-migration": "Recipe Migration", + "failed-imports": "Failed Imports", + "migration-report": "Migration Report", + "successful-imports": "Successful Imports", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/en-US.json b/frontend/src/locales/messages/en-US.json index 4bf311d2a..9a63052c5 100644 --- a/frontend/src/locales/messages/en-US.json +++ b/frontend/src/locales/messages/en-US.json @@ -49,6 +49,13 @@ "current-parenthesis": "(Current)", "users": "Users", "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", "about": "About" }, "page": { @@ -226,6 +233,8 @@ "manage-users": "Manage Users", "migrations": "Migrations", "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", "custom-pages": "Custom Pages", "new-page": "New Page", "edit-page": "Edit Page", diff --git a/frontend/src/locales/messages/es-ES.json b/frontend/src/locales/messages/es-ES.json new file mode 100644 index 000000000..bb7097a44 --- /dev/null +++ b/frontend/src/locales/messages/es-ES.json @@ -0,0 +1,249 @@ +{ + "404": { + "page-not-found": "Página no encontrada", + "take-me-home": "Volver a inicio" + }, + "new-recipe": { + "from-url": "Importar una receta", + "recipe-url": "URL de la receta", + "url-form-hint": "Copia y pega un enlace de tu página de recetas favorita", + "error-message": "Parece que ha habido un error al analizar el enlace. Mira los logs y depura/última_receta.json para ver qué ha ido mal", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Subir", + "submit": "Enviar", + "name": "Nombre", + "settings": "Ajustes", + "close": "Cerrar", + "save": "Guardar", + "image-file": "Imagen", + "update": "Actualizar", + "edit": "Editar", + "delete": "Borrar", + "select": "Seleccionar", + "random": "Aleatorio", + "new": "Nuevo", + "create": "Crear", + "cancel": "Cancelar", + "ok": "OK", + "enabled": "Activado", + "download": "Descargar", + "import": "Importar", + "options": "Opciones", + "templates": "Plantillas", + "recipes": "Recetas", + "themes": "Temas", + "confirm": "Confirmar", + "sort": "Ordenar", + "recent": "Recientes", + "sort-alphabetically": "A-Z", + "reset": "Reiniciar", + "filter": "Filtrar", + "yes": "Sí", + "no": "No", + "token": "Token", + "field-required": "Campo requerido", + "apply": "Aplicar", + "current-parenthesis": "(Actual)", + "users": "Usuarios", + "groups": "Grupos", + "about": "Sobre" + }, + "page": { + "home-page": "Página de inicio", + "all-recipes": "Todas las recetas", + "recent": "Recientes" + }, + "user": { + "stay-logged-in": "¿Permanecer conectado?", + "email": "Email", + "password": "Contraseña", + "sign-in": "Iniciar sesión", + "sign-up": "Crear una cuenta", + "logout": "Cerrar sesión", + "full-name": "Nombre", + "user-group": "Grupo de usuario", + "user-password": "Contraseña", + "admin": "Admin", + "user-id": "ID de usuario", + "user-id-with-value": "ID de usuario: {id}", + "group": "Grupo", + "new-user": "Nuevo usuario", + "edit-user": "Editar usuario", + "create-user": "Crear usuario", + "confirm-user-deletion": "Confirmar eliminación de usuario", + "are-you-sure-you-want-to-delete-the-user": "¿Seguro que quieres borrar el usuario {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirmar eliminación de grupo", + "total-users": "Usuarios totales", + "total-mealplans": "Planes de comida totales", + "webhooks-enabled": "Webhooks activados", + "webhook-time": "Webhook hora", + "create-group": "Crear grupo", + "sign-up-links": "Enlaces de invitación", + "create-link": "Crear enlace", + "link-name": "Nombre de enlace", + "group-id-with-value": "ID de grupo: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "¿Seguro que quieres eliminar {groupName}?", + "group-name": "Nombre del grupo", + "confirm-link-deletion": "Confirmar borrado de enlace", + "are-you-sure-you-want-to-delete-the-link": "¿Seguro que quieres borrar el enlace {link}?", + "link-id": "ID del enlace", + "users": "Usuarios", + "groups": "Grupos", + "could-not-validate-credentials": "No se han podido validar los credenciales", + "login": "Iniciar sesión", + "groups-can-only-be-set-by-administrators": "Los grupos solo los pueden poner los administradores", + "upload-photo": "Subir foto", + "reset-password": "Reiniciar la contraseña", + "current-password": "Contraseña actual", + "new-password": "Nueva contraseña", + "confirm-password": "Confirmar contraseña", + "password-must-match": "Las contraseñas deben coincidir", + "e-mail-must-be-valid": "El correo debe ser válido", + "use-8-characters-or-more-for-your-password": "Usa al menos 8 carácteres para la contraseña" + }, + "meal-plan": { + "shopping-list": "Lista de la compra", + "dinner-this-week": "Cena de esta semana", + "meal-planner": "Planificador de comida", + "dinner-today": "Cena de hoy", + "planner": "Planificador", + "edit-meal-plan": "Editar menú", + "meal-plans": "Menús", + "create-a-new-meal-plan": "Crear un nuevo menú", + "start-date": "Fecha de inicio", + "end-date": "Fecha de fin", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Solamente las recetas con estas categorías serán usadas en los menús" + }, + "recipe": { + "description": "Descripción", + "ingredients": "Ingredientes", + "categories": "Categorias", + "tags": "Etiquetas", + "instructions": "Instrucciones", + "step-index": "Paso: {step}", + "recipe-name": "Nombre de la receta", + "servings": "Raciones", + "ingredient": "Ingredientes", + "notes": "Notas", + "note": "Nota", + "original-url": "URL original", + "view-recipe": "Ver receta", + "title": "Título", + "total-time": "Tiempo total", + "prep-time": "Tiempo de preparación", + "perform-time": "Tiempo de cocinado", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No se admiten espacios en blanco", + "delete-recipe": "Borrar receta", + "delete-confirmation": "¿Seguro que quieres borrar la receta?" + }, + "search": { + "search-mealie": "Buscar Mealie", + "search-placeholder": "Buscar...", + "max-results": "Resultados máximos", + "category-filter": "Filtrar por categorías", + "tag-filter": "Filtrar por etiquetas", + "include": "Incluir", + "exclude": "Excluir", + "and": "Y", + "or": "O", + "search": "Buscar" + }, + "settings": { + "general-settings": "Opciones generales", + "change-password": "Cambiar contraseña", + "admin-settings": "Ajustes de admin", + "local-api": "API local", + "language": "Idioma", + "add-a-new-theme": "Añadir un nuevo tema", + "set-new-time": "Añadir nueva hora", + "current": "Version:", + "latest": "Última", + "explore-the-docs": "Explorar la wiki", + "contribute": "Contribuir", + "backup-and-exports": "Copia de seguridad", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Copias de seguridad disponibles", + "theme": { + "theme-name": "Nombre del tema", + "theme-settings": "Ajustes del tema", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Modo oscuro", + "theme-is-required": "El tema es necesario", + "primary": "Primario", + "secondary": "Secundario", + "accent": "Énfasis", + "success": "Éxito", + "info": "Info", + "warning": "Advertencia", + "error": "Error", + "default-to-system": "Valores por defecto", + "light": "Claro", + "dark": "Oscuro", + "theme": "Tema", + "saved-color-theme": "Guardar color del tema", + "delete-theme": "Borrar tema", + "are-you-sure-you-want-to-delete-this-theme": "¿Seguro que quieres borrar el tema?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Falta el nombre del tema" + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "Una nueva versión de Mealie está disponible, visita el repositorio ", + "backup": { + "import-recipes": "Importar Recetas", + "import-themes": "Importar temas", + "import-settings": "Importar ajustes", + "create-heading": "Crear una copia de seguridad", + "backup-tag": "Etiqueta de copia de seguridad", + "full-backup": "Copia de seguridad entera", + "partial-backup": "Copia de seguridad parcial", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Importado correctamente", + "failed-imports": "Importación fallida" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Página de inicio", + "all-categories": "Todas las categorías", + "show-recent": "Ver recientes", + "home-page-sections": "Selecciones de página de inicio" + }, + "site-settings": "Ajustes", + "manage-users": " Gestionar usuarios", + "migrations": "Migraciones", + "profile": "Perifl", + "custom-pages": "Páginas customizadas", + "new-page": "Nueva página", + "edit-page": "Editar página", + "page-name": "Nombre de página" + }, + "migration": { + "recipe-migration": "Migrar recetas", + "failed-imports": "Importación fallida", + "migration-report": "Migration Report", + "successful-imports": "Importación exitosa", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/fi-FI.json b/frontend/src/locales/messages/fi-FI.json new file mode 100644 index 000000000..9a63052c5 --- /dev/null +++ b/frontend/src/locales/messages/fi-FI.json @@ -0,0 +1,258 @@ +{ + "404": { + "page-not-found": "404 Page Not Found", + "take-me-home": "Take me Home" + }, + "new-recipe": { + "from-url": "Import a Recipe", + "recipe-url": "Recipe URL", + "url-form-hint": "Copy and paste a link from your favorite recipe website", + "error-message": "Looks like there was an error parsing the URL. Check the log and debug/last_recipe.json to see what went wrong.", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Upload", + "submit": "Submit", + "name": "Name", + "settings": "Settings", + "close": "Close", + "save": "Save", + "image-file": "Image File", + "update": "Update", + "edit": "Edit", + "delete": "Delete", + "select": "Select", + "random": "Random", + "new": "New", + "create": "Create", + "cancel": "Cancel", + "ok": "OK", + "enabled": "Enabled", + "download": "Download", + "import": "Import", + "options": "Options", + "templates": "Templates", + "recipes": "Recipes", + "themes": "Themes", + "confirm": "Confirm", + "sort": "Sort", + "recent": "Recent", + "sort-alphabetically": "A-Z", + "reset": "Reset", + "filter": "Filter", + "yes": "Yes", + "no": "No", + "token": "Token", + "field-required": "Field Required", + "apply": "Apply", + "current-parenthesis": "(Current)", + "users": "Users", + "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "About" + }, + "page": { + "home-page": "Home Page", + "all-recipes": "All Recipes", + "recent": "Recent" + }, + "user": { + "stay-logged-in": "Stay logged in?", + "email": "Email", + "password": "Password", + "sign-in": "Sign in", + "sign-up": "Sign up", + "logout": "Logout", + "full-name": "Full Name", + "user-group": "User Group", + "user-password": "User Password", + "admin": "Admin", + "user-id": "User ID", + "user-id-with-value": "User ID: {id}", + "group": "Group", + "new-user": "New User", + "edit-user": "Edit User", + "create-user": "Create User", + "confirm-user-deletion": "Confirm User Deletion", + "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirm Group Deletion", + "total-users": "Total Users", + "total-mealplans": "Total MealPlans", + "webhooks-enabled": "Webhooks Enabled", + "webhook-time": "Webhook Time", + "create-group": "Create Group", + "sign-up-links": "Sign Up Links", + "create-link": "Create Link", + "link-name": "Link Name", + "group-id-with-value": "Group ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", + "group-name": "Group Name", + "confirm-link-deletion": "Confirm Link Deletion", + "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", + "link-id": "Link ID", + "users": "Users", + "groups": "Groups", + "could-not-validate-credentials": "Could Not Validate Credentials", + "login": "Login", + "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", + "upload-photo": "Upload Photo", + "reset-password": "Reset Password", + "current-password": "Current Password", + "new-password": "New Password", + "confirm-password": "Confirm Password", + "password-must-match": "Password must match", + "e-mail-must-be-valid": "E-mail must be valid", + "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + }, + "meal-plan": { + "shopping-list": "Shopping List", + "dinner-this-week": "Dinner This Week", + "meal-planner": "Meal Planner", + "dinner-today": "Dinner Today", + "planner": "Planner", + "edit-meal-plan": "Edit Meal Plan", + "meal-plans": "Meal Plans", + "create-a-new-meal-plan": "Create a New Meal Plan", + "start-date": "Start Date", + "end-date": "End Date", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans" + }, + "recipe": { + "description": "Description", + "ingredients": "Ingredients", + "categories": "Categories", + "tags": "Tags", + "instructions": "Instructions", + "step-index": "Step: {step}", + "recipe-name": "Recipe Name", + "servings": "Servings", + "ingredient": "Ingredient", + "notes": "Notes", + "note": "Note", + "original-url": "Original URL", + "view-recipe": "View Recipe", + "title": "Title", + "total-time": "Total Time", + "prep-time": "Prep Time", + "perform-time": "Cook Time", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No White Space Allowed", + "delete-recipe": "Delete Recipe", + "delete-confirmation": "Are you sure you want to delete this recipe?" + }, + "search": { + "search-mealie": "Search Mealie", + "search-placeholder": "Search...", + "max-results": "Max Results", + "category-filter": "Category Filter", + "tag-filter": "Tag Filter", + "include": "Include", + "exclude": "Exclude", + "and": "And", + "or": "Or", + "search": "Search" + }, + "settings": { + "general-settings": "General Settings", + "change-password": "Change Password", + "admin-settings": "Admin Settings", + "local-api": "Local API", + "language": "Language", + "add-a-new-theme": "Add a New Theme", + "set-new-time": "Set New Time", + "current": "Version:", + "latest": "Latest", + "explore-the-docs": "Explore the Docs", + "contribute": "Contribute", + "backup-and-exports": "Backups", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Available Backups", + "theme": { + "theme-name": "Theme Name", + "theme-settings": "Theme Settings", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Dark Mode", + "theme-is-required": "Theme is required", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "success": "Success", + "info": "Info", + "warning": "Warning", + "error": "Error", + "default-to-system": "Default to system", + "light": "Light", + "dark": "Dark", + "theme": "Theme", + "saved-color-theme": "Saved Color Theme", + "delete-theme": "Delete Theme", + "are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Theme Name is required." + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "A New Version of Mealie is Available, Visit the Repo ", + "backup": { + "import-recipes": "Import Recipes", + "import-themes": "Import Themes", + "import-settings": "Import Settings", + "create-heading": "Create a Backup", + "backup-tag": "Backup Tag", + "full-backup": "Full Backup", + "partial-backup": "Partial Backup", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Successfully Imported", + "failed-imports": "Failed Imports" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Home Page", + "all-categories": "All Categories", + "show-recent": "Show Recent", + "home-page-sections": "Home Page Sections" + }, + "site-settings": "Site Settings", + "manage-users": "Manage Users", + "migrations": "Migrations", + "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "Custom Pages", + "new-page": "New Page", + "edit-page": "Edit Page", + "page-name": "Page Name" + }, + "migration": { + "recipe-migration": "Recipe Migration", + "failed-imports": "Failed Imports", + "migration-report": "Migration Report", + "successful-imports": "Successful Imports", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/fr-FR.json b/frontend/src/locales/messages/fr-FR.json index 3b6f357d5..c3ac6d388 100644 --- a/frontend/src/locales/messages/fr-FR.json +++ b/frontend/src/locales/messages/fr-FR.json @@ -49,6 +49,13 @@ "current-parenthesis": "(Actuel)", "users": "Utilisateurs", "groups": "Groupes", + "sunday": "Dimanche", + "monday": "Lundi", + "tuesday": "Mardi", + "wednesday": "Mercredi", + "thursday": "Jeudi", + "friday": "Vendredi", + "saturday": "Samedi", "about": "À propos" }, "page": { @@ -226,6 +233,8 @@ "manage-users": "Utilisateurs", "migrations": "Migrations", "profile": "Profil", + "locale-settings": "Paramètres régionaux", + "first-day-of-week": "Premier jour de la semaine", "custom-pages": "Pages personnalisées", "new-page": "Nouvelle page", "edit-page": "Modifier la page", diff --git a/frontend/src/locales/messages/he-IL.json b/frontend/src/locales/messages/he-IL.json new file mode 100644 index 000000000..9a63052c5 --- /dev/null +++ b/frontend/src/locales/messages/he-IL.json @@ -0,0 +1,258 @@ +{ + "404": { + "page-not-found": "404 Page Not Found", + "take-me-home": "Take me Home" + }, + "new-recipe": { + "from-url": "Import a Recipe", + "recipe-url": "Recipe URL", + "url-form-hint": "Copy and paste a link from your favorite recipe website", + "error-message": "Looks like there was an error parsing the URL. Check the log and debug/last_recipe.json to see what went wrong.", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Upload", + "submit": "Submit", + "name": "Name", + "settings": "Settings", + "close": "Close", + "save": "Save", + "image-file": "Image File", + "update": "Update", + "edit": "Edit", + "delete": "Delete", + "select": "Select", + "random": "Random", + "new": "New", + "create": "Create", + "cancel": "Cancel", + "ok": "OK", + "enabled": "Enabled", + "download": "Download", + "import": "Import", + "options": "Options", + "templates": "Templates", + "recipes": "Recipes", + "themes": "Themes", + "confirm": "Confirm", + "sort": "Sort", + "recent": "Recent", + "sort-alphabetically": "A-Z", + "reset": "Reset", + "filter": "Filter", + "yes": "Yes", + "no": "No", + "token": "Token", + "field-required": "Field Required", + "apply": "Apply", + "current-parenthesis": "(Current)", + "users": "Users", + "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "About" + }, + "page": { + "home-page": "Home Page", + "all-recipes": "All Recipes", + "recent": "Recent" + }, + "user": { + "stay-logged-in": "Stay logged in?", + "email": "Email", + "password": "Password", + "sign-in": "Sign in", + "sign-up": "Sign up", + "logout": "Logout", + "full-name": "Full Name", + "user-group": "User Group", + "user-password": "User Password", + "admin": "Admin", + "user-id": "User ID", + "user-id-with-value": "User ID: {id}", + "group": "Group", + "new-user": "New User", + "edit-user": "Edit User", + "create-user": "Create User", + "confirm-user-deletion": "Confirm User Deletion", + "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirm Group Deletion", + "total-users": "Total Users", + "total-mealplans": "Total MealPlans", + "webhooks-enabled": "Webhooks Enabled", + "webhook-time": "Webhook Time", + "create-group": "Create Group", + "sign-up-links": "Sign Up Links", + "create-link": "Create Link", + "link-name": "Link Name", + "group-id-with-value": "Group ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", + "group-name": "Group Name", + "confirm-link-deletion": "Confirm Link Deletion", + "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", + "link-id": "Link ID", + "users": "Users", + "groups": "Groups", + "could-not-validate-credentials": "Could Not Validate Credentials", + "login": "Login", + "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", + "upload-photo": "Upload Photo", + "reset-password": "Reset Password", + "current-password": "Current Password", + "new-password": "New Password", + "confirm-password": "Confirm Password", + "password-must-match": "Password must match", + "e-mail-must-be-valid": "E-mail must be valid", + "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + }, + "meal-plan": { + "shopping-list": "Shopping List", + "dinner-this-week": "Dinner This Week", + "meal-planner": "Meal Planner", + "dinner-today": "Dinner Today", + "planner": "Planner", + "edit-meal-plan": "Edit Meal Plan", + "meal-plans": "Meal Plans", + "create-a-new-meal-plan": "Create a New Meal Plan", + "start-date": "Start Date", + "end-date": "End Date", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans" + }, + "recipe": { + "description": "Description", + "ingredients": "Ingredients", + "categories": "Categories", + "tags": "Tags", + "instructions": "Instructions", + "step-index": "Step: {step}", + "recipe-name": "Recipe Name", + "servings": "Servings", + "ingredient": "Ingredient", + "notes": "Notes", + "note": "Note", + "original-url": "Original URL", + "view-recipe": "View Recipe", + "title": "Title", + "total-time": "Total Time", + "prep-time": "Prep Time", + "perform-time": "Cook Time", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No White Space Allowed", + "delete-recipe": "Delete Recipe", + "delete-confirmation": "Are you sure you want to delete this recipe?" + }, + "search": { + "search-mealie": "Search Mealie", + "search-placeholder": "Search...", + "max-results": "Max Results", + "category-filter": "Category Filter", + "tag-filter": "Tag Filter", + "include": "Include", + "exclude": "Exclude", + "and": "And", + "or": "Or", + "search": "Search" + }, + "settings": { + "general-settings": "General Settings", + "change-password": "Change Password", + "admin-settings": "Admin Settings", + "local-api": "Local API", + "language": "Language", + "add-a-new-theme": "Add a New Theme", + "set-new-time": "Set New Time", + "current": "Version:", + "latest": "Latest", + "explore-the-docs": "Explore the Docs", + "contribute": "Contribute", + "backup-and-exports": "Backups", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Available Backups", + "theme": { + "theme-name": "Theme Name", + "theme-settings": "Theme Settings", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Dark Mode", + "theme-is-required": "Theme is required", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "success": "Success", + "info": "Info", + "warning": "Warning", + "error": "Error", + "default-to-system": "Default to system", + "light": "Light", + "dark": "Dark", + "theme": "Theme", + "saved-color-theme": "Saved Color Theme", + "delete-theme": "Delete Theme", + "are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Theme Name is required." + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "A New Version of Mealie is Available, Visit the Repo ", + "backup": { + "import-recipes": "Import Recipes", + "import-themes": "Import Themes", + "import-settings": "Import Settings", + "create-heading": "Create a Backup", + "backup-tag": "Backup Tag", + "full-backup": "Full Backup", + "partial-backup": "Partial Backup", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Successfully Imported", + "failed-imports": "Failed Imports" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Home Page", + "all-categories": "All Categories", + "show-recent": "Show Recent", + "home-page-sections": "Home Page Sections" + }, + "site-settings": "Site Settings", + "manage-users": "Manage Users", + "migrations": "Migrations", + "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "Custom Pages", + "new-page": "New Page", + "edit-page": "Edit Page", + "page-name": "Page Name" + }, + "migration": { + "recipe-migration": "Recipe Migration", + "failed-imports": "Failed Imports", + "migration-report": "Migration Report", + "successful-imports": "Successful Imports", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/hu-HU.json b/frontend/src/locales/messages/hu-HU.json new file mode 100644 index 000000000..9a63052c5 --- /dev/null +++ b/frontend/src/locales/messages/hu-HU.json @@ -0,0 +1,258 @@ +{ + "404": { + "page-not-found": "404 Page Not Found", + "take-me-home": "Take me Home" + }, + "new-recipe": { + "from-url": "Import a Recipe", + "recipe-url": "Recipe URL", + "url-form-hint": "Copy and paste a link from your favorite recipe website", + "error-message": "Looks like there was an error parsing the URL. Check the log and debug/last_recipe.json to see what went wrong.", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Upload", + "submit": "Submit", + "name": "Name", + "settings": "Settings", + "close": "Close", + "save": "Save", + "image-file": "Image File", + "update": "Update", + "edit": "Edit", + "delete": "Delete", + "select": "Select", + "random": "Random", + "new": "New", + "create": "Create", + "cancel": "Cancel", + "ok": "OK", + "enabled": "Enabled", + "download": "Download", + "import": "Import", + "options": "Options", + "templates": "Templates", + "recipes": "Recipes", + "themes": "Themes", + "confirm": "Confirm", + "sort": "Sort", + "recent": "Recent", + "sort-alphabetically": "A-Z", + "reset": "Reset", + "filter": "Filter", + "yes": "Yes", + "no": "No", + "token": "Token", + "field-required": "Field Required", + "apply": "Apply", + "current-parenthesis": "(Current)", + "users": "Users", + "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "About" + }, + "page": { + "home-page": "Home Page", + "all-recipes": "All Recipes", + "recent": "Recent" + }, + "user": { + "stay-logged-in": "Stay logged in?", + "email": "Email", + "password": "Password", + "sign-in": "Sign in", + "sign-up": "Sign up", + "logout": "Logout", + "full-name": "Full Name", + "user-group": "User Group", + "user-password": "User Password", + "admin": "Admin", + "user-id": "User ID", + "user-id-with-value": "User ID: {id}", + "group": "Group", + "new-user": "New User", + "edit-user": "Edit User", + "create-user": "Create User", + "confirm-user-deletion": "Confirm User Deletion", + "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirm Group Deletion", + "total-users": "Total Users", + "total-mealplans": "Total MealPlans", + "webhooks-enabled": "Webhooks Enabled", + "webhook-time": "Webhook Time", + "create-group": "Create Group", + "sign-up-links": "Sign Up Links", + "create-link": "Create Link", + "link-name": "Link Name", + "group-id-with-value": "Group ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", + "group-name": "Group Name", + "confirm-link-deletion": "Confirm Link Deletion", + "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", + "link-id": "Link ID", + "users": "Users", + "groups": "Groups", + "could-not-validate-credentials": "Could Not Validate Credentials", + "login": "Login", + "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", + "upload-photo": "Upload Photo", + "reset-password": "Reset Password", + "current-password": "Current Password", + "new-password": "New Password", + "confirm-password": "Confirm Password", + "password-must-match": "Password must match", + "e-mail-must-be-valid": "E-mail must be valid", + "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + }, + "meal-plan": { + "shopping-list": "Shopping List", + "dinner-this-week": "Dinner This Week", + "meal-planner": "Meal Planner", + "dinner-today": "Dinner Today", + "planner": "Planner", + "edit-meal-plan": "Edit Meal Plan", + "meal-plans": "Meal Plans", + "create-a-new-meal-plan": "Create a New Meal Plan", + "start-date": "Start Date", + "end-date": "End Date", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans" + }, + "recipe": { + "description": "Description", + "ingredients": "Ingredients", + "categories": "Categories", + "tags": "Tags", + "instructions": "Instructions", + "step-index": "Step: {step}", + "recipe-name": "Recipe Name", + "servings": "Servings", + "ingredient": "Ingredient", + "notes": "Notes", + "note": "Note", + "original-url": "Original URL", + "view-recipe": "View Recipe", + "title": "Title", + "total-time": "Total Time", + "prep-time": "Prep Time", + "perform-time": "Cook Time", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No White Space Allowed", + "delete-recipe": "Delete Recipe", + "delete-confirmation": "Are you sure you want to delete this recipe?" + }, + "search": { + "search-mealie": "Search Mealie", + "search-placeholder": "Search...", + "max-results": "Max Results", + "category-filter": "Category Filter", + "tag-filter": "Tag Filter", + "include": "Include", + "exclude": "Exclude", + "and": "And", + "or": "Or", + "search": "Search" + }, + "settings": { + "general-settings": "General Settings", + "change-password": "Change Password", + "admin-settings": "Admin Settings", + "local-api": "Local API", + "language": "Language", + "add-a-new-theme": "Add a New Theme", + "set-new-time": "Set New Time", + "current": "Version:", + "latest": "Latest", + "explore-the-docs": "Explore the Docs", + "contribute": "Contribute", + "backup-and-exports": "Backups", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Available Backups", + "theme": { + "theme-name": "Theme Name", + "theme-settings": "Theme Settings", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Dark Mode", + "theme-is-required": "Theme is required", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "success": "Success", + "info": "Info", + "warning": "Warning", + "error": "Error", + "default-to-system": "Default to system", + "light": "Light", + "dark": "Dark", + "theme": "Theme", + "saved-color-theme": "Saved Color Theme", + "delete-theme": "Delete Theme", + "are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Theme Name is required." + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "A New Version of Mealie is Available, Visit the Repo ", + "backup": { + "import-recipes": "Import Recipes", + "import-themes": "Import Themes", + "import-settings": "Import Settings", + "create-heading": "Create a Backup", + "backup-tag": "Backup Tag", + "full-backup": "Full Backup", + "partial-backup": "Partial Backup", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Successfully Imported", + "failed-imports": "Failed Imports" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Home Page", + "all-categories": "All Categories", + "show-recent": "Show Recent", + "home-page-sections": "Home Page Sections" + }, + "site-settings": "Site Settings", + "manage-users": "Manage Users", + "migrations": "Migrations", + "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "Custom Pages", + "new-page": "New Page", + "edit-page": "Edit Page", + "page-name": "Page Name" + }, + "migration": { + "recipe-migration": "Recipe Migration", + "failed-imports": "Failed Imports", + "migration-report": "Migration Report", + "successful-imports": "Successful Imports", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/it-IT.json b/frontend/src/locales/messages/it-IT.json new file mode 100644 index 000000000..9a63052c5 --- /dev/null +++ b/frontend/src/locales/messages/it-IT.json @@ -0,0 +1,258 @@ +{ + "404": { + "page-not-found": "404 Page Not Found", + "take-me-home": "Take me Home" + }, + "new-recipe": { + "from-url": "Import a Recipe", + "recipe-url": "Recipe URL", + "url-form-hint": "Copy and paste a link from your favorite recipe website", + "error-message": "Looks like there was an error parsing the URL. Check the log and debug/last_recipe.json to see what went wrong.", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Upload", + "submit": "Submit", + "name": "Name", + "settings": "Settings", + "close": "Close", + "save": "Save", + "image-file": "Image File", + "update": "Update", + "edit": "Edit", + "delete": "Delete", + "select": "Select", + "random": "Random", + "new": "New", + "create": "Create", + "cancel": "Cancel", + "ok": "OK", + "enabled": "Enabled", + "download": "Download", + "import": "Import", + "options": "Options", + "templates": "Templates", + "recipes": "Recipes", + "themes": "Themes", + "confirm": "Confirm", + "sort": "Sort", + "recent": "Recent", + "sort-alphabetically": "A-Z", + "reset": "Reset", + "filter": "Filter", + "yes": "Yes", + "no": "No", + "token": "Token", + "field-required": "Field Required", + "apply": "Apply", + "current-parenthesis": "(Current)", + "users": "Users", + "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "About" + }, + "page": { + "home-page": "Home Page", + "all-recipes": "All Recipes", + "recent": "Recent" + }, + "user": { + "stay-logged-in": "Stay logged in?", + "email": "Email", + "password": "Password", + "sign-in": "Sign in", + "sign-up": "Sign up", + "logout": "Logout", + "full-name": "Full Name", + "user-group": "User Group", + "user-password": "User Password", + "admin": "Admin", + "user-id": "User ID", + "user-id-with-value": "User ID: {id}", + "group": "Group", + "new-user": "New User", + "edit-user": "Edit User", + "create-user": "Create User", + "confirm-user-deletion": "Confirm User Deletion", + "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirm Group Deletion", + "total-users": "Total Users", + "total-mealplans": "Total MealPlans", + "webhooks-enabled": "Webhooks Enabled", + "webhook-time": "Webhook Time", + "create-group": "Create Group", + "sign-up-links": "Sign Up Links", + "create-link": "Create Link", + "link-name": "Link Name", + "group-id-with-value": "Group ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", + "group-name": "Group Name", + "confirm-link-deletion": "Confirm Link Deletion", + "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", + "link-id": "Link ID", + "users": "Users", + "groups": "Groups", + "could-not-validate-credentials": "Could Not Validate Credentials", + "login": "Login", + "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", + "upload-photo": "Upload Photo", + "reset-password": "Reset Password", + "current-password": "Current Password", + "new-password": "New Password", + "confirm-password": "Confirm Password", + "password-must-match": "Password must match", + "e-mail-must-be-valid": "E-mail must be valid", + "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + }, + "meal-plan": { + "shopping-list": "Shopping List", + "dinner-this-week": "Dinner This Week", + "meal-planner": "Meal Planner", + "dinner-today": "Dinner Today", + "planner": "Planner", + "edit-meal-plan": "Edit Meal Plan", + "meal-plans": "Meal Plans", + "create-a-new-meal-plan": "Create a New Meal Plan", + "start-date": "Start Date", + "end-date": "End Date", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans" + }, + "recipe": { + "description": "Description", + "ingredients": "Ingredients", + "categories": "Categories", + "tags": "Tags", + "instructions": "Instructions", + "step-index": "Step: {step}", + "recipe-name": "Recipe Name", + "servings": "Servings", + "ingredient": "Ingredient", + "notes": "Notes", + "note": "Note", + "original-url": "Original URL", + "view-recipe": "View Recipe", + "title": "Title", + "total-time": "Total Time", + "prep-time": "Prep Time", + "perform-time": "Cook Time", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No White Space Allowed", + "delete-recipe": "Delete Recipe", + "delete-confirmation": "Are you sure you want to delete this recipe?" + }, + "search": { + "search-mealie": "Search Mealie", + "search-placeholder": "Search...", + "max-results": "Max Results", + "category-filter": "Category Filter", + "tag-filter": "Tag Filter", + "include": "Include", + "exclude": "Exclude", + "and": "And", + "or": "Or", + "search": "Search" + }, + "settings": { + "general-settings": "General Settings", + "change-password": "Change Password", + "admin-settings": "Admin Settings", + "local-api": "Local API", + "language": "Language", + "add-a-new-theme": "Add a New Theme", + "set-new-time": "Set New Time", + "current": "Version:", + "latest": "Latest", + "explore-the-docs": "Explore the Docs", + "contribute": "Contribute", + "backup-and-exports": "Backups", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Available Backups", + "theme": { + "theme-name": "Theme Name", + "theme-settings": "Theme Settings", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Dark Mode", + "theme-is-required": "Theme is required", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "success": "Success", + "info": "Info", + "warning": "Warning", + "error": "Error", + "default-to-system": "Default to system", + "light": "Light", + "dark": "Dark", + "theme": "Theme", + "saved-color-theme": "Saved Color Theme", + "delete-theme": "Delete Theme", + "are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Theme Name is required." + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "A New Version of Mealie is Available, Visit the Repo ", + "backup": { + "import-recipes": "Import Recipes", + "import-themes": "Import Themes", + "import-settings": "Import Settings", + "create-heading": "Create a Backup", + "backup-tag": "Backup Tag", + "full-backup": "Full Backup", + "partial-backup": "Partial Backup", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Successfully Imported", + "failed-imports": "Failed Imports" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Home Page", + "all-categories": "All Categories", + "show-recent": "Show Recent", + "home-page-sections": "Home Page Sections" + }, + "site-settings": "Site Settings", + "manage-users": "Manage Users", + "migrations": "Migrations", + "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "Custom Pages", + "new-page": "New Page", + "edit-page": "Edit Page", + "page-name": "Page Name" + }, + "migration": { + "recipe-migration": "Recipe Migration", + "failed-imports": "Failed Imports", + "migration-report": "Migration Report", + "successful-imports": "Successful Imports", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/ja-JP.json b/frontend/src/locales/messages/ja-JP.json new file mode 100644 index 000000000..9a63052c5 --- /dev/null +++ b/frontend/src/locales/messages/ja-JP.json @@ -0,0 +1,258 @@ +{ + "404": { + "page-not-found": "404 Page Not Found", + "take-me-home": "Take me Home" + }, + "new-recipe": { + "from-url": "Import a Recipe", + "recipe-url": "Recipe URL", + "url-form-hint": "Copy and paste a link from your favorite recipe website", + "error-message": "Looks like there was an error parsing the URL. Check the log and debug/last_recipe.json to see what went wrong.", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Upload", + "submit": "Submit", + "name": "Name", + "settings": "Settings", + "close": "Close", + "save": "Save", + "image-file": "Image File", + "update": "Update", + "edit": "Edit", + "delete": "Delete", + "select": "Select", + "random": "Random", + "new": "New", + "create": "Create", + "cancel": "Cancel", + "ok": "OK", + "enabled": "Enabled", + "download": "Download", + "import": "Import", + "options": "Options", + "templates": "Templates", + "recipes": "Recipes", + "themes": "Themes", + "confirm": "Confirm", + "sort": "Sort", + "recent": "Recent", + "sort-alphabetically": "A-Z", + "reset": "Reset", + "filter": "Filter", + "yes": "Yes", + "no": "No", + "token": "Token", + "field-required": "Field Required", + "apply": "Apply", + "current-parenthesis": "(Current)", + "users": "Users", + "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "About" + }, + "page": { + "home-page": "Home Page", + "all-recipes": "All Recipes", + "recent": "Recent" + }, + "user": { + "stay-logged-in": "Stay logged in?", + "email": "Email", + "password": "Password", + "sign-in": "Sign in", + "sign-up": "Sign up", + "logout": "Logout", + "full-name": "Full Name", + "user-group": "User Group", + "user-password": "User Password", + "admin": "Admin", + "user-id": "User ID", + "user-id-with-value": "User ID: {id}", + "group": "Group", + "new-user": "New User", + "edit-user": "Edit User", + "create-user": "Create User", + "confirm-user-deletion": "Confirm User Deletion", + "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirm Group Deletion", + "total-users": "Total Users", + "total-mealplans": "Total MealPlans", + "webhooks-enabled": "Webhooks Enabled", + "webhook-time": "Webhook Time", + "create-group": "Create Group", + "sign-up-links": "Sign Up Links", + "create-link": "Create Link", + "link-name": "Link Name", + "group-id-with-value": "Group ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", + "group-name": "Group Name", + "confirm-link-deletion": "Confirm Link Deletion", + "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", + "link-id": "Link ID", + "users": "Users", + "groups": "Groups", + "could-not-validate-credentials": "Could Not Validate Credentials", + "login": "Login", + "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", + "upload-photo": "Upload Photo", + "reset-password": "Reset Password", + "current-password": "Current Password", + "new-password": "New Password", + "confirm-password": "Confirm Password", + "password-must-match": "Password must match", + "e-mail-must-be-valid": "E-mail must be valid", + "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + }, + "meal-plan": { + "shopping-list": "Shopping List", + "dinner-this-week": "Dinner This Week", + "meal-planner": "Meal Planner", + "dinner-today": "Dinner Today", + "planner": "Planner", + "edit-meal-plan": "Edit Meal Plan", + "meal-plans": "Meal Plans", + "create-a-new-meal-plan": "Create a New Meal Plan", + "start-date": "Start Date", + "end-date": "End Date", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans" + }, + "recipe": { + "description": "Description", + "ingredients": "Ingredients", + "categories": "Categories", + "tags": "Tags", + "instructions": "Instructions", + "step-index": "Step: {step}", + "recipe-name": "Recipe Name", + "servings": "Servings", + "ingredient": "Ingredient", + "notes": "Notes", + "note": "Note", + "original-url": "Original URL", + "view-recipe": "View Recipe", + "title": "Title", + "total-time": "Total Time", + "prep-time": "Prep Time", + "perform-time": "Cook Time", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No White Space Allowed", + "delete-recipe": "Delete Recipe", + "delete-confirmation": "Are you sure you want to delete this recipe?" + }, + "search": { + "search-mealie": "Search Mealie", + "search-placeholder": "Search...", + "max-results": "Max Results", + "category-filter": "Category Filter", + "tag-filter": "Tag Filter", + "include": "Include", + "exclude": "Exclude", + "and": "And", + "or": "Or", + "search": "Search" + }, + "settings": { + "general-settings": "General Settings", + "change-password": "Change Password", + "admin-settings": "Admin Settings", + "local-api": "Local API", + "language": "Language", + "add-a-new-theme": "Add a New Theme", + "set-new-time": "Set New Time", + "current": "Version:", + "latest": "Latest", + "explore-the-docs": "Explore the Docs", + "contribute": "Contribute", + "backup-and-exports": "Backups", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Available Backups", + "theme": { + "theme-name": "Theme Name", + "theme-settings": "Theme Settings", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Dark Mode", + "theme-is-required": "Theme is required", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "success": "Success", + "info": "Info", + "warning": "Warning", + "error": "Error", + "default-to-system": "Default to system", + "light": "Light", + "dark": "Dark", + "theme": "Theme", + "saved-color-theme": "Saved Color Theme", + "delete-theme": "Delete Theme", + "are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Theme Name is required." + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "A New Version of Mealie is Available, Visit the Repo ", + "backup": { + "import-recipes": "Import Recipes", + "import-themes": "Import Themes", + "import-settings": "Import Settings", + "create-heading": "Create a Backup", + "backup-tag": "Backup Tag", + "full-backup": "Full Backup", + "partial-backup": "Partial Backup", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Successfully Imported", + "failed-imports": "Failed Imports" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Home Page", + "all-categories": "All Categories", + "show-recent": "Show Recent", + "home-page-sections": "Home Page Sections" + }, + "site-settings": "Site Settings", + "manage-users": "Manage Users", + "migrations": "Migrations", + "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "Custom Pages", + "new-page": "New Page", + "edit-page": "Edit Page", + "page-name": "Page Name" + }, + "migration": { + "recipe-migration": "Recipe Migration", + "failed-imports": "Failed Imports", + "migration-report": "Migration Report", + "successful-imports": "Successful Imports", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/ko-KR.json b/frontend/src/locales/messages/ko-KR.json new file mode 100644 index 000000000..9a63052c5 --- /dev/null +++ b/frontend/src/locales/messages/ko-KR.json @@ -0,0 +1,258 @@ +{ + "404": { + "page-not-found": "404 Page Not Found", + "take-me-home": "Take me Home" + }, + "new-recipe": { + "from-url": "Import a Recipe", + "recipe-url": "Recipe URL", + "url-form-hint": "Copy and paste a link from your favorite recipe website", + "error-message": "Looks like there was an error parsing the URL. Check the log and debug/last_recipe.json to see what went wrong.", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Upload", + "submit": "Submit", + "name": "Name", + "settings": "Settings", + "close": "Close", + "save": "Save", + "image-file": "Image File", + "update": "Update", + "edit": "Edit", + "delete": "Delete", + "select": "Select", + "random": "Random", + "new": "New", + "create": "Create", + "cancel": "Cancel", + "ok": "OK", + "enabled": "Enabled", + "download": "Download", + "import": "Import", + "options": "Options", + "templates": "Templates", + "recipes": "Recipes", + "themes": "Themes", + "confirm": "Confirm", + "sort": "Sort", + "recent": "Recent", + "sort-alphabetically": "A-Z", + "reset": "Reset", + "filter": "Filter", + "yes": "Yes", + "no": "No", + "token": "Token", + "field-required": "Field Required", + "apply": "Apply", + "current-parenthesis": "(Current)", + "users": "Users", + "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "About" + }, + "page": { + "home-page": "Home Page", + "all-recipes": "All Recipes", + "recent": "Recent" + }, + "user": { + "stay-logged-in": "Stay logged in?", + "email": "Email", + "password": "Password", + "sign-in": "Sign in", + "sign-up": "Sign up", + "logout": "Logout", + "full-name": "Full Name", + "user-group": "User Group", + "user-password": "User Password", + "admin": "Admin", + "user-id": "User ID", + "user-id-with-value": "User ID: {id}", + "group": "Group", + "new-user": "New User", + "edit-user": "Edit User", + "create-user": "Create User", + "confirm-user-deletion": "Confirm User Deletion", + "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirm Group Deletion", + "total-users": "Total Users", + "total-mealplans": "Total MealPlans", + "webhooks-enabled": "Webhooks Enabled", + "webhook-time": "Webhook Time", + "create-group": "Create Group", + "sign-up-links": "Sign Up Links", + "create-link": "Create Link", + "link-name": "Link Name", + "group-id-with-value": "Group ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", + "group-name": "Group Name", + "confirm-link-deletion": "Confirm Link Deletion", + "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", + "link-id": "Link ID", + "users": "Users", + "groups": "Groups", + "could-not-validate-credentials": "Could Not Validate Credentials", + "login": "Login", + "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", + "upload-photo": "Upload Photo", + "reset-password": "Reset Password", + "current-password": "Current Password", + "new-password": "New Password", + "confirm-password": "Confirm Password", + "password-must-match": "Password must match", + "e-mail-must-be-valid": "E-mail must be valid", + "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + }, + "meal-plan": { + "shopping-list": "Shopping List", + "dinner-this-week": "Dinner This Week", + "meal-planner": "Meal Planner", + "dinner-today": "Dinner Today", + "planner": "Planner", + "edit-meal-plan": "Edit Meal Plan", + "meal-plans": "Meal Plans", + "create-a-new-meal-plan": "Create a New Meal Plan", + "start-date": "Start Date", + "end-date": "End Date", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans" + }, + "recipe": { + "description": "Description", + "ingredients": "Ingredients", + "categories": "Categories", + "tags": "Tags", + "instructions": "Instructions", + "step-index": "Step: {step}", + "recipe-name": "Recipe Name", + "servings": "Servings", + "ingredient": "Ingredient", + "notes": "Notes", + "note": "Note", + "original-url": "Original URL", + "view-recipe": "View Recipe", + "title": "Title", + "total-time": "Total Time", + "prep-time": "Prep Time", + "perform-time": "Cook Time", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No White Space Allowed", + "delete-recipe": "Delete Recipe", + "delete-confirmation": "Are you sure you want to delete this recipe?" + }, + "search": { + "search-mealie": "Search Mealie", + "search-placeholder": "Search...", + "max-results": "Max Results", + "category-filter": "Category Filter", + "tag-filter": "Tag Filter", + "include": "Include", + "exclude": "Exclude", + "and": "And", + "or": "Or", + "search": "Search" + }, + "settings": { + "general-settings": "General Settings", + "change-password": "Change Password", + "admin-settings": "Admin Settings", + "local-api": "Local API", + "language": "Language", + "add-a-new-theme": "Add a New Theme", + "set-new-time": "Set New Time", + "current": "Version:", + "latest": "Latest", + "explore-the-docs": "Explore the Docs", + "contribute": "Contribute", + "backup-and-exports": "Backups", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Available Backups", + "theme": { + "theme-name": "Theme Name", + "theme-settings": "Theme Settings", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Dark Mode", + "theme-is-required": "Theme is required", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "success": "Success", + "info": "Info", + "warning": "Warning", + "error": "Error", + "default-to-system": "Default to system", + "light": "Light", + "dark": "Dark", + "theme": "Theme", + "saved-color-theme": "Saved Color Theme", + "delete-theme": "Delete Theme", + "are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Theme Name is required." + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "A New Version of Mealie is Available, Visit the Repo ", + "backup": { + "import-recipes": "Import Recipes", + "import-themes": "Import Themes", + "import-settings": "Import Settings", + "create-heading": "Create a Backup", + "backup-tag": "Backup Tag", + "full-backup": "Full Backup", + "partial-backup": "Partial Backup", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Successfully Imported", + "failed-imports": "Failed Imports" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Home Page", + "all-categories": "All Categories", + "show-recent": "Show Recent", + "home-page-sections": "Home Page Sections" + }, + "site-settings": "Site Settings", + "manage-users": "Manage Users", + "migrations": "Migrations", + "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "Custom Pages", + "new-page": "New Page", + "edit-page": "Edit Page", + "page-name": "Page Name" + }, + "migration": { + "recipe-migration": "Recipe Migration", + "failed-imports": "Failed Imports", + "migration-report": "Migration Report", + "successful-imports": "Successful Imports", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/nl-NL.json b/frontend/src/locales/messages/nl-NL.json new file mode 100644 index 000000000..9a63052c5 --- /dev/null +++ b/frontend/src/locales/messages/nl-NL.json @@ -0,0 +1,258 @@ +{ + "404": { + "page-not-found": "404 Page Not Found", + "take-me-home": "Take me Home" + }, + "new-recipe": { + "from-url": "Import a Recipe", + "recipe-url": "Recipe URL", + "url-form-hint": "Copy and paste a link from your favorite recipe website", + "error-message": "Looks like there was an error parsing the URL. Check the log and debug/last_recipe.json to see what went wrong.", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Upload", + "submit": "Submit", + "name": "Name", + "settings": "Settings", + "close": "Close", + "save": "Save", + "image-file": "Image File", + "update": "Update", + "edit": "Edit", + "delete": "Delete", + "select": "Select", + "random": "Random", + "new": "New", + "create": "Create", + "cancel": "Cancel", + "ok": "OK", + "enabled": "Enabled", + "download": "Download", + "import": "Import", + "options": "Options", + "templates": "Templates", + "recipes": "Recipes", + "themes": "Themes", + "confirm": "Confirm", + "sort": "Sort", + "recent": "Recent", + "sort-alphabetically": "A-Z", + "reset": "Reset", + "filter": "Filter", + "yes": "Yes", + "no": "No", + "token": "Token", + "field-required": "Field Required", + "apply": "Apply", + "current-parenthesis": "(Current)", + "users": "Users", + "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "About" + }, + "page": { + "home-page": "Home Page", + "all-recipes": "All Recipes", + "recent": "Recent" + }, + "user": { + "stay-logged-in": "Stay logged in?", + "email": "Email", + "password": "Password", + "sign-in": "Sign in", + "sign-up": "Sign up", + "logout": "Logout", + "full-name": "Full Name", + "user-group": "User Group", + "user-password": "User Password", + "admin": "Admin", + "user-id": "User ID", + "user-id-with-value": "User ID: {id}", + "group": "Group", + "new-user": "New User", + "edit-user": "Edit User", + "create-user": "Create User", + "confirm-user-deletion": "Confirm User Deletion", + "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirm Group Deletion", + "total-users": "Total Users", + "total-mealplans": "Total MealPlans", + "webhooks-enabled": "Webhooks Enabled", + "webhook-time": "Webhook Time", + "create-group": "Create Group", + "sign-up-links": "Sign Up Links", + "create-link": "Create Link", + "link-name": "Link Name", + "group-id-with-value": "Group ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", + "group-name": "Group Name", + "confirm-link-deletion": "Confirm Link Deletion", + "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", + "link-id": "Link ID", + "users": "Users", + "groups": "Groups", + "could-not-validate-credentials": "Could Not Validate Credentials", + "login": "Login", + "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", + "upload-photo": "Upload Photo", + "reset-password": "Reset Password", + "current-password": "Current Password", + "new-password": "New Password", + "confirm-password": "Confirm Password", + "password-must-match": "Password must match", + "e-mail-must-be-valid": "E-mail must be valid", + "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + }, + "meal-plan": { + "shopping-list": "Shopping List", + "dinner-this-week": "Dinner This Week", + "meal-planner": "Meal Planner", + "dinner-today": "Dinner Today", + "planner": "Planner", + "edit-meal-plan": "Edit Meal Plan", + "meal-plans": "Meal Plans", + "create-a-new-meal-plan": "Create a New Meal Plan", + "start-date": "Start Date", + "end-date": "End Date", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans" + }, + "recipe": { + "description": "Description", + "ingredients": "Ingredients", + "categories": "Categories", + "tags": "Tags", + "instructions": "Instructions", + "step-index": "Step: {step}", + "recipe-name": "Recipe Name", + "servings": "Servings", + "ingredient": "Ingredient", + "notes": "Notes", + "note": "Note", + "original-url": "Original URL", + "view-recipe": "View Recipe", + "title": "Title", + "total-time": "Total Time", + "prep-time": "Prep Time", + "perform-time": "Cook Time", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No White Space Allowed", + "delete-recipe": "Delete Recipe", + "delete-confirmation": "Are you sure you want to delete this recipe?" + }, + "search": { + "search-mealie": "Search Mealie", + "search-placeholder": "Search...", + "max-results": "Max Results", + "category-filter": "Category Filter", + "tag-filter": "Tag Filter", + "include": "Include", + "exclude": "Exclude", + "and": "And", + "or": "Or", + "search": "Search" + }, + "settings": { + "general-settings": "General Settings", + "change-password": "Change Password", + "admin-settings": "Admin Settings", + "local-api": "Local API", + "language": "Language", + "add-a-new-theme": "Add a New Theme", + "set-new-time": "Set New Time", + "current": "Version:", + "latest": "Latest", + "explore-the-docs": "Explore the Docs", + "contribute": "Contribute", + "backup-and-exports": "Backups", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Available Backups", + "theme": { + "theme-name": "Theme Name", + "theme-settings": "Theme Settings", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Dark Mode", + "theme-is-required": "Theme is required", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "success": "Success", + "info": "Info", + "warning": "Warning", + "error": "Error", + "default-to-system": "Default to system", + "light": "Light", + "dark": "Dark", + "theme": "Theme", + "saved-color-theme": "Saved Color Theme", + "delete-theme": "Delete Theme", + "are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Theme Name is required." + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "A New Version of Mealie is Available, Visit the Repo ", + "backup": { + "import-recipes": "Import Recipes", + "import-themes": "Import Themes", + "import-settings": "Import Settings", + "create-heading": "Create a Backup", + "backup-tag": "Backup Tag", + "full-backup": "Full Backup", + "partial-backup": "Partial Backup", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Successfully Imported", + "failed-imports": "Failed Imports" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Home Page", + "all-categories": "All Categories", + "show-recent": "Show Recent", + "home-page-sections": "Home Page Sections" + }, + "site-settings": "Site Settings", + "manage-users": "Manage Users", + "migrations": "Migrations", + "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "Custom Pages", + "new-page": "New Page", + "edit-page": "Edit Page", + "page-name": "Page Name" + }, + "migration": { + "recipe-migration": "Recipe Migration", + "failed-imports": "Failed Imports", + "migration-report": "Migration Report", + "successful-imports": "Successful Imports", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/no-NO.json b/frontend/src/locales/messages/no-NO.json new file mode 100644 index 000000000..9a63052c5 --- /dev/null +++ b/frontend/src/locales/messages/no-NO.json @@ -0,0 +1,258 @@ +{ + "404": { + "page-not-found": "404 Page Not Found", + "take-me-home": "Take me Home" + }, + "new-recipe": { + "from-url": "Import a Recipe", + "recipe-url": "Recipe URL", + "url-form-hint": "Copy and paste a link from your favorite recipe website", + "error-message": "Looks like there was an error parsing the URL. Check the log and debug/last_recipe.json to see what went wrong.", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Upload", + "submit": "Submit", + "name": "Name", + "settings": "Settings", + "close": "Close", + "save": "Save", + "image-file": "Image File", + "update": "Update", + "edit": "Edit", + "delete": "Delete", + "select": "Select", + "random": "Random", + "new": "New", + "create": "Create", + "cancel": "Cancel", + "ok": "OK", + "enabled": "Enabled", + "download": "Download", + "import": "Import", + "options": "Options", + "templates": "Templates", + "recipes": "Recipes", + "themes": "Themes", + "confirm": "Confirm", + "sort": "Sort", + "recent": "Recent", + "sort-alphabetically": "A-Z", + "reset": "Reset", + "filter": "Filter", + "yes": "Yes", + "no": "No", + "token": "Token", + "field-required": "Field Required", + "apply": "Apply", + "current-parenthesis": "(Current)", + "users": "Users", + "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "About" + }, + "page": { + "home-page": "Home Page", + "all-recipes": "All Recipes", + "recent": "Recent" + }, + "user": { + "stay-logged-in": "Stay logged in?", + "email": "Email", + "password": "Password", + "sign-in": "Sign in", + "sign-up": "Sign up", + "logout": "Logout", + "full-name": "Full Name", + "user-group": "User Group", + "user-password": "User Password", + "admin": "Admin", + "user-id": "User ID", + "user-id-with-value": "User ID: {id}", + "group": "Group", + "new-user": "New User", + "edit-user": "Edit User", + "create-user": "Create User", + "confirm-user-deletion": "Confirm User Deletion", + "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirm Group Deletion", + "total-users": "Total Users", + "total-mealplans": "Total MealPlans", + "webhooks-enabled": "Webhooks Enabled", + "webhook-time": "Webhook Time", + "create-group": "Create Group", + "sign-up-links": "Sign Up Links", + "create-link": "Create Link", + "link-name": "Link Name", + "group-id-with-value": "Group ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", + "group-name": "Group Name", + "confirm-link-deletion": "Confirm Link Deletion", + "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", + "link-id": "Link ID", + "users": "Users", + "groups": "Groups", + "could-not-validate-credentials": "Could Not Validate Credentials", + "login": "Login", + "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", + "upload-photo": "Upload Photo", + "reset-password": "Reset Password", + "current-password": "Current Password", + "new-password": "New Password", + "confirm-password": "Confirm Password", + "password-must-match": "Password must match", + "e-mail-must-be-valid": "E-mail must be valid", + "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + }, + "meal-plan": { + "shopping-list": "Shopping List", + "dinner-this-week": "Dinner This Week", + "meal-planner": "Meal Planner", + "dinner-today": "Dinner Today", + "planner": "Planner", + "edit-meal-plan": "Edit Meal Plan", + "meal-plans": "Meal Plans", + "create-a-new-meal-plan": "Create a New Meal Plan", + "start-date": "Start Date", + "end-date": "End Date", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans" + }, + "recipe": { + "description": "Description", + "ingredients": "Ingredients", + "categories": "Categories", + "tags": "Tags", + "instructions": "Instructions", + "step-index": "Step: {step}", + "recipe-name": "Recipe Name", + "servings": "Servings", + "ingredient": "Ingredient", + "notes": "Notes", + "note": "Note", + "original-url": "Original URL", + "view-recipe": "View Recipe", + "title": "Title", + "total-time": "Total Time", + "prep-time": "Prep Time", + "perform-time": "Cook Time", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No White Space Allowed", + "delete-recipe": "Delete Recipe", + "delete-confirmation": "Are you sure you want to delete this recipe?" + }, + "search": { + "search-mealie": "Search Mealie", + "search-placeholder": "Search...", + "max-results": "Max Results", + "category-filter": "Category Filter", + "tag-filter": "Tag Filter", + "include": "Include", + "exclude": "Exclude", + "and": "And", + "or": "Or", + "search": "Search" + }, + "settings": { + "general-settings": "General Settings", + "change-password": "Change Password", + "admin-settings": "Admin Settings", + "local-api": "Local API", + "language": "Language", + "add-a-new-theme": "Add a New Theme", + "set-new-time": "Set New Time", + "current": "Version:", + "latest": "Latest", + "explore-the-docs": "Explore the Docs", + "contribute": "Contribute", + "backup-and-exports": "Backups", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Available Backups", + "theme": { + "theme-name": "Theme Name", + "theme-settings": "Theme Settings", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Dark Mode", + "theme-is-required": "Theme is required", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "success": "Success", + "info": "Info", + "warning": "Warning", + "error": "Error", + "default-to-system": "Default to system", + "light": "Light", + "dark": "Dark", + "theme": "Theme", + "saved-color-theme": "Saved Color Theme", + "delete-theme": "Delete Theme", + "are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Theme Name is required." + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "A New Version of Mealie is Available, Visit the Repo ", + "backup": { + "import-recipes": "Import Recipes", + "import-themes": "Import Themes", + "import-settings": "Import Settings", + "create-heading": "Create a Backup", + "backup-tag": "Backup Tag", + "full-backup": "Full Backup", + "partial-backup": "Partial Backup", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Successfully Imported", + "failed-imports": "Failed Imports" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Home Page", + "all-categories": "All Categories", + "show-recent": "Show Recent", + "home-page-sections": "Home Page Sections" + }, + "site-settings": "Site Settings", + "manage-users": "Manage Users", + "migrations": "Migrations", + "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "Custom Pages", + "new-page": "New Page", + "edit-page": "Edit Page", + "page-name": "Page Name" + }, + "migration": { + "recipe-migration": "Recipe Migration", + "failed-imports": "Failed Imports", + "migration-report": "Migration Report", + "successful-imports": "Successful Imports", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/pl-PL.json b/frontend/src/locales/messages/pl-PL.json index 8b9af4f6f..cd0bb7e29 100644 --- a/frontend/src/locales/messages/pl-PL.json +++ b/frontend/src/locales/messages/pl-PL.json @@ -49,6 +49,13 @@ "current-parenthesis": "(Current)", "users": "Users", "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", "about": "About" }, "page": { @@ -226,6 +233,8 @@ "manage-users": "Manage Users", "migrations": "Migrations", "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", "custom-pages": "Custom Pages", "new-page": "New Page", "edit-page": "Edit Page", diff --git a/frontend/src/locales/messages/pt-BR.json b/frontend/src/locales/messages/pt-BR.json new file mode 100644 index 000000000..9a63052c5 --- /dev/null +++ b/frontend/src/locales/messages/pt-BR.json @@ -0,0 +1,258 @@ +{ + "404": { + "page-not-found": "404 Page Not Found", + "take-me-home": "Take me Home" + }, + "new-recipe": { + "from-url": "Import a Recipe", + "recipe-url": "Recipe URL", + "url-form-hint": "Copy and paste a link from your favorite recipe website", + "error-message": "Looks like there was an error parsing the URL. Check the log and debug/last_recipe.json to see what went wrong.", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Upload", + "submit": "Submit", + "name": "Name", + "settings": "Settings", + "close": "Close", + "save": "Save", + "image-file": "Image File", + "update": "Update", + "edit": "Edit", + "delete": "Delete", + "select": "Select", + "random": "Random", + "new": "New", + "create": "Create", + "cancel": "Cancel", + "ok": "OK", + "enabled": "Enabled", + "download": "Download", + "import": "Import", + "options": "Options", + "templates": "Templates", + "recipes": "Recipes", + "themes": "Themes", + "confirm": "Confirm", + "sort": "Sort", + "recent": "Recent", + "sort-alphabetically": "A-Z", + "reset": "Reset", + "filter": "Filter", + "yes": "Yes", + "no": "No", + "token": "Token", + "field-required": "Field Required", + "apply": "Apply", + "current-parenthesis": "(Current)", + "users": "Users", + "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "About" + }, + "page": { + "home-page": "Home Page", + "all-recipes": "All Recipes", + "recent": "Recent" + }, + "user": { + "stay-logged-in": "Stay logged in?", + "email": "Email", + "password": "Password", + "sign-in": "Sign in", + "sign-up": "Sign up", + "logout": "Logout", + "full-name": "Full Name", + "user-group": "User Group", + "user-password": "User Password", + "admin": "Admin", + "user-id": "User ID", + "user-id-with-value": "User ID: {id}", + "group": "Group", + "new-user": "New User", + "edit-user": "Edit User", + "create-user": "Create User", + "confirm-user-deletion": "Confirm User Deletion", + "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirm Group Deletion", + "total-users": "Total Users", + "total-mealplans": "Total MealPlans", + "webhooks-enabled": "Webhooks Enabled", + "webhook-time": "Webhook Time", + "create-group": "Create Group", + "sign-up-links": "Sign Up Links", + "create-link": "Create Link", + "link-name": "Link Name", + "group-id-with-value": "Group ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", + "group-name": "Group Name", + "confirm-link-deletion": "Confirm Link Deletion", + "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", + "link-id": "Link ID", + "users": "Users", + "groups": "Groups", + "could-not-validate-credentials": "Could Not Validate Credentials", + "login": "Login", + "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", + "upload-photo": "Upload Photo", + "reset-password": "Reset Password", + "current-password": "Current Password", + "new-password": "New Password", + "confirm-password": "Confirm Password", + "password-must-match": "Password must match", + "e-mail-must-be-valid": "E-mail must be valid", + "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + }, + "meal-plan": { + "shopping-list": "Shopping List", + "dinner-this-week": "Dinner This Week", + "meal-planner": "Meal Planner", + "dinner-today": "Dinner Today", + "planner": "Planner", + "edit-meal-plan": "Edit Meal Plan", + "meal-plans": "Meal Plans", + "create-a-new-meal-plan": "Create a New Meal Plan", + "start-date": "Start Date", + "end-date": "End Date", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans" + }, + "recipe": { + "description": "Description", + "ingredients": "Ingredients", + "categories": "Categories", + "tags": "Tags", + "instructions": "Instructions", + "step-index": "Step: {step}", + "recipe-name": "Recipe Name", + "servings": "Servings", + "ingredient": "Ingredient", + "notes": "Notes", + "note": "Note", + "original-url": "Original URL", + "view-recipe": "View Recipe", + "title": "Title", + "total-time": "Total Time", + "prep-time": "Prep Time", + "perform-time": "Cook Time", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No White Space Allowed", + "delete-recipe": "Delete Recipe", + "delete-confirmation": "Are you sure you want to delete this recipe?" + }, + "search": { + "search-mealie": "Search Mealie", + "search-placeholder": "Search...", + "max-results": "Max Results", + "category-filter": "Category Filter", + "tag-filter": "Tag Filter", + "include": "Include", + "exclude": "Exclude", + "and": "And", + "or": "Or", + "search": "Search" + }, + "settings": { + "general-settings": "General Settings", + "change-password": "Change Password", + "admin-settings": "Admin Settings", + "local-api": "Local API", + "language": "Language", + "add-a-new-theme": "Add a New Theme", + "set-new-time": "Set New Time", + "current": "Version:", + "latest": "Latest", + "explore-the-docs": "Explore the Docs", + "contribute": "Contribute", + "backup-and-exports": "Backups", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Available Backups", + "theme": { + "theme-name": "Theme Name", + "theme-settings": "Theme Settings", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Dark Mode", + "theme-is-required": "Theme is required", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "success": "Success", + "info": "Info", + "warning": "Warning", + "error": "Error", + "default-to-system": "Default to system", + "light": "Light", + "dark": "Dark", + "theme": "Theme", + "saved-color-theme": "Saved Color Theme", + "delete-theme": "Delete Theme", + "are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Theme Name is required." + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "A New Version of Mealie is Available, Visit the Repo ", + "backup": { + "import-recipes": "Import Recipes", + "import-themes": "Import Themes", + "import-settings": "Import Settings", + "create-heading": "Create a Backup", + "backup-tag": "Backup Tag", + "full-backup": "Full Backup", + "partial-backup": "Partial Backup", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Successfully Imported", + "failed-imports": "Failed Imports" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Home Page", + "all-categories": "All Categories", + "show-recent": "Show Recent", + "home-page-sections": "Home Page Sections" + }, + "site-settings": "Site Settings", + "manage-users": "Manage Users", + "migrations": "Migrations", + "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "Custom Pages", + "new-page": "New Page", + "edit-page": "Edit Page", + "page-name": "Page Name" + }, + "migration": { + "recipe-migration": "Recipe Migration", + "failed-imports": "Failed Imports", + "migration-report": "Migration Report", + "successful-imports": "Successful Imports", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/pt-PT.json b/frontend/src/locales/messages/pt-PT.json index c867c4e45..283954234 100644 --- a/frontend/src/locales/messages/pt-PT.json +++ b/frontend/src/locales/messages/pt-PT.json @@ -49,6 +49,13 @@ "current-parenthesis": "(Current)", "users": "Users", "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", "about": "About" }, "page": { @@ -226,6 +233,8 @@ "manage-users": "Manage Users", "migrations": "Migrations", "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", "custom-pages": "Custom Pages", "new-page": "New Page", "edit-page": "Edit Page", diff --git a/frontend/src/locales/messages/ro-RO.json b/frontend/src/locales/messages/ro-RO.json new file mode 100644 index 000000000..9a63052c5 --- /dev/null +++ b/frontend/src/locales/messages/ro-RO.json @@ -0,0 +1,258 @@ +{ + "404": { + "page-not-found": "404 Page Not Found", + "take-me-home": "Take me Home" + }, + "new-recipe": { + "from-url": "Import a Recipe", + "recipe-url": "Recipe URL", + "url-form-hint": "Copy and paste a link from your favorite recipe website", + "error-message": "Looks like there was an error parsing the URL. Check the log and debug/last_recipe.json to see what went wrong.", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Upload", + "submit": "Submit", + "name": "Name", + "settings": "Settings", + "close": "Close", + "save": "Save", + "image-file": "Image File", + "update": "Update", + "edit": "Edit", + "delete": "Delete", + "select": "Select", + "random": "Random", + "new": "New", + "create": "Create", + "cancel": "Cancel", + "ok": "OK", + "enabled": "Enabled", + "download": "Download", + "import": "Import", + "options": "Options", + "templates": "Templates", + "recipes": "Recipes", + "themes": "Themes", + "confirm": "Confirm", + "sort": "Sort", + "recent": "Recent", + "sort-alphabetically": "A-Z", + "reset": "Reset", + "filter": "Filter", + "yes": "Yes", + "no": "No", + "token": "Token", + "field-required": "Field Required", + "apply": "Apply", + "current-parenthesis": "(Current)", + "users": "Users", + "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "About" + }, + "page": { + "home-page": "Home Page", + "all-recipes": "All Recipes", + "recent": "Recent" + }, + "user": { + "stay-logged-in": "Stay logged in?", + "email": "Email", + "password": "Password", + "sign-in": "Sign in", + "sign-up": "Sign up", + "logout": "Logout", + "full-name": "Full Name", + "user-group": "User Group", + "user-password": "User Password", + "admin": "Admin", + "user-id": "User ID", + "user-id-with-value": "User ID: {id}", + "group": "Group", + "new-user": "New User", + "edit-user": "Edit User", + "create-user": "Create User", + "confirm-user-deletion": "Confirm User Deletion", + "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirm Group Deletion", + "total-users": "Total Users", + "total-mealplans": "Total MealPlans", + "webhooks-enabled": "Webhooks Enabled", + "webhook-time": "Webhook Time", + "create-group": "Create Group", + "sign-up-links": "Sign Up Links", + "create-link": "Create Link", + "link-name": "Link Name", + "group-id-with-value": "Group ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", + "group-name": "Group Name", + "confirm-link-deletion": "Confirm Link Deletion", + "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", + "link-id": "Link ID", + "users": "Users", + "groups": "Groups", + "could-not-validate-credentials": "Could Not Validate Credentials", + "login": "Login", + "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", + "upload-photo": "Upload Photo", + "reset-password": "Reset Password", + "current-password": "Current Password", + "new-password": "New Password", + "confirm-password": "Confirm Password", + "password-must-match": "Password must match", + "e-mail-must-be-valid": "E-mail must be valid", + "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + }, + "meal-plan": { + "shopping-list": "Shopping List", + "dinner-this-week": "Dinner This Week", + "meal-planner": "Meal Planner", + "dinner-today": "Dinner Today", + "planner": "Planner", + "edit-meal-plan": "Edit Meal Plan", + "meal-plans": "Meal Plans", + "create-a-new-meal-plan": "Create a New Meal Plan", + "start-date": "Start Date", + "end-date": "End Date", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans" + }, + "recipe": { + "description": "Description", + "ingredients": "Ingredients", + "categories": "Categories", + "tags": "Tags", + "instructions": "Instructions", + "step-index": "Step: {step}", + "recipe-name": "Recipe Name", + "servings": "Servings", + "ingredient": "Ingredient", + "notes": "Notes", + "note": "Note", + "original-url": "Original URL", + "view-recipe": "View Recipe", + "title": "Title", + "total-time": "Total Time", + "prep-time": "Prep Time", + "perform-time": "Cook Time", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No White Space Allowed", + "delete-recipe": "Delete Recipe", + "delete-confirmation": "Are you sure you want to delete this recipe?" + }, + "search": { + "search-mealie": "Search Mealie", + "search-placeholder": "Search...", + "max-results": "Max Results", + "category-filter": "Category Filter", + "tag-filter": "Tag Filter", + "include": "Include", + "exclude": "Exclude", + "and": "And", + "or": "Or", + "search": "Search" + }, + "settings": { + "general-settings": "General Settings", + "change-password": "Change Password", + "admin-settings": "Admin Settings", + "local-api": "Local API", + "language": "Language", + "add-a-new-theme": "Add a New Theme", + "set-new-time": "Set New Time", + "current": "Version:", + "latest": "Latest", + "explore-the-docs": "Explore the Docs", + "contribute": "Contribute", + "backup-and-exports": "Backups", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Available Backups", + "theme": { + "theme-name": "Theme Name", + "theme-settings": "Theme Settings", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Dark Mode", + "theme-is-required": "Theme is required", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "success": "Success", + "info": "Info", + "warning": "Warning", + "error": "Error", + "default-to-system": "Default to system", + "light": "Light", + "dark": "Dark", + "theme": "Theme", + "saved-color-theme": "Saved Color Theme", + "delete-theme": "Delete Theme", + "are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Theme Name is required." + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "A New Version of Mealie is Available, Visit the Repo ", + "backup": { + "import-recipes": "Import Recipes", + "import-themes": "Import Themes", + "import-settings": "Import Settings", + "create-heading": "Create a Backup", + "backup-tag": "Backup Tag", + "full-backup": "Full Backup", + "partial-backup": "Partial Backup", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Successfully Imported", + "failed-imports": "Failed Imports" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Home Page", + "all-categories": "All Categories", + "show-recent": "Show Recent", + "home-page-sections": "Home Page Sections" + }, + "site-settings": "Site Settings", + "manage-users": "Manage Users", + "migrations": "Migrations", + "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "Custom Pages", + "new-page": "New Page", + "edit-page": "Edit Page", + "page-name": "Page Name" + }, + "migration": { + "recipe-migration": "Recipe Migration", + "failed-imports": "Failed Imports", + "migration-report": "Migration Report", + "successful-imports": "Successful Imports", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/ru-RU.json b/frontend/src/locales/messages/ru-RU.json new file mode 100644 index 000000000..9a63052c5 --- /dev/null +++ b/frontend/src/locales/messages/ru-RU.json @@ -0,0 +1,258 @@ +{ + "404": { + "page-not-found": "404 Page Not Found", + "take-me-home": "Take me Home" + }, + "new-recipe": { + "from-url": "Import a Recipe", + "recipe-url": "Recipe URL", + "url-form-hint": "Copy and paste a link from your favorite recipe website", + "error-message": "Looks like there was an error parsing the URL. Check the log and debug/last_recipe.json to see what went wrong.", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Upload", + "submit": "Submit", + "name": "Name", + "settings": "Settings", + "close": "Close", + "save": "Save", + "image-file": "Image File", + "update": "Update", + "edit": "Edit", + "delete": "Delete", + "select": "Select", + "random": "Random", + "new": "New", + "create": "Create", + "cancel": "Cancel", + "ok": "OK", + "enabled": "Enabled", + "download": "Download", + "import": "Import", + "options": "Options", + "templates": "Templates", + "recipes": "Recipes", + "themes": "Themes", + "confirm": "Confirm", + "sort": "Sort", + "recent": "Recent", + "sort-alphabetically": "A-Z", + "reset": "Reset", + "filter": "Filter", + "yes": "Yes", + "no": "No", + "token": "Token", + "field-required": "Field Required", + "apply": "Apply", + "current-parenthesis": "(Current)", + "users": "Users", + "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "About" + }, + "page": { + "home-page": "Home Page", + "all-recipes": "All Recipes", + "recent": "Recent" + }, + "user": { + "stay-logged-in": "Stay logged in?", + "email": "Email", + "password": "Password", + "sign-in": "Sign in", + "sign-up": "Sign up", + "logout": "Logout", + "full-name": "Full Name", + "user-group": "User Group", + "user-password": "User Password", + "admin": "Admin", + "user-id": "User ID", + "user-id-with-value": "User ID: {id}", + "group": "Group", + "new-user": "New User", + "edit-user": "Edit User", + "create-user": "Create User", + "confirm-user-deletion": "Confirm User Deletion", + "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirm Group Deletion", + "total-users": "Total Users", + "total-mealplans": "Total MealPlans", + "webhooks-enabled": "Webhooks Enabled", + "webhook-time": "Webhook Time", + "create-group": "Create Group", + "sign-up-links": "Sign Up Links", + "create-link": "Create Link", + "link-name": "Link Name", + "group-id-with-value": "Group ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", + "group-name": "Group Name", + "confirm-link-deletion": "Confirm Link Deletion", + "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", + "link-id": "Link ID", + "users": "Users", + "groups": "Groups", + "could-not-validate-credentials": "Could Not Validate Credentials", + "login": "Login", + "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", + "upload-photo": "Upload Photo", + "reset-password": "Reset Password", + "current-password": "Current Password", + "new-password": "New Password", + "confirm-password": "Confirm Password", + "password-must-match": "Password must match", + "e-mail-must-be-valid": "E-mail must be valid", + "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + }, + "meal-plan": { + "shopping-list": "Shopping List", + "dinner-this-week": "Dinner This Week", + "meal-planner": "Meal Planner", + "dinner-today": "Dinner Today", + "planner": "Planner", + "edit-meal-plan": "Edit Meal Plan", + "meal-plans": "Meal Plans", + "create-a-new-meal-plan": "Create a New Meal Plan", + "start-date": "Start Date", + "end-date": "End Date", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans" + }, + "recipe": { + "description": "Description", + "ingredients": "Ingredients", + "categories": "Categories", + "tags": "Tags", + "instructions": "Instructions", + "step-index": "Step: {step}", + "recipe-name": "Recipe Name", + "servings": "Servings", + "ingredient": "Ingredient", + "notes": "Notes", + "note": "Note", + "original-url": "Original URL", + "view-recipe": "View Recipe", + "title": "Title", + "total-time": "Total Time", + "prep-time": "Prep Time", + "perform-time": "Cook Time", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No White Space Allowed", + "delete-recipe": "Delete Recipe", + "delete-confirmation": "Are you sure you want to delete this recipe?" + }, + "search": { + "search-mealie": "Search Mealie", + "search-placeholder": "Search...", + "max-results": "Max Results", + "category-filter": "Category Filter", + "tag-filter": "Tag Filter", + "include": "Include", + "exclude": "Exclude", + "and": "And", + "or": "Or", + "search": "Search" + }, + "settings": { + "general-settings": "General Settings", + "change-password": "Change Password", + "admin-settings": "Admin Settings", + "local-api": "Local API", + "language": "Language", + "add-a-new-theme": "Add a New Theme", + "set-new-time": "Set New Time", + "current": "Version:", + "latest": "Latest", + "explore-the-docs": "Explore the Docs", + "contribute": "Contribute", + "backup-and-exports": "Backups", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Available Backups", + "theme": { + "theme-name": "Theme Name", + "theme-settings": "Theme Settings", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Dark Mode", + "theme-is-required": "Theme is required", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "success": "Success", + "info": "Info", + "warning": "Warning", + "error": "Error", + "default-to-system": "Default to system", + "light": "Light", + "dark": "Dark", + "theme": "Theme", + "saved-color-theme": "Saved Color Theme", + "delete-theme": "Delete Theme", + "are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Theme Name is required." + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "A New Version of Mealie is Available, Visit the Repo ", + "backup": { + "import-recipes": "Import Recipes", + "import-themes": "Import Themes", + "import-settings": "Import Settings", + "create-heading": "Create a Backup", + "backup-tag": "Backup Tag", + "full-backup": "Full Backup", + "partial-backup": "Partial Backup", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Successfully Imported", + "failed-imports": "Failed Imports" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Home Page", + "all-categories": "All Categories", + "show-recent": "Show Recent", + "home-page-sections": "Home Page Sections" + }, + "site-settings": "Site Settings", + "manage-users": "Manage Users", + "migrations": "Migrations", + "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "Custom Pages", + "new-page": "New Page", + "edit-page": "Edit Page", + "page-name": "Page Name" + }, + "migration": { + "recipe-migration": "Recipe Migration", + "failed-imports": "Failed Imports", + "migration-report": "Migration Report", + "successful-imports": "Successful Imports", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/sr-SP.json b/frontend/src/locales/messages/sr-SP.json new file mode 100644 index 000000000..9a63052c5 --- /dev/null +++ b/frontend/src/locales/messages/sr-SP.json @@ -0,0 +1,258 @@ +{ + "404": { + "page-not-found": "404 Page Not Found", + "take-me-home": "Take me Home" + }, + "new-recipe": { + "from-url": "Import a Recipe", + "recipe-url": "Recipe URL", + "url-form-hint": "Copy and paste a link from your favorite recipe website", + "error-message": "Looks like there was an error parsing the URL. Check the log and debug/last_recipe.json to see what went wrong.", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Upload", + "submit": "Submit", + "name": "Name", + "settings": "Settings", + "close": "Close", + "save": "Save", + "image-file": "Image File", + "update": "Update", + "edit": "Edit", + "delete": "Delete", + "select": "Select", + "random": "Random", + "new": "New", + "create": "Create", + "cancel": "Cancel", + "ok": "OK", + "enabled": "Enabled", + "download": "Download", + "import": "Import", + "options": "Options", + "templates": "Templates", + "recipes": "Recipes", + "themes": "Themes", + "confirm": "Confirm", + "sort": "Sort", + "recent": "Recent", + "sort-alphabetically": "A-Z", + "reset": "Reset", + "filter": "Filter", + "yes": "Yes", + "no": "No", + "token": "Token", + "field-required": "Field Required", + "apply": "Apply", + "current-parenthesis": "(Current)", + "users": "Users", + "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "About" + }, + "page": { + "home-page": "Home Page", + "all-recipes": "All Recipes", + "recent": "Recent" + }, + "user": { + "stay-logged-in": "Stay logged in?", + "email": "Email", + "password": "Password", + "sign-in": "Sign in", + "sign-up": "Sign up", + "logout": "Logout", + "full-name": "Full Name", + "user-group": "User Group", + "user-password": "User Password", + "admin": "Admin", + "user-id": "User ID", + "user-id-with-value": "User ID: {id}", + "group": "Group", + "new-user": "New User", + "edit-user": "Edit User", + "create-user": "Create User", + "confirm-user-deletion": "Confirm User Deletion", + "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirm Group Deletion", + "total-users": "Total Users", + "total-mealplans": "Total MealPlans", + "webhooks-enabled": "Webhooks Enabled", + "webhook-time": "Webhook Time", + "create-group": "Create Group", + "sign-up-links": "Sign Up Links", + "create-link": "Create Link", + "link-name": "Link Name", + "group-id-with-value": "Group ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", + "group-name": "Group Name", + "confirm-link-deletion": "Confirm Link Deletion", + "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", + "link-id": "Link ID", + "users": "Users", + "groups": "Groups", + "could-not-validate-credentials": "Could Not Validate Credentials", + "login": "Login", + "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", + "upload-photo": "Upload Photo", + "reset-password": "Reset Password", + "current-password": "Current Password", + "new-password": "New Password", + "confirm-password": "Confirm Password", + "password-must-match": "Password must match", + "e-mail-must-be-valid": "E-mail must be valid", + "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + }, + "meal-plan": { + "shopping-list": "Shopping List", + "dinner-this-week": "Dinner This Week", + "meal-planner": "Meal Planner", + "dinner-today": "Dinner Today", + "planner": "Planner", + "edit-meal-plan": "Edit Meal Plan", + "meal-plans": "Meal Plans", + "create-a-new-meal-plan": "Create a New Meal Plan", + "start-date": "Start Date", + "end-date": "End Date", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans" + }, + "recipe": { + "description": "Description", + "ingredients": "Ingredients", + "categories": "Categories", + "tags": "Tags", + "instructions": "Instructions", + "step-index": "Step: {step}", + "recipe-name": "Recipe Name", + "servings": "Servings", + "ingredient": "Ingredient", + "notes": "Notes", + "note": "Note", + "original-url": "Original URL", + "view-recipe": "View Recipe", + "title": "Title", + "total-time": "Total Time", + "prep-time": "Prep Time", + "perform-time": "Cook Time", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No White Space Allowed", + "delete-recipe": "Delete Recipe", + "delete-confirmation": "Are you sure you want to delete this recipe?" + }, + "search": { + "search-mealie": "Search Mealie", + "search-placeholder": "Search...", + "max-results": "Max Results", + "category-filter": "Category Filter", + "tag-filter": "Tag Filter", + "include": "Include", + "exclude": "Exclude", + "and": "And", + "or": "Or", + "search": "Search" + }, + "settings": { + "general-settings": "General Settings", + "change-password": "Change Password", + "admin-settings": "Admin Settings", + "local-api": "Local API", + "language": "Language", + "add-a-new-theme": "Add a New Theme", + "set-new-time": "Set New Time", + "current": "Version:", + "latest": "Latest", + "explore-the-docs": "Explore the Docs", + "contribute": "Contribute", + "backup-and-exports": "Backups", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Available Backups", + "theme": { + "theme-name": "Theme Name", + "theme-settings": "Theme Settings", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Dark Mode", + "theme-is-required": "Theme is required", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "success": "Success", + "info": "Info", + "warning": "Warning", + "error": "Error", + "default-to-system": "Default to system", + "light": "Light", + "dark": "Dark", + "theme": "Theme", + "saved-color-theme": "Saved Color Theme", + "delete-theme": "Delete Theme", + "are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Theme Name is required." + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "A New Version of Mealie is Available, Visit the Repo ", + "backup": { + "import-recipes": "Import Recipes", + "import-themes": "Import Themes", + "import-settings": "Import Settings", + "create-heading": "Create a Backup", + "backup-tag": "Backup Tag", + "full-backup": "Full Backup", + "partial-backup": "Partial Backup", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Successfully Imported", + "failed-imports": "Failed Imports" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Home Page", + "all-categories": "All Categories", + "show-recent": "Show Recent", + "home-page-sections": "Home Page Sections" + }, + "site-settings": "Site Settings", + "manage-users": "Manage Users", + "migrations": "Migrations", + "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "Custom Pages", + "new-page": "New Page", + "edit-page": "Edit Page", + "page-name": "Page Name" + }, + "migration": { + "recipe-migration": "Recipe Migration", + "failed-imports": "Failed Imports", + "migration-report": "Migration Report", + "successful-imports": "Successful Imports", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/sv-SE.json b/frontend/src/locales/messages/sv-SE.json index 34ccc60d2..fa5d1d970 100644 --- a/frontend/src/locales/messages/sv-SE.json +++ b/frontend/src/locales/messages/sv-SE.json @@ -49,6 +49,13 @@ "current-parenthesis": "(Current)", "users": "Users", "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", "about": "About" }, "page": { @@ -226,6 +233,8 @@ "manage-users": "Manage Users", "migrations": "Migrations", "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", "custom-pages": "Custom Pages", "new-page": "New Page", "edit-page": "Edit Page", diff --git a/frontend/src/locales/messages/tr-TR.json b/frontend/src/locales/messages/tr-TR.json new file mode 100644 index 000000000..9a63052c5 --- /dev/null +++ b/frontend/src/locales/messages/tr-TR.json @@ -0,0 +1,258 @@ +{ + "404": { + "page-not-found": "404 Page Not Found", + "take-me-home": "Take me Home" + }, + "new-recipe": { + "from-url": "Import a Recipe", + "recipe-url": "Recipe URL", + "url-form-hint": "Copy and paste a link from your favorite recipe website", + "error-message": "Looks like there was an error parsing the URL. Check the log and debug/last_recipe.json to see what went wrong.", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Upload", + "submit": "Submit", + "name": "Name", + "settings": "Settings", + "close": "Close", + "save": "Save", + "image-file": "Image File", + "update": "Update", + "edit": "Edit", + "delete": "Delete", + "select": "Select", + "random": "Random", + "new": "New", + "create": "Create", + "cancel": "Cancel", + "ok": "OK", + "enabled": "Enabled", + "download": "Download", + "import": "Import", + "options": "Options", + "templates": "Templates", + "recipes": "Recipes", + "themes": "Themes", + "confirm": "Confirm", + "sort": "Sort", + "recent": "Recent", + "sort-alphabetically": "A-Z", + "reset": "Reset", + "filter": "Filter", + "yes": "Yes", + "no": "No", + "token": "Token", + "field-required": "Field Required", + "apply": "Apply", + "current-parenthesis": "(Current)", + "users": "Users", + "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "About" + }, + "page": { + "home-page": "Home Page", + "all-recipes": "All Recipes", + "recent": "Recent" + }, + "user": { + "stay-logged-in": "Stay logged in?", + "email": "Email", + "password": "Password", + "sign-in": "Sign in", + "sign-up": "Sign up", + "logout": "Logout", + "full-name": "Full Name", + "user-group": "User Group", + "user-password": "User Password", + "admin": "Admin", + "user-id": "User ID", + "user-id-with-value": "User ID: {id}", + "group": "Group", + "new-user": "New User", + "edit-user": "Edit User", + "create-user": "Create User", + "confirm-user-deletion": "Confirm User Deletion", + "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirm Group Deletion", + "total-users": "Total Users", + "total-mealplans": "Total MealPlans", + "webhooks-enabled": "Webhooks Enabled", + "webhook-time": "Webhook Time", + "create-group": "Create Group", + "sign-up-links": "Sign Up Links", + "create-link": "Create Link", + "link-name": "Link Name", + "group-id-with-value": "Group ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", + "group-name": "Group Name", + "confirm-link-deletion": "Confirm Link Deletion", + "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", + "link-id": "Link ID", + "users": "Users", + "groups": "Groups", + "could-not-validate-credentials": "Could Not Validate Credentials", + "login": "Login", + "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", + "upload-photo": "Upload Photo", + "reset-password": "Reset Password", + "current-password": "Current Password", + "new-password": "New Password", + "confirm-password": "Confirm Password", + "password-must-match": "Password must match", + "e-mail-must-be-valid": "E-mail must be valid", + "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + }, + "meal-plan": { + "shopping-list": "Shopping List", + "dinner-this-week": "Dinner This Week", + "meal-planner": "Meal Planner", + "dinner-today": "Dinner Today", + "planner": "Planner", + "edit-meal-plan": "Edit Meal Plan", + "meal-plans": "Meal Plans", + "create-a-new-meal-plan": "Create a New Meal Plan", + "start-date": "Start Date", + "end-date": "End Date", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans" + }, + "recipe": { + "description": "Description", + "ingredients": "Ingredients", + "categories": "Categories", + "tags": "Tags", + "instructions": "Instructions", + "step-index": "Step: {step}", + "recipe-name": "Recipe Name", + "servings": "Servings", + "ingredient": "Ingredient", + "notes": "Notes", + "note": "Note", + "original-url": "Original URL", + "view-recipe": "View Recipe", + "title": "Title", + "total-time": "Total Time", + "prep-time": "Prep Time", + "perform-time": "Cook Time", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No White Space Allowed", + "delete-recipe": "Delete Recipe", + "delete-confirmation": "Are you sure you want to delete this recipe?" + }, + "search": { + "search-mealie": "Search Mealie", + "search-placeholder": "Search...", + "max-results": "Max Results", + "category-filter": "Category Filter", + "tag-filter": "Tag Filter", + "include": "Include", + "exclude": "Exclude", + "and": "And", + "or": "Or", + "search": "Search" + }, + "settings": { + "general-settings": "General Settings", + "change-password": "Change Password", + "admin-settings": "Admin Settings", + "local-api": "Local API", + "language": "Language", + "add-a-new-theme": "Add a New Theme", + "set-new-time": "Set New Time", + "current": "Version:", + "latest": "Latest", + "explore-the-docs": "Explore the Docs", + "contribute": "Contribute", + "backup-and-exports": "Backups", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Available Backups", + "theme": { + "theme-name": "Theme Name", + "theme-settings": "Theme Settings", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Dark Mode", + "theme-is-required": "Theme is required", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "success": "Success", + "info": "Info", + "warning": "Warning", + "error": "Error", + "default-to-system": "Default to system", + "light": "Light", + "dark": "Dark", + "theme": "Theme", + "saved-color-theme": "Saved Color Theme", + "delete-theme": "Delete Theme", + "are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Theme Name is required." + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "A New Version of Mealie is Available, Visit the Repo ", + "backup": { + "import-recipes": "Import Recipes", + "import-themes": "Import Themes", + "import-settings": "Import Settings", + "create-heading": "Create a Backup", + "backup-tag": "Backup Tag", + "full-backup": "Full Backup", + "partial-backup": "Partial Backup", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Successfully Imported", + "failed-imports": "Failed Imports" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Home Page", + "all-categories": "All Categories", + "show-recent": "Show Recent", + "home-page-sections": "Home Page Sections" + }, + "site-settings": "Site Settings", + "manage-users": "Manage Users", + "migrations": "Migrations", + "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "Custom Pages", + "new-page": "New Page", + "edit-page": "Edit Page", + "page-name": "Page Name" + }, + "migration": { + "recipe-migration": "Recipe Migration", + "failed-imports": "Failed Imports", + "migration-report": "Migration Report", + "successful-imports": "Successful Imports", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/uk-UA.json b/frontend/src/locales/messages/uk-UA.json new file mode 100644 index 000000000..9a63052c5 --- /dev/null +++ b/frontend/src/locales/messages/uk-UA.json @@ -0,0 +1,258 @@ +{ + "404": { + "page-not-found": "404 Page Not Found", + "take-me-home": "Take me Home" + }, + "new-recipe": { + "from-url": "Import a Recipe", + "recipe-url": "Recipe URL", + "url-form-hint": "Copy and paste a link from your favorite recipe website", + "error-message": "Looks like there was an error parsing the URL. Check the log and debug/last_recipe.json to see what went wrong.", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Upload", + "submit": "Submit", + "name": "Name", + "settings": "Settings", + "close": "Close", + "save": "Save", + "image-file": "Image File", + "update": "Update", + "edit": "Edit", + "delete": "Delete", + "select": "Select", + "random": "Random", + "new": "New", + "create": "Create", + "cancel": "Cancel", + "ok": "OK", + "enabled": "Enabled", + "download": "Download", + "import": "Import", + "options": "Options", + "templates": "Templates", + "recipes": "Recipes", + "themes": "Themes", + "confirm": "Confirm", + "sort": "Sort", + "recent": "Recent", + "sort-alphabetically": "A-Z", + "reset": "Reset", + "filter": "Filter", + "yes": "Yes", + "no": "No", + "token": "Token", + "field-required": "Field Required", + "apply": "Apply", + "current-parenthesis": "(Current)", + "users": "Users", + "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "About" + }, + "page": { + "home-page": "Home Page", + "all-recipes": "All Recipes", + "recent": "Recent" + }, + "user": { + "stay-logged-in": "Stay logged in?", + "email": "Email", + "password": "Password", + "sign-in": "Sign in", + "sign-up": "Sign up", + "logout": "Logout", + "full-name": "Full Name", + "user-group": "User Group", + "user-password": "User Password", + "admin": "Admin", + "user-id": "User ID", + "user-id-with-value": "User ID: {id}", + "group": "Group", + "new-user": "New User", + "edit-user": "Edit User", + "create-user": "Create User", + "confirm-user-deletion": "Confirm User Deletion", + "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirm Group Deletion", + "total-users": "Total Users", + "total-mealplans": "Total MealPlans", + "webhooks-enabled": "Webhooks Enabled", + "webhook-time": "Webhook Time", + "create-group": "Create Group", + "sign-up-links": "Sign Up Links", + "create-link": "Create Link", + "link-name": "Link Name", + "group-id-with-value": "Group ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", + "group-name": "Group Name", + "confirm-link-deletion": "Confirm Link Deletion", + "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", + "link-id": "Link ID", + "users": "Users", + "groups": "Groups", + "could-not-validate-credentials": "Could Not Validate Credentials", + "login": "Login", + "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", + "upload-photo": "Upload Photo", + "reset-password": "Reset Password", + "current-password": "Current Password", + "new-password": "New Password", + "confirm-password": "Confirm Password", + "password-must-match": "Password must match", + "e-mail-must-be-valid": "E-mail must be valid", + "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + }, + "meal-plan": { + "shopping-list": "Shopping List", + "dinner-this-week": "Dinner This Week", + "meal-planner": "Meal Planner", + "dinner-today": "Dinner Today", + "planner": "Planner", + "edit-meal-plan": "Edit Meal Plan", + "meal-plans": "Meal Plans", + "create-a-new-meal-plan": "Create a New Meal Plan", + "start-date": "Start Date", + "end-date": "End Date", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans" + }, + "recipe": { + "description": "Description", + "ingredients": "Ingredients", + "categories": "Categories", + "tags": "Tags", + "instructions": "Instructions", + "step-index": "Step: {step}", + "recipe-name": "Recipe Name", + "servings": "Servings", + "ingredient": "Ingredient", + "notes": "Notes", + "note": "Note", + "original-url": "Original URL", + "view-recipe": "View Recipe", + "title": "Title", + "total-time": "Total Time", + "prep-time": "Prep Time", + "perform-time": "Cook Time", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No White Space Allowed", + "delete-recipe": "Delete Recipe", + "delete-confirmation": "Are you sure you want to delete this recipe?" + }, + "search": { + "search-mealie": "Search Mealie", + "search-placeholder": "Search...", + "max-results": "Max Results", + "category-filter": "Category Filter", + "tag-filter": "Tag Filter", + "include": "Include", + "exclude": "Exclude", + "and": "And", + "or": "Or", + "search": "Search" + }, + "settings": { + "general-settings": "General Settings", + "change-password": "Change Password", + "admin-settings": "Admin Settings", + "local-api": "Local API", + "language": "Language", + "add-a-new-theme": "Add a New Theme", + "set-new-time": "Set New Time", + "current": "Version:", + "latest": "Latest", + "explore-the-docs": "Explore the Docs", + "contribute": "Contribute", + "backup-and-exports": "Backups", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Available Backups", + "theme": { + "theme-name": "Theme Name", + "theme-settings": "Theme Settings", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Dark Mode", + "theme-is-required": "Theme is required", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "success": "Success", + "info": "Info", + "warning": "Warning", + "error": "Error", + "default-to-system": "Default to system", + "light": "Light", + "dark": "Dark", + "theme": "Theme", + "saved-color-theme": "Saved Color Theme", + "delete-theme": "Delete Theme", + "are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Theme Name is required." + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "A New Version of Mealie is Available, Visit the Repo ", + "backup": { + "import-recipes": "Import Recipes", + "import-themes": "Import Themes", + "import-settings": "Import Settings", + "create-heading": "Create a Backup", + "backup-tag": "Backup Tag", + "full-backup": "Full Backup", + "partial-backup": "Partial Backup", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Successfully Imported", + "failed-imports": "Failed Imports" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Home Page", + "all-categories": "All Categories", + "show-recent": "Show Recent", + "home-page-sections": "Home Page Sections" + }, + "site-settings": "Site Settings", + "manage-users": "Manage Users", + "migrations": "Migrations", + "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "Custom Pages", + "new-page": "New Page", + "edit-page": "Edit Page", + "page-name": "Page Name" + }, + "migration": { + "recipe-migration": "Recipe Migration", + "failed-imports": "Failed Imports", + "migration-report": "Migration Report", + "successful-imports": "Successful Imports", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/vi-VN.json b/frontend/src/locales/messages/vi-VN.json new file mode 100644 index 000000000..9a63052c5 --- /dev/null +++ b/frontend/src/locales/messages/vi-VN.json @@ -0,0 +1,258 @@ +{ + "404": { + "page-not-found": "404 Page Not Found", + "take-me-home": "Take me Home" + }, + "new-recipe": { + "from-url": "Import a Recipe", + "recipe-url": "Recipe URL", + "url-form-hint": "Copy and paste a link from your favorite recipe website", + "error-message": "Looks like there was an error parsing the URL. Check the log and debug/last_recipe.json to see what went wrong.", + "bulk-add": "Bulk Add", + "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" + }, + "general": { + "upload": "Upload", + "submit": "Submit", + "name": "Name", + "settings": "Settings", + "close": "Close", + "save": "Save", + "image-file": "Image File", + "update": "Update", + "edit": "Edit", + "delete": "Delete", + "select": "Select", + "random": "Random", + "new": "New", + "create": "Create", + "cancel": "Cancel", + "ok": "OK", + "enabled": "Enabled", + "download": "Download", + "import": "Import", + "options": "Options", + "templates": "Templates", + "recipes": "Recipes", + "themes": "Themes", + "confirm": "Confirm", + "sort": "Sort", + "recent": "Recent", + "sort-alphabetically": "A-Z", + "reset": "Reset", + "filter": "Filter", + "yes": "Yes", + "no": "No", + "token": "Token", + "field-required": "Field Required", + "apply": "Apply", + "current-parenthesis": "(Current)", + "users": "Users", + "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "About" + }, + "page": { + "home-page": "Home Page", + "all-recipes": "All Recipes", + "recent": "Recent" + }, + "user": { + "stay-logged-in": "Stay logged in?", + "email": "Email", + "password": "Password", + "sign-in": "Sign in", + "sign-up": "Sign up", + "logout": "Logout", + "full-name": "Full Name", + "user-group": "User Group", + "user-password": "User Password", + "admin": "Admin", + "user-id": "User ID", + "user-id-with-value": "User ID: {id}", + "group": "Group", + "new-user": "New User", + "edit-user": "Edit User", + "create-user": "Create User", + "confirm-user-deletion": "Confirm User Deletion", + "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", + "confirm-group-deletion": "Confirm Group Deletion", + "total-users": "Total Users", + "total-mealplans": "Total MealPlans", + "webhooks-enabled": "Webhooks Enabled", + "webhook-time": "Webhook Time", + "create-group": "Create Group", + "sign-up-links": "Sign Up Links", + "create-link": "Create Link", + "link-name": "Link Name", + "group-id-with-value": "Group ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", + "group-name": "Group Name", + "confirm-link-deletion": "Confirm Link Deletion", + "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", + "link-id": "Link ID", + "users": "Users", + "groups": "Groups", + "could-not-validate-credentials": "Could Not Validate Credentials", + "login": "Login", + "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", + "upload-photo": "Upload Photo", + "reset-password": "Reset Password", + "current-password": "Current Password", + "new-password": "New Password", + "confirm-password": "Confirm Password", + "password-must-match": "Password must match", + "e-mail-must-be-valid": "E-mail must be valid", + "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + }, + "meal-plan": { + "shopping-list": "Shopping List", + "dinner-this-week": "Dinner This Week", + "meal-planner": "Meal Planner", + "dinner-today": "Dinner Today", + "planner": "Planner", + "edit-meal-plan": "Edit Meal Plan", + "meal-plans": "Meal Plans", + "create-a-new-meal-plan": "Create a New Meal Plan", + "start-date": "Start Date", + "end-date": "End Date", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans" + }, + "recipe": { + "description": "Description", + "ingredients": "Ingredients", + "categories": "Categories", + "tags": "Tags", + "instructions": "Instructions", + "step-index": "Step: {step}", + "recipe-name": "Recipe Name", + "servings": "Servings", + "ingredient": "Ingredient", + "notes": "Notes", + "note": "Note", + "original-url": "Original URL", + "view-recipe": "View Recipe", + "title": "Title", + "total-time": "Total Time", + "prep-time": "Prep Time", + "perform-time": "Cook Time", + "api-extras": "API Extras", + "object-key": "Object Key", + "object-value": "Object Value", + "new-key-name": "New Key Name", + "add-key": "Add Key", + "key-name-required": "Key Name Required", + "no-white-space-allowed": "No White Space Allowed", + "delete-recipe": "Delete Recipe", + "delete-confirmation": "Are you sure you want to delete this recipe?" + }, + "search": { + "search-mealie": "Search Mealie", + "search-placeholder": "Search...", + "max-results": "Max Results", + "category-filter": "Category Filter", + "tag-filter": "Tag Filter", + "include": "Include", + "exclude": "Exclude", + "and": "And", + "or": "Or", + "search": "Search" + }, + "settings": { + "general-settings": "General Settings", + "change-password": "Change Password", + "admin-settings": "Admin Settings", + "local-api": "Local API", + "language": "Language", + "add-a-new-theme": "Add a New Theme", + "set-new-time": "Set New Time", + "current": "Version:", + "latest": "Latest", + "explore-the-docs": "Explore the Docs", + "contribute": "Contribute", + "backup-and-exports": "Backups", + "backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.", + "available-backups": "Available Backups", + "theme": { + "theme-name": "Theme Name", + "theme-settings": "Theme Settings", + "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.", + "dark-mode": "Dark Mode", + "theme-is-required": "Theme is required", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "success": "Success", + "info": "Info", + "warning": "Warning", + "error": "Error", + "default-to-system": "Default to system", + "light": "Light", + "dark": "Dark", + "theme": "Theme", + "saved-color-theme": "Saved Color Theme", + "delete-theme": "Delete Theme", + "are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?", + "choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.", + "theme-name-is-required": "Theme Name is required." + }, + "webhooks": { + "meal-planner-webhooks": "Meal Planner 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", + "test-webhooks": "Test Webhooks", + "webhook-url": "Webhook URL" + }, + "new-version-available": "A New Version of Mealie is Available, Visit the Repo ", + "backup": { + "import-recipes": "Import Recipes", + "import-themes": "Import Themes", + "import-settings": "Import Settings", + "create-heading": "Create a Backup", + "backup-tag": "Backup Tag", + "full-backup": "Full Backup", + "partial-backup": "Partial Backup", + "backup-restore-report": "Backup Restore Report", + "successfully-imported": "Successfully Imported", + "failed-imports": "Failed Imports" + }, + "homepage": { + "card-per-section": "Card Per Section", + "homepage-categories": "Homepage Categories", + "home-page": "Home Page", + "all-categories": "All Categories", + "show-recent": "Show Recent", + "home-page-sections": "Home Page Sections" + }, + "site-settings": "Site Settings", + "manage-users": "Manage Users", + "migrations": "Migrations", + "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "Custom Pages", + "new-page": "New Page", + "edit-page": "Edit Page", + "page-name": "Page Name" + }, + "migration": { + "recipe-migration": "Recipe Migration", + "failed-imports": "Failed Imports", + "migration-report": "Migration Report", + "successful-imports": "Successful Imports", + "no-migration-data-available": "No Migration Data Avaiable", + "nextcloud": { + "title": "Nextcloud Cookbook", + "description": "Migrate data from a Nextcloud Cookbook intance" + }, + "chowdown": { + "title": "Chowdown", + "description": "Migrate data from Chowdown" + } + } +} diff --git a/frontend/src/locales/messages/zh-CN.json b/frontend/src/locales/messages/zh-CN.json index f2d92213c..6eb7a25c8 100644 --- a/frontend/src/locales/messages/zh-CN.json +++ b/frontend/src/locales/messages/zh-CN.json @@ -6,7 +6,7 @@ "new-recipe": { "from-url": "输入网址", "recipe-url": "食谱网址", - "url-form-hint": "Copy and paste a link from your favorite recipe website", + "url-form-hint": "从您最喜爱的食谱网站复制并粘贴链接", "error-message": "貌似在解析网址时出错。请检查log和debug/last_recipe.json文件并找寻更多有关资讯。", "bulk-add": "批量添加", "paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "请粘贴您的食谱资料。每行将被视为列表中的一项。" @@ -36,25 +36,32 @@ "recipes": "食谱", "themes": "布景主题", "confirm": "确定", - "sort": "Sort", - "recent": "Recent", + "sort": "排序", + "recent": "最近", "sort-alphabetically": "A-Z", - "reset": "Reset", - "filter": "Filter", - "yes": "Yes", - "no": "No", - "token": "Token", - "field-required": "Field Required", - "apply": "Apply", - "current-parenthesis": "(Current)", - "users": "Users", - "groups": "Groups", - "about": "About" + "reset": "重置", + "filter": "筛选", + "yes": "是", + "no": "否", + "token": "密钥", + "field-required": "必填", + "apply": "应用", + "current-parenthesis": "(当前)", + "users": "用户", + "groups": "群组", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "about": "关于" }, "page": { - "home-page": "Home Page", - "all-recipes": "All Recipes", - "recent": "Recent" + "home-page": "主页", + "all-recipes": "全部食谱", + "recent": "最近" }, "user": { "stay-logged-in": "保持登录状态?", @@ -62,52 +69,52 @@ "password": "密码", "sign-in": "登入", "sign-up": "注册", - "logout": "Logout", - "full-name": "Full Name", - "user-group": "User Group", - "user-password": "User Password", - "admin": "Admin", - "user-id": "User ID", - "user-id-with-value": "User ID: {id}", - "group": "Group", - "new-user": "New User", - "edit-user": "Edit User", - "create-user": "Create User", - "confirm-user-deletion": "Confirm User Deletion", - "are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user {activeName} ID: {activeId}?", - "confirm-group-deletion": "Confirm Group Deletion", - "total-users": "Total Users", - "total-mealplans": "Total MealPlans", - "webhooks-enabled": "Webhooks Enabled", - "webhook-time": "Webhook Time", - "create-group": "Create Group", - "sign-up-links": "Sign Up Links", - "create-link": "Create Link", - "link-name": "Link Name", - "group-id-with-value": "Group ID: {groupID}", - "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", - "group-name": "Group Name", - "confirm-link-deletion": "Confirm Link Deletion", - "are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link {link}?", - "link-id": "Link ID", - "users": "Users", - "groups": "Groups", - "could-not-validate-credentials": "Could Not Validate Credentials", - "login": "Login", - "groups-can-only-be-set-by-administrators": "Groups can only be set by administrators", - "upload-photo": "Upload Photo", - "reset-password": "Reset Password", - "current-password": "Current Password", - "new-password": "New Password", - "confirm-password": "Confirm Password", - "password-must-match": "Password must match", - "e-mail-must-be-valid": "E-mail must be valid", - "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password" + "logout": "登出", + "full-name": "全名", + "user-group": "用户群组", + "user-password": "用户密码", + "admin": "管理员", + "user-id": "用户ID", + "user-id-with-value": "用户ID: {id}", + "group": "群组", + "new-user": "新建用户", + "edit-user": "编辑用户", + "create-user": "创建用户", + "confirm-user-deletion": "确认删除用户", + "are-you-sure-you-want-to-delete-the-user": "您确定要删除用户 {activeName} ID:{activeId} 吗?", + "confirm-group-deletion": "确认删除群组", + "total-users": "用户总数", + "total-mealplans": "总用餐计划", + "webhooks-enabled": "Webhooks 启用", + "webhook-time": "Webhook时间", + "create-group": "创建群组", + "sign-up-links": "注册链接", + "create-link": "生成链接", + "link-name": "链接名", + "group-id-with-value": "群组ID: {groupID}", + "are-you-sure-you-want-to-delete-the-group": "您确定要删除{groupName}吗?", + "group-name": "群组名", + "confirm-link-deletion": "确认删除链接", + "are-you-sure-you-want-to-delete-the-link": "您确定要删除链接{link}吗?", + "link-id": "链接ID", + "users": "用户", + "groups": "群组", + "could-not-validate-credentials": "无法验证", + "login": "登录", + "groups-can-only-be-set-by-administrators": "群组只能由管理员设置", + "upload-photo": "上传照片", + "reset-password": "重置密码", + "current-password": "当前密码", + "new-password": "新密码", + "confirm-password": "确认密码", + "password-must-match": "密码必须一致", + "e-mail-must-be-valid": "电子邮件必须有效", + "use-8-characters-or-more-for-your-password": "请设置密码字符为8个或更多" }, "meal-plan": { - "shopping-list": "Shopping List", + "shopping-list": "购物清单", "dinner-this-week": "本周晚餐", - "meal-planner": "Meal Planner", + "meal-planner": "用餐计划", "dinner-today": "今日晚餐", "planner": "策划人", "edit-meal-plan": "编辑用餐计划", @@ -115,7 +122,7 @@ "create-a-new-meal-plan": "创建一个新的用餐计划", "start-date": "开始日期", "end-date": "结束日期", - "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": "只有与这些类别相关的食谱才会被用于用餐计划" }, "recipe": { "description": "描述", @@ -127,46 +134,46 @@ "recipe-name": "食谱名称", "servings": "份量", "ingredient": "材料", - "notes": "贴士", - "note": "贴士", + "notes": "笔记", + "note": "备注", "original-url": "原食谱链接", "view-recipe": "查看食谱", "title": "标题", "total-time": "总时间", "prep-time": "准备时间", - "perform-time": "烹饪时间 / 执行时间", + "perform-time": "烹饪时间", "api-extras": "API Extras", "object-key": "Object Key", "object-value": "Object Value", "new-key-name": "New Key Name", "add-key": "Add Key", - "key-name-required": "Key Name Required", - "no-white-space-allowed": "No White Space Allowed", + "key-name-required": "必须输入关键字", + "no-white-space-allowed": "不允许有空格", "delete-recipe": "删除食谱", "delete-confirmation": "您确定要删除此食谱吗?" }, "search": { "search-mealie": "搜索Mealie", - "search-placeholder": "Search...", - "max-results": "Max Results", - "category-filter": "Category Filter", - "tag-filter": "Tag Filter", - "include": "Include", - "exclude": "Exclude", - "and": "And", - "or": "Or", - "search": "Search" + "search-placeholder": "搜索...", + "max-results": "最大结果", + "category-filter": "分类筛选", + "tag-filter": "标签筛选", + "include": "包括", + "exclude": "排除", + "and": "与", + "or": "或", + "search": "搜索" }, "settings": { "general-settings": "基本设置", - "change-password": "Change Password", - "admin-settings": "Admin Settings", - "local-api": "Local API", + "change-password": "更改密码", + "admin-settings": "管理设置", + "local-api": "本地API", "language": "语言", "add-a-new-theme": "新增布景主题", "set-new-time": "设定新的时间", "current": "版本号:", - "latest": "最新版本:", + "latest": "最新版本", "explore-the-docs": "浏览文档", "contribute": "参与贡献", "backup-and-exports": "备份", @@ -178,13 +185,13 @@ "select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "从以下列表中选择一个主题或创建一个新主题。请注意,默认主题将提供给尚未设置主题首选的所有用户。", "dark-mode": "暗黑模式", "theme-is-required": "必须选择主题", - "primary": "主要(Primary)", - "secondary": "次要(Secondary)", - "accent": "强调(Accent)", - "success": "成功(Success)", - "info": "信息(Info)", - "warning": "警告(Warning)", - "error": "错误(Error)", + "primary": "Primary(主要)", + "secondary": "Secondary(次要)", + "accent": "Accent(强调)", + "success": "Success(成功)", + "info": "Info(信息)", + "warning": "Warning(警告)", + "error": "Error(错误)", "default-to-system": "默认为系统", "light": "浅色", "dark": "深色", @@ -197,7 +204,7 @@ }, "webhooks": { "meal-planner-webhooks": "用餐计划器Webhooks", - "the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "下方列出的网址将在预定日期接收到有关用餐计划的食谱资料。Webhooks将在{ time }执行", + "the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "下方列出的网址将在预定日期接收到有关用餐计划的食谱资料。Webhooks执行将在", "test-webhooks": "测试Webhooks", "webhook-url": "Webhook网址" }, @@ -215,21 +222,23 @@ "failed-imports": "导入失败" }, "homepage": { - "card-per-section": "Card Per Section", - "homepage-categories": "Homepage Categories", - "home-page": "Home Page", - "all-categories": "All Categories", - "show-recent": "Show Recent", - "home-page-sections": "Home Page Sections" + "card-per-section": "Card的部分", + "homepage-categories": "主页分类", + "home-page": "主页", + "all-categories": "所有分类", + "show-recent": "显示最近更新", + "home-page-sections": "主页部分" }, - "site-settings": "Site Settings", - "manage-users": "Manage Users", - "migrations": "Migrations", - "profile": "Profile", - "custom-pages": "Custom Pages", - "new-page": "New Page", - "edit-page": "Edit Page", - "page-name": "Page Name" + "site-settings": "网站设置", + "manage-users": "管理用户", + "migrations": "迁移", + "profile": "用户信息", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", + "custom-pages": "自定义页面", + "new-page": "新建页面", + "edit-page": "编辑页面", + "page-name": "页面名称" }, "migration": { "recipe-migration": "食谱迁移", diff --git a/frontend/src/locales/messages/zh-TW.json b/frontend/src/locales/messages/zh-TW.json index 9f7950778..0bfb48b8a 100644 --- a/frontend/src/locales/messages/zh-TW.json +++ b/frontend/src/locales/messages/zh-TW.json @@ -49,6 +49,13 @@ "current-parenthesis": "(Current)", "users": "Users", "groups": "Groups", + "sunday": "Sunday", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", "about": "About" }, "page": { @@ -226,6 +233,8 @@ "manage-users": "Manage Users", "migrations": "Migrations", "profile": "Profile", + "locale-settings": "Locale settings", + "first-day-of-week": "First day of the week", "custom-pages": "Custom Pages", "new-page": "New Page", "edit-page": "Edit Page", diff --git a/frontend/src/pages/Admin/Settings/index.vue b/frontend/src/pages/Admin/Settings/index.vue index ea83515db..73deaa87d 100644 --- a/frontend/src/pages/Admin/Settings/index.vue +++ b/frontend/src/pages/Admin/Settings/index.vue @@ -28,30 +28,6 @@ export default { HomePageSettings, CustomPageCreator, }, - data() { - return { - langOptions: [], - selectedLang: "en", - }; - }, - mounted() { - this.getOptions(); - }, - watch: { - selectedLang() { - this.$store.commit("setLang", this.selectedLang); - }, - }, - methods: { - getOptions() { - this.langOptions = this.$store.getters.getAllLangs; - this.selectedLang = this.$store.getters.getActiveLang; - }, - removeCategory(index) { - this.value.categories.splice(index, 1); - }, - - }, }; diff --git a/frontend/src/plugins/vuetify.js b/frontend/src/plugins/vuetify.js index 522f30fd3..368c9a687 100644 --- a/frontend/src/plugins/vuetify.js +++ b/frontend/src/plugins/vuetify.js @@ -3,15 +3,14 @@ import Vuetify from "vuetify/lib"; Vue.use(Vuetify); -// language IDs should match those from VueI18n with _ instead of - -import de_DE from 'vuetify/es5/locale/de'; -import en_US from 'vuetify/es5/locale/en'; -import fr_FR from 'vuetify/es5/locale/fr'; -import pl_PL from 'vuetify/es5/locale/pl'; -import pt_PT from 'vuetify/es5/locale/pt'; -import sv_SE from 'vuetify/es5/locale/sv'; -import zh_CN from 'vuetify/es5/locale/zh-Hans'; -import zh_TW from 'vuetify/es5/locale/zh-Hant'; +import de from 'vuetify/es5/locale/de'; +import en from 'vuetify/es5/locale/en'; +import fr from 'vuetify/es5/locale/fr'; +import pl from 'vuetify/es5/locale/pl'; +import pt from 'vuetify/es5/locale/pt'; +import sv from 'vuetify/es5/locale/sv'; +import zhHans from 'vuetify/es5/locale/zh-Hans'; +import zhHant from 'vuetify/es5/locale/zh-Hant'; const vuetify = new Vuetify({ @@ -42,16 +41,16 @@ const vuetify = new Vuetify({ }, lang: { locales: { - de_DE, - en_US, - fr_FR, - pl_PL, - pt_PT, - sv_SE, - zh_CN, - zh_TW + 'de-DE' : de, + 'en-US' : en, + 'fr-FR' : fr, + 'pl-PL' : pl, + 'pt-PT' : pt, + 'sv-SE' : sv, + 'zh-CN' : zhHans, + 'zh-TW' : zhHant }, - current: 'en_US', + current: 'en-US', }, }); diff --git a/frontend/src/store/modules/language.js b/frontend/src/store/modules/language.js index 963cfb1ae..431070a8e 100644 --- a/frontend/src/store/modules/language.js +++ b/frontend/src/store/modules/language.js @@ -1,7 +1,7 @@ import VueI18n from "../../i18n"; const state = { - lang: "en", + lang: "en-US", allLangs: [ { name: "English", @@ -52,7 +52,12 @@ const mutations = { const actions = { initLang({ getters }, { currentVueComponent }) { VueI18n.locale = getters.getActiveLang; - currentVueComponent.$vuetify.lang.current = getters.getActiveLang.replace('-', '_'); + currentVueComponent.$vuetify.lang.current = getters.getActiveLang; + }, + setLang({ commit }, { language, currentVueComponent }) { + VueI18n.locale = language; + currentVueComponent.$vuetify.lang.current = language; + commit('setLang', language); }, }; diff --git a/frontend/src/store/modules/siteSettings.js b/frontend/src/store/modules/siteSettings.js index f521f4eb5..9b526275a 100644 --- a/frontend/src/store/modules/siteSettings.js +++ b/frontend/src/store/modules/siteSettings.js @@ -3,6 +3,7 @@ import { api } from "@/api"; const state = { siteSettings: { language: "en", + firstDayOfWeek: 0, showRecent: true, cardsPerSection: 9, categories: [], diff --git a/mealie/db/models/settings.py b/mealie/db/models/settings.py index cc40dd787..fbebdcd06 100644 --- a/mealie/db/models/settings.py +++ b/mealie/db/models/settings.py @@ -9,6 +9,7 @@ class SiteSettings(SqlAlchemyBase, BaseMixins): __tablename__ = "site_settings" id = sa.Column(sa.Integer, primary_key=True) language = sa.Column(sa.String) + first_day_of_week = sa.Column(sa.Integer) categories = orm.relationship( "Category", secondary=site_settings2categories, @@ -21,12 +22,14 @@ class SiteSettings(SqlAlchemyBase, BaseMixins): self, session: Session = None, language="en", + first_day_of_week: int = 0, categories: list = [], show_recent=True, cards_per_section: int = 9, ) -> None: session.commit() self.language = language + self.first_day_of_week = first_day_of_week self.cards_per_section = cards_per_section self.show_recent = show_recent self.categories = [Category.get_ref(session=session, slug=cat.get("slug")) for cat in categories] diff --git a/mealie/schema/settings.py b/mealie/schema/settings.py index 9f147d16a..b275cf60c 100644 --- a/mealie/schema/settings.py +++ b/mealie/schema/settings.py @@ -8,6 +8,7 @@ from slugify import slugify class SiteSettings(CamelModel): language: str = "en" + first_day_of_week: int = 0 show_recent: bool = True cards_per_section: int = 9 categories: Optional[list[CategoryBase]] = [] @@ -18,6 +19,7 @@ class SiteSettings(CamelModel): schema_extra = { "example": { "language": "en", + "firstDayOfWeek": 0, "showRecent": True, "categories": [ {"id": 1, "name": "thanksgiving", "slug": "thanksgiving"},