Merge branch 'develop' into api_performance
This commit is contained in:
@ -31,11 +31,11 @@
|
||||
<b-tab :title="$t('Settings')">
|
||||
<div class="row mt-3">
|
||||
<div class="col-3 calender-options">
|
||||
<h5>{{ $t('CalenderSettings') }}</h5>
|
||||
<h5>{{ $t('Planner_Settings') }}</h5>
|
||||
<b-form>
|
||||
<b-form-group id="UomInput"
|
||||
:label="$t('Period')"
|
||||
:description="$t('PeriodToShow')"
|
||||
:description="$t('Plan_Period_To_Show')"
|
||||
label-for="UomInput">
|
||||
<b-form-select
|
||||
id="UomInput"
|
||||
@ -44,8 +44,8 @@
|
||||
></b-form-select>
|
||||
</b-form-group>
|
||||
<b-form-group id="PeriodInput"
|
||||
:label="$t('PeriodCount')"
|
||||
:description="$t('ShowHowManyPeriods')"
|
||||
:label="$t('Periods')"
|
||||
:description="$t('Plan_Show_How_Many_Periods')"
|
||||
label-for="PeriodInput">
|
||||
<b-form-select
|
||||
id="PeriodInput"
|
||||
@ -54,8 +54,8 @@
|
||||
></b-form-select>
|
||||
</b-form-group>
|
||||
<b-form-group id="DaysInput"
|
||||
:label="$t('StartingDay')"
|
||||
:description="$t('StartingDay')"
|
||||
:label="$t('Starting_Day')"
|
||||
:description="$t('Starting_Day')"
|
||||
label-for="DaysInput">
|
||||
<b-form-select
|
||||
id="DaysInput"
|
||||
@ -66,7 +66,7 @@
|
||||
</b-form>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<h5>{{ $t('MealTypes') }}</h5>
|
||||
<h5>{{ $t('Meal_Types') }}</h5>
|
||||
<b-form>
|
||||
|
||||
</b-form>
|
||||
@ -82,10 +82,10 @@
|
||||
<a class="dropdown-item p-2" href="#"><i class="fas fa-pen"></i> {{ $t("Edit") }}</a>
|
||||
</ContextMenuItem>
|
||||
<ContextMenuItem @click="$refs.menu.close();moveEntryLeft(contextData)">
|
||||
<a class="dropdown-item p-2" href="#"><i class="fas fa-arrow-left"></i> {{ $t("DayBack") }}</a>
|
||||
<a class="dropdown-item p-2" href="#"><i class="fas fa-arrow-left"></i> {{ $t("Move") }}</a>
|
||||
</ContextMenuItem>
|
||||
<ContextMenuItem @click="$refs.menu.close();moveEntryRight(contextData)">
|
||||
<a class="dropdown-item p-2" href="#"><i class="fas fa-arrow-right"></i> {{ $t("DayForward") }}</a>
|
||||
<a class="dropdown-item p-2" href="#"><i class="fas fa-arrow-right"></i> {{ $t("Move") }}</a>
|
||||
</ContextMenuItem>
|
||||
<ContextMenuItem @click="$refs.menu.close();createEntry(contextData.originalItem.entry)">
|
||||
<a class="dropdown-item p-2" href="#"><i class="fas fa-copy"></i> {{ $t("Clone") }}</a>
|
||||
@ -98,7 +98,7 @@
|
||||
<meal-plan-edit-modal :entry="entryEditing" :entryEditing_initial_recipe="entryEditing_initial_recipe"
|
||||
:entry-editing_initial_meal_type="entryEditing_initial_meal_type" :modal_title="modal_title"
|
||||
:edit_modal_show="edit_modal_show" @save-entry="editEntry"
|
||||
@delete-entry="deleteEntry"></meal-plan-edit-modal>
|
||||
@delete-entry="deleteEntry" @reload-meal-types="refreshMealTypes"></meal-plan-edit-modal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -178,9 +178,9 @@ export default {
|
||||
computed: {
|
||||
modal_title: function () {
|
||||
if (this.entryEditing.id === -1) {
|
||||
return this.$t('CreateMealPlanEntry')
|
||||
return this.$t('Create_Meal_Plan_Entry')
|
||||
} else {
|
||||
return this.$t('EditMealPlanEntry')
|
||||
return this.$t('Edit_Meal_Plan_Entry')
|
||||
}
|
||||
},
|
||||
entryEditing_initial_recipe: function () {
|
||||
@ -332,6 +332,11 @@ export default {
|
||||
}).then(result => {
|
||||
this.plan_entries = result.data
|
||||
})
|
||||
this.refreshMealTypes()
|
||||
},
|
||||
refreshMealTypes() {
|
||||
let apiClient = new ApiApiFactory()
|
||||
|
||||
apiClient.listMealTypes().then(result => {
|
||||
this.meal_types = result.data
|
||||
})
|
||||
|
@ -24,7 +24,7 @@
|
||||
</div>
|
||||
|
||||
<div class="row pt-2">
|
||||
<div class="col-md-6" style="max-height: 50vh">
|
||||
<div class="col-md-6" style="max-height: 50vh; min-height: 30vh">
|
||||
|
||||
<input id="id_file_upload" ref="file_upload" type="file" hidden @change="uploadImage($event.target.files[0])">
|
||||
|
||||
@ -47,7 +47,7 @@
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="col-md-6 mt-1">
|
||||
<label for="id_name"> {{ $t('Preparation') }} {{ $t('Time') }}</label>
|
||||
<input class="form-control" id="id_prep_time" v-model="recipe.working_time">
|
||||
<br/>
|
||||
|
@ -13,7 +13,8 @@
|
||||
|
||||
<div class="row text-center">
|
||||
<div class="col col-md-12">
|
||||
<recipe-rating :recipe="recipe"></recipe-rating> <br/>
|
||||
<recipe-rating :recipe="recipe"></recipe-rating>
|
||||
<br/>
|
||||
<last-cooked :recipe="recipe"></last-cooked>
|
||||
</div>
|
||||
</div>
|
||||
@ -60,12 +61,14 @@
|
||||
<i class="fas fa-pizza-slice fa-2x text-primary"></i>
|
||||
</div>
|
||||
<div class="my-auto" style="padding-right: 4px">
|
||||
<input style="text-align: right; border-width:0px;border:none; padding:0px; padding-left: 0.5vw; padding-right: 8px; max-width: 80px"
|
||||
value="1" maxlength="3" min="0"
|
||||
type="number" class="form-control form-control-lg" v-model.number="servings"/>
|
||||
<input
|
||||
style="text-align: right; border-width:0px;border:none; padding:0px; padding-left: 0.5vw; padding-right: 8px; max-width: 80px"
|
||||
value="1" maxlength="3" min="0"
|
||||
type="number" class="form-control form-control-lg" v-model.number="servings"/>
|
||||
</div>
|
||||
<div class="my-auto ">
|
||||
<span class="text-primary"><b><template v-if="recipe.servings_text === ''">{{ $t('Servings') }}</template><template v-else>{{recipe.servings_text}}</template></b></span>
|
||||
<span class="text-primary"><b><template v-if="recipe.servings_text === ''">{{ $t('Servings') }}</template><template
|
||||
v-else>{{ recipe.servings_text }}</template></b></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -90,12 +93,15 @@
|
||||
<div class="col-md-12">
|
||||
<table class="table table-sm">
|
||||
<!-- eslint-disable vue/no-v-for-template-key-on-child -->
|
||||
<template v-for="s in recipe.steps">
|
||||
<div v-for="s in recipe.steps" v-bind:key="s.id">
|
||||
<template v-if="s.show_as_header && s.name !== ''">
|
||||
<b>{{s.name}}</b>
|
||||
</template>
|
||||
<template v-for="i in s.ingredients">
|
||||
<Ingredient :ingredient="i" :ingredient_factor="ingredient_factor" :key="i.id"
|
||||
@checked-state-changed="updateIngredientCheckedState"></Ingredient>
|
||||
</template>
|
||||
</template>
|
||||
</div>
|
||||
<!-- eslint-enable vue/no-v-for-template-key-on-child -->
|
||||
</table>
|
||||
</div>
|
||||
@ -144,7 +150,7 @@
|
||||
|
||||
<div class="row text-center d-print-none" style="margin-top: 3vh; margin-bottom: 3vh" v-if="share_uid !== 'None'">
|
||||
<div class="col col-md-12">
|
||||
<a :href="resolveDjangoUrl('view_report_share_abuse', share_uid)" >{{$t('Report Abuse')}}</a>
|
||||
<a :href="resolveDjangoUrl('view_report_share_abuse', share_uid)">{{ $t('Report Abuse') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<b-card no-body v-hover>
|
||||
<b-card-header class="p-4">
|
||||
<h5>{{ $t('TableOfContents') }}</h5>
|
||||
<h5>{{ $t('Table_of_Contents') }}</h5>
|
||||
</b-card-header>
|
||||
<b-card-body class="p-4">
|
||||
<ol style="max-height: 60vh;overflow-y:auto;-webkit-overflow-scrolling: touch;" class="mb-1">
|
||||
|
@ -26,12 +26,13 @@
|
||||
</td>
|
||||
<td v-if="detailed">
|
||||
<div v-if="ingredient.note">
|
||||
<span v-b-popover.hover="ingredient.note" v-if="ingredient.note.length > 15"
|
||||
<span v-b-popover.hover="ingredient.note"
|
||||
class="d-print-none touchable"> <i class="far fa-comment"></i>
|
||||
</span>
|
||||
<span v-else>
|
||||
{{ ingredient.note }}
|
||||
</span>
|
||||
<!-- v-if="ingredient.note.length > 15" -->
|
||||
<!-- <span v-else>-->
|
||||
<!-- {{ ingredient.note }}-->
|
||||
<!-- </span>-->
|
||||
|
||||
<div class="d-none d-print-block">
|
||||
<i class="far fa-comment-alt d-print-none"></i> {{ ingredient.note }}
|
||||
|
@ -45,7 +45,7 @@
|
||||
<div class="actionArea d-none d-sm-flex">
|
||||
<span class="delete-area text-danger p-1 mr-2" @drop.prevent="onDeleteDrop($event)"
|
||||
@dragenter.prevent="onDeleteDragEnter($event)" @dragleave.prevent="onDeleteDragLeave($event)" @dragover.prevent="onDeleteDragEnter"><i
|
||||
class="fas fa-trash"></i> {{ $t('DragHereToDelete') }}</span>
|
||||
class="fas fa-trash"></i> {{ $t('Drag_Here_To_Delete') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -6,12 +6,14 @@
|
||||
<div class="col-6 col-lg-9">
|
||||
<b-input-group>
|
||||
<b-form-input id="TitleInput" v-model="entryEditing.title"
|
||||
:placeholder="entryEditing.title_placeholder"></b-form-input>
|
||||
:placeholder="entryEditing.title_placeholder"
|
||||
@change="missing_recipe = false"></b-form-input>
|
||||
<b-input-group-append class="d-none d-lg-block">
|
||||
<b-button variant="primary" @click="entryEditing.title = ''"><i class="fa fa-eraser"></i></b-button>
|
||||
</b-input-group-append>
|
||||
</b-input-group>
|
||||
<small tabindex="-1" class="form-text text-muted">{{ $t("Title") }}</small>
|
||||
<span class="text-danger" v-if="missing_recipe">{{ $t('Title_or_Recipe_Required') }}</span>
|
||||
<small tabindex="-1" class="form-text text-muted" v-if="!missing_recipe">{{ $t("Title") }}</small>
|
||||
</div>
|
||||
<div class="col-6 col-lg-3">
|
||||
<input type="date" id="DateInput" class="form-control" v-model="entryEditing.date">
|
||||
@ -37,10 +39,15 @@
|
||||
:label="'name'"
|
||||
:model="Models.MEAL_TYPE"
|
||||
style="flex-grow: 1; flex-shrink: 1; flex-basis: 0"
|
||||
v-bind:placeholder="$t('MealType')" :limit="10"
|
||||
v-bind:placeholder="$t('Meal_Type')" :limit="10"
|
||||
:multiple="false"
|
||||
:initial_selection="entryEditing_initial_meal_type"></generic-multiselect>
|
||||
<small tabindex="-1" class="form-text text-muted">{{ $t("MealType") }}</small>
|
||||
:initial_selection="entryEditing_initial_meal_type"
|
||||
:allow_create="true"
|
||||
:create_placeholder="$t('Create_New_Meal_Type')"
|
||||
@new="createMealType"
|
||||
></generic-multiselect>
|
||||
<span class="text-danger" v-if="missing_meal_type">{{ $t('Meal_Type_Required') }}</span>
|
||||
<small tabindex="-1" class="form-text text-muted" v-if="!missing_meal_type">{{ $t("Meal_Type") }}</small>
|
||||
</b-form-group>
|
||||
<b-form-group
|
||||
label-for="NoteInput"
|
||||
@ -76,6 +83,10 @@ import {BootstrapVue} from "bootstrap-vue";
|
||||
import GenericMultiselect from "./GenericMultiselect";
|
||||
import {ApiMixin} from "../utils/utils";
|
||||
|
||||
const {ApiApiFactory} = require("@/utils/openapi/api");
|
||||
|
||||
const {StandardToasts} = require("@/utils/utils");
|
||||
|
||||
Vue.use(BootstrapVue)
|
||||
|
||||
export default {
|
||||
@ -101,7 +112,9 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
entryEditing: {}
|
||||
entryEditing: {},
|
||||
missing_recipe: false,
|
||||
missing_meal_type: false
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@ -114,29 +127,47 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
editEntry() {
|
||||
this.missing_meal_type = false
|
||||
this.missing_recipe = false
|
||||
let cancel = false
|
||||
if (this.entryEditing.meal_type == null) {
|
||||
alert("Need Meal type")
|
||||
return
|
||||
this.missing_meal_type = true
|
||||
cancel = true
|
||||
}
|
||||
if (this.entryEditing.recipe == null && this.entryEditing.title === '') {
|
||||
alert("Need title or recipe")
|
||||
return
|
||||
this.missing_recipe = true
|
||||
cancel = true
|
||||
}
|
||||
if (!cancel) {
|
||||
this.$bvModal.hide(`edit-modal`);
|
||||
this.$emit('save-entry', this.entryEditing)
|
||||
}
|
||||
this.$bvModal.hide(`edit-modal`);
|
||||
this.$emit('save-entry', this.entryEditing)
|
||||
},
|
||||
deleteEntry() {
|
||||
this.$bvModal.hide(`edit-modal`);
|
||||
this.$emit('delete-entry', this.entryEditing)
|
||||
},
|
||||
selectMealType(event) {
|
||||
this.missing_meal_type = false
|
||||
if (event.val != null) {
|
||||
this.entryEditing.meal_type = event.val;
|
||||
} else {
|
||||
this.entryEditing.meal_type = null;
|
||||
}
|
||||
},
|
||||
createMealType(event) {
|
||||
if (event != "") {
|
||||
let apiClient = new ApiApiFactory()
|
||||
|
||||
apiClient.createMealType({name: event}).then(e => {
|
||||
this.$emit('reload-meal-types')
|
||||
}).catch(error => {
|
||||
StandardToasts.makeStandardToast(StandardToasts.FAIL_UPDATE)
|
||||
})
|
||||
}
|
||||
},
|
||||
selectRecipe(event) {
|
||||
this.missing_recipe = false
|
||||
if (event.val != null) {
|
||||
this.entryEditing.recipe = event.val;
|
||||
this.entryEditing.title_placeholder = this.entryEditing.recipe.name
|
||||
|
@ -75,7 +75,7 @@
|
||||
|
||||
<meal-plan-edit-modal :entry="entryEditing" :entryEditing_initial_recipe="[recipe]"
|
||||
:entry-editing_initial_meal_type="[]" @save-entry="saveMealPlan"
|
||||
:modal_id="`modal-meal-plan_${modal_id}`" :allow_delete="false" :modal_title="$t('CreateMealPlanEntry')"></meal-plan-edit-modal>
|
||||
:modal_id="`modal-meal-plan_${modal_id}`" :allow_delete="false" :modal_title="$t('Create_Meal_Plan_Entry')"></meal-plan-edit-modal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
@ -71,5 +71,96 @@
|
||||
"Cancel": "Abbrechen",
|
||||
"success_deleting_resource": "Ressource erfolgreich gelöscht!",
|
||||
"Load_More": "Mehr laden",
|
||||
"Ok": "Öffnen"
|
||||
"Ok": "Öffnen",
|
||||
"Link": "Verknüpfung",
|
||||
"Key_Ctrl": "Strg",
|
||||
"move_title": "Verschieben {type}",
|
||||
"Food": "Essen",
|
||||
"Recipe_Book": "Kochbuch",
|
||||
"delete_title": "Löschen {type}",
|
||||
"create_title": "Neu {type}",
|
||||
"edit_title": "Bearbeiten {type}",
|
||||
"Name": "Name",
|
||||
"Empty": "Leer",
|
||||
"Key_Shift": "Umschalttaste",
|
||||
"Text": "Text",
|
||||
"Icon": "Icon",
|
||||
"Automation": "Automatisierung",
|
||||
"Ignore_Shopping": "Einkauf Ignorieren",
|
||||
"Parameter": "Parameter",
|
||||
"Sort_by_new": "Sortieren nach neu",
|
||||
"Shopping_Category": "Einkauf Kategorie",
|
||||
"Edit_Food": "Essen bearbeiten",
|
||||
"Move_Food": "Essen verschieben",
|
||||
"New_Food": "Neues Essen",
|
||||
"Hide_Food": "Essen verbergen",
|
||||
"Food_Alias": "Essen Alias",
|
||||
"Unit_Alias": "Einheit Alias",
|
||||
"Keyword_Alias": "Schlagwort Alias",
|
||||
"Delete_Food": "Essen löschen",
|
||||
"No_ID": "Nr. nicht gefunden, Objekt kann nicht gelöscht werden",
|
||||
"create_rule": "und erstelle Automatisierung",
|
||||
"Table_of_Contents": "Inhaltsverzeichnis",
|
||||
"merge_title": "Zusammenführen {type}",
|
||||
"del_confirmation_tree": "Sicher das {source} und alle untergeordneten Objekte gelöscht werden soll?",
|
||||
"warning_feature_beta": "Diese Funktion ist aktuell in einer BETA (Test) Phase. Fehler sind zu erwarten und Änderungen in der Zukunft können die Funktionsweise möglicherweise Verändern oder Daten die mit dieser Funktion zusammen hängen entfernen.",
|
||||
"Edit_Keyword": "Schlagwort bearbeiten",
|
||||
"Move_Keyword": "Schlagwort verschieben",
|
||||
"Merge_Keyword": "Schlagwort zusammenführen",
|
||||
"Hide_Keywords": "Schlagwort verstecken",
|
||||
"Meal_Plan_Days": "Zukünftige Pläne",
|
||||
"Description": "Beschreibung",
|
||||
"Create_New_Shopping Category": "Erstelle neue Einkaufs Kategorie",
|
||||
"Automate": "Automatisieren",
|
||||
"Type": "Typ",
|
||||
"and_up": "& Hoch",
|
||||
"Unrated": "Unbewertet",
|
||||
"Shopping_list": "Einkaufsliste",
|
||||
"step_time_minutes": "Schritt Zeit in Minuten",
|
||||
"Save_and_View": "Speichern & Ansehen",
|
||||
"Edit_Recipe": "Rezept bearbeiten",
|
||||
"Hide_Recipes": "Rezepte verstecken",
|
||||
"Move_Up": "Hoch",
|
||||
"confirm_delete": "Soll dieses {object} wirklich gelöscht werden?",
|
||||
"Show_as_header": "Als Überschrift",
|
||||
"Hide_as_header": "Keine Überschrift",
|
||||
"Copy_template_reference": "Template Referenz kopieren",
|
||||
"Step_Type": "Schritt Typ",
|
||||
"Make_Ingredient": "In Zutat wandeln",
|
||||
"Make_Header": "In Überschrift wandeln",
|
||||
"Enable_Amount": "Menge aktivieren",
|
||||
"Disable_Amount": "Menge deaktivieren",
|
||||
"Add_Step": "Schritt hinzufügen",
|
||||
"Note": "Notiz",
|
||||
"Failure": "Fehler",
|
||||
"Move_Down": "Runter",
|
||||
"Step_Name": "Schritt Name",
|
||||
"Create": "Erstellen",
|
||||
"Advanced Search Settings": "Erweiterte Sucheinstellungen",
|
||||
"View": "Ansicht",
|
||||
"Recipes": "Rezepte",
|
||||
"Move": "Verschieben",
|
||||
"Merge": "Zusammenführen",
|
||||
"Parent": "Eltern",
|
||||
"move_confirmation": "Verschiebe <i>{child}</i> zu Elternelement <i>{parent}</i>",
|
||||
"merge_confirmation": "Ersetze <i>{source}</i> mit <i>{target}</i>",
|
||||
"move_selection": "Wähle Elternelement {type} um {source} zu verschieben.",
|
||||
"Root": "Ursprung",
|
||||
"Recipe": "Rezept",
|
||||
"tree_root": "Ursprung des Baums",
|
||||
"Unit": "Einheit",
|
||||
"No_Results": "Keine Ergebnisse",
|
||||
"New_Unit": "Neue Einheit",
|
||||
"Create_New_Food": "Neues Essen",
|
||||
"Create_New_Keyword": "Neues Schlagwort",
|
||||
"Create_New_Unit": "Neue Einheit",
|
||||
"Instructions": "Anleitung",
|
||||
"Time": "Zeit",
|
||||
"New_Keyword": "Neues Schlagwort",
|
||||
"Delete_Keyword": "Schlagwort löschen",
|
||||
"show_split_screen": "Geteilte Ansicht",
|
||||
"Recipes_per_page": "Rezepte pro Seite",
|
||||
"Manage_Books": "Bücher Verwalten",
|
||||
"delete_confirmation": "Soll {source} wirklich gelöscht werden?",
|
||||
"merge_selection": "Ersetze alle vorkommen von {source} mit dem ausgewählten {type}."
|
||||
}
|
||||
|
@ -21,6 +21,7 @@
|
||||
"Add_to_Plan": "Add to Plan",
|
||||
"Step_start_time": "Step start time",
|
||||
"Sort_by_new": "Sort by new",
|
||||
"Table_of_Contents": "Table of Contents",
|
||||
"Recipes_per_page": "Recipes per Page",
|
||||
"Show_as_header": "Show as header",
|
||||
"Hide_as_header": "Hide as header",
|
||||
@ -50,7 +51,7 @@
|
||||
"Move_Down": "Move down",
|
||||
"Step_Name": "Step Name",
|
||||
"Step_Type": "Step Type",
|
||||
"Make_Header": "Make_Header",
|
||||
"Make_header": "Make_Header",
|
||||
"Make_Ingredient": "Make_Ingredient",
|
||||
"Enable_Amount": "Enable Amount",
|
||||
"Disable_Amount": "Disable Amount",
|
||||
@ -151,13 +152,34 @@
|
||||
"Create_New_Food": "Add New Food",
|
||||
"Create_New_Keyword": "Add New Keyword",
|
||||
"Create_New_Unit": "Add New Unit",
|
||||
"Create_New_Meal_Type": "Add New Meal Type",
|
||||
"and_up": "& Up",
|
||||
"Instructions": "Instructions",
|
||||
"Unrated": "Unrated",
|
||||
"Automate": "Automate",
|
||||
"Empty": "Empty",
|
||||
"Key_Ctrl": "Ctrl",
|
||||
"Key_Shift": "Shift",
|
||||
"Time": "Time",
|
||||
"Text": "Text",
|
||||
"Shopping_list": "Shopping List"
|
||||
"Shopping_list": "Shopping List",
|
||||
"Create_Meal_Plan_Entry": "Create meal plan entry",
|
||||
"Edit_Meal_Plan_Entry": "Edit meal plan entry",
|
||||
"Title": "Title",
|
||||
"Week": "Week",
|
||||
"Month": "Month",
|
||||
"Year": "Year",
|
||||
"Planner": "Planner",
|
||||
"Planner_Settings": "Planner settings",
|
||||
"Period": "Period",
|
||||
"Plan_Period_To_Show": "Show weeks, months or years",
|
||||
"Periods": "Periods",
|
||||
"Plan_Show_How_Many_Periods": "How many periods to show",
|
||||
"Starting_Day": "Starting day of the week",
|
||||
"Meal_Types": "Meal types",
|
||||
"Meal_Type": "Meal type",
|
||||
"Clone": "Clone",
|
||||
"Drag_Here_To_Delete": "Drag here to delete",
|
||||
"Meal_Type_Required": "Meal type is required",
|
||||
"Title_or_Recipe_Required": "Title or recipe selection required"
|
||||
}
|
||||
|
@ -155,5 +155,30 @@
|
||||
"Parameter": "Parametro",
|
||||
"Type": "Tipo",
|
||||
"Automate": "Automatizza",
|
||||
"create_rule": "e crea automazione"
|
||||
"create_rule": "e crea automazione",
|
||||
"Empty": "Vuoto",
|
||||
"Food_Alias": "Alias Alimento",
|
||||
"Unit_Alias": "Alias Unità",
|
||||
"Keyword_Alias": "Alias Parola Chiave",
|
||||
"Table_of_Contents": "Indice dei contenuti",
|
||||
"warning_feature_beta": "Questa funzione è attualmente in BETA (non è completa). Potrebbero verificarsi delle anomalie e modifiche che in futuro potrebbero bloccare la funzionalità stessa o rimuove i dati correlati a essa.",
|
||||
"Shopping_list": "Lista della spesa",
|
||||
"Title": "Titolo",
|
||||
"Create_New_Meal_Type": "Aggiungi nuovo tipo di pasto",
|
||||
"Week": "Settimana",
|
||||
"Month": "Mese",
|
||||
"Year": "Anno",
|
||||
"Planner": "Planner",
|
||||
"Planner_Settings": "Impostazioni planner",
|
||||
"Period": "Periodo",
|
||||
"Plan_Period_To_Show": "Mostra settimane, mesi o anni",
|
||||
"Plan_Show_How_Many_Periods": "Periodo da mostrare",
|
||||
"Starting_Day": "Giorno di inizio della settimana",
|
||||
"Meal_Types": "Tipi di pasto",
|
||||
"Clone": "Duplica",
|
||||
"Drag_Here_To_Delete": "Sposta qui per eliminare",
|
||||
"Meal_Type_Required": "Il tipo di pasto è richiesto",
|
||||
"Periods": "Periodi",
|
||||
"Meal_Type": "Tipo di pasto",
|
||||
"Title_or_Recipe_Required": "Sono richiesti titolo o ricetta"
|
||||
}
|
||||
|
Reference in New Issue
Block a user