diff --git a/.github/ISSUE_TEMPLATE/bug-report.yaml b/.github/ISSUE_TEMPLATE/bug-report.yaml index 8c4e8d114627..7994b9d3fb1b 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yaml +++ b/.github/ISSUE_TEMPLATE/bug-report.yaml @@ -12,7 +12,7 @@ body: Please confirm and check all the following prior to submission. If you do not do this, your issue may be closed. options: - - label: This is not a feature request + - label: This is not a feature request. required: true - label: I added a very descriptive title to this issue. required: true @@ -22,7 +22,7 @@ body: required: true - label: I already read the docs and didn't find an answer. required: true - - label: This issue can be replicated on the demo site (https://demo.mealie.io/) + - label: This issue can be replicated on the demo site (https://demo.mealie.io/). required: false - type: textarea id: description @@ -41,13 +41,15 @@ body: - type: textarea id: logs attributes: - label: Please provide relevent logs + label: Please provide relevant logs + placeholder: For example from `docker-compose logs` or other system logs. validations: required: true - type: textarea id: version attributes: label: Mealie Version + placeholder: Docker image, as well as 'Build' tag from https://yourmealieurl/admin/site-settings, if UI is working - type: dropdown id: os attributes: diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index a70d6373b08e..d3310a660f69 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,4 +1,4 @@ contact_links: - name: Feature Requests - url: https://github.com/hay-kot/mealie/discussions/new?category=feature-request - about: Please add any Feature Requests as a Github Discussion using the for in this issue. + url: https://github.com/mealie-recipes/mealie/discussions/new?category=feature-request + about: Please add any Feature Requests as a Github Discussion using the form in this issue. diff --git a/.github/workflows/partial-builder.yml b/.github/workflows/partial-builder.yml index 2b9223f0a1d0..583b84354a21 100644 --- a/.github/workflows/partial-builder.yml +++ b/.github/workflows/partial-builder.yml @@ -46,3 +46,6 @@ jobs: tags: ghcr.io/${{ github.repository }}:${{ inputs.tag }} build-args: | COMMIT=${{ github.sha }} + # https://docs.docker.com/build/ci/github-actions/cache/#github-cache + cache-from: type=gha + cache-to: type=gha,mode=max diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 21c8424a2345..2e4bf7b49a7b 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -1,3 +1,3 @@ # Maintainers Guide -See -> ./docs/docs/contributors/developers-guide/maintainers.md +See -> [/docs/docs/contributors/developers-guide/maintainers.md](/docs/docs/contributors/developers-guide/maintainers.md) diff --git a/docs/docs/documentation/community-guide/ios.md b/docs/docs/documentation/community-guide/ios.md index 8acaa2e025ff..86d5c6bec8b2 100644 --- a/docs/docs/documentation/community-guide/ios.md +++ b/docs/docs/documentation/community-guide/ios.md @@ -23,9 +23,9 @@ First, click the [link](https://www.icloud.com/shortcuts/cc568d1615bc4f998789f85 ![screenshot](../../assets/img/sc1half.png) -Next, you need to replace `url` and `port` with the information for your mealie instance. +Next, you need to replace `url` and `port` with the information for your Mealie instance. -If you have a TLD that you use, put that here with no port. If you just run local, Then, you need to put in your mealie instance IP and the port of `9926`. +If you have a domain that you use (e.g. `https://mealie.example.com`), put that here. If you just run local, then you need to put in your Mealie instance IP and the port you use (e.g. the default is `9925`). ![screenshot](../../assets/img/sc2half.png) @@ -36,4 +36,4 @@ Finally, you need to replace the word `keyhere` with your API token. Keep the wo ![screenshot](../../assets/img/sc3half.png) -You should now be able to share a website to the shortcut and have mealie grab all the necessary information! +You should now be able to share a website to the shortcut and have Mealie grab all the necessary information! diff --git a/docs/docs/documentation/getting-started/installation/backend-config.md b/docs/docs/documentation/getting-started/installation/backend-config.md index b0cb440edf56..dce06309bc20 100644 --- a/docs/docs/documentation/getting-started/installation/backend-config.md +++ b/docs/docs/documentation/getting-started/installation/backend-config.md @@ -4,19 +4,17 @@ ### General -| Variables | Default | Description | -| ---------------- | :-------------------: | ----------------------------------------------------------------------------------- | -| PUID | 911 | UserID permissions between host OS and container | -| PGID | 911 | GroupID permissions between host OS and container | -| DEFAULT_GROUP | Home | The default group for users | -| DEFAULT_EMAIL | changeme@example.com | The default username for the superuser | -| DEFAULT_PASSWORD | MyPassword | The default password for the superuser | -| BASE_URL | http://localhost:8080 | Used for Notifications | -| TOKEN_TIME | 48 | The time in hours that a login/auth token is valid | -| API_PORT | 9000 | The port exposed by backend API. **Do not change this if you're running in Docker** | -| API_DOCS | True | Turns on/off access to the API documentation locally. | -| TZ | UTC | Must be set to get correct date/time on the server | -| ALLOW_SIGNUP | true | Allow user sign-up without token | +| Variables | Default | Description | +| ------------- | :-------------------: | ----------------------------------------------------------------------------------- | +| PUID | 911 | UserID permissions between host OS and container | +| PGID | 911 | GroupID permissions between host OS and container | +| DEFAULT_GROUP | Home | The default group for users | +| BASE_URL | http://localhost:8080 | Used for Notifications | +| TOKEN_TIME | 48 | The time in hours that a login/auth token is valid | +| API_PORT | 9000 | The port exposed by backend API. **Do not change this if you're running in Docker** | +| API_DOCS | True | Turns on/off access to the API documentation locally. | +| TZ | UTC | Must be set to get correct date/time on the server | +| ALLOW_SIGNUP | true | Allow user sign-up without token | ### Security diff --git a/docs/docs/documentation/getting-started/roadmap.md b/docs/docs/documentation/getting-started/roadmap.md index bb02a37fde74..fd4b6687650d 100644 --- a/docs/docs/documentation/getting-started/roadmap.md +++ b/docs/docs/documentation/getting-started/roadmap.md @@ -1,7 +1,7 @@ # Development Road Map ## Feature Requests -[Please request new features on Github](https://github.com/hay-kot/mealie/issues/317) +[Please request new features on Github](https://github.com/mealie-recipes/mealie/discussions/new?category=feature-request) ## Progress See the [Github Projects page](https://github.com/users/hay-kot/projects/2) to see what is currently being worked on diff --git a/frontend/assets/css/main.css b/frontend/assets/css/main.css index 160ed0d6dc58..c89c6620d669 100644 --- a/frontend/assets/css/main.css +++ b/frontend/assets/css/main.css @@ -2,6 +2,7 @@ .layout-leave-active { transition: opacity 0.2s; } + .layout-enter, .layout-leave-active { opacity: 0; @@ -16,15 +17,15 @@ } .theme--dark.v-application { - background-color: var(--v-background-base, #121212) !important; + background-color: var(--v-background-base, #1e1e1e) !important; } .theme--dark.v-navigation-drawer { - background-color: var(--v-background-base, #121212) !important; + background-color: var(--v-background-base, #1e1e1e) !important; } .theme--dark.v-card { - background-color: #2b2b2b !important; + background-color: #1e1e1e !important; } .left-border { diff --git a/frontend/components/Domain/Group/GroupMealPlanDayContextMenu.vue b/frontend/components/Domain/Group/GroupMealPlanDayContextMenu.vue new file mode 100644 index 000000000000..9eb740a81a46 --- /dev/null +++ b/frontend/components/Domain/Group/GroupMealPlanDayContextMenu.vue @@ -0,0 +1,145 @@ + + + diff --git a/frontend/components/Domain/Recipe/RecipeContextMenu.vue b/frontend/components/Domain/Recipe/RecipeContextMenu.vue index 1dc79fb813c6..fa1d6133f0e2 100644 --- a/frontend/components/Domain/Recipe/RecipeContextMenu.vue +++ b/frontend/components/Domain/Recipe/RecipeContextMenu.vue @@ -69,77 +69,12 @@ > - - - - - {{ list.name }} - - - - - - - - - - - - - -
- -
-
+ import { computed, defineComponent, reactive, toRefs, useContext, useRoute, useRouter, ref } from "@nuxtjs/composition-api"; -import RecipeIngredientListItem from "./RecipeIngredientListItem.vue"; +import RecipeDialogAddToShoppingList from "./RecipeDialogAddToShoppingList.vue"; import RecipeDialogPrintPreferences from "./RecipeDialogPrintPreferences.vue"; import RecipeDialogShare from "./RecipeDialogShare.vue"; import { useLoggedInState } from "~/composables/use-logged-in-state"; import { useUserApi } from "~/composables/api"; import { alert } from "~/composables/use-toast"; import { usePlanTypeOptions } from "~/composables/use-group-mealplan"; -import { Recipe, RecipeIngredient } from "~/lib/api/types/recipe"; +import { Recipe } from "~/lib/api/types/recipe"; import { ShoppingListSummary } from "~/lib/api/types/group"; import { PlanEntryType } from "~/lib/api/types/meal-plan"; import { useAxiosDownloader } from "~/composables/api/use-axios-download"; @@ -204,9 +139,9 @@ export interface ContextMenuItem { export default defineComponent({ components: { + RecipeDialogAddToShoppingList, RecipeDialogPrintPreferences, RecipeDialogShare, - RecipeIngredientListItem }, props: { useItems: { @@ -279,7 +214,6 @@ export default defineComponent({ recipeDeleteDialog: false, mealplannerDialog: false, shoppingListDialog: false, - shoppingListIngredientDialog: false, recipeDuplicateDialog: false, recipeName: props.name, loading: false, @@ -374,7 +308,7 @@ export default defineComponent({ } } - // Add leading and Apppending Items + // Add leading and Appending Items state.menuItems = [...state.menuItems, ...props.leadingItems, ...props.appendItems]; const icon = props.menuIcon || $globals.icons.dotsVertical; @@ -383,9 +317,8 @@ export default defineComponent({ // Context Menu Event Handler const shoppingLists = ref(); - const selectedShoppingList = ref(); const recipeRef = ref(props.recipe); - const recipeIngredients = ref<{ checked: boolean; ingredient: RecipeIngredient, disableAmount: boolean }[]>([]); + const recipeRefWithScale = computed(() => recipeRef.value ? { scale: props.recipeScale, ...recipeRef.value } : undefined); async function getShoppingLists() { const { data } = await api.shopping.lists.getAll(); @@ -401,61 +334,6 @@ export default defineComponent({ } } - async function openShoppingListIngredientDialog(list: ShoppingListSummary) { - selectedShoppingList.value = list; - if (!recipeRef.value) { - await refreshRecipe(); - } - - if (recipeRef.value?.recipeIngredient) { - recipeIngredients.value = recipeRef.value.recipeIngredient.map((ingredient) => { - return { - checked: true, - ingredient, - disableAmount: recipeRef.value.settings?.disableAmount || false - }; - }); - } - - state.shoppingListDialog = false; - state.shoppingListIngredientDialog = true; - } - - function bulkCheckIngredients(value = true) { - recipeIngredients.value.forEach((data) => { - data.checked = value; - }); - } - - async function addRecipeToList() { - if (!selectedShoppingList.value) { - return; - } - - const ingredients: RecipeIngredient[] = []; - recipeIngredients.value.forEach((data) => { - if (data.checked) { - ingredients.push(data.ingredient); - } - }); - - if (!ingredients.length) { - return; - } - - const { data } = await api.shopping.lists.addRecipe( - selectedShoppingList.value.id, - props.recipeId, - props.recipeScale, - ingredients - ); - if (data) { - alert.success(i18n.t("recipe.recipe-added-to-list") as string); - state.shoppingListDialog = false; - state.shoppingListIngredientDialog = false; - } - } - const router = useRouter(); async function deleteRecipe() { @@ -516,10 +394,12 @@ export default defineComponent({ state.printPreferencesDialog = true; }, shoppingList: () => { - getShoppingLists(); + const promises: Promise[] = [getShoppingLists()]; + if (!recipeRef.value) { + promises.push(refreshRecipe()); + } - state.shoppingListDialog = true; - state.shoppingListIngredientDialog = false; + Promise.allSettled(promises).then(() => { state.shoppingListDialog = true }); }, share: () => { state.shareDialog = true; @@ -544,28 +424,15 @@ export default defineComponent({ return { ...toRefs(state), recipeRef, + recipeRefWithScale, shoppingLists, - selectedShoppingList, - openShoppingListIngredientDialog, - addRecipeToList, - bulkCheckIngredients, duplicateRecipe, contextMenuEventHandler, deleteRecipe, addRecipeToPlan, icon, planTypeOptions, - recipeIngredients, }; }, }); - - diff --git a/frontend/components/Domain/Recipe/RecipeDialogAddToShoppingList.vue b/frontend/components/Domain/Recipe/RecipeDialogAddToShoppingList.vue new file mode 100644 index 000000000000..a3621043685c --- /dev/null +++ b/frontend/components/Domain/Recipe/RecipeDialogAddToShoppingList.vue @@ -0,0 +1,303 @@ + + + + + diff --git a/frontend/components/Domain/Recipe/RecipeList.vue b/frontend/components/Domain/Recipe/RecipeList.vue index 982370289ea7..4aa2958d2319 100644 --- a/frontend/components/Domain/Recipe/RecipeList.vue +++ b/frontend/components/Domain/Recipe/RecipeList.vue @@ -7,7 +7,7 @@ :class="attrs.class.sheet" :style="tile ? 'max-width: 100%; width: fit-content;' : 'width: 100%;'" > - + {{ $globals.icons.primary }} diff --git a/frontend/components/Domain/Recipe/RecipeOrganizerDialog.vue b/frontend/components/Domain/Recipe/RecipeOrganizerDialog.vue index e4c90090b31a..378cda2b061b 100644 --- a/frontend/components/Domain/Recipe/RecipeOrganizerDialog.vue +++ b/frontend/components/Domain/Recipe/RecipeOrganizerDialog.vue @@ -131,8 +131,8 @@ export default defineComponent({ async function select() { if (store) { - // @ts-ignore - only property really required is the name - await store.actions.createOne({ name: state.name }); + // @ts-expect-error the same state is used for different organizer types, which have different requirements + await store.actions.createOne({ ...state }); } const newItem = store.items.value.find((item) => item.name === state.name); diff --git a/frontend/components/Domain/Recipe/RecipeOrganizerPage.vue b/frontend/components/Domain/Recipe/RecipeOrganizerPage.vue index 2f832470b312..9d8c035fd9d9 100644 --- a/frontend/components/Domain/Recipe/RecipeOrganizerPage.vue +++ b/frontend/components/Domain/Recipe/RecipeOrganizerPage.vue @@ -16,6 +16,7 @@ + @@ -75,7 +76,7 @@ import Fuse from "fuse.js"; import { defineComponent, computed, ref, reactive, useContext, useRoute } from "@nuxtjs/composition-api"; import { useContextPresets } from "~/composables/use-context-presents"; import RecipeOrganizerDialog from "~/components/Domain/Recipe/RecipeOrganizerDialog.vue"; -import { RecipeOrganizer } from "~/lib/api/types/non-generated"; +import { Organizer, RecipeOrganizer } from "~/lib/api/types/non-generated"; import { useRouteQuery } from "~/composables/use-router"; import { deepCopy } from "~/composables/use-utils"; @@ -83,6 +84,7 @@ interface GenericItem { id: string; name: string; slug: string; + onHand: boolean; } export default defineComponent({ @@ -217,6 +219,7 @@ export default defineComponent({ updateTarget, deleteOne, deleteTarget, + Organizer, presets, itemsSorted, searchString, diff --git a/frontend/components/global/BaseOverflowButton.vue b/frontend/components/global/BaseOverflowButton.vue index d8f1820ba024..6c9aef686a02 100644 --- a/frontend/components/global/BaseOverflowButton.vue +++ b/frontend/components/global/BaseOverflowButton.vue @@ -14,33 +14,42 @@ - - - {{ item.icon }} - - {{ item.text }} - + - + - - - {{ item.icon }} - - {{ item.text }} - + @@ -64,6 +73,7 @@ export interface MenuItem { to?: string; value?: string; event?: string; + divider?: boolean; } export default defineComponent({ diff --git a/frontend/composables/use-locales/available-locales.ts b/frontend/composables/use-locales/available-locales.ts index b1322df04fca..d0737020e5c7 100644 --- a/frontend/composables/use-locales/available-locales.ts +++ b/frontend/composables/use-locales/available-locales.ts @@ -3,117 +3,117 @@ export const LOCALES = [ { name: "繁體中文 (Chinese traditional)", value: "zh-TW", - progress: 26, + progress: 28, }, { name: "简体中文 (Chinese simplified)", value: "zh-CN", - progress: 34, + progress: 65, }, { name: "Tiếng Việt (Vietnamese)", value: "vi-VN", - progress: 0, + progress: 2, }, { name: "Українська (Ukrainian)", value: "uk-UA", - progress: 100, + progress: 99, }, { name: "Türkçe (Turkish)", value: "tr-TR", - progress: 47, + progress: 50, }, { name: "Svenska (Swedish)", value: "sv-SE", - progress: 60, + progress: 71, }, { name: "српски (Serbian)", value: "sr-SP", - progress: 2, + progress: 4, }, { name: "Slovenian", value: "sl-SI", - progress: 47, + progress: 49, }, { name: "Slovak", value: "sk-SK", - progress: 99, + progress: 97, }, { name: "Pусский (Russian)", value: "ru-RU", - progress: 31, + progress: 99, }, { name: "Română (Romanian)", value: "ro-RO", - progress: 12, + progress: 32, }, { name: "Português (Portuguese)", value: "pt-PT", - progress: 69, + progress: 99, }, { name: "Português do Brasil (Brazilian Portuguese)", value: "pt-BR", - progress: 97, + progress: 98, }, { name: "Polski (Polish)", value: "pl-PL", - progress: 99, + progress: 97, }, { name: "Norsk (Norwegian)", value: "no-NO", - progress: 73, + progress: 85, }, { name: "Nederlands (Dutch)", value: "nl-NL", - progress: 100, + progress: 98, }, { name: "Latvian", value: "lv-LV", - progress: 0, + progress: 1, }, { name: "Lithuanian", value: "lt-LT", - progress: 99, + progress: 97, }, { name: "한국어 (Korean)", value: "ko-KR", - progress: 3, + progress: 5, }, { name: "日本語 (Japanese)", value: "ja-JP", - progress: 9, + progress: 11, }, { name: "Italiano (Italian)", value: "it-IT", - progress: 98, + progress: 96, }, { name: "Magyar (Hungarian)", value: "hu-HU", - progress: 43, + progress: 99, }, { name: "Croatian", value: "hr-HR", - progress: 100, + progress: 97, }, { name: "עברית (Hebrew)", @@ -123,27 +123,27 @@ export const LOCALES = [ { name: "Galician", value: "gl-ES", - progress: 0, + progress: 1, }, { name: "Français (French)", value: "fr-FR", - progress: 100, + progress: 99, }, { name: "French, Canada", value: "fr-CA", - progress: 54, + progress: 97, }, { name: "Suomi (Finnish)", value: "fi-FI", - progress: 31, + progress: 95, }, { name: "Español (Spanish)", value: "es-ES", - progress: 59, + progress: 76, }, { name: "American English", @@ -153,46 +153,46 @@ export const LOCALES = [ { name: "British English", value: "en-GB", - progress: 2, + progress: 4, }, { name: "Ελληνικά (Greek)", value: "el-GR", - progress: 33, + progress: 35, }, { name: "Deutsch (German)", value: "de-DE", - progress: 100, + progress: 99, }, { name: "Dansk (Danish)", value: "da-DK", - progress: 90, + progress: 100, }, { name: "Čeština (Czech)", value: "cs-CZ", - progress: 60, + progress: 66, }, { name: "Català (Catalan)", value: "ca-ES", - progress: 54, + progress: 61, }, { name: "Bulgarian", value: "bg-BG", - progress: 13, + progress: 99, }, { name: "العربية (Arabic)", value: "ar-SA", - progress: 7, + progress: 16, }, { name: "Afrikaans (Afrikaans)", value: "af-ZA", - progress: 0, + progress: 96, }, ] diff --git a/frontend/lang/messages/af-ZA.json b/frontend/lang/messages/af-ZA.json index 4834777c6600..24fe44f378d6 100644 --- a/frontend/lang/messages/af-ZA.json +++ b/frontend/lang/messages/af-ZA.json @@ -124,6 +124,7 @@ "no-recipe-found": "Geen resep gevind nie", "ok": "OK", "options": "Opsies:", + "plural-name": "Plural Name", "print": "Druk", "print-preferences": "Drukvoorkeure", "random": "Willekeurig", @@ -462,7 +463,9 @@ "add-to-plan": "Voeg by plan", "add-to-timeline": "Voeg by tydlyn", "recipe-added-to-list": "Resep by lys gevoeg", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Resep is by die maaltydplan gevoeg", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Kon nie resep by maaltydplan voeg nie", "yield": "Resultaat", "quantity": "Hoeveelheid", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "Gebruiker kan ander na groep nooi", "user-can-manage-group": "Gebruiker kan groep bestuur", "user-can-organize-group-data": "Gebruiker kan groepdata organiseer", - "enable-advanced-features": "Aktiveer gevorderde funksies" + "enable-advanced-features": "Aktiveer gevorderde funksies", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "vertaal", @@ -888,7 +893,9 @@ "create-food": "Skep kos", "food-label": "Kos etiket", "edit-food": "Wysig kos", - "food-data": "Voedseldata" + "food-data": "Voedseldata", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Saai die databasis met algemene eenhede gebaseer op jou plaaslike taal.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Voeg {0} saam met {1}", "create-unit": "Skep eenheid", "abbreviation": "Afkorting", + "plural-abbreviation": "Plural Abbreviation", "description": "Beskrywing", "display-as-fraction": "Wys as breuk", "use-abbreviation": "Gebruik afkorting", "edit-unit": "Wysig eenheid", "unit-data": "Eenheiddata", "use-abbv": "Gebruik afkorting", - "fraction": "Breuk" + "fraction": "Breuk", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Vul die databasis met algemene etikette gebaseer op jou plaaslike taal.", @@ -934,6 +946,8 @@ "delete-recipes": "Verwyder resepte", "source-unit-will-be-deleted": "Bron-eenheid sal verwyder word" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Voorbeeld data", "seed": "Vul", "data-management": "Databestuur", @@ -941,7 +955,22 @@ "select-data": "Kies data", "select-language": "Kies taal", "columns": "Kolomme", - "combine": "Kombineer" + "combine": "Kombineer", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "Gebruiker registrasie", diff --git a/frontend/lang/messages/ar-SA.json b/frontend/lang/messages/ar-SA.json index 94bbc0545d63..0b3e5184a5aa 100644 --- a/frontend/lang/messages/ar-SA.json +++ b/frontend/lang/messages/ar-SA.json @@ -124,6 +124,7 @@ "no-recipe-found": "لم يتم العثور على وصفة", "ok": "موافق", "options": "الخيارات:", + "plural-name": "Plural Name", "print": "طباعة", "print-preferences": "إعدادات الطباعة", "random": "عشوائي", @@ -462,7 +463,9 @@ "add-to-plan": "Add to Plan", "add-to-timeline": "Add to Timeline", "recipe-added-to-list": "Recipe added to list", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Recipe added to mealplan", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Failed to add recipe to mealplan", "yield": "Yield", "quantity": "Quantity", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "User can invite other to group", "user-can-manage-group": "User can manage group", "user-can-organize-group-data": "User can organize group data", - "enable-advanced-features": "Enable advanced features" + "enable-advanced-features": "Enable advanced features", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "translated", @@ -888,7 +893,9 @@ "create-food": "Create Food", "food-label": "Food Label", "edit-food": "Edit Food", - "food-data": "Food Data" + "food-data": "Food Data", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Seed the database with common units based on your local language.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Merging {0} into {1}", "create-unit": "Create Unit", "abbreviation": "Abbreviation", + "plural-abbreviation": "Plural Abbreviation", "description": "Description", "display-as-fraction": "Display as Fraction", "use-abbreviation": "Use Abbreviation", "edit-unit": "Edit Unit", "unit-data": "Unit Data", "use-abbv": "Use Abbv.", - "fraction": "Fraction" + "fraction": "Fraction", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Seed the database with common labels based on your local language.", @@ -934,6 +946,8 @@ "delete-recipes": "Delete Recipes", "source-unit-will-be-deleted": "Source Unit will be deleted" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Seed Data", "seed": "Seed", "data-management": "Data Management", @@ -941,7 +955,22 @@ "select-data": "Select Data", "select-language": "Select Language", "columns": "Columns", - "combine": "Combine" + "combine": "Combine", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "User Registration", diff --git a/frontend/lang/messages/bg-BG.json b/frontend/lang/messages/bg-BG.json index 3ca298bc9b04..16e741eda106 100644 --- a/frontend/lang/messages/bg-BG.json +++ b/frontend/lang/messages/bg-BG.json @@ -124,6 +124,7 @@ "no-recipe-found": "Няма намерени рецепти", "ok": "Добре", "options": "Опции:", + "plural-name": "Plural Name", "print": "Принтирай", "print-preferences": "Настройки на принтиране", "random": "Произволно", @@ -462,7 +463,9 @@ "add-to-plan": "Добави към план", "add-to-timeline": "Добави към времевата линия", "recipe-added-to-list": "Рецептата е добавена към списъка", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Рецептата е добавена към хранителния план", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Рецептата не беше добавена към хранителния план", "yield": "Добив", "quantity": "Количество", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "Потребителя може да добавя други в групата", "user-can-manage-group": "Потребителя може да управлява групата", "user-can-organize-group-data": "Потребителя може да организира данните на групата", - "enable-advanced-features": "Включване на разширени функции" + "enable-advanced-features": "Включване на разширени функции", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "преведено", @@ -888,7 +893,9 @@ "create-food": "Създай храна", "food-label": "Заглавие на храната", "edit-food": "Редактирай храна", - "food-data": "Данни за храните" + "food-data": "Данни за храните", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Заредете базата данни с общи единици въз основа на Вашия местен език.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Обединяване на {0} с {1}", "create-unit": "Създаване на мерна единица", "abbreviation": "Абревиатура", + "plural-abbreviation": "Plural Abbreviation", "description": "Описание", "display-as-fraction": "Показване като фракция", "use-abbreviation": "Използвай съкращение", "edit-unit": "Редактирай мерна единица", "unit-data": "Данни на мерната единица", "use-abbv": "Използвай съкращение", - "fraction": "Фракция" + "fraction": "Фракция", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Заредете базата данни с общи етикети въз основа на Вашия местен език.", @@ -934,6 +946,8 @@ "delete-recipes": "Изтрий рецепти", "source-unit-will-be-deleted": "Изходната мерна единица ще бъде изтрита" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Сийд на данни", "seed": "Сийд", "data-management": "Управление на данни", @@ -941,7 +955,22 @@ "select-data": "Изберете данни", "select-language": "Изберете език", "columns": "Колони", - "combine": "Обедини" + "combine": "Обедини", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "Регистрации на потребител", diff --git a/frontend/lang/messages/ca-ES.json b/frontend/lang/messages/ca-ES.json index 93f637e8e5f9..8955165c29d0 100644 --- a/frontend/lang/messages/ca-ES.json +++ b/frontend/lang/messages/ca-ES.json @@ -124,6 +124,7 @@ "no-recipe-found": "No s'han trobat receptes", "ok": "D'acord", "options": "Opcions:", + "plural-name": "Plural Name", "print": "Imprimiu", "print-preferences": "Imprimiu les preferències", "random": "Aleatori", @@ -462,7 +463,9 @@ "add-to-plan": "Afegiu al menú", "add-to-timeline": "Afegir a la cronologia", "recipe-added-to-list": "Recepta afegida a la llista", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Recepta afegida al menú", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "S'ha produït un error afegint la recepta al menú", "yield": "Racions", "quantity": "Quantitat", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "User can invite other to group", "user-can-manage-group": "User can manage group", "user-can-organize-group-data": "User can organize group data", - "enable-advanced-features": "Enable advanced features" + "enable-advanced-features": "Enable advanced features", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "traduït", @@ -888,7 +893,9 @@ "create-food": "Create Food", "food-label": "Food Label", "edit-food": "Edit Food", - "food-data": "Food Data" + "food-data": "Food Data", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Afegeix a la base de dades les unitats més comunes en el vostre idioma.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Merging {0} into {1}", "create-unit": "Crea la unitat", "abbreviation": "Abbreviation", + "plural-abbreviation": "Plural Abbreviation", "description": "Description", "display-as-fraction": "Display as Fraction", "use-abbreviation": "Use Abbreviation", "edit-unit": "Edit Unit", "unit-data": "Unit Data", "use-abbv": "Use Abbv.", - "fraction": "Fraction" + "fraction": "Fraction", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Afegeix a la base de dades etiquetes comunes en el vostre idioma.", @@ -934,6 +946,8 @@ "delete-recipes": "Delete Recipes", "source-unit-will-be-deleted": "Source Unit will be deleted" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Dades d'exemple", "seed": "Seed", "data-management": "Data Management", @@ -941,7 +955,22 @@ "select-data": "Select Data", "select-language": "Select Language", "columns": "Columns", - "combine": "Combine" + "combine": "Combine", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "Registre d'usuari", diff --git a/frontend/lang/messages/cs-CZ.json b/frontend/lang/messages/cs-CZ.json index f5c2bdecb5e7..64560599b1e1 100644 --- a/frontend/lang/messages/cs-CZ.json +++ b/frontend/lang/messages/cs-CZ.json @@ -124,6 +124,7 @@ "no-recipe-found": "Nebyl nalezen žádný recept", "ok": "OK", "options": "Možnosti:", + "plural-name": "Plural Name", "print": "Tisk", "print-preferences": "Tisk předvoleb", "random": "Náhodný", @@ -462,7 +463,9 @@ "add-to-plan": "Přidat do jídelníčku", "add-to-timeline": "Add to Timeline", "recipe-added-to-list": "Recept byl přidán na seznam", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Recept byl přidán do jídelníčku", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Přidání receptu do jídelníčku selhalo", "yield": "Úroda", "quantity": "Množství", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "User can invite other to group", "user-can-manage-group": "User can manage group", "user-can-organize-group-data": "User can organize group data", - "enable-advanced-features": "Enable advanced features" + "enable-advanced-features": "Enable advanced features", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "přeloženo", @@ -888,7 +893,9 @@ "create-food": "Create Food", "food-label": "Food Label", "edit-food": "Edit Food", - "food-data": "Food Data" + "food-data": "Food Data", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Naplnit databázi s běžnými jednotkami používanými ve vašem jazyce.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Merging {0} into {1}", "create-unit": "Create Unit", "abbreviation": "Abbreviation", + "plural-abbreviation": "Plural Abbreviation", "description": "Description", "display-as-fraction": "Display as Fraction", "use-abbreviation": "Use Abbreviation", "edit-unit": "Edit Unit", "unit-data": "Unit Data", "use-abbv": "Používat zkratky", - "fraction": "Zlomek" + "fraction": "Zlomek", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Naplnit databázi s běžnými popisky používanými ve vašem jazyce.", @@ -934,6 +946,8 @@ "delete-recipes": "Smazat recepty", "source-unit-will-be-deleted": "Source Unit will be deleted" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Seed Data", "seed": "Seed", "data-management": "Data Management", @@ -941,7 +955,22 @@ "select-data": "Vybrat data", "select-language": "Select Language", "columns": "Sloupce", - "combine": "Kombinovat" + "combine": "Kombinovat", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "Registrace uživatele", diff --git a/frontend/lang/messages/da-DK.json b/frontend/lang/messages/da-DK.json index d754df583515..c1ccabc96f55 100644 --- a/frontend/lang/messages/da-DK.json +++ b/frontend/lang/messages/da-DK.json @@ -124,6 +124,7 @@ "no-recipe-found": "Ingen opskrift fundet", "ok": "Ok", "options": "Valgmuligheder:", + "plural-name": "Navn i flertal", "print": "Udskriv", "print-preferences": "Print indstillinger", "random": "Tilfældig", @@ -462,7 +463,9 @@ "add-to-plan": "Tilføj til madplan", "add-to-timeline": "Tilføj til tidslinje", "recipe-added-to-list": "Opskrift tilføjet til listen", + "recipes-added-to-list": "Opskrifter tilføjet til listen", "recipe-added-to-mealplan": "Opskrift tilføjet til madplanen", + "failed-to-add-recipes-to-list": "Kunne ikke tilføje opskrift til listen", "failed-to-add-recipe-to-mealplan": "Kunne ikke tilføje opskrift til madplanen", "yield": "Portioner", "quantity": "Antal", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "Bruger kan invitere andre til gruppen", "user-can-manage-group": "Bruger kan administrere gruppen", "user-can-organize-group-data": "Bruger kan organisere gruppedata", - "enable-advanced-features": "Aktiver avancerede funktioner" + "enable-advanced-features": "Aktiver avancerede funktioner", + "it-looks-like-this-is-your-first-time-logging-in": "Det ser ud til, at det er første gang, at du logger ind.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Vil du ikke længere se dette? Sørg for at ændre din e-mail i dine brugerindstillinger!" }, "language-dialog": { "translated": "oversat", @@ -888,7 +893,9 @@ "create-food": "Opret fødevare", "food-label": "Etiket på fødevare", "edit-food": "Redigér fødevare", - "food-data": "Oplysninger om fødevare" + "food-data": "Oplysninger om fødevare", + "example-food-singular": "fx.: grøntsag", + "example-food-plural": "fx.: grøntsager" }, "units": { "seed-dialog-text": "Opret standard enheder i dit sprog.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Samler {0} med {1}", "create-unit": "Opret enhed", "abbreviation": "Forkortelse", + "plural-abbreviation": "Forkortelse af flertal", "description": "Beskriveslse", "display-as-fraction": "Vis som brøk", "use-abbreviation": "Anvend forkortelse", "edit-unit": "Rediger enhed", "unit-data": "Enhedsoplysninger", "use-abbv": "Anvend forkortelse", - "fraction": "Brøkdel" + "fraction": "Brøkdel", + "example-unit-singular": "fx.: teske", + "example-unit-plural": "fx.: teskeer", + "example-unit-abbreviation-singular": "fx.: tsk", + "example-unit-abbreviation-plural": "fx.: tsk" }, "labels": { "seed-dialog-text": "Opret standard etiketter på dit sprog.", @@ -934,6 +946,8 @@ "delete-recipes": "Slet Opskrifter", "source-unit-will-be-deleted": "Kildeenhed vil blive slettet" }, + "create-alias": "Opret alias", + "manage-aliases": "Administrer Aliaser", "seed-data": "Opret standard data", "seed": "Frø", "data-management": "Datastyring", @@ -941,7 +955,22 @@ "select-data": "vælg data", "select-language": "Vælg sprog", "columns": "Kolonner", - "combine": "Kombinér" + "combine": "Kombinér", + "categories": { + "edit-category": "Rediger kategori", + "new-category": "Ny kategori", + "category-data": "Kategoridata" + }, + "tags": { + "new-tag": "Nyt mærke", + "edit-tag": "Rediger Mærke", + "tag-data": "Mærke data" + }, + "tools": { + "new-tool": "Nyt Værktøj", + "edit-tool": "Redigér værktøjer", + "tool-data": "Værktøjs Data" + } }, "user-registration": { "user-registration": "Brugerregistrering", diff --git a/frontend/lang/messages/de-DE.json b/frontend/lang/messages/de-DE.json index 43804fc2918b..7881a772cc99 100644 --- a/frontend/lang/messages/de-DE.json +++ b/frontend/lang/messages/de-DE.json @@ -124,6 +124,7 @@ "no-recipe-found": "Kein Rezept gefunden", "ok": "OK", "options": "Optionen:", + "plural-name": "Mehrzahl", "print": "Drucken", "print-preferences": "Druckeinstellungen", "random": "Zufall", @@ -462,7 +463,9 @@ "add-to-plan": "Zum Essensplan hinzufügen", "add-to-timeline": "Zum Zeitstrahl hinzufügen", "recipe-added-to-list": "Rezept wurde zur Einkaufsliste hinzugefügt", + "recipes-added-to-list": "Rezepte wurden zur Einkaufsliste hinzugefügt", "recipe-added-to-mealplan": "Rezept zum Essensplan hinzugefügt", + "failed-to-add-recipes-to-list": "Fehler beim Hinzufügen des Rezepts zur Einkaufsliste", "failed-to-add-recipe-to-mealplan": "Fehler beim Hinzufügen des Rezepts zum Essensplan", "yield": "Portionsangabe", "quantity": "Menge", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "Benutzer kann andere in Gruppe einladen", "user-can-manage-group": "Benutzer kann Gruppe verwalten", "user-can-organize-group-data": "Benutzer kann Gruppendaten bearbeiten", - "enable-advanced-features": "Erweiterte Funktionen aktivieren" + "enable-advanced-features": "Erweiterte Funktionen aktivieren", + "it-looks-like-this-is-your-first-time-logging-in": "Es sieht so aus, als ob du dich zum ersten Mal anmeldest.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Möchtest du das hier nicht mehr sehen? Bitte ändere deine E-Mail in den Benutzereinstellungen!" }, "language-dialog": { "translated": "übersetzt", @@ -888,7 +893,9 @@ "create-food": "Lebensmittel erstellen", "food-label": "Lebensmittel Etikett", "edit-food": "Lebensmittel bearbeiten", - "food-data": "Lebensmitteldaten" + "food-data": "Lebensmitteldaten", + "example-food-singular": "z.B. Zwiebel", + "example-food-plural": "z.B. Zwiebeln" }, "units": { "seed-dialog-text": "Füllt die Datenbank mit gängigen Maßeinheiten basierend auf deiner Sprache.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "{0} wird in {1} zusammengeführt", "create-unit": "Einheit erstellen", "abbreviation": "Abkürzung", + "plural-abbreviation": "Mehrzahl Abkürzung", "description": "Beschreibung", "display-as-fraction": "Als Bruchzahl anzeigen", "use-abbreviation": "Abkürzungen verwenden", "edit-unit": "Einheit bearbeiten", "unit-data": "Einheitendaten", "use-abbv": "Verwende Abk.", - "fraction": "Bruchzahl" + "fraction": "Bruchzahl", + "example-unit-singular": "z.B. gehäufter Teelöffel", + "example-unit-plural": "z.B. gehäufte Teelöffel", + "example-unit-abbreviation-singular": "z.B. geh. TL", + "example-unit-abbreviation-plural": "z.B. geh. TL" }, "labels": { "seed-dialog-text": "Füllt die Datenbank mit gängigen Etiketten basierend auf deiner Sprache.", @@ -934,6 +946,8 @@ "delete-recipes": "Rezepte löschen", "source-unit-will-be-deleted": "Quell-Einheit wird gelöscht" }, + "create-alias": "Alias erstellen", + "manage-aliases": "Aliasse verwalten", "seed-data": "Musterdaten", "seed": "Musterdaten", "data-management": "Datenverwaltung", @@ -941,7 +955,22 @@ "select-data": "Daten auswählen", "select-language": "Sprache wählen", "columns": "Spalten", - "combine": "Zusammenführen" + "combine": "Zusammenführen", + "categories": { + "edit-category": "Kategorie bearbeiten", + "new-category": "Neue Kategorie", + "category-data": "Kategorien-Daten" + }, + "tags": { + "new-tag": "Neues Schlagwort", + "edit-tag": "Schlagwort bearbeiten", + "tag-data": "Schlagworte-Daten" + }, + "tools": { + "new-tool": "Neues Utensil", + "edit-tool": "Utensil bearbeiten", + "tool-data": "Utensilien-Daten" + } }, "user-registration": { "user-registration": "Benutzerregistrierung", diff --git a/frontend/lang/messages/el-GR.json b/frontend/lang/messages/el-GR.json index de1150d617d9..4450773da31a 100644 --- a/frontend/lang/messages/el-GR.json +++ b/frontend/lang/messages/el-GR.json @@ -124,6 +124,7 @@ "no-recipe-found": "Δεν βρέθηκαν συνταγές", "ok": "ΟΚ", "options": "Επιλογές:", + "plural-name": "Plural Name", "print": "Εκτύπωση", "print-preferences": "Προτιμήσεις Εκτύπωσης", "random": "Τυχαίο", @@ -462,7 +463,9 @@ "add-to-plan": "Add to Plan", "add-to-timeline": "Add to Timeline", "recipe-added-to-list": "Recipe added to list", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Recipe added to mealplan", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Failed to add recipe to mealplan", "yield": "Yield", "quantity": "Quantity", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "User can invite other to group", "user-can-manage-group": "User can manage group", "user-can-organize-group-data": "User can organize group data", - "enable-advanced-features": "Enable advanced features" + "enable-advanced-features": "Enable advanced features", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "μεταφρασμένο", @@ -888,7 +893,9 @@ "create-food": "Create Food", "food-label": "Food Label", "edit-food": "Edit Food", - "food-data": "Food Data" + "food-data": "Food Data", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Seed the database with common units based on your local language.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Merging {0} into {1}", "create-unit": "Create Unit", "abbreviation": "Abbreviation", + "plural-abbreviation": "Plural Abbreviation", "description": "Description", "display-as-fraction": "Display as Fraction", "use-abbreviation": "Use Abbreviation", "edit-unit": "Edit Unit", "unit-data": "Unit Data", "use-abbv": "Use Abbv.", - "fraction": "Fraction" + "fraction": "Fraction", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Seed the database with common labels based on your local language.", @@ -934,6 +946,8 @@ "delete-recipes": "Delete Recipes", "source-unit-will-be-deleted": "Source Unit will be deleted" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Seed Data", "seed": "Seed", "data-management": "Data Management", @@ -941,7 +955,22 @@ "select-data": "Select Data", "select-language": "Select Language", "columns": "Columns", - "combine": "Combine" + "combine": "Combine", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "User Registration", diff --git a/frontend/lang/messages/en-GB.json b/frontend/lang/messages/en-GB.json index b053870c5a8d..639b717e7bc9 100644 --- a/frontend/lang/messages/en-GB.json +++ b/frontend/lang/messages/en-GB.json @@ -124,6 +124,7 @@ "no-recipe-found": "No Recipe Found", "ok": "OK", "options": "Options:", + "plural-name": "Plural Name", "print": "Print", "print-preferences": "Print Preferences", "random": "Random", @@ -463,7 +464,9 @@ "add-to-plan": "Add to Plan", "add-to-timeline": "Add to Timeline", "recipe-added-to-list": "Recipe added to list", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Recipe added to mealplan", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Failed to add recipe to mealplan", "yield": "Yield", "quantity": "Quantity", @@ -868,7 +871,9 @@ "user-can-invite-other-to-group": "User can invite other to group", "user-can-manage-group": "User can manage group", "user-can-organize-group-data": "User can organize group data", - "enable-advanced-features": "Enable advanced features" + "enable-advanced-features": "Enable advanced features", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "translated", @@ -889,7 +894,9 @@ "create-food": "Create Food", "food-label": "Food Label", "edit-food": "Edit Food", - "food-data": "Food Data" + "food-data": "Food Data", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Seed the database with common units based on your local language.", @@ -900,13 +907,18 @@ "merging-unit-into-unit": "Merging {0} into {1}", "create-unit": "Create Unit", "abbreviation": "Abbreviation", + "plural-abbreviation": "Plural Abbreviation", "description": "Description", "display-as-fraction": "Display as Fraction", "use-abbreviation": "Use Abbreviation", "edit-unit": "Edit Unit", "unit-data": "Unit Data", "use-abbv": "Use Abbv.", - "fraction": "Fraction" + "fraction": "Fraction", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Seed the database with common labels based on your local language.", @@ -935,6 +947,8 @@ "delete-recipes": "Delete Recipes", "source-unit-will-be-deleted": "Source Unit will be deleted" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Seed Data", "seed": "Seed", "data-management": "Data Management", @@ -942,7 +956,22 @@ "select-data": "Select Data", "select-language": "Select Language", "columns": "Columns", - "combine": "Combine" + "combine": "Combine", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "User Registration", diff --git a/frontend/lang/messages/en-US.json b/frontend/lang/messages/en-US.json index a402fd09f11b..da9dfcc6fd39 100644 --- a/frontend/lang/messages/en-US.json +++ b/frontend/lang/messages/en-US.json @@ -464,7 +464,9 @@ "add-to-plan": "Add to Plan", "add-to-timeline": "Add to Timeline", "recipe-added-to-list": "Recipe added to list", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Recipe added to mealplan", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Failed to add recipe to mealplan", "yield": "Yield", "quantity": "Quantity", @@ -869,7 +871,9 @@ "user-can-invite-other-to-group": "User can invite other to group", "user-can-manage-group": "User can manage group", "user-can-organize-group-data": "User can organize group data", - "enable-advanced-features": "Enable advanced features" + "enable-advanced-features": "Enable advanced features", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "translated", @@ -952,7 +956,22 @@ "select-data": "Select Data", "select-language": "Select Language", "columns": "Columns", - "combine": "Combine" + "combine": "Combine", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "User Registration", diff --git a/frontend/lang/messages/es-ES.json b/frontend/lang/messages/es-ES.json index 56bb3a469b1c..121e0ef90791 100644 --- a/frontend/lang/messages/es-ES.json +++ b/frontend/lang/messages/es-ES.json @@ -124,6 +124,7 @@ "no-recipe-found": "Receta no encontrada", "ok": "Aceptar", "options": "Opciones:", + "plural-name": "Nombre en plural", "print": "Imprimir", "print-preferences": "Preferencias de impresión", "random": "Aleatorio", @@ -369,7 +370,7 @@ "trim-whitespace-description": "Eliminar espacios en blanco iniciales y finales así como líneas en blanco", "trim-prefix-description": "Eliminar el primer carácter de cada línea", "split-by-numbered-line-description": "Intenta dividir un párrafo utilizando los patrones '1)' o '1.'", - "import-by-url": "Importar una receta por URL", + "import-by-url": "Importar una receta desde URL", "create-manually": "Crear receta manualmente", "make-recipe-image": "Haz de esta la imagen de la receta" }, @@ -462,7 +463,9 @@ "add-to-plan": "Agregar al menú", "add-to-timeline": "Añadir al cronograma", "recipe-added-to-list": "Receta añadida a la lista", + "recipes-added-to-list": "Recetas añadidas a la lista", "recipe-added-to-mealplan": "Receta añadida al menú", + "failed-to-add-recipes-to-list": "Error al añadir las recetas a la lista", "failed-to-add-recipe-to-mealplan": "Error al añadir receta al menú", "yield": "Raciones", "quantity": "Cantidad", @@ -500,7 +503,7 @@ "how-did-it-turn-out": "¿Cómo resultó esto?", "user-made-this": "{user} hizo esto", "last-made-date": "Cocinado por última vez el {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom json key/value pairs within a recipe to reference from 3rd part applications. You can use these keys to contain information to trigger automation or custom messages to relay to your desired device.", + "api-extras-description": "Los extras de las recetas son una característica clave de la API de Mealie. Permiten crear pares json clave/valor personalizados dentro de una receta para acceder desde aplicaciones de terceros. Puede utilizar estas claves para almacenar información, para activar la automatización o mensajes personalizados para transmitir al dispositivo deseado.", "message-key": "Clave de mensaje", "parse": "Analizar", "attach-images-hint": "Adjuntar imágenes arrastrando y soltando en el editor", @@ -520,7 +523,7 @@ "create-a-recipe-by-providing-the-name-all-recipes-must-have-unique-names": "Crear una receta proporcionando el nombre. Todas las recetas deben tener nombres únicos.", "new-recipe-names-must-be-unique": "El nombre de la receta debe ser único", "scrape-recipe": "Analiza receta", - "scrape-recipe-description": "Scrape a recipe by url. Provide the url for the site you want to scrape, and Mealie will attempt to scrape the recipe from that site and add it to your collection.", + "scrape-recipe-description": "Importa una receta por URL. Proporcione la URL para el sitio que desea importar, y Mealie intentará importar la receta de ese sitio y añadirla a su colección.", "import-original-keywords-as-tags": "Importar palabras clave originales como etiquetas", "stay-in-edit-mode": "Permanecer en modo edición", "import-from-zip": "Importar desde zip", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "El usuario puede invitar a otros al grupo", "user-can-manage-group": "El usuario puede administrar el grupo", "user-can-organize-group-data": "El usuario puede organizar los datos del grupo", - "enable-advanced-features": "Habilitar Características Avanzadas" + "enable-advanced-features": "Habilitar Características Avanzadas", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "traducido", @@ -888,7 +893,9 @@ "create-food": "Crear Alimento", "food-label": "Etiqueta de Alimento", "edit-food": "Editar Alimento", - "food-data": "Datos de Alimento" + "food-data": "Datos de Alimento", + "example-food-singular": "ej: Cebolla", + "example-food-plural": "ej: Cebollas" }, "units": { "seed-dialog-text": "Añade a la base de datos unidades comunes basadas en su idioma local.", @@ -899,23 +906,28 @@ "merging-unit-into-unit": "Merging {0} into {1}", "create-unit": "Create Unit", "abbreviation": "Abreviatura", + "plural-abbreviation": "Abreviatura en plural", "description": "Descripción", "display-as-fraction": "Display as Fraction", "use-abbreviation": "Usar Abreviaturas", "edit-unit": "Editar unidad", "unit-data": "Unit Data", - "use-abbv": "Use Abbv.", - "fraction": "Fraction" + "use-abbv": "Usar Abr.", + "fraction": "Fracción", + "example-unit-singular": "ej: Cucharada", + "example-unit-plural": "ej: Cucharadas", + "example-unit-abbreviation-singular": "ej: Cda", + "example-unit-abbreviation-plural": "ej: Cdas" }, "labels": { "seed-dialog-text": "Añade a la base de datos etiquetas comunes basadas en su idioma local.", "edit-label": "Editar etiqueta", "new-label": "Nueva etiqueta", - "labels": "Labels" + "labels": "Etiquetas" }, "recipes": { - "purge-exports": "Purge Exports", - "are-you-sure-you-want-to-delete-all-export-data": "Are you sure you want to delete all export data?", + "purge-exports": "Limpiar exportaciones", + "are-you-sure-you-want-to-delete-all-export-data": "¿Está seguro de que desea eliminar todos sus datos de exportación?", "confirm-delete-recipes": "Are you sure you want to delete the following recipes? This action cannot be undone.", "the-following-recipes-selected-length-will-be-exported": "The following recipes ({0}) will be exported.", "settings-chosen-explanation": "Settings chosen here, excluding the locked option, will be applied to all selected recipes.", @@ -928,20 +940,37 @@ "tag": "Etiqueta", "categorize": "Clasificar", "update-settings": "Actualizar configuración", - "tag-recipes": "Tag Recipes", + "tag-recipes": "Etiquetar Recetas", "categorize-recipes": "Categorizar recetas", "export-recipes": "Exportar recetas", "delete-recipes": "Borrar Recetas", "source-unit-will-be-deleted": "Source Unit will be deleted" }, + "create-alias": "Crear un Alias", + "manage-aliases": "Administrar Alias", "seed-data": "Datos de ejemplo", - "seed": "Seed", + "seed": "Semilla", "data-management": "Data Management", "data-management-description": "Select which data set you want to make changes to.", "select-data": "Seleccionar datos", "select-language": "Seleccionar idioma", "columns": "Columnas", - "combine": "Combinar" + "combine": "Combinar", + "categories": { + "edit-category": "Editar Categoría", + "new-category": "Nueva Categoría", + "category-data": "Datos de la categoría" + }, + "tags": { + "new-tag": "Nueva Etiqueta", + "edit-tag": "Editar Etiqueta", + "tag-data": "Etiquetar Datos" + }, + "tools": { + "new-tool": "Nueva Herramienta", + "edit-tool": "Editar Herramienta", + "tool-data": "Datos Herramienta" + } }, "user-registration": { "user-registration": "Registro de usuario", @@ -992,7 +1021,7 @@ "ocr-editor": { "ocr-editor": "Editor de OCR", "selection-mode": "Modo de selección", - "pan-and-zoom-picture": "Pan and zoom picture", + "pan-and-zoom-picture": "Desplazar y hacer zoom en la imagen", "split-text": "Split text", "preserve-line-breaks": "Preserve original line breaks", "split-by-block": "Split by text block", @@ -1040,16 +1069,16 @@ "action-delete-log-files-description": "Deletes all the log files", "action-clean-directories-name": "Clean Directories", "action-clean-directories-description": "Removes all the recipe folders that are not valid UUIDs", - "action-clean-temporary-files-name": "Clean Temporary Files", - "action-clean-temporary-files-description": "Removes all files and folders in the .temp directory", - "action-clean-images-name": "Clean Images", + "action-clean-temporary-files-name": "Eliminar archivos temporales", + "action-clean-temporary-files-description": "Eliminar todos los archivos y carpetas del directorio .temp", + "action-clean-images-name": "Limpiar imágenes", "action-clean-images-description": "Elimina todas las imágenes que no terminan con .webp", - "actions-description": "Maintenance actions are {destructive_in_bold} and should be used with caution. Performing any of these actions is {irreversible_in_bold}.", - "actions-description-destructive": "destructive", + "actions-description": "Las acciones de mantenimiento son {destructive_in_bold} y deben utilizarse con precaución. Realizar cualquiera de estas acciones es {irreversible_in_bold}.", + "actions-description-destructive": "destructivas", "actions-description-irreversible": "irreversible", - "logs-action-refresh": "Refresh Logs", - "logs-page-title": "Mealie Logs", - "logs-tail-lines-label": "Tail Lines" + "logs-action-refresh": "Actualizar Logs", + "logs-page-title": "Logs de Mealie", + "logs-tail-lines-label": "Últimas Líneas" }, "mainentance": { "actions-title": "Acciones" @@ -1063,28 +1092,28 @@ "ingredient-text": "Ingredient Text", "average-confident": "{0} Confident", "try-an-example": "Try an example", - "parser": "Parser", - "background-tasks": "Background Tasks", + "parser": "Procesador", + "background-tasks": "Tareas en Segundo Plano", "background-tasks-description": "Here you can view all the running background tasks and their status", "no-logs-found": "No Logs Found", - "tasks": "Tasks" + "tasks": "Tareas" }, "profile": { - "welcome-user": "👋 Welcome, {0}", - "description": "Manage your profile, recipes, and group settings.", - "get-invite-link": "Get Invite Link", - "get-public-link": "Get Public Link", - "account-summary": "Account Summary", - "account-summary-description": "Here's a summary of your group's information", + "welcome-user": "👋 Hola, {0}", + "description": "Administra tu perfil, recetas y ajustes de grupo.", + "get-invite-link": "Obtener enlace de invitación", + "get-public-link": "Obtener enlace público", + "account-summary": "Información de la cuenta", + "account-summary-description": "Este es un resumen de la información de tu grupo", "group-statistics": "Group Statistics", "group-statistics-description": "Your Group Statistics provide some insight how you're using Mealie.", - "storage-capacity": "Storage Capacity", + "storage-capacity": "Capacidad de almacenamiento", "storage-capacity-description": "Your storage capacity is a calculation of the images and assets you have uploaded.", "personal": "Personal", "personal-description": "These are settings that are personal to you. Changes here won't affect other users", - "user-settings": "User Settings", - "user-settings-description": "Manage your preferences, change your password, and update your email", - "api-tokens-description": "Manage your API Tokens for access from external applications", + "user-settings": "Ajustes de usuario", + "user-settings-description": "Administrar preferencias, cambiar contraseña y actualizar correo electrónico", + "api-tokens-description": "Administra tus API Tokens para acceder desde aplicaciones externas", "group-description": "These items are shared within your group. Editing one of them will change it for the whole group!", "group-settings": "Group Settings", "group-settings-description": "Manage your common group settings like mealplan and privacy settings.", @@ -1111,19 +1140,19 @@ "manage-members": "Gestionar miembros", "manage-webhooks": "Manage Webhooks", "manage-notifiers": "Manage Notifiers", - "manage-data-migrations": "Manage Data Migrations" + "manage-data-migrations": "Administrar Migraciones de Datos" }, "cookbook": { - "cookbooks": "Cookbooks", - "description": "Cookbooks are another way to organize recipes by creating cross sections of recipes and tags. Creating a cookbook will add an entry to the side-bar and all the recipes with the tags and categories chosen will be displayed in the cookbook.", - "public-cookbook": "Public Cookbook", - "public-cookbook-description": "Public Cookbooks can be shared with non-mealie users and will be displayed on your groups page.", + "cookbooks": "Recetarios", + "description": "Los recetarios son otra forma de organizar recetas creando secciones cruzadas de recetas y etiquetas. Crear un recetario añadirá una entrada a la barra lateral y todas las recetas con las etiquetas y categorías elegidas se mostrarán en el recetario.", + "public-cookbook": "Recetario público", + "public-cookbook-description": "Los recetarios públicos se pueden compartir con usuarios externos y se mostrarán en su página de grupos.", "filter-options": "Opciones de filtro", - "filter-options-description": "When require all is selected the cookbook will only include recipes that have all of the items selected. This applies to each subset of selectors and not a cross section of the selected items.", - "require-all-categories": "Require All Categories", - "require-all-tags": "Require All Tags", - "require-all-tools": "Require All Tools", - "cookbook-name": "Cookbook Name", - "cookbook-with-name": "Cookbook {0}" + "filter-options-description": "Cuando \"Requerir todo\" esté seleccionado, el recetario solo incluirá recetas que tengan todos los elementos seleccionados. Esto se aplica a cada subconjunto de selectores y no a una sección de los elementos seleccionados.", + "require-all-categories": "Requerir todas las categorías", + "require-all-tags": "Requerir todas las etiquetas", + "require-all-tools": "Requiere todas las herramientas", + "cookbook-name": "Nombre del recetario", + "cookbook-with-name": "Recetario {0}" } } diff --git a/frontend/lang/messages/fi-FI.json b/frontend/lang/messages/fi-FI.json index cf62306960f2..c7506a33a876 100644 --- a/frontend/lang/messages/fi-FI.json +++ b/frontend/lang/messages/fi-FI.json @@ -124,6 +124,7 @@ "no-recipe-found": "Reseptiä ei löytynyt", "ok": "OK", "options": "Valinnat:", + "plural-name": "Plural Name", "print": "Tulosta", "print-preferences": "Tulosta asetukset", "random": "Satunnainen", @@ -462,7 +463,9 @@ "add-to-plan": "Lisää suunnitelmaan", "add-to-timeline": "Lisää aikajanalle", "recipe-added-to-list": "Resepti lisätty listalle", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Resepti lisätty ateriasuunnitelmaan", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Reseptiä ei voitu lisätä ateriasuunnitelmaan", "yield": "Sato", "quantity": "Määrä", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "Käyttäjä voi kutsua muita ryhmään", "user-can-manage-group": "Käyttäjä voi hallita ryhmää", "user-can-organize-group-data": "Käyttäjä voi järjestellä ryhmän tietoja", - "enable-advanced-features": "Salli edistyneemmät ominaisuudet" + "enable-advanced-features": "Salli edistyneemmät ominaisuudet", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "käännetty", @@ -888,7 +893,9 @@ "create-food": "Luo elintarvike", "food-label": "Elintarvikkeiden nimike", "edit-food": "Muokkaa elintarviketta", - "food-data": "Elintarvikkeiden tiedot" + "food-data": "Elintarvikkeiden tiedot", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Lisää tietokantaan yksiköt paikallisen kielen perusteella.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Yhdistä {0} ja {1} yhdeksi", "create-unit": "Luo yksikkö", "abbreviation": "Lyhenne", + "plural-abbreviation": "Plural Abbreviation", "description": "Kuvaus", "display-as-fraction": "Näytä murtolukuna", "use-abbreviation": "Käytä Lyhennettä", "edit-unit": "Muokkaa yksiköitä", "unit-data": "Yksikkötiedot", "use-abbv": "Käytä lyhennettä.", - "fraction": "Murtoluku" + "fraction": "Murtoluku", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Lisää tietokantaan yleiset tunnisteet paikallisen kielen perusteella.", @@ -934,6 +946,8 @@ "delete-recipes": "Poista Reseptit", "source-unit-will-be-deleted": "Lähdeyksikkö poistetaan" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Tietokannan pohjadata", "seed": "Lisää pohjadata", "data-management": "Tietojen hallinta", @@ -941,7 +955,22 @@ "select-data": "Valitse Tiedot", "select-language": "Valitse kieli", "columns": "Sarakkeet", - "combine": "Yhdistä" + "combine": "Yhdistä", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "Käyttäjien rekisteröinti", diff --git a/frontend/lang/messages/fr-CA.json b/frontend/lang/messages/fr-CA.json index 6d3993e2a12b..3d0a88f5d210 100644 --- a/frontend/lang/messages/fr-CA.json +++ b/frontend/lang/messages/fr-CA.json @@ -124,6 +124,7 @@ "no-recipe-found": "Aucune recette trouvée", "ok": "OK", "options": "Options :", + "plural-name": "Nom au pluriel", "print": "Imprimer", "print-preferences": "Préférences d'impression", "random": "Aléatoire", @@ -462,7 +463,9 @@ "add-to-plan": "Ajouter à la planification des repas", "add-to-timeline": "Ajouter à l’historique", "recipe-added-to-list": "Recette ajoutée à la liste", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Recette ajoutée à la planification des repas", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Échec de l'ajout de la recette à la planification des repas", "yield": "Rendement", "quantity": "Quantité", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "L'utilisateur peut inviter quelqu'un au groupe", "user-can-manage-group": "L'utilisateur peut gérer le groupe", "user-can-organize-group-data": "L'utilisateur peut organiser des données de groupe", - "enable-advanced-features": "Activer les fonctions avancées" + "enable-advanced-features": "Activer les fonctions avancées", + "it-looks-like-this-is-your-first-time-logging-in": "Il semble que ce soit votre première connexion.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Vous ne voulez plus voir cela? Assurez-vous de changer votre adresse courriel dans vos paramètres d'utilisateur!" }, "language-dialog": { "translated": "traduit", @@ -888,7 +893,9 @@ "create-food": "Créer un aliment", "food-label": "Étiquette de l'aliment", "edit-food": "Modifier Aliment", - "food-data": "Données de l'aliment" + "food-data": "Données de l'aliment", + "example-food-singular": "ex : Oignon", + "example-food-plural": "ex : Oignons" }, "units": { "seed-dialog-text": "Initialisez la base de données avec des unités communes basées sur votre langue locale.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Fusion de {0} dans {1}", "create-unit": "Créer une unité", "abbreviation": "Abréviation", + "plural-abbreviation": "Abréviation au pluriel", "description": "Description", "display-as-fraction": "Afficher sous forme de fraction", "use-abbreviation": "Utiliser l'abréviation", "edit-unit": "Modifier l'unité", "unit-data": "Données de l'unité", "use-abbv": "Utiliser abr.", - "fraction": "Fraction" + "fraction": "Fraction", + "example-unit-singular": "ex : Cuillère à soupe", + "example-unit-plural": "ex : Cuillères à soupe", + "example-unit-abbreviation-singular": "ex : CàS", + "example-unit-abbreviation-plural": "ex : CàS" }, "labels": { "seed-dialog-text": "Initialisez la base de données avec des étiquettes communes basées sur votre langue locale.", @@ -934,6 +946,8 @@ "delete-recipes": "Supprimer les recettes", "source-unit-will-be-deleted": "L'unité source sera supprimée" }, + "create-alias": "Créer un alias", + "manage-aliases": "Gérer les alias", "seed-data": "Initialiser les données", "seed": "Initialiser", "data-management": "Gestion des données", @@ -941,7 +955,22 @@ "select-data": "Sélectionner les données", "select-language": "Sélectionnez une langue", "columns": "Colonnes", - "combine": "Combiner" + "combine": "Combiner", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "Inscription d’utilisateur", diff --git a/frontend/lang/messages/fr-FR.json b/frontend/lang/messages/fr-FR.json index 66d4c8a3ee3b..78f00e80bc2e 100644 --- a/frontend/lang/messages/fr-FR.json +++ b/frontend/lang/messages/fr-FR.json @@ -124,6 +124,7 @@ "no-recipe-found": "Aucune recette trouvée", "ok": "OK", "options": "Options :", + "plural-name": "Nom au pluriel", "print": "Imprimer", "print-preferences": "Préférences d'impression", "random": "Aléatoire", @@ -462,7 +463,9 @@ "add-to-plan": "Ajouter au menu", "add-to-timeline": "Ajouter à l’historique", "recipe-added-to-list": "Recette ajoutée à la liste", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Recette ajoutée au menu", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Échec de l’ajout de la recette au menu", "yield": "Nombre de portions", "quantity": "Quantité", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "L'utilisateur peut inviter quelqu'un au groupe", "user-can-manage-group": "L'utilisateur peut gérer le groupe", "user-can-organize-group-data": "L'utilisateur peut organiser des données de groupe", - "enable-advanced-features": "Activer les fonctions avancées" + "enable-advanced-features": "Activer les fonctions avancées", + "it-looks-like-this-is-your-first-time-logging-in": "Il semble que ce soit votre première connexion.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Vous ne voulez plus voir cela ? Assurez-vous de changer votre adresse e-mail dans vos paramètres d'utilisateur !" }, "language-dialog": { "translated": "traduit", @@ -888,7 +893,9 @@ "create-food": "Créer un aliment", "food-label": "Étiquette de l'aliment", "edit-food": "Modifier Aliment", - "food-data": "Données de l'aliment" + "food-data": "Données de l'aliment", + "example-food-singular": "ex : Oignon", + "example-food-plural": "ex : Oignons" }, "units": { "seed-dialog-text": "Initialisez la base de données avec des unités communes basées sur votre langue locale.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Fusion de {0} dans {1}", "create-unit": "Créer une unité", "abbreviation": "Abréviation", + "plural-abbreviation": "Abréviation au pluriel", "description": "Description", "display-as-fraction": "Afficher sous forme de fraction", "use-abbreviation": "Utiliser l'abréviation", "edit-unit": "Modifier l'unité", "unit-data": "Données de l'unité", "use-abbv": "Utiliser abr.", - "fraction": "Fraction" + "fraction": "Fraction", + "example-unit-singular": "ex : Cuillère à soupe", + "example-unit-plural": "ex : Cuillères à soupe", + "example-unit-abbreviation-singular": "ex : CàS", + "example-unit-abbreviation-plural": "ex : CàS" }, "labels": { "seed-dialog-text": "Initialisez la base de données avec des étiquettes communes basées sur votre langue locale.", @@ -934,6 +946,8 @@ "delete-recipes": "Supprimer les recettes", "source-unit-will-be-deleted": "L'unité source sera supprimée" }, + "create-alias": "Créer un alias", + "manage-aliases": "Gérer les alias", "seed-data": "Initialiser les données", "seed": "Initialiser", "data-management": "Gestion des données", @@ -941,7 +955,22 @@ "select-data": "Sélectionner les données", "select-language": "Sélectionnez une langue", "columns": "Colonnes", - "combine": "Combiner" + "combine": "Combiner", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "Inscription d’utilisateur", diff --git a/frontend/lang/messages/gl-ES.json b/frontend/lang/messages/gl-ES.json index 27802a2a2689..1285979c983d 100644 --- a/frontend/lang/messages/gl-ES.json +++ b/frontend/lang/messages/gl-ES.json @@ -124,6 +124,7 @@ "no-recipe-found": "No Recipe Found", "ok": "OK", "options": "Options:", + "plural-name": "Plural Name", "print": "Print", "print-preferences": "Print Preferences", "random": "Random", @@ -463,7 +464,9 @@ "add-to-plan": "Add to Plan", "add-to-timeline": "Add to Timeline", "recipe-added-to-list": "Recipe added to list", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Recipe added to mealplan", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Failed to add recipe to mealplan", "yield": "Yield", "quantity": "Quantity", @@ -868,7 +871,9 @@ "user-can-invite-other-to-group": "User can invite other to group", "user-can-manage-group": "User can manage group", "user-can-organize-group-data": "User can organize group data", - "enable-advanced-features": "Enable advanced features" + "enable-advanced-features": "Enable advanced features", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "translated", @@ -889,7 +894,9 @@ "create-food": "Create Food", "food-label": "Food Label", "edit-food": "Edit Food", - "food-data": "Food Data" + "food-data": "Food Data", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Seed the database with common units based on your local language.", @@ -900,13 +907,18 @@ "merging-unit-into-unit": "Merging {0} into {1}", "create-unit": "Create Unit", "abbreviation": "Abbreviation", + "plural-abbreviation": "Plural Abbreviation", "description": "Description", "display-as-fraction": "Display as Fraction", "use-abbreviation": "Use Abbreviation", "edit-unit": "Edit Unit", "unit-data": "Unit Data", "use-abbv": "Use Abbv.", - "fraction": "Fraction" + "fraction": "Fraction", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Seed the database with common labels based on your local language.", @@ -935,6 +947,8 @@ "delete-recipes": "Delete Recipes", "source-unit-will-be-deleted": "Source Unit will be deleted" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Seed Data", "seed": "Seed", "data-management": "Data Management", @@ -942,7 +956,22 @@ "select-data": "Select Data", "select-language": "Select Language", "columns": "Columns", - "combine": "Combine" + "combine": "Combine", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "User Registration", diff --git a/frontend/lang/messages/he-IL.json b/frontend/lang/messages/he-IL.json index d29c2c510789..ebbb0e2ff3be 100644 --- a/frontend/lang/messages/he-IL.json +++ b/frontend/lang/messages/he-IL.json @@ -124,6 +124,7 @@ "no-recipe-found": "לא נמצא מתכון", "ok": "אישור", "options": "אפשרויות:", + "plural-name": "Plural Name", "print": "הדפסה", "print-preferences": "העדפות הדפסה", "random": "אקראי", @@ -462,7 +463,9 @@ "add-to-plan": "הוספה לתכנית", "add-to-timeline": "הוסף לציר הזמן", "recipe-added-to-list": "מתכון נוסף לרשימה", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "מתכון נוסף לתכנון ארוחות", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "הוספת מתכון לתכנון ארוחות נכשלה", "yield": "תשואה", "quantity": "כמות", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "משתמש יכול להזמין אחרים לקבוצה", "user-can-manage-group": "משתמש יכול לנהל קבוצה", "user-can-organize-group-data": "משתמש יכול לשנות מידע של קבוצה", - "enable-advanced-features": "אפשר אפשרויות מתקדמות" + "enable-advanced-features": "אפשר אפשרויות מתקדמות", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "תורגם", @@ -888,7 +893,9 @@ "create-food": "צור אוכל", "food-label": "תוית אוכל", "edit-food": "עריכת מזון", - "food-data": "נתוני אוכל" + "food-data": "נתוני אוכל", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "אכלס את מסד הנתונים עם יחידות מדידה בהתאם לשפה המקומית שלך.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "ממזג את {0} לתוך {1}", "create-unit": "יצירת יחידה", "abbreviation": "קיצור", + "plural-abbreviation": "Plural Abbreviation", "description": "תיאור", "display-as-fraction": "הצגה כשבר", "use-abbreviation": "השתמש בקיצור", "edit-unit": "עריכת יחידה", "unit-data": "נתוני יחידה", "use-abbv": "השתמש בקיצור", - "fraction": "שבר" + "fraction": "שבר", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "אכלס את מסד הנתונים בתגיות נפוצות בהתאם לשפה המקומית שלך.", @@ -934,6 +946,8 @@ "delete-recipes": "מחיקת מתכונים", "source-unit-will-be-deleted": "יחידת המקור תמחק" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "אכלס נתונים", "seed": "אכלס", "data-management": "ניהול מידע", @@ -941,7 +955,22 @@ "select-data": "בחר נתונים", "select-language": "בחירת שפה", "columns": "עמודות", - "combine": "שילוב" + "combine": "שילוב", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "רישום משתמשים", diff --git a/frontend/lang/messages/hr-HR.json b/frontend/lang/messages/hr-HR.json index 4010d6512ac7..52b279f9c5f2 100644 --- a/frontend/lang/messages/hr-HR.json +++ b/frontend/lang/messages/hr-HR.json @@ -124,6 +124,7 @@ "no-recipe-found": "Nije Pronađen Recept", "ok": "OK", "options": "Opcije:", + "plural-name": "Plural Name", "print": "Ispiši", "print-preferences": "Postavke ispisa", "random": "Nasumično", @@ -462,7 +463,9 @@ "add-to-plan": "Dodaj u Plan", "add-to-timeline": "Add to Timeline", "recipe-added-to-list": "Recept je dodan na popis", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Recept je dodan u Plan", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Nije uspjelo dodavanje recepta u plan obroka", "yield": "Konačna Količina", "quantity": "Količina", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "Korisnik može pozvati druge u grupu", "user-can-manage-group": "Korisnik može upravljati grupom", "user-can-organize-group-data": "Korisnik može organizirati podatke grupe", - "enable-advanced-features": "Omogućite napredne značajke" + "enable-advanced-features": "Omogućite napredne značajke", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "prevedeno", @@ -888,7 +893,9 @@ "create-food": "Kreiraj Namirnicu", "food-label": "Prehrambena oznaka", "edit-food": "Uredi Namirnicu", - "food-data": "Podaci o Namirnici" + "food-data": "Podaci o Namirnici", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Popunite bazu podataka uobičajenim jedinicama na temelju vašeg lokalnog jezika.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Spajanje {0} u {1}", "create-unit": "Kreiraj Jedinicu", "abbreviation": "Oznaka Jedinice", + "plural-abbreviation": "Plural Abbreviation", "description": "Opis", "display-as-fraction": "Prikaži kao razlomak", "use-abbreviation": "Koristi oznaku Jedinice", "edit-unit": "Uredi Jedinicu", "unit-data": "Podaci Jedinice", "use-abbv": "Koristi Skraćenu oznaku.", - "fraction": "Razlomak" + "fraction": "Razlomak", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Popunite bazu podataka uobičajenim oznakama na temelju vašeg lokalnog jezika.", @@ -934,6 +946,8 @@ "delete-recipes": "Obriši Recepte", "source-unit-will-be-deleted": "Izvorna jedinica će biti izbrisana" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Unesi Podatke", "seed": "Seed", "data-management": "Upravljanje Podacima", @@ -941,7 +955,22 @@ "select-data": "Označite Podatke", "select-language": "Odaberite Jezik", "columns": "Stupci", - "combine": "Kombiniraj" + "combine": "Kombiniraj", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "Registracija Korisnika", diff --git a/frontend/lang/messages/hu-HU.json b/frontend/lang/messages/hu-HU.json index 67426caa9ba1..7f698b22ad62 100644 --- a/frontend/lang/messages/hu-HU.json +++ b/frontend/lang/messages/hu-HU.json @@ -124,6 +124,7 @@ "no-recipe-found": "Nem található recept", "ok": "OK", "options": "Opciók:", + "plural-name": "Név többes számban", "print": "Nyomtatás", "print-preferences": "Nyomtatási beállítások", "random": "Véletlenszerű", @@ -462,7 +463,9 @@ "add-to-plan": "Hozzáadás az étkezési tervhez", "add-to-timeline": "Hozzáadás idővonalhoz", "recipe-added-to-list": "Recept hozzáadva listához", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Recept hozzáadva menütervhez", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Nem sikerült hozzáadni a receptet a menütervhez", "yield": "Adag", "quantity": "Mennyiség", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "A felhasználó meghívhat másokat a csoportba", "user-can-manage-group": "A felhasználó csoportot kezelhet", "user-can-organize-group-data": "Felhasználó szerkesztheti a csoport adatait", - "enable-advanced-features": "Haladó funkciók engedélyezése" + "enable-advanced-features": "Haladó funkciók engedélyezése", + "it-looks-like-this-is-your-first-time-logging-in": "Úgy tűnik, most jelentkezik be először.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Nem akarja ezt többé látni? Mindenképpen változtassa meg az e-mail címét a felhasználói beállítások között!" }, "language-dialog": { "translated": "lefordítva", @@ -888,7 +893,9 @@ "create-food": "Étel készítése", "food-label": "Étel címke", "edit-food": "Étel szerkesztése", - "food-data": "Étel adatai" + "food-data": "Étel adatai", + "example-food-singular": "pl. Hagyma", + "example-food-plural": "pl. Hagymák" }, "units": { "seed-dialog-text": "Töltse be az Ön nyelve szerinti közös mennyiségi egységet tartalmazó adatbázist.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "{0} összevonása {1}-zel/zal", "create-unit": "Mennyiségi egység létrehozása", "abbreviation": "Rövidítés", + "plural-abbreviation": "Többes szám rövidítése", "description": "Megnevezés", "display-as-fraction": "Törtként való megjelenítés", "use-abbreviation": "Rövidítés használata", "edit-unit": "Mennyiségi egység szerkesztése", "unit-data": "Mennyiségi egység adatok", "use-abbv": "Rövidítés haszn.", - "fraction": "Tört" + "fraction": "Tört", + "example-unit-singular": "pl. Evőkanál", + "example-unit-plural": "pl. Evőkanalak", + "example-unit-abbreviation-singular": "pl. ek", + "example-unit-abbreviation-plural": "pl. ek" }, "labels": { "seed-dialog-text": "Töltse be az Ön nyelve szerinti közös címkélet tartalmazó adatbázist.", @@ -934,6 +946,8 @@ "delete-recipes": "Receptek törlése", "source-unit-will-be-deleted": "A forrás mennyiségi egység törlésre kerül" }, + "create-alias": "Alias készítése", + "manage-aliases": "Alias kezelése", "seed-data": "Kezdőérték adat", "seed": "Kezdőérték", "data-management": "Adatmenedzsment", @@ -941,7 +955,22 @@ "select-data": "Válassza ki az adatot", "select-language": "Nyelv kiválasztása", "columns": "Oszlopok", - "combine": "Összevonás" + "combine": "Összevonás", + "categories": { + "edit-category": "Kategória szerkesztése", + "new-category": "Új kategória", + "category-data": "Kategória adatai" + }, + "tags": { + "new-tag": "Új címke", + "edit-tag": "Címke szerkesztése", + "tag-data": "Címke adatok" + }, + "tools": { + "new-tool": "Új eszköz", + "edit-tool": "Eszköz szerkesztése", + "tool-data": "Eszköz adatai" + } }, "user-registration": { "user-registration": "Felhasználó regisztráció", diff --git a/frontend/lang/messages/it-IT.json b/frontend/lang/messages/it-IT.json index 650e5a6e593f..3014e57f34ef 100644 --- a/frontend/lang/messages/it-IT.json +++ b/frontend/lang/messages/it-IT.json @@ -124,6 +124,7 @@ "no-recipe-found": "Nessuna Ricetta Trovata", "ok": "OK", "options": "Opzioni:", + "plural-name": "Plural Name", "print": "Stampa", "print-preferences": "Preferenze Di Stampa", "random": "Casuale", @@ -462,7 +463,9 @@ "add-to-plan": "Aggiungi al piano giornaliero", "add-to-timeline": "Add to Timeline", "recipe-added-to-list": "Ricetta aggiunta alla lista", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Ricetta aggiunta al piano alimentare", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Impossibile aggiungere la ricetta al piano alimentare", "yield": "Porzioni", "quantity": "Quantità", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "L'utente può invitare altri al gruppo", "user-can-manage-group": "L'utente può gestire il gruppo", "user-can-organize-group-data": "L'utente può organizzare i dati del gruppo", - "enable-advanced-features": "Abilita funzionalità avanzate" + "enable-advanced-features": "Abilita funzionalità avanzate", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "tradotto", @@ -888,7 +893,9 @@ "create-food": "Crea Alimento", "food-label": "Etichetta Alimento", "edit-food": "Modifica Alimento", - "food-data": "Dati Alimento" + "food-data": "Dati Alimento", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Riempie il database con unità comuni basate sulla lingua.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Unione di {0} in {1}", "create-unit": "Crea Unità", "abbreviation": "Abbreviazione", + "plural-abbreviation": "Plural Abbreviation", "description": "Descrizione", "display-as-fraction": "Mostra come Frazione", "use-abbreviation": "Usa Abbreviazione", "edit-unit": "Modifica Unità", "unit-data": "Dati Unità", "use-abbv": "Utilizzare Abbrev.", - "fraction": "Frazione" + "fraction": "Frazione", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Riempie il database con etichette comuni basate sulla lingua.", @@ -934,6 +946,8 @@ "delete-recipes": "Elimina Ricette", "source-unit-will-be-deleted": "L'unità di origine verrà eliminata" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Dati Predefiniti", "seed": "Inizializza", "data-management": "Gestione Dati", @@ -941,7 +955,22 @@ "select-data": "Seleziona Dati", "select-language": "Seleziona Lingua", "columns": "Colonne", - "combine": "Unisci" + "combine": "Unisci", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "Registrazione Utente", diff --git a/frontend/lang/messages/ja-JP.json b/frontend/lang/messages/ja-JP.json index e04ec799f469..8b769d3d522e 100644 --- a/frontend/lang/messages/ja-JP.json +++ b/frontend/lang/messages/ja-JP.json @@ -124,6 +124,7 @@ "no-recipe-found": "レシピが見つかりません。", "ok": "OK", "options": "Options:", + "plural-name": "Plural Name", "print": "印刷", "print-preferences": "印刷設定", "random": "ランダム", @@ -463,7 +464,9 @@ "add-to-plan": "Add to Plan", "add-to-timeline": "Add to Timeline", "recipe-added-to-list": "Recipe added to list", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "レシピを献立に追加しました。", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "レシピを献立に追加する事に失敗しました。", "yield": "Yield", "quantity": "Quantity", @@ -868,7 +871,9 @@ "user-can-invite-other-to-group": "User can invite other to group", "user-can-manage-group": "User can manage group", "user-can-organize-group-data": "User can organize group data", - "enable-advanced-features": "Enable advanced features" + "enable-advanced-features": "Enable advanced features", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "translated", @@ -889,7 +894,9 @@ "create-food": "Create Food", "food-label": "Food Label", "edit-food": "Edit Food", - "food-data": "Food Data" + "food-data": "Food Data", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Seed the database with common units based on your local language.", @@ -900,13 +907,18 @@ "merging-unit-into-unit": "Merging {0} into {1}", "create-unit": "Create Unit", "abbreviation": "Abbreviation", + "plural-abbreviation": "Plural Abbreviation", "description": "Description", "display-as-fraction": "Display as Fraction", "use-abbreviation": "Use Abbreviation", "edit-unit": "Edit Unit", "unit-data": "Unit Data", "use-abbv": "Use Abbv.", - "fraction": "Fraction" + "fraction": "Fraction", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Seed the database with common labels based on your local language.", @@ -935,6 +947,8 @@ "delete-recipes": "Delete Recipes", "source-unit-will-be-deleted": "Source Unit will be deleted" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Seed Data", "seed": "Seed", "data-management": "Data Management", @@ -942,7 +956,22 @@ "select-data": "Select Data", "select-language": "Select Language", "columns": "Columns", - "combine": "Combine" + "combine": "Combine", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "User Registration", diff --git a/frontend/lang/messages/ko-KR.json b/frontend/lang/messages/ko-KR.json index 9205d44bd5cd..cae3ec1aeaba 100644 --- a/frontend/lang/messages/ko-KR.json +++ b/frontend/lang/messages/ko-KR.json @@ -124,6 +124,7 @@ "no-recipe-found": "레시피를 찾을 수 없습니다.", "ok": "확인", "options": "옵션:", + "plural-name": "Plural Name", "print": "인쇄", "print-preferences": "인쇄 설정", "random": "무작위", @@ -463,7 +464,9 @@ "add-to-plan": "Add to Plan", "add-to-timeline": "Add to Timeline", "recipe-added-to-list": "Recipe added to list", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Recipe added to mealplan", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Failed to add recipe to mealplan", "yield": "Yield", "quantity": "Quantity", @@ -868,7 +871,9 @@ "user-can-invite-other-to-group": "User can invite other to group", "user-can-manage-group": "User can manage group", "user-can-organize-group-data": "User can organize group data", - "enable-advanced-features": "Enable advanced features" + "enable-advanced-features": "Enable advanced features", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "translated", @@ -889,7 +894,9 @@ "create-food": "Create Food", "food-label": "Food Label", "edit-food": "Edit Food", - "food-data": "Food Data" + "food-data": "Food Data", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Seed the database with common units based on your local language.", @@ -900,13 +907,18 @@ "merging-unit-into-unit": "Merging {0} into {1}", "create-unit": "Create Unit", "abbreviation": "Abbreviation", + "plural-abbreviation": "Plural Abbreviation", "description": "Description", "display-as-fraction": "Display as Fraction", "use-abbreviation": "Use Abbreviation", "edit-unit": "Edit Unit", "unit-data": "Unit Data", "use-abbv": "Use Abbv.", - "fraction": "Fraction" + "fraction": "Fraction", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Seed the database with common labels based on your local language.", @@ -935,6 +947,8 @@ "delete-recipes": "Delete Recipes", "source-unit-will-be-deleted": "Source Unit will be deleted" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Seed Data", "seed": "Seed", "data-management": "Data Management", @@ -942,7 +956,22 @@ "select-data": "Select Data", "select-language": "Select Language", "columns": "Columns", - "combine": "Combine" + "combine": "Combine", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "User Registration", diff --git a/frontend/lang/messages/lt-LT.json b/frontend/lang/messages/lt-LT.json index 3df6fa0bc864..e28225dadcd5 100644 --- a/frontend/lang/messages/lt-LT.json +++ b/frontend/lang/messages/lt-LT.json @@ -124,6 +124,7 @@ "no-recipe-found": "Nerasta receptų", "ok": "Gerai", "options": "Pasirinkimai:", + "plural-name": "Plural Name", "print": "Spausdinti", "print-preferences": "Spausdinimo nustatymai", "random": "Atsitiktinis", @@ -462,7 +463,9 @@ "add-to-plan": "Pridėti prie plano", "add-to-timeline": "Add to Timeline", "recipe-added-to-list": "Recepts pridėtas į sąrašą", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Recepts pridėtas prie mitybos plano", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Nepavyko pridėti recepto prie mitybos plano", "yield": "Išeiga", "quantity": "Kiekis", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "Naudotojas gali kviesti kitus į grupę", "user-can-manage-group": "Naudotojas gali valdyti grupę", "user-can-organize-group-data": "Naudotojas gali tvarkyti grupės duomenis", - "enable-advanced-features": "Įjungti pažangias funkcijas" + "enable-advanced-features": "Įjungti pažangias funkcijas", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "išversta", @@ -888,7 +893,9 @@ "create-food": "Pridėti produktą", "food-label": "Produkto etiketė", "edit-food": "Keisti produktą", - "food-data": "Produktų duomenys" + "food-data": "Produktų duomenys", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Įdėkite į duomenų bazę bendrus vienetus pagal jūsų kalbą.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Sujungiama {0} su {1}", "create-unit": "Sukurti vienetą", "abbreviation": "Santrumpa", + "plural-abbreviation": "Plural Abbreviation", "description": "Aprašymas", "display-as-fraction": "Rodyti kaip trupmeną", "use-abbreviation": "Naudoti santrumpą", "edit-unit": "Keisti vienetą", "unit-data": "Vienetų duomenys", "use-abbv": "Naudoti santr.", - "fraction": "Trupmena" + "fraction": "Trupmena", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Įdėkite į duomenų bazę bendras žymas pagal jūsų kalbą.", @@ -934,6 +946,8 @@ "delete-recipes": "Ištrinti receptus", "source-unit-will-be-deleted": "Pirminis vienetas bus ištrintas" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Pradiniai duomenys", "seed": "Užpildyti", "data-management": "Duomenų valdymas", @@ -941,7 +955,22 @@ "select-data": "Pasirinkti duomenis", "select-language": "Pasirinkti kalbą", "columns": "Stulpeliai", - "combine": "Sujungti" + "combine": "Sujungti", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "Vartotojo registracija", diff --git a/frontend/lang/messages/lv-LV.json b/frontend/lang/messages/lv-LV.json index 27802a2a2689..1285979c983d 100644 --- a/frontend/lang/messages/lv-LV.json +++ b/frontend/lang/messages/lv-LV.json @@ -124,6 +124,7 @@ "no-recipe-found": "No Recipe Found", "ok": "OK", "options": "Options:", + "plural-name": "Plural Name", "print": "Print", "print-preferences": "Print Preferences", "random": "Random", @@ -463,7 +464,9 @@ "add-to-plan": "Add to Plan", "add-to-timeline": "Add to Timeline", "recipe-added-to-list": "Recipe added to list", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Recipe added to mealplan", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Failed to add recipe to mealplan", "yield": "Yield", "quantity": "Quantity", @@ -868,7 +871,9 @@ "user-can-invite-other-to-group": "User can invite other to group", "user-can-manage-group": "User can manage group", "user-can-organize-group-data": "User can organize group data", - "enable-advanced-features": "Enable advanced features" + "enable-advanced-features": "Enable advanced features", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "translated", @@ -889,7 +894,9 @@ "create-food": "Create Food", "food-label": "Food Label", "edit-food": "Edit Food", - "food-data": "Food Data" + "food-data": "Food Data", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Seed the database with common units based on your local language.", @@ -900,13 +907,18 @@ "merging-unit-into-unit": "Merging {0} into {1}", "create-unit": "Create Unit", "abbreviation": "Abbreviation", + "plural-abbreviation": "Plural Abbreviation", "description": "Description", "display-as-fraction": "Display as Fraction", "use-abbreviation": "Use Abbreviation", "edit-unit": "Edit Unit", "unit-data": "Unit Data", "use-abbv": "Use Abbv.", - "fraction": "Fraction" + "fraction": "Fraction", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Seed the database with common labels based on your local language.", @@ -935,6 +947,8 @@ "delete-recipes": "Delete Recipes", "source-unit-will-be-deleted": "Source Unit will be deleted" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Seed Data", "seed": "Seed", "data-management": "Data Management", @@ -942,7 +956,22 @@ "select-data": "Select Data", "select-language": "Select Language", "columns": "Columns", - "combine": "Combine" + "combine": "Combine", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "User Registration", diff --git a/frontend/lang/messages/nl-NL.json b/frontend/lang/messages/nl-NL.json index 2ffad4e29ae1..a57184e8709b 100644 --- a/frontend/lang/messages/nl-NL.json +++ b/frontend/lang/messages/nl-NL.json @@ -124,6 +124,7 @@ "no-recipe-found": "Geen recept gevonden", "ok": "Ok", "options": "Opties:", + "plural-name": "Naam voor meervoud", "print": "Afdrukken", "print-preferences": "Voorkeuren afdrukken", "random": "Willekeurig", @@ -296,7 +297,7 @@ "for-type-meal-types": "voor {0} maaltijdsoorten", "meal-plan-rules": "Maaltijdplanregels", "new-rule": "Nieuwe regel", - "meal-plan-rules-description": "You can create rules for auto selecting recipes for your meal plans. These rules are used by the server to determine the random pool of recipes to select from when creating meal plans. Note that if rules have the same day/type constraints then the categories of the rules will be merged. In practice, it's unnecessary to create duplicate rules, but it's possible to do so.", + "meal-plan-rules-description": "Je kunt regels maken voor het automatisch selecteren van recepten voor je maaltijdplanning. Deze regels worden gebruikt door de server om de recepten te selecteren bij het maken van een maaltijdplanning. Houdt er rekening mee dat als regels dezelfde dag en type restricties hebben de categorieën van de regels worden samengevoegd. In de praktijk is het dus niet nodig om dubbele regels te maken, maar het is wel mogelijk.", "new-rule-description": "Bij het opstellen van een nieuwe regel voor een maaltijdplan kunt u de regel beperken tot een specifieke dag van de week en/of een specifiek type maaltijd. Om een regel toe te passen op alle dagen of alle maaltijden kunt u de regel op \"Ieder\" instellen die deze toepast op alle mogelijke waarden voor het type dag en/of maaltijd.", "recipe-rules": "Recept Regels", "applies-to-all-days": "Van toepassing op alle dagen", @@ -462,7 +463,9 @@ "add-to-plan": "Toevoegen aan plan", "add-to-timeline": "Aan tijdlijn toevoegen", "recipe-added-to-list": "Recept toegevoegd aan de lijst", + "recipes-added-to-list": "Recept toegevoegd aan de lijst", "recipe-added-to-mealplan": "Recept toegevoegd aan het maaltijdplan", + "failed-to-add-recipes-to-list": "Kon recept niet aan de lijst toevoegen ", "failed-to-add-recipe-to-mealplan": "Recept aan maaltijdplan toevoegen mislukt", "yield": "Resultaat", "quantity": "Hoeveelheid", @@ -737,7 +740,7 @@ "cookbooks": "Kookboeken", "dashboard": "Dashboard", "home-page": "Homepagina", - "manage-users": "Beheer gebruikers", + "manage-users": "Beheer Gebruikers", "migrations": "Migraties", "profile": "Profiel", "search": "Zoeken", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "Gebruiker kan iemand uitnodigen voor de groep", "user-can-manage-group": "Gebruiker kan de groep beheren", "user-can-organize-group-data": "Gebruiker kan groepsgegevens organiseren", - "enable-advanced-features": "Geavanceerde functies inschakelen" + "enable-advanced-features": "Geavanceerde functies inschakelen", + "it-looks-like-this-is-your-first-time-logging-in": "Het lijkt erop dat je voor het eerst inlogt.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Wil je dit niet meer zien? Verander dan je e-mailadres in je gebruikersinstellingen!" }, "language-dialog": { "translated": "vertaald", @@ -888,7 +893,9 @@ "create-food": "Maak Voedsel", "food-label": "Voedsel Label", "edit-food": "Bewerk voedsel", - "food-data": "Voedsel gegevens" + "food-data": "Voedsel gegevens", + "example-food-singular": "bv: Ui", + "example-food-plural": "bv: Uien" }, "units": { "seed-dialog-text": "Vul de database aan met veelvoorkomende eenheden, gebaseerd op je lokale taal.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "{0} samenvoegen met {1}", "create-unit": "Eenheid aanmaken", "abbreviation": "Afkorting", + "plural-abbreviation": "Afkorting voor meervoud", "description": "Beschrijving", "display-as-fraction": "Gedeelte weergeven", "use-abbreviation": "Gebruik afkorting", "edit-unit": "Eenheid wijzigen", "unit-data": "Eenheid gegevens", "use-abbv": "Gebruik afk.", - "fraction": "Breuk" + "fraction": "Breuk", + "example-unit-singular": "Bv: eetlepel ", + "example-unit-plural": "Bv: eetlepels ", + "example-unit-abbreviation-singular": "Bv: el", + "example-unit-abbreviation-plural": "bv: els" }, "labels": { "seed-dialog-text": "Vul de database aan met veelvoorkomende labels, gebaseerd op je lokale taal.", @@ -934,6 +946,8 @@ "delete-recipes": "Verwijder recepten", "source-unit-will-be-deleted": "Broneenheid zal worden verwijderd" }, + "create-alias": "Maak alias", + "manage-aliases": "Beheer aliassen ", "seed-data": "Voorbeeldgegevens", "seed": "Vul", "data-management": "Gegevensbeheer", @@ -941,7 +955,22 @@ "select-data": "Selecteer gegevens", "select-language": "Selecteer taal", "columns": "Kolommen", - "combine": "Samenvoegen" + "combine": "Samenvoegen", + "categories": { + "edit-category": "Categorie Bewerken", + "new-category": "Categorie Toevoegen", + "category-data": "Categorie Overzicht" + }, + "tags": { + "new-tag": "Label Toevoegen", + "edit-tag": "Label Bewerken", + "tag-data": "Label Overzicht" + }, + "tools": { + "new-tool": "Keukengerei Toevoegen", + "edit-tool": "Keukengerei Bewerken", + "tool-data": "Keukengerei Overzicht" + } }, "user-registration": { "user-registration": "Gebruikersregistratie", diff --git a/frontend/lang/messages/no-NO.json b/frontend/lang/messages/no-NO.json index 82b9c9cfd703..bc4c147c3cac 100644 --- a/frontend/lang/messages/no-NO.json +++ b/frontend/lang/messages/no-NO.json @@ -124,6 +124,7 @@ "no-recipe-found": "Ingen oppskrift funnet", "ok": "OK", "options": "Alternativer:", + "plural-name": "Flertalls navn", "print": "Skriv ut", "print-preferences": "Skriv ut innstillinger", "random": "Tilfeldig", @@ -462,7 +463,9 @@ "add-to-plan": "Legg til i Plan", "add-to-timeline": "Legg til på tidslinjen", "recipe-added-to-list": "Oppskriften er lagt til i listen", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Oppskriften er lagt til i listen", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Klarte ikke å legge til oppskrift på måltidsplan", "yield": "Utbytte", "quantity": "Antall", @@ -669,14 +672,14 @@ "webhooks-caps": "WEBHOOKS", "webhooks": "Webhooks", "webhook-name": "Webhook navn", - "description": "The webhooks defined below will be executed when a meal is defined for the day. At the scheduled time the webhooks will be sent with the data from the recipe that is scheduled for the day. Note that webhook execution is not exact. The webhooks are executed on a 5 minutes interval so the webhooks will be executed within 5 +/- minutes of the scheduled." + "description": "Webhooks definert nedenfor vil utføres når et måltid defineres for dagen. På det planlagte tidspunktet blir webhook sendt med data fra oppskriften som er planlagt for dagen. Merke at av tidspunktet ikke er nøyaktig, webhooks utføres med et intervall på 5 minutter, dette betyr at webhooks utføres innen +/- 5 minutter etter planlagt tidspunkt." }, "bug-report": "Feilrapport", "bug-report-information": "Bruk denne informasjonen til å rapportere en feil. Gi detaljer om feilen din til utviklere er den beste måten å få problemer på en rask løsning.", "tracker": "Sporingsagent", "configuration": "Konfigurasjon", "docker-volume": "Docker volum", - "docker-volume-help": "Mealie requires that the frontend container and the backend share the same docker volume or storage. This ensures that the frontend container can properly access the images and assets stored on disk.", + "docker-volume-help": "Mealie krever at frontend og backend konteinerene deler samme docker volum/lagring. Dette sikrer at frontend får tilgang til bilder og ressurser lagret på harddisken.", "volumes-are-misconfigured": "Volumene er feilkonfigurert", "volumes-are-configured-correctly": "Volumene er riktig konfigurert.", "status-unknown-try-running-a-validation": "Statusen er ukjent. Prøv å validere.", @@ -688,19 +691,19 @@ "failed": "Mislyktes", "general-about": "Generelt om", "application-version": "Programversjon", - "application-version-error-text": "Your current version ({0}) does not match the latest release. Considering updating to the latest version ({1}).", + "application-version-error-text": "Din nåværende versjon ({0}) samsvarer ikke med den nyeste utgivelsen. Vurder å oppdatere til siste versjon ({1}).", "mealie-is-up-to-date": "Mealie er oppdatert", "secure-site": "Sikkert nettsted", - "secure-site-error-text": "Serve via localhost or secure with https. Clipboard and additional browser APIs may not work.", - "secure-site-success-text": "Site is accessed by localhost or https", + "secure-site-error-text": "Host via localhost eller sikre med https. Utklippstavle og nettleser-APIer virker kanskje ikke.", + "secure-site-success-text": "Tjenesten er tilgjengelig på localhost eller https", "server-side-base-url": "Serverens sidebase URL", - "server-side-base-url-error-text": "`BASE_URL` is still the default value on API Server. This will cause issues with notifications links generated on the server for emails, etc.", - "server-side-base-url-success-text": "Server Side URL does not match the default", + "server-side-base-url-error-text": "`BASE_URL` er fortsatt satt til standardverdien på API Serveren. Dette kan føre til problemer med varslingslenker generert på serveren for e-post, osv.", + "server-side-base-url-success-text": "Serverside-URL samsvarer ikke med standard", "ldap-ready": "LDAP klar", - "ldap-ready-error-text": "Not all LDAP Values are configured. This can be ignored if you are not using LDAP Authentication.", - "ldap-ready-success-text": "Required LDAP variables are all set.", + "ldap-ready-error-text": "Ikke alle LDAP-verdier er konfigurert. Dette kan ignoreres hvis du ikke bruker LDAP til Autentisering.", + "ldap-ready-success-text": "Alle de nødvendige LDAP-variablene er satt.", "build": "Bygg", - "recipe-scraper-version": "Recipe Scraper Version" + "recipe-scraper-version": "OppskriftsScraper versjon" }, "shopping-list": { "all-lists": "Alle lister", @@ -725,8 +728,8 @@ "reorder-labels": "Omorganiser etiketter", "uncheck-all-items": "Fjern merking av alle elementer", "check-all-items": "Velg alle elementer", - "linked-recipes-count": "No Linked Recipes|One Linked Recipe|{count} Linked Recipes", - "items-checked-count": "No items checked|One item checked|{count} items checked", + "linked-recipes-count": "Ingen lenkede oppskrifter|En lenket oppskrift|{count} Lenkede oppskrifter", + "items-checked-count": "Ingen elementer krysset av|Ett element krysset av|{count} elementer krysset av", "no-label": "Ingen etikett", "completed-on": "Fullført på {date}" }, @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "Brukeren kan invitere andre til gruppe", "user-can-manage-group": "Brukeren kan administrere gruppe", "user-can-organize-group-data": "Brukeren kan organisere gruppedata", - "enable-advanced-features": "Aktiver avanserte funksjoner" + "enable-advanced-features": "Aktiver avanserte funksjoner", + "it-looks-like-this-is-your-first-time-logging-in": "Det ser ut som dette er første gang du logger på.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Ønsker du ikke å se dette lenger? Sørg for å endre e-posten din i brukerinnstillingene dine!" }, "language-dialog": { "translated": "oversatt", @@ -883,29 +888,36 @@ "seed-dialog-text": "Legg til databasen med mat basert på ditt lokale språk. Dette vil opprette 200+ felles matvarer som kan brukes til å organisere databasen. Næringsmidler oversettes via en samfunnsinnsats.", "seed-dialog-warning": "Du har allerede elementer i databasen. Denne handlingen vil ikke rekonfigurere duplikater, du må administrere dem manuelt.", "combine-food": "Kombiner mat", - "source-food": "Source Food", - "target-food": "Target Food", + "source-food": "Kilde mat", + "target-food": "Mål Mat", "create-food": "Lag mat", "food-label": "Mat etikett", "edit-food": "Rediger mat", - "food-data": "Mat data" + "food-data": "Mat data", + "example-food-singular": "Feks: Tomat", + "example-food-plural": "Feks: Tomater" }, "units": { "seed-dialog-text": "Lag en database med vanlige enheter basert på ditt lokale språk.", - "combine-unit-description": "Combining the selected units will merge the Source Unit and Target Unit into a single unit. The {source-unit-will-be-deleted} and all of the references to the Source Unit will be updated to point to the Target Unit.", + "combine-unit-description": "Ved å kombinere de valgte enhetene vil kildeenheten og målenheten slås sammen i en enkelt enhet. {source-unit-will-be-deleted} og alle referansene til kildeenheten vil bli oppdatert til å peke til målenheten.", "combine-unit": "Kombiner enhet", - "source-unit": "Source Unit", - "target-unit": "Target Unit", - "merging-unit-into-unit": "Merging {0} into {1}", + "source-unit": "Kildeenhet", + "target-unit": "Målenhet", + "merging-unit-into-unit": "Slår sammen {0} til {1}", "create-unit": "Opprett enhet", "abbreviation": "Forkortelse", + "plural-abbreviation": "Flertallsforkortelse", "description": "Beskrivelse", "display-as-fraction": "Vis som brøkdel", "use-abbreviation": "Bruk forkortelse", "edit-unit": "Rediger enhet", - "unit-data": "Unit Data", - "use-abbv": "Use Abbv.", - "fraction": "Brøk" + "unit-data": "Enhetsdata", + "use-abbv": "Bruk forkortelse.", + "fraction": "Brøk", + "example-unit-singular": "Feks: Spiseskje", + "example-unit-plural": "Feks: Spiseskjeer", + "example-unit-abbreviation-singular": "Feks: SS", + "example-unit-abbreviation-plural": "Feks: SS" }, "labels": { "seed-dialog-text": "Lag en database med vanlige enheter basert på ditt lokale språk.", @@ -917,9 +929,9 @@ "purge-exports": "Fjern eksporter", "are-you-sure-you-want-to-delete-all-export-data": "Er du sikker på at du vil slette all historikk?", "confirm-delete-recipes": "Er du sikker på at du vil slette denne oppskriften? Denne handlingen kan ikke angres.", - "the-following-recipes-selected-length-will-be-exported": "The following recipes ({0}) will be exported.", - "settings-chosen-explanation": "Settings chosen here, excluding the locked option, will be applied to all selected recipes.", - "selected-length-recipe-s-settings-will-be-updated": "{count} recipe(s) settings will be updated.", + "the-following-recipes-selected-length-will-be-exported": "Følgende oppskrifter ({0}) vil bli eksportert.", + "settings-chosen-explanation": "Innstillinger valgt her, bortsett fra det låste alternativet, vil bli brukt på alle valgte oppskrifter.", + "selected-length-recipe-s-settings-will-be-updated": "Innstillingene til {count} oppskrift(er) vil bli oppdatert.", "recipe-data": "Oppskriftsdata", "recipe-data-description": "Use this section to manage the data associated with your recipes. You can perform several bulk actions on your recipes including exporting, deleting, tagging, and assigning categories.", "recipe-columns": "Recipe Columns", @@ -934,6 +946,8 @@ "delete-recipes": "Slett oppskrifter", "source-unit-will-be-deleted": "Kildeenheten vil bli slettet" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Frødata", "seed": "Seed", "data-management": "Databehandling", @@ -941,7 +955,22 @@ "select-data": "Velg data", "select-language": "Velg språk", "columns": "Kolonner", - "combine": "Kombiner" + "combine": "Kombiner", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "Brukerregistrering", diff --git a/frontend/lang/messages/pl-PL.json b/frontend/lang/messages/pl-PL.json index 99d2c919ff0a..7be3c2f40115 100644 --- a/frontend/lang/messages/pl-PL.json +++ b/frontend/lang/messages/pl-PL.json @@ -124,6 +124,7 @@ "no-recipe-found": "Nie znaleziono przepisu", "ok": "OK", "options": "Opcje:", + "plural-name": "Plural Name", "print": "Drukuj", "print-preferences": "Właściwości drukowania", "random": "Losowa", @@ -462,7 +463,9 @@ "add-to-plan": "Dodaj do planu", "add-to-timeline": "Add to Timeline", "recipe-added-to-list": "Przepis dodany do listy", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Przepis dodany do planu posiłków", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Nie udało się dodać przepisu do planu posiłków", "yield": "Wydajność", "quantity": "Ilość", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "Użytkownik może zaprosić innych do grupy", "user-can-manage-group": "Użytkownik może zarządzać grupą", "user-can-organize-group-data": "Użytkownik może organizować dane grupy", - "enable-advanced-features": "Włącz zaawansowane funkcje" + "enable-advanced-features": "Włącz zaawansowane funkcje", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "przetłumaczone", @@ -888,7 +893,9 @@ "create-food": "Utwórz Żywność", "food-label": "Etykieta Żywności", "edit-food": "Edytuj Żywność", - "food-data": "Dane Żywności" + "food-data": "Dane Żywności", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Wypełnij bazę zwyczajowymi jednostkami dla wybranego języka.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Scalanie {0} do {1}", "create-unit": "Utwórz Jednostkę", "abbreviation": "Skrócona nazwa", + "plural-abbreviation": "Plural Abbreviation", "description": "Opis", "display-as-fraction": "Wyświetlaj jako ułamek", "use-abbreviation": "Używaj skróconej nazwy", "edit-unit": "Edytuj jednostkę", "unit-data": "Dane Jednostki", "use-abbv": "Użyj Skr.", - "fraction": "Ułamki" + "fraction": "Ułamki", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Wypełnij bazę zwyczajowymi etykietami dla wybranego języka.", @@ -934,6 +946,8 @@ "delete-recipes": "Usuń Przepisy", "source-unit-will-be-deleted": "Jednostka źródłowa zostanie usunięta" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Dane przykładowe", "seed": "Seed", "data-management": "Zarządzanie Danymi", @@ -941,7 +955,22 @@ "select-data": "Wybierz Dane", "select-language": "Wybierz język", "columns": "Kolumny", - "combine": "Połącz" + "combine": "Połącz", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "Rejestracja użytkownika", diff --git a/frontend/lang/messages/pt-BR.json b/frontend/lang/messages/pt-BR.json index 174513f2f73e..605efcfedeea 100644 --- a/frontend/lang/messages/pt-BR.json +++ b/frontend/lang/messages/pt-BR.json @@ -124,6 +124,7 @@ "no-recipe-found": "Nenhuma Receita Encontrada", "ok": "OK", "options": "Opções:", + "plural-name": "Plural Name", "print": "Imprimir", "print-preferences": "Preferências de impressão", "random": "Aleatório", @@ -462,7 +463,9 @@ "add-to-plan": "Adicionar ao Plano", "add-to-timeline": "Adicionar à linha do tempo", "recipe-added-to-list": "Receita adicionada à lista", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Receita adicionada ao plano de refeições", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Falha ao adicionar a receita ao plano de refeições", "yield": "Rendimento", "quantity": "Quantidade", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "O usuário pode convidar outro para o grupo", "user-can-manage-group": "Usuário pode gerenciar o grupo", "user-can-organize-group-data": "Usuário pode organizar dados do grupo", - "enable-advanced-features": "Ativar recursos avançados" + "enable-advanced-features": "Ativar recursos avançados", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "traduzido", @@ -888,7 +893,9 @@ "create-food": "Criar Comida", "food-label": "Rótulo da Comida", "edit-food": "Editar Comida", - "food-data": "Dados da Comida" + "food-data": "Dados da Comida", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Adicione a base de dados unidades comuns baseadas em seu idioma.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Mesclando {0} em {1}", "create-unit": "Criar unidade", "abbreviation": "Abreviação", + "plural-abbreviation": "Plural Abbreviation", "description": "Descrição", "display-as-fraction": "Exibir como fração", "use-abbreviation": "Usar abreviação", "edit-unit": "Editar Unidade", "unit-data": "Dados da Unidade", "use-abbv": "Usar abreviação", - "fraction": "Fração" + "fraction": "Fração", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Semente o banco de dados com rótulos comuns baseados no seu idioma local.", @@ -934,6 +946,8 @@ "delete-recipes": "Excluir Receitas", "source-unit-will-be-deleted": "Unidade de origem será excluída" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Semear dados", "seed": "Semear", "data-management": "Gerenciamento de dados", @@ -941,7 +955,22 @@ "select-data": "Selecionar dados", "select-language": "Selecionar idioma", "columns": "Colunas", - "combine": "Combinar" + "combine": "Combinar", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "Cadastro de usuário", diff --git a/frontend/lang/messages/pt-PT.json b/frontend/lang/messages/pt-PT.json index 214946063f60..d9216804b79a 100644 --- a/frontend/lang/messages/pt-PT.json +++ b/frontend/lang/messages/pt-PT.json @@ -124,6 +124,7 @@ "no-recipe-found": "Nenhuma Receita Encontrada", "ok": "OK", "options": "Opções:", + "plural-name": "Plural Name", "print": "Imprimir", "print-preferences": "Preferências de impressão", "random": "Aleatório", @@ -462,7 +463,9 @@ "add-to-plan": "Adicionar ao plano", "add-to-timeline": "Adicionar à Linha Temporal", "recipe-added-to-list": "Receita adicionada à lista", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Receita adicionada ao plano de refeições", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Erro ao adicionar receita ao plano de refeições", "yield": "Rendimento", "quantity": "Quantidade", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "O utilizador pode convidar outro para o grupo", "user-can-manage-group": "O utilizador pode gerir o grupo", "user-can-organize-group-data": "O utilizador pode organizar dados do grupo", - "enable-advanced-features": "Habilitar recursos avançados" + "enable-advanced-features": "Habilitar recursos avançados", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "traduzido", @@ -888,7 +893,9 @@ "create-food": "Criar Alimento", "food-label": "Rótulo de Alimento", "edit-food": "Editar Alimento", - "food-data": "Dados do Alimento" + "food-data": "Dados do Alimento", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Popule a base de dados com unidades comuns no seu idioma.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "A juntar {0} com {1}", "create-unit": "Criar Unidade", "abbreviation": "Abreviatura", + "plural-abbreviation": "Plural Abbreviation", "description": "Descrição", "display-as-fraction": "Mostrar como fração", "use-abbreviation": "Usar abreviatura", "edit-unit": "Editar unidade", "unit-data": "Dados da Unidade", "use-abbv": "Usar Abrev.", - "fraction": "Fração" + "fraction": "Fração", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Adicionar à base de dados rótulos comuns no seu idioma local.", @@ -934,6 +946,8 @@ "delete-recipes": "Eliminar Receitas", "source-unit-will-be-deleted": "Unidade de origem será eliminada" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Gerar dados", "seed": "Gerar", "data-management": "Gestão de dados", @@ -941,7 +955,22 @@ "select-data": "Selecionar dados", "select-language": "Selecionar idioma", "columns": "Colunas", - "combine": "Combinar" + "combine": "Combinar", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "Registo de Utilizador", diff --git a/frontend/lang/messages/ro-RO.json b/frontend/lang/messages/ro-RO.json index 7b8935350cb1..b9f6584efa11 100644 --- a/frontend/lang/messages/ro-RO.json +++ b/frontend/lang/messages/ro-RO.json @@ -124,6 +124,7 @@ "no-recipe-found": "Nici o rețetă găsită", "ok": "OK", "options": "Opțiuni:", + "plural-name": "Plural Name", "print": "Imprimare", "print-preferences": "Preferințe de imprimare", "random": "Aleatoriu", @@ -462,7 +463,9 @@ "add-to-plan": "Adaugă la Plan", "add-to-timeline": "Adaugă la Cronologie", "recipe-added-to-list": "Rețeta a fost adăugată la listă", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Rețeta a fist adăugată la planul de mese", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Adăugarea rețetei la planul de mese a eșuat", "yield": "Yield", "quantity": "Quantity", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "User can invite other to group", "user-can-manage-group": "User can manage group", "user-can-organize-group-data": "User can organize group data", - "enable-advanced-features": "Enable advanced features" + "enable-advanced-features": "Enable advanced features", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "translated", @@ -888,7 +893,9 @@ "create-food": "Create Food", "food-label": "Food Label", "edit-food": "Edit Food", - "food-data": "Food Data" + "food-data": "Food Data", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Seed the database with common units based on your local language.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Merging {0} into {1}", "create-unit": "Create Unit", "abbreviation": "Abbreviation", + "plural-abbreviation": "Plural Abbreviation", "description": "Description", "display-as-fraction": "Display as Fraction", "use-abbreviation": "Use Abbreviation", "edit-unit": "Edit Unit", "unit-data": "Unit Data", "use-abbv": "Use Abbv.", - "fraction": "Fraction" + "fraction": "Fraction", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Seed the database with common labels based on your local language.", @@ -934,6 +946,8 @@ "delete-recipes": "Delete Recipes", "source-unit-will-be-deleted": "Source Unit will be deleted" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Seed Data", "seed": "Seed", "data-management": "Data Management", @@ -941,7 +955,22 @@ "select-data": "Select Data", "select-language": "Select Language", "columns": "Columns", - "combine": "Combine" + "combine": "Combine", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "User Registration", diff --git a/frontend/lang/messages/ru-RU.json b/frontend/lang/messages/ru-RU.json index b189cc15e69d..3cfa9038a3f5 100644 --- a/frontend/lang/messages/ru-RU.json +++ b/frontend/lang/messages/ru-RU.json @@ -124,6 +124,7 @@ "no-recipe-found": "Рецепт не найден", "ok": "Ок", "options": "Параметры:", + "plural-name": "Название в мн. ч", "print": "Печать", "print-preferences": "Настройки печати", "random": "Случайный", @@ -462,7 +463,9 @@ "add-to-plan": "Добавить к плану", "add-to-timeline": "Добавить в историю", "recipe-added-to-list": "Рецепт добавлен в список", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Рецепт добавлен в план питания", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Не удалось добавить рецепт в план питания", "yield": "Выход", "quantity": "Количество", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "Пользователь может пригласить других в группу", "user-can-manage-group": "Пользователь может управлять группой", "user-can-organize-group-data": "Пользователь может менять групповые данные", - "enable-advanced-features": "Включить доп. функции" + "enable-advanced-features": "Включить доп. функции", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "переведено", @@ -888,7 +893,9 @@ "create-food": "Добавить продукт", "food-label": "Метка продукта", "edit-food": "Изменить продукт", - "food-data": "Данные о продуктах" + "food-data": "Данные о продуктах", + "example-food-singular": "пр. Луковица", + "example-food-plural": "пр. Луковиц" }, "units": { "seed-dialog-text": "Заполняет базу данных рядовыми единицами измерений на основе выбранного языка.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Объединение {0} в {1}", "create-unit": "Добавить единицу измерения", "abbreviation": "Аббревиатура", + "plural-abbreviation": "Сокращение во мн. ч.", "description": "Описание", "display-as-fraction": "Отображать как дробь", "use-abbreviation": "Использовать аббревиатуру", "edit-unit": "Изменить единицу измерения", "unit-data": "Данные единицы измерения", "use-abbv": "Использовать аббревиатуру", - "fraction": "Дробь" + "fraction": "Дробь", + "example-unit-singular": "пр. Столовая ложка", + "example-unit-plural": "пр. Столовых ложек", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Дополнить базу данных типичными единицами измерений на основе выбранного языка.", @@ -934,6 +946,8 @@ "delete-recipes": "Удалить рецепты", "source-unit-will-be-deleted": "Первая единица измерения будет удалена" }, + "create-alias": "Создать псевдоним", + "manage-aliases": "Управление псевдонимами", "seed-data": "Заполнить данные", "seed": "Заполнить", "data-management": "Управление хранилищем данных", @@ -941,7 +955,22 @@ "select-data": "Выберите данные", "select-language": "Выберите язык", "columns": "Столбцы", - "combine": "Объединить" + "combine": "Объединить", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "Регистрация", diff --git a/frontend/lang/messages/sk-SK.json b/frontend/lang/messages/sk-SK.json index f613d74e4d37..345603a2e027 100644 --- a/frontend/lang/messages/sk-SK.json +++ b/frontend/lang/messages/sk-SK.json @@ -124,6 +124,7 @@ "no-recipe-found": "Žiadny recept nenájdený", "ok": "OK", "options": "Možnosti:", + "plural-name": "Plural Name", "print": "Tlačiť", "print-preferences": "Nastavenia tlače", "random": "Náhodné", @@ -462,7 +463,9 @@ "add-to-plan": "Pridať do plánu", "add-to-timeline": "Add to Timeline", "recipe-added-to-list": "Recept bol pridaný do zoznamu", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Recept bol pridaný do stravovacieho plánu", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Pridanie receptu do stravovacieho plánu zlyhalo", "yield": "Počet porcií", "quantity": "Množstvo", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "Užívateľ môže do skupiny pozvať ďalších", "user-can-manage-group": "Užívateľ môže spravovať skupinu", "user-can-organize-group-data": "Užívateľ môže spravovať údaje skupiny", - "enable-advanced-features": "Povoliť pokročilé funkcie" + "enable-advanced-features": "Povoliť pokročilé funkcie", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "preložené", @@ -888,7 +893,9 @@ "create-food": "Vytvoriť jedlo", "food-label": "Značka jedla", "edit-food": "Upraviť jedlo", - "food-data": "Údaje o jedle" + "food-data": "Údaje o jedle", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Naplniť databázu z bežnými štítkami podla vášho lokálneho jazyka.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Zlúčiť {0} do {1}", "create-unit": "Vytvoriť jednotku", "abbreviation": "Skratky", + "plural-abbreviation": "Plural Abbreviation", "description": "Popis", "display-as-fraction": "Zobraziť ako zlomok", "use-abbreviation": "Použiť skratky", "edit-unit": "Upraviť jednotku", "unit-data": "Údaje o jednotke", "use-abbv": "Použiť skrt.", - "fraction": "Zlomok" + "fraction": "Zlomok", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Naplniť databázu z bežnými štítkami podla vášho lokálneho jazyka.", @@ -934,6 +946,8 @@ "delete-recipes": "Odstrániť recepty", "source-unit-will-be-deleted": "Zdroj bude vymazaný" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Naplniť dáta", "seed": "Zdroj", "data-management": "Správa dát", @@ -941,7 +955,22 @@ "select-data": "Vyberte dáta", "select-language": "Vyberte jazyk", "columns": "Stĺpce", - "combine": "Kombinovať" + "combine": "Kombinovať", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "Registrácia", diff --git a/frontend/lang/messages/sl-SI.json b/frontend/lang/messages/sl-SI.json index d7e878028aa6..fb7a62005d11 100644 --- a/frontend/lang/messages/sl-SI.json +++ b/frontend/lang/messages/sl-SI.json @@ -124,6 +124,7 @@ "no-recipe-found": "Ne najdem recepta", "ok": "V redu", "options": "Možnosti:", + "plural-name": "Plural Name", "print": "Natisni", "print-preferences": "Print Preferences", "random": "Naključno", @@ -462,7 +463,9 @@ "add-to-plan": "Dodaj v načrt", "add-to-timeline": "Add to Timeline", "recipe-added-to-list": "Recept dodan na seznam", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Recept dodan v načrtovanje obroka", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Napaka pri dodajanji recepta v načrtovanje obroka", "yield": "Donos", "quantity": "Količina", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "User can invite other to group", "user-can-manage-group": "User can manage group", "user-can-organize-group-data": "User can organize group data", - "enable-advanced-features": "Enable advanced features" + "enable-advanced-features": "Enable advanced features", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "prevedeno", @@ -888,7 +893,9 @@ "create-food": "Create Food", "food-label": "Food Label", "edit-food": "Edit Food", - "food-data": "Food Data" + "food-data": "Food Data", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Napolni podatkovno bazo z običajnimi enotami, glede na vaš lokalni jezik.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Merging {0} into {1}", "create-unit": "Create Unit", "abbreviation": "Abbreviation", + "plural-abbreviation": "Plural Abbreviation", "description": "Description", "display-as-fraction": "Display as Fraction", "use-abbreviation": "Use Abbreviation", "edit-unit": "Edit Unit", "unit-data": "Unit Data", "use-abbv": "Use Abbv.", - "fraction": "Fraction" + "fraction": "Fraction", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Napolni podatkovno bazi s običajnimi oznakami, glede na vaš lokalni jezik.", @@ -934,6 +946,8 @@ "delete-recipes": "Delete Recipes", "source-unit-will-be-deleted": "Source Unit will be deleted" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Napolni podatke", "seed": "Seed", "data-management": "Data Management", @@ -941,7 +955,22 @@ "select-data": "Select Data", "select-language": "Select Language", "columns": "Columns", - "combine": "Combine" + "combine": "Combine", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "Registracija uporabnika", diff --git a/frontend/lang/messages/sr-SP.json b/frontend/lang/messages/sr-SP.json index cc1e9d1ebacc..3ab8579a7028 100644 --- a/frontend/lang/messages/sr-SP.json +++ b/frontend/lang/messages/sr-SP.json @@ -1,38 +1,38 @@ { "about": { "about": "О апликацији", - "about-mealie": "О Меалие-у", - "api-docs": "АПИ Документација", - "api-port": "API Port", - "application-mode": "Мод Апликације", - "database-type": "Тип Базе Података", - "database-url": "URL базе", - "default-group": "Подразумевана Група", + "about-mealie": "О Мили", + "api-docs": "API документација", + "api-port": "API прикључак", + "application-mode": "Режим апликације", + "database-type": "Тип базе података", + "database-url": "URL базе података", + "default-group": "Подразумевана група", "demo": "Демо", - "demo-status": "Статус Демоа", + "demo-status": "Демо статус", "development": "Развој", "docs": "Документација", - "download-log": "Преузми евиденцију", - "download-recipe-json": "Last Scraped JSON", + "download-log": "Преузми дневник евиденције", + "download-recipe-json": "Последњи прикупљени JSON", "github": "Github", "log-lines": "Log Lines", - "not-demo": "Not Demo", - "portfolio": "Portfolio", - "production": "Production", + "not-demo": "Није демо", + "portfolio": "Портфолио", + "production": "У продукцији", "support": "Подршка", - "version": "Version", - "unknown-version": "unknown", - "sponsor": "Sponsor" + "version": "Верзија", + "unknown-version": "непознат", + "sponsor": "Покровитељ" }, "asset": { - "assets": "Assets", - "code": "Code", - "file": "File", - "image": "Image", - "new-asset": "New Asset", + "assets": "Састојци", + "code": "Кôд", + "file": "Датотека", + "image": "Слика", + "new-asset": "Нови састојак", "pdf": "PDF", "recipe": "Рецепт", - "show-assets": "Show Assets", + "show-assets": "Прикажи састојке", "error-submitting-form": "Грешка при слању форме" }, "category": { @@ -50,40 +50,40 @@ "category": "Категорија" }, "events": { - "apprise-url": "Apprise URL", + "apprise-url": "URL адреса за обавештење", "database": "База података", - "delete-event": "Delete Event", - "event-delete-confirmation": "Are you sure you want to delete this event?", - "event-deleted": "Event Deleted", - "event-updated": "Event Updated", - "new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.", - "new-version": "New version available!", - "notification": "Notification", - "refresh": "Refresh", - "scheduled": "Scheduled", - "something-went-wrong": "Something Went Wrong!", - "subscribed-events": "Subscribed Events", - "test-message-sent": "Test Message Sent", - "new-notification": "New Notification", - "event-notifiers": "Event Notifiers", - "apprise-url-skipped-if-blank": "Apprise URL (skipped if blank)", - "enable-notifier": "Enable Notifier", - "what-events": "What events should this notifier subscribe to?", - "user-events": "User Events", - "mealplan-events": "Mealplan Events", - "when-a-user-in-your-group-creates-a-new-mealplan": "When a user in your group creates a new mealplan", - "shopping-list-events": "Shopping List Events", - "cookbook-events": "Cookbook Events", - "tag-events": "Tag Events", - "category-events": "Category Events", - "when-a-new-user-joins-your-group": "When a new user joins your group" + "delete-event": "Обриши догађај", + "event-delete-confirmation": "Да ли сте сигурни да желите да обришете овај догађај?", + "event-deleted": "Догађај је избрисан", + "event-updated": "Догађај је ажуриран", + "new-notification-form-description": "Mили користи Apprise библиотеку за генерисање обавештења. Они нуде много опција за услуге које можете користити за обавештења. Погледајте њихову вики страницу за свеобухватан водич о томе како креирати URL за вашу услугу. Ако је доступно, одабир врсте вашег обавештења може укључивати додатне функције.", + "new-version": "Доступна је нова верзија!", + "notification": "Обавештење", + "refresh": "Освежи", + "scheduled": "Заказано", + "something-went-wrong": "Нешто је кренуло погрешно!", + "subscribed-events": "Догађаји на које сте претплаћени", + "test-message-sent": "Тест порука је послата", + "new-notification": "Ново обавештење", + "event-notifiers": "Обавештавач о догађају", + "apprise-url-skipped-if-blank": "Apprise URL (прескочено ако је празно)", + "enable-notifier": "Омогући обавештење", + "what-events": "На које догађаје би требао да се претплати овај обавештавач?", + "user-events": "Догађаји корисника", + "mealplan-events": "Догађаји јеловника", + "when-a-user-in-your-group-creates-a-new-mealplan": "Када корисник у вашој групи креира нови јеловник", + "shopping-list-events": "Догађаји списка за куповину", + "cookbook-events": "Догађаји кувара", + "tag-events": "Догађаји ознаке", + "category-events": "Догађаји категорије", + "when-a-new-user-joins-your-group": "Када се нови корисник придружи вашој групи" }, "general": { - "cancel": "Cancel", - "clear": "Clear", - "close": "Close", - "confirm": "Confirm", - "confirm-delete-generic": "Are you sure you want to delete this?", + "cancel": "Откажи", + "clear": "Обриши", + "close": "Затвори", + "confirm": "Потврди", + "confirm-delete-generic": "Да ли сте сигурни да желите обрисати ово?", "copied_message": "Копирано!", "create": "Креирај", "created": "Креирано", @@ -105,7 +105,7 @@ "filter": "Филтер", "friday": "Петак", "general": "Опште", - "get": "Get", + "get": "Добави", "home": "Почетна", "image": "Слика", "image-upload-failed": "Неуспешно додавање слике", @@ -124,6 +124,7 @@ "no-recipe-found": "Рецепт није пронађен", "ok": "У реду", "options": "Опције:", + "plural-name": "Ime u množini", "print": "Штампа", "print-preferences": "Подешавање штампе", "random": "Насумично", @@ -134,117 +135,117 @@ "rename-object": "Преименуј {0}", "reset": "Ресетуј", "saturday": "Субота", - "save": "Save", - "settings": "Settings", - "share": "Share", - "shuffle": "Shuffle", - "sort": "Sort", - "sort-alphabetically": "Alphabetical", - "status": "Status", - "subject": "Subject", - "submit": "Submit", - "success-count": "Success: {count}", - "sunday": "Sunday", - "templates": "Templates:", - "test": "Test", - "themes": "Themes", - "thursday": "Thursday", - "token": "Token", - "tuesday": "Tuesday", - "type": "Type", - "update": "Update", - "updated": "Updated", - "upload": "Upload", + "save": "Сачувај", + "settings": "Подешавања", + "share": "Подели", + "shuffle": "Помешано", + "sort": "Сортирај", + "sort-alphabetically": "Азбучно", + "status": "Статус", + "subject": "Наслов", + "submit": "Пошаљи", + "success-count": "Успешно {count}", + "sunday": "недеља", + "templates": "Шаблони:", + "test": "Тест", + "themes": "Теме", + "thursday": "четвртак", + "token": "Токен", + "tuesday": "уторак", + "type": "Тип", + "update": "Ажурирај", + "updated": "Ажурирано", + "upload": "Отпреми", "url": "URL", - "view": "View", - "wednesday": "Wednesday", - "yes": "Yes", - "foods": "Foods", - "units": "Units", - "back": "Back", - "next": "Next", - "toggle-view": "Toggle View", - "date": "Date", - "id": "Id", - "owner": "Owner", - "date-added": "Date Added", - "none": "None", - "run": "Run", - "menu": "Menu", - "a-name-is-required": "A Name is Required", - "delete-with-name": "Delete {name}", - "confirm-delete-generic-with-name": "Are you sure you want to delete this {name}?", - "confirm-delete-own-admin-account": "Please note that you are trying to delete your own admin account! This action cannot be undone and will permanently delete your account?", - "organizer": "Organizer", - "transfer": "Transfer", - "copy": "Copy", - "color": "Color", - "timestamp": "Timestamp", - "last-made": "Last Made", - "learn-more": "Learn More", - "this-feature-is-currently-inactive": "This feature is currently inactive", - "clipboard-not-supported": "Clipboard not supported", - "copied-to-clipboard": "Copied to clipboard", - "your-browser-does-not-support-clipboard": "Your browser does not support clipboard", - "copied-items-to-clipboard": "No item copied to clipboard|One item copied to clipboard|Copied {count} items to clipboard", - "actions": "Actions", - "selected-count": "Selected: {count}", - "export-all": "Export All", - "refresh": "Refresh", - "upload-file": "Upload File", - "created-on-date": "Created on: {0}" + "view": "Преглед", + "wednesday": "среда", + "yes": "Да", + "foods": "Храна", + "units": "Јединице", + "back": "Назад", + "next": "Сљедећи", + "toggle-view": "Промени приказ", + "date": "Датум", + "id": "Ид", + "owner": "Власник", + "date-added": "Датум додавања", + "none": "Ниједно", + "run": "Покрени", + "menu": "Мени", + "a-name-is-required": "Име је неопходно", + "delete-with-name": "Обриши {name}", + "confirm-delete-generic-with-name": "Да ли сте сигурни да желите да обришете {name}?", + "confirm-delete-own-admin-account": "Обратите пажњу да покушавате избрисати свој администраторски налог! Ова акција не може бити поништена и трајно ће избрисати ваш налог?", + "organizer": "Организатор", + "transfer": "Пренос", + "copy": "Копирај", + "color": "Боја", + "timestamp": "Временска ознака", + "last-made": "Последњи пут прављено", + "learn-more": "Сазнај више", + "this-feature-is-currently-inactive": "Ова функција је тренутно неактивна", + "clipboard-not-supported": "Привремена меморија није подржана", + "copied-to-clipboard": "Копирано у привремену меморију", + "your-browser-does-not-support-clipboard": "Ваш прегледач не подржава привремену меморију", + "copied-items-to-clipboard": "Ниједна ставка није копирана на привремену меморију|Једна ставка је копирана на привремену меморију|Копираних {count} ставки на привремену меморију", + "actions": "Радње", + "selected-count": "Изабрано: {count}", + "export-all": "Извези све", + "refresh": "Освежи", + "upload-file": "Учитај датотеку", + "created-on-date": "Крерирано: {0}" }, "group": { - "are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete {groupName}?", - "cannot-delete-default-group": "Cannot delete default group", - "cannot-delete-group-with-users": "Cannot delete group with users", - "confirm-group-deletion": "Confirm Group Deletion", - "create-group": "Create Group", - "error-updating-group": "Error updating group", - "group": "Group", - "group-deleted": "Group deleted", - "group-deletion-failed": "Group deletion failed", - "group-id-with-value": "Group ID: {groupID}", - "group-name": "Group Name", - "group-not-found": "Group not found", - "group-with-value": "Group: {groupID}", - "groups": "Groups", - "manage-groups": "Manage Groups", - "user-group": "User Group", - "user-group-created": "User Group Created", - "user-group-creation-failed": "User Group Creation Failed", + "are-you-sure-you-want-to-delete-the-group": "Да ли сте сигурни да желите да обришете {groupName}?", + "cannot-delete-default-group": "Није могуће обрисати подразумевану групу", + "cannot-delete-group-with-users": "Није могуће обрисати групу у којој има корисника", + "confirm-group-deletion": "Потврди брисање групе", + "create-group": "Направи групу", + "error-updating-group": "Грешка при ажурирању групе", + "group": "Група", + "group-deleted": "Група је обрисана", + "group-deletion-failed": "Неуспело брисање групе", + "group-id-with-value": "ID групе: {groupID}", + "group-name": "Назив групе", + "group-not-found": "Група није пронађена", + "group-with-value": "Група: {groupID}", + "groups": "Групе", + "manage-groups": "Управљај групама", + "user-group": "Група корисника", + "user-group-created": "Група корисника је креирана", + "user-group-creation-failed": "Креирање групе корисника није успело", "settings": { - "keep-my-recipes-private": "Keep My Recipes Private", - "keep-my-recipes-private-description": "Sets your group and all recipes defaults to private. You can always change this later." + "keep-my-recipes-private": "Чувај моје рецепте приватним", + "keep-my-recipes-private-description": "Поставља вашу групу и све рецепте као подразумевано приватне. Увек можете касније променити ово." }, - "manage-members": "Manage Members", - "manage-members-description": "Manage the permissions of the members in your groups. {manage} allows the user to access the data-management page {invite} allows the user to generate invitation links for other users. Group owners cannot change their own permissions.", - "manage": "Manage", - "invite": "Invite", - "looking-to-update-your-profile": "Looking to Update Your Profile?", - "default-recipe-preferences-description": "These are the default settings when a new recipe is created in your group. These can be changed for individual recipes in the recipe settings menu.", - "default-recipe-preferences": "Default Recipe Preferences", - "group-preferences": "Group Preferences", - "private-group": "Private Group", - "private-group-description": "Setting your group to private will default all public view options to default. This overrides an individual recipes public view settings.", - "allow-users-outside-of-your-group-to-see-your-recipes": "Allow users outside of your group to see your recipes", - "allow-users-outside-of-your-group-to-see-your-recipes-description": "When enabled you can use a public share link to share specific recipes without authorizing the user. When disabled, you can only share recipes with users who are in your group or with a pre-generated private link", - "show-nutrition-information": "Show nutrition information", - "show-nutrition-information-description": "When enabled the nutrition information will be shown on the recipe if available. If there is no nutrition information available, the nutrition information will not be shown", - "show-recipe-assets": "Show recipe assets", - "show-recipe-assets-description": "When enabled the recipe assets will be shown on the recipe if available", - "default-to-landscape-view": "Default to landscape view", - "default-to-landscape-view-description": "When enabled the recipe header section will be shown in landscape view", - "disable-users-from-commenting-on-recipes": "Disable users from commenting on recipes", - "disable-users-from-commenting-on-recipes-description": "Hides the comment section on the recipe page and disables commenting", - "disable-organizing-recipe-ingredients-by-units-and-food": "Disable organizing recipe ingredients by units and food", - "disable-organizing-recipe-ingredients-by-units-and-food-description": "Hides the Food, Unit, and Amount fields for ingredients and treats ingredients as plain text fields.", - "general-preferences": "General Preferences", - "group-recipe-preferences": "Group Recipe Preferences", - "report": "Report", - "group-management": "Group Management", - "admin-group-management": "Admin Group Management", - "admin-group-management-text": "Changes to this group will be reflected immediately.", + "manage-members": "Управљај члановима", + "manage-members-description": "Управљајте дозволама чланова у вашим групама. {manage} омогућава кориснику приступ страни за управљање подацима, док {invite} омогућава кориснику генерисање позивних веза за друге кориснике. Власници група не могу мењати своје сопствене дозволе.", + "manage": "Управљај", + "invite": "Позови", + "looking-to-update-your-profile": "Желите ли да ажурирате свој профил?", + "default-recipe-preferences-description": "Ово су подразумевана подешавања када се креира нови рецепт у вашој групи. Ова подешавања могу бити промењена за појединачне рецепте у менију подешавања рецепата.", + "default-recipe-preferences": "Подразумевана подешавања рецепта", + "group-preferences": "Подешавања групе", + "private-group": "Приватна група", + "private-group-description": "Постављањем ваше групе као приватне, подразумеваће све опције јавног приказа као подразумеване. Ово замењује јавна подешавања приказа за појединачне рецепте.", + "allow-users-outside-of-your-group-to-see-your-recipes": "Дозволите корисницима, који су ван ваше групе, да виде ваше рецепте", + "allow-users-outside-of-your-group-to-see-your-recipes-description": "Када је омогућено, можете користити јавну везу за дељење одређених рецепата без одобравања корисника. Када је онемогућено, рецепте можете делити само са корисницима који су у вашој групи или помоћу претходно генерисане приватне везе", + "show-nutrition-information": "Прикажи информације о исхрани", + "show-nutrition-information-description": "Када је омогућено, информације о исхрани ће бити приказане на рецепту ако су доступне. Ако нема доступних информација о исхрани, информације о исхрани неће бити приказане", + "show-recipe-assets": "Прикажи састојке рецепта", + "show-recipe-assets-description": "Када су омогућени, састојци рецепта ће бити приказани на рецепту, када су доступни", + "default-to-landscape-view": "Хоризонтални режим као подразумевани приказ", + "default-to-landscape-view-description": "Када је омогућено, заглавље рецепта ће бити приказано у хоризонталном режиму", + "disable-users-from-commenting-on-recipes": "Онемогући кориснике да коментаришу рецепте", + "disable-users-from-commenting-on-recipes-description": "Сакрива секцију коментара на страници рецепта и онемогућава коментаре", + "disable-organizing-recipe-ingredients-by-units-and-food": "Онемогући организацију састојака рецепта по јединицама и намирницама", + "disable-organizing-recipe-ingredients-by-units-and-food-description": "Скрива поља за храну, јединицу мере и количину за намирнице и третира их као обична текстуална поља.", + "general-preferences": "Општа подешавања", + "group-recipe-preferences": "Подешавања групе рецепта", + "report": "Извештај", + "group-management": "Управљање групом", + "admin-group-management": "Управљање администраторском групом", + "admin-group-management-text": "Промене у овој групи биће одмах видљиве.", "group-id-value": "Group Id: {0}" }, "meal-plan": { @@ -253,35 +254,35 @@ "dinner-this-week": "Dinner This Week", "dinner-today": "Dinner Today", "dinner-tonight": "DINNER TONIGHT", - "edit-meal-plan": "Edit Meal Plan", + "edit-meal-plan": "Уреди јеловник", "end-date": "End Date", "group": "Group (Beta)", "main": "Main", - "meal-planner": "Meal Planner", - "meal-plans": "Meal Plans", - "mealplan-categories": "MEALPLAN CATEGORIES", - "mealplan-created": "Mealplan created", - "mealplan-creation-failed": "Mealplan creation failed", - "mealplan-deleted": "Mealplan Deleted", - "mealplan-deletion-failed": "Mealplan deletion failed", - "mealplan-settings": "Mealplan Settings", - "mealplan-update-failed": "Mealplan update failed", - "mealplan-updated": "Mealplan Updated", + "meal-planner": "Јеловник", + "meal-plans": "Јеловници", + "mealplan-categories": "КАТЕГОРИЈЕ ЈЕЛОВНИКА", + "mealplan-created": "Јеловник је креиран", + "mealplan-creation-failed": "Неуспело креирање јеловника", + "mealplan-deleted": "Јеловник је обрисан", + "mealplan-deletion-failed": "Неуспешно брисање јеловника", + "mealplan-settings": "Подешавања јеловника", + "mealplan-update-failed": "Неуспешно ажурирање јеловника", + "mealplan-updated": "Јеловник је ажуриран", "no-meal-plan-defined-yet": "No meal plan defined yet", "no-meal-planned-for-today": "No meal planned for today", - "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans", - "planner": "Planner", + "only-recipes-with-these-categories-will-be-used-in-meal-plans": "Само рецепти са овим категоријама ће бити коришћени у јеловницима", + "planner": "Планер", "quick-week": "Quick Week", "side": "Side", "sides": "Sides", - "start-date": "Start Date", + "start-date": "Датум почетка", "rule-day": "Rule Day", "meal-type": "Meal Type", - "breakfast": "Breakfast", - "lunch": "Lunch", - "dinner": "Dinner", - "type-any": "Any", - "day-any": "Any", + "breakfast": "Доручак", + "lunch": "Ручак", + "dinner": "Вечера", + "type-any": "Било који", + "day-any": "Било који", "editor": "Editor", "meal-recipe": "Meal Recipe", "meal-title": "Meal Title", @@ -296,10 +297,10 @@ "for-all-meal-types": "for all meal types", "for-type-meal-types": "for {0} meal types", "meal-plan-rules": "Meal Plan Rules", - "new-rule": "New Rule", - "meal-plan-rules-description": "You can create rules for auto selecting recipes for your meal plans. These rules are used by the server to determine the random pool of recipes to select from when creating meal plans. Note that if rules have the same day/type constraints then the categories of the rules will be merged. In practice, it's unnecessary to create duplicate rules, but it's possible to do so.", - "new-rule-description": "When creating a new rule for a meal plan you can restrict the rule to be applicable for a specific day of the week and/or a specific type of meal. To apply a rule to all days or all meal types you can set the rule to \"Any\" which will apply it to all the possible values for the day and/or meal type.", - "recipe-rules": "Recipe Rules", + "new-rule": "Ново правило", + "meal-plan-rules-description": "Можете креирати правила за аутоматски избор рецепата за ваше јеловнике. Ова правила користи сервер за одређивање случајног сета рецепата из којег ће бити изабране при креирању јеловника. Обратите пажњу да ако правила имају исто ограничење дана/типа, категорије правила ће бити спојене. У пракси, није потребно креирати дупла правила, али је могуће то учинити.", + "new-rule-description": "При креирању новог правила за јеловник, можете ограничити примену правила на одређени дан у недељи и/или на одређени тип оброка. Како бисте применили правило на све дане или све типове оброка, можете поставити правило на 'Било који', што ће га применити на све могуће вредности за дан и/или тип оброка.", + "recipe-rules": "Правила за рецепт", "applies-to-all-days": "Applies to all days", "applies-on-days": "Applies on {0}s", "meal-plan-settings": "Meal Plan Settings" @@ -360,24 +361,24 @@ "github-issues": "GitHub Issues", "google-ld-json-info": "Google ld+json Info", "must-be-a-valid-url": "Must be a Valid URL", - "paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list", + "paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Налепите ваше податке о рецепту. Свака линија ће бити третирана као ставка на списку", "recipe-markup-specification": "Recipe Markup Specification", "recipe-url": "Recipe URL", "upload-a-recipe": "Upload a Recipe", "upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.", - "url-form-hint": "Copy and paste a link from your favorite recipe website", + "url-form-hint": "Копирајте и налепите везу са вашег омиљеног сајта за рецепте", "view-scraped-data": "View Scraped Data", "trim-whitespace-description": "Trim leading and trailing whitespace as well as blank lines", "trim-prefix-description": "Trim first character from each line", "split-by-numbered-line-description": "Attempts to split a paragraph by matching '1)' or '1.' patterns", - "import-by-url": "Import a recipe by URL", - "create-manually": "Create a recipe manually", + "import-by-url": "Увези рецепт помоћу URL везе", + "create-manually": "Направи рецепт ручно", "make-recipe-image": "Make this the recipe image" }, "page": { "404-page-not-found": "404 Page not found", "all-recipes": "All Recipes", - "new-page-created": "New page created", + "new-page-created": "Нова страна је креирана", "page": "Page", "page-creation-failed": "Page creation failed", "page-deleted": "Page deleted", @@ -391,12 +392,12 @@ }, "recipe": { "add-key": "Add Key", - "add-to-favorites": "Add to Favorites", + "add-to-favorites": "Додај у омиљене", "api-extras": "API Extras", "calories": "Calories", "calories-suffix": "calories", "carbohydrate-content": "Carbohydrate", - "categories": "Categories", + "categories": "Категорије", "comment-action": "Comment", "comment": "Comment", "comments": "Comments", @@ -412,7 +413,7 @@ "fiber-content": "Fiber", "grams": "grams", "ingredient": "Ingredient", - "ingredients": "Ingredients", + "ingredients": "Састојци", "insert-ingredient": "Insert Ingredient", "insert-section": "Insert Section", "instructions": "Instructions", @@ -426,11 +427,11 @@ "object-key": "Object Key", "object-value": "Object Value", "original-url": "Original URL", - "perform-time": "Cook Time", - "prep-time": "Prep Time", + "perform-time": "Време кувања", + "prep-time": "Време припреме", "protein-content": "Protein", "public-recipe": "Public Recipe", - "recipe-created": "Recipe created", + "recipe-created": "Рецепт је направљен", "recipe-creation-failed": "Recipe creation failed", "recipe-deleted": "Recipe deleted", "recipe-image": "Recipe Image", @@ -439,7 +440,7 @@ "recipe-settings": "Recipe Settings", "recipe-update-failed": "Recipe update failed", "recipe-updated": "Recipe updated", - "remove-from-favorites": "Remove from Favorites", + "remove-from-favorites": "Уклони из омиљених", "remove-section": "Remove Section", "save-recipe-before-use": "Save recipe before use", "section-title": "Section Title", @@ -447,38 +448,40 @@ "share-recipe-message": "I wanted to share my {0} recipe with you.", "show-nutrition-values": "Show Nutrition Values", "sodium-content": "Sodium", - "step-index": "Step: {step}", + "step-index": "{step}. корак", "sugar-content": "Sugar", "title": "Title", - "total-time": "Total Time", + "total-time": "Укупно времена", "unable-to-delete-recipe": "Unable to Delete Recipe", "no-recipe": "No Recipe", "locked-by-owner": "Locked by Owner", "join-the-conversation": "Join the Conversation", - "add-recipe-to-mealplan": "Add Recipe to Mealplan", + "add-recipe-to-mealplan": "Додај рецепт у јеловник", "entry-type": "Entry Type", "date-format-hint": "MM/DD/YYYY format", "date-format-hint-yyyy-mm-dd": "YYYY-MM-DD format", "add-to-list": "Add to List", "add-to-plan": "Add to Plan", - "add-to-timeline": "Add to Timeline", + "add-to-timeline": "Додај на временску линију", "recipe-added-to-list": "Recipe added to list", - "recipe-added-to-mealplan": "Recipe added to mealplan", - "failed-to-add-recipe-to-mealplan": "Failed to add recipe to mealplan", + "recipes-added-to-list": "Recipes added to list", + "recipe-added-to-mealplan": "Рецепт је додат у јеловник", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", + "failed-to-add-recipe-to-mealplan": "Неуспешно додавање рецепта у јеловник", "yield": "Yield", "quantity": "Quantity", "choose-unit": "Choose Unit", - "press-enter-to-create": "Press Enter to Create", - "choose-food": "Choose Food", + "press-enter-to-create": "Притисни Ентер да направиш", + "choose-food": "Изабери храну", "notes": "Notes", "toggle-section": "Toggle Section", "see-original-text": "See Original Text", "original-text-with-value": "Original Text: {originalText}", - "ingredient-linker": "Ingredient Linker", - "linked-to-other-step": "Linked to other step", + "ingredient-linker": "Повезивач састојака", + "linked-to-other-step": "Повезан са другим кораком", "auto": "Auto", "cook-mode": "Cook Mode", - "link-ingredients": "Link Ingredients", + "link-ingredients": "Повежи састојке", "merge-above": "Merge Above", "reset-scale": "Reset Scale", "decrease-scale-label": "Decrease Scale by 1", @@ -492,47 +495,47 @@ "resume-timer": "Resume Timer", "stop-timer": "Stop Timer" }, - "edit-timeline-event": "Edit Timeline Event", - "timeline": "Timeline", - "timeline-is-empty": "Nothing on the timeline yet. Try making this recipe!", + "edit-timeline-event": "Уреди догађај на временској линији", + "timeline": "Временска линија", + "timeline-is-empty": "Још увек нема ништа на временској линији. Покушајте направити овај рецепт!", "group-global-timeline": "{groupName} Global Timeline", - "open-timeline": "Open Timeline", + "open-timeline": "Отвори временску линију", "made-this": "I Made This", "how-did-it-turn-out": "How did it turn out?", "user-made-this": "{user} made this", - "last-made-date": "Last Made {date}", - "api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom json key/value pairs within a recipe to reference from 3rd part applications. You can use these keys to contain information to trigger automation or custom messages to relay to your desired device.", + "last-made-date": "Последњи пут прављено {date}", + "api-extras-description": "Додаци рецепата су кључна карактеристика Mили API-а. Омогућавају вам да креирате прилагођене JSON парове кључ/вредност унутар рецепта за референцу из других апликација. Можете користити ове кључеве за садржај информација за покретање аутоматизације или прилагођених порука које ће бити прослеђене на ваш уређај по жељи.", "message-key": "Message Key", "parse": "Parse", "attach-images-hint": "Attach images by dragging & dropping them into the editor", "enable-ingredient-amounts-to-use-this-feature": "Enable ingredient amounts to use this feature", "recipes-with-units-or-foods-defined-cannot-be-parsed": "Recipes with units or foods defined cannot be parsed.", - "parse-ingredients": "Parse ingredients", + "parse-ingredients": "Разложи састојке", "edit-markdown": "Edit Markdown", "recipe-creation": "Recipe Creation", - "select-one-of-the-various-ways-to-create-a-recipe": "Select one of the various ways to create a recipe", + "select-one-of-the-various-ways-to-create-a-recipe": "Изаберите један од различитих начина за прављење рецепта", "looking-for-migrations": "Looking For Migrations?", - "import-with-url": "Import with URL", - "create-recipe": "Create Recipe", - "import-with-zip": "Import with .zip", - "create-recipe-from-an-image": "Create recipe from an image", - "bulk-url-import": "Bulk URL Import", + "import-with-url": "Увези помоћу URL везе", + "create-recipe": "Направи рецепт", + "import-with-zip": "Увези помоћу .zip архиве", + "create-recipe-from-an-image": "Направи рецепт са слике", + "bulk-url-import": "Масовни увоз помоћу URL", "debug-scraper": "Debug Scraper", - "create-a-recipe-by-providing-the-name-all-recipes-must-have-unique-names": "Create a recipe by providing the name. All recipes must have unique names.", + "create-a-recipe-by-providing-the-name-all-recipes-must-have-unique-names": "Направи рецепт додајући име. Сви рецепти морају имати јединствена имена.", "new-recipe-names-must-be-unique": "New recipe names must be unique", "scrape-recipe": "Scrape Recipe", "scrape-recipe-description": "Scrape a recipe by url. Provide the url for the site you want to scrape, and Mealie will attempt to scrape the recipe from that site and add it to your collection.", - "import-original-keywords-as-tags": "Import original keywords as tags", + "import-original-keywords-as-tags": "Увези оригиналне кључне речи као ознаке", "stay-in-edit-mode": "Stay in Edit mode", - "import-from-zip": "Import from Zip", + "import-from-zip": "Увези из Zip архиве", "import-from-zip-description": "Import a single recipe that was exported from another Mealie instance.", "zip-files-must-have-been-exported-from-mealie": ".zip files must have been exported from Mealie", - "create-a-recipe-by-uploading-a-scan": "Create a recipe by uploading a scan.", + "create-a-recipe-by-uploading-a-scan": "Направи рецепт учитавањем скениране слике.", "upload-a-png-image-from-a-recipe-book": "Upload a png image from a recipe book", "recipe-bulk-importer": "Recipe Bulk Importer", "recipe-bulk-importer-description": "The Bulk recipe importer allows you to import multiple recipes at once by queueing the sites on the backend and running the task in the background. This can be useful when initially migrating to Mealie, or when you want to import a large number of recipes.", - "set-categories-and-tags": "Set Categories and Tags", - "bulk-imports": "Bulk Imports", + "set-categories-and-tags": "Постави категорије и ознаке", + "bulk-imports": "Масовни увоз", "bulk-import-process-has-started": "Bulk Import process has started", "bulk-import-process-has-failed": "Bulk import process has failed", "report-deletion-failed": "Report deletion failed", @@ -547,28 +550,28 @@ "remove-image": "Remove image" }, "search": { - "advanced-search": "Advanced Search", - "and": "and", - "exclude": "Exclude", - "include": "Include", - "max-results": "Max Results", - "or": "Or", - "has-any": "Has Any", - "has-all": "Has All", - "results": "Results", - "search": "Search", - "search-mealie": "Search Mealie (press /)", - "search-placeholder": "Search...", - "tag-filter": "Tag Filter", - "search-hint": "Press '/'", - "advanced": "Advanced", - "auto-search": "Auto Search" + "advanced-search": "Напредна претрага", + "and": "и", + "exclude": "Искључи", + "include": "Укључи", + "max-results": "Макс. резултата", + "or": "Или", + "has-any": "Садржи било који", + "has-all": "Садржи све", + "results": "Резултати", + "search": "Претрага", + "search-mealie": "Претражи Мили (стисни /)", + "search-placeholder": "Претражи...", + "tag-filter": "Филтер по ознакама", + "search-hint": "Стисни '/'", + "advanced": "Напредна", + "auto-search": "Аутоматска претрага" }, "settings": { "add-a-new-theme": "Add a New Theme", "admin-settings": "Admin Settings", "backup": { - "backup-created-at-response-export_path": "Backup Created at {path}", + "backup-created-at-response-export_path": "Резервна копија је креирана на {path}", "backup-deleted": "Backup deleted", "backup-tag": "Backup Tag", "create-heading": "Create a Backup", @@ -578,7 +581,7 @@ "import-summary": "Import Summary", "partial-backup": "Partial Backup", "unable-to-delete-backup": "Unable to Delete Backup.", - "experimental-description": "Backups a total snapshots of the database and data directory of the site. This includes all data and cannot be set to exclude subsets of data. You can think off this as a snapshot of Mealie at a specific time. Currently, {not-crossed-version} (data migrations are not done automatically). These serve as a database agnostic way to export and import data or backup the site to an external location.", + "experimental-description": "Резервне копије су потпуни снимци базе података и директоријума са подацима сајта. Ово укључује све податке и не може се подесити да искључује подскупове података. Схватите ово као снимак Милија у одређено време. Они служе као база података која није зависна од типа за извоз и увоз података, или за резервну копију сајта на спољну локацију.", "backup-restore": "Backup Restore", "back-restore-description": "Restoring this backup will overwrite all the current data in your database and in the data directory and replace them with the contents of this backup. {cannot-be-undone} If the restoration is successful, you will be logged out.", "cannot-be-undone": "This action cannot be undone - use with caution.", @@ -596,7 +599,7 @@ "first-day-of-week": "First day of the week", "group-settings-updated": "Group Settings Updated", "homepage": { - "all-categories": "All Categories", + "all-categories": "Све категорије", "card-per-section": "Card Per Section", "home-page": "Home Page", "home-page-sections": "Home Page Sections", @@ -655,7 +658,7 @@ "toolbox": { "assign-all": "Assign All", "bulk-assign": "Bulk Assign", - "new-name": "New Name", + "new-name": "Нови назив", "no-unused-items": "No Unused Items", "recipes-affected": "No Recipes Affected|One Recipe Affected|{count} Recipes Affected", "remove-unused": "Remove Unused", @@ -690,7 +693,7 @@ "general-about": "General About", "application-version": "Application Version", "application-version-error-text": "Your current version ({0}) does not match the latest release. Considering updating to the latest version ({1}).", - "mealie-is-up-to-date": "Mealie is up to date", + "mealie-is-up-to-date": "Мили је ажуриран на последњу верзију", "secure-site": "Secure Site", "secure-site-error-text": "Serve via localhost or secure with https. Clipboard and additional browser APIs may not work.", "secure-site-success-text": "Site is accessed by localhost or https", @@ -704,20 +707,20 @@ "recipe-scraper-version": "Recipe Scraper Version" }, "shopping-list": { - "all-lists": "All Lists", - "create-shopping-list": "Create Shopping List", + "all-lists": "Сви спискови", + "create-shopping-list": "Направи списак за куповину", "from-recipe": "From Recipe", "list-name": "List Name", - "new-list": "New List", + "new-list": "Novi spisak", "quantity": "Quantity: {0}", "shopping-list": "Shopping List", - "shopping-lists": "Shopping Lists", - "food": "Food", + "shopping-lists": "Списак за куповину", + "food": "Храна", "note": "Note", - "label": "Label", + "label": "Natpis", "linked-item-warning": "This item is linked to one or more recipe. Adjusting the units or foods will yield unexpected results when adding or removing the recipe from this list.", "toggle-food": "Toggle Food", - "manage-labels": "Manage Labels", + "manage-labels": "Управљај натписима", "are-you-sure-you-want-to-delete-this-item": "Are you sure you want to delete this item?", "copy-as-text": "Copy as Text", "copy-as-markdown": "Copy as Markdown", @@ -728,30 +731,30 @@ "check-all-items": "Check All Items", "linked-recipes-count": "No Linked Recipes|One Linked Recipe|{count} Linked Recipes", "items-checked-count": "No items checked|One item checked|{count} items checked", - "no-label": "No Label", + "no-label": "Без натписа", "completed-on": "Completed on {date}" }, "sidebar": { "all-recipes": "All Recipes", "backups": "Backups", - "categories": "Categories", - "cookbooks": "Cookbooks", + "categories": "Категорије", + "cookbooks": "Кувари", "dashboard": "Dashboard", "home-page": "Home Page", "manage-users": "Manage Users", "migrations": "Migrations", "profile": "Profile", - "search": "Search", + "search": "Претрага", "site-settings": "Site Settings", - "tags": "Tags", + "tags": "Ознаке", "toolbox": "Toolbox", "language": "Language", "maintenance": "Maintenance", "background-tasks": "Background Tasks", "parser": "Parser", "developer": "Developer", - "cookbook": "Cookbook", - "create-cookbook": "Create a new cookbook" + "cookbook": "Кувар", + "create-cookbook": "Направи нови кувар" }, "signup": { "error-signing-up": "Error Signing Up", @@ -764,25 +767,25 @@ "welcome-to-mealie": "Welcome to Mealie! To become a user of this instance you are required to have a valid invitation link. If you haven't recieved an invitation you are unable to sign-up. To recieve a link, contact the sites administrator." }, "tag": { - "tag-created": "Tag created", + "tag-created": "Ознака је креирана", "tag-creation-failed": "Tag creation failed", "tag-deleted": "Tag deleted", "tag-deletion-failed": "Tag deletion failed", "tag-update-failed": "Tag update failed", "tag-updated": "Tag updated", - "tags": "Tags", + "tags": "Ознаке", "untagged-count": "Untagged {count}", "create-a-tag": "Create a Tag", "tag-name": "Tag Name" }, "tool": { - "tools": "Tools", + "tools": "Прибор", "on-hand": "On Hand", "create-a-tool": "Create a Tool", - "tool-name": "Tool Name", + "tool-name": "Назив прибора", "create-new-tool": "Create New Tool", "on-hand-checkbox-label": "Show as On Hand (Checked)", - "required-tools": "Required Tools" + "required-tools": "Потребан прибор" }, "user": { "admin": "Admin", @@ -807,7 +810,7 @@ "link-id": "Link ID", "link-name": "Link Name", "login": "Login", - "logout": "Logout", + "logout": "Одјава", "manage-users": "Manage Users", "new-password": "New Password", "new-user": "New User", @@ -820,11 +823,11 @@ "register": "Register", "reset-password": "Reset Password", "sign-in": "Sign in", - "total-mealplans": "Total MealPlans", + "total-mealplans": "Укупно рецепата", "total-users": "Total Users", "upload-photo": "Upload Photo", "use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password", - "user-created": "User created", + "user-created": "Корисник је креиран", "user-creation-failed": "User creation failed", "user-deleted": "User deleted", "user-id-with-value": "User ID: {id}", @@ -842,33 +845,35 @@ "you-are-not-allowed-to-create-a-user": "You are not allowed to create a user", "you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user", "enable-advanced-content": "Enable Advanced Content", - "enable-advanced-content-description": "Enables advanced features like Recipe Scaling, API keys, Webhooks, and Data Management. Don't worry, you can always change this later", - "favorite-recipes": "Favorite Recipes", + "enable-advanced-content-description": "Омогућава напредне функције као што су промена рецепта, API кључеви, Webhooks и управљање подацима. Немојте се бринути, увек можете касније променити ово", + "favorite-recipes": "Омиљени рецепти", "email-or-username": "Email or Username", "remember-me": "Remember Me", "please-enter-your-email-and-password": "Please enter your email and password", "invalid-credentials": "Invalid Credentials", "account-locked-please-try-again-later": "Account Locked. Please try again later", - "user-favorites": "User Favorites", + "user-favorites": "Корисникови омиљени рецепти", "password-strength-values": { "weak": "Weak", "good": "Good", "strong": "Strong", "very-strong": "Very Strong" }, - "user-management": "User Management", + "user-management": "Управљање корисницима", "reset-locked-users": "Reset Locked Users", "admin-user-creation": "Admin User Creation", "user-details": "User Details", "user-name": "User Name", "authentication-method": "Authentication Method", - "authentication-method-hint": "This specifies how a user will authenticate with Mealie. If you're not sure, choose 'Mealie", + "authentication-method-hint": "Ово одређује како ће се корисник аутентификовати са Mили. Ако нисте сигурни, изаберите 'Mealie'", "permissions": "Permissions", "administrator": "Administrator", "user-can-invite-other-to-group": "User can invite other to group", "user-can-manage-group": "User can manage group", "user-can-organize-group-data": "User can organize group data", - "enable-advanced-features": "Enable advanced features" + "enable-advanced-features": "Enable advanced features", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "translated", @@ -889,7 +894,9 @@ "create-food": "Create Food", "food-label": "Food Label", "edit-food": "Edit Food", - "food-data": "Food Data" + "food-data": "Food Data", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Seed the database with common units based on your local language.", @@ -900,19 +907,24 @@ "merging-unit-into-unit": "Merging {0} into {1}", "create-unit": "Create Unit", "abbreviation": "Abbreviation", + "plural-abbreviation": "Plural Abbreviation", "description": "Description", "display-as-fraction": "Display as Fraction", "use-abbreviation": "Use Abbreviation", "edit-unit": "Edit Unit", "unit-data": "Unit Data", "use-abbv": "Use Abbv.", - "fraction": "Fraction" + "fraction": "Fraction", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Seed the database with common labels based on your local language.", "edit-label": "Edit Label", "new-label": "New Label", - "labels": "Labels" + "labels": "Натписи" }, "recipes": { "purge-exports": "Purge Exports", @@ -935,14 +947,31 @@ "delete-recipes": "Delete Recipes", "source-unit-will-be-deleted": "Source Unit will be deleted" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Seed Data", "seed": "Seed", - "data-management": "Data Management", - "data-management-description": "Select which data set you want to make changes to.", + "data-management": "Управљање подацима", + "data-management-description": "Изаберите који скуп података желите изменити.", "select-data": "Select Data", "select-language": "Select Language", "columns": "Columns", - "combine": "Combine" + "combine": "Combine", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "User Registration", @@ -950,7 +979,7 @@ "create-a-new-group": "Create a New Group", "provide-registration-token-description": "Please provide the registration token associated with the group that you'd like to join. You'll need to obtain this from an existing group member.", "group-details": "Group Details", - "group-details-description": "Before you create an account you'll need to create a group. Your group will only contain you, but you'll be able to invite others later. Members in your group can share meal plans, shopping lists, recipes, and more!", + "group-details-description": "Пре него што креирате налог, морате креирати групу. Ваша група ће садржавати само вас, али касније ћете моћи позвати друге. Чланови ваше групе могу делити јеловнике, спискове за куповину, рецепте и још много тога!", "use-seed-data": "Use Seed Data", "use-seed-data-description": "Mealie ships with a collection of Foods, Units, and Labels that can be used to populate your group with helpful data for organizing your recipes.", "account-details": "Account Details" @@ -980,7 +1009,7 @@ "issue-link-text": "Track our progress here" }, "form": { - "quantity-label-abbreviated": "Qty" + "quantity-label-abbreviated": "Кол." }, "markdown-editor": { "preview-markdown-button-label": "Preview Markdown" @@ -1011,7 +1040,7 @@ "split-text-mode": "Split Text modes", "split-modes": { "line-mode": "Line mode (default)", - "line-mode-desc": "In line mode, the text will be propagated by keeping the original line breaks. This mode is useful when using bulk add on a list of ingredients where one ingredient is one line.", + "line-mode-desc": "У режиму линије, текст ће бити пренесен чувањем оригиналних прелаза на нови ред. Овај режим је користан при коришћењу опције масовног додавања на списак намирница, где је један састојак један ред.", "block-mode": "Block mode", "block-mode-desc": "In block mode, the text will be split in blocks. This mode is useful when bulk adding instructions that are usually written in paragraphs.", "flat-mode": "Flat mode", @@ -1025,7 +1054,7 @@ "page-title": "Site Maintenance", "summary-title": "Summary", "button-label-get-summary": "Get Summary", - "button-label-open-details": "Details", + "button-label-open-details": "Детаљи", "info-description-data-dir-size": "Data Directory Size", "info-description-log-file-size": "Log File Size", "info-description-cleanable-directories": "Cleanable Directories", @@ -1055,9 +1084,9 @@ "mainentance": { "actions-title": "Actions" }, - "ingredients-natural-language-processor": "Ingredients Natural Language Processor", - "ingredients-natural-language-processor-explanation": "Mealie uses Conditional Random Fields (CRFs) for parsing and processing ingredients. The model used for ingredients is based off a data set of over 100,000 ingredients from a dataset compiled by the New York Times. Note that as the model is trained in English only, you may have varied results when using the model in other languages. This page is a playground for testing the model.", - "ingredients-natural-language-processor-explanation-2": "It's not perfect, but it yields great results in general and is a good starting point for manually parsing ingredients into individual fields. Alternatively, you can also use the \"Brute\" processor that uses a pattern matching technique to identify ingredients.", + "ingredients-natural-language-processor": "Процесор природног језика за састојке", + "ingredients-natural-language-processor-explanation": "Мили користи условна случајна поља (CRFs) за анализу и обраду састојака. Модел који се користи за састојке, базиран је на скупу података од преко 100.000 састојака из скупа података који је саставио Њујорк тајмс. Напомена је да је модел обучен само на енглеском језику, па можете имати резултате који варирају, када користите модел на другим језицима. Ова страница је игралиште за тестирање модела.", + "ingredients-natural-language-processor-explanation-2": "Није савршено, али даје одличне резултате и добра је почетна тачка за ручно разлагање саставних делова у појединачна поља. Као алтернативу, такође можете користити \"Брут\" процесор који користи технику усклађивања шаблона за идентификацију састојака.", "nlp": "NLP", "brute": "Brute", "show-individual-confidence": "Show individual confidence", @@ -1088,7 +1117,7 @@ "api-tokens-description": "Manage your API Tokens for access from external applications", "group-description": "These items are shared within your group. Editing one of them will change it for the whole group!", "group-settings": "Group Settings", - "group-settings-description": "Manage your common group settings like mealplan and privacy settings.", + "group-settings-description": "Управљајте општим подешавањима групе као што су подешавања јеловника и приватности.", "cookbooks-description": "Manage a collection of recipe categories and generate pages for them.", "members": "Members", "members-description": "See who's in your group and manage their permissions.", @@ -1103,28 +1132,28 @@ "error-sending-email": "Error Sending Email", "personal-information": "Personal Information", "preferences": "Preferences", - "show-advanced-description": "Show advanced features (API Keys, Webhooks, and Data Management)", + "show-advanced-description": "Прикажи напредне функције (API кључеви, Webhooks и управљање подацима)", "back-to-profile": "Back to Profile", "looking-for-privacy-settings": "Looking for Privacy Settings?", "manage-your-api-tokens": "Manage Your API Tokens", "manage-user-profile": "Manage User Profile", - "manage-cookbooks": "Manage Cookbooks", + "manage-cookbooks": "Управљај куварима", "manage-members": "Manage Members", "manage-webhooks": "Manage Webhooks", "manage-notifiers": "Manage Notifiers", "manage-data-migrations": "Manage Data Migrations" }, "cookbook": { - "cookbooks": "Cookbooks", - "description": "Cookbooks are another way to organize recipes by creating cross sections of recipes and tags. Creating a cookbook will add an entry to the side-bar and all the recipes with the tags and categories chosen will be displayed in the cookbook.", - "public-cookbook": "Public Cookbook", + "cookbooks": "Кувари", + "description": "Кувари су још један начин за организовање рецепата креирањем пресека рецепата и ознака. Креирање кувара додаће ставку на бочну траку и све рецепте са изабраним ознакама и категоријама биће приказане у кувару.", + "public-cookbook": "Јавни кувар", "public-cookbook-description": "Public Cookbooks can be shared with non-mealie users and will be displayed on your groups page.", - "filter-options": "Filter Options", + "filter-options": "Опције филтера", "filter-options-description": "When require all is selected the cookbook will only include recipes that have all of the items selected. This applies to each subset of selectors and not a cross section of the selected items.", - "require-all-categories": "Require All Categories", - "require-all-tags": "Require All Tags", - "require-all-tools": "Require All Tools", + "require-all-categories": "Захтевај све категорије", + "require-all-tags": "Захтевај све ознаке", + "require-all-tools": "Захтева сав прибор", "cookbook-name": "Cookbook Name", - "cookbook-with-name": "Cookbook {0}" + "cookbook-with-name": "Кувар {0}" } } diff --git a/frontend/lang/messages/sv-SE.json b/frontend/lang/messages/sv-SE.json index bc384aeb9d3e..42c4a901d078 100644 --- a/frontend/lang/messages/sv-SE.json +++ b/frontend/lang/messages/sv-SE.json @@ -124,6 +124,7 @@ "no-recipe-found": "Inga recept hittades", "ok": "Ok", "options": "Alternativ:", + "plural-name": "Plural Name", "print": "Skriv ut", "print-preferences": "Utskriftsinställningar", "random": "Slumpa", @@ -462,7 +463,9 @@ "add-to-plan": "Lägg till i plan", "add-to-timeline": "Lägg till i tidslinje", "recipe-added-to-list": "Recept tillagt i listan", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Recept tillagt i måltidsplanen", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Det gick inte att lägga till recept i måltidsplanen", "yield": "Ger", "quantity": "Antal", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "Användaren kan bjuda in andra till gruppen", "user-can-manage-group": "Användare kan hantera grupp", "user-can-organize-group-data": "Användaren kan organisera gruppdata", - "enable-advanced-features": "Aktivera avancerade funktioner" + "enable-advanced-features": "Aktivera avancerade funktioner", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "översatt", @@ -888,7 +893,9 @@ "create-food": "Skapa mat", "food-label": "Mat etikett", "edit-food": "Redigera mat", - "food-data": "Mat data" + "food-data": "Mat data", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Fyll databasen med vanliga enheter baserade på ditt språk.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Slå samman {0} till {1}", "create-unit": "Skapa enhet", "abbreviation": "Abbreviation", + "plural-abbreviation": "Plural Abbreviation", "description": "Beskrivning", "display-as-fraction": "Display as Fraction", "use-abbreviation": "Use Abbreviation", "edit-unit": "Redigera enhet", "unit-data": "Enhetsdata", "use-abbv": "Use Abbv.", - "fraction": "Fraction" + "fraction": "Fraction", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Fyll databasen med vanliga etiketter baserade på ditt språk.", @@ -934,6 +946,8 @@ "delete-recipes": "Radera recept", "source-unit-will-be-deleted": "Source Unit will be deleted" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Exempeldata", "seed": "Seed", "data-management": "Datahantering", @@ -941,7 +955,22 @@ "select-data": "Välj data", "select-language": "Välj språk", "columns": "Kolumner", - "combine": "Kombinera" + "combine": "Kombinera", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "Användarregistrering", diff --git a/frontend/lang/messages/tr-TR.json b/frontend/lang/messages/tr-TR.json index 30d002002aa4..29e1033ee4ed 100644 --- a/frontend/lang/messages/tr-TR.json +++ b/frontend/lang/messages/tr-TR.json @@ -124,6 +124,7 @@ "no-recipe-found": "Tarif Bulunamadı", "ok": "Tamam", "options": "Seçenekler:", + "plural-name": "Çoğul Ad", "print": "Yazdır", "print-preferences": "Yazdırma Tercihleri", "random": "Rastgele", @@ -462,7 +463,9 @@ "add-to-plan": "Plana Ekle", "add-to-timeline": "Zaman Tüneline Ekle", "recipe-added-to-list": "Tarif listeye eklendi", + "recipes-added-to-list": "Tarifler listeye eklendi", "recipe-added-to-mealplan": "Tarif yemek planına eklendi", + "failed-to-add-recipes-to-list": "Tarif listeye eklenemedi", "failed-to-add-recipe-to-mealplan": "Tarif yemek planına eklerken hata oluştu", "yield": "Yield", "quantity": "Miktar", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "Kullanıcı başkalarını gruba davet edebilir", "user-can-manage-group": "Kullanıcı grubu yönetebilir", "user-can-organize-group-data": "Kullanıcı grup verilerini düzenleyebilir", - "enable-advanced-features": "Gelişmiş özellikleri etkinleştir" + "enable-advanced-features": "Gelişmiş özellikleri etkinleştir", + "it-looks-like-this-is-your-first-time-logging-in": "Görünüşe göre ilk defa giriş yapıyorsunuz.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Artık bunu görmek istemiyor musunuz? Kullanıcı ayarlarınızda e-postanızı değiştirmeyi unutmayın!" }, "language-dialog": { "translated": "translated", @@ -888,7 +893,9 @@ "create-food": "Create Food", "food-label": "Food Label", "edit-food": "Yiyecek Düzenle", - "food-data": "Food Data" + "food-data": "Food Data", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Seed the database with common units based on your local language.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Merging {0} into {1}", "create-unit": "Create Unit", "abbreviation": "Kısaltma", + "plural-abbreviation": "Çoğul Kısaltma", "description": "Açıklama", "display-as-fraction": "Display as Fraction", "use-abbreviation": "Use Abbreviation", "edit-unit": "Edit Unit", "unit-data": "Unit Data", "use-abbv": "Use Abbv.", - "fraction": "Fraction" + "fraction": "Fraction", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Seed the database with common labels based on your local language.", @@ -934,6 +946,8 @@ "delete-recipes": "Delete Recipes", "source-unit-will-be-deleted": "Source Unit will be deleted" }, + "create-alias": "Takma Ad Oluştur", + "manage-aliases": "Takma Adları Yönet", "seed-data": "Seed Data", "seed": "Seed", "data-management": "Data Management", @@ -941,7 +955,22 @@ "select-data": "Select Data", "select-language": "Select Language", "columns": "Columns", - "combine": "Birleştir" + "combine": "Birleştir", + "categories": { + "edit-category": "Kategori Düzenle", + "new-category": "Yeni Kategori", + "category-data": "Kategori Verisi" + }, + "tags": { + "new-tag": "Yeni Etiket", + "edit-tag": "Etiketi Düzenle", + "tag-data": "Etiket Verisi" + }, + "tools": { + "new-tool": "Yeni Araç", + "edit-tool": "Araçları Düzenle", + "tool-data": "Araç Verisi" + } }, "user-registration": { "user-registration": "User Registration", diff --git a/frontend/lang/messages/uk-UA.json b/frontend/lang/messages/uk-UA.json index 3d9d1f849e2e..0ff38a470b2e 100644 --- a/frontend/lang/messages/uk-UA.json +++ b/frontend/lang/messages/uk-UA.json @@ -124,6 +124,7 @@ "no-recipe-found": "Рецепти не знайдені", "ok": "OK", "options": "Опції:", + "plural-name": "Назва у множині", "print": "Друк", "print-preferences": "Налаштування друку", "random": "Випадково", @@ -462,7 +463,9 @@ "add-to-plan": "Додати до плану", "add-to-timeline": "Додати до хроніки", "recipe-added-to-list": "Рецепт додано до списку", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Рецепт додано до плану харчування", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Не вдалося додати рецепт до плану харчування", "yield": "Вихід", "quantity": "Кількість", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "Користувач може запрошувати інших в групу", "user-can-manage-group": "Користувач може керувати групою", "user-can-organize-group-data": "Користувач може впорядковувати дані групи", - "enable-advanced-features": "Увімкнути додаткові функції" + "enable-advanced-features": "Увімкнути додаткові функції", + "it-looks-like-this-is-your-first-time-logging-in": "Схоже, ви заходите вперше.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Більше не хочете це бачити? Обов'язково змініть адресу електронної пошти в налаштуваннях користувача!" }, "language-dialog": { "translated": "перекладено", @@ -888,7 +893,9 @@ "create-food": "Створити продукт", "food-label": "Етикетка продукту", "edit-food": "Редагувати продукт", - "food-data": "Дані про продукти" + "food-data": "Дані про продукти", + "example-food-singular": "приклад: Цибулина", + "example-food-plural": "приклад: Цибуля" }, "units": { "seed-dialog-text": "Заповнити базу даних розповсюдженими одиницями виміру що відповідають мові.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Об'єднання {0} з {1}", "create-unit": "Створити одиницю вимірювання", "abbreviation": "Скорочена назва", + "plural-abbreviation": "Скорочення в множині", "description": "Опис", "display-as-fraction": "Відображати як частку", "use-abbreviation": "Використовувати скорочення", "edit-unit": "Редагувати одиницю", "unit-data": "Одиниці виміру", "use-abbv": "Використовувати скороч-ння.", - "fraction": "Частка" + "fraction": "Частка", + "example-unit-singular": "приклад: Столова ложка", + "example-unit-plural": "приклад: Столові ложки", + "example-unit-abbreviation-singular": "приклад: ст. л", + "example-unit-abbreviation-plural": "приклад: ст. л" }, "labels": { "seed-dialog-text": "Заповнити базу даних розповсюдженими категоріями що відповідають мові.", @@ -934,6 +946,8 @@ "delete-recipes": "Видалити рецепти", "source-unit-will-be-deleted": "Початкову одиницю вимірювання буде видалено" }, + "create-alias": "Створити псевдонім", + "manage-aliases": "Керувати псевдонімами", "seed-data": "Підготовлені дані", "seed": "Згенерувати", "data-management": "Керування даними", @@ -941,7 +955,22 @@ "select-data": "Вибір даних", "select-language": "Вибір мови", "columns": "Стовпці", - "combine": "Об'єднати" + "combine": "Об'єднати", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "Реєстрація користувачів", diff --git a/frontend/lang/messages/vi-VN.json b/frontend/lang/messages/vi-VN.json index 273e98d49240..7ad7c417fe3d 100644 --- a/frontend/lang/messages/vi-VN.json +++ b/frontend/lang/messages/vi-VN.json @@ -124,6 +124,7 @@ "no-recipe-found": "No Recipe Found", "ok": "OK", "options": "Options:", + "plural-name": "Plural Name", "print": "Print", "print-preferences": "Print Preferences", "random": "Random", @@ -463,7 +464,9 @@ "add-to-plan": "Add to Plan", "add-to-timeline": "Add to Timeline", "recipe-added-to-list": "Recipe added to list", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Recipe added to mealplan", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Failed to add recipe to mealplan", "yield": "Yield", "quantity": "Quantity", @@ -868,7 +871,9 @@ "user-can-invite-other-to-group": "User can invite other to group", "user-can-manage-group": "User can manage group", "user-can-organize-group-data": "User can organize group data", - "enable-advanced-features": "Enable advanced features" + "enable-advanced-features": "Enable advanced features", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "translated", @@ -889,7 +894,9 @@ "create-food": "Create Food", "food-label": "Food Label", "edit-food": "Edit Food", - "food-data": "Food Data" + "food-data": "Food Data", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Seed the database with common units based on your local language.", @@ -900,13 +907,18 @@ "merging-unit-into-unit": "Merging {0} into {1}", "create-unit": "Create Unit", "abbreviation": "Abbreviation", + "plural-abbreviation": "Plural Abbreviation", "description": "Description", "display-as-fraction": "Display as Fraction", "use-abbreviation": "Use Abbreviation", "edit-unit": "Edit Unit", "unit-data": "Unit Data", "use-abbv": "Use Abbv.", - "fraction": "Fraction" + "fraction": "Fraction", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Seed the database with common labels based on your local language.", @@ -935,6 +947,8 @@ "delete-recipes": "Delete Recipes", "source-unit-will-be-deleted": "Source Unit will be deleted" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Seed Data", "seed": "Seed", "data-management": "Data Management", @@ -942,7 +956,22 @@ "select-data": "Select Data", "select-language": "Select Language", "columns": "Columns", - "combine": "Combine" + "combine": "Combine", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "User Registration", diff --git a/frontend/lang/messages/zh-CN.json b/frontend/lang/messages/zh-CN.json index a1dd94351750..2a879e8994ca 100644 --- a/frontend/lang/messages/zh-CN.json +++ b/frontend/lang/messages/zh-CN.json @@ -124,6 +124,7 @@ "no-recipe-found": "未找到食谱", "ok": "好的", "options": "选项:", + "plural-name": "Plural Name", "print": "打印", "print-preferences": "打印偏好设置", "random": "随机", @@ -462,7 +463,9 @@ "add-to-plan": "添加到计划", "add-to-timeline": "添加到时间线", "recipe-added-to-list": "食谱已被添加到列表", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "食谱已被添加到用餐计划", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "食谱未能添加到用餐计划", "yield": "Yield", "quantity": "数量", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "User can invite other to group", "user-can-manage-group": "User can manage group", "user-can-organize-group-data": "User can organize group data", - "enable-advanced-features": "Enable advanced features" + "enable-advanced-features": "Enable advanced features", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "已翻译", @@ -888,7 +893,9 @@ "create-food": "Create Food", "food-label": "Food Label", "edit-food": "Edit Food", - "food-data": "Food Data" + "food-data": "Food Data", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Seed the database with common units based on your local language.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Merging {0} into {1}", "create-unit": "Create Unit", "abbreviation": "Abbreviation", + "plural-abbreviation": "Plural Abbreviation", "description": "Description", "display-as-fraction": "Display as Fraction", "use-abbreviation": "Use Abbreviation", "edit-unit": "Edit Unit", "unit-data": "Unit Data", "use-abbv": "Use Abbv.", - "fraction": "Fraction" + "fraction": "Fraction", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Seed the database with common labels based on your local language.", @@ -934,6 +946,8 @@ "delete-recipes": "Delete Recipes", "source-unit-will-be-deleted": "Source Unit will be deleted" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Seed Data", "seed": "Seed", "data-management": "Data Management", @@ -941,7 +955,22 @@ "select-data": "Select Data", "select-language": "Select Language", "columns": "Columns", - "combine": "Combine" + "combine": "Combine", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "User Registration", diff --git a/frontend/lang/messages/zh-TW.json b/frontend/lang/messages/zh-TW.json index 1e3a00b7a8a8..58aa31473c68 100644 --- a/frontend/lang/messages/zh-TW.json +++ b/frontend/lang/messages/zh-TW.json @@ -124,6 +124,7 @@ "no-recipe-found": "找不到食譜", "ok": "好的", "options": "選項:", + "plural-name": "Plural Name", "print": "列印", "print-preferences": "Print Preferences", "random": "隨機", @@ -462,7 +463,9 @@ "add-to-plan": "Add to Plan", "add-to-timeline": "Add to Timeline", "recipe-added-to-list": "Recipe added to list", + "recipes-added-to-list": "Recipes added to list", "recipe-added-to-mealplan": "Recipe added to mealplan", + "failed-to-add-recipes-to-list": "Failed to add recipe to list", "failed-to-add-recipe-to-mealplan": "Failed to add recipe to mealplan", "yield": "Yield", "quantity": "Quantity", @@ -867,7 +870,9 @@ "user-can-invite-other-to-group": "User can invite other to group", "user-can-manage-group": "User can manage group", "user-can-organize-group-data": "User can organize group data", - "enable-advanced-features": "Enable advanced features" + "enable-advanced-features": "Enable advanced features", + "it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.", + "dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!" }, "language-dialog": { "translated": "translated", @@ -888,7 +893,9 @@ "create-food": "Create Food", "food-label": "Food Label", "edit-food": "Edit Food", - "food-data": "Food Data" + "food-data": "Food Data", + "example-food-singular": "ex: Onion", + "example-food-plural": "ex: Onions" }, "units": { "seed-dialog-text": "Seed the database with common units based on your local language.", @@ -899,13 +906,18 @@ "merging-unit-into-unit": "Merging {0} into {1}", "create-unit": "Create Unit", "abbreviation": "Abbreviation", + "plural-abbreviation": "Plural Abbreviation", "description": "Description", "display-as-fraction": "Display as Fraction", "use-abbreviation": "Use Abbreviation", "edit-unit": "Edit Unit", "unit-data": "Unit Data", "use-abbv": "Use Abbv.", - "fraction": "Fraction" + "fraction": "Fraction", + "example-unit-singular": "ex: Tablespoon", + "example-unit-plural": "ex: Tablespoons", + "example-unit-abbreviation-singular": "ex: Tbsp", + "example-unit-abbreviation-plural": "ex: Tbsps" }, "labels": { "seed-dialog-text": "Seed the database with common labels based on your local language.", @@ -934,6 +946,8 @@ "delete-recipes": "Delete Recipes", "source-unit-will-be-deleted": "Source Unit will be deleted" }, + "create-alias": "Create Alias", + "manage-aliases": "Manage Aliases", "seed-data": "Seed Data", "seed": "Seed", "data-management": "Data Management", @@ -941,7 +955,22 @@ "select-data": "Select Data", "select-language": "Select Language", "columns": "Columns", - "combine": "Combine" + "combine": "Combine", + "categories": { + "edit-category": "Edit Category", + "new-category": "New Category", + "category-data": "Category Data" + }, + "tags": { + "new-tag": "New Tag", + "edit-tag": "Edit Tag", + "tag-data": "Tag Data" + }, + "tools": { + "new-tool": "New Tool", + "edit-tool": "Edit Tool", + "tool-data": "Tool Data" + } }, "user-registration": { "user-registration": "User Registration", diff --git a/frontend/lib/api/types/admin.ts b/frontend/lib/api/types/admin.ts index 6275df0f9253..e11d17f52f15 100644 --- a/frontend/lib/api/types/admin.ts +++ b/frontend/lib/api/types/admin.ts @@ -34,6 +34,9 @@ export interface AppInfo { demoStatus: boolean; allowSignup: boolean; } +export interface AppStartupInfo { + isFirstLogin: boolean; +} export interface AppStatistics { totalRecipes: number; totalUsers: number; @@ -41,6 +44,22 @@ export interface AppStatistics { uncategorizedRecipes: number; untaggedRecipes: number; } +export interface AppTheme { + lightPrimary?: string; + lightAccent?: string; + lightSecondary?: string; + lightSuccess?: string; + lightInfo?: string; + lightWarning?: string; + lightError?: string; + darkPrimary?: string; + darkAccent?: string; + darkSecondary?: string; + darkSuccess?: string; + darkInfo?: string; + darkWarning?: string; + darkError?: string; +} export interface BackupOptions { recipes?: boolean; settings?: boolean; diff --git a/frontend/lib/api/types/group.ts b/frontend/lib/api/types/group.ts index 6e0be1ebe40a..d8aa408fe018 100644 --- a/frontend/lib/api/types/group.ts +++ b/frontend/lib/api/types/group.ts @@ -6,7 +6,14 @@ */ export type WebhookType = "mealplan"; -export type SupportedMigrations = "nextcloud" | "chowdown" | "copymethat" | "paprika" | "mealie_alpha" | "tandoor" | "plantoeat"; +export type SupportedMigrations = + | "nextcloud" + | "chowdown" + | "copymethat" + | "paprika" + | "mealie_alpha" + | "tandoor" + | "plantoeat"; export interface CreateGroupPreferences { privateGroup?: boolean; @@ -263,39 +270,56 @@ export interface RecipeIngredient { } export interface IngredientUnit { name: string; + pluralName?: string; description?: string; extras?: { [k: string]: unknown; }; fraction?: boolean; abbreviation?: string; + pluralAbbreviation?: string; useAbbreviation?: boolean; + aliases?: IngredientUnitAlias[]; id: string; createdAt?: string; updateAt?: string; } +export interface IngredientUnitAlias { + name: string; +} export interface CreateIngredientUnit { name: string; + pluralName?: string; description?: string; extras?: { [k: string]: unknown; }; fraction?: boolean; abbreviation?: string; + pluralAbbreviation?: string; useAbbreviation?: boolean; + aliases?: CreateIngredientUnitAlias[]; +} +export interface CreateIngredientUnitAlias { + name: string; } export interface IngredientFood { name: string; + pluralName?: string; description?: string; extras?: { [k: string]: unknown; }; labelId?: string; + aliases?: IngredientFoodAlias[]; id: string; label?: MultiPurposeLabelSummary; createdAt?: string; updateAt?: string; } +export interface IngredientFoodAlias { + name: string; +} export interface MultiPurposeLabelSummary { name: string; color?: string; @@ -304,11 +328,16 @@ export interface MultiPurposeLabelSummary { } export interface CreateIngredientFood { name: string; + pluralName?: string; description?: string; extras?: { [k: string]: unknown; }; labelId?: string; + aliases?: CreateIngredientFoodAlias[]; +} +export interface CreateIngredientFoodAlias { + name: string; } export interface ShoppingListCreate { name?: string; diff --git a/frontend/lib/api/types/recipe.ts b/frontend/lib/api/types/recipe.ts index 271800ae1f0b..61db519fe5b4 100644 --- a/frontend/lib/api/types/recipe.ts +++ b/frontend/lib/api/types/recipe.ts @@ -465,7 +465,7 @@ export interface ScrapeRecipe { export interface ScrapeRecipeTest { url: string; } -export interface SlugResponse { } +export interface SlugResponse {} export interface TagIn { name: string; } diff --git a/frontend/lib/api/types/response.ts b/frontend/lib/api/types/response.ts index 1ce11f11d853..f111333b372f 100644 --- a/frontend/lib/api/types/response.ts +++ b/frontend/lib/api/types/response.ts @@ -5,6 +5,7 @@ /* Do not modify it by hand - just update the pydantic models and then re-run the script */ +export type OrderByNullPosition = "first" | "last"; export type OrderDirection = "asc" | "desc"; export interface ErrorResponse { @@ -19,6 +20,7 @@ export interface PaginationQuery { page?: number; perPage?: number; orderBy?: string; + orderByNullPosition?: OrderByNullPosition; orderDirection?: OrderDirection & string; queryFilter?: string; paginationSeed?: string; diff --git a/frontend/pages/admin/maintenance/index.vue b/frontend/pages/admin/maintenance/index.vue index 6ac0f31d2d67..ec3d8f1fb1d4 100644 --- a/frontend/pages/admin/maintenance/index.vue +++ b/frontend/pages/admin/maintenance/index.vue @@ -243,7 +243,7 @@ export default defineComponent({ }, head() { return { - title: this.$t("settings.site-settings") as string, + title: this.$t("admin.maintenance.page-title") as string, }; }, }); diff --git a/frontend/pages/g/_groupSlug/recipes/categories/index.vue b/frontend/pages/g/_groupSlug/recipes/categories/index.vue index ac4779d6e17f..0c986c374041 100644 --- a/frontend/pages/g/_groupSlug/recipes/categories/index.vue +++ b/frontend/pages/g/_groupSlug/recipes/categories/index.vue @@ -30,8 +30,10 @@ export default defineComponent({ actions, }; }, - head: { - title: "Categories", + head() { + return { + title: this.$tc("category.categories"), + }; }, }); diff --git a/frontend/pages/group/data.vue b/frontend/pages/group/data.vue index 70349df329ef..1e40c55a7dc4 100644 --- a/frontend/pages/group/data.vue +++ b/frontend/pages/group/data.vue @@ -44,6 +44,9 @@ export default defineComponent({ foods: i18n.tc("general.foods"), units: i18n.tc("general.units"), labels: i18n.tc("data-pages.labels.labels"), + categories: i18n.tc("category.categories"), + tags: i18n.tc("tag.tags"), + tools: i18n.tc("tool.tools"), }; const route = useRoute(); @@ -53,6 +56,7 @@ export default defineComponent({ text: i18n.t("general.recipes"), value: "new", to: "/group/data/recipes", + divider: true, }, { text: i18n.t("general.foods"), @@ -68,7 +72,23 @@ export default defineComponent({ text: i18n.t("data-pages.labels.labels"), value: "new", to: "/group/data/labels", + divider: true, }, + { + text: i18n.t("category.categories"), + value: "new", + to: "/group/data/categories", + }, + { + text: i18n.t("tag.tags"), + value: "new", + to: "/group/data/tags", + }, + { + text: i18n.t("tool.tools"), + value: "new", + to: "/group/data/tools", + } ]); const buttonText = computed(() => { diff --git a/frontend/pages/group/data/categories.vue b/frontend/pages/group/data/categories.vue new file mode 100644 index 000000000000..856178ba8ed3 --- /dev/null +++ b/frontend/pages/group/data/categories.vue @@ -0,0 +1,174 @@ + + + diff --git a/frontend/pages/group/data/foods.vue b/frontend/pages/group/data/foods.vue index d722f77e203c..642f5e48248c 100644 --- a/frontend/pages/group/data/foods.vue +++ b/frontend/pages/group/data/foods.vue @@ -168,7 +168,7 @@ diff --git a/frontend/pages/group/data/labels.vue b/frontend/pages/group/data/labels.vue index c748d448be09..cc10fb1f6fe1 100644 --- a/frontend/pages/group/data/labels.vue +++ b/frontend/pages/group/data/labels.vue @@ -90,10 +90,7 @@ @edit-one="editEventHandler" > diff --git a/frontend/pages/group/mealplan/planner/view.vue b/frontend/pages/group/mealplan/planner/view.vue index 415eeb1b2600..028d2cfdbf3d 100644 --- a/frontend/pages/group/mealplan/planner/view.vue +++ b/frontend/pages/group/mealplan/planner/view.vue @@ -1,51 +1,65 @@