mirror of
https://github.com/hay-kot/mealie.git
synced 2025-08-21 14:03:32 -07:00
Merge branch 'mealie-next' into fix/warn-on-edit-nav
This commit is contained in:
commit
abf4b7706f
199 changed files with 5226 additions and 2441 deletions
55
frontend/components/Domain/Cookbook/CookbookEditor.vue
Normal file
55
frontend/components/Domain/Cookbook/CookbookEditor.vue
Normal file
|
@ -0,0 +1,55 @@
|
|||
<template>
|
||||
<div>
|
||||
<v-card-text v-if="cookbook">
|
||||
<v-text-field v-model="cookbook.name" :label="$t('cookbook.cookbook-name')"></v-text-field>
|
||||
<v-textarea v-model="cookbook.description" auto-grow :rows="2" :label="$t('recipe.description')"></v-textarea>
|
||||
<RecipeOrganizerSelector v-model="cookbook.categories" selector-type="categories" />
|
||||
<RecipeOrganizerSelector v-model="cookbook.tags" selector-type="tags" />
|
||||
<RecipeOrganizerSelector v-model="cookbook.tools" selector-type="tools" />
|
||||
<v-switch v-model="cookbook.public" hide-details single-line>
|
||||
<template #label>
|
||||
{{ $t('cookbook.public-cookbook') }}
|
||||
<HelpIcon small right class="ml-2">
|
||||
{{ $t('cookbook.public-cookbook-description') }}
|
||||
</HelpIcon>
|
||||
</template>
|
||||
</v-switch>
|
||||
<div class="mt-4">
|
||||
<h3 class="text-subtitle-1 d-flex align-center mb-0 pb-0">
|
||||
{{ $t('cookbook.filter-options') }}
|
||||
<HelpIcon right small class="ml-2">
|
||||
{{ $t('cookbook.filter-options-description') }}
|
||||
</HelpIcon>
|
||||
</h3>
|
||||
<v-switch v-model="cookbook.requireAllCategories" class="mt-0" hide-details single-line>
|
||||
<template #label> {{ $t('cookbook.require-all-categories') }} </template>
|
||||
</v-switch>
|
||||
<v-switch v-model="cookbook.requireAllTags" hide-details single-line>
|
||||
<template #label> {{ $t('cookbook.require-all-tags') }} </template>
|
||||
</v-switch>
|
||||
<v-switch v-model="cookbook.requireAllTools" hide-details single-line>
|
||||
<template #label> {{ $t('cookbook.require-all-tools') }} </template>
|
||||
</v-switch>
|
||||
</div>
|
||||
</v-card-text>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { defineComponent } from "@nuxtjs/composition-api";
|
||||
import { ReadCookBook } from "~/lib/api/types/cookbook";
|
||||
import RecipeOrganizerSelector from "~/components/Domain/Recipe/RecipeOrganizerSelector.vue";
|
||||
export default defineComponent({
|
||||
components: { RecipeOrganizerSelector },
|
||||
props: {
|
||||
cookbook: {
|
||||
type: Object as () => ReadCookBook,
|
||||
required: true,
|
||||
},
|
||||
actions: {
|
||||
type: Object as () => any,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
});
|
||||
</script>
|
|
@ -139,7 +139,7 @@ export default defineComponent({
|
|||
default: false,
|
||||
},
|
||||
},
|
||||
setup(props, context) {
|
||||
setup(_, context) {
|
||||
const deleteDialog = ref(false);
|
||||
|
||||
const { i18n, $globals } = useContext();
|
||||
|
|
|
@ -26,54 +26,69 @@
|
|||
>
|
||||
<div style="max-height: 70vh; overflow-y: auto">
|
||||
<v-card
|
||||
v-for="(section, sectionIndex) in recipeIngredientSections" :key="section.recipeId + sectionIndex"
|
||||
v-for="(recipeSection, recipeSectionIndex) in recipeIngredientSections" :key="recipeSection.recipeId + recipeSectionIndex"
|
||||
elevation="0"
|
||||
height="fit-content"
|
||||
width="100%"
|
||||
>
|
||||
<v-divider v-if="sectionIndex > 0" class="mt-3" />
|
||||
<v-divider v-if="recipeSectionIndex > 0" class="mt-3" />
|
||||
<v-card-title
|
||||
v-if="recipeIngredientSections.length > 1"
|
||||
class="justify-center"
|
||||
class="justify-center text-h5"
|
||||
width="100%"
|
||||
>
|
||||
<v-container style="width: 100%;">
|
||||
<v-row no-gutters class="ma-0 pa-0">
|
||||
<v-col cols="12" align-self="center" class="text-center">
|
||||
{{ section.recipeName }}
|
||||
{{ recipeSection.recipeName }}
|
||||
</v-col>
|
||||
</v-row>
|
||||
<v-row v-if="section.recipeScale > 1" no-gutters class="ma-0 pa-0">
|
||||
<v-row v-if="recipeSection.recipeScale > 1" no-gutters class="ma-0 pa-0">
|
||||
<!-- TODO: make this editable in the dialog and visible on single-recipe lists -->
|
||||
<v-col cols="12" align-self="center" class="text-center">
|
||||
({{ $tc("recipe.quantity") }}: {{ section.recipeScale }})
|
||||
({{ $tc("recipe.quantity") }}: {{ recipeSection.recipeScale }})
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-container>
|
||||
</v-card-title>
|
||||
<div
|
||||
:class="$vuetify.breakpoint.smAndDown ? '' : 'ingredient-grid'"
|
||||
:style="$vuetify.breakpoint.smAndDown ? '' : { gridTemplateRows: `repeat(${Math.ceil(section.ingredients.length / 2)}, min-content)` }"
|
||||
>
|
||||
<v-list-item
|
||||
v-for="(ingredientData, i) in section.ingredients"
|
||||
:key="'ingredient' + i"
|
||||
dense
|
||||
@click="recipeIngredientSections[sectionIndex].ingredients[i].checked = !recipeIngredientSections[sectionIndex].ingredients[i].checked"
|
||||
<div>
|
||||
<div
|
||||
v-for="(ingredientSection, ingredientSectionIndex) in recipeSection.ingredientSections"
|
||||
:key="recipeSection.recipeId + recipeSectionIndex + ingredientSectionIndex"
|
||||
>
|
||||
<v-checkbox
|
||||
hide-details
|
||||
:input-value="ingredientData.checked"
|
||||
class="pt-0 my-auto py-auto"
|
||||
color="secondary"
|
||||
/>
|
||||
<v-list-item-content :key="ingredientData.ingredient.quantity">
|
||||
<RecipeIngredientListItem
|
||||
:ingredient="ingredientData.ingredient"
|
||||
:disable-amount="ingredientData.disableAmount"
|
||||
:scale="section.recipeScale" />
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<v-card-title v-if="ingredientSection.sectionName" class="ingredient-title mt-2 pb-0 text-h6">
|
||||
{{ ingredientSection.sectionName }}
|
||||
</v-card-title>
|
||||
<div
|
||||
:class="$vuetify.breakpoint.smAndDown ? '' : 'ingredient-grid'"
|
||||
:style="$vuetify.breakpoint.smAndDown ? '' : { gridTemplateRows: `repeat(${Math.ceil(ingredientSection.ingredients.length / 2)}, min-content)` }"
|
||||
>
|
||||
<v-list-item
|
||||
v-for="(ingredientData, i) in ingredientSection.ingredients"
|
||||
:key="recipeSection.recipeId + recipeSectionIndex + ingredientSectionIndex + i"
|
||||
dense
|
||||
@click="recipeIngredientSections[recipeSectionIndex]
|
||||
.ingredientSections[ingredientSectionIndex]
|
||||
.ingredients[i].checked = !recipeIngredientSections[recipeSectionIndex]
|
||||
.ingredientSections[ingredientSectionIndex]
|
||||
.ingredients[i]
|
||||
.checked"
|
||||
>
|
||||
<v-checkbox
|
||||
hide-details
|
||||
:input-value="ingredientData.checked"
|
||||
class="pt-0 my-auto py-auto"
|
||||
color="secondary"
|
||||
/>
|
||||
<v-list-item-content :key="ingredientData.ingredient.quantity">
|
||||
<RecipeIngredientListItem
|
||||
:ingredient="ingredientData.ingredient"
|
||||
:disable-amount="ingredientData.disableAmount"
|
||||
:scale="recipeSection.recipeScale" />
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</v-card>
|
||||
</div>
|
||||
|
@ -112,17 +127,22 @@ export interface RecipeWithScale extends Recipe {
|
|||
scale: number;
|
||||
}
|
||||
|
||||
export interface ShoppingListRecipeIngredient {
|
||||
export interface ShoppingListIngredient {
|
||||
checked: boolean;
|
||||
ingredient: RecipeIngredient;
|
||||
disableAmount: boolean;
|
||||
}
|
||||
|
||||
export interface ShoppingListIngredientSection {
|
||||
sectionName: string;
|
||||
ingredients: ShoppingListIngredient[];
|
||||
}
|
||||
|
||||
export interface ShoppingListRecipeIngredientSection {
|
||||
recipeId: string;
|
||||
recipeName: string;
|
||||
recipeScale: number;
|
||||
ingredients: ShoppingListRecipeIngredient[];
|
||||
ingredientSections: ShoppingListIngredientSection[];
|
||||
}
|
||||
|
||||
export default defineComponent({
|
||||
|
@ -191,7 +211,7 @@ export default defineComponent({
|
|||
continue;
|
||||
}
|
||||
|
||||
const shoppingListIngredients: ShoppingListRecipeIngredient[] = recipe.recipeIngredient.map((ing) => {
|
||||
const shoppingListIngredients: ShoppingListIngredient[] = recipe.recipeIngredient.map((ing) => {
|
||||
return {
|
||||
checked: true,
|
||||
ingredient: ing,
|
||||
|
@ -199,11 +219,35 @@ export default defineComponent({
|
|||
}
|
||||
});
|
||||
|
||||
const shoppingListIngredientSections = shoppingListIngredients.reduce((sections, ing) => {
|
||||
// if title append new section to the end of the array
|
||||
if (ing.ingredient.title) {
|
||||
sections.push({
|
||||
sectionName: ing.ingredient.title,
|
||||
ingredients: [ing],
|
||||
});
|
||||
return sections;
|
||||
}
|
||||
|
||||
// append new section if first
|
||||
if (sections.length === 0) {
|
||||
sections.push({
|
||||
sectionName: "",
|
||||
ingredients: [ing],
|
||||
});
|
||||
return sections;
|
||||
}
|
||||
|
||||
// otherwise add ingredient to last section in the array
|
||||
sections[sections.length - 1].ingredients.push(ing);
|
||||
return sections;
|
||||
}, [] as ShoppingListIngredientSection[]);
|
||||
|
||||
recipeSectionMap.set(recipe.slug, {
|
||||
recipeId: recipe.id,
|
||||
recipeName: recipe.name,
|
||||
recipeScale: recipe.scale,
|
||||
ingredients: shoppingListIngredients,
|
||||
ingredientSections: shoppingListIngredientSections,
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -231,9 +275,11 @@ export default defineComponent({
|
|||
}
|
||||
|
||||
function bulkCheckIngredients(value = true) {
|
||||
recipeIngredientSections.value.forEach((section) => {
|
||||
section.ingredients.forEach((ing) => {
|
||||
ing.checked = value;
|
||||
recipeIngredientSections.value.forEach((recipeSection) => {
|
||||
recipeSection.ingredientSections.forEach((ingSection) => {
|
||||
ingSection.ingredients.forEach((ing) => {
|
||||
ing.checked = value;
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
@ -246,10 +292,12 @@ export default defineComponent({
|
|||
}
|
||||
|
||||
const ingredients: RecipeIngredient[] = [];
|
||||
section.ingredients.forEach((ing) => {
|
||||
if (ing.checked) {
|
||||
ingredients.push(ing.ingredient);
|
||||
}
|
||||
section.ingredientSections.forEach((ingSection) => {
|
||||
ingSection.ingredients.forEach((ing) => {
|
||||
if (ing.checked) {
|
||||
ingredients.push(ing.ingredient);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
if (!ingredients.length) {
|
||||
|
@ -272,7 +320,11 @@ export default defineComponent({
|
|||
}
|
||||
})
|
||||
|
||||
success ? alert.success(i18n.t("recipe.recipes-added-to-list") as string)
|
||||
const successMessage = promises.length === 1
|
||||
? i18n.t("recipe.successfully-added-to-list") as string
|
||||
: i18n.t("recipe.failed-to-add-to-list") as string;
|
||||
|
||||
success ? alert.success(successMessage)
|
||||
: alert.error(i18n.t("failed-to-add-recipes-to-list") as string)
|
||||
|
||||
state.shoppingListDialog = false;
|
||||
|
|
|
@ -52,11 +52,20 @@ export default defineComponent({
|
|||
});
|
||||
|
||||
const ingredientCopyText = computed(() => {
|
||||
return props.value
|
||||
.map((ingredient) => {
|
||||
return `${parseIngredientText(ingredient, props.disableAmount, props.scale, false)}`;
|
||||
})
|
||||
.join("\n");
|
||||
const components: string[] = [];
|
||||
props.value.forEach((ingredient) => {
|
||||
if (ingredient.title) {
|
||||
if (components.length) {
|
||||
components.push("");
|
||||
}
|
||||
|
||||
components.push(`[${ingredient.title}]`);
|
||||
}
|
||||
|
||||
components.push(parseIngredientText(ingredient, props.disableAmount, props.scale, false));
|
||||
});
|
||||
|
||||
return components.join("\n");
|
||||
});
|
||||
|
||||
function toggleChecked(index: number) {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div v-if="value.length > 0 || edit" class="mt-8">
|
||||
<h2 class="my-4">{{ $t("recipe.note") }}</h2>
|
||||
<div v-for="(note, index) in value" :key="'note' + index" class="mt-1">
|
||||
<div v-for="(note, index) in value" :id="'note' + index" :key="'note' + index" class="mt-1">
|
||||
<v-card v-if="edit">
|
||||
<v-card-text>
|
||||
<div class="d-flex align-center">
|
||||
|
|
|
@ -5,17 +5,20 @@
|
|||
<BaseDialog
|
||||
v-if="deleteTarget"
|
||||
v-model="dialogs.delete"
|
||||
:title="$t('general.delete-with-name', { name: deleteTarget.name })"
|
||||
:title="$t('general.delete-with-name', { name: $t(translationKey) })"
|
||||
color="error"
|
||||
:icon="$globals.icons.alertCircle"
|
||||
@confirm="deleteOne()"
|
||||
>
|
||||
<v-card-text> {{ $t("general.confirm-delete-generic-with-name", { name: deleteTarget.name }) }} </v-card-text>
|
||||
<v-card-text>
|
||||
<p>{{ $t("general.confirm-delete-generic-with-name", { name: $t(translationKey) }) }}</p>
|
||||
<p class="mt-4 mb-0 ml-4">{{ deleteTarget.name }}</p>
|
||||
</v-card-text>
|
||||
</BaseDialog>
|
||||
|
||||
<BaseDialog v-if="updateTarget" v-model="dialogs.update" :title="$t('general.update')" @confirm="updateOne()">
|
||||
<v-card-text>
|
||||
<v-text-field v-model="updateTarget.name" label="$t('general.name')"> </v-text-field>
|
||||
<v-text-field v-model="updateTarget.name" :label="$t('general.name')"> </v-text-field>
|
||||
<v-checkbox v-if="itemType === Organizer.Tool" v-model="updateTarget.onHand" :label="$t('tool.on-hand')"></v-checkbox>
|
||||
</v-card-text>
|
||||
</BaseDialog>
|
||||
|
@ -136,6 +139,15 @@ export default defineComponent({
|
|||
|
||||
const presets = useContextPresets();
|
||||
|
||||
const translationKey = computed<string>(() => {
|
||||
const typeMap = {
|
||||
"categories": "category.category",
|
||||
"tags": "tag.tag",
|
||||
"tools": "tool.tool"
|
||||
};
|
||||
return typeMap[props.itemType] || "";
|
||||
});
|
||||
|
||||
const deleteTarget = ref<GenericItem | null>(null);
|
||||
const updateTarget = ref<GenericItem | null>(null);
|
||||
|
||||
|
@ -223,6 +235,7 @@ export default defineComponent({
|
|||
presets,
|
||||
itemsSorted,
|
||||
searchString,
|
||||
translationKey,
|
||||
};
|
||||
},
|
||||
// Needed for useMeta
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<section @keyup.ctrl.90="undoMerge">
|
||||
<!-- Ingredient Link Editor -->
|
||||
<v-dialog v-model="dialog" width="600">
|
||||
<v-dialog v-if="dialog" v-model="dialog" width="600">
|
||||
<v-card :ripple="false">
|
||||
<v-app-bar dark color="primary" class="mt-n1 mb-3">
|
||||
<v-icon large left>
|
||||
|
@ -50,11 +50,15 @@
|
|||
<BaseButton cancel @click="dialog = false"> </BaseButton>
|
||||
<v-spacer></v-spacer>
|
||||
<div class="d-flex flex-wrap justify-end">
|
||||
<BaseButton color="info" @click="autoSetReferences">
|
||||
<BaseButton class="my-1" color="info" @click="autoSetReferences">
|
||||
<template #icon> {{ $globals.icons.robot }}</template>
|
||||
{{ $t("recipe.auto") }}
|
||||
</BaseButton>
|
||||
<BaseButton class="ml-2" save @click="setIngredientIds"> </BaseButton>
|
||||
<BaseButton class="ml-2 my-1" save @click="setIngredientIds"> </BaseButton>
|
||||
<BaseButton v-if="availableNextStep" class="ml-2 my-1" @click="saveAndOpenNextLinkIngredients">
|
||||
<template #icon> {{ $globals.icons.forward }}</template>
|
||||
{{ $t("recipe.nextStep") }}
|
||||
</BaseButton>
|
||||
</div>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
|
@ -236,6 +240,7 @@ import {
|
|||
onMounted,
|
||||
useContext,
|
||||
computed,
|
||||
nextTick,
|
||||
} from "@nuxtjs/composition-api";
|
||||
import RecipeIngredientHtml from "../../RecipeIngredientHtml.vue";
|
||||
import { RecipeStep, IngredientReferences, RecipeIngredient, RecipeAsset, Recipe } from "~/lib/api/types/recipe";
|
||||
|
@ -399,6 +404,8 @@ export default defineComponent({
|
|||
activeRefs.value = refs.map((ref) => ref.referenceId ?? "");
|
||||
}
|
||||
|
||||
const availableNextStep = computed(() => activeIndex.value < props.value.length - 1);
|
||||
|
||||
function setIngredientIds() {
|
||||
const instruction = props.value[activeIndex.value];
|
||||
instruction.ingredientReferences = activeRefs.value.map((ref) => {
|
||||
|
@ -417,6 +424,20 @@ export default defineComponent({
|
|||
state.dialog = false;
|
||||
}
|
||||
|
||||
function saveAndOpenNextLinkIngredients() {
|
||||
const currentStepIndex = activeIndex.value;
|
||||
|
||||
if(!availableNextStep.value) {
|
||||
return; // no next step, the button calling this function should not be shown
|
||||
}
|
||||
|
||||
setIngredientIds();
|
||||
const nextStep = props.value[currentStepIndex + 1];
|
||||
// close dialog before opening to reset the scroll position
|
||||
nextTick(() => openDialog(currentStepIndex + 1, nextStep.text, nextStep.ingredientReferences));
|
||||
|
||||
}
|
||||
|
||||
function setUsedIngredients() {
|
||||
const usedRefs: { [key: string]: boolean } = {};
|
||||
|
||||
|
@ -627,6 +648,8 @@ export default defineComponent({
|
|||
mergeAbove,
|
||||
openDialog,
|
||||
setIngredientIds,
|
||||
availableNextStep,
|
||||
saveAndOpenNextLinkIngredients,
|
||||
undoMerge,
|
||||
toggleDisabled,
|
||||
isChecked,
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
$emit('submit');
|
||||
dialog = false;
|
||||
"
|
||||
@click:outside="$emit('cancel')"
|
||||
@keydown.esc="$emit('cancel')"
|
||||
>
|
||||
<v-card height="100%">
|
||||
<v-app-bar dark dense :color="color" class="">
|
||||
|
|
|
@ -57,12 +57,12 @@
|
|||
:buttons="[
|
||||
{
|
||||
icon: $globals.icons.edit,
|
||||
text: $t('general.edit'),
|
||||
text: $tc('general.edit'),
|
||||
event: 'edit',
|
||||
},
|
||||
{
|
||||
icon: $globals.icons.delete,
|
||||
text: $t('general.delete'),
|
||||
text: $tc('general.delete'),
|
||||
event: 'delete',
|
||||
},
|
||||
]"
|
||||
|
@ -160,6 +160,8 @@ export default defineComponent({
|
|||
props.bulkActions.forEach((action) => {
|
||||
handlers[action.event] = () => {
|
||||
context.emit(action.event, selected.value);
|
||||
// clear selection
|
||||
selected.value = [];
|
||||
};
|
||||
});
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ import { usePublicExploreApi } from "../api/api-client";
|
|||
import { useUserApi } from "~/composables/api";
|
||||
import { IngredientFood } from "~/lib/api/types/recipe";
|
||||
|
||||
let foodStore: Ref<IngredientFood[] | null> | null = null;
|
||||
let foodStore: Ref<IngredientFood[] | null> = ref([]);
|
||||
|
||||
/**
|
||||
* useFoodData returns a template reactive object
|
||||
|
@ -39,11 +39,11 @@ export const usePublicFoodStore = function (groupSlug: string) {
|
|||
const actions = {
|
||||
...usePublicStoreActions(api.foods, foodStore, loading),
|
||||
flushStore() {
|
||||
foodStore = null;
|
||||
foodStore = ref([]);
|
||||
},
|
||||
};
|
||||
|
||||
if (!foodStore) {
|
||||
if (!foodStore.value) {
|
||||
foodStore = actions.getAll();
|
||||
}
|
||||
|
||||
|
@ -57,7 +57,7 @@ export const useFoodStore = function () {
|
|||
const actions = {
|
||||
...useStoreActions(api.foods, foodStore, loading),
|
||||
flushStore() {
|
||||
foodStore = null;
|
||||
foodStore.value = [];
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ import { useStoreActions } from "../partials/use-actions-factory";
|
|||
import { MultiPurposeLabelOut } from "~/lib/api/types/labels";
|
||||
import { useUserApi } from "~/composables/api";
|
||||
|
||||
let labelStore: Ref<MultiPurposeLabelOut[] | null> | null = null;
|
||||
let labelStore: Ref<MultiPurposeLabelOut[] | null> = ref([]);
|
||||
|
||||
export function useLabelData() {
|
||||
const data = reactive({
|
||||
|
@ -33,11 +33,11 @@ export function useLabelStore() {
|
|||
const actions = {
|
||||
...useStoreActions<MultiPurposeLabelOut>(api.multiPurposeLabels, labelStore, loading),
|
||||
flushStore() {
|
||||
labelStore = null;
|
||||
labelStore.value =[];
|
||||
},
|
||||
};
|
||||
|
||||
if (!labelStore) {
|
||||
if (!labelStore.value) {
|
||||
labelStore = actions.getAll();
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ import { useStoreActions } from "../partials/use-actions-factory";
|
|||
import { useUserApi } from "~/composables/api";
|
||||
import { IngredientUnit } from "~/lib/api/types/recipe";
|
||||
|
||||
let unitStore: Ref<IngredientUnit[] | null> | null = null;
|
||||
let unitStore: Ref<IngredientUnit[] | null> = ref([]);
|
||||
|
||||
/**
|
||||
* useUnitData returns a template reactive object
|
||||
|
@ -40,11 +40,11 @@ export const useUnitStore = function () {
|
|||
const actions = {
|
||||
...useStoreActions<IngredientUnit>(api.units, unitStore, loading),
|
||||
flushStore() {
|
||||
unitStore = null;
|
||||
unitStore.value = [];
|
||||
},
|
||||
};
|
||||
|
||||
if (!unitStore) {
|
||||
if (!unitStore.value) {
|
||||
unitStore = actions.getAll();
|
||||
}
|
||||
|
||||
|
|
|
@ -109,6 +109,7 @@ export const useCookbooks = function () {
|
|||
}
|
||||
|
||||
loading.value = false;
|
||||
return data;
|
||||
},
|
||||
async updateOne(updateData: UpdateCookBook) {
|
||||
if (!updateData.id) {
|
||||
|
|
|
@ -3,196 +3,241 @@ export const LOCALES = [
|
|||
{
|
||||
name: "繁體中文 (Chinese traditional)",
|
||||
value: "zh-TW",
|
||||
progress: 28,
|
||||
progress: 30,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "简体中文 (Chinese simplified)",
|
||||
value: "zh-CN",
|
||||
progress: 65,
|
||||
progress: 98,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Tiếng Việt (Vietnamese)",
|
||||
value: "vi-VN",
|
||||
progress: 2,
|
||||
progress: 1,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Українська (Ukrainian)",
|
||||
value: "uk-UA",
|
||||
progress: 99,
|
||||
progress: 100,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Türkçe (Turkish)",
|
||||
value: "tr-TR",
|
||||
progress: 50,
|
||||
progress: 53,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Svenska (Swedish)",
|
||||
value: "sv-SE",
|
||||
progress: 71,
|
||||
progress: 94,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "српски (Serbian)",
|
||||
value: "sr-SP",
|
||||
progress: 4,
|
||||
progress: 32,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Slovenian",
|
||||
value: "sl-SI",
|
||||
progress: 49,
|
||||
progress: 47,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Slovak",
|
||||
value: "sk-SK",
|
||||
progress: 97,
|
||||
progress: 93,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Pусский (Russian)",
|
||||
value: "ru-RU",
|
||||
progress: 99,
|
||||
progress: 98,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Română (Romanian)",
|
||||
value: "ro-RO",
|
||||
progress: 32,
|
||||
progress: 42,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Português (Portuguese)",
|
||||
value: "pt-PT",
|
||||
progress: 99,
|
||||
progress: 100,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Português do Brasil (Brazilian Portuguese)",
|
||||
value: "pt-BR",
|
||||
progress: 98,
|
||||
progress: 97,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Polski (Polish)",
|
||||
value: "pl-PL",
|
||||
progress: 97,
|
||||
progress: 98,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Norsk (Norwegian)",
|
||||
value: "no-NO",
|
||||
progress: 85,
|
||||
progress: 99,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Nederlands (Dutch)",
|
||||
value: "nl-NL",
|
||||
progress: 98,
|
||||
progress: 100,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Latvian",
|
||||
value: "lv-LV",
|
||||
progress: 1,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Lithuanian",
|
||||
value: "lt-LT",
|
||||
progress: 97,
|
||||
progress: 93,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "한국어 (Korean)",
|
||||
value: "ko-KR",
|
||||
progress: 5,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "日本語 (Japanese)",
|
||||
value: "ja-JP",
|
||||
progress: 11,
|
||||
progress: 12,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Italiano (Italian)",
|
||||
value: "it-IT",
|
||||
progress: 96,
|
||||
progress: 100,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Icelandic",
|
||||
value: "is-IS",
|
||||
progress: 0,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Magyar (Hungarian)",
|
||||
value: "hu-HU",
|
||||
progress: 99,
|
||||
progress: 100,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Croatian",
|
||||
value: "hr-HR",
|
||||
progress: 97,
|
||||
progress: 93,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "עברית (Hebrew)",
|
||||
value: "he-IL",
|
||||
progress: 99,
|
||||
progress: 97,
|
||||
dir: "rtl",
|
||||
},
|
||||
{
|
||||
name: "Galician",
|
||||
value: "gl-ES",
|
||||
progress: 1,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Français (French)",
|
||||
value: "fr-FR",
|
||||
progress: 99,
|
||||
progress: 100,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "French, Canada",
|
||||
value: "fr-CA",
|
||||
progress: 97,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Suomi (Finnish)",
|
||||
value: "fi-FI",
|
||||
progress: 95,
|
||||
progress: 91,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Español (Spanish)",
|
||||
value: "es-ES",
|
||||
progress: 76,
|
||||
progress: 79,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "American English",
|
||||
value: "en-US",
|
||||
progress: 100.0,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "British English",
|
||||
value: "en-GB",
|
||||
progress: 4,
|
||||
progress: 3,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Ελληνικά (Greek)",
|
||||
value: "el-GR",
|
||||
progress: 35,
|
||||
progress: 34,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Deutsch (German)",
|
||||
value: "de-DE",
|
||||
progress: 99,
|
||||
progress: 100,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Dansk (Danish)",
|
||||
value: "da-DK",
|
||||
progress: 100,
|
||||
progress: 98,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Čeština (Czech)",
|
||||
value: "cs-CZ",
|
||||
progress: 66,
|
||||
progress: 64,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Català (Catalan)",
|
||||
value: "ca-ES",
|
||||
progress: 61,
|
||||
progress: 75,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "Bulgarian",
|
||||
value: "bg-BG",
|
||||
progress: 99,
|
||||
dir: "ltr",
|
||||
},
|
||||
{
|
||||
name: "العربية (Arabic)",
|
||||
value: "ar-SA",
|
||||
progress: 16,
|
||||
progress: 20,
|
||||
dir: "rtl",
|
||||
},
|
||||
{
|
||||
name: "Afrikaans (Afrikaans)",
|
||||
value: "af-ZA",
|
||||
progress: 96,
|
||||
progress: 92,
|
||||
dir: "ltr",
|
||||
},
|
||||
]
|
||||
|
|
|
@ -4,14 +4,31 @@ import { LOCALES } from "./available-locales";
|
|||
export const useLocales = () => {
|
||||
const { i18n, $vuetify } = useContext();
|
||||
|
||||
function getLocale(value: string) {
|
||||
const currentLocale = LOCALES.filter((locale) => locale.value === value);
|
||||
return currentLocale.length ? currentLocale[0] : null;
|
||||
}
|
||||
|
||||
const locale = computed<string>({
|
||||
get() {
|
||||
$vuetify.lang.current = i18n.locale; // dirty hack
|
||||
// dirty hack
|
||||
$vuetify.lang.current = i18n.locale;
|
||||
const currentLocale = getLocale(i18n.locale);
|
||||
if (currentLocale) {
|
||||
$vuetify.rtl = currentLocale.dir === "rtl";
|
||||
}
|
||||
|
||||
return i18n.locale;
|
||||
},
|
||||
set(value) {
|
||||
i18n.setLocale(value);
|
||||
$vuetify.lang.current = value; // this does not persist after window reload :-(
|
||||
|
||||
// this does not persist after window reload :-(
|
||||
$vuetify.lang.current = value;
|
||||
const currentLocale = getLocale(value);
|
||||
if (currentLocale) {
|
||||
$vuetify.rtl = currentLocale.dir === "rtl";
|
||||
}
|
||||
|
||||
// Reload the page to update the language - not all strings are reactive
|
||||
window.location.reload();
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Laai dokument op",
|
||||
"created-on-date": "Geskep op: {0}",
|
||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Is jy seker jy wil <b>{groupName}<b/> uitvee?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Skep 'n nuwe maaltydplan",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Aandete hierdie week",
|
||||
"dinner-today": "Vandag se Aandete",
|
||||
"dinner-tonight": "VANAAND SE AANDETE",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Voeg by tydlyn",
|
||||
"recipe-added-to-list": "Resep by lys gevoeg",
|
||||
"recipes-added-to-list": "Recipes added to list",
|
||||
"successfully-added-to-list": "Successfully 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",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Resultaat",
|
||||
"quantity": "Hoeveelheid",
|
||||
"choose-unit": "Kies 'n eenheid",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Nuwe resepname moet uniek wees",
|
||||
"scrape-recipe": "Skraap resep",
|
||||
"scrape-recipe-description": "Voeg 'n resep by via 'n url. Voer die url van die webwerf in wat jy vir 'n resep wil skandeer, Mealie sal probeer om die resep vanaf daardie plek te skandeer en by jou versameling te voeg.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Voer oorspronklike sleutelwoorde as merkers in",
|
||||
"stay-in-edit-mode": "Bly in redigeer modus",
|
||||
"import-from-zip": "Voer vanaf zip in",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Eenheid",
|
||||
"upload-image": "Laai prent",
|
||||
"screen-awake": "Hou die skerm aan",
|
||||
"remove-image": "Verwyder prent"
|
||||
"remove-image": "Verwyder prent",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Gevorderde soek",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Merkers",
|
||||
"untagged-count": "Nie gemerk {count}",
|
||||
"create-a-tag": "Skep 'n merker",
|
||||
"tag-name": "Merker naam"
|
||||
"tag-name": "Merker naam",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Kookgerei",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Naam van die kookgerei",
|
||||
"create-new-tool": "Skep nuwe kookgerei",
|
||||
"on-hand-checkbox-label": "Wys as in besit (gemerk)",
|
||||
"required-tools": "Vereiste kookgerei"
|
||||
"required-tools": "Vereiste kookgerei",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Administrateur",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Vereis alle merkers",
|
||||
"require-all-tools": "Vereis alle kookgerei",
|
||||
"cookbook-name": "Naam van die kookboek",
|
||||
"cookbook-with-name": "Kookboek {0}"
|
||||
"cookbook-with-name": "Kookboek {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "تحميل الملف",
|
||||
"created-on-date": "تم الإنشاء في {0}",
|
||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "هل انت متأكد من رغبتك في حذف <b>{groupName}<b/>؟",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "إنشاء خطة وجبة جديدة",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "العشاء لهذا الأسبوع",
|
||||
"dinner-today": "العشاء اليوم",
|
||||
"dinner-tonight": "العشاء الليلة",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Add to Timeline",
|
||||
"recipe-added-to-list": "Recipe added to list",
|
||||
"recipes-added-to-list": "Recipes added to list",
|
||||
"successfully-added-to-list": "Successfully 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",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Yield",
|
||||
"quantity": "Quantity",
|
||||
"choose-unit": "Choose Unit",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "New recipe names must be unique",
|
||||
"scrape-recipe": "Scrape Recipe",
|
||||
"scrape-recipe-description": "Scrape a recipe by url. Provide the url for the site you want to scrape, and Mealie will attempt to scrape the recipe from that site and add it to your collection.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Import original keywords as tags",
|
||||
"stay-in-edit-mode": "Stay in Edit mode",
|
||||
"import-from-zip": "Import from Zip",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Unit",
|
||||
"upload-image": "Upload image",
|
||||
"screen-awake": "Keep Screen Awake",
|
||||
"remove-image": "Remove image"
|
||||
"remove-image": "Remove image",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Advanced Search",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Tags",
|
||||
"untagged-count": "Untagged {count}",
|
||||
"create-a-tag": "Create a Tag",
|
||||
"tag-name": "Tag Name"
|
||||
"tag-name": "Tag Name",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Tools",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"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": "Required Tools",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Admin",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Require All Tags",
|
||||
"require-all-tools": "Require All Tools",
|
||||
"cookbook-name": "Cookbook Name",
|
||||
"cookbook-with-name": "Cookbook {0}"
|
||||
"cookbook-with-name": "Cookbook {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Качване на файл",
|
||||
"created-on-date": "Създадено на {0}",
|
||||
"unsaved-changes": "Имате незапазени промени. Желаете ли да ги запазите преди да излезете? Натиснете Ок за запазване и Отказ за отхвърляне на промените.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Линкът към рецептата е копиран в клипборда.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Сигурни ли сте, че искате да изтриете <b>{groupName}<b/>?",
|
||||
|
@ -250,7 +251,7 @@
|
|||
"general-preferences": "Общи предпочитания",
|
||||
"group-recipe-preferences": "Предпочитания за рецепта по група",
|
||||
"report": "Сигнал",
|
||||
"report-with-id": "Номер на сигнала: {id}",
|
||||
"report-with-id": "Номер на доклада: {id}",
|
||||
"group-management": "Управление на групите",
|
||||
"admin-group-management": "Административно управление на групите",
|
||||
"admin-group-management-text": "Промените по тази група ще бъдат отразени моментално.",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Създаване на нов хранителен план",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Вечеря тази седмица",
|
||||
"dinner-today": "Вечеря Днес",
|
||||
"dinner-tonight": "Вечеря ТАЗИ ВЕЧЕР",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Добави към времевата линия",
|
||||
"recipe-added-to-list": "Рецептата е добавена към списъка",
|
||||
"recipes-added-to-list": "Рецептите са добавени към списъка",
|
||||
"successfully-added-to-list": "Successfully added to list",
|
||||
"recipe-added-to-mealplan": "Рецептата е добавена към хранителния план",
|
||||
"failed-to-add-recipes-to-list": "Неуспешно добавяне на рецепта към списъка",
|
||||
"failed-to-add-recipe-to-mealplan": "Рецептата не беше добавена към хранителния план",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Добив",
|
||||
"quantity": "Количество",
|
||||
"choose-unit": "Избери единица",
|
||||
|
@ -515,7 +519,7 @@
|
|||
"message-key": "Ключ на съобщението",
|
||||
"parse": "Анализирай",
|
||||
"attach-images-hint": "Прикачете снимки като ги влачете и пуснете в редактора",
|
||||
"drop-image": "Влачете и пуснете снимка",
|
||||
"drop-image": "Премахване на изображение",
|
||||
"enable-ingredient-amounts-to-use-this-feature": "Пуснете количествата на съставките за да използвате функционалността",
|
||||
"recipes-with-units-or-foods-defined-cannot-be-parsed": "Рецепти със зададени мерни единици и храни ме могат да бъдат анализирани.",
|
||||
"parse-ingredients": "Анализирай съставките",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Името на рецептата трябва да бъде уникално",
|
||||
"scrape-recipe": "Обхождане на рецепта",
|
||||
"scrape-recipe-description": "Обходи рецепта по линк. Предоставете линк за сайт, който искате да бъде обходен. Mealie ще опита да обходи рецептата от този сайт и да я добави във Вашата колекция.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Импортирай оригиналните ключови думи като тагове",
|
||||
"stay-in-edit-mode": "Остани в режим на редакция",
|
||||
"import-from-zip": "Импортирай от Zip",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Единица",
|
||||
"upload-image": "Качване на изображение",
|
||||
"screen-awake": "Запази екрана активен",
|
||||
"remove-image": "Премахване на изображение"
|
||||
"remove-image": "Премахване на изображение",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Разширено търсене",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Тагове",
|
||||
"untagged-count": "Без таг {count}",
|
||||
"create-a-tag": "Създаване на таг",
|
||||
"tag-name": "Име на тага"
|
||||
"tag-name": "Име на тага",
|
||||
"tag": "Тагове"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Инструменти",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Име на инструмента",
|
||||
"create-new-tool": "Създаване на нов инструмент",
|
||||
"on-hand-checkbox-label": "Показване като налични (отметнато)",
|
||||
"required-tools": "Задължителни инструменти"
|
||||
"required-tools": "Задължителни инструменти",
|
||||
"tool": "Инструменти"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Админ",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Изискване на всички тагове",
|
||||
"require-all-tools": "Изискване на всички инструменти",
|
||||
"cookbook-name": "Име на книгата с рецепти",
|
||||
"cookbook-with-name": "Книга с рецепти {0}"
|
||||
"cookbook-with-name": "Книга с рецепти {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
"event-delete-confirmation": "Està segur que vol suprimir aquest esdeveniment?",
|
||||
"event-deleted": "Esdeveniment eliminat",
|
||||
"event-updated": "Esdeveniment actualitzat",
|
||||
"new-notification-form-description": "Mealie utilitza la llibreria Apprise per a generar notificacions. Ofereix moltes opcions de serveis de notificació. A la seua wiki, disposeu de guies d'ús i informació per a crear l'URL al vostre servei. Si està disponible, al seleccionar el tipus de notificació, pot incloure funcions adicionals.",
|
||||
"new-notification-form-description": "Mealie utilitza la llibreria Apprise per a generar notificacions. Ofereix moltes opcions de serveis de notificació. A la seva wiki, disposeu de guies d'ús i informació per a crear l'URL al vostre servei. Si està disponible, en seleccionar el tipus de notificació, pot incloure funcions addicionals.",
|
||||
"new-version": "Hi ha una nova versió disponible!",
|
||||
"notification": "Notificacions",
|
||||
"refresh": "Recarrega",
|
||||
|
@ -114,7 +114,7 @@
|
|||
"json": "JSON",
|
||||
"keyword": "Paraula clau",
|
||||
"link-copied": "S'ha copiat l'enllaç",
|
||||
"loading": "Loading",
|
||||
"loading": "Carregant",
|
||||
"loading-events": "Carregant esdeveniments",
|
||||
"loading-recipe": "Carregant la recepta...",
|
||||
"loading-ocr-data": "Carregant les dades OCR...",
|
||||
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Puja un fitxer",
|
||||
"created-on-date": "Creat el: {0}",
|
||||
"unsaved-changes": "Tens canvis que no estan guardats. Vols guardar-los abans de sortir? Clica d'acord per guardar-los o cancel·lar per descartar els canvis.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "No s'ha pogut copiar al porta-retalls.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Esteu segur de voler suprimir el grup <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Crea un nou menú",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Sopar d'esta setmana",
|
||||
"dinner-today": "Sopar per avui",
|
||||
"dinner-tonight": "Sopar d'aquesta nit",
|
||||
|
@ -294,7 +296,7 @@
|
|||
"meal-recipe": "Recepta del menú",
|
||||
"meal-title": "Títol del menú",
|
||||
"meal-note": "Notes del menú",
|
||||
"note-only": "Note Only",
|
||||
"note-only": "Només notes",
|
||||
"random-meal": "Menú aleatori",
|
||||
"random-dinner": "Principal aleatori",
|
||||
"random-side": "Guarnició aleatòria",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Afegir a la cronologia",
|
||||
"recipe-added-to-list": "Recepta afegida a la llista",
|
||||
"recipes-added-to-list": "Receptes afegides a la llista",
|
||||
"successfully-added-to-list": "Successfully added to list",
|
||||
"recipe-added-to-mealplan": "Recepta afegida al menú",
|
||||
"failed-to-add-recipes-to-list": "S'ha produït un error al intentar afegir la recepta a la llista",
|
||||
"failed-to-add-recipe-to-mealplan": "S'ha produït un error afegint la recepta al menú",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Racions",
|
||||
"quantity": "Quantitat",
|
||||
"choose-unit": "Tria el tipus d'unitat",
|
||||
|
@ -512,7 +516,7 @@
|
|||
"user-made-this": "{user} ha fet això",
|
||||
"last-made-date": "Última vegada feta {date}",
|
||||
"api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.",
|
||||
"message-key": "Message Key",
|
||||
"message-key": "Clau del missatge",
|
||||
"parse": "Analitzar",
|
||||
"attach-images-hint": "Afegeix imatges arrossegant i deixant anar la imatge a l'editor",
|
||||
"drop-image": "Deixa anar la imatge",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Els noms de les noves receptes han de ser únics",
|
||||
"scrape-recipe": "Rastrejar recepta",
|
||||
"scrape-recipe-description": "Rastrejar recepta des de l'Url. Proporciona un Url del lloc que vols rastrejar i Mealie intentarà analitzar la recepta del lloc web i afegir-la a la teva col·lecció.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Importa les paraules clau originals com a tags",
|
||||
"stay-in-edit-mode": "Segueix en el mode d'edició",
|
||||
"import-from-zip": "Importa des d'un ZIP",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Unitat",
|
||||
"upload-image": "Puja una imatge",
|
||||
"screen-awake": "Mantenir la pantalla encesa",
|
||||
"remove-image": "Esborrar la imatge"
|
||||
"remove-image": "Esborrar la imatge",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Cerca avançada",
|
||||
|
@ -696,8 +703,8 @@
|
|||
"volumes-are-configured-correctly": "Volumes are configured correctly.",
|
||||
"status-unknown-try-running-a-validation": "Status Unknown. Try running a validation.",
|
||||
"validate": "Validate",
|
||||
"email-configuration-status": "Email Configuration Status",
|
||||
"email-configured": "Email Configured",
|
||||
"email-configuration-status": "Estat de la configuració del correu electrònic",
|
||||
"email-configured": "Correu electrònic configurat",
|
||||
"email-test-results": "Email Test Results",
|
||||
"ready": "Ready",
|
||||
"not-ready": "Not Ready - Check Environmental Variables",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Etiquetes",
|
||||
"untagged-count": "{count} sense etiquetar",
|
||||
"create-a-tag": "Crea una etiqueta",
|
||||
"tag-name": "Nom de l'etiqueta"
|
||||
"tag-name": "Nom de l'etiqueta",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Estris",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Nom de l'estri",
|
||||
"create-new-tool": "Crea un nou estri",
|
||||
"on-hand-checkbox-label": "Mostra com a disponible (marcat)",
|
||||
"required-tools": "Eines necessàries"
|
||||
"required-tools": "Eines necessàries",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Administrador/a",
|
||||
|
@ -890,7 +899,7 @@
|
|||
"enable-advanced-features": "Enable advanced features",
|
||||
"it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.",
|
||||
"dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!",
|
||||
"forgot-password": "Forgot Password",
|
||||
"forgot-password": "Contrasenya oblidada",
|
||||
"forgot-password-text": "Please enter your email address and we will send you a link to reset your password.",
|
||||
"changes-reflected-immediately": "Changes to this user will be reflected immediately."
|
||||
},
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Requereix totes les etiquetes",
|
||||
"require-all-tools": "Requereix tots els utensilis",
|
||||
"cookbook-name": "Nom del receptari",
|
||||
"cookbook-with-name": "Receptari {0}"
|
||||
"cookbook-with-name": "Receptari {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
"test-message-sent": "Testovací zpráva odeslána",
|
||||
"new-notification": "Nové oznámení",
|
||||
"event-notifiers": "Notifikace událostí",
|
||||
"apprise-url-skipped-if-blank": "Apprise URL (skipped if blank)",
|
||||
"apprise-url-skipped-if-blank": "Apprise URL (přeskočeno pokud je prázdné)",
|
||||
"enable-notifier": "Povolit notifikaci",
|
||||
"what-events": "What events should this notifier subscribe to?",
|
||||
"user-events": "Uživatelské události",
|
||||
|
@ -114,10 +114,10 @@
|
|||
"json": "JSON",
|
||||
"keyword": "Klíčové slovo",
|
||||
"link-copied": "Odkaz zkopírován",
|
||||
"loading": "Loading",
|
||||
"loading": "Načítá se",
|
||||
"loading-events": "Načítání událostí",
|
||||
"loading-recipe": "Loading recipe...",
|
||||
"loading-ocr-data": "Loading OCR data...",
|
||||
"loading-recipe": "Načítám recept...",
|
||||
"loading-ocr-data": "Načítám OCR data...",
|
||||
"loading-recipes": "Načítám recepty",
|
||||
"message": "Zpráva",
|
||||
"monday": "Pondělí",
|
||||
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Nahrát soubor",
|
||||
"created-on-date": "Vytvořeno dne: {0}",
|
||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Jste si jisti, že chcete smazat <b>{groupName}<b/>?",
|
||||
|
@ -243,8 +244,8 @@
|
|||
"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-users-from-commenting-on-recipes": "Zakázat uživatelům komentovat u receptů",
|
||||
"disable-users-from-commenting-on-recipes-description": "Na stránce receptu skryje sekci s komentáři a zakáže komentování",
|
||||
"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",
|
||||
|
@ -254,10 +255,11 @@
|
|||
"group-management": "Správa skupin",
|
||||
"admin-group-management": "Admin Group Management",
|
||||
"admin-group-management-text": "Změny v této skupině budou okamžitě zohledněny.",
|
||||
"group-id-value": "Group Id: {0}"
|
||||
"group-id-value": "ID skupiny: {0}"
|
||||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Vytvořit nový jídelníček",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Večeře na tento týden",
|
||||
"dinner-today": "Dnešní večeře",
|
||||
"dinner-tonight": "DNEŠNÍ VEČEŘE",
|
||||
|
@ -307,10 +309,10 @@
|
|||
"new-rule": "Nové pravidlo",
|
||||
"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",
|
||||
"recipe-rules": "Pravidla receptu",
|
||||
"applies-to-all-days": "Použije se na všechny dny",
|
||||
"applies-on-days": "Applies on {0}s",
|
||||
"meal-plan-settings": "Meal Plan Settings"
|
||||
"meal-plan-settings": "Nastavení jídelníčku"
|
||||
},
|
||||
"migration": {
|
||||
"migration-data-removed": "Data z migrace byla smazána",
|
||||
|
@ -335,7 +337,7 @@
|
|||
},
|
||||
"paprika": {
|
||||
"description-long": "Mealie can import recipes from the Paprika application. Export your recipes from paprika, rename the export extension to .zip and upload it below.",
|
||||
"title": "Paprika Recipe Manager"
|
||||
"title": "Správce receptů Paprika"
|
||||
},
|
||||
"mealie-pre-v1": {
|
||||
"description-long": "Mealie can import recipes from the Mealie application from a pre v1.0 release. Export your recipes from your old instance, and upload the zip file below. Note that only recipes can be imported from the export.",
|
||||
|
@ -469,12 +471,14 @@
|
|||
"date-format-hint-yyyy-mm-dd": "Formát RRRR-MM-DD",
|
||||
"add-to-list": "Přidat na seznam",
|
||||
"add-to-plan": "Přidat do jídelníčku",
|
||||
"add-to-timeline": "Add to Timeline",
|
||||
"add-to-timeline": "Přidat na časovou osu",
|
||||
"recipe-added-to-list": "Recept byl přidán na seznam",
|
||||
"recipes-added-to-list": "Recipes added to list",
|
||||
"successfully-added-to-list": "Successfully 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",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Úroda",
|
||||
"quantity": "Množství",
|
||||
"choose-unit": "Vybrat jednotku",
|
||||
|
@ -496,9 +500,9 @@
|
|||
"locked": "Uzamčeno",
|
||||
"public-link": "Veřejný odkaz",
|
||||
"timer": {
|
||||
"kitchen-timer": "Kitchen Timer",
|
||||
"start-timer": "Start Timer",
|
||||
"pause-timer": "Pause Timer",
|
||||
"kitchen-timer": "Kuchyňský časovač",
|
||||
"start-timer": "Spustit časovač",
|
||||
"pause-timer": "Pozastavit časovač",
|
||||
"resume-timer": "Resume Timer",
|
||||
"stop-timer": "Stop Timer"
|
||||
},
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "New recipe names must be unique",
|
||||
"scrape-recipe": "Scrape Recipe",
|
||||
"scrape-recipe-description": "Scrape a recipe by url. Provide the url for the site you want to scrape, and Mealie will attempt to scrape the recipe from that site and add it to your collection.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Import original keywords as tags",
|
||||
"stay-in-edit-mode": "Zůstat v režimu úprav",
|
||||
"import-from-zip": "Importovat ze zipu",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Jednotka",
|
||||
"upload-image": "Nahrát obrázek",
|
||||
"screen-awake": "Keep Screen Awake",
|
||||
"remove-image": "Remove image"
|
||||
"remove-image": "Remove image",
|
||||
"nextStep": "Další krok"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Pokročilé vyhledávání",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Štítky",
|
||||
"untagged-count": "Bez štítku {count}",
|
||||
"create-a-tag": "Vytvořit štítek",
|
||||
"tag-name": "Název štítku"
|
||||
"tag-name": "Název štítku",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Nástroje",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Název nástroje",
|
||||
"create-new-tool": "Vytvořit nový nástroj",
|
||||
"on-hand-checkbox-label": "Zobrazit jako \"Po ruce\" (zaškrtnuto)",
|
||||
"required-tools": "Required Tools"
|
||||
"required-tools": "Required Tools",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Správce",
|
||||
|
@ -1149,7 +1158,7 @@
|
|||
"notifiers-description": "Setup email and push notifications that trigger on specific events.",
|
||||
"manage-data": "Spravovat data",
|
||||
"manage-data-description": "Manage your Food and Units (more options coming soon)",
|
||||
"data-migrations": "Data Migrations",
|
||||
"data-migrations": "Migrace dat",
|
||||
"data-migrations-description": "Migrate your existing data from other applications like Nextcloud Recipes and Chowdown",
|
||||
"email-sent": "E-mail odeslán",
|
||||
"error-sending-email": "Nastala chyba při odesílání e-mailu",
|
||||
|
@ -1161,10 +1170,10 @@
|
|||
"manage-your-api-tokens": "Správa API tokenů",
|
||||
"manage-user-profile": "Správa uživatelského profilu",
|
||||
"manage-cookbooks": "Správa kuchařek",
|
||||
"manage-members": "Manage Members",
|
||||
"manage-webhooks": "Manage Webhooks",
|
||||
"manage-notifiers": "Manage Notifiers",
|
||||
"manage-data-migrations": "Manage Data Migrations"
|
||||
"manage-members": "Spravovat členy",
|
||||
"manage-webhooks": "Spravovat webhooky",
|
||||
"manage-notifiers": "Spravovat oznámení",
|
||||
"manage-data-migrations": "Spravovat migrace dat"
|
||||
},
|
||||
"cookbook": {
|
||||
"cookbooks": "Kuchařky",
|
||||
|
@ -1172,11 +1181,13 @@
|
|||
"public-cookbook": "Veřejná kuchařka",
|
||||
"public-cookbook-description": "Veřejné kuchařky mohou být sdíleny s neregistrovanými uživateli a budou zobrazeny na stránce vaší skupiny.",
|
||||
"filter-options": "Možnosti filtru",
|
||||
"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",
|
||||
"filter-options-description": "Pokud je vybrána možnost vyžadovat vše, kuchařka bude obsahovat pouze ty recepty, které mají všechny vybrané položky. To platí pro každou podmnožinu výběru, nikoliv pro jejich průnik.",
|
||||
"require-all-categories": "Vyžadovat všechny kategorie",
|
||||
"require-all-tags": "Vyžadovat všechny štítky",
|
||||
"require-all-tools": "Vyžadovat všechny nástroje",
|
||||
"cookbook-name": "Název kuchařky",
|
||||
"cookbook-with-name": "Kuchařka {0}"
|
||||
"cookbook-with-name": "Kuchařka {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Upload Fil",
|
||||
"created-on-date": "Oprettet den: {0}",
|
||||
"unsaved-changes": "Du har ændringer som ikke er gemt. Vil du gemme før du forlader? Vælg \"Okay\" for at gemme, eller \"Annullér\" for at kassere ændringer.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Er du sikker på, du vil slette <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Opret en ny madplan",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Madplan denne uge",
|
||||
"dinner-today": "Madplan i dag",
|
||||
"dinner-tonight": "AFTENSMAD I AFTEN",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"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",
|
||||
"successfully-added-to-list": "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",
|
||||
"failed-to-add-to-list": "Kunne ikke tilføje opskrift til listen",
|
||||
"yield": "Portioner",
|
||||
"quantity": "Antal",
|
||||
"choose-unit": "Vælg enhed",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Opskriftsnavnet er allerede i brug",
|
||||
"scrape-recipe": "Scrape Opskrift",
|
||||
"scrape-recipe-description": "Hent en opskrift fra en hjemmeside. Angiv URL'en til den hjemmeside, du vil hente data fra, og Mealie vil forsøge at hente opskriften og tilføje den til din samling.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Importér originale nøgleord som mærker",
|
||||
"stay-in-edit-mode": "Bliv i redigeringstilstand",
|
||||
"import-from-zip": "Importer fra zip-fil",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Enhed",
|
||||
"upload-image": "Upload billede",
|
||||
"screen-awake": "Hold skærmen tændt",
|
||||
"remove-image": "Fjern billede"
|
||||
"remove-image": "Fjern billede",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Avanceret søgning",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Tags",
|
||||
"untagged-count": "Ikke-tagget: {count}",
|
||||
"create-a-tag": "Opret tag",
|
||||
"tag-name": "Tag navn"
|
||||
"tag-name": "Tag navn",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Værktøjer",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Værktøjsnavn",
|
||||
"create-new-tool": "Opret et nyt værktøj",
|
||||
"on-hand-checkbox-label": "Vis som \"Har allerede\" (afkrydset)",
|
||||
"required-tools": "Nødvendige Værktøjer"
|
||||
"required-tools": "Nødvendige Værktøjer",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Administrator",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Kræv Alle Mærker",
|
||||
"require-all-tools": "Kræv Alle Værktøjer",
|
||||
"cookbook-name": "Navn på kogebog",
|
||||
"cookbook-with-name": "Kogebog {0}"
|
||||
"cookbook-with-name": "Kogebog {0}",
|
||||
"create-a-cookbook": "Opret en ny kogebog",
|
||||
"cookbook": "Kogebog"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Datei hochladen",
|
||||
"created-on-date": "Erstellt am: {0}",
|
||||
"unsaved-changes": "Du hast ungespeicherte Änderungen. Möchtest du vor dem Verlassen speichern? OK um zu speichern, Cancel um Änderungen zu verwerfen.",
|
||||
"clipboard-copy-failure": "Fehler beim Kopieren in die Zwischenablage."
|
||||
"clipboard-copy-failure": "Fehler beim Kopieren in die Zwischenablage.",
|
||||
"confirm-delete-generic-items": "Bist du dir sicher, dass du die folgenden Einträge löschen möchtest?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Bist du dir sicher, dass du die Gruppe <b>{groupName}<b/> löschen möchtest?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Neue Mahlzeit planen",
|
||||
"update-this-meal-plan": "Mahlzeit aktualisieren",
|
||||
"dinner-this-week": "Essen diese Woche",
|
||||
"dinner-today": "Heutiges Essen",
|
||||
"dinner-tonight": "HEUTE GIBT ES",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"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",
|
||||
"successfully-added-to-list": "Erfolgreich zur Liste 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",
|
||||
"failed-to-add-to-list": "Fehler beim Hinzufügen zur Liste",
|
||||
"yield": "Portionsangabe",
|
||||
"quantity": "Menge",
|
||||
"choose-unit": "Einheit wählen",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Neue Rezeptnamen müssen eindeutig sein",
|
||||
"scrape-recipe": "Rezept einlesen",
|
||||
"scrape-recipe-description": "Importiere ein Rezept mit der URL. Gib die URL für die Seite an, die du importieren möchtest und Mealie wird versuchen, das Rezept von dieser Seite einzulesen und deiner Sammlung hinzuzufügen.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Hast Du viele Rezepte, die Du auf einmal einlesen willst?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Probiere den Massenimporter aus",
|
||||
"import-original-keywords-as-tags": "Importiere ursprüngliche Stichwörter als Schlagwörter",
|
||||
"stay-in-edit-mode": "Im Bearbeitungsmodus bleiben",
|
||||
"import-from-zip": "Von Zip importieren",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Maßeinheit",
|
||||
"upload-image": "Bild hochladen",
|
||||
"screen-awake": "Bildschirm nicht abschalten",
|
||||
"remove-image": "Bild entfernen"
|
||||
"remove-image": "Bild entfernen",
|
||||
"nextStep": "Nächster Schritt"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Erweiterte Suche",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Schlagworte",
|
||||
"untagged-count": "{count} ohne Schlagworte",
|
||||
"create-a-tag": "Ein Schlagwort erstellen",
|
||||
"tag-name": "Name des Schlagworts"
|
||||
"tag-name": "Name des Schlagworts",
|
||||
"tag": "Schlagwort"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Utensilien",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Name des Utensils",
|
||||
"create-new-tool": "Neues Utensil erstellen",
|
||||
"on-hand-checkbox-label": "Als \"vorhanden\" anzeigen (markiert)",
|
||||
"required-tools": "Benötigte Utensilien"
|
||||
"required-tools": "Benötigte Utensilien",
|
||||
"tool": "Utensil"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Admin",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Alle Schlagwörter erforderlich",
|
||||
"require-all-tools": "Alle Utensilien erforderlich",
|
||||
"cookbook-name": "Kochbuch Name",
|
||||
"cookbook-with-name": "Kochbuch {0}"
|
||||
"cookbook-with-name": "Kochbuch {0}",
|
||||
"create-a-cookbook": "Ein Kochbuch erstellen",
|
||||
"cookbook": "Kochbuch"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Μεταφόρτωση αρχείου",
|
||||
"created-on-date": "Δημιουργήθηκε στις: {0}",
|
||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό τον ασφαλή σύνδεσμο <b>{groupName}<b/>;",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Δημιουργία νέου σχεδίου γεύματος",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Δείπνο Αυτή Τη Εβδομάδα",
|
||||
"dinner-today": "Δείπνο Σήμερα",
|
||||
"dinner-tonight": "ΔΕΙΠΝΟ ΣΗΜΕΡΑ",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Add to Timeline",
|
||||
"recipe-added-to-list": "Recipe added to list",
|
||||
"recipes-added-to-list": "Recipes added to list",
|
||||
"successfully-added-to-list": "Successfully 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",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Yield",
|
||||
"quantity": "Quantity",
|
||||
"choose-unit": "Choose Unit",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "New recipe names must be unique",
|
||||
"scrape-recipe": "Scrape Recipe",
|
||||
"scrape-recipe-description": "Scrape a recipe by url. Provide the url for the site you want to scrape, and Mealie will attempt to scrape the recipe from that site and add it to your collection.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Import original keywords as tags",
|
||||
"stay-in-edit-mode": "Stay in Edit mode",
|
||||
"import-from-zip": "Import from Zip",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Unit",
|
||||
"upload-image": "Upload image",
|
||||
"screen-awake": "Keep Screen Awake",
|
||||
"remove-image": "Remove image"
|
||||
"remove-image": "Remove image",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Σύνθετη Αναζήτηση",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Ετικέτες",
|
||||
"untagged-count": "Χωρίς ετικέτα {count}",
|
||||
"create-a-tag": "Create a Tag",
|
||||
"tag-name": "Tag Name"
|
||||
"tag-name": "Tag Name",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Εργαλεία",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"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": "Required Tools",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Διαχειριστής",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Require All Tags",
|
||||
"require-all-tools": "Require All Tools",
|
||||
"cookbook-name": "Cookbook Name",
|
||||
"cookbook-with-name": "Cookbook {0}"
|
||||
"cookbook-with-name": "Cookbook {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Upload File",
|
||||
"created-on-date": "Created on: {0}",
|
||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Create a New Meal Plan",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Dinner This Week",
|
||||
"dinner-today": "Dinner Today",
|
||||
"dinner-tonight": "DINNER TONIGHT",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Add to Timeline",
|
||||
"recipe-added-to-list": "Recipe added to list",
|
||||
"recipes-added-to-list": "Recipes added to list",
|
||||
"successfully-added-to-list": "Successfully 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",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Yield",
|
||||
"quantity": "Quantity",
|
||||
"choose-unit": "Choose Unit",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "New recipe names must be unique",
|
||||
"scrape-recipe": "Scrape Recipe",
|
||||
"scrape-recipe-description": "Scrape a recipe by url. Provide the url for the site you want to scrape, and Mealie will attempt to scrape the recipe from that site and add it to your collection.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Import original keywords as tags",
|
||||
"stay-in-edit-mode": "Stay in Edit mode",
|
||||
"import-from-zip": "Import from Zip",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Unit",
|
||||
"upload-image": "Upload image",
|
||||
"screen-awake": "Keep Screen Awake",
|
||||
"remove-image": "Remove image"
|
||||
"remove-image": "Remove image",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Advanced Search",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Tags",
|
||||
"untagged-count": "Untagged {count}",
|
||||
"create-a-tag": "Create a Tag",
|
||||
"tag-name": "Tag Name"
|
||||
"tag-name": "Tag Name",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Tools",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"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": "Required Tools",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Admin",
|
||||
|
@ -881,7 +890,7 @@
|
|||
"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": "This specifies how a user will authenticate with Mealie. If you're not sure, choose 'Mealie'",
|
||||
"permissions": "Permissions",
|
||||
"administrator": "Administrator",
|
||||
"user-can-invite-other-to-group": "User can invite other to group",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Require All Tags",
|
||||
"require-all-tools": "Require All Tools",
|
||||
"cookbook-name": "Cookbook Name",
|
||||
"cookbook-with-name": "Cookbook {0}"
|
||||
"cookbook-with-name": "Cookbook {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Upload File",
|
||||
"created-on-date": "Created on: {0}",
|
||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Create a New Meal Plan",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Dinner This Week",
|
||||
"dinner-today": "Dinner Today",
|
||||
"dinner-tonight": "DINNER TONIGHT",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Add to Timeline",
|
||||
"recipe-added-to-list": "Recipe added to list",
|
||||
"recipes-added-to-list": "Recipes added to list",
|
||||
"successfully-added-to-list": "Successfully 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",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Yield",
|
||||
"quantity": "Quantity",
|
||||
"choose-unit": "Choose Unit",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "New recipe names must be unique",
|
||||
"scrape-recipe": "Scrape Recipe",
|
||||
"scrape-recipe-description": "Scrape a recipe by url. Provide the url for the site you want to scrape, and Mealie will attempt to scrape the recipe from that site and add it to your collection.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Import original keywords as tags",
|
||||
"stay-in-edit-mode": "Stay in Edit mode",
|
||||
"import-from-zip": "Import from Zip",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Unit",
|
||||
"upload-image": "Upload image",
|
||||
"screen-awake": "Keep Screen Awake",
|
||||
"remove-image": "Remove image"
|
||||
"remove-image": "Remove image",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Advanced Search",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Tags",
|
||||
"untagged-count": "Untagged {count}",
|
||||
"create-a-tag": "Create a Tag",
|
||||
"tag-name": "Tag Name"
|
||||
"tag-name": "Tag Name",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Tools",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"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": "Required Tools",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Admin",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Require All Tags",
|
||||
"require-all-tools": "Require All Tools",
|
||||
"cookbook-name": "Cookbook Name",
|
||||
"cookbook-with-name": "Cookbook {0}"
|
||||
"cookbook-with-name": "Cookbook {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -77,7 +77,7 @@
|
|||
"tag-events": "Eventos de etiqueta",
|
||||
"category-events": "Eventos de Categoría",
|
||||
"when-a-new-user-joins-your-group": "Cuando un nuevo usuario se une a tu grupo",
|
||||
"recipe-events": "Recipe Events"
|
||||
"recipe-events": "Eventos de receta"
|
||||
},
|
||||
"general": {
|
||||
"cancel": "Cancelar",
|
||||
|
@ -114,10 +114,10 @@
|
|||
"json": "JSON",
|
||||
"keyword": "Etiqueta",
|
||||
"link-copied": "Enlace copiado",
|
||||
"loading": "Loading",
|
||||
"loading": "Cargando",
|
||||
"loading-events": "Cargando Eventos",
|
||||
"loading-recipe": "Loading recipe...",
|
||||
"loading-ocr-data": "Loading OCR data...",
|
||||
"loading-recipe": "Cargando receta...",
|
||||
"loading-ocr-data": "Cargando datos OCR...",
|
||||
"loading-recipes": "Cargando recetas",
|
||||
"message": "Mensaje",
|
||||
"monday": "Lunes",
|
||||
|
@ -198,8 +198,9 @@
|
|||
"refresh": "Actualizar",
|
||||
"upload-file": "Subir Archivo",
|
||||
"created-on-date": "Creado el {0}",
|
||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"unsaved-changes": "Tienes cambios sin guardar. ¿Quieres guardar antes de salir? Aceptar para guardar, Cancelar para descartar cambios.",
|
||||
"clipboard-copy-failure": "No se pudo copiar al portapapeles.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Por favor, confirma que deseas eliminar <b>{groupName}<b/>",
|
||||
|
@ -214,7 +215,7 @@
|
|||
"group-id-with-value": "ID del Grupo: {groupID}",
|
||||
"group-name": "Nombre del Grupo",
|
||||
"group-not-found": "Grupo no encontrado",
|
||||
"group-token": "Group Token",
|
||||
"group-token": "Token del grupo",
|
||||
"group-with-value": "Grupo: {groupID}",
|
||||
"groups": "Grupos",
|
||||
"manage-groups": "Administrar grupos",
|
||||
|
@ -250,7 +251,7 @@
|
|||
"general-preferences": "Opciones generales",
|
||||
"group-recipe-preferences": "Preferencias de grupo de las recetas",
|
||||
"report": "Informe",
|
||||
"report-with-id": "Report ID: {id}",
|
||||
"report-with-id": "ID de informe: {id}",
|
||||
"group-management": "Administración de grupos",
|
||||
"admin-group-management": "Gestión del grupo administrador",
|
||||
"admin-group-management-text": "Los cambios en este grupo se reflejarán inmediatamente.",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Crear un nuevo menú",
|
||||
"update-this-meal-plan": "Actualizar este plan de comidas",
|
||||
"dinner-this-week": "Cena para esta semana",
|
||||
"dinner-today": "Cena para hoy",
|
||||
"dinner-tonight": "Cena para esta noche",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"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",
|
||||
"successfully-added-to-list": "Añadido correctamente 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ú",
|
||||
"failed-to-add-to-list": "No se pudo agregar a la lista",
|
||||
"yield": "Raciones",
|
||||
"quantity": "Cantidad",
|
||||
"choose-unit": "Elija unidad",
|
||||
|
@ -511,11 +515,11 @@
|
|||
"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 party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.",
|
||||
"api-extras-description": "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",
|
||||
"drop-image": "Drop image",
|
||||
"drop-image": "Soltar imagen",
|
||||
"enable-ingredient-amounts-to-use-this-feature": "Habilitar la cantidad de ingredientes para usar esta característica",
|
||||
"recipes-with-units-or-foods-defined-cannot-be-parsed": "Las recetas con unidades o alimentos definidos no pueden ser analizadas.",
|
||||
"parse-ingredients": "Analizar ingredientes",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "El nombre de la receta debe ser único",
|
||||
"scrape-recipe": "Analiza receta",
|
||||
"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.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "¿Tienes muchas recetas que quieres raspar a la vez?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Prueba el importador masivo",
|
||||
"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",
|
||||
|
@ -541,7 +547,7 @@
|
|||
"create-a-recipe-by-uploading-a-scan": "Crea una receta subiendo una escaneada.",
|
||||
"upload-a-png-image-from-a-recipe-book": "Suba una imagen png de un libro de recetas",
|
||||
"recipe-bulk-importer": "Importador masivo de recetas",
|
||||
"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.",
|
||||
"recipe-bulk-importer-description": "El importador masivo de recetas te permite importar múltiples recetas a la vez poniendo en cola los sitios en el backend y ejecutando la tarea en segundo plano. Esto puede ser útil al migrar inicialmente a Mealie, o cuando desea importar un gran número de recetas.",
|
||||
"set-categories-and-tags": "Establecer categorías y etiquetas",
|
||||
"bulk-imports": "Importación masiva",
|
||||
"bulk-import-process-has-started": "El proceso de importación masiva se ha iniciado",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Unidades",
|
||||
"upload-image": "Subir imagen",
|
||||
"screen-awake": "Mantener la pantalla encendida",
|
||||
"remove-image": "Eliminar imagen"
|
||||
"remove-image": "Eliminar imagen",
|
||||
"nextStep": "Siguiente paso"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Búsqueda avanzada",
|
||||
|
@ -574,16 +581,16 @@
|
|||
"search-hint": "Presione '/'",
|
||||
"advanced": "Avanzado",
|
||||
"auto-search": "Búsqueda automática",
|
||||
"no-results": "No results found"
|
||||
"no-results": "No se encontraron resultados"
|
||||
},
|
||||
"settings": {
|
||||
"add-a-new-theme": "Añadir un nuevo tema",
|
||||
"admin-settings": "Opciones del adminstrador",
|
||||
"backup": {
|
||||
"backup-created": "Backup created successfully",
|
||||
"backup-created": "Copia de seguridad creada con éxito",
|
||||
"backup-created-at-response-export_path": "Copia de seguridad creada en {path}",
|
||||
"backup-deleted": "Copia de seguridad eliminada",
|
||||
"restore-success": "Restore successful",
|
||||
"restore-success": "Restauración exitosa",
|
||||
"backup-tag": "Etiqueta de la copia de seguridad",
|
||||
"create-heading": "Crear una copia de seguridad",
|
||||
"delete-backup": "Eliminar copia de seguridad",
|
||||
|
@ -684,21 +691,21 @@
|
|||
"webhooks-caps": "WEBHOOKS",
|
||||
"webhooks": "Webhooks",
|
||||
"webhook-name": "Nombre del Webhook",
|
||||
"description": "The webhooks defined below will be executed when a meal is defined for the day. At the scheduled time the webhooks will be sent with the data from the recipe that is scheduled for the day. Note that webhook execution is not exact. The webhooks are executed on a 5 minutes interval so the webhooks will be executed within 5 +/- minutes of the scheduled."
|
||||
"description": "Los webhooks definidos a continuación se ejecutarán cuando una comida esté definida para el día. A la hora prevista se enviarán los webhooks con los datos de la receta programada para el día. Tenga en cuenta que la ejecución de webhook no es exacta. Los webhooks se ejecutan en un intervalo de 5 minutos, por lo que los webhooks se ejecutarán en 5 minutos +/- de los programados."
|
||||
},
|
||||
"bug-report": "Informe de error",
|
||||
"bug-report-information": "Utilice esta información para informar de un error. Proporcionar detalles de su instancia a los desarrolladores es la mejor manera de resolver sus problemas rápidamente.",
|
||||
"tracker": "Tracker",
|
||||
"tracker": "Rastreador",
|
||||
"configuration": "Configuración",
|
||||
"docker-volume": "Volumen de Docker",
|
||||
"docker-volume-help": "Mealie requiere que los contenedores de frontend y backend compartan el mismo volumen o almacenamiento en docker. Esto asegura que el contenedor del frontend pueda acceder adecuadamente a las imágenes y los activos almacenados en el disco.",
|
||||
"volumes-are-misconfigured": "Volumes are misconfigured.",
|
||||
"volumes-are-misconfigured": "Los volúmenes están mal configurados.",
|
||||
"volumes-are-configured-correctly": "Los volúmenes se configuran correctamente.",
|
||||
"status-unknown-try-running-a-validation": "Estado desconocido. Intente ejecutar una validación.",
|
||||
"validate": "Validar",
|
||||
"email-configuration-status": "Estado de la Configuración del Correo Electrónico",
|
||||
"email-configured": "Email Configured",
|
||||
"email-test-results": "Email Test Results",
|
||||
"email-configured": "Email configurado",
|
||||
"email-test-results": "Resultados de la prueba de email",
|
||||
"ready": "Listo",
|
||||
"not-ready": "No Listo - Comprobar variables de ambiente",
|
||||
"succeeded": "Logrado",
|
||||
|
@ -709,10 +716,10 @@
|
|||
"mealie-is-up-to-date": "Mealie está actualizada",
|
||||
"secure-site": "Sitio Seguro",
|
||||
"secure-site-error-text": "Servir a través de local host o seguro con HTTPS. El portapapeles y API adicionales del navegador pueden no funcionar.",
|
||||
"secure-site-success-text": "Site is accessed by localhost or https",
|
||||
"server-side-base-url": "Server Side Base URL",
|
||||
"server-side-base-url-error-text": "`BASE_URL` is still the default value on API Server. This will cause issues with notifications links generated on the server for emails, etc.",
|
||||
"server-side-base-url-success-text": "Server Side URL does not match the default",
|
||||
"secure-site-success-text": "Se accede al sitio por localhost o https",
|
||||
"server-side-base-url": "URL base del servidor",
|
||||
"server-side-base-url-error-text": "`BASE_URL` sigue siendo el valor por defecto en el servidor API. Esto causará problemas con las notificaciones generadas en el servidor de correos electrónicos, etc.",
|
||||
"server-side-base-url-success-text": "La URL del servidor no coincide con la predeterminada",
|
||||
"ldap-ready": "LDAP Listo",
|
||||
"ldap-ready-error-text": "No todos los valores LDAP están configurados. Esto puede ignorarse si no está usando autenticación LDAP.",
|
||||
"ldap-ready-success-text": "Las variables LDAP requeridas están todas definidas.",
|
||||
|
@ -742,7 +749,7 @@
|
|||
"reorder-labels": "Reordenar etiquetas",
|
||||
"uncheck-all-items": "Desmarcar todos los elementos",
|
||||
"check-all-items": "Marcar todos los elementos",
|
||||
"linked-recipes-count": "No Linked Recipes|One Linked Recipe|{count} Linked Recipes",
|
||||
"linked-recipes-count": "No hay recetas vinculadas|Una receta vinculada|{count} recetas vinculadas",
|
||||
"items-checked-count": "Ningún elemento comprobado|Un elemento comprobado|{count} elementos comprobados",
|
||||
"no-label": "Sin Etiqueta",
|
||||
"completed-on": "Completado el {date}"
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Etiquetas",
|
||||
"untagged-count": "{count} sin etiquetar",
|
||||
"create-a-tag": "Crear una etiqueta",
|
||||
"tag-name": "Nombre de la etiqueta"
|
||||
"tag-name": "Nombre de la etiqueta",
|
||||
"tag": "Etiqueta"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Utensilios",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Nombre del utensilio",
|
||||
"create-new-tool": "Crear nuevo utensilio",
|
||||
"on-hand-checkbox-label": "Mostrar como disponible (marcado)",
|
||||
"required-tools": "Utensilios necesarios"
|
||||
"required-tools": "Utensilios necesarios",
|
||||
"tool": "Herramienta"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Administrador/a",
|
||||
|
@ -833,7 +842,7 @@
|
|||
"password-updated": "Contraseña actualizada",
|
||||
"password": "Contraseña",
|
||||
"password-strength": "Fortaleza de la contraseña: {strength}",
|
||||
"please-enter-password": "Please enter your new password.",
|
||||
"please-enter-password": "Por favor ingrese su nueva contraseña.",
|
||||
"register": "Registrarse",
|
||||
"reset-password": "Restablecer contraseña",
|
||||
"sign-in": "Iniciar sesión",
|
||||
|
@ -854,7 +863,7 @@
|
|||
"username": "Usuario",
|
||||
"users-header": "USUARIOS",
|
||||
"users": "Usuarios",
|
||||
"user-not-found": "User not found",
|
||||
"user-not-found": "Usuario no encontrado",
|
||||
"webhook-time": "Tiempo de Webhook",
|
||||
"webhooks-enabled": "Webhooks habilitados",
|
||||
"you-are-not-allowed-to-create-a-user": "No tiene permisos para crear usuarios",
|
||||
|
@ -877,7 +886,7 @@
|
|||
"user-management": "Gestión de Usuarios",
|
||||
"reset-locked-users": "Restablecer usuarios bloqueados",
|
||||
"admin-user-creation": "Creación de Usuario Administrador",
|
||||
"admin-user-management": "Admin User Management",
|
||||
"admin-user-management": "Administración de usuario de admin",
|
||||
"user-details": "Detalles de usuario",
|
||||
"user-name": "Nombre de usuario",
|
||||
"authentication-method": "Método de autenticación",
|
||||
|
@ -888,11 +897,11 @@
|
|||
"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",
|
||||
"it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.",
|
||||
"dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!",
|
||||
"forgot-password": "Forgot Password",
|
||||
"forgot-password-text": "Please enter your email address and we will send you a link to reset your password.",
|
||||
"changes-reflected-immediately": "Changes to this user will be reflected immediately."
|
||||
"it-looks-like-this-is-your-first-time-logging-in": "Parece que esta es la primera vez que inicias sesión.",
|
||||
"dont-want-to-see-this-anymore-be-sure-to-change-your-email": "¿No quieres ver esto más? ¡Asegúrate de cambiar tu correo electrónico en tu configuración de usuario!",
|
||||
"forgot-password": "Olvidé mi contraseña",
|
||||
"forgot-password-text": "Por favor, introduce tu correo electrónico y te enviaremos un enlace para restablecer tu contraseña.",
|
||||
"changes-reflected-immediately": "Los cambios en este grupo se reflejarán inmediatamente."
|
||||
},
|
||||
"language-dialog": {
|
||||
"translated": "traducido",
|
||||
|
@ -919,19 +928,19 @@
|
|||
},
|
||||
"units": {
|
||||
"seed-dialog-text": "Añade a la base de datos unidades comunes basadas en su idioma local.",
|
||||
"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": "Combinar los alimentos seleccionados fusionará el alimento origen y destinatario en un solo alimento. El alimento {source-unit-will-be-deleted} será eliminado y todas las referencias a él serán actualizadas para apuntar al nuevo alimento.",
|
||||
"combine-unit": "Unidad de Combinación",
|
||||
"source-unit": "Source Unit",
|
||||
"target-unit": "Target Unit",
|
||||
"merging-unit-into-unit": "Merging {0} into {1}",
|
||||
"create-unit": "Create Unit",
|
||||
"source-unit": "Unidad de origen",
|
||||
"target-unit": "Unidad de objetivo",
|
||||
"merging-unit-into-unit": "Combinando {0} con {1}",
|
||||
"create-unit": "Crear unidad",
|
||||
"abbreviation": "Abreviatura",
|
||||
"plural-abbreviation": "Abreviatura en plural",
|
||||
"description": "Descripción",
|
||||
"display-as-fraction": "Display as Fraction",
|
||||
"display-as-fraction": "Mostrar como fracción",
|
||||
"use-abbreviation": "Usar Abreviaturas",
|
||||
"edit-unit": "Editar unidad",
|
||||
"unit-data": "Unit Data",
|
||||
"unit-data": "Datos de la unidad",
|
||||
"use-abbv": "Usar Abr.",
|
||||
"fraction": "Fracción",
|
||||
"example-unit-singular": "ej: Cucharada",
|
||||
|
@ -948,10 +957,10 @@
|
|||
"recipes": {
|
||||
"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.",
|
||||
"selected-length-recipe-s-settings-will-be-updated": "{count} recipe(s) settings will be updated.",
|
||||
"confirm-delete-recipes": "¿Estás seguro de que quieres eliminar las siguientes recetas? Esta acción no podrá deshacerse.",
|
||||
"the-following-recipes-selected-length-will-be-exported": "Las siguientes recetas ({0}) serán exportadas.",
|
||||
"settings-chosen-explanation": "Los ajustes seleccionados aquí, excluyendo la opción bloqueada, se aplicarán a todas las recetas seleccionadas.",
|
||||
"selected-length-recipe-s-settings-will-be-updated": "Se actualizarán los ajustes de {count} receta(s).",
|
||||
"recipe-data": "Datos de la receta",
|
||||
"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",
|
||||
|
@ -1112,14 +1121,14 @@
|
|||
"ingredients-natural-language-processor-explanation-2": "It's not perfect, but it yields great results in general and is a good starting point for manually parsing ingredients into individual fields. Alternatively, you can also use the \"Brute\" processor that uses a pattern matching technique to identify ingredients.",
|
||||
"nlp": "NLP",
|
||||
"brute": "Brute",
|
||||
"show-individual-confidence": "Show individual confidence",
|
||||
"ingredient-text": "Ingredient Text",
|
||||
"average-confident": "{0} Confident",
|
||||
"try-an-example": "Try an example",
|
||||
"show-individual-confidence": "Mostrar confianza individual",
|
||||
"ingredient-text": "Texto del ingrediente",
|
||||
"average-confident": "{0} Confianza",
|
||||
"try-an-example": "Prueba un ejemplo",
|
||||
"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",
|
||||
"background-tasks-description": "Aquí puedes ver todas las tareas de fondo en ejecución y su estado",
|
||||
"no-logs-found": "No se encontraron registros",
|
||||
"tasks": "Tareas"
|
||||
},
|
||||
"profile": {
|
||||
|
@ -1129,7 +1138,7 @@
|
|||
"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": "Estadísticas del grupo",
|
||||
"group-statistics-description": "Your Group Statistics provide some insight how you're using Mealie.",
|
||||
"storage-capacity": "Capacidad de almacenamiento",
|
||||
"storage-capacity-description": "Your storage capacity is a calculation of the images and assets you have uploaded.",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Requerir todas las etiquetas",
|
||||
"require-all-tools": "Requiere todos los utensilios",
|
||||
"cookbook-name": "Nombre del recetario",
|
||||
"cookbook-with-name": "Recetario {0}"
|
||||
"cookbook-with-name": "Recetario {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Tuo tiedosto",
|
||||
"created-on-date": "Luotu {0}",
|
||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Haluatko varmasti poistaa ryhmän <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Luo uusi ateriasuunnitelma",
|
||||
"update-this-meal-plan": "Päivitä tämä ateriasuunnitelma",
|
||||
"dinner-this-week": "Viikon päivällinen",
|
||||
"dinner-today": "Päivällinen tänään",
|
||||
"dinner-tonight": "PÄIVÄLLINEN TÄNÄÄN",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Lisää aikajanalle",
|
||||
"recipe-added-to-list": "Resepti lisätty listalle",
|
||||
"recipes-added-to-list": "Recipes added to list",
|
||||
"successfully-added-to-list": "Successfully 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",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Sato",
|
||||
"quantity": "Määrä",
|
||||
"choose-unit": "Valitse Yksikkö",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Reseptin nimen on oltava yksilöllinen",
|
||||
"scrape-recipe": "Reseptin kaappain",
|
||||
"scrape-recipe-description": "Kaappaa resepti urlin avulla. Anna sen reseptin url-osoite, jonka haluat kaapata, ja Mealie yrittää kaapata reseptin kyseiseltä sivustolta ja lisätä sen kokoelmaasi.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Tuo alkuperäiset avainsanat tunnisteiksi",
|
||||
"stay-in-edit-mode": "Pysy muokkaustilassa",
|
||||
"import-from-zip": "Tuo zip-arkistosta",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Yksikkö",
|
||||
"upload-image": "Lataa kuva",
|
||||
"screen-awake": "Pidä näyttö aina päällä",
|
||||
"remove-image": "Poista kuva"
|
||||
"remove-image": "Poista kuva",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Tarkennettu haku",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Tunnisteet",
|
||||
"untagged-count": "Tunnisteettomat {count}",
|
||||
"create-a-tag": "Luo tunniste",
|
||||
"tag-name": "Tunnisteen nimi"
|
||||
"tag-name": "Tunnisteen nimi",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Työkalut",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Työkalun Nimi",
|
||||
"create-new-tool": "Luo Uusi Työkalu",
|
||||
"on-hand-checkbox-label": "Näytä työkalut, jotka omistan jo (valittu)",
|
||||
"required-tools": "Tarvittavat Työkalut"
|
||||
"required-tools": "Tarvittavat Työkalut",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Ylläpitäjä",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Vaadi Kaikki Tunnisteet",
|
||||
"require-all-tools": "Vaadi Kaikki Työkalut",
|
||||
"cookbook-name": "Keittokirjan Nimi",
|
||||
"cookbook-with-name": "Keittokirja {0}"
|
||||
"cookbook-with-name": "Keittokirja {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Transférer un fichier",
|
||||
"created-on-date": "Créé le {0}",
|
||||
"unsaved-changes": "Vous avez des modifications non enregistrées. Voulez-vous les enregistrer ? Ok pour enregistrer, annuler pour ignorer les modifications.",
|
||||
"clipboard-copy-failure": "Échec de la copie vers le presse-papiers."
|
||||
"clipboard-copy-failure": "Échec de la copie vers le presse-papiers.",
|
||||
"confirm-delete-generic-items": "Êtes-vous sûr de vouloir supprimer les éléments suivants ?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Êtes-vous certain de vouloir supprimer <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Créer un nouveau menu",
|
||||
"update-this-meal-plan": "Mettre à jour ce menu",
|
||||
"dinner-this-week": "Menu de la semaine",
|
||||
"dinner-today": "Menu du jour",
|
||||
"dinner-tonight": "AU MENU CE SOIR",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Ajouter à l’historique",
|
||||
"recipe-added-to-list": "Recette ajoutée à la liste",
|
||||
"recipes-added-to-list": "Recettes ajoutées à la liste",
|
||||
"successfully-added-to-list": "Ajouté à la liste",
|
||||
"recipe-added-to-mealplan": "Recette ajoutée à la planification des repas",
|
||||
"failed-to-add-recipes-to-list": "Impossible d’ajouter la recette à la liste",
|
||||
"failed-to-add-recipe-to-mealplan": "Échec de l'ajout de la recette à la planification des repas",
|
||||
"failed-to-add-to-list": "Ajout dans la liste en échec",
|
||||
"yield": "Rendement",
|
||||
"quantity": "Quantité",
|
||||
"choose-unit": "Choisir une unité",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Les noms de nouvelles recettes doivent être uniques",
|
||||
"scrape-recipe": "Récupérer une recette",
|
||||
"scrape-recipe-description": "Récupérer une recette par URL. Fournissez l'URL de la page que vous voulez récupérer, et Mealie essaiera d'en extraire la recette pour l'ajouter à votre collection.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Vous avez un tas de recettes à récupérer d’un coup ?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Essayez l’importateur de masse",
|
||||
"import-original-keywords-as-tags": "Importer les mots-clés d'origine en tant que tags",
|
||||
"stay-in-edit-mode": "Rester en mode édition",
|
||||
"import-from-zip": "Importer depuis un zip",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Unité",
|
||||
"upload-image": "Ajouter une image",
|
||||
"screen-awake": "Garder l’écran allumé",
|
||||
"remove-image": "Supprimer l’image"
|
||||
"remove-image": "Supprimer l’image",
|
||||
"nextStep": "Étape suivante"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Recherche avancée",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Mots-clés",
|
||||
"untagged-count": "{count} sans mot-clés",
|
||||
"create-a-tag": "Créer une étiquette",
|
||||
"tag-name": "Nom d'étiquette"
|
||||
"tag-name": "Nom d'étiquette",
|
||||
"tag": "Étiquette"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Outils",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Nom de l’ustensile",
|
||||
"create-new-tool": "Créer un nouvel ustensile",
|
||||
"on-hand-checkbox-label": "Afficher comme disponible (coché)",
|
||||
"required-tools": "Ustensiles nécessaires"
|
||||
"required-tools": "Ustensiles nécessaires",
|
||||
"tool": "Ustensile"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Administrateur",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Nécessite tous les mots-clés",
|
||||
"require-all-tools": "Nécessite tous les ustensiles",
|
||||
"cookbook-name": "Nom du livre de recettes",
|
||||
"cookbook-with-name": "Livre de recettes {0}"
|
||||
"cookbook-with-name": "Livre de recettes {0}",
|
||||
"create-a-cookbook": "Créer un nouveau livre de recettes",
|
||||
"cookbook": "Livre de recettes"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Transférer un fichier",
|
||||
"created-on-date": "Créé le {0}",
|
||||
"unsaved-changes": "Vous avez des modifications non enregistrées. Voulez-vous enregistrer avant de partir ? OK pour enregistrer, Annuler pour ignorer les modifications.",
|
||||
"clipboard-copy-failure": "Échec de la copie dans le presse-papiers."
|
||||
"clipboard-copy-failure": "Échec de la copie dans le presse-papiers.",
|
||||
"confirm-delete-generic-items": "Êtes-vous sûr de vouloir supprimer les éléments suivants ?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Voulez-vous vraiment supprimer <b>{groupName}<b/> ?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Créer un nouveau menu",
|
||||
"update-this-meal-plan": "Mettre à jour ce menu",
|
||||
"dinner-this-week": "Au menu cette semaine",
|
||||
"dinner-today": "Menu du jour",
|
||||
"dinner-tonight": "AU MENU CE SOIR",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Ajouter à l’historique",
|
||||
"recipe-added-to-list": "Recette ajoutée à la liste",
|
||||
"recipes-added-to-list": "Recettes ajoutées à la liste",
|
||||
"successfully-added-to-list": "Ajouté à la liste",
|
||||
"recipe-added-to-mealplan": "Recette ajoutée au menu",
|
||||
"failed-to-add-recipes-to-list": "Impossible d’ajouter la recette à la liste",
|
||||
"failed-to-add-recipe-to-mealplan": "Échec de l’ajout de la recette au menu",
|
||||
"failed-to-add-to-list": "Ajout dans la liste en échec",
|
||||
"yield": "Nombre de portions",
|
||||
"quantity": "Quantité",
|
||||
"choose-unit": "Choisissez une unité",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Les noms de nouvelles recettes doivent être uniques",
|
||||
"scrape-recipe": "Récupérer une recette",
|
||||
"scrape-recipe-description": "Récupérer une recette par URL. Fournissez l'URL de la page que vous voulez récupérer, et Mealie essaiera d'en extraire la recette pour l'ajouter à votre collection.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Vous avez un tas de recettes à récupérer d’un coup ?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Essayez l’importateur de masse",
|
||||
"import-original-keywords-as-tags": "Importer les mots-clés d'origine en tant que tags",
|
||||
"stay-in-edit-mode": "Rester en mode édition",
|
||||
"import-from-zip": "Importer depuis un zip",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Unité",
|
||||
"upload-image": "Envoyer une image",
|
||||
"screen-awake": "Garder l’écran allumé",
|
||||
"remove-image": "Supprimer l’image"
|
||||
"remove-image": "Supprimer l’image",
|
||||
"nextStep": "Étape suivante"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Recherche avancée",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Mots-clés",
|
||||
"untagged-count": "{count} sans mot-clés",
|
||||
"create-a-tag": "Créer un mot-clé",
|
||||
"tag-name": "Mot-clé"
|
||||
"tag-name": "Mot-clé",
|
||||
"tag": "Étiquette"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Ustensiles",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Nom de l’ustensile",
|
||||
"create-new-tool": "Créer un nouvel ustensile",
|
||||
"on-hand-checkbox-label": "Afficher comme disponible (coché)",
|
||||
"required-tools": "Ustensiles nécessaires"
|
||||
"required-tools": "Ustensiles nécessaires",
|
||||
"tool": "Ustensile"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Administrateur",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Nécessite tous les mots-clés",
|
||||
"require-all-tools": "Nécessite tous les ustensiles",
|
||||
"cookbook-name": "Nom du livre de recettes",
|
||||
"cookbook-with-name": "Livre de recettes {0}"
|
||||
"cookbook-with-name": "Livre de recettes {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,61 +1,61 @@
|
|||
{
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "About Mealie",
|
||||
"api-docs": "API Docs",
|
||||
"api-port": "API Port",
|
||||
"application-mode": "Application Mode",
|
||||
"database-type": "Database Type",
|
||||
"database-url": "Database URL",
|
||||
"default-group": "Default Group",
|
||||
"demo": "Demo",
|
||||
"demo-status": "Demo Status",
|
||||
"development": "Development",
|
||||
"docs": "Docs",
|
||||
"download-log": "Download Log",
|
||||
"download-recipe-json": "Last Scraped JSON",
|
||||
"github": "Github",
|
||||
"log-lines": "Log Lines",
|
||||
"not-demo": "Not Demo",
|
||||
"portfolio": "Portfolio",
|
||||
"production": "Production",
|
||||
"support": "Support",
|
||||
"version": "Version",
|
||||
"unknown-version": "unknown",
|
||||
"sponsor": "Sponsor"
|
||||
"about": "Acerca de",
|
||||
"about-mealie": "Acerca de Mealie",
|
||||
"api-docs": "Documentación da API",
|
||||
"api-port": "Porto da API",
|
||||
"application-mode": "Modo da Aplicación",
|
||||
"database-type": "Tipo de base de datos",
|
||||
"database-url": "URL da base de datos",
|
||||
"default-group": "Grupo por defecto",
|
||||
"demo": "Demostración",
|
||||
"demo-status": "Estado da demostración",
|
||||
"development": "Desenvolvemento",
|
||||
"docs": "Documentación",
|
||||
"download-log": "Descargar rexistro",
|
||||
"download-recipe-json": "Último JSON raspado",
|
||||
"github": "GitHub",
|
||||
"log-lines": "Liñas de rexistro",
|
||||
"not-demo": "Non demostración",
|
||||
"portfolio": "Portafolio",
|
||||
"production": "Produción",
|
||||
"support": "Soporte",
|
||||
"version": "Versión",
|
||||
"unknown-version": "descoñecido",
|
||||
"sponsor": "Patrocinador"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Assets",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"new-asset": "New Asset",
|
||||
"assets": "Activos",
|
||||
"code": "Código",
|
||||
"file": "Ficheiro",
|
||||
"image": "Imaxe",
|
||||
"new-asset": "Novo documento",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recipe",
|
||||
"show-assets": "Show Assets",
|
||||
"error-submitting-form": "Error Submitting Form"
|
||||
"recipe": "Receita",
|
||||
"show-assets": "Amosar documentos",
|
||||
"error-submitting-form": "Erro ao enviar formulario"
|
||||
},
|
||||
"category": {
|
||||
"categories": "Categories",
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category Deleted",
|
||||
"category-deletion-failed": "Category deletion failed",
|
||||
"category-filter": "Category Filter",
|
||||
"category-update-failed": "Category update failed",
|
||||
"category-updated": "Category updated",
|
||||
"uncategorized-count": "Uncategorized {count}",
|
||||
"create-a-category": "Create a Category",
|
||||
"category-name": "Category Name",
|
||||
"category": "Category"
|
||||
"categories": "Categorías",
|
||||
"category-created": "Categoría creada",
|
||||
"category-creation-failed": "Fallou a creación da categoría",
|
||||
"category-deleted": "Categoría eliminada",
|
||||
"category-deletion-failed": "Fallou a eliminación da categoría",
|
||||
"category-filter": "Filtro de categoría",
|
||||
"category-update-failed": "Fallou a actualización da categoría",
|
||||
"category-updated": "Categoría actualizada",
|
||||
"uncategorized-count": "Sen categorizar {count}",
|
||||
"create-a-category": "Crear unha categoría",
|
||||
"category-name": "Nome da categoría",
|
||||
"category": "Categoría"
|
||||
},
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "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",
|
||||
"apprise-url": "URL de avisos",
|
||||
"database": "Base de datos",
|
||||
"delete-event": "Eliminar evento",
|
||||
"event-delete-confirmation": "Estás seguro de que queres eliminar este evento?",
|
||||
"event-deleted": "Evento eliminado",
|
||||
"event-updated": "Evento actualizado",
|
||||
"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",
|
||||
|
@ -108,56 +108,56 @@
|
|||
"general": "General",
|
||||
"get": "Get",
|
||||
"home": "Home",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Import",
|
||||
"image": "Imaxe",
|
||||
"image-upload-failed": "Fallou a subida da imaxe",
|
||||
"import": "Importar",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link-copied": "Link Copied",
|
||||
"loading": "Loading",
|
||||
"loading-events": "Loading Events",
|
||||
"loading-recipe": "Loading recipe...",
|
||||
"loading-ocr-data": "Loading OCR data...",
|
||||
"loading-recipes": "Loading Recipes",
|
||||
"message": "Message",
|
||||
"monday": "Monday",
|
||||
"name": "Name",
|
||||
"new": "New",
|
||||
"never": "Never",
|
||||
"no": "No",
|
||||
"no-recipe-found": "No Recipe Found",
|
||||
"keyword": "Palabra chave",
|
||||
"link-copied": "Enlace copiado",
|
||||
"loading": "Cargando",
|
||||
"loading-events": "Cargando eventos",
|
||||
"loading-recipe": "Cargando receita...",
|
||||
"loading-ocr-data": "Cargando información de OCR...",
|
||||
"loading-recipes": "Cargando receitas",
|
||||
"message": "Mensaxe",
|
||||
"monday": "Luns",
|
||||
"name": "Nome",
|
||||
"new": "Nova",
|
||||
"never": "Nunca",
|
||||
"no": "Non",
|
||||
"no-recipe-found": "Non se atopou ningunha receita",
|
||||
"ok": "OK",
|
||||
"options": "Options:",
|
||||
"plural-name": "Plural Name",
|
||||
"print": "Print",
|
||||
"print-preferences": "Print Preferences",
|
||||
"random": "Random",
|
||||
"rating": "Rating",
|
||||
"recent": "Recent",
|
||||
"recipe": "Recipe",
|
||||
"recipes": "Recipes",
|
||||
"rename-object": "Rename {0}",
|
||||
"reset": "Reset",
|
||||
"saturday": "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",
|
||||
"options": "Opcións:",
|
||||
"plural-name": "Nome plural",
|
||||
"print": "Imprimir",
|
||||
"print-preferences": "Preferencias de impresión",
|
||||
"random": "Ao chou",
|
||||
"rating": "Puntuación",
|
||||
"recent": "Recentes",
|
||||
"recipe": "Receita",
|
||||
"recipes": "Receitas",
|
||||
"rename-object": "Renomear {0}",
|
||||
"reset": "Restablecer",
|
||||
"saturday": "Sábado",
|
||||
"save": "Gardar",
|
||||
"settings": "Axustes",
|
||||
"share": "Compartir",
|
||||
"shuffle": "Barallar",
|
||||
"sort": "Ordenar",
|
||||
"sort-alphabetically": "Alfabético",
|
||||
"status": "Estado",
|
||||
"subject": "Asunto",
|
||||
"submit": "Enviar",
|
||||
"success-count": "Éxito: {count}",
|
||||
"sunday": "Domingo",
|
||||
"templates": "Modelos:",
|
||||
"test": "Probar",
|
||||
"themes": "Temas",
|
||||
"thursday": "Xoves",
|
||||
"token": "Identificador",
|
||||
"tuesday": "Martes",
|
||||
"type": "Tipo",
|
||||
"update": "Actualizar",
|
||||
"updated": "Updated",
|
||||
"upload": "Upload",
|
||||
"url": "URL",
|
||||
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Upload File",
|
||||
"created-on-date": "Created on: {0}",
|
||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Create a New Meal Plan",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Dinner This Week",
|
||||
"dinner-today": "Dinner Today",
|
||||
"dinner-tonight": "DINNER TONIGHT",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Add to Timeline",
|
||||
"recipe-added-to-list": "Recipe added to list",
|
||||
"recipes-added-to-list": "Recipes added to list",
|
||||
"successfully-added-to-list": "Successfully 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",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Yield",
|
||||
"quantity": "Quantity",
|
||||
"choose-unit": "Choose Unit",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "New recipe names must be unique",
|
||||
"scrape-recipe": "Scrape Recipe",
|
||||
"scrape-recipe-description": "Scrape a recipe by url. Provide the url for the site you want to scrape, and Mealie will attempt to scrape the recipe from that site and add it to your collection.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Import original keywords as tags",
|
||||
"stay-in-edit-mode": "Stay in Edit mode",
|
||||
"import-from-zip": "Import from Zip",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Unit",
|
||||
"upload-image": "Upload image",
|
||||
"screen-awake": "Keep Screen Awake",
|
||||
"remove-image": "Remove image"
|
||||
"remove-image": "Remove image",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Advanced Search",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Tags",
|
||||
"untagged-count": "Untagged {count}",
|
||||
"create-a-tag": "Create a Tag",
|
||||
"tag-name": "Tag Name"
|
||||
"tag-name": "Tag Name",
|
||||
"tag": "Etiqueta"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Tools",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"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": "Required Tools",
|
||||
"tool": "Ferramenta"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Admin",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Require All Tags",
|
||||
"require-all-tools": "Require All Tools",
|
||||
"cookbook-name": "Cookbook Name",
|
||||
"cookbook-with-name": "Cookbook {0}"
|
||||
"cookbook-with-name": "Cookbook {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "העלאת קבצים",
|
||||
"created-on-date": "נוצר ב-{0}",
|
||||
"unsaved-changes": "יש שינויים שלא נשמרו. לצאת לפני שמירה? אשר לשמירה, בטל למחיקת שינויים.",
|
||||
"clipboard-copy-failure": "כשלון בהעתקה ללוח ההדבקה."
|
||||
"clipboard-copy-failure": "כשלון בהעתקה ללוח ההדבקה.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "האם את/ה בטוח/ה שברצונך למחוק את <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "יצירת תכנית ארוחות חדשה",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "ארוחות ערב השבוע",
|
||||
"dinner-today": "ארוחת ערב היום",
|
||||
"dinner-tonight": "ארוחת ערב היום",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "הוסף לציר הזמן",
|
||||
"recipe-added-to-list": "מתכון נוסף לרשימה",
|
||||
"recipes-added-to-list": "מתכונים הוספו לרשימה",
|
||||
"successfully-added-to-list": "Successfully added to list",
|
||||
"recipe-added-to-mealplan": "מתכון נוסף לתכנון ארוחות",
|
||||
"failed-to-add-recipes-to-list": "כשלון בהוספת מתכון לרשימה",
|
||||
"failed-to-add-recipe-to-mealplan": "הוספת מתכון לתכנון ארוחות נכשלה",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "תשואה",
|
||||
"quantity": "כמות",
|
||||
"choose-unit": "בחירת יחידת מידה",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "שם מתכון חדש חייב להיות ייחודי",
|
||||
"scrape-recipe": "קריאת מתכון",
|
||||
"scrape-recipe-description": "קריאת מתכון בעזרת לינק. ספק את הלינק של האתר שברצונך לקרוא, ומילי תנסה לקרוא את המתכון מהאתר ולהוסיף אותו לאוסף.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "ייבא שמות מפתח מקוריות כתגיות",
|
||||
"stay-in-edit-mode": "השאר במצב עריכה",
|
||||
"import-from-zip": "ייבא מקובץ",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "יחידה",
|
||||
"upload-image": "העלה תמונה",
|
||||
"screen-awake": "השאר את המסך פעיל",
|
||||
"remove-image": "האם למחוק את התמונה?"
|
||||
"remove-image": "האם למחוק את התמונה?",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "חיפוש מתקדם",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "תגיות",
|
||||
"untagged-count": "לא מתוייג {count}",
|
||||
"create-a-tag": "צור תגית",
|
||||
"tag-name": "שם תגית"
|
||||
"tag-name": "שם תגית",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "כלים",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "שם כלי",
|
||||
"create-new-tool": "יצירת כלי חדש",
|
||||
"on-hand-checkbox-label": "הראה מה יש לי במטבח",
|
||||
"required-tools": "צריך כלים"
|
||||
"required-tools": "צריך כלים",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "אדמין",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "זקוק לכל התגיות",
|
||||
"require-all-tools": "זקוק לכל הכלים",
|
||||
"cookbook-name": "שם ספר בישול",
|
||||
"cookbook-with-name": "ספר בישול {0}"
|
||||
"cookbook-with-name": "ספר בישול {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Prenesi Datoteku",
|
||||
"created-on-date": "Kreirano dana: {0}",
|
||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Jeste li sigurni da želite izbrisati <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Kreirajte Novi Plan Obroka",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Večera Ove Sedmice",
|
||||
"dinner-today": "Večera Danas",
|
||||
"dinner-tonight": "VEČERA NOĆAS",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Add to Timeline",
|
||||
"recipe-added-to-list": "Recept je dodan na popis",
|
||||
"recipes-added-to-list": "Recipes added to list",
|
||||
"successfully-added-to-list": "Successfully 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",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Konačna Količina",
|
||||
"quantity": "Količina",
|
||||
"choose-unit": "Odaberi Jedinicu",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Naziv novog recepta mora imati jedinstveno ime",
|
||||
"scrape-recipe": "Prikupi (skraperaj) recept",
|
||||
"scrape-recipe-description": "Prikupi (skraperaj) recept putem URL-a. Priložite URL web stranice s koje želite prikupiti recept, a Mealie će pokušati prikupiti recept s te stranice i dodati ga u vašu kolekciju.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Uvezi originalne ključne riječi kao oznake",
|
||||
"stay-in-edit-mode": "Ostanite u načinu uređivanja",
|
||||
"import-from-zip": "Uvoz iz Zip-a",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Jedinica",
|
||||
"upload-image": "Učitavanje Slike",
|
||||
"screen-awake": "Keep Screen Awake",
|
||||
"remove-image": "Remove image"
|
||||
"remove-image": "Remove image",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Napredno Pretraživanje",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Oznake",
|
||||
"untagged-count": "Neoznačeno {count}",
|
||||
"create-a-tag": "Kreiraj Oznaku",
|
||||
"tag-name": "Naziv Oznake"
|
||||
"tag-name": "Naziv Oznake",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Alati",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Naziv Alata",
|
||||
"create-new-tool": "Kreiraj Novi Alat",
|
||||
"on-hand-checkbox-label": "Prikaži Alat Dostupnim (Označeno)",
|
||||
"required-tools": "Potrebni Alati"
|
||||
"required-tools": "Potrebni Alati",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Administrator",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Zahtijevaj sve oznake",
|
||||
"require-all-tools": "Zahtijevaj sve Alate",
|
||||
"cookbook-name": "Naziv Zbirke recepata",
|
||||
"cookbook-with-name": "ZbirkaRecepata {0}"
|
||||
"cookbook-with-name": "ZbirkaRecepata {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
"event-delete-confirmation": "Biztosan törölni szeretné ezt az eseményt?",
|
||||
"event-deleted": "Esemény törölve",
|
||||
"event-updated": "Esemény Frissítve",
|
||||
"new-notification-form-description": "A Mealie az Apprise könyvtárat használja az értesítésekhez. Számos lehetőséget kínál különbőző értesítési szolgáltatásokhoz. Nézd meg a wiki oldalukon, hogy kell URL-t létrehozni az általad használt szolgáltatáshoz. Az értesítés tipusának kiválasztásával egyéb beállítási lehetőségek jelenhetnek meg.",
|
||||
"new-notification-form-description": "A Mealie az Apprise könyvtárat használja az értesítésekhez. Számos lehetőséget kínál különböző értesítési szolgáltatásokhoz. Nézd meg a wiki oldalukon, hogy kell URL-t létrehozni az általad használt szolgáltatáshoz. Az értesítés típusának kiválasztásával egyéb beállítási lehetőségek jelenhetnek meg.",
|
||||
"new-version": "Új verzió elérhető!",
|
||||
"notification": "Értesítések",
|
||||
"refresh": "Frissítés",
|
||||
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Fájl feltöltése",
|
||||
"created-on-date": "Létrehozva: {0}",
|
||||
"unsaved-changes": "El nem mentett módosításai vannak. Szeretné elmenteni, mielőtt kilép? A mentéshez kattintson az Ok, a módosítások elvetéséhez a Mégsem gombra.",
|
||||
"clipboard-copy-failure": "Nem sikerült a vágólapra másolás."
|
||||
"clipboard-copy-failure": "Nem sikerült a vágólapra másolás.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Biztosan törölni szeretnéd ezt: <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Menüterv létrehozása",
|
||||
"update-this-meal-plan": "Frissítsd ezt a Menütervet",
|
||||
"dinner-this-week": "Vacsora ezen a héten",
|
||||
"dinner-today": "Vacsora ma",
|
||||
"dinner-tonight": "Vacsora ma",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Hozzáadás idővonalhoz",
|
||||
"recipe-added-to-list": "Recept hozzáadva listához",
|
||||
"recipes-added-to-list": "Recept hozzáadva listához",
|
||||
"successfully-added-to-list": "Sikeresen hozzáadva a listához",
|
||||
"recipe-added-to-mealplan": "Recept hozzáadva menütervhez",
|
||||
"failed-to-add-recipes-to-list": "Nem sikerült hozzáadni a receptet a listához",
|
||||
"failed-to-add-recipe-to-mealplan": "Nem sikerült hozzáadni a receptet a menütervhez",
|
||||
"failed-to-add-to-list": "Nem sikerült hozzáadni a listához",
|
||||
"yield": "Adag",
|
||||
"quantity": "Mennyiség",
|
||||
"choose-unit": "Válasszon mennyiségi egységet",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Az új recept nevének egyedinek kell lennie",
|
||||
"scrape-recipe": "Recept kinyerése",
|
||||
"scrape-recipe-description": "Recept (adatok) kinyerése Url alapján. Adja meg a beolvasni kívánt oldal Url-címét, és Mealie megpróbálja beolvasni a receptet az adott oldalról, majd hozzáadja azt gyűjteményéhez.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Sok receptje van, amit egyszerre szeretne átvenni?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Próbálja ki a tömeges importálót",
|
||||
"import-original-keywords-as-tags": "Eredeti kulcsszavak importálása címkeként",
|
||||
"stay-in-edit-mode": "Maradjon Szerkesztés módban",
|
||||
"import-from-zip": "Importálás ZIP-ből",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Mennyiségi egység",
|
||||
"upload-image": "Kép feltöltése",
|
||||
"screen-awake": "Képernyő ébren tartása",
|
||||
"remove-image": "Kép etávolítása"
|
||||
"remove-image": "Kép etávolítása",
|
||||
"nextStep": "Következő lépés"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Részletes keresés",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Címkék",
|
||||
"untagged-count": "Címkézetlen {count}",
|
||||
"create-a-tag": "Címke létrehozása",
|
||||
"tag-name": "Címke Neve"
|
||||
"tag-name": "Címke Neve",
|
||||
"tag": "Címke"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Eszközök",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Eszköz neve",
|
||||
"create-new-tool": "Új eszköz létrehozása",
|
||||
"on-hand-checkbox-label": "Készleten lévőnek mutatni (Ellenőrizve)",
|
||||
"required-tools": "Szükséges eszközök"
|
||||
"required-tools": "Szükséges eszközök",
|
||||
"tool": "Eszköz"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Adminisztrátor",
|
||||
|
@ -1146,7 +1155,7 @@
|
|||
"members-description": "Láthatja, hogy kik vannak a csoportjában, és kezelheti az ő jogosultságaikat.",
|
||||
"webhooks-description": "Állítson be webhookokat, amelyek azokon a napokon lépnek működésbe, amikorra a menüterveket ütemezte.",
|
||||
"notifiers": "Értesítések",
|
||||
"notifiers-description": "Setup email and push notifications that trigger on specific events.",
|
||||
"notifiers-description": "Állítson be olyan e-mail és push-értesítéseket, amelyek meghatározott események esetén lépnek működésbe.",
|
||||
"manage-data": "Adatok kezelése",
|
||||
"manage-data-description": "Alapanyagainak és mennyiségi egységeinek kezelése (további opciók hamarosan)",
|
||||
"data-migrations": "Adat migráció",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Minden címke szükséges",
|
||||
"require-all-tools": "Minden szükséges eszköz",
|
||||
"cookbook-name": "Szakácskönyv neve",
|
||||
"cookbook-with-name": "Szakácskönyv {0}"
|
||||
"cookbook-with-name": "Szakácskönyv {0}",
|
||||
"create-a-cookbook": "Szakácskönyv létrehozása",
|
||||
"cookbook": "Szakácskönyv"
|
||||
}
|
||||
}
|
||||
|
|
1193
frontend/lang/messages/is-IS.json
Normal file
1193
frontend/lang/messages/is-IS.json
Normal file
File diff suppressed because it is too large
Load diff
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Carica file",
|
||||
"created-on-date": "Creato il: {0}",
|
||||
"unsaved-changes": "Sono state apportate modifiche non salvate. Salvare prima di uscire? Premi Ok per salvare, Annulla per scartare le modifiche.",
|
||||
"clipboard-copy-failure": "Impossibile copiare negli appunti."
|
||||
"clipboard-copy-failure": "Impossibile copiare negli appunti.",
|
||||
"confirm-delete-generic-items": "Sei sicuro di voler eliminare i seguenti elementi?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Sei sicuro di volerlo eliminare <b>{groupName}<b/>'?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Crea un Nuovo Piano Alimentare",
|
||||
"update-this-meal-plan": "Aggiorna questo piano pasto",
|
||||
"dinner-this-week": "Cena Questa Settimana",
|
||||
"dinner-today": "Cena Oggi",
|
||||
"dinner-tonight": "CENA STASERA",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Aggiungi alla linea temporale",
|
||||
"recipe-added-to-list": "Ricetta aggiunta alla lista",
|
||||
"recipes-added-to-list": "Ricette aggiunte alla lista",
|
||||
"successfully-added-to-list": "Aggiunto correttamente alla lista",
|
||||
"recipe-added-to-mealplan": "Ricetta aggiunta al piano alimentare",
|
||||
"failed-to-add-recipes-to-list": "Impossibile aggiungere la ricetta alla lista",
|
||||
"failed-to-add-recipe-to-mealplan": "Impossibile aggiungere la ricetta al piano alimentare",
|
||||
"failed-to-add-to-list": "Errore durante l'aggiunta alla lista",
|
||||
"yield": "Porzioni",
|
||||
"quantity": "Quantità",
|
||||
"choose-unit": "Scegli Unità",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "I nuovi nomi delle ricette devono essere univoci",
|
||||
"scrape-recipe": "Recupera Ricetta",
|
||||
"scrape-recipe-description": "Recupera una ricetta da url. Fornire l'url per il sito che si desidera analizzare, e Mealie cercherà di recuperare la ricetta da quel sito e aggiungerlo alla vostra raccolta.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Hai un sacco di ricette che vuoi importare contemporaneamente?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Prova l'importatore massivo",
|
||||
"import-original-keywords-as-tags": "Importa parole chiave originali come tag",
|
||||
"stay-in-edit-mode": "Rimani in modalità Modifica",
|
||||
"import-from-zip": "Importa da Zip",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Unità",
|
||||
"upload-image": "Carica immagine",
|
||||
"screen-awake": "Mantieni lo schermo acceso",
|
||||
"remove-image": "Rimuovi immagine"
|
||||
"remove-image": "Rimuovi immagine",
|
||||
"nextStep": "Passo successivo"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Ricerca Avanzata",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Tag",
|
||||
"untagged-count": "Senza Tag {count}",
|
||||
"create-a-tag": "Crea un Tag",
|
||||
"tag-name": "Nome del Tag"
|
||||
"tag-name": "Nome del Tag",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Strumenti",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Nome dell'Utensile",
|
||||
"create-new-tool": "Crea un Nuovo Utensile",
|
||||
"on-hand-checkbox-label": "Mostra come Disponibile (Spuntato)",
|
||||
"required-tools": "Strumenti necessari"
|
||||
"required-tools": "Strumenti necessari",
|
||||
"tool": "Strumento"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Amministratore",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Richiedi Tutti I Tag",
|
||||
"require-all-tools": "Richiedi Tutti Gli Strumenti",
|
||||
"cookbook-name": "Nome Ricettario",
|
||||
"cookbook-with-name": "Ricettario {0}"
|
||||
"cookbook-with-name": "Ricettario {0}",
|
||||
"create-a-cookbook": "Crea un libro di cucina",
|
||||
"cookbook": "Libro di cucina"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "ファイルのアップロード",
|
||||
"created-on-date": "Created on: {0}",
|
||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "<b>{groupName}<b/> を削除しますか?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Create a New Meal Plan",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "今週の夕食",
|
||||
"dinner-today": "今日の夕食",
|
||||
"dinner-tonight": "今夜の夕食",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Add to Timeline",
|
||||
"recipe-added-to-list": "Recipe added to list",
|
||||
"recipes-added-to-list": "Recipes added to list",
|
||||
"successfully-added-to-list": "Successfully 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": "レシピを献立に追加する事に失敗しました。",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Yield",
|
||||
"quantity": "Quantity",
|
||||
"choose-unit": "Choose Unit",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "New recipe names must be unique",
|
||||
"scrape-recipe": "Scrape Recipe",
|
||||
"scrape-recipe-description": "Scrape a recipe by url. Provide the url for the site you want to scrape, and Mealie will attempt to scrape the recipe from that site and add it to your collection.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Import original keywords as tags",
|
||||
"stay-in-edit-mode": "Stay in Edit mode",
|
||||
"import-from-zip": "Import from Zip",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Unit",
|
||||
"upload-image": "Upload image",
|
||||
"screen-awake": "Keep Screen Awake",
|
||||
"remove-image": "Remove image"
|
||||
"remove-image": "Remove image",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Advanced Search",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Tags",
|
||||
"untagged-count": "Untagged {count}",
|
||||
"create-a-tag": "Create a Tag",
|
||||
"tag-name": "Tag Name"
|
||||
"tag-name": "Tag Name",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Tools",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"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": "Required Tools",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Admin",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Require All Tags",
|
||||
"require-all-tools": "Require All Tools",
|
||||
"cookbook-name": "Cookbook Name",
|
||||
"cookbook-with-name": "Cookbook {0}"
|
||||
"cookbook-with-name": "Cookbook {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Upload File",
|
||||
"created-on-date": "Created on: {0}",
|
||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Create a New Meal Plan",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Dinner This Week",
|
||||
"dinner-today": "Dinner Today",
|
||||
"dinner-tonight": "DINNER TONIGHT",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Add to Timeline",
|
||||
"recipe-added-to-list": "Recipe added to list",
|
||||
"recipes-added-to-list": "Recipes added to list",
|
||||
"successfully-added-to-list": "Successfully 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",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Yield",
|
||||
"quantity": "Quantity",
|
||||
"choose-unit": "Choose Unit",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "New recipe names must be unique",
|
||||
"scrape-recipe": "Scrape Recipe",
|
||||
"scrape-recipe-description": "Scrape a recipe by url. Provide the url for the site you want to scrape, and Mealie will attempt to scrape the recipe from that site and add it to your collection.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Import original keywords as tags",
|
||||
"stay-in-edit-mode": "Stay in Edit mode",
|
||||
"import-from-zip": "Import from Zip",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Unit",
|
||||
"upload-image": "Upload image",
|
||||
"screen-awake": "Keep Screen Awake",
|
||||
"remove-image": "Remove image"
|
||||
"remove-image": "Remove image",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Advanced Search",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Tags",
|
||||
"untagged-count": "Untagged {count}",
|
||||
"create-a-tag": "Create a Tag",
|
||||
"tag-name": "Tag Name"
|
||||
"tag-name": "Tag Name",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Tools",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"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": "Required Tools",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Admin",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Require All Tags",
|
||||
"require-all-tools": "Require All Tools",
|
||||
"cookbook-name": "Cookbook Name",
|
||||
"cookbook-with-name": "Cookbook {0}"
|
||||
"cookbook-with-name": "Cookbook {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Įkelti failą",
|
||||
"created-on-date": "Sukurta: {0}",
|
||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Ar tikrai norite ištrinti <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Sukurti naują mitybos planą",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Šios savaitės vakarienė",
|
||||
"dinner-today": "Šiandienos vakarienė",
|
||||
"dinner-tonight": "VAKARIENĖ ŠIANDIEN",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Add to Timeline",
|
||||
"recipe-added-to-list": "Recepts pridėtas į sąrašą",
|
||||
"recipes-added-to-list": "Recipes added to list",
|
||||
"successfully-added-to-list": "Successfully 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",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Išeiga",
|
||||
"quantity": "Kiekis",
|
||||
"choose-unit": "Pasirinkite vienetą",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Naujo recepto pavadinimas turi būti unikalus",
|
||||
"scrape-recipe": "Nuskaityti receptą",
|
||||
"scrape-recipe-description": "Nuskaityti receptą iš URL nuorodos. Pateikite recepto nuorodą, ir Mealie pabandys paimti recepto informaciją iš šios svetainės ir patalpinti ją jūsų kolekcijoje.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Įkelti pradinius raktažodžius kaip žymas",
|
||||
"stay-in-edit-mode": "Toliau redaguoti",
|
||||
"import-from-zip": "Įkelti iš .ZIP archyvo",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Vienetas",
|
||||
"upload-image": "Įkelti nuotrauką",
|
||||
"screen-awake": "Keep Screen Awake",
|
||||
"remove-image": "Remove image"
|
||||
"remove-image": "Remove image",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Išplėstinė paieška",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Žymos",
|
||||
"untagged-count": "Nepažymėtų {count}",
|
||||
"create-a-tag": "Kurti žymą",
|
||||
"tag-name": "Žymos pavadinimas"
|
||||
"tag-name": "Žymos pavadinimas",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Įrankiai",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Įrankio pavadinimas",
|
||||
"create-new-tool": "Pridėti naują įrankį",
|
||||
"on-hand-checkbox-label": "Rodyti kaip turimą virtuvėje",
|
||||
"required-tools": "Reikalingi įrankiai"
|
||||
"required-tools": "Reikalingi įrankiai",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Administratorius",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Būtinos visos žymos",
|
||||
"require-all-tools": "Būtini visi įrankiai",
|
||||
"cookbook-name": "Receptų knygos pavadinimas",
|
||||
"cookbook-with-name": "Receptų knyga {0}"
|
||||
"cookbook-with-name": "Receptų knyga {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Upload File",
|
||||
"created-on-date": "Created on: {0}",
|
||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Create a New Meal Plan",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Dinner This Week",
|
||||
"dinner-today": "Dinner Today",
|
||||
"dinner-tonight": "DINNER TONIGHT",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Add to Timeline",
|
||||
"recipe-added-to-list": "Recipe added to list",
|
||||
"recipes-added-to-list": "Recipes added to list",
|
||||
"successfully-added-to-list": "Successfully 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",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Yield",
|
||||
"quantity": "Quantity",
|
||||
"choose-unit": "Choose Unit",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "New recipe names must be unique",
|
||||
"scrape-recipe": "Scrape Recipe",
|
||||
"scrape-recipe-description": "Scrape a recipe by url. Provide the url for the site you want to scrape, and Mealie will attempt to scrape the recipe from that site and add it to your collection.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Import original keywords as tags",
|
||||
"stay-in-edit-mode": "Stay in Edit mode",
|
||||
"import-from-zip": "Import from Zip",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Unit",
|
||||
"upload-image": "Upload image",
|
||||
"screen-awake": "Keep Screen Awake",
|
||||
"remove-image": "Remove image"
|
||||
"remove-image": "Remove image",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Advanced Search",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Tags",
|
||||
"untagged-count": "Untagged {count}",
|
||||
"create-a-tag": "Create a Tag",
|
||||
"tag-name": "Tag Name"
|
||||
"tag-name": "Tag Name",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Tools",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"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": "Required Tools",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Admin",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Require All Tags",
|
||||
"require-all-tools": "Require All Tools",
|
||||
"cookbook-name": "Cookbook Name",
|
||||
"cookbook-with-name": "Cookbook {0}"
|
||||
"cookbook-with-name": "Cookbook {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Gebeurtenis verwijderen",
|
||||
"event-delete-confirmation": "Weet je zeker dat je deze gebeurtenis wil verwijderen?",
|
||||
"event-delete-confirmation": "Weet je zeker dat je deze gebeurtenis wilt verwijderen?",
|
||||
"event-deleted": "Gebeurtenis verwijderd",
|
||||
"event-updated": "Gebeurtenis bijgewerkt",
|
||||
"new-notification-form-description": "Mealie gebruikt de notificatieservices van Apprise om notificaties te genereren. Apprise biedt diverse services aan om notificaties te versturen. Raadpleeg hun wiki voor een uitgebreide handleiding over het creëren van een link voor je service. Afhankelijk van de gekozen service zijn er mogelijk extra functionaliteiten beschikbaar.",
|
||||
|
@ -84,7 +84,7 @@
|
|||
"clear": "Wissen",
|
||||
"close": "Sluiten",
|
||||
"confirm": "Bevestigen",
|
||||
"confirm-delete-generic": "Weet je zeker dat je dit wil verwijderen?",
|
||||
"confirm-delete-generic": "Weet je zeker dat je dit wilt verwijderen?",
|
||||
"copied_message": "Gekopieerd!",
|
||||
"create": "Aanmaken",
|
||||
"created": "Aangemaakt op",
|
||||
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Bestand uploaden",
|
||||
"created-on-date": "Gemaakt op {0}",
|
||||
"unsaved-changes": "Er zijn niet-opgeslagen wijzigingen. Wil je eerst opslaan voordat je vertrekt? Okay om op te slaan, Annuleren om wijzigingen ongedaan te maken.",
|
||||
"clipboard-copy-failure": "Kopiëren naar klembord mislukt."
|
||||
"clipboard-copy-failure": "Kopiëren naar klembord mislukt.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Weet je zeker dat je <b>{groupName}<b/> wil verwijderen?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Maak een nieuw maaltijdplan",
|
||||
"update-this-meal-plan": "Werk dit Maaltijdplan bij",
|
||||
"dinner-this-week": "Het diner deze week",
|
||||
"dinner-today": "Het diner vandaag",
|
||||
"dinner-tonight": "DINER VOOR DEZE AVOND",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Aan tijdlijn toevoegen",
|
||||
"recipe-added-to-list": "Recept toegevoegd aan de lijst",
|
||||
"recipes-added-to-list": "Recept toegevoegd aan de lijst",
|
||||
"successfully-added-to-list": "Succesvol 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",
|
||||
"failed-to-add-to-list": "Toevoegen aan lijst mislukt",
|
||||
"yield": "Resultaat",
|
||||
"quantity": "Hoeveelheid",
|
||||
"choose-unit": "Kies een eenheid",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Nieuwe receptnamen moeten uniek zijn",
|
||||
"scrape-recipe": "Scrape recept",
|
||||
"scrape-recipe-description": "Voeg een recept toe via een url. Geef de url op van de site welke je wil scannen voor een recept., en Mealie zal proberen het recept vanaf die plek te scannen en aan je collectie toe te voegen.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Heb je veel recepten die je in 1 keer wil importeren?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Probeer de bulk importer uit",
|
||||
"import-original-keywords-as-tags": "Importeer oorspronkelijke trefwoorden als tags",
|
||||
"stay-in-edit-mode": "Blijf in bewerkingsmodus",
|
||||
"import-from-zip": "Importeren uit zip",
|
||||
|
@ -554,8 +560,9 @@
|
|||
"recipe-yield": "Recept Opbrengst",
|
||||
"unit": "Eenheid",
|
||||
"upload-image": "Afbeelding uploaden",
|
||||
"screen-awake": "Scherm laten aan staan",
|
||||
"remove-image": "Afbeelding verwijderen"
|
||||
"screen-awake": "Scherm aan laten staan",
|
||||
"remove-image": "Afbeelding verwijderen",
|
||||
"nextStep": "Volgende stap"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Geavanceerd zoeken",
|
||||
|
@ -730,7 +737,7 @@
|
|||
"shopping-lists": "Boodschappenlijsten",
|
||||
"food": "Voedsel",
|
||||
"note": "Notitie",
|
||||
"label": "Etiket",
|
||||
"label": "Label",
|
||||
"linked-item-warning": "Dit element is gekoppeld aan een of meer recepten. Het aanpassen van de eenheden of ingrediënten zal onverwachte resultaten opleveren bij het toevoegen of verwijderen van het recept uit deze lijst.",
|
||||
"toggle-food": "Voedsel schakelen",
|
||||
"manage-labels": "Labels beheren",
|
||||
|
@ -740,10 +747,10 @@
|
|||
"delete-checked": "Selectie verwijderen",
|
||||
"toggle-label-sort": "Label sortering in-/uitschakelen",
|
||||
"reorder-labels": "Labels opnieuw indelen",
|
||||
"uncheck-all-items": "Deselecteer alle Items",
|
||||
"check-all-items": "Alle producten controleren",
|
||||
"uncheck-all-items": "Deselecteer alle items",
|
||||
"check-all-items": "Selecteer alle items",
|
||||
"linked-recipes-count": "Geen Gelinkte Recepten Eén Gekoppeld Recept{count} Gekoppelde Recepten",
|
||||
"items-checked-count": "Geen items aangevinkt, Eén item gecontroleerd{count} items gecontroleerd",
|
||||
"items-checked-count": "Geen items geselecteerd|Eén item geselecteerd|{count} items geselecteerd",
|
||||
"no-label": "Geen label",
|
||||
"completed-on": "Afgemaakt op {date}"
|
||||
},
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Labels",
|
||||
"untagged-count": "Niet gelabeld {count}",
|
||||
"create-a-tag": "Maak een nieuw label aan",
|
||||
"tag-name": "Labelnaam"
|
||||
"tag-name": "Labelnaam",
|
||||
"tag": "Label"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Keukengerei",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Naam van het keukengerei",
|
||||
"create-new-tool": "Nieuw keukengerei aanmaken",
|
||||
"on-hand-checkbox-label": "Tonen als in bezit (gemarkeerd)",
|
||||
"required-tools": "Benodig kookgerei"
|
||||
"required-tools": "Benodig kookgerei",
|
||||
"tool": "Keukengerei"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Beheerder",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Vereis alle tags",
|
||||
"require-all-tools": "Vereis al het kookgerei",
|
||||
"cookbook-name": "Naam van het kookboek",
|
||||
"cookbook-with-name": "Kookboek {0}"
|
||||
"cookbook-with-name": "Kookboek {0}",
|
||||
"create-a-cookbook": "Maak een kookboek",
|
||||
"cookbook": "Kookboek"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Last opp fil",
|
||||
"created-on-date": "Opprettet: {0}",
|
||||
"unsaved-changes": "Du har ulagrede endringer. Ønsker du å lagre før du forlater? Trykk 'OK' for å lagre, 'Avbryt' for å forkaste endringene.",
|
||||
"clipboard-copy-failure": "Kunne ikke kopiere til utklippstavlen."
|
||||
"clipboard-copy-failure": "Kunne ikke kopiere til utklippstavlen.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Er du sikker på at du vil slette <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Opprett en ny måltidsplan",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Middag denne uken",
|
||||
"dinner-today": "Middag idag",
|
||||
"dinner-tonight": "DAGENS MIDDAG",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Legg til tidslinje",
|
||||
"recipe-added-to-list": "Oppskrift er lagt til i liste",
|
||||
"recipes-added-to-list": "Oppskrifter lagt til listen",
|
||||
"successfully-added-to-list": "Successfully added to list",
|
||||
"recipe-added-to-mealplan": "Oppskrift er lagt til i måltidsplan",
|
||||
"failed-to-add-recipes-to-list": "Klarte ikke å legge til oppskrift i listen",
|
||||
"failed-to-add-recipe-to-mealplan": "Klarte ikke å legge til oppskrift i måltidsplan",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Gir",
|
||||
"quantity": "Antall",
|
||||
"choose-unit": "Velg enhet",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Navn på oppskrift må være unike",
|
||||
"scrape-recipe": "Skrap oppskrift",
|
||||
"scrape-recipe-description": "Skrap en oppskrift ved bruk av nettadresse. Oppgi nettadressen til nettstedet du vil skrape, så vil Mealie forsøke å skrape oppskriften fra den siden og legge den til i samlingen din.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Importer originale søkeord som emneord",
|
||||
"stay-in-edit-mode": "Forbli i redigeringsmodus",
|
||||
"import-from-zip": "Importer fra zip-fil",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Enhet",
|
||||
"upload-image": "Last opp bilde",
|
||||
"screen-awake": "Hold skjermen på",
|
||||
"remove-image": "Slett bilde"
|
||||
"remove-image": "Slett bilde",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Avansert søk",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Emneord",
|
||||
"untagged-count": "Umerkede {count}",
|
||||
"create-a-tag": "Opprett et emneord",
|
||||
"tag-name": "Navn på emneord"
|
||||
"tag-name": "Navn på emneord",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Kjøkkenredskap",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Navn på kjøkkenredskap",
|
||||
"create-new-tool": "Opprett nytt kjøkkenredskap",
|
||||
"on-hand-checkbox-label": "Vis som tilgjengelig (avmerket)",
|
||||
"required-tools": "Påkrevde kjøkkenredskaper"
|
||||
"required-tools": "Påkrevde kjøkkenredskaper",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Administrator",
|
||||
|
@ -971,7 +980,7 @@
|
|||
"seed-data": "Tilføringsdata",
|
||||
"seed": "Tilfør",
|
||||
"data-management": "Databehandling",
|
||||
"data-management-description": "Velg hvilke data du vil gjøre endringer på.",
|
||||
"data-management-description": "Velg hvilke data du vil endre.",
|
||||
"select-data": "Velg data",
|
||||
"select-language": "Velg språk",
|
||||
"columns": "Kolonner",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Krev alle emneord",
|
||||
"require-all-tools": "Krev alle kjøkkenredskaper",
|
||||
"cookbook-name": "Navn på kokebok",
|
||||
"cookbook-with-name": "Kokebok {0}"
|
||||
"cookbook-with-name": "Kokebok {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -117,7 +117,7 @@
|
|||
"loading": "Ładowanie",
|
||||
"loading-events": "Ładowanie wydarzeń",
|
||||
"loading-recipe": "Ładowanie przepisów...",
|
||||
"loading-ocr-data": "Loading OCR data...",
|
||||
"loading-ocr-data": "Wczytywanie danych OCR...",
|
||||
"loading-recipes": "Ładowanie przepisów",
|
||||
"message": "Wiadomość",
|
||||
"monday": "Poniedziałek",
|
||||
|
@ -198,8 +198,9 @@
|
|||
"refresh": "Odśwież",
|
||||
"upload-file": "Prześlij plik",
|
||||
"created-on-date": "Utworzono dnia: {0}",
|
||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"unsaved-changes": "Masz niezapisane zmiany. Czy chcesz zapisać przed wyjściem? Ok, aby zapisać, Anuluj, żeby odrzucić zmiany.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Czy na pewno chcesz usunąć <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Utwórz nowy plan posiłku",
|
||||
"update-this-meal-plan": "Zaktualizuj plan posiłku",
|
||||
"dinner-this-week": "Obiad w tym tygodniu",
|
||||
"dinner-today": "Obiad dziś",
|
||||
"dinner-tonight": "OBIAD DZIŚ",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Dodaj do osi czasu",
|
||||
"recipe-added-to-list": "Przepis dodany do listy",
|
||||
"recipes-added-to-list": "Przepisy dodane do listy",
|
||||
"successfully-added-to-list": "Pomyślnie dodano do listy",
|
||||
"recipe-added-to-mealplan": "Przepis dodany do planu posiłków",
|
||||
"failed-to-add-recipes-to-list": "Nie udało się dodać przepisu do listy",
|
||||
"failed-to-add-recipe-to-mealplan": "Nie udało się dodać przepisu do planu posiłków",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Wydajność",
|
||||
"quantity": "Ilość",
|
||||
"choose-unit": "Wybierz jednostkę",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Nazwa przepisu musi być unikalna",
|
||||
"scrape-recipe": "Scrapuj Przepis",
|
||||
"scrape-recipe-description": "Wczytaj przepis przez URL. Podaj adres URL witryny z przepisem, który chcesz wczytać, a Mealie spróbuje wyodrębnić przepis z tej strony i dodać go do kolekcji.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Importuj oryginalne słowa kluczowe jako tagi",
|
||||
"stay-in-edit-mode": "Pozostań w trybie edycji",
|
||||
"import-from-zip": "Importuj z pliku Zip",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Jednostka",
|
||||
"upload-image": "Prześlij obraz",
|
||||
"screen-awake": "Pozostaw ekran włączony",
|
||||
"remove-image": "Usuń obraz"
|
||||
"remove-image": "Usuń obraz",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Wyszukiwanie zaawansowane",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Tagi",
|
||||
"untagged-count": "{count} bez etykiety",
|
||||
"create-a-tag": "Utwórz znacznik",
|
||||
"tag-name": "Nazwa znacznika"
|
||||
"tag-name": "Nazwa znacznika",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Narzędzia",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Nazwa narzędzia",
|
||||
"create-new-tool": "Utwórz nowe narzędzie",
|
||||
"on-hand-checkbox-label": "Pokaż jako Posiadane (Zaznaczono)",
|
||||
"required-tools": "Wymagane Narzędzia"
|
||||
"required-tools": "Wymagane Narzędzia",
|
||||
"tool": "Narzędzie"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Administrator",
|
||||
|
@ -936,7 +945,7 @@
|
|||
"fraction": "Ułamki",
|
||||
"example-unit-singular": "np. Łyżka stołowa",
|
||||
"example-unit-plural": "np. Łyżki stołowe",
|
||||
"example-unit-abbreviation-singular": "ex: Tbsp",
|
||||
"example-unit-abbreviation-singular": "na przykład: Łyżka stołowa",
|
||||
"example-unit-abbreviation-plural": "ex: Tbsps"
|
||||
},
|
||||
"labels": {
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Wymagaj wszystkich tagów",
|
||||
"require-all-tools": "Wymagaj wszystkich narzędzi",
|
||||
"cookbook-name": "Nazwa książki kucharskiej",
|
||||
"cookbook-with-name": "Książka kucharska {0}"
|
||||
"cookbook-with-name": "Książka kucharska {0}",
|
||||
"create-a-cookbook": "Utwórz nową książkę kucharską",
|
||||
"cookbook": "Książka kucharska"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Enviar arquivo",
|
||||
"created-on-date": "Criado em {0}",
|
||||
"unsaved-changes": "Você possui alterações não salvas. Deseja salvar antes de sair? Ok para salvar, Cancelar para descartar alterações.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Tem certeza que deseja excluir o grupo <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Criar um novo plano de refeições",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Jantar desta semana",
|
||||
"dinner-today": "Jantar de hoje",
|
||||
"dinner-tonight": "JANTAR DE HOJE À NOITE",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Adicionar à linha do tempo",
|
||||
"recipe-added-to-list": "Receita adicionada à lista",
|
||||
"recipes-added-to-list": "Receitas adicionadas à lista",
|
||||
"successfully-added-to-list": "Successfully added to list",
|
||||
"recipe-added-to-mealplan": "Receita adicionada ao plano de refeições",
|
||||
"failed-to-add-recipes-to-list": "Falha ao adicionar receita à lista",
|
||||
"failed-to-add-recipe-to-mealplan": "Falha ao adicionar a receita ao plano de refeições",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Rendimento",
|
||||
"quantity": "Quantidade",
|
||||
"choose-unit": "Escolher unidades",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Novos nomes de receitas devem ser únicos",
|
||||
"scrape-recipe": "Extrair receita do site",
|
||||
"scrape-recipe-description": "Scrape uma receita por url. Forneça o Url para o site que você deseja scrape, e Mealie tentará raspar a receita desse site e adicioná-la à sua coleção.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Importar palavras-chave originais como marcadores",
|
||||
"stay-in-edit-mode": "Permanecer no modo de edição",
|
||||
"import-from-zip": "Importar do .zip",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Unidade",
|
||||
"upload-image": "Enviar imagem",
|
||||
"screen-awake": "Manter a tela ligada",
|
||||
"remove-image": "Remover imagem"
|
||||
"remove-image": "Remover imagem",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Pesquisa avançada",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Marcadores",
|
||||
"untagged-count": "{count} sem marcador",
|
||||
"create-a-tag": "Criar um marcador",
|
||||
"tag-name": "Nome do Marcador"
|
||||
"tag-name": "Nome do Marcador",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Ferramentas",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Nome da ferramenta",
|
||||
"create-new-tool": "Criar Ferramenta",
|
||||
"on-hand-checkbox-label": "Mostrar como disponível (checado)",
|
||||
"required-tools": "Ferramentas necessárias"
|
||||
"required-tools": "Ferramentas necessárias",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Administrador",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Exigir todos os marcadores",
|
||||
"require-all-tools": "Exigir todas as ferramentas",
|
||||
"cookbook-name": "Nome do Livro de Receitas",
|
||||
"cookbook-with-name": "Livro de Receitas {0}"
|
||||
"cookbook-with-name": "Livro de Receitas {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Carregar ficheiro",
|
||||
"created-on-date": "Criado em: {0}",
|
||||
"unsaved-changes": "Tem alterações por gravar. Quer gravar antes de sair? OK para gravar, Cancelar para descartar alterações.",
|
||||
"clipboard-copy-failure": "Erro ao copiar para a área de transferência."
|
||||
"clipboard-copy-failure": "Erro ao copiar para a área de transferência.",
|
||||
"confirm-delete-generic-items": "Tem a certeza de que deseja eliminar os seguintes itens?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Tem a certeza que quer eliminar <b>{groupName}</b>?",
|
||||
|
@ -238,7 +239,7 @@
|
|||
"allow-users-outside-of-your-group-to-see-your-recipes": "Permitir que utilizadores externos ao seu grupo vejam as suas receitas",
|
||||
"allow-users-outside-of-your-group-to-see-your-recipes-description": "Quando ativado, poderá usar um link público para partilhar receitas específicas sem autorizar o utilizador. Quando desativado, só poderá partilhar receitas com utilizadores do seu grupo ou com um link privado gerado previamente",
|
||||
"show-nutrition-information": "Mostrar informações nutricionais",
|
||||
"show-nutrition-information-description": "Quando ativado, a informação nutricional será exibida na receita, se disponível. Se não houver informação nutricional disponível, está não será exibida",
|
||||
"show-nutrition-information-description": "Quando ativado, a informação nutricional será exibida na receita, se disponível. Se não houver informação nutricional disponível, esta não será exibida",
|
||||
"show-recipe-assets": "Mostrar recursos da receita",
|
||||
"show-recipe-assets-description": "Quando ativado, os recursos da receita serão mostrados na receita, se disponíveis",
|
||||
"default-to-landscape-view": "Padrão para visualização em paisagem",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Criar novo Plano de Refeições",
|
||||
"update-this-meal-plan": "Atualizar este plano de refeição",
|
||||
"dinner-this-week": "Jantar esta semana",
|
||||
"dinner-today": "Jantar Hoje",
|
||||
"dinner-tonight": "JANTAR HOJE",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Adicionar à Linha Temporal",
|
||||
"recipe-added-to-list": "Receita adicionada à lista",
|
||||
"recipes-added-to-list": "Receitas adicionadas à lista",
|
||||
"successfully-added-to-list": "Adicionado à lista com sucesso",
|
||||
"recipe-added-to-mealplan": "Receita adicionada ao plano de refeições",
|
||||
"failed-to-add-recipes-to-list": "Erro ao adicionar a receita à lista",
|
||||
"failed-to-add-recipe-to-mealplan": "Erro ao adicionar receita ao plano de refeições",
|
||||
"failed-to-add-to-list": "Erro ao adicionar à lista",
|
||||
"yield": "Rendimento",
|
||||
"quantity": "Quantidade",
|
||||
"choose-unit": "Escolha uma unidade",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Os nomes de receitas devem ser únicos",
|
||||
"scrape-recipe": "Obter receita da Web (Scrape)",
|
||||
"scrape-recipe-description": "Fazer scrape a receita por URL. Indique o URL da página a que quer fazer scrape e o Mealie tentará obter a receita dessa página e adicioná-la à sua coleção.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Tem muitas receitas para processar em simultâneo?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Experimente o importador em massa",
|
||||
"import-original-keywords-as-tags": "Importar palavras-chave originais como etiquetas",
|
||||
"stay-in-edit-mode": "Permanecer no modo de edição",
|
||||
"import-from-zip": "Importar de Zip",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Unidade",
|
||||
"upload-image": "Carregar imagem",
|
||||
"screen-awake": "Manter ecrã ligado",
|
||||
"remove-image": "Remover imagem"
|
||||
"remove-image": "Remover imagem",
|
||||
"nextStep": "Próximo passo"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Pesquisa Avançada",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Etiquetas",
|
||||
"untagged-count": "Sem etiqueta {count}",
|
||||
"create-a-tag": "Criar uma Etiqueta",
|
||||
"tag-name": "Nome da Etiqueta"
|
||||
"tag-name": "Nome da Etiqueta",
|
||||
"tag": "Etiqueta"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Utensílios",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Nome do Utensílio",
|
||||
"create-new-tool": "Criar Utensílio",
|
||||
"on-hand-checkbox-label": "Mostrar como À Mão (Verificado)",
|
||||
"required-tools": "Utensílios Necessários"
|
||||
"required-tools": "Utensílios Necessários",
|
||||
"tool": "Utensílio"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Administrador",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Requer todas as etiquetas",
|
||||
"require-all-tools": "Requer todas os utensílios",
|
||||
"cookbook-name": "Nome do Livro de Receitas",
|
||||
"cookbook-with-name": "Livro de Receitas {0}"
|
||||
"cookbook-with-name": "Livro de Receitas {0}",
|
||||
"create-a-cookbook": "Criar um Livro de Receitas",
|
||||
"cookbook": "Livro de Receitas"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Încărcă fișier",
|
||||
"created-on-date": "Creat pe {0}",
|
||||
"unsaved-changes": "Aveți modificări nesalvate. Doriți să salvați înainte de a închide aplicația? Apăsați \"OK\" pentru a salva sau \"Anulare\" pentru a renunța la modificări.",
|
||||
"clipboard-copy-failure": "Copierea în clipboard a eșuat."
|
||||
"clipboard-copy-failure": "Copierea în clipboard a eșuat.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Sunteți sigur că doriți să ștergeți <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Creează un nou plan de mase",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Cină săptămâna aceasta",
|
||||
"dinner-today": "Cină astăzi",
|
||||
"dinner-tonight": "CINĂ ÎN SEARA ACEASTA",
|
||||
|
@ -369,49 +371,49 @@
|
|||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Trebuie să fie o adresă URL validă",
|
||||
"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",
|
||||
"recipe-markup-specification": "Specificație Markup rețetă",
|
||||
"recipe-url": "URL rețetă",
|
||||
"upload-a-recipe": "Încarcă o rețetă",
|
||||
"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": "Copiază și lipește un link de pe site-ul tău web preferat de rețete",
|
||||
"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": "Importă rețetă prin URL",
|
||||
"create-manually": "Creează o rețetă manual",
|
||||
"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",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
"page-deleted": "Page deleted",
|
||||
"page-deletion-failed": "Page deletion failed",
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"404-not-found": "404 Not Found",
|
||||
"an-error-occurred": "An error occurred"
|
||||
"404-page-not-found": "404 Pagina nu a fost găsită",
|
||||
"all-recipes": "Toate rețetele",
|
||||
"new-page-created": "Pagină nouă creată",
|
||||
"page": "Pagină",
|
||||
"page-creation-failed": "Crearea paginii a eșuat",
|
||||
"page-deleted": "Pagină ștearsă",
|
||||
"page-deletion-failed": "Ștergerea paginii a eșuat",
|
||||
"page-update-failed": "Actualizarea paginii a eșuat",
|
||||
"page-updated": "Pagina a fost actualizată",
|
||||
"pages-update-failed": "Actualizarea paginilor a eșuat",
|
||||
"pages-updated": "Pagini actualizate",
|
||||
"404-not-found": "404 Pagina nu a fost gasita",
|
||||
"an-error-occurred": "A intervenit o eroare"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"add-key": "Adăugați cheia",
|
||||
"add-to-favorites": "Adaugă la Favorite",
|
||||
"api-extras": "API Extras",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
"categories": "Categories",
|
||||
"comment-action": "Comment",
|
||||
"comment": "Comment",
|
||||
"calories": "Calorii",
|
||||
"calories-suffix": "calorii",
|
||||
"carbohydrate-content": "Carbohidrat",
|
||||
"categories": "Categorii",
|
||||
"comment-action": "Comentariu",
|
||||
"comment": "Comentariu",
|
||||
"comments": "Comentarii",
|
||||
"delete-confirmation": "Sunteți sigur că doriți să ștergeți această rețetă?",
|
||||
"delete-recipe": "Șterge rețeta",
|
||||
"description": "Descriere",
|
||||
"disable-amount": "Disable Ingredient Amounts",
|
||||
"disable-amount": "Dezactivați cantitățile Ingredientelor",
|
||||
"disable-comments": "Dezactivează comentariile",
|
||||
"duplicate": "Reţeta duplicată",
|
||||
"duplicate-name": "Denumirea noii rețete",
|
||||
|
@ -421,7 +423,7 @@
|
|||
"grams": "grame",
|
||||
"ingredient": "Ingredient",
|
||||
"ingredients": "Ingrediente",
|
||||
"insert-ingredient": "Insert Ingredient",
|
||||
"insert-ingredient": "Inserați Ingredientul",
|
||||
"insert-section": "Adăugare secțiune",
|
||||
"instructions": "Instrucțiuni",
|
||||
"key-name-required": "Numele cheii este necesar",
|
||||
|
@ -472,14 +474,16 @@
|
|||
"add-to-timeline": "Adaugă la Cronologie",
|
||||
"recipe-added-to-list": "Rețeta a fost adăugată la listă",
|
||||
"recipes-added-to-list": "Rețeta a fost adăugată în listă",
|
||||
"successfully-added-to-list": "Adăugat cu succes la listă",
|
||||
"recipe-added-to-mealplan": "Rețeta a fist adăugată la planul de mese",
|
||||
"failed-to-add-recipes-to-list": "Adăugarea rețetei în listă a eșuat",
|
||||
"failed-to-add-recipe-to-mealplan": "Adăugarea rețetei la planul de mese a eșuat",
|
||||
"failed-to-add-to-list": "Adăugarea la listă a eșuat",
|
||||
"yield": "Producție",
|
||||
"quantity": "Cantitate",
|
||||
"choose-unit": "Alegeţi unitatea",
|
||||
"press-enter-to-create": "Press Enter to Create",
|
||||
"choose-food": "Choose Food",
|
||||
"press-enter-to-create": "Apăsați Enter pentru a crea",
|
||||
"choose-food": "Alege Mâncarea",
|
||||
"notes": "Notițe",
|
||||
"toggle-section": "Activează/dezactivează secțiunea",
|
||||
"see-original-text": "Vezi Textul Original",
|
||||
|
@ -515,16 +519,16 @@
|
|||
"message-key": "Message Key",
|
||||
"parse": "Parse",
|
||||
"attach-images-hint": "Attach images by dragging & dropping them into the editor",
|
||||
"drop-image": "Drop image",
|
||||
"drop-image": "Trage imaginea",
|
||||
"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",
|
||||
"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",
|
||||
"parse-ingredients": "Analizează ingredientele",
|
||||
"edit-markdown": "Editează Markdown",
|
||||
"recipe-creation": "Crearea rețetei",
|
||||
"select-one-of-the-various-ways-to-create-a-recipe": "Selectează una dintre diferitele modalități de a crea o rețetă",
|
||||
"looking-for-migrations": "Looking For Migrations?",
|
||||
"import-with-url": "Import with URL",
|
||||
"create-recipe": "Create Recipe",
|
||||
"import-with-url": "Import cu URL",
|
||||
"create-recipe": "Crează rețetă",
|
||||
"import-with-zip": "Import with .zip",
|
||||
"create-recipe-from-an-image": "Create recipe from an image",
|
||||
"bulk-url-import": "Bulk URL Import",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Numele rețetei trebuie să fie unic",
|
||||
"scrape-recipe": "Importare rețetă",
|
||||
"scrape-recipe-description": "Importa o rețetă prin url. Oferiți url-ul pentru site-ul pe care doriți să îl importați, și Mealie va încerca să importe rețeta de pe acel site și să o adauge la colecția ta.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Importă cuvintele cheie originale ca tag-uri",
|
||||
"stay-in-edit-mode": "Rămâi în modul Editare",
|
||||
"import-from-zip": "Importă din zip",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Unitate",
|
||||
"upload-image": "Încărcare imagine",
|
||||
"screen-awake": "Păstrare ecran aprins",
|
||||
"remove-image": "Șterge Imaginea"
|
||||
"remove-image": "Șterge Imaginea",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Căutare avansată",
|
||||
|
@ -574,16 +581,16 @@
|
|||
"search-hint": "Apasă „/”",
|
||||
"advanced": "Avansat",
|
||||
"auto-search": "Căutare automată",
|
||||
"no-results": "No results found"
|
||||
"no-results": "Nu s-au găsit rezultate"
|
||||
},
|
||||
"settings": {
|
||||
"add-a-new-theme": "Adaugă o nouă temă",
|
||||
"admin-settings": "Setări administrator",
|
||||
"backup": {
|
||||
"backup-created": "Backup created successfully",
|
||||
"backup-created": "Copia de rezervă a fost salvată",
|
||||
"backup-created-at-response-export_path": "Backup creat la {path}",
|
||||
"backup-deleted": "Backup şters",
|
||||
"restore-success": "Restore successful",
|
||||
"restore-success": "Restaurare efectuată",
|
||||
"backup-tag": "Backup la Tag-uri",
|
||||
"create-heading": "Create a Backup",
|
||||
"delete-backup": "Șterge Backup",
|
||||
|
@ -602,13 +609,13 @@
|
|||
"restore-backup": "Restore Backup"
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"change-password": "Change Password",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Custom Pages",
|
||||
"edit-page": "Edit Page",
|
||||
"events": "Events",
|
||||
"first-day-of-week": "First day of the week",
|
||||
"group-settings-updated": "Group Settings Updated",
|
||||
"change-password": "Schimbă parola",
|
||||
"current": "Versiune:",
|
||||
"custom-pages": "Pagini personalizate",
|
||||
"edit-page": "Editare pagină",
|
||||
"events": "Evenimente",
|
||||
"first-day-of-week": "Prima zi a săptămânii",
|
||||
"group-settings-updated": "Setări de grup actualizate",
|
||||
"homepage": {
|
||||
"all-categories": "All Categories",
|
||||
"card-per-section": "Card Per Section",
|
||||
|
@ -692,13 +699,13 @@
|
|||
"configuration": "Configuration",
|
||||
"docker-volume": "Docker Volume",
|
||||
"docker-volume-help": "Mealie requires that the frontend container and the backend share the same docker volume or storage. This ensures that the frontend container can properly access the images and assets stored on disk.",
|
||||
"volumes-are-misconfigured": "Volumes are misconfigured.",
|
||||
"volumes-are-misconfigured": "Volumele sunt configurate greșit.",
|
||||
"volumes-are-configured-correctly": "Volumes are configured correctly.",
|
||||
"status-unknown-try-running-a-validation": "Status Unknown. Try running a validation.",
|
||||
"validate": "Validate",
|
||||
"email-configuration-status": "Email Configuration Status",
|
||||
"email-configured": "Email Configured",
|
||||
"email-test-results": "Email Test Results",
|
||||
"email-configured": "E-mail configurat",
|
||||
"email-test-results": "Trimite rezultatele testului pe e-mail",
|
||||
"ready": "Ready",
|
||||
"not-ready": "Not Ready - Check Environmental Variables",
|
||||
"succeeded": "Succeeded",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Tags",
|
||||
"untagged-count": "Untagged {count}",
|
||||
"create-a-tag": "Create a Tag",
|
||||
"tag-name": "Tag Name"
|
||||
"tag-name": "Tag Name",
|
||||
"tag": "Etichetă"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Tools",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"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": "Required Tools",
|
||||
"tool": "Instrument"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Admin",
|
||||
|
@ -833,7 +842,7 @@
|
|||
"password-updated": "Password updated",
|
||||
"password": "Password",
|
||||
"password-strength": "Password is {strength}",
|
||||
"please-enter-password": "Please enter your new password.",
|
||||
"please-enter-password": "Vă rugăm să introduceţi parola nouă.",
|
||||
"register": "Register",
|
||||
"reset-password": "Reset Password",
|
||||
"sign-in": "Sign in",
|
||||
|
@ -854,7 +863,7 @@
|
|||
"username": "Username",
|
||||
"users-header": "USERS",
|
||||
"users": "Users",
|
||||
"user-not-found": "User not found",
|
||||
"user-not-found": "Utilizatorul nu a fost găsit",
|
||||
"webhook-time": "Webhook Time",
|
||||
"webhooks-enabled": "Webhooks Enabled",
|
||||
"you-are-not-allowed-to-create-a-user": "You are not allowed to create a user",
|
||||
|
@ -877,7 +886,7 @@
|
|||
"user-management": "User Management",
|
||||
"reset-locked-users": "Reset Locked Users",
|
||||
"admin-user-creation": "Admin User Creation",
|
||||
"admin-user-management": "Admin User Management",
|
||||
"admin-user-management": "Gestionare utilizatori de tip administrator",
|
||||
"user-details": "User Details",
|
||||
"user-name": "User Name",
|
||||
"authentication-method": "Authentication Method",
|
||||
|
@ -890,8 +899,8 @@
|
|||
"enable-advanced-features": "Enable advanced features",
|
||||
"it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.",
|
||||
"dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!",
|
||||
"forgot-password": "Forgot Password",
|
||||
"forgot-password-text": "Please enter your email address and we will send you a link to reset your password.",
|
||||
"forgot-password": "Recuperare parola",
|
||||
"forgot-password-text": "Va rugam introduceti adresa de e-mail pentru a va trimite un link de resetare parola.",
|
||||
"changes-reflected-immediately": "Changes to this user will be reflected immediately."
|
||||
},
|
||||
"language-dialog": {
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Require All Tags",
|
||||
"require-all-tools": "Require All Tools",
|
||||
"cookbook-name": "Cookbook Name",
|
||||
"cookbook-with-name": "Cookbook {0}"
|
||||
"cookbook-with-name": "Cookbook {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -114,7 +114,7 @@
|
|||
"json": "JSON",
|
||||
"keyword": "Ключевое слово",
|
||||
"link-copied": "Ссылка скопирована",
|
||||
"loading": "Loading",
|
||||
"loading": "Загрузка",
|
||||
"loading-events": "Загрузка событий",
|
||||
"loading-recipe": "Загрузка рецепта...",
|
||||
"loading-ocr-data": "Загрузка данных OCR...",
|
||||
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Загрузить файл",
|
||||
"created-on-date": "Создано: {0}",
|
||||
"unsaved-changes": "У вас есть несохраненные изменения. Вы хотите сохранить их перед выходом?",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Не удалось скопировать текст.",
|
||||
"confirm-delete-generic-items": "Вы уверены, что хотите удалить следующие элементы?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Вы действительно хотите удалить <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Создать новый план питания",
|
||||
"update-this-meal-plan": "Обновить план питания",
|
||||
"dinner-this-week": "Ужин на этой неделе",
|
||||
"dinner-today": "Ужин сегодня",
|
||||
"dinner-tonight": "Ужин сегодня",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Добавить в историю",
|
||||
"recipe-added-to-list": "Рецепт добавлен в список",
|
||||
"recipes-added-to-list": "Рецепты добавлены в список",
|
||||
"successfully-added-to-list": "Успешно добавлено в список",
|
||||
"recipe-added-to-mealplan": "Рецепт добавлен в план питания",
|
||||
"failed-to-add-recipes-to-list": "Не удалось добавить рецепт в список",
|
||||
"failed-to-add-recipe-to-mealplan": "Не удалось добавить рецепт в план питания",
|
||||
"failed-to-add-to-list": "Не удалось добавить в список",
|
||||
"yield": "Выход",
|
||||
"quantity": "Количество",
|
||||
"choose-unit": "Выберите единицу измерения",
|
||||
|
@ -511,7 +515,7 @@
|
|||
"how-did-it-turn-out": "Что получилось?",
|
||||
"user-made-this": "{user} сделал это",
|
||||
"last-made-date": "Последний раз сделано {date}",
|
||||
"api-extras-description": "Recipes extras are a key feature of the Mealie API. They allow you to create custom JSON key/value pairs within a recipe, to reference from 3rd party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.",
|
||||
"api-extras-description": "Дополнения к рецептам являются ключевым элементом Mealie API. Они позволяют создавать пользовательские пары json ключ/значение в рецепте для ссылания на другие приложения. Вы можете использовать эти ключи, чтобы сохранить нужную информацию, например, для автоматизаций или уведомлений на ваши устройства.",
|
||||
"message-key": "Ключ сообщения",
|
||||
"parse": "Обработать",
|
||||
"attach-images-hint": "Прикрепляйте изображения, перетаскивая их в редактор",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Название рецепта должно быть уникальным",
|
||||
"scrape-recipe": "Отсканировать рецепт",
|
||||
"scrape-recipe-description": "Отсканировать рецепт по ссылке. Предоставьте ссылку на страницу, которую вы хотите отсканировать, и Mealie попытается вырезать рецепт с этого сайта и добавить его в свою коллекцию.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Хотите отсканировать несколько рецептов за раз?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Воспользуйтесь массовым импортом",
|
||||
"import-original-keywords-as-tags": "Импортировать исходные ключевые слова как теги",
|
||||
"stay-in-edit-mode": "Остаться в режиме редактирования",
|
||||
"import-from-zip": "Импорт из архива",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Единица измерения",
|
||||
"upload-image": "Загрузить изображение",
|
||||
"screen-awake": "Держать экран включенным",
|
||||
"remove-image": "Удалить изображение"
|
||||
"remove-image": "Удалить изображение",
|
||||
"nextStep": "След. шаг"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Расширенный поиск",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Теги",
|
||||
"untagged-count": "Не помеченные {count}",
|
||||
"create-a-tag": "Создать тег",
|
||||
"tag-name": "Название тега"
|
||||
"tag-name": "Название тега",
|
||||
"tag": "Тег"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Инструменты",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Название инструмента",
|
||||
"create-new-tool": "Создать новый инструмент",
|
||||
"on-hand-checkbox-label": "Показывать \"в наличии\" (отмечено)",
|
||||
"required-tools": "Необходимые инструменты"
|
||||
"required-tools": "Необходимые инструменты",
|
||||
"tool": "Инструмент"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Администратор",
|
||||
|
@ -936,8 +945,8 @@
|
|||
"fraction": "Дробь",
|
||||
"example-unit-singular": "пр. Столовая ложка",
|
||||
"example-unit-plural": "пр. Столовых ложек",
|
||||
"example-unit-abbreviation-singular": "ex: Tbsp",
|
||||
"example-unit-abbreviation-plural": "ex: Tbsps"
|
||||
"example-unit-abbreviation-singular": "пример: ст. л.",
|
||||
"example-unit-abbreviation-plural": "пример: ст. л."
|
||||
},
|
||||
"labels": {
|
||||
"seed-dialog-text": "Дополнить базу данных типичными единицами измерений на основе выбранного языка.",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Требовать все теги",
|
||||
"require-all-tools": "Требовать все инструменты",
|
||||
"cookbook-name": "Название книги рецептов",
|
||||
"cookbook-with-name": "Книга рецептов {0}"
|
||||
"cookbook-with-name": "Книга рецептов {0}",
|
||||
"create-a-cookbook": "Создать книгу рецептов",
|
||||
"cookbook": "Книга рецептов"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Nahrať súbor",
|
||||
"created-on-date": "Vytvorené: {0}",
|
||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Naozaj chcete odstrániť <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Vytvoriť nový jedálniček",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Večera tento týždeň",
|
||||
"dinner-today": "Večera dnes",
|
||||
"dinner-tonight": "VEČERA NA DNES",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Add to Timeline",
|
||||
"recipe-added-to-list": "Recept bol pridaný do zoznamu",
|
||||
"recipes-added-to-list": "Recipes added to list",
|
||||
"successfully-added-to-list": "Successfully 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",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Počet porcií",
|
||||
"quantity": "Množstvo",
|
||||
"choose-unit": "Vyberte jednotku",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Názvy nových receptov musia byť jedinečné",
|
||||
"scrape-recipe": "Scrapovať recept",
|
||||
"scrape-recipe-description": "Stiahne recept zo zadaného url odkazu. Zadajte url stránky, z ktorej chcete stiahnuť recept, a Mealie sa pokúsi recept stiahnuť a vložiť do vašej zbierky.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Importuj pôvodné kľúčové slová ako tagy",
|
||||
"stay-in-edit-mode": "Zostať v režime editovania",
|
||||
"import-from-zip": "Importovať zo Zip-súboru",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Jednotka",
|
||||
"upload-image": "Nahrať obrázok",
|
||||
"screen-awake": "Keep Screen Awake",
|
||||
"remove-image": "Remove image"
|
||||
"remove-image": "Remove image",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Rozšírené vyhľadávanie",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Štítky",
|
||||
"untagged-count": "Neoznačené {count}",
|
||||
"create-a-tag": "Vytvoriť štítok",
|
||||
"tag-name": "Názov štítku"
|
||||
"tag-name": "Názov štítku",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Nástroje",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Názov náčinia",
|
||||
"create-new-tool": "Vytvoriť nové náčinie",
|
||||
"on-hand-checkbox-label": "Zobraz ako \"K dispozícii\" (Checked)",
|
||||
"required-tools": "Potrebné nástroje"
|
||||
"required-tools": "Potrebné nástroje",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Administrátor",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Vyžadovať všetky štítky",
|
||||
"require-all-tools": "Vyžadovať všetky nástroje",
|
||||
"cookbook-name": "Názov kuchárky",
|
||||
"cookbook-with-name": "Kuchárka {0}"
|
||||
"cookbook-with-name": "Kuchárka {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
"support": "Podpora",
|
||||
"version": "Verzija",
|
||||
"unknown-version": "neznano",
|
||||
"sponsor": "Sponsor"
|
||||
"sponsor": "Sponzor"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Viri",
|
||||
|
@ -53,9 +53,9 @@
|
|||
"apprise-url": "Apprise URL",
|
||||
"database": "Baza podatkov",
|
||||
"delete-event": "Zbriši dogodek",
|
||||
"event-delete-confirmation": "Are you sure you want to delete this event?",
|
||||
"event-deleted": "Event Deleted",
|
||||
"event-updated": "Event Updated",
|
||||
"event-delete-confirmation": "Ali ste prepričani, da želite izbrisati ta dogodek?",
|
||||
"event-deleted": "Dogodek izbrisan",
|
||||
"event-updated": "Dogodek posodobljen",
|
||||
"new-notification-form-description": "Mealie uporablja Apprise knjižnico za kreiranje obvestil. Omogoča več različnih servisov za uporabo obvestil. Preglejte njihovo wiki stran, za bolj natančen vodič, kako izdelati URL za vaš servis. Če je na voljo, so za vaš izbran servis obvestil, na voljo tudi dodane možnosti.",
|
||||
"new-version": "Na voljo je nova verzija!",
|
||||
"notification": "Obvestila",
|
||||
|
@ -64,7 +64,7 @@
|
|||
"something-went-wrong": "Nekaj je šlo narobe!",
|
||||
"subscribed-events": "Naročeni dogodki",
|
||||
"test-message-sent": "Testno sporočilo je bilo poslano",
|
||||
"new-notification": "New Notification",
|
||||
"new-notification": "Novo obvestilo",
|
||||
"event-notifiers": "Event Notifiers",
|
||||
"apprise-url-skipped-if-blank": "Apprise URL (skipped if blank)",
|
||||
"enable-notifier": "Enable Notifier",
|
||||
|
@ -114,12 +114,12 @@
|
|||
"json": "JSON",
|
||||
"keyword": "Ključna beseda",
|
||||
"link-copied": "Povezava kopirana",
|
||||
"loading": "Loading",
|
||||
"loading": "Nalaganje",
|
||||
"loading-events": "Loading Events",
|
||||
"loading-recipe": "Loading recipe...",
|
||||
"loading-recipe": "Nalagam recepte...",
|
||||
"loading-ocr-data": "Loading OCR data...",
|
||||
"loading-recipes": "Nalagam recepte",
|
||||
"message": "Message",
|
||||
"message": "Sporočilo",
|
||||
"monday": "Ponedeljek",
|
||||
"name": "Ime",
|
||||
"new": "Novo",
|
||||
|
@ -146,7 +146,7 @@
|
|||
"sort": "Razvrsti",
|
||||
"sort-alphabetically": "Po abecedi",
|
||||
"status": "Stanje",
|
||||
"subject": "Subject",
|
||||
"subject": "Zadeva",
|
||||
"submit": "Pošlji",
|
||||
"success-count": "Uspešno: {count}",
|
||||
"sunday": "Nedelja",
|
||||
|
@ -186,20 +186,21 @@
|
|||
"color": "Barva",
|
||||
"timestamp": "Časovni žig",
|
||||
"last-made": "Last Made",
|
||||
"learn-more": "Learn More",
|
||||
"learn-more": "Več o tem",
|
||||
"this-feature-is-currently-inactive": "This feature is currently inactive",
|
||||
"clipboard-not-supported": "Clipboard not supported",
|
||||
"copied-to-clipboard": "Copied to clipboard",
|
||||
"copied-to-clipboard": "Kopiraj v odložišče",
|
||||
"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",
|
||||
"export-all": "Izvozi vse",
|
||||
"refresh": "Osveži",
|
||||
"upload-file": "Naloži datoteko",
|
||||
"created-on-date": "Created on: {0}",
|
||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Ste prepričani, da želite izbrisati <b>{groupName}<b/>?",
|
||||
|
@ -225,15 +226,15 @@
|
|||
"keep-my-recipes-private": "Moji recepti naj bodo privatni",
|
||||
"keep-my-recipes-private-description": "Nastavi vaše skupine in vse recepte privzeto kot privatni. Kasneje lahko to vedno spremenite."
|
||||
},
|
||||
"manage-members": "Manage Members",
|
||||
"manage-members": "Urejanje članov",
|
||||
"manage-members-description": "Manage the permissions of the members in your groups. {manage} allows the user to access the data-management page {invite} allows the user to generate invitation links for other users. Group owners cannot change their own permissions.",
|
||||
"manage": "Manage",
|
||||
"invite": "Invite",
|
||||
"invite": "Povabi",
|
||||
"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": "Zasebna skupina",
|
||||
"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",
|
||||
|
@ -249,7 +250,7 @@
|
|||
"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",
|
||||
"report": "Prijavi",
|
||||
"report-with-id": "Report ID: {id}",
|
||||
"group-management": "Group Management",
|
||||
"admin-group-management": "Admin Group Management",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Izdelaj nov načrt obrokov",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Večerje tega tedna",
|
||||
"dinner-today": "Današnja večerja",
|
||||
"dinner-tonight": "DANAŠNJA VEČERJA",
|
||||
|
@ -406,7 +408,7 @@
|
|||
"carbohydrate-content": "Ogljikovi hidrati",
|
||||
"categories": "Kategorije",
|
||||
"comment-action": "Pripomba",
|
||||
"comment": "Comment",
|
||||
"comment": "Komentar",
|
||||
"comments": "Pripombe",
|
||||
"delete-confirmation": "Ali želite izbrisati ta recept?",
|
||||
"delete-recipe": "Izbriši recept",
|
||||
|
@ -471,10 +473,12 @@
|
|||
"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",
|
||||
"recipes-added-to-list": "Recepti dodani na seznam",
|
||||
"successfully-added-to-list": "Uspešno dodano na seznam",
|
||||
"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",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Donos",
|
||||
"quantity": "Količina",
|
||||
"choose-unit": "Izberite enoto",
|
||||
|
@ -497,18 +501,18 @@
|
|||
"public-link": "Javna povezava",
|
||||
"timer": {
|
||||
"kitchen-timer": "Kitchen Timer",
|
||||
"start-timer": "Start Timer",
|
||||
"pause-timer": "Pause Timer",
|
||||
"resume-timer": "Resume Timer",
|
||||
"stop-timer": "Stop Timer"
|
||||
"start-timer": "Zaženi časovnik",
|
||||
"pause-timer": "Ustavi časovnik",
|
||||
"resume-timer": "Nadaljuj časovnik",
|
||||
"stop-timer": "Ustavi časovnik"
|
||||
},
|
||||
"edit-timeline-event": "Edit Timeline Event",
|
||||
"timeline": "Timeline",
|
||||
"timeline": "Časovnica",
|
||||
"timeline-is-empty": "Nothing on the timeline yet. Try making this recipe!",
|
||||
"group-global-timeline": "{groupName} Global Timeline",
|
||||
"open-timeline": "Open Timeline",
|
||||
"made-this": "I Made This",
|
||||
"how-did-it-turn-out": "How did it turn out?",
|
||||
"made-this": "Naredil sem to",
|
||||
"how-did-it-turn-out": "Kako se je izkazalo?",
|
||||
"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 party applications. You can use these keys to provide information, for example to trigger automations or custom messages to relay to your desired device.",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "New recipe names must be unique",
|
||||
"scrape-recipe": "Scrape Recipe",
|
||||
"scrape-recipe-description": "Scrape a recipe by url. Provide the url for the site you want to scrape, and Mealie will attempt to scrape the recipe from that site and add it to your collection.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Import original keywords as tags",
|
||||
"stay-in-edit-mode": "Stay in Edit mode",
|
||||
"import-from-zip": "Import from Zip",
|
||||
|
@ -552,10 +558,11 @@
|
|||
"debug": "Debug",
|
||||
"tree-view": "Tree View",
|
||||
"recipe-yield": "Recipe Yield",
|
||||
"unit": "Unit",
|
||||
"upload-image": "Upload image",
|
||||
"screen-awake": "Keep Screen Awake",
|
||||
"remove-image": "Remove image"
|
||||
"unit": "Enota",
|
||||
"upload-image": "Naloži sliko",
|
||||
"screen-awake": "Ohranjanje budnega zaslona",
|
||||
"remove-image": "Odstrani sliko",
|
||||
"nextStep": "Naslednji korak"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Napredno iskanje",
|
||||
|
@ -706,7 +713,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": "Mealie je v najnovejši različici",
|
||||
"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",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Značke",
|
||||
"untagged-count": "Brez značke {count}",
|
||||
"create-a-tag": "Ustvari značko",
|
||||
"tag-name": "Ime značke"
|
||||
"tag-name": "Ime značke",
|
||||
"tag": "Oznaka"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Orodja",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Ime orodja",
|
||||
"create-new-tool": "Ustvari orodje",
|
||||
"on-hand-checkbox-label": "Prikaži kot Na voljo (obkljukano)",
|
||||
"required-tools": "Required Tools"
|
||||
"required-tools": "Required Tools",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Administrator",
|
||||
|
@ -869,10 +878,10 @@
|
|||
"account-locked-please-try-again-later": "Account Locked. Please try again later",
|
||||
"user-favorites": "User Favorites",
|
||||
"password-strength-values": {
|
||||
"weak": "Weak",
|
||||
"good": "Good",
|
||||
"strong": "Strong",
|
||||
"very-strong": "Very Strong"
|
||||
"weak": "Šibko",
|
||||
"good": "Dobro",
|
||||
"strong": "Močno",
|
||||
"very-strong": "Zelo močno"
|
||||
},
|
||||
"user-management": "User Management",
|
||||
"reset-locked-users": "Reset Locked Users",
|
||||
|
@ -890,7 +899,7 @@
|
|||
"enable-advanced-features": "Enable advanced features",
|
||||
"it-looks-like-this-is-your-first-time-logging-in": "It looks like this is your first time logging in.",
|
||||
"dont-want-to-see-this-anymore-be-sure-to-change-your-email": "Don't want to see this anymore? Be sure to change your email in your user settings!",
|
||||
"forgot-password": "Forgot Password",
|
||||
"forgot-password": "Ste pozabili geslo",
|
||||
"forgot-password-text": "Please enter your email address and we will send you a link to reset your password.",
|
||||
"changes-reflected-immediately": "Changes to this user will be reflected immediately."
|
||||
},
|
||||
|
@ -912,10 +921,10 @@
|
|||
"target-food": "Target Food",
|
||||
"create-food": "Create Food",
|
||||
"food-label": "Food Label",
|
||||
"edit-food": "Edit Food",
|
||||
"edit-food": "Spremeni živilo",
|
||||
"food-data": "Food Data",
|
||||
"example-food-singular": "ex: Onion",
|
||||
"example-food-plural": "ex: Onions"
|
||||
"example-food-singular": "npr: Čebula",
|
||||
"example-food-plural": "npr: Čebule"
|
||||
},
|
||||
"units": {
|
||||
"seed-dialog-text": "Napolni podatkovno bazo z običajnimi enotami, glede na vaš lokalni jezik.",
|
||||
|
@ -973,12 +982,12 @@
|
|||
"data-management": "Data Management",
|
||||
"data-management-description": "Select which data set you want to make changes to.",
|
||||
"select-data": "Select Data",
|
||||
"select-language": "Select Language",
|
||||
"select-language": "Izberite jezik",
|
||||
"columns": "Columns",
|
||||
"combine": "Combine",
|
||||
"categories": {
|
||||
"edit-category": "Edit Category",
|
||||
"new-category": "New Category",
|
||||
"edit-category": "Uredi kategorijo",
|
||||
"new-category": "Nova kategorija",
|
||||
"category-data": "Category Data"
|
||||
},
|
||||
"tags": {
|
||||
|
@ -1123,7 +1132,7 @@
|
|||
"tasks": "Tasks"
|
||||
},
|
||||
"profile": {
|
||||
"welcome-user": "👋 Welcome, {0}",
|
||||
"welcome-user": "👋 Dobrodošel, {0}",
|
||||
"description": "Manage your profile, recipes, and group settings.",
|
||||
"get-invite-link": "Get Invite Link",
|
||||
"get-public-link": "Get Public Link",
|
||||
|
@ -1142,7 +1151,7 @@
|
|||
"group-settings": "Group Settings",
|
||||
"group-settings-description": "Manage your common group settings like mealplan and privacy settings.",
|
||||
"cookbooks-description": "Manage a collection of recipe categories and generate pages for them.",
|
||||
"members": "Members",
|
||||
"members": "Člani",
|
||||
"members-description": "See who's in your group and manage their permissions.",
|
||||
"webhooks-description": "Setup webhooks that trigger on days that you have have mealplan scheduled.",
|
||||
"notifiers": "Notifiers",
|
||||
|
@ -1167,9 +1176,9 @@
|
|||
"manage-data-migrations": "Manage Data Migrations"
|
||||
},
|
||||
"cookbook": {
|
||||
"cookbooks": "Cookbooks",
|
||||
"cookbooks": "Kuharske knjige",
|
||||
"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": "Javna kuharska knjiga",
|
||||
"public-cookbook-description": "Public Cookbooks can be shared with non-mealie users and will be displayed on your groups page.",
|
||||
"filter-options": "Filter Options",
|
||||
"filter-options-description": "When require all is selected the cookbook will only include recipes that have all of the items selected. This applies to each subset of selectors and not a cross section of the selected items.",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Require All Tags",
|
||||
"require-all-tools": "Require All Tools",
|
||||
"cookbook-name": "Cookbook Name",
|
||||
"cookbook-with-name": "Cookbook {0}"
|
||||
"cookbook-with-name": "Cookbook {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Учитај датотеку",
|
||||
"created-on-date": "Крерирано: {0}",
|
||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Да ли сте сигурни да желите да обришете <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Направи нови јеловник",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Dinner This Week",
|
||||
"dinner-today": "Dinner Today",
|
||||
"dinner-tonight": "DINNER TONIGHT",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Додај на временску линију",
|
||||
"recipe-added-to-list": "Recipe added to list",
|
||||
"recipes-added-to-list": "Recipes added to list",
|
||||
"successfully-added-to-list": "Successfully 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": "Неуспешно додавање рецепта у јеловник",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Yield",
|
||||
"quantity": "Quantity",
|
||||
"choose-unit": "Choose Unit",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "New recipe names must be unique",
|
||||
"scrape-recipe": "Scrape Recipe",
|
||||
"scrape-recipe-description": "Scrape a recipe by url. Provide the url for the site you want to scrape, and Mealie will attempt to scrape the recipe from that site and add it to your collection.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Увези оригиналне кључне речи као ознаке",
|
||||
"stay-in-edit-mode": "Stay in Edit mode",
|
||||
"import-from-zip": "Увези из Zip архиве",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Unit",
|
||||
"upload-image": "Upload image",
|
||||
"screen-awake": "Keep Screen Awake",
|
||||
"remove-image": "Remove image"
|
||||
"remove-image": "Remove image",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Напредна претрага",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Ознаке",
|
||||
"untagged-count": "Untagged {count}",
|
||||
"create-a-tag": "Create a Tag",
|
||||
"tag-name": "Tag Name"
|
||||
"tag-name": "Tag Name",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Прибор",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Назив прибора",
|
||||
"create-new-tool": "Create New Tool",
|
||||
"on-hand-checkbox-label": "Show as On Hand (Checked)",
|
||||
"required-tools": "Потребан прибор"
|
||||
"required-tools": "Потребан прибор",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Admin",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Захтевај све ознаке",
|
||||
"require-all-tools": "Захтева сав прибор",
|
||||
"cookbook-name": "Cookbook Name",
|
||||
"cookbook-with-name": "Кувар {0}"
|
||||
"cookbook-with-name": "Кувар {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Ladda upp fil",
|
||||
"created-on-date": "Skapad {0}",
|
||||
"unsaved-changes": "Du har osparade ändringar. Vill du spara innan du lämnar? Tryck Okej att spara, Avbryt för att ignorera ändringar.",
|
||||
"clipboard-copy-failure": "Det gick inte att kopiera till urklipp."
|
||||
"clipboard-copy-failure": "Det gick inte att kopiera till urklipp.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Är du säker på att du vill radera <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Skapa en ny måltidsplan",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Veckans middagar",
|
||||
"dinner-today": "Middag idag",
|
||||
"dinner-tonight": "Middag ikväll",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Lägg till i tidslinje",
|
||||
"recipe-added-to-list": "Recept tillagt i listan",
|
||||
"recipes-added-to-list": "Recept tillagt i listan",
|
||||
"successfully-added-to-list": "Successfully added to list",
|
||||
"recipe-added-to-mealplan": "Recept tillagt i måltidsplanen",
|
||||
"failed-to-add-recipes-to-list": "Det gick inte att lägga till recept till listan",
|
||||
"failed-to-add-recipe-to-mealplan": "Det gick inte att lägga till recept i måltidsplanen",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Ger",
|
||||
"quantity": "Antal",
|
||||
"choose-unit": "Välj enhet",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Nya receptnamn måste vara unika",
|
||||
"scrape-recipe": "Skrapa Recept",
|
||||
"scrape-recipe-description": "Hämta ett recept med webbadress. Ange URL:en för webbplatsen du vill hämta, och Mealie kommer att försöka hämta receptet från den webbplatsen och lägga till det i din samling.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Har du många recept som du vill skrapa på en gång?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Testa massimportören",
|
||||
"import-original-keywords-as-tags": "Importera ursprungliga sökord som taggar",
|
||||
"stay-in-edit-mode": "Stanna kvar i redigeringsläge",
|
||||
"import-from-zip": "Importera från zip",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Måttenhet",
|
||||
"upload-image": "Ladda upp bild",
|
||||
"screen-awake": "Håll skärmen vaken",
|
||||
"remove-image": "Ta bort bild"
|
||||
"remove-image": "Ta bort bild",
|
||||
"nextStep": "Nästa steg"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Avancerad sökning",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Taggar",
|
||||
"untagged-count": "Otaggad {count}",
|
||||
"create-a-tag": "Skapa tagg",
|
||||
"tag-name": "Taggnamn"
|
||||
"tag-name": "Taggnamn",
|
||||
"tag": "Tagg"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Redskap",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Verktygsnamn",
|
||||
"create-new-tool": "Skapa nytt verktyg",
|
||||
"on-hand-checkbox-label": "Visa som tillgänglig (markerad)",
|
||||
"required-tools": "Verktyg som krävs"
|
||||
"required-tools": "Verktyg som krävs",
|
||||
"tool": "Verktyg"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Administratör",
|
||||
|
@ -1086,19 +1095,19 @@
|
|||
"title-temporary-directory": "Tillfällig mapp (.temp)",
|
||||
"title-backups-directory": "Katalog för säkerhetskopior (säkerhetskopior)",
|
||||
"title-groups-directory": "Gruppkatalog (grupper)",
|
||||
"title-recipes-directory": "Recipes Directory (recipes)",
|
||||
"title-user-directory": "User Directory (user)"
|
||||
"title-recipes-directory": "Receptkatalog (recept)",
|
||||
"title-user-directory": "Användarkatalog (användare)"
|
||||
},
|
||||
"action-delete-log-files-name": "Radera loggfiler",
|
||||
"action-delete-log-files-description": "Tar bort alla loggfiler",
|
||||
"action-clean-directories-name": "Rensa mappar",
|
||||
"action-clean-directories-description": "Removes all the recipe folders that are not valid UUIDs",
|
||||
"action-clean-directories-description": "Tar bort alla receptmappar som inte är giltiga UUID",
|
||||
"action-clean-temporary-files-name": "Rensa tillfälliga filer",
|
||||
"action-clean-temporary-files-description": "Removes all files and folders in the .temp directory",
|
||||
"action-clean-images-name": "Clean Images",
|
||||
"action-clean-images-description": "Removes all the images that don't end with .webp",
|
||||
"actions-description": "Maintenance actions are {destructive_in_bold} and should be used with caution. Performing any of these actions is {irreversible_in_bold}.",
|
||||
"actions-description-destructive": "destructive",
|
||||
"action-clean-temporary-files-description": "Tar bort alla filer och mappar i .temp-katalogen",
|
||||
"action-clean-images-name": "Rensa bilder",
|
||||
"action-clean-images-description": "Tar bort alla bilder som inte slutar med .webp",
|
||||
"actions-description": "Underhållsåtgärder är {destructive_in_bold} och bör användas med försiktighet. Att utföra någon av dessa åtgärder är {irreversible_in_bold}.",
|
||||
"actions-description-destructive": "destruktiv",
|
||||
"actions-description-irreversible": "oåterkallelig",
|
||||
"logs-action-refresh": "Uppdatera loggar",
|
||||
"logs-page-title": "Mealie loggar",
|
||||
|
@ -1108,11 +1117,11 @@
|
|||
"actions-title": "Åtgärder"
|
||||
},
|
||||
"ingredients-natural-language-processor": "Ingredients Natural Language Processor",
|
||||
"ingredients-natural-language-processor-explanation": "Mealie uses Conditional Random Fields (CRFs) for parsing and processing ingredients. The model used for ingredients is based off a data set of over 100,000 ingredients from a dataset compiled by the New York Times. Note that as the model is trained in English only, you may have varied results when using the model in other languages. This page is a playground for testing the model.",
|
||||
"ingredients-natural-language-processor-explanation-2": "It's not perfect, but it yields great results in general and is a good starting point for manually parsing ingredients into individual fields. Alternatively, you can also use the \"Brute\" processor that uses a pattern matching technique to identify ingredients.",
|
||||
"ingredients-natural-language-processor-explanation": "Mealie använder villkorliga slumpfält (CRF) för tolkning och bearbetning av ingredienser. Modellen som används för ingredienser är baserad på en uppsättning data på över 100.000 ingredienser från en dataset sammanställd av New York Times. Observera att eftersom modellen endast är utbildad på engelska kan du ha olika resultat när du använder modellen på andra språk. Denna sida är en lekplats för att testa modellen.",
|
||||
"ingredients-natural-language-processor-explanation-2": "Det är inte perfekt, men det ger bra resultat i allmänhet och är en bra utgångspunkt för att manuellt tolka ingredienser i enskilda områden. Alternativt kan du också använda \"Brute\" processor som använder en mönstermatchningsteknik för att identifiera ingredienser.",
|
||||
"nlp": "NLP",
|
||||
"brute": "Brute",
|
||||
"show-individual-confidence": "Show individual confidence",
|
||||
"show-individual-confidence": "Visa individuella självförtroende",
|
||||
"ingredient-text": "Ingrediens text",
|
||||
"average-confident": "{0} Säker",
|
||||
"try-an-example": "Försök med ett exempel",
|
||||
|
@ -1136,11 +1145,11 @@
|
|||
"personal": "Personligt",
|
||||
"personal-description": "Detta är inställningar som är personliga för dig. Ändringar här påverkar inte andra användare",
|
||||
"user-settings": "Användarinställningar",
|
||||
"user-settings-description": "Manage your preferences, change your password, and update your email",
|
||||
"api-tokens-description": "Manage your API Tokens for access from external applications",
|
||||
"group-description": "These items are shared within your group. Editing one of them will change it for the whole group!",
|
||||
"user-settings-description": "Hantera dina inställningar, ändra ditt lösenord och uppdatera din e-post",
|
||||
"api-tokens-description": "Hantera dina API-Tokens för åtkomst från externa applikationer",
|
||||
"group-description": "Dessa objekt delas inom din grupp. Att redigera en av dem kommer att ändra den för hela gruppen!",
|
||||
"group-settings": "Gruppinställningar",
|
||||
"group-settings-description": "Manage your common group settings like mealplan and privacy settings.",
|
||||
"group-settings-description": "Hantera dina gemensamma gruppinställningar som måltidsplan och sekretessinställningar.",
|
||||
"cookbooks-description": "Hantera en samling receptkategorier och generera sidor för dem.",
|
||||
"members": "Medlemmar",
|
||||
"members-description": "Se vem som är med i din grupp och hantera deras behörigheter.",
|
||||
|
@ -1155,7 +1164,7 @@
|
|||
"error-sending-email": "Fel vid sändning av e-post",
|
||||
"personal-information": "Personlig information",
|
||||
"preferences": "Preferenser",
|
||||
"show-advanced-description": "Show advanced features (API Keys, Webhooks, and Data Management)",
|
||||
"show-advanced-description": "Visa avancerade funktioner (API-nycklar, webhooks och datahantering)",
|
||||
"back-to-profile": "Tillbaka till profilen",
|
||||
"looking-for-privacy-settings": "Letar du efter sekretessinställningar?",
|
||||
"manage-your-api-tokens": "Hantera dina API Tokens",
|
||||
|
@ -1172,11 +1181,13 @@
|
|||
"public-cookbook": "Offentlig kokbok",
|
||||
"public-cookbook-description": "Offentliga kokböcker kan delas med icke-mealie användare och kommer att visas på din gruppsida.",
|
||||
"filter-options": "Filterinställningar",
|
||||
"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.",
|
||||
"filter-options-description": "När använd allt är valt kommer kokboken bara att innehålla recept som har alla objekt valda. Detta gäller för varje delmängd av väljare och inte ett tvärsnitt av de valda objekt.",
|
||||
"require-all-categories": "Kräv alla kategorier",
|
||||
"require-all-tags": "Kräv alla taggar",
|
||||
"require-all-tools": "Kräv alla verktyg",
|
||||
"cookbook-name": "Namn på kokbok",
|
||||
"cookbook-with-name": "Kokbok {0}"
|
||||
"cookbook-with-name": "Kokbok {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -89,7 +89,7 @@
|
|||
"create": "Oluştur",
|
||||
"created": "Oluşturuldu",
|
||||
"custom": "Özel",
|
||||
"dashboard": "Kontrol Paneli",
|
||||
"dashboard": "Pano",
|
||||
"delete": "Sil",
|
||||
"disabled": "Devre Dışı",
|
||||
"download": "İndir",
|
||||
|
@ -116,7 +116,7 @@
|
|||
"link-copied": "Bağlantı Kopyalandı",
|
||||
"loading": "Yükleniyor",
|
||||
"loading-events": "Etkinlikler yükleniyor",
|
||||
"loading-recipe": "Loading recipe...",
|
||||
"loading-recipe": "Tarifler Yükleniyor...",
|
||||
"loading-ocr-data": "OCR verileri yükleniyor...",
|
||||
"loading-recipes": "Tarifler Yükleniyor",
|
||||
"message": "İleti",
|
||||
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Dosya Yükle",
|
||||
"created-on-date": "{0} tarihinde oluşturuldu",
|
||||
"unsaved-changes": "Kaydedilmemiş değişiklikleriniz mevcut. Ayrılmadan önce kaydetmek ister misiniz? Kaydetmek için Tamam'ı, değişiklikleri iptal etmek için İptal'i seçin.",
|
||||
"clipboard-copy-failure": "Panoya kopyalanamadı."
|
||||
"clipboard-copy-failure": "Panoya kopyalanamadı.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "<b>{groupName}<b/>'i silmek istediğine emin misin?",
|
||||
|
@ -250,7 +251,7 @@
|
|||
"general-preferences": "Genel Tercihler",
|
||||
"group-recipe-preferences": "Grup Tarif Tercihleri",
|
||||
"report": "Rapor Et",
|
||||
"report-with-id": "Report ID: {id}",
|
||||
"report-with-id": "Rapor kimliği: {id}",
|
||||
"group-management": "Grup Yönetimi",
|
||||
"admin-group-management": "Yönetici Grup Yönetimi",
|
||||
"admin-group-management-text": "Bu gruptaki değişiklikler hemen yansıtılacaktır.",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Yeni Öğün Planı Oluştur",
|
||||
"update-this-meal-plan": "Bu Yemek Planını Güncelle",
|
||||
"dinner-this-week": "Bu Haftaki Akşam Yemeği",
|
||||
"dinner-today": "Bugünkü Akşam Yemeği",
|
||||
"dinner-tonight": "BU AKŞAMKİ AKŞAM YEMEĞI",
|
||||
|
@ -308,9 +310,9 @@
|
|||
"meal-plan-rules-description": "Yemek planlarınız için tariflerin otomatik seçilmesine yönelik kurallar oluşturabilirsiniz. Bu kurallar, sunucu tarafından yemek planları oluştururken seçilecek rastgele tarif havuzunu belirlemek için kullanılır. Kuralların aynı gün/tür kısıtlamalarına sahip olması durumunda kuralların kategorilerinin birleştirileceğini unutmayın. Uygulamada yinelenen kurallar oluşturmak gereksizdir ancak bunu yapmak mümkündür.",
|
||||
"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": "Tarif Kuralları",
|
||||
"applies-to-all-days": "Applies to all days",
|
||||
"applies-on-days": "Applies on {0}s",
|
||||
"meal-plan-settings": "Meal Plan Settings"
|
||||
"applies-to-all-days": "Tüm günler için geçerlidir",
|
||||
"applies-on-days": "{0} günlerine geçerlidir",
|
||||
"meal-plan-settings": "Öğün Planı Ayarları"
|
||||
},
|
||||
"migration": {
|
||||
"migration-data-removed": "Migration data removed",
|
||||
|
@ -327,7 +329,7 @@
|
|||
"nextcloud": {
|
||||
"description": "Migrate data from a Nextcloud Cookbook instance",
|
||||
"description-long": "Nextcloud tarifleri, Nextcloud'da saklanan verileri içeren bir zip dosyasından içe aktarılabilir. Tariflerinizin içe aktarılabilmesini sağlamak için aşağıdaki örnek klasör yapısına bakın.",
|
||||
"title": "Nextcloud Cookbook"
|
||||
"title": "Nextcloud Yemek Kitabı"
|
||||
},
|
||||
"copymethat": {
|
||||
"description-long": "Mealie, Copy Me That'den tarifleri içe aktarabilir. Tariflerinizi HTML biçiminde dışa aktarın, ardından aşağıdaki .zip dosyasını yükleyin.",
|
||||
|
@ -343,7 +345,7 @@
|
|||
},
|
||||
"tandoor": {
|
||||
"description-long": "Mealie, Tandoor'dan tarifleri içe aktarabilir. Verilerinizi \"Varsayılan\" biçimde dışa aktarın, ardından aşağıdaki .zip dosyasını yükleyin.",
|
||||
"title": "Tandoor Recipes"
|
||||
"title": "Tandoor Tarifleri"
|
||||
},
|
||||
"recipe-data-migrations": "Recipe Data Migrations",
|
||||
"recipe-data-migrations-explanation": "Recipes can be migrated from another supported application to Mealie. This is a great way to get started with Mealie.",
|
||||
|
@ -363,7 +365,7 @@
|
|||
"new-recipe": {
|
||||
"bulk-add": "Toplu Ekle",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"error-title": "Görünüşe Göre Hiçbir Şey Bulamadık",
|
||||
"from-url": "Tarif İçe Aktar",
|
||||
"github-issues": "GitHub Sorunları",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
|
@ -383,52 +385,52 @@
|
|||
"make-recipe-image": "Bunu tarif resmi yap"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Page not found",
|
||||
"all-recipes": "All Recipes",
|
||||
"new-page-created": "New page created",
|
||||
"404-page-not-found": "404 Sayfa bulunamadı",
|
||||
"all-recipes": "Tüm Tarifler",
|
||||
"new-page-created": "Yeni sayfa oluşturuldu",
|
||||
"page": "Sayfa",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
"page-deleted": "Page deleted",
|
||||
"page-deletion-failed": "Page deletion failed",
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"page-creation-failed": "Sayfa oluşturma başarısız",
|
||||
"page-deleted": "Sayfa silindi",
|
||||
"page-deletion-failed": "Sayfa silinemedi",
|
||||
"page-update-failed": "Sayfa güncelleme başarısız",
|
||||
"page-updated": "Sayfa güncellendi",
|
||||
"pages-update-failed": "Sayfaları güncelleme başarısız",
|
||||
"pages-updated": "Sayfalar güncellendi",
|
||||
"404-not-found": "404 Sayfa Bulunamadı",
|
||||
"an-error-occurred": "An error occurred"
|
||||
"an-error-occurred": "Bir hata oluştu"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"api-extras": "API Extras",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
"categories": "Categories",
|
||||
"add-key": "Anahtar Ekle",
|
||||
"add-to-favorites": "Sık kullanılanlara ekle",
|
||||
"api-extras": "API Ekstraları",
|
||||
"calories": "Kalori",
|
||||
"calories-suffix": "kalori",
|
||||
"carbohydrate-content": "Karbonhidrat",
|
||||
"categories": "Kategoriler",
|
||||
"comment-action": "Yorum",
|
||||
"comment": "Yorum",
|
||||
"comments": "Yorumlar",
|
||||
"delete-confirmation": "Are you sure you want to delete this recipe?",
|
||||
"delete-recipe": "Delete Recipe",
|
||||
"description": "Description",
|
||||
"disable-amount": "Disable Ingredient Amounts",
|
||||
"disable-comments": "Disable Comments",
|
||||
"delete-confirmation": "Bu tarifi silmek istediğinizden emin misiniz?",
|
||||
"delete-recipe": "Tarifi Sil",
|
||||
"description": "Açıklama",
|
||||
"disable-amount": "Malzeme Miktarlarını Devre Dışı Bırak",
|
||||
"disable-comments": "Yorumları Devre Dışı Bırak",
|
||||
"duplicate": "Tarifi yinele",
|
||||
"duplicate-name": "Yeni tarif adı",
|
||||
"edit-scale": "Edit Scale",
|
||||
"edit-scale": "Oranlamayı düzenle",
|
||||
"fat-content": "Yağ",
|
||||
"fiber-content": "Lif",
|
||||
"grams": "grams",
|
||||
"ingredient": "Ingredient",
|
||||
"ingredients": "Ingredients",
|
||||
"grams": "gram",
|
||||
"ingredient": "İçindekiler",
|
||||
"ingredients": "Malzemeler",
|
||||
"insert-ingredient": "İçerik Ekle",
|
||||
"insert-section": "Insert Section",
|
||||
"instructions": "Instructions",
|
||||
"key-name-required": "Key Name Required",
|
||||
"insert-section": "Bölüm Ekle",
|
||||
"instructions": "Yapılışı",
|
||||
"key-name-required": "Anahtar Adı Zorunlu",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-key-name": "New Key Name",
|
||||
"no-white-space-allowed": "No White Space Allowed",
|
||||
"milligrams": "miligram",
|
||||
"new-key-name": "Yeni Anahtar İsmi",
|
||||
"no-white-space-allowed": "Boşluklara İzin Verilmiyor",
|
||||
"note": "Not",
|
||||
"nutrition": "Besin Değeri",
|
||||
"object-key": "Object Key",
|
||||
|
@ -449,13 +451,13 @@
|
|||
"recipe-updated": "Tarif güncellendi",
|
||||
"remove-from-favorites": "Favorilerden Kaldır",
|
||||
"remove-section": "Bölümü Kaldır",
|
||||
"save-recipe-before-use": "Save recipe before use",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Servings",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"save-recipe-before-use": "Kullanmadan önce tarifi kaydedin",
|
||||
"section-title": "Bölüm başlığı",
|
||||
"servings": "Porsiyon",
|
||||
"share-recipe-message": "{0} tarifimi sizlerle paylaşmak istedim.",
|
||||
"show-nutrition-values": "Besin Değerlerini Göster",
|
||||
"sodium-content": "Sodyum",
|
||||
"step-index": "Step: {step}",
|
||||
"step-index": "Adım: {step}",
|
||||
"sugar-content": "Şeker",
|
||||
"title": "Başlık",
|
||||
"total-time": "Toplam Süre",
|
||||
|
@ -472,16 +474,18 @@
|
|||
"add-to-timeline": "Zaman Tüneline Ekle",
|
||||
"recipe-added-to-list": "Tarif listeye eklendi",
|
||||
"recipes-added-to-list": "Tarifler listeye eklendi",
|
||||
"successfully-added-to-list": "Listeye başarıyla 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",
|
||||
"failed-to-add-to-list": "Listeye eklenemedi",
|
||||
"yield": "Yield",
|
||||
"quantity": "Miktar",
|
||||
"choose-unit": "Birim Seçin",
|
||||
"press-enter-to-create": "Oluşturmak İçin Enter'a Basın",
|
||||
"choose-food": "Choose Food",
|
||||
"choose-food": "Yemek Seç",
|
||||
"notes": "Notlar",
|
||||
"toggle-section": "Toggle Section",
|
||||
"toggle-section": "Bölümü Görünürlüğünü Değiştir",
|
||||
"see-original-text": "Orijinal Metni Göster",
|
||||
"original-text-with-value": "Orijinal Metin: {originalText}",
|
||||
"ingredient-linker": "Ingredient Linker",
|
||||
|
@ -489,8 +493,8 @@
|
|||
"auto": "Otomatik",
|
||||
"cook-mode": "Pişirme Modu",
|
||||
"link-ingredients": "Link Ingredients",
|
||||
"merge-above": "Merge Above",
|
||||
"reset-scale": "Reset Scale",
|
||||
"merge-above": "Yukarıda Birleştir",
|
||||
"reset-scale": "Ölçeği Sıfırla",
|
||||
"decrease-scale-label": "Decrease Scale by 1",
|
||||
"increase-scale-label": "Increase Scale by 1",
|
||||
"locked": "Kilitli",
|
||||
|
@ -510,30 +514,32 @@
|
|||
"made-this": "Bunu ben yaptım",
|
||||
"how-did-it-turn-out": "Nasıl oldu?",
|
||||
"user-made-this": "{user} bunu yaptı",
|
||||
"last-made-date": "Last Made {date}",
|
||||
"last-made-date": "En Son {date} Yapıldı",
|
||||
"api-extras-description": "Tarif ekstraları Mealie API'nin önemli bir özelliğidir. Üçüncü taraf uygulamalardan referans almak üzere bir tarif içinde özel JSON anahtar/değer çiftleri oluşturmanıza olanak tanır. Bu tuşları, örneğin otomasyonları tetiklemek veya istediğiniz cihaza iletilecek özel mesajları bilgi sağlamak için kullanabilirsiniz.",
|
||||
"message-key": "Message Key",
|
||||
"parse": "Parse",
|
||||
"attach-images-hint": "Attach images by dragging & dropping them into the editor",
|
||||
"drop-image": "Drop image",
|
||||
"attach-images-hint": "Düzenleyiciye sürükleyip bırakarak görselleri ekleyin",
|
||||
"drop-image": "Yüklenecek resimi sürükleyip bırakın",
|
||||
"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",
|
||||
"edit-markdown": "Edit Markdown",
|
||||
"recipe-creation": "Recipe Creation",
|
||||
"recipe-creation": "Tarif Oluştur",
|
||||
"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",
|
||||
"looking-for-migrations": "Verileri Aktarmayı Mi Arıyorsunuz?",
|
||||
"import-with-url": "URL ile içe aktar",
|
||||
"create-recipe": "Tarif Oluştur",
|
||||
"import-with-zip": ".zip ile içe aktar",
|
||||
"create-recipe-from-an-image": "Görüntüden yemek tarifi oluştur",
|
||||
"bulk-url-import": "Toplu URL İçe Aktarma",
|
||||
"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.",
|
||||
"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",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Aynı anda kazımak istediğiniz birçok tarifiniz mi var?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Toplu ithalatçıyı deneyin",
|
||||
"import-original-keywords-as-tags": "Orijinal anahtar kelimeleri etiket olarak içe aktar",
|
||||
"stay-in-edit-mode": "Stay in Edit mode",
|
||||
"import-from-zip": "Zip'ten içeri aktar",
|
||||
"import-from-zip-description": "Import a single recipe that was exported from another Mealie instance.",
|
||||
|
@ -542,7 +548,7 @@
|
|||
"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",
|
||||
"set-categories-and-tags": "Kategorileri ve Etiketleri Belirleyin",
|
||||
"bulk-imports": "Bulk Imports",
|
||||
"bulk-import-process-has-started": "Bulk Import process has started",
|
||||
"bulk-import-process-has-failed": "Bulk import process has failed",
|
||||
|
@ -555,13 +561,14 @@
|
|||
"unit": "Birim",
|
||||
"upload-image": "Resim yükleyin",
|
||||
"screen-awake": "Ekranı Açık Tut",
|
||||
"remove-image": "Resmi kaldır"
|
||||
"remove-image": "Resmi kaldır",
|
||||
"nextStep": "Sonraki adım"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Advanced Search",
|
||||
"and": "and",
|
||||
"exclude": "Exclude",
|
||||
"include": "Include",
|
||||
"and": "ve",
|
||||
"exclude": "Hariç",
|
||||
"include": "Dahil",
|
||||
"max-results": "Max Results",
|
||||
"or": "Veya",
|
||||
"has-any": "Herhangi biri var",
|
||||
|
@ -588,10 +595,10 @@
|
|||
"create-heading": "Create a Backup",
|
||||
"delete-backup": "Delete Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Full Backup",
|
||||
"import-summary": "Import Summary",
|
||||
"partial-backup": "Partial Backup",
|
||||
"unable-to-delete-backup": "Unable to Delete Backup.",
|
||||
"full-backup": "Tam Yedekleme",
|
||||
"import-summary": "İçe aktarma özeti",
|
||||
"partial-backup": "Parçalı Yedekleme",
|
||||
"unable-to-delete-backup": "Yedekleme Silinemedi.",
|
||||
"experimental-description": "Yedeklemeler, sitenin veritabanının ve veri dizininin toplam anlık görüntüleridir. Bu, tüm verileri içerir ve verilerin alt kümelerini hariç tutacak şekilde ayarlanamaz. Bunu Mealie'nin belirli bir andaki anlık görüntüsü olarak düşünebilirsiniz. Bunlar, verileri dışa ve içe aktarmanın veya siteyi harici bir konuma yedeklemenin veritabanından bağımsız bir yolu olarak hizmet eder.",
|
||||
"backup-restore": "Yedekleme Geri Yükleme",
|
||||
"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.",
|
||||
|
@ -748,11 +755,11 @@
|
|||
"completed-on": "{date} tarihinde tamamladı"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"backups": "Backups",
|
||||
"categories": "Categories",
|
||||
"cookbooks": "Cookbooks",
|
||||
"dashboard": "Dashboard",
|
||||
"all-recipes": "Tüm Tarifler",
|
||||
"backups": "Yedeklemeler",
|
||||
"categories": "Kategoriler",
|
||||
"cookbooks": "Yemek Kitapları",
|
||||
"dashboard": "Pano",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Etiketler",
|
||||
"untagged-count": "Untagged {count}",
|
||||
"create-a-tag": "Create a Tag",
|
||||
"tag-name": "Etiket Adı"
|
||||
"tag-name": "Etiket Adı",
|
||||
"tag": "Etiket"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Tools",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"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": "Required Tools",
|
||||
"tool": "Araç"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Admin",
|
||||
|
@ -817,50 +826,50 @@
|
|||
"email": "E-Posta",
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Full Name",
|
||||
"full-name": "İsim Soyisim",
|
||||
"generate-password-reset-link": "Parola Sıfırlama Bağlantısı Oluştur",
|
||||
"invite-only": "Invite Only",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
"logout": "Logout",
|
||||
"manage-users": "Manage Users",
|
||||
"new-password": "New Password",
|
||||
"invite-only": "Sadece Davetli",
|
||||
"link-id": "Bağlantı kimliği",
|
||||
"link-name": "Bağlantı Adı",
|
||||
"login": "Giriş yap",
|
||||
"logout": "Oturumu Kapat",
|
||||
"manage-users": "Kullanıcıları Yönet",
|
||||
"new-password": "Yeni Şifre",
|
||||
"new-user": "Yeni Kullanıcı",
|
||||
"password-has-been-reset-to-the-default-password": "Password has been reset to the default password",
|
||||
"password-must-match": "Password must match",
|
||||
"password-reset-failed": "Password reset failed",
|
||||
"password-updated": "Password updated",
|
||||
"password": "Password",
|
||||
"password-strength": "Password is {strength}",
|
||||
"password-has-been-reset-to-the-default-password": "Şifre varsayılan şifreye sıfırlandı",
|
||||
"password-must-match": "Şifre uyuşmalı",
|
||||
"password-reset-failed": "Şifre sıfırlama başarısız",
|
||||
"password-updated": "Şifre güncellendi",
|
||||
"password": "Şifre",
|
||||
"password-strength": "Şifre {strength}",
|
||||
"please-enter-password": "Lütfen yeni şifrenizi giriniz.",
|
||||
"register": "Register",
|
||||
"reset-password": "Reset Password",
|
||||
"sign-in": "Sign in",
|
||||
"register": "Üye Ol",
|
||||
"reset-password": "Şifreyi Sıfırla",
|
||||
"sign-in": "Oturum aç",
|
||||
"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-creation-failed": "User creation failed",
|
||||
"user-deleted": "User deleted",
|
||||
"user-id-with-value": "User ID: {id}",
|
||||
"use-8-characters-or-more-for-your-password": "Şifreniz için 8 veya daha fazla karakter kullanın",
|
||||
"user-created": "Kullanıcı oluşturuldu",
|
||||
"user-creation-failed": "Kullanıcı oluşturma başarısız",
|
||||
"user-deleted": "Kullanıcı silindi",
|
||||
"user-id-with-value": "Kullanıcı Kimliği: {id}",
|
||||
"user-id": "Kullanıcı Kimliği",
|
||||
"user-password": "User Password",
|
||||
"user-successfully-logged-in": "User Successfully Logged In",
|
||||
"user-update-failed": "User update failed",
|
||||
"user-updated": "User updated",
|
||||
"user": "Kullanıcı",
|
||||
"username": "Username",
|
||||
"users-header": "USERS",
|
||||
"users": "Users",
|
||||
"username": "Kullanıcı Adı",
|
||||
"users-header": "KULLANICILAR",
|
||||
"users": "Kullanıcılar",
|
||||
"user-not-found": "Kullanıcı bulunamadı",
|
||||
"webhook-time": "Webhook Time",
|
||||
"webhooks-enabled": "Webhooks Enabled",
|
||||
"you-are-not-allowed-to-create-a-user": "You are not allowed to create a user",
|
||||
"you-are-not-allowed-to-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",
|
||||
"enable-advanced-content-description": "Gelişmiş özellikleri etkinleştirir. Tarif Ölçeklendirme, API anahtarları, Web Kancaları ve Veri Yönetimi gibi. Endişelenmeyin, bunu daha sonra istediğiniz zaman değiştirebilirsiniz",
|
||||
"favorite-recipes": "Favorite Recipes",
|
||||
"email-or-username": "E-posta veya Kullanıcı Adı",
|
||||
"remember-me": "Beni Hatırla",
|
||||
|
@ -869,10 +878,10 @@
|
|||
"account-locked-please-try-again-later": "Account Locked. Please try again later",
|
||||
"user-favorites": "User Favorites",
|
||||
"password-strength-values": {
|
||||
"weak": "Weak",
|
||||
"good": "Good",
|
||||
"strong": "Strong",
|
||||
"very-strong": "Very Strong"
|
||||
"weak": "Zayıf",
|
||||
"good": "İyi",
|
||||
"strong": "Güçlü",
|
||||
"very-strong": "Çok güçlü"
|
||||
},
|
||||
"user-management": "Kullanıcı Yönetimi",
|
||||
"reset-locked-users": "Kilitli Kullanıcıları Sıfırla",
|
||||
|
@ -895,11 +904,11 @@
|
|||
"changes-reflected-immediately": "Bu kullanıcıda yapılan değişiklikler hemen yansıtılacaktır."
|
||||
},
|
||||
"language-dialog": {
|
||||
"translated": "translated",
|
||||
"translated": "çevirilmiş",
|
||||
"choose-language": "Dil Seç",
|
||||
"select-description": "Choose the language for the Mealie UI. The setting only applies to you, not other users.",
|
||||
"how-to-contribute-description": "Is something not translated yet, mistranslated, or your language missing from the list? {read-the-docs-link} on how to contribute!",
|
||||
"read-the-docs": "Read the docs"
|
||||
"read-the-docs": "Belgeleri okuyun"
|
||||
},
|
||||
"data-pages": {
|
||||
"foods": {
|
||||
|
@ -914,8 +923,8 @@
|
|||
"food-label": "Food Label",
|
||||
"edit-food": "Yiyecek Düzenle",
|
||||
"food-data": "Food Data",
|
||||
"example-food-singular": "ex: Onion",
|
||||
"example-food-plural": "ex: Onions"
|
||||
"example-food-singular": "örn: Soğan",
|
||||
"example-food-plural": "örn: Soğan"
|
||||
},
|
||||
"units": {
|
||||
"seed-dialog-text": "Seed the database with common units based on your local language.",
|
||||
|
@ -934,10 +943,10 @@
|
|||
"unit-data": "Unit Data",
|
||||
"use-abbv": "Use Abbv.",
|
||||
"fraction": "Fraction",
|
||||
"example-unit-singular": "ex: Tablespoon",
|
||||
"example-unit-plural": "ex: Tablespoons",
|
||||
"example-unit-abbreviation-singular": "ex: Tbsp",
|
||||
"example-unit-abbreviation-plural": "ex: Tbsps"
|
||||
"example-unit-singular": "örn: Yemek kaşığı",
|
||||
"example-unit-plural": "örn: Yemek kaşığı",
|
||||
"example-unit-abbreviation-singular": "örn: Yk",
|
||||
"example-unit-abbreviation-plural": "örn: Yk"
|
||||
},
|
||||
"labels": {
|
||||
"seed-dialog-text": "Seed the database with common labels based on your local language.",
|
||||
|
@ -1155,7 +1164,7 @@
|
|||
"error-sending-email": "Error Sending Email",
|
||||
"personal-information": "Personal Information",
|
||||
"preferences": "Tercihler",
|
||||
"show-advanced-description": "Show advanced features (API Keys, Webhooks, and Data Management)",
|
||||
"show-advanced-description": "Gelişmiş özellikleri göster (API Anahtarları, Web Kancaları ve Veri Yönetimi)",
|
||||
"back-to-profile": "Back to Profile",
|
||||
"looking-for-privacy-settings": "Looking for Privacy Settings?",
|
||||
"manage-your-api-tokens": "API Belirteçlerinizi Yönetin",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Require All Tags",
|
||||
"require-all-tools": "Require All Tools",
|
||||
"cookbook-name": "Cookbook Name",
|
||||
"cookbook-with-name": "Cookbook {0}"
|
||||
"cookbook-with-name": "Cookbook {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Вивантажити файл",
|
||||
"created-on-date": "Створено: {0}",
|
||||
"unsaved-changes": "У вас є незбережені зміни. Ви хочете зберегти їх перед виходом? Гаразд, щоб зберегти, Скасувати, щоб скасувати.",
|
||||
"clipboard-copy-failure": "Не вдалося скопіювати до буфера обміну."
|
||||
"clipboard-copy-failure": "Не вдалося скопіювати до буфера обміну.",
|
||||
"confirm-delete-generic-items": "Ви впевнені, що хочете видалити вибрані елементи?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Ви дійсно бажаєте видалити <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Створити новий план харчування",
|
||||
"update-this-meal-plan": "Оновити цей план харчування",
|
||||
"dinner-this-week": "Обід цього тижня",
|
||||
"dinner-today": "Обід сьогодні",
|
||||
"dinner-tonight": "Вечеря сьогодні",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Додати до хроніки",
|
||||
"recipe-added-to-list": "Рецепт додано до списку",
|
||||
"recipes-added-to-list": "Рецепти додані до списку",
|
||||
"successfully-added-to-list": "Успішно додано до списку",
|
||||
"recipe-added-to-mealplan": "Рецепт додано до плану харчування",
|
||||
"failed-to-add-recipes-to-list": "Не вдалося додати рецепт до списку",
|
||||
"failed-to-add-recipe-to-mealplan": "Не вдалося додати рецепт до плану харчування",
|
||||
"failed-to-add-to-list": "Не вдалося додати до списку",
|
||||
"yield": "Вихід",
|
||||
"quantity": "Кількість",
|
||||
"choose-unit": "Виберіть одиниці вимірювання",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "Назви нового рецепту має бути унікальна",
|
||||
"scrape-recipe": "Розпізнати рецепт",
|
||||
"scrape-recipe-description": "Розпізнати рецепт за посиланням. Вкажіть посилання на рецепт який ви хочете розпізнати й Mealie спробує розпізнати його і додати в вашу колекцію.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Багато рецептів, які ви хочете розпізнати відразу?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Спробуйте масовий розпізнавач",
|
||||
"import-original-keywords-as-tags": "Імпортувати оригінальні ключові слова як теги",
|
||||
"stay-in-edit-mode": "Залишитися в режимі редактора",
|
||||
"import-from-zip": "Імпортувати з Zip",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Одиниця виміру",
|
||||
"upload-image": "Вивантажити зображення",
|
||||
"screen-awake": "Тримати екран активним",
|
||||
"remove-image": "Видалити зображення"
|
||||
"remove-image": "Видалити зображення",
|
||||
"nextStep": "Наступний крок"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Розширений пошук",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Мітки",
|
||||
"untagged-count": "Без мітки {count}",
|
||||
"create-a-tag": "Створити тег",
|
||||
"tag-name": "Назва тегу"
|
||||
"tag-name": "Назва тегу",
|
||||
"tag": "Мітка"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Інструменти",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "Назва інструмента",
|
||||
"create-new-tool": "Створити новий інструмент",
|
||||
"on-hand-checkbox-label": "Показувати як в наявності (позначено)",
|
||||
"required-tools": "Необхідні інструменти"
|
||||
"required-tools": "Необхідні інструменти",
|
||||
"tool": "Інструмент"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Адміністратор",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Вимагати всі мітки",
|
||||
"require-all-tools": "Вимагати всі інструменти",
|
||||
"cookbook-name": "Назва кулінарної книги",
|
||||
"cookbook-with-name": "Кулінарна книга {0}"
|
||||
"cookbook-with-name": "Кулінарна книга {0}",
|
||||
"create-a-cookbook": "Створити кулінарну книгу",
|
||||
"cookbook": "Кулінарна книга"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "Upload File",
|
||||
"created-on-date": "Created on: {0}",
|
||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Create a New Meal Plan",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "Dinner This Week",
|
||||
"dinner-today": "Dinner Today",
|
||||
"dinner-tonight": "DINNER TONIGHT",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Add to Timeline",
|
||||
"recipe-added-to-list": "Recipe added to list",
|
||||
"recipes-added-to-list": "Recipes added to list",
|
||||
"successfully-added-to-list": "Successfully 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",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Yield",
|
||||
"quantity": "Quantity",
|
||||
"choose-unit": "Choose Unit",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "New recipe names must be unique",
|
||||
"scrape-recipe": "Scrape Recipe",
|
||||
"scrape-recipe-description": "Scrape a recipe by url. Provide the url for the site you want to scrape, and Mealie will attempt to scrape the recipe from that site and add it to your collection.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Import original keywords as tags",
|
||||
"stay-in-edit-mode": "Stay in Edit mode",
|
||||
"import-from-zip": "Import from Zip",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Unit",
|
||||
"upload-image": "Upload image",
|
||||
"screen-awake": "Keep Screen Awake",
|
||||
"remove-image": "Remove image"
|
||||
"remove-image": "Remove image",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Advanced Search",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "Tags",
|
||||
"untagged-count": "Untagged {count}",
|
||||
"create-a-tag": "Create a Tag",
|
||||
"tag-name": "Tag Name"
|
||||
"tag-name": "Tag Name",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Tools",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"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": "Required Tools",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Admin",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "Require All Tags",
|
||||
"require-all-tools": "Require All Tools",
|
||||
"cookbook-name": "Cookbook Name",
|
||||
"cookbook-with-name": "Cookbook {0}"
|
||||
"cookbook-with-name": "Cookbook {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "上传文件",
|
||||
"created-on-date": "创建于: {0}",
|
||||
"unsaved-changes": "你有未保存的更改。你希望现在离开前保存吗?保存选择“是”,不保存选择“取消”。",
|
||||
"clipboard-copy-failure": "未能复制到剪切板。"
|
||||
"clipboard-copy-failure": "未能复制到剪切板。",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "您确定要删除<b>{groupName}<b/>吗?",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "新建饮食计划",
|
||||
"update-this-meal-plan": "更新该饮食计划",
|
||||
"dinner-this-week": "本周晚餐",
|
||||
"dinner-today": "今日晚餐",
|
||||
"dinner-tonight": "今晚食谱",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "添加到时间轴",
|
||||
"recipe-added-to-list": "食谱已被添加到购物清单",
|
||||
"recipes-added-to-list": "食谱已被添加到购物清单",
|
||||
"successfully-added-to-list": "Successfully added to list",
|
||||
"recipe-added-to-mealplan": "已添加该食谱到饮食计划",
|
||||
"failed-to-add-recipes-to-list": "食谱未能添加到购物清单",
|
||||
"failed-to-add-recipe-to-mealplan": "添加食谱到饮食计划失败",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "菜量(几人份)",
|
||||
"quantity": "数量",
|
||||
"choose-unit": "选择单位",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "新食谱名必须唯一",
|
||||
"scrape-recipe": "刮削食谱",
|
||||
"scrape-recipe-description": "通过URL刮削食谱。提供你想要刮削网址的URL,Mealie会尝试从该网址刮削食谱并添加到你的收藏中。",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "你想要一次刮削多个食谱吗?",
|
||||
"scrape-recipe-suggest-bulk-importer": "试试批量导入器",
|
||||
"import-original-keywords-as-tags": "导入原始关键字作为标签",
|
||||
"stay-in-edit-mode": "留在编辑模式",
|
||||
"import-from-zip": "从Zip压缩包导入",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "单位",
|
||||
"upload-image": "上传图片",
|
||||
"screen-awake": "保持屏幕唤醒",
|
||||
"remove-image": "删除图片"
|
||||
"remove-image": "删除图片",
|
||||
"nextStep": "下一步"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "高级搜索",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "标签",
|
||||
"untagged-count": "无标签的共 {count} 个",
|
||||
"create-a-tag": "创建标签",
|
||||
"tag-name": "标签名称"
|
||||
"tag-name": "标签名称",
|
||||
"tag": "标签"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "用具",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"tool-name": "用具名称",
|
||||
"create-new-tool": "新建用具",
|
||||
"on-hand-checkbox-label": "显示为在手上(选中)",
|
||||
"required-tools": "所需用具"
|
||||
"required-tools": "所需用具",
|
||||
"tool": "用具"
|
||||
},
|
||||
"user": {
|
||||
"admin": "管理员",
|
||||
|
@ -1177,6 +1186,8 @@
|
|||
"require-all-tags": "包含全部标签",
|
||||
"require-all-tools": "包含全部工具",
|
||||
"cookbook-name": "食谱名称",
|
||||
"cookbook-with-name": "{0}合集"
|
||||
"cookbook-with-name": "{0}合集",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
"upload-file": "上傳文件",
|
||||
"created-on-date": "Created on: {0}",
|
||||
"unsaved-changes": "You have unsaved changes. Do you want to save before leaving? Okay to save, Cancel to discard changes.",
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard."
|
||||
"clipboard-copy-failure": "Failed to copy to the clipboard.",
|
||||
"confirm-delete-generic-items": "Are you sure you want to delete the following items?"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "確定要刪除<b>{groupName}<b/>?",
|
||||
|
@ -249,7 +250,7 @@
|
|||
"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",
|
||||
"report": "報告",
|
||||
"report-with-id": "Report ID: {id}",
|
||||
"group-management": "Group Management",
|
||||
"admin-group-management": "Admin Group Management",
|
||||
|
@ -258,6 +259,7 @@
|
|||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "創建一個新的用餐計劃",
|
||||
"update-this-meal-plan": "Update this Meal Plan",
|
||||
"dinner-this-week": "本週晚餐",
|
||||
"dinner-today": "今日晚餐",
|
||||
"dinner-tonight": "今晚晚餐",
|
||||
|
@ -292,7 +294,7 @@
|
|||
"day-any": "Any",
|
||||
"editor": "Editor",
|
||||
"meal-recipe": "Meal Recipe",
|
||||
"meal-title": "Meal Title",
|
||||
"meal-title": "用餐標題",
|
||||
"meal-note": "Meal Note",
|
||||
"note-only": "Note Only",
|
||||
"random-meal": "Random Meal",
|
||||
|
@ -472,9 +474,11 @@
|
|||
"add-to-timeline": "Add to Timeline",
|
||||
"recipe-added-to-list": "Recipe added to list",
|
||||
"recipes-added-to-list": "Recipes added to list",
|
||||
"successfully-added-to-list": "Successfully 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",
|
||||
"failed-to-add-to-list": "Failed to add to list",
|
||||
"yield": "Yield",
|
||||
"quantity": "Quantity",
|
||||
"choose-unit": "Choose Unit",
|
||||
|
@ -533,6 +537,8 @@
|
|||
"new-recipe-names-must-be-unique": "New recipe names must be unique",
|
||||
"scrape-recipe": "Scrape Recipe",
|
||||
"scrape-recipe-description": "Scrape a recipe by url. Provide the url for the site you want to scrape, and Mealie will attempt to scrape the recipe from that site and add it to your collection.",
|
||||
"scrape-recipe-have-a-lot-of-recipes": "Have a lot of recipes you want to scrape at once?",
|
||||
"scrape-recipe-suggest-bulk-importer": "Try out the bulk importer",
|
||||
"import-original-keywords-as-tags": "Import original keywords as tags",
|
||||
"stay-in-edit-mode": "Stay in Edit mode",
|
||||
"import-from-zip": "Import from Zip",
|
||||
|
@ -555,7 +561,8 @@
|
|||
"unit": "Unit",
|
||||
"upload-image": "Upload image",
|
||||
"screen-awake": "Keep Screen Awake",
|
||||
"remove-image": "Remove image"
|
||||
"remove-image": "Remove image",
|
||||
"nextStep": "Next step"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "進階搜尋",
|
||||
|
@ -706,7 +713,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": "Mealie已經更新了",
|
||||
"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",
|
||||
|
@ -751,7 +758,7 @@
|
|||
"all-recipes": "所有食譜",
|
||||
"backups": "Backups",
|
||||
"categories": "類別",
|
||||
"cookbooks": "Cookbooks",
|
||||
"cookbooks": "食譜",
|
||||
"dashboard": "控制面板",
|
||||
"home-page": "首頁",
|
||||
"manage-users": "管理使用者",
|
||||
|
@ -766,8 +773,8 @@
|
|||
"background-tasks": "Background Tasks",
|
||||
"parser": "Parser",
|
||||
"developer": "Developer",
|
||||
"cookbook": "Cookbook",
|
||||
"create-cookbook": "Create a new cookbook"
|
||||
"cookbook": "食譜",
|
||||
"create-cookbook": "新建一個食譜合集"
|
||||
},
|
||||
"signup": {
|
||||
"error-signing-up": "註冊失敗",
|
||||
|
@ -789,7 +796,8 @@
|
|||
"tags": "標籤",
|
||||
"untagged-count": "為標記的 {count}",
|
||||
"create-a-tag": "Create a Tag",
|
||||
"tag-name": "Tag Name"
|
||||
"tag-name": "Tag Name",
|
||||
"tag": "Tag"
|
||||
},
|
||||
"tool": {
|
||||
"tools": "Tools",
|
||||
|
@ -798,7 +806,8 @@
|
|||
"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": "Required Tools",
|
||||
"tool": "Tool"
|
||||
},
|
||||
"user": {
|
||||
"admin": "管理員",
|
||||
|
@ -897,7 +906,7 @@
|
|||
"language-dialog": {
|
||||
"translated": "translated",
|
||||
"choose-language": "Choose Language",
|
||||
"select-description": "Choose the language for the Mealie UI. The setting only applies to you, not other users.",
|
||||
"select-description": "選擇Mealie 使用者介面 的語言。 此設定僅適用於您,不適用於其他使用者。",
|
||||
"how-to-contribute-description": "Is something not translated yet, mistranslated, or your language missing from the list? {read-the-docs-link} on how to contribute!",
|
||||
"read-the-docs": "Read the docs"
|
||||
},
|
||||
|
@ -1049,7 +1058,7 @@
|
|||
"split-by-block": "Split by text block",
|
||||
"flatten": "Flatten regardless of original formating",
|
||||
"help": {
|
||||
"help": "Help",
|
||||
"help": "幫助",
|
||||
"mouse-modes": "Mouse modes",
|
||||
"selection-mode": "Selection Mode (default)",
|
||||
"selection-mode-desc": "The selection mode is the main mode that can be used to enter data:",
|
||||
|
@ -1101,7 +1110,7 @@
|
|||
"actions-description-destructive": "destructive",
|
||||
"actions-description-irreversible": "irreversible",
|
||||
"logs-action-refresh": "Refresh Logs",
|
||||
"logs-page-title": "Mealie Logs",
|
||||
"logs-page-title": "Mealie紀錄",
|
||||
"logs-tail-lines-label": "Tail Lines"
|
||||
},
|
||||
"mainentance": {
|
||||
|
@ -1160,14 +1169,14 @@
|
|||
"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",
|
||||
"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.",
|
||||
|
@ -1176,7 +1185,9 @@
|
|||
"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}"
|
||||
"cookbook-name": "食譜名",
|
||||
"cookbook-with-name": "食譜 {0}",
|
||||
"create-a-cookbook": "Create a Cookbook",
|
||||
"cookbook": "Cookbook"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ import { SidebarLinks } from "~/types/application-types";
|
|||
|
||||
export default defineComponent({
|
||||
components: { AppHeader, AppSidebar, TheSnackbar },
|
||||
middleware: "auth",
|
||||
middleware: ["auth", "admin-only"],
|
||||
auth: true,
|
||||
setup() {
|
||||
const { $globals, i18n, $vuetify } = useContext();
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { BaseAPI } from "../base/base-clients";
|
||||
import { AdminAboutInfo, DockerVolumeText, CheckAppConfig } from "~/lib/api/types/admin";
|
||||
import { AdminAboutInfo, CheckAppConfig } from "~/lib/api/types/admin";
|
||||
|
||||
const prefix = "/api";
|
||||
|
||||
|
@ -24,10 +24,6 @@ export class AdminAboutAPI extends BaseAPI {
|
|||
return await this.requests.get<CheckAppConfig>(routes.check);
|
||||
}
|
||||
|
||||
async checkDocker() {
|
||||
return await this.requests.get<DockerVolumeText>(routes.docker);
|
||||
}
|
||||
|
||||
async getDockerValidateFileContents() {
|
||||
return await this.requests.get<string>(routes.validationFile);
|
||||
}
|
||||
|
|
|
@ -151,9 +151,6 @@ export interface CustomPageOut {
|
|||
categories?: RecipeCategoryResponse[];
|
||||
id: number;
|
||||
}
|
||||
export interface DockerVolumeText {
|
||||
text: string;
|
||||
}
|
||||
export interface EmailReady {
|
||||
ready: boolean;
|
||||
}
|
||||
|
|
10
frontend/middleware/admin-only.ts
Normal file
10
frontend/middleware/admin-only.ts
Normal file
|
@ -0,0 +1,10 @@
|
|||
interface AuthRedirectParams {
|
||||
$auth: any
|
||||
redirect: (path: string) => void
|
||||
}
|
||||
export default function ({ $auth, redirect }: AuthRedirectParams) {
|
||||
// If the user is not an admin redirect to the home page
|
||||
if (!$auth.user.admin) {
|
||||
return redirect("/")
|
||||
}
|
||||
}
|
|
@ -16,7 +16,7 @@ export default {
|
|||
hid: "og:image",
|
||||
property: "og:image",
|
||||
content:
|
||||
"https://raw.githubusercontent.com/hay-kot/mealie/dev/frontend/public/img/icons/android-chrome-512x512.png",
|
||||
"https://raw.githubusercontent.com/mealie-recipes/mealie/9571816ac4eed5beacfc0abf6c03eff1427fd0eb/frontend/static/icons/android-chrome-512x512.png",
|
||||
},
|
||||
{ charset: "utf-8" },
|
||||
{ name: "viewport", content: "width=device-width, initial-scale=1" },
|
||||
|
@ -195,6 +195,7 @@ export default {
|
|||
{ code: "fr-FR", file: "fr-FR.json" },
|
||||
{ code: "zh-TW", file: "zh-TW.json" },
|
||||
{ code: "af-ZA", file: "af-ZA.json" },
|
||||
{ code: "is-IS", file: "is-IS.json" },
|
||||
{ code: "sl-SI", file: "sl-SI.json" },
|
||||
{ code: "ru-RU", file: "ru-RU.json" },
|
||||
{ code: "he-IL", file: "he-IL.json" },
|
||||
|
|
|
@ -147,7 +147,7 @@ export default defineComponent({
|
|||
async function createBackup() {
|
||||
const { data } = await adminApi.backups.create();
|
||||
|
||||
if (!data?.error) {
|
||||
if (data?.error === false) {
|
||||
refreshBackups();
|
||||
alert.success(i18n.tc("settings.backup.backup-created"));
|
||||
} else {
|
||||
|
|
|
@ -58,10 +58,10 @@
|
|||
:title="$tc('admin.mainentance.actions-title')"
|
||||
>
|
||||
<i18n path="admin.maintenance.actions-description">
|
||||
<template #destructive-in-bold>
|
||||
<template #destructive_in_bold>
|
||||
<b>{{ $t("admin.maintenance.actions-description-destructive") }}</b>
|
||||
</template>
|
||||
<template #irreversible-in-bold>
|
||||
<template #irreversible_in_bold>
|
||||
<b>{{ $t("admin.maintenance.actions-description-irreversible") }}</b>
|
||||
</template>
|
||||
</i18n>
|
||||
|
|
|
@ -74,7 +74,13 @@ export default defineComponent({
|
|||
|
||||
const { response, data } = await adminApi.groups.updateOne(group.value.id, group.value);
|
||||
if (response?.status === 200 && data) {
|
||||
if (group.value.slug !== data.slug) {
|
||||
// the slug updated, which invalidates the nav URLs
|
||||
window.location.reload();
|
||||
}
|
||||
group.value = data;
|
||||
} else {
|
||||
alert.error(i18n.tc("settings.settings-update-failed"));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -121,7 +121,7 @@
|
|||
</template>
|
||||
<template v-else-if="property.slot === 'build'">
|
||||
<v-list-item-subtitle>
|
||||
<a target="_blank" :href="`https://github.com/hay-kot/mealie/commit/${property.value}`">
|
||||
<a target="_blank" :href="`https://github.com/mealie-recipes/mealie/commit/${property.value}`">
|
||||
{{ property.value }}
|
||||
</a>
|
||||
</v-list-item-subtitle>
|
||||
|
|
|
@ -1,73 +1,81 @@
|
|||
<template>
|
||||
<v-container class="narrow-container">
|
||||
<BasePageTitle divider>
|
||||
<template #header>
|
||||
<v-img max-height="100" max-width="100" :src="require('~/static/svgs/manage-cookbooks.svg')"></v-img>
|
||||
</template>
|
||||
<template #title> {{ $t('cookbook.cookbooks') }} </template>
|
||||
{{ $t('cookbook.description') }}
|
||||
</BasePageTitle>
|
||||
<div>
|
||||
<!-- Create Dialog -->
|
||||
<BaseDialog
|
||||
v-if="createTarget"
|
||||
v-model="dialogStates.create"
|
||||
:width="650"
|
||||
:icon="$globals.icons.pages"
|
||||
:title="$t('cookbook.create-a-cookbook')"
|
||||
:submit-icon="$globals.icons.save"
|
||||
:submit-text="$tc('general.save')"
|
||||
@submit="actions.updateOne(createTarget)"
|
||||
@cancel="actions.deleteOne(createTarget.id)"
|
||||
>
|
||||
<v-card-text>
|
||||
<CookbookEditor
|
||||
:cookbook=createTarget
|
||||
:actions="actions"
|
||||
/>
|
||||
</v-card-text>
|
||||
</BaseDialog>
|
||||
|
||||
<BaseButton create @click="actions.createOne()" />
|
||||
<v-expansion-panels class="mt-2">
|
||||
<draggable v-model="cookbooks" handle=".handle" style="width: 100%" @change="actions.updateOrder()">
|
||||
<v-expansion-panel v-for="(cookbook, index) in cookbooks" :key="index" class="my-2 left-border rounded">
|
||||
<v-expansion-panel-header disable-icon-rotate class="headline">
|
||||
<div class="d-flex align-center">
|
||||
<v-icon large left>
|
||||
{{ $globals.icons.pages }}
|
||||
</v-icon>
|
||||
{{ cookbook.name }}
|
||||
</div>
|
||||
<template #actions>
|
||||
<v-icon class="handle">
|
||||
{{ $globals.icons.arrowUpDown }}
|
||||
</v-icon>
|
||||
<v-btn icon small class="ml-2">
|
||||
<v-icon>
|
||||
{{ $globals.icons.edit }}
|
||||
<!-- Delete Dialog -->
|
||||
<BaseDialog
|
||||
v-model="dialogStates.delete"
|
||||
:title="$t('general.delete-with-name', { name: $t('cookbook.cookbook') })"
|
||||
:icon="$globals.icons.alertCircle"
|
||||
color="error"
|
||||
@confirm="deleteCookbook()"
|
||||
>
|
||||
<v-card-text>
|
||||
<p>{{ $t("general.confirm-delete-generic-with-name", { name: $t('cookbook.cookbook') }) }}</p>
|
||||
<p v-if="deleteTarget" class="mt-4 ml-4">{{ deleteTarget.name }}</p>
|
||||
</v-card-text>
|
||||
</BaseDialog>
|
||||
|
||||
<!-- Cookbook Page -->
|
||||
<!-- Page Title -->
|
||||
<v-container class="narrow-container">
|
||||
<BasePageTitle divider>
|
||||
<template #header>
|
||||
<v-img max-height="100" max-width="100" :src="require('~/static/svgs/manage-cookbooks.svg')"></v-img>
|
||||
</template>
|
||||
<template #title> {{ $t('cookbook.cookbooks') }} </template>
|
||||
{{ $t('cookbook.description') }}
|
||||
</BasePageTitle>
|
||||
|
||||
<!-- Create New -->
|
||||
<BaseButton create @click="createCookbook" />
|
||||
|
||||
<!-- Cookbook List -->
|
||||
<v-expansion-panels class="mt-2">
|
||||
<draggable v-model="cookbooks" handle=".handle" style="width: 100%" @change="actions.updateOrder()">
|
||||
<v-expansion-panel v-for="(cookbook, index) in cookbooks" :key="index" class="my-2 left-border rounded">
|
||||
<v-expansion-panel-header disable-icon-rotate class="headline">
|
||||
<div class="d-flex align-center">
|
||||
<v-icon large left>
|
||||
{{ $globals.icons.pages }}
|
||||
</v-icon>
|
||||
</v-btn>
|
||||
</template>
|
||||
</v-expansion-panel-header>
|
||||
<v-expansion-panel-content>
|
||||
<v-card-text v-if="cookbooks">
|
||||
<v-text-field v-model="cookbooks[index].name" :label="$t('cookbook.cookbook-name')"></v-text-field>
|
||||
<v-textarea v-model="cookbooks[index].description" auto-grow :rows="2" :label="$t('recipe.description')"></v-textarea>
|
||||
<RecipeOrganizerSelector v-model="cookbooks[index].categories" selector-type="categories" />
|
||||
<RecipeOrganizerSelector v-model="cookbooks[index].tags" selector-type="tags" />
|
||||
<RecipeOrganizerSelector v-model="cookbooks[index].tools" selector-type="tools" />
|
||||
<v-switch v-model="cookbooks[index].public" hide-details single-line>
|
||||
<template #label>
|
||||
{{ $t('cookbook.public-cookbook') }}
|
||||
<HelpIcon small right class="ml-2">
|
||||
{{ $t('cookbook.public-cookbook-description') }}
|
||||
</HelpIcon>
|
||||
</template>
|
||||
</v-switch>
|
||||
<div class="mt-4">
|
||||
<h3 class="text-subtitle-1 d-flex align-center mb-0 pb-0">
|
||||
{{ $t('cookbook.filter-options') }}
|
||||
<HelpIcon right small class="ml-2">
|
||||
{{ $t('cookbook.filter-options-description') }}
|
||||
</HelpIcon>
|
||||
</h3>
|
||||
<v-switch v-model="cookbooks[index].requireAllCategories" class="mt-0" hide-details single-line>
|
||||
<template #label> {{ $t('cookbook.require-all-categories') }} </template>
|
||||
</v-switch>
|
||||
<v-switch v-model="cookbooks[index].requireAllTags" hide-details single-line>
|
||||
<template #label> {{ $t('cookbook.require-all-tags') }} </template>
|
||||
</v-switch>
|
||||
<v-switch v-model="cookbooks[index].requireAllTools" hide-details single-line>
|
||||
<template #label> {{ $t('cookbook.require-all-tools') }} </template>
|
||||
</v-switch>
|
||||
{{ cookbook.name }}
|
||||
</div>
|
||||
</v-card-text>
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
<BaseButtonGroup
|
||||
:buttons="[
|
||||
{
|
||||
<template #actions>
|
||||
<v-icon class="handle">
|
||||
{{ $globals.icons.arrowUpDown }}
|
||||
</v-icon>
|
||||
<v-btn icon small class="ml-2">
|
||||
<v-icon>
|
||||
{{ $globals.icons.edit }}
|
||||
</v-icon>
|
||||
</v-btn>
|
||||
</template>
|
||||
</v-expansion-panel-header>
|
||||
<v-expansion-panel-content>
|
||||
<CookbookEditor :cookbook="cookbook" :actions="actions" :collapsable="false" @delete="deleteEventHandler" />
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
<BaseButtonGroup
|
||||
:buttons="[{
|
||||
icon: $globals.icons.delete,
|
||||
text: $tc('general.delete'),
|
||||
event: 'delete',
|
||||
|
@ -78,26 +86,27 @@
|
|||
event: 'save',
|
||||
},
|
||||
]"
|
||||
@delete="actions.deleteOne(cookbook.id)"
|
||||
@save="actions.updateOne(cookbook)"
|
||||
/>
|
||||
</v-card-actions>
|
||||
</v-expansion-panel-content>
|
||||
</v-expansion-panel>
|
||||
</draggable>
|
||||
</v-expansion-panels>
|
||||
</v-container>
|
||||
@delete="deleteEventHandler(cookbook)"
|
||||
@save="actions.updateOne(cookbook)" />
|
||||
</v-card-actions>
|
||||
</v-expansion-panel-content>
|
||||
</v-expansion-panel>
|
||||
</draggable>
|
||||
</v-expansion-panels>
|
||||
</v-container>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { defineComponent, useRouter } from "@nuxtjs/composition-api";
|
||||
import { defineComponent, reactive, ref, useRouter } from "@nuxtjs/composition-api";
|
||||
import draggable from "vuedraggable";
|
||||
import { useCookbooks } from "@/composables/use-group-cookbooks";
|
||||
import { useLoggedInState } from "~/composables/use-logged-in-state";
|
||||
import RecipeOrganizerSelector from "~/components/Domain/Recipe/RecipeOrganizerSelector.vue";
|
||||
import CookbookEditor from "~/components/Domain/Cookbook/CookbookEditor.vue";
|
||||
import { ReadCookBook } from "~/lib/api/types/cookbook";
|
||||
|
||||
export default defineComponent({
|
||||
components: { draggable, RecipeOrganizerSelector },
|
||||
components: { CookbookEditor, draggable },
|
||||
setup() {
|
||||
const { isOwnGroup, loggedIn } = useLoggedInState();
|
||||
const router = useRouter();
|
||||
|
@ -106,11 +115,50 @@ export default defineComponent({
|
|||
router.back();
|
||||
}
|
||||
|
||||
const dialogStates = reactive({
|
||||
create: false,
|
||||
delete: false,
|
||||
});
|
||||
|
||||
const { cookbooks, actions } = useCookbooks();
|
||||
|
||||
|
||||
// create
|
||||
const createTarget = ref<ReadCookBook | null>(null);
|
||||
async function createCookbook() {
|
||||
await actions.createOne().then((cookbook) => {
|
||||
createTarget.value = cookbook as ReadCookBook;
|
||||
});
|
||||
dialogStates.create = true;
|
||||
}
|
||||
|
||||
// delete
|
||||
const deleteTarget = ref<ReadCookBook | null>(null);
|
||||
function deleteEventHandler(item: ReadCookBook){
|
||||
deleteTarget.value = item;
|
||||
dialogStates.delete = true;
|
||||
}
|
||||
function deleteCookbook() {
|
||||
if (!deleteTarget.value) {
|
||||
return;
|
||||
}
|
||||
actions.deleteOne(deleteTarget.value.id);
|
||||
dialogStates.delete = false;
|
||||
deleteTarget.value = null;
|
||||
}
|
||||
|
||||
return {
|
||||
cookbooks,
|
||||
actions,
|
||||
dialogStates,
|
||||
// create
|
||||
createTarget,
|
||||
createCookbook,
|
||||
|
||||
// delete
|
||||
deleteTarget,
|
||||
deleteEventHandler,
|
||||
deleteCookbook,
|
||||
};
|
||||
},
|
||||
head() {
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
<AdvancedOnly>
|
||||
<v-container class="d-flex justify-center align-center my-4">
|
||||
<a :to="`/group/migrations`"> {{ $t('recipe.looking-for-migrations') }}</a>
|
||||
<router-link :to="`/group/migrations`"> {{ $t('recipe.looking-for-migrations') }}</router-link>
|
||||
</v-container>
|
||||
</AdvancedOnly>
|
||||
</div>
|
||||
|
@ -42,6 +42,11 @@ export default defineComponent({
|
|||
text: i18n.tc("recipe.import-with-url"),
|
||||
value: "url",
|
||||
},
|
||||
{
|
||||
icon: $globals.icons.link,
|
||||
text: i18n.tc("recipe.bulk-url-import"),
|
||||
value: "bulk",
|
||||
},
|
||||
{
|
||||
icon: $globals.icons.edit,
|
||||
text: i18n.tc("recipe.create-recipe"),
|
||||
|
@ -52,11 +57,6 @@ export default defineComponent({
|
|||
text: i18n.tc("recipe.import-with-zip"),
|
||||
value: "zip",
|
||||
},
|
||||
{
|
||||
icon: $globals.icons.link,
|
||||
text: i18n.tc("recipe.bulk-url-import"),
|
||||
value: "bulk",
|
||||
},
|
||||
{
|
||||
icon: $globals.icons.robot,
|
||||
text: i18n.tc("recipe.debug-scraper"),
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
<div>
|
||||
<v-card-title class="headline"> {{ $t('recipe.scrape-recipe') }} </v-card-title>
|
||||
<v-card-text>
|
||||
{{ $t('recipe.scrape-recipe-description') }}
|
||||
<p>{{ $t('recipe.scrape-recipe-description') }}</p>
|
||||
<p>{{ $t('recipe.scrape-recipe-have-a-lot-of-recipes') }} <a :href="bulkImporterTarget">{{ $t('recipe.scrape-recipe-suggest-bulk-importer') }}</a>.</p>
|
||||
<v-text-field
|
||||
v-model="recipeUrl"
|
||||
:label="$t('new-recipe.recipe-url')"
|
||||
|
@ -94,6 +95,8 @@ export default defineComponent({
|
|||
const router = useRouter();
|
||||
const tags = useTagStore();
|
||||
|
||||
const bulkImporterTarget = computed(() => `/g/${groupSlug.value}/r/create/bulk`);
|
||||
|
||||
function handleResponse(response: AxiosResponse<string> | null, edit = false, refreshTags = false) {
|
||||
if (response?.status !== 201) {
|
||||
state.error = true;
|
||||
|
@ -167,6 +170,7 @@ export default defineComponent({
|
|||
}
|
||||
|
||||
return {
|
||||
bulkImporterTarget,
|
||||
recipeUrl,
|
||||
importKeywordsAsTags,
|
||||
stayInEditMode,
|
||||
|
|
|
@ -49,15 +49,41 @@
|
|||
</v-card-text>
|
||||
</BaseDialog>
|
||||
|
||||
<!-- Bulk Delete Dialog -->
|
||||
<BaseDialog
|
||||
v-model="state.bulkDeleteDialog"
|
||||
width="650px"
|
||||
:title="$tc('general.confirm')"
|
||||
:icon="$globals.icons.alertCircle"
|
||||
color="error"
|
||||
@confirm="deleteSelected"
|
||||
>
|
||||
<v-card-text>
|
||||
<p class="h4">{{ $t('general.confirm-delete-generic-items') }}</p>
|
||||
<v-card outlined>
|
||||
<v-virtual-scroll height="400" item-height="25" :items="bulkDeleteTarget">
|
||||
<template #default="{ item }">
|
||||
<v-list-item class="pb-2">
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>{{ item.name }}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
</template>
|
||||
</v-virtual-scroll>
|
||||
</v-card>
|
||||
</v-card-text>
|
||||
</BaseDialog>
|
||||
|
||||
<!-- Data Table -->
|
||||
<BaseCardSectionTitle :icon="$globals.icons.categories" section :title="$tc('data-pages.categories.category-data')"> </BaseCardSectionTitle>
|
||||
<CrudTable
|
||||
:table-config="tableConfig"
|
||||
:headers.sync="tableHeaders"
|
||||
:data="categories || []"
|
||||
:bulk-actions="[]"
|
||||
:bulk-actions="[{icon: $globals.icons.delete, text: $tc('general.delete'), event: 'delete-selected'}]"
|
||||
@delete-one="deleteEventHandler"
|
||||
@edit-one="editEventHandler"
|
||||
@delete-selected="bulkDeleteEventHandler"
|
||||
>
|
||||
<template #button-row>
|
||||
<BaseButton create @click="state.createDialog = true">{{ $t("general.create") }}</BaseButton>
|
||||
|
@ -96,6 +122,7 @@ export default defineComponent({
|
|||
createDialog: false,
|
||||
editDialog: false,
|
||||
deleteDialog: false,
|
||||
bulkDeleteDialog: false,
|
||||
});
|
||||
const categoryData = useCategoryData();
|
||||
const categoryStore = useCategoryStore();
|
||||
|
@ -149,6 +176,24 @@ export default defineComponent({
|
|||
state.deleteDialog = false;
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// Bulk Delete Category
|
||||
const bulkDeleteTarget = ref<RecipeCategory[]>([]);
|
||||
function bulkDeleteEventHandler(selection: RecipeCategory[]) {
|
||||
bulkDeleteTarget.value = selection;
|
||||
state.bulkDeleteDialog = true;
|
||||
}
|
||||
|
||||
async function deleteSelected() {
|
||||
for (const item of bulkDeleteTarget.value) {
|
||||
if (!item.id) {
|
||||
continue;
|
||||
}
|
||||
await categoryStore.actions.deleteOne(item.id);
|
||||
}
|
||||
bulkDeleteTarget.value = [];
|
||||
}
|
||||
|
||||
return {
|
||||
state,
|
||||
tableConfig,
|
||||
|
@ -168,7 +213,12 @@ export default defineComponent({
|
|||
// delete
|
||||
deleteTarget,
|
||||
deleteEventHandler,
|
||||
deleteCategory
|
||||
deleteCategory,
|
||||
|
||||
// bulk delete
|
||||
bulkDeleteTarget,
|
||||
bulkDeleteEventHandler,
|
||||
deleteSelected,
|
||||
};
|
||||
},
|
||||
});
|
||||
|
|
|
@ -155,16 +155,42 @@
|
|||
</v-card-text>
|
||||
</BaseDialog>
|
||||
|
||||
<!-- Bulk Delete Dialog -->
|
||||
<BaseDialog
|
||||
v-model="bulkDeleteDialog"
|
||||
width="650px"
|
||||
:title="$tc('general.confirm')"
|
||||
:icon="$globals.icons.alertCircle"
|
||||
color="error"
|
||||
@confirm="deleteSelected"
|
||||
>
|
||||
<v-card-text>
|
||||
<p class="h4">{{ $t('general.confirm-delete-generic-items') }}</p>
|
||||
<v-card outlined>
|
||||
<v-virtual-scroll height="400" item-height="25" :items="bulkDeleteTarget">
|
||||
<template #default="{ item }">
|
||||
<v-list-item class="pb-2">
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>{{ item.name }}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
</template>
|
||||
</v-virtual-scroll>
|
||||
</v-card>
|
||||
</v-card-text>
|
||||
</BaseDialog>
|
||||
|
||||
<!-- Data Table -->
|
||||
<BaseCardSectionTitle :icon="$globals.icons.foods" section :title="$tc('data-pages.foods.food-data')"> </BaseCardSectionTitle>
|
||||
<CrudTable
|
||||
:table-config="tableConfig"
|
||||
:headers.sync="tableHeaders"
|
||||
:data="foods || []"
|
||||
:bulk-actions="[]"
|
||||
:bulk-actions="[{icon: $globals.icons.delete, text: $tc('general.delete'), event: 'delete-selected'}]"
|
||||
@delete-one="deleteEventHandler"
|
||||
@edit-one="editEventHandler"
|
||||
@create-one="createEventHandler"
|
||||
@delete-selected="bulkDeleteEventHandler"
|
||||
>
|
||||
<template #button-row>
|
||||
<BaseButton create @click="createDialog = true" />
|
||||
|
@ -306,6 +332,21 @@ export default defineComponent({
|
|||
deleteDialog.value = false;
|
||||
}
|
||||
|
||||
const bulkDeleteDialog = ref(false);
|
||||
const bulkDeleteTarget = ref<IngredientFood[]>([]);
|
||||
|
||||
function bulkDeleteEventHandler(selection: IngredientFood[]) {
|
||||
bulkDeleteTarget.value = selection;
|
||||
bulkDeleteDialog.value = true;
|
||||
}
|
||||
|
||||
async function deleteSelected() {
|
||||
for (const item of bulkDeleteTarget.value) {
|
||||
await foodStore.actions.deleteOne(item.id);
|
||||
}
|
||||
bulkDeleteTarget.value = [];
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// Alias Manager
|
||||
|
||||
|
@ -396,6 +437,10 @@ export default defineComponent({
|
|||
deleteDialog,
|
||||
deleteFood,
|
||||
deleteTarget,
|
||||
bulkDeleteDialog,
|
||||
bulkDeleteTarget,
|
||||
bulkDeleteEventHandler,
|
||||
deleteSelected,
|
||||
// Alias Manager
|
||||
aliasManagerDialog,
|
||||
aliasManagerEventHandler,
|
||||
|
|
|
@ -39,7 +39,34 @@
|
|||
>
|
||||
<v-card-text>
|
||||
{{ $t("general.confirm-delete-generic") }}
|
||||
<MultiPurposeLabel v-if="deleteTarget" class="mt-4 ml-4" :label="deleteTarget" />
|
||||
<v-row>
|
||||
<MultiPurposeLabel v-if="deleteTarget" class="mt-4 ml-4 mb-1" :label="deleteTarget" />
|
||||
</v-row>
|
||||
</v-card-text>
|
||||
</BaseDialog>
|
||||
|
||||
<!-- Bulk Delete Dialog -->
|
||||
<BaseDialog
|
||||
v-model="state.bulkDeleteDialog"
|
||||
width="650px"
|
||||
:title="$tc('general.confirm')"
|
||||
:icon="$globals.icons.alertCircle"
|
||||
color="error"
|
||||
@confirm="deleteSelected"
|
||||
>
|
||||
<v-card-text>
|
||||
<p class="h4">{{ $t('general.confirm-delete-generic-items') }}</p>
|
||||
<v-card outlined>
|
||||
<v-virtual-scroll height="400" item-height="25" :items="bulkDeleteTarget">
|
||||
<template #default="{ item }">
|
||||
<v-list-item class="pb-2">
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>{{ item.name }}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
</template>
|
||||
</v-virtual-scroll>
|
||||
</v-card>
|
||||
</v-card-text>
|
||||
</BaseDialog>
|
||||
|
||||
|
@ -86,9 +113,10 @@
|
|||
:table-config="tableConfig"
|
||||
:headers.sync="tableHeaders"
|
||||
:data="labels || []"
|
||||
:bulk-actions="[]"
|
||||
:bulk-actions="[{icon: $globals.icons.delete, text: $tc('general.delete'), event: 'delete-selected'}]"
|
||||
@delete-one="deleteEventHandler"
|
||||
@edit-one="editEventHandler"
|
||||
@delete-selected="bulkDeleteEventHandler"
|
||||
>
|
||||
<template #button-row>
|
||||
<BaseButton create @click="state.createDialog = true">{{ $t("general.create") }}</BaseButton>
|
||||
|
@ -144,6 +172,7 @@ export default defineComponent({
|
|||
createDialog: false,
|
||||
editDialog: false,
|
||||
deleteDialog: false,
|
||||
bulkDeleteDialog: false,
|
||||
});
|
||||
|
||||
// ============================================================
|
||||
|
@ -177,6 +206,21 @@ export default defineComponent({
|
|||
state.deleteDialog = false;
|
||||
}
|
||||
|
||||
// Bulk Delete
|
||||
const bulkDeleteTarget = ref<MultiPurposeLabelSummary[]>([]);
|
||||
|
||||
function bulkDeleteEventHandler(selection: MultiPurposeLabelSummary[]) {
|
||||
bulkDeleteTarget.value = selection;
|
||||
state.bulkDeleteDialog = true;
|
||||
}
|
||||
|
||||
async function deleteSelected() {
|
||||
for (const item of bulkDeleteTarget.value) {
|
||||
await labelStore.actions.deleteOne(item.id);
|
||||
}
|
||||
bulkDeleteTarget.value = [];
|
||||
}
|
||||
|
||||
// Edit
|
||||
|
||||
const editLabel = ref<MultiPurposeLabelSummary | null>(null);
|
||||
|
@ -242,6 +286,9 @@ export default defineComponent({
|
|||
deleteEventHandler,
|
||||
deleteLabel,
|
||||
deleteTarget,
|
||||
bulkDeleteEventHandler,
|
||||
deleteSelected,
|
||||
bulkDeleteTarget,
|
||||
|
||||
// Seed
|
||||
seedDatabase,
|
||||
|
|
|
@ -49,15 +49,41 @@
|
|||
</v-card-text>
|
||||
</BaseDialog>
|
||||
|
||||
<!-- Bulk Delete Dialog -->
|
||||
<BaseDialog
|
||||
v-model="state.bulkDeleteDialog"
|
||||
width="650px"
|
||||
:title="$tc('general.confirm')"
|
||||
:icon="$globals.icons.alertCircle"
|
||||
color="error"
|
||||
@confirm="deleteSelected"
|
||||
>
|
||||
<v-card-text>
|
||||
<p class="h4">{{ $t('general.confirm-delete-generic-items') }}</p>
|
||||
<v-card outlined>
|
||||
<v-virtual-scroll height="400" item-height="25" :items="bulkDeleteTarget">
|
||||
<template #default="{ item }">
|
||||
<v-list-item class="pb-2">
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>{{ item.name }}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
</template>
|
||||
</v-virtual-scroll>
|
||||
</v-card>
|
||||
</v-card-text>
|
||||
</BaseDialog>
|
||||
|
||||
<!-- Data Table -->
|
||||
<BaseCardSectionTitle :icon="$globals.icons.tags" section :title="$tc('data-pages.tags.tag-data')"> </BaseCardSectionTitle>
|
||||
<CrudTable
|
||||
:table-config="tableConfig"
|
||||
:headers.sync="tableHeaders"
|
||||
:data="tags || []"
|
||||
:bulk-actions="[]"
|
||||
:bulk-actions="[{icon: $globals.icons.delete, text: $tc('general.delete'), event: 'delete-selected'}]"
|
||||
@delete-one="deleteEventHandler"
|
||||
@edit-one="editEventHandler"
|
||||
@delete-selected="bulkDeleteEventHandler"
|
||||
>
|
||||
<template #button-row>
|
||||
<BaseButton create @click="state.createDialog = true">{{ $t("general.create") }}</BaseButton>
|
||||
|
@ -96,6 +122,7 @@ export default defineComponent({
|
|||
createDialog: false,
|
||||
editDialog: false,
|
||||
deleteDialog: false,
|
||||
bulkDeleteDialog: false,
|
||||
});
|
||||
|
||||
const tagData = useTagData();
|
||||
|
@ -150,6 +177,24 @@ export default defineComponent({
|
|||
state.deleteDialog = false;
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// Bulk Delete Tag
|
||||
const bulkDeleteTarget = ref<RecipeTag[]>([]);
|
||||
function bulkDeleteEventHandler(selection: RecipeTag[]) {
|
||||
bulkDeleteTarget.value = selection;
|
||||
state.bulkDeleteDialog = true;
|
||||
}
|
||||
|
||||
async function deleteSelected() {
|
||||
for (const item of bulkDeleteTarget.value) {
|
||||
if (!item.id) {
|
||||
continue;
|
||||
}
|
||||
await tagStore.actions.deleteOne(item.id);
|
||||
}
|
||||
bulkDeleteTarget.value = [];
|
||||
}
|
||||
|
||||
return {
|
||||
state,
|
||||
tableConfig,
|
||||
|
@ -169,7 +214,12 @@ export default defineComponent({
|
|||
// delete
|
||||
deleteTarget,
|
||||
deleteEventHandler,
|
||||
deleteTag
|
||||
deleteTag,
|
||||
|
||||
// bulk delete
|
||||
bulkDeleteTarget,
|
||||
bulkDeleteEventHandler,
|
||||
deleteSelected,
|
||||
};
|
||||
},
|
||||
});
|
||||
|
|
|
@ -51,15 +51,41 @@
|
|||
</v-card-text>
|
||||
</BaseDialog>
|
||||
|
||||
<!-- Bulk Delete Dialog -->
|
||||
<BaseDialog
|
||||
v-model="state.bulkDeleteDialog"
|
||||
width="650px"
|
||||
:title="$tc('general.confirm')"
|
||||
:icon="$globals.icons.alertCircle"
|
||||
color="error"
|
||||
@confirm="deleteSelected"
|
||||
>
|
||||
<v-card-text>
|
||||
<p class="h4">{{ $t('general.confirm-delete-generic-items') }}</p>
|
||||
<v-card outlined>
|
||||
<v-virtual-scroll height="400" item-height="25" :items="bulkDeleteTarget">
|
||||
<template #default="{ item }">
|
||||
<v-list-item class="pb-2">
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>{{ item.name }}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
</template>
|
||||
</v-virtual-scroll>
|
||||
</v-card>
|
||||
</v-card-text>
|
||||
</BaseDialog>
|
||||
|
||||
<!-- Data Table -->
|
||||
<BaseCardSectionTitle :icon="$globals.icons.potSteam" section :title="$tc('data-pages.tools.tool-data')"> </BaseCardSectionTitle>
|
||||
<CrudTable
|
||||
:table-config="tableConfig"
|
||||
:headers.sync="tableHeaders"
|
||||
:data="tools || []"
|
||||
:bulk-actions="[]"
|
||||
:bulk-actions="[{icon: $globals.icons.delete, text: $tc('general.delete'), event: 'delete-selected'}]"
|
||||
@delete-one="deleteEventHandler"
|
||||
@edit-one="editEventHandler"
|
||||
@delete-selected="bulkDeleteEventHandler"
|
||||
>
|
||||
<template #button-row>
|
||||
<BaseButton create @click="state.createDialog = true">{{ $t("general.create") }}</BaseButton>
|
||||
|
@ -108,6 +134,7 @@ export default defineComponent({
|
|||
createDialog: false,
|
||||
editDialog: false,
|
||||
deleteDialog: false,
|
||||
bulkDeleteDialog: false,
|
||||
});
|
||||
|
||||
const toolData = useToolData();
|
||||
|
@ -162,6 +189,22 @@ export default defineComponent({
|
|||
state.deleteDialog = false;
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// Bulk Delete Tag
|
||||
|
||||
const bulkDeleteTarget = ref<RecipeTool[]>([]);
|
||||
function bulkDeleteEventHandler(selection: RecipeTool[]) {
|
||||
bulkDeleteTarget.value = selection;
|
||||
state.bulkDeleteDialog = true;
|
||||
}
|
||||
|
||||
async function deleteSelected() {
|
||||
for (const item of bulkDeleteTarget.value) {
|
||||
await toolStore.actions.deleteOne(item.id);
|
||||
}
|
||||
bulkDeleteTarget.value = [];
|
||||
}
|
||||
|
||||
return {
|
||||
state,
|
||||
tableConfig,
|
||||
|
@ -181,7 +224,12 @@ export default defineComponent({
|
|||
// delete
|
||||
deleteTarget,
|
||||
deleteEventHandler,
|
||||
deleteTool
|
||||
deleteTool,
|
||||
|
||||
// bulk delete
|
||||
bulkDeleteTarget,
|
||||
bulkDeleteEventHandler,
|
||||
deleteSelected,
|
||||
};
|
||||
},
|
||||
});
|
||||
|
|
|
@ -129,6 +129,31 @@
|
|||
</v-card-text>
|
||||
</BaseDialog>
|
||||
|
||||
<!-- Bulk Delete Dialog -->
|
||||
<BaseDialog
|
||||
v-model="bulkDeleteDialog"
|
||||
width="650px"
|
||||
:title="$tc('general.confirm')"
|
||||
:icon="$globals.icons.alertCircle"
|
||||
color="error"
|
||||
@confirm="deleteSelected"
|
||||
>
|
||||
<v-card-text>
|
||||
<p class="h4">{{ $t('general.confirm-delete-generic-items') }}</p>
|
||||
<v-card outlined>
|
||||
<v-virtual-scroll height="400" item-height="25" :items="bulkDeleteTarget">
|
||||
<template #default="{ item }">
|
||||
<v-list-item class="pb-2">
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>{{ item.name }}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
</template>
|
||||
</v-virtual-scroll>
|
||||
</v-card>
|
||||
</v-card-text>
|
||||
</BaseDialog>
|
||||
|
||||
<!-- Seed Dialog-->
|
||||
<BaseDialog
|
||||
v-model="seedDialog"
|
||||
|
@ -172,10 +197,11 @@
|
|||
:table-config="tableConfig"
|
||||
:headers.sync="tableHeaders"
|
||||
:data="units || []"
|
||||
:bulk-actions="[]"
|
||||
:bulk-actions="[{icon: $globals.icons.delete, text: $tc('general.delete'), event: 'delete-selected'}]"
|
||||
@delete-one="deleteEventHandler"
|
||||
@edit-one="editEventHandler"
|
||||
@create-one="createEventHandler"
|
||||
@delete-selected="bulkDeleteEventHandler"
|
||||
>
|
||||
<template #button-row>
|
||||
<BaseButton create @click="createDialog = true" />
|
||||
|
@ -339,6 +365,22 @@ export default defineComponent({
|
|||
deleteDialog.value = false;
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// Bulk Delete Units
|
||||
const bulkDeleteDialog = ref(false);
|
||||
const bulkDeleteTarget = ref<IngredientUnit[]>([]);
|
||||
function bulkDeleteEventHandler(selection: IngredientUnit[]) {
|
||||
bulkDeleteTarget.value = selection;
|
||||
bulkDeleteDialog.value = true;
|
||||
}
|
||||
|
||||
async function deleteSelected() {
|
||||
for (const item of bulkDeleteTarget.value) {
|
||||
await unitActions.deleteOne(item.id);
|
||||
}
|
||||
bulkDeleteTarget.value = [];
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// Alias Manager
|
||||
|
||||
|
@ -423,6 +465,11 @@ export default defineComponent({
|
|||
deleteDialog,
|
||||
deleteUnit,
|
||||
deleteTarget,
|
||||
// Bulk Delete
|
||||
bulkDeleteDialog,
|
||||
bulkDeleteEventHandler,
|
||||
bulkDeleteTarget,
|
||||
deleteSelected,
|
||||
// Alias Manager
|
||||
aliasManagerDialog,
|
||||
aliasManagerEventHandler,
|
||||
|
|
|
@ -3,13 +3,25 @@
|
|||
<!-- Create Meal Dialog -->
|
||||
<BaseDialog
|
||||
v-model="state.dialog"
|
||||
:title="$tc('meal-plan.create-a-new-meal-plan')"
|
||||
:title="$tc(newMeal.existing
|
||||
? 'meal-plan.update-this-meal-plan'
|
||||
: 'meal-plan.create-a-new-meal-plan'
|
||||
)"
|
||||
:submit-text="$tc(newMeal.existing
|
||||
? 'general.update'
|
||||
: 'general.create'
|
||||
)"
|
||||
color="primary"
|
||||
:icon="$globals.icons.foods"
|
||||
@submit="
|
||||
actions.createOne(newMeal);
|
||||
if (newMeal.existing) {
|
||||
actions.updateOne(newMeal);
|
||||
} else {
|
||||
actions.createOne(newMeal);
|
||||
}
|
||||
resetDialog();
|
||||
"
|
||||
@close="resetDialog()"
|
||||
>
|
||||
<v-card-text>
|
||||
<v-menu
|
||||
|
@ -68,7 +80,6 @@
|
|||
</v-card-actions>
|
||||
</v-card-text>
|
||||
</BaseDialog>
|
||||
|
||||
<v-row>
|
||||
<v-col
|
||||
v-for="(plan, index) in mealplans"
|
||||
|
@ -101,7 +112,9 @@
|
|||
class="my-1"
|
||||
:class="{ handle: $vuetify.breakpoint.smAndUp }"
|
||||
>
|
||||
<v-list-item>
|
||||
<v-list-item
|
||||
@click="editMeal(mealplan)"
|
||||
>
|
||||
<v-list-item-avatar :rounded="false">
|
||||
<RecipeCardImage
|
||||
v-if="mealplan.recipe"
|
||||
|
@ -213,7 +226,7 @@ import draggable from "vuedraggable";
|
|||
import { MealsByDate } from "./types";
|
||||
import { useMealplans, usePlanTypeOptions, getEntryTypeText } from "~/composables/use-group-mealplan";
|
||||
import RecipeCardImage from "~/components/Domain/Recipe/RecipeCardImage.vue";
|
||||
import { PlanEntryType } from "~/lib/api/types/meal-plan";
|
||||
import { PlanEntryType, UpdatePlanEntry } from "~/lib/api/types/meal-plan";
|
||||
import { useUserApi } from "~/composables/api";
|
||||
import { useGroupSelf } from "~/composables/use-groups";
|
||||
import { useRecipeSearch } from "~/composables/recipes/use-recipe-search";
|
||||
|
@ -290,8 +303,6 @@ export default defineComponent({
|
|||
if (dialog.note) {
|
||||
newMeal.recipeId = undefined;
|
||||
}
|
||||
newMeal.title = "";
|
||||
newMeal.text = "";
|
||||
});
|
||||
|
||||
const newMeal = reactive({
|
||||
|
@ -300,6 +311,9 @@ export default defineComponent({
|
|||
text: "",
|
||||
recipeId: undefined as string | undefined,
|
||||
entryType: "dinner" as PlanEntryType,
|
||||
existing: false,
|
||||
id: 0,
|
||||
groupId: ""
|
||||
});
|
||||
|
||||
function openDialog(date: Date) {
|
||||
|
@ -307,12 +321,30 @@ export default defineComponent({
|
|||
state.value.dialog = true;
|
||||
}
|
||||
|
||||
function editMeal(mealplan: UpdatePlanEntry) {
|
||||
const { date, title, text, entryType, recipeId, id, groupId } = mealplan;
|
||||
if (!entryType) return;
|
||||
|
||||
newMeal.date = date;
|
||||
newMeal.title = title || "";
|
||||
newMeal.text = text || "";
|
||||
newMeal.recipeId = recipeId;
|
||||
newMeal.entryType = entryType;
|
||||
newMeal.existing = true;
|
||||
newMeal.id = id;
|
||||
newMeal.groupId = groupId;
|
||||
|
||||
state.value.dialog = true;
|
||||
dialog.note = !recipeId;
|
||||
}
|
||||
|
||||
function resetDialog() {
|
||||
newMeal.date = "";
|
||||
newMeal.title = "";
|
||||
newMeal.text = "";
|
||||
newMeal.entryType = "dinner";
|
||||
newMeal.recipeId = undefined;
|
||||
newMeal.existing = false;
|
||||
}
|
||||
|
||||
async function randomMeal(date: Date, type: PlanEntryType) {
|
||||
|
@ -346,6 +378,7 @@ export default defineComponent({
|
|||
dialog,
|
||||
newMeal,
|
||||
openDialog,
|
||||
editMeal,
|
||||
resetDialog,
|
||||
randomMeal,
|
||||
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
<template>
|
||||
<div></div>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { defineComponent } from "@nuxtjs/composition-api";
|
||||
|
||||
export default defineComponent({
|
||||
setup() {
|
||||
return {};
|
||||
},
|
||||
head() {
|
||||
return {
|
||||
title: this.$t("settings.profile") as string,
|
||||
};
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
Loading…
Add table
Add a link
Reference in a new issue