mirror of
https://github.com/TandoorRecipes/recipes.git
synced 2026-01-01 04:10:06 -05:00
various fixes and improvements
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
FROM python:3.13-alpine3.21
|
FROM python:3.13-alpine3.21
|
||||||
|
|
||||||
#Install all dependencies.
|
#Install all dependencies.
|
||||||
RUN apk add --no-cache postgresql-libs postgresql-client gettext zlib libjpeg libwebp libxml2-dev libxslt-dev openldap git
|
RUN apk add --no-cache postgresql-libs postgresql-client gettext zlib libjpeg libwebp libxml2-dev libxslt-dev openldap git libgcc libstdc++
|
||||||
|
|
||||||
#Print all logs without buffering it.
|
#Print all logs without buffering it.
|
||||||
ENV PYTHONUNBUFFERED 1
|
ENV PYTHONUNBUFFERED 1
|
||||||
@@ -24,7 +24,7 @@ RUN \
|
|||||||
|
|
||||||
# remove Development dependencies from requirements.txt
|
# remove Development dependencies from requirements.txt
|
||||||
RUN sed -i '/# Development/,$d' requirements.txt
|
RUN sed -i '/# Development/,$d' requirements.txt
|
||||||
RUN apk add --no-cache --virtual .build-deps gcc musl-dev postgresql-dev zlib-dev jpeg-dev libwebp-dev openssl-dev libffi-dev libgcc libstdc++ cargo openldap-dev python3-dev xmlsec-dev xmlsec build-base g++ curl && \
|
RUN apk add --no-cache --virtual .build-deps gcc musl-dev postgresql-dev zlib-dev jpeg-dev libwebp-dev openssl-dev libffi-dev cargo openldap-dev python3-dev xmlsec-dev xmlsec build-base g++ curl && \
|
||||||
echo -n "INPUT ( libldap.so )" > /usr/lib/libldap_r.so && \
|
echo -n "INPUT ( libldap.so )" > /usr/lib/libldap_r.so && \
|
||||||
python -m venv venv && \
|
python -m venv venv && \
|
||||||
/opt/recipes/venv/bin/python -m pip install --upgrade pip && \
|
/opt/recipes/venv/bin/python -m pip install --upgrade pip && \
|
||||||
|
|||||||
@@ -491,7 +491,11 @@ def get_images_from_soup(soup, url):
|
|||||||
u = u.split('?')[0]
|
u = u.split('?')[0]
|
||||||
filename = re.search(r'/([\w_-]+[.](jpg|jpeg|gif|png))$', u)
|
filename = re.search(r'/([\w_-]+[.](jpg|jpeg|gif|png))$', u)
|
||||||
if filename:
|
if filename:
|
||||||
if (('http' not in u) and (url)):
|
if u.startswith('//'):
|
||||||
|
# urls from e.g. ottolenghi.co.uk start with //
|
||||||
|
u = 'https:' + u
|
||||||
|
if ('http' not in u) and url:
|
||||||
|
print(f'rewriting URL {u}')
|
||||||
# sometimes an image source can be relative
|
# sometimes an image source can be relative
|
||||||
# if it is provide the base url
|
# if it is provide the base url
|
||||||
u = '{}://{}{}'.format(prot, site, u)
|
u = '{}://{}{}'.format(prot, site, u)
|
||||||
|
|||||||
@@ -300,6 +300,12 @@ PRIVACY_URL=
|
|||||||
IMPRINT_URL=
|
IMPRINT_URL=
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Rate Limits
|
||||||
|
|
||||||
|
There are some rate limits that can be configured.
|
||||||
|
|
||||||
|
- RATELIMIT_URL_IMPORT_REQUESTS: limit the number of external URL import requests. Useful to prevent your server from being abused for malicious requests.
|
||||||
|
|
||||||
### Authentication
|
### Authentication
|
||||||
|
|
||||||
All configurable variables regarding authentication.
|
All configurable variables regarding authentication.
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ AI_RATELIMIT = os.getenv('AI_RATELIMIT', '60/hour')
|
|||||||
SHARING_ABUSE = extract_bool('SHARING_ABUSE', False)
|
SHARING_ABUSE = extract_bool('SHARING_ABUSE', False)
|
||||||
SHARING_LIMIT = int(os.getenv('SHARING_LIMIT', 0))
|
SHARING_LIMIT = int(os.getenv('SHARING_LIMIT', 0))
|
||||||
|
|
||||||
DRF_THROTTLE_RECIPE_URL_IMPORT = os.getenv('DRF_THROTTLE_RECIPE_URL_IMPORT', '60/hour')
|
DRF_THROTTLE_RECIPE_URL_IMPORT = os.getenv('DRF_THROTTLE_RECIPE_URL_IMPORT', os.getenv('RATELIMIT_URL_IMPORT_REQUESTS', '60/hour'))
|
||||||
|
|
||||||
TERMS_URL = os.getenv('TERMS_URL', '')
|
TERMS_URL = os.getenv('TERMS_URL', '')
|
||||||
PRIVACY_URL = os.getenv('PRIVACY_URL', '')
|
PRIVACY_URL = os.getenv('PRIVACY_URL', '')
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
</v-app-bar>
|
</v-app-bar>
|
||||||
<v-app-bar :color="useUserPreferenceStore().userSettings.navBgColor" flat density="comfortable" v-if="useUserPreferenceStore().isAuthenticated">
|
<v-app-bar :color="useUserPreferenceStore().userSettings.navBgColor" flat density="comfortable" v-if="useUserPreferenceStore().isAuthenticated">
|
||||||
<router-link :to="{ name: 'view_home', params: {} }">
|
<router-link :to="{ name: 'StartPage', params: {} }">
|
||||||
<v-img src="../../assets/brand_logo.svg" width="140px" class="ms-2" v-if="useUserPreferenceStore().userSettings.navShowLogo"></v-img>
|
<v-img src="../../assets/brand_logo.svg" width="140px" class="ms-2" v-if="useUserPreferenceStore().userSettings.navShowLogo"></v-img>
|
||||||
</router-link>
|
</router-link>
|
||||||
<v-spacer></v-spacer>
|
<v-spacer></v-spacer>
|
||||||
@@ -120,7 +120,7 @@
|
|||||||
<v-list-item-subtitle>{{ useUserPreferenceStore().activeSpace.name }}</v-list-item-subtitle>
|
<v-list-item-subtitle>{{ useUserPreferenceStore().activeSpace.name }}</v-list-item-subtitle>
|
||||||
</v-list-item>
|
</v-list-item>
|
||||||
<v-divider></v-divider>
|
<v-divider></v-divider>
|
||||||
<v-list-item prepend-icon="$recipes" title="Home" :to="{ name: 'view_home', params: {} }"></v-list-item>
|
<v-list-item prepend-icon="$recipes" title="Home" :to="{ name: 'StartPage', params: {} }"></v-list-item>
|
||||||
<v-list-item prepend-icon="$search" :title="$t('Search')" :to="{ name: 'SearchPage' }"></v-list-item>
|
<v-list-item prepend-icon="$search" :title="$t('Search')" :to="{ name: 'SearchPage' }"></v-list-item>
|
||||||
<v-list-item prepend-icon="$mealplan" :title="$t('Meal_Plan')" :to="{ name: 'MealPlanPage', params: {} }"></v-list-item>
|
<v-list-item prepend-icon="$mealplan" :title="$t('Meal_Plan')" :to="{ name: 'MealPlanPage', params: {} }"></v-list-item>
|
||||||
<v-list-item prepend-icon="$shopping" :title="$t('Shopping_list')" :to="{ name: 'ShoppingListPage', params: {} }"></v-list-item>
|
<v-list-item prepend-icon="$shopping" :title="$t('Shopping_list')" :to="{ name: 'ShoppingListPage', params: {} }"></v-list-item>
|
||||||
@@ -144,7 +144,7 @@
|
|||||||
</v-navigation-drawer>
|
</v-navigation-drawer>
|
||||||
|
|
||||||
<v-bottom-navigation grow v-if="useUserPreferenceStore().isAuthenticated && !lgAndUp">
|
<v-bottom-navigation grow v-if="useUserPreferenceStore().isAuthenticated && !lgAndUp">
|
||||||
<v-btn value="recent" :to="{ name: 'view_home', params: {} }">
|
<v-btn value="recent" :to="{ name: 'StartPage', params: {} }">
|
||||||
<v-icon icon="fa-fw fas fa-book "/>
|
<v-icon icon="fa-fw fas fa-book "/>
|
||||||
</v-btn>
|
</v-btn>
|
||||||
|
|
||||||
@@ -163,6 +163,7 @@
|
|||||||
<v-list-item prepend-icon="fa-solid fa-sliders" :to="{ name: 'SettingsPage', params: {} }" :title="$t('Settings')"></v-list-item>
|
<v-list-item prepend-icon="fa-solid fa-sliders" :to="{ name: 'SettingsPage', params: {} }" :title="$t('Settings')"></v-list-item>
|
||||||
<v-list-item prepend-icon="fas fa-globe" :title="$t('Import')" :to="{ name: 'RecipeImportPage', params: {} }"></v-list-item>
|
<v-list-item prepend-icon="fas fa-globe" :title="$t('Import')" :to="{ name: 'RecipeImportPage', params: {} }"></v-list-item>
|
||||||
<v-list-item prepend-icon="fa-solid fa-folder-tree" :to="{ name: 'ModelListPage', params: {model: 'food'} }" :title="$t('Database')"></v-list-item>
|
<v-list-item prepend-icon="fa-solid fa-folder-tree" :to="{ name: 'ModelListPage', params: {model: 'food'} }" :title="$t('Database')"></v-list-item>
|
||||||
|
<v-list-item prepend-icon="$books" :title="$t('Books')" :to="{ name: 'BooksPage', params: {} }"></v-list-item>
|
||||||
</v-list>
|
</v-list>
|
||||||
</v-bottom-sheet>
|
</v-bottom-sheet>
|
||||||
</v-btn>
|
</v-btn>
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ import {setupI18n} from "@/i18n";
|
|||||||
import MealPlanPage from "@/pages/MealPlanPage.vue";
|
import MealPlanPage from "@/pages/MealPlanPage.vue";
|
||||||
|
|
||||||
const routes = [
|
const routes = [
|
||||||
{path: '/', component: () => import("@/pages/StartPage.vue"), name: 'view_home'},
|
{path: '/', component: () => import("@/pages/StartPage.vue"), name: 'StartPage'},
|
||||||
{path: '/search', redirect: {name: 'view_home'}},
|
{path: '/search', redirect: {name: 'StartPage'}},
|
||||||
{path: '/test', component: () => import("@/pages/TestPage.vue"), name: 'view_test'},
|
{path: '/test', component: () => import("@/pages/TestPage.vue"), name: 'view_test'},
|
||||||
{path: '/help', component: () => import("@/pages/HelpPage.vue"), name: 'HelpPage'},
|
{path: '/help', component: () => import("@/pages/HelpPage.vue"), name: 'HelpPage'},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -165,7 +165,7 @@ const showDetailDialog = ref(false)
|
|||||||
*/
|
*/
|
||||||
function addTestMessage() {
|
function addTestMessage() {
|
||||||
let types = [MessageType.SUCCESS, MessageType.ERROR, MessageType.INFO, MessageType.WARNING]
|
let types = [MessageType.SUCCESS, MessageType.ERROR, MessageType.INFO, MessageType.WARNING]
|
||||||
useMessageStore().addMessage(types[Math.floor(Math.random() * types.length)], {title: 'Test', text: `Lorem Ipsum ${Math.random() * 1000}`}, 5000, {json: "data", 'msg': 'whatever', data: 1})
|
useMessageStore().addMessage(types[Math.floor(Math.random() * types.length)], {title: 'Test', text: `Lorem Ipsum Lorem Ipsum Lorem Ipsum LINEBREAK \n Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ${Math.random() * 1000}`}, 5000, {json: "data", 'msg': 'whatever', data: 1})
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
:sub-title="ingredientToString(step.ingredients[editingIngredientIndex])"></v-closable-card-title>
|
:sub-title="ingredientToString(step.ingredients[editingIngredientIndex])"></v-closable-card-title>
|
||||||
<v-card-text>
|
<v-card-text>
|
||||||
<template v-if="step.ingredients.length > 1">
|
<template v-if="step.ingredients.length > 1">
|
||||||
|
{{$t('Order')}}
|
||||||
<v-btn block :disabled="editingIngredientIndex== 0" @click="moveIngredient(editingIngredientIndex, props.stepIndex, 0)">{{ $t('First') }}</v-btn>
|
<v-btn block :disabled="editingIngredientIndex== 0" @click="moveIngredient(editingIngredientIndex, props.stepIndex, 0)">{{ $t('First') }}</v-btn>
|
||||||
<v-btn block :disabled="editingIngredientIndex == 0" class="mt-1" @click="moveIngredient(editingIngredientIndex, props.stepIndex, editingIngredientIndex - 1)">
|
<v-btn block :disabled="editingIngredientIndex == 0" class="mt-1" @click="moveIngredient(editingIngredientIndex, props.stepIndex, editingIngredientIndex - 1)">
|
||||||
{{
|
{{
|
||||||
@@ -22,7 +23,7 @@
|
|||||||
</v-btn>
|
</v-btn>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
{{ $t('Step') }}
|
{{ $t('MoveToStep') }}
|
||||||
<v-btn block v-for="(s,i) in recipe.steps" :disabled="i == props.stepIndex" class="mt-1"
|
<v-btn block v-for="(s,i) in recipe.steps" :disabled="i == props.stepIndex" class="mt-1"
|
||||||
@click="moveIngredient(editingIngredientIndex, i, recipe.steps[i].ingredients.length)">{{ i + 1 }} <span v-if="'name' in s">{{ s.name }}</span>
|
@click="moveIngredient(editingIngredientIndex, i, recipe.steps[i].ingredients.length)">{{ i + 1 }} <span v-if="'name' in s">{{ s.name }}</span>
|
||||||
</v-btn>
|
</v-btn>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
>
|
>
|
||||||
<!-- <small>{{ DateTime.fromSeconds(visibleMessage.createdAt).toLocaleString(DateTime.DATETIME_MED) }}</small> <br/>-->
|
<!-- <small>{{ DateTime.fromSeconds(visibleMessage.createdAt).toLocaleString(DateTime.DATETIME_MED) }}</small> <br/>-->
|
||||||
<h3 v-if="visibleMessage.msg.title">{{ visibleMessage.msg.title }}</h3>
|
<h3 v-if="visibleMessage.msg.title">{{ visibleMessage.msg.title }}</h3>
|
||||||
<span class="text-pre">{{ visibleMessage.msg.text }}</span>
|
<span style="white-space: pre-wrap">{{ visibleMessage.msg.text }}</span>
|
||||||
|
|
||||||
<template #actions v-if="showViewButton">
|
<template #actions v-if="showViewButton">
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
|
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-col cols="12" md="6" v-if="showTime || step.time != 0">
|
<v-col cols="12" md="6" v-if="showTime || step.time != 0">
|
||||||
<v-number-input :label="$t('Time')" v-model="step.time" :min="0" :step="5" control-variant="split" ></v-number-input>
|
<v-number-input :label="$t('Time')" v-model="step.time" :min="0" :step="5" control-variant="split"></v-number-input>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col cols="12" md="6" v-if="showRecipe || step.stepRecipe != null">
|
<v-col cols="12" md="6" v-if="showRecipe || step.stepRecipe != null">
|
||||||
<model-select model="Recipe" v-model="step.stepRecipe" :object="false" append-to-body></model-select>
|
<model-select model="Recipe" v-model="step.stepRecipe" :object="false" append-to-body></model-select>
|
||||||
@@ -51,9 +51,14 @@
|
|||||||
<v-col cols="12">
|
<v-col cols="12">
|
||||||
<v-label>{{ $t('Ingredients') }}</v-label>
|
<v-label>{{ $t('Ingredients') }}</v-label>
|
||||||
<div v-if="!mobile">
|
<div v-if="!mobile">
|
||||||
<vue-draggable v-model="step.ingredients" handle=".drag-handle" :on-sort="sortIngredients" empty-insert-threshold="25" group="ingredients">
|
<vue-draggable v-model="step.ingredients" handle=".drag-handle" :on-sort="sortIngredients" :empty-insert-threshold="25" group="ingredients">
|
||||||
<v-row v-for="(ingredient, index) in step.ingredients" dense>
|
<v-row v-for="(ingredient, index) in step.ingredients" dense>
|
||||||
<v-col cols="2" v-if="!ingredient.isHeader">
|
<v-col cols="2" v-if="!ingredient.isHeader">
|
||||||
|
<v-input hide-details>
|
||||||
|
<template #prepend>
|
||||||
|
<v-icon icon="$dragHandle" class="drag-handle cursor-grab" v-if="ingredient.noAmount" density="compact"></v-icon>
|
||||||
|
</template>
|
||||||
|
</v-input>
|
||||||
<v-text-field :id="`id_input_amount_${step.id}_${index}`" :label="$t('Amount')" type="number" v-model="ingredient.amount" density="compact"
|
<v-text-field :id="`id_input_amount_${step.id}_${index}`" :label="$t('Amount')" type="number" v-model="ingredient.amount" density="compact"
|
||||||
hide-details v-if="!ingredient.noAmount">
|
hide-details v-if="!ingredient.noAmount">
|
||||||
|
|
||||||
@@ -92,8 +97,8 @@
|
|||||||
}}
|
}}
|
||||||
</v-list-item>
|
</v-list-item>
|
||||||
<v-list-item v-if="ingredient.originalText" prepend-icon="$import">
|
<v-list-item v-if="ingredient.originalText" prepend-icon="$import">
|
||||||
<v-list-item-title>{{$t('Original_Text')}}</v-list-item-title>
|
<v-list-item-title>{{ $t('Original_Text') }}</v-list-item-title>
|
||||||
<v-list-item-subtitle>{{ ingredient.originalText}}</v-list-item-subtitle>
|
<v-list-item-subtitle>{{ ingredient.originalText }}</v-list-item-subtitle>
|
||||||
</v-list-item>
|
</v-list-item>
|
||||||
</v-list>
|
</v-list>
|
||||||
</v-menu>
|
</v-menu>
|
||||||
@@ -174,14 +179,16 @@
|
|||||||
</v-card>
|
</v-card>
|
||||||
</v-dialog>
|
</v-dialog>
|
||||||
|
|
||||||
<step-ingredient-sorter-dialog :step-index="props.stepIndex" :step="step" :recipe="recipe" v-model="dialogIngredientSorter" :ingredient-index="editingIngredientIndex"></step-ingredient-sorter-dialog>
|
<step-ingredient-sorter-dialog :step-index="props.stepIndex" :step="step" :recipe="recipe" v-model="dialogIngredientSorter"
|
||||||
|
:ingredient-index="editingIngredientIndex"></step-ingredient-sorter-dialog>
|
||||||
|
|
||||||
<v-bottom-sheet v-model="dialogIngredientEditor">
|
<v-bottom-sheet v-model="dialogIngredientEditor">
|
||||||
<v-card v-if="editingIngredientIndex >= 0">
|
<v-card v-if="editingIngredientIndex >= 0">
|
||||||
<v-closable-card-title :title="$t('Ingredient Editor')" v-model="dialogIngredientEditor"></v-closable-card-title>
|
<v-closable-card-title :title="$t('Ingredient Editor')" v-model="dialogIngredientEditor"></v-closable-card-title>
|
||||||
<v-card-text>
|
<v-card-text>
|
||||||
<v-form>
|
<v-form>
|
||||||
<v-text-field :label="$t('Original_Text')" readonly v-model="step.ingredients[editingIngredientIndex].originalText" v-if="step.ingredients[editingIngredientIndex].originalText"></v-text-field>
|
<v-text-field :label="$t('Original_Text')" readonly v-model="step.ingredients[editingIngredientIndex].originalText"
|
||||||
|
v-if="step.ingredients[editingIngredientIndex].originalText"></v-text-field>
|
||||||
<v-number-input v-model="step.ingredients[editingIngredientIndex].amount" inset control-variant="stacked" autofocus :label="$t('Amount')"
|
<v-number-input v-model="step.ingredients[editingIngredientIndex].amount" inset control-variant="stacked" autofocus :label="$t('Amount')"
|
||||||
:min="0" :precision="2" v-if="!step.ingredients[editingIngredientIndex].isHeader"></v-number-input>
|
:min="0" :precision="2" v-if="!step.ingredients[editingIngredientIndex].isHeader"></v-number-input>
|
||||||
<model-select model="Unit" v-model="step.ingredients[editingIngredientIndex].unit" :label="$t('Unit')" v-if="!step.ingredients[editingIngredientIndex].isHeader"
|
<model-select model="Unit" v-model="step.ingredients[editingIngredientIndex].unit" :label="$t('Unit')" v-if="!step.ingredients[editingIngredientIndex].isHeader"
|
||||||
|
|||||||
@@ -63,7 +63,8 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
|
||||||
<closable-help-alert :text="$t('RecipeStepsHelp')" :action-text="$t('Steps')" @click="tab='steps'"></closable-help-alert>
|
<!-- <closable-help-alert :text="$t('RecipeStepsHelp')" :action-text="$t('Steps')" @click="tab='steps'"></closable-help-alert>-->
|
||||||
|
<v-btn @click="tab='steps'" class="float-right" variant="tonal" append-icon="fa-solid fa-arrow-right">{{$t('Steps')}} </v-btn>
|
||||||
</v-form>
|
</v-form>
|
||||||
|
|
||||||
</v-tabs-window-item>
|
</v-tabs-window-item>
|
||||||
@@ -95,7 +96,7 @@
|
|||||||
</v-tabs-window-item>
|
</v-tabs-window-item>
|
||||||
<v-tabs-window-item value="settings">
|
<v-tabs-window-item value="settings">
|
||||||
<v-form :disabled="loading || fileApiLoading">
|
<v-form :disabled="loading || fileApiLoading">
|
||||||
<v-checkbox :label="$t('Ingredient Overview')" :hint="$t('show_ingredient_overview')" persistent-hint
|
<v-checkbox :label="$t('show_ingredient_overview')"
|
||||||
v-model="editingObj.showIngredientOverview"></v-checkbox>
|
v-model="editingObj.showIngredientOverview"></v-checkbox>
|
||||||
|
|
||||||
<v-text-field :label="$t('Imported_From')" v-model="editingObj.sourceUrl"></v-text-field>
|
<v-text-field :label="$t('Imported_From')" v-model="editingObj.sourceUrl"></v-text-field>
|
||||||
|
|||||||
@@ -207,7 +207,6 @@ export function useModelEditorFunctions<T>(modelName: EditorSupportedModels, emi
|
|||||||
|
|
||||||
return modelClass.value.destroy(editingObj.value.id).then((r: any) => {
|
return modelClass.value.destroy(editingObj.value.id).then((r: any) => {
|
||||||
emit('delete', editingObj.value)
|
emit('delete', editingObj.value)
|
||||||
console.log('deleted')
|
|
||||||
editingObj.value = {} as T
|
editingObj.value = {} as T
|
||||||
}).catch((err: any) => {
|
}).catch((err: any) => {
|
||||||
useMessageStore().addError(ErrorMessageType.DELETE_ERROR, err)
|
useMessageStore().addError(ErrorMessageType.DELETE_ERROR, err)
|
||||||
|
|||||||
@@ -111,6 +111,7 @@
|
|||||||
"Enable_Amount": "",
|
"Enable_Amount": "",
|
||||||
"Energy": "",
|
"Energy": "",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "",
|
"Export": "",
|
||||||
"Export_As_ICal": "",
|
"Export_As_ICal": "",
|
||||||
"Export_Not_Yet_Supported": "",
|
"Export_Not_Yet_Supported": "",
|
||||||
@@ -209,6 +210,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "",
|
"Move": "",
|
||||||
"MoveCategory": "",
|
"MoveCategory": "",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "",
|
"Move_Down": "",
|
||||||
"Move_Food": "",
|
"Move_Food": "",
|
||||||
"Move_Keyword": "",
|
"Move_Keyword": "",
|
||||||
@@ -277,6 +279,8 @@
|
|||||||
"QuickEntry": "",
|
"QuickEntry": "",
|
||||||
"Random Recipes": "",
|
"Random Recipes": "",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "",
|
"Rating": "",
|
||||||
"Ratings": "",
|
"Ratings": "",
|
||||||
"Recently_Viewed": "",
|
"Recently_Viewed": "",
|
||||||
@@ -383,6 +387,8 @@
|
|||||||
"Update": "",
|
"Update": "",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "",
|
"Url_Import": "",
|
||||||
"Use_Plural_Food_Always": "",
|
"Use_Plural_Food_Always": "",
|
||||||
"Use_Plural_Food_Simple": "",
|
"Use_Plural_Food_Simple": "",
|
||||||
|
|||||||
@@ -108,6 +108,7 @@
|
|||||||
"Enable_Amount": "Активиране на сумата",
|
"Enable_Amount": "Активиране на сумата",
|
||||||
"Energy": "Енергия",
|
"Energy": "Енергия",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Експортиране",
|
"Export": "Експортиране",
|
||||||
"Export_As_ICal": "Експортирайте текущия период във формат iCal",
|
"Export_As_ICal": "Експортирайте текущия период във формат iCal",
|
||||||
"Export_Not_Yet_Supported": "Експортирането все още не се поддържа",
|
"Export_Not_Yet_Supported": "Експортирането все още не се поддържа",
|
||||||
@@ -203,6 +204,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Премести",
|
"Move": "Премести",
|
||||||
"MoveCategory": "Премести към: ",
|
"MoveCategory": "Премести към: ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Премести надолу",
|
"Move_Down": "Премести надолу",
|
||||||
"Move_Food": "Преместете храната",
|
"Move_Food": "Преместете храната",
|
||||||
"Move_Keyword": "Преместване на ключова дума",
|
"Move_Keyword": "Преместване на ключова дума",
|
||||||
@@ -270,6 +272,8 @@
|
|||||||
"QuickEntry": "Бързо влизане",
|
"QuickEntry": "Бързо влизане",
|
||||||
"Random Recipes": "Случайни рецепти",
|
"Random Recipes": "Случайни рецепти",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Рейтинг",
|
"Rating": "Рейтинг",
|
||||||
"Ratings": "Рейтинги",
|
"Ratings": "Рейтинги",
|
||||||
"Recently_Viewed": "Наскоро разгледани",
|
"Recently_Viewed": "Наскоро разгледани",
|
||||||
@@ -376,6 +380,8 @@
|
|||||||
"Update": "",
|
"Update": "",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "Импортиране на URL адрес",
|
"Url_Import": "Импортиране на URL адрес",
|
||||||
"Use_Plural_Food_Always": "",
|
"Use_Plural_Food_Always": "",
|
||||||
"Use_Plural_Food_Simple": "",
|
"Use_Plural_Food_Simple": "",
|
||||||
|
|||||||
@@ -146,6 +146,7 @@
|
|||||||
"Energy": "",
|
"Energy": "",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
"Error": "",
|
"Error": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "",
|
"Export": "",
|
||||||
"Export_As_ICal": "",
|
"Export_As_ICal": "",
|
||||||
"Export_Not_Yet_Supported": "",
|
"Export_Not_Yet_Supported": "",
|
||||||
@@ -259,6 +260,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "",
|
"Move": "",
|
||||||
"MoveCategory": "",
|
"MoveCategory": "",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Moveu avall",
|
"Move_Down": "Moveu avall",
|
||||||
"Move_Food": "",
|
"Move_Food": "",
|
||||||
"Move_Keyword": "Moveu la paraula clau",
|
"Move_Keyword": "Moveu la paraula clau",
|
||||||
@@ -344,6 +346,8 @@
|
|||||||
"QuickEntry": "",
|
"QuickEntry": "",
|
||||||
"Random Recipes": "",
|
"Random Recipes": "",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "",
|
"Rating": "",
|
||||||
"Ratings": "",
|
"Ratings": "",
|
||||||
"Recently_Viewed": "Vistos recentment",
|
"Recently_Viewed": "Vistos recentment",
|
||||||
@@ -471,6 +475,8 @@
|
|||||||
"Updated": "",
|
"Updated": "",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "Importeu des d'url",
|
"Url_Import": "Importeu des d'url",
|
||||||
"Use_Fractions": "",
|
"Use_Fractions": "",
|
||||||
"Use_Fractions_Help": "",
|
"Use_Fractions_Help": "",
|
||||||
|
|||||||
@@ -146,6 +146,7 @@
|
|||||||
"Energy": "Energie",
|
"Energy": "Energie",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
"Error": "Chyba",
|
"Error": "Chyba",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Export",
|
"Export": "Export",
|
||||||
"Export_As_ICal": "Exportovat současný úsek do formátu iCal",
|
"Export_As_ICal": "Exportovat současný úsek do formátu iCal",
|
||||||
"Export_Not_Yet_Supported": "Export není zatím podporován",
|
"Export_Not_Yet_Supported": "Export není zatím podporován",
|
||||||
@@ -258,6 +259,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Přesunout",
|
"Move": "Přesunout",
|
||||||
"MoveCategory": "Přesunout do: ",
|
"MoveCategory": "Přesunout do: ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Dolů",
|
"Move_Down": "Dolů",
|
||||||
"Move_Food": "Přesunout potravinu",
|
"Move_Food": "Přesunout potravinu",
|
||||||
"Move_Keyword": "Přesunout štítek",
|
"Move_Keyword": "Přesunout štítek",
|
||||||
@@ -342,6 +344,8 @@
|
|||||||
"QuickEntry": "Rychlý záznam",
|
"QuickEntry": "Rychlý záznam",
|
||||||
"Random Recipes": "Náhodné recepty",
|
"Random Recipes": "Náhodné recepty",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Hodnocení",
|
"Rating": "Hodnocení",
|
||||||
"Ratings": "Hodnocení",
|
"Ratings": "Hodnocení",
|
||||||
"Recently_Viewed": "Naposledy prohlížené",
|
"Recently_Viewed": "Naposledy prohlížené",
|
||||||
@@ -464,6 +468,8 @@
|
|||||||
"Update_Existing_Data": "Aktualizovat existující data",
|
"Update_Existing_Data": "Aktualizovat existující data",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "Import pomocí URL odkazu",
|
"Url_Import": "Import pomocí URL odkazu",
|
||||||
"Use_Fractions": "Použít zlomky",
|
"Use_Fractions": "Použít zlomky",
|
||||||
"Use_Fractions_Help": "Automaticky převézt desetinná čísla na zlomky při prohlížení repetu.",
|
"Use_Fractions_Help": "Automaticky převézt desetinná čísla na zlomky při prohlížení repetu.",
|
||||||
|
|||||||
@@ -135,6 +135,7 @@
|
|||||||
"EndDate": "Slutdato",
|
"EndDate": "Slutdato",
|
||||||
"Energy": "Energi",
|
"Energy": "Energi",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Eksporter",
|
"Export": "Eksporter",
|
||||||
"Export_As_ICal": "Eksporter nuværende periode til iCal format",
|
"Export_As_ICal": "Eksporter nuværende periode til iCal format",
|
||||||
"Export_Not_Yet_Supported": "Eksport endnu ikke understøttet",
|
"Export_Not_Yet_Supported": "Eksport endnu ikke understøttet",
|
||||||
@@ -245,6 +246,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Flyt",
|
"Move": "Flyt",
|
||||||
"MoveCategory": "Flyt til: ",
|
"MoveCategory": "Flyt til: ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Flyt ned",
|
"Move_Down": "Flyt ned",
|
||||||
"Move_Food": "Flyt mad",
|
"Move_Food": "Flyt mad",
|
||||||
"Move_Keyword": "Flyt nøgleord",
|
"Move_Keyword": "Flyt nøgleord",
|
||||||
@@ -326,6 +328,8 @@
|
|||||||
"QuickEntry": "Hurtigt indlæg",
|
"QuickEntry": "Hurtigt indlæg",
|
||||||
"Random Recipes": "Tilfældige opskrifter",
|
"Random Recipes": "Tilfældige opskrifter",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Bedømmelse",
|
"Rating": "Bedømmelse",
|
||||||
"Ratings": "Bedømmelser",
|
"Ratings": "Bedømmelser",
|
||||||
"Recently_Viewed": "Vist for nylig",
|
"Recently_Viewed": "Vist for nylig",
|
||||||
@@ -444,6 +448,8 @@
|
|||||||
"Update_Existing_Data": "Opdaterer eksisterende data",
|
"Update_Existing_Data": "Opdaterer eksisterende data",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "Importer fra link",
|
"Url_Import": "Importer fra link",
|
||||||
"Use_Fractions": "Benyt brøker",
|
"Use_Fractions": "Benyt brøker",
|
||||||
"Use_Fractions_Help": "Konverter automatisk decimaler til brøker når du viser en opskrift.",
|
"Use_Fractions_Help": "Konverter automatisk decimaler til brøker når du viser en opskrift.",
|
||||||
|
|||||||
@@ -149,6 +149,7 @@
|
|||||||
"Energy": "Energie",
|
"Energy": "Energie",
|
||||||
"Entries": "Einträge",
|
"Entries": "Einträge",
|
||||||
"Error": "Fehler",
|
"Error": "Fehler",
|
||||||
|
"ErrorUrlListImport": "Beim importieren der obersten URL in der Liste ist ein Fehler aufgetreten. Alle URLs die nicht mehr in der Liste sind wurden importiert.",
|
||||||
"Export": "Exportieren",
|
"Export": "Exportieren",
|
||||||
"Export_As_ICal": "Aktuellen Zeitraum im iCal Format exportieren",
|
"Export_As_ICal": "Aktuellen Zeitraum im iCal Format exportieren",
|
||||||
"Export_Not_Yet_Supported": "Exportieren wird noch nicht unterstützt",
|
"Export_Not_Yet_Supported": "Exportieren wird noch nicht unterstützt",
|
||||||
@@ -262,6 +263,7 @@
|
|||||||
"More": "Mehr",
|
"More": "Mehr",
|
||||||
"Move": "Verschieben",
|
"Move": "Verschieben",
|
||||||
"MoveCategory": "Verschieben nach: ",
|
"MoveCategory": "Verschieben nach: ",
|
||||||
|
"MoveToStep": "Verschieben in Schritt",
|
||||||
"Move_Down": "Runter",
|
"Move_Down": "Runter",
|
||||||
"Move_Food": "Lebensmittel verschieben",
|
"Move_Food": "Lebensmittel verschieben",
|
||||||
"Move_Keyword": "Schlagwort verschieben",
|
"Move_Keyword": "Schlagwort verschieben",
|
||||||
@@ -348,6 +350,8 @@
|
|||||||
"QuickEntry": "Einfach",
|
"QuickEntry": "Einfach",
|
||||||
"Random Recipes": "Zufällige Rezepte",
|
"Random Recipes": "Zufällige Rezepte",
|
||||||
"RandomOrder": "Zufällige Reihenfolge",
|
"RandomOrder": "Zufällige Reihenfolge",
|
||||||
|
"RateLimit": "Rate Limit",
|
||||||
|
"RateLimitHelp": "Das Limit der erlaubten Anfragen in einer bestimmten Zeit wurde erreicht.",
|
||||||
"Rating": "Bewertung",
|
"Rating": "Bewertung",
|
||||||
"Ratings": "Bewertungen",
|
"Ratings": "Bewertungen",
|
||||||
"Recently_Viewed": "Kürzlich angesehen",
|
"Recently_Viewed": "Kürzlich angesehen",
|
||||||
@@ -475,6 +479,8 @@
|
|||||||
"Updated": "Aktualisiert",
|
"Updated": "Aktualisiert",
|
||||||
"UpgradeNow": "Jetzt Upgraden",
|
"UpgradeNow": "Jetzt Upgraden",
|
||||||
"UrlImportSubtitle": "Importiere Rezepte von tausenden unterstützten Seiten.",
|
"UrlImportSubtitle": "Importiere Rezepte von tausenden unterstützten Seiten.",
|
||||||
|
"UrlList": "URL Liste",
|
||||||
|
"UrlListSubtitle": "Automatischer Import einer Liste von Urls",
|
||||||
"Url_Import": "URL Import",
|
"Url_Import": "URL Import",
|
||||||
"Use_Fractions": "Bruchschreibweise verwenden",
|
"Use_Fractions": "Bruchschreibweise verwenden",
|
||||||
"Use_Fractions_Help": "Nachkommastellen automatisch in Bruchschreibweise konvertieren, wenn ein Rezept angeschaut wird.",
|
"Use_Fractions_Help": "Nachkommastellen automatisch in Bruchschreibweise konvertieren, wenn ein Rezept angeschaut wird.",
|
||||||
|
|||||||
@@ -133,6 +133,7 @@
|
|||||||
"Enable_Amount": "Ενεργοποίηση ποσότητας",
|
"Enable_Amount": "Ενεργοποίηση ποσότητας",
|
||||||
"Energy": "Ενέργεια",
|
"Energy": "Ενέργεια",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Εξαγωγή",
|
"Export": "Εξαγωγή",
|
||||||
"Export_As_ICal": "Εξαγωγή της τρέχουσας περιόδου σε μορφή iCal",
|
"Export_As_ICal": "Εξαγωγή της τρέχουσας περιόδου σε μορφή iCal",
|
||||||
"Export_Not_Yet_Supported": "Η εξαγωγή δεν υποστηρίζεται ακόμη",
|
"Export_Not_Yet_Supported": "Η εξαγωγή δεν υποστηρίζεται ακόμη",
|
||||||
@@ -240,6 +241,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Μετακίνηση",
|
"Move": "Μετακίνηση",
|
||||||
"MoveCategory": "Μετακίνηση σε: ",
|
"MoveCategory": "Μετακίνηση σε: ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Μετακίνηση κάτω",
|
"Move_Down": "Μετακίνηση κάτω",
|
||||||
"Move_Food": "Μετακίνηση φαγητού",
|
"Move_Food": "Μετακίνηση φαγητού",
|
||||||
"Move_Keyword": "Μεταφορά λέξης-κλειδί",
|
"Move_Keyword": "Μεταφορά λέξης-κλειδί",
|
||||||
@@ -318,6 +320,8 @@
|
|||||||
"QuickEntry": "Γρήγορη καταχώρηση",
|
"QuickEntry": "Γρήγορη καταχώρηση",
|
||||||
"Random Recipes": "Τυχαίες συνταγές",
|
"Random Recipes": "Τυχαίες συνταγές",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Βαθμολογία",
|
"Rating": "Βαθμολογία",
|
||||||
"Ratings": "Βαθμολογίες",
|
"Ratings": "Βαθμολογίες",
|
||||||
"Recently_Viewed": "Προβλήθηκαν πρόσφατα",
|
"Recently_Viewed": "Προβλήθηκαν πρόσφατα",
|
||||||
@@ -433,6 +437,8 @@
|
|||||||
"Update_Existing_Data": "Ενημέρωση υπαρχόντων δεδομένων",
|
"Update_Existing_Data": "Ενημέρωση υπαρχόντων δεδομένων",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "Εισαγωγή Url",
|
"Url_Import": "Εισαγωγή Url",
|
||||||
"Use_Fractions": "Χρήση κλασμάτων",
|
"Use_Fractions": "Χρήση κλασμάτων",
|
||||||
"Use_Fractions_Help": "Αυτόματη μετατροπή δεκαδικών σε κλάσματα κατά την προβολή μιας συνταγής.",
|
"Use_Fractions_Help": "Αυτόματη μετατροπή δεκαδικών σε κλάσματα κατά την προβολή μιας συνταγής.",
|
||||||
|
|||||||
@@ -147,6 +147,7 @@
|
|||||||
"Energy": "Energy",
|
"Energy": "Energy",
|
||||||
"Entries": "Entries",
|
"Entries": "Entries",
|
||||||
"Error": "Error",
|
"Error": "Error",
|
||||||
|
"ErrorUrlListImport": "An error occured during import of the first URL in the list. All URLs no longer shown have been imported successfully. ",
|
||||||
"Export": "Export",
|
"Export": "Export",
|
||||||
"Export_As_ICal": "Export current period to iCal format",
|
"Export_As_ICal": "Export current period to iCal format",
|
||||||
"Export_Not_Yet_Supported": "Export not yet supported",
|
"Export_Not_Yet_Supported": "Export not yet supported",
|
||||||
@@ -260,6 +261,7 @@
|
|||||||
"More": "More",
|
"More": "More",
|
||||||
"Move": "Move",
|
"Move": "Move",
|
||||||
"MoveCategory": "Move To: ",
|
"MoveCategory": "Move To: ",
|
||||||
|
"MoveToStep": "Move to Step",
|
||||||
"Move_Down": "Move down",
|
"Move_Down": "Move down",
|
||||||
"Move_Food": "Move Food",
|
"Move_Food": "Move Food",
|
||||||
"Move_Keyword": "Move Keyword",
|
"Move_Keyword": "Move Keyword",
|
||||||
@@ -346,6 +348,8 @@
|
|||||||
"QuickEntry": "Quick Entry",
|
"QuickEntry": "Quick Entry",
|
||||||
"Random Recipes": "Random Recipes",
|
"Random Recipes": "Random Recipes",
|
||||||
"RandomOrder": "Random order",
|
"RandomOrder": "Random order",
|
||||||
|
"RateLimit": "Rate limit",
|
||||||
|
"RateLimitHelp": "You have reached the limit of requests in a certain time.",
|
||||||
"Rating": "Rating",
|
"Rating": "Rating",
|
||||||
"Ratings": "Ratings",
|
"Ratings": "Ratings",
|
||||||
"Recently_Viewed": "Recently Viewed",
|
"Recently_Viewed": "Recently Viewed",
|
||||||
@@ -473,6 +477,8 @@
|
|||||||
"Updated": "Updated",
|
"Updated": "Updated",
|
||||||
"UpgradeNow": "Upgrade now",
|
"UpgradeNow": "Upgrade now",
|
||||||
"UrlImportSubtitle": "Import recipes from thousands of suppported pages.",
|
"UrlImportSubtitle": "Import recipes from thousands of suppported pages.",
|
||||||
|
"UrlList": "URL List",
|
||||||
|
"UrlListSubtitle": "Automatically import a list of urls",
|
||||||
"Url_Import": "Url Import",
|
"Url_Import": "Url Import",
|
||||||
"Use_Fractions": "Use Fractions",
|
"Use_Fractions": "Use Fractions",
|
||||||
"Use_Fractions_Help": "Automatically convert decimals to fractions when viewing a recipe.",
|
"Use_Fractions_Help": "Automatically convert decimals to fractions when viewing a recipe.",
|
||||||
|
|||||||
@@ -147,6 +147,7 @@
|
|||||||
"Energy": "Energia",
|
"Energy": "Energia",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
"Error": "Error",
|
"Error": "Error",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Exportar",
|
"Export": "Exportar",
|
||||||
"Export_As_ICal": "Exportar el periodo actual en formato iCal",
|
"Export_As_ICal": "Exportar el periodo actual en formato iCal",
|
||||||
"Export_Not_Yet_Supported": "Exportación no soportada todavía",
|
"Export_Not_Yet_Supported": "Exportación no soportada todavía",
|
||||||
@@ -260,6 +261,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Mover",
|
"Move": "Mover",
|
||||||
"MoveCategory": "Mover a: ",
|
"MoveCategory": "Mover a: ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "mover abajo",
|
"Move_Down": "mover abajo",
|
||||||
"Move_Food": "Mover ingediente",
|
"Move_Food": "Mover ingediente",
|
||||||
"Move_Keyword": "Mover palabra clave",
|
"Move_Keyword": "Mover palabra clave",
|
||||||
@@ -344,6 +346,8 @@
|
|||||||
"QuickEntry": "Entrada Rápida",
|
"QuickEntry": "Entrada Rápida",
|
||||||
"Random Recipes": "Recetas Aleatorias",
|
"Random Recipes": "Recetas Aleatorias",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Puntuación",
|
"Rating": "Puntuación",
|
||||||
"Ratings": "Calificaciones",
|
"Ratings": "Calificaciones",
|
||||||
"Recently_Viewed": "Visto recientemente",
|
"Recently_Viewed": "Visto recientemente",
|
||||||
@@ -471,6 +475,8 @@
|
|||||||
"Updated": "Actualizada",
|
"Updated": "Actualizada",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "Importar desde url",
|
"Url_Import": "Importar desde url",
|
||||||
"Use_Fractions": "Use fracciones",
|
"Use_Fractions": "Use fracciones",
|
||||||
"Use_Fractions_Help": "Convertir automáticamente los decimales en fracciones al ver una receta.",
|
"Use_Fractions_Help": "Convertir automáticamente los decimales en fracciones al ver una receta.",
|
||||||
|
|||||||
@@ -87,6 +87,7 @@
|
|||||||
"Enable_Amount": "Ota Määrä käyttöön",
|
"Enable_Amount": "Ota Määrä käyttöön",
|
||||||
"Energy": "Energia",
|
"Energy": "Energia",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Vie",
|
"Export": "Vie",
|
||||||
"Export_As_ICal": "Vie nykyinen jakso iCal muotoon",
|
"Export_As_ICal": "Vie nykyinen jakso iCal muotoon",
|
||||||
"Export_To_ICal": "Vie .ics",
|
"Export_To_ICal": "Vie .ics",
|
||||||
@@ -157,6 +158,7 @@
|
|||||||
"Month": "Kuukausi",
|
"Month": "Kuukausi",
|
||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Siirry",
|
"Move": "Siirry",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Siirry alas",
|
"Move_Down": "Siirry alas",
|
||||||
"Move_Food": "Siirrä ruoka",
|
"Move_Food": "Siirrä ruoka",
|
||||||
"Move_Keyword": "Siirrä Avainsana",
|
"Move_Keyword": "Siirrä Avainsana",
|
||||||
@@ -208,6 +210,8 @@
|
|||||||
"Property_Editor": "",
|
"Property_Editor": "",
|
||||||
"Proteins": "Proteiinit",
|
"Proteins": "Proteiinit",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Luokitus",
|
"Rating": "Luokitus",
|
||||||
"Recently_Viewed": "Äskettäin katsotut",
|
"Recently_Viewed": "Äskettäin katsotut",
|
||||||
"Recipe": "Resepti",
|
"Recipe": "Resepti",
|
||||||
@@ -297,6 +301,8 @@
|
|||||||
"Update": "",
|
"Update": "",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "URL Tuonti",
|
"Url_Import": "URL Tuonti",
|
||||||
"Use_Plural_Food_Always": "",
|
"Use_Plural_Food_Always": "",
|
||||||
"Use_Plural_Food_Simple": "",
|
"Use_Plural_Food_Simple": "",
|
||||||
|
|||||||
@@ -146,6 +146,7 @@
|
|||||||
"Energy": "Énergie",
|
"Energy": "Énergie",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
"Error": "Erreur",
|
"Error": "Erreur",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Exporter",
|
"Export": "Exporter",
|
||||||
"Export_As_ICal": "Exporter la période en cours au format iCal",
|
"Export_As_ICal": "Exporter la période en cours au format iCal",
|
||||||
"Export_Not_Yet_Supported": "Exportation pas encore prise en charge",
|
"Export_Not_Yet_Supported": "Exportation pas encore prise en charge",
|
||||||
@@ -259,6 +260,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Déplacer",
|
"Move": "Déplacer",
|
||||||
"MoveCategory": "Déplacer vers : ",
|
"MoveCategory": "Déplacer vers : ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Descendre",
|
"Move_Down": "Descendre",
|
||||||
"Move_Food": "Déplacer l’aliment",
|
"Move_Food": "Déplacer l’aliment",
|
||||||
"Move_Keyword": "Déplacer le mot-clé",
|
"Move_Keyword": "Déplacer le mot-clé",
|
||||||
@@ -344,6 +346,8 @@
|
|||||||
"QuickEntry": "Entrée rapide",
|
"QuickEntry": "Entrée rapide",
|
||||||
"Random Recipes": "Recettes Aléatoires",
|
"Random Recipes": "Recettes Aléatoires",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Note",
|
"Rating": "Note",
|
||||||
"Ratings": "Notes",
|
"Ratings": "Notes",
|
||||||
"Recently_Viewed": "Vu récemment",
|
"Recently_Viewed": "Vu récemment",
|
||||||
@@ -470,6 +474,8 @@
|
|||||||
"Updated": "Mis à jour",
|
"Updated": "Mis à jour",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "Importation de l’url",
|
"Url_Import": "Importation de l’url",
|
||||||
"Use_Fractions": "Utiliser les fractions",
|
"Use_Fractions": "Utiliser les fractions",
|
||||||
"Use_Fractions_Help": "Convertir les décimales en fractions automatiquement lors de la visualisation d’une recette.",
|
"Use_Fractions_Help": "Convertir les décimales en fractions automatiquement lors de la visualisation d’une recette.",
|
||||||
|
|||||||
@@ -147,6 +147,7 @@
|
|||||||
"Energy": "אנרגיה",
|
"Energy": "אנרגיה",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
"Error": "שגיאה",
|
"Error": "שגיאה",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "ייצוא",
|
"Export": "ייצוא",
|
||||||
"Export_As_ICal": "ייצוא תקופה נוכחית בפורמט iCal",
|
"Export_As_ICal": "ייצוא תקופה נוכחית בפורמט iCal",
|
||||||
"Export_Not_Yet_Supported": "ייצוא לא נתמך עדיין",
|
"Export_Not_Yet_Supported": "ייצוא לא נתמך עדיין",
|
||||||
@@ -260,6 +261,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "העברה",
|
"Move": "העברה",
|
||||||
"MoveCategory": "העבר אל: ",
|
"MoveCategory": "העבר אל: ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "העברה למטה",
|
"Move_Down": "העברה למטה",
|
||||||
"Move_Food": "העבר אוכל",
|
"Move_Food": "העבר אוכל",
|
||||||
"Move_Keyword": "העברת מילת מפתח",
|
"Move_Keyword": "העברת מילת מפתח",
|
||||||
@@ -345,6 +347,8 @@
|
|||||||
"QuickEntry": "רשומה מהירה",
|
"QuickEntry": "רשומה מהירה",
|
||||||
"Random Recipes": "מתכון אקראי",
|
"Random Recipes": "מתכון אקראי",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "דירוג",
|
"Rating": "דירוג",
|
||||||
"Ratings": "דירוג",
|
"Ratings": "דירוג",
|
||||||
"Recently_Viewed": "נצפו לאחרונה",
|
"Recently_Viewed": "נצפו לאחרונה",
|
||||||
@@ -472,6 +476,8 @@
|
|||||||
"Updated": "עודכן",
|
"Updated": "עודכן",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "ייבוא מכתובת",
|
"Url_Import": "ייבוא מכתובת",
|
||||||
"Use_Fractions": "השתמש בשברים",
|
"Use_Fractions": "השתמש בשברים",
|
||||||
"Use_Fractions_Help": "המר אוטומטית מדצמילי לשברים כאשר צופים במתכון.",
|
"Use_Fractions_Help": "המר אוטומטית מדצמילי לשברים כאשר צופים במתכון.",
|
||||||
|
|||||||
@@ -133,6 +133,7 @@
|
|||||||
"EndDate": "Befejezés dátuma",
|
"EndDate": "Befejezés dátuma",
|
||||||
"Energy": "Energia",
|
"Energy": "Energia",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Export",
|
"Export": "Export",
|
||||||
"Export_As_ICal": "Jelenlegi időszak exportálása iCal formátumba",
|
"Export_As_ICal": "Jelenlegi időszak exportálása iCal formátumba",
|
||||||
"Export_Not_Yet_Supported": "",
|
"Export_Not_Yet_Supported": "",
|
||||||
@@ -241,6 +242,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Mozgatás",
|
"Move": "Mozgatás",
|
||||||
"MoveCategory": "Áthelyezés ide: ",
|
"MoveCategory": "Áthelyezés ide: ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Lefelé mozgatás",
|
"Move_Down": "Lefelé mozgatás",
|
||||||
"Move_Food": "Alapanyag mozgatása",
|
"Move_Food": "Alapanyag mozgatása",
|
||||||
"Move_Keyword": "Kulcsszó mozgatása",
|
"Move_Keyword": "Kulcsszó mozgatása",
|
||||||
@@ -320,6 +322,8 @@
|
|||||||
"QuickEntry": "Gyors bevitel",
|
"QuickEntry": "Gyors bevitel",
|
||||||
"Random Recipes": "Véletlenszerű receptek",
|
"Random Recipes": "Véletlenszerű receptek",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Értékelés",
|
"Rating": "Értékelés",
|
||||||
"Ratings": "Értékelések",
|
"Ratings": "Értékelések",
|
||||||
"Recently_Viewed": "Nemrég megtekintett",
|
"Recently_Viewed": "Nemrég megtekintett",
|
||||||
@@ -435,6 +439,8 @@
|
|||||||
"Update_Existing_Data": "Meglévő adatok frissítése",
|
"Update_Existing_Data": "Meglévő adatok frissítése",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "URL import",
|
"Url_Import": "URL import",
|
||||||
"Use_Fractions": "Tört használata",
|
"Use_Fractions": "Tört használata",
|
||||||
"Use_Fractions_Help": "A receptek megtekintésekor a tizedesjegyeket automatikusan törtekre konvertálja.",
|
"Use_Fractions_Help": "A receptek megtekintésekor a tizedesjegyeket automatikusan törtekre konvertálja.",
|
||||||
|
|||||||
@@ -70,6 +70,7 @@
|
|||||||
"Empty": "Դատարկ",
|
"Empty": "Դատարկ",
|
||||||
"Energy": "",
|
"Energy": "",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "",
|
"Export": "",
|
||||||
"External": "",
|
"External": "",
|
||||||
"External_Recipe_Image": "",
|
"External_Recipe_Image": "",
|
||||||
@@ -121,6 +122,7 @@
|
|||||||
"Monday": "",
|
"Monday": "",
|
||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Տեղափոխել",
|
"Move": "Տեղափոխել",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Food": "Տեղափոխել սննդամթերքը",
|
"Move_Food": "Տեղափոխել սննդամթերքը",
|
||||||
"Move_Keyword": "Տեղափոխել բանալի բառը",
|
"Move_Keyword": "Տեղափոխել բանալի բառը",
|
||||||
"Name": "Անուն",
|
"Name": "Անուն",
|
||||||
@@ -154,6 +156,8 @@
|
|||||||
"Property_Editor": "",
|
"Property_Editor": "",
|
||||||
"Proteins": "",
|
"Proteins": "",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "",
|
"Rating": "",
|
||||||
"Recently_Viewed": "Վերջերս դիտած",
|
"Recently_Viewed": "Վերջերս դիտած",
|
||||||
"Recipe": "Բաղադրատոմս",
|
"Recipe": "Բաղադրատոմս",
|
||||||
@@ -227,6 +231,8 @@
|
|||||||
"Update": "",
|
"Update": "",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "URL ներմուծում",
|
"Url_Import": "URL ներմուծում",
|
||||||
"Use_Plural_Food_Always": "",
|
"Use_Plural_Food_Always": "",
|
||||||
"Use_Plural_Food_Simple": "",
|
"Use_Plural_Food_Simple": "",
|
||||||
|
|||||||
@@ -122,6 +122,7 @@
|
|||||||
"Enable_Amount": "Aktifkan Jumlah",
|
"Enable_Amount": "Aktifkan Jumlah",
|
||||||
"Energy": "Energi",
|
"Energy": "Energi",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Ekspor",
|
"Export": "Ekspor",
|
||||||
"Export_As_ICal": "",
|
"Export_As_ICal": "",
|
||||||
"Export_Not_Yet_Supported": "",
|
"Export_Not_Yet_Supported": "",
|
||||||
@@ -226,6 +227,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Bergerak",
|
"Move": "Bergerak",
|
||||||
"MoveCategory": "",
|
"MoveCategory": "",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Pindahkan kebawah",
|
"Move_Down": "Pindahkan kebawah",
|
||||||
"Move_Food": "",
|
"Move_Food": "",
|
||||||
"Move_Keyword": "Pindahkan Kata Kunci",
|
"Move_Keyword": "Pindahkan Kata Kunci",
|
||||||
@@ -297,6 +299,8 @@
|
|||||||
"QuickEntry": "",
|
"QuickEntry": "",
|
||||||
"Random Recipes": "",
|
"Random Recipes": "",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Peringkat",
|
"Rating": "Peringkat",
|
||||||
"Ratings": "",
|
"Ratings": "",
|
||||||
"Recently_Viewed": "baru saja dilihat",
|
"Recently_Viewed": "baru saja dilihat",
|
||||||
@@ -408,6 +412,8 @@
|
|||||||
"Update": "",
|
"Update": "",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "Impor Url",
|
"Url_Import": "Impor Url",
|
||||||
"Use_Fractions": "",
|
"Use_Fractions": "",
|
||||||
"Use_Fractions_Help": "",
|
"Use_Fractions_Help": "",
|
||||||
|
|||||||
@@ -146,6 +146,7 @@
|
|||||||
"Energy": "",
|
"Energy": "",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
"Error": "",
|
"Error": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "",
|
"Export": "",
|
||||||
"Export_As_ICal": "",
|
"Export_As_ICal": "",
|
||||||
"Export_Not_Yet_Supported": "",
|
"Export_Not_Yet_Supported": "",
|
||||||
@@ -259,6 +260,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "",
|
"Move": "",
|
||||||
"MoveCategory": "",
|
"MoveCategory": "",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "",
|
"Move_Down": "",
|
||||||
"Move_Food": "",
|
"Move_Food": "",
|
||||||
"Move_Keyword": "",
|
"Move_Keyword": "",
|
||||||
@@ -344,6 +346,8 @@
|
|||||||
"QuickEntry": "",
|
"QuickEntry": "",
|
||||||
"Random Recipes": "",
|
"Random Recipes": "",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "",
|
"Rating": "",
|
||||||
"Ratings": "",
|
"Ratings": "",
|
||||||
"Recently_Viewed": "",
|
"Recently_Viewed": "",
|
||||||
@@ -470,6 +474,8 @@
|
|||||||
"Updated": "",
|
"Updated": "",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "",
|
"Url_Import": "",
|
||||||
"Use_Fractions": "",
|
"Use_Fractions": "",
|
||||||
"Use_Fractions_Help": "",
|
"Use_Fractions_Help": "",
|
||||||
|
|||||||
@@ -127,6 +127,7 @@
|
|||||||
"Enable_Amount": "Abilita Quantità",
|
"Enable_Amount": "Abilita Quantità",
|
||||||
"Energy": "Energia",
|
"Energy": "Energia",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Esporta",
|
"Export": "Esporta",
|
||||||
"Export_As_ICal": "Esporta il periodo attuale in formato .iCal",
|
"Export_As_ICal": "Esporta il periodo attuale in formato .iCal",
|
||||||
"Export_Not_Yet_Supported": "Esportazione non ancora supportata",
|
"Export_Not_Yet_Supported": "Esportazione non ancora supportata",
|
||||||
@@ -231,6 +232,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Sposta",
|
"Move": "Sposta",
|
||||||
"MoveCategory": "Sposta in: ",
|
"MoveCategory": "Sposta in: ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Sposta Sotto",
|
"Move_Down": "Sposta Sotto",
|
||||||
"Move_Food": "Sposta alimento",
|
"Move_Food": "Sposta alimento",
|
||||||
"Move_Keyword": "Sposta parola chiave",
|
"Move_Keyword": "Sposta parola chiave",
|
||||||
@@ -305,6 +307,8 @@
|
|||||||
"QuickEntry": "Inserimento rapido",
|
"QuickEntry": "Inserimento rapido",
|
||||||
"Random Recipes": "Ricette casuali",
|
"Random Recipes": "Ricette casuali",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Valutazione",
|
"Rating": "Valutazione",
|
||||||
"Ratings": "Valutazioni",
|
"Ratings": "Valutazioni",
|
||||||
"Recently_Viewed": "Visualizzato di recente",
|
"Recently_Viewed": "Visualizzato di recente",
|
||||||
@@ -419,6 +423,8 @@
|
|||||||
"Update": "",
|
"Update": "",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "Importa da URL",
|
"Url_Import": "Importa da URL",
|
||||||
"Use_Fractions": "Usa frazioni",
|
"Use_Fractions": "Usa frazioni",
|
||||||
"Use_Fractions_Help": "Converti automaticamente i decimali in frazioni quando apri una ricetta.",
|
"Use_Fractions_Help": "Converti automaticamente i decimali in frazioni quando apri una ricetta.",
|
||||||
|
|||||||
@@ -135,6 +135,7 @@
|
|||||||
"EndDate": "",
|
"EndDate": "",
|
||||||
"Energy": "",
|
"Energy": "",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "",
|
"Export": "",
|
||||||
"Export_As_ICal": "",
|
"Export_As_ICal": "",
|
||||||
"Export_Not_Yet_Supported": "",
|
"Export_Not_Yet_Supported": "",
|
||||||
@@ -243,6 +244,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "",
|
"Move": "",
|
||||||
"MoveCategory": "",
|
"MoveCategory": "",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Nuleisti žemyn",
|
"Move_Down": "Nuleisti žemyn",
|
||||||
"Move_Food": "",
|
"Move_Food": "",
|
||||||
"Move_Keyword": "Perkelti Raktažodį",
|
"Move_Keyword": "Perkelti Raktažodį",
|
||||||
@@ -324,6 +326,8 @@
|
|||||||
"QuickEntry": "",
|
"QuickEntry": "",
|
||||||
"Random Recipes": "",
|
"Random Recipes": "",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "",
|
"Rating": "",
|
||||||
"Ratings": "",
|
"Ratings": "",
|
||||||
"Recently_Viewed": "Neseniai Žiūrėta",
|
"Recently_Viewed": "Neseniai Žiūrėta",
|
||||||
@@ -442,6 +446,8 @@
|
|||||||
"Update_Existing_Data": "",
|
"Update_Existing_Data": "",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "URL importavimas",
|
"Url_Import": "URL importavimas",
|
||||||
"Use_Fractions": "",
|
"Use_Fractions": "",
|
||||||
"Use_Fractions_Help": "",
|
"Use_Fractions_Help": "",
|
||||||
|
|||||||
@@ -131,6 +131,7 @@
|
|||||||
"Enable_Amount": "Aktiver mengde",
|
"Enable_Amount": "Aktiver mengde",
|
||||||
"Energy": "Energi",
|
"Energy": "Energi",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Eksporter",
|
"Export": "Eksporter",
|
||||||
"Export_As_ICal": "Eksporter gjeldende periode som iCal format",
|
"Export_As_ICal": "Eksporter gjeldende periode som iCal format",
|
||||||
"Export_Not_Yet_Supported": "",
|
"Export_Not_Yet_Supported": "",
|
||||||
@@ -238,6 +239,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Flytt",
|
"Move": "Flytt",
|
||||||
"MoveCategory": "Flytt til: ",
|
"MoveCategory": "Flytt til: ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Flytt ned",
|
"Move_Down": "Flytt ned",
|
||||||
"Move_Food": "Flytt Matrett",
|
"Move_Food": "Flytt Matrett",
|
||||||
"Move_Keyword": "Flytt nøkkelord",
|
"Move_Keyword": "Flytt nøkkelord",
|
||||||
@@ -316,6 +318,8 @@
|
|||||||
"QuickEntry": "Hurtigregistrering",
|
"QuickEntry": "Hurtigregistrering",
|
||||||
"Random Recipes": "Tilfeldige oppskrifter",
|
"Random Recipes": "Tilfeldige oppskrifter",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Vurdering",
|
"Rating": "Vurdering",
|
||||||
"Ratings": "",
|
"Ratings": "",
|
||||||
"Recently_Viewed": "Nylig vist",
|
"Recently_Viewed": "Nylig vist",
|
||||||
@@ -431,6 +435,8 @@
|
|||||||
"Update_Existing_Data": "Oppdater eksisterende data",
|
"Update_Existing_Data": "Oppdater eksisterende data",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "Importer lenke",
|
"Url_Import": "Importer lenke",
|
||||||
"Use_Fractions": "Bruk deler",
|
"Use_Fractions": "Bruk deler",
|
||||||
"Use_Fractions_Help": "Automatisk konverter desimaler til deler når du ser på en oppskrift.",
|
"Use_Fractions_Help": "Automatisk konverter desimaler til deler når du ser på en oppskrift.",
|
||||||
|
|||||||
@@ -135,6 +135,7 @@
|
|||||||
"Enable_Amount": "Schakel hoeveelheid in",
|
"Enable_Amount": "Schakel hoeveelheid in",
|
||||||
"Energy": "Energie",
|
"Energy": "Energie",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Exporteren",
|
"Export": "Exporteren",
|
||||||
"Export_As_ICal": "Exporteer huidige periode naar iCal formaat",
|
"Export_As_ICal": "Exporteer huidige periode naar iCal formaat",
|
||||||
"Export_Not_Yet_Supported": "Export nog niet ondersteund",
|
"Export_Not_Yet_Supported": "Export nog niet ondersteund",
|
||||||
@@ -242,6 +243,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Verplaats",
|
"Move": "Verplaats",
|
||||||
"MoveCategory": "Verplaats naar: ",
|
"MoveCategory": "Verplaats naar: ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Verplaats omlaag",
|
"Move_Down": "Verplaats omlaag",
|
||||||
"Move_Food": "Verplaats Eten",
|
"Move_Food": "Verplaats Eten",
|
||||||
"Move_Keyword": "Verplaats Etiket",
|
"Move_Keyword": "Verplaats Etiket",
|
||||||
@@ -320,6 +322,8 @@
|
|||||||
"QuickEntry": "Snelle invoer",
|
"QuickEntry": "Snelle invoer",
|
||||||
"Random Recipes": "Willekeurige recepten",
|
"Random Recipes": "Willekeurige recepten",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Beoordeling",
|
"Rating": "Beoordeling",
|
||||||
"Ratings": "Waardering",
|
"Ratings": "Waardering",
|
||||||
"Recently_Viewed": "Recent bekeken",
|
"Recently_Viewed": "Recent bekeken",
|
||||||
@@ -435,6 +439,8 @@
|
|||||||
"Update_Existing_Data": "Bestaande gegevens bijwerken",
|
"Update_Existing_Data": "Bestaande gegevens bijwerken",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "Importeer URL",
|
"Url_Import": "Importeer URL",
|
||||||
"Use_Fractions": "Gebruik Kommagetallen",
|
"Use_Fractions": "Gebruik Kommagetallen",
|
||||||
"Use_Fractions_Help": "Zet decimalen automatisch om naar breuken tijdens het bekijken van een recept.",
|
"Use_Fractions_Help": "Zet decimalen automatisch om naar breuken tijdens het bekijken van een recept.",
|
||||||
|
|||||||
@@ -148,6 +148,7 @@
|
|||||||
"Energy": "Energia",
|
"Energy": "Energia",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
"Error": "Błąd",
|
"Error": "Błąd",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Eksport",
|
"Export": "Eksport",
|
||||||
"Export_As_ICal": "Eksportuj bieżący okres do formatu iCal",
|
"Export_As_ICal": "Eksportuj bieżący okres do formatu iCal",
|
||||||
"Export_Not_Yet_Supported": "Eksportowanie jeszcze nie wspierane",
|
"Export_Not_Yet_Supported": "Eksportowanie jeszcze nie wspierane",
|
||||||
@@ -261,6 +262,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Przenieś",
|
"Move": "Przenieś",
|
||||||
"MoveCategory": "Przenieś do: ",
|
"MoveCategory": "Przenieś do: ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Przesunąć w dół",
|
"Move_Down": "Przesunąć w dół",
|
||||||
"Move_Food": "Przenieś żywność",
|
"Move_Food": "Przenieś żywność",
|
||||||
"Move_Keyword": "Przenieś słowo kluczowe",
|
"Move_Keyword": "Przenieś słowo kluczowe",
|
||||||
@@ -346,6 +348,8 @@
|
|||||||
"QuickEntry": "Szybki wpis",
|
"QuickEntry": "Szybki wpis",
|
||||||
"Random Recipes": "Losowe przepisy",
|
"Random Recipes": "Losowe przepisy",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Ocena",
|
"Rating": "Ocena",
|
||||||
"Ratings": "Oceny",
|
"Ratings": "Oceny",
|
||||||
"Recently_Viewed": "Ostatnio oglądane",
|
"Recently_Viewed": "Ostatnio oglądane",
|
||||||
@@ -473,6 +477,8 @@
|
|||||||
"Updated": "Zaktualizowano",
|
"Updated": "Zaktualizowano",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "Importowanie URL",
|
"Url_Import": "Importowanie URL",
|
||||||
"Use_Fractions": "Użyj ułamków",
|
"Use_Fractions": "Użyj ułamków",
|
||||||
"Use_Fractions_Help": "Automatycznie konwertuj ułamki dziesiętne na ułamki zwykłe podczas przeglądania przepisów.",
|
"Use_Fractions_Help": "Automatycznie konwertuj ułamki dziesiętne na ułamki zwykłe podczas przeglądania przepisów.",
|
||||||
|
|||||||
@@ -112,6 +112,7 @@
|
|||||||
"Enable_Amount": "Ativar quantidade",
|
"Enable_Amount": "Ativar quantidade",
|
||||||
"Energy": "Energia",
|
"Energy": "Energia",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Exportar",
|
"Export": "Exportar",
|
||||||
"Export_As_ICal": "Exportar período atual para o formato ICal",
|
"Export_As_ICal": "Exportar período atual para o formato ICal",
|
||||||
"Export_To_ICal": "Exportar .ics",
|
"Export_To_ICal": "Exportar .ics",
|
||||||
@@ -200,6 +201,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Mover",
|
"Move": "Mover",
|
||||||
"MoveCategory": "Mover para: ",
|
"MoveCategory": "Mover para: ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Mover para baixo",
|
"Move_Down": "Mover para baixo",
|
||||||
"Move_Food": "Mover comida",
|
"Move_Food": "Mover comida",
|
||||||
"Move_Keyword": "Mover palavra-chave",
|
"Move_Keyword": "Mover palavra-chave",
|
||||||
@@ -267,6 +269,8 @@
|
|||||||
"QuickEntry": "",
|
"QuickEntry": "",
|
||||||
"Random Recipes": "Receitas Aleatórias",
|
"Random Recipes": "Receitas Aleatórias",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Avaliação",
|
"Rating": "Avaliação",
|
||||||
"Ratings": "Avaliações",
|
"Ratings": "Avaliações",
|
||||||
"Recently_Viewed": "Vistos Recentemente",
|
"Recently_Viewed": "Vistos Recentemente",
|
||||||
@@ -370,6 +374,8 @@
|
|||||||
"Update": "",
|
"Update": "",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "Importação de URL",
|
"Url_Import": "Importação de URL",
|
||||||
"Use_Fractions": "Usar frações",
|
"Use_Fractions": "Usar frações",
|
||||||
"Use_Fractions_Help": "Converter automaticamente casas decimais para frações enquanto se visualiza uma receita.",
|
"Use_Fractions_Help": "Converter automaticamente casas decimais para frações enquanto se visualiza uma receita.",
|
||||||
|
|||||||
@@ -142,6 +142,7 @@
|
|||||||
"EndDate": "Data Fim",
|
"EndDate": "Data Fim",
|
||||||
"Energy": "Energia",
|
"Energy": "Energia",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Exportar",
|
"Export": "Exportar",
|
||||||
"Export_As_ICal": "Exportar período atual para o formato iCal",
|
"Export_As_ICal": "Exportar período atual para o formato iCal",
|
||||||
"Export_Not_Yet_Supported": "Exportação ainda não suportada",
|
"Export_Not_Yet_Supported": "Exportação ainda não suportada",
|
||||||
@@ -253,6 +254,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Mover",
|
"Move": "Mover",
|
||||||
"MoveCategory": "Mover Para: ",
|
"MoveCategory": "Mover Para: ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Mover para baixo",
|
"Move_Down": "Mover para baixo",
|
||||||
"Move_Food": "Mover Comida",
|
"Move_Food": "Mover Comida",
|
||||||
"Move_Keyword": "Mover palavra-chave",
|
"Move_Keyword": "Mover palavra-chave",
|
||||||
@@ -333,6 +335,8 @@
|
|||||||
"QuickEntry": "",
|
"QuickEntry": "",
|
||||||
"Random Recipes": "Receitas Aleatórias",
|
"Random Recipes": "Receitas Aleatórias",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Nota",
|
"Rating": "Nota",
|
||||||
"Ratings": "Classificações",
|
"Ratings": "Classificações",
|
||||||
"Recently_Viewed": "Visto recentemente",
|
"Recently_Viewed": "Visto recentemente",
|
||||||
@@ -449,6 +453,8 @@
|
|||||||
"Update_Existing_Data": "Atualizar Dados Existentes",
|
"Update_Existing_Data": "Atualizar Dados Existentes",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "Importar de URL",
|
"Url_Import": "Importar de URL",
|
||||||
"Use_Fractions": "Usar Frações",
|
"Use_Fractions": "Usar Frações",
|
||||||
"Use_Fractions_Help": "Automaticamente converter decimais para frações quando visualizando uma receita.",
|
"Use_Fractions_Help": "Automaticamente converter decimais para frações quando visualizando uma receita.",
|
||||||
|
|||||||
@@ -129,6 +129,7 @@
|
|||||||
"Enable_Amount": "Activare cantitate",
|
"Enable_Amount": "Activare cantitate",
|
||||||
"Energy": "Energie",
|
"Energy": "Energie",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Exportă",
|
"Export": "Exportă",
|
||||||
"Export_As_ICal": "Exportul perioadei curente în format iCal",
|
"Export_As_ICal": "Exportul perioadei curente în format iCal",
|
||||||
"Export_Not_Yet_Supported": "Exportul încă nu este compatibil",
|
"Export_Not_Yet_Supported": "Exportul încă nu este compatibil",
|
||||||
@@ -235,6 +236,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Mută",
|
"Move": "Mută",
|
||||||
"MoveCategory": "Mută la: ",
|
"MoveCategory": "Mută la: ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Deplasați-vă în jos",
|
"Move_Down": "Deplasați-vă în jos",
|
||||||
"Move_Food": "Mutare mâncare",
|
"Move_Food": "Mutare mâncare",
|
||||||
"Move_Keyword": "Mută cuvânt cheie",
|
"Move_Keyword": "Mută cuvânt cheie",
|
||||||
@@ -309,6 +311,8 @@
|
|||||||
"QuickEntry": "Înscriere rapidă",
|
"QuickEntry": "Înscriere rapidă",
|
||||||
"Random Recipes": "Rețete aleatoare",
|
"Random Recipes": "Rețete aleatoare",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Evaluare",
|
"Rating": "Evaluare",
|
||||||
"Ratings": "Evaluări",
|
"Ratings": "Evaluări",
|
||||||
"Recently_Viewed": "Vizualizate recent",
|
"Recently_Viewed": "Vizualizate recent",
|
||||||
@@ -423,6 +427,8 @@
|
|||||||
"Update": "",
|
"Update": "",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "Importă URL",
|
"Url_Import": "Importă URL",
|
||||||
"Use_Fractions": "Folosire fracțiuni",
|
"Use_Fractions": "Folosire fracțiuni",
|
||||||
"Use_Fractions_Help": "Convertiți automat zecimalele în fracții atunci când vizualizați o rețetă.",
|
"Use_Fractions_Help": "Convertiți automat zecimalele în fracții atunci când vizualizați o rețetă.",
|
||||||
|
|||||||
@@ -102,6 +102,7 @@
|
|||||||
"Enable_Amount": "Активировать Количество",
|
"Enable_Amount": "Активировать Количество",
|
||||||
"Energy": "Энергетическая ценность",
|
"Energy": "Энергетическая ценность",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Экспорт",
|
"Export": "Экспорт",
|
||||||
"Export_As_ICal": "Экспорт текущего периода в iCal формат",
|
"Export_As_ICal": "Экспорт текущего периода в iCal формат",
|
||||||
"Export_To_ICal": "Экспортировать .ics",
|
"Export_To_ICal": "Экспортировать .ics",
|
||||||
@@ -189,6 +190,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Переместить",
|
"Move": "Переместить",
|
||||||
"MoveCategory": "Переместить в: ",
|
"MoveCategory": "Переместить в: ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Перенести вниз",
|
"Move_Down": "Перенести вниз",
|
||||||
"Move_Food": "Переместить еду",
|
"Move_Food": "Переместить еду",
|
||||||
"Move_Keyword": "Перенести ключевое слово",
|
"Move_Keyword": "Перенести ключевое слово",
|
||||||
@@ -252,6 +254,8 @@
|
|||||||
"Quick actions": "Быстрые действия",
|
"Quick actions": "Быстрые действия",
|
||||||
"Random Recipes": "Случайные рецепты",
|
"Random Recipes": "Случайные рецепты",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Рейтинг",
|
"Rating": "Рейтинг",
|
||||||
"Ratings": "Рейтинги",
|
"Ratings": "Рейтинги",
|
||||||
"Recently_Viewed": "Недавно просмотренные",
|
"Recently_Viewed": "Недавно просмотренные",
|
||||||
@@ -351,6 +355,8 @@
|
|||||||
"Update": "",
|
"Update": "",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "Импорт гиперссылки",
|
"Url_Import": "Импорт гиперссылки",
|
||||||
"User": "Пользователь",
|
"User": "Пользователь",
|
||||||
"View": "Просмотр",
|
"View": "Просмотр",
|
||||||
|
|||||||
@@ -102,6 +102,7 @@
|
|||||||
"Enable_Amount": "Omogoči količino",
|
"Enable_Amount": "Omogoči količino",
|
||||||
"Energy": "Energija",
|
"Energy": "Energija",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Izvoz",
|
"Export": "Izvoz",
|
||||||
"Export_As_ICal": "Izvozi trenutno obdobje v iCal format",
|
"Export_As_ICal": "Izvozi trenutno obdobje v iCal format",
|
||||||
"Export_To_ICal": "Izvoz.ics",
|
"Export_To_ICal": "Izvoz.ics",
|
||||||
@@ -185,6 +186,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Premakni",
|
"Move": "Premakni",
|
||||||
"MoveCategory": "Premakni v: ",
|
"MoveCategory": "Premakni v: ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Premakni navzdol",
|
"Move_Down": "Premakni navzdol",
|
||||||
"Move_Food": "Premakni hrano",
|
"Move_Food": "Premakni hrano",
|
||||||
"Move_Keyword": "Premakni ključno besedo",
|
"Move_Keyword": "Premakni ključno besedo",
|
||||||
@@ -244,6 +246,8 @@
|
|||||||
"Proteins": "Beljakovine",
|
"Proteins": "Beljakovine",
|
||||||
"QuickEntry": "Hitri vnos",
|
"QuickEntry": "Hitri vnos",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Ocena",
|
"Rating": "Ocena",
|
||||||
"Recently_Viewed": "Nazadnje videno",
|
"Recently_Viewed": "Nazadnje videno",
|
||||||
"Recipe": "Recept",
|
"Recipe": "Recept",
|
||||||
@@ -341,6 +345,8 @@
|
|||||||
"Update_Existing_Data": "Posodobitev Obstoječih Podatkov",
|
"Update_Existing_Data": "Posodobitev Obstoječih Podatkov",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "URL uvoz",
|
"Url_Import": "URL uvoz",
|
||||||
"Use_Metric": "Uporaba Metričnih Enot",
|
"Use_Metric": "Uporaba Metričnih Enot",
|
||||||
"Use_Plural_Food_Always": "",
|
"Use_Plural_Food_Always": "",
|
||||||
|
|||||||
@@ -148,6 +148,7 @@
|
|||||||
"Energy": "Energi",
|
"Energy": "Energi",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
"Error": "Fel",
|
"Error": "Fel",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Exportera",
|
"Export": "Exportera",
|
||||||
"Export_As_ICal": "Exportera nuvarande period till iCal format",
|
"Export_As_ICal": "Exportera nuvarande period till iCal format",
|
||||||
"Export_Not_Yet_Supported": "Export stöds inte ännu",
|
"Export_Not_Yet_Supported": "Export stöds inte ännu",
|
||||||
@@ -261,6 +262,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Flytta",
|
"Move": "Flytta",
|
||||||
"MoveCategory": "Flytta till: ",
|
"MoveCategory": "Flytta till: ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Flytta ned",
|
"Move_Down": "Flytta ned",
|
||||||
"Move_Food": "Flytta livsmedel",
|
"Move_Food": "Flytta livsmedel",
|
||||||
"Move_Keyword": "Flytta nyckelord",
|
"Move_Keyword": "Flytta nyckelord",
|
||||||
@@ -346,6 +348,8 @@
|
|||||||
"QuickEntry": "Snabbt inlägg",
|
"QuickEntry": "Snabbt inlägg",
|
||||||
"Random Recipes": "Slumpmässiga recept",
|
"Random Recipes": "Slumpmässiga recept",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Betyg",
|
"Rating": "Betyg",
|
||||||
"Ratings": "Betyg",
|
"Ratings": "Betyg",
|
||||||
"Recently_Viewed": "Nyligen visade",
|
"Recently_Viewed": "Nyligen visade",
|
||||||
@@ -473,6 +477,8 @@
|
|||||||
"Updated": "Uppdaterad",
|
"Updated": "Uppdaterad",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "Länk import",
|
"Url_Import": "Länk import",
|
||||||
"Use_Fractions": "Använd bråk",
|
"Use_Fractions": "Använd bråk",
|
||||||
"Use_Fractions_Help": "Konvertera automatiskt decimaler till bråktal när du visar ett recept.",
|
"Use_Fractions_Help": "Konvertera automatiskt decimaler till bråktal när du visar ett recept.",
|
||||||
|
|||||||
@@ -147,6 +147,7 @@
|
|||||||
"Energy": "Enerji",
|
"Energy": "Enerji",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
"Error": "Hata",
|
"Error": "Hata",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Dışa Aktar",
|
"Export": "Dışa Aktar",
|
||||||
"Export_As_ICal": "Mevcut dönemi iCal formatında dışa aktar",
|
"Export_As_ICal": "Mevcut dönemi iCal formatında dışa aktar",
|
||||||
"Export_Not_Yet_Supported": "Dışa aktarma henüz desteklenmiyor",
|
"Export_Not_Yet_Supported": "Dışa aktarma henüz desteklenmiyor",
|
||||||
@@ -260,6 +261,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Taşı",
|
"Move": "Taşı",
|
||||||
"MoveCategory": "Taşı: ",
|
"MoveCategory": "Taşı: ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Aşağıya Taşı",
|
"Move_Down": "Aşağıya Taşı",
|
||||||
"Move_Food": "Yiyeceği Taşı",
|
"Move_Food": "Yiyeceği Taşı",
|
||||||
"Move_Keyword": "Anahtar Kelimeyi Taşı",
|
"Move_Keyword": "Anahtar Kelimeyi Taşı",
|
||||||
@@ -345,6 +347,8 @@
|
|||||||
"QuickEntry": "Hızlı Giriş",
|
"QuickEntry": "Hızlı Giriş",
|
||||||
"Random Recipes": "Rasgele Tarifler",
|
"Random Recipes": "Rasgele Tarifler",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Puanlama",
|
"Rating": "Puanlama",
|
||||||
"Ratings": "Derecelendirmeler",
|
"Ratings": "Derecelendirmeler",
|
||||||
"Recently_Viewed": "Son Görüntülenen",
|
"Recently_Viewed": "Son Görüntülenen",
|
||||||
@@ -472,6 +476,8 @@
|
|||||||
"Updated": "Güncellendi",
|
"Updated": "Güncellendi",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "Url İçeri Aktar",
|
"Url_Import": "Url İçeri Aktar",
|
||||||
"Use_Fractions": "Kesirleri Kullan",
|
"Use_Fractions": "Kesirleri Kullan",
|
||||||
"Use_Fractions_Help": "Bir tarifi görüntülerken ondalık sayıları otomatik olarak kesirlere dönüştürün.",
|
"Use_Fractions_Help": "Bir tarifi görüntülerken ondalık sayıları otomatik olarak kesirlere dönüştürün.",
|
||||||
|
|||||||
@@ -117,6 +117,7 @@
|
|||||||
"Enable_Amount": "Включити Кількість",
|
"Enable_Amount": "Включити Кількість",
|
||||||
"Energy": "Енергія",
|
"Energy": "Енергія",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "Експорт",
|
"Export": "Експорт",
|
||||||
"Export_As_ICal": "Експортувати теперішній період до формату iCal",
|
"Export_As_ICal": "Експортувати теперішній період до формату iCal",
|
||||||
"Export_Not_Yet_Supported": "",
|
"Export_Not_Yet_Supported": "",
|
||||||
@@ -214,6 +215,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "Перемістити",
|
"Move": "Перемістити",
|
||||||
"MoveCategory": "Перемістити До: ",
|
"MoveCategory": "Перемістити До: ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "Перемістити вниз",
|
"Move_Down": "Перемістити вниз",
|
||||||
"Move_Food": "Перемістити Їжу",
|
"Move_Food": "Перемістити Їжу",
|
||||||
"Move_Keyword": "Перемістити Ключове слово",
|
"Move_Keyword": "Перемістити Ключове слово",
|
||||||
@@ -285,6 +287,8 @@
|
|||||||
"QuickEntry": "",
|
"QuickEntry": "",
|
||||||
"Random Recipes": "",
|
"Random Recipes": "",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "Рейтинг",
|
"Rating": "Рейтинг",
|
||||||
"Ratings": "",
|
"Ratings": "",
|
||||||
"Recently_Viewed": "Нещодавно переглянуті",
|
"Recently_Viewed": "Нещодавно переглянуті",
|
||||||
@@ -392,6 +396,8 @@
|
|||||||
"Update": "",
|
"Update": "",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "Імпорт за посиланням",
|
"Url_Import": "Імпорт за посиланням",
|
||||||
"Use_Fractions": "Використовувати дроби",
|
"Use_Fractions": "Використовувати дроби",
|
||||||
"Use_Fractions_Help": "Автоматично конвертувати десятки в дроби, коли дивитесь рецепт.",
|
"Use_Fractions_Help": "Автоматично конвертувати десятки в дроби, коли дивитесь рецепт.",
|
||||||
|
|||||||
@@ -143,6 +143,7 @@
|
|||||||
"EndDate": "结束日期",
|
"EndDate": "结束日期",
|
||||||
"Energy": "能量",
|
"Energy": "能量",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "导出",
|
"Export": "导出",
|
||||||
"Export_As_ICal": "将当前周期导出为 iCal 格式",
|
"Export_As_ICal": "将当前周期导出为 iCal 格式",
|
||||||
"Export_Not_Yet_Supported": "导入尚未支持",
|
"Export_Not_Yet_Supported": "导入尚未支持",
|
||||||
@@ -256,6 +257,7 @@
|
|||||||
"More": "",
|
"More": "",
|
||||||
"Move": "移动",
|
"Move": "移动",
|
||||||
"MoveCategory": "移动到: ",
|
"MoveCategory": "移动到: ",
|
||||||
|
"MoveToStep": "",
|
||||||
"Move_Down": "下移",
|
"Move_Down": "下移",
|
||||||
"Move_Food": "移动食物",
|
"Move_Food": "移动食物",
|
||||||
"Move_Keyword": "移动关键词",
|
"Move_Keyword": "移动关键词",
|
||||||
@@ -340,6 +342,8 @@
|
|||||||
"QuickEntry": "快速入口",
|
"QuickEntry": "快速入口",
|
||||||
"Random Recipes": "随机食谱",
|
"Random Recipes": "随机食谱",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "评分",
|
"Rating": "评分",
|
||||||
"Ratings": "等级",
|
"Ratings": "等级",
|
||||||
"Recently_Viewed": "最近浏览",
|
"Recently_Viewed": "最近浏览",
|
||||||
@@ -463,6 +467,8 @@
|
|||||||
"Update_Existing_Data": "更新现有数据",
|
"Update_Existing_Data": "更新现有数据",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "导入网址",
|
"Url_Import": "导入网址",
|
||||||
"Use_Fractions": "使用分数",
|
"Use_Fractions": "使用分数",
|
||||||
"Use_Fractions_Help": "查看食谱时自动将小数转换为分数。",
|
"Use_Fractions_Help": "查看食谱时自动将小数转换为分数。",
|
||||||
|
|||||||
@@ -58,6 +58,7 @@
|
|||||||
"Email": "",
|
"Email": "",
|
||||||
"Energy": "",
|
"Energy": "",
|
||||||
"Entries": "",
|
"Entries": "",
|
||||||
|
"ErrorUrlListImport": "",
|
||||||
"Export": "",
|
"Export": "",
|
||||||
"External": "",
|
"External": "",
|
||||||
"External_Recipe_Image": "外部食譜圖片",
|
"External_Recipe_Image": "外部食譜圖片",
|
||||||
@@ -103,6 +104,7 @@
|
|||||||
"MissingConversion": "",
|
"MissingConversion": "",
|
||||||
"Monday": "",
|
"Monday": "",
|
||||||
"More": "",
|
"More": "",
|
||||||
|
"MoveToStep": "",
|
||||||
"New": "",
|
"New": "",
|
||||||
"New_Recipe": "",
|
"New_Recipe": "",
|
||||||
"Next": "",
|
"Next": "",
|
||||||
@@ -129,6 +131,8 @@
|
|||||||
"Property_Editor": "",
|
"Property_Editor": "",
|
||||||
"Proteins": "",
|
"Proteins": "",
|
||||||
"RandomOrder": "",
|
"RandomOrder": "",
|
||||||
|
"RateLimit": "",
|
||||||
|
"RateLimitHelp": "",
|
||||||
"Rating": "",
|
"Rating": "",
|
||||||
"Recently_Viewed": "",
|
"Recently_Viewed": "",
|
||||||
"RecipeStepsHelp": "",
|
"RecipeStepsHelp": "",
|
||||||
@@ -197,6 +201,8 @@
|
|||||||
"Update": "",
|
"Update": "",
|
||||||
"UpgradeNow": "",
|
"UpgradeNow": "",
|
||||||
"UrlImportSubtitle": "",
|
"UrlImportSubtitle": "",
|
||||||
|
"UrlList": "",
|
||||||
|
"UrlListSubtitle": "",
|
||||||
"Url_Import": "",
|
"Url_Import": "",
|
||||||
"Use_Plural_Food_Always": "",
|
"Use_Plural_Food_Always": "",
|
||||||
"Use_Plural_Food_Simple": "",
|
"Use_Plural_Food_Simple": "",
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
</v-row>
|
</v-row>
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-col>
|
<v-col>
|
||||||
<component :is="editorComponent" :item-id="id" @delete="router.go(-1)" @create="(obj: any) => objectCreated(obj)"></component>
|
<component :is="editorComponent" :item-id="id" @delete="objectDeleted" @create="(obj: any) => objectCreated(obj)"></component>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-container>
|
</v-container>
|
||||||
@@ -53,6 +53,17 @@ function objectCreated(obj: any) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* determines where to redirect user after object deletion based on selected model
|
||||||
|
*/
|
||||||
|
function objectDeleted(){
|
||||||
|
if (props.model.toLowerCase() == 'recipe'){
|
||||||
|
router.push({name : 'StartPage'})
|
||||||
|
} else {
|
||||||
|
router.go(-1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|||||||
@@ -73,7 +73,7 @@
|
|||||||
@click="fdcSelectedIngredient = ingredient; fdcDialog = true"></v-btn>
|
@click="fdcSelectedIngredient = ingredient; fdcDialog = true"></v-btn>
|
||||||
<v-btn @click="updateFoodFdcData(ingredient)" icon="fa-solid fa-arrows-rotate" size="small" density="compact" variant="plain"
|
<v-btn @click="updateFoodFdcData(ingredient)" icon="fa-solid fa-arrows-rotate" size="small" density="compact" variant="plain"
|
||||||
v-if="ingredient.food.fdcId"></v-btn>
|
v-if="ingredient.food.fdcId"></v-btn>
|
||||||
<v-btn :href="`https://fdc.nal.usda.gov/food-details/${ingredient.food.fdcId}/nutrients`" target="_blank"
|
<v-btn @click="openFdcPage(ingredient.food.fdcId)" :href="`https://fdc.nal.usda.gov/food-details/${ingredient.food.fdcId}/nutrients`" target="_blank"
|
||||||
icon="fa-solid fa-arrow-up-right-from-square"
|
icon="fa-solid fa-arrow-up-right-from-square"
|
||||||
size="small" variant="plain" v-if="ingredient.food.fdcId"></v-btn>
|
size="small" variant="plain" v-if="ingredient.food.fdcId"></v-btn>
|
||||||
</template>
|
</template>
|
||||||
@@ -381,6 +381,14 @@ function changeAllPropertyFoodAmounts(amount: number) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* for some reason v-btn href does not work in append inner slot of text field so open link with js
|
||||||
|
* @param fdcId
|
||||||
|
*/
|
||||||
|
function openFdcPage(fdcId: number){
|
||||||
|
window.open(`https://fdc.nal.usda.gov/food-details/${fdcId}/nutrients`, '_blank')
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|||||||
@@ -37,6 +37,12 @@
|
|||||||
<v-stepper-item :title="$t('Bookmarklet')" value="bookmarklet" icon=" "></v-stepper-item>
|
<v-stepper-item :title="$t('Bookmarklet')" value="bookmarklet" icon=" "></v-stepper-item>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<template v-if="importType == 'url-list'">
|
||||||
|
<v-stepper-item :title="$t('UrlList')" value="url_list_input" icon=" "></v-stepper-item>
|
||||||
|
<v-divider></v-divider>
|
||||||
|
<v-stepper-item :title="$t('Import')" value="url_list_import" icon=" "></v-stepper-item>
|
||||||
|
</template>
|
||||||
|
|
||||||
</v-stepper-header>
|
</v-stepper-header>
|
||||||
|
|
||||||
<v-stepper-window>
|
<v-stepper-window>
|
||||||
@@ -102,15 +108,27 @@
|
|||||||
@click="importType = 'source'">
|
@click="importType = 'source'">
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
<v-col cols="12" md="6">
|
||||||
|
<v-card
|
||||||
|
:title="$t('UrlList')"
|
||||||
|
:subtitle="$t('UrlListSubtitle')"
|
||||||
|
prepend-icon="fa-solid fa-list"
|
||||||
|
variant="outlined"
|
||||||
|
:color="(importType == 'url-list') ? 'primary' : ''"
|
||||||
|
elevation="1"
|
||||||
|
@click="importType = 'url-list'">
|
||||||
|
</v-card>
|
||||||
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-stepper-actions>
|
<v-stepper-actions>
|
||||||
<template #prev>
|
<template #prev>
|
||||||
<v-spacer></v-spacer>
|
<v-spacer></v-spacer>
|
||||||
</template>
|
</template>
|
||||||
<template #next>
|
<template #next>
|
||||||
<v-btn @click="stepper = 'url'" v-if="['url','ai', 'source'].includes(importType)">{{ $t('Next') }}</v-btn>
|
<v-btn @click="stepper = 'url'" v-if="['url','ai', 'source'].includes(importType)" color="success">{{ $t('Next') }}</v-btn>
|
||||||
<v-btn @click="stepper = 'app'" v-if="importType == 'app'">{{ $t('Next') }}</v-btn>
|
<v-btn @click="stepper = 'app'" v-if="importType == 'app'" color="success">{{ $t('Next') }}</v-btn>
|
||||||
<v-btn @click="stepper = 'bookmarklet'" v-if="importType == 'bookmarklet'">{{ $t('Next') }}</v-btn>
|
<v-btn @click="stepper = 'bookmarklet'" v-if="importType == 'bookmarklet'" color="success">{{ $t('Next') }}</v-btn>
|
||||||
|
<v-btn @click="stepper = 'url_list_input'" v-if="importType == 'url-list'" color="success">{{ $t('Next') }}</v-btn>
|
||||||
</template>
|
</template>
|
||||||
</v-stepper-actions>
|
</v-stepper-actions>
|
||||||
</v-stepper-window-item>
|
</v-stepper-window-item>
|
||||||
@@ -289,7 +307,10 @@
|
|||||||
<v-list>
|
<v-list>
|
||||||
<v-list-item prepend-icon="$edit" @click="editingIngredient = i; dialog=true">{{ $t('Edit') }}</v-list-item>
|
<v-list-item prepend-icon="$edit" @click="editingIngredient = i; dialog=true">{{ $t('Edit') }}</v-list-item>
|
||||||
<v-list-item prepend-icon="$delete" @click="deleteIngredient(s,i)">{{ $t('Delete') }}</v-list-item>
|
<v-list-item prepend-icon="$delete" @click="deleteIngredient(s,i)">{{ $t('Delete') }}</v-list-item>
|
||||||
<v-list-item prepend-icon="fa-solid fa-sort" @click="editingIngredientIndex = ingredientIndex; editingStepIndex = stepIndex; editingStep = s; dialogIngredientSorter = true">{{ $t('Move') }}</v-list-item>
|
<v-list-item prepend-icon="fa-solid fa-sort"
|
||||||
|
@click="editingIngredientIndex = ingredientIndex; editingStepIndex = stepIndex; editingStep = s; dialogIngredientSorter = true">
|
||||||
|
{{ $t('Move') }}
|
||||||
|
</v-list-item>
|
||||||
</v-list>
|
</v-list>
|
||||||
</v-menu>
|
</v-menu>
|
||||||
</v-btn>
|
</v-btn>
|
||||||
@@ -299,8 +320,9 @@
|
|||||||
</v-list>
|
</v-list>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col cols="12" md="6">
|
<v-col cols="12" md="6">
|
||||||
<v-textarea class="mt-2" v-model="s.instruction"></v-textarea>
|
<v-textarea class="mt-2" v-model="s.instruction" auto-grow></v-textarea>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
<v-divider></v-divider>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-col class="text-center">
|
<v-col class="text-center">
|
||||||
@@ -314,9 +336,9 @@
|
|||||||
<v-text-field :label="$t('Original_Text')" v-model="editingIngredient.originalText" readonly></v-text-field>
|
<v-text-field :label="$t('Original_Text')" v-model="editingIngredient.originalText" readonly></v-text-field>
|
||||||
<v-text-field :label="$t('Amount')" v-model="editingIngredient.amount"></v-text-field>
|
<v-text-field :label="$t('Amount')" v-model="editingIngredient.amount"></v-text-field>
|
||||||
|
|
||||||
<v-text-field :label="$t('Unit')" v-model="editingIngredient.unit.name" v-if="editingIngredient.unit">
|
<v-text-field :label="$t('Unit')" v-model="editingIngredient.unit.name" :rules="[rules.required()]" v-if="editingIngredient.unit">
|
||||||
<template #append-inner>
|
<template #append-inner>
|
||||||
<v-btn icon="$delete" color="delete" @click="editingIngredient.unit = null"></v-btn>
|
<v-btn icon="$delete" color="delete" @click="editingIngredient.unit = null"></v-btn>
|
||||||
</template>
|
</template>
|
||||||
</v-text-field>
|
</v-text-field>
|
||||||
<v-btn prepend-icon="$create" color="create" class="mb-4" @click="editingIngredient.unit = {name: ''}" v-else>{{ $t('Unit') }}</v-btn>
|
<v-btn prepend-icon="$create" color="create" class="mb-4" @click="editingIngredient.unit = {name: ''}" v-else>{{ $t('Unit') }}</v-btn>
|
||||||
@@ -346,10 +368,11 @@
|
|||||||
<v-img v-if="importResponse.recipe.imageUrl" :src="importResponse.recipe.imageUrl"></v-img>
|
<v-img v-if="importResponse.recipe.imageUrl" :src="importResponse.recipe.imageUrl"></v-img>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col cols="12" md="6">
|
<v-col cols="12" md="6">
|
||||||
<v-text-field :label="$t('Name')" v-model="importResponse.recipe.name"></v-text-field>
|
<v-text-field :label="$t('Name')" v-model="importResponse.recipe.name" :rules="[rules.maxLength(128)]"></v-text-field>
|
||||||
<v-number-input :label="$t('Servings')" v-model="importResponse.recipe.servings" :precision="2"></v-number-input>
|
<v-number-input :label="$t('Servings')" v-model="importResponse.recipe.servings" :precision="2"></v-number-input>
|
||||||
<v-text-field :label="$t('ServingsText')" v-model="importResponse.recipe.servingsText"></v-text-field>
|
<v-text-field :label="$t('ServingsText')" v-model="importResponse.recipe.servingsText"></v-text-field>
|
||||||
<v-textarea :label="$t('Description')" v-model="importResponse.recipe.description" clearable></v-textarea>
|
<v-textarea :label="$t('Description')" v-model="importResponse.recipe.description" :rules="[rules.maxLength(512)]" counter
|
||||||
|
clearable></v-textarea>
|
||||||
|
|
||||||
<v-checkbox v-model="editAfterImport" :label="$t('Edit_Recipe')" hide-details></v-checkbox>
|
<v-checkbox v-model="editAfterImport" :label="$t('Edit_Recipe')" hide-details></v-checkbox>
|
||||||
</v-col>
|
</v-col>
|
||||||
@@ -452,23 +475,83 @@
|
|||||||
</v-stepper-actions>
|
</v-stepper-actions>
|
||||||
</v-stepper-window-item>
|
</v-stepper-window-item>
|
||||||
|
|
||||||
|
<!-- ---------------- -->
|
||||||
|
<!-- URL List -->
|
||||||
|
<!-- ---------------- -->
|
||||||
|
|
||||||
|
<v-stepper-window-item value="url_list_input">
|
||||||
|
|
||||||
|
<v-textarea :hint="$t('one_url_per_line')" auto-grow max-rows="20" persistent-hint v-model="urlListImportInput">
|
||||||
|
|
||||||
|
</v-textarea>
|
||||||
|
|
||||||
|
<v-stepper-actions>
|
||||||
|
<template #prev>
|
||||||
|
<v-btn @click="stepper = 'type'">{{ $t('Back') }}</v-btn>
|
||||||
|
</template>
|
||||||
|
<template #next>
|
||||||
|
<v-btn @click="stepper = 'url_list_import'; doListImport()" :disabled="urlListImportInput.length == 0">{{ $t('Import') }}</v-btn>
|
||||||
|
</template>
|
||||||
|
</v-stepper-actions>
|
||||||
|
</v-stepper-window-item>
|
||||||
|
|
||||||
|
<v-stepper-window-item value="url_list_import">
|
||||||
|
|
||||||
|
<v-progress-linear :height="16" :model-value="urlListImportedRecipes.length / urlListImportInput.split('\n').length * 100">
|
||||||
|
{{ urlListImportedRecipes.length }} / {{ urlListImportInput.split('\n').length }}
|
||||||
|
</v-progress-linear>
|
||||||
|
|
||||||
|
<v-list>
|
||||||
|
<v-list-item border v-for="r in urlListImportedRecipes" :title="r.name" :subtitle="r.sourceUrl" :key="r.id" :to="{name: 'RecipeViewPage', params: {id: r.id}}" target="_blank">
|
||||||
|
|
||||||
|
</v-list-item>
|
||||||
|
</v-list>
|
||||||
|
|
||||||
|
<v-stepper-actions>
|
||||||
|
<template #prev>
|
||||||
|
<v-btn @click="stepper = 'url_list_input'">{{ $t('Back') }}</v-btn>
|
||||||
|
</template>
|
||||||
|
<template #next>
|
||||||
|
<v-btn @click="resetImporter()" :disabled="loading">{{ $t('Reset') }}</v-btn>
|
||||||
|
</template>
|
||||||
|
</v-stepper-actions>
|
||||||
|
</v-stepper-window-item>
|
||||||
|
|
||||||
|
|
||||||
</v-stepper-window>
|
</v-stepper-window>
|
||||||
</template>
|
</template>
|
||||||
</v-stepper>
|
</v-stepper>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
<v-row dense>
|
||||||
|
<v-col class="text-center">
|
||||||
|
<v-btn size="small" prepend-icon="fa-solid fa-arrow-rotate-left" variant="tonal" color="warning" @click="resetImporter()">{{ $t('Reset') }}</v-btn>
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
</v-container>
|
</v-container>
|
||||||
|
|
||||||
<step-ingredient-sorter-dialog :step-index="editingStepIndex" :step="editingStep" :recipe="importResponse.recipe" v-model="dialogIngredientSorter" :ingredient-index="editingIngredientIndex"></step-ingredient-sorter-dialog>
|
<step-ingredient-sorter-dialog :step-index="editingStepIndex" :step="editingStep" :recipe="importResponse.recipe" v-model="dialogIngredientSorter"
|
||||||
|
:ingredient-index="editingIngredientIndex"></step-ingredient-sorter-dialog>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
|
||||||
|
import {useI18n} from "vue-i18n";
|
||||||
import {computed, onMounted, ref} from "vue";
|
import {computed, onMounted, ref} from "vue";
|
||||||
import {AccessToken, ApiApi, ImportLog, type RecipeFromSource, RecipeFromSourceResponse, type SourceImportIngredient, SourceImportKeyword, SourceImportStep, Step} from "@/openapi";
|
import {
|
||||||
import {ErrorMessageType, MessageType, useMessageStore} from "@/stores/MessageStore";
|
AccessToken,
|
||||||
|
ApiApi,
|
||||||
|
ImportLog,
|
||||||
|
Recipe,
|
||||||
|
type RecipeFromSource,
|
||||||
|
RecipeFromSourceResponse,
|
||||||
|
type SourceImportIngredient,
|
||||||
|
SourceImportKeyword,
|
||||||
|
SourceImportStep,
|
||||||
|
Step
|
||||||
|
} from "@/openapi";
|
||||||
|
import {ErrorMessageType, MessageType, PreparedMessage, useMessageStore} from "@/stores/MessageStore";
|
||||||
import {useRouter} from "vue-router";
|
import {useRouter} from "vue-router";
|
||||||
import {useUserPreferenceStore} from "@/stores/UserPreferenceStore";
|
import {useUserPreferenceStore} from "@/stores/UserPreferenceStore";
|
||||||
import {VueDraggable} from "vue-draggable-plus";
|
import {VueDraggable} from "vue-draggable-plus";
|
||||||
@@ -484,10 +567,55 @@ import {DateTime} from "luxon";
|
|||||||
import {useDjangoUrls} from "@/composables/useDjangoUrls";
|
import {useDjangoUrls} from "@/composables/useDjangoUrls";
|
||||||
import bookmarkletJs from '@/assets/bookmarklet_v3?url'
|
import bookmarkletJs from '@/assets/bookmarklet_v3?url'
|
||||||
import StepIngredientSorterDialog from "@/components/dialogs/StepIngredientSorterDialog.vue";
|
import StepIngredientSorterDialog from "@/components/dialogs/StepIngredientSorterDialog.vue";
|
||||||
|
import {useRules} from "vuetify/labs/rules";
|
||||||
|
|
||||||
|
function doListImport() {
|
||||||
|
urlList.value = urlListImportInput.value.split('\n')
|
||||||
|
loading.value = true
|
||||||
|
importFromUrlList()
|
||||||
|
}
|
||||||
|
|
||||||
|
function importFromUrlList() {
|
||||||
|
let api = new ApiApi()
|
||||||
|
let url = urlList.value.pop()
|
||||||
|
|
||||||
|
if(url != undefined && url.trim() != ''){
|
||||||
|
|
||||||
|
api.apiRecipeFromSourceCreate({recipeFromSource: {url: url}}).then(sourceResponse => {
|
||||||
|
if(sourceResponse.recipe){
|
||||||
|
api.apiRecipeCreate({recipe: sourceResponse.recipe}).then(recipe => {
|
||||||
|
urlListImportedRecipes.value.push(recipe)
|
||||||
|
updateRecipeImage(recipe.id!, null, sourceResponse.recipe?.imageUrl).then(imageResponse => {
|
||||||
|
setTimeout(importFromUrlList, 500)
|
||||||
|
})
|
||||||
|
}).catch(err => {
|
||||||
|
|
||||||
|
}).finally(() => {
|
||||||
|
loading.value = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}).catch(err => {
|
||||||
|
if (err.response.status == 429){
|
||||||
|
useMessageStore().addPreparedMessage(PreparedMessage.RATE_LIMIT, err)
|
||||||
|
} else {
|
||||||
|
useMessageStore().addMessage(MessageType.WARNING, t('ErrorUrlListImport'), 8000, url)
|
||||||
|
}
|
||||||
|
urlListImportInput.value = url + '\n' + urlList.value.join('\n')
|
||||||
|
stepper.value = 'url_list_input'
|
||||||
|
}).finally(() => {
|
||||||
|
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
useMessageStore().addPreparedMessage(PreparedMessage.CREATE_SUCCESS)
|
||||||
|
loading.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const params = useUrlSearchParams('history', {})
|
const params = useUrlSearchParams('history', {})
|
||||||
const {mobile} = useDisplay()
|
const {mobile} = useDisplay()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
const rules = useRules()
|
||||||
|
const {t} = useI18n()
|
||||||
const {updateRecipeImage, doAiImport, doAppImport, fileApiLoading} = useFileApi()
|
const {updateRecipeImage, doAiImport, doAppImport, fileApiLoading} = useFileApi()
|
||||||
const {getDjangoUrl} = useDjangoUrls()
|
const {getDjangoUrl} = useDjangoUrls()
|
||||||
|
|
||||||
@@ -503,7 +631,7 @@ const bookmarkletContent = computed(() => {
|
|||||||
`})()`
|
`})()`
|
||||||
})
|
})
|
||||||
|
|
||||||
const importType = ref<'url' | 'ai' | 'app' | 'bookmarklet' | 'source'>("url")
|
const importType = ref<'url' | 'ai' | 'app' | 'bookmarklet' | 'source' | 'url-list'>("url")
|
||||||
const importApp = ref('DEFAULT')
|
const importApp = ref('DEFAULT')
|
||||||
const stepper = ref("type")
|
const stepper = ref("type")
|
||||||
const dialog = ref(false)
|
const dialog = ref(false)
|
||||||
@@ -512,6 +640,10 @@ const loading = ref(false)
|
|||||||
|
|
||||||
const importUrl = ref("")
|
const importUrl = ref("")
|
||||||
|
|
||||||
|
const urlListImportInput = ref("")
|
||||||
|
const urlList = ref([] as string[])
|
||||||
|
const urlListImportedRecipes = ref([] as Recipe[])
|
||||||
|
|
||||||
const sourceImportText = ref("")
|
const sourceImportText = ref("")
|
||||||
const appImportFiles = ref<File[]>([])
|
const appImportFiles = ref<File[]>([])
|
||||||
const appImportDuplicates = ref(false)
|
const appImportDuplicates = ref(false)
|
||||||
@@ -529,7 +661,7 @@ const editingIngredient = ref({} as SourceImportIngredient)
|
|||||||
// stuff for ingredient mover, find some better solution at some point (finally merge importer/editor?)
|
// stuff for ingredient mover, find some better solution at some point (finally merge importer/editor?)
|
||||||
const editingIngredientIndex = ref(0)
|
const editingIngredientIndex = ref(0)
|
||||||
const dialogIngredientSorter = ref(false)
|
const dialogIngredientSorter = ref(false)
|
||||||
const editingStep = ref<Step| SourceImportStep>({} as Step)
|
const editingStep = ref<Step | SourceImportStep>({} as Step)
|
||||||
const editingStepIndex = ref(0)
|
const editingStepIndex = ref(0)
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
@@ -656,7 +788,7 @@ function createRecipeFromImport() {
|
|||||||
|
|
||||||
api.apiRecipeCreate({recipe: importResponse.value.recipe}).then(recipe => {
|
api.apiRecipeCreate({recipe: importResponse.value.recipe}).then(recipe => {
|
||||||
updateRecipeImage(recipe.id!, null, importResponse.value.recipe?.imageUrl).then(r => {
|
updateRecipeImage(recipe.id!, null, importResponse.value.recipe?.imageUrl).then(r => {
|
||||||
if(editAfterImport.value){
|
if (editAfterImport.value) {
|
||||||
router.push({name: 'ModelEditPage', params: {id: recipe.id, model: 'recipe'}})
|
router.push({name: 'ModelEditPage', params: {id: recipe.id, model: 'recipe'}})
|
||||||
} else {
|
} else {
|
||||||
router.push({name: 'RecipeViewPage', params: {id: recipe.id}})
|
router.push({name: 'RecipeViewPage', params: {id: recipe.id}})
|
||||||
@@ -852,6 +984,13 @@ function loadOrCreateBookmarkletToken() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* reset the importer at any point
|
||||||
|
*/
|
||||||
|
function resetImporter() {
|
||||||
|
location.reload()
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ export enum PreparedMessage {
|
|||||||
MERGE_SUCCESS = 'MERGE_SUCCESS',
|
MERGE_SUCCESS = 'MERGE_SUCCESS',
|
||||||
MOVE_SUCCESS = 'MOVE_SUCCESS',
|
MOVE_SUCCESS = 'MOVE_SUCCESS',
|
||||||
NOT_FOUND = 'NOT_FOUND',
|
NOT_FOUND = 'NOT_FOUND',
|
||||||
|
RATE_LIMIT = 'RATE_LIMIT',
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -155,6 +156,14 @@ export const useMessageStore = defineStore('message_store', () => {
|
|||||||
if (preparedMessage == PreparedMessage.NOT_FOUND) {
|
if (preparedMessage == PreparedMessage.NOT_FOUND) {
|
||||||
addMessage(MessageType.WARNING, {title: t('NotFound'), text: t('NotFoundHelp')} as StructuredMessage, 6000, data)
|
addMessage(MessageType.WARNING, {title: t('NotFound'), text: t('NotFoundHelp')} as StructuredMessage, 6000, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (preparedMessage == PreparedMessage.RATE_LIMIT) {
|
||||||
|
data.response.json().then(responseJson => {
|
||||||
|
addMessage(MessageType.WARNING, {title: t(''), text: t('RateLimitHelp') + '\n' + responseJson.detail} as StructuredMessage, 6000, data)
|
||||||
|
}).catch(() => {
|
||||||
|
addMessage(MessageType.WARNING, {title: t(''), text: t('RateLimitHelp')} as StructuredMessage, 6000, data)
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user