mirror of
https://github.com/hay-kot/mealie.git
synced 2025-08-22 14:33:33 -07:00
Merge branch 'mealie-next' into mealie-next
This commit is contained in:
commit
7bbc3c600e
37 changed files with 1742 additions and 1726 deletions
|
@ -12,7 +12,7 @@ repos:
|
||||||
exclude: ^tests/data/
|
exclude: ^tests/data/
|
||||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||||
# Ruff version.
|
# Ruff version.
|
||||||
rev: v0.12.3
|
rev: v0.12.4
|
||||||
hooks:
|
hooks:
|
||||||
- id: ruff
|
- id: ruff
|
||||||
- id: ruff-format
|
- id: ruff-format
|
||||||
|
|
|
@ -179,9 +179,15 @@ def inject_nuxt_values():
|
||||||
|
|
||||||
all_langs = []
|
all_langs = []
|
||||||
for match in locales_dir.glob("*.json"):
|
for match in locales_dir.glob("*.json"):
|
||||||
lang_string = f'{{ code: "{match.stem}", file: "{match.name.replace(".json", ".ts")}" }},'
|
match_data = LOCALE_DATA.get(match.stem)
|
||||||
|
match_dir = match_data.dir if match_data else "ltr"
|
||||||
|
|
||||||
|
lang_string = f'{{ code: "{match.stem}", file: "{match.name.replace(".json", ".ts")}", dir: "{match_dir}" }},'
|
||||||
all_langs.append(lang_string)
|
all_langs.append(lang_string)
|
||||||
|
|
||||||
|
all_langs.sort()
|
||||||
|
all_date_locales.sort()
|
||||||
|
|
||||||
log.debug(f"injecting locales into nuxt config -> {nuxt_config}")
|
log.debug(f"injecting locales into nuxt config -> {nuxt_config}")
|
||||||
inject_inline(nuxt_config, CodeKeys.nuxt_local_messages, all_langs)
|
inject_inline(nuxt_config, CodeKeys.nuxt_local_messages, all_langs)
|
||||||
inject_inline(i18n_config, CodeKeys.nuxt_local_dates, all_date_locales)
|
inject_inline(i18n_config, CodeKeys.nuxt_local_dates, all_date_locales)
|
||||||
|
|
|
@ -31,7 +31,7 @@ To deploy mealie on your local network, it is highly recommended to use Docker t
|
||||||
We've gone through a few versions of Mealie v1 deployment targets. We have settled on a single container deployment, and we've begun publishing the nightly container on github containers. If you're looking to move from the old nightly (split containers _or_ the omni image) to the new nightly, there are a few things you need to do:
|
We've gone through a few versions of Mealie v1 deployment targets. We have settled on a single container deployment, and we've begun publishing the nightly container on github containers. If you're looking to move from the old nightly (split containers _or_ the omni image) to the new nightly, there are a few things you need to do:
|
||||||
|
|
||||||
1. Take a backup just in case!
|
1. Take a backup just in case!
|
||||||
2. Replace the image for the API container with `ghcr.io/mealie-recipes/mealie:v3.0.1`
|
2. Replace the image for the API container with `ghcr.io/mealie-recipes/mealie:v3.0.2`
|
||||||
3. Take the external port from the frontend container and set that as the port mapped to port `9000` on the new container. The frontend is now served on port 9000 from the new container, so it will need to be mapped for you to have access.
|
3. Take the external port from the frontend container and set that as the port mapped to port `9000` on the new container. The frontend is now served on port 9000 from the new container, so it will need to be mapped for you to have access.
|
||||||
4. Restart the container
|
4. Restart the container
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ PostgreSQL might be considered if you need to support many concurrent users. In
|
||||||
```yaml
|
```yaml
|
||||||
services:
|
services:
|
||||||
mealie:
|
mealie:
|
||||||
image: ghcr.io/mealie-recipes/mealie:v3.0.1 # (3)
|
image: ghcr.io/mealie-recipes/mealie:v3.0.2 # (3)
|
||||||
container_name: mealie
|
container_name: mealie
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
|
|
|
@ -11,7 +11,7 @@ SQLite is a popular, open source, self-contained, zero-configuration database th
|
||||||
```yaml
|
```yaml
|
||||||
services:
|
services:
|
||||||
mealie:
|
mealie:
|
||||||
image: ghcr.io/mealie-recipes/mealie:v3.0.1 # (3)
|
image: ghcr.io/mealie-recipes/mealie:v3.0.2 # (3)
|
||||||
container_name: mealie
|
container_name: mealie
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
|
|
|
@ -125,25 +125,20 @@
|
||||||
</v-list-item>
|
</v-list-item>
|
||||||
<div v-if="useItems.recipeActions && recipeActions && recipeActions.length">
|
<div v-if="useItems.recipeActions && recipeActions && recipeActions.length">
|
||||||
<v-divider />
|
<v-divider />
|
||||||
<v-list-group @click.stop>
|
|
||||||
<template #activator="{ props }">
|
|
||||||
<v-list-item-title v-bind="props">
|
|
||||||
{{ $t("recipe.recipe-actions") }}
|
|
||||||
</v-list-item-title>
|
|
||||||
</template>
|
|
||||||
<v-list density="compact" class="ma-0 pa-0">
|
|
||||||
<v-list-item
|
<v-list-item
|
||||||
v-for="(action, index) in recipeActions"
|
v-for="(action, index) in recipeActions"
|
||||||
:key="index"
|
:key="index"
|
||||||
class="pl-6"
|
|
||||||
@click="executeRecipeAction(action)"
|
@click="executeRecipeAction(action)"
|
||||||
>
|
>
|
||||||
|
<template #prepend>
|
||||||
|
<v-icon color="undefined">
|
||||||
|
{{ $globals.icons.linkVariantPlus }}
|
||||||
|
</v-icon>
|
||||||
|
</template>
|
||||||
<v-list-item-title>
|
<v-list-item-title>
|
||||||
{{ action.title }}
|
{{ action.title }}
|
||||||
</v-list-item-title>
|
</v-list-item-title>
|
||||||
</v-list-item>
|
</v-list-item>
|
||||||
</v-list>
|
|
||||||
</v-list-group>
|
|
||||||
</div>
|
</div>
|
||||||
</v-list>
|
</v-list>
|
||||||
</v-menu>
|
</v-menu>
|
||||||
|
|
|
@ -3,12 +3,13 @@
|
||||||
v-model="selected"
|
v-model="selected"
|
||||||
item-key="id"
|
item-key="id"
|
||||||
show-select
|
show-select
|
||||||
:sort-by="[{ key: 'dateAdded', order: 'desc' }]"
|
:sort-by="sortBy"
|
||||||
:headers="headers"
|
:headers="headers"
|
||||||
:items="recipes"
|
:items="recipes"
|
||||||
:items-per-page="15"
|
:items-per-page="15"
|
||||||
class="elevation-0"
|
class="elevation-0"
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
|
return-object
|
||||||
>
|
>
|
||||||
<template #[`item.name`]="{ item }">
|
<template #[`item.name`]="{ item }">
|
||||||
<a
|
<a
|
||||||
|
@ -117,7 +118,7 @@ export default defineNuxtComponent({
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
emits: ["click"],
|
emits: ["click", "update:modelValue"],
|
||||||
setup(props, context) {
|
setup(props, context) {
|
||||||
const i18n = useI18n();
|
const i18n = useI18n();
|
||||||
const $auth = useMealieAuth();
|
const $auth = useMealieAuth();
|
||||||
|
@ -128,6 +129,9 @@ export default defineNuxtComponent({
|
||||||
set: value => context.emit(INPUT_EVENT, value),
|
set: value => context.emit(INPUT_EVENT, value),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Initialize sort state with default sorting by dateAdded descending
|
||||||
|
const sortBy = ref([{ key: "dateAdded", order: "desc" }]);
|
||||||
|
|
||||||
const headers = computed(() => {
|
const headers = computed(() => {
|
||||||
const hdrs: Array<{ title: string; value: string; align?: string; sortable?: boolean }> = [];
|
const hdrs: Array<{ title: string; value: string; align?: string; sortable?: boolean }> = [];
|
||||||
|
|
||||||
|
@ -206,6 +210,7 @@ export default defineNuxtComponent({
|
||||||
|
|
||||||
return {
|
return {
|
||||||
selected,
|
selected,
|
||||||
|
sortBy,
|
||||||
groupSlug,
|
groupSlug,
|
||||||
headers,
|
headers,
|
||||||
formatDate,
|
formatDate,
|
||||||
|
|
|
@ -7,13 +7,14 @@
|
||||||
<v-card-text>
|
<v-card-text>
|
||||||
{{ $t("language-dialog.select-description") }}
|
{{ $t("language-dialog.select-description") }}
|
||||||
<v-autocomplete
|
<v-autocomplete
|
||||||
v-model="locale"
|
v-model="selectedLocale"
|
||||||
:items="locales"
|
:items="locales"
|
||||||
item-title="name"
|
item-title="name"
|
||||||
|
item-value="value"
|
||||||
class="my-3"
|
class="my-3"
|
||||||
hide-details
|
hide-details
|
||||||
variant="outlined"
|
variant="outlined"
|
||||||
offset
|
@update:model-value="onLocaleSelect"
|
||||||
>
|
>
|
||||||
<template #item="{ item, props }">
|
<template #item="{ item, props }">
|
||||||
<div
|
<div
|
||||||
|
@ -59,6 +60,14 @@ export default defineNuxtComponent({
|
||||||
});
|
});
|
||||||
|
|
||||||
const { locales: LOCALES, locale, i18n } = useLocales();
|
const { locales: LOCALES, locale, i18n } = useLocales();
|
||||||
|
|
||||||
|
const selectedLocale = ref(locale.value);
|
||||||
|
const onLocaleSelect = (value: string) => {
|
||||||
|
if (value && locales.some(l => l.value === value)) {
|
||||||
|
locale.value = value as any;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
watch(locale, () => {
|
watch(locale, () => {
|
||||||
dialog.value = false; // Close dialog when locale changes
|
dialog.value = false; // Close dialog when locale changes
|
||||||
});
|
});
|
||||||
|
@ -72,6 +81,8 @@ export default defineNuxtComponent({
|
||||||
i18n,
|
i18n,
|
||||||
locales,
|
locales,
|
||||||
locale,
|
locale,
|
||||||
|
selectedLocale,
|
||||||
|
onLocaleSelect,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
|
@ -90,6 +90,8 @@ export const useLazyRecipes = function (publicGroupSlug: string | null = null) {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getRandom(query: RecipeSearchQuery | null = null, queryFilter: string | null = null) {
|
async function getRandom(query: RecipeSearchQuery | null = null, queryFilter: string | null = null) {
|
||||||
|
query = query || {};
|
||||||
|
query._searchSeed = query._searchSeed || Date.now().toString();
|
||||||
const { data } = await api.recipes.getAll(1, 1, getParams("random", "desc", null, query, queryFilter));
|
const { data } = await api.recipes.getAll(1, 1, getParams("random", "desc", null, query, queryFilter));
|
||||||
if (data?.items.length) {
|
if (data?.items.length) {
|
||||||
return data.items[0];
|
return data.items[0];
|
||||||
|
|
|
@ -33,7 +33,7 @@ export const LOCALES = [
|
||||||
{
|
{
|
||||||
name: "Svenska (Swedish)",
|
name: "Svenska (Swedish)",
|
||||||
value: "sv-SE",
|
value: "sv-SE",
|
||||||
progress: 39,
|
progress: 47,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -57,7 +57,7 @@ export const LOCALES = [
|
||||||
{
|
{
|
||||||
name: "Pусский (Russian)",
|
name: "Pусский (Russian)",
|
||||||
value: "ru-RU",
|
value: "ru-RU",
|
||||||
progress: 35,
|
progress: 37,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -75,7 +75,7 @@ export const LOCALES = [
|
||||||
{
|
{
|
||||||
name: "Português do Brasil (Brazilian Portuguese)",
|
name: "Português do Brasil (Brazilian Portuguese)",
|
||||||
value: "pt-BR",
|
value: "pt-BR",
|
||||||
progress: 34,
|
progress: 36,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -87,13 +87,13 @@ export const LOCALES = [
|
||||||
{
|
{
|
||||||
name: "Norsk (Norwegian)",
|
name: "Norsk (Norwegian)",
|
||||||
value: "no-NO",
|
value: "no-NO",
|
||||||
progress: 37,
|
progress: 38,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Nederlands (Dutch)",
|
name: "Nederlands (Dutch)",
|
||||||
value: "nl-NL",
|
value: "nl-NL",
|
||||||
progress: 42,
|
progress: 44,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -123,7 +123,7 @@ export const LOCALES = [
|
||||||
{
|
{
|
||||||
name: "Italiano (Italian)",
|
name: "Italiano (Italian)",
|
||||||
value: "it-IT",
|
value: "it-IT",
|
||||||
progress: 37,
|
progress: 38,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -135,7 +135,7 @@ export const LOCALES = [
|
||||||
{
|
{
|
||||||
name: "Magyar (Hungarian)",
|
name: "Magyar (Hungarian)",
|
||||||
value: "hu-HU",
|
value: "hu-HU",
|
||||||
progress: 39,
|
progress: 40,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -147,19 +147,19 @@ export const LOCALES = [
|
||||||
{
|
{
|
||||||
name: "עברית (Hebrew)",
|
name: "עברית (Hebrew)",
|
||||||
value: "he-IL",
|
value: "he-IL",
|
||||||
progress: 37,
|
progress: 45,
|
||||||
dir: "rtl",
|
dir: "rtl",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Galego (Galician)",
|
name: "Galego (Galician)",
|
||||||
value: "gl-ES",
|
value: "gl-ES",
|
||||||
progress: 37,
|
progress: 38,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Français (French)",
|
name: "Français (French)",
|
||||||
value: "fr-FR",
|
value: "fr-FR",
|
||||||
progress: 38,
|
progress: 49,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -189,7 +189,7 @@ export const LOCALES = [
|
||||||
{
|
{
|
||||||
name: "Español (Spanish)",
|
name: "Español (Spanish)",
|
||||||
value: "es-ES",
|
value: "es-ES",
|
||||||
progress: 37,
|
progress: 40,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -201,31 +201,31 @@ export const LOCALES = [
|
||||||
{
|
{
|
||||||
name: "British English",
|
name: "British English",
|
||||||
value: "en-GB",
|
value: "en-GB",
|
||||||
progress: 22,
|
progress: 23,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Ελληνικά (Greek)",
|
name: "Ελληνικά (Greek)",
|
||||||
value: "el-GR",
|
value: "el-GR",
|
||||||
progress: 37,
|
progress: 38,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Deutsch (German)",
|
name: "Deutsch (German)",
|
||||||
value: "de-DE",
|
value: "de-DE",
|
||||||
progress: 55,
|
progress: 63,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Dansk (Danish)",
|
name: "Dansk (Danish)",
|
||||||
value: "da-DK",
|
value: "da-DK",
|
||||||
progress: 37,
|
progress: 38,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Čeština (Czech)",
|
name: "Čeština (Czech)",
|
||||||
value: "cs-CZ",
|
value: "cs-CZ",
|
||||||
progress: 37,
|
progress: 40,
|
||||||
dir: "ltr",
|
dir: "ltr",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,8 +3,6 @@ import { LOCALES } from "./available-locales";
|
||||||
|
|
||||||
export const useLocales = () => {
|
export const useLocales = () => {
|
||||||
const i18n = useI18n();
|
const i18n = useI18n();
|
||||||
|
|
||||||
const { isRtl } = useRtl();
|
|
||||||
const { current: vuetifyLocale } = useLocale();
|
const { current: vuetifyLocale } = useLocale();
|
||||||
|
|
||||||
const locale = computed<LocaleObject["code"]>({
|
const locale = computed<LocaleObject["code"]>({
|
||||||
|
@ -13,18 +11,21 @@ export const useLocales = () => {
|
||||||
i18n.setLocale(value);
|
i18n.setLocale(value);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function updateLocale(lc: LocaleObject["code"]) {
|
||||||
|
vuetifyLocale.value = lc;
|
||||||
|
}
|
||||||
|
|
||||||
// auto update vuetify locale
|
// auto update vuetify locale
|
||||||
watch(locale, (lc) => {
|
watch(locale, (lc) => {
|
||||||
vuetifyLocale.value = lc;
|
updateLocale(lc);
|
||||||
});
|
|
||||||
// auto update rtl
|
|
||||||
watch(vuetifyLocale, (vl) => {
|
|
||||||
const currentLocale = LOCALES.find(lc => lc.value === vl);
|
|
||||||
if (currentLocale) {
|
|
||||||
isRtl.value = currentLocale.dir === "rtl";
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// set initial locale
|
||||||
|
if (i18n.locale.value) {
|
||||||
|
updateLocale(i18n.locale.value);
|
||||||
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
locale,
|
locale,
|
||||||
locales: LOCALES,
|
locales: LOCALES,
|
||||||
|
|
|
@ -1,47 +1,48 @@
|
||||||
/* eslint-disable @typescript-eslint/no-require-imports */
|
/* eslint-disable @typescript-eslint/no-require-imports */
|
||||||
const datetimeFormats = {
|
const datetimeFormats = {
|
||||||
// CODE_GEN_ID: DATE_LOCALES
|
// CODE_GEN_ID: DATE_LOCALES
|
||||||
"tr-TR": require("./lang/dateTimeFormats/tr-TR.json"),
|
"af-ZA": require("./lang/dateTimeFormats/af-ZA.json"),
|
||||||
"zh-CN": require("./lang/dateTimeFormats/zh-CN.json"),
|
"ar-SA": require("./lang/dateTimeFormats/ar-SA.json"),
|
||||||
"ja-JP": require("./lang/dateTimeFormats/ja-JP.json"),
|
"bg-BG": require("./lang/dateTimeFormats/bg-BG.json"),
|
||||||
"en-GB": require("./lang/dateTimeFormats/en-GB.json"),
|
|
||||||
"ca-ES": require("./lang/dateTimeFormats/ca-ES.json"),
|
"ca-ES": require("./lang/dateTimeFormats/ca-ES.json"),
|
||||||
|
"cs-CZ": require("./lang/dateTimeFormats/cs-CZ.json"),
|
||||||
|
"da-DK": require("./lang/dateTimeFormats/da-DK.json"),
|
||||||
|
"de-DE": require("./lang/dateTimeFormats/de-DE.json"),
|
||||||
|
"el-GR": require("./lang/dateTimeFormats/el-GR.json"),
|
||||||
|
"en-GB": require("./lang/dateTimeFormats/en-GB.json"),
|
||||||
|
"en-US": require("./lang/dateTimeFormats/en-US.json"),
|
||||||
|
"es-ES": require("./lang/dateTimeFormats/es-ES.json"),
|
||||||
|
"et-EE": require("./lang/dateTimeFormats/et-EE.json"),
|
||||||
|
"fi-FI": require("./lang/dateTimeFormats/fi-FI.json"),
|
||||||
|
"fr-BE": require("./lang/dateTimeFormats/fr-BE.json"),
|
||||||
|
"fr-CA": require("./lang/dateTimeFormats/fr-CA.json"),
|
||||||
|
"fr-FR": require("./lang/dateTimeFormats/fr-FR.json"),
|
||||||
|
"gl-ES": require("./lang/dateTimeFormats/gl-ES.json"),
|
||||||
|
"he-IL": require("./lang/dateTimeFormats/he-IL.json"),
|
||||||
|
"hr-HR": require("./lang/dateTimeFormats/hr-HR.json"),
|
||||||
|
"hu-HU": require("./lang/dateTimeFormats/hu-HU.json"),
|
||||||
|
"is-IS": require("./lang/dateTimeFormats/is-IS.json"),
|
||||||
"it-IT": require("./lang/dateTimeFormats/it-IT.json"),
|
"it-IT": require("./lang/dateTimeFormats/it-IT.json"),
|
||||||
|
"ja-JP": require("./lang/dateTimeFormats/ja-JP.json"),
|
||||||
|
"ko-KR": require("./lang/dateTimeFormats/ko-KR.json"),
|
||||||
|
"lt-LT": require("./lang/dateTimeFormats/lt-LT.json"),
|
||||||
|
"lv-LV": require("./lang/dateTimeFormats/lv-LV.json"),
|
||||||
|
"nl-NL": require("./lang/dateTimeFormats/nl-NL.json"),
|
||||||
|
"no-NO": require("./lang/dateTimeFormats/no-NO.json"),
|
||||||
"pl-PL": require("./lang/dateTimeFormats/pl-PL.json"),
|
"pl-PL": require("./lang/dateTimeFormats/pl-PL.json"),
|
||||||
|
"pt-BR": require("./lang/dateTimeFormats/pt-BR.json"),
|
||||||
"pt-PT": require("./lang/dateTimeFormats/pt-PT.json"),
|
"pt-PT": require("./lang/dateTimeFormats/pt-PT.json"),
|
||||||
"ro-RO": require("./lang/dateTimeFormats/ro-RO.json"),
|
"ro-RO": require("./lang/dateTimeFormats/ro-RO.json"),
|
||||||
"sr-SP": require("./lang/dateTimeFormats/sr-SP.json"),
|
|
||||||
"hr-HR": require("./lang/dateTimeFormats/hr-HR.json"),
|
|
||||||
"de-DE": require("./lang/dateTimeFormats/de-DE.json"),
|
|
||||||
"zh-TW": require("./lang/dateTimeFormats/zh-TW.json"),
|
|
||||||
"af-ZA": require("./lang/dateTimeFormats/af-ZA.json"),
|
|
||||||
"fr-CA": require("./lang/dateTimeFormats/fr-CA.json"),
|
|
||||||
"he-IL": require("./lang/dateTimeFormats/he-IL.json"),
|
|
||||||
"pt-BR": require("./lang/dateTimeFormats/pt-BR.json"),
|
|
||||||
"cs-CZ": require("./lang/dateTimeFormats/cs-CZ.json"),
|
|
||||||
"fr-FR": require("./lang/dateTimeFormats/fr-FR.json"),
|
|
||||||
"ru-RU": require("./lang/dateTimeFormats/ru-RU.json"),
|
"ru-RU": require("./lang/dateTimeFormats/ru-RU.json"),
|
||||||
"is-IS": require("./lang/dateTimeFormats/is-IS.json"),
|
|
||||||
"sk-SK": require("./lang/dateTimeFormats/sk-SK.json"),
|
"sk-SK": require("./lang/dateTimeFormats/sk-SK.json"),
|
||||||
"el-GR": require("./lang/dateTimeFormats/el-GR.json"),
|
|
||||||
"fr-BE": require("./lang/dateTimeFormats/fr-BE.json"),
|
|
||||||
"da-DK": require("./lang/dateTimeFormats/da-DK.json"),
|
|
||||||
"hu-HU": require("./lang/dateTimeFormats/hu-HU.json"),
|
|
||||||
"es-ES": require("./lang/dateTimeFormats/es-ES.json"),
|
|
||||||
"gl-ES": require("./lang/dateTimeFormats/gl-ES.json"),
|
|
||||||
"no-NO": require("./lang/dateTimeFormats/no-NO.json"),
|
|
||||||
"lt-LT": require("./lang/dateTimeFormats/lt-LT.json"),
|
|
||||||
"en-US": require("./lang/dateTimeFormats/en-US.json"),
|
|
||||||
"sv-SE": require("./lang/dateTimeFormats/sv-SE.json"),
|
|
||||||
"ko-KR": require("./lang/dateTimeFormats/ko-KR.json"),
|
|
||||||
"bg-BG": require("./lang/dateTimeFormats/bg-BG.json"),
|
|
||||||
"sl-SI": require("./lang/dateTimeFormats/sl-SI.json"),
|
"sl-SI": require("./lang/dateTimeFormats/sl-SI.json"),
|
||||||
|
"sr-SP": require("./lang/dateTimeFormats/sr-SP.json"),
|
||||||
|
"sv-SE": require("./lang/dateTimeFormats/sv-SE.json"),
|
||||||
|
"tr-TR": require("./lang/dateTimeFormats/tr-TR.json"),
|
||||||
"uk-UA": require("./lang/dateTimeFormats/uk-UA.json"),
|
"uk-UA": require("./lang/dateTimeFormats/uk-UA.json"),
|
||||||
"lv-LV": require("./lang/dateTimeFormats/lv-LV.json"),
|
|
||||||
"ar-SA": require("./lang/dateTimeFormats/ar-SA.json"),
|
|
||||||
"nl-NL": require("./lang/dateTimeFormats/nl-NL.json"),
|
|
||||||
"vi-VN": require("./lang/dateTimeFormats/vi-VN.json"),
|
"vi-VN": require("./lang/dateTimeFormats/vi-VN.json"),
|
||||||
"fi-FI": require("./lang/dateTimeFormats/fi-FI.json"),
|
"zh-CN": require("./lang/dateTimeFormats/zh-CN.json"),
|
||||||
|
"zh-TW": require("./lang/dateTimeFormats/zh-TW.json"),
|
||||||
// END: DATE_LOCALES
|
// END: DATE_LOCALES
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
21
frontend/lang/dateTimeFormats/et-EE.json
Normal file
21
frontend/lang/dateTimeFormats/et-EE.json
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"short": {
|
||||||
|
"month": "short",
|
||||||
|
"day": "numeric",
|
||||||
|
"weekday": "long"
|
||||||
|
},
|
||||||
|
"medium": {
|
||||||
|
"month": "long",
|
||||||
|
"day": "numeric",
|
||||||
|
"weekday": "long",
|
||||||
|
"year": "numeric"
|
||||||
|
},
|
||||||
|
"long": {
|
||||||
|
"year": "numeric",
|
||||||
|
"month": "long",
|
||||||
|
"day": "numeric",
|
||||||
|
"weekday": "long",
|
||||||
|
"hour": "numeric",
|
||||||
|
"minute": "numeric"
|
||||||
|
}
|
||||||
|
}
|
|
@ -599,10 +599,10 @@
|
||||||
"create-recipe-from-an-image": "Opret opskrift fra et billede",
|
"create-recipe-from-an-image": "Opret opskrift fra et billede",
|
||||||
"create-recipe-from-an-image-description": "Opret en opskrift ved at overføre et billede af den. Mealie vil forsøge at udtrække teksten fra billedet med AI og oprette en opskrift fra det.",
|
"create-recipe-from-an-image-description": "Opret en opskrift ved at overføre et billede af den. Mealie vil forsøge at udtrække teksten fra billedet med AI og oprette en opskrift fra det.",
|
||||||
"crop-and-rotate-the-image": "Beskær og roter billedet, så kun teksten er synlig, og det vises i den rigtige retning.",
|
"crop-and-rotate-the-image": "Beskær og roter billedet, så kun teksten er synlig, og det vises i den rigtige retning.",
|
||||||
"create-from-images": "Create from Images",
|
"create-from-images": "Opret fra billede",
|
||||||
"should-translate-description": "Oversæt opskriften til mit sprog",
|
"should-translate-description": "Oversæt opskriften til mit sprog",
|
||||||
"please-wait-image-procesing": "Vent venligst, billedet behandles. Dette kan tage lidt tid.",
|
"please-wait-image-procesing": "Vent venligst, billedet behandles. Dette kan tage lidt tid.",
|
||||||
"please-wait-images-processing": "Please wait, the images are processing. This may take some time.",
|
"please-wait-images-processing": "Vent venligst, billedet behandles. Dette kan tage lidt tid.",
|
||||||
"bulk-url-import": "Import fra flere URL-adresser",
|
"bulk-url-import": "Import fra flere URL-adresser",
|
||||||
"debug-scraper": "Fejlsøg indlæser",
|
"debug-scraper": "Fejlsøg indlæser",
|
||||||
"create-a-recipe-by-providing-the-name-all-recipes-must-have-unique-names": "Opret en opskrift ved at angive navnet. Alle opskrifter skal have unikke navne.",
|
"create-a-recipe-by-providing-the-name-all-recipes-must-have-unique-names": "Opret en opskrift ved at angive navnet. Alle opskrifter skal have unikke navne.",
|
||||||
|
@ -662,9 +662,9 @@
|
||||||
},
|
},
|
||||||
"reset-servings-count": "Nulstil antal serveringer",
|
"reset-servings-count": "Nulstil antal serveringer",
|
||||||
"not-linked-ingredients": "Yderligere ingredienser",
|
"not-linked-ingredients": "Yderligere ingredienser",
|
||||||
"upload-another-image": "Upload another image",
|
"upload-another-image": "Upload et andet billede",
|
||||||
"upload-images": "Upload images",
|
"upload-images": "Upload billeder",
|
||||||
"upload-more-images": "Upload more images"
|
"upload-more-images": "Upload flere billeder"
|
||||||
},
|
},
|
||||||
"recipe-finder": {
|
"recipe-finder": {
|
||||||
"recipe-finder": "Opskriftssøger",
|
"recipe-finder": "Opskriftssøger",
|
||||||
|
@ -724,7 +724,7 @@
|
||||||
"backup-restore": "Backup / gendannelse",
|
"backup-restore": "Backup / gendannelse",
|
||||||
"back-restore-description": "Gendannelse af denne sikkerhedskopi vil overskrive alle de aktuelle data i din database og i datamappen og erstatte dem med indholdet af denne sikkerhedskopi. {cannot-be-undone} Hvis gendannelsen lykkes, vil du blive logget ud.",
|
"back-restore-description": "Gendannelse af denne sikkerhedskopi vil overskrive alle de aktuelle data i din database og i datamappen og erstatte dem med indholdet af denne sikkerhedskopi. {cannot-be-undone} Hvis gendannelsen lykkes, vil du blive logget ud.",
|
||||||
"cannot-be-undone": "Denne handling kan ikke fortrydes - brug med forsigtighed.",
|
"cannot-be-undone": "Denne handling kan ikke fortrydes - brug med forsigtighed.",
|
||||||
"postgresql-note": "If you are using PostgreSQL, please review the {backup-restore-process} prior to restoring.",
|
"postgresql-note": "Hvis du bruger PostgreSQL, så gennemse venligst {backup-restore-process} før du gendanner.",
|
||||||
"backup-restore-process-in-the-documentation": "backup/restoreproces i dokumentationen",
|
"backup-restore-process-in-the-documentation": "backup/restoreproces i dokumentationen",
|
||||||
"irreversible-acknowledgment": "Jeg forstår, at denne handling er irreversibel, destruktiv og kan forårsage tab af data",
|
"irreversible-acknowledgment": "Jeg forstår, at denne handling er irreversibel, destruktiv og kan forårsage tab af data",
|
||||||
"restore-backup": "Gendan sikkerhedskopi"
|
"restore-backup": "Gendan sikkerhedskopi"
|
||||||
|
|
|
@ -599,10 +599,10 @@
|
||||||
"create-recipe-from-an-image": "Crear receta a partir de una imagen",
|
"create-recipe-from-an-image": "Crear receta a partir de una imagen",
|
||||||
"create-recipe-from-an-image-description": "Crea una receta cargando una imagen de ella. Mealie intentará extraer el texto de la imagen usando IA y crear una receta de ella.",
|
"create-recipe-from-an-image-description": "Crea una receta cargando una imagen de ella. Mealie intentará extraer el texto de la imagen usando IA y crear una receta de ella.",
|
||||||
"crop-and-rotate-the-image": "Recortar y rotar la imagen de manera que sólo el texto sea visible, y esté en la orientación correcta.",
|
"crop-and-rotate-the-image": "Recortar y rotar la imagen de manera que sólo el texto sea visible, y esté en la orientación correcta.",
|
||||||
"create-from-images": "Create from Images",
|
"create-from-images": "Crear a partir de imágenes",
|
||||||
"should-translate-description": "Traducir la receta a mi idioma",
|
"should-translate-description": "Traducir la receta a mi idioma",
|
||||||
"please-wait-image-procesing": "Por favor, espere, la imagen se está procesando. Esto puede tardar un tiempo.",
|
"please-wait-image-procesing": "Por favor, espere, la imagen se está procesando. Esto puede tardar un tiempo.",
|
||||||
"please-wait-images-processing": "Please wait, the images are processing. This may take some time.",
|
"please-wait-images-processing": "Por favor, espere, las imágenes se están procesando. Esto puede tardar algún tiempo.",
|
||||||
"bulk-url-import": "Importación masiva desde URL",
|
"bulk-url-import": "Importación masiva desde URL",
|
||||||
"debug-scraper": "Depurar analizador",
|
"debug-scraper": "Depurar analizador",
|
||||||
"create-a-recipe-by-providing-the-name-all-recipes-must-have-unique-names": "Crear una receta proporcionando el nombre. Todas las recetas deben tener nombres únicos.",
|
"create-a-recipe-by-providing-the-name-all-recipes-must-have-unique-names": "Crear una receta proporcionando el nombre. Todas las recetas deben tener nombres únicos.",
|
||||||
|
@ -662,9 +662,9 @@
|
||||||
},
|
},
|
||||||
"reset-servings-count": "Restablecer contador de porciones",
|
"reset-servings-count": "Restablecer contador de porciones",
|
||||||
"not-linked-ingredients": "Ingredientes adicionales",
|
"not-linked-ingredients": "Ingredientes adicionales",
|
||||||
"upload-another-image": "Upload another image",
|
"upload-another-image": "Subir otra imagen",
|
||||||
"upload-images": "Upload images",
|
"upload-images": "Subir imágenes",
|
||||||
"upload-more-images": "Upload more images"
|
"upload-more-images": "Subir más imágenes"
|
||||||
},
|
},
|
||||||
"recipe-finder": {
|
"recipe-finder": {
|
||||||
"recipe-finder": "Buscador de recetas",
|
"recipe-finder": "Buscador de recetas",
|
||||||
|
|
|
@ -660,7 +660,7 @@
|
||||||
"missing-food": "Ontbrekend levensmiddel maken: {food}",
|
"missing-food": "Ontbrekend levensmiddel maken: {food}",
|
||||||
"no-food": "Geen levensmiddel"
|
"no-food": "Geen levensmiddel"
|
||||||
},
|
},
|
||||||
"reset-servings-count": "Zet de teller van aantal keer gegeten op nul",
|
"reset-servings-count": "Porties resetten",
|
||||||
"not-linked-ingredients": "Extra ingrediënten",
|
"not-linked-ingredients": "Extra ingrediënten",
|
||||||
"upload-another-image": "Een andere afbeelding uploaden",
|
"upload-another-image": "Een andere afbeelding uploaden",
|
||||||
"upload-images": "Afbeelding uploaden",
|
"upload-images": "Afbeelding uploaden",
|
||||||
|
|
|
@ -151,6 +151,7 @@ import {
|
||||||
mdiKnife,
|
mdiKnife,
|
||||||
mdiCookie,
|
mdiCookie,
|
||||||
mdiBellPlus,
|
mdiBellPlus,
|
||||||
|
mdiLinkVariantPlus,
|
||||||
} from "@mdi/js";
|
} from "@mdi/js";
|
||||||
|
|
||||||
export const icons = {
|
export const icons = {
|
||||||
|
@ -236,6 +237,7 @@ export const icons = {
|
||||||
informationOutline: mdiInformationOutline,
|
informationOutline: mdiInformationOutline,
|
||||||
informationVariant: mdiInformationVariant,
|
informationVariant: mdiInformationVariant,
|
||||||
link: mdiLink,
|
link: mdiLink,
|
||||||
|
linkVariantPlus: mdiLinkVariantPlus,
|
||||||
lock: mdiLock,
|
lock: mdiLock,
|
||||||
logout: mdiLogout,
|
logout: mdiLogout,
|
||||||
menu: mdiMenu,
|
menu: mdiMenu,
|
||||||
|
|
|
@ -175,114 +175,52 @@ export default defineNuxtConfig({
|
||||||
subsets: ["cyrillic-ext", "cyrillic", "greek-ext", "greek", "vietnamese", "latin-ext", "latin"],
|
subsets: ["cyrillic-ext", "cyrillic", "greek-ext", "greek", "vietnamese", "latin-ext", "latin"],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
/* auth: {
|
|
||||||
redirect: {
|
|
||||||
login: "/login",
|
|
||||||
logout: "/login",
|
|
||||||
callback: "/login",
|
|
||||||
home: "/",
|
|
||||||
},
|
|
||||||
cookie: {
|
|
||||||
prefix: "mealie.auth.",
|
|
||||||
options: {
|
|
||||||
expires: 7,
|
|
||||||
path: "/",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
rewriteRedirects: false,
|
|
||||||
// Options
|
|
||||||
strategies: {
|
|
||||||
local: {
|
|
||||||
resetOnError: true,
|
|
||||||
token: {
|
|
||||||
property: "access_token",
|
|
||||||
global: true,
|
|
||||||
// required: true,
|
|
||||||
// type: 'Bearer'
|
|
||||||
},
|
|
||||||
user: {
|
|
||||||
property: "",
|
|
||||||
autoFetch: true,
|
|
||||||
},
|
|
||||||
endpoints: {
|
|
||||||
login: {
|
|
||||||
url: "api/auth/token",
|
|
||||||
method: "post",
|
|
||||||
propertyName: "access_token",
|
|
||||||
},
|
|
||||||
refresh: { url: "api/auth/refresh", method: "post" },
|
|
||||||
logout: { url: "api/auth/logout", method: "post" },
|
|
||||||
user: { url: "api/users/self", method: "get" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
oidc: {
|
|
||||||
scheme: "local",
|
|
||||||
resetOnError: true,
|
|
||||||
token: {
|
|
||||||
property: "access_token",
|
|
||||||
global: true,
|
|
||||||
},
|
|
||||||
user: {
|
|
||||||
property: "",
|
|
||||||
autoFetch: true,
|
|
||||||
},
|
|
||||||
endpoints: {
|
|
||||||
login: {
|
|
||||||
url: "api/auth/oauth/callback",
|
|
||||||
method: "get",
|
|
||||||
},
|
|
||||||
logout: { url: "api/auth/logout", method: "post" },
|
|
||||||
user: { url: "api/users/self", method: "get" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}, */
|
|
||||||
|
|
||||||
i18n: {
|
i18n: {
|
||||||
locales: [
|
locales: [
|
||||||
// CODE_GEN_ID: MESSAGE_LOCALES
|
// CODE_GEN_ID: MESSAGE_LOCALES
|
||||||
{ code: "tr-TR", file: "tr-TR.ts" },
|
{ code: "af-ZA", file: "af-ZA.ts", dir: "ltr" },
|
||||||
{ code: "zh-CN", file: "zh-CN.ts" },
|
{ code: "ar-SA", file: "ar-SA.ts", dir: "rtl" },
|
||||||
{ code: "ja-JP", file: "ja-JP.ts" },
|
{ code: "bg-BG", file: "bg-BG.ts", dir: "ltr" },
|
||||||
{ code: "en-GB", file: "en-GB.ts" },
|
{ code: "ca-ES", file: "ca-ES.ts", dir: "ltr" },
|
||||||
{ code: "ca-ES", file: "ca-ES.ts" },
|
{ code: "cs-CZ", file: "cs-CZ.ts", dir: "ltr" },
|
||||||
{ code: "it-IT", file: "it-IT.ts" },
|
{ code: "da-DK", file: "da-DK.ts", dir: "ltr" },
|
||||||
{ code: "pl-PL", file: "pl-PL.ts" },
|
{ code: "de-DE", file: "de-DE.ts", dir: "ltr" },
|
||||||
{ code: "pt-PT", file: "pt-PT.ts" },
|
{ code: "el-GR", file: "el-GR.ts", dir: "ltr" },
|
||||||
{ code: "ro-RO", file: "ro-RO.ts" },
|
{ code: "en-GB", file: "en-GB.ts", dir: "ltr" },
|
||||||
{ code: "sr-SP", file: "sr-SP.ts" },
|
{ code: "en-US", file: "en-US.ts", dir: "ltr" },
|
||||||
{ code: "hr-HR", file: "hr-HR.ts" },
|
{ code: "es-ES", file: "es-ES.ts", dir: "ltr" },
|
||||||
{ code: "de-DE", file: "de-DE.ts" },
|
{ code: "et-EE", file: "et-EE.ts", dir: "ltr" },
|
||||||
{ code: "zh-TW", file: "zh-TW.ts" },
|
{ code: "fi-FI", file: "fi-FI.ts", dir: "ltr" },
|
||||||
{ code: "af-ZA", file: "af-ZA.ts" },
|
{ code: "fr-BE", file: "fr-BE.ts", dir: "ltr" },
|
||||||
{ code: "fr-CA", file: "fr-CA.ts" },
|
{ code: "fr-CA", file: "fr-CA.ts", dir: "ltr" },
|
||||||
{ code: "he-IL", file: "he-IL.ts" },
|
{ code: "fr-FR", file: "fr-FR.ts", dir: "ltr" },
|
||||||
{ code: "pt-BR", file: "pt-BR.ts" },
|
{ code: "gl-ES", file: "gl-ES.ts", dir: "ltr" },
|
||||||
{ code: "cs-CZ", file: "cs-CZ.ts" },
|
{ code: "he-IL", file: "he-IL.ts", dir: "rtl" },
|
||||||
{ code: "fr-FR", file: "fr-FR.ts" },
|
{ code: "hr-HR", file: "hr-HR.ts", dir: "ltr" },
|
||||||
{ code: "ru-RU", file: "ru-RU.ts" },
|
{ code: "hu-HU", file: "hu-HU.ts", dir: "ltr" },
|
||||||
{ code: "is-IS", file: "is-IS.ts" },
|
{ code: "is-IS", file: "is-IS.ts", dir: "ltr" },
|
||||||
{ code: "sk-SK", file: "sk-SK.ts" },
|
{ code: "it-IT", file: "it-IT.ts", dir: "ltr" },
|
||||||
{ code: "el-GR", file: "el-GR.ts" },
|
{ code: "ja-JP", file: "ja-JP.ts", dir: "ltr" },
|
||||||
{ code: "fr-BE", file: "fr-BE.ts" },
|
{ code: "ko-KR", file: "ko-KR.ts", dir: "ltr" },
|
||||||
{ code: "da-DK", file: "da-DK.ts" },
|
{ code: "lt-LT", file: "lt-LT.ts", dir: "ltr" },
|
||||||
{ code: "hu-HU", file: "hu-HU.ts" },
|
{ code: "lv-LV", file: "lv-LV.ts", dir: "ltr" },
|
||||||
{ code: "es-ES", file: "es-ES.ts" },
|
{ code: "nl-NL", file: "nl-NL.ts", dir: "ltr" },
|
||||||
{ code: "gl-ES", file: "gl-ES.ts" },
|
{ code: "no-NO", file: "no-NO.ts", dir: "ltr" },
|
||||||
{ code: "no-NO", file: "no-NO.ts" },
|
{ code: "pl-PL", file: "pl-PL.ts", dir: "ltr" },
|
||||||
{ code: "lt-LT", file: "lt-LT.ts" },
|
{ code: "pt-BR", file: "pt-BR.ts", dir: "ltr" },
|
||||||
{ code: "en-US", file: "en-US.ts" },
|
{ code: "pt-PT", file: "pt-PT.ts", dir: "ltr" },
|
||||||
{ code: "sv-SE", file: "sv-SE.ts" },
|
{ code: "ro-RO", file: "ro-RO.ts", dir: "ltr" },
|
||||||
{ code: "ko-KR", file: "ko-KR.ts" },
|
{ code: "ru-RU", file: "ru-RU.ts", dir: "ltr" },
|
||||||
{ code: "bg-BG", file: "bg-BG.ts" },
|
{ code: "sk-SK", file: "sk-SK.ts", dir: "ltr" },
|
||||||
{ code: "sl-SI", file: "sl-SI.ts" },
|
{ code: "sl-SI", file: "sl-SI.ts", dir: "ltr" },
|
||||||
{ code: "uk-UA", file: "uk-UA.ts" },
|
{ code: "sr-SP", file: "sr-SP.ts", dir: "ltr" },
|
||||||
{ code: "et-EE", file: "et-EE.ts" },
|
{ code: "sv-SE", file: "sv-SE.ts", dir: "ltr" },
|
||||||
{ code: "lv-LV", file: "lv-LV.ts" },
|
{ code: "tr-TR", file: "tr-TR.ts", dir: "ltr" },
|
||||||
{ code: "ar-SA", file: "ar-SA.ts" },
|
{ code: "uk-UA", file: "uk-UA.ts", dir: "ltr" },
|
||||||
{ code: "nl-NL", file: "nl-NL.ts" },
|
{ code: "vi-VN", file: "vi-VN.ts", dir: "ltr" },
|
||||||
{ code: "vi-VN", file: "vi-VN.ts" },
|
{ code: "zh-CN", file: "zh-CN.ts", dir: "ltr" },
|
||||||
{ code: "fi-FI", file: "fi-FI.ts" },
|
{ code: "zh-TW", file: "zh-TW.ts", dir: "ltr" },
|
||||||
// END: MESSAGE_LOCALES
|
// END: MESSAGE_LOCALES
|
||||||
],
|
],
|
||||||
strategy: "no_prefix",
|
strategy: "no_prefix",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "mealie",
|
"name": "mealie",
|
||||||
"version": "3.0.1",
|
"version": "3.0.2",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "nuxt dev",
|
"dev": "nuxt dev",
|
||||||
|
|
|
@ -126,7 +126,7 @@
|
||||||
<!-- Alias Sub-Dialog -->
|
<!-- Alias Sub-Dialog -->
|
||||||
<RecipeDataAliasManagerDialog
|
<RecipeDataAliasManagerDialog
|
||||||
v-if="editTarget"
|
v-if="editTarget"
|
||||||
:value="aliasManagerDialog"
|
v-model="aliasManagerDialog"
|
||||||
:data="editTarget"
|
:data="editTarget"
|
||||||
@submit="updateFoodAlias"
|
@submit="updateFoodAlias"
|
||||||
@cancel="aliasManagerDialog = false"
|
@cancel="aliasManagerDialog = false"
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<BaseDialog
|
<BaseDialog
|
||||||
v-model="state.createDialog"
|
v-model="state.createDialog"
|
||||||
:title="$t('data-pages.recipe-actions.new-recipe-action')"
|
:title="$t('data-pages.recipe-actions.new-recipe-action')"
|
||||||
:icon="$globals.icons.primary"
|
:icon="$globals.icons.linkVariantPlus"
|
||||||
can-submit
|
can-submit
|
||||||
@submit="createAction"
|
@submit="createAction"
|
||||||
>
|
>
|
||||||
|
@ -34,7 +34,7 @@
|
||||||
<!-- Edit Dialog -->
|
<!-- Edit Dialog -->
|
||||||
<BaseDialog
|
<BaseDialog
|
||||||
v-model="state.editDialog"
|
v-model="state.editDialog"
|
||||||
:icon="$globals.icons.primary"
|
:icon="$globals.icons.linkVariantPlus"
|
||||||
:title="$t('data-pages.recipe-actions.edit-recipe-action')"
|
:title="$t('data-pages.recipe-actions.edit-recipe-action')"
|
||||||
:submit-text="$t('general.save')"
|
:submit-text="$t('general.save')"
|
||||||
can-submit
|
can-submit
|
||||||
|
@ -115,7 +115,7 @@
|
||||||
|
|
||||||
<!-- Data Table -->
|
<!-- Data Table -->
|
||||||
<BaseCardSectionTitle
|
<BaseCardSectionTitle
|
||||||
:icon="$globals.icons.primary"
|
:icon="$globals.icons.linkVariantPlus"
|
||||||
section
|
section
|
||||||
:title="$t('data-pages.recipe-actions.recipe-actions-data')"
|
:title="$t('data-pages.recipe-actions.recipe-actions-data')"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -44,6 +44,7 @@
|
||||||
:title="$t('general.confirm')"
|
:title="$t('general.confirm')"
|
||||||
:icon="$globals.icons.alertCircle"
|
:icon="$globals.icons.alertCircle"
|
||||||
color="error"
|
color="error"
|
||||||
|
can-confirm
|
||||||
@confirm="deleteTag"
|
@confirm="deleteTag"
|
||||||
>
|
>
|
||||||
<v-card-text>
|
<v-card-text>
|
||||||
|
|
|
@ -52,6 +52,7 @@
|
||||||
:title="$t('general.confirm')"
|
:title="$t('general.confirm')"
|
||||||
:icon="$globals.icons.alertCircle"
|
:icon="$globals.icons.alertCircle"
|
||||||
color="error"
|
color="error"
|
||||||
|
can-confirm
|
||||||
@confirm="deleteTool"
|
@confirm="deleteTool"
|
||||||
>
|
>
|
||||||
<v-card-text>
|
<v-card-text>
|
||||||
|
|
|
@ -19,30 +19,16 @@
|
||||||
v-model="fromUnit"
|
v-model="fromUnit"
|
||||||
return-object
|
return-object
|
||||||
:items="store"
|
:items="store"
|
||||||
item-title="id"
|
item-title="name"
|
||||||
:label="$t('data-pages.units.source-unit')"
|
:label="$t('data-pages.units.source-unit')"
|
||||||
>
|
/>
|
||||||
<template #chip="{ item }">
|
|
||||||
{{ item.raw.name }}
|
|
||||||
</template>
|
|
||||||
<template #item="{ item }">
|
|
||||||
{{ item.raw.name }}
|
|
||||||
</template>
|
|
||||||
</v-autocomplete>
|
|
||||||
<v-autocomplete
|
<v-autocomplete
|
||||||
v-model="toUnit"
|
v-model="toUnit"
|
||||||
return-object
|
return-object
|
||||||
:items="store"
|
:items="store"
|
||||||
item-title="id"
|
item-title="name"
|
||||||
:label="$t('data-pages.units.target-unit')"
|
:label="$t('data-pages.units.target-unit')"
|
||||||
>
|
/>
|
||||||
<template #chip="{ item }">
|
|
||||||
{{ item.raw.name }}
|
|
||||||
</template>
|
|
||||||
<template #item="{ item }">
|
|
||||||
{{ item.raw.name }}
|
|
||||||
</template>
|
|
||||||
</v-autocomplete>
|
|
||||||
|
|
||||||
<template v-if="canMerge && fromUnit && toUnit">
|
<template v-if="canMerge && fromUnit && toUnit">
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
},
|
},
|
||||||
"servings-text": {
|
"servings-text": {
|
||||||
"makes": "Realizadas",
|
"makes": "Realizadas",
|
||||||
"serves": "Personas",
|
"serves": "Porciones",
|
||||||
"serving": "Porción",
|
"serving": "Porción",
|
||||||
"servings": "Porciones",
|
"servings": "Porciones",
|
||||||
"yield": "Ración",
|
"yield": "Ración",
|
||||||
|
|
|
@ -46,20 +46,20 @@
|
||||||
"red onion": {
|
"red onion": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "red onion",
|
"name": "červená cibule",
|
||||||
"plural_name": "Červená cibule"
|
"plural_name": "červené cibule"
|
||||||
},
|
},
|
||||||
"yellow onion": {
|
"yellow onion": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "yellow onion",
|
"name": "žlutá cibule",
|
||||||
"plural_name": "yellow onions"
|
"plural_name": "yellow onions"
|
||||||
},
|
},
|
||||||
"celery": {
|
"celery": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "celer",
|
"name": "celer",
|
||||||
"plural_name": "Celery"
|
"plural_name": "celery"
|
||||||
},
|
},
|
||||||
"jalapeno": {
|
"jalapeno": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -76,8 +76,8 @@
|
||||||
"shallot": {
|
"shallot": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "shallot",
|
"name": "šalotka",
|
||||||
"plural_name": "shallots"
|
"plural_name": "šalotky"
|
||||||
},
|
},
|
||||||
"cherry tomato": {
|
"cherry tomato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -95,13 +95,13 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "špenát",
|
"name": "špenát",
|
||||||
"plural_name": "spinaches"
|
"plural_name": "špenát"
|
||||||
},
|
},
|
||||||
"sweet corn": {
|
"sweet corn": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sweet corn",
|
"name": "sladká kukuřice",
|
||||||
"plural_name": "sweet corns"
|
"plural_name": "sladké kukuřice"
|
||||||
},
|
},
|
||||||
"chile pepper": {
|
"chile pepper": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
|
@ -228,14 +228,14 @@
|
||||||
"radish": {
|
"radish": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "radish",
|
"name": "ředkvička",
|
||||||
"plural_name": "radishes"
|
"plural_name": "ředkvičky"
|
||||||
},
|
},
|
||||||
"red cabbage": {
|
"red cabbage": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "red cabbage",
|
"name": "červené zelí",
|
||||||
"plural_name": "red cabbages"
|
"plural_name": "červené zelí"
|
||||||
},
|
},
|
||||||
"artichoke": {
|
"artichoke": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
|
|
@ -4,62 +4,62 @@
|
||||||
"garlic": {
|
"garlic": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "garlic",
|
"name": "hvidløg",
|
||||||
"plural_name": "garlics"
|
"plural_name": "hvidløg"
|
||||||
},
|
},
|
||||||
"onion": {
|
"onion": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "onion",
|
"name": "løg",
|
||||||
"plural_name": "onions"
|
"plural_name": "løg"
|
||||||
},
|
},
|
||||||
"bell pepper": {
|
"bell pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "bell pepper",
|
"name": "peberfrugt",
|
||||||
"plural_name": "bell peppers"
|
"plural_name": "peberfrugter"
|
||||||
},
|
},
|
||||||
"carrot": {
|
"carrot": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "carrot",
|
"name": "gulerod",
|
||||||
"plural_name": "carrots"
|
"plural_name": "gulerødder"
|
||||||
},
|
},
|
||||||
"scallion": {
|
"scallion": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "scallion",
|
"name": "forårsløg",
|
||||||
"plural_name": "scallions"
|
"plural_name": "forårsløg"
|
||||||
},
|
},
|
||||||
"zucchini": {
|
"zucchini": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "zucchini",
|
"name": "squash",
|
||||||
"plural_name": "zucchinis"
|
"plural_name": "squash"
|
||||||
},
|
},
|
||||||
"potato": {
|
"potato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "potato",
|
"name": "kartoffel",
|
||||||
"plural_name": "potatoes"
|
"plural_name": "kartofler"
|
||||||
},
|
},
|
||||||
"red onion": {
|
"red onion": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "red onion",
|
"name": "rødløg",
|
||||||
"plural_name": "red onions"
|
"plural_name": "rødløg"
|
||||||
},
|
},
|
||||||
"yellow onion": {
|
"yellow onion": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "yellow onion",
|
"name": "løg",
|
||||||
"plural_name": "yellow onions"
|
"plural_name": "løg"
|
||||||
},
|
},
|
||||||
"celery": {
|
"celery": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "celery",
|
"name": "selleri",
|
||||||
"plural_name": "celeries"
|
"plural_name": "selleri"
|
||||||
},
|
},
|
||||||
"jalapeno": {
|
"jalapeno": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -70,64 +70,64 @@
|
||||||
"avocado": {
|
"avocado": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "avocado",
|
"name": "avokado",
|
||||||
"plural_name": "avocados"
|
"plural_name": "avokadoer"
|
||||||
},
|
},
|
||||||
"shallot": {
|
"shallot": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "shallot",
|
"name": "skalotteløg",
|
||||||
"plural_name": "shallots"
|
"plural_name": "skalotteløg"
|
||||||
},
|
},
|
||||||
"cherry tomato": {
|
"cherry tomato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cherry tomato",
|
"name": "cherrytomat",
|
||||||
"plural_name": "cherry tomatoes"
|
"plural_name": "cherrytomater"
|
||||||
},
|
},
|
||||||
"cucumber": {
|
"cucumber": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cucumber",
|
"name": "agurk",
|
||||||
"plural_name": "cucumbers"
|
"plural_name": "agurker"
|
||||||
},
|
},
|
||||||
"spinach": {
|
"spinach": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "spinach",
|
"name": "spinat",
|
||||||
"plural_name": "spinaches"
|
"plural_name": "spinat"
|
||||||
},
|
},
|
||||||
"sweet corn": {
|
"sweet corn": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sweet corn",
|
"name": "sød majs",
|
||||||
"plural_name": "sweet corns"
|
"plural_name": "sød majs"
|
||||||
},
|
},
|
||||||
"chile pepper": {
|
"chile pepper": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
"capsicum"
|
"peberfrugt"
|
||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chile pepper",
|
"name": "chilipeber",
|
||||||
"plural_name": "chile peppers"
|
"plural_name": "chilipeber"
|
||||||
},
|
},
|
||||||
"sweet potato": {
|
"sweet potato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sweet potato",
|
"name": "sød kartoffel",
|
||||||
"plural_name": "sweet potatoes"
|
"plural_name": "søde kartofler"
|
||||||
},
|
},
|
||||||
"broccoli": {
|
"broccoli": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "broccoli",
|
"name": "broccoli",
|
||||||
"plural_name": "broccolis"
|
"plural_name": "broccoli"
|
||||||
},
|
},
|
||||||
"heart of palm": {
|
"heart of palm": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "heart of palm",
|
"name": "palmehjerte",
|
||||||
"plural_name": "heart of palms"
|
"plural_name": "palmehjerter"
|
||||||
},
|
},
|
||||||
"baby green": {
|
"baby green": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -138,38 +138,38 @@
|
||||||
"pumpkin": {
|
"pumpkin": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pumpkin",
|
"name": "græskar",
|
||||||
"plural_name": "pumpkins"
|
"plural_name": "græskar"
|
||||||
},
|
},
|
||||||
"cauliflower": {
|
"cauliflower": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cauliflower",
|
"name": "blomkål",
|
||||||
"plural_name": "cauliflowers"
|
"plural_name": "blomkålshoveder"
|
||||||
},
|
},
|
||||||
"cabbage": {
|
"cabbage": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cabbage",
|
"name": "cabbage",
|
||||||
"plural_name": "cabbages"
|
"plural_name": "kålhoveder"
|
||||||
},
|
},
|
||||||
"asparagu": {
|
"asparagu": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "asparagu",
|
"name": "asparges",
|
||||||
"plural_name": "asparagus"
|
"plural_name": "asparges"
|
||||||
},
|
},
|
||||||
"kale": {
|
"kale": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "kale",
|
"name": "grønkål",
|
||||||
"plural_name": "kales"
|
"plural_name": "grønkål"
|
||||||
},
|
},
|
||||||
"arugula": {
|
"arugula": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "arugula",
|
"name": "rucola",
|
||||||
"plural_name": "arugulas"
|
"plural_name": "rucola"
|
||||||
},
|
},
|
||||||
"leek": {
|
"leek": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -274,13 +274,13 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "baby carrot",
|
"name": "baby carrot",
|
||||||
"plural_name": "baby carrots"
|
"plural_name": "babygulerødder"
|
||||||
},
|
},
|
||||||
"mixed vegetable": {
|
"mixed vegetable": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mixed vegetable",
|
"name": "blandede grøntsager",
|
||||||
"plural_name": "mixed vegetables"
|
"plural_name": "blandede grøntsager"
|
||||||
},
|
},
|
||||||
"poblano pepper": {
|
"poblano pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -303,38 +303,38 @@
|
||||||
"cayenne pepper": {
|
"cayenne pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cayenne pepper",
|
"name": "cayennepeber",
|
||||||
"plural_name": "cayenne peppers"
|
"plural_name": "cayennepeber"
|
||||||
},
|
},
|
||||||
"green tomato": {
|
"green tomato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "green tomato",
|
"name": "grøn tomat",
|
||||||
"plural_name": "green tomatoes"
|
"plural_name": "grønne tomater"
|
||||||
},
|
},
|
||||||
"watercress": {
|
"watercress": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "watercress",
|
"name": "brøndkarse",
|
||||||
"plural_name": "watercress"
|
"plural_name": "brøndkarse"
|
||||||
},
|
},
|
||||||
"iceberg": {
|
"iceberg": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "iceberg",
|
"name": "iceberg",
|
||||||
"plural_name": "icebergs"
|
"plural_name": "iceberg"
|
||||||
},
|
},
|
||||||
"mashed potato": {
|
"mashed potato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mashed potato",
|
"name": "kartoffelmos",
|
||||||
"plural_name": "mashed potatoes"
|
"plural_name": "kartoffelmos"
|
||||||
},
|
},
|
||||||
"horseradish": {
|
"horseradish": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "horseradish",
|
"name": "peberrod",
|
||||||
"plural_name": "horseradishes"
|
"plural_name": "peberrod"
|
||||||
},
|
},
|
||||||
"chard": {
|
"chard": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -383,14 +383,14 @@
|
||||||
"water chestnut": {
|
"water chestnut": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "water chestnut",
|
"name": "vand kastanje",
|
||||||
"plural_name": "water chestnuts"
|
"plural_name": "vand kastanjer"
|
||||||
},
|
},
|
||||||
"turnip": {
|
"turnip": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "turnip",
|
"name": "majroe",
|
||||||
"plural_name": "turnips"
|
"plural_name": "majroer"
|
||||||
},
|
},
|
||||||
"thai chile pepper": {
|
"thai chile pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -401,8 +401,8 @@
|
||||||
"bok choy": {
|
"bok choy": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "bok choy",
|
"name": "pak choi",
|
||||||
"plural_name": "bok choy"
|
"plural_name": "pak choi"
|
||||||
},
|
},
|
||||||
"okra": {
|
"okra": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -419,8 +419,8 @@
|
||||||
"corn cob": {
|
"corn cob": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "corn cob",
|
"name": "majskolbe",
|
||||||
"plural_name": "corn cobs"
|
"plural_name": "majskolber"
|
||||||
},
|
},
|
||||||
"radicchio": {
|
"radicchio": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -505,14 +505,14 @@
|
||||||
"daikon": {
|
"daikon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "daikon",
|
"name": "kinaradise",
|
||||||
"plural_name": "daikons"
|
"plural_name": "kinaradiser"
|
||||||
},
|
},
|
||||||
"baby corn": {
|
"baby corn": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "baby corn",
|
"name": "babymajs",
|
||||||
"plural_name": "baby corns"
|
"plural_name": "babymajs"
|
||||||
},
|
},
|
||||||
"broccoli rabe": {
|
"broccoli rabe": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -577,8 +577,8 @@
|
||||||
"frisee": {
|
"frisee": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "frisee",
|
"name": "friséesalat",
|
||||||
"plural_name": "frisees"
|
"plural_name": "friséesalat"
|
||||||
},
|
},
|
||||||
"anaheim pepper": {
|
"anaheim pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -613,8 +613,8 @@
|
||||||
"pea shoot": {
|
"pea shoot": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pea shoot",
|
"name": "ærteskud",
|
||||||
"plural_name": "pea shoots"
|
"plural_name": "ærteskud"
|
||||||
},
|
},
|
||||||
"alfalfa": {
|
"alfalfa": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -628,26 +628,26 @@
|
||||||
"foods": {
|
"foods": {
|
||||||
"tomato": {
|
"tomato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "Yes they are a fruit",
|
"description": "Ja de er en frugt",
|
||||||
"name": "tomato",
|
"name": "tomat",
|
||||||
"plural_name": "tomatoes"
|
"plural_name": "tomater"
|
||||||
},
|
},
|
||||||
"lemon": {
|
"lemon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "lemon",
|
"name": "citron",
|
||||||
"plural_name": "lemons"
|
"plural_name": "citroner"
|
||||||
},
|
},
|
||||||
"lime": {
|
"lime": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "lime",
|
"name": "limefrugt",
|
||||||
"plural_name": "limes"
|
"plural_name": "limefrugter"
|
||||||
},
|
},
|
||||||
"apple": {
|
"apple": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "apple",
|
"name": "æble",
|
||||||
"plural_name": "apples"
|
"plural_name": "apples"
|
||||||
},
|
},
|
||||||
"banana": {
|
"banana": {
|
||||||
|
@ -696,7 +696,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "coconut",
|
"name": "coconut",
|
||||||
"plural_name": "coconuts"
|
"plural_name": "kokosnødder"
|
||||||
},
|
},
|
||||||
"craisin": {
|
"craisin": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -707,80 +707,80 @@
|
||||||
"pear": {
|
"pear": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pear",
|
"name": "pære",
|
||||||
"plural_name": "pears"
|
"plural_name": "pærer"
|
||||||
},
|
},
|
||||||
"grape": {
|
"grape": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "grape",
|
"name": "drue",
|
||||||
"plural_name": "grapes"
|
"plural_name": "vindruer"
|
||||||
},
|
},
|
||||||
"pomegranate": {
|
"pomegranate": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pomegranate",
|
"name": "granatæble",
|
||||||
"plural_name": "pomegranates"
|
"plural_name": "pomegranates"
|
||||||
},
|
},
|
||||||
"watermelon": {
|
"watermelon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "watermelon",
|
"name": "vandmelon",
|
||||||
"plural_name": "watermelons"
|
"plural_name": "vandmeloner"
|
||||||
},
|
},
|
||||||
"rhubarb": {
|
"rhubarb": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "rhubarb",
|
"name": "rabarber",
|
||||||
"plural_name": "rhubarbs"
|
"plural_name": "rabarber"
|
||||||
},
|
},
|
||||||
"dried apricot": {
|
"dried apricot": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried apricot",
|
"name": "tørret abrikos",
|
||||||
"plural_name": "dried apricots"
|
"plural_name": "tørrede abrikoser"
|
||||||
},
|
},
|
||||||
"kiwi": {
|
"kiwi": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "kiwi",
|
"name": "kiwifrugt",
|
||||||
"plural_name": "kiwis"
|
"plural_name": "kiwifrugter"
|
||||||
},
|
},
|
||||||
"grapefruit": {
|
"grapefruit": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "grapefruit",
|
"name": "grapefrugt",
|
||||||
"plural_name": "grapefruits"
|
"plural_name": "grapefrugter"
|
||||||
},
|
},
|
||||||
"plum": {
|
"plum": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "plum",
|
"name": "blomme",
|
||||||
"plural_name": "plums"
|
"plural_name": "blommer"
|
||||||
},
|
},
|
||||||
"fig": {
|
"fig": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "fig",
|
"name": "figne",
|
||||||
"plural_name": "figs"
|
"plural_name": "figner"
|
||||||
},
|
},
|
||||||
"apricot": {
|
"apricot": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "apricot",
|
"name": "abrikos",
|
||||||
"plural_name": "apricots"
|
"plural_name": "abrikoser"
|
||||||
},
|
},
|
||||||
"currant": {
|
"currant": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "currant",
|
"name": "solbær",
|
||||||
"plural_name": "currants"
|
"plural_name": "solbær"
|
||||||
},
|
},
|
||||||
"mandarin": {
|
"mandarin": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mandarin",
|
"name": "mandarin",
|
||||||
"plural_name": "mandarins"
|
"plural_name": "mandariner"
|
||||||
},
|
},
|
||||||
"prune": {
|
"prune": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -4,136 +4,136 @@
|
||||||
"garlic": {
|
"garlic": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "garlic",
|
"name": "ajo",
|
||||||
"plural_name": "garlics"
|
"plural_name": "ajos"
|
||||||
},
|
},
|
||||||
"onion": {
|
"onion": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "onion",
|
"name": "cebolla",
|
||||||
"plural_name": "onions"
|
"plural_name": "cebollas"
|
||||||
},
|
},
|
||||||
"bell pepper": {
|
"bell pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "bell pepper",
|
"name": "morrón",
|
||||||
"plural_name": "bell peppers"
|
"plural_name": "morrones"
|
||||||
},
|
},
|
||||||
"carrot": {
|
"carrot": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "carrot",
|
"name": "zanahoria",
|
||||||
"plural_name": "carrots"
|
"plural_name": "zanahorias"
|
||||||
},
|
},
|
||||||
"scallion": {
|
"scallion": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "scallion",
|
"name": "cebolletas",
|
||||||
"plural_name": "scallions"
|
"plural_name": "cebolletas"
|
||||||
},
|
},
|
||||||
"zucchini": {
|
"zucchini": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "zucchini",
|
"name": "calabacín",
|
||||||
"plural_name": "zucchinis"
|
"plural_name": "calabacines"
|
||||||
},
|
},
|
||||||
"potato": {
|
"potato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "potato",
|
"name": "papa",
|
||||||
"plural_name": "potatoes"
|
"plural_name": "papas"
|
||||||
},
|
},
|
||||||
"red onion": {
|
"red onion": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "red onion",
|
"name": "cebolla colorada",
|
||||||
"plural_name": "red onions"
|
"plural_name": "cebollas coloradas"
|
||||||
},
|
},
|
||||||
"yellow onion": {
|
"yellow onion": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "yellow onion",
|
"name": "cebolla amarilla",
|
||||||
"plural_name": "yellow onions"
|
"plural_name": "cebollas amarillas"
|
||||||
},
|
},
|
||||||
"celery": {
|
"celery": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "celery",
|
"name": "apio",
|
||||||
"plural_name": "celeries"
|
"plural_name": "apios"
|
||||||
},
|
},
|
||||||
"jalapeno": {
|
"jalapeno": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "jalapeno",
|
"name": "jalapeño",
|
||||||
"plural_name": "jalapenoes"
|
"plural_name": "jalapeños"
|
||||||
},
|
},
|
||||||
"avocado": {
|
"avocado": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "avocado",
|
"name": "palta",
|
||||||
"plural_name": "avocados"
|
"plural_name": "paltas"
|
||||||
},
|
},
|
||||||
"shallot": {
|
"shallot": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "shallot",
|
"name": "cebolleta",
|
||||||
"plural_name": "shallots"
|
"plural_name": "cebolletas"
|
||||||
},
|
},
|
||||||
"cherry tomato": {
|
"cherry tomato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cherry tomato",
|
"name": "tomate cherry",
|
||||||
"plural_name": "cherry tomatoes"
|
"plural_name": "tomates cherry"
|
||||||
},
|
},
|
||||||
"cucumber": {
|
"cucumber": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cucumber",
|
"name": "pepino",
|
||||||
"plural_name": "cucumbers"
|
"plural_name": "pepinos"
|
||||||
},
|
},
|
||||||
"spinach": {
|
"spinach": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "spinach",
|
"name": "espinaca",
|
||||||
"plural_name": "spinaches"
|
"plural_name": "espinacas"
|
||||||
},
|
},
|
||||||
"sweet corn": {
|
"sweet corn": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sweet corn",
|
"name": "maíz dulce",
|
||||||
"plural_name": "sweet corns"
|
"plural_name": "maíz dulce"
|
||||||
},
|
},
|
||||||
"chile pepper": {
|
"chile pepper": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
"capsicum"
|
"morrones"
|
||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chile pepper",
|
"name": "ají picante",
|
||||||
"plural_name": "chile peppers"
|
"plural_name": "ajies picantes"
|
||||||
},
|
},
|
||||||
"sweet potato": {
|
"sweet potato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sweet potato",
|
"name": "boniato",
|
||||||
"plural_name": "sweet potatoes"
|
"plural_name": "boniatos"
|
||||||
},
|
},
|
||||||
"broccoli": {
|
"broccoli": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "broccoli",
|
"name": "brócoli",
|
||||||
"plural_name": "broccolis"
|
"plural_name": "brócolis"
|
||||||
},
|
},
|
||||||
"heart of palm": {
|
"heart of palm": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "heart of palm",
|
"name": "palmito",
|
||||||
"plural_name": "heart of palms"
|
"plural_name": "palmitos"
|
||||||
},
|
},
|
||||||
"baby green": {
|
"baby green": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "baby green",
|
"name": "hoja tierna",
|
||||||
"plural_name": "baby greens"
|
"plural_name": "hojas tiernas"
|
||||||
},
|
},
|
||||||
"pumpkin": {
|
"pumpkin": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -285,38 +285,38 @@
|
||||||
"poblano pepper": {
|
"poblano pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "poblano pepper",
|
"name": "morrón verde",
|
||||||
"plural_name": "poblano peppers"
|
"plural_name": "morrones verdes"
|
||||||
},
|
},
|
||||||
"sweet pepper": {
|
"sweet pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sweet pepper",
|
"name": "pimienta dulce",
|
||||||
"plural_name": "sweet peppers"
|
"plural_name": "pimientas dulces"
|
||||||
},
|
},
|
||||||
"serrano pepper": {
|
"serrano pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "serrano pepper",
|
"name": "chile serrano",
|
||||||
"plural_name": "serrano peppers"
|
"plural_name": "chiles serranos"
|
||||||
},
|
},
|
||||||
"cayenne pepper": {
|
"cayenne pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cayenne pepper",
|
"name": "pimienta de cayena",
|
||||||
"plural_name": "cayenne peppers"
|
"plural_name": "pimienta de cayena"
|
||||||
},
|
},
|
||||||
"green tomato": {
|
"green tomato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "green tomato",
|
"name": "tomate verde",
|
||||||
"plural_name": "green tomatoes"
|
"plural_name": "tomates verdes"
|
||||||
},
|
},
|
||||||
"watercress": {
|
"watercress": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "watercress",
|
"name": "berro",
|
||||||
"plural_name": "watercress"
|
"plural_name": "berros"
|
||||||
},
|
},
|
||||||
"iceberg": {
|
"iceberg": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -327,38 +327,38 @@
|
||||||
"mashed potato": {
|
"mashed potato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mashed potato",
|
"name": "puré de papa",
|
||||||
"plural_name": "mashed potatoes"
|
"plural_name": "puré de papa"
|
||||||
},
|
},
|
||||||
"horseradish": {
|
"horseradish": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "horseradish",
|
"name": "rabanito",
|
||||||
"plural_name": "horseradishes"
|
"plural_name": "rabanitos"
|
||||||
},
|
},
|
||||||
"chard": {
|
"chard": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chard",
|
"name": "acelga",
|
||||||
"plural_name": "chards"
|
"plural_name": "acelgas"
|
||||||
},
|
},
|
||||||
"pimiento": {
|
"pimiento": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pimiento",
|
"name": "ají",
|
||||||
"plural_name": "pimientoes"
|
"plural_name": "ajíes"
|
||||||
},
|
},
|
||||||
"spaghetti squash": {
|
"spaghetti squash": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "spaghetti squash",
|
"name": "cabello de ángel",
|
||||||
"plural_name": "spaghetti squashes"
|
"plural_name": "cabellos de ángeles"
|
||||||
},
|
},
|
||||||
"butter lettuce": {
|
"butter lettuce": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "butter lettuce",
|
"name": "lechuga de manteca",
|
||||||
"plural_name": "butter lettuces"
|
"plural_name": "lechuga de manteca"
|
||||||
},
|
},
|
||||||
"hash brown": {
|
"hash brown": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -371,32 +371,32 @@
|
||||||
"chinese leaves"
|
"chinese leaves"
|
||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "napa cabbage",
|
"name": "repollo",
|
||||||
"plural_name": "napa cabbages"
|
"plural_name": "repollos"
|
||||||
},
|
},
|
||||||
"celeriac": {
|
"celeriac": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "celeriac",
|
"name": "apio",
|
||||||
"plural_name": "celeriacs"
|
"plural_name": "apios"
|
||||||
},
|
},
|
||||||
"water chestnut": {
|
"water chestnut": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "water chestnut",
|
"name": "castaño de agua",
|
||||||
"plural_name": "water chestnuts"
|
"plural_name": "castaños de agua"
|
||||||
},
|
},
|
||||||
"turnip": {
|
"turnip": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "turnip",
|
"name": "nabo",
|
||||||
"plural_name": "turnips"
|
"plural_name": "nabos"
|
||||||
},
|
},
|
||||||
"thai chile pepper": {
|
"thai chile pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "thai chile pepper",
|
"name": "chile ojo de pájaro",
|
||||||
"plural_name": "thai chile peppers"
|
"plural_name": "chiles ojo de pájaro"
|
||||||
},
|
},
|
||||||
"bok choy": {
|
"bok choy": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -407,31 +407,31 @@
|
||||||
"okra": {
|
"okra": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "okra",
|
"name": "abelmosco",
|
||||||
"plural_name": "okra"
|
"plural_name": "abelmosco"
|
||||||
},
|
},
|
||||||
"acorn squash": {
|
"acorn squash": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "acorn squash",
|
"name": "calabaza bellota",
|
||||||
"plural_name": "acorn squashes"
|
"plural_name": "calabazas bellota"
|
||||||
},
|
},
|
||||||
"corn cob": {
|
"corn cob": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "corn cob",
|
"name": "maíz",
|
||||||
"plural_name": "corn cobs"
|
"plural_name": "maíces"
|
||||||
},
|
},
|
||||||
"radicchio": {
|
"radicchio": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "radicchio",
|
"name": "repollo colorado",
|
||||||
"plural_name": "radicchio"
|
"plural_name": "repollo colorado"
|
||||||
},
|
},
|
||||||
"pearl onion": {
|
"pearl onion": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pearl onion",
|
"name": "cebolla perla",
|
||||||
"plural_name": "pearl onions"
|
"plural_name": "pearl onions"
|
||||||
},
|
},
|
||||||
"tenderstem broccoli": {
|
"tenderstem broccoli": {
|
||||||
|
@ -566,55 +566,55 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "fresno chile",
|
"name": "fresno chile",
|
||||||
"plural_name": "fresno chiles"
|
"plural_name": "chile fresno"
|
||||||
},
|
},
|
||||||
"delicata squash": {
|
"delicata squash": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "delicata squash",
|
"name": "calabaza delicata",
|
||||||
"plural_name": "delicata squashes"
|
"plural_name": "calabazas delicata"
|
||||||
},
|
},
|
||||||
"frisee": {
|
"frisee": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "frisee",
|
"name": "lechuga rizada",
|
||||||
"plural_name": "frisees"
|
"plural_name": "lechuga rizada"
|
||||||
},
|
},
|
||||||
"anaheim pepper": {
|
"anaheim pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "anaheim pepper",
|
"name": "chile anaheim",
|
||||||
"plural_name": "anaheim peppers"
|
"plural_name": "chile anaheim"
|
||||||
},
|
},
|
||||||
"cres": {
|
"cres": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cres",
|
"name": "brote",
|
||||||
"plural_name": "cress"
|
"plural_name": "brotes"
|
||||||
},
|
},
|
||||||
"broccoli slaw": {
|
"broccoli slaw": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "broccoli slaw",
|
"name": "brócoli",
|
||||||
"plural_name": "broccoli slaws"
|
"plural_name": "brócolis"
|
||||||
},
|
},
|
||||||
"arbol chile pepper": {
|
"arbol chile pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "arbol chile pepper",
|
"name": "pimienta de arbol",
|
||||||
"plural_name": "arbol chile peppers"
|
"plural_name": "pimienta de arbol"
|
||||||
},
|
},
|
||||||
"golden beet": {
|
"golden beet": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "golden beet",
|
"name": "remolacha dorada",
|
||||||
"plural_name": "golden beets"
|
"plural_name": "remolacha dorada"
|
||||||
},
|
},
|
||||||
"pea shoot": {
|
"pea shoot": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pea shoot",
|
"name": "brote de guisante",
|
||||||
"plural_name": "pea shoots"
|
"plural_name": "brotes de guisante"
|
||||||
},
|
},
|
||||||
"alfalfa": {
|
"alfalfa": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -628,27 +628,27 @@
|
||||||
"foods": {
|
"foods": {
|
||||||
"tomato": {
|
"tomato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "Yes they are a fruit",
|
"description": "Sí, son una fruta",
|
||||||
"name": "tomato",
|
"name": "tomate",
|
||||||
"plural_name": "tomatoes"
|
"plural_name": "tomates"
|
||||||
},
|
},
|
||||||
"lemon": {
|
"lemon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "lemon",
|
"name": "limón",
|
||||||
"plural_name": "lemons"
|
"plural_name": "limones"
|
||||||
},
|
},
|
||||||
"lime": {
|
"lime": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "lime",
|
"name": "lima",
|
||||||
"plural_name": "limes"
|
"plural_name": "limas"
|
||||||
},
|
},
|
||||||
"apple": {
|
"apple": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "apple",
|
"name": "manzana",
|
||||||
"plural_name": "apples"
|
"plural_name": "manzanas"
|
||||||
},
|
},
|
||||||
"banana": {
|
"banana": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -659,62 +659,62 @@
|
||||||
"orange": {
|
"orange": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "orange",
|
"name": "naranja",
|
||||||
"plural_name": "oranges"
|
"plural_name": "naranjas"
|
||||||
},
|
},
|
||||||
"raisin": {
|
"raisin": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "raisin",
|
"name": "pasa",
|
||||||
"plural_name": "raisins"
|
"plural_name": "pasas"
|
||||||
},
|
},
|
||||||
"pineapple": {
|
"pineapple": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pineapple",
|
"name": "piña",
|
||||||
"plural_name": "pineapples"
|
"plural_name": "piñas"
|
||||||
},
|
},
|
||||||
"mango": {
|
"mango": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mango",
|
"name": "mango",
|
||||||
"plural_name": "mangoes"
|
"plural_name": "mangos"
|
||||||
},
|
},
|
||||||
"peach": {
|
"peach": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "peach",
|
"name": "durazno",
|
||||||
"plural_name": "peaches"
|
"plural_name": "duraznos"
|
||||||
},
|
},
|
||||||
"date": {
|
"date": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "date",
|
"name": "fecha",
|
||||||
"plural_name": "dates"
|
"plural_name": "fechas"
|
||||||
},
|
},
|
||||||
"coconut": {
|
"coconut": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "coconut",
|
"name": "coco",
|
||||||
"plural_name": "coconuts"
|
"plural_name": "cocos"
|
||||||
},
|
},
|
||||||
"craisin": {
|
"craisin": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "craisin",
|
"name": "arándano rojo",
|
||||||
"plural_name": "craisins"
|
"plural_name": "arándanos rojos"
|
||||||
},
|
},
|
||||||
"pear": {
|
"pear": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pear",
|
"name": "pera",
|
||||||
"plural_name": "pears"
|
"plural_name": "peras"
|
||||||
},
|
},
|
||||||
"grape": {
|
"grape": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "grape",
|
"name": "uva",
|
||||||
"plural_name": "grapes"
|
"plural_name": "uvas"
|
||||||
},
|
},
|
||||||
"pomegranate": {
|
"pomegranate": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -869,128 +869,128 @@
|
||||||
"melon": {
|
"melon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "melon",
|
"name": "melón",
|
||||||
"plural_name": "melons"
|
"plural_name": "melones"
|
||||||
},
|
},
|
||||||
"tangerine": {
|
"tangerine": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "tangerine",
|
"name": "mandarina",
|
||||||
"plural_name": "tangerines"
|
"plural_name": "mandarinas"
|
||||||
},
|
},
|
||||||
"dried mango": {
|
"dried mango": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried mango",
|
"name": "mango seco",
|
||||||
"plural_name": "dried mangoes"
|
"plural_name": "mangos secos"
|
||||||
},
|
},
|
||||||
"dried apple": {
|
"dried apple": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried apple",
|
"name": "manzana seca",
|
||||||
"plural_name": "dried apples"
|
"plural_name": "manzanas secas"
|
||||||
},
|
},
|
||||||
"quince": {
|
"quince": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "quince",
|
"name": "membrillo",
|
||||||
"plural_name": "quinces"
|
"plural_name": "membrillos"
|
||||||
},
|
},
|
||||||
"guava": {
|
"guava": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "guava",
|
"name": "guayaba",
|
||||||
"plural_name": "guavas"
|
"plural_name": "guayabas"
|
||||||
},
|
},
|
||||||
"banana chip": {
|
"banana chip": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "banana chip",
|
"name": "chip de banana",
|
||||||
"plural_name": "banana chips"
|
"plural_name": "chips de banana"
|
||||||
},
|
},
|
||||||
"kumquat": {
|
"kumquat": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "kumquat",
|
"name": "naranjo enano",
|
||||||
"plural_name": "kumquats"
|
"plural_name": "naranjos enanos"
|
||||||
},
|
},
|
||||||
"jackfruit": {
|
"jackfruit": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "jackfruit",
|
"name": "yaca",
|
||||||
"plural_name": "jackfruits"
|
"plural_name": "yaca"
|
||||||
},
|
},
|
||||||
"dragon fruit": {
|
"dragon fruit": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dragon fruit",
|
"name": "fruta del dragón",
|
||||||
"plural_name": "dragon fruits"
|
"plural_name": "frutas del dragón"
|
||||||
},
|
},
|
||||||
"mixed fruit": {
|
"mixed fruit": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mixed fruit",
|
"name": "fruta mixta",
|
||||||
"plural_name": "mixed fruits"
|
"plural_name": "frutas mixtas"
|
||||||
},
|
},
|
||||||
"asian pear": {
|
"asian pear": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "asian pear",
|
"name": "pera asiática",
|
||||||
"plural_name": "asian pears"
|
"plural_name": "peras asiáticas"
|
||||||
},
|
},
|
||||||
"lychee": {
|
"lychee": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "lychee",
|
"name": "lichi",
|
||||||
"plural_name": "lychees"
|
"plural_name": "lichis"
|
||||||
},
|
},
|
||||||
"young coconut": {
|
"young coconut": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "young coconut",
|
"name": "coco joven",
|
||||||
"plural_name": "young coconuts"
|
"plural_name": "cocos jóvenes"
|
||||||
},
|
},
|
||||||
"kaffir lime": {
|
"kaffir lime": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "kaffir lime",
|
"name": "lima kaffir",
|
||||||
"plural_name": "kaffir limes"
|
"plural_name": "limas kaffir"
|
||||||
},
|
},
|
||||||
"star fruit": {
|
"star fruit": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "star fruit",
|
"name": "carambola",
|
||||||
"plural_name": "star fruits"
|
"plural_name": "carambolas"
|
||||||
},
|
},
|
||||||
"green papaya": {
|
"green papaya": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "green papaya",
|
"name": "papaya verde",
|
||||||
"plural_name": "green papayas"
|
"plural_name": "papayas verdes"
|
||||||
},
|
},
|
||||||
"pomelo": {
|
"pomelo": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pomelo",
|
"name": "pomelo",
|
||||||
"plural_name": "pomeloes"
|
"plural_name": "pomelos"
|
||||||
},
|
},
|
||||||
"chestnut puree": {
|
"chestnut puree": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chestnut puree",
|
"name": "puré de castañas",
|
||||||
"plural_name": "chestnut purees"
|
"plural_name": "puré de castañas"
|
||||||
},
|
},
|
||||||
"prickly pear": {
|
"prickly pear": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "prickly pear",
|
"name": "pera espinosa",
|
||||||
"plural_name": "prickly pears"
|
"plural_name": "peras espinosas"
|
||||||
},
|
},
|
||||||
"calamansi": {
|
"calamansi": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "calamansi",
|
"name": "calamondín",
|
||||||
"plural_name": "calamansis"
|
"plural_name": "calamondines"
|
||||||
},
|
},
|
||||||
"yuzu": {
|
"yuzu": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1007,14 +1007,14 @@
|
||||||
"apple chip": {
|
"apple chip": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "apple chip",
|
"name": "chip de manzana",
|
||||||
"plural_name": "apple chips"
|
"plural_name": "chips de manzana"
|
||||||
},
|
},
|
||||||
"mixed peel": {
|
"mixed peel": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mixed peel",
|
"name": "cáscara mixta",
|
||||||
"plural_name": "mixed peels"
|
"plural_name": "cáscara mixta"
|
||||||
},
|
},
|
||||||
"kokum": {
|
"kokum": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1169,14 +1169,14 @@
|
||||||
"fig leaf": {
|
"fig leaf": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "fig leaf",
|
"name": "hoja de higuera",
|
||||||
"plural_name": "fig leaves"
|
"plural_name": "hojas de higuera"
|
||||||
},
|
},
|
||||||
"freeze-dried pineapple": {
|
"freeze-dried pineapple": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "freeze-dried pineapple",
|
"name": "piña secada por congelación",
|
||||||
"plural_name": "freeze-dried pineapples"
|
"plural_name": "piñas secadas por congelación"
|
||||||
},
|
},
|
||||||
"pluot": {
|
"pluot": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1193,26 +1193,26 @@
|
||||||
"hog plum": {
|
"hog plum": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "hog plum",
|
"name": "ciruela de cerdo",
|
||||||
"plural_name": "hog plums"
|
"plural_name": "ciruelas de cerdo"
|
||||||
},
|
},
|
||||||
"bergamot orange": {
|
"bergamot orange": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "bergamot orange",
|
"name": "bergamota",
|
||||||
"plural_name": "bergamot oranges"
|
"plural_name": "bergamotas"
|
||||||
},
|
},
|
||||||
"luo han guo": {
|
"luo han guo": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "luo han guo",
|
"name": "fruto del monje",
|
||||||
"plural_name": "luo han guos"
|
"plural_name": "frutos del monje"
|
||||||
},
|
},
|
||||||
"mamey": {
|
"mamey": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mamey",
|
"name": "mamao",
|
||||||
"plural_name": "mameys"
|
"plural_name": "mamaos"
|
||||||
},
|
},
|
||||||
"sapote": {
|
"sapote": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1223,14 +1223,14 @@
|
||||||
"green ume plum": {
|
"green ume plum": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "green ume plum",
|
"name": "ciruela verde",
|
||||||
"plural_name": "green ume plums"
|
"plural_name": "ciruelas verdes"
|
||||||
},
|
},
|
||||||
"kiwano": {
|
"kiwano": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "kiwano",
|
"name": "kiwano",
|
||||||
"plural_name": "kiwanoes"
|
"plural_name": "kiwanos"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1239,26 +1239,26 @@
|
||||||
"button mushroom": {
|
"button mushroom": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "button mushroom",
|
"name": "champiñón",
|
||||||
"plural_name": "button mushrooms"
|
"plural_name": "champiñones"
|
||||||
},
|
},
|
||||||
"shiitake mushroom": {
|
"shiitake mushroom": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "shiitake mushroom",
|
"name": "hongo shiitake",
|
||||||
"plural_name": "shiitake mushrooms"
|
"plural_name": "hongos shiitake"
|
||||||
},
|
},
|
||||||
"portobello mushroom": {
|
"portobello mushroom": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "portobello mushroom",
|
"name": "hongo portobello",
|
||||||
"plural_name": "portobello mushrooms"
|
"plural_name": "hongos portobello"
|
||||||
},
|
},
|
||||||
"wild mushroom": {
|
"wild mushroom": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "wild mushroom",
|
"name": "hongos silvestre",
|
||||||
"plural_name": "wild mushrooms"
|
"plural_name": "hongos silvestre"
|
||||||
},
|
},
|
||||||
"porcini": {
|
"porcini": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1269,56 +1269,56 @@
|
||||||
"mixed mushroom": {
|
"mixed mushroom": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mixed mushroom",
|
"name": "hongos mixtos",
|
||||||
"plural_name": "mixed mushrooms"
|
"plural_name": "hongos mixtos"
|
||||||
},
|
},
|
||||||
"oyster mushroom": {
|
"oyster mushroom": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "oyster mushroom",
|
"name": "champiñón blanco",
|
||||||
"plural_name": "oyster mushrooms"
|
"plural_name": "champiñón blanco"
|
||||||
},
|
},
|
||||||
"chestnut mushroom": {
|
"chestnut mushroom": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chestnut mushroom",
|
"name": "champiñón de castaño",
|
||||||
"plural_name": "chestnut mushrooms"
|
"plural_name": "champiñones de castaño"
|
||||||
},
|
},
|
||||||
"enoki mushroom": {
|
"enoki mushroom": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "enoki mushroom",
|
"name": "hongo enoki",
|
||||||
"plural_name": "enoki mushrooms"
|
"plural_name": "hongos enoki"
|
||||||
},
|
},
|
||||||
"black fungu": {
|
"black fungu": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "black fungu",
|
"name": "hongo negro",
|
||||||
"plural_name": "black fungus"
|
"plural_name": "hongos negros"
|
||||||
},
|
},
|
||||||
"black truffle": {
|
"black truffle": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "black truffle",
|
"name": "trufa negra",
|
||||||
"plural_name": "black truffles"
|
"plural_name": "trufas negras"
|
||||||
},
|
},
|
||||||
"morel mushroom": {
|
"morel mushroom": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "morel mushroom",
|
"name": "hongo morel",
|
||||||
"plural_name": "morel mushrooms"
|
"plural_name": "hongos morel"
|
||||||
},
|
},
|
||||||
"field mushroom": {
|
"field mushroom": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "field mushroom",
|
"name": "hongo de campo",
|
||||||
"plural_name": "field mushrooms"
|
"plural_name": "hongos de campo"
|
||||||
},
|
},
|
||||||
"king oyster mushroom": {
|
"king oyster mushroom": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "king oyster mushroom",
|
"name": "hongo de ostra rey",
|
||||||
"plural_name": "king oyster mushrooms"
|
"plural_name": "hongos de ostra rey"
|
||||||
},
|
},
|
||||||
"shimeji mushroom": {
|
"shimeji mushroom": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1477,56 +1477,56 @@
|
||||||
"cherry": {
|
"cherry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cherry",
|
"name": "cereza",
|
||||||
"plural_name": "cherries"
|
"plural_name": "cerezas"
|
||||||
},
|
},
|
||||||
"blackberry": {
|
"blackberry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "blackberry",
|
"name": "mora",
|
||||||
"plural_name": "blackberries"
|
"plural_name": "moras"
|
||||||
},
|
},
|
||||||
"berry mix": {
|
"berry mix": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "berry mix",
|
"name": "mix de baya",
|
||||||
"plural_name": "berry mixes"
|
"plural_name": "mix de bayas"
|
||||||
},
|
},
|
||||||
"maraschino cherry": {
|
"maraschino cherry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "maraschino cherry",
|
"name": "cereza maraschino",
|
||||||
"plural_name": "maraschino cherries"
|
"plural_name": "cerezas maraschino"
|
||||||
},
|
},
|
||||||
"dried cherry": {
|
"dried cherry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried cherry",
|
"name": "cereza seca",
|
||||||
"plural_name": "dried cherries"
|
"plural_name": "cerezas secas"
|
||||||
},
|
},
|
||||||
"juniper berry": {
|
"juniper berry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "juniper berry",
|
"name": "baya de enebro",
|
||||||
"plural_name": "juniper berries"
|
"plural_name": "bayas de enebro"
|
||||||
},
|
},
|
||||||
"sour cherry": {
|
"sour cherry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sour cherry",
|
"name": "cereza agria",
|
||||||
"plural_name": "sour cherries"
|
"plural_name": "cerezas agrias"
|
||||||
},
|
},
|
||||||
"goji berry": {
|
"goji berry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "goji berry",
|
"name": "baya goji",
|
||||||
"plural_name": "goji berries"
|
"plural_name": "bayas goji"
|
||||||
},
|
},
|
||||||
"dried blueberry": {
|
"dried blueberry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried blueberry",
|
"name": "arándano seco",
|
||||||
"plural_name": "dried blueberries"
|
"plural_name": "arándanos secos"
|
||||||
},
|
},
|
||||||
"freeze-dried strawberry": {
|
"freeze-dried strawberry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
|
|
@ -511,14 +511,14 @@
|
||||||
"baby corn": {
|
"baby corn": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "baby corn",
|
"name": "bébé maïs",
|
||||||
"plural_name": "baby corns"
|
"plural_name": "bébés maïs"
|
||||||
},
|
},
|
||||||
"broccoli rabe": {
|
"broccoli rabe": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "broccoli rabe",
|
"name": "brocoli-rave",
|
||||||
"plural_name": "broccoli rabes"
|
"plural_name": "brocoli-raves"
|
||||||
},
|
},
|
||||||
"rutabaga": {
|
"rutabaga": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -577,8 +577,8 @@
|
||||||
"frisee": {
|
"frisee": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "frisee",
|
"name": "frisée",
|
||||||
"plural_name": "frisees"
|
"plural_name": "frisées"
|
||||||
},
|
},
|
||||||
"anaheim pepper": {
|
"anaheim pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1257,8 +1257,8 @@
|
||||||
"wild mushroom": {
|
"wild mushroom": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "wild mushroom",
|
"name": "champignon sauvage",
|
||||||
"plural_name": "wild mushrooms"
|
"plural_name": "champignons sauvages"
|
||||||
},
|
},
|
||||||
"porcini": {
|
"porcini": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
|
|
@ -105,7 +105,7 @@
|
||||||
},
|
},
|
||||||
"chile pepper": {
|
"chile pepper": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
"capsicum"
|
"a"
|
||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "פלפל צ'ילי",
|
"name": "פלפל צ'ילי",
|
||||||
|
@ -1175,8 +1175,8 @@
|
||||||
"freeze-dried pineapple": {
|
"freeze-dried pineapple": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "אננס מיובש בהקפאה",
|
"name": "אננס מיובש מוקפא",
|
||||||
"plural_name": "אננסים מיובשים בהקפאה"
|
"plural_name": "אננסים מיובשים מוקפא"
|
||||||
},
|
},
|
||||||
"pluot": {
|
"pluot": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1477,8 +1477,8 @@
|
||||||
"cherry": {
|
"cherry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cherry",
|
"name": "דובדבן",
|
||||||
"plural_name": "cherries"
|
"plural_name": "דובדבנים"
|
||||||
},
|
},
|
||||||
"blackberry": {
|
"blackberry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1501,8 +1501,8 @@
|
||||||
"dried cherry": {
|
"dried cherry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried cherry",
|
"name": "דובדבן מיובש",
|
||||||
"plural_name": "dried cherries"
|
"plural_name": "דובדבנים מיובשים"
|
||||||
},
|
},
|
||||||
"juniper berry": {
|
"juniper berry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1871,8 +1871,8 @@
|
||||||
"melon seed": {
|
"melon seed": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "melon seed",
|
"name": "גרעין מלון",
|
||||||
"plural_name": "melon seeds"
|
"plural_name": "גרעיני מלונים"
|
||||||
},
|
},
|
||||||
"lotus seed": {
|
"lotus seed": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1907,8 +1907,8 @@
|
||||||
"peanut brittle": {
|
"peanut brittle": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "peanut brittle",
|
"name": "שבר בוטן",
|
||||||
"plural_name": "peanut brittles"
|
"plural_name": "שברי בוטנים"
|
||||||
},
|
},
|
||||||
"jackfruit seed": {
|
"jackfruit seed": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1991,8 +1991,8 @@
|
||||||
"indian almond": {
|
"indian almond": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "indian almond",
|
"name": "שקד הודי",
|
||||||
"plural_name": "indian almonds"
|
"plural_name": "שקדים הודים"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -3225,8 +3225,8 @@
|
||||||
"cashew butter": {
|
"cashew butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cashew butter",
|
"name": "חמאת קשיו",
|
||||||
"plural_name": "cashew butter"
|
"plural_name": "חמאת קשיו"
|
||||||
},
|
},
|
||||||
"tempeh": {
|
"tempeh": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3261,32 +3261,32 @@
|
||||||
"cashew milk": {
|
"cashew milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cashew milk",
|
"name": "חלב קשיו",
|
||||||
"plural_name": "cashew milks"
|
"plural_name": "חלב קשיו"
|
||||||
},
|
},
|
||||||
"oat milk": {
|
"oat milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "oat milk",
|
"name": "חלב שיבולת שועל",
|
||||||
"plural_name": "oat milks"
|
"plural_name": "חלב שיבולת שועל"
|
||||||
},
|
},
|
||||||
"nut butter": {
|
"nut butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "nut butter",
|
"name": "חמאת אגוזים",
|
||||||
"plural_name": "nut butter"
|
"plural_name": "חמאת אגוזים"
|
||||||
},
|
},
|
||||||
"rice milk": {
|
"rice milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "rice milk",
|
"name": "חלב אורז",
|
||||||
"plural_name": "rice milks"
|
"plural_name": "חלב אורז"
|
||||||
},
|
},
|
||||||
"vegan sour cream": {
|
"vegan sour cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "vegan sour cream",
|
"name": "שמנת חמוצה טבעונית",
|
||||||
"plural_name": "vegan sour creams"
|
"plural_name": "שמנת חמוצה טבעונית"
|
||||||
},
|
},
|
||||||
"textured vegetable protein": {
|
"textured vegetable protein": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3303,14 +3303,14 @@
|
||||||
"soy yogurt": {
|
"soy yogurt": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "soy yogurt",
|
"name": "יוגורט סויה",
|
||||||
"plural_name": "soy yogurts"
|
"plural_name": "יוגורט סויה"
|
||||||
},
|
},
|
||||||
"vegan mozzarella": {
|
"vegan mozzarella": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "vegan mozzarella",
|
"name": "מוצרלה טבעונית",
|
||||||
"plural_name": "vegan mozzarellas"
|
"plural_name": "מוצרלה טבעונית"
|
||||||
},
|
},
|
||||||
"non-dairy creamer": {
|
"non-dairy creamer": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3333,8 +3333,8 @@
|
||||||
"smoked tofu": {
|
"smoked tofu": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "smoked tofu",
|
"name": "טופו מעושן",
|
||||||
"plural_name": "smoked tofus"
|
"plural_name": "טופו מעושן"
|
||||||
},
|
},
|
||||||
"coconut powder": {
|
"coconut powder": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3579,8 +3579,8 @@
|
||||||
"cashew cheese sauce": {
|
"cashew cheese sauce": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cashew cheese sauce",
|
"name": "רוטב גבינת קשיו",
|
||||||
"plural_name": "cashew cheese sauces"
|
"plural_name": "רוטב גבינת קשיו"
|
||||||
},
|
},
|
||||||
"coconut fat": {
|
"coconut fat": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3633,8 +3633,8 @@
|
||||||
"cashew cream cheese": {
|
"cashew cream cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cashew cream cheese",
|
"name": "גבינת קרם קשיו",
|
||||||
"plural_name": "cashew cream cheeses"
|
"plural_name": "גבינת קרם קשיו"
|
||||||
},
|
},
|
||||||
"cricket flour": {
|
"cricket flour": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -4165,20 +4165,20 @@
|
||||||
"raw chorizo": {
|
"raw chorizo": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "raw chorizo",
|
"name": "צוריסו נא",
|
||||||
"plural_name": "raw chorizoes"
|
"plural_name": "צוריסוים נאים"
|
||||||
},
|
},
|
||||||
"beef liver": {
|
"beef liver": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "beef liver",
|
"name": "כבד בקר",
|
||||||
"plural_name": "beef livers"
|
"plural_name": "כבדי בקר"
|
||||||
},
|
},
|
||||||
"pastrami": {
|
"pastrami": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pastrami",
|
"name": "פסטרמה",
|
||||||
"plural_name": "pastramis"
|
"plural_name": "פסטרמה"
|
||||||
},
|
},
|
||||||
"cocktail sausage": {
|
"cocktail sausage": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -4327,8 +4327,8 @@
|
||||||
"beef shoulder": {
|
"beef shoulder": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "beef shoulder",
|
"name": "כתף בקר",
|
||||||
"plural_name": "beef shoulders"
|
"plural_name": "כתפי בקר"
|
||||||
},
|
},
|
||||||
"steak tip": {
|
"steak tip": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -4373,26 +4373,26 @@
|
||||||
"whole chicken": {
|
"whole chicken": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "whole chicken",
|
"name": "עוף שלם",
|
||||||
"plural_name": "whole chickens"
|
"plural_name": "עופות שלמים"
|
||||||
},
|
},
|
||||||
"whole turkey": {
|
"whole turkey": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "whole turkey",
|
"name": "הודו שלם",
|
||||||
"plural_name": "whole turkeys"
|
"plural_name": "הודו שלמים"
|
||||||
},
|
},
|
||||||
"chicken leg": {
|
"chicken leg": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chicken leg",
|
"name": "רגל עוף",
|
||||||
"plural_name": "chicken legs"
|
"plural_name": "רגלי עוף"
|
||||||
},
|
},
|
||||||
"chicken wing": {
|
"chicken wing": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chicken wing",
|
"name": "כנף עוף",
|
||||||
"plural_name": "chicken wings"
|
"plural_name": "כנפי עוף"
|
||||||
},
|
},
|
||||||
"turkey breast": {
|
"turkey breast": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -4445,20 +4445,20 @@
|
||||||
"duck breast": {
|
"duck breast": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "duck breast",
|
"name": "חזה ברווז",
|
||||||
"plural_name": "duck breasts"
|
"plural_name": "חזה ברווז"
|
||||||
},
|
},
|
||||||
"boneless chicken": {
|
"boneless chicken": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "boneless chicken",
|
"name": "פרגית",
|
||||||
"plural_name": "boneless chickens"
|
"plural_name": "פרגיות"
|
||||||
},
|
},
|
||||||
"chicken liver": {
|
"chicken liver": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chicken liver",
|
"name": "כבד עוף",
|
||||||
"plural_name": "chicken livers"
|
"plural_name": "כבדי עוף"
|
||||||
},
|
},
|
||||||
"cornish hen": {
|
"cornish hen": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -4481,14 +4481,14 @@
|
||||||
"turkey meat": {
|
"turkey meat": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "turkey meat",
|
"name": "בשר הודו",
|
||||||
"plural_name": "turkey meats"
|
"plural_name": "בשר הודו"
|
||||||
},
|
},
|
||||||
"chicken quarter": {
|
"chicken quarter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chicken quarter",
|
"name": "רבע עוף",
|
||||||
"plural_name": "chicken quarters"
|
"plural_name": "רבעי עוף"
|
||||||
},
|
},
|
||||||
"ground turkey sausage": {
|
"ground turkey sausage": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -4511,8 +4511,8 @@
|
||||||
"smoked chicken": {
|
"smoked chicken": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "smoked chicken",
|
"name": "עוף מעושן",
|
||||||
"plural_name": "smoked chickens"
|
"plural_name": "עופות מעושנים"
|
||||||
},
|
},
|
||||||
"turkey leg": {
|
"turkey leg": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -4529,8 +4529,8 @@
|
||||||
"goose": {
|
"goose": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "goose",
|
"name": "אווז",
|
||||||
"plural_name": "geese"
|
"plural_name": "אווזים"
|
||||||
},
|
},
|
||||||
"turkey pepperoni": {
|
"turkey pepperoni": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -7700,11 +7700,11 @@
|
||||||
},
|
},
|
||||||
"whole-wheat flour": {
|
"whole-wheat flour": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
"whole wheat flour"
|
"קמח חיטה מלא"
|
||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "whole-wheat flour",
|
"name": "קמח חיטה מלא",
|
||||||
"plural_name": "whole-wheat flours"
|
"plural_name": "קמח חיטה מלא"
|
||||||
},
|
},
|
||||||
"almond flour": {
|
"almond flour": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -7715,8 +7715,8 @@
|
||||||
"self-raising flour": {
|
"self-raising flour": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "self-raising flour",
|
"name": "קמח תופח",
|
||||||
"plural_name": "self-raising flours"
|
"plural_name": "קמח תופח"
|
||||||
},
|
},
|
||||||
"shredded coconut": {
|
"shredded coconut": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -7878,8 +7878,8 @@
|
||||||
"spelt": {
|
"spelt": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "spelt",
|
"name": "כוסמין",
|
||||||
"plural_name": "spelts"
|
"plural_name": "כוסמין"
|
||||||
},
|
},
|
||||||
"brownie mix": {
|
"brownie mix": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -7944,8 +7944,8 @@
|
||||||
"brown rice flour": {
|
"brown rice flour": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "brown rice flour",
|
"name": "קמח אורז מלא",
|
||||||
"plural_name": "brown rice flours"
|
"plural_name": "קמח אורז מלא"
|
||||||
},
|
},
|
||||||
"pectin": {
|
"pectin": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -8142,8 +8142,8 @@
|
||||||
"quinoa flour": {
|
"quinoa flour": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "quinoa flour",
|
"name": "קמח קינואה",
|
||||||
"plural_name": "quinoa flours"
|
"plural_name": "קמח קינואה"
|
||||||
},
|
},
|
||||||
"finger millet flour": {
|
"finger millet flour": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -8190,8 +8190,8 @@
|
||||||
"gluten-free baking flour": {
|
"gluten-free baking flour": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "gluten-free baking flour",
|
"name": "קמח אפייה ללא גלוטן",
|
||||||
"plural_name": "gluten-free baking flours"
|
"plural_name": "קמח אפייה ללא גלוטן"
|
||||||
},
|
},
|
||||||
"einkorn flour": {
|
"einkorn flour": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -8208,14 +8208,14 @@
|
||||||
"gluten-free self-raising flour": {
|
"gluten-free self-raising flour": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "gluten-free self-raising flour",
|
"name": "קמח תופח ללא גלוטן",
|
||||||
"plural_name": "gluten-free self-raising flours"
|
"plural_name": "קמח תופח ללא גלוטן"
|
||||||
},
|
},
|
||||||
"peanut flour": {
|
"peanut flour": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "peanut flour",
|
"name": "קמח בוטנים",
|
||||||
"plural_name": "peanut flours"
|
"plural_name": "קמח בוטנים"
|
||||||
},
|
},
|
||||||
"sweet bean paste": {
|
"sweet bean paste": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -8950,8 +8950,8 @@
|
||||||
"spelt flake": {
|
"spelt flake": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "spelt flake",
|
"name": "פתיתי כוסמין",
|
||||||
"plural_name": "spelt flakes"
|
"plural_name": "פתיתי כוסמין"
|
||||||
},
|
},
|
||||||
"kodo millet": {
|
"kodo millet": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -9504,14 +9504,14 @@
|
||||||
"macaroni": {
|
"macaroni": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "macaroni",
|
"name": "מקרוני",
|
||||||
"plural_name": "macaronis"
|
"plural_name": "מקרוני"
|
||||||
},
|
},
|
||||||
"egg noodle": {
|
"egg noodle": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "egg noodle",
|
"name": "איטריית ביצים",
|
||||||
"plural_name": "egg noodles"
|
"plural_name": "איטריות ביצים"
|
||||||
},
|
},
|
||||||
"spiral pasta": {
|
"spiral pasta": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -9521,7 +9521,7 @@
|
||||||
},
|
},
|
||||||
"lasagna noodle": {
|
"lasagna noodle": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
"lasagnas"
|
"לזניה"
|
||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "lasagna noodle",
|
"name": "lasagna noodle",
|
||||||
|
@ -9536,8 +9536,8 @@
|
||||||
"fettuccine": {
|
"fettuccine": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "fettuccine",
|
"name": "פטוציני",
|
||||||
"plural_name": "fettuccines"
|
"plural_name": "פטוציני"
|
||||||
},
|
},
|
||||||
"orzo": {
|
"orzo": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -9560,26 +9560,26 @@
|
||||||
"noodle": {
|
"noodle": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "noodle",
|
"name": "איטרייה",
|
||||||
"plural_name": "noodles"
|
"plural_name": "איטריות"
|
||||||
},
|
},
|
||||||
"tortellini": {
|
"tortellini": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "tortellini",
|
"name": "טורטליני",
|
||||||
"plural_name": "tortellinis"
|
"plural_name": "טורטליני"
|
||||||
},
|
},
|
||||||
"cheese tortellini": {
|
"cheese tortellini": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cheese tortellini",
|
"name": "טורטליני גבינה",
|
||||||
"plural_name": "cheese tortellinis"
|
"plural_name": "טורטליני גבינה"
|
||||||
},
|
},
|
||||||
"rice noodle": {
|
"rice noodle": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "rice noodle",
|
"name": "איטריית אורז",
|
||||||
"plural_name": "rice noodles"
|
"plural_name": "איטריות אורז"
|
||||||
},
|
},
|
||||||
"rigatoni": {
|
"rigatoni": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -9602,8 +9602,8 @@
|
||||||
"ramen noodle": {
|
"ramen noodle": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "ramen noodle",
|
"name": "איטריית ראמן",
|
||||||
"plural_name": "ramen noodles"
|
"plural_name": "איטריות ראמן"
|
||||||
},
|
},
|
||||||
"vermicelli": {
|
"vermicelli": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -9626,8 +9626,8 @@
|
||||||
"ravioli": {
|
"ravioli": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "ravioli",
|
"name": "רביולי",
|
||||||
"plural_name": "raviolis"
|
"plural_name": "רביולי"
|
||||||
},
|
},
|
||||||
"ziti": {
|
"ziti": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -9656,8 +9656,8 @@
|
||||||
"udon noodle": {
|
"udon noodle": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "udon noodle",
|
"name": "איטריית אודון",
|
||||||
"plural_name": "udon noodles"
|
"plural_name": "איטריות אודון"
|
||||||
},
|
},
|
||||||
"ditalini": {
|
"ditalini": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -10634,14 +10634,14 @@
|
||||||
"olive oil": {
|
"olive oil": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "olive oil",
|
"name": "שמן זית",
|
||||||
"plural_name": "olive oils"
|
"plural_name": "שמן זית"
|
||||||
},
|
},
|
||||||
"vegetable oil": {
|
"vegetable oil": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "vegetable oil",
|
"name": "שמן צמחי",
|
||||||
"plural_name": "vegetable oils"
|
"plural_name": "שמן צמחי"
|
||||||
},
|
},
|
||||||
"extra virgin olive oil": {
|
"extra virgin olive oil": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -10652,14 +10652,14 @@
|
||||||
"canola oil": {
|
"canola oil": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "canola oil",
|
"name": "שמן קנולה",
|
||||||
"plural_name": "canola oils"
|
"plural_name": "שמן קנולה"
|
||||||
},
|
},
|
||||||
"coconut oil": {
|
"coconut oil": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "coconut oil",
|
"name": "שמן קוקוס",
|
||||||
"plural_name": "coconut oils"
|
"plural_name": "שמן קוקוס"
|
||||||
},
|
},
|
||||||
"cooking spray": {
|
"cooking spray": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -10670,8 +10670,8 @@
|
||||||
"sesame oil": {
|
"sesame oil": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sesame oil",
|
"name": "שמן שומשום",
|
||||||
"plural_name": "sesame oils"
|
"plural_name": "שמן שומשום"
|
||||||
},
|
},
|
||||||
"frying oil": {
|
"frying oil": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -10682,14 +10682,14 @@
|
||||||
"sunflower oil": {
|
"sunflower oil": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sunflower oil",
|
"name": "שמן חמניות",
|
||||||
"plural_name": "sunflower oils"
|
"plural_name": "שמן חמניות"
|
||||||
},
|
},
|
||||||
"avocado oil": {
|
"avocado oil": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "avocado oil",
|
"name": "שמן אבוקדו",
|
||||||
"plural_name": "avocado oils"
|
"plural_name": "שמן אבוקדו"
|
||||||
},
|
},
|
||||||
"toasted sesame oil": {
|
"toasted sesame oil": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -10700,8 +10700,8 @@
|
||||||
"peanut oil": {
|
"peanut oil": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "peanut oil",
|
"name": "שמן בוטנים",
|
||||||
"plural_name": "peanut oils"
|
"plural_name": "שמן בוטנים"
|
||||||
},
|
},
|
||||||
"grapeseed oil": {
|
"grapeseed oil": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
|
@ -10774,8 +10774,8 @@
|
||||||
"cacao butter": {
|
"cacao butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cacao butter",
|
"name": "חמאת קקאו",
|
||||||
"plural_name": "cacao butter"
|
"plural_name": "חמאת קקאו"
|
||||||
},
|
},
|
||||||
"salad oil": {
|
"salad oil": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -13054,8 +13054,8 @@
|
||||||
"pineapple salsa": {
|
"pineapple salsa": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pineapple salsa",
|
"name": "סלסת אננס",
|
||||||
"plural_name": "pineapple salsas"
|
"plural_name": "סלסת אננס"
|
||||||
},
|
},
|
||||||
"artichoke dip": {
|
"artichoke dip": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -14337,8 +14337,8 @@
|
||||||
"pineapple jam": {
|
"pineapple jam": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pineapple jam",
|
"name": "ריבת אננס",
|
||||||
"plural_name": "pineapple jams"
|
"plural_name": "ריבת אננס"
|
||||||
},
|
},
|
||||||
"licorice": {
|
"licorice": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -15125,8 +15125,8 @@
|
||||||
"pineapple juice": {
|
"pineapple juice": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pineapple juice",
|
"name": "מיץ אננס",
|
||||||
"plural_name": "pineapple juices"
|
"plural_name": "מיץ אננס"
|
||||||
},
|
},
|
||||||
"apple juice": {
|
"apple juice": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -15179,8 +15179,8 @@
|
||||||
"coke": {
|
"coke": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "coke",
|
"name": "קולה",
|
||||||
"plural_name": "cokes"
|
"plural_name": "קולה"
|
||||||
},
|
},
|
||||||
"eggnog": {
|
"eggnog": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
|
|
@ -1420,7 +1420,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "bovist",
|
"name": "bovist",
|
||||||
"plural_name": "puffballs"
|
"plural_name": "bovisten"
|
||||||
},
|
},
|
||||||
"honey fungu": {
|
"honey fungu": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1443,8 +1443,8 @@
|
||||||
"lion’s mane mushroom": {
|
"lion’s mane mushroom": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "lion’s mane mushroom",
|
"name": "pruikzwam",
|
||||||
"plural_name": "lion’s mane mushrooms"
|
"plural_name": "pruikzwammen"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1483,8 +1483,8 @@
|
||||||
"blackberry": {
|
"blackberry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "braam",
|
"name": "braambes",
|
||||||
"plural_name": "bramen"
|
"plural_name": "braambessen"
|
||||||
},
|
},
|
||||||
"berry mix": {
|
"berry mix": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1555,20 +1555,20 @@
|
||||||
"canned sour cherry": {
|
"canned sour cherry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "canned sour cherry",
|
"name": "zure kers in blik",
|
||||||
"plural_name": "canned sour cherries"
|
"plural_name": "zure kersen in blik"
|
||||||
},
|
},
|
||||||
"mulberry": {
|
"mulberry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mulberry",
|
"name": "moerbei",
|
||||||
"plural_name": "mulberries"
|
"plural_name": "moerbeien"
|
||||||
},
|
},
|
||||||
"acai berry": {
|
"acai berry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "acai berry",
|
"name": "açai",
|
||||||
"plural_name": "acai berries"
|
"plural_name": "açai"
|
||||||
},
|
},
|
||||||
"canned cherry": {
|
"canned cherry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1609,8 +1609,8 @@
|
||||||
"barberry": {
|
"barberry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "barberry",
|
"name": "zuurbes",
|
||||||
"plural_name": "barberries"
|
"plural_name": "zuurbessen"
|
||||||
},
|
},
|
||||||
"dried berry": {
|
"dried berry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1621,8 +1621,8 @@
|
||||||
"sea buckthorn": {
|
"sea buckthorn": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sea buckthorn",
|
"name": "duindoorn",
|
||||||
"plural_name": "sea buckthorns"
|
"plural_name": "duindoorns"
|
||||||
},
|
},
|
||||||
"saskatoon berry": {
|
"saskatoon berry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1639,7 +1639,7 @@
|
||||||
"hawthorn": {
|
"hawthorn": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "hawthorn",
|
"name": "meidoorn",
|
||||||
"plural_name": "meidoorns"
|
"plural_name": "meidoorns"
|
||||||
},
|
},
|
||||||
"boysenberry": {
|
"boysenberry": {
|
||||||
|
@ -1663,50 +1663,50 @@
|
||||||
"aronia berry": {
|
"aronia berry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "aronia berry",
|
"name": "appelbes",
|
||||||
"plural_name": "aronia berries"
|
"plural_name": "appelbessen"
|
||||||
},
|
},
|
||||||
"chokeberry": {
|
"chokeberry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chokeberry",
|
"name": "appelbes",
|
||||||
"plural_name": "chokeberries"
|
"plural_name": "appelbessen"
|
||||||
},
|
},
|
||||||
"loganberry": {
|
"loganberry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "loganberry",
|
"name": "loganbes",
|
||||||
"plural_name": "loganberries"
|
"plural_name": "loganbessen"
|
||||||
},
|
},
|
||||||
"blackcurrant leaf": {
|
"blackcurrant leaf": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "blackcurrant leaf",
|
"name": "zwarte bes blad",
|
||||||
"plural_name": "blackcurrant leaves"
|
"plural_name": "zwarte bes bladeren"
|
||||||
},
|
},
|
||||||
"haskap berry": {
|
"haskap berry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "haskap berry",
|
"name": "honingbes",
|
||||||
"plural_name": "haskap berries"
|
"plural_name": "honingbessen"
|
||||||
},
|
},
|
||||||
"dewberry": {
|
"dewberry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dewberry",
|
"name": "dauwbraam",
|
||||||
"plural_name": "dewberries"
|
"plural_name": "dauwbramen"
|
||||||
},
|
},
|
||||||
"sloe berry": {
|
"sloe berry": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sloe berry",
|
"name": "sleedoorn",
|
||||||
"plural_name": "sloe berries"
|
"plural_name": "sleedoorns"
|
||||||
},
|
},
|
||||||
"oregon grape": {
|
"oregon grape": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "oregon grape",
|
"name": "mahoniebes",
|
||||||
"plural_name": "oregon grapes"
|
"plural_name": "mahoniebessen"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1805,8 +1805,8 @@
|
||||||
"macadamia": {
|
"macadamia": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "macadamia",
|
"name": "macadamianoot",
|
||||||
"plural_name": "macadamias"
|
"plural_name": "macadamianoten"
|
||||||
},
|
},
|
||||||
"roasted peanut": {
|
"roasted peanut": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1817,8 +1817,8 @@
|
||||||
"chopped nut": {
|
"chopped nut": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chopped nut",
|
"name": "gehakte noot",
|
||||||
"plural_name": "chopped nuts"
|
"plural_name": "gehakte noten"
|
||||||
},
|
},
|
||||||
"hemp heart": {
|
"hemp heart": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1841,8 +1841,8 @@
|
||||||
"brazil nut": {
|
"brazil nut": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "brazil nut",
|
"name": "paranoot",
|
||||||
"plural_name": "brazil nuts"
|
"plural_name": "paranoten"
|
||||||
},
|
},
|
||||||
"mixed seed": {
|
"mixed seed": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1895,14 +1895,14 @@
|
||||||
"basil seed": {
|
"basil seed": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "basil seed",
|
"name": "basilicumzaad",
|
||||||
"plural_name": "basil seeds"
|
"plural_name": "basilicum zaden"
|
||||||
},
|
},
|
||||||
"candlenut": {
|
"candlenut": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "candlenut",
|
"name": "kemirinoot",
|
||||||
"plural_name": "candlenuts"
|
"plural_name": "kemirinoten"
|
||||||
},
|
},
|
||||||
"peanut brittle": {
|
"peanut brittle": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1919,14 +1919,14 @@
|
||||||
"honey-roasted almond": {
|
"honey-roasted almond": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "honey-roasted almond",
|
"name": "geroosterde amandel met honing",
|
||||||
"plural_name": "honey-roasted almonds"
|
"plural_name": "geroosterde amandels met honing"
|
||||||
},
|
},
|
||||||
"toasted nut": {
|
"toasted nut": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "toasted nut",
|
"name": "geroosterde noot",
|
||||||
"plural_name": "toasted nuts"
|
"plural_name": "geroosterde noten"
|
||||||
},
|
},
|
||||||
"chironji": {
|
"chironji": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1937,8 +1937,8 @@
|
||||||
"honey-roasted pecan": {
|
"honey-roasted pecan": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "honey-roasted pecan",
|
"name": "geroosterde pecannoot met honing",
|
||||||
"plural_name": "honey-roasted pecans"
|
"plural_name": "geroosterde pecannoten met honing"
|
||||||
},
|
},
|
||||||
"tigernut": {
|
"tigernut": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -1961,8 +1961,8 @@
|
||||||
"palm seed": {
|
"palm seed": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "palm seed",
|
"name": "palmzaad",
|
||||||
"plural_name": "palm seeds"
|
"plural_name": "palmzaden"
|
||||||
},
|
},
|
||||||
"ginkgo nut": {
|
"ginkgo nut": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2001,16 +2001,16 @@
|
||||||
"parmesan": {
|
"parmesan": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "parmesan",
|
"name": "parmezaan",
|
||||||
"plural_name": "parmesans"
|
"plural_name": "parmezaan"
|
||||||
},
|
},
|
||||||
"cheddar cheese": {
|
"cheddar cheese": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
"cheddars"
|
"cheddars"
|
||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cheddar kaas",
|
"name": "cheddar",
|
||||||
"plural_name": "cheddar kazen"
|
"plural_name": "cheddars"
|
||||||
},
|
},
|
||||||
"cream cheese": {
|
"cream cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2063,8 +2063,8 @@
|
||||||
"blue cheese": {
|
"blue cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "blue cheese",
|
"name": "blauwe kaas",
|
||||||
"plural_name": "blue cheeses"
|
"plural_name": "blauwe kazen"
|
||||||
},
|
},
|
||||||
"goat cheese": {
|
"goat cheese": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2088,13 +2088,13 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pecorino",
|
"name": "pecorino",
|
||||||
"plural_name": "pecorinoes"
|
"plural_name": "pecorino's"
|
||||||
},
|
},
|
||||||
"gruyere": {
|
"gruyere": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "gruyere",
|
"name": "gruyère",
|
||||||
"plural_name": "gruyeres"
|
"plural_name": "gruyères"
|
||||||
},
|
},
|
||||||
"mascarpone": {
|
"mascarpone": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2159,8 +2159,8 @@
|
||||||
"quark": {
|
"quark": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "quark",
|
"name": "kwark",
|
||||||
"plural_name": "quarks"
|
"plural_name": "kwarken"
|
||||||
},
|
},
|
||||||
"gouda": {
|
"gouda": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2190,7 +2190,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "halloumi",
|
"name": "halloumi",
|
||||||
"plural_name": "halloumis"
|
"plural_name": "halloumi's"
|
||||||
},
|
},
|
||||||
"chevre": {
|
"chevre": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2226,7 +2226,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "burrata",
|
"name": "burrata",
|
||||||
"plural_name": "burratas"
|
"plural_name": "burrata's"
|
||||||
},
|
},
|
||||||
"havarti": {
|
"havarti": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2243,8 +2243,8 @@
|
||||||
"grana-padano": {
|
"grana-padano": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "grana-padano",
|
"name": "grana padano",
|
||||||
"plural_name": "grana-padanoes"
|
"plural_name": "grana padano's"
|
||||||
},
|
},
|
||||||
"muenster": {
|
"muenster": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2328,7 +2328,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "kaaspoeder",
|
"name": "kaaspoeder",
|
||||||
"plural_name": "cheese powders"
|
"plural_name": "kaaspoeders"
|
||||||
},
|
},
|
||||||
"fromage blanc": {
|
"fromage blanc": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2406,7 +2406,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "comté",
|
"name": "comté",
|
||||||
"plural_name": "comtés"
|
"plural_name": "comté's"
|
||||||
},
|
},
|
||||||
"graviera": {
|
"graviera": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2424,7 +2424,7 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "scamorza",
|
"name": "scamorza",
|
||||||
"plural_name": "scamorzas"
|
"plural_name": "scamorza's"
|
||||||
},
|
},
|
||||||
"cambozola": {
|
"cambozola": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2613,20 +2613,20 @@
|
||||||
"butter": {
|
"butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "butter",
|
"name": "boter",
|
||||||
"plural_name": "butter"
|
"plural_name": "boters"
|
||||||
},
|
},
|
||||||
"egg": {
|
"egg": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "egg",
|
"name": "ei",
|
||||||
"plural_name": "eggs"
|
"plural_name": "eieren"
|
||||||
},
|
},
|
||||||
"milk": {
|
"milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "milk",
|
"name": "melk",
|
||||||
"plural_name": "milks"
|
"plural_name": "melk"
|
||||||
},
|
},
|
||||||
"heavy cream": {
|
"heavy cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2637,8 +2637,8 @@
|
||||||
"sour cream": {
|
"sour cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sour cream",
|
"name": "zure room",
|
||||||
"plural_name": "sour creams"
|
"plural_name": "zure room"
|
||||||
},
|
},
|
||||||
"buttermilk": {
|
"buttermilk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2649,26 +2649,26 @@
|
||||||
"yogurt": {
|
"yogurt": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "yogurt",
|
"name": "yoghurt",
|
||||||
"plural_name": "yogurts"
|
"plural_name": "yoghurts"
|
||||||
},
|
},
|
||||||
"greek yogurt": {
|
"greek yogurt": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "greek yogurt",
|
"name": "griekse yoghurt",
|
||||||
"plural_name": "greek yogurts"
|
"plural_name": "griekse yoghurts"
|
||||||
},
|
},
|
||||||
"cream": {
|
"cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cream",
|
"name": "room",
|
||||||
"plural_name": "creams"
|
"plural_name": "room"
|
||||||
},
|
},
|
||||||
"whipped cream": {
|
"whipped cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "whipped cream",
|
"name": "slagroom",
|
||||||
"plural_name": "whipped creams"
|
"plural_name": "slagroom"
|
||||||
},
|
},
|
||||||
"ghee": {
|
"ghee": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
|
@ -2687,8 +2687,8 @@
|
||||||
"condensed milk": {
|
"condensed milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "condensed milk",
|
"name": "gecondenseerde melk",
|
||||||
"plural_name": "condensed milks"
|
"plural_name": "gecondenseerde melk"
|
||||||
},
|
},
|
||||||
"half and half": {
|
"half and half": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2705,8 +2705,8 @@
|
||||||
"ice cream": {
|
"ice cream": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "ice cream",
|
"name": "roomijs",
|
||||||
"plural_name": "ice creams"
|
"plural_name": "roomijsjes"
|
||||||
},
|
},
|
||||||
"margarine": {
|
"margarine": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2717,20 +2717,20 @@
|
||||||
"creme fraiche": {
|
"creme fraiche": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "creme fraiche",
|
"name": "crème fraîche",
|
||||||
"plural_name": "creme fraiches"
|
"plural_name": "crème fraîches"
|
||||||
},
|
},
|
||||||
"frosting": {
|
"frosting": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "frosting",
|
"name": "glazuur",
|
||||||
"plural_name": "frostings"
|
"plural_name": "glazuren"
|
||||||
},
|
},
|
||||||
"milk powder": {
|
"milk powder": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "milk powder",
|
"name": "melkpoeder",
|
||||||
"plural_name": "milk powders"
|
"plural_name": "melkpoeders"
|
||||||
},
|
},
|
||||||
"curd": {
|
"curd": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2765,8 +2765,8 @@
|
||||||
"chocolate frosting": {
|
"chocolate frosting": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chocolate frosting",
|
"name": "chocolade glazuur",
|
||||||
"plural_name": "chocolate frostings"
|
"plural_name": "chocolade glazuren"
|
||||||
},
|
},
|
||||||
"kefir": {
|
"kefir": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2783,8 +2783,8 @@
|
||||||
"chocolate milk": {
|
"chocolate milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chocolate milk",
|
"name": "chocolade melk",
|
||||||
"plural_name": "chocolate milks"
|
"plural_name": "chocolade melk"
|
||||||
},
|
},
|
||||||
"liquid egg substitute": {
|
"liquid egg substitute": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2849,8 +2849,8 @@
|
||||||
"goat milk": {
|
"goat milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "goat milk",
|
"name": "geitenmelk",
|
||||||
"plural_name": "goat milks"
|
"plural_name": "geitenmelk"
|
||||||
},
|
},
|
||||||
"cheese curd": {
|
"cheese curd": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2861,8 +2861,8 @@
|
||||||
"sour milk": {
|
"sour milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sour milk",
|
"name": "zure melk",
|
||||||
"plural_name": "sour milks"
|
"plural_name": "zure melk"
|
||||||
},
|
},
|
||||||
"ganache": {
|
"ganache": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -2879,14 +2879,14 @@
|
||||||
"duck egg": {
|
"duck egg": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "duck egg",
|
"name": "eendenei",
|
||||||
"plural_name": "duck eggs"
|
"plural_name": "eendeneieren"
|
||||||
},
|
},
|
||||||
"salted egg": {
|
"salted egg": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "salted egg",
|
"name": "gezout ei",
|
||||||
"plural_name": "salted eggs"
|
"plural_name": "gezoute eieren"
|
||||||
},
|
},
|
||||||
"skyr": {
|
"skyr": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3077,8 +3077,8 @@
|
||||||
"sheep milk": {
|
"sheep milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sheep milk",
|
"name": "schapenmelk",
|
||||||
"plural_name": "sheep milks"
|
"plural_name": "schapenmelk"
|
||||||
},
|
},
|
||||||
"starter culture": {
|
"starter culture": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3095,8 +3095,8 @@
|
||||||
"ostrich egg": {
|
"ostrich egg": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "ostrich egg",
|
"name": "struisvogelei",
|
||||||
"plural_name": "ostrich eggs"
|
"plural_name": "struisvogeleieren"
|
||||||
},
|
},
|
||||||
"vanilla milk": {
|
"vanilla milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3135,14 +3135,14 @@
|
||||||
"coconut milk": {
|
"coconut milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "coconut milk",
|
"name": "kokosmelk",
|
||||||
"plural_name": "coconut milks"
|
"plural_name": "kokosmelk"
|
||||||
},
|
},
|
||||||
"almond milk": {
|
"almond milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "almond milk",
|
"name": "amandelmelk",
|
||||||
"plural_name": "almond milks"
|
"plural_name": "amandelmelk"
|
||||||
},
|
},
|
||||||
"almond butter": {
|
"almond butter": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -3177,8 +3177,8 @@
|
||||||
"soy milk": {
|
"soy milk": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "soy milk",
|
"name": "sojamelk",
|
||||||
"plural_name": "soy milks"
|
"plural_name": "sojamelk"
|
||||||
},
|
},
|
||||||
"extra firm tofu": {
|
"extra firm tofu": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
|
|
@ -4,313 +4,313 @@
|
||||||
"garlic": {
|
"garlic": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "garlic",
|
"name": "чеснок",
|
||||||
"plural_name": "garlics"
|
"plural_name": "чеснока"
|
||||||
},
|
},
|
||||||
"onion": {
|
"onion": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "onion",
|
"name": "лук",
|
||||||
"plural_name": "onions"
|
"plural_name": "лука"
|
||||||
},
|
},
|
||||||
"bell pepper": {
|
"bell pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "bell pepper",
|
"name": "болгарский перец",
|
||||||
"plural_name": "bell peppers"
|
"plural_name": "болгарских перца"
|
||||||
},
|
},
|
||||||
"carrot": {
|
"carrot": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "carrot",
|
"name": "морковь",
|
||||||
"plural_name": "carrots"
|
"plural_name": "моркови"
|
||||||
},
|
},
|
||||||
"scallion": {
|
"scallion": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "scallion",
|
"name": "зелёный лук",
|
||||||
"plural_name": "scallions"
|
"plural_name": "зелёного лука"
|
||||||
},
|
},
|
||||||
"zucchini": {
|
"zucchini": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "цукини",
|
"name": "цукини",
|
||||||
"plural_name": "zucchinis"
|
"plural_name": "цукини"
|
||||||
},
|
},
|
||||||
"potato": {
|
"potato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "potato",
|
"name": "картофель",
|
||||||
"plural_name": "potatoes"
|
"plural_name": "картофеля"
|
||||||
},
|
},
|
||||||
"red onion": {
|
"red onion": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "red onion",
|
"name": "красный лук",
|
||||||
"plural_name": "red onions"
|
"plural_name": "красного лука"
|
||||||
},
|
},
|
||||||
"yellow onion": {
|
"yellow onion": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "yellow onion",
|
"name": "жёлтый лук",
|
||||||
"plural_name": "yellow onions"
|
"plural_name": "жёлтого лука"
|
||||||
},
|
},
|
||||||
"celery": {
|
"celery": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "celery",
|
"name": "сельдерей",
|
||||||
"plural_name": "celeries"
|
"plural_name": "сельдерея"
|
||||||
},
|
},
|
||||||
"jalapeno": {
|
"jalapeno": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "jalapeno",
|
"name": "халапеньо",
|
||||||
"plural_name": "jalapenoes"
|
"plural_name": "халапеньо"
|
||||||
},
|
},
|
||||||
"avocado": {
|
"avocado": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "avocado",
|
"name": "авокадо",
|
||||||
"plural_name": "avocados"
|
"plural_name": "авокадо"
|
||||||
},
|
},
|
||||||
"shallot": {
|
"shallot": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "shallot",
|
"name": "шалот",
|
||||||
"plural_name": "shallots"
|
"plural_name": "шалот"
|
||||||
},
|
},
|
||||||
"cherry tomato": {
|
"cherry tomato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cherry tomato",
|
"name": "помидор Черри",
|
||||||
"plural_name": "cherry tomatoes"
|
"plural_name": "помидоры Черри"
|
||||||
},
|
},
|
||||||
"cucumber": {
|
"cucumber": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cucumber",
|
"name": "огурец",
|
||||||
"plural_name": "cucumbers"
|
"plural_name": "огурцы"
|
||||||
},
|
},
|
||||||
"spinach": {
|
"spinach": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "spinach",
|
"name": "шпинат",
|
||||||
"plural_name": "spinaches"
|
"plural_name": "шпинат"
|
||||||
},
|
},
|
||||||
"sweet corn": {
|
"sweet corn": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sweet corn",
|
"name": "сладкая кукуруза",
|
||||||
"plural_name": "sweet corns"
|
"plural_name": "сладкая кукуруза"
|
||||||
},
|
},
|
||||||
"chile pepper": {
|
"chile pepper": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
"capsicum"
|
"стручковый перец"
|
||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chile pepper",
|
"name": "перец чили",
|
||||||
"plural_name": "chile peppers"
|
"plural_name": "перца чили"
|
||||||
},
|
},
|
||||||
"sweet potato": {
|
"sweet potato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sweet potato",
|
"name": "батат",
|
||||||
"plural_name": "sweet potatoes"
|
"plural_name": "батат"
|
||||||
},
|
},
|
||||||
"broccoli": {
|
"broccoli": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "broccoli",
|
"name": "брокколи",
|
||||||
"plural_name": "broccolis"
|
"plural_name": "брокколи"
|
||||||
},
|
},
|
||||||
"heart of palm": {
|
"heart of palm": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "heart of palm",
|
"name": "сердце пальмы",
|
||||||
"plural_name": "heart of palms"
|
"plural_name": "сердец пальмы"
|
||||||
},
|
},
|
||||||
"baby green": {
|
"baby green": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "baby green",
|
"name": "молодая зелень",
|
||||||
"plural_name": "baby greens"
|
"plural_name": "молодая зелень"
|
||||||
},
|
},
|
||||||
"pumpkin": {
|
"pumpkin": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pumpkin",
|
"name": "тыква",
|
||||||
"plural_name": "pumpkins"
|
"plural_name": "тыквы"
|
||||||
},
|
},
|
||||||
"cauliflower": {
|
"cauliflower": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cauliflower",
|
"name": "цветная капуста",
|
||||||
"plural_name": "cauliflowers"
|
"plural_name": "цветной капусты"
|
||||||
},
|
},
|
||||||
"cabbage": {
|
"cabbage": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cabbage",
|
"name": "капуста",
|
||||||
"plural_name": "cabbages"
|
"plural_name": "капуста"
|
||||||
},
|
},
|
||||||
"asparagu": {
|
"asparagu": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "asparagu",
|
"name": "спаржа",
|
||||||
"plural_name": "asparagus"
|
"plural_name": "спаржа"
|
||||||
},
|
},
|
||||||
"kale": {
|
"kale": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "kale",
|
"name": "кудрявая капуста",
|
||||||
"plural_name": "kales"
|
"plural_name": "кудрявая капуста"
|
||||||
},
|
},
|
||||||
"arugula": {
|
"arugula": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "arugula",
|
"name": "руккола",
|
||||||
"plural_name": "arugulas"
|
"plural_name": "руккола"
|
||||||
},
|
},
|
||||||
"leek": {
|
"leek": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "leek",
|
"name": "лук-порей",
|
||||||
"plural_name": "leeks"
|
"plural_name": "лук-порей"
|
||||||
},
|
},
|
||||||
"eggplant": {
|
"eggplant": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "eggplant",
|
"name": "баклажан",
|
||||||
"plural_name": "eggplants"
|
"plural_name": "баклажаны"
|
||||||
},
|
},
|
||||||
"lettuce": {
|
"lettuce": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "lettuce",
|
"name": "салат - латук",
|
||||||
"plural_name": "lettuces"
|
"plural_name": "салат - латук"
|
||||||
},
|
},
|
||||||
"butternut squash": {
|
"butternut squash": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "butternut squash",
|
"name": "мускатная тыква",
|
||||||
"plural_name": "butternut squashes"
|
"plural_name": "мускатная тыква"
|
||||||
},
|
},
|
||||||
"romaine": {
|
"romaine": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "romaine",
|
"name": "римский салат",
|
||||||
"plural_name": "romaines"
|
"plural_name": "римский салат"
|
||||||
},
|
},
|
||||||
"beetroot": {
|
"beetroot": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "beetroot",
|
"name": "свёкла",
|
||||||
"plural_name": "beetroots"
|
"plural_name": "свёклы"
|
||||||
},
|
},
|
||||||
"brussels sprout": {
|
"brussels sprout": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "brussels sprout",
|
"name": "брюссельская капуста",
|
||||||
"plural_name": "brussels sprouts"
|
"plural_name": "брюссельская капуста"
|
||||||
},
|
},
|
||||||
"fennel": {
|
"fennel": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "fennel",
|
"name": "фенхель",
|
||||||
"plural_name": "fennels"
|
"plural_name": "фенхель"
|
||||||
},
|
},
|
||||||
"sun dried tomato": {
|
"sun dried tomato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sun dried tomato",
|
"name": "вяленый помидор",
|
||||||
"plural_name": "sun dried tomatoes"
|
"plural_name": "вяленые помидоры"
|
||||||
},
|
},
|
||||||
"radish": {
|
"radish": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "radish",
|
"name": "редис",
|
||||||
"plural_name": "radishes"
|
"plural_name": "редис"
|
||||||
},
|
},
|
||||||
"red cabbage": {
|
"red cabbage": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "red cabbage",
|
"name": "красная капуста",
|
||||||
"plural_name": "red cabbages"
|
"plural_name": "красная капуста"
|
||||||
},
|
},
|
||||||
"artichoke": {
|
"artichoke": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "artichoke",
|
"name": "артишок",
|
||||||
"plural_name": "artichokes"
|
"plural_name": "артишоки"
|
||||||
},
|
},
|
||||||
"new potato": {
|
"new potato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "new potato",
|
"name": "молодой картофель",
|
||||||
"plural_name": "new potatoes"
|
"plural_name": "молодой картофель"
|
||||||
},
|
},
|
||||||
"summer squash": {
|
"summer squash": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
"courgette",
|
"кабачок",
|
||||||
"gem squash"
|
"гем-сквош"
|
||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "summer squash",
|
"name": "молодой кабачок",
|
||||||
"plural_name": "summer squashes"
|
"plural_name": "молодой кабачок"
|
||||||
},
|
},
|
||||||
"mixed green": {
|
"mixed green": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mixed green",
|
"name": "смешанная зелень",
|
||||||
"plural_name": "mixed greens"
|
"plural_name": "смешанная зелень"
|
||||||
},
|
},
|
||||||
"parsnip": {
|
"parsnip": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "parsnip",
|
"name": "пастернак",
|
||||||
"plural_name": "parsnips"
|
"plural_name": "пастернаки"
|
||||||
},
|
},
|
||||||
"baby carrot": {
|
"baby carrot": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "baby carrot",
|
"name": "беби-морковь",
|
||||||
"plural_name": "baby carrots"
|
"plural_name": "беби-морковь"
|
||||||
},
|
},
|
||||||
"mixed vegetable": {
|
"mixed vegetable": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mixed vegetable",
|
"name": "овощная смесь",
|
||||||
"plural_name": "mixed vegetables"
|
"plural_name": "овощная смесь"
|
||||||
},
|
},
|
||||||
"poblano pepper": {
|
"poblano pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "poblano pepper",
|
"name": "перец поблано",
|
||||||
"plural_name": "poblano peppers"
|
"plural_name": "перец поблано"
|
||||||
},
|
},
|
||||||
"sweet pepper": {
|
"sweet pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sweet pepper",
|
"name": "сладкий перец",
|
||||||
"plural_name": "sweet peppers"
|
"plural_name": "сладкие перцы"
|
||||||
},
|
},
|
||||||
"serrano pepper": {
|
"serrano pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "serrano pepper",
|
"name": "перец серрано",
|
||||||
"plural_name": "serrano peppers"
|
"plural_name": "перец серрано"
|
||||||
},
|
},
|
||||||
"cayenne pepper": {
|
"cayenne pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cayenne pepper",
|
"name": "кайенский перец",
|
||||||
"plural_name": "cayenne peppers"
|
"plural_name": "кайенский перец"
|
||||||
},
|
},
|
||||||
"green tomato": {
|
"green tomato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "green tomato",
|
"name": "зелёный томат",
|
||||||
"plural_name": "green tomatoes"
|
"plural_name": "зелёные томаты"
|
||||||
},
|
},
|
||||||
"watercress": {
|
"watercress": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -321,76 +321,76 @@
|
||||||
"iceberg": {
|
"iceberg": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "iceberg",
|
"name": "салат айсберг",
|
||||||
"plural_name": "icebergs"
|
"plural_name": "салат айсберг"
|
||||||
},
|
},
|
||||||
"mashed potato": {
|
"mashed potato": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mashed potato",
|
"name": "картофельное пюре",
|
||||||
"plural_name": "mashed potatoes"
|
"plural_name": "картофельное пюре"
|
||||||
},
|
},
|
||||||
"horseradish": {
|
"horseradish": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "horseradish",
|
"name": "хрен",
|
||||||
"plural_name": "horseradishes"
|
"plural_name": "хрен"
|
||||||
},
|
},
|
||||||
"chard": {
|
"chard": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chard",
|
"name": "мангольд",
|
||||||
"plural_name": "chards"
|
"plural_name": "мангольд"
|
||||||
},
|
},
|
||||||
"pimiento": {
|
"pimiento": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pimiento",
|
"name": "пимиенто",
|
||||||
"plural_name": "pimientoes"
|
"plural_name": "пимиенто"
|
||||||
},
|
},
|
||||||
"spaghetti squash": {
|
"spaghetti squash": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "spaghetti squash",
|
"name": "тыква-спагетти",
|
||||||
"plural_name": "spaghetti squashes"
|
"plural_name": "тыква-спагетти"
|
||||||
},
|
},
|
||||||
"butter lettuce": {
|
"butter lettuce": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "butter lettuce",
|
"name": "баттерхед",
|
||||||
"plural_name": "butter lettuces"
|
"plural_name": "баттерхед"
|
||||||
},
|
},
|
||||||
"hash brown": {
|
"hash brown": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "hash brown",
|
"name": "хашбраун",
|
||||||
"plural_name": "hash browns"
|
"plural_name": "хашбраун"
|
||||||
},
|
},
|
||||||
"napa cabbage": {
|
"napa cabbage": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
"chinese leaves"
|
"китайские листья"
|
||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "napa cabbage",
|
"name": "пекинская капуста",
|
||||||
"plural_name": "napa cabbages"
|
"plural_name": "пекинская капуста"
|
||||||
},
|
},
|
||||||
"celeriac": {
|
"celeriac": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "celeriac",
|
"name": "корень сельдерея",
|
||||||
"plural_name": "celeriacs"
|
"plural_name": "корень сельдерея"
|
||||||
},
|
},
|
||||||
"water chestnut": {
|
"water chestnut": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "water chestnut",
|
"name": "болотница сладкая",
|
||||||
"plural_name": "water chestnuts"
|
"plural_name": "болотница сладкая"
|
||||||
},
|
},
|
||||||
"turnip": {
|
"turnip": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "turnip",
|
"name": "репа",
|
||||||
"plural_name": "turnips"
|
"plural_name": "репа"
|
||||||
},
|
},
|
||||||
"thai chile pepper": {
|
"thai chile pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -450,153 +450,153 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "leaf lettuce",
|
"name": "leaf lettuce",
|
||||||
"plural_name": "leaf lettuces"
|
"plural_name": "листовой салат"
|
||||||
},
|
},
|
||||||
"pepperoncini": {
|
"pepperoncini": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "pepperoncini",
|
"name": "пеперончини",
|
||||||
"plural_name": "pepperoncinis"
|
"plural_name": "пеперончини"
|
||||||
},
|
},
|
||||||
"baby bok choy": {
|
"baby bok choy": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "baby bok choy",
|
"name": "молодой бок‑чой",
|
||||||
"plural_name": "baby bok choys"
|
"plural_name": "молодой бок‑чой"
|
||||||
},
|
},
|
||||||
"jicama": {
|
"jicama": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "jicama",
|
"name": "хикама",
|
||||||
"plural_name": "jicamas"
|
"plural_name": "хикама"
|
||||||
},
|
},
|
||||||
"endive": {
|
"endive": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "endive",
|
"name": "эндивий(цикорий-салатный)",
|
||||||
"plural_name": "endives"
|
"plural_name": "эндивий(цикорий-салатный)"
|
||||||
},
|
},
|
||||||
"habanero pepper": {
|
"habanero pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "habanero pepper",
|
"name": "перец хабанеро",
|
||||||
"plural_name": "habanero peppers"
|
"plural_name": "перец хабанеро"
|
||||||
},
|
},
|
||||||
"corn husk": {
|
"corn husk": {
|
||||||
"aliases": [
|
"aliases": [
|
||||||
"maize"
|
"кукуруза"
|
||||||
],
|
],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "corn husk",
|
"name": "кукурузная шелуха",
|
||||||
"plural_name": "corn husks"
|
"plural_name": "кукурузная шелуха"
|
||||||
},
|
},
|
||||||
"collard green": {
|
"collard green": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "collard green",
|
"name": "листовая капуста",
|
||||||
"plural_name": "collard greens"
|
"plural_name": "листовая капуста"
|
||||||
},
|
},
|
||||||
"french-fried onion": {
|
"french-fried onion": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "french-fried onion",
|
"name": "хрустящий жареный лук",
|
||||||
"plural_name": "french-fried onions"
|
"plural_name": "хрустящий жареный лук"
|
||||||
},
|
},
|
||||||
"daikon": {
|
"daikon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "daikon",
|
"name": "дайкон",
|
||||||
"plural_name": "daikons"
|
"plural_name": "дайкон"
|
||||||
},
|
},
|
||||||
"baby corn": {
|
"baby corn": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "baby corn",
|
"name": "молодая кукуруза",
|
||||||
"plural_name": "baby corns"
|
"plural_name": "молодая кукуруза"
|
||||||
},
|
},
|
||||||
"broccoli rabe": {
|
"broccoli rabe": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "broccoli rabe",
|
"name": "рапини",
|
||||||
"plural_name": "broccoli rabes"
|
"plural_name": "рапини"
|
||||||
},
|
},
|
||||||
"rutabaga": {
|
"rutabaga": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "rutabaga",
|
"name": "брюква",
|
||||||
"plural_name": "rutabagas"
|
"plural_name": "брюква"
|
||||||
},
|
},
|
||||||
"belgian endive": {
|
"belgian endive": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "belgian endive",
|
"name": "витлуф",
|
||||||
"plural_name": "belgian endives"
|
"plural_name": "витлуф"
|
||||||
},
|
},
|
||||||
"yam": {
|
"yam": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "yam",
|
"name": "ямс",
|
||||||
"plural_name": "yams"
|
"plural_name": "ямс"
|
||||||
},
|
},
|
||||||
"ancho chile pepper": {
|
"ancho chile pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "ancho chile pepper",
|
"name": "перец анчо",
|
||||||
"plural_name": "ancho chile peppers"
|
"plural_name": "перец анчо"
|
||||||
},
|
},
|
||||||
"microgreen": {
|
"microgreen": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "microgreen",
|
"name": "микрозелень",
|
||||||
"plural_name": "microgreens"
|
"plural_name": "микрозелень"
|
||||||
},
|
},
|
||||||
"boston lettuce": {
|
"boston lettuce": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "boston lettuce",
|
"name": "салат Бостон",
|
||||||
"plural_name": "boston lettuces"
|
"plural_name": "салат Бостон"
|
||||||
},
|
},
|
||||||
"kohlrabi": {
|
"kohlrabi": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "kohlrabi",
|
"name": "кольраби",
|
||||||
"plural_name": "kohlrabis"
|
"plural_name": "кольраби"
|
||||||
},
|
},
|
||||||
"fresno chile": {
|
"fresno chile": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "fresno chile",
|
"name": "чили Фресно",
|
||||||
"plural_name": "fresno chiles"
|
"plural_name": "чили Фресно"
|
||||||
},
|
},
|
||||||
"delicata squash": {
|
"delicata squash": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "delicata squash",
|
"name": "деликатная тыква",
|
||||||
"plural_name": "delicata squashes"
|
"plural_name": "деликатная тыква"
|
||||||
},
|
},
|
||||||
"frisee": {
|
"frisee": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "frisee",
|
"name": "фрисе",
|
||||||
"plural_name": "frisees"
|
"plural_name": "фрисе"
|
||||||
},
|
},
|
||||||
"anaheim pepper": {
|
"anaheim pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "anaheim pepper",
|
"name": "перец анахайм",
|
||||||
"plural_name": "anaheim peppers"
|
"plural_name": "перец анахайм"
|
||||||
},
|
},
|
||||||
"cres": {
|
"cres": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cres",
|
"name": "кресс-салат",
|
||||||
"plural_name": "cress"
|
"plural_name": "кресс-салат"
|
||||||
},
|
},
|
||||||
"broccoli slaw": {
|
"broccoli slaw": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "broccoli slaw",
|
"name": "брокколи слоу",
|
||||||
"plural_name": "broccoli slaws"
|
"plural_name": "брокколи слоу"
|
||||||
},
|
},
|
||||||
"arbol chile pepper": {
|
"arbol chile pepper": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
@ -750,156 +750,156 @@
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "grapefruit",
|
"name": "grapefruit",
|
||||||
"plural_name": "grapefruits"
|
"plural_name": "грейпфрут"
|
||||||
},
|
},
|
||||||
"plum": {
|
"plum": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "plum",
|
"name": "слива",
|
||||||
"plural_name": "plums"
|
"plural_name": "сливы"
|
||||||
},
|
},
|
||||||
"fig": {
|
"fig": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "fig",
|
"name": "инжир",
|
||||||
"plural_name": "figs"
|
"plural_name": "инжир"
|
||||||
},
|
},
|
||||||
"apricot": {
|
"apricot": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "apricot",
|
"name": "абрикос",
|
||||||
"plural_name": "apricots"
|
"plural_name": "абрикосы"
|
||||||
},
|
},
|
||||||
"currant": {
|
"currant": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "currant",
|
"name": "смородина",
|
||||||
"plural_name": "currants"
|
"plural_name": "смородина"
|
||||||
},
|
},
|
||||||
"mandarin": {
|
"mandarin": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "mandarin",
|
"name": "мандарин",
|
||||||
"plural_name": "mandarins"
|
"plural_name": "мандарины"
|
||||||
},
|
},
|
||||||
"prune": {
|
"prune": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "prune",
|
"name": "чернослив",
|
||||||
"plural_name": "prunes"
|
"plural_name": "чернослив"
|
||||||
},
|
},
|
||||||
"cantaloupe": {
|
"cantaloupe": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "cantaloupe",
|
"name": "канталупа",
|
||||||
"plural_name": "cantaloupes"
|
"plural_name": "канталупа"
|
||||||
},
|
},
|
||||||
"sultana": {
|
"sultana": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "sultana",
|
"name": "кишмиш Султанина",
|
||||||
"plural_name": "sultanas"
|
"plural_name": "кишмиш Султанина"
|
||||||
},
|
},
|
||||||
"passion fruit": {
|
"passion fruit": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "passion fruit",
|
"name": "маракуйя",
|
||||||
"plural_name": "passion fruits"
|
"plural_name": "маракуйя"
|
||||||
},
|
},
|
||||||
"papaya": {
|
"papaya": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "papaya",
|
"name": "папайя",
|
||||||
"plural_name": "papayas"
|
"plural_name": "папайя"
|
||||||
},
|
},
|
||||||
"tamarind": {
|
"tamarind": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "tamarind",
|
"name": "тамаринд",
|
||||||
"plural_name": "tamarinds"
|
"plural_name": "тамаринд"
|
||||||
},
|
},
|
||||||
"nectarine": {
|
"nectarine": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "nectarine",
|
"name": "нектарин",
|
||||||
"plural_name": "nectarines"
|
"plural_name": "нектарины"
|
||||||
},
|
},
|
||||||
"dried fig": {
|
"dried fig": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried fig",
|
"name": "сушёный инжир",
|
||||||
"plural_name": "dried figs"
|
"plural_name": "сушёный инжир"
|
||||||
},
|
},
|
||||||
"chestnut": {
|
"chestnut": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "chestnut",
|
"name": "каштан",
|
||||||
"plural_name": "chestnuts"
|
"plural_name": "каштаны"
|
||||||
},
|
},
|
||||||
"meyer lemon": {
|
"meyer lemon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "meyer lemon",
|
"name": "мейер лимон",
|
||||||
"plural_name": "meyer lemons"
|
"plural_name": "мейер лимоны"
|
||||||
},
|
},
|
||||||
"honeydew melon": {
|
"honeydew melon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "honeydew melon",
|
"name": "медовая дыня",
|
||||||
"plural_name": "honeydew melons"
|
"plural_name": "медовые дыни"
|
||||||
},
|
},
|
||||||
"dried fruit": {
|
"dried fruit": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried fruit",
|
"name": "сухофрукт",
|
||||||
"plural_name": "dried fruits"
|
"plural_name": "сухофрукты"
|
||||||
},
|
},
|
||||||
"clementine": {
|
"clementine": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "clementine",
|
"name": "клементин",
|
||||||
"plural_name": "clementines"
|
"plural_name": "клементин"
|
||||||
},
|
},
|
||||||
"persimmon": {
|
"persimmon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "persimmon",
|
"name": "хурма персимон",
|
||||||
"plural_name": "persimmons"
|
"plural_name": "хурма персимон"
|
||||||
},
|
},
|
||||||
"melon": {
|
"melon": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "melon",
|
"name": "дыня",
|
||||||
"plural_name": "melons"
|
"plural_name": "дыни"
|
||||||
},
|
},
|
||||||
"tangerine": {
|
"tangerine": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "tangerine",
|
"name": "танжерин",
|
||||||
"plural_name": "tangerines"
|
"plural_name": "танжерины"
|
||||||
},
|
},
|
||||||
"dried mango": {
|
"dried mango": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried mango",
|
"name": "сушёное манго",
|
||||||
"plural_name": "dried mangoes"
|
"plural_name": "сушёное манго"
|
||||||
},
|
},
|
||||||
"dried apple": {
|
"dried apple": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "dried apple",
|
"name": "сушёное яблоко",
|
||||||
"plural_name": "dried apples"
|
"plural_name": "сушёные яблоки"
|
||||||
},
|
},
|
||||||
"quince": {
|
"quince": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "quince",
|
"name": "айва",
|
||||||
"plural_name": "quinces"
|
"plural_name": "айва"
|
||||||
},
|
},
|
||||||
"guava": {
|
"guava": {
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
"name": "guava",
|
"name": "гуава",
|
||||||
"plural_name": "guavas"
|
"plural_name": "guavas"
|
||||||
},
|
},
|
||||||
"banana chip": {
|
"banana chip": {
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
|
import html
|
||||||
import json
|
import json
|
||||||
import pathlib
|
import pathlib
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
|
from typing import Any
|
||||||
|
|
||||||
from bs4 import BeautifulSoup
|
from bs4 import BeautifulSoup
|
||||||
from fastapi import Depends, FastAPI, Response
|
from fastapi import Depends, FastAPI, Response
|
||||||
|
@ -24,6 +26,9 @@ class MetaTag:
|
||||||
property_name: str
|
property_name: str
|
||||||
content: str
|
content: str
|
||||||
|
|
||||||
|
def __post_init__(self):
|
||||||
|
self.content = escape(self.content) # escape HTML to prevent XSS attacks
|
||||||
|
|
||||||
|
|
||||||
class SPAStaticFiles(StaticFiles):
|
class SPAStaticFiles(StaticFiles):
|
||||||
async def get_response(self, path: str, scope):
|
async def get_response(self, path: str, scope):
|
||||||
|
@ -42,6 +47,17 @@ __app_settings = get_app_settings()
|
||||||
__contents = ""
|
__contents = ""
|
||||||
|
|
||||||
|
|
||||||
|
def escape(content: Any) -> Any:
|
||||||
|
if isinstance(content, str):
|
||||||
|
return html.escape(content)
|
||||||
|
elif isinstance(content, list | tuple | set):
|
||||||
|
return [escape(item) for item in content]
|
||||||
|
elif isinstance(content, dict):
|
||||||
|
return {escape(k): escape(v) for k, v in content.items()}
|
||||||
|
else:
|
||||||
|
return content
|
||||||
|
|
||||||
|
|
||||||
def inject_meta(contents: str, tags: list[MetaTag]) -> str:
|
def inject_meta(contents: str, tags: list[MetaTag]) -> str:
|
||||||
soup = BeautifulSoup(contents, "lxml")
|
soup = BeautifulSoup(contents, "lxml")
|
||||||
scraped_meta_tags = soup.find_all("meta")
|
scraped_meta_tags = soup.find_all("meta")
|
||||||
|
@ -80,15 +96,13 @@ def content_with_meta(group_slug: str, recipe: Recipe) -> str:
|
||||||
# Inject meta tags
|
# Inject meta tags
|
||||||
recipe_url = f"{__app_settings.BASE_URL}/g/{group_slug}/r/{recipe.slug}"
|
recipe_url = f"{__app_settings.BASE_URL}/g/{group_slug}/r/{recipe.slug}"
|
||||||
if recipe.image:
|
if recipe.image:
|
||||||
image_url = (
|
image_url = f"{__app_settings.BASE_URL}/api/media/recipes/{recipe.id}/images/original.webp?version={escape(recipe.image)}"
|
||||||
f"{__app_settings.BASE_URL}/api/media/recipes/{recipe.id}/images/original.webp?version={recipe.image}"
|
|
||||||
)
|
|
||||||
else:
|
else:
|
||||||
image_url = "https://raw.githubusercontent.com/mealie-recipes/mealie/9571816ac4eed5beacfc0abf6c03eff1427fd0eb/frontend/static/icons/android-chrome-512x512.png"
|
image_url = "https://raw.githubusercontent.com/mealie-recipes/mealie/9571816ac4eed5beacfc0abf6c03eff1427fd0eb/frontend/static/icons/android-chrome-512x512.png"
|
||||||
|
|
||||||
ingredients: list[str] = []
|
ingredients: list[str] = []
|
||||||
if recipe.settings.disable_amount: # type: ignore
|
if recipe.settings.disable_amount: # type: ignore
|
||||||
ingredients = [i.note for i in recipe.recipe_ingredient if i.note]
|
ingredients = [escape(i.note) for i in recipe.recipe_ingredient if i.note]
|
||||||
|
|
||||||
else:
|
else:
|
||||||
for ing in recipe.recipe_ingredient:
|
for ing in recipe.recipe_ingredient:
|
||||||
|
@ -102,25 +116,30 @@ def content_with_meta(group_slug: str, recipe: Recipe) -> str:
|
||||||
if ing.note:
|
if ing.note:
|
||||||
s += f"{ing.note}"
|
s += f"{ing.note}"
|
||||||
|
|
||||||
ingredients.append(s)
|
ingredients.append(escape(s))
|
||||||
|
|
||||||
nutrition: dict[str, str | None] = recipe.nutrition.model_dump(by_alias=True) if recipe.nutrition else {}
|
nutrition: dict[str, str | None] = recipe.nutrition.model_dump(by_alias=True) if recipe.nutrition else {}
|
||||||
|
for k, v in nutrition.items():
|
||||||
|
if v:
|
||||||
|
nutrition[k] = escape(v)
|
||||||
|
|
||||||
as_schema_org = {
|
as_schema_org: dict[str, Any] = {
|
||||||
"@context": "https://schema.org",
|
"@context": "https://schema.org",
|
||||||
"@type": "Recipe",
|
"@type": "Recipe",
|
||||||
"name": recipe.name,
|
"name": escape(recipe.name),
|
||||||
"description": recipe.description,
|
"description": escape(recipe.description),
|
||||||
"image": [image_url],
|
"image": [image_url],
|
||||||
"datePublished": recipe.created_at,
|
"datePublished": recipe.created_at,
|
||||||
"prepTime": recipe.prep_time,
|
"prepTime": escape(recipe.prep_time),
|
||||||
"cookTime": recipe.cook_time,
|
"cookTime": escape(recipe.cook_time),
|
||||||
"totalTime": recipe.total_time,
|
"totalTime": escape(recipe.total_time),
|
||||||
"recipeYield": recipe.recipe_yield_display,
|
"recipeYield": escape(recipe.recipe_yield_display),
|
||||||
"recipeIngredient": ingredients,
|
"recipeIngredient": ingredients,
|
||||||
"recipeInstructions": [i.text for i in recipe.recipe_instructions] if recipe.recipe_instructions else [],
|
"recipeInstructions": [escape(i.text) for i in recipe.recipe_instructions]
|
||||||
"recipeCategory": [c.name for c in recipe.recipe_category] if recipe.recipe_category else [],
|
if recipe.recipe_instructions
|
||||||
"keywords": [t.name for t in recipe.tags] if recipe.tags else [],
|
else [],
|
||||||
|
"recipeCategory": [escape(c.name) for c in recipe.recipe_category] if recipe.recipe_category else [],
|
||||||
|
"keywords": [escape(t.name) for t in recipe.tags] if recipe.tags else [],
|
||||||
"nutrition": nutrition,
|
"nutrition": nutrition,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
387
poetry.lock
generated
387
poetry.lock
generated
|
@ -14,14 +14,14 @@ files = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "alembic"
|
name = "alembic"
|
||||||
version = "1.16.2"
|
version = "1.16.4"
|
||||||
description = "A database migration tool for SQLAlchemy."
|
description = "A database migration tool for SQLAlchemy."
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.9"
|
python-versions = ">=3.9"
|
||||||
groups = ["main"]
|
groups = ["main"]
|
||||||
files = [
|
files = [
|
||||||
{file = "alembic-1.16.2-py3-none-any.whl", hash = "sha256:5f42e9bd0afdbd1d5e3ad856c01754530367debdebf21ed6894e34af52b3bb03"},
|
{file = "alembic-1.16.4-py3-none-any.whl", hash = "sha256:b05e51e8e82efc1abd14ba2af6392897e145930c3e0a2faf2b0da2f7f7fd660d"},
|
||||||
{file = "alembic-1.16.2.tar.gz", hash = "sha256:e53c38ff88dadb92eb22f8b150708367db731d58ad7e9d417c9168ab516cbed8"},
|
{file = "alembic-1.16.4.tar.gz", hash = "sha256:efab6ada0dd0fae2c92060800e0bf5c1dc26af15a10e02fb4babff164b4725e2"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
|
@ -126,14 +126,14 @@ files = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "authlib"
|
name = "authlib"
|
||||||
version = "1.6.0"
|
version = "1.6.1"
|
||||||
description = "The ultimate Python library in building OAuth and OpenID Connect servers and clients."
|
description = "The ultimate Python library in building OAuth and OpenID Connect servers and clients."
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.9"
|
python-versions = ">=3.9"
|
||||||
groups = ["main"]
|
groups = ["main"]
|
||||||
files = [
|
files = [
|
||||||
{file = "authlib-1.6.0-py2.py3-none-any.whl", hash = "sha256:91685589498f79e8655e8a8947431ad6288831d643f11c55c2143ffcc738048d"},
|
{file = "authlib-1.6.1-py2.py3-none-any.whl", hash = "sha256:e9d2031c34c6309373ab845afc24168fe9e93dc52d252631f52642f21f5ed06e"},
|
||||||
{file = "authlib-1.6.0.tar.gz", hash = "sha256:4367d32031b7af175ad3a323d571dc7257b7099d55978087ceae4a0d88cd3210"},
|
{file = "authlib-1.6.1.tar.gz", hash = "sha256:4dffdbb1460ba6ec8c17981a4c67af7d8af131231b5a36a88a1e8c80c111cdfd"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
|
@ -478,79 +478,79 @@ markers = {main = "platform_system == \"Windows\" or sys_platform == \"win32\""}
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "coverage"
|
name = "coverage"
|
||||||
version = "7.9.1"
|
version = "7.9.2"
|
||||||
description = "Code coverage measurement for Python"
|
description = "Code coverage measurement for Python"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.9"
|
python-versions = ">=3.9"
|
||||||
groups = ["dev"]
|
groups = ["dev"]
|
||||||
files = [
|
files = [
|
||||||
{file = "coverage-7.9.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cc94d7c5e8423920787c33d811c0be67b7be83c705f001f7180c7b186dcf10ca"},
|
{file = "coverage-7.9.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:66283a192a14a3854b2e7f3418d7db05cdf411012ab7ff5db98ff3b181e1f912"},
|
||||||
{file = "coverage-7.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:16aa0830d0c08a2c40c264cef801db8bc4fc0e1892782e45bcacbd5889270509"},
|
{file = "coverage-7.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4e01d138540ef34fcf35c1aa24d06c3de2a4cffa349e29a10056544f35cca15f"},
|
||||||
{file = "coverage-7.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf95981b126f23db63e9dbe4cf65bd71f9a6305696fa5e2262693bc4e2183f5b"},
|
{file = "coverage-7.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f22627c1fe2745ee98d3ab87679ca73a97e75ca75eb5faee48660d060875465f"},
|
||||||
{file = "coverage-7.9.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f05031cf21699785cd47cb7485f67df619e7bcdae38e0fde40d23d3d0210d3c3"},
|
{file = "coverage-7.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b1c2d8363247b46bd51f393f86c94096e64a1cf6906803fa8d5a9d03784bdbf"},
|
||||||
{file = "coverage-7.9.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb4fbcab8764dc072cb651a4bcda4d11fb5658a1d8d68842a862a6610bd8cfa3"},
|
{file = "coverage-7.9.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c10c882b114faf82dbd33e876d0cbd5e1d1ebc0d2a74ceef642c6152f3f4d547"},
|
||||||
{file = "coverage-7.9.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0f16649a7330ec307942ed27d06ee7e7a38417144620bb3d6e9a18ded8a2d3e5"},
|
{file = "coverage-7.9.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:de3c0378bdf7066c3988d66cd5232d161e933b87103b014ab1b0b4676098fa45"},
|
||||||
{file = "coverage-7.9.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:cea0a27a89e6432705fffc178064503508e3c0184b4f061700e771a09de58187"},
|
{file = "coverage-7.9.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:1e2f097eae0e5991e7623958a24ced3282676c93c013dde41399ff63e230fcf2"},
|
||||||
{file = "coverage-7.9.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e980b53a959fa53b6f05343afbd1e6f44a23ed6c23c4b4c56c6662bbb40c82ce"},
|
{file = "coverage-7.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:28dc1f67e83a14e7079b6cea4d314bc8b24d1aed42d3582ff89c0295f09b181e"},
|
||||||
{file = "coverage-7.9.1-cp310-cp310-win32.whl", hash = "sha256:70760b4c5560be6ca70d11f8988ee6542b003f982b32f83d5ac0b72476607b70"},
|
{file = "coverage-7.9.2-cp310-cp310-win32.whl", hash = "sha256:bf7d773da6af9e10dbddacbf4e5cab13d06d0ed93561d44dae0188a42c65be7e"},
|
||||||
{file = "coverage-7.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:a66e8f628b71f78c0e0342003d53b53101ba4e00ea8dabb799d9dba0abbbcebe"},
|
{file = "coverage-7.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:0c0378ba787681ab1897f7c89b415bd56b0b2d9a47e5a3d8dc0ea55aac118d6c"},
|
||||||
{file = "coverage-7.9.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:95c765060e65c692da2d2f51a9499c5e9f5cf5453aeaf1420e3fc847cc060582"},
|
{file = "coverage-7.9.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a7a56a2964a9687b6aba5b5ced6971af308ef6f79a91043c05dd4ee3ebc3e9ba"},
|
||||||
{file = "coverage-7.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ba383dc6afd5ec5b7a0d0c23d38895db0e15bcba7fb0fa8901f245267ac30d86"},
|
{file = "coverage-7.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:123d589f32c11d9be7fe2e66d823a236fe759b0096f5db3fb1b75b2fa414a4fa"},
|
||||||
{file = "coverage-7.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37ae0383f13cbdcf1e5e7014489b0d71cc0106458878ccde52e8a12ced4298ed"},
|
{file = "coverage-7.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:333b2e0ca576a7dbd66e85ab402e35c03b0b22f525eed82681c4b866e2e2653a"},
|
||||||
{file = "coverage-7.9.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:69aa417a030bf11ec46149636314c24c8d60fadb12fc0ee8f10fda0d918c879d"},
|
{file = "coverage-7.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:326802760da234baf9f2f85a39e4a4b5861b94f6c8d95251f699e4f73b1835dc"},
|
||||||
{file = "coverage-7.9.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a4be2a28656afe279b34d4f91c3e26eccf2f85500d4a4ff0b1f8b54bf807338"},
|
{file = "coverage-7.9.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19e7be4cfec248df38ce40968c95d3952fbffd57b400d4b9bb580f28179556d2"},
|
||||||
{file = "coverage-7.9.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:382e7ddd5289f140259b610e5f5c58f713d025cb2f66d0eb17e68d0a94278875"},
|
{file = "coverage-7.9.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0b4a4cb73b9f2b891c1788711408ef9707666501ba23684387277ededab1097c"},
|
||||||
{file = "coverage-7.9.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e5532482344186c543c37bfad0ee6069e8ae4fc38d073b8bc836fc8f03c9e250"},
|
{file = "coverage-7.9.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:2c8937fa16c8c9fbbd9f118588756e7bcdc7e16a470766a9aef912dd3f117dbd"},
|
||||||
{file = "coverage-7.9.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a39d18b3f50cc121d0ce3838d32d58bd1d15dab89c910358ebefc3665712256c"},
|
{file = "coverage-7.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:42da2280c4d30c57a9b578bafd1d4494fa6c056d4c419d9689e66d775539be74"},
|
||||||
{file = "coverage-7.9.1-cp311-cp311-win32.whl", hash = "sha256:dd24bd8d77c98557880def750782df77ab2b6885a18483dc8588792247174b32"},
|
{file = "coverage-7.9.2-cp311-cp311-win32.whl", hash = "sha256:14fa8d3da147f5fdf9d298cacc18791818f3f1a9f542c8958b80c228320e90c6"},
|
||||||
{file = "coverage-7.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:6b55ad10a35a21b8015eabddc9ba31eb590f54adc9cd39bcf09ff5349fd52125"},
|
{file = "coverage-7.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:549cab4892fc82004f9739963163fd3aac7a7b0df430669b75b86d293d2df2a7"},
|
||||||
{file = "coverage-7.9.1-cp311-cp311-win_arm64.whl", hash = "sha256:6ad935f0016be24c0e97fc8c40c465f9c4b85cbbe6eac48934c0dc4d2568321e"},
|
{file = "coverage-7.9.2-cp311-cp311-win_arm64.whl", hash = "sha256:c2667a2b913e307f06aa4e5677f01a9746cd08e4b35e14ebcde6420a9ebb4c62"},
|
||||||
{file = "coverage-7.9.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a8de12b4b87c20de895f10567639c0797b621b22897b0af3ce4b4e204a743626"},
|
{file = "coverage-7.9.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ae9eb07f1cfacd9cfe8eaee6f4ff4b8a289a668c39c165cd0c8548484920ffc0"},
|
||||||
{file = "coverage-7.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5add197315a054e92cee1b5f686a2bcba60c4c3e66ee3de77ace6c867bdee7cb"},
|
{file = "coverage-7.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9ce85551f9a1119f02adc46d3014b5ee3f765deac166acf20dbb851ceb79b6f3"},
|
||||||
{file = "coverage-7.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:600a1d4106fe66f41e5d0136dfbc68fe7200a5cbe85610ddf094f8f22e1b0300"},
|
{file = "coverage-7.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8f6389ac977c5fb322e0e38885fbbf901743f79d47f50db706e7644dcdcb6e1"},
|
||||||
{file = "coverage-7.9.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a876e4c3e5a2a1715a6608906aa5a2e0475b9c0f68343c2ada98110512ab1d8"},
|
{file = "coverage-7.9.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff0d9eae8cdfcd58fe7893b88993723583a6ce4dfbfd9f29e001922544f95615"},
|
||||||
{file = "coverage-7.9.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81f34346dd63010453922c8e628a52ea2d2ccd73cb2487f7700ac531b247c8a5"},
|
{file = "coverage-7.9.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fae939811e14e53ed8a9818dad51d434a41ee09df9305663735f2e2d2d7d959b"},
|
||||||
{file = "coverage-7.9.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:888f8eee13f2377ce86d44f338968eedec3291876b0b8a7289247ba52cb984cd"},
|
{file = "coverage-7.9.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:31991156251ec202c798501e0a42bbdf2169dcb0f137b1f5c0f4267f3fc68ef9"},
|
||||||
{file = "coverage-7.9.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9969ef1e69b8c8e1e70d591f91bbc37fc9a3621e447525d1602801a24ceda898"},
|
{file = "coverage-7.9.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d0d67963f9cbfc7c7f96d4ac74ed60ecbebd2ea6eeb51887af0f8dce205e545f"},
|
||||||
{file = "coverage-7.9.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:60c458224331ee3f1a5b472773e4a085cc27a86a0b48205409d364272d67140d"},
|
{file = "coverage-7.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:49b752a2858b10580969ec6af6f090a9a440a64a301ac1528d7ca5f7ed497f4d"},
|
||||||
{file = "coverage-7.9.1-cp312-cp312-win32.whl", hash = "sha256:5f646a99a8c2b3ff4c6a6e081f78fad0dde275cd59f8f49dc4eab2e394332e74"},
|
{file = "coverage-7.9.2-cp312-cp312-win32.whl", hash = "sha256:88d7598b8ee130f32f8a43198ee02edd16d7f77692fa056cb779616bbea1b355"},
|
||||||
{file = "coverage-7.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:30f445f85c353090b83e552dcbbdad3ec84c7967e108c3ae54556ca69955563e"},
|
{file = "coverage-7.9.2-cp312-cp312-win_amd64.whl", hash = "sha256:9dfb070f830739ee49d7c83e4941cc767e503e4394fdecb3b54bfdac1d7662c0"},
|
||||||
{file = "coverage-7.9.1-cp312-cp312-win_arm64.whl", hash = "sha256:af41da5dca398d3474129c58cb2b106a5d93bbb196be0d307ac82311ca234342"},
|
{file = "coverage-7.9.2-cp312-cp312-win_arm64.whl", hash = "sha256:4e2c058aef613e79df00e86b6d42a641c877211384ce5bd07585ed7ba71ab31b"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:31324f18d5969feef7344a932c32428a2d1a3e50b15a6404e97cba1cc9b2c631"},
|
{file = "coverage-7.9.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:985abe7f242e0d7bba228ab01070fde1d6c8fa12f142e43debe9ed1dde686038"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0c804506d624e8a20fb3108764c52e0eef664e29d21692afa375e0dd98dc384f"},
|
{file = "coverage-7.9.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82c3939264a76d44fde7f213924021ed31f55ef28111a19649fec90c0f109e6d"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ef64c27bc40189f36fcc50c3fb8f16ccda73b6a0b80d9bd6e6ce4cffcd810bbd"},
|
{file = "coverage-7.9.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae5d563e970dbe04382f736ec214ef48103d1b875967c89d83c6e3f21706d5b3"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4fe2348cc6ec372e25adec0219ee2334a68d2f5222e0cba9c0d613394e12d86"},
|
{file = "coverage-7.9.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bdd612e59baed2a93c8843c9a7cb902260f181370f1d772f4842987535071d14"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34ed2186fe52fcc24d4561041979a0dec69adae7bce2ae8d1c49eace13e55c43"},
|
{file = "coverage-7.9.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:256ea87cb2a1ed992bcdfc349d8042dcea1b80436f4ddf6e246d6bee4b5d73b6"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:25308bd3d00d5eedd5ae7d4357161f4df743e3c0240fa773ee1b0f75e6c7c0f1"},
|
{file = "coverage-7.9.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f44ae036b63c8ea432f610534a2668b0c3aee810e7037ab9d8ff6883de480f5b"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:73e9439310f65d55a5a1e0564b48e34f5369bee943d72c88378f2d576f5a5751"},
|
{file = "coverage-7.9.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:82d76ad87c932935417a19b10cfe7abb15fd3f923cfe47dbdaa74ef4e503752d"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:37ab6be0859141b53aa89412a82454b482c81cf750de4f29223d52268a86de67"},
|
{file = "coverage-7.9.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:619317bb86de4193debc712b9e59d5cffd91dc1d178627ab2a77b9870deb2868"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313-win32.whl", hash = "sha256:64bdd969456e2d02a8b08aa047a92d269c7ac1f47e0c977675d550c9a0863643"},
|
{file = "coverage-7.9.2-cp313-cp313-win32.whl", hash = "sha256:0a07757de9feb1dfafd16ab651e0f628fd7ce551604d1bf23e47e1ddca93f08a"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313-win_amd64.whl", hash = "sha256:be9e3f68ca9edb897c2184ad0eee815c635565dbe7a0e7e814dc1f7cbab92c0a"},
|
{file = "coverage-7.9.2-cp313-cp313-win_amd64.whl", hash = "sha256:115db3d1f4d3f35f5bb021e270edd85011934ff97c8797216b62f461dd69374b"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313-win_arm64.whl", hash = "sha256:1c503289ffef1d5105d91bbb4d62cbe4b14bec4d13ca225f9c73cde9bb46207d"},
|
{file = "coverage-7.9.2-cp313-cp313-win_arm64.whl", hash = "sha256:48f82f889c80af8b2a7bb6e158d95a3fbec6a3453a1004d04e4f3b5945a02694"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0b3496922cb5f4215bf5caaef4cf12364a26b0be82e9ed6d050f3352cf2d7ef0"},
|
{file = "coverage-7.9.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:55a28954545f9d2f96870b40f6c3386a59ba8ed50caf2d949676dac3ecab99f5"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9565c3ab1c93310569ec0d86b017f128f027cab0b622b7af288696d7ed43a16d"},
|
{file = "coverage-7.9.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:cdef6504637731a63c133bb2e6f0f0214e2748495ec15fe42d1e219d1b133f0b"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2241ad5dbf79ae1d9c08fe52b36d03ca122fb9ac6bca0f34439e99f8327ac89f"},
|
{file = "coverage-7.9.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bcd5ebe66c7a97273d5d2ddd4ad0ed2e706b39630ed4b53e713d360626c3dbb3"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bb5838701ca68b10ebc0937dbd0eb81974bac54447c55cd58dea5bca8451029"},
|
{file = "coverage-7.9.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9303aed20872d7a3c9cb39c5d2b9bdbe44e3a9a1aecb52920f7e7495410dfab8"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b30a25f814591a8c0c5372c11ac8967f669b97444c47fd794926e175c4047ece"},
|
{file = "coverage-7.9.2-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc18ea9e417a04d1920a9a76fe9ebd2f43ca505b81994598482f938d5c315f46"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2d04b16a6062516df97969f1ae7efd0de9c31eb6ebdceaa0d213b21c0ca1a683"},
|
{file = "coverage-7.9.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6406cff19880aaaadc932152242523e892faff224da29e241ce2fca329866584"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7931b9e249edefb07cd6ae10c702788546341d5fe44db5b6108a25da4dca513f"},
|
{file = "coverage-7.9.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:2d0d4f6ecdf37fcc19c88fec3e2277d5dee740fb51ffdd69b9579b8c31e4232e"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:52e92b01041151bf607ee858e5a56c62d4b70f4dac85b8c8cb7fb8a351ab2c10"},
|
{file = "coverage-7.9.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c33624f50cf8de418ab2b4d6ca9eda96dc45b2c4231336bac91454520e8d1fac"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313t-win32.whl", hash = "sha256:684e2110ed84fd1ca5f40e89aa44adf1729dc85444004111aa01866507adf363"},
|
{file = "coverage-7.9.2-cp313-cp313t-win32.whl", hash = "sha256:1df6b76e737c6a92210eebcb2390af59a141f9e9430210595251fbaf02d46926"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313t-win_amd64.whl", hash = "sha256:437c576979e4db840539674e68c84b3cda82bc824dd138d56bead1435f1cb5d7"},
|
{file = "coverage-7.9.2-cp313-cp313t-win_amd64.whl", hash = "sha256:f5fd54310b92741ebe00d9c0d1d7b2b27463952c022da6d47c175d246a98d1bd"},
|
||||||
{file = "coverage-7.9.1-cp313-cp313t-win_arm64.whl", hash = "sha256:18a0912944d70aaf5f399e350445738a1a20b50fbea788f640751c2ed9208b6c"},
|
{file = "coverage-7.9.2-cp313-cp313t-win_arm64.whl", hash = "sha256:c48c2375287108c887ee87d13b4070a381c6537d30e8487b24ec721bf2a781cb"},
|
||||||
{file = "coverage-7.9.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6f424507f57878e424d9a95dc4ead3fbdd72fd201e404e861e465f28ea469951"},
|
{file = "coverage-7.9.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ddc39510ac922a5c4c27849b739f875d3e1d9e590d1e7b64c98dadf037a16cce"},
|
||||||
{file = "coverage-7.9.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:535fde4001b2783ac80865d90e7cc7798b6b126f4cd8a8c54acfe76804e54e58"},
|
{file = "coverage-7.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a535c0c7364acd55229749c2b3e5eebf141865de3a8f697076a3291985f02d30"},
|
||||||
{file = "coverage-7.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02532fd3290bb8fa6bec876520842428e2a6ed6c27014eca81b031c2d30e3f71"},
|
{file = "coverage-7.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df0f9ef28e0f20c767ccdccfc5ae5f83a6f4a2fbdfbcbcc8487a8a78771168c8"},
|
||||||
{file = "coverage-7.9.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:56f5eb308b17bca3bbff810f55ee26d51926d9f89ba92707ee41d3c061257e55"},
|
{file = "coverage-7.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f3da12e0ccbcb348969221d29441ac714bbddc4d74e13923d3d5a7a0bebef7a"},
|
||||||
{file = "coverage-7.9.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfa447506c1a52271f1b0de3f42ea0fa14676052549095e378d5bff1c505ff7b"},
|
{file = "coverage-7.9.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a17eaf46f56ae0f870f14a3cbc2e4632fe3771eab7f687eda1ee59b73d09fe4"},
|
||||||
{file = "coverage-7.9.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9ca8e220006966b4a7b68e8984a6aee645a0384b0769e829ba60281fe61ec4f7"},
|
{file = "coverage-7.9.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:669135a9d25df55d1ed56a11bf555f37c922cf08d80799d4f65d77d7d6123fcf"},
|
||||||
{file = "coverage-7.9.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:49f1d0788ba5b7ba65933f3a18864117c6506619f5ca80326b478f72acf3f385"},
|
{file = "coverage-7.9.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:9d3a700304d01a627df9db4322dc082a0ce1e8fc74ac238e2af39ced4c083193"},
|
||||||
{file = "coverage-7.9.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:68cd53aec6f45b8e4724c0950ce86eacb775c6be01ce6e3669fe4f3a21e768ed"},
|
{file = "coverage-7.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:71ae8b53855644a0b1579d4041304ddc9995c7b21c8a1f16753c4d8903b4dfed"},
|
||||||
{file = "coverage-7.9.1-cp39-cp39-win32.whl", hash = "sha256:95335095b6c7b1cc14c3f3f17d5452ce677e8490d101698562b2ffcacc304c8d"},
|
{file = "coverage-7.9.2-cp39-cp39-win32.whl", hash = "sha256:dd7a57b33b5cf27acb491e890720af45db05589a80c1ffc798462a765be6d4d7"},
|
||||||
{file = "coverage-7.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:e1b5191d1648acc439b24721caab2fd0c86679d8549ed2c84d5a7ec1bedcc244"},
|
{file = "coverage-7.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:f65bb452e579d5540c8b37ec105dd54d8b9307b07bcaa186818c104ffda22441"},
|
||||||
{file = "coverage-7.9.1-pp39.pp310.pp311-none-any.whl", hash = "sha256:db0f04118d1db74db6c9e1cb1898532c7dcc220f1d2718f058601f7c3f499514"},
|
{file = "coverage-7.9.2-pp39.pp310.pp311-none-any.whl", hash = "sha256:8a1166db2fb62473285bcb092f586e081e92656c7dfa8e9f62b4d39d7e6b5050"},
|
||||||
{file = "coverage-7.9.1-py3-none-any.whl", hash = "sha256:66b974b145aa189516b6bf2d8423e888b742517d37872f6ee4c5be0073bd9a3c"},
|
{file = "coverage-7.9.2-py3-none-any.whl", hash = "sha256:e425cd5b00f6fc0ed7cdbd766c70be8baab4b7839e4d4fe5fac48581dd968ea4"},
|
||||||
{file = "coverage-7.9.1.tar.gz", hash = "sha256:6cf43c78c4282708a28e466316935ec7489a9c487518a77fa68f716c67909cec"},
|
{file = "coverage-7.9.2.tar.gz", hash = "sha256:997024fa51e3290264ffd7492ec97d0690293ccd2b45a6cd7d82d945a4a80c8b"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.extras]
|
[package.extras]
|
||||||
|
@ -684,24 +684,25 @@ cli = ["requests"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "fastapi"
|
name = "fastapi"
|
||||||
version = "0.115.14"
|
version = "0.116.1"
|
||||||
description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production"
|
description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
groups = ["main"]
|
groups = ["main"]
|
||||||
files = [
|
files = [
|
||||||
{file = "fastapi-0.115.14-py3-none-any.whl", hash = "sha256:6c0c8bf9420bd58f565e585036d971872472b4f7d3f6c73b698e10cffdefb3ca"},
|
{file = "fastapi-0.116.1-py3-none-any.whl", hash = "sha256:c46ac7c312df840f0c9e220f7964bada936781bc4e2e6eb71f1c4d7553786565"},
|
||||||
{file = "fastapi-0.115.14.tar.gz", hash = "sha256:b1de15cdc1c499a4da47914db35d0e4ef8f1ce62b624e94e0e5824421df99739"},
|
{file = "fastapi-0.116.1.tar.gz", hash = "sha256:ed52cbf946abfd70c5a0dccb24673f0670deeb517a88b3544d03c2a6bf283143"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0"
|
pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0"
|
||||||
starlette = ">=0.40.0,<0.47.0"
|
starlette = ">=0.40.0,<0.48.0"
|
||||||
typing-extensions = ">=4.8.0"
|
typing-extensions = ">=4.8.0"
|
||||||
|
|
||||||
[package.extras]
|
[package.extras]
|
||||||
all = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=3.1.5)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.18)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"]
|
all = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.8)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=3.1.5)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.18)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"]
|
||||||
standard = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "jinja2 (>=3.1.5)", "python-multipart (>=0.0.18)", "uvicorn[standard] (>=0.12.0)"]
|
standard = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.8)", "httpx (>=0.23.0)", "jinja2 (>=3.1.5)", "python-multipart (>=0.0.18)", "uvicorn[standard] (>=0.12.0)"]
|
||||||
|
standard-no-fastapi-cloud-cli = ["email-validator (>=2.0.0)", "fastapi-cli[standard-no-fastapi-cloud-cli] (>=0.0.8)", "httpx (>=0.23.0)", "jinja2 (>=3.1.5)", "python-multipart (>=0.0.18)", "uvicorn[standard] (>=0.12.0)"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "filelock"
|
name = "filelock"
|
||||||
|
@ -1627,44 +1628,44 @@ files = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "mypy"
|
name = "mypy"
|
||||||
version = "1.16.1"
|
version = "1.17.0"
|
||||||
description = "Optional static typing for Python"
|
description = "Optional static typing for Python"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.9"
|
python-versions = ">=3.9"
|
||||||
groups = ["dev"]
|
groups = ["dev"]
|
||||||
files = [
|
files = [
|
||||||
{file = "mypy-1.16.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b4f0fed1022a63c6fec38f28b7fc77fca47fd490445c69d0a66266c59dd0b88a"},
|
{file = "mypy-1.17.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f8e08de6138043108b3b18f09d3f817a4783912e48828ab397ecf183135d84d6"},
|
||||||
{file = "mypy-1.16.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:86042bbf9f5a05ea000d3203cf87aa9d0ccf9a01f73f71c58979eb9249f46d72"},
|
{file = "mypy-1.17.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce4a17920ec144647d448fc43725b5873548b1aae6c603225626747ededf582d"},
|
||||||
{file = "mypy-1.16.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ea7469ee5902c95542bea7ee545f7006508c65c8c54b06dc2c92676ce526f3ea"},
|
{file = "mypy-1.17.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6ff25d151cc057fdddb1cb1881ef36e9c41fa2a5e78d8dd71bee6e4dcd2bc05b"},
|
||||||
{file = "mypy-1.16.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:352025753ef6a83cb9e7f2427319bb7875d1fdda8439d1e23de12ab164179574"},
|
{file = "mypy-1.17.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:93468cf29aa9a132bceb103bd8475f78cacde2b1b9a94fd978d50d4bdf616c9a"},
|
||||||
{file = "mypy-1.16.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ff9fa5b16e4c1364eb89a4d16bcda9987f05d39604e1e6c35378a2987c1aac2d"},
|
{file = "mypy-1.17.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:98189382b310f16343151f65dd7e6867386d3e35f7878c45cfa11383d175d91f"},
|
||||||
{file = "mypy-1.16.1-cp310-cp310-win_amd64.whl", hash = "sha256:1256688e284632382f8f3b9e2123df7d279f603c561f099758e66dd6ed4e8bd6"},
|
{file = "mypy-1.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:c004135a300ab06a045c1c0d8e3f10215e71d7b4f5bb9a42ab80236364429937"},
|
||||||
{file = "mypy-1.16.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:472e4e4c100062488ec643f6162dd0d5208e33e2f34544e1fc931372e806c0cc"},
|
{file = "mypy-1.17.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9d4fe5c72fd262d9c2c91c1117d16aac555e05f5beb2bae6a755274c6eec42be"},
|
||||||
{file = "mypy-1.16.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ea16e2a7d2714277e349e24d19a782a663a34ed60864006e8585db08f8ad1782"},
|
{file = "mypy-1.17.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d96b196e5c16f41b4f7736840e8455958e832871990c7ba26bf58175e357ed61"},
|
||||||
{file = "mypy-1.16.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:08e850ea22adc4d8a4014651575567b0318ede51e8e9fe7a68f25391af699507"},
|
{file = "mypy-1.17.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:73a0ff2dd10337ceb521c080d4147755ee302dcde6e1a913babd59473904615f"},
|
||||||
{file = "mypy-1.16.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:22d76a63a42619bfb90122889b903519149879ddbf2ba4251834727944c8baca"},
|
{file = "mypy-1.17.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:24cfcc1179c4447854e9e406d3af0f77736d631ec87d31c6281ecd5025df625d"},
|
||||||
{file = "mypy-1.16.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2c7ce0662b6b9dc8f4ed86eb7a5d505ee3298c04b40ec13b30e572c0e5ae17c4"},
|
{file = "mypy-1.17.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3c56f180ff6430e6373db7a1d569317675b0a451caf5fef6ce4ab365f5f2f6c3"},
|
||||||
{file = "mypy-1.16.1-cp311-cp311-win_amd64.whl", hash = "sha256:211287e98e05352a2e1d4e8759c5490925a7c784ddc84207f4714822f8cf99b6"},
|
{file = "mypy-1.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:eafaf8b9252734400f9b77df98b4eee3d2eecab16104680d51341c75702cad70"},
|
||||||
{file = "mypy-1.16.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:af4792433f09575d9eeca5c63d7d90ca4aeceda9d8355e136f80f8967639183d"},
|
{file = "mypy-1.17.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f986f1cab8dbec39ba6e0eaa42d4d3ac6686516a5d3dccd64be095db05ebc6bb"},
|
||||||
{file = "mypy-1.16.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:66df38405fd8466ce3517eda1f6640611a0b8e70895e2a9462d1d4323c5eb4b9"},
|
{file = "mypy-1.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:51e455a54d199dd6e931cd7ea987d061c2afbaf0960f7f66deef47c90d1b304d"},
|
||||||
{file = "mypy-1.16.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:44e7acddb3c48bd2713994d098729494117803616e116032af192871aed80b79"},
|
{file = "mypy-1.17.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3204d773bab5ff4ebbd1f8efa11b498027cd57017c003ae970f310e5b96be8d8"},
|
||||||
{file = "mypy-1.16.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0ab5eca37b50188163fa7c1b73c685ac66c4e9bdee4a85c9adac0e91d8895e15"},
|
{file = "mypy-1.17.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1051df7ec0886fa246a530ae917c473491e9a0ba6938cfd0ec2abc1076495c3e"},
|
||||||
{file = "mypy-1.16.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb6229b2c9086247e21a83c309754b9058b438704ad2f6807f0d8227f6ebdd"},
|
{file = "mypy-1.17.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f773c6d14dcc108a5b141b4456b0871df638eb411a89cd1c0c001fc4a9d08fc8"},
|
||||||
{file = "mypy-1.16.1-cp312-cp312-win_amd64.whl", hash = "sha256:1f0435cf920e287ff68af3d10a118a73f212deb2ce087619eb4e648116d1fe9b"},
|
{file = "mypy-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:1619a485fd0e9c959b943c7b519ed26b712de3002d7de43154a489a2d0fd817d"},
|
||||||
{file = "mypy-1.16.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ddc91eb318c8751c69ddb200a5937f1232ee8efb4e64e9f4bc475a33719de438"},
|
{file = "mypy-1.17.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c41aa59211e49d717d92b3bb1238c06d387c9325d3122085113c79118bebb06"},
|
||||||
{file = "mypy-1.16.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:87ff2c13d58bdc4bbe7dc0dedfe622c0f04e2cb2a492269f3b418df2de05c536"},
|
{file = "mypy-1.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0e69db1fb65b3114f98c753e3930a00514f5b68794ba80590eb02090d54a5d4a"},
|
||||||
{file = "mypy-1.16.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a7cfb0fe29fe5a9841b7c8ee6dffb52382c45acdf68f032145b75620acfbd6f"},
|
{file = "mypy-1.17.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:03ba330b76710f83d6ac500053f7727270b6b8553b0423348ffb3af6f2f7b889"},
|
||||||
{file = "mypy-1.16.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:051e1677689c9d9578b9c7f4d206d763f9bbd95723cd1416fad50db49d52f359"},
|
{file = "mypy-1.17.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:037bc0f0b124ce46bfde955c647f3e395c6174476a968c0f22c95a8d2f589bba"},
|
||||||
{file = "mypy-1.16.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d5d2309511cc56c021b4b4e462907c2b12f669b2dbeb68300110ec27723971be"},
|
{file = "mypy-1.17.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c38876106cb6132259683632b287238858bd58de267d80defb6f418e9ee50658"},
|
||||||
{file = "mypy-1.16.1-cp313-cp313-win_amd64.whl", hash = "sha256:4f58ac32771341e38a853c5d0ec0dfe27e18e27da9cdb8bbc882d2249c71a3ee"},
|
{file = "mypy-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:d30ba01c0f151998f367506fab31c2ac4527e6a7b2690107c7a7f9e3cb419a9c"},
|
||||||
{file = "mypy-1.16.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7fc688329af6a287567f45cc1cefb9db662defeb14625213a5b7da6e692e2069"},
|
{file = "mypy-1.17.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:63e751f1b5ab51d6f3d219fe3a2fe4523eaa387d854ad06906c63883fde5b1ab"},
|
||||||
{file = "mypy-1.16.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e198ab3f55924c03ead626ff424cad1732d0d391478dfbf7bb97b34602395da"},
|
{file = "mypy-1.17.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f7fb09d05e0f1c329a36dcd30e27564a3555717cde87301fae4fb542402ddfad"},
|
||||||
{file = "mypy-1.16.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:09aa4f91ada245f0a45dbc47e548fd94e0dd5a8433e0114917dc3b526912a30c"},
|
{file = "mypy-1.17.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b72c34ce05ac3a1361ae2ebb50757fb6e3624032d91488d93544e9f82db0ed6c"},
|
||||||
{file = "mypy-1.16.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:13c7cd5b1cb2909aa318a90fd1b7e31f17c50b242953e7dd58345b2a814f6383"},
|
{file = "mypy-1.17.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:434ad499ad8dde8b2f6391ddfa982f41cb07ccda8e3c67781b1bfd4e5f9450a8"},
|
||||||
{file = "mypy-1.16.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:58e07fb958bc5d752a280da0e890c538f1515b79a65757bbdc54252ba82e0b40"},
|
{file = "mypy-1.17.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f105f61a5eff52e137fd73bee32958b2add9d9f0a856f17314018646af838e97"},
|
||||||
{file = "mypy-1.16.1-cp39-cp39-win_amd64.whl", hash = "sha256:f895078594d918f93337a505f8add9bd654d1a24962b4c6ed9390e12531eb31b"},
|
{file = "mypy-1.17.0-cp39-cp39-win_amd64.whl", hash = "sha256:ba06254a5a22729853209550d80f94e28690d5530c661f9416a68ac097b13fc4"},
|
||||||
{file = "mypy-1.16.1-py3-none-any.whl", hash = "sha256:5fc2ac4027d0ef28d6ba69a0343737a23c4d1b83672bf38d1fe237bdc0643b37"},
|
{file = "mypy-1.17.0-py3-none-any.whl", hash = "sha256:15d9d0018237ab058e5de3d8fce61b6fa72cc59cc78fd91f1b474bce12abf496"},
|
||||||
{file = "mypy-1.16.1.tar.gz", hash = "sha256:6bd00a0a2094841c5e47e7374bb42b83d64c527a502e3334e1173a0c24437bab"},
|
{file = "mypy-1.17.0.tar.gz", hash = "sha256:e5d7ccc08ba089c06e2f5629c660388ef1fee708444f1dee0b9203fa031dee03"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
|
@ -1816,14 +1817,14 @@ signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openai"
|
name = "openai"
|
||||||
version = "1.95.1"
|
version = "1.97.0"
|
||||||
description = "The official Python library for the openai API"
|
description = "The official Python library for the openai API"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
groups = ["main"]
|
groups = ["main"]
|
||||||
files = [
|
files = [
|
||||||
{file = "openai-1.95.1-py3-none-any.whl", hash = "sha256:8bbdfeceef231b1ddfabbc232b179d79f8b849aab5a7da131178f8d10e0f162f"},
|
{file = "openai-1.97.0-py3-none-any.whl", hash = "sha256:a1c24d96f4609f3f7f51c9e1c2606d97cc6e334833438659cfd687e9c972c610"},
|
||||||
{file = "openai-1.95.1.tar.gz", hash = "sha256:f089b605282e2a2b6776090b4b46563ac1da77f56402a222597d591e2dcc1086"},
|
{file = "openai-1.97.0.tar.gz", hash = "sha256:0be349569ccaa4fb54f97bb808423fd29ccaeb1246ee1be762e0c81a47bae0aa"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
|
@ -1844,84 +1845,84 @@ voice-helpers = ["numpy (>=2.0.2)", "sounddevice (>=0.5.1)"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "orjson"
|
name = "orjson"
|
||||||
version = "3.10.18"
|
version = "3.11.0"
|
||||||
description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy"
|
description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.9"
|
python-versions = ">=3.9"
|
||||||
groups = ["main"]
|
groups = ["main"]
|
||||||
files = [
|
files = [
|
||||||
{file = "orjson-3.10.18-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:a45e5d68066b408e4bc383b6e4ef05e717c65219a9e1390abc6155a520cac402"},
|
{file = "orjson-3.11.0-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:b8913baba9751f7400f8fa4ec18a8b618ff01177490842e39e47b66c1b04bc79"},
|
||||||
{file = "orjson-3.10.18-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be3b9b143e8b9db05368b13b04c84d37544ec85bb97237b3a923f076265ec89c"},
|
{file = "orjson-3.11.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d4d86910554de5c9c87bc560b3bdd315cc3988adbdc2acf5dda3797079407ed"},
|
||||||
{file = "orjson-3.10.18-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9b0aa09745e2c9b3bf779b096fa71d1cc2d801a604ef6dd79c8b1bfef52b2f92"},
|
{file = "orjson-3.11.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:84ae3d329360cf18fb61b67c505c00dedb61b0ee23abfd50f377a58e7d7bed06"},
|
||||||
{file = "orjson-3.10.18-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:53a245c104d2792e65c8d225158f2b8262749ffe64bc7755b00024757d957a13"},
|
{file = "orjson-3.11.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:47a54e660414baacd71ebf41a69bb17ea25abb3c5b69ce9e13e43be7ac20e342"},
|
||||||
{file = "orjson-3.10.18-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f9495ab2611b7f8a0a8a505bcb0f0cbdb5469caafe17b0e404c3c746f9900469"},
|
{file = "orjson-3.11.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2560b740604751854be146169c1de7e7ee1e6120b00c1788ec3f3a012c6a243f"},
|
||||||
{file = "orjson-3.10.18-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:73be1cbcebadeabdbc468f82b087df435843c809cd079a565fb16f0f3b23238f"},
|
{file = "orjson-3.11.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd7f9cd995da9e46fbac0a371f0ff6e89a21d8ecb7a8a113c0acb147b0a32f73"},
|
||||||
{file = "orjson-3.10.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe8936ee2679e38903df158037a2f1c108129dee218975122e37847fb1d4ac68"},
|
{file = "orjson-3.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7cf728cb3a013bdf9f4132575404bf885aa773d8bb4205656575e1890fc91990"},
|
||||||
{file = "orjson-3.10.18-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7115fcbc8525c74e4c2b608129bef740198e9a120ae46184dac7683191042056"},
|
{file = "orjson-3.11.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c27de273320294121200440cd5002b6aeb922d3cb9dab3357087c69f04ca6934"},
|
||||||
{file = "orjson-3.10.18-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:771474ad34c66bc4d1c01f645f150048030694ea5b2709b87d3bda273ffe505d"},
|
{file = "orjson-3.11.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:4430ec6ff1a1f4595dd7e0fad991bdb2fed65401ed294984c490ffa025926325"},
|
||||||
{file = "orjson-3.10.18-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:7c14047dbbea52886dd87169f21939af5d55143dad22d10db6a7514f058156a8"},
|
{file = "orjson-3.11.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:325be41a8d7c227d460a9795a181511ba0e731cf3fee088c63eb47e706ea7559"},
|
||||||
{file = "orjson-3.10.18-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:641481b73baec8db14fdf58f8967e52dc8bda1f2aba3aa5f5c1b07ed6df50b7f"},
|
{file = "orjson-3.11.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d9760217b84d1aee393b4436fbe9c639e963ec7bc0f2c074581ce5fb3777e466"},
|
||||||
{file = "orjson-3.10.18-cp310-cp310-win32.whl", hash = "sha256:607eb3ae0909d47280c1fc657c4284c34b785bae371d007595633f4b1a2bbe06"},
|
{file = "orjson-3.11.0-cp310-cp310-win32.whl", hash = "sha256:fe36e5012f886ff91c68b87a499c227fa220e9668cea96335219874c8be5fab5"},
|
||||||
{file = "orjson-3.10.18-cp310-cp310-win_amd64.whl", hash = "sha256:8770432524ce0eca50b7efc2a9a5f486ee0113a5fbb4231526d414e6254eba92"},
|
{file = "orjson-3.11.0-cp310-cp310-win_amd64.whl", hash = "sha256:ebeecd5d5511b3ca9dc4e7db0ab95266afd41baf424cc2fad8c2d3a3cdae650a"},
|
||||||
{file = "orjson-3.10.18-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:e0a183ac3b8e40471e8d843105da6fbe7c070faab023be3b08188ee3f85719b8"},
|
{file = "orjson-3.11.0-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:1785df7ada75c18411ff7e20ac822af904a40161ea9dfe8c55b3f6b66939add6"},
|
||||||
{file = "orjson-3.10.18-cp311-cp311-macosx_15_0_arm64.whl", hash = "sha256:5ef7c164d9174362f85238d0cd4afdeeb89d9e523e4651add6a5d458d6f7d42d"},
|
{file = "orjson-3.11.0-cp311-cp311-macosx_15_0_arm64.whl", hash = "sha256:a57899bebbcea146616a2426d20b51b3562b4bc9f8039a3bd14fae361c23053d"},
|
||||||
{file = "orjson-3.10.18-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afd14c5d99cdc7bf93f22b12ec3b294931518aa019e2a147e8aa2f31fd3240f7"},
|
{file = "orjson-3.11.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b6fbc2fc825aff1456dd358c11a0ad7912a4cb4537d3db92e5334af7463a967"},
|
||||||
{file = "orjson-3.10.18-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7b672502323b6cd133c4af6b79e3bea36bad2d16bca6c1f645903fce83909a7a"},
|
{file = "orjson-3.11.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4305a638f4cf9bed3746ca3b7c242f14e05177d5baec2527026e0f9ee6c24fb7"},
|
||||||
{file = "orjson-3.10.18-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:51f8c63be6e070ec894c629186b1c0fe798662b8687f3d9fdfa5e401c6bd7679"},
|
{file = "orjson-3.11.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1235fe7bbc37164f69302199d46f29cfb874018738714dccc5a5a44042c79c77"},
|
||||||
{file = "orjson-3.10.18-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f9478ade5313d724e0495d167083c6f3be0dd2f1c9c8a38db9a9e912cdaf947"},
|
{file = "orjson-3.11.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a640e3954e7b4fcb160097551e54cafbde9966be3991932155b71071077881aa"},
|
||||||
{file = "orjson-3.10.18-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:187aefa562300a9d382b4b4eb9694806e5848b0cedf52037bb5c228c61bb66d4"},
|
{file = "orjson-3.11.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6d750b97d22d5566955e50b02c622f3a1d32744d7a578c878b29a873190ccb7a"},
|
||||||
{file = "orjson-3.10.18-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9da552683bc9da222379c7a01779bddd0ad39dd699dd6300abaf43eadee38334"},
|
{file = "orjson-3.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4bfcfe498484161e011f8190a400591c52b026de96b3b3cbd3f21e8999b9dc0e"},
|
||||||
{file = "orjson-3.10.18-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e450885f7b47a0231979d9c49b567ed1c4e9f69240804621be87c40bc9d3cf17"},
|
{file = "orjson-3.11.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:feaed3ed43a1d2df75c039798eb5ec92c350c7d86be53369bafc4f3700ce7df2"},
|
||||||
{file = "orjson-3.10.18-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:5e3c9cc2ba324187cd06287ca24f65528f16dfc80add48dc99fa6c836bb3137e"},
|
{file = "orjson-3.11.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:aa1120607ec8fc98acf8c54aac6fb0b7b003ba883401fa2d261833111e2fa071"},
|
||||||
{file = "orjson-3.10.18-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:50ce016233ac4bfd843ac5471e232b865271d7d9d44cf9d33773bcd883ce442b"},
|
{file = "orjson-3.11.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:c4b48d9775b0cf1f0aca734f4c6b272cbfacfac38e6a455e6520662f9434afb7"},
|
||||||
{file = "orjson-3.10.18-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b3ceff74a8f7ffde0b2785ca749fc4e80e4315c0fd887561144059fb1c138aa7"},
|
{file = "orjson-3.11.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f018ed1986d79434ac712ff19f951cd00b4dfcb767444410fbb834ebec160abf"},
|
||||||
{file = "orjson-3.10.18-cp311-cp311-win32.whl", hash = "sha256:fdba703c722bd868c04702cac4cb8c6b8ff137af2623bc0ddb3b3e6a2c8996c1"},
|
{file = "orjson-3.11.0-cp311-cp311-win32.whl", hash = "sha256:08e191f8a55ac2c00be48e98a5d10dca004cbe8abe73392c55951bfda60fc123"},
|
||||||
{file = "orjson-3.10.18-cp311-cp311-win_amd64.whl", hash = "sha256:c28082933c71ff4bc6ccc82a454a2bffcef6e1d7379756ca567c772e4fb3278a"},
|
{file = "orjson-3.11.0-cp311-cp311-win_amd64.whl", hash = "sha256:b5a4214ea59c8a3b56f8d484b28114af74e9fba0956f9be5c3ce388ae143bf1f"},
|
||||||
{file = "orjson-3.10.18-cp311-cp311-win_arm64.whl", hash = "sha256:a6c7c391beaedd3fa63206e5c2b7b554196f14debf1ec9deb54b5d279b1b46f5"},
|
{file = "orjson-3.11.0-cp311-cp311-win_arm64.whl", hash = "sha256:57e8e7198a679ab21241ab3f355a7990c7447559e35940595e628c107ef23736"},
|
||||||
{file = "orjson-3.10.18-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:50c15557afb7f6d63bc6d6348e0337a880a04eaa9cd7c9d569bcb4e760a24753"},
|
{file = "orjson-3.11.0-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:b4089f940c638bb1947d54e46c1cd58f4259072fcc97bc833ea9c78903150ac9"},
|
||||||
{file = "orjson-3.10.18-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:356b076f1662c9813d5fa56db7d63ccceef4c271b1fb3dd522aca291375fcf17"},
|
{file = "orjson-3.11.0-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:8335a0ba1c26359fb5c82d643b4c1abbee2bc62875e0f2b5bde6c8e9e25eb68c"},
|
||||||
{file = "orjson-3.10.18-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:559eb40a70a7494cd5beab2d73657262a74a2c59aff2068fdba8f0424ec5b39d"},
|
{file = "orjson-3.11.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63c1c9772dafc811d16d6a7efa3369a739da15d1720d6e58ebe7562f54d6f4a2"},
|
||||||
{file = "orjson-3.10.18-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f3c29eb9a81e2fbc6fd7ddcfba3e101ba92eaff455b8d602bf7511088bbc0eae"},
|
{file = "orjson-3.11.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9457ccbd8b241fb4ba516417a4c5b95ba0059df4ac801309bcb4ec3870f45ad9"},
|
||||||
{file = "orjson-3.10.18-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6612787e5b0756a171c7d81ba245ef63a3533a637c335aa7fcb8e665f4a0966f"},
|
{file = "orjson-3.11.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0846e13abe79daece94a00b92574f294acad1d362be766c04245b9b4dd0e47e1"},
|
||||||
{file = "orjson-3.10.18-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ac6bd7be0dcab5b702c9d43d25e70eb456dfd2e119d512447468f6405b4a69c"},
|
{file = "orjson-3.11.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5587c85ae02f608a3f377b6af9eb04829606f518257cbffa8f5081c1aacf2e2f"},
|
||||||
{file = "orjson-3.10.18-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9f72f100cee8dde70100406d5c1abba515a7df926d4ed81e20a9730c062fe9ad"},
|
{file = "orjson-3.11.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c7a1964a71c1567b4570c932a0084ac24ad52c8cf6253d1881400936565ed438"},
|
||||||
{file = "orjson-3.10.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dca85398d6d093dd41dc0983cbf54ab8e6afd1c547b6b8a311643917fbf4e0c"},
|
{file = "orjson-3.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b5a8243e73690cc6e9151c9e1dd046a8f21778d775f7d478fa1eb4daa4897c61"},
|
||||||
{file = "orjson-3.10.18-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:22748de2a07fcc8781a70edb887abf801bb6142e6236123ff93d12d92db3d406"},
|
{file = "orjson-3.11.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:51646f6d995df37b6e1b628f092f41c0feccf1d47e3452c6e95e2474b547d842"},
|
||||||
{file = "orjson-3.10.18-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:3a83c9954a4107b9acd10291b7f12a6b29e35e8d43a414799906ea10e75438e6"},
|
{file = "orjson-3.11.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:2fb8ca8f0b4e31b8aaec674c7540649b64ef02809410506a44dc68d31bd5647b"},
|
||||||
{file = "orjson-3.10.18-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:303565c67a6c7b1f194c94632a4a39918e067bd6176a48bec697393865ce4f06"},
|
{file = "orjson-3.11.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:64a6a3e94a44856c3f6557e6aa56a6686544fed9816ae0afa8df9077f5759791"},
|
||||||
{file = "orjson-3.10.18-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:86314fdb5053a2f5a5d881f03fca0219bfdf832912aa88d18676a5175c6916b5"},
|
{file = "orjson-3.11.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d69f95d484938d8fab5963e09131bcf9fbbb81fa4ec132e316eb2fb9adb8ce78"},
|
||||||
{file = "orjson-3.10.18-cp312-cp312-win32.whl", hash = "sha256:187ec33bbec58c76dbd4066340067d9ece6e10067bb0cc074a21ae3300caa84e"},
|
{file = "orjson-3.11.0-cp312-cp312-win32.whl", hash = "sha256:8514f9f9c667ce7d7ef709ab1a73e7fcab78c297270e90b1963df7126d2b0e23"},
|
||||||
{file = "orjson-3.10.18-cp312-cp312-win_amd64.whl", hash = "sha256:f9f94cf6d3f9cd720d641f8399e390e7411487e493962213390d1ae45c7814fc"},
|
{file = "orjson-3.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:41b38a894520b8cb5344a35ffafdf6ae8042f56d16771b2c5eb107798cee85ee"},
|
||||||
{file = "orjson-3.10.18-cp312-cp312-win_arm64.whl", hash = "sha256:3d600be83fe4514944500fa8c2a0a77099025ec6482e8087d7659e891f23058a"},
|
{file = "orjson-3.11.0-cp312-cp312-win_arm64.whl", hash = "sha256:5579acd235dd134467340b2f8a670c1c36023b5a69c6a3174c4792af7502bd92"},
|
||||||
{file = "orjson-3.10.18-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:69c34b9441b863175cc6a01f2935de994025e773f814412030f269da4f7be147"},
|
{file = "orjson-3.11.0-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:4a8ba9698655e16746fdf5266939427da0f9553305152aeb1a1cc14974a19cfb"},
|
||||||
{file = "orjson-3.10.18-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:1ebeda919725f9dbdb269f59bc94f861afbe2a27dce5608cdba2d92772364d1c"},
|
{file = "orjson-3.11.0-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:67133847f9a35a5ef5acfa3325d4a2f7fe05c11f1505c4117bb086fc06f2a58f"},
|
||||||
{file = "orjson-3.10.18-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5adf5f4eed520a4959d29ea80192fa626ab9a20b2ea13f8f6dc58644f6927103"},
|
{file = "orjson-3.11.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f797d57814975b78f5f5423acb003db6f9be5186b72d48bd97a1000e89d331d"},
|
||||||
{file = "orjson-3.10.18-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7592bb48a214e18cd670974f289520f12b7aed1fa0b2e2616b8ed9e069e08595"},
|
{file = "orjson-3.11.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:28acd19822987c5163b9e03a6e60853a52acfee384af2b394d11cb413b889246"},
|
||||||
{file = "orjson-3.10.18-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f872bef9f042734110642b7a11937440797ace8c87527de25e0c53558b579ccc"},
|
{file = "orjson-3.11.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e8d38d9e1e2cf9729658e35956cf01e13e89148beb4cb9e794c9c10c5cb252f8"},
|
||||||
{file = "orjson-3.10.18-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0315317601149c244cb3ecef246ef5861a64824ccbcb8018d32c66a60a84ffbc"},
|
{file = "orjson-3.11.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05f094edd2b782650b0761fd78858d9254de1c1286f5af43145b3d08cdacfd51"},
|
||||||
{file = "orjson-3.10.18-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0da26957e77e9e55a6c2ce2e7182a36a6f6b180ab7189315cb0995ec362e049"},
|
{file = "orjson-3.11.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6d09176a4a9e04a5394a4a0edd758f645d53d903b306d02f2691b97d5c736a9e"},
|
||||||
{file = "orjson-3.10.18-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb70d489bc79b7519e5803e2cc4c72343c9dc1154258adf2f8925d0b60da7c58"},
|
{file = "orjson-3.11.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a585042104e90a61eda2564d11317b6a304eb4e71cd33e839f5af6be56c34d3"},
|
||||||
{file = "orjson-3.10.18-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e9e86a6af31b92299b00736c89caf63816f70a4001e750bda179e15564d7a034"},
|
{file = "orjson-3.11.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d2218629dbfdeeb5c9e0573d59f809d42f9d49ae6464d2f479e667aee14c3ef4"},
|
||||||
{file = "orjson-3.10.18-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:c382a5c0b5931a5fc5405053d36c1ce3fd561694738626c77ae0b1dfc0242ca1"},
|
{file = "orjson-3.11.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:613e54a2b10b51b656305c11235a9c4a5c5491ef5c283f86483d4e9e123ed5e4"},
|
||||||
{file = "orjson-3.10.18-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8e4b2ae732431127171b875cb2668f883e1234711d3c147ffd69fe5be51a8012"},
|
{file = "orjson-3.11.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:9dac7fbf3b8b05965986c5cfae051eb9a30fced7f15f1d13a5adc608436eb486"},
|
||||||
{file = "orjson-3.10.18-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2d808e34ddb24fc29a4d4041dcfafbae13e129c93509b847b14432717d94b44f"},
|
{file = "orjson-3.11.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:93b64b254414e2be55ac5257124b5602c5f0b4d06b80bd27d1165efe8f36e836"},
|
||||||
{file = "orjson-3.10.18-cp313-cp313-win32.whl", hash = "sha256:ad8eacbb5d904d5591f27dee4031e2c1db43d559edb8f91778efd642d70e6bea"},
|
{file = "orjson-3.11.0-cp313-cp313-win32.whl", hash = "sha256:359cbe11bc940c64cb3848cf22000d2aef36aff7bfd09ca2c0b9cb309c387132"},
|
||||||
{file = "orjson-3.10.18-cp313-cp313-win_amd64.whl", hash = "sha256:aed411bcb68bf62e85588f2a7e03a6082cc42e5a2796e06e72a962d7c6310b52"},
|
{file = "orjson-3.11.0-cp313-cp313-win_amd64.whl", hash = "sha256:0759b36428067dc777b202dd286fbdd33d7f261c6455c4238ea4e8474358b1e6"},
|
||||||
{file = "orjson-3.10.18-cp313-cp313-win_arm64.whl", hash = "sha256:f54c1385a0e6aba2f15a40d703b858bedad36ded0491e55d35d905b2c34a4cc3"},
|
{file = "orjson-3.11.0-cp313-cp313-win_arm64.whl", hash = "sha256:51cdca2f36e923126d0734efaf72ddbb5d6da01dbd20eab898bdc50de80d7b5a"},
|
||||||
{file = "orjson-3.10.18-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:c95fae14225edfd699454e84f61c3dd938df6629a00c6ce15e704f57b58433bb"},
|
{file = "orjson-3.11.0-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:d79c180cfb3ae68f13245d0ff551dca03d96258aa560830bf8a223bd68d8272c"},
|
||||||
{file = "orjson-3.10.18-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5232d85f177f98e0cefabb48b5e7f60cff6f3f0365f9c60631fecd73849b2a82"},
|
{file = "orjson-3.11.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:105bca887532dc71ce4b05a5de95dea447a310409d7a8cf0cb1c4a120469e9ad"},
|
||||||
{file = "orjson-3.10.18-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2783e121cafedf0d85c148c248a20470018b4ffd34494a68e125e7d5857655d1"},
|
{file = "orjson-3.11.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:acf5a63ae9cdb88274126af85913ceae554d8fd71122effa24a53227abbeee16"},
|
||||||
{file = "orjson-3.10.18-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e54ee3722caf3db09c91f442441e78f916046aa58d16b93af8a91500b7bbf273"},
|
{file = "orjson-3.11.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:894635df36c0be32f1c8c8607e853b8865edb58e7618e57892e85d06418723eb"},
|
||||||
{file = "orjson-3.10.18-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2daf7e5379b61380808c24f6fc182b7719301739e4271c3ec88f2984a2d61f89"},
|
{file = "orjson-3.11.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02dd4f0a1a2be943a104ce5f3ec092631ee3e9f0b4bb9eeee3400430bd94ddef"},
|
||||||
{file = "orjson-3.10.18-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7f39b371af3add20b25338f4b29a8d6e79a8c7ed0e9dd49e008228a065d07781"},
|
{file = "orjson-3.11.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:720b4bb5e1b971960a62c2fa254c2d2a14e7eb791e350d05df8583025aa59d15"},
|
||||||
{file = "orjson-3.10.18-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b819ed34c01d88c6bec290e6842966f8e9ff84b7694632e88341363440d4cc0"},
|
{file = "orjson-3.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8bf058105a8aed144e0d1cfe7ac4174748c3fc7203f225abaeac7f4121abccb0"},
|
||||||
{file = "orjson-3.10.18-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2f6c57debaef0b1aa13092822cbd3698a1fb0209a9ea013a969f4efa36bdea57"},
|
{file = "orjson-3.11.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a2788f741e5a0e885e5eaf1d91d0c9106e03cb9575b0c55ba36fd3d48b0b1e9b"},
|
||||||
{file = "orjson-3.10.18-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:755b6d61ffdb1ffa1e768330190132e21343757c9aa2308c67257cc81a1a6f5a"},
|
{file = "orjson-3.11.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:c60c99fe1e15894367b0340b2ff16c7c69f9c3f3a54aa3961a58c102b292ad94"},
|
||||||
{file = "orjson-3.10.18-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ce8d0a875a85b4c8579eab5ac535fb4b2a50937267482be402627ca7e7570ee3"},
|
{file = "orjson-3.11.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:99d17aab984f4d029b8f3c307e6be3c63d9ee5ef55e30d761caf05e883009949"},
|
||||||
{file = "orjson-3.10.18-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:57b5d0673cbd26781bebc2bf86f99dd19bd5a9cb55f71cc4f66419f6b50f3d77"},
|
{file = "orjson-3.11.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e98f02e23611763c9e5dfcb83bd33219231091589f0d1691e721aea9c52bf329"},
|
||||||
{file = "orjson-3.10.18-cp39-cp39-win32.whl", hash = "sha256:951775d8b49d1d16ca8818b1f20c4965cae9157e7b562a2ae34d3967b8f21c8e"},
|
{file = "orjson-3.11.0-cp39-cp39-win32.whl", hash = "sha256:923301f33ea866b18f8836cf41d9c6d33e3b5cab8577d20fed34ec29f0e13a0d"},
|
||||||
{file = "orjson-3.10.18-cp39-cp39-win_amd64.whl", hash = "sha256:fdd9d68f83f0bc4406610b1ac68bdcded8c5ee58605cc69e643a06f4d075f429"},
|
{file = "orjson-3.11.0-cp39-cp39-win_amd64.whl", hash = "sha256:475491bb78af2a0170f49e90013f1a0f1286527f3617491f8940d7e5da862da7"},
|
||||||
{file = "orjson-3.10.18.tar.gz", hash = "sha256:e8da3947d92123eda795b68228cafe2724815621fe35e8e320a9e9593a4bcd53"},
|
{file = "orjson-3.11.0.tar.gz", hash = "sha256:2e4c129da624f291bcc607016a99e7f04a353f6874f3bd8d9b47b88597d5f700"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -2684,14 +2685,14 @@ dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "requests
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pytest-asyncio"
|
name = "pytest-asyncio"
|
||||||
version = "1.0.0"
|
version = "1.1.0"
|
||||||
description = "Pytest support for asyncio"
|
description = "Pytest support for asyncio"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.9"
|
python-versions = ">=3.9"
|
||||||
groups = ["dev"]
|
groups = ["dev"]
|
||||||
files = [
|
files = [
|
||||||
{file = "pytest_asyncio-1.0.0-py3-none-any.whl", hash = "sha256:4f024da9f1ef945e680dc68610b52550e36590a67fd31bb3b4943979a1f90ef3"},
|
{file = "pytest_asyncio-1.1.0-py3-none-any.whl", hash = "sha256:5fe2d69607b0bd75c656d1211f969cadba035030156745ee09e7d71740e58ecf"},
|
||||||
{file = "pytest_asyncio-1.0.0.tar.gz", hash = "sha256:d15463d13f4456e1ead2594520216b225a16f781e144f8fdf6c5bb4667c48b3f"},
|
{file = "pytest_asyncio-1.1.0.tar.gz", hash = "sha256:796aa822981e01b68c12e4827b8697108f7205020f24b5793b3c41555dab68ea"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
|
@ -3871,4 +3872,4 @@ pgsql = ["psycopg2-binary"]
|
||||||
[metadata]
|
[metadata]
|
||||||
lock-version = "2.1"
|
lock-version = "2.1"
|
||||||
python-versions = ">=3.12,<3.13"
|
python-versions = ">=3.12,<3.13"
|
||||||
content-hash = "df16815f799254568f5e7083c49bb302e77003bcafbd34dfa92ad65d0335efb3"
|
content-hash = "8c337ab9231ded0f66d8e8d14a6d465bb8009f0f9377e5c480ed5baa4b928ed1"
|
||||||
|
|
|
@ -3,7 +3,7 @@ authors = ["Hayden <hay-kot@pm.me>"]
|
||||||
description = "A Recipe Manager"
|
description = "A Recipe Manager"
|
||||||
license = "AGPL"
|
license = "AGPL"
|
||||||
name = "mealie"
|
name = "mealie"
|
||||||
version = "3.0.1"
|
version = "3.0.2"
|
||||||
include = [
|
include = [
|
||||||
# Explicit include to override .gitignore when packaging the frontend
|
# Explicit include to override .gitignore when packaging the frontend
|
||||||
{ path = "mealie/frontend/**/*", format = ["sdist", "wheel"] }
|
{ path = "mealie/frontend/**/*", format = ["sdist", "wheel"] }
|
||||||
|
@ -24,7 +24,7 @@ appdirs = "1.4.4"
|
||||||
apprise = "^1.4.5"
|
apprise = "^1.4.5"
|
||||||
bcrypt = "^4.0.1"
|
bcrypt = "^4.0.1"
|
||||||
extruct = "^0.18.0"
|
extruct = "^0.18.0"
|
||||||
fastapi = "^0.115.0"
|
fastapi = "^0.116.0"
|
||||||
httpx = "^0.28.0"
|
httpx = "^0.28.0"
|
||||||
lxml = "^6.0.0"
|
lxml = "^6.0.0"
|
||||||
orjson = "^3.8.0"
|
orjson = "^3.8.0"
|
||||||
|
|
|
@ -2,7 +2,8 @@ import pytest
|
||||||
from bs4 import BeautifulSoup
|
from bs4 import BeautifulSoup
|
||||||
|
|
||||||
from mealie.routes import spa
|
from mealie.routes import spa
|
||||||
from mealie.schema.recipe.recipe import Recipe
|
from mealie.schema.recipe.recipe import Recipe, RecipeSettings
|
||||||
|
from mealie.schema.recipe.recipe_notes import RecipeNote
|
||||||
from mealie.schema.recipe.recipe_share_token import RecipeShareTokenSave
|
from mealie.schema.recipe.recipe_share_token import RecipeShareTokenSave
|
||||||
from tests import data as test_data
|
from tests import data as test_data
|
||||||
from tests.utils.factories import random_string
|
from tests.utils.factories import random_string
|
||||||
|
@ -189,3 +190,28 @@ async def test_spa_service_shared_recipe_with_meta_invalid_data(unique_user: Tes
|
||||||
|
|
||||||
response = await spa.serve_shared_recipe_with_meta(group.slug, random_string(), session=unique_user.repos.session)
|
response = await spa.serve_shared_recipe_with_meta(group.slug, random_string(), session=unique_user.repos.session)
|
||||||
assert response.status_code == 404
|
assert response.status_code == 404
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
"malicious_content, malicious_strings",
|
||||||
|
[
|
||||||
|
("<script>alert('XSS');</script>", ["<script>", "alert('XSS')"]),
|
||||||
|
("<img src=x onerror=alert('XSS')>", ["<img", "onerror=alert('XSS')"]),
|
||||||
|
("<div onmouseover=alert('XSS')>Hover me</div>", ["<div", "onmouseover=alert('XSS')"]),
|
||||||
|
("<a href='javascript:alert(\"XSS\")'>Click me</a>", ["<a", 'javascript:alert("XSS")']),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
def test_spa_escapes_malicious_recipe_data(unique_user: TestUser, malicious_content: str, malicious_strings: list[str]):
|
||||||
|
recipe = Recipe(
|
||||||
|
user_id=unique_user.user_id,
|
||||||
|
group_id=unique_user.group_id,
|
||||||
|
name=malicious_content,
|
||||||
|
description=malicious_content,
|
||||||
|
image=malicious_content,
|
||||||
|
notes=[RecipeNote(title=malicious_content, text=malicious_content)],
|
||||||
|
settings=RecipeSettings(),
|
||||||
|
)
|
||||||
|
|
||||||
|
response = spa.content_with_meta(unique_user.group_id, recipe)
|
||||||
|
for string in malicious_strings:
|
||||||
|
assert string not in response
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue