mirror of
https://github.com/mealie-recipes/mealie.git
synced 2026-02-26 01:33:12 -05:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
61f2a87cf6 | ||
|
|
fa6743110f | ||
|
|
b565cf24df | ||
|
|
903a9d8861 |
@@ -1,3 +1,27 @@
|
||||
.git
|
||||
.github
|
||||
.dockerignore
|
||||
.gitignore
|
||||
|
||||
.idea
|
||||
.vscode
|
||||
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
*.so
|
||||
htmlcov/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.pytest_cache/
|
||||
.venv
|
||||
venv
|
||||
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
._*
|
||||
|
||||
*/node_modules
|
||||
*/dist
|
||||
*/data/db
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -55,6 +55,7 @@ eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
!frontend/src/components/Recipe/Parts/
|
||||
sdist/
|
||||
var/
|
||||
wheels/
|
||||
|
||||
53
Caddyfile
53
Caddyfile
@@ -1,35 +1,34 @@
|
||||
{
|
||||
auto_https off
|
||||
admin off
|
||||
admin off
|
||||
}
|
||||
|
||||
:80 {
|
||||
@proxied path /api/* /docs /openapi.json
|
||||
@proxied path /api/* /docs /openapi.json
|
||||
|
||||
@static {
|
||||
file
|
||||
path *.ico *.css *.js *.gif *.jpg *.jpeg *.png *.svg *.woff *.woff2 *.webp
|
||||
}
|
||||
|
||||
encode gzip zstd
|
||||
|
||||
|
||||
# Handles Recipe Images / Assets
|
||||
handle_path /api/media/recipes/* {
|
||||
header @static Cache-Control max-age=31536000
|
||||
root * /app/data/recipes/
|
||||
file_server
|
||||
}
|
||||
@static {
|
||||
file
|
||||
path *.ico *.css *.js *.gif *.jpg *.jpeg *.png *.svg *.woff *.woff2 *.webp
|
||||
}
|
||||
|
||||
handle @proxied {
|
||||
uri strip_suffix /
|
||||
reverse_proxy http://127.0.0.1:9000
|
||||
}
|
||||
encode gzip zstd
|
||||
|
||||
handle {
|
||||
header @static Cache-Control max-age=31536000
|
||||
root * /app/dist
|
||||
try_files {path}.html {path} /
|
||||
file_server
|
||||
}
|
||||
}
|
||||
# Handles Recipe Images / Assets
|
||||
handle_path /api/media/recipes/* {
|
||||
header @static Cache-Control max-age=31536000
|
||||
root * /app/data/recipes/
|
||||
file_server
|
||||
}
|
||||
|
||||
handle @proxied {
|
||||
uri strip_suffix /
|
||||
reverse_proxy http://127.0.0.1:9000
|
||||
}
|
||||
|
||||
handle {
|
||||
header @static Cache-Control max-age=31536000
|
||||
root * /app/dist
|
||||
try_files {path}.html {path} /
|
||||
file_server
|
||||
}
|
||||
}
|
||||
|
||||
149
Dockerfile
149
Dockerfile
@@ -1,59 +1,140 @@
|
||||
# build
|
||||
FROM node:lts-alpine as build-stage
|
||||
###############################################
|
||||
# Frontend Builder Image
|
||||
###############################################
|
||||
FROM node:lts-alpine as frontend-build
|
||||
WORKDIR /app
|
||||
COPY ./frontend/package*.json ./
|
||||
RUN npm install
|
||||
COPY ./frontend/ .
|
||||
RUN npm run build
|
||||
|
||||
###############################################
|
||||
# Base Image
|
||||
###############################################
|
||||
FROM python:3.9-slim as python-base
|
||||
|
||||
FROM python:3.9-slim-buster
|
||||
ENV MEALIE_HOME="/app"
|
||||
|
||||
ENV PRODUCTION true
|
||||
ENV POETRY_VERSION 1.1.6
|
||||
ENV PYTHONUNBUFFERED=1 \
|
||||
PYTHONDONTWRITEBYTECODE=1 \
|
||||
PIP_NO_CACHE_DIR=off \
|
||||
PIP_DISABLE_PIP_VERSION_CHECK=on \
|
||||
PIP_DEFAULT_TIMEOUT=100 \
|
||||
POETRY_HOME="/opt/poetry" \
|
||||
POETRY_VIRTUALENVS_IN_PROJECT=true \
|
||||
POETRY_NO_INTERACTION=1 \
|
||||
PYSETUP_PATH="/opt/pysetup" \
|
||||
VENV_PATH="/opt/pysetup/.venv"
|
||||
|
||||
# prepend poetry and venv to path
|
||||
ENV PATH="$POETRY_HOME/bin:$VENV_PATH/bin:$PATH"
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
gcc g++ \
|
||||
# create user account
|
||||
RUN useradd -u 911 -U -d $MEALIE_HOME -s /bin/bash abc \
|
||||
&& usermod -G users abc \
|
||||
&& mkdir $MEALIE_HOME
|
||||
|
||||
###############################################
|
||||
# Builder Image
|
||||
###############################################
|
||||
FROM python-base as builder-base
|
||||
RUN apt-get update \
|
||||
&& apt-get install --no-install-recommends -y \
|
||||
curl \
|
||||
gnupg gnupg2 gnupg1 \
|
||||
apt-transport-https \
|
||||
debian-archive-keyring \
|
||||
debian-keyring \
|
||||
build-essential \
|
||||
libpq-dev \
|
||||
libwebp-dev \
|
||||
gnupg gnupg2 gnupg1 \
|
||||
debian-keyring \
|
||||
debian-archive-keyring \
|
||||
apt-transport-https \
|
||||
&& curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | apt-key add - \
|
||||
&& curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee -a /etc/apt/sources.list.d/caddy-stable.list \
|
||||
&& apt-get update && apt-get install -y --no-install-recommends \
|
||||
&& curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends -y \
|
||||
caddy \
|
||||
&& apt autoremove \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& apt-get remove -y curl apt-transport-https debian-keyring g++ gnupg gnupg2 gnupg1
|
||||
&& pip install -U --no-cache-dir pip
|
||||
|
||||
# install poetry - respects $POETRY_VERSION & $POETRY_HOME
|
||||
ENV POETRY_VERSION=1.1.6
|
||||
RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | python -
|
||||
|
||||
RUN pip install --no-cache-dir "poetry==$POETRY_VERSION"
|
||||
# copy project requirement files here to ensure they will be cached.
|
||||
WORKDIR $PYSETUP_PATH
|
||||
COPY ./poetry.lock ./pyproject.toml ./
|
||||
|
||||
# project dependencies
|
||||
WORKDIR /app
|
||||
COPY pyproject.toml poetry.lock /app/
|
||||
RUN poetry config virtualenvs.create false
|
||||
RUN poetry install -E pgsql --no-dev --no-interaction --no-ansi
|
||||
# install runtime deps - uses $POETRY_VIRTUALENVS_IN_PROJECT internally
|
||||
RUN poetry install -E pgsql --no-dev
|
||||
|
||||
COPY ./mealie /app/mealie
|
||||
RUN poetry config virtualenvs.create false \
|
||||
&& poetry install -E pgsql --no-dev
|
||||
###############################################
|
||||
# Development Image
|
||||
###############################################
|
||||
FROM python-base as development
|
||||
ENV PRODUCTION=false
|
||||
|
||||
# copying poetry and venv into image
|
||||
COPY --from=builder-base $POETRY_HOME $POETRY_HOME
|
||||
COPY --from=builder-base $PYSETUP_PATH $PYSETUP_PATH
|
||||
|
||||
# copy backend
|
||||
COPY ./mealie $MEALIE_HOME/mealie
|
||||
COPY ./poetry.lock ./pyproject.toml $MEALIE_HOME/
|
||||
|
||||
#! Future
|
||||
# COPY ./alembic /app
|
||||
# COPY alembic.ini /app
|
||||
COPY ./Caddyfile /app
|
||||
COPY ./dev/data/templates /app/data/templates
|
||||
# COPY ./alembic ./alembic.ini $MEALIE_HOME/
|
||||
|
||||
# frontend build
|
||||
COPY --from=build-stage /app/dist /app/dist
|
||||
# venv already has runtime deps installed we get a quicker install
|
||||
WORKDIR $MEALIE_HOME
|
||||
RUN . $VENV_PATH/bin/activate && poetry install
|
||||
WORKDIR /
|
||||
|
||||
VOLUME [ "/app/data/" ]
|
||||
RUN chmod +x $MEALIE_HOME/mealie/run.sh
|
||||
ENTRYPOINT $MEALIE_HOME/mealie/run.sh "reload"
|
||||
|
||||
EXPOSE 80
|
||||
###############################################
|
||||
# Production Image
|
||||
###############################################
|
||||
FROM python-base as production
|
||||
ENV PRODUCTION=true
|
||||
|
||||
CMD /app/mealie/run.sh
|
||||
# curl for used by healthcheck
|
||||
RUN apt-get update \
|
||||
&& apt-get install --no-install-recommends -y \
|
||||
curl \
|
||||
&& apt-get autoremove \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# copying poetry and venv into image
|
||||
COPY --from=builder-base $POETRY_HOME $POETRY_HOME
|
||||
COPY --from=builder-base $PYSETUP_PATH $PYSETUP_PATH
|
||||
|
||||
# copying caddy into image
|
||||
COPY --from=builder-base /usr/bin/caddy /usr/bin/caddy
|
||||
|
||||
# copy backend
|
||||
COPY ./mealie $MEALIE_HOME/mealie
|
||||
COPY ./poetry.lock ./pyproject.toml $MEALIE_HOME/
|
||||
COPY ./gunicorn_conf.py $MEALIE_HOME
|
||||
|
||||
#! Future
|
||||
# COPY ./alembic ./alembic.ini $MEALIE_HOME/
|
||||
|
||||
# venv already has runtime deps installed we get a quicker install
|
||||
WORKDIR $MEALIE_HOME
|
||||
RUN . $VENV_PATH/bin/activate && poetry install -E pgsql --no-dev
|
||||
WORKDIR /
|
||||
|
||||
# copy frontend
|
||||
COPY --from=frontend-build /app/dist $MEALIE_HOME/dist
|
||||
COPY ./dev/data/templates $MEALIE_HOME/data/templates
|
||||
COPY ./Caddyfile $MEALIE_HOME
|
||||
|
||||
VOLUME [ "$MEALIE_HOME/data/" ]
|
||||
ENV APP_PORT=80
|
||||
|
||||
EXPOSE ${APP_PORT}
|
||||
|
||||
HEALTHCHECK CMD curl -f http://localhost:${APP_PORT} || exit 1
|
||||
|
||||
RUN chmod +x $MEALIE_HOME/mealie/run.sh
|
||||
ENTRYPOINT $MEALIE_HOME/mealie/run.sh
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
FROM python:3.9-slim-buster
|
||||
|
||||
|
||||
ENV PRODUCTION false
|
||||
ENV POETRY_VERSION 1.1.6
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
gcc g++ \
|
||||
curl \
|
||||
gnupg gnupg2 gnupg1 \
|
||||
apt-transport-https \
|
||||
debian-archive-keyring \
|
||||
debian-keyring \
|
||||
libwebp-dev \
|
||||
&& curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | apt-key add - \
|
||||
&& curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee -a /etc/apt/sources.list.d/caddy-stable.list \
|
||||
&& apt-get update && apt-get install -y --no-install-recommends \
|
||||
&& apt autoremove \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& apt-get remove -y curl apt-transport-https debian-keyring g++ gnupg gnupg2 gnupg1
|
||||
|
||||
RUN pip install --no-cache-dir "poetry==$POETRY_VERSION"
|
||||
|
||||
WORKDIR /app/
|
||||
|
||||
# Copy poetry.lock* in case it doesn't exist in the repo
|
||||
COPY ./pyproject.toml /app/
|
||||
COPY ./mealie /app/mealie
|
||||
RUN poetry config virtualenvs.create false \
|
||||
&& poetry install
|
||||
|
||||
RUN chmod +x /app/mealie/run.sh
|
||||
CMD ["/app/mealie/run.sh", "reload"]
|
||||
@@ -6,9 +6,9 @@
|
||||
[![Docker Pulls][docker-pull]][docker-pull]
|
||||
[](https://www.codefactor.io/repository/github/hay-kot/mealie)
|
||||
[](https://github.com/hay-kot/mealie/actions/workflows/dockerbuild.release.yml)
|
||||
[](https://github.com/hay-kot/mealie/actions/workflows/pytest.yml)
|
||||
[](https://github.com/hay-kot/mealie/actions/workflows/test-all.yml)
|
||||
[](https://github.com/hay-kot/mealie/actions/workflows/dockerbuild.dev.yml)
|
||||
[](https://github.com/hay-kot/mealie/actions/workflows/pytest.yml)
|
||||
[](https://github.com/hay-kot/mealie/actions/workflows/test-all.yml)
|
||||
|
||||
<!-- PROJECT LOGO -->
|
||||
<br />
|
||||
|
||||
@@ -8,6 +8,7 @@ class AppRoutes:
|
||||
self.about_events = "/api/about/events"
|
||||
self.about_events_notifications = "/api/about/events/notifications"
|
||||
self.about_events_notifications_test = "/api/about/events/notifications/test"
|
||||
self.about_recipes_defaults = "/api/about/recipes/defaults"
|
||||
self.auth_refresh = "/api/auth/refresh"
|
||||
self.auth_token = "/api/auth/token"
|
||||
self.auth_token_long = "/api/auth/token/long"
|
||||
@@ -31,6 +32,7 @@ class AppRoutes:
|
||||
self.migrations = "/api/migrations"
|
||||
self.recipes_category = "/api/recipes/category"
|
||||
self.recipes_create = "/api/recipes/create"
|
||||
self.recipes_create_from_zip = "/api/recipes/create-from-zip"
|
||||
self.recipes_create_url = "/api/recipes/create-url"
|
||||
self.recipes_summary = "/api/recipes/summary"
|
||||
self.recipes_summary_uncategorized = "/api/recipes/summary/uncategorized"
|
||||
@@ -108,6 +110,9 @@ class AppRoutes:
|
||||
def recipes_recipe_slug_image(self, recipe_slug):
|
||||
return f"{self.prefix}/recipes/{recipe_slug}/image"
|
||||
|
||||
def recipes_recipe_slug_zip(self, recipe_slug):
|
||||
return f"{self.prefix}/recipes/{recipe_slug}/zip"
|
||||
|
||||
def recipes_slug_comments(self, slug):
|
||||
return f"{self.prefix}/recipes/{slug}/comments"
|
||||
|
||||
|
||||
@@ -23,7 +23,8 @@ services:
|
||||
image: mealie-api:dev
|
||||
build:
|
||||
context: ./
|
||||
dockerfile: Dockerfile.dev
|
||||
target: development
|
||||
dockerfile: Dockerfile
|
||||
restart: always
|
||||
ports:
|
||||
- 9921:9000
|
||||
|
||||
@@ -3,6 +3,7 @@ services:
|
||||
mealie:
|
||||
build:
|
||||
context: ./
|
||||
target: production
|
||||
dockerfile: Dockerfile
|
||||
container_name: mealie
|
||||
restart: always
|
||||
@@ -17,6 +18,9 @@ services:
|
||||
POSTGRES_SERVER: postgres
|
||||
POSTGRES_PORT: 5432
|
||||
POSTGRES_DB: mealie
|
||||
# WORKERS_PER_CORE: 0.5
|
||||
# MAX_WORKERS: 8
|
||||
WEB_CONCURRENCY: 2
|
||||
postgres:
|
||||
container_name: postgres
|
||||
image: postgres
|
||||
|
||||
11
docs/docs/assets/js/extra.js
Normal file
11
docs/docs/assets/js/extra.js
Normal file
@@ -0,0 +1,11 @@
|
||||
/* Add target="_blank" to external links */
|
||||
/* Source: https://html.com/attributes/a-target/#:~:text=browser */
|
||||
function externalLinks() {
|
||||
for (var c = document.getElementsByTagName("a"), a = 0; a < c.length; a++) {
|
||||
var b = c[a];
|
||||
b.getAttribute("href") &&
|
||||
b.hostname !== location.hostname &&
|
||||
(b.target = "_blank");
|
||||
}
|
||||
}
|
||||
externalLinks();
|
||||
@@ -33,6 +33,12 @@ a.md-button.md-button:hover {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
/* Add icon after external links */
|
||||
/* Ignore auto-generated material theme links */
|
||||
a[target="_blank"]:not([class*="md-"]):after {
|
||||
content: " " url("../svg/open-in-new.svg");
|
||||
}
|
||||
|
||||
/* Site width etc.*/
|
||||
.md-grid {
|
||||
max-width: 64rem !important;
|
||||
|
||||
3
docs/docs/assets/svg/open-in-new.svg
Normal file
3
docs/docs/assets/svg/open-in-new.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24">
|
||||
<path fill="rgb(229,131,37)" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 259 B |
@@ -18,7 +18,7 @@
|
||||
If you have been using the API directly, many of the routes and status codes have changed. You may experience issues with directly consuming the API.
|
||||
|
||||
#### Arm/v7 Support
|
||||
Mealie will no longer build in CI/CD due to a issue with the rust compiler on 32 bit devices. You can reference [this issue on the matrix-org/synapse](https://github.com/matrix-org/synapse/issues/9403){:target="_blank"} Github page that are facing a similar issue. You may still be able to build the docker image you-self.
|
||||
Mealie will no longer build in CI/CD due to a issue with the rust compiler on 32 bit devices. You can reference [this issue on the matrix-org/synapse](https://github.com/matrix-org/synapse/issues/9403) Github page that are facing a similar issue. You may still be able to build the docker image you-self.
|
||||
|
||||
!!! warning "Potential Data Loss"
|
||||
With this release comes a major rework of how files are stored on disk and where things belong. Migration of files should be done automatically. We have tested extensively with many different backups and user bases and have found that no one experienced data-loss. HOWEVER, with all the major changes that have occurred, it is vital that to prevent any data-loss you must create a backup and store that backup outside of your mealie instance. If you do not do this, you may lose your data.
|
||||
@@ -44,7 +44,7 @@
|
||||
### Highlights
|
||||
- Recipe Parser
|
||||
- Recipes can now be imported with a bookmarklet!
|
||||
- Significant improvement in supported sites with the new [Recipe Scraper Library](https://github.com/hhursev/recipe-scrapers){:target="_blank"}
|
||||
- Significant improvement in supported sites with the new [Recipe Scraper Library](https://github.com/hhursev/recipe-scrapers)
|
||||
- UI Debugging now available at `/recipes/debugger`
|
||||
- Better error messages on failure
|
||||
- ⚠️ last_recipe.json is now depreciated
|
||||
|
||||
11
docs/docs/changelog/v0.5.1.md
Normal file
11
docs/docs/changelog/v0.5.1.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# v0.5.1
|
||||
|
||||
**App Version: v0.5.1**
|
||||
|
||||
**Database Version: v0.5.0**
|
||||
|
||||
|
||||
## Bug Fixes
|
||||
- Fixed #538 - Missing Ingredients on Editor
|
||||
- Fixed error on webhooks for new groups
|
||||
- Fixed various icons references
|
||||
65
docs/docs/changelog/v0.5.2.md
Normal file
65
docs/docs/changelog/v0.5.2.md
Normal file
@@ -0,0 +1,65 @@
|
||||
# v0.5.2
|
||||
|
||||
**App Version: v0.5.2**
|
||||
|
||||
**Database Version: v0.5.0**
|
||||
|
||||
## Bug Fixes
|
||||
- Fixed #617 - Section behavior when adding a step
|
||||
- Fixed #615 - Recipe Settings are not available when creating new recipe
|
||||
- Fixed #625 - API of today's image returns strange characters
|
||||
- Fixed [#590](https://github.com/hay-kot/mealie/issues/590) - Duplicate Events when using Gunicorn Workers
|
||||
|
||||
## Features and Improvements
|
||||
|
||||
### General
|
||||
- Recipe Instructions now collapse when checked
|
||||
- Default recipe settings can be set through ENV variables
|
||||
- Recipe Ingredient lists can now container ingredient sections.
|
||||
- You can now download and upload individual recipes
|
||||
|
||||
|
||||
### Localization
|
||||
|
||||
Huge thanks to [@sephrat](https://github.com/sephrat) for all his work on the project. He's very consistent in his contributions to the project and nearly every release has had some of his code in it! Here's some highlights from this release
|
||||
|
||||
- Lazy Load Translations (Huge Performance Increase!)
|
||||
- Tons of localization additions all around the site.
|
||||
- All of the work that goes into managing and making Crowdin a great feature the application
|
||||
|
||||
#### Here a list of contributors on Crowding who make Mealie possible in different locals
|
||||
|
||||
| Name | Languages | Translated (Words) | Target Words |
|
||||
| ---------------------------- | ------------------ | :----------------: | :----------: |
|
||||
| retmas-gh | Polish | 550 | 625 |
|
||||
| startos | Italian | 310 | 322 |
|
||||
| CMBoii | Spanish | 256 | 291 |
|
||||
| sephrat | French | 255 | 296 |
|
||||
| Daniel Tildeman (tildeman) | Swedish | 233 | 228 |
|
||||
| Rourke | Dutch | 216 | 214 |
|
||||
| Andreas Waschinski (Wascha) | German | 207 | 202 |
|
||||
| wengtad | Chinese Simplified | 176 | 343 |
|
||||
| Matthias Borremans (MrBorri) | Dutch | 96 | 89 |
|
||||
| Adam Syndoman (pypckompsite) | Polish | 68 | 65 |
|
||||
| JonasSchubert | German | 22 | 23 |
|
||||
| ThrawnJL | Danish | 7 | 7 |
|
||||
| NicholasBrody | Dutch | 7 | 7 |
|
||||
| Giel Janssens (gieljnssns) | Dutch | 4 | 4 |
|
||||
| kentora | Danish | 3 | 2 |
|
||||
|
||||
|
||||
|
||||
### Docker
|
||||
|
||||
#### Huge thanks to [@wengtad](https://github.com/wengtad) for all his work on improving the deployment with docker.
|
||||
|
||||
- Optimize Docker Dev Size (Frontend: from ~1.52GB to ~429MB | API: from ~657MB to ~380MB)
|
||||
- Optimize Docker Prod Size (from ~542MB to ~373MB)
|
||||
- Add Gunicorn
|
||||
- Add Gunicorn and Webworkers to Dockerfile #550
|
||||
- Add Docs for Gunicorn
|
||||
- Add PUID/PGID to Docker. Fixes Initialization scripts fail to run when not executing as root user inside container #350,
|
||||
- Not able to run correctly in docker if user permissions are specified #429
|
||||
- Merge Dockerfile.dev into Dockerfile (dev shared same base together with prod)
|
||||
- Add Docs for PUID/PGID
|
||||
- Add Docker healthcheck (for this is not necessary, I could remove if you want)
|
||||
@@ -1,12 +1,12 @@
|
||||
# Contributing to Mealie
|
||||
|
||||
[Please Join the Discord](https://discord.gg/QuStdQGSGK){:target="_blank"}. We are building a community of developers working on the project.
|
||||
[Please Join the Discord](https://discord.gg/QuStdQGSGK). We are building a community of developers working on the project.
|
||||
|
||||
## We Develop with Github
|
||||
We use github to host code, to track issues and feature requests, as well as accept pull requests.
|
||||
|
||||
## We Use [Github Flow](https://guides.github.com/introduction/flow/index.html){:target="_blank"}, So All Code Changes Happen Through Pull Requests
|
||||
Pull requests are the best way to propose changes to the codebase (we use [Github Flow](https://guides.github.com/introduction/flow/index.html){:target="_blank"}). We actively welcome your pull requests:
|
||||
## We Use [Github Flow](https://guides.github.com/introduction/flow/index.html), So All Code Changes Happen Through Pull Requests
|
||||
Pull requests are the best way to propose changes to the codebase (we use [Github Flow](https://guides.github.com/introduction/flow/index.html)). We actively welcome your pull requests:
|
||||
|
||||
1. Fork the repo and create your branch from `dev`.
|
||||
2. Checkout the Discord, the PRs page, or the Projects page to get an idea of what's already being worked on.
|
||||
@@ -17,10 +17,10 @@ Pull requests are the best way to propose changes to the codebase (we use [Githu
|
||||
7. If you make changes to the dev branch reflect those changes in the active changelog to keep track of changes. Don't forget to add your name/handle/identifier!
|
||||
|
||||
## Any contributions you make will be under the MIT Software License
|
||||
In short, when you submit code changes, your submissions are understood to be under the same [MIT License](http://choosealicense.com/licenses/mit/){:target="_blank"} that covers the project. Feel free to contact the maintainers if that's a concern.
|
||||
In short, when you submit code changes, your submissions are understood to be under the same [MIT License](http://choosealicense.com/licenses/mit/) that covers the project. Feel free to contact the maintainers if that's a concern.
|
||||
|
||||
## Report bugs using Github's [issues](https://github.com/hay-kot/mealie/issues){:target="_blank"}
|
||||
We use GitHub issues to track public bugs. Report a bug by [opening a new issue](https://github.com/hay-kot/mealie/issues/new){:target="_blank"}; it's that easy!
|
||||
## Report bugs using Github's [issues](https://github.com/hay-kot/mealie/issues)
|
||||
We use GitHub issues to track public bugs. Report a bug by [opening a new issue](https://github.com/hay-kot/mealie/issues/new); it's that easy!
|
||||
|
||||
## Write bug reports with detail, background, and sample code
|
||||
**Great Bug Reports** tend to have:
|
||||
@@ -28,7 +28,7 @@ We use GitHub issues to track public bugs. Report a bug by [opening a new issue]
|
||||
- A quick summary and/or background
|
||||
- Steps to reproduce
|
||||
- Be specific!
|
||||
- Give sample code if you can. [This stackoverflow question](http://stackoverflow.com/q/12488905/180626){:target="_blank"} includes sample code that *anyone* with a base R setup can run to reproduce what I was seeing
|
||||
- Give sample code if you can. [This stackoverflow question](http://stackoverflow.com/q/12488905/180626) includes sample code that *anyone* with a base R setup can run to reproduce what I was seeing
|
||||
- What you expected would happen
|
||||
- What actually happens
|
||||
- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)
|
||||
@@ -40,4 +40,4 @@ People *love* thorough bug reports. I'm not even kidding.
|
||||
By contributing, you agree that your contributions will be licensed under its MIT License.
|
||||
|
||||
## References
|
||||
This document was adapted from the open-source contribution guidelines for [Facebook's Draft](https://github.com/facebook/draft-js/blob/a9316a723f9e918afde44dea68b5f9f39b7d9b00/CONTRIBUTING.md){:target="_blank"}
|
||||
This document was adapted from the open-source contribution guidelines for [Facebook's Draft](https://github.com/facebook/draft-js/blob/a9316a723f9e918afde44dea68b5f9f39b7d9b00/CONTRIBUTING.md)
|
||||
|
||||
@@ -48,4 +48,4 @@ code-gen 🤖 Run Code-Gen Scripts
|
||||
|
||||
Before you commit any changes on the backend/python side you'll want to run `make format` to format all the code with black. `make lint` to check with flake8, and `make test` to run pytests. You can also use `make test-all` to run both `lint` and `test`.
|
||||
|
||||
Run into another issue? [Ask for help on discord](https://discord.gg/QuStdQGSGK){:target="_blank"}
|
||||
Run into another issue? [Ask for help on discord](https://discord.gg/QuStdQGSGK)
|
||||
@@ -9,7 +9,7 @@ We love your input! We want to make contributing to this project as easy and tra
|
||||
- Becoming a maintainer
|
||||
- Help translate to a new language or improve current translations
|
||||
|
||||
[Remember to join the Discord and stay in touch with other developers working on the project](https://discord.gg/QuStdQGSGK){:target="_blank"}!
|
||||
[Remember to join the Discord and stay in touch with other developers working on the project](https://discord.gg/QuStdQGSGK)!
|
||||
|
||||
Additionally, you can buy me a coffee and support the project. When I get financial support it helps me know that there's real interest in the project and that it's worth the time to keep developing.
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Contributing with Translations
|
||||
Translations can be a great way **for non-coders** to contribute to project.
|
||||
We use **[Crowdin](https://crowdin.com/project/mealie){:target="_blank"}** to allow several contributors to work on translating Mealie.
|
||||
We use **[Crowdin](https://crowdin.com/project/mealie)** to allow several contributors to work on translating Mealie.
|
||||
You can simply help by voting for your preferred translations, or even by completely translating Mealie into a new language.
|
||||
|
||||
Translations are regularly pulled from Crowdin and included in each new release.
|
||||
|
||||
Please use Crowdin as much as possible if you have any question/issue regarding a particular string. You can take a look at [Crowdin Knowledge base](https://support.crowdin.com/for-volunteer-translators/){:target="_blank"} if you want to know more about how to use this tool.
|
||||
Please use Crowdin as much as possible if you have any question/issue regarding a particular string. You can take a look at [Crowdin Knowledge base](https://support.crowdin.com/for-volunteer-translators/) if you want to know more about how to use this tool.
|
||||
|
||||
## My language is missing in Mealie
|
||||
Once your language is translated on Crowdin, we need to manually add it in Mealie. If you believe your language is ready for use, please create an issue on GitHub.
|
||||
@@ -13,9 +13,9 @@ Once your language is translated on Crowdin, we need to manually add it in Meali
|
||||
## I can't find a particular text in Crowdin
|
||||
There can be several reasons:
|
||||
- The text you're looking for is outdated: someone has already changed it or it will be removed/changed in the next release.
|
||||
- It is possible some texts are not translatable (yet) for technical reasons. If you spot one, please reach out to us on [Discord](https://discord.gg/QuStdQGSGK){:target="_blank"} or raise an issue on GitHub.
|
||||
- It is possible some texts are not translatable (yet) for technical reasons. If you spot one, please reach out to us on [Discord](https://discord.gg/QuStdQGSGK) or raise an issue on GitHub.
|
||||
|
||||
## Technical information
|
||||
We use vue-i18n package for internationalization. Translations are stored in json format located in [frontend/src/locales/messages](https://github.com/hay-kot/mealie/tree/master/frontend/src/locales/messages){:target="_blank"}.
|
||||
We use vue-i18n package for internationalization. Translations are stored in json format located in [frontend/src/locales/messages](https://github.com/hay-kot/mealie/tree/master/frontend/src/locales/messages).
|
||||
|
||||
[i18n Ally for VScode](https://marketplace.visualstudio.com/items?itemName=lokalise.i18n-ally){:target="_blank"} is helpful for generating new strings to translate. It also has a nice feature, which shows translations in-place when editing code.
|
||||
[i18n Ally for VScode](https://marketplace.visualstudio.com/items?itemName=lokalise.i18n-ally) is helpful for generating new strings to translate. It also has a nice feature, which shows translations in-place when editing code.
|
||||
@@ -3,7 +3,7 @@
|
||||
All recipe data can be imported and exported as necessary from the UI. Under the admin page you'll find the section for using Backups and Exports.
|
||||
|
||||
!!! danger
|
||||
As this is still a **BETA** It is recommended that you backup your data often and store in more than one place. Ad-hear to backup best practices with the [3-2-1 Backup Rule](https://en.wikipedia.org/wiki/Backup){:target="_blank"}. Prior to upgrading you **should** perform a backup to limit any data loss.
|
||||
As this is still a **BETA** it is recommended that you backup your data often and store in more than one place. Adhere to backup best practices with the [3-2-1 Backup Rule](https://en.wikipedia.org/wiki/Backup). Prior to upgrading you **should** perform a backup to limit any data loss.
|
||||
|
||||
!!! tip "Mealie data that is saved on backups"
|
||||
- [x] Recipe Data
|
||||
@@ -15,7 +15,7 @@ All recipe data can be imported and exported as necessary from the UI. Under the
|
||||
|
||||
To create an export simply add the tag and the markdown template and click "Create" and your backup will be created on the server. The backup is a standard zipfile containing all the images, json files, and rendered jinaj2 templates for each recipe. To view the available variables, open a recipe in the json editor.
|
||||
|
||||
To import a backup it must be in your backups folder. If it is in the backup folder it will automatically show up as a source to restore from. Selected the desired backup and import the backup file. Backups can be uploaded from the UI as well as added on the file system
|
||||
To import a backup it must be in your backups folder. If it is in the backup folder it will automatically show up as a source to restore from. Selected the desired backup and import the backup file. Backups can be uploaded from the UI as well as added on the file system.
|
||||
|
||||
## Demo
|
||||
|
||||
@@ -60,7 +60,7 @@ wget http://localhost:9000/api/utils/download?token={fileToken}
|
||||
|
||||
|
||||
## Jinja2 Templating
|
||||
On export you can select a template to use to render files using the jinja2 syntax. This can be done to export recipes in other formats besides regular .json.Look at this example for rendering a markdown recipe using the jinja2 syntax.
|
||||
On export you can select a template to use to render files using the jinja2 syntax. This can be done to export recipes in other formats besides regular .json. Look at this example for rendering a markdown recipe using the jinja2 syntax.
|
||||
|
||||
### Input
|
||||
```jinja2
|
||||
@@ -128,4 +128,4 @@ Categories: []
|
||||
Original URL: https://www.bonappetit.com/recipe/five-spice-popcorn-chicken#intcid=_bon-appetit-recipe-bottom-recirc_3cad5ce9-734a-46f8-b503-78c33d2e7279_similar2-3
|
||||
```
|
||||
|
||||
If you decide you don't like mealie. This is a good way to export into a format that can be imported into another.
|
||||
If you decide you don't like mealie: This is a good way to export into a format that can be imported into another.
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# Building Pages
|
||||
|
||||
!!! warning
|
||||
The page building is still experimental and may change. You can provide feedback on any changes you'd like to see on [github](https://github.com/hay-kot/mealie/discussions/229){:target="_blank"}
|
||||
The page building is still experimental and may change. You can provide feedback on any changes you'd like to see on [github](https://github.com/hay-kot/mealie/discussions/229)
|
||||
|
||||
Custom pages can be created to organize multiple categories into a single page. Links to your custom pages are displayed on the home page sidebar and accessible by all users, however only Administrators can create or update pages.
|
||||

|
||||
|
||||
To create a new page. Navigate to the settings page at `/admin/settings` and scroll down to the custom pages section. Here you can create, view, and edit your custom pages. To reorder how they are displayed on the sidebar you can drag and drop the pages into the preferred order.
|
||||
To create a new page navigate to the settings page at `/admin/settings` and scroll down to the custom pages section. Here you can create, view, and edit your custom pages. To reorder how they are displayed on the sidebar you can drag and drop the pages into the preferred order.
|
||||

|
||||
|
||||
!!! tip
|
||||
To save the order of pages you must click the save button displayed on the bottom of the Custom Page section. This is not necessary for updating individual page data.
|
||||
To save the order of pages you must click the save button displayed on the bottom of the Custom Page section. This is not necessary for updating individual page data.
|
||||
|
||||
@@ -8,7 +8,7 @@ To migrate recipes from a Chowdown
|
||||
3. Select import on the newly available migration.
|
||||
|
||||
## Nextcloud Recipes
|
||||
Nextcloud recipes can be imported from a zip file the contains the data stored in Nextcloud. The zip file can be uploaded from the frontend or placed in the data/migrations/nextcloud directory. See the example folder structure below to ensure your recipes are able to be imported.
|
||||
Nextcloud recipes can be imported from a zip file that contains the data stored in Nextcloud. The zip file can be uploaded from the frontend or placed in the data/migrations/nextcloud directory. See the example folder structure below to ensure your recipes are able to be imported.
|
||||
|
||||
```
|
||||
nextcloud_recipes.zip
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Site Settings
|
||||
Your sites settings panel can only be accessed by administrators. This where you can customize your site for all users.
|
||||
Your sites settings panel can only be accessed by administrators. This is where you can customize your site for all users.
|
||||
|
||||
## Home Page Settings
|
||||
| Option | Description |
|
||||
@@ -13,7 +13,3 @@ Your sites settings panel can only be accessed by administrators. This where you
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# User Managemenet
|
||||
# User Management
|
||||
|
||||
As of version v0.4.0 users have limited functionality, but they will offer more permissions and structure as time goes on. To understand the different systems, see each section below. Note, that by default all users will be assigned the default group. If you're only managing one household you won't need to do anything to set up a new group.
|
||||
|
||||
@@ -47,7 +47,7 @@ As of version v0.4.0 users have limited functionality, but they will offer more
|
||||
On the first startup you'll need to login to Mealie using the default username and password `changeme@email.com` and `MyPassword` or the default set through the env variable. On first login you'll be required to reset your password. After resetting your password you should also change your email address as appropriate. This will be used for logins on all future requests.
|
||||
|
||||
!!! tip
|
||||
Your default password environmental variable will be the default password for all new users that are created. This is stored in plain text and should not be used **any where** else.
|
||||
Your default password environment variable will be the default password for all new users that are created. This is stored in plain text and should not be used **anywhere** else.
|
||||
|
||||
|
||||
## Creating and Editing Users
|
||||
@@ -80,7 +80,7 @@ You can easily create and manage groups via the frontend in the admin panel unde
|
||||

|
||||
|
||||
!!! tip
|
||||
User Groups can only be deleted if no users are apart of the group. If you want to delete a group, you must assign the users to another group before removing.
|
||||
User Groups can only be deleted if no users are a part of the group. If you want to delete a group, you must assign the users to another group before removing.
|
||||
|
||||
## Password Reset
|
||||
If a user forgets their password an administrator is able to reset their password through the user management page. In the user table, select edit. In the popup windows click the "Reset Password" to reset a user's password to the default. This is either 'MyPassword' or set through an environment variable. See the [Installation Page](../getting-started/install.md) for more details on environmental variables
|
||||
If a user forgets their password an administrator is able to reset their password through the user management page. In the user table, select edit. In the popup window click the "Reset Password" to reset a user's password to the default. This is either 'MyPassword' or set through an environment variable. See the [Installation Page](../getting-started/install.md) for more details on environment variables.
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
This guide was submitted by a community member. Find something wrong? Submit a PR to get it fixed!
|
||||
|
||||
|
||||
In a lot of ways, Home Assistant is why this project exists! Since it Mealie has a robust API it makes it a great fit for interacting with Home Assistant and pulling information into your dashboard.
|
||||
In a lot of ways, Home Assistant is why this project exists! Since Mealie has a robust API it makes it a great fit for interacting with Home Assistant and pulling information into your dashboard.
|
||||
|
||||
### Get Todays Meal in Lovelace
|
||||
Starting in v0.4.1 you are now able to use the uri `/api/meal-plans/today/image?group_name=Home` to directly access the image to todays meal. This makes it incredible easy to include the image into your Home Assistant Dashboard using the picture entity.
|
||||
Starting in v0.4.1 you are now able to use the uri `/api/meal-plans/today/image?group_name=Home` to directly access the image to todays meal. This makes it incredibly easy to include the image into your Home Assistant Dashboard using the picture entity.
|
||||
|
||||
Here's an example where `sensor.mealie_todays_meal` is pulling in the meal-plan name and I'm using the url to get the image.
|
||||
|
||||
@@ -29,6 +29,19 @@ style:
|
||||
}
|
||||
```
|
||||
|
||||
The sensor that gets the name of the meal can be achieved using the following REST sensor in Home Assistant
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: rest
|
||||
resource: 'http://localhost:9000/api/meal-plans/today'
|
||||
method: GET
|
||||
name: Mealie todays meal
|
||||
headers:
|
||||
Authorization: Bearer MySuperSecretBearerCode
|
||||
value_template: "{{ value_json.name }}"
|
||||
```
|
||||
The Bearer token can be created from the User Settings page (https://hay-kot.github.io/mealie/documentation/users-groups/user-settings/#api-key-generation)
|
||||
|
||||
|
||||
!!! tip
|
||||
Due to how Home Assistant works with images, I had to include the additional styling to get the images to not appear distorted. This includes and [additional installation](https://github.com/thomasloven/lovelace-card-mod){:target="_blank"} from HACS.
|
||||
Due to how Home Assistant works with images, I had to include the additional styling to get the images to not appear distorted. This includes and [additional installation](https://github.com/thomasloven/lovelace-card-mod) from HACS.
|
||||
|
||||
@@ -1,40 +1,22 @@
|
||||
# Using iOS Shortcuts with Mealie
|
||||
|
||||
!!! info
|
||||
This guide was submitted by a community member. Find something wrong? Submit a PR to get it fixed!
|
||||

|
||||
|
||||
|
||||
{: align=right style="height:400px;width:400px"}
|
||||
|
||||
|
||||
User [brasilikum](https://github.com/brasilikum){:target="_blank"} opened an issue on the main repo about how they had created an [iOS shortcut](https://github.com/hay-kot/mealie/issues/103){:target="_blank"} for interested users. This is a useful utility for iOS users who browse for recipes in their web browser from their devices.
|
||||
User [brasilikum](https://github.com/brasilikum) opened an issue on the main repo about how they had created an [iOS shortcut](https://github.com/hay-kot/mealie/issues/103) for interested users. This is a useful utility for iOS users who browse for recipes in their web browser from their devices. Recent updates to Mealie has made this original shortcut break. Reddit user [BooNooBooNooB](https://www.reddit.com/user/BooNooBooNooB/) has helped to create a new working version.
|
||||
|
||||
Don't know what an iOS shortcut is? Neither did I! Experienced iOS users may already be familiar with this utility but for the uninitiated, here is the official Apple explanation:
|
||||
|
||||
|
||||
> A shortcut is a quick way to get one or more tasks done with your apps. The Shortcuts app lets you create your own shortcuts with multiple steps. For example, build a “Surf Time” shortcut that grabs the surf report, gives an ETA to the beach, and launches your surf music playlist.
|
||||
>
|
||||
|
||||
Basically it is a visual scripting language that lets a user build an automation in a guided fashion. The automation can be [shared with anyone](https://www.icloud.com/shortcuts/4c40fcc6f39549f9a189995a449cd44f) but if it is a user creation, you'll have to jump through a few hoops to make an untrusted automation work on your device.
|
||||
|
||||
Basically it is a visual scripting language that lets a user build an automation in a guided fashion. The automation can be [shared with anyone](https://www.icloud.com/shortcuts/6ae356d5fc644cfa8983a3c90f242fbb){:target="_blank"} but if it is a user creation, you'll have to jump through a few hoops to make an untrusted automation work on your device. In brasilikum's shortcut, you need to make changes for it to work. Recent updates to the project have changed some of the syntax and folder structure since its original creation.
|
||||
You need to replace `username` and `password` with the login information for your mealie instance.
|
||||
|
||||

|
||||
|
||||
{: align=right style="height:500;width:400px"}
|
||||
Then, you need to put in your mealie domain. The API port of `:9000` is not needed when putting your domain in the text field.
|
||||
|
||||

|
||||
|
||||
|
||||
!!! tip
|
||||
You may need to change the url depending on which version you're using. Recipe is now plural and there is no trailing "/" at the end of the string.
|
||||
|
||||
```
|
||||
api/recipe/create-url/
|
||||
```
|
||||
|
||||
to
|
||||
|
||||
```
|
||||
api/recipes/create-url
|
||||
```
|
||||
|
||||
|
||||
|
||||
Having made those changes, you should now be able to share a website to the shortcut and have mealie grab all the necessary information!
|
||||
You should now be able to share a website to the shortcut and have mealie grab all the necessary information!
|
||||
|
||||
@@ -5,16 +5,16 @@
|
||||
|
||||
|
||||
|
||||
To make the setup of a Reverse Proxy much easier, Linuxserver.io developed [SWAG](https://github.com/linuxserver/docker-swag){:target="_blank"}
|
||||
To make the setup of a Reverse Proxy much easier, Linuxserver.io developed [SWAG](https://github.com/linuxserver/docker-swag)
|
||||
SWAG - Secure Web Application Gateway (formerly known as letsencrypt, no relation to Let's Encrypt™) sets up an Nginx web server and reverse proxy with PHP support and a built-in certbot client that automates free SSL server certificate generation and renewal processes (Let's Encrypt and ZeroSSL). It also contains fail2ban for intrusion prevention.
|
||||
|
||||
## Step 1: Get a domain
|
||||
|
||||
The first step is to grab a dynamic DNS if you don't have your own subdomain already. You can get this from for example [DuckDNS](https://www.duckdns.org){:target="_blank"}.
|
||||
The first step is to grab a dynamic DNS if you don't have your own subdomain already. You can get this from for example [DuckDNS](https://www.duckdns.org).
|
||||
|
||||
## Step 2: Set-up SWAG
|
||||
|
||||
Then you will need to set up SWAG, the variables of the docker-compose are explained on the Github page of [SWAG](https://github.com/linuxserver/docker-swag){:target="_blank"}.
|
||||
Then you will need to set up SWAG, the variables of the docker-compose are explained on the Github page of [SWAG](https://github.com/linuxserver/docker-swag).
|
||||
This is an example of how to set it up using duckdns and docker-compose.
|
||||
|
||||
!!! example "docker-compose.yml"
|
||||
@@ -53,7 +53,7 @@ Don't forget to change the <code>mydomain.duckns</code> into your personal domai
|
||||
## Step 3: Change the config files
|
||||
|
||||
Navigate to the config folder of SWAG and head to <code>proxy-confs</code>. If you used the example above, you should navigate to: <code>/etc/config/swag/nginx/proxy-confs/</code>.
|
||||
There are a lot of preconfigured files to use for different apps such as radarr,sonarr,overseerr,...
|
||||
There are a lot of preconfigured files to use for different apps such as radarr, sonarr, overseerr, ...
|
||||
|
||||
To use the bundled configuration file, simply rename <code>mealie.subdomain.conf.sample</code> in the proxy-confs folder to <code>mealie.subdomain.conf</code>.
|
||||
Alternatively, you can create a new file <code>mealie.subdomain.conf</code> in proxy-confs with the following configuration:
|
||||
|
||||
@@ -8,7 +8,7 @@ Mealie supports long-live api tokens in the user frontend. See [user settings pa
|
||||
## Key Components
|
||||
|
||||
### Exploring Your Local API
|
||||
On your local installation you can access interactive API documentation that provides `curl` examples and expected results. This allows you to easily test and interact with your API to identify places to include your own functionality. You can visit the documentation at `http://mealie.yourdomain.com/docs` or see the example at the [Demo Site](https://mealie-demo.hay-kot.dev/docs){:target="_blank"}
|
||||
On your local installation you can access interactive API documentation that provides `curl` examples and expected results. This allows you to easily test and interact with your API to identify places to include your own functionality. You can visit the documentation at `http://mealie.yourdomain.com/docs` or see the example at the [Demo Site](https://mealie-demo.hay-kot.dev/docs)
|
||||
|
||||
### Recipe Extras
|
||||
Recipes extras are a key feature of the Mealie API. They allow you to create custom json key/value pairs within a recipe to reference from 3rd part applications. You can use these keys to contain information to trigger automation or custom messages to relay to your desired device.
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
# Installation
|
||||
To deploy mealie on your local network it is highly recommended to use docker to deploy the image straight from dockerhub. Using the docker-compose below you should be able to get a stack up and running easily by changing a few default values and deploying. You can deploy with either SQLite (default) or Postgres. SQLite is sufficient for most use cases. Additionally, with mealies automated backup and restore functionality, you can easily move between SQLite and Postgres as you wish.
|
||||
|
||||
To deploy mealie on your local network it is highly recommended to use docker to deploy the image straight from dockerhub. Using the docker-compose below you should be able to get a stack up and running easily by changing a few default values and deploying. You can deploy with either SQLite (default) or Postgres. SQLite is sufficient for most use cases. Additionally, with mealies automated backup and restore functionality, you can easily move between SQLite and Postgres as you wish.
|
||||
|
||||
[Get Docker](https://docs.docker.com/get-docker/){:target="_blank"}
|
||||
[Get Docker](https://docs.docker.com/get-docker/)
|
||||
|
||||
[Mealie on Dockerhub](https://hub.docker.com/r/hkotel/mealie){:target="_blank"}
|
||||
|
||||
- linux/amd64
|
||||
- linux/arm64
|
||||
[Mealie on Dockerhub](https://hub.docker.com/r/hkotel/mealie)
|
||||
|
||||
- linux/amd64
|
||||
- linux/arm64
|
||||
|
||||
## Quick Start - Docker CLI
|
||||
Deployment with the Docker CLI can be done with `docker run` and specify the database type, in this case `sqlite`, setting the exposed port `9925`, mounting the current directory, and pull the latest image. After the image is up an running you can navigate to http://your.ip.addres:9925 and you'll should see mealie up and running!
|
||||
|
||||
Deployment with the Docker CLI can be done with `docker run` and specify the database type, in this case `sqlite`, setting the exposed port `9925`, mounting the current directory, and pull the latest image. After the image is up and running you can navigate to http://your.ip.address:9925 and you'll should see mealie up and running!
|
||||
|
||||
```shell
|
||||
docker run \
|
||||
@@ -22,12 +22,14 @@ docker run \
|
||||
```
|
||||
|
||||
!!! tip "Default Credentials"
|
||||
**Username:** changeme@email.com
|
||||
|
||||
**Username:** changeme@email.com
|
||||
|
||||
**Password:** MyPassword
|
||||
|
||||
## Docker Compose with SQLite
|
||||
Deployment with docker-compose is the recommended method for deployment. The example below will create an instance of mealie available on port `9925` with the data volume mounted from the local directory. To use, create a docker-compose.yml file, paste the contents below and save. In the terminal run `docker-compose up -d` to start the container.
|
||||
|
||||
Deployment with docker-compose is the recommended method for deployment. The example below will create an instance of mealie available on port `9925` with the data volume mounted from the local directory. To use, create a docker-compose.yml file, paste the contents below and save. In the terminal run `docker-compose up -d` to start the container.
|
||||
|
||||
```yaml
|
||||
version: "3.1"
|
||||
@@ -39,14 +41,29 @@ services:
|
||||
ports:
|
||||
- 9925:80
|
||||
environment:
|
||||
PUID: 1000
|
||||
PGID: 1000
|
||||
TZ: America/Anchorage
|
||||
|
||||
# Default Recipe Settings
|
||||
RECIPE_PUBLIC: true
|
||||
RECIPE_SHOW_NUTRITION: true
|
||||
RECIPE_SHOW_ASSETS: true
|
||||
RECIPE_LANDSCAPE_VIEW: true
|
||||
RECIPE_DISABLE_COMMENTS: false
|
||||
RECIPE_DISABLE_AMOUNT: false
|
||||
|
||||
# Gunicorn
|
||||
WEB_CONCURRENCY: 2
|
||||
# WORKERS_PER_CORE: 0.5
|
||||
# MAX_WORKERS: 8
|
||||
volumes:
|
||||
- ./mealie/data/:/app/data
|
||||
|
||||
```
|
||||
|
||||
## Docker Compose with Postgres *(BETA)*
|
||||
Postgres support was introduced in v0.5.0. At this point it should be used with caution and frequent backups.
|
||||
## Docker Compose with Postgres _(BETA)_
|
||||
|
||||
Postgres support was introduced in v0.5.0. At this point it should be used with caution and frequent backups.
|
||||
|
||||
```yaml
|
||||
version: "3.1"
|
||||
@@ -57,13 +74,35 @@ services:
|
||||
restart: always
|
||||
ports:
|
||||
- 9090:80
|
||||
depends_on:
|
||||
- postgres
|
||||
environment:
|
||||
PUID: 1000
|
||||
PGID: 1000
|
||||
TZ: America/Anchorage
|
||||
|
||||
# Database Settings
|
||||
DB_ENGINE: postgres # Optional: 'sqlite', 'postgres'
|
||||
POSTGRES_USER: mealie
|
||||
POSTGRES_PASSWORD: mealie
|
||||
POSTGRES_SERVER: postgres
|
||||
POSTGRES_PORT: 5432
|
||||
POSTGRES_DB: mealie
|
||||
|
||||
# Default Recipe Settings
|
||||
RECIPE_PUBLIC: true
|
||||
RECIPE_SHOW_NUTRITION: true
|
||||
RECIPE_SHOW_ASSETS: true
|
||||
RECIPE_LANDSCAPE_VIEW: true
|
||||
RECIPE_DISABLE_COMMENTS: false
|
||||
RECIPE_DISABLE_AMOUNT: false
|
||||
|
||||
# Gunicorn
|
||||
WEB_CONCURRENCY: 2
|
||||
# WORKERS_PER_CORE: 0.5
|
||||
# MAX_WORKERS: 8
|
||||
volumes:
|
||||
- ./mealie/data/:/app/data
|
||||
postgres:
|
||||
container_name: postgres
|
||||
image: postgres
|
||||
@@ -75,79 +114,93 @@ services:
|
||||
|
||||
## Env Variables
|
||||
|
||||
| Variables | Default | Description |
|
||||
| ----------------- | --------------------- | ----------------------------------------------------------------------------------- |
|
||||
| DEFAULT_GROUP | Home | The default group for users |
|
||||
| DEFAULT_EMAIL | changeme@email.com | The default username for the superuser |
|
||||
| BASE_URL | http://localhost:8080 | Used for Notifications |
|
||||
| DB_ENGINE | sqlite | Optional: 'sqlite', 'postgres' |
|
||||
| POSTGRES_USER | mealie | Postgres database user |
|
||||
| POSTGRES_PASSWORD | mealie | Postgres database password |
|
||||
| POSTGRES_SERVER | postgres | Postgres database server address |
|
||||
| POSTGRES_PORT | 5432 | Postgres database port |
|
||||
| POSTGRES_DB | mealie | Postgres database name |
|
||||
| TOKEN_TIME | 2 | The time in hours that a login/auth token is valid |
|
||||
| API_PORT | 9000 | The port exposed by backend API. **do not change this if you're running in docker** |
|
||||
| API_DOCS | True | Turns on/off access to the API documentation locally. |
|
||||
| TZ | UTC | Must be set to get correct date/time on the server |
|
||||
| Variables | Default | Description |
|
||||
| ----------------------- | --------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| PUID | 911 | UserID permissions between host OS and container |
|
||||
| PGID | 911 | GroupID permissions between host OS and container |
|
||||
| DEFAULT_GROUP | Home | The default group for users |
|
||||
| DEFAULT_EMAIL | changeme@email.com | The default username for the superuser |
|
||||
| BASE_URL | http://localhost:8080 | Used for Notifications |
|
||||
| DB_ENGINE | sqlite | Optional: 'sqlite', 'postgres' |
|
||||
| POSTGRES_USER | mealie | Postgres database user |
|
||||
| POSTGRES_PASSWORD | mealie | Postgres database password |
|
||||
| POSTGRES_SERVER | postgres | Postgres database server address |
|
||||
| POSTGRES_PORT | 5432 | Postgres database port |
|
||||
| POSTGRES_DB | mealie | Postgres database name |
|
||||
| TOKEN_TIME | 2 | The time in hours that a login/auth token is valid |
|
||||
| RECIPE_PUBLIC | True | Default Recipe Settings - Make Recipe Public |
|
||||
| RECIPE_SHOW_NUTRITION | True | Default Recipe Settings - Show Recipe Nutrition |
|
||||
| RECIPE_SHOW_ASSETS | True | Default Recipe Settings - Show Recipe Assets |
|
||||
| RECIPE_LANDSCAPE_VIEW | True | Default Recipe Settings - Set Landscape View |
|
||||
| RECIPE_DISABLE_COMMENTS | False | Default Recipe Settings - Disable Comments |
|
||||
| RECIPE_DISABLE_AMOUNT | False | Default Recipe Settings - Disable Amount |
|
||||
| API_PORT | 9000 | The port exposed by backend API. **Do not change this if you're running in Docker** |
|
||||
| API_DOCS | True | Turns on/off access to the API documentation locally. |
|
||||
| TZ | UTC | Must be set to get correct date/time on the server |
|
||||
| WORKERS_PER_CORE | 1 | Set the number of workers to the number of CPU cores multiplied by this value (Value \* CPUs). More info [here][workers_per_core] |
|
||||
| MAX_WORKERS | | Set the maximum number of workers to use. Default is not set meaning unlimited. More info [here][max_workers] |
|
||||
| WEB_CONCURRENCY | 2 | Override the automatic definition of number of workers. More info [here][web_concurrency] |
|
||||
|
||||
|
||||
## Raspberry Pi 4
|
||||
|
||||
!!! tip "Fatal Python error: init_interp_main: can't initialize time"
|
||||
|
||||
Some users experience an problem with running the linux/arm/v7 container on Raspberry Pi 4. This is not a problem with the Mealie container, but with a bug in the hosts Docker installation.
|
||||
|
||||
Update the host RP4 using [instructions](https://github.com/linuxserver/docker-papermerge/issues/4#issuecomment-735236388){:target="_blank"}, summarized here:
|
||||
|
||||
Update the host RP4 using [instructions](https://github.com/linuxserver/docker-papermerge/issues/4#issuecomment-735236388), summarized here:
|
||||
|
||||
```shell
|
||||
wget http://ftp.us.debian.org/debian/pool/main/libs/libseccomp/libseccomp2_2.5.1-1_armhf.deb
|
||||
sudo dpkg -i libseccomp2_2.5.1-1_armhf.deb
|
||||
```
|
||||
|
||||
## Advanced
|
||||
|
||||
|
||||
## Advanced
|
||||
!!! warning "Not Required"
|
||||
The items below are completely optional and are not required to manage or install your Mealie instance.
|
||||
|
||||
The items below are completely optional and are not required to manage or install your Mealie instance.
|
||||
|
||||
### Custom Caddy File
|
||||
The Docker image provided by Mealie contains both the API and the html bundle in one convenient image. This is done by using a proxy server to serve different parts of the application depending on the URL/URI. Requests sent to `/api/*` or `/docs` will be directed to the API, anything else will be served the static web files. Below is the default Caddyfile that is used to proxy requests. You can override this file by mounting an alternative Caddyfile to `/app/Caddyfile`.
|
||||
|
||||
The Docker image provided by Mealie contains both the API and the html bundle in one convenient image. This is done by using a proxy server to serve different parts of the application depending on the URL/URI. Requests sent to `/api/*` or `/docs` will be directed to the API, anything else will be served the static web files. Below is the default Caddyfile that is used to proxy requests. You can override this file by mounting an alternative Caddyfile to `/app/Caddyfile`.
|
||||
|
||||
```
|
||||
{
|
||||
auto_https off
|
||||
auto_https off
|
||||
admin off
|
||||
}
|
||||
|
||||
:80 {
|
||||
@proxied path /api/* /docs /openapi.json
|
||||
|
||||
|
||||
root * /app/dist
|
||||
encode gzip
|
||||
uri strip_suffix /
|
||||
|
||||
|
||||
handle_path /api/recipes/image/* {
|
||||
root * /app/data/img/
|
||||
file_server
|
||||
}
|
||||
|
||||
handle @proxied {
|
||||
reverse_proxy http://127.0.0.1:9000
|
||||
reverse_proxy http://127.0.0.1:9000
|
||||
}
|
||||
|
||||
handle {
|
||||
try_files {path}.html {path} /
|
||||
file_server
|
||||
file_server
|
||||
}
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
## Deployed without Docker
|
||||
!!! error "Unsupported Deployment"
|
||||
If you are experiencing a problem with manual deployment, please do not submit a github issue unless it is related to an aspect of the application. For deployment help, the [discord server](https://discord.gg/QuStdQGSGK){:target="_blank"} is a better place to find support.
|
||||
|
||||
Alternatively, this project is built on Python and SQLite so you may run it as a python application on your server. This is not a supported options for deployment and is only here as a reference for those who would like to do this on their own. To get started you can clone this repository into a directory of your choice and use the instructions below as a reference for how to get started.
|
||||
!!! error "Unsupported Deployment"
|
||||
|
||||
If you are experiencing a problem with manual deployment, please do not submit a github issue unless it is related to an aspect of the application. For deployment help, the [discord server](https://discord.gg/QuStdQGSGK) is a better place to find support.
|
||||
|
||||
Alternatively, this project is built on Python and SQLite so you may run it as a python application on your server. This is not a supported options for deployment and is only here as a reference for those who would like to do this on their own. To get started you can clone this repository into a directory of your choice and use the instructions below as a reference for how to get started.
|
||||
|
||||
There are three parts to the Mealie application
|
||||
|
||||
@@ -156,14 +209,19 @@ There are three parts to the Mealie application
|
||||
- Proxy Server
|
||||
|
||||
### Frontend/ Static Files
|
||||
|
||||
The frontend static files are generated with `npm run build`. This is done during the build process with docker. If you choose to deploy this as a system application you must do this process yourself. In the project directory run `cd frontend` to change directories into the frontend directory and run `npm install` and then `npm run build`. This will generate the static files in a `dist` folder in the frontend directory.
|
||||
|
||||
### Backend API
|
||||
|
||||
The backend API is build with Python, FastAPI, and SQLite and requires Python 3.9, and Poetry. Once the requirements are installed, in the project directory you can run the command `poetry install` to create a python virtual environment and install the python dependencies.
|
||||
|
||||
Once the dependencies are installed you should be ready to run the server. To initialize that database you need to first run `python mealie/db/init_db.py`. Then to start The web server, you run the command `uvicorn mealie.app:app --host 0.0.0.0 --port 9000`
|
||||
|
||||
Once the dependencies are installed you should be ready to run the server. To initialize that database you need to first run `python mealie/db/init_db.py`. Then to start The web server, you run the command `uvicorn mealie.app:app --host 0.0.0.0 --port 9000`
|
||||
|
||||
### Proxy Server
|
||||
You must use a proxy server to server up the static files created with `npm run build` and proxy requests to the API. In the docker build this is done with Caddy. You can use the CaddyFile in the section above as a reference. One important thing to keep in mind is that you should drop any trailing `/` in the url. Not doing this may result in failed API requests.
|
||||
|
||||
You must use a proxy server to server up the static files created with `npm run build` and proxy requests to the API. In the docker build this is done with Caddy. You can use the CaddyFile in the section above as a reference. One important thing to keep in mind is that you should drop any trailing `/` in the url. Not doing this may result in failed API requests.
|
||||
|
||||
[workers_per_core]: https://github.com/tiangolo/uvicorn-gunicorn-docker/blob/2daa3e3873c837d5781feb4ff6a40a89f791f81b/README.md#workers_per_core
|
||||
[max_workers]: https://github.com/tiangolo/uvicorn-gunicorn-docker/blob/2daa3e3873c837d5781feb4ff6a40a89f791f81b/README.md#max_workers
|
||||
[web_concurrency]: https://github.com/tiangolo/uvicorn-gunicorn-docker/blob/2daa3e3873c837d5781feb4ff6a40a89f791f81b/README.md#web_concurrency
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
Mealie is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. Easily add recipes into your database by providing the url and Mealie will automatically import the relevant data or add a family recipe with the UI editor. Mealie also provides an API for interactions from 3rd party applications.
|
||||
|
||||
[Remember to join the Discord](https://discord.gg/QuStdQGSGK){:target="_blank"}!
|
||||
[Remember to join the Discord](https://discord.gg/QuStdQGSGK)!
|
||||
|
||||
!!! note
|
||||
In some of the demo gifs the styling may be different than the finale application. demos were done during development prior to finale styling.
|
||||
|
||||
!!! warning
|
||||
This is a **BETA** release and that means things may break and or change down the line. I'll do my best to make sure that any API changes are thoughtful and necessary in order not to break things. Additionally, I'll do my best to provide a migration path if the database schema ever changes. Do not use programs like watchtower to auto update your container. You **WILL** run into issues if you do this,
|
||||
This is a **BETA** release and that means things may break and or change down the line. I'll do my best to make sure that any API changes are thoughtful and necessary in order not to break things. Additionally, I'll do my best to provide a migration path if the database schema ever changes. Do not use programs like watchtower to auto update your container. You **WILL** run into issues if you do this!
|
||||
|
||||
|
||||
## Key Features
|
||||
@@ -26,7 +26,7 @@ Mealie is a self hosted recipe manager and meal planner with a RestAPI backend a
|
||||
- Flexible API
|
||||
- Custom key/value pairs for recipes
|
||||
- Webhook support
|
||||
- Interactive API Documentation thanks to [FastAPI](https://fastapi.tiangolo.com/){:target="_blank"} and [Swagger](https://petstore.swagger.io/){:target="_blank"}
|
||||
- Interactive API Documentation thanks to [FastAPI](https://fastapi.tiangolo.com/) and [Swagger](https://petstore.swagger.io/)
|
||||
- Raw JSON Recipe Editor
|
||||
- Migration from other platforms
|
||||
- Chowdown
|
||||
@@ -36,7 +36,7 @@ Mealie is a self hosted recipe manager and meal planner with a RestAPI backend a
|
||||
## FAQ
|
||||
|
||||
### Why An API?
|
||||
An API allows integration into applications like [Home Assistant](https://www.home-assistant.io/){:target="_blank"} that can act as notification engines to provide custom notifications based of Meal Plan data to remind you to defrost the chicken, marinade the steak, or start the CrockPot. Additionally, you can access nearly any backend service via the API giving you total control to extend the application. To explore the API spin up your server and navigate to http://yourserver.com/docs for interactive API documentation.
|
||||
An API allows integration into applications like [Home Assistant](https://www.home-assistant.io/) that can act as notification engines to provide custom notifications based of Meal Plan data to remind you to defrost the chicken, marinade the steak, or start the CrockPot. Additionally, you can access nearly any backend service via the API giving you total control to extend the application. To explore the API spin up your server and navigate to http://yourserver.com/docs for interactive API documentation.
|
||||
|
||||
### Why a Database?
|
||||
Some users of static-site generator applications like ChowDown have expressed concerns about their data being stuck in a database. Considering this is a new project it is a valid concern to be worried about your data. Mealie specifically addresses this concern by provided automatic daily backups that export your data in json, plain-text markdown files, and/or custom Jinja2 templates. **This puts you in controls of how your data is represented** when exported from Mealie, which means you can easily migrate to any other service provided Mealie doesn't work for you.
|
||||
@@ -48,10 +48,10 @@ As to why we need a database?
|
||||
|
||||
## Built With
|
||||
|
||||
* [Vue.js](https://vuejs.org/){:target="_blank"}
|
||||
* [Vuetify](https://vuetifyjs.com/en/){:target="_blank"}
|
||||
* [FastAPI](https://fastapi.tiangolo.com/){:target="_blank"}
|
||||
* [Docker](https://www.docker.com/){:target="_blank"}
|
||||
* [Vue.js](https://vuejs.org/)
|
||||
* [Vuetify](https://vuetifyjs.com/en/)
|
||||
* [FastAPI](https://fastapi.tiangolo.com/)
|
||||
* [Docker](https://www.docker.com/)
|
||||
|
||||
<!-- ROADMAP -->
|
||||
## Road Map
|
||||
@@ -62,9 +62,9 @@ As to why we need a database?
|
||||
<!-- CONTRIBUTING -->
|
||||
## Contributing
|
||||
|
||||
Contributions are what make the open source community such an amazing place to be learn, develop, and create. Any contributions you make are **greatly appreciated**. See the [Contributors Guide](../../contributors/non-coders.md) for help getting started.
|
||||
Contributions are what make the open source community such an amazing place to learn, develop, and create. Any contributions you make are **greatly appreciated**. See the [Contributors Guide](../../contributors/non-coders.md) for help getting started.
|
||||
|
||||
If you are not a coder, you can still contribute financially. financial contributions help me prioritize working on this project over others and helps me know that there is a real demand for project development.
|
||||
If you are not a coder, you can still contribute financially. Financial contributions help me prioritize working on this project over others and help me to know that there is a real demand for project development.
|
||||
|
||||
<a href="https://www.buymeacoffee.com/haykot" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-green.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Updating Mealie
|
||||
|
||||
!!! warning "Read The Release Notes"
|
||||
You MUST read the release notes prior to upgrading your container. Currently Mealie provides no database migrations as doing such would slow down development and hinder major changes that may need to happen prior to v1.0.0. Mealie has a robust backup and restore system for managing your data.
|
||||
You MUST read the release notes prior to upgrading your container. Currently Mealie provides no database migrations as doing so would slow down development and hinder major changes that may need to happen prior to v1.0.0. Mealie has a robust backup and restore system for managing your data.
|
||||
|
||||
### Before Upgrading
|
||||
- Read The Release Notes
|
||||
@@ -14,7 +14,7 @@
|
||||
[See Backups and Restore Section](../admin/backups-and-exports.md) for details on backing up your data
|
||||
|
||||
## Docker
|
||||
For all setups using Docker the updating process look something like this
|
||||
For all setups using Docker the updating process looks something like this
|
||||
|
||||
- Stop the container using docker-compose down
|
||||
- Pull the latest image using docker-compose pull
|
||||
|
||||
@@ -9,7 +9,7 @@ Below are some general guidelines that were considered when creating the organiz
|
||||
>
|
||||
> My tags are for picking the exact type of meal I'm looking for, based on my mood or my guests' diet, like gluten-free, vegetarian, sweet-sour or casserole. They can also act as sub-categories, like "alcohol" for beverages or "hot meal" for a main course.
|
||||
>
|
||||
> User: [sephrat](https://github.com/sephrat){:target="_blank"}
|
||||
> User: [sephrat](https://github.com/sephrat)
|
||||
|
||||
|
||||
## Structure
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Recipes
|
||||
|
||||
## URL Import
|
||||
Adding a recipe can be as easy as clicking in the bottom-right corner, copying the recipe URL into Mealie and letting the web scrapper organize information. Currently this scraper is implemented with [recipe-scrapers](https://github.com/hhursev/recipe-scrapers){:target="_blank"}. You may have mixed results on some websites, especially with blogs or non-specific recipe websites. See the bulk import Option below for another a convenient way to add blog style recipes into Mealie.
|
||||
Adding a recipe can be as easy as clicking in the bottom-right corner, copying the recipe URL into Mealie and letting the web scraper organize information. Currently this scraper is implemented with [recipe-scrapers](https://github.com/hhursev/recipe-scrapers). You may have mixed results on some websites, especially with blogs or non-specific recipe websites. See the bulk import Option below for another a convenient way to add blog style recipes into Mealie.
|
||||
|
||||
!!! tip
|
||||
You can find a list of some of the supported sites in the recipe-scrapers repo. If you're site isn't supported, you can work with the recipe-scrapers team to implement it and we can down-stream those changes into Mealie.
|
||||
@@ -12,7 +12,7 @@ Adding a recipe can be as easy as clicking in the bottom-right corner, copying t
|
||||
|
||||
You can use bookmarklets to generate a bookmark that will take your current location, and open a new tab that will try to import that URL into Mealie.
|
||||
|
||||
You can use a [bookmarklet generator site](https://caiorss.github.io/bookmarklet-maker/){:target="_blank"} and the code below to generate a bookmark for your site. Just change the `http://localhost:8080` to your sites web address and follow the instructions. Note that there is no trailing `/`.
|
||||
You can use a [bookmarklet generator site](https://caiorss.github.io/bookmarklet-maker/) and the code below to generate a bookmark for your site. Just change the `http://localhost:8080` to your sites web address and follow the instructions. Note that there is no trailing `/`.
|
||||
|
||||
```js
|
||||
var url = document.URL ;
|
||||
@@ -54,7 +54,7 @@ Mealie also supports bulk import of recipe instructions and ingredients. Select
|
||||

|
||||
|
||||
## Schema
|
||||
Recipes are stored in the json-like format in mongoDB and then sent and edited in json format on the frontend. Each recipes uses [Recipe Schema](https://schema.org/Recipe){:target="_blank"} as a general guide with some additional properties specific to Mealie.
|
||||
Recipes are stored in the json-like format in mongoDB and then sent and edited in json format on the frontend. Each recipes uses [Recipe Schema](https://schema.org/Recipe) as a general guide with some additional properties specific to Mealie.
|
||||
|
||||
### Example
|
||||
```json
|
||||
|
||||
@@ -2,15 +2,15 @@
|
||||
|
||||
## Apprise
|
||||
|
||||
Using the [Apprise](https://github.com/caronc/apprise/){:target="_blank"} library Mealie is able to provided notification services for nearly every popular service. Some of our favorites are...
|
||||
Using the [Apprise](https://github.com/caronc/apprise/) library Mealie is able to provide notification services for nearly every popular service. Some of our favorites are...
|
||||
|
||||
- [Gotify](https://github.com/caronc/apprise/wiki/Notify_gotify){:target="_blank"}
|
||||
- [Discord](https://github.com/caronc/apprise/wiki/Notify_discord){:target="_blank"}
|
||||
- [Home Assistant](https://github.com/caronc/apprise/wiki/Notify_homeassistant){:target="_blank"}
|
||||
- [Matrix](https://github.com/caronc/apprise/wiki/Notify_matrix){:target="_blank"}
|
||||
- [Pushover](https://github.com/caronc/apprise/wiki/Notify_pushover){:target="_blank"}
|
||||
- [Gotify](https://github.com/caronc/apprise/wiki/Notify_gotify)
|
||||
- [Discord](https://github.com/caronc/apprise/wiki/Notify_discord)
|
||||
- [Home Assistant](https://github.com/caronc/apprise/wiki/Notify_homeassistant)
|
||||
- [Matrix](https://github.com/caronc/apprise/wiki/Notify_matrix)
|
||||
- [Pushover](https://github.com/caronc/apprise/wiki/Notify_pushover)
|
||||
|
||||
But there are some many to choose from! Take a look at their wiki for information on how to create their URL formats and that you can use to create a notification integration in Mealie.
|
||||
But there are many more to choose from! Take a look at their wiki for information on how to create their URL formats that you can use to create a notification integration in Mealie.
|
||||
|
||||
|
||||
## Subscribe Events
|
||||
@@ -45,7 +45,7 @@ In most cases the events will also provide details on which user performed the a
|
||||
New events can be created and viewed in admin Toolbox `/admin/toolbox?tab=event-notifications`. Select the "+ Notification" button and you'll be provided with a dialog. Complete the form using the URL for the service you'd like to connect to. Before saving be sure to use the test feature.
|
||||
|
||||
!!! tip
|
||||
The feedback provided from the test feature is only an indicated of if the URL you provided is valid, not if the message was successfully sent. Be sure to check the notification feed for the test message.
|
||||
The feedback provided from the test feature indicates only if the URL you provided is valid, not if the message was successfully sent. Be sure to check the notification feed for the test message.
|
||||
|
||||

|
||||
|
||||
@@ -56,4 +56,4 @@ New events can be created and viewed in admin Toolbox `/admin/toolbox?tab=event-
|
||||

|
||||
|
||||
#### Gotify
|
||||

|
||||

|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## Working with Planner
|
||||
|
||||
In Mealie you can create a meal plan based off the calendar inputs on the meal planner page. There is no limit to how long or how short a meal plan is. You may also create duplicate meal plans for the same date range. After selecting your date range, click on the card for each day and search through recipes to find your choice. Add a side-dish if you prefer to. After selecting a recipe for all meals, save the plan. Selecting the 'No Recipe' button will allow you to add an entry without a recipe by providing a title and description
|
||||
In Mealie you can create a meal plan based off the calendar inputs on the meal planner page. There is no limit to how long or how short a meal plan is. You may also create duplicate meal plans for the same date range. After selecting your date range, click on the card for each day and search through recipes to find your choice. Add a side-dish if you prefer to. After selecting a recipe for all meals, save the plan. Selecting the 'No Recipe' button will allow you to add an entry without a recipe by providing a title and description.
|
||||
|
||||
You can also randomly generate meal plans with the dice-button at the bottom.
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,7 +1,7 @@
|
||||
# Development Road Map
|
||||
|
||||
## Feature Requests
|
||||
See the [Github META issue for tracking feature requests](https://github.com/hay-kot/mealie/issues/122){:target="_blank"}
|
||||
See the [Github META issue for tracking feature requests](https://github.com/hay-kot/mealie/issues/122)
|
||||
|
||||
## Progress
|
||||
See the [Github Projects](https://github.com/hay-kot/mealie/projects){:target="_blank"} to see what is currently being worked on
|
||||
See the [Github Projects](https://github.com/hay-kot/mealie/projects) to see what is currently being worked on
|
||||
@@ -45,6 +45,8 @@ markdown_extensions:
|
||||
|
||||
extra_css:
|
||||
- assets/stylesheets/custom.css
|
||||
extra_javascript:
|
||||
- assets/js/extra.js
|
||||
repo_url: https://github.com/hay-kot/mealie
|
||||
repo_name: hay-kot/mealie
|
||||
|
||||
@@ -92,6 +94,8 @@ nav:
|
||||
- Style Guide: "contributors/developers-guide/style-guide.md"
|
||||
- Development Road Map: "roadmap.md"
|
||||
- Change Log:
|
||||
- v0.5.2 Misc Updates: "changelog/v0.5.2.md"
|
||||
- v0.5.1 Bug Fixes: "changelog/v0.5.1.md"
|
||||
- v0.5.0 General Upgrades: "changelog/v0.5.0.md"
|
||||
- v0.4.3 Hot Fix: "changelog/v0.4.3.md"
|
||||
- v0.4.2 Backend/Migrations: "changelog/v0.4.2.md"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM node:latest
|
||||
FROM node:lts-alpine
|
||||
|
||||
# # install simple http server for serving static content
|
||||
# RUN npm install -g http-server
|
||||
@@ -13,7 +13,7 @@ COPY package*.json ./
|
||||
RUN npm install
|
||||
|
||||
# copy project files and folders to the current working directory (i.e. 'app' folder)
|
||||
COPY . .
|
||||
# COPY . .
|
||||
|
||||
# build app for production with minification
|
||||
# RUN npm run build
|
||||
|
||||
422
frontend/package-lock.json
generated
422
frontend/package-lock.json
generated
@@ -2315,6 +2315,12 @@
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"@types/html-minifier-terser": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz",
|
||||
"integrity": "sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/http-proxy": {
|
||||
"version": "1.17.6",
|
||||
"resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.6.tgz",
|
||||
@@ -2770,6 +2776,12 @@
|
||||
"webpack-merge": "^4.2.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@vue/preload-webpack-plugin": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz",
|
||||
"integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==",
|
||||
"dev": true
|
||||
},
|
||||
"ansi-regex": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
|
||||
@@ -2785,16 +2797,11 @@
|
||||
"color-convert": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"chalk": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
|
||||
"integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
}
|
||||
"big.js": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
|
||||
"integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
|
||||
"dev": true
|
||||
},
|
||||
"cliui": {
|
||||
"version": "6.0.0",
|
||||
@@ -2822,12 +2829,26 @@
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||
"dev": true
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"emojis-list": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
|
||||
"integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
|
||||
"dev": true
|
||||
},
|
||||
"html-webpack-plugin": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz",
|
||||
"integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"requires": {
|
||||
"html-minifier": "^3.2.3",
|
||||
"loader-utils": "^0.2.16",
|
||||
"lodash": "^4.17.3",
|
||||
"pretty-error": "^2.0.2",
|
||||
"tapable": "^1.0.0",
|
||||
"toposort": "^1.0.0",
|
||||
"util.promisify": "1.0.0"
|
||||
}
|
||||
},
|
||||
"is-fullwidth-code-point": {
|
||||
"version": "3.0.0",
|
||||
@@ -2835,16 +2856,22 @@
|
||||
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
||||
"dev": true
|
||||
},
|
||||
"json5": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
|
||||
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
|
||||
"dev": true
|
||||
},
|
||||
"loader-utils": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
|
||||
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
|
||||
"version": "0.2.17",
|
||||
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
|
||||
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"big.js": "^5.2.2",
|
||||
"emojis-list": "^3.0.0",
|
||||
"json5": "^2.1.2"
|
||||
"big.js": "^3.1.3",
|
||||
"emojis-list": "^2.0.0",
|
||||
"json5": "^0.5.0",
|
||||
"object-assign": "^4.0.1"
|
||||
}
|
||||
},
|
||||
"string-width": {
|
||||
@@ -2867,26 +2894,14 @@
|
||||
"ansi-regex": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"util.promisify": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
|
||||
"integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"has-flag": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"vue-loader-v16": {
|
||||
"version": "npm:vue-loader@16.2.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.2.0.tgz",
|
||||
"integrity": "sha512-TitGhqSQ61RJljMmhIGvfWzJ2zk9m1Qug049Ugml6QP3t0e95o0XJjk29roNEiPKJQBEi8Ord5hFuSuELzSp8Q==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"chalk": "^4.1.0",
|
||||
"hash-sum": "^2.0.0",
|
||||
"loader-utils": "^2.0.0"
|
||||
"define-properties": "^1.1.2",
|
||||
"object.getownpropertydescriptors": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"wrap-ansi": {
|
||||
@@ -2986,9 +3001,9 @@
|
||||
}
|
||||
},
|
||||
"@vue/preload-webpack-plugin": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz",
|
||||
"integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==",
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-2.0.0.tgz",
|
||||
"integrity": "sha512-RoorRB50WehYbsiWu497q8egZBYlrvOo9KBUG41uth4O023Cbs+7POLm9uw2CAiViBAIhvpw1Y4w4i+MZxOfXw==",
|
||||
"dev": true
|
||||
},
|
||||
"@vue/web-component-wrapper": {
|
||||
@@ -4115,13 +4130,21 @@
|
||||
"dev": true
|
||||
},
|
||||
"camel-case": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
|
||||
"integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
|
||||
"integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"no-case": "^2.2.0",
|
||||
"upper-case": "^1.1.1"
|
||||
"pascal-case": "^3.1.2",
|
||||
"tslib": "^2.0.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"tslib": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
|
||||
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"camelcase": {
|
||||
@@ -4601,9 +4624,9 @@
|
||||
}
|
||||
},
|
||||
"commander": {
|
||||
"version": "2.17.1",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
|
||||
"integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
|
||||
"integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
|
||||
"dev": true
|
||||
},
|
||||
"common-tags": {
|
||||
@@ -5650,6 +5673,24 @@
|
||||
"domelementtype": "1"
|
||||
}
|
||||
},
|
||||
"dot-case": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
|
||||
"integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"no-case": "^3.0.4",
|
||||
"tslib": "^2.0.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"tslib": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
|
||||
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"dot-object": {
|
||||
"version": "1.9.0",
|
||||
"resolved": "https://registry.npmjs.org/dot-object/-/dot-object-1.9.0.tgz",
|
||||
@@ -7088,6 +7129,63 @@
|
||||
"param-case": "2.1.x",
|
||||
"relateurl": "0.2.x",
|
||||
"uglify-js": "3.4.x"
|
||||
},
|
||||
"dependencies": {
|
||||
"camel-case": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
|
||||
"integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"no-case": "^2.2.0",
|
||||
"upper-case": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"commander": {
|
||||
"version": "2.17.1",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
|
||||
"integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
|
||||
"dev": true
|
||||
},
|
||||
"lower-case": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
|
||||
"integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
|
||||
"dev": true
|
||||
},
|
||||
"no-case": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
|
||||
"integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lower-case": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"param-case": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
|
||||
"integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"no-case": "^2.2.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"html-minifier-terser": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz",
|
||||
"integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"camel-case": "^4.1.1",
|
||||
"clean-css": "^4.2.3",
|
||||
"commander": "^4.1.1",
|
||||
"he": "^1.2.0",
|
||||
"param-case": "^3.0.3",
|
||||
"relateurl": "^0.2.7",
|
||||
"terser": "^4.6.3"
|
||||
}
|
||||
},
|
||||
"html-tags": {
|
||||
@@ -7097,59 +7195,23 @@
|
||||
"dev": true
|
||||
},
|
||||
"html-webpack-plugin": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz",
|
||||
"integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=",
|
||||
"version": "5.3.1",
|
||||
"resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.3.1.tgz",
|
||||
"integrity": "sha512-rZsVvPXUYFyME0cuGkyOHfx9hmkFa4pWfxY/mdY38PsBEaVNsRoA+Id+8z6DBDgyv3zaw6XQszdF8HLwfQvcdQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"html-minifier": "^3.2.3",
|
||||
"loader-utils": "^0.2.16",
|
||||
"lodash": "^4.17.3",
|
||||
"pretty-error": "^2.0.2",
|
||||
"tapable": "^1.0.0",
|
||||
"toposort": "^1.0.0",
|
||||
"util.promisify": "1.0.0"
|
||||
"@types/html-minifier-terser": "^5.0.0",
|
||||
"html-minifier-terser": "^5.0.1",
|
||||
"lodash": "^4.17.20",
|
||||
"pretty-error": "^2.1.1",
|
||||
"tapable": "^2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"big.js": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
|
||||
"integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
|
||||
"tapable": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz",
|
||||
"integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==",
|
||||
"dev": true
|
||||
},
|
||||
"emojis-list": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
|
||||
"integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
|
||||
"dev": true
|
||||
},
|
||||
"json5": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
|
||||
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
|
||||
"dev": true
|
||||
},
|
||||
"loader-utils": {
|
||||
"version": "0.2.17",
|
||||
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
|
||||
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"big.js": "^3.1.3",
|
||||
"emojis-list": "^2.0.0",
|
||||
"json5": "^0.5.0",
|
||||
"object-assign": "^4.0.1"
|
||||
}
|
||||
},
|
||||
"util.promisify": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
|
||||
"integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"define-properties": "^1.1.2",
|
||||
"object.getownpropertydescriptors": "^2.0.3"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -8363,10 +8425,21 @@
|
||||
"dev": true
|
||||
},
|
||||
"lower-case": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
|
||||
"integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
|
||||
"dev": true
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
|
||||
"integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"tslib": "^2.0.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"tslib": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
|
||||
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"lru-cache": {
|
||||
"version": "5.1.1",
|
||||
@@ -8841,12 +8914,21 @@
|
||||
"dev": true
|
||||
},
|
||||
"no-case": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
|
||||
"integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
|
||||
"integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lower-case": "^1.1.1"
|
||||
"lower-case": "^2.0.2",
|
||||
"tslib": "^2.0.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"tslib": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
|
||||
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node-forge": {
|
||||
@@ -9385,12 +9467,21 @@
|
||||
}
|
||||
},
|
||||
"param-case": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
|
||||
"integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
|
||||
"integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"no-case": "^2.2.0"
|
||||
"dot-case": "^3.0.4",
|
||||
"tslib": "^2.0.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"tslib": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
|
||||
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"parent-module": {
|
||||
@@ -9462,6 +9553,24 @@
|
||||
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
|
||||
"dev": true
|
||||
},
|
||||
"pascal-case": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
|
||||
"integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"no-case": "^3.0.4",
|
||||
"tslib": "^2.0.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"tslib": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
|
||||
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"pascalcase": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
|
||||
@@ -10212,6 +10321,16 @@
|
||||
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
|
||||
"dev": true
|
||||
},
|
||||
"preload-webpack-plugin": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/preload-webpack-plugin/-/preload-webpack-plugin-2.3.0.tgz",
|
||||
"integrity": "sha512-TWpYf7QqmW9lxXIQcPAPkfO+G6Zf/WrSZtqx864IdUtqZ+QGESfOGbGSMlBBt96sYEE+cZLF2GLrxbmLyieX6g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"object-assign": "^4.1.1",
|
||||
"object.values": "^1.0.4"
|
||||
}
|
||||
},
|
||||
"prelude-ls": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
|
||||
@@ -13037,6 +13156,87 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"vue-loader-v16": {
|
||||
"version": "npm:vue-loader@16.2.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.2.0.tgz",
|
||||
"integrity": "sha512-TitGhqSQ61RJljMmhIGvfWzJ2zk9m1Qug049Ugml6QP3t0e95o0XJjk29roNEiPKJQBEi8Ord5hFuSuELzSp8Q==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"chalk": "^4.1.0",
|
||||
"hash-sum": "^2.0.0",
|
||||
"loader-utils": "^2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"color-convert": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"chalk": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
|
||||
"integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
}
|
||||
},
|
||||
"color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"color-name": "~1.1.4"
|
||||
}
|
||||
},
|
||||
"color-name": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"loader-utils": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
|
||||
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"big.js": "^5.2.2",
|
||||
"emojis-list": "^3.0.0",
|
||||
"json5": "^2.1.2"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"has-flag": "^4.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"vue-router": {
|
||||
"version": "3.5.1",
|
||||
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.1.tgz",
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
"core-js": "^3.14.0",
|
||||
"fuse.js": "^6.4.6",
|
||||
"register-service-worker": "^1.7.1",
|
||||
"typeface-roboto": "^1.1.13",
|
||||
"v-jsoneditor": "^1.4.4",
|
||||
"vue": "^2.6.14",
|
||||
"vue-i18n": "^8.24.1",
|
||||
@@ -25,6 +24,7 @@
|
||||
"vuex-persistedstate": "^4.0.0-beta.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"typeface-roboto": "^1.1.13",
|
||||
"@intlify/vue-i18n-loader": "^1.1.0",
|
||||
"@mdi/font": "^5.9.55",
|
||||
"@mdi/js": "^5.9.55",
|
||||
@@ -32,9 +32,12 @@
|
||||
"@vue/cli-plugin-eslint": "^4.5.13",
|
||||
"@vue/cli-plugin-pwa": "~4.5.0",
|
||||
"@vue/cli-service": "^4.5.13",
|
||||
"@vue/preload-webpack-plugin": "^2.0.0",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"eslint": "^6.7.2",
|
||||
"eslint-plugin-vue": "^6.2.2",
|
||||
"html-webpack-plugin": "^5.3.1",
|
||||
"preload-webpack-plugin": "^2.3.0",
|
||||
"sass": "^1.34.1",
|
||||
"sass-loader": "^8.0.2",
|
||||
"vue-cli-plugin-i18n": "~1.0.1",
|
||||
@@ -69,4 +72,4 @@
|
||||
"last 2 versions",
|
||||
"not dead"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -8,8 +8,6 @@
|
||||
<meta name="description" content="Mealie is a self hosted recipe manager and meal planner.">
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||
<title> Mealie </title>
|
||||
<!-- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900"> -->
|
||||
<!-- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css"> -->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
@@ -48,32 +48,16 @@ export default {
|
||||
},
|
||||
},
|
||||
|
||||
async mounted() {
|
||||
async created() {
|
||||
// Initial API Requests
|
||||
this.$store.dispatch("initTheme");
|
||||
this.$store.dispatch("requestRecentRecipes");
|
||||
this.$store.dispatch("refreshToken");
|
||||
this.$store.dispatch("requestCurrentGroup");
|
||||
this.$store.dispatch("requestUserData");
|
||||
this.$store.dispatch("requestCategories");
|
||||
this.$store.dispatch("requestCurrentGroup");
|
||||
this.$store.dispatch("requestTags");
|
||||
this.darkModeSystemCheck();
|
||||
this.darkModeAddEventListener();
|
||||
this.$store.dispatch("requestAppInfo");
|
||||
this.$store.dispatch("requestCustomPages");
|
||||
this.$store.dispatch("requestSiteSettings");
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
refreshing: false,
|
||||
registration: null,
|
||||
snackBtnText: "",
|
||||
snackWithBtnText: "",
|
||||
snackWithButtons: false,
|
||||
};
|
||||
},
|
||||
|
||||
created() {
|
||||
// Listen for swUpdated event and display refresh snackbar as required.
|
||||
document.addEventListener("swUpdated", this.showRefreshUI, { once: true });
|
||||
// Refresh all open app tabs when a new service worker is installed.
|
||||
@@ -86,6 +70,21 @@ export default {
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.darkModeSystemCheck();
|
||||
this.darkModeAddEventListener();
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
refreshing: false,
|
||||
registration: null,
|
||||
snackBtnText: "",
|
||||
snackWithBtnText: "",
|
||||
snackWithButtons: false,
|
||||
};
|
||||
},
|
||||
|
||||
methods: {
|
||||
// For Later!
|
||||
|
||||
@@ -136,3 +135,4 @@ export default {
|
||||
scrollbar-color: transparent transparent;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ export const API_ROUTES = {
|
||||
aboutEvents: `${prefix}/about/events`,
|
||||
aboutEventsNotifications: `${prefix}/about/events/notifications`,
|
||||
aboutEventsNotificationsTest: `${prefix}/about/events/notifications/test`,
|
||||
aboutRecipesDefaults: `${prefix}/about/recipes/defaults`,
|
||||
authRefresh: `${prefix}/auth/refresh`,
|
||||
authToken: `${prefix}/auth/token`,
|
||||
authTokenLong: `${prefix}/auth/token/long`,
|
||||
@@ -27,6 +28,7 @@ export const API_ROUTES = {
|
||||
migrations: `${prefix}/migrations`,
|
||||
recipesCategory: `${prefix}/recipes/category`,
|
||||
recipesCreate: `${prefix}/recipes/create`,
|
||||
recipesCreateFromZip: `${prefix}/recipes/create-from-zip`,
|
||||
recipesCreateUrl: `${prefix}/recipes/create-url`,
|
||||
recipesSummary: `${prefix}/recipes/summary`,
|
||||
recipesSummaryUncategorized: `${prefix}/recipes/summary/uncategorized`,
|
||||
@@ -70,6 +72,7 @@ export const API_ROUTES = {
|
||||
recipesRecipeSlug: recipe_slug => `${prefix}/recipes/${recipe_slug}`,
|
||||
recipesRecipeSlugAssets: recipe_slug => `${prefix}/recipes/${recipe_slug}/assets`,
|
||||
recipesRecipeSlugImage: recipe_slug => `${prefix}/recipes/${recipe_slug}/image`,
|
||||
recipesRecipeSlugZip: recipe_slug => `${prefix}/recipes/${recipe_slug}/zip`,
|
||||
recipesSlugComments: slug => `${prefix}/recipes/${slug}/comments`,
|
||||
recipesSlugCommentsId: (slug, id) => `${prefix}/recipes/${slug}/comments/${id}`,
|
||||
shoppingListsId: id => `${prefix}/shopping-lists/${id}`,
|
||||
|
||||
@@ -13,7 +13,7 @@ export const metaAPI = {
|
||||
},
|
||||
|
||||
async getLogText(num) {
|
||||
const response = await apiReq.get(API_ROUTES.debugLog(num));
|
||||
const response = await apiReq.get(API_ROUTES.debugLogNum(num));
|
||||
return response.data;
|
||||
},
|
||||
|
||||
|
||||
@@ -4,6 +4,15 @@ import { store } from "../store";
|
||||
import i18n from "@/i18n.js";
|
||||
|
||||
export const recipeAPI = {
|
||||
/**
|
||||
* Returns the Default Recipe Settings for the Site
|
||||
* @returns {AxoisResponse} Axois Response Object
|
||||
*/
|
||||
async getDefaultSettings() {
|
||||
const response = await apiReq.get(API_ROUTES.aboutRecipesDefaults);
|
||||
return response;
|
||||
},
|
||||
|
||||
/**
|
||||
* Create a Recipe by URL
|
||||
* @param {string} recipeURL
|
||||
|
||||
@@ -4,8 +4,6 @@ import i18n from "@/i18n.js";
|
||||
export const utilsAPI = {
|
||||
// import { api } from "@/api";
|
||||
uploadFile(url, fileObject) {
|
||||
console.log("API Called");
|
||||
|
||||
return apiReq.post(
|
||||
url,
|
||||
fileObject,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<The404>
|
||||
<h1 class="mx-auto">No Recipe Found</h1>
|
||||
<h1 class="mx-auto">{{ $t('general.no-recipe-found') }}</h1>
|
||||
</The404>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div>
|
||||
<v-card-title>
|
||||
<slot>
|
||||
<h1 class="mx-auto">{{ $t("404.page-not-found") }}</h1>
|
||||
<h1 class="mx-auto">{{ $t('page.404-page-not-found') }}</h1>
|
||||
</slot>
|
||||
</v-card-title>
|
||||
<div class="d-flex justify-space-around">
|
||||
@@ -29,15 +29,15 @@
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
buttons: [
|
||||
{ icon: this.$globals.icons.home, to: "/", text: "Home" },
|
||||
{ icon: this.$globals.icons.primary, to: "/recipes/all", text: "All Recipes" },
|
||||
{ icon: this.$globals.icons.search, to: "/search", text: "Search" },
|
||||
],
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
buttons() {
|
||||
return[
|
||||
{ icon: this.$globals.icons.home, to: "/", text: this.$t('general.home') },
|
||||
{ icon: this.$globals.icons.primary, to: "/recipes/all", text: this.$t('page.all-recipes') },
|
||||
{ icon: this.$globals.icons.search, to: "/search", text: this.$t('search.search') },
|
||||
];
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
@@ -72,6 +72,13 @@ export default {
|
||||
selected: [],
|
||||
};
|
||||
},
|
||||
async created() {
|
||||
if (this.tagSelector) {
|
||||
this.$store.dispatch("requestTags");
|
||||
} else {
|
||||
this.$store.dispatch("requestCategories");
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$emit(MOUNTED_EVENT);
|
||||
this.setInit(this.value);
|
||||
|
||||
@@ -30,7 +30,7 @@ export default {
|
||||
],
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
created() {
|
||||
this.selectedItem = this.$store.getters.getActiveLang;
|
||||
},
|
||||
computed: {
|
||||
|
||||
@@ -18,14 +18,16 @@
|
||||
<v-hover v-slot="{ hover }" :open-delay="50">
|
||||
<v-card :class="{ 'on-hover': hover }" :elevation="hover ? 12 : 2">
|
||||
<CardImage large :slug="planDay.meals[0].slug" icon-size="200" @click="openSearch(index, modes.primary)">
|
||||
<v-fade-transition>
|
||||
<v-btn v-if="hover" small color="info" class="ma-1" @click.stop="addCustomItem(index, modes.primary)">
|
||||
<v-icon left>
|
||||
{{ $globals.icons.edit }}
|
||||
</v-icon>
|
||||
{{ $t('reicpe.no-recipe') }}
|
||||
</v-btn>
|
||||
</v-fade-transition>
|
||||
<div>
|
||||
<v-fade-transition>
|
||||
<v-btn v-if="hover" small color="info" class="ma-1" @click.stop="addCustomItem(index, modes.primary)">
|
||||
<v-icon left>
|
||||
{{ $globals.icons.edit }}
|
||||
</v-icon>
|
||||
{{ $t("reicpe.no-recipe") }}
|
||||
</v-btn>
|
||||
</v-fade-transition>
|
||||
</div>
|
||||
</CardImage>
|
||||
|
||||
<v-card-title class="my-n3 mb-n6">
|
||||
@@ -40,14 +42,14 @@
|
||||
<v-icon left>
|
||||
{{ $globals.icons.edit }}
|
||||
</v-icon>
|
||||
{{ $t('reicpe.no-recipe') }}
|
||||
{{ $t("reicpe.no-recipe") }}
|
||||
</v-btn>
|
||||
</v-fade-transition>
|
||||
<v-btn color="info" outlined small @click="openSearch(index, modes.sides)">
|
||||
<v-icon small class="mr-1">
|
||||
{{ $globals.icons.create }}
|
||||
</v-icon>
|
||||
{{ $t('meal-plan.side') }}
|
||||
{{ $t("meal-plan.side") }}
|
||||
</v-btn>
|
||||
</v-card-actions>
|
||||
</v-hover>
|
||||
|
||||
@@ -122,7 +122,7 @@ export default {
|
||||
}
|
||||
},
|
||||
},
|
||||
async mounted() {
|
||||
async created() {
|
||||
await this.$store.dispatch("requestCurrentGroup");
|
||||
await this.$store.dispatch("requestAllRecipes");
|
||||
await this.buildMealStore();
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<v-icon color="primary" class="icon-position" :size="iconSize">
|
||||
{{ $globals.icons.primary }}
|
||||
</v-icon>
|
||||
<slot> </slot>
|
||||
<slot> </slot>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -85,6 +85,7 @@ export default {
|
||||
}
|
||||
|
||||
.icon-slot > div {
|
||||
top: 0;
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
allow-overflow
|
||||
close-delay="125"
|
||||
open-on-hover
|
||||
content-class="d-print-none"
|
||||
>
|
||||
<template v-slot:activator="{ on, attrs }">
|
||||
<v-btn :fab="fab" :small="fab" :color="color" :icon="!fab" dark v-bind="attrs" v-on="on" @click.prevent>
|
||||
@@ -25,11 +26,7 @@
|
||||
</v-btn>
|
||||
</template>
|
||||
<v-list dense>
|
||||
<v-list-item
|
||||
v-for="(item, index) in loggedIn && cardMenu ? userMenu : defaultMenu"
|
||||
:key="index"
|
||||
@click="menuAction(item.action)"
|
||||
>
|
||||
<v-list-item v-for="(item, index) in displayedMenu" :key="index" @click="menuAction(item.action)">
|
||||
<v-list-item-icon>
|
||||
<v-icon v-text="item.icon" :color="item.color"></v-icon>
|
||||
</v-list-item-icon>
|
||||
@@ -53,6 +50,10 @@ export default {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
showPrint: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
fab: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
@@ -88,20 +89,28 @@ export default {
|
||||
recipeURL() {
|
||||
return `${this.baseURL}/recipe/${this.slug}`;
|
||||
},
|
||||
printerMenu() {
|
||||
return {
|
||||
title: this.$t("general.print"),
|
||||
icon: this.$globals.icons.printer,
|
||||
color: "accent",
|
||||
action: "print",
|
||||
};
|
||||
},
|
||||
defaultMenu() {
|
||||
return [
|
||||
{
|
||||
title: this.$t("general.print"),
|
||||
icon: this.$globals.icons.printer,
|
||||
color: "accent",
|
||||
action: "print",
|
||||
},
|
||||
{
|
||||
title: this.$t("general.share"),
|
||||
icon: this.$globals.icons.shareVariant,
|
||||
color: "accent",
|
||||
action: "share",
|
||||
},
|
||||
{
|
||||
title: this.$t("general.download"),
|
||||
icon: this.$globals.icons.download,
|
||||
color: "accent",
|
||||
action: "download",
|
||||
},
|
||||
];
|
||||
},
|
||||
userMenu() {
|
||||
@@ -118,9 +127,18 @@ export default {
|
||||
color: "accent",
|
||||
action: "edit",
|
||||
},
|
||||
...this.defaultMenu,
|
||||
];
|
||||
},
|
||||
displayedMenu() {
|
||||
let menu = this.defaultMenu;
|
||||
if (this.loggedIn && this.cardMenu) {
|
||||
menu = [...this.userMenu, ...menu];
|
||||
}
|
||||
if (this.showPrint) {
|
||||
menu = [this.printerMenu, ...menu];
|
||||
}
|
||||
return menu;
|
||||
},
|
||||
recipeText() {
|
||||
return this.$t("recipe.share-recipe-message", [this.name]);
|
||||
},
|
||||
@@ -159,6 +177,9 @@ export default {
|
||||
case "print":
|
||||
this.$router.push(`/recipe/${this.slug}` + "?print=true");
|
||||
break;
|
||||
case "download":
|
||||
window.open(`/api/recipes/${this.slug}/zip`);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<template>
|
||||
<v-tooltip bottom nudge-right="50" :color="buttonStyle ? 'primary' : 'secondary'">
|
||||
<v-tooltip bottom nudge-right="50" :color="buttonStyle ? 'info' : 'secondary'">
|
||||
<template v-slot:activator="{ on, attrs }">
|
||||
<v-btn
|
||||
small
|
||||
@click.prevent="toggleFavorite"
|
||||
v-if="isFavorite || showAlways"
|
||||
:color="buttonStyle ? 'primary' : 'secondary'"
|
||||
:color="buttonStyle ? 'info' : 'secondary'"
|
||||
:icon="!buttonStyle"
|
||||
:fab="buttonStyle"
|
||||
v-bind="attrs"
|
||||
v-on="on"
|
||||
>
|
||||
<v-icon :small="!buttonStyle" color="secondary">
|
||||
<v-icon :small="!buttonStyle" :color="buttonStyle ? 'white' : 'secondary'">
|
||||
{{ isFavorite ? $globals.icons.heart : $globals.icons.heartOutline }}
|
||||
</v-icon>
|
||||
</v-btn>
|
||||
|
||||
@@ -2,13 +2,18 @@
|
||||
<div v-if="value.length > 0 || edit">
|
||||
<v-card class="mt-2">
|
||||
<v-card-title class="py-2">
|
||||
{{ $t("recipe.assets") }}
|
||||
{{ $t("asset.assets") }}
|
||||
</v-card-title>
|
||||
<v-divider class="mx-2"></v-divider>
|
||||
<v-list :flat="!edit" v-if="value.length > 0">
|
||||
<v-list-item v-for="(item, i) in value" :key="i">
|
||||
<v-list-item-icon class="ma-auto">
|
||||
<v-icon v-text="getIcon(item.icon)"></v-icon>
|
||||
<v-tooltip bottom>
|
||||
<template v-slot:activator="{ on, attrs }">
|
||||
<v-icon v-text="getIconDefinition(item.icon).icon" v-bind="attrs" v-on="on"></v-icon>
|
||||
</template>
|
||||
<span>{{ getIconDefinition(item.icon).title }}</span>
|
||||
</v-tooltip>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title class="pl-2" v-text="item.name"></v-list-item-title>
|
||||
@@ -29,7 +34,7 @@
|
||||
</v-card>
|
||||
<div class="d-flex ml-auto mt-2">
|
||||
<v-spacer></v-spacer>
|
||||
<base-dialog @submit="addAsset" :title="$t('recipe.new-asset')" :title-icon="getIcon(newAsset.icon)">
|
||||
<base-dialog @submit="addAsset" :title="$t('asset.new-asset')" :title-icon="getIconDefinition(newAsset.icon).icon">
|
||||
<template v-slot:open="{ open }">
|
||||
<v-btn color="secondary" dark @click="open" v-if="edit">
|
||||
<v-icon>{{ $globals.icons.create }}</v-icon>
|
||||
@@ -40,18 +45,20 @@
|
||||
<div class="d-flex justify-space-between">
|
||||
<v-select
|
||||
dense
|
||||
:prepend-icon="getIcon(newAsset.icon)"
|
||||
:prepend-icon="getIconDefinition(newAsset.icon).icon"
|
||||
v-model="newAsset.icon"
|
||||
:items="iconOptions"
|
||||
item-text="title"
|
||||
item-value="name"
|
||||
class="mr-2"
|
||||
>
|
||||
<template v-slot:item="{ item }">
|
||||
<v-list-item-avatar>
|
||||
<v-icon class="mr-auto">
|
||||
{{ getIcon(item) }}
|
||||
{{ item.icon }}
|
||||
</v-icon>
|
||||
</v-list-item-avatar>
|
||||
{{ item }}
|
||||
{{ item.title }}
|
||||
</template>
|
||||
</v-select>
|
||||
<TheUploadBtn @uploaded="setFileObject" :post="false" file-name="file" :text-btn="false" />
|
||||
@@ -91,30 +98,45 @@ export default {
|
||||
name: "",
|
||||
icon: "mdi-file",
|
||||
},
|
||||
iconOptions: ["mdi-file", "mdi-file-pdf-box", "mdi-file-image", "mdi-code-json", "mdi-silverware-fork-knife"],
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
baseURL() {
|
||||
return window.location.origin;
|
||||
},
|
||||
iconOptions() {
|
||||
return [
|
||||
{
|
||||
name: "mdi-file",
|
||||
title: this.$i18n.t('asset.file'),
|
||||
icon: this.$globals.icons.file
|
||||
},
|
||||
{
|
||||
name: "mdi-file-pdf-box",
|
||||
title: this.$i18n.t('asset.pdf'),
|
||||
icon: this.$globals.icons.filePDF
|
||||
},
|
||||
{
|
||||
name: "mdi-file-image",
|
||||
title: this.$i18n.t('asset.image'),
|
||||
icon: this.$globals.icons.fileImage
|
||||
},
|
||||
{
|
||||
name: "mdi-code-json",
|
||||
title: this.$i18n.t('asset.code'),
|
||||
icon: this.$globals.icons.codeJson
|
||||
},
|
||||
{
|
||||
name: "mdi-silverware-fork-knife",
|
||||
title: this.$i18n.t('asset.recipe'),
|
||||
icon: this.$globals.icons.primary
|
||||
},
|
||||
];
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
getIcon(val) {
|
||||
switch (val) {
|
||||
case "mdi-file":
|
||||
return this.$globals.icons.file;
|
||||
case "mdi-file-pdf-box":
|
||||
return this.$globals.icons.filePDF;
|
||||
case "mdi-file-image":
|
||||
return this.$globals.icons.fileImage;
|
||||
case "mdi-code-json":
|
||||
return this.$globals.icons.codeJson;
|
||||
case "mdi-silverware-fork-knife":
|
||||
return this.$globals.icons.primary;
|
||||
default:
|
||||
return this.$globals.icons.file;
|
||||
}
|
||||
getIconDefinition(val) {
|
||||
return this.iconOptions.find(({ name }) => name === val );
|
||||
},
|
||||
assetURL(assetName) {
|
||||
return api.recipes.recipeAssetPath(this.slug, assetName);
|
||||
|
||||
@@ -25,9 +25,9 @@
|
||||
</v-card-title>
|
||||
<v-card-text class="mt-n5">
|
||||
<div>
|
||||
<v-text-field :label="$t('general.url')" class="pt-5" clearable v-model="url">
|
||||
<v-text-field :label="$t('general.url')" class="pt-5" clearable v-model="url" :messages="getMessages()">
|
||||
<template v-slot:append-outer>
|
||||
<v-btn class="ml-2" color="primary" @click="getImageFromURL" :loading="loading" :disabled="slug">
|
||||
<v-btn class="ml-2" color="primary" @click="getImageFromURL" :loading="loading" :disabled="!slug">
|
||||
{{ $t("general.get") }}
|
||||
</v-btn>
|
||||
</template>
|
||||
@@ -66,6 +66,9 @@ export default {
|
||||
}
|
||||
this.loading = false;
|
||||
},
|
||||
getMessages() {
|
||||
return this.slug ? [""] : [this.$i18n.t("recipe.save-recipe-before-use")];
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -45,7 +45,7 @@ export default {
|
||||
return {
|
||||
public: this.$t("recipe.public-recipe"),
|
||||
showNutrition: this.$t("recipe.show-nutrition-values"),
|
||||
showAssets: this.$t("recipe.show-assets"),
|
||||
showAssets: this.$t("asset.show-assets"),
|
||||
landscapeView: this.$t("recipe.landscape-view-coming-soon"),
|
||||
disableComments: this.$t("recipe.disable-comments"),
|
||||
disableAmount: this.$t("recipe.disable-amount"),
|
||||
|
||||
@@ -1,11 +1,20 @@
|
||||
<template>
|
||||
<div v-if="value && value.length > 0">
|
||||
<div v-if="edit || (value && value.length > 0)">
|
||||
<h2 class="mb-4">{{ $t("recipe.ingredients") }}</h2>
|
||||
<div v-if="edit">
|
||||
<draggable :value="value" @input="updateIndex" @start="drag = true" @end="drag = false" handle=".handle">
|
||||
<transition-group type="transition" :name="!drag ? 'flip-list' : null">
|
||||
<div v-for="(ingredient, index) in value" :key="generateKey('ingredient', index)">
|
||||
<v-row align="center">
|
||||
<v-text-field
|
||||
v-if="edit && showTitleEditor[index]"
|
||||
class="mx-3 mt-3"
|
||||
v-model="value[index].title"
|
||||
dense
|
||||
:label="$t('recipe.section-title')"
|
||||
>
|
||||
</v-text-field>
|
||||
|
||||
<v-textarea
|
||||
class="mr-2"
|
||||
:label="$t('recipe.ingredient')"
|
||||
@@ -15,6 +24,18 @@
|
||||
dense
|
||||
rows="1"
|
||||
>
|
||||
<template slot="append">
|
||||
<v-tooltip right nudge-right="10">
|
||||
<template v-slot:activator="{ on, attrs }">
|
||||
<v-btn icon small class="mt-n1" v-bind="attrs" v-on="on" @click="toggleShowTitle(index)">
|
||||
<v-icon>{{ showTitleEditor[index] ? $globals.icons.minus : $globals.icons.createAlt }}</v-icon>
|
||||
</v-btn>
|
||||
</template>
|
||||
<span>{{
|
||||
showTitleEditor[index] ? $t("recipe.remove-section") : $t("recipe.insert-section")
|
||||
}}</span>
|
||||
</v-tooltip>
|
||||
</template>
|
||||
<template slot="append-outer">
|
||||
<v-icon class="handle">{{ $globals.icons.arrowUpDown }}</v-icon>
|
||||
</template>
|
||||
@@ -35,18 +56,16 @@
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<v-list-item
|
||||
dense
|
||||
v-for="(ingredient, index) in value"
|
||||
:key="generateKey('ingredient', index)"
|
||||
@click="toggleChecked(index)"
|
||||
>
|
||||
<v-checkbox hide-details :value="checked[index]" class="pt-0 my-auto py-auto" color="secondary"> </v-checkbox>
|
||||
|
||||
<v-list-item-content>
|
||||
<vue-markdown class="ma-0 pa-0 text-subtitle-1 dense-markdown" :source="ingredient.note"> </vue-markdown>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<div v-for="(ingredient, index) in value" :key="generateKey('ingredient', index)">
|
||||
<h3 class="mt-2" v-if="showTitleEditor[index]">{{ ingredient.title }}</h3>
|
||||
<v-divider v-if="showTitleEditor[index]"></v-divider>
|
||||
<v-list-item dense @click="toggleChecked(index)">
|
||||
<v-checkbox hide-details :value="checked[index]" class="pt-0 my-auto py-auto" color="secondary"> </v-checkbox>
|
||||
<v-list-item-content>
|
||||
<vue-markdown class="ma-0 pa-0 text-subtitle-1 dense-markdown" :source="ingredient.note"> </vue-markdown>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -76,10 +95,19 @@ export default {
|
||||
return {
|
||||
drag: false,
|
||||
checked: [],
|
||||
showTitleEditor: [],
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.checked = this.value.map(() => false);
|
||||
this.showTitleEditor = this.value.map(x => this.validateTitle(x.title));
|
||||
},
|
||||
watch: {
|
||||
value: {
|
||||
handler() {
|
||||
this.showTitleEditor = this.value.map(x => this.validateTitle(x.title));
|
||||
},
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
addIngredient(ingredients = null) {
|
||||
@@ -118,6 +146,16 @@ export default {
|
||||
removeByIndex(list, index) {
|
||||
list.splice(index, 1);
|
||||
},
|
||||
validateTitle(title) {
|
||||
return !(title === null || title === "");
|
||||
},
|
||||
toggleShowTitle(index) {
|
||||
const newVal = !this.showTitleEditor[index];
|
||||
if (!newVal) {
|
||||
this.value[index].title = "";
|
||||
}
|
||||
this.$set(this.showTitleEditor, index, newVal);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -2,74 +2,97 @@
|
||||
<div>
|
||||
<h2 class="mb-4">{{ $t("recipe.instructions") }}</h2>
|
||||
<div>
|
||||
<div v-for="(step, index) in value" :key="index">
|
||||
<v-app-bar v-if="showTitleEditor[index]" class="primary mx-1 mt-6" dark dense rounded>
|
||||
<v-toolbar-title class="headline" v-if="!edit">
|
||||
<v-app-bar-title v-text="step.title"> </v-app-bar-title>
|
||||
</v-toolbar-title>
|
||||
<v-text-field
|
||||
v-if="edit"
|
||||
class="headline pa-0 mt-5"
|
||||
v-model="step.title"
|
||||
dense
|
||||
solo
|
||||
flat
|
||||
:placeholder="$t('recipe.section-title')"
|
||||
background-color="primary"
|
||||
>
|
||||
</v-text-field>
|
||||
</v-app-bar>
|
||||
<v-hover v-slot="{ hover }">
|
||||
<v-card
|
||||
class="ma-1"
|
||||
:class="[{ 'on-hover': hover }, isDisabled(index)]"
|
||||
:elevation="hover ? 12 : 2"
|
||||
:ripple="!edit"
|
||||
@click="toggleDisabled(index)"
|
||||
>
|
||||
<v-card-title>
|
||||
<v-btn
|
||||
v-if="edit"
|
||||
fab
|
||||
x-small
|
||||
color="white"
|
||||
class="mr-2"
|
||||
elevation="0"
|
||||
@click="removeByIndex(value, index)"
|
||||
>
|
||||
<v-icon size="24" color="error">{{ $globals.icons.delete }}</v-icon>
|
||||
</v-btn>
|
||||
{{ $t("recipe.step-index", { step: index + 1 }) }}
|
||||
<v-btn v-if="edit" text color="primary" class="ml-auto" @click="toggleShowTitle(index)">
|
||||
{{ !showTitleEditor[index] ? $t('recipe.insert-section') : $t('recipe.remove-section') }}
|
||||
</v-btn>
|
||||
</v-card-title>
|
||||
<v-card-text v-if="edit">
|
||||
<v-textarea
|
||||
auto-grow
|
||||
dense
|
||||
v-model="value[index]['text']"
|
||||
:key="generateKey('instructions', index)"
|
||||
rows="4"
|
||||
>
|
||||
</v-textarea>
|
||||
</v-card-text>
|
||||
<v-card-text v-else>
|
||||
<vue-markdown :source="step.text"> </vue-markdown>
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
</v-hover>
|
||||
</div>
|
||||
<draggable
|
||||
:disabled="!edit"
|
||||
:value="value"
|
||||
@input="updateIndex"
|
||||
@start="drag = true"
|
||||
@end="drag = false"
|
||||
handle=".handle"
|
||||
>
|
||||
<div v-for="(step, index) in value" :key="index">
|
||||
<v-app-bar v-if="showTitleEditor[index]" class="primary mx-1 mt-6" dark dense rounded>
|
||||
<v-toolbar-title class="headline" v-if="!edit">
|
||||
<v-app-bar-title v-text="step.title"> </v-app-bar-title>
|
||||
</v-toolbar-title>
|
||||
<v-text-field
|
||||
v-if="edit"
|
||||
class="headline pa-0 mt-5"
|
||||
v-model="step.title"
|
||||
dense
|
||||
solo
|
||||
flat
|
||||
:placeholder="$t('recipe.section-title')"
|
||||
background-color="primary"
|
||||
>
|
||||
</v-text-field>
|
||||
</v-app-bar>
|
||||
<v-hover v-slot="{ hover }">
|
||||
<v-card
|
||||
class="ma-1"
|
||||
:class="[{ 'on-hover': hover }, isChecked(index)]"
|
||||
:elevation="hover ? 12 : 2"
|
||||
:ripple="!edit"
|
||||
@click="toggleDisabled(index)"
|
||||
>
|
||||
<v-card-title :class="{ 'pb-0': !isChecked(index) }">
|
||||
<v-btn
|
||||
v-if="edit"
|
||||
fab
|
||||
x-small
|
||||
color="white"
|
||||
class="mr-2"
|
||||
elevation="0"
|
||||
@click="removeByIndex(value, index)"
|
||||
>
|
||||
<v-icon size="24" color="error">{{ $globals.icons.delete }}</v-icon>
|
||||
</v-btn>
|
||||
|
||||
{{ $t("recipe.step-index", { step: index + 1 }) }}
|
||||
|
||||
<v-btn v-if="edit" text color="primary" class="ml-auto" @click="toggleShowTitle(index)">
|
||||
{{ !showTitleEditor[index] ? $t("recipe.insert-section") : $t("recipe.remove-section") }}
|
||||
</v-btn>
|
||||
<v-icon v-if="edit" class="handle">{{ $globals.icons.arrowUpDown }}</v-icon>
|
||||
<v-fade-transition>
|
||||
<v-icon v-show="isChecked(index)" size="24" class="ml-auto" color="success">
|
||||
{{ $globals.icons.checkboxMarkedCircle }}
|
||||
</v-icon>
|
||||
</v-fade-transition>
|
||||
</v-card-title>
|
||||
<v-card-text v-if="edit">
|
||||
<v-textarea
|
||||
auto-grow
|
||||
dense
|
||||
v-model="value[index]['text']"
|
||||
:key="generateKey('instructions', index)"
|
||||
rows="4"
|
||||
>
|
||||
</v-textarea>
|
||||
</v-card-text>
|
||||
<v-expand-transition>
|
||||
<div class="m-0 p-0" v-show="!isChecked(index) && !edit">
|
||||
<v-card-text>
|
||||
<vue-markdown :source="step.text"> </vue-markdown>
|
||||
</v-card-text>
|
||||
</div>
|
||||
</v-expand-transition>
|
||||
</v-card>
|
||||
</v-hover>
|
||||
</div>
|
||||
</draggable>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import draggable from "vuedraggable";
|
||||
import VueMarkdown from "@adapttive/vue-markdown";
|
||||
import { utils } from "@/utils";
|
||||
export default {
|
||||
components: {
|
||||
VueMarkdown,
|
||||
draggable,
|
||||
},
|
||||
props: {
|
||||
value: {
|
||||
@@ -91,6 +114,16 @@ export default {
|
||||
mounted() {
|
||||
this.showTitleEditor = this.value.map(x => this.validateTitle(x.title));
|
||||
},
|
||||
|
||||
watch: {
|
||||
value: {
|
||||
handler() {
|
||||
this.disabledSteps = [];
|
||||
this.showTitleEditor = this.value.map(x => this.validateTitle(x.title));
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
methods: {
|
||||
generateKey(item, index) {
|
||||
return utils.generateUniqueKey(item, index);
|
||||
@@ -112,7 +145,7 @@ export default {
|
||||
this.disabledSteps.push(stepIndex);
|
||||
}
|
||||
},
|
||||
isDisabled(stepIndex) {
|
||||
isChecked(stepIndex) {
|
||||
if (this.disabledSteps.includes(stepIndex) && !this.edit) {
|
||||
return "disabled-card";
|
||||
} else {
|
||||
@@ -126,8 +159,11 @@ export default {
|
||||
}
|
||||
this.$set(this.showTitleEditor, index, newVal);
|
||||
},
|
||||
updateIndex(data) {
|
||||
this.$emit("input", data);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ export default {
|
||||
return utils.generateUniqueKey(item, index);
|
||||
},
|
||||
addNote() {
|
||||
this.value.push({ text: "" });
|
||||
this.value.push({ title: "", text: "" });
|
||||
},
|
||||
removeByIndex(list, index) {
|
||||
list.splice(index, 1);
|
||||
|
||||
@@ -125,12 +125,13 @@ export default {
|
||||
appendSteps(steps) {
|
||||
this.value.recipeInstructions.push(
|
||||
...steps.map(x => ({
|
||||
title: "",
|
||||
text: x,
|
||||
}))
|
||||
);
|
||||
},
|
||||
addStep() {
|
||||
this.value.recipeInstructions.push({ text: "" });
|
||||
this.value.recipeInstructions.push({ title: "", text: "" });
|
||||
},
|
||||
saveExtras(extras) {
|
||||
this.value.extras = extras;
|
||||
|
||||
@@ -18,15 +18,26 @@
|
||||
/>
|
||||
<v-spacer></v-spacer>
|
||||
<div v-if="!value" class="custom-btn-group ma-1">
|
||||
<FavoriteBadge class="mx-1" color="info" button-style v-if="loggedIn" :slug="slug" show-always />
|
||||
<v-tooltip bottom color="info">
|
||||
<template v-slot:activator="{ on, attrs }">
|
||||
<v-btn fab small class="mx-1" color="info" v-bind="attrs" v-on="on" @click="$emit('input', true)">
|
||||
<v-btn
|
||||
v-if="loggedIn"
|
||||
fab
|
||||
small
|
||||
class="mx-1"
|
||||
color="info"
|
||||
v-bind="attrs"
|
||||
v-on="on"
|
||||
@click="$emit('input', true)"
|
||||
>
|
||||
<v-icon> {{ $globals.icons.edit }} </v-icon>
|
||||
</v-btn>
|
||||
</template>
|
||||
<span>{{ $t("general.edit") }}</span>
|
||||
</v-tooltip>
|
||||
<ContextMenu
|
||||
show-print
|
||||
:menu-top="false"
|
||||
:slug="slug"
|
||||
:name="name"
|
||||
@@ -56,13 +67,15 @@
|
||||
<script>
|
||||
import ConfirmationDialog from "@/components/UI/Dialogs/ConfirmationDialog.vue";
|
||||
import ContextMenu from "@/components/Recipe/ContextMenu.vue";
|
||||
import FavoriteBadge from "@/components/Recipe/FavoriteBadge.vue";
|
||||
|
||||
const SAVE_EVENT = "save";
|
||||
const DELETE_EVENT = "delete";
|
||||
const CLOSE_EVENT = "close";
|
||||
const JSON_EVENT = "json";
|
||||
|
||||
export default {
|
||||
components: { ConfirmationDialog, ContextMenu },
|
||||
components: { ConfirmationDialog, ContextMenu, FavoriteBadge },
|
||||
props: {
|
||||
slug: {
|
||||
type: String,
|
||||
@@ -74,6 +87,10 @@ export default {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
loggedIn: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -120,7 +137,6 @@ export default {
|
||||
break;
|
||||
case SAVE_EVENT:
|
||||
this.$emit(SAVE_EVENT);
|
||||
this.$emit("input", false);
|
||||
break;
|
||||
case JSON_EVENT:
|
||||
this.$emit(JSON_EVENT);
|
||||
|
||||
@@ -58,8 +58,10 @@ export default {
|
||||
let formData = new FormData();
|
||||
formData.append(this.fileName, this.file);
|
||||
|
||||
if (await api.utils.uploadFile(this.url, formData)) {
|
||||
this.$emit(UPLOAD_EVENT);
|
||||
const response = await api.utils.uploadFile(this.url, formData);
|
||||
|
||||
if (response) {
|
||||
this.$emit(UPLOAD_EVENT, response);
|
||||
}
|
||||
this.isSelecting = false;
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<template v-slot:activator="{ on, attrs }">
|
||||
<v-btn text :icon="$vuetify.breakpoint.xsOnly" v-bind="attrs" v-on="on" :loading="sortLoading">
|
||||
<v-icon :left="!$vuetify.breakpoint.xsOnly">
|
||||
{{ $globals.icons.diceMultiple }}
|
||||
{{ $globals.icons.sort }}
|
||||
</v-icon>
|
||||
{{ $vuetify.breakpoint.xsOnly ? null : $t("general.sort") }}
|
||||
</v-btn>
|
||||
|
||||
@@ -82,7 +82,7 @@ export default {
|
||||
} else return this.$t("settings.backup.partial-backup");
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
created() {
|
||||
this.resetData();
|
||||
this.getAvailableBackups();
|
||||
},
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from "@/i18n";
|
||||
import i18n from "@/i18n.js";
|
||||
export default {
|
||||
props: {
|
||||
color: {
|
||||
@@ -65,12 +65,14 @@ export default {
|
||||
},
|
||||
top: {
|
||||
default: null,
|
||||
type: Boolean,
|
||||
},
|
||||
submitText: {
|
||||
default: () => i18n.t("general.create"),
|
||||
},
|
||||
keepOpen: {
|
||||
default: false,
|
||||
type: Boolean,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
@@ -101,16 +103,17 @@ export default {
|
||||
this.$emit("submit");
|
||||
this.submitted = true;
|
||||
},
|
||||
deleteEvent() {
|
||||
this.$emit("delete");
|
||||
this.submitted = true;
|
||||
},
|
||||
open() {
|
||||
console.log("Open Dialog");
|
||||
this.dialog = true;
|
||||
},
|
||||
close() {
|
||||
this.dialog = false;
|
||||
},
|
||||
deleteEvent() {
|
||||
this.$emit("delete");
|
||||
this.submitted = true;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
</v-icon>
|
||||
<div v-if="large" class="text-small">
|
||||
<slot>
|
||||
{{ small ? "" : "Loading Recipes" }}
|
||||
{{ small ? "" : waitingText }}
|
||||
</slot>
|
||||
</div>
|
||||
</div>
|
||||
</v-progress-circular>
|
||||
<div v-if="!large" class="text-small">
|
||||
<slot>
|
||||
{{ small ? "" : "Loading Recipes" }}
|
||||
{{ small ? "" : waitingText }}
|
||||
</slot>
|
||||
</div>
|
||||
</div>
|
||||
@@ -60,6 +60,9 @@ export default {
|
||||
size: 125,
|
||||
};
|
||||
},
|
||||
waitingText() {
|
||||
return this.$t("general.loading-recipes");
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -44,13 +44,13 @@
|
||||
target="_blank"
|
||||
rel="noreferrer nofollow"
|
||||
>
|
||||
Google ld+json Info
|
||||
{{ $t('new-recipe.google-ld-json-info') }}
|
||||
</a>
|
||||
<a href="https://github.com/hay-kot/mealie/issues" target="_blank" rel="noreferrer nofollow">
|
||||
GitHub Issues
|
||||
{{ $t('new-recipe.github-issues') }}
|
||||
</a>
|
||||
<a href="https://schema.org/Recipe" target="_blank" rel="noreferrer nofollow">
|
||||
Recipe Markup Specification
|
||||
{{ $t('new-recipe.recipe-markup-specification') }}
|
||||
</a>
|
||||
</div>
|
||||
<div class="d-flex justify-end">
|
||||
@@ -61,7 +61,7 @@
|
||||
@click="addRecipe = false"
|
||||
>
|
||||
<v-icon left> {{ $globals.icons.externalLink }} </v-icon>
|
||||
View Scraped Data
|
||||
{{ $t('new-recipe.view-scraped-data') }}
|
||||
</v-btn>
|
||||
</div>
|
||||
</v-alert>
|
||||
@@ -84,6 +84,26 @@
|
||||
</v-form>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
<BaseDialog
|
||||
:title="$t('new-recipe.upload-a-recipe')"
|
||||
:titleIcon="$globals.icons.zip"
|
||||
:submit-text="$t('general.import')"
|
||||
ref="uploadZipDialog"
|
||||
@submit="uploadZip"
|
||||
:loading="processing"
|
||||
>
|
||||
<v-card-text class="mt-1 pb-0">
|
||||
{{ $t("new-recipe.upload-individual-zip-file") }}
|
||||
|
||||
<div class="headline mx-auto mb-0 pb-0 text-center">
|
||||
{{ this.fileName }}
|
||||
</div>
|
||||
</v-card-text>
|
||||
|
||||
<v-card-actions>
|
||||
<TheUploadBtn class="mx-auto" :text-btn="false" @uploaded="setFile" :post="false"> </TheUploadBtn>
|
||||
</v-card-actions>
|
||||
</BaseDialog>
|
||||
<v-speed-dial v-model="fab" :open-on-hover="absolute" :fixed="absolute" :bottom="absolute" :right="absolute">
|
||||
<template v-slot:activator>
|
||||
<v-btn v-model="fab" :color="absolute ? 'accent' : 'white'" dark :icon="!absolute" :fab="absolute">
|
||||
@@ -106,13 +126,27 @@
|
||||
</template>
|
||||
<span>{{ $t("general.new") }}</span>
|
||||
</v-tooltip>
|
||||
<v-tooltip left dark color="info">
|
||||
<template v-slot:activator="{ on, attrs }">
|
||||
<v-btn fab dark small color="info" v-bind="attrs" v-on="on" @click="openZipUploader">
|
||||
<v-icon>{{ $globals.icons.zip }}</v-icon>
|
||||
</v-btn>
|
||||
</template>
|
||||
<span>{{ $t("general.upload") }}</span>
|
||||
</v-tooltip>
|
||||
</v-speed-dial>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { api } from "@/api";
|
||||
import TheUploadBtn from "@/components/UI/Buttons/TheUploadBtn.vue";
|
||||
import BaseDialog from "@/components/UI/Dialogs/BaseDialog.vue";
|
||||
export default {
|
||||
components: {
|
||||
TheUploadBtn,
|
||||
BaseDialog,
|
||||
},
|
||||
props: {
|
||||
absolute: {
|
||||
default: false,
|
||||
@@ -124,6 +158,10 @@ export default {
|
||||
fab: false,
|
||||
addRecipe: false,
|
||||
processing: false,
|
||||
uploadData: {
|
||||
fileName: "archive",
|
||||
file: null,
|
||||
},
|
||||
};
|
||||
},
|
||||
|
||||
@@ -143,9 +181,34 @@ export default {
|
||||
return this.$route.query.recipe_import_url || "";
|
||||
},
|
||||
},
|
||||
fileName() {
|
||||
return this.uploadData.file?.name || "";
|
||||
},
|
||||
},
|
||||
|
||||
methods: {
|
||||
resetVars() {
|
||||
this.uploadData = {
|
||||
fileName: "archive",
|
||||
file: null,
|
||||
};
|
||||
},
|
||||
setFile(file) {
|
||||
this.uploadData.file = file;
|
||||
console.log("Uploaded");
|
||||
},
|
||||
openZipUploader() {
|
||||
this.resetVars();
|
||||
this.$refs.uploadZipDialog.open();
|
||||
},
|
||||
async uploadZip() {
|
||||
let formData = new FormData();
|
||||
formData.append(this.uploadData.fileName, this.uploadData.file);
|
||||
|
||||
const response = await api.utils.uploadFile("/api/recipes/create-from-zip", formData);
|
||||
|
||||
this.$router.push(`/recipe/${response.data.slug}`);
|
||||
},
|
||||
async createRecipe() {
|
||||
this.error = false;
|
||||
if (this.$refs.urlForm === undefined || this.$refs.urlForm.validate()) {
|
||||
@@ -161,7 +224,6 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
reset() {
|
||||
this.fab = false;
|
||||
this.error = false;
|
||||
@@ -171,11 +233,7 @@ export default {
|
||||
},
|
||||
isValidWebUrl(url) {
|
||||
let regEx = /^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,256}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)$/gm;
|
||||
return regEx.test(url) ? true : "Must be a Valid URL";
|
||||
},
|
||||
|
||||
bookmark() {
|
||||
return `javascript:(function()%7Bvar url %3D document.URL %3B%0Avar mealie %3D "http%3A%2F%2Flocalhost%3A8080%2F%23"%0Avar dest %3D mealie %2B "%2F%3Frecipe_import_url%3D" %2B url%0Awindow.open(dest%2C '_blank')%7D)()%3B`;
|
||||
return regEx.test(url) ? true : this.$t('new-recipe.must-be-a-valid-url');
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
@@ -78,15 +78,21 @@ export default {
|
||||
hideImage: false,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.getVersion();
|
||||
|
||||
created() {
|
||||
this.showSidebar = !this.isMobile;
|
||||
},
|
||||
|
||||
watch: {
|
||||
user() {
|
||||
this.hideImage = false;
|
||||
},
|
||||
isMain(val) {
|
||||
if (val) {
|
||||
this.$store.dispatch("requestCustomPages");
|
||||
} else {
|
||||
this.getVersion();
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
computed: {
|
||||
@@ -101,27 +107,27 @@ export default {
|
||||
{
|
||||
icon: this.$globals.icons.home,
|
||||
to: "/",
|
||||
title: this.$t("page.home-page"),
|
||||
title: this.$t("sidebar.home-page"),
|
||||
},
|
||||
{
|
||||
icon: this.$globals.icons.search,
|
||||
to: "/search",
|
||||
title: this.$t("search.search"),
|
||||
title: this.$t("sidebar.search"),
|
||||
},
|
||||
{
|
||||
icon: this.$globals.icons.viewModule,
|
||||
to: "/recipes/all",
|
||||
title: this.$t("page.all-recipes"),
|
||||
title: this.$t("sidebar.all-recipes"),
|
||||
},
|
||||
{
|
||||
icon: this.$globals.icons.tags,
|
||||
to: "/recipes/category",
|
||||
title: this.$t("recipe.categories"),
|
||||
title: this.$t("sidebar.categories"),
|
||||
},
|
||||
{
|
||||
icon: this.$globals.icons.tags,
|
||||
to: "/recipes/tag",
|
||||
title: this.$t("tag.tags"),
|
||||
title: this.$t("sidebar.tags"),
|
||||
},
|
||||
];
|
||||
},
|
||||
@@ -145,7 +151,7 @@ export default {
|
||||
{
|
||||
icon: this.$globals.icons.user,
|
||||
to: "/admin/profile",
|
||||
title: this.$t("settings.profile"),
|
||||
title: this.$t("sidebar.profile"),
|
||||
},
|
||||
];
|
||||
},
|
||||
@@ -154,27 +160,27 @@ export default {
|
||||
{
|
||||
icon: this.$globals.icons.viewDashboard,
|
||||
to: "/admin/dashboard",
|
||||
title: this.$t("general.dashboard"),
|
||||
title: this.$t("sidebar.dashboard"),
|
||||
},
|
||||
{
|
||||
icon: this.$globals.icons.cog,
|
||||
to: "/admin/settings",
|
||||
title: this.$t("settings.site-settings"),
|
||||
title: this.$t("sidebar.site-settings"),
|
||||
},
|
||||
{
|
||||
icon: this.$globals.icons.tools,
|
||||
to: "/admin/toolbox",
|
||||
title: this.$t("settings.toolbox.toolbox"),
|
||||
title: this.$t("sidebar.toolbox"),
|
||||
},
|
||||
{
|
||||
icon: this.$globals.icons.group,
|
||||
to: "/admin/manage-users",
|
||||
title: this.$t("user.manage-users"),
|
||||
title: this.$t("sidebar.manage-users"),
|
||||
},
|
||||
{
|
||||
icon: this.$globals.icons.import,
|
||||
to: "/admin/migrations",
|
||||
title: this.$t("settings.migrations"),
|
||||
title: this.$t("sidebar.migrations"),
|
||||
},
|
||||
];
|
||||
},
|
||||
|
||||
@@ -1,33 +1,38 @@
|
||||
import Vue from "vue";
|
||||
import VueI18n from "vue-i18n";
|
||||
import Vuetify from "@/plugins/vuetify";
|
||||
import axios from 'axios';
|
||||
|
||||
Vue.use(VueI18n);
|
||||
|
||||
function parseLocaleFiles(locales) {
|
||||
const messages = {};
|
||||
locales.keys().forEach(key => {
|
||||
const matched = key.match(/([A-Za-z0-9-_]+)\./i);
|
||||
if (matched && matched.length > 1) {
|
||||
const locale = matched[1];
|
||||
messages[locale] = locales(key);
|
||||
}
|
||||
});
|
||||
return messages;
|
||||
const i18n = new VueI18n();
|
||||
|
||||
export default i18n;
|
||||
|
||||
const loadedLanguages = [];
|
||||
|
||||
function setI18nLanguage (lang) {
|
||||
i18n.locale = lang;
|
||||
Vuetify.framework.lang.current = lang;
|
||||
axios.defaults.headers.common['Accept-Language'] = lang
|
||||
document.querySelector('html').setAttribute('lang', lang)
|
||||
return lang
|
||||
}
|
||||
|
||||
function loadLocaleMessages() {
|
||||
const locales = require.context("./locales/messages", true, /[A-Za-z0-9-_,\s]+\.json$/i);
|
||||
return parseLocaleFiles(locales);
|
||||
}
|
||||
export function loadLanguageAsync(lang) {
|
||||
|
||||
function loadDateTimeFormats() {
|
||||
const locales = require.context("./locales/dateTimeFormats", true, /[A-Za-z0-9-_,\s]+\.json$/i);
|
||||
return parseLocaleFiles(locales);
|
||||
}
|
||||
|
||||
export default new VueI18n({
|
||||
locale: "en-US",
|
||||
fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || "en-US",
|
||||
messages: loadLocaleMessages(),
|
||||
dateTimeFormats: loadDateTimeFormats(),
|
||||
});
|
||||
if ( ! loadedLanguages.includes(lang)) {
|
||||
const messages = import(`./locales/messages/${lang}.json`);
|
||||
const dateTimeFormats = import(`./locales/dateTimeFormats/${lang}.json`);
|
||||
|
||||
return Promise.all([messages, dateTimeFormats]).then(
|
||||
values => {
|
||||
i18n.setLocaleMessage(lang, values[0].default)
|
||||
i18n.setDateTimeFormat(lang, values[1].default)
|
||||
loadedLanguages.push(lang)
|
||||
return setI18nLanguage(lang)
|
||||
}
|
||||
)
|
||||
}
|
||||
return Promise.resolve(setI18nLanguage(lang))
|
||||
}
|
||||
21
frontend/src/locales/dateTimeFormats/en-GB.json
Normal file
21
frontend/src/locales/dateTimeFormats/en-GB.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"
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Page Not Found",
|
||||
"take-me-home": "Take me Home"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "About Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Support",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Assets",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"new-asset": "New Asset",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recipe",
|
||||
"show-assets": "Show Assets"
|
||||
},
|
||||
"category": {
|
||||
"category": "Category",
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category Deleted",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Delete Event",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"new-version": "New version available!",
|
||||
"notification": "Notification",
|
||||
"refresh": "Refresh",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"test-message-sent": "Test Message Sent"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Apply",
|
||||
"cancel": "Cancel",
|
||||
"clear": "Clear",
|
||||
"close": "Close",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Copied",
|
||||
"create": "Create",
|
||||
"created": "Created",
|
||||
"current-parenthesis": "(Current)",
|
||||
"custom": "Custom",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Delete",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Friday",
|
||||
"general": "General",
|
||||
"get": "Get",
|
||||
"home": "Home",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Import",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"loading-recipes": "Loading Recipes",
|
||||
"monday": "Monday",
|
||||
"more": "More",
|
||||
"name": "Name",
|
||||
"new": "New",
|
||||
"no": "No",
|
||||
"no-recipe-found": "No Recipe Found",
|
||||
"ok": "OK",
|
||||
"options": "Options:",
|
||||
"print": "Print",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Group ID: {groupID}",
|
||||
"group-name": "Group Name",
|
||||
"group-not-found": "Group not found",
|
||||
"group-with-value": "Group: {groupID}",
|
||||
"groups": "Groups",
|
||||
"groups-can-only-be-set-by-administrators": "Groups can only be set by administrators",
|
||||
"manage-groups": "Manage Groups",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Bulk Add",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"from-url": "Import a Recipe",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Must be a Valid URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "Recipe URL",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website"
|
||||
"upload-a-recipe": "Upload a Recipe",
|
||||
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Page not found",
|
||||
"all-recipes": "All Recipes",
|
||||
"home-page": "Home Page",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"recent": "Recent"
|
||||
"pages-updated": "Pages updated"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Assets",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Key Name Required",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-asset": "New Asset",
|
||||
"new-key-name": "New Key Name",
|
||||
"no-white-space-allowed": "No White Space Allowed",
|
||||
"note": "Note",
|
||||
"notes": "Notes",
|
||||
"nutrition": "Nutrition",
|
||||
"object-key": "Object Key",
|
||||
"object-value": "Object Value",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"save-recipe-before-use": "Save recipe before use",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Servings",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Show Assets",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Step: {step}",
|
||||
"sugar-content": "Sugar",
|
||||
"title": "Title",
|
||||
"total-time": "Total Time",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe",
|
||||
"view-recipe": "View Recipe"
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Add a New Theme",
|
||||
"admin-settings": "Admin Settings",
|
||||
"available-backups": "Available Backups",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-tag": "Backup Tag",
|
||||
"create-heading": "Create a Backup",
|
||||
"delete-backup": "Delete Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Full Backup",
|
||||
"import-summary": "Import Summary",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.",
|
||||
"change-password": "Change Password",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Custom Pages",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Site Settings",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.",
|
||||
"dark": "Dark",
|
||||
"dark-mode": "Dark Mode",
|
||||
"default-to-system": "Default to system",
|
||||
"delete-theme": "Delete Theme",
|
||||
"error": "Error",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Light",
|
||||
"primary": "Primary",
|
||||
"secondary": "Secondary",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.",
|
||||
"success": "Success",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Theme",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"theme-name": "Theme Name",
|
||||
"theme-name-is-required": "Theme Name is required.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-settings": "Theme Settings",
|
||||
"theme-updated": "Theme updated",
|
||||
"warning": "Warning"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Unorganized"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Meal Planner Webhooks",
|
||||
"test-webhooks": "Test Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at",
|
||||
"webhook-url": "Webhook URL",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Categories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profile",
|
||||
"search": "Search",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Display Name",
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Full Name",
|
||||
"incorrect-username-or-password": "Incorrect username or password",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Page Not Found",
|
||||
"take-me-home": "Take me Home"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "About Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Support",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Assets",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"new-asset": "New Asset",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recipe",
|
||||
"show-assets": "Show Assets"
|
||||
},
|
||||
"category": {
|
||||
"category": "Category",
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category Deleted",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Delete Event",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"new-version": "New version available!",
|
||||
"notification": "Notification",
|
||||
"refresh": "Refresh",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"test-message-sent": "Test Message Sent"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Apply",
|
||||
"cancel": "Cancel",
|
||||
"clear": "Clear",
|
||||
"close": "Close",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Copied",
|
||||
"create": "Create",
|
||||
"created": "Created",
|
||||
"current-parenthesis": "(Current)",
|
||||
"custom": "Custom",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Delete",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Friday",
|
||||
"general": "General",
|
||||
"get": "Get",
|
||||
"home": "Home",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Import",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"loading-recipes": "Loading Recipes",
|
||||
"monday": "Monday",
|
||||
"more": "More",
|
||||
"name": "Name",
|
||||
"new": "New",
|
||||
"no": "No",
|
||||
"no-recipe-found": "No Recipe Found",
|
||||
"ok": "OK",
|
||||
"options": "Options:",
|
||||
"print": "Print",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Group ID: {groupID}",
|
||||
"group-name": "Group Name",
|
||||
"group-not-found": "Group not found",
|
||||
"group-with-value": "Group: {groupID}",
|
||||
"groups": "Groups",
|
||||
"groups-can-only-be-set-by-administrators": "Groups can only be set by administrators",
|
||||
"manage-groups": "Manage Groups",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Bulk Add",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"from-url": "Import a Recipe",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Must be a Valid URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "Recipe URL",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website"
|
||||
"upload-a-recipe": "Upload a Recipe",
|
||||
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Page not found",
|
||||
"all-recipes": "All Recipes",
|
||||
"home-page": "Home Page",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"recent": "Recent"
|
||||
"pages-updated": "Pages updated"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Assets",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Key Name Required",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-asset": "New Asset",
|
||||
"new-key-name": "New Key Name",
|
||||
"no-white-space-allowed": "No White Space Allowed",
|
||||
"note": "Note",
|
||||
"notes": "Notes",
|
||||
"nutrition": "Nutrition",
|
||||
"object-key": "Object Key",
|
||||
"object-value": "Object Value",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"save-recipe-before-use": "Save recipe before use",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Servings",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Show Assets",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Step: {step}",
|
||||
"sugar-content": "Sugar",
|
||||
"title": "Title",
|
||||
"total-time": "Total Time",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe",
|
||||
"view-recipe": "View Recipe"
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Add a New Theme",
|
||||
"admin-settings": "Admin Settings",
|
||||
"available-backups": "Available Backups",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-tag": "Backup Tag",
|
||||
"create-heading": "Create a Backup",
|
||||
"delete-backup": "Delete Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Full Backup",
|
||||
"import-summary": "Import Summary",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.",
|
||||
"change-password": "Change Password",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Custom Pages",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Site Settings",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.",
|
||||
"dark": "Dark",
|
||||
"dark-mode": "Dark Mode",
|
||||
"default-to-system": "Default to system",
|
||||
"delete-theme": "Delete Theme",
|
||||
"error": "Error",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Light",
|
||||
"primary": "Primary",
|
||||
"secondary": "Secondary",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.",
|
||||
"success": "Success",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Theme",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"theme-name": "Theme Name",
|
||||
"theme-name-is-required": "Theme Name is required.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-settings": "Theme Settings",
|
||||
"theme-updated": "Theme updated",
|
||||
"warning": "Warning"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Unorganized"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Meal Planner Webhooks",
|
||||
"test-webhooks": "Test Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at",
|
||||
"webhook-url": "Webhook URL",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Categories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profile",
|
||||
"search": "Search",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Display Name",
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Full Name",
|
||||
"incorrect-username-or-password": "Incorrect username or password",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 No s'ha trobat la pàgina",
|
||||
"take-me-home": "Take me Home"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "Quant a Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Support",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Assets",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"new-asset": "New Asset",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recipe",
|
||||
"show-assets": "Show Assets"
|
||||
},
|
||||
"category": {
|
||||
"category": "Category",
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category Deleted",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Delete Event",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"new-version": "New version available!",
|
||||
"notification": "Notification",
|
||||
"refresh": "Refresh",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"test-message-sent": "Test Message Sent"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Apply",
|
||||
"cancel": "Cancel",
|
||||
"clear": "Clear",
|
||||
"close": "Close",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Copied",
|
||||
"create": "Create",
|
||||
"created": "Created",
|
||||
"current-parenthesis": "(Current)",
|
||||
"custom": "Custom",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Delete",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Friday",
|
||||
"general": "General",
|
||||
"get": "Get",
|
||||
"home": "Home",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Import",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"loading-recipes": "Loading Recipes",
|
||||
"monday": "Monday",
|
||||
"more": "More",
|
||||
"name": "Name",
|
||||
"new": "New",
|
||||
"no": "No",
|
||||
"no-recipe-found": "No Recipe Found",
|
||||
"ok": "OK",
|
||||
"options": "Options:",
|
||||
"print": "Print",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Group ID: {groupID}",
|
||||
"group-name": "Group Name",
|
||||
"group-not-found": "Group not found",
|
||||
"group-with-value": "Group: {groupID}",
|
||||
"groups": "Groups",
|
||||
"groups-can-only-be-set-by-administrators": "Groups can only be set by administrators",
|
||||
"manage-groups": "Manage Groups",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Bulk Add",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"from-url": "Import a Recipe",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Must be a Valid URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "Recipe URL",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website"
|
||||
"upload-a-recipe": "Upload a Recipe",
|
||||
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Page not found",
|
||||
"all-recipes": "All Recipes",
|
||||
"home-page": "Home Page",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"recent": "Recent"
|
||||
"pages-updated": "Pages updated"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Assets",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Key Name Required",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-asset": "New Asset",
|
||||
"new-key-name": "New Key Name",
|
||||
"no-white-space-allowed": "No White Space Allowed",
|
||||
"note": "Note",
|
||||
"notes": "Notes",
|
||||
"nutrition": "Nutrition",
|
||||
"object-key": "Object Key",
|
||||
"object-value": "Object Value",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"save-recipe-before-use": "Save recipe before use",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Servings",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Show Assets",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Step: {step}",
|
||||
"sugar-content": "Sugar",
|
||||
"title": "Title",
|
||||
"total-time": "Total Time",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe",
|
||||
"view-recipe": "View Recipe"
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Add a New Theme",
|
||||
"admin-settings": "Admin Settings",
|
||||
"available-backups": "Available Backups",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-tag": "Backup Tag",
|
||||
"create-heading": "Create a Backup",
|
||||
"delete-backup": "Delete Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Full Backup",
|
||||
"import-summary": "Import Summary",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.",
|
||||
"change-password": "Change Password",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Custom Pages",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Site Settings",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.",
|
||||
"dark": "Dark",
|
||||
"dark-mode": "Dark Mode",
|
||||
"default-to-system": "Default to system",
|
||||
"delete-theme": "Delete Theme",
|
||||
"error": "Error",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Light",
|
||||
"primary": "Primary",
|
||||
"secondary": "Secondary",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.",
|
||||
"success": "Success",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Theme",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"theme-name": "Theme Name",
|
||||
"theme-name-is-required": "Theme Name is required.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-settings": "Theme Settings",
|
||||
"theme-updated": "Theme updated",
|
||||
"warning": "Warning"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Unorganized"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Meal Planner Webhooks",
|
||||
"test-webhooks": "Test Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at",
|
||||
"webhook-url": "Webhook URL",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Categories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profile",
|
||||
"search": "Search",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Display Name",
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Full Name",
|
||||
"incorrect-username-or-password": "Incorrect username or password",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Page Not Found",
|
||||
"take-me-home": "Take me Home"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "About Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Support",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Assets",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"new-asset": "New Asset",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recipe",
|
||||
"show-assets": "Show Assets"
|
||||
},
|
||||
"category": {
|
||||
"category": "Category",
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category Deleted",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Delete Event",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"new-version": "New version available!",
|
||||
"notification": "Notification",
|
||||
"refresh": "Refresh",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"test-message-sent": "Test Message Sent"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Apply",
|
||||
"cancel": "Cancel",
|
||||
"clear": "Clear",
|
||||
"close": "Close",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Copied",
|
||||
"create": "Create",
|
||||
"created": "Created",
|
||||
"current-parenthesis": "(Current)",
|
||||
"custom": "Custom",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Delete",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Friday",
|
||||
"general": "General",
|
||||
"get": "Get",
|
||||
"home": "Home",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Import",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"loading-recipes": "Loading Recipes",
|
||||
"monday": "Monday",
|
||||
"more": "More",
|
||||
"name": "Name",
|
||||
"new": "New",
|
||||
"no": "No",
|
||||
"no-recipe-found": "No Recipe Found",
|
||||
"ok": "OK",
|
||||
"options": "Options:",
|
||||
"print": "Print",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Group ID: {groupID}",
|
||||
"group-name": "Group Name",
|
||||
"group-not-found": "Group not found",
|
||||
"group-with-value": "Group: {groupID}",
|
||||
"groups": "Groups",
|
||||
"groups-can-only-be-set-by-administrators": "Groups can only be set by administrators",
|
||||
"manage-groups": "Manage Groups",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Bulk Add",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"from-url": "Import a Recipe",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Must be a Valid URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "Recipe URL",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website"
|
||||
"upload-a-recipe": "Upload a Recipe",
|
||||
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Page not found",
|
||||
"all-recipes": "All Recipes",
|
||||
"home-page": "Home Page",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"recent": "Recent"
|
||||
"pages-updated": "Pages updated"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Assets",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Key Name Required",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-asset": "New Asset",
|
||||
"new-key-name": "New Key Name",
|
||||
"no-white-space-allowed": "No White Space Allowed",
|
||||
"note": "Note",
|
||||
"notes": "Notes",
|
||||
"nutrition": "Nutrition",
|
||||
"object-key": "Object Key",
|
||||
"object-value": "Object Value",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"save-recipe-before-use": "Save recipe before use",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Servings",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Show Assets",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Step: {step}",
|
||||
"sugar-content": "Sugar",
|
||||
"title": "Title",
|
||||
"total-time": "Total Time",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe",
|
||||
"view-recipe": "View Recipe"
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Add a New Theme",
|
||||
"admin-settings": "Admin Settings",
|
||||
"available-backups": "Available Backups",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-tag": "Backup Tag",
|
||||
"create-heading": "Create a Backup",
|
||||
"delete-backup": "Delete Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Full Backup",
|
||||
"import-summary": "Import Summary",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.",
|
||||
"change-password": "Change Password",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Custom Pages",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Site Settings",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.",
|
||||
"dark": "Dark",
|
||||
"dark-mode": "Dark Mode",
|
||||
"default-to-system": "Default to system",
|
||||
"delete-theme": "Delete Theme",
|
||||
"error": "Error",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Light",
|
||||
"primary": "Primary",
|
||||
"secondary": "Secondary",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.",
|
||||
"success": "Success",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Theme",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"theme-name": "Theme Name",
|
||||
"theme-name-is-required": "Theme Name is required.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-settings": "Theme Settings",
|
||||
"theme-updated": "Theme updated",
|
||||
"warning": "Warning"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Unorganized"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Meal Planner Webhooks",
|
||||
"test-webhooks": "Test Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at",
|
||||
"webhook-url": "Webhook URL",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Categories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profile",
|
||||
"search": "Search",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Display Name",
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Full Name",
|
||||
"incorrect-username-or-password": "Incorrect username or password",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
|
||||
@@ -1,33 +1,38 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 side blev ikke fundet",
|
||||
"take-me-home": "Tag mig hjem"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "About Mealie",
|
||||
"api-docs": "API Docs",
|
||||
"api-port": "API Port",
|
||||
"about": "Om",
|
||||
"about-mealie": "Om Mealie",
|
||||
"api-docs": "API dokumentation",
|
||||
"api-port": "API port",
|
||||
"application-mode": "Application Mode",
|
||||
"database-type": "Database Type",
|
||||
"database-url": "Database URL",
|
||||
"database-type": "Database-type",
|
||||
"database-url": "Database-url",
|
||||
"default-group": "Default Group",
|
||||
"demo": "Demo",
|
||||
"demo-status": "Demo Status",
|
||||
"development": "Development",
|
||||
"docs": "Docs",
|
||||
"download-log": "Download Log",
|
||||
"demo-status": "Demo status",
|
||||
"development": "Udvikling",
|
||||
"docs": "Dokumenter",
|
||||
"download-log": "Download log",
|
||||
"download-recipe-json": "Last Scraped JSON",
|
||||
"github": "Github",
|
||||
"log-lines": "Log Lines",
|
||||
"not-demo": "Not Demo",
|
||||
"portfolio": "Portfolio",
|
||||
"production": "Production",
|
||||
"production": "Produktion",
|
||||
"support": "Support",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Assets",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"new-asset": "New Asset",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recipe",
|
||||
"show-assets": "Show Assets"
|
||||
},
|
||||
"category": {
|
||||
"category": "Category",
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category Deleted",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Delete Event",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"new-version": "New version available!",
|
||||
"notification": "Notification",
|
||||
"refresh": "Refresh",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"test-message-sent": "Test Message Sent"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Anvend",
|
||||
"cancel": "Annuller",
|
||||
"clear": "Clear",
|
||||
"close": "Luk",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Copied",
|
||||
"create": "Opret",
|
||||
"created": "Created",
|
||||
"current-parenthesis": "(Current)",
|
||||
"custom": "Custom",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Slet",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Fredag",
|
||||
"general": "General",
|
||||
"get": "Get",
|
||||
"home": "Home",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Importere",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"loading-recipes": "Loading Recipes",
|
||||
"monday": "Mandag",
|
||||
"more": "More",
|
||||
"name": "Navn",
|
||||
"new": "New",
|
||||
"no": "Nej",
|
||||
"no-recipe-found": "No Recipe Found",
|
||||
"ok": "Ok",
|
||||
"options": "Options:",
|
||||
"print": "Print",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Group ID: {groupID}",
|
||||
"group-name": "Group Name",
|
||||
"group-not-found": "Group not found",
|
||||
"group-with-value": "Group: {groupID}",
|
||||
"groups": "Groups",
|
||||
"groups-can-only-be-set-by-administrators": "Groups can only be set by administrators",
|
||||
"manage-groups": "Manage Groups",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Bulk Tilføj",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"from-url": "Fra URL",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Must be a Valid URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Indsæt dine opskriftsdata. \nHver linje behandles som et element på en liste",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "URL på opskrift",
|
||||
"url-form-hint": "Kopiér og indsæt et link fra din foretrukne opskrifts hjemmeside"
|
||||
"upload-a-recipe": "Upload a Recipe",
|
||||
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.",
|
||||
"url-form-hint": "Kopiér og indsæt et link fra din foretrukne opskrifts hjemmeside",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Page not found",
|
||||
"all-recipes": "Alle Opskrifter",
|
||||
"home-page": "Startside",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"recent": "Seneste"
|
||||
"pages-updated": "Pages updated"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Assets",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Key Name Required",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-asset": "New Asset",
|
||||
"new-key-name": "New Key Name",
|
||||
"no-white-space-allowed": "No White Space Allowed",
|
||||
"note": "Bemærk",
|
||||
"notes": "Bemærkninger",
|
||||
"nutrition": "Nutrition",
|
||||
"object-key": "Object Key",
|
||||
"object-value": "Object Value",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"save-recipe-before-use": "Save recipe before use",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Portioner",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Show Assets",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Trin: {step}",
|
||||
"sugar-content": "Sugar",
|
||||
"title": "Title",
|
||||
"total-time": "Total Time",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe",
|
||||
"view-recipe": "Se opskrift"
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Tilføj et nyt tema",
|
||||
"admin-settings": "Admin Settings",
|
||||
"available-backups": "Available Backups",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-tag": "Backup Tag",
|
||||
"create-heading": "Create a Backup",
|
||||
"delete-backup": "Delete Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Full Backup",
|
||||
"import-summary": "Import Summary",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
},
|
||||
"backup-and-exports": "Backup og eksport",
|
||||
"backup-info": "Sikkerhedskopier eksporteres i standard JSON-format sammen med alle de billeder, der er gemt på filsystemet. \nI din sikkerhedskopimappe finder du en .zip-fil, der indeholder alle opskrifterne JSON og billeder fra databasen. \nDerudover, hvis du valgte en markdown-fil, gemmes disse også i .zip-filen. \nFor at importere en sikkerhedskopi skal den være placeret i din sikkerhedskopimappe. \nAutomatiske sikkerhedskopier udføres hver dag kl. 3:00.",
|
||||
"change-password": "Change Password",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Custom Pages",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Site Settings",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Er du sikker på, at du vil slette dette tema?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Vælg, hvordan Mealie ser ud for dig. \nIndstil dit tema til at følge dine systemindstillinger, eller vælg at bruge det lyse eller mørke tema.",
|
||||
"dark": "Mørkt",
|
||||
"dark-mode": "Mørk tilstand",
|
||||
"default-to-system": "Default to system",
|
||||
"delete-theme": "Slet tema",
|
||||
"error": "Fejl",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Lyst",
|
||||
"primary": "Primær",
|
||||
"secondary": "Sekundær",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Vælg et tema i rullemenuen, eller opret et nyt tema. \nBemærk, at standardtemaet serveres til alle brugere, der ikke har angivet en temapræference.",
|
||||
"success": "Succes",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Tema",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"theme-name": "Theme Name",
|
||||
"theme-name-is-required": "Theme Name is required.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-settings": "Temaindstillinger",
|
||||
"theme-updated": "Theme updated",
|
||||
"warning": "Advarsel"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Unorganized"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Måltidsplanlægning Webhooks",
|
||||
"test-webhooks": "Test Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "Webadresserne, der er anført nedenfor, modtager webhooks, der indeholder opskriftsdataene for måltidsplanen på den planlagte dag. \nWebhooks udføres i øjeblikket på <strong> {time} </strong>",
|
||||
"webhook-url": "Webhook adresse",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Categories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profile",
|
||||
"search": "Search",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Display Name",
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Fulde navn",
|
||||
"incorrect-username-or-password": "Incorrect username or password",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Seite nicht gefunden",
|
||||
"take-me-home": "Zurück"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about": "Über",
|
||||
"about-mealie": "Über Mealie",
|
||||
"api-docs": "API Dokumentation",
|
||||
"api-port": "API Port",
|
||||
@@ -17,7 +13,7 @@
|
||||
"development": "Entwicklung",
|
||||
"docs": "Dokumentation",
|
||||
"download-log": "Protokoll herunterladen",
|
||||
"download-recipe-json": "Last Scraped JSON",
|
||||
"download-recipe-json": "Zuletzt geladenes JSON",
|
||||
"github": "GitHub",
|
||||
"log-lines": "Protokoll",
|
||||
"not-demo": "Keine Demo",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Unterstützen",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Anhänge",
|
||||
"code": "Quelltext",
|
||||
"file": "Datei",
|
||||
"image": "Bild",
|
||||
"new-asset": "Neuer Anhang",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Rezept",
|
||||
"show-assets": "Anhänge anzeigen"
|
||||
},
|
||||
"category": {
|
||||
"category": "Kategorie",
|
||||
"category-created": "Kategorie angelegt",
|
||||
"category-creation-failed": "Anlegen der Kategorie fehlgeschlagen",
|
||||
"category-deleted": "Kategorie entfernt",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Datenbank",
|
||||
"delete-event": "Ereignis löschen",
|
||||
"new-notification-form-description": "Mealie verwendet die Apprise-Bibliothek, um Benachrichtigungen zu erzeugen. Sie bietet viele Optionen für Dienste an, die für Benachrichtigungen genutzt werden können. Werfe einen Blick in ihr Wiki für eine umfassende Anleitung zum Erstellen der URL für Ihren Dienst. Falls verfügbar, kann die Auswahl des Benachrichtigungstyps zusätzliche Funktionen enthalten.",
|
||||
"new-version": "Neue Version verfügbar!",
|
||||
"notification": "Benachrichtigung",
|
||||
"refresh": "Aktualisieren",
|
||||
"scheduled": "Geplant",
|
||||
"something-went-wrong": "Etwas ist schief gelaufen!",
|
||||
"subscribed-events": "Abonnierte Ereignisse",
|
||||
"test-message-sent": "Testnachricht gesendet",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"test-message-sent": "Testnachricht gesendet"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Anwenden",
|
||||
"cancel": "Abbrechen",
|
||||
"clear": "Zurücksetzen",
|
||||
"close": "Schließen",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Kopiert",
|
||||
"create": "Erstellen",
|
||||
"created": "Erstellt",
|
||||
"current-parenthesis": "(Neueste)",
|
||||
"custom": "Benutzerdefiniert",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Löschen",
|
||||
@@ -70,7 +74,7 @@
|
||||
"exception": "Fehler",
|
||||
"failed-count": "Fehlgeschlagen: {count}",
|
||||
"failure-uploading-file": "Fehler beim Hochladen der Datei",
|
||||
"favorites": "Favorites",
|
||||
"favorites": "Favoriten",
|
||||
"field-required": "Erforderliches Feld",
|
||||
"file-folder-not-found": "Datei/Ordner nicht gefunden",
|
||||
"file-uploaded": "Datei hochgeladen",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Freitag",
|
||||
"general": "Allgemein",
|
||||
"get": "Holen",
|
||||
"home": "Startseite",
|
||||
"image": "Bild",
|
||||
"image-upload-failed": "Das Bild konnte nicht hochgeladen werden",
|
||||
"import": "Importieren",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link": "Link",
|
||||
"link-copied": "Link kopiert",
|
||||
"loading-recipes": "Lade Rezepte",
|
||||
"monday": "Montag",
|
||||
"more": "More",
|
||||
"name": "Name",
|
||||
"new": "Neu",
|
||||
"no": "Nein",
|
||||
"no-recipe-found": "Kein Rezept gefunden",
|
||||
"ok": "Okay",
|
||||
"options": "Optionen:",
|
||||
"print": "Drucken",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Gruppenkennung: {groupID}",
|
||||
"group-name": "Name der Gruppe",
|
||||
"group-not-found": "Gruppe nicht gefunden",
|
||||
"group-with-value": "Gruppe: {groupID}",
|
||||
"groups": "Gruppen",
|
||||
"groups-can-only-be-set-by-administrators": "Gruppen können nur von Administratoren gesetzt werden",
|
||||
"manage-groups": "Gruppen verwalten",
|
||||
"user-group": "Benutzergruppe",
|
||||
"user-group-created": "Benutzergruppe angelegt",
|
||||
@@ -154,7 +159,7 @@
|
||||
"edit-meal-plan": "Essensplan bearbeiten",
|
||||
"end-date": "Enddatum",
|
||||
"group": "Gruppe (Beta)",
|
||||
"main": "Main",
|
||||
"main": "Hauptgericht",
|
||||
"meal-planner": "Essensplaner",
|
||||
"meal-plans": "Essenspläne",
|
||||
"mealplan-categories": "KATEGORIEN FÜR ESSENSPLÄNE",
|
||||
@@ -170,8 +175,8 @@
|
||||
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Nur Rezepte dieser Kategorien werden in Essensplänen verwendet",
|
||||
"planner": "Planer",
|
||||
"quick-week": "Schnelle Woche",
|
||||
"side": "Side",
|
||||
"sides": "Sides",
|
||||
"side": "Beilage",
|
||||
"sides": "Beilagen",
|
||||
"start-date": "Startdatum"
|
||||
},
|
||||
"migration": {
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Massenimport",
|
||||
"error-details": "Nur Webseiten mit ld+json oder Mikrodaten können von Mealie importiert werden. Die meisten großen Rezeptwebseiten unterstützen diese Datenstruktur. Wenn Ihre Website nicht importiert werden kann, aber Json-Daten im Log vorhanden sind, melden Sie es bitte mit der URL und diesen Daten auf GitHub.",
|
||||
"error-details": "Mealie kann Rezepte nur von Webseiten importieren, die Id+json oder Mikrodaten enthalten. Die meisten großen Rezeptwebseiten unterstützen diese Datenstruktur. Wenn das Rezept nicht importiert werden kann, aber JSON-Daten im Log vorhanden sind, melde es bitte mit der URL und diesen Daten auf GitHub.",
|
||||
"error-title": "Anscheinend konnten wir nichts finden",
|
||||
"from-url": "Von URL",
|
||||
"github-issues": "GitHub Themen",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Muss eine gültige URL sein",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Füge deine Rezeptdaten ein. Jede Zeile wird als Eintrag in einer Liste dargestellt",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "Rezept URL",
|
||||
"url-form-hint": "Kopiere einen Link von deiner Lieblingsrezept-Website und füge ihn ein"
|
||||
"upload-a-recipe": "Rezept hochladen",
|
||||
"upload-individual-zip-file": "Lade eine individuelle .zip-Datei hoch, die von einer anderen Mealie-Instanz exportiert wird.",
|
||||
"url-form-hint": "Kopiere einen Link von deiner Lieblingsrezept-Website und füge ihn ein",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Seite nicht gefunden",
|
||||
"all-recipes": "Alle Rezepte",
|
||||
"home-page": "Startseite",
|
||||
"new-page-created": "Neue Seite angelegt",
|
||||
"page": "Seite",
|
||||
"page-creation-failed": "Anlegen der Seite fehlgeschlagen",
|
||||
@@ -207,40 +219,36 @@
|
||||
"page-update-failed": "Aktualisieren der Seite fehlgeschlagen",
|
||||
"page-updated": "Seite aktualisiert",
|
||||
"pages-update-failed": "Aktualisieren der Seiten fehlgeschlagen",
|
||||
"pages-updated": "Seiten aktualisiert",
|
||||
"recent": "Neueste"
|
||||
"pages-updated": "Seiten aktualisiert"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Schlüssel hinzufügen",
|
||||
"add-to-favorites": "Zu Favoriten hinzufügen",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Anlagen",
|
||||
"calories": "Kalorien",
|
||||
"calories-suffix": "Kalorien",
|
||||
"carbohydrate-content": "Kohlenhydrate",
|
||||
"categories": "Kategorien",
|
||||
"comment-action": "Comment",
|
||||
"comments": "Comments",
|
||||
"comment-action": "Kommentieren",
|
||||
"comments": "Kommentare",
|
||||
"delete-confirmation": "Bist du dir sicher, dass du dieses Rezept löschen möchtest?",
|
||||
"delete-recipe": "Rezept löschen",
|
||||
"description": "Beschreibung",
|
||||
"disable-amount": "Disable Ingredient Amounts",
|
||||
"disable-comments": "Disable Comments",
|
||||
"disable-amount": "Zutatenmenge deaktivieren",
|
||||
"disable-comments": "Kommentare deaktivieren",
|
||||
"fat-content": "Fett",
|
||||
"fiber-content": "Ballaststoffe",
|
||||
"grams": "g",
|
||||
"ingredient": "Zutat",
|
||||
"ingredients": "Zutaten",
|
||||
"insert-section": "Insert Section",
|
||||
"insert-section": "Abschnitt einfügen",
|
||||
"instructions": "Anweisungen",
|
||||
"key-name-required": "Schlüsselname benötigt",
|
||||
"landscape-view-coming-soon": "Landschaftsansicht (demnächst verfügbar)",
|
||||
"milligrams": "mg",
|
||||
"new-asset": "Neuer Anhang",
|
||||
"new-key-name": "Neuer Schlüsselname",
|
||||
"no-white-space-allowed": "Kein Leerzeichen erlaubt",
|
||||
"note": "Notiz",
|
||||
"notes": "Notizen",
|
||||
"nutrition": "Nährwerte",
|
||||
"object-key": "Objektschlüssel",
|
||||
"object-value": "Objektwert",
|
||||
@@ -259,31 +267,30 @@
|
||||
"recipe-update-failed": "Aktualisieren des Rezepts fehlgeschlagen",
|
||||
"recipe-updated": "Rezept aktualisiert",
|
||||
"remove-from-favorites": "Von Favoriten entfernen",
|
||||
"remove-section": "Remove Section",
|
||||
"section-title": "Section Title",
|
||||
"remove-section": "Abschnitt entfernen",
|
||||
"save-recipe-before-use": "Rezept vor Verwendung speichern",
|
||||
"section-title": "Titel des Abschnitts",
|
||||
"servings": "Portionen",
|
||||
"share-recipe-message": "Ich möchte mein Rezept {0} mit dir teilen.",
|
||||
"show-assets": "Anhänge anzeigen",
|
||||
"show-nutrition-values": "Nährwerte anzeigen",
|
||||
"sodium-content": "Natrium",
|
||||
"step-index": "Schritt {step}:",
|
||||
"sugar-content": "Zucker",
|
||||
"title": "Titel",
|
||||
"total-time": "Gesamtzeit",
|
||||
"unable-to-delete-recipe": "Rezept kann nicht gelöscht werden",
|
||||
"view-recipe": "Rezept anschauen"
|
||||
"unable-to-delete-recipe": "Rezept kann nicht gelöscht werden"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
"no-recipe": "Kein Rezept"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Advanced Search",
|
||||
"advanced-search": "Erweiterte Suche",
|
||||
"and": "und",
|
||||
"exclude": "Ausschließen",
|
||||
"include": "Einbeziehen",
|
||||
"max-results": "Max. Ergebnisse",
|
||||
"or": "Oder",
|
||||
"results": "Results",
|
||||
"results": "Ergebnisse",
|
||||
"search": "Suchen",
|
||||
"search-mealie": "Mealie durchsuchen (/ drücken)",
|
||||
"search-placeholder": "Suchen...",
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Neues Thema hinzufügen",
|
||||
"admin-settings": "Admin Einstellungen",
|
||||
"available-backups": "Verfügbare Sicherungen",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Sicherung erstellt unter {path}",
|
||||
"backup-deleted": "Sicherung gelöscht",
|
||||
"backup-tag": "Sicherungsbeschreibung",
|
||||
"create-heading": "Sicherung erstellen",
|
||||
"delete-backup": "Sicherung löschen",
|
||||
"error-creating-backup-see-log-file": "Fehler beim Erstellen der Sicherung. Siehe Protokolldatei",
|
||||
"full-backup": "Komplettsicherung",
|
||||
"import-summary": "Zusammenfassung des Imports",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Sicherung kann nicht gelöscht werden."
|
||||
},
|
||||
"backup-and-exports": "Sicherungen",
|
||||
"backup-info": "Sicherungen werden mitsamt aller Bilder im Standard-JSON-Format in das Dateisystem exportiert. In deinem Sicherungsordner findest du eine ZIP Datei, welche sämtliche JSON's deiner Rezepte und die Bilder aus der Datenbank enthält. Solltest du eine Markdown Datei auswählen werden diese ebenfalls im ZIP gespeichert. Um eine Sicherung zurückzuspielen muss die entsprechende ZIP-Datei im Sicherungsordner liegen. Automatische Sicherungen finden jeden Tag um 3 Uhr morgens statt.",
|
||||
"change-password": "Passwort ändern",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Benutzerdefinierte Seiten",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Seiteneinstellungen",
|
||||
"theme": {
|
||||
"accent": "Akzent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Bist du dir sicher, dass du dieses Thema löschen möchtest?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Entscheide, wie Mealie für dich aussehen soll. Wähle die Einstellung deines Systems oder bestimme ob es Hell oder Dunkel dargestellt werden soll.",
|
||||
"dark": "Dunkel",
|
||||
"dark-mode": "Dunkler Modus",
|
||||
"default-to-system": "Standardeinstellung",
|
||||
"delete-theme": "Thema löschen",
|
||||
"error": "Fehler",
|
||||
"error-creating-theme-see-log-file": "Fehler beim Erstellen des Themas. Siehe Protokolldatei.",
|
||||
"error-deleting-theme": "Fehler beim Löschen des Themas",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Hell",
|
||||
"primary": "Primär",
|
||||
"secondary": "Sekundär",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Wähle ein Thema aus der Dropdown-Liste oder erstelle ein neues. Beachte, dass das Standard-Thema auf alle Benutzer angewandt wird die keine Einstellung für ein Thema getroffen haben.",
|
||||
"success": "Erfolg",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Thema",
|
||||
"switch-to-dark-mode": "Zum dunklen Modus wechseln",
|
||||
"switch-to-light-mode": "Zum hellen Modus wechseln",
|
||||
"theme-deleted": "Thema gelöscht",
|
||||
"theme-name": "Themenname",
|
||||
"theme-name-is-required": "Themenname wird benötigt.",
|
||||
"theme-saved": "Thema gespeichert",
|
||||
"theme-settings": "Themeneinstellungen",
|
||||
"theme-updated": "Thema aktualisiert",
|
||||
"warning": "Warnung"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Unorganisiert"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Essensplaner Webhooks",
|
||||
"test-webhooks": "Teste Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "Die unten stehenden URL's erhalten Webhooks welche die Rezeptdaten für den Menüplan am geplanten Tag enthalten. Derzeit werden die Webhooks ausgeführt um",
|
||||
"webhook-url": "Webhook URL",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Einkaufsliste",
|
||||
"shopping-lists": "Einkaufslisten"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "Alle Rezepte",
|
||||
"categories": "Kategorien",
|
||||
"dashboard": "Übersicht",
|
||||
"home-page": "Startseite",
|
||||
"manage-users": "Benutzer",
|
||||
"migrations": "Migrationen",
|
||||
"profile": "Profil",
|
||||
"search": "Suche",
|
||||
"site-settings": "Einstellungen",
|
||||
"tags": "Schlagworte",
|
||||
"toolbox": "Werkzeuge"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Anzeigename",
|
||||
"error-signing-up": "Fehler beim Registrieren",
|
||||
"sign-up": "Registrieren",
|
||||
"sign-up-link-created": "Einladungslink angelegt",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Fehler! Super Benutzer kann nicht gelöscht werden",
|
||||
"existing-password-does-not-match": "Bestehendes Passwort stimmt nicht überein",
|
||||
"full-name": "Vollständiger Name",
|
||||
"incorrect-username-or-password": "Ungültiger Benutzername oder Passwort",
|
||||
"link-id": "Linkkennung",
|
||||
"link-name": "Linkname",
|
||||
"login": "Anmeldung",
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Page Not Found",
|
||||
"take-me-home": "Take me Home"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "About Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Support",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Assets",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"new-asset": "New Asset",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recipe",
|
||||
"show-assets": "Show Assets"
|
||||
},
|
||||
"category": {
|
||||
"category": "Category",
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category Deleted",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Delete Event",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"new-version": "New version available!",
|
||||
"notification": "Notification",
|
||||
"refresh": "Refresh",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"test-message-sent": "Test Message Sent"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Apply",
|
||||
"cancel": "Cancel",
|
||||
"clear": "Clear",
|
||||
"close": "Close",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Copied",
|
||||
"create": "Create",
|
||||
"created": "Created",
|
||||
"current-parenthesis": "(Current)",
|
||||
"custom": "Custom",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Delete",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Friday",
|
||||
"general": "General",
|
||||
"get": "Get",
|
||||
"home": "Home",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Import",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"loading-recipes": "Loading Recipes",
|
||||
"monday": "Monday",
|
||||
"more": "More",
|
||||
"name": "Name",
|
||||
"new": "New",
|
||||
"no": "No",
|
||||
"no-recipe-found": "No Recipe Found",
|
||||
"ok": "OK",
|
||||
"options": "Options:",
|
||||
"print": "Print",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Group ID: {groupID}",
|
||||
"group-name": "Group Name",
|
||||
"group-not-found": "Group not found",
|
||||
"group-with-value": "Group: {groupID}",
|
||||
"groups": "Groups",
|
||||
"groups-can-only-be-set-by-administrators": "Groups can only be set by administrators",
|
||||
"manage-groups": "Manage Groups",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Bulk Add",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"from-url": "Import a Recipe",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Must be a Valid URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "Recipe URL",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website"
|
||||
"upload-a-recipe": "Upload a Recipe",
|
||||
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Page not found",
|
||||
"all-recipes": "All Recipes",
|
||||
"home-page": "Home Page",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"recent": "Recent"
|
||||
"pages-updated": "Pages updated"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Assets",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Key Name Required",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-asset": "New Asset",
|
||||
"new-key-name": "New Key Name",
|
||||
"no-white-space-allowed": "No White Space Allowed",
|
||||
"note": "Note",
|
||||
"notes": "Notes",
|
||||
"nutrition": "Nutrition",
|
||||
"object-key": "Object Key",
|
||||
"object-value": "Object Value",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"save-recipe-before-use": "Save recipe before use",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Servings",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Show Assets",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Step: {step}",
|
||||
"sugar-content": "Sugar",
|
||||
"title": "Title",
|
||||
"total-time": "Total Time",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe",
|
||||
"view-recipe": "View Recipe"
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Add a New Theme",
|
||||
"admin-settings": "Admin Settings",
|
||||
"available-backups": "Available Backups",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-tag": "Backup Tag",
|
||||
"create-heading": "Create a Backup",
|
||||
"delete-backup": "Delete Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Full Backup",
|
||||
"import-summary": "Import Summary",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.",
|
||||
"change-password": "Change Password",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Custom Pages",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Site Settings",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.",
|
||||
"dark": "Dark",
|
||||
"dark-mode": "Dark Mode",
|
||||
"default-to-system": "Default to system",
|
||||
"delete-theme": "Delete Theme",
|
||||
"error": "Error",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Light",
|
||||
"primary": "Primary",
|
||||
"secondary": "Secondary",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.",
|
||||
"success": "Success",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Theme",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"theme-name": "Theme Name",
|
||||
"theme-name-is-required": "Theme Name is required.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-settings": "Theme Settings",
|
||||
"theme-updated": "Theme updated",
|
||||
"warning": "Warning"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Unorganized"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Meal Planner Webhooks",
|
||||
"test-webhooks": "Test Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at",
|
||||
"webhook-url": "Webhook URL",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Categories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profile",
|
||||
"search": "Search",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Display Name",
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Full Name",
|
||||
"incorrect-username-or-password": "Incorrect username or password",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
|
||||
489
frontend/src/locales/messages/en-GB.json
Normal file
489
frontend/src/locales/messages/en-GB.json
Normal file
@@ -0,0 +1,489 @@
|
||||
{
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "About Mealie",
|
||||
"api-docs": "API Docs",
|
||||
"api-port": "API Port",
|
||||
"application-mode": "Application Mode",
|
||||
"database-type": "Database Type",
|
||||
"database-url": "Database URL",
|
||||
"default-group": "Default Group",
|
||||
"demo": "Demo",
|
||||
"demo-status": "Demo Status",
|
||||
"development": "Development",
|
||||
"docs": "Docs",
|
||||
"download-log": "Download Log",
|
||||
"download-recipe-json": "Last Scraped JSON",
|
||||
"github": "Github",
|
||||
"log-lines": "Log Lines",
|
||||
"not-demo": "Not Demo",
|
||||
"portfolio": "Portfolio",
|
||||
"production": "Production",
|
||||
"support": "Support",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Assets",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"new-asset": "New Asset",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recipe",
|
||||
"show-assets": "Show Assets"
|
||||
},
|
||||
"category": {
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category deleted",
|
||||
"category-deletion-failed": "Category deletion failed",
|
||||
"category-filter": "Category Filter",
|
||||
"category-update-failed": "Category update failed",
|
||||
"category-updated": "Category updated",
|
||||
"uncategorized-count": "Uncategorised {count}"
|
||||
},
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Delete Event",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"new-version": "New version available!",
|
||||
"notification": "Notification",
|
||||
"refresh": "Refresh",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent"
|
||||
},
|
||||
"general": {
|
||||
"cancel": "Cancel",
|
||||
"clear": "Clear",
|
||||
"close": "Close",
|
||||
"confirm": "Confirm",
|
||||
"confirm-delete-generic": "Are you sure you want to delete this?",
|
||||
"copied": "Copied",
|
||||
"create": "Create",
|
||||
"created": "Created",
|
||||
"custom": "Custom",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Delete",
|
||||
"disabled": "Disabled",
|
||||
"download": "Download",
|
||||
"edit": "Edit",
|
||||
"enabled": "Enabled",
|
||||
"exception": "Exception",
|
||||
"failed-count": "Failed: {count}",
|
||||
"failure-uploading-file": "Failure uploading file",
|
||||
"favorites": "Favourites",
|
||||
"field-required": "Field Required",
|
||||
"file-folder-not-found": "File/folder not found",
|
||||
"file-uploaded": "File uploaded",
|
||||
"filter": "Filter",
|
||||
"friday": "Friday",
|
||||
"general": "General",
|
||||
"get": "Get",
|
||||
"home": "Home",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Import",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link-copied": "Link Copied",
|
||||
"loading-recipes": "Loading Recipes",
|
||||
"monday": "Monday",
|
||||
"name": "Name",
|
||||
"new": "New",
|
||||
"no": "No",
|
||||
"no-recipe-found": "No Recipe Found",
|
||||
"ok": "OK",
|
||||
"options": "Options:",
|
||||
"print": "Print",
|
||||
"random": "Random",
|
||||
"rating": "Rating",
|
||||
"recent": "Recent",
|
||||
"recipe": "Recipe",
|
||||
"recipes": "Recipes",
|
||||
"rename-object": "Rename {0}",
|
||||
"reset": "Reset",
|
||||
"saturday": "Saturday",
|
||||
"save": "Save",
|
||||
"settings": "Settings",
|
||||
"share": "Share",
|
||||
"shuffle": "Shuffle",
|
||||
"sort": "Sort",
|
||||
"sort-alphabetically": "Alphabetical",
|
||||
"status": "Status",
|
||||
"submit": "Submit",
|
||||
"success-count": "Success: {count}",
|
||||
"sunday": "Sunday",
|
||||
"templates": "Templates:",
|
||||
"test": "Test",
|
||||
"themes": "Themes",
|
||||
"thursday": "Thursday",
|
||||
"token": "Token",
|
||||
"tuesday": "Tuesday",
|
||||
"type": "Type",
|
||||
"update": "Update",
|
||||
"updated": "Updated",
|
||||
"upload": "Upload",
|
||||
"url": "URL",
|
||||
"view": "View",
|
||||
"wednesday": "Wednesday",
|
||||
"yes": "Yes"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?",
|
||||
"cannot-delete-default-group": "Cannot delete default group",
|
||||
"cannot-delete-group-with-users": "Cannot delete group with users",
|
||||
"confirm-group-deletion": "Confirm Group Deletion",
|
||||
"create-group": "Create Group",
|
||||
"error-updating-group": "Error updating group",
|
||||
"group": "Group",
|
||||
"group-deleted": "Group deleted",
|
||||
"group-deletion-failed": "Group deletion failed",
|
||||
"group-id-with-value": "Group ID: {groupID}",
|
||||
"group-name": "Group Name",
|
||||
"group-not-found": "Group not found",
|
||||
"group-with-value": "Group: {groupID}",
|
||||
"groups": "Groups",
|
||||
"manage-groups": "Manage Groups",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
"user-group-creation-failed": "User Group Creation Failed"
|
||||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Create a New Meal Plan",
|
||||
"dinner-this-week": "Dinner This Week",
|
||||
"dinner-today": "Dinner Today",
|
||||
"dinner-tonight": "DINNER TONIGHT",
|
||||
"edit-meal-plan": "Edit Meal Plan",
|
||||
"end-date": "End Date",
|
||||
"group": "Group (Beta)",
|
||||
"main": "Main",
|
||||
"meal-planner": "Meal Planner",
|
||||
"meal-plans": "Meal Plans",
|
||||
"mealplan-categories": "MEALPLAN CATEGORIES",
|
||||
"mealplan-created": "Mealplan created",
|
||||
"mealplan-creation-failed": "Mealplan creation failed",
|
||||
"mealplan-deleted": "Mealplan deleted",
|
||||
"mealplan-deletion-failed": "Mealplan deletion failed",
|
||||
"mealplan-settings": "Mealplan Settings",
|
||||
"mealplan-update-failed": "Mealplan update failed",
|
||||
"mealplan-updated": "Mealplan Updated",
|
||||
"no-meal-plan-defined-yet": "No meal plan defined yet",
|
||||
"no-meal-planned-for-today": "No meal planned for today",
|
||||
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans",
|
||||
"planner": "Planner",
|
||||
"quick-week": "Quick Week",
|
||||
"side": "Side",
|
||||
"sides": "Sides",
|
||||
"start-date": "Start Date"
|
||||
},
|
||||
"migration": {
|
||||
"chowdown": {
|
||||
"description": "Migrate data from Chowdown",
|
||||
"title": "Chowdown"
|
||||
},
|
||||
"migration-data-removed": "Migration data removed",
|
||||
"nextcloud": {
|
||||
"description": "Migrate data from a Nextcloud Cookbook instance",
|
||||
"title": "Nextcloud Cookbook"
|
||||
},
|
||||
"no-migration-data-available": "No Migration Data Available",
|
||||
"recipe-migration": "Recipe Migration"
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Bulk Add",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"from-url": "Import a Recipe",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Must be a Valid URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "Recipe URL",
|
||||
"upload-a-recipe": "Upload a Recipe",
|
||||
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.",
|
||||
"url-form-hint": "Copy and paste a link from your favourite recipe website",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Page not found",
|
||||
"all-recipes": "All Recipes",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
"page-deleted": "Page deleted",
|
||||
"page-deletion-failed": "Page deletion failed",
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favourites",
|
||||
"api-extras": "API Extras",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
"categories": "Categories",
|
||||
"comment-action": "Comment",
|
||||
"comments": "Comments",
|
||||
"delete-confirmation": "Are you sure you want to delete this recipe?",
|
||||
"delete-recipe": "Delete Recipe",
|
||||
"description": "Description",
|
||||
"disable-amount": "Disable Ingredient Amounts",
|
||||
"disable-comments": "Disable Comments",
|
||||
"fat-content": "Fat",
|
||||
"fiber-content": "Fibre",
|
||||
"grams": "grams",
|
||||
"ingredient": "Ingredient",
|
||||
"ingredients": "Ingredients",
|
||||
"insert-section": "Insert Section",
|
||||
"instructions": "Instructions",
|
||||
"key-name-required": "Key Name Required",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-key-name": "New Key Name",
|
||||
"no-white-space-allowed": "No White Space Allowed",
|
||||
"note": "Note",
|
||||
"nutrition": "Nutrition",
|
||||
"object-key": "Object Key",
|
||||
"object-value": "Object Value",
|
||||
"original-url": "Original URL",
|
||||
"perform-time": "Cook Time",
|
||||
"prep-time": "Prep Time",
|
||||
"protein-content": "Protein",
|
||||
"public-recipe": "Public Recipe",
|
||||
"recipe-created": "Recipe created",
|
||||
"recipe-creation-failed": "Recipe creation failed",
|
||||
"recipe-deleted": "Recipe deleted",
|
||||
"recipe-image": "Recipe Image",
|
||||
"recipe-image-updated": "Recipe image updated",
|
||||
"recipe-name": "Recipe Name",
|
||||
"recipe-settings": "Recipe Settings",
|
||||
"recipe-update-failed": "Recipe update failed",
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favourites",
|
||||
"remove-section": "Remove Section",
|
||||
"save-recipe-before-use": "Save recipe before use",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Servings",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Step. {step}",
|
||||
"sugar-content": "Sugar",
|
||||
"title": "Title",
|
||||
"total-time": "Total Time",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Advanced Search",
|
||||
"and": "and",
|
||||
"exclude": "Exclude",
|
||||
"include": "Include",
|
||||
"max-results": "Max Results",
|
||||
"or": "Or",
|
||||
"results": "Results",
|
||||
"search": "Search",
|
||||
"search-mealie": "Search Mealie (press /)",
|
||||
"search-placeholder": "Search...",
|
||||
"tag-filter": "Tag Filter"
|
||||
},
|
||||
"settings": {
|
||||
"add-a-new-theme": "Add a New Theme",
|
||||
"admin-settings": "Admin Settings",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-tag": "Backup Tag",
|
||||
"create-heading": "Create a Backup",
|
||||
"delete-backup": "Delete Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Full Backup",
|
||||
"import-summary": "Import Summary",
|
||||
"partial-backup": "Partial Backup",
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"change-password": "Change Password",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Custom Pages",
|
||||
"edit-page": "Edit Page",
|
||||
"events": "Events",
|
||||
"first-day-of-week": "First day of the week",
|
||||
"group-settings-updated": "Group Settings Updated",
|
||||
"homepage": {
|
||||
"all-categories": "All Categories",
|
||||
"card-per-section": "Card Per Section",
|
||||
"home-page": "Home Page",
|
||||
"home-page-sections": "Home Page Sections",
|
||||
"show-recent": "Show Recent"
|
||||
},
|
||||
"language": "Language",
|
||||
"latest": "Latest",
|
||||
"local-api": "Local API",
|
||||
"locale-settings": "Locale settings",
|
||||
"migrations": "Migrations",
|
||||
"new-page": "New Page",
|
||||
"notify": "Notify",
|
||||
"organize": "Organise",
|
||||
"page-name": "Page Name",
|
||||
"pages": "Pages",
|
||||
"profile": "Profile",
|
||||
"remove-existing-entries-matching-imported-entries": "Remove existing entries matching imported entries",
|
||||
"set-new-time": "Set New Time",
|
||||
"settings-update-failed": "Settings update failed",
|
||||
"settings-updated": "Settings updated",
|
||||
"site-settings": "Site Settings",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"dark": "Dark",
|
||||
"default-to-system": "Default to system",
|
||||
"error": "Error",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
"error-updating-theme": "Error updating theme",
|
||||
"info": "Info",
|
||||
"light": "Light",
|
||||
"primary": "Primary",
|
||||
"secondary": "Secondary",
|
||||
"success": "Success",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"theme-name": "Theme Name",
|
||||
"theme-name-is-required": "Theme Name is required.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-updated": "Theme updated",
|
||||
"warning": "Warning"
|
||||
},
|
||||
"token": {
|
||||
"active-tokens": "ACTIVE TOKENS",
|
||||
"api-token": "API Token",
|
||||
"api-tokens": "API Tokens",
|
||||
"copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Copy this token for use with an external application. This token will not be viewable again.",
|
||||
"create-an-api-token": "Create an API Token",
|
||||
"token-name": "Token Name"
|
||||
},
|
||||
"toolbox": {
|
||||
"assign-all": "Assign All",
|
||||
"bulk-assign": "Bulk Assign",
|
||||
"new-name": "New Name",
|
||||
"no-unused-items": "No Unused Items",
|
||||
"recipes-affected": "No Recipes Affected|One Recipe Affected|{count} Recipes Affected",
|
||||
"remove-unused": "Remove Unused",
|
||||
"title-case-all": "Title Case All",
|
||||
"toolbox": "Toolbox",
|
||||
"unorganized": "Unorganised"
|
||||
},
|
||||
"webhooks": {
|
||||
"test-webhooks": "Test Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on its scheduled day. Currently Webhooks will execute at",
|
||||
"webhook-url": "Webhook URL",
|
||||
"webhooks-caps": "WEBHOOKS"
|
||||
}
|
||||
},
|
||||
"shopping-list": {
|
||||
"all-lists": "All Lists",
|
||||
"create-shopping-list": "Create Shopping List",
|
||||
"from-recipe": "From Recipe",
|
||||
"list-name": "List Name",
|
||||
"new-list": "New List",
|
||||
"quantity": "Quantity: {0}",
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Categories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profile",
|
||||
"search": "Search",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
"sign-up-link-creation-failed": "Sign up link creation failed",
|
||||
"sign-up-links": "Sign Up Links",
|
||||
"sign-up-token-deleted": "Sign Up Token Deleted",
|
||||
"sign-up-token-deletion-failed": "Sign up token deletion failed",
|
||||
"welcome-to-mealie": "Welcome to Mealie! To become a user of this instance you are required to have a valid invitation link. If you haven't received an invitation you are unable to sign-up. To receive a link, contact the sites administrator."
|
||||
},
|
||||
"tag": {
|
||||
"tag-created": "Tag created",
|
||||
"tag-creation-failed": "Tag creation failed",
|
||||
"tag-deleted": "Tag deleted",
|
||||
"tag-deletion-failed": "Tag deletion failed",
|
||||
"tag-update-failed": "Tag update failed",
|
||||
"tag-updated": "Tag updated",
|
||||
"tags": "Tags",
|
||||
"untagged-count": "Untagged {count}"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Admin",
|
||||
"are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link <b>{link}<b/>?",
|
||||
"are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user <b>{activeName} ID: {activeId}<b/>?",
|
||||
"confirm-link-deletion": "Confirm Link Deletion",
|
||||
"confirm-password": "Confirm Password",
|
||||
"confirm-user-deletion": "Confirm User Deletion",
|
||||
"could-not-validate-credentials": "Could Not Validate Credentials",
|
||||
"create-link": "Create Link",
|
||||
"create-user": "Create User",
|
||||
"current-password": "Current Password",
|
||||
"e-mail-must-be-valid": "Email must be valid",
|
||||
"edit-user": "Edit User",
|
||||
"email": "Email",
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Full Name",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
"logout": "Logout",
|
||||
"manage-users": "Manage Users",
|
||||
"new-password": "New Password",
|
||||
"new-user": "New User",
|
||||
"password": "Password",
|
||||
"password-has-been-reset-to-the-default-password": "Password has been reset to the default password",
|
||||
"password-must-match": "Password must match",
|
||||
"password-reset-failed": "Password reset failed",
|
||||
"password-updated": "Password updated",
|
||||
"reset-password": "Reset Password",
|
||||
"sign-in": "Sign in",
|
||||
"total-mealplans": "Total MealPlans",
|
||||
"total-users": "Total Users",
|
||||
"upload-photo": "Upload Photo",
|
||||
"use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password",
|
||||
"user": "User",
|
||||
"user-created": "User created",
|
||||
"user-creation-failed": "User creation failed",
|
||||
"user-deleted": "User deleted",
|
||||
"user-id": "User ID",
|
||||
"user-id-with-value": "User ID: {id}",
|
||||
"user-password": "User Password",
|
||||
"user-successfully-logged-in": "User Successfully Logged In",
|
||||
"user-update-failed": "User update failed",
|
||||
"user-updated": "User updated",
|
||||
"username": "Username",
|
||||
"users": "Users",
|
||||
"users-header": "USERS",
|
||||
"webhook-time": "Webhook Time",
|
||||
"webhooks-enabled": "Webhooks Enabled",
|
||||
"you-are-not-allowed-to-create-a-user": "You are not allowed to create a user",
|
||||
"you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user"
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Page Not Found",
|
||||
"take-me-home": "Take me Home"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "About Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Support",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Assets",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"new-asset": "New Asset",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recipe",
|
||||
"show-assets": "Show Assets"
|
||||
},
|
||||
"category": {
|
||||
"category": "Category",
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category Deleted",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Delete Event",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"new-version": "New version available!",
|
||||
"notification": "Notification",
|
||||
"refresh": "Refresh",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"test-message-sent": "Test Message Sent"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Apply",
|
||||
"cancel": "Cancel",
|
||||
"clear": "Clear",
|
||||
"close": "Close",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Copied",
|
||||
"create": "Create",
|
||||
"created": "Created",
|
||||
"current-parenthesis": "(Current)",
|
||||
"custom": "Custom",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Delete",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Friday",
|
||||
"general": "General",
|
||||
"get": "Get",
|
||||
"home": "Home",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Import",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"loading-recipes": "Loading Recipes",
|
||||
"monday": "Monday",
|
||||
"more": "More",
|
||||
"name": "Name",
|
||||
"new": "New",
|
||||
"no": "No",
|
||||
"no-recipe-found": "No Recipe Found",
|
||||
"ok": "OK",
|
||||
"options": "Options:",
|
||||
"print": "Print",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Group ID: {groupID}",
|
||||
"group-name": "Group Name",
|
||||
"group-not-found": "Group not found",
|
||||
"group-with-value": "Group: {groupID}",
|
||||
"groups": "Groups",
|
||||
"groups-can-only-be-set-by-administrators": "Groups can only be set by administrators",
|
||||
"manage-groups": "Manage Groups",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Bulk Add",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"from-url": "Import a Recipe",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Must be a Valid URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "Recipe URL",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website"
|
||||
"upload-a-recipe": "Upload a Recipe",
|
||||
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Page not found",
|
||||
"all-recipes": "All Recipes",
|
||||
"home-page": "Home Page",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"recent": "Recent"
|
||||
"pages-updated": "Pages updated"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Assets",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Key Name Required",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-asset": "New Asset",
|
||||
"new-key-name": "New Key Name",
|
||||
"no-white-space-allowed": "No White Space Allowed",
|
||||
"note": "Note",
|
||||
"notes": "Notes",
|
||||
"nutrition": "Nutrition",
|
||||
"object-key": "Object Key",
|
||||
"object-value": "Object Value",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"save-recipe-before-use": "Save recipe before use",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Servings",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Show Assets",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Step: {step}",
|
||||
"sugar-content": "Sugar",
|
||||
"title": "Title",
|
||||
"total-time": "Total Time",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe",
|
||||
"view-recipe": "View Recipe"
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Add a New Theme",
|
||||
"admin-settings": "Admin Settings",
|
||||
"available-backups": "Available Backups",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-tag": "Backup Tag",
|
||||
"create-heading": "Create a Backup",
|
||||
"delete-backup": "Delete Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Full Backup",
|
||||
"import-summary": "Import Summary",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.",
|
||||
"change-password": "Change Password",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Custom Pages",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Site Settings",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.",
|
||||
"dark": "Dark",
|
||||
"dark-mode": "Dark Mode",
|
||||
"default-to-system": "Default to system",
|
||||
"delete-theme": "Delete Theme",
|
||||
"error": "Error",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Light",
|
||||
"primary": "Primary",
|
||||
"secondary": "Secondary",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.",
|
||||
"success": "Success",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Theme",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"theme-name": "Theme Name",
|
||||
"theme-name-is-required": "Theme Name is required.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-settings": "Theme Settings",
|
||||
"theme-updated": "Theme updated",
|
||||
"warning": "Warning"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Unorganized"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Meal Planner Webhooks",
|
||||
"test-webhooks": "Test Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at",
|
||||
"webhook-url": "Webhook URL",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Categories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profile",
|
||||
"search": "Search",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Display Name",
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Full Name",
|
||||
"incorrect-username-or-password": "Incorrect username or password",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "Página no encontrada",
|
||||
"take-me-home": "Ir a Inicio"
|
||||
},
|
||||
"about": {
|
||||
"about": "Acerca de",
|
||||
"about-mealie": "Acerca de Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Soporte",
|
||||
"version": "Versión"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Recursos",
|
||||
"code": "Código",
|
||||
"file": "Archivo",
|
||||
"image": "Imagen",
|
||||
"new-asset": "Nuevo recurso",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Receta",
|
||||
"show-assets": "Mostrar recursos"
|
||||
},
|
||||
"category": {
|
||||
"category": "Categoría",
|
||||
"category-created": "Categoría creada",
|
||||
"category-creation-failed": "Error al crear categoría",
|
||||
"category-deleted": "Categoría Eliminada",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "URL de aviso",
|
||||
"database": "Base de Datos",
|
||||
"delete-event": "Borrar evento",
|
||||
"new-notification-form-description": "Mealie utiliza la biblioteca Apprise para generar notificaciones. Ofrecen muchas opciones para que los servicios se usen para notificaciones. Consulte su wiki para obtener una guía completa sobre cómo crear la URL para su servicio. Si está disponible, seleccionar el tipo de notificación puede incluir características extra.",
|
||||
"new-version": "¡Nueva versión disponible!",
|
||||
"notification": "Notificación",
|
||||
"scheduled": "Programado",
|
||||
"something-went-wrong": "¡Algo salió mal!",
|
||||
"subscribed-events": "Eventos suscritos",
|
||||
"test-message-sent": "Mensaje Enviado",
|
||||
"refresh": "Actualizar",
|
||||
"new-version": "¡Nueva versión disponible!"
|
||||
"scheduled": "Programado",
|
||||
"something-went-wrong": "¡Algo ha salido mal!",
|
||||
"subscribed-events": "Eventos suscritos",
|
||||
"test-message-sent": "Mensaje Enviado"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Aplicar",
|
||||
"cancel": "Cancelar",
|
||||
"clear": "Eliminar",
|
||||
"close": "Cerrar",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Copiado",
|
||||
"create": "Crear",
|
||||
"created": "Creado",
|
||||
"current-parenthesis": "(Actual)",
|
||||
"custom": "Personalizar",
|
||||
"dashboard": "Panel de control",
|
||||
"delete": "Eliminar",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Viernes",
|
||||
"general": "General",
|
||||
"get": "Obtener",
|
||||
"home": "Inicio",
|
||||
"image": "Imagen",
|
||||
"image-upload-failed": "Error al subir la imagen",
|
||||
"import": "Importar",
|
||||
"json": "JSON",
|
||||
"keyword": "Etiqueta",
|
||||
"link": "Enlace",
|
||||
"link-copied": "Enlace copiado",
|
||||
"loading-recipes": "Cargando recetas",
|
||||
"monday": "Lunes",
|
||||
"more": "Más",
|
||||
"name": "Nombre",
|
||||
"new": "Nuevo",
|
||||
"no": "No",
|
||||
"no-recipe-found": "Receta no encontrada",
|
||||
"ok": "OK",
|
||||
"options": "Opciones:",
|
||||
"print": "Imprimir",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "ID del Grupo: {groupID}",
|
||||
"group-name": "Nombre del Grupo",
|
||||
"group-not-found": "Grupo no encontrado",
|
||||
"group-with-value": "Group: {groupID}",
|
||||
"groups": "Grupos",
|
||||
"groups-can-only-be-set-by-administrators": "Los grupos sólo pueden ser establecidos por administradores",
|
||||
"manage-groups": "Administrar grupos",
|
||||
"user-group": "Grupo de usuarios",
|
||||
"user-group-created": "Grupo de usuarios creado",
|
||||
@@ -154,7 +159,7 @@
|
||||
"edit-meal-plan": "Editar menú",
|
||||
"end-date": "Fecha de Finalización",
|
||||
"group": "Grupo (Beta)",
|
||||
"main": "Main",
|
||||
"main": "Principal",
|
||||
"meal-planner": "Menús",
|
||||
"meal-plans": "Menús",
|
||||
"mealplan-categories": "Categorías del menú",
|
||||
@@ -170,8 +175,8 @@
|
||||
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Sólo las recetas con estas categorías se utilizarán en los menús",
|
||||
"planner": "Planificador",
|
||||
"quick-week": "Vista rápida",
|
||||
"side": "Side",
|
||||
"sides": "Sides",
|
||||
"side": "Entremés",
|
||||
"sides": "Entremeses",
|
||||
"start-date": "Fecha de Inicio"
|
||||
},
|
||||
"migration": {
|
||||
@@ -192,13 +197,20 @@
|
||||
"error-details": "Sólo los sitios web que contengan ld+json o microdatos pueden ser importados por Mealie. La mayoría de los sitios web de recetas principales soportan esta estructura de datos. Si su sitio no puede ser importado pero hay datos json en el registro, por favor envíe un problema a github con la URL y los datos.",
|
||||
"error-title": "Parece que no hemos podido encontrar nada",
|
||||
"from-url": "Importar una receta",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Must be a Valid URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Pegar los datos de tu receta. Cada línea será tratada como un elemento de una lista",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "URL de la receta",
|
||||
"url-form-hint": "Copia y pega un enlace desde tu página web favorita"
|
||||
"upload-a-recipe": "Upload a Recipe",
|
||||
"upload-individual-zip-file": "Sube un archivo .zip individual exportado desde otra instancia de Mealie.",
|
||||
"url-form-hint": "Copia y pega un enlace desde tu página web favorita",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Página no encontrada",
|
||||
"all-recipes": "Todas las recetas",
|
||||
"home-page": "Página de inicio",
|
||||
"new-page-created": "Nueva página creada",
|
||||
"page": "Página",
|
||||
"page-creation-failed": "Creación de página fallida",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Error al actualizar la página",
|
||||
"page-updated": "Página actualizada",
|
||||
"pages-update-failed": "Fallo al actualizar las páginas",
|
||||
"pages-updated": "Páginas actualizadas",
|
||||
"recent": "Reciente"
|
||||
"pages-updated": "Páginas actualizadas"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Añadir Clave",
|
||||
"add-to-favorites": "Añadir a favoritos",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Recursos",
|
||||
"calories": "Calorías",
|
||||
"calories-suffix": "calorías",
|
||||
"carbohydrate-content": "Hidratos de carbono",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Nombre de clave requerido",
|
||||
"landscape-view-coming-soon": "Vista apaisada (Próximamente)",
|
||||
"milligrams": "miligramos",
|
||||
"new-asset": "Nuevo recurso",
|
||||
"new-key-name": "Nuevo nombre de clave",
|
||||
"no-white-space-allowed": "No se permite espacio en blanco",
|
||||
"note": "Nota",
|
||||
"notes": "Notas",
|
||||
"nutrition": "Nutrición",
|
||||
"object-key": "Clave de objeto",
|
||||
"object-value": "Valor del objeto",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Receta actualizada",
|
||||
"remove-from-favorites": "Eliminar de favoritos",
|
||||
"remove-section": "Eliminar sección",
|
||||
"save-recipe-before-use": "Guardar la receta antes de usar",
|
||||
"section-title": "Título de la sección",
|
||||
"servings": "Porciones",
|
||||
"share-recipe-message": "Quería compartir mi receta {0} contigo.",
|
||||
"show-assets": "Mostrar recursos",
|
||||
"show-nutrition-values": "Mostrar valores nutricionales",
|
||||
"sodium-content": "Sodio",
|
||||
"step-index": "Paso: {step}",
|
||||
"sugar-content": "Azúcar",
|
||||
"title": "Título",
|
||||
"total-time": "Tiempo total",
|
||||
"unable-to-delete-recipe": "No se puede eliminar la receta",
|
||||
"view-recipe": "Ver Receta"
|
||||
"unable-to-delete-recipe": "No se puede eliminar la receta"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "Sin Receta"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Añadir un nuevo tema",
|
||||
"admin-settings": "Configuración del Administrador",
|
||||
"available-backups": "Copias de seguridad disponibles",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Copia de seguridad creada en {path}",
|
||||
"backup-deleted": "Copia de seguridad eliminada",
|
||||
"backup-tag": "Etiqueta de la copia de seguridad",
|
||||
"create-heading": "Crear una copia de seguridad",
|
||||
"delete-backup": "Eliminar copia de seguridad",
|
||||
"error-creating-backup-see-log-file": "Error al crear la copia de seguridad. Ver archivo de registro",
|
||||
"full-backup": "Copia de seguridad completa",
|
||||
"import-summary": "Importar resumen",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "No se puede eliminar la copia de seguridad."
|
||||
},
|
||||
"backup-and-exports": "Copias de Seguridad",
|
||||
"backup-info": "Las copias de seguridad se exportan en formato JSON estándar junto con todas las imágenes almacenadas en el sistema de archivos. En su carpeta de copia de seguridad encontrará un archivo .zip que contiene todos los JSON de la receta y las imágenes de la base de datos. Adicionalmente, si seleccionó un archivo markdown, también se almacenarán en el archivo .zip. Para importar una copia de seguridad, debe ubicarse en la carpeta de copias de seguridad. Las copias de seguridad automatizadas se realizan cada día a las 3:00 AM.",
|
||||
"change-password": "Cambia Contraseña",
|
||||
"current": "Versión:",
|
||||
"custom-pages": "Páginas Personalizadas",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Configuración del sitio",
|
||||
"theme": {
|
||||
"accent": "Destacado",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "¿Está seguro de que desea eliminar este tema?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Elija cómo se le ve Mealie. Establezca la preferencia de su tema para seguir los ajustes de su sistema, o elija usar el tema claro o oscuro.",
|
||||
"dark": "Oscuro",
|
||||
"dark-mode": "Modo oscuro",
|
||||
"default-to-system": "Sistema por defecto",
|
||||
"delete-theme": "Eliminar tema",
|
||||
"error": "Error",
|
||||
"error-creating-theme-see-log-file": "Error al crear el tema. Ver archivo de registro.",
|
||||
"error-deleting-theme": "Error al eliminar el tema",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Claro",
|
||||
"primary": "Principal",
|
||||
"secondary": "Secundario",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Seleccione un tema del menú desplegable o cree un nuevo tema. Tenga en cuenta que el tema por defecto será servido a todos los usuarios que no hayan establecido una preferencia de tema.",
|
||||
"success": "Completado",
|
||||
"switch-to-dark-mode": "Cambiar a modo oscuro",
|
||||
"switch-to-light-mode": "Cambiar a modo claro",
|
||||
"theme": "Tema",
|
||||
"theme-deleted": "Tema borrado",
|
||||
"theme-name": "Nombre del tema",
|
||||
"theme-name-is-required": "Se requiere el nombre del tema.",
|
||||
"theme-saved": "Tema guardado",
|
||||
"theme-settings": "Ajustes del tema",
|
||||
"theme-updated": "Tema actualizado",
|
||||
"warning": "Aviso"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Sin organizar"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Webhooks del Menú",
|
||||
"test-webhooks": "Probar Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "Las URLs que se muestran a continuación recibirán webhooks que contienen los datos de la receta para el menú del día programado. Actualmente los Webhooks se ejecutarán en",
|
||||
"webhook-url": "Dirección URL del Webhook",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Lista de la compra",
|
||||
"shopping-lists": "Listas de la compra"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Categories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profile",
|
||||
"search": "Search",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Mostrar nombre",
|
||||
"error-signing-up": "Error al registrarse",
|
||||
"sign-up": "Registrarse",
|
||||
"sign-up-link-created": "Enlace de registro creado",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "¡Error! No se puede eliminar el Super Usuario",
|
||||
"existing-password-does-not-match": "La contraseña actual no coincide",
|
||||
"full-name": "Nombre completo",
|
||||
"incorrect-username-or-password": "Nombre de usuario o contraseña incorrectos",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Iniciar sesión",
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Page Not Found",
|
||||
"take-me-home": "Take me Home"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "About Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Support",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Assets",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"new-asset": "New Asset",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recipe",
|
||||
"show-assets": "Show Assets"
|
||||
},
|
||||
"category": {
|
||||
"category": "Category",
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category Deleted",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Delete Event",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"new-version": "New version available!",
|
||||
"notification": "Notification",
|
||||
"refresh": "Refresh",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"test-message-sent": "Test Message Sent"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Apply",
|
||||
"cancel": "Cancel",
|
||||
"clear": "Clear",
|
||||
"close": "Close",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Copied",
|
||||
"create": "Create",
|
||||
"created": "Created",
|
||||
"current-parenthesis": "(Current)",
|
||||
"custom": "Custom",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Delete",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Friday",
|
||||
"general": "General",
|
||||
"get": "Get",
|
||||
"home": "Home",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Import",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"loading-recipes": "Loading Recipes",
|
||||
"monday": "Monday",
|
||||
"more": "More",
|
||||
"name": "Name",
|
||||
"new": "New",
|
||||
"no": "No",
|
||||
"no-recipe-found": "No Recipe Found",
|
||||
"ok": "OK",
|
||||
"options": "Options:",
|
||||
"print": "Print",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Group ID: {groupID}",
|
||||
"group-name": "Group Name",
|
||||
"group-not-found": "Group not found",
|
||||
"group-with-value": "Group: {groupID}",
|
||||
"groups": "Groups",
|
||||
"groups-can-only-be-set-by-administrators": "Groups can only be set by administrators",
|
||||
"manage-groups": "Manage Groups",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Bulk Add",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"from-url": "Import a Recipe",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Must be a Valid URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "Recipe URL",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website"
|
||||
"upload-a-recipe": "Upload a Recipe",
|
||||
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Page not found",
|
||||
"all-recipes": "All Recipes",
|
||||
"home-page": "Home Page",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"recent": "Recent"
|
||||
"pages-updated": "Pages updated"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Assets",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Key Name Required",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-asset": "New Asset",
|
||||
"new-key-name": "New Key Name",
|
||||
"no-white-space-allowed": "No White Space Allowed",
|
||||
"note": "Note",
|
||||
"notes": "Notes",
|
||||
"nutrition": "Nutrition",
|
||||
"object-key": "Object Key",
|
||||
"object-value": "Object Value",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"save-recipe-before-use": "Save recipe before use",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Servings",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Show Assets",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Step: {step}",
|
||||
"sugar-content": "Sugar",
|
||||
"title": "Title",
|
||||
"total-time": "Total Time",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe",
|
||||
"view-recipe": "View Recipe"
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Add a New Theme",
|
||||
"admin-settings": "Admin Settings",
|
||||
"available-backups": "Available Backups",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-tag": "Backup Tag",
|
||||
"create-heading": "Create a Backup",
|
||||
"delete-backup": "Delete Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Full Backup",
|
||||
"import-summary": "Import Summary",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.",
|
||||
"change-password": "Change Password",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Custom Pages",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Site Settings",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.",
|
||||
"dark": "Dark",
|
||||
"dark-mode": "Dark Mode",
|
||||
"default-to-system": "Default to system",
|
||||
"delete-theme": "Delete Theme",
|
||||
"error": "Error",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Light",
|
||||
"primary": "Primary",
|
||||
"secondary": "Secondary",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.",
|
||||
"success": "Success",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Theme",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"theme-name": "Theme Name",
|
||||
"theme-name-is-required": "Theme Name is required.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-settings": "Theme Settings",
|
||||
"theme-updated": "Theme updated",
|
||||
"warning": "Warning"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Unorganized"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Meal Planner Webhooks",
|
||||
"test-webhooks": "Test Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at",
|
||||
"webhook-url": "Webhook URL",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Categories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profile",
|
||||
"search": "Search",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Display Name",
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Full Name",
|
||||
"incorrect-username-or-password": "Incorrect username or password",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Page introuvable",
|
||||
"take-me-home": "Retour à l'accueil"
|
||||
},
|
||||
"about": {
|
||||
"about": "À propos",
|
||||
"about-mealie": "À propos de Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Soutenir",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Ressources",
|
||||
"code": "Code",
|
||||
"file": "Fichier",
|
||||
"image": "Image",
|
||||
"new-asset": "Nouvelle ressource",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recette",
|
||||
"show-assets": "Afficher les ressources"
|
||||
},
|
||||
"category": {
|
||||
"category": "Catégorie",
|
||||
"category-created": "Catégorie créée",
|
||||
"category-creation-failed": "La création de la catégorie a échoué",
|
||||
"category-deleted": "Catégorie supprimée",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "URL Apprise",
|
||||
"database": "Base de données",
|
||||
"delete-event": "Supprimer l’évènement",
|
||||
"new-notification-form-description": "Mealie utilise la bibliothèque Apprise pour générer des notifications. Elle propose de nombreux services à utiliser pour les notifications. Consultez leur wiki pour un guide complet sur la façon de créer l'URL de votre service. Si disponible, sélectionner le type de votre notification peut inclure des fonctionnalités supplémentaires.",
|
||||
"new-version": "Nouvelle version disponible !",
|
||||
"notification": "Notification",
|
||||
"refresh": "Rafraîchir",
|
||||
"scheduled": "Planifié",
|
||||
"something-went-wrong": "Une erreur s'est produite !",
|
||||
"subscribed-events": "Événements suivis",
|
||||
"test-message-sent": "Message de test envoyé",
|
||||
"refresh": "Rafraîchir",
|
||||
"new-version": "Nouvelle version disponible !"
|
||||
"subscribed-events": "Évènements suivis",
|
||||
"test-message-sent": "Message de test envoyé"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Appliquer",
|
||||
"cancel": "Annuler",
|
||||
"clear": "Effacer",
|
||||
"close": "Fermer",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Copié",
|
||||
"create": "Créer",
|
||||
"created": "Créé",
|
||||
"current-parenthesis": "(Actuel)",
|
||||
"custom": "Personnalisé",
|
||||
"dashboard": "Tableau de bord",
|
||||
"delete": "Supprimer",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Vendredi",
|
||||
"general": "Général",
|
||||
"get": "Envoyer",
|
||||
"home": "Page d'accueil",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Le téléchargement de l'image a échoué",
|
||||
"import": "Importer",
|
||||
"json": "JSON",
|
||||
"keyword": "Mot-clé",
|
||||
"link": "Lien",
|
||||
"link-copied": "Lien copié",
|
||||
"loading-recipes": "Chargement des recettes",
|
||||
"monday": "Lundi",
|
||||
"more": "Plus",
|
||||
"name": "Nom",
|
||||
"new": "Nouveau",
|
||||
"no": "Non",
|
||||
"no-recipe-found": "Aucune recette trouvée",
|
||||
"ok": "OK",
|
||||
"options": "Options :",
|
||||
"print": "Imprimer",
|
||||
@@ -108,7 +113,7 @@
|
||||
"sort": "Trier",
|
||||
"sort-alphabetically": "Alphabétique",
|
||||
"status": "Statut",
|
||||
"submit": "Soumettre",
|
||||
"submit": "Envoyer",
|
||||
"success-count": "Succès : {count}",
|
||||
"sunday": "Dimanche",
|
||||
"templates": "Modèles :",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "ID groupe : {groupID}",
|
||||
"group-name": "Nom du groupe",
|
||||
"group-not-found": "Groupe non trouvé",
|
||||
"group-with-value": "Groupe : {groupID}",
|
||||
"groups": "Groupes",
|
||||
"groups-can-only-be-set-by-administrators": "Les groupes peuvent uniquement être assignés par les administrateurs",
|
||||
"manage-groups": "Gérer les groupes",
|
||||
"user-group": "Groupe utilisateur",
|
||||
"user-group-created": "Groupe d'utilisateurs créé",
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Ajouter en masse",
|
||||
"error-details": "Seuls les sites web contenant ld+json ou les microdonnées peuvent être importés par Mealie. La plupart des grands sites web de recettes supportent cette structure de données. Si votre site ne peut pas être importé mais qu'il y a des données json dans le journal, veuillez soumettre un problème github avec l'URL et les données.",
|
||||
"error-details": "Seuls les sites web contenant ld+json ou des microdonnées peuvent être importés par Mealie. La plupart des grands sites web de recettes sont compatibles avec cette structure de données. Si votre site ne peut pas être importé mais qu'il y a des données json dans le journal, veuillez soumettre un problème GitHub avec l'URL et les données.",
|
||||
"error-title": "On dirait qu'on n'a pas pu trouver quoi que ce soit",
|
||||
"from-url": "Depuis une adresse web",
|
||||
"github-issues": "Anomalies GitHub",
|
||||
"google-ld-json-info": "Infos Json-Ld Google",
|
||||
"must-be-a-valid-url": "Doit être une URL valide",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Copiez votre recette ici. Chaque ligne sera traitée comme un objet de la liste",
|
||||
"recipe-markup-specification": "Spécification du marquage des recettes",
|
||||
"recipe-url": "Adresse de la recette",
|
||||
"url-form-hint": "Copiez et collez un lien depuis votre site de recettes favori"
|
||||
"upload-a-recipe": "Télécharger une recette",
|
||||
"upload-individual-zip-file": "Chargez un fichier .zip exporté depuis une autre instance Mealie.",
|
||||
"url-form-hint": "Copiez et collez un lien depuis votre site de recettes favori",
|
||||
"view-scraped-data": "Voir les données récupérées"
|
||||
},
|
||||
"page": {
|
||||
"all-recipes": "Toutes mes recettes",
|
||||
"home-page": "Accueil",
|
||||
"404-page-not-found": "404 Page introuvable",
|
||||
"all-recipes": "Toutes les recettes",
|
||||
"new-page-created": "Nouvelle page créée",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "La création de la page a échoué",
|
||||
@@ -207,21 +219,19 @@
|
||||
"page-update-failed": "La mise à jour de la page a échoué",
|
||||
"page-updated": "Page mise à jour",
|
||||
"pages-update-failed": "La mise à jour des pages a échoué",
|
||||
"pages-updated": "Pages mises à jour",
|
||||
"recent": "Récent"
|
||||
"pages-updated": "Pages mises à jour"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Ajouter une clé",
|
||||
"add-to-favorites": "Ajouter aux favoris",
|
||||
"api-extras": "Extras API",
|
||||
"assets": "Ressources",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Glucides",
|
||||
"categories": "Catégories",
|
||||
"comment-action": "Commenter",
|
||||
"comments": "Commentaires",
|
||||
"delete-confirmation": "Êtes-vous sûr(e) de vouloir supprimer cette recette ?",
|
||||
"delete-confirmation": "Êtes-vous sûr·e de vouloir supprimer cette recette ?",
|
||||
"delete-recipe": "Supprimer la recette",
|
||||
"description": "Description",
|
||||
"disable-amount": "Désactiver les quantités des ingrédients",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Un nom de clé est requis",
|
||||
"landscape-view-coming-soon": "Vue paysage (bientôt disponible)",
|
||||
"milligrams": "milligrammes",
|
||||
"new-asset": "Nouvelle ressource",
|
||||
"new-key-name": "Nouveau nom de clé",
|
||||
"no-white-space-allowed": "Aucun espace blanc autorisé",
|
||||
"note": "Note",
|
||||
"notes": "Notes",
|
||||
"nutrition": "Valeurs nutritionnelles",
|
||||
"object-key": "Clé d'objet",
|
||||
"object-value": "Valeur d'objet",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Recette mise à jour",
|
||||
"remove-from-favorites": "Supprimer des favoris",
|
||||
"remove-section": "Supprimer une section",
|
||||
"save-recipe-before-use": "Enregistrez la recette avant utilisation",
|
||||
"section-title": "Titre de la section",
|
||||
"servings": "Portions",
|
||||
"share-recipe-message": "Je voulais partager ma recette de {0} avec vous.",
|
||||
"show-assets": "Afficher les ressources",
|
||||
"show-nutrition-values": "Afficher les valeurs nutritionnelles",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Étape : {step}",
|
||||
"step-index": "Étape {step}",
|
||||
"sugar-content": "Sucres",
|
||||
"title": "Titre",
|
||||
"total-time": "Temps total",
|
||||
"unable-to-delete-recipe": "Impossible de supprimer la recette",
|
||||
"view-recipe": "Voir la recette"
|
||||
"unable-to-delete-recipe": "Impossible de supprimer la recette"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "Pas de recette"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Ajouter un nouveau thème",
|
||||
"admin-settings": "Paramètres d'administration",
|
||||
"available-backups": "Sauvegardes disponibles",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Sauvegarde créée dans {path}",
|
||||
"backup-deleted": "Sauvegarde supprimée",
|
||||
"backup-tag": "Tag de la sauvegarde",
|
||||
"create-heading": "Créer une sauvegarde",
|
||||
"delete-backup": "Supprimer la sauvegarde",
|
||||
"error-creating-backup-see-log-file": "Erreur de création de la sauvegarde. Voir les logs",
|
||||
"full-backup": "Sauvegarde complète",
|
||||
"import-summary": "Résumé de l'importation",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Impossible de supprimer la sauvegarde."
|
||||
},
|
||||
"backup-and-exports": "Sauvegardes",
|
||||
"backup-info": "Les sauvegardes sont exportées en format JSON standard, ainsi que toutes les images stockées sur le système. Dans votre dossier de sauvegarde, vous trouverez un dossier .zip qui contient toutes les recettes en JSON et les images de la base de données. De plus, si vous avez sélectionné le format de fichier markdown, il sera sauvegardé dans le même dossier .zip. Pour importer une sauvegarde, celle-ci doit être enregistrée dans votre dossier de sauvegardes. Une sauvegarde automatique est effectuée quotidiennement à 03h00.",
|
||||
"change-password": "Modifier le mot de passe",
|
||||
"current": "Version :",
|
||||
"custom-pages": "Pages personnalisées",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Paramètres site",
|
||||
"theme": {
|
||||
"accent": "Accentué",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Êtes-vous sûr(e) de vouloir supprimer ce thème ?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Personnalisez l'apparence de Mealie. Utilisez le thème par défaut de votre système ou choisissez manuellement entre le thème clair ou sombre.",
|
||||
"dark": "Sombre",
|
||||
"dark-mode": "Mode sombre",
|
||||
"default-to-system": "Identique au système",
|
||||
"delete-theme": "Supprimer le thème",
|
||||
"error": "Erreur",
|
||||
"error-creating-theme-see-log-file": "Erreur lors de la création du thème. Consultez les logs.",
|
||||
"error-deleting-theme": "Erreur lors de la suppression du thème",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Clair",
|
||||
"primary": "Primaire",
|
||||
"secondary": "Secondaire",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Sélectionnez un thème depuis la liste ou créez-en un nouveau. Le thème par défaut sera utilisé pour tous les utilisateurs qui n'ont pas choisi de thème personnalisé.",
|
||||
"success": "Succès",
|
||||
"switch-to-dark-mode": "Basculer en mode sombre",
|
||||
"switch-to-light-mode": "Basculer en mode clair",
|
||||
"theme": "Thème",
|
||||
"theme-deleted": "Thème supprimé",
|
||||
"theme-name": "Nom du thème",
|
||||
"theme-name-is-required": "Un nom de thème est requis.",
|
||||
"theme-saved": "Thème enregistré",
|
||||
"theme-settings": "Paramètres du thème",
|
||||
"theme-updated": "Thème mis à jour",
|
||||
"warning": "Avertissement"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Non organisé"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Webhooks des menus",
|
||||
"test-webhooks": "Tester les webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "Les liens dans cette liste recevront les webhooks contenant les recettes pour le menu du jour. Actuellement, les webhooks se lancent à",
|
||||
"webhook-url": "Lien du webhook",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Liste de courses",
|
||||
"shopping-lists": "Listes de courses"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "Les recettes",
|
||||
"categories": "Catégories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Accueil",
|
||||
"manage-users": "Utilisateurs",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profil",
|
||||
"search": "Rechercher",
|
||||
"site-settings": "Paramètres",
|
||||
"tags": "Mots-clés",
|
||||
"toolbox": "Boîte à outils"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Nom affiché",
|
||||
"error-signing-up": "Erreur lors de l'inscription",
|
||||
"sign-up": "S'inscrire",
|
||||
"sign-up-link-created": "Lien d'inscription créé",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Erreur ! Impossible de supprimer le super utilisateur",
|
||||
"existing-password-does-not-match": "Le mot de passe actuel ne correspond pas",
|
||||
"full-name": "Nom",
|
||||
"incorrect-username-or-password": "Nom d'utilisateur ou mot de passe incorrect",
|
||||
"link-id": "ID du lien",
|
||||
"link-name": "Nom du lien",
|
||||
"login": "Connexion",
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Page Not Found",
|
||||
"take-me-home": "Take me Home"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "About Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Support",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Assets",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"new-asset": "New Asset",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recipe",
|
||||
"show-assets": "Show Assets"
|
||||
},
|
||||
"category": {
|
||||
"category": "Category",
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category Deleted",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Delete Event",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"new-version": "New version available!",
|
||||
"notification": "Notification",
|
||||
"refresh": "Refresh",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"test-message-sent": "Test Message Sent"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Apply",
|
||||
"cancel": "Cancel",
|
||||
"clear": "Clear",
|
||||
"close": "Close",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Copied",
|
||||
"create": "Create",
|
||||
"created": "Created",
|
||||
"current-parenthesis": "(Current)",
|
||||
"custom": "Custom",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Delete",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Friday",
|
||||
"general": "General",
|
||||
"get": "Get",
|
||||
"home": "Home",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Import",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"loading-recipes": "Loading Recipes",
|
||||
"monday": "Monday",
|
||||
"more": "More",
|
||||
"name": "Name",
|
||||
"new": "New",
|
||||
"no": "No",
|
||||
"no-recipe-found": "No Recipe Found",
|
||||
"ok": "OK",
|
||||
"options": "Options:",
|
||||
"print": "Print",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Group ID: {groupID}",
|
||||
"group-name": "Group Name",
|
||||
"group-not-found": "Group not found",
|
||||
"group-with-value": "Group: {groupID}",
|
||||
"groups": "Groups",
|
||||
"groups-can-only-be-set-by-administrators": "Groups can only be set by administrators",
|
||||
"manage-groups": "Manage Groups",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Bulk Add",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"from-url": "Import a Recipe",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Must be a Valid URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "Recipe URL",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website"
|
||||
"upload-a-recipe": "Upload a Recipe",
|
||||
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Page not found",
|
||||
"all-recipes": "All Recipes",
|
||||
"home-page": "Home Page",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"recent": "Recent"
|
||||
"pages-updated": "Pages updated"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Assets",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Key Name Required",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-asset": "New Asset",
|
||||
"new-key-name": "New Key Name",
|
||||
"no-white-space-allowed": "No White Space Allowed",
|
||||
"note": "Note",
|
||||
"notes": "Notes",
|
||||
"nutrition": "Nutrition",
|
||||
"object-key": "Object Key",
|
||||
"object-value": "Object Value",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"save-recipe-before-use": "Save recipe before use",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Servings",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Show Assets",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Step: {step}",
|
||||
"sugar-content": "Sugar",
|
||||
"title": "Title",
|
||||
"total-time": "Total Time",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe",
|
||||
"view-recipe": "View Recipe"
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Add a New Theme",
|
||||
"admin-settings": "Admin Settings",
|
||||
"available-backups": "Available Backups",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-tag": "Backup Tag",
|
||||
"create-heading": "Create a Backup",
|
||||
"delete-backup": "Delete Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Full Backup",
|
||||
"import-summary": "Import Summary",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.",
|
||||
"change-password": "Change Password",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Custom Pages",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Site Settings",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.",
|
||||
"dark": "Dark",
|
||||
"dark-mode": "Dark Mode",
|
||||
"default-to-system": "Default to system",
|
||||
"delete-theme": "Delete Theme",
|
||||
"error": "Error",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Light",
|
||||
"primary": "Primary",
|
||||
"secondary": "Secondary",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.",
|
||||
"success": "Success",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Theme",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"theme-name": "Theme Name",
|
||||
"theme-name-is-required": "Theme Name is required.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-settings": "Theme Settings",
|
||||
"theme-updated": "Theme updated",
|
||||
"warning": "Warning"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Unorganized"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Meal Planner Webhooks",
|
||||
"test-webhooks": "Test Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at",
|
||||
"webhook-url": "Webhook URL",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Categories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profile",
|
||||
"search": "Search",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Display Name",
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Full Name",
|
||||
"incorrect-username-or-password": "Incorrect username or password",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
|
||||
@@ -1,480 +1,489 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Page Not Found",
|
||||
"take-me-home": "Take me Home"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "About Mealie",
|
||||
"api-docs": "API Docs",
|
||||
"about": "Névjegy",
|
||||
"about-mealie": "Mealie-ről",
|
||||
"api-docs": "API dokumentáció",
|
||||
"api-port": "API Port",
|
||||
"application-mode": "Application Mode",
|
||||
"database-type": "Database Type",
|
||||
"database-url": "Database URL",
|
||||
"default-group": "Default Group",
|
||||
"demo": "Demo",
|
||||
"demo-status": "Demo Status",
|
||||
"development": "Development",
|
||||
"docs": "Docs",
|
||||
"download-log": "Download Log",
|
||||
"download-recipe-json": "Last Scraped JSON",
|
||||
"application-mode": "Alkalmazás típus",
|
||||
"database-type": "Adatbázis típusa",
|
||||
"database-url": "Adatbázis URL",
|
||||
"default-group": "Alapértelmezett csoport",
|
||||
"demo": "Demó",
|
||||
"demo-status": "Demó állapot",
|
||||
"development": "Fejlesztői",
|
||||
"docs": "Dokumentáció",
|
||||
"download-log": "Napló letöltése",
|
||||
"download-recipe-json": "Utoljára letöltött JSON",
|
||||
"github": "Github",
|
||||
"log-lines": "Log Lines",
|
||||
"not-demo": "Not Demo",
|
||||
"portfolio": "Portfolio",
|
||||
"production": "Production",
|
||||
"support": "Support",
|
||||
"version": "Version"
|
||||
"log-lines": "Napló sorok",
|
||||
"not-demo": "Nem Demó",
|
||||
"portfolio": "Portfólió",
|
||||
"production": "Stabil",
|
||||
"support": "Támogatás",
|
||||
"version": "Verzió"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Eszközök",
|
||||
"code": "Kód",
|
||||
"file": "Fájl",
|
||||
"image": "Kép",
|
||||
"new-asset": "Új eszköz",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recept",
|
||||
"show-assets": "Eszközök megjelenítése"
|
||||
},
|
||||
"category": {
|
||||
"category": "Category",
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category Deleted",
|
||||
"category-deletion-failed": "Category deletion failed",
|
||||
"category-filter": "Category Filter",
|
||||
"category-update-failed": "Category update failed",
|
||||
"category-updated": "Category updated",
|
||||
"uncategorized-count": "Uncategorized {count}"
|
||||
"category-created": "Kategória létrehozva",
|
||||
"category-creation-failed": "Kategória létrehozása sikertelen",
|
||||
"category-deleted": "Kategória törölve",
|
||||
"category-deletion-failed": "Kategória törlése sikertelen",
|
||||
"category-filter": "Kategória szűrő",
|
||||
"category-update-failed": "Kategória elmentése sikertelen",
|
||||
"category-updated": "Kategória frissítve",
|
||||
"uncategorized-count": "Kategórizálatlan {count}"
|
||||
},
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"notification": "Notification",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"database": "Adatbázis",
|
||||
"delete-event": "Esemény törlése",
|
||||
"new-notification-form-description": "A Mealie az Apprise könyvtárat használja az értesítésekhez. Számos lehetőséget kínál különbőző értesítési szolgáltatásokhoz. Nézd meg a wiki oldalukon, hogy kell URL-t létrehozni az általad használt szolgáltatáshoz. Az értesítés tipusának kiválasztásával egyéb beállítási lehetőségek jelenhetnek meg.",
|
||||
"new-version": "Új verzió elérhető!",
|
||||
"notification": "Értesítések",
|
||||
"refresh": "Frissítés",
|
||||
"scheduled": "Beütemezve",
|
||||
"something-went-wrong": "Hiba történt!",
|
||||
"subscribed-events": "Feliratkozott események",
|
||||
"test-message-sent": "Teszt üzenet elküldve"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Apply",
|
||||
"cancel": "Cancel",
|
||||
"clear": "Clear",
|
||||
"close": "Close",
|
||||
"confirm": "Confirm",
|
||||
"confirm-delete-generic": "Are you sure you want to delete this?",
|
||||
"copied": "Copied",
|
||||
"create": "Create",
|
||||
"created": "Created",
|
||||
"current-parenthesis": "(Current)",
|
||||
"custom": "Custom",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Delete",
|
||||
"disabled": "Disabled",
|
||||
"download": "Download",
|
||||
"edit": "Edit",
|
||||
"enabled": "Enabled",
|
||||
"exception": "Exception",
|
||||
"failed-count": "Failed: {count}",
|
||||
"failure-uploading-file": "Failure uploading file",
|
||||
"favorites": "Favorites",
|
||||
"field-required": "Field Required",
|
||||
"file-folder-not-found": "File/folder not found",
|
||||
"file-uploaded": "File uploaded",
|
||||
"filter": "Filter",
|
||||
"friday": "Friday",
|
||||
"general": "General",
|
||||
"cancel": "Mégsem",
|
||||
"clear": "Törlés",
|
||||
"close": "Bezár",
|
||||
"confirm": "Megerősítés",
|
||||
"confirm-delete-generic": "Biztosan törölni szeretnéd ezt?",
|
||||
"copied": "Másolva",
|
||||
"create": "Létrehozás",
|
||||
"created": "Létrehozva",
|
||||
"custom": "Egyéni",
|
||||
"dashboard": "Vezérlőpult",
|
||||
"delete": "Törlés",
|
||||
"disabled": "Letiltva",
|
||||
"download": "Letöltés",
|
||||
"edit": "Szerkesztés",
|
||||
"enabled": "Engedélyezve",
|
||||
"exception": "Kivétel",
|
||||
"failed-count": "Hibás: {count}",
|
||||
"failure-uploading-file": "Fáj feltöltése sikertelen",
|
||||
"favorites": "Kedvencek",
|
||||
"field-required": "Kötelező mező",
|
||||
"file-folder-not-found": "A fájl/mappa nem található",
|
||||
"file-uploaded": "Fájl feltöltve",
|
||||
"filter": "Szűrő",
|
||||
"friday": "Péntek",
|
||||
"general": "Általános",
|
||||
"get": "Get",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Import",
|
||||
"home": "Kezdőlap",
|
||||
"image": "Kép",
|
||||
"image-upload-failed": "Képfeltöltés sikertelen",
|
||||
"import": "Importálás",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"monday": "Monday",
|
||||
"more": "More",
|
||||
"name": "Name",
|
||||
"new": "New",
|
||||
"no": "No",
|
||||
"keyword": "Kulcsszó",
|
||||
"link-copied": "Hivatkozás másolva",
|
||||
"loading-recipes": "Receptek betöltése",
|
||||
"monday": "Hétfő",
|
||||
"name": "Név",
|
||||
"new": "Új",
|
||||
"no": "Nem",
|
||||
"no-recipe-found": "Nem található recept",
|
||||
"ok": "OK",
|
||||
"options": "Options:",
|
||||
"print": "Print",
|
||||
"random": "Random",
|
||||
"rating": "Rating",
|
||||
"recent": "Recent",
|
||||
"recipe": "Recipe",
|
||||
"recipes": "Recipes",
|
||||
"rename-object": "Rename {0}",
|
||||
"reset": "Reset",
|
||||
"saturday": "Saturday",
|
||||
"save": "Save",
|
||||
"settings": "Settings",
|
||||
"share": "Share",
|
||||
"shuffle": "Shuffle",
|
||||
"sort": "Sort",
|
||||
"sort-alphabetically": "Alphabetical",
|
||||
"status": "Status",
|
||||
"submit": "Submit",
|
||||
"success-count": "Success: {count}",
|
||||
"sunday": "Sunday",
|
||||
"templates": "Templates:",
|
||||
"test": "Test",
|
||||
"themes": "Themes",
|
||||
"thursday": "Thursday",
|
||||
"options": "Opciók:",
|
||||
"print": "Nyomtatás",
|
||||
"random": "Véletlenszerű",
|
||||
"rating": "Értékelés",
|
||||
"recent": "Legutóbbi",
|
||||
"recipe": "Recept",
|
||||
"recipes": "Receptek",
|
||||
"rename-object": "Átnevezés {0}",
|
||||
"reset": "Alaphelyzet",
|
||||
"saturday": "Szombat",
|
||||
"save": "Mentés",
|
||||
"settings": "Beállítások",
|
||||
"share": "Megosztás",
|
||||
"shuffle": "Véletlenszerű",
|
||||
"sort": "Rendezés",
|
||||
"sort-alphabetically": "Betűrendben",
|
||||
"status": "Állapot",
|
||||
"submit": "Küldés",
|
||||
"success-count": "Sikeres: {count}",
|
||||
"sunday": "Vasárnap",
|
||||
"templates": "Sablonok:",
|
||||
"test": "Teszt",
|
||||
"themes": "Témák",
|
||||
"thursday": "Csütörtök",
|
||||
"token": "Token",
|
||||
"tuesday": "Tuesday",
|
||||
"type": "Type",
|
||||
"update": "Update",
|
||||
"updated": "Updated",
|
||||
"upload": "Upload",
|
||||
"tuesday": "Kedd",
|
||||
"type": "Típus",
|
||||
"update": "Frissítés",
|
||||
"updated": "Frissítve",
|
||||
"upload": "Feltöltés",
|
||||
"url": "URL",
|
||||
"view": "View",
|
||||
"wednesday": "Wednesday",
|
||||
"yes": "Yes"
|
||||
"view": "Nézet",
|
||||
"wednesday": "Szerda",
|
||||
"yes": "Igen"
|
||||
},
|
||||
"group": {
|
||||
"are-you-sure-you-want-to-delete-the-group": "Are you sure you want to delete <b>{groupName}<b/>?",
|
||||
"cannot-delete-default-group": "Cannot delete default group",
|
||||
"cannot-delete-group-with-users": "Cannot delete group with users",
|
||||
"confirm-group-deletion": "Confirm Group Deletion",
|
||||
"create-group": "Create Group",
|
||||
"error-updating-group": "Error updating group",
|
||||
"group": "Group",
|
||||
"group-deleted": "Group deleted",
|
||||
"group-deletion-failed": "Group deletion failed",
|
||||
"group-id-with-value": "Group ID: {groupID}",
|
||||
"group-name": "Group Name",
|
||||
"group-not-found": "Group not found",
|
||||
"groups": "Groups",
|
||||
"groups-can-only-be-set-by-administrators": "Groups can only be set by administrators",
|
||||
"manage-groups": "Manage Groups",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
"user-group-creation-failed": "User Group Creation Failed"
|
||||
"are-you-sure-you-want-to-delete-the-group": "Biztosan törölni szeretnéd ezt: <b>{groupName}<b/>?",
|
||||
"cannot-delete-default-group": "Az alapértelmezett csoportot nem lehet törölni",
|
||||
"cannot-delete-group-with-users": "Csoport felhasználókkal nem törölhető",
|
||||
"confirm-group-deletion": "Csoport törlés megerősítése",
|
||||
"create-group": "Csoport létrehozása",
|
||||
"error-updating-group": "Hiba a csoport módosításakor",
|
||||
"group": "Csoport",
|
||||
"group-deleted": "Csoport törölve",
|
||||
"group-deletion-failed": "Csoport törlése sikertelen volt",
|
||||
"group-id-with-value": "Csoport azonosító: {groupID}",
|
||||
"group-name": "Csoport neve",
|
||||
"group-not-found": "A csoport nem található",
|
||||
"group-with-value": "Csoport: {groupID}",
|
||||
"groups": "Csoportok",
|
||||
"manage-groups": "Csoportok kezelése",
|
||||
"user-group": "Felhasználói csoportok",
|
||||
"user-group-created": "Felhasználói csoport létrehozva",
|
||||
"user-group-creation-failed": "Csoport létrehozása sikertelen"
|
||||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Create a New Meal Plan",
|
||||
"dinner-this-week": "Dinner This Week",
|
||||
"dinner-today": "Dinner Today",
|
||||
"dinner-tonight": "DINNER TONIGHT",
|
||||
"edit-meal-plan": "Edit Meal Plan",
|
||||
"end-date": "End Date",
|
||||
"group": "Group (Beta)",
|
||||
"main": "Main",
|
||||
"meal-planner": "Meal Planner",
|
||||
"meal-plans": "Meal Plans",
|
||||
"mealplan-categories": "MEALPLAN CATEGORIES",
|
||||
"mealplan-created": "Mealplan created",
|
||||
"mealplan-creation-failed": "Mealplan creation failed",
|
||||
"mealplan-deleted": "Mealplan Deleted",
|
||||
"mealplan-deletion-failed": "Mealplan deletion failed",
|
||||
"mealplan-settings": "Mealplan Settings",
|
||||
"mealplan-update-failed": "Mealplan update failed",
|
||||
"mealplan-updated": "Mealplan Updated",
|
||||
"no-meal-plan-defined-yet": "No meal plan defined yet",
|
||||
"no-meal-planned-for-today": "No meal planned for today",
|
||||
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Only recipes with these categories will be used in Meal Plans",
|
||||
"planner": "Planner",
|
||||
"quick-week": "Quick Week",
|
||||
"side": "Side",
|
||||
"sides": "Sides",
|
||||
"start-date": "Start Date"
|
||||
"create-a-new-meal-plan": "Étkezési terv létrehozása",
|
||||
"dinner-this-week": "Vacsora ezen a héten",
|
||||
"dinner-today": "Vacsora ma",
|
||||
"dinner-tonight": "Vacsora ma",
|
||||
"edit-meal-plan": "Étkezési terv szerkesztése",
|
||||
"end-date": "Befejezés dátuma",
|
||||
"group": "Csoportosítás (Béta)",
|
||||
"main": "Főétel",
|
||||
"meal-planner": "Éktezési tervező",
|
||||
"meal-plans": "Éktezési tervek",
|
||||
"mealplan-categories": "ÉKTEZÉSI TERV KATEGÓRIÁK",
|
||||
"mealplan-created": "Éktezési terv létrehozva",
|
||||
"mealplan-creation-failed": "Éktezési terv létrehozása sikertelen",
|
||||
"mealplan-deleted": "Éktezési terv törölve",
|
||||
"mealplan-deletion-failed": "Éktezési terv törlése sikertelen",
|
||||
"mealplan-settings": "Étkezési terv beállítások",
|
||||
"mealplan-update-failed": "Éktezési terv módosítása sikertelen",
|
||||
"mealplan-updated": "Éktezési terv módosítva",
|
||||
"no-meal-plan-defined-yet": "Nincs még étkezési terv létrehozva",
|
||||
"no-meal-planned-for-today": "Nincs mára étkezési terv",
|
||||
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Az étkezési tervben csak a következő kategóriához tartozó receptek lesznek használva",
|
||||
"planner": "Tervező",
|
||||
"quick-week": "Gyors hét",
|
||||
"side": "Köret",
|
||||
"sides": "Köretek",
|
||||
"start-date": "Kezdő dátum"
|
||||
},
|
||||
"migration": {
|
||||
"chowdown": {
|
||||
"description": "Migrate data from Chowdown",
|
||||
"description": "Adat migrálása Chowdown-ból",
|
||||
"title": "Chowdown"
|
||||
},
|
||||
"migration-data-removed": "Migration data removed",
|
||||
"migration-data-removed": "Migrációs adatok eltávolítva",
|
||||
"nextcloud": {
|
||||
"description": "Migrate data from a Nextcloud Cookbook instance",
|
||||
"description": "Adat migrálása Nextcloud Cookbook példányból",
|
||||
"title": "Nextcloud Cookbook"
|
||||
},
|
||||
"no-migration-data-available": "No Migration Data Available",
|
||||
"recipe-migration": "Recipe Migration"
|
||||
"no-migration-data-available": "Nincs elérhető migrációs adat",
|
||||
"recipe-migration": "Recept migrálás"
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Bulk Add",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"from-url": "Import a Recipe",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list",
|
||||
"recipe-url": "Recipe URL",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website"
|
||||
"bulk-add": "Tömeges hozzáadás",
|
||||
"error-details": "Csak ld+json vagy microdata-t tartalmazó oldalakat tudunk importálni. Nagyobb weboldalak támogatják ezen adatstruktúrákat. Ha az importálás sikertelen, de van json adat a naplókban, jelentsd a hibát a github issue-kban az URL-el és az naplózott adattal.",
|
||||
"error-title": "Úgy tűnik nem találtunk semmit",
|
||||
"from-url": "Recept importálása",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "ld+json információ keresése",
|
||||
"must-be-a-valid-url": "Érvényes URL-nek kell lennie",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Másold be a receptedet. Minden sor egy új elemként lesz kezelve a listában",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "Recept URL",
|
||||
"upload-a-recipe": "Recept feltöltése",
|
||||
"upload-individual-zip-file": "Tölts fel egy .zíp archívumot, ami egy másik Mealie példányból lett exportálva.",
|
||||
"url-form-hint": "Másold be a linket a kedvenc recept weboldaladról",
|
||||
"view-scraped-data": "Letöltött adat megtekintése"
|
||||
},
|
||||
"page": {
|
||||
"all-recipes": "All Recipes",
|
||||
"home-page": "Home Page",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
"page-deleted": "Page deleted",
|
||||
"page-deletion-failed": "Page deletion failed",
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"recent": "Recent"
|
||||
"404-page-not-found": "404. Az oldal nem található",
|
||||
"all-recipes": "Minden recept",
|
||||
"new-page-created": "Új oldal létrehozva",
|
||||
"page": "Oldal",
|
||||
"page-creation-failed": "Az oldal létrehozása sikertelen",
|
||||
"page-deleted": "Oldal törölve",
|
||||
"page-deletion-failed": "Oldal törlése sikertelen",
|
||||
"page-update-failed": "Oldal módosítása sikertelen",
|
||||
"page-updated": "Az oldal módosítva",
|
||||
"pages-update-failed": "Oldal módosítása sikertelen",
|
||||
"pages-updated": "Az oldalak módosítva"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Assets",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
"categories": "Categories",
|
||||
"comment-action": "Comment",
|
||||
"comments": "Comments",
|
||||
"delete-confirmation": "Are you sure you want to delete this recipe?",
|
||||
"delete-recipe": "Delete Recipe",
|
||||
"description": "Description",
|
||||
"disable-amount": "Disable Ingredient Amounts",
|
||||
"disable-comments": "Disable Comments",
|
||||
"fat-content": "Fat",
|
||||
"fiber-content": "Fiber",
|
||||
"grams": "grams",
|
||||
"ingredient": "Ingredient",
|
||||
"ingredients": "Ingredients",
|
||||
"insert-section": "Insert Section",
|
||||
"instructions": "Instructions",
|
||||
"key-name-required": "Key Name Required",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-asset": "New Asset",
|
||||
"new-key-name": "New Key Name",
|
||||
"no-white-space-allowed": "No White Space Allowed",
|
||||
"note": "Note",
|
||||
"notes": "Notes",
|
||||
"nutrition": "Nutrition",
|
||||
"object-key": "Object Key",
|
||||
"object-value": "Object Value",
|
||||
"original-url": "Original URL",
|
||||
"perform-time": "Cook Time",
|
||||
"prep-time": "Prep Time",
|
||||
"protein-content": "Protein",
|
||||
"public-recipe": "Public Recipe",
|
||||
"recipe-created": "Recipe created",
|
||||
"recipe-creation-failed": "Recipe creation failed",
|
||||
"recipe-deleted": "Recipe deleted",
|
||||
"recipe-image": "Recipe Image",
|
||||
"recipe-image-updated": "Recipe image updated",
|
||||
"recipe-name": "Recipe Name",
|
||||
"recipe-settings": "Recipe Settings",
|
||||
"recipe-update-failed": "Recipe update failed",
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Servings",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Show Assets",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Step: {step}",
|
||||
"sugar-content": "Sugar",
|
||||
"title": "Title",
|
||||
"total-time": "Total Time",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe",
|
||||
"view-recipe": "View Recipe"
|
||||
"add-key": "Kulcs hozzáadása",
|
||||
"add-to-favorites": "Hozzáadás a kedvencekhez",
|
||||
"api-extras": "API Extrák",
|
||||
"calories": "Kalória",
|
||||
"calories-suffix": "kalória",
|
||||
"carbohydrate-content": "Szénhidrát",
|
||||
"categories": "Kategóriák",
|
||||
"comment-action": "Megjegyzés",
|
||||
"comments": "Megjegyzések",
|
||||
"delete-confirmation": "Biztosan törli ezt a receptet?",
|
||||
"delete-recipe": "Recept eltávolítása",
|
||||
"description": "Leírás",
|
||||
"disable-amount": "Hozzávalók mennyiségének letiltása",
|
||||
"disable-comments": "Megjegyzések letiltása",
|
||||
"fat-content": "Zsír",
|
||||
"fiber-content": "Rostok",
|
||||
"grams": "gramm",
|
||||
"ingredient": "Hozzávaló",
|
||||
"ingredients": "Hozzávalók",
|
||||
"insert-section": "Szakasz beszúrása",
|
||||
"instructions": "Instrukciók",
|
||||
"key-name-required": "Kulcs név szükséges",
|
||||
"landscape-view-coming-soon": "Horinztális nézet (hamarosan...)",
|
||||
"milligrams": "miligramm",
|
||||
"new-key-name": "Új kulcs neve",
|
||||
"no-white-space-allowed": "Szóközt nem tartalmazhat",
|
||||
"note": "Megjegyzés",
|
||||
"nutrition": "Tápanyag",
|
||||
"object-key": "Objektum kulcs",
|
||||
"object-value": "Objektum érték",
|
||||
"original-url": "Eredeti URL",
|
||||
"perform-time": "Főzési idő",
|
||||
"prep-time": "Előkészítési idő",
|
||||
"protein-content": "Fehérje",
|
||||
"public-recipe": "Nyilvános recept",
|
||||
"recipe-created": "Recept létrehozva",
|
||||
"recipe-creation-failed": "Recept létrehozása sikertelen",
|
||||
"recipe-deleted": "Recept törölve",
|
||||
"recipe-image": "Recept kép",
|
||||
"recipe-image-updated": "Recept kép frissítve",
|
||||
"recipe-name": "Recept neve",
|
||||
"recipe-settings": "Recept beállítások",
|
||||
"recipe-update-failed": "Recept módosítása sikertelen",
|
||||
"recipe-updated": "Recept módosítva",
|
||||
"remove-from-favorites": "Eltávolítás kedvencekből",
|
||||
"remove-section": "Szakasz eltávolítása",
|
||||
"save-recipe-before-use": "Recept elmentése használat előtt",
|
||||
"section-title": "Szekció címe",
|
||||
"servings": "Adagok",
|
||||
"share-recipe-message": "Szeretném megossztani veled a {0} receptemet.",
|
||||
"show-nutrition-values": "Tápértékek megjelenítése",
|
||||
"sodium-content": "Nátrium",
|
||||
"step-index": "{step}. lépés",
|
||||
"sugar-content": "Cukor",
|
||||
"title": "Cím",
|
||||
"total-time": "Teljes idő",
|
||||
"unable-to-delete-recipe": "Nem lehet törölni a receptet"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
"no-recipe": "Nincs recept"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Advanced Search",
|
||||
"and": "and",
|
||||
"exclude": "Exclude",
|
||||
"include": "Include",
|
||||
"max-results": "Max Results",
|
||||
"or": "Or",
|
||||
"results": "Results",
|
||||
"search": "Search",
|
||||
"search-mealie": "Search Mealie (press /)",
|
||||
"search-placeholder": "Search...",
|
||||
"tag-filter": "Tag Filter"
|
||||
"advanced-search": "Részletes keresés",
|
||||
"and": "és",
|
||||
"exclude": "Mellőz",
|
||||
"include": "Tartalmaz",
|
||||
"max-results": "Max. találatok",
|
||||
"or": "Vagy",
|
||||
"results": "Találatok",
|
||||
"search": "Keresés",
|
||||
"search-mealie": "Keresés a Mealie-ben (/ gombbal)",
|
||||
"search-placeholder": "Keresés...",
|
||||
"tag-filter": "Címke szűrő"
|
||||
},
|
||||
"settings": {
|
||||
"add-a-new-theme": "Add a New Theme",
|
||||
"admin-settings": "Admin Settings",
|
||||
"available-backups": "Available Backups",
|
||||
"add-a-new-theme": "Új téma hozzáadása",
|
||||
"admin-settings": "Admin beállítások",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-tag": "Backup Tag",
|
||||
"create-heading": "Create a Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Full Backup",
|
||||
"import-summary": "Import Summary",
|
||||
"partial-backup": "Partial Backup",
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
"backup-created-at-response-export_path": "Mentés a következő helyre: {path}",
|
||||
"backup-deleted": "Biztonsági mentés törölve",
|
||||
"backup-tag": "Biztonsági mentés leírás",
|
||||
"create-heading": "Biztonsági mentés létrehozása",
|
||||
"delete-backup": "Biztonsági mentés törlése",
|
||||
"error-creating-backup-see-log-file": "Hiba a biztonsági mentés létrehozásakor. Lásd a napló fájlt",
|
||||
"full-backup": "Teljes biztonsági mentés",
|
||||
"import-summary": "Import összefoglaló",
|
||||
"partial-backup": "Részleges biztonsági mentés",
|
||||
"unable-to-delete-backup": "Nem lehetett létrehozni a biztonsági mentést."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.",
|
||||
"change-password": "Change Password",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Custom Pages",
|
||||
"edit-page": "Edit Page",
|
||||
"events": "Events",
|
||||
"first-day-of-week": "First day of the week",
|
||||
"group-settings-updated": "Group Settings Updated",
|
||||
"backup-and-exports": "Biztonsági mentések",
|
||||
"change-password": "Jelszó megváltoztatása",
|
||||
"current": "Verzió:",
|
||||
"custom-pages": "Egyedi oldalak",
|
||||
"edit-page": "Oldal szerkesztése",
|
||||
"events": "Események",
|
||||
"first-day-of-week": "A hét első napja",
|
||||
"group-settings-updated": "Csoport beállítások módosítva",
|
||||
"homepage": {
|
||||
"all-categories": "All Categories",
|
||||
"card-per-section": "Card Per Section",
|
||||
"home-page": "Home Page",
|
||||
"home-page-sections": "Home Page Sections",
|
||||
"show-recent": "Show Recent"
|
||||
"all-categories": "Minden kategória",
|
||||
"card-per-section": "Kártya szekciónként",
|
||||
"home-page": "Főoldal",
|
||||
"home-page-sections": "Kezdőoldal elemei",
|
||||
"show-recent": "Legújabbak"
|
||||
},
|
||||
"language": "Language",
|
||||
"latest": "Latest",
|
||||
"local-api": "Local API",
|
||||
"locale-settings": "Locale settings",
|
||||
"migrations": "Migrations",
|
||||
"new-page": "New Page",
|
||||
"notify": "Notify",
|
||||
"organize": "Organize",
|
||||
"page-name": "Page Name",
|
||||
"pages": "Pages",
|
||||
"profile": "Profile",
|
||||
"remove-existing-entries-matching-imported-entries": "Remove existing entries matching imported entries",
|
||||
"set-new-time": "Set New Time",
|
||||
"settings-update-failed": "Settings update failed",
|
||||
"settings-updated": "Settings updated",
|
||||
"site-settings": "Site Settings",
|
||||
"language": "Nyelv",
|
||||
"latest": "Legújabb",
|
||||
"local-api": "Helyi API",
|
||||
"locale-settings": "Területi beállítások",
|
||||
"migrations": "Migráció",
|
||||
"new-page": "Új oldal",
|
||||
"notify": "Értesítés",
|
||||
"organize": "Karbantartás",
|
||||
"page-name": "Oldal neve",
|
||||
"pages": "Oldalak",
|
||||
"profile": "Adatlap",
|
||||
"remove-existing-entries-matching-imported-entries": "Létező bejegyzések eltávolítása, amik egyeznek az importált bejegyzésekkel",
|
||||
"set-new-time": "Új idő beállítása",
|
||||
"settings-update-failed": "Beállítások módosítása sikertelen",
|
||||
"settings-updated": "Beállítások módosítva",
|
||||
"site-settings": "Webhely beállítások",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.",
|
||||
"dark": "Dark",
|
||||
"dark-mode": "Dark Mode",
|
||||
"default-to-system": "Default to system",
|
||||
"delete-theme": "Delete Theme",
|
||||
"error": "Error",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
"error-updating-theme": "Error updating theme",
|
||||
"info": "Info",
|
||||
"light": "Light",
|
||||
"primary": "Primary",
|
||||
"secondary": "Secondary",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.",
|
||||
"success": "Success",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Theme",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"theme-name": "Theme Name",
|
||||
"theme-name-is-required": "Theme Name is required.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-settings": "Theme Settings",
|
||||
"theme-updated": "Theme updated",
|
||||
"warning": "Warning"
|
||||
"accent": "Kiemelőszín",
|
||||
"dark": "Sötét",
|
||||
"default-to-system": "Alapértelmezett (rendszer)",
|
||||
"error": "Hiba",
|
||||
"error-creating-theme-see-log-file": "Hiba a téma létrehozásakor. Lásd a napló fájlt.",
|
||||
"error-deleting-theme": "Hiba a téma törlésénél",
|
||||
"error-updating-theme": "Hiba a téma módosításakor",
|
||||
"info": "Infó",
|
||||
"light": "Világos",
|
||||
"primary": "Elsődleges",
|
||||
"secondary": "Másodlagos",
|
||||
"success": "Siker",
|
||||
"switch-to-dark-mode": "Váltás sötét módba",
|
||||
"switch-to-light-mode": "Váltás világos módba",
|
||||
"theme-deleted": "Téma törölve",
|
||||
"theme-name": "Téma neve",
|
||||
"theme-name-is-required": "Téma neve kötelező.",
|
||||
"theme-saved": "Téma elmentve",
|
||||
"theme-updated": "Téma frissítve",
|
||||
"warning": "Figyelem"
|
||||
},
|
||||
"token": {
|
||||
"active-tokens": "ACTIVE TOKENS",
|
||||
"active-tokens": "AKTÍV TOKENEK",
|
||||
"api-token": "API Token",
|
||||
"api-tokens": "API Tokens",
|
||||
"copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Copy this token for use with an external application. This token will not be viewable again.",
|
||||
"create-an-api-token": "Create an API Token",
|
||||
"token-name": "Token Name"
|
||||
"api-tokens": "API tokenek",
|
||||
"copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Másold ezt a tokent hogy a külső alkalmazásban használhasd. Ez a token többet nem jelenik meg.",
|
||||
"create-an-api-token": "API token létrehozása",
|
||||
"token-name": "Token neve"
|
||||
},
|
||||
"toolbox": {
|
||||
"assign-all": "Assign All",
|
||||
"bulk-assign": "Bulk Assign",
|
||||
"new-name": "New Name",
|
||||
"no-unused-items": "No Unused Items",
|
||||
"recipes-affected": "No Recipes Affected|One Recipe Affected|{count} Recipes Affected",
|
||||
"remove-unused": "Remove Unused",
|
||||
"title-case-all": "Title Case All",
|
||||
"toolbox": "Toolbox",
|
||||
"unorganized": "Unorganized"
|
||||
"assign-all": "Mindet hozzárendel",
|
||||
"bulk-assign": "Tömeges hozzárendelés",
|
||||
"new-name": "Új név",
|
||||
"no-unused-items": "Nincsenek nem használt elemek",
|
||||
"recipes-affected": "Nincs érintett recept|Egy recept érintett|{count} recept érintett",
|
||||
"remove-unused": "Nem használtak törlése",
|
||||
"title-case-all": "Minden nagybetűsítése",
|
||||
"toolbox": "Eszközök",
|
||||
"unorganized": "Nem kategorizált"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Meal Planner Webhooks",
|
||||
"test-webhooks": "Test Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at",
|
||||
"test-webhooks": "Webhook tesztelése",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "A lenti URL egy webhook hivást fog kapni, az étkezési tervhez tartozó recept adataival a megadott napon. Jelenleg a Webook az alábbi időpontban hajtódik végre",
|
||||
"webhook-url": "Webhook URL",
|
||||
"webhooks-caps": "WEBHOOKS"
|
||||
"webhooks-caps": "WEBHOOKOK"
|
||||
}
|
||||
},
|
||||
"shopping-list": {
|
||||
"all-lists": "All Lists",
|
||||
"create-shopping-list": "Create Shopping List",
|
||||
"from-recipe": "From Recipe",
|
||||
"list-name": "List Name",
|
||||
"new-list": "New List",
|
||||
"quantity": "Quantity: {0}",
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
"all-lists": "Összes lista",
|
||||
"create-shopping-list": "Bevásárlólista készítése",
|
||||
"from-recipe": "Receptből",
|
||||
"list-name": "Lista Neve",
|
||||
"new-list": "Új lista",
|
||||
"quantity": "Mennyiség: {0}",
|
||||
"shopping-list": "Bevásárlólista",
|
||||
"shopping-lists": "Bevásárlólisták"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "Minden recept",
|
||||
"categories": "Kategóriák",
|
||||
"dashboard": "Vezérlőpult",
|
||||
"home-page": "Főoldal",
|
||||
"manage-users": "Felhasználók",
|
||||
"migrations": "Migráció",
|
||||
"profile": "Profil",
|
||||
"search": "Keresés",
|
||||
"site-settings": "Beállítások",
|
||||
"tags": "Címkék",
|
||||
"toolbox": "Eszközök"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Display Name",
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
"sign-up-link-creation-failed": "Sign up link creation failed",
|
||||
"sign-up-links": "Sign Up Links",
|
||||
"sign-up-token-deleted": "Sign Up Token Deleted",
|
||||
"sign-up-token-deletion-failed": "Sign up token deletion failed",
|
||||
"welcome-to-mealie": "Welcome to Mealie! To become a user of this instance you are required to have a valid invitation link. If you haven't recieved an invitation you are unable to sign-up. To recieve a link, contact the sites administrator."
|
||||
"error-signing-up": "Regisztráció hiba",
|
||||
"sign-up": "Regisztráció",
|
||||
"sign-up-link-created": "Regisztrációs hivatkozás létrehozva",
|
||||
"sign-up-link-creation-failed": "Regisztrációs hivatkozás létrehozása sikertelen",
|
||||
"sign-up-links": "Regisztrációs hivatkozások",
|
||||
"sign-up-token-deleted": "Regisztrációs token törölve",
|
||||
"sign-up-token-deletion-failed": "Regisztrációs token törlése sikertelen",
|
||||
"welcome-to-mealie": "Üdvözlünk a Mealie-ben! Ahhoz hogy ennek a példánynak a tagja legyél, szükséged lesz egy meghívó linkre. Ha nem kaptál meghívást, nem tudsz regisztrálni. Lépj kapcsolatba a weboldal adminisztrátorával ha szeretnél meghívót."
|
||||
},
|
||||
"tag": {
|
||||
"tag-created": "Tag created",
|
||||
"tag-creation-failed": "Tag creation failed",
|
||||
"tag-deleted": "Tag deleted",
|
||||
"tag-deletion-failed": "Tag deletion failed",
|
||||
"tag-update-failed": "Tag update failed",
|
||||
"tag-updated": "Tag updated",
|
||||
"tags": "Tags",
|
||||
"untagged-count": "Untagged {count}"
|
||||
"tag-created": "Címke létrehozva",
|
||||
"tag-creation-failed": "Címkel létrehozása sikertelen",
|
||||
"tag-deleted": "Címke törölve",
|
||||
"tag-deletion-failed": "Címke törlése sikertelen",
|
||||
"tag-update-failed": "Címke módosítása sikertelen",
|
||||
"tag-updated": "Címke módosítva",
|
||||
"tags": "Címkék",
|
||||
"untagged-count": "Címkézetlen {count}"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Admin",
|
||||
"are-you-sure-you-want-to-delete-the-link": "Are you sure you want to delete the link <b>{link}<b/>?",
|
||||
"are-you-sure-you-want-to-delete-the-user": "Are you sure you want to delete the user <b>{activeName} ID: {activeId}<b/>?",
|
||||
"confirm-link-deletion": "Confirm Link Deletion",
|
||||
"confirm-password": "Confirm Password",
|
||||
"confirm-user-deletion": "Confirm User Deletion",
|
||||
"could-not-validate-credentials": "Could Not Validate Credentials",
|
||||
"create-link": "Create Link",
|
||||
"create-user": "Create User",
|
||||
"current-password": "Current Password",
|
||||
"e-mail-must-be-valid": "E-mail must be valid",
|
||||
"edit-user": "Edit User",
|
||||
"email": "Email",
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Full Name",
|
||||
"incorrect-username-or-password": "Incorrect username or password",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
"logout": "Logout",
|
||||
"manage-users": "Manage Users",
|
||||
"new-password": "New Password",
|
||||
"new-user": "New User",
|
||||
"password": "Password",
|
||||
"password-has-been-reset-to-the-default-password": "Password has been reset to the default password",
|
||||
"password-must-match": "Password must match",
|
||||
"password-reset-failed": "Password reset failed",
|
||||
"password-updated": "Password updated",
|
||||
"reset-password": "Reset Password",
|
||||
"sign-in": "Sign in",
|
||||
"total-mealplans": "Total MealPlans",
|
||||
"total-users": "Total Users",
|
||||
"upload-photo": "Upload Photo",
|
||||
"use-8-characters-or-more-for-your-password": "Use 8 characters or more for your password",
|
||||
"user": "User",
|
||||
"user-created": "User created",
|
||||
"user-creation-failed": "User creation failed",
|
||||
"user-deleted": "User deleted",
|
||||
"user-id": "User ID",
|
||||
"user-id-with-value": "User ID: {id}",
|
||||
"user-password": "User Password",
|
||||
"user-successfully-logged-in": "User Successfully Logged In",
|
||||
"user-update-failed": "User update failed",
|
||||
"user-updated": "User updated",
|
||||
"username": "Username",
|
||||
"users": "Users",
|
||||
"users-header": "USERS",
|
||||
"webhook-time": "Webhook Time",
|
||||
"webhooks-enabled": "Webhooks Enabled",
|
||||
"you-are-not-allowed-to-create-a-user": "You are not allowed to create a user",
|
||||
"you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user"
|
||||
"admin": "Adminisztrátor",
|
||||
"are-you-sure-you-want-to-delete-the-link": "Biztos hogy törölni akarod a következő hivatkozást: <b>{link}<b/>?",
|
||||
"are-you-sure-you-want-to-delete-the-user": "Biztos hogy törölni akarod a következő felhasználót: <b>{activeName} ID: {activeId}<b/>?",
|
||||
"confirm-link-deletion": "Link törlésének megerősítése",
|
||||
"confirm-password": "Jelszó megerősítése",
|
||||
"confirm-user-deletion": "Felhasználó törlés megerősítése",
|
||||
"could-not-validate-credentials": "Hitelesítő adatok ellenőrzése sikertelen",
|
||||
"create-link": "Hivatkozás létrehozása",
|
||||
"create-user": "Felhasználó létrehozása",
|
||||
"current-password": "Jelenlegi jelszó",
|
||||
"e-mail-must-be-valid": "E-mail-nek érvényesnek kell lennie",
|
||||
"edit-user": "Felhasználó szerkesztése",
|
||||
"email": "E-mail",
|
||||
"error-cannot-delete-super-user": "Hiba! Adminsztrátor felhasználó nem törölhető",
|
||||
"existing-password-does-not-match": "A jelszavak nem egyeznek",
|
||||
"full-name": "Teljes név",
|
||||
"link-id": "Hivatkozás ID",
|
||||
"link-name": "Hivatkozás neve",
|
||||
"login": "Bejelentkezés",
|
||||
"logout": "Kijelentkezés",
|
||||
"manage-users": "Felhasználók kezelése",
|
||||
"new-password": "Új jelszó",
|
||||
"new-user": "Új felhasználó",
|
||||
"password": "Jelszó",
|
||||
"password-has-been-reset-to-the-default-password": "Jelsző vissza lett állítva az alapértelmezett jelszóra",
|
||||
"password-must-match": "A jelszavaknak egyezniük kell",
|
||||
"password-reset-failed": "Jelszó visszállítása nem sikerült",
|
||||
"password-updated": "Jelszó megváltoztatva",
|
||||
"reset-password": "Jelszó visszaállítása",
|
||||
"sign-in": "Bejelentkezés",
|
||||
"total-mealplans": "Összes étkezési terv",
|
||||
"total-users": "Összes Felhasználó",
|
||||
"upload-photo": "Fotó feltöltése",
|
||||
"use-8-characters-or-more-for-your-password": "Használj 8 vagy több karaktert a jelszóhoz",
|
||||
"user": "Felhasználó",
|
||||
"user-created": "Felhasználó létrehozva",
|
||||
"user-creation-failed": "A felhasználó létrehozása nem sikerült",
|
||||
"user-deleted": "Felhasználó törölve",
|
||||
"user-id": "Felhasználó azonosító",
|
||||
"user-id-with-value": "Felhasználó azonosító: {id}",
|
||||
"user-password": "Felhasználó jelszava",
|
||||
"user-successfully-logged-in": "Sikeres bejelentkezés",
|
||||
"user-update-failed": "Felhasználó módosítása sikertelen",
|
||||
"user-updated": "Felhasználó frissítve",
|
||||
"username": "Felhasználónév",
|
||||
"users": "Felhasználók",
|
||||
"users-header": "FELHASZNÁLÓK",
|
||||
"webhook-time": "Webhook ideje",
|
||||
"webhooks-enabled": "Webhookok engedélyezve",
|
||||
"you-are-not-allowed-to-create-a-user": "Nem hozhatsz létre új felhasználót",
|
||||
"you-are-not-allowed-to-delete-this-user": "Nem törölheted ezt a felhasználót"
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,6 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Pagina Non Trovata",
|
||||
"take-me-home": "Vai alla Home"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about": "Dettagli",
|
||||
"about-mealie": "Info su Mealie",
|
||||
"api-docs": "Documentazione API",
|
||||
"api-port": "Porta API",
|
||||
@@ -15,19 +11,28 @@
|
||||
"demo": "Demo",
|
||||
"demo-status": "Stato Demo",
|
||||
"development": "In Sviluppo",
|
||||
"docs": "Docs",
|
||||
"docs": "Documentazione",
|
||||
"download-log": "Scarica Log",
|
||||
"download-recipe-json": "Ultimo JSON",
|
||||
"github": "Github",
|
||||
"log-lines": "Log Lines",
|
||||
"log-lines": "Log Linee",
|
||||
"not-demo": "Non Demo",
|
||||
"portfolio": "Portfolio",
|
||||
"production": "Produzione",
|
||||
"support": "Support",
|
||||
"support": "Supporto",
|
||||
"version": "Versione"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Risorse",
|
||||
"code": "Codice",
|
||||
"file": "File",
|
||||
"image": "Immagine",
|
||||
"new-asset": "Nuova Risorsa",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Ricetta",
|
||||
"show-assets": "Mostra Risorse"
|
||||
},
|
||||
"category": {
|
||||
"category": "Categoria",
|
||||
"category-created": "Categoria creata",
|
||||
"category-creation-failed": "Creazione categoria fallita",
|
||||
"category-deleted": "Categoria Eliminata",
|
||||
@@ -35,32 +40,31 @@
|
||||
"category-filter": "Filtro Categoria",
|
||||
"category-update-failed": "Aggiornamento categoria fallito",
|
||||
"category-updated": "Categoria aggiornata",
|
||||
"uncategorized-count": "Uncategorized {count}"
|
||||
"uncategorized-count": "Senza categoria {count}"
|
||||
},
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"apprise-url": "URL Apprise",
|
||||
"database": "Database",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"notification": "Notification",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"delete-event": "Elimina Evento",
|
||||
"new-notification-form-description": "Mealie usa la libreria Apprise per generare le notifiche. Offrono molte opzioni per i servizi da usare per le notifiche. Fare riferimento alla loro wiki per una estensiva guida di come creare l'URL per il tuo sevizio. Selezionando il tipo di notifica, se possibile, potrebbe includere delle funzionalità extra.",
|
||||
"new-version": "Nuova versione disponibile!",
|
||||
"notification": "Notifica",
|
||||
"refresh": "Aggiorna",
|
||||
"scheduled": "Pianificato",
|
||||
"something-went-wrong": "Si è verificato un errore!",
|
||||
"subscribed-events": "Eventi Sottoscritti",
|
||||
"test-message-sent": "Messaggio di prova inviato"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Applica",
|
||||
"cancel": "Cancella",
|
||||
"clear": "Clear",
|
||||
"clear": "Resetta",
|
||||
"close": "Chiudi",
|
||||
"confirm": "Conferma",
|
||||
"confirm-delete-generic": "Are you sure you want to delete this?",
|
||||
"copied": "Copied",
|
||||
"confirm-delete-generic": "Sei sicuro di volere eliminare?",
|
||||
"copied": "Copiato",
|
||||
"create": "Crea",
|
||||
"created": "Created",
|
||||
"current-parenthesis": "(Corrente)",
|
||||
"custom": "Custom",
|
||||
"created": "Creato",
|
||||
"custom": "Personalizzato",
|
||||
"dashboard": "Pannello di controllo",
|
||||
"delete": "Elimina",
|
||||
"disabled": "Disabilitato",
|
||||
@@ -70,43 +74,44 @@
|
||||
"exception": "Eccezione",
|
||||
"failed-count": "Fallito: {count}",
|
||||
"failure-uploading-file": "Caricamento file fallito",
|
||||
"favorites": "Favorites",
|
||||
"favorites": "Preferiti",
|
||||
"field-required": "Campo obbligatorio",
|
||||
"file-folder-not-found": "Cartella/File non trovato",
|
||||
"file-uploaded": "File caricato",
|
||||
"filter": "Filtro",
|
||||
"friday": "Venerdì",
|
||||
"general": "General",
|
||||
"general": "Generale",
|
||||
"get": "Ottieni",
|
||||
"home": "Home",
|
||||
"image": "Immagine",
|
||||
"image-upload-failed": "Caricamento immagine fallito",
|
||||
"import": "Importa",
|
||||
"json": "JSON",
|
||||
"keyword": "Parola chiave",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"link-copied": "Link Copiato",
|
||||
"loading-recipes": "Caricamento Ricette",
|
||||
"monday": "Lunedì",
|
||||
"more": "More",
|
||||
"name": "Nome",
|
||||
"new": "New",
|
||||
"new": "Nuovo",
|
||||
"no": "No",
|
||||
"no-recipe-found": "Nessuna Ricetta Trovata",
|
||||
"ok": "OK",
|
||||
"options": "Opzioni:",
|
||||
"print": "Print",
|
||||
"print": "Stampa",
|
||||
"random": "Casuale",
|
||||
"rating": "Rating",
|
||||
"rating": "Valutazione",
|
||||
"recent": "Recente",
|
||||
"recipe": "Recipe",
|
||||
"recipe": "Ricetta",
|
||||
"recipes": "Ricette",
|
||||
"rename-object": "Rinomina {0}",
|
||||
"reset": "Reimposta",
|
||||
"saturday": "Sabato",
|
||||
"save": "Salva",
|
||||
"settings": "Impostazioni",
|
||||
"share": "Share",
|
||||
"shuffle": "Shuffle",
|
||||
"share": "Condividi",
|
||||
"shuffle": "Casuale",
|
||||
"sort": "Ordina",
|
||||
"sort-alphabetically": "Alphabetical",
|
||||
"sort-alphabetically": "Alfabetico",
|
||||
"status": "Stato",
|
||||
"submit": "Invia",
|
||||
"success-count": "Successo: {count}",
|
||||
@@ -117,12 +122,12 @@
|
||||
"thursday": "Giovedì",
|
||||
"token": "Token",
|
||||
"tuesday": "Martedì",
|
||||
"type": "Type",
|
||||
"type": "Tipo",
|
||||
"update": "Aggiorna",
|
||||
"updated": "Updated",
|
||||
"updated": "Aggiornato",
|
||||
"upload": "Carica",
|
||||
"url": "URL",
|
||||
"view": "View",
|
||||
"view": "Visualizza",
|
||||
"wednesday": "Mercoledì",
|
||||
"yes": "Sì"
|
||||
},
|
||||
@@ -139,9 +144,9 @@
|
||||
"group-id-with-value": "ID Gruppo:{groupID}",
|
||||
"group-name": "Nome Gruppo",
|
||||
"group-not-found": "Gruppo non trovato",
|
||||
"group-with-value": "Gruppo: {groupID}",
|
||||
"groups": "Gruppi",
|
||||
"groups-can-only-be-set-by-administrators": "I gruppi possono essere impostati solo dagli amministratori",
|
||||
"manage-groups": "Manage Groups",
|
||||
"manage-groups": "Gestisci Gruppi",
|
||||
"user-group": "Gruppo Utente",
|
||||
"user-group-created": "Gruppo Utente Creato",
|
||||
"user-group-creation-failed": "Creazione Gruppo Utente Fallita"
|
||||
@@ -150,19 +155,19 @@
|
||||
"create-a-new-meal-plan": "Crea un Nuovo Piano Alimentare",
|
||||
"dinner-this-week": "Cena Questa Settimana",
|
||||
"dinner-today": "Cena Oggi",
|
||||
"dinner-tonight": "DINNER TONIGHT",
|
||||
"dinner-tonight": "CENA STASERA",
|
||||
"edit-meal-plan": "Modifica Piano Alimentare",
|
||||
"end-date": "Data Fine",
|
||||
"group": "Gruppo (Beta)",
|
||||
"main": "Main",
|
||||
"main": "Portata Principale",
|
||||
"meal-planner": "Piano Alimentare",
|
||||
"meal-plans": "Piani Alimentari",
|
||||
"mealplan-categories": "MEALPLAN CATEGORIES",
|
||||
"mealplan-created": "Piano allimentare creato",
|
||||
"mealplan-categories": "CATEGORIE PIANO ALIMENTARE",
|
||||
"mealplan-created": "Piano alimentare creato",
|
||||
"mealplan-creation-failed": "Creazione piano alimentare fallita",
|
||||
"mealplan-deleted": "Piano Alimentare Eliminato",
|
||||
"mealplan-deletion-failed": "Eliminazione piano alimentare fallita",
|
||||
"mealplan-settings": "Mealplan Settings",
|
||||
"mealplan-settings": "Impostazioni Piano Alimentare",
|
||||
"mealplan-update-failed": "Aggiornamento piano alimentare fallito",
|
||||
"mealplan-updated": "Piano Alimentare Aggiornato",
|
||||
"no-meal-plan-defined-yet": "Ancora nessun piano alimentare definito",
|
||||
@@ -170,8 +175,8 @@
|
||||
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Solo ricette con queste categorie possono essere utilizzate un un Piano Alimentare",
|
||||
"planner": "Pianificatore",
|
||||
"quick-week": "Settimana Veloce",
|
||||
"side": "Side",
|
||||
"sides": "Sides",
|
||||
"side": "Contorno",
|
||||
"sides": "Contorni",
|
||||
"start-date": "Data Inizio"
|
||||
},
|
||||
"migration": {
|
||||
@@ -181,66 +186,69 @@
|
||||
},
|
||||
"migration-data-removed": "Dati di migrazione rimossi",
|
||||
"nextcloud": {
|
||||
"description": "Migrate data from a Nextcloud Cookbook instance",
|
||||
"description": "Migra i dati da Nextcloud Cookbook",
|
||||
"title": "Nextcloud Cookbook"
|
||||
},
|
||||
"no-migration-data-available": "No Migration Data Available",
|
||||
"no-migration-data-available": "Dati Migrazione Non Disponibili",
|
||||
"recipe-migration": "Migrazione Ricetta"
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Aggiungi In Massa",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"bulk-add": "Inserimento Multiplo",
|
||||
"error-details": "Solo i siti web contenenti ld+json o microdata possono essere importati da Mealie. Se il tuo sito non può essere importato, ma ci sono dati json nel log, per favore crea una issue su github con l'URL e i dati.",
|
||||
"error-title": "Sembra che non riusciamo a trovare nulla",
|
||||
"from-url": "Importa ricetta",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Incolla nei dati delle tue ricette. Ogni riga sarà trattata come un elemento in una lista",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Deve essere un URL valido",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Inserisci i dati della tua ricetta. Ogni riga sarà trattata come uno step della ricetta.",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "URL Ricetta",
|
||||
"url-form-hint": "Copia e incolla un link dal tuo sito di ricette preferito"
|
||||
"upload-a-recipe": "Carica una Ricetta",
|
||||
"upload-individual-zip-file": "Carica un singolo file .zip esportato da un'altra istanza di Mealie.",
|
||||
"url-form-hint": "Copia e incolla un link dal tuo sito di ricette preferito",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Pagina non Trovata",
|
||||
"all-recipes": "Tutte le ricette",
|
||||
"home-page": "Home Page",
|
||||
"new-page-created": "Nuova pagina creata",
|
||||
"page": "Page",
|
||||
"page": "Pagina",
|
||||
"page-creation-failed": "Creazione pagina fallita",
|
||||
"page-deleted": "Pagina eliminata",
|
||||
"page-deletion-failed": "Eliminazione pagina fallita",
|
||||
"page-update-failed": "Aggiornamento pagina fallito",
|
||||
"page-updated": "Pagina aggiornata",
|
||||
"pages-update-failed": "Aggiornamento pagine fallito",
|
||||
"pages-updated": "Pagine aggiornate",
|
||||
"recent": "Recente"
|
||||
"pages-updated": "Pagine aggiornate"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Aggiungi Chiave",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"add-to-favorites": "Aggiungi ai Preferiti",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Risorse",
|
||||
"calories": "Calorie",
|
||||
"calories-suffix": "calorie",
|
||||
"carbohydrate-content": "Carboidrati",
|
||||
"categories": "Categorie",
|
||||
"comment-action": "Comment",
|
||||
"comments": "Comments",
|
||||
"comment-action": "Commento",
|
||||
"comments": "Commenti",
|
||||
"delete-confirmation": "Sei sicuro di voler eliminare questa ricetta?",
|
||||
"delete-recipe": "Elimina Ricetta",
|
||||
"description": "Descrizione",
|
||||
"disable-amount": "Disable Ingredient Amounts",
|
||||
"disable-comments": "Disable Comments",
|
||||
"disable-amount": "Disabilita Quantità Ingredienti",
|
||||
"disable-comments": "Disattiva Commenti",
|
||||
"fat-content": "Grassi",
|
||||
"fiber-content": "Fibre",
|
||||
"grams": "grammi",
|
||||
"ingredient": "Ingrediente",
|
||||
"ingredients": "Ingredienti",
|
||||
"insert-section": "Insert Section",
|
||||
"insert-section": "Inserisci Sezione",
|
||||
"instructions": "Istruzioni",
|
||||
"key-name-required": "Nome Chiave Richiesto",
|
||||
"landscape-view-coming-soon": "Vista Orizzontale (Prossimamente)",
|
||||
"milligrams": "milligrammi",
|
||||
"new-asset": "Nuova Risorsa",
|
||||
"new-key-name": "Nuovo Nome Chiave",
|
||||
"no-white-space-allowed": "Nessun Spazio Consentito",
|
||||
"note": "Nota",
|
||||
"notes": "Note",
|
||||
"nutrition": "Nutrienti",
|
||||
"object-key": "Chiave Oggetto",
|
||||
"object-value": "Valore Oggetto",
|
||||
@@ -258,32 +266,31 @@
|
||||
"recipe-settings": "Impostazioni Ricetta",
|
||||
"recipe-update-failed": "Aggiornamento ricetta fallito",
|
||||
"recipe-updated": "Ricetta aggiornata",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"section-title": "Section Title",
|
||||
"remove-from-favorites": "Rimuovi dai Preferiti",
|
||||
"remove-section": "Rimuovi Sezione",
|
||||
"save-recipe-before-use": "Salva la ricetta prima dell'uso",
|
||||
"section-title": "Titolo Sezione",
|
||||
"servings": "Portate",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Mostra Risorse",
|
||||
"share-recipe-message": "Volevo condividere la mia {0} ricetta con te.",
|
||||
"show-nutrition-values": "Mostra Valori Nutrizionali",
|
||||
"sodium-content": "Sodio",
|
||||
"step-index": "Passo: {step}",
|
||||
"step-index": "Step: {step}",
|
||||
"sugar-content": "Zuccheri",
|
||||
"title": "Titolo",
|
||||
"total-time": "Tempo Totale",
|
||||
"unable-to-delete-recipe": "Impossibile eliminare ricetta",
|
||||
"view-recipe": "Vedi Ricetta"
|
||||
"unable-to-delete-recipe": "Impossibile eliminare ricetta"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
"no-recipe": "Nessuna Ricetta"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Advanced Search",
|
||||
"advanced-search": "Ricerca Avanzata",
|
||||
"and": "e",
|
||||
"exclude": "Escludi",
|
||||
"include": "Includi",
|
||||
"max-results": "Risultati Massimi",
|
||||
"or": "O",
|
||||
"results": "Results",
|
||||
"results": "Risultati",
|
||||
"search": "Cerca",
|
||||
"search-mealie": "Cerca Mealie (premi /)",
|
||||
"search-placeholder": "Cerca...",
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Aggiungi un Nuovo Tema",
|
||||
"admin-settings": "Impostazioni Amministratore",
|
||||
"available-backups": "Backups Disponibili",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Creato in {path}",
|
||||
"backup-deleted": "Backup eliminato",
|
||||
"backup-tag": "Tag Backup",
|
||||
"create-heading": "Crea un Backup",
|
||||
"delete-backup": "Elimina Backup",
|
||||
"error-creating-backup-see-log-file": "Errore nella creazione del Backup. Vedi il file di log",
|
||||
"full-backup": "Backup Completo",
|
||||
"import-summary": "Importa Riepilogo",
|
||||
@@ -305,12 +312,11 @@
|
||||
"unable-to-delete-backup": "Impossibile rimuovere backup."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"backup-info": "I backup sono esportati in formato standard JSON insieme a tutte le immagine salvate nei file di sistema. Nella tua cartella di backup troverai un file .zip contenente tutto le ricette JSON e immagini del database. In aggiunta, se hai selezionato un file markdown, anche questo verrà salvato nel file .zip. Per importare il backup, deve essere salvato nella cartella di backup. Backup automatici vengono eseguiti ogni giorno alle 03:00.",
|
||||
"change-password": "Modifica Password",
|
||||
"current": "Versione:",
|
||||
"custom-pages": "Pagine Personalizzate",
|
||||
"edit-page": "Modifica Pagina",
|
||||
"events": "Events",
|
||||
"events": "Eventi",
|
||||
"first-day-of-week": "Primo giorno della settimana",
|
||||
"group-settings-updated": "Impostazioni Gruppo Aggiornate",
|
||||
"homepage": {
|
||||
@@ -326,8 +332,8 @@
|
||||
"locale-settings": "Impostazioni regionali",
|
||||
"migrations": "Migrazioni",
|
||||
"new-page": "Nuova Pagina",
|
||||
"notify": "Notify",
|
||||
"organize": "Organize",
|
||||
"notify": "Notifica",
|
||||
"organize": "Organizza",
|
||||
"page-name": "Nome Pagina",
|
||||
"pages": "Pagine",
|
||||
"profile": "Profilo",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Impostazioni Sito",
|
||||
"theme": {
|
||||
"accent": "Accento",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Sei sicuro di voler eliminare questo tema?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Scegli l'aspetto die Mealie. Seleziona la di seguire le impostazioni di sistema, oppure segli tema scuro o chiaro.",
|
||||
"dark": "Scuro",
|
||||
"dark-mode": "Modalità Scura",
|
||||
"default-to-system": "Predefinito di sistema",
|
||||
"delete-theme": "Elimina Tema",
|
||||
"error": "Errore",
|
||||
"error-creating-theme-see-log-file": "Errore creazione tema. Guarda i log.",
|
||||
"error-deleting-theme": "Errore eliminazione tema",
|
||||
@@ -352,40 +354,36 @@
|
||||
"light": "Chiaro",
|
||||
"primary": "Primario",
|
||||
"secondary": "Secondario",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Seleziona un tema dalla tendina oppure creane uno nuovo. Nota che il tema predefinito verrà impostato a tutti gli utenti che non hanno selezionato un tema.",
|
||||
"success": "Successo",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Tema",
|
||||
"switch-to-dark-mode": "Passa al tema scuro",
|
||||
"switch-to-light-mode": "Passa al tema chiaro",
|
||||
"theme-deleted": "Tema eliminato",
|
||||
"theme-name": "Nome Tema",
|
||||
"theme-name-is-required": "Nome Tema obbligatorio.",
|
||||
"theme-saved": "Tema Salvato",
|
||||
"theme-settings": "Impostazioni Tema",
|
||||
"theme-updated": "Tema aggiornato",
|
||||
"warning": "Avviso"
|
||||
},
|
||||
"token": {
|
||||
"active-tokens": "ACTIVE TOKENS",
|
||||
"api-token": "API Token",
|
||||
"api-tokens": "API Tokens",
|
||||
"copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Copy this token for use with an external application. This token will not be viewable again.",
|
||||
"create-an-api-token": "Create an API Token",
|
||||
"token-name": "Token Name"
|
||||
"active-tokens": "TOKEN ATTIVI",
|
||||
"api-token": "Token API",
|
||||
"api-tokens": "API Token",
|
||||
"copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Copia questo token in modo da utilizzarlo con una applicazione esterna. Questo token non sarà più visibile.",
|
||||
"create-an-api-token": "Crea Token API",
|
||||
"token-name": "Nome Token"
|
||||
},
|
||||
"toolbox": {
|
||||
"assign-all": "Assegna Tutto",
|
||||
"bulk-assign": "Assegna Bulk",
|
||||
"bulk-assign": "Assegnazione Multipla",
|
||||
"new-name": "Nuovo nome",
|
||||
"no-unused-items": "Nessun Elemento Inutilizzato",
|
||||
"recipes-affected": "Nessuna Ricetta Interessata|Una Ricetta Interessata|{count} Ricette Interessate",
|
||||
"remove-unused": "Rimuovi Inutilizzate",
|
||||
"title-case-all": "Maiuscole Ovunque",
|
||||
"toolbox": "Strumenti",
|
||||
"unorganized": "Unorganized"
|
||||
"unorganized": "Non Organizzati"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Webhooks Pianificatore Alimentare",
|
||||
"test-webhooks": "Testa Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "Gli URL elencati sotto riceveranno dei webhooks contenenti i dati delle ricette per il piano alimentare nel giorno programmato. I Webhooks correnti verrano eseguiti alle",
|
||||
"webhook-url": "URL Webhook",
|
||||
@@ -393,17 +391,29 @@
|
||||
}
|
||||
},
|
||||
"shopping-list": {
|
||||
"all-lists": "All Lists",
|
||||
"create-shopping-list": "Create Shopping List",
|
||||
"from-recipe": "From Recipe",
|
||||
"list-name": "List Name",
|
||||
"new-list": "New List",
|
||||
"quantity": "Quantity: {0}",
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
"all-lists": "Tutte le Liste",
|
||||
"create-shopping-list": "Crea Lista della Spesa",
|
||||
"from-recipe": "Dalla Ricetta",
|
||||
"list-name": "Nome Lista",
|
||||
"new-list": "Nuova Lista",
|
||||
"quantity": "Quantità: {0}",
|
||||
"shopping-list": "Lista della Spesa",
|
||||
"shopping-lists": "Liste della Spesa"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "Ricette",
|
||||
"categories": "Categorie",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Gestire Utenti",
|
||||
"migrations": "Migrazioni",
|
||||
"profile": "Profilo",
|
||||
"search": "Cerca",
|
||||
"site-settings": "Impostazioni",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Strumenti"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Mostra Nome",
|
||||
"error-signing-up": "Errore Registrazione",
|
||||
"sign-up": "Registrati",
|
||||
"sign-up-link-created": "Link di registrazione creato",
|
||||
@@ -421,7 +431,7 @@
|
||||
"tag-update-failed": "Aggiornamento tag fallito",
|
||||
"tag-updated": "Tag aggiornato",
|
||||
"tags": "Tags",
|
||||
"untagged-count": "Untagged {count}"
|
||||
"untagged-count": "Senza Tag {count}"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Amministratore",
|
||||
@@ -440,12 +450,11 @@
|
||||
"error-cannot-delete-super-user": "Errore! Impossibile Eliminare Super User",
|
||||
"existing-password-does-not-match": "La nuova password non corrisponde",
|
||||
"full-name": "Nome",
|
||||
"incorrect-username-or-password": "Passwor o nome untete sbagliato",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Nome",
|
||||
"login": "Login",
|
||||
"logout": "Logout",
|
||||
"manage-users": "Manage Users",
|
||||
"manage-users": "Gestisci Utenti",
|
||||
"new-password": "Nuova Password",
|
||||
"new-user": "Nuovo Utente",
|
||||
"password": "Password",
|
||||
@@ -459,7 +468,7 @@
|
||||
"total-users": "Totale Utenti",
|
||||
"upload-photo": "Carica Foto",
|
||||
"use-8-characters-or-more-for-your-password": "Usa 8 caratteri o piú per la password",
|
||||
"user": "User",
|
||||
"user": "Utente",
|
||||
"user-created": "Utente creato",
|
||||
"user-creation-failed": "Creazione utente fallita",
|
||||
"user-deleted": "Utente eliminato",
|
||||
@@ -469,9 +478,9 @@
|
||||
"user-successfully-logged-in": "Autenticato Con Successo",
|
||||
"user-update-failed": "Aggiornamento Utenete Fallito",
|
||||
"user-updated": "Utente Aggiornato",
|
||||
"username": "Username",
|
||||
"username": "Nome Utente",
|
||||
"users": "Utenti",
|
||||
"users-header": "USERS",
|
||||
"users-header": "UTENTI",
|
||||
"webhook-time": "Ora Webhook",
|
||||
"webhooks-enabled": "Webhooks Abilitati",
|
||||
"you-are-not-allowed-to-create-a-user": "Non sei autorizzato per la creazione di utenti",
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Page Not Found",
|
||||
"take-me-home": "Take me Home"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "About Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Support",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Assets",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"new-asset": "New Asset",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recipe",
|
||||
"show-assets": "Show Assets"
|
||||
},
|
||||
"category": {
|
||||
"category": "Category",
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category Deleted",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Delete Event",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"new-version": "New version available!",
|
||||
"notification": "Notification",
|
||||
"refresh": "Refresh",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"test-message-sent": "Test Message Sent"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Apply",
|
||||
"cancel": "Cancel",
|
||||
"clear": "Clear",
|
||||
"close": "Close",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Copied",
|
||||
"create": "Create",
|
||||
"created": "Created",
|
||||
"current-parenthesis": "(Current)",
|
||||
"custom": "Custom",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Delete",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Friday",
|
||||
"general": "General",
|
||||
"get": "Get",
|
||||
"home": "Home",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Import",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"loading-recipes": "Loading Recipes",
|
||||
"monday": "Monday",
|
||||
"more": "More",
|
||||
"name": "Name",
|
||||
"new": "New",
|
||||
"no": "No",
|
||||
"no-recipe-found": "No Recipe Found",
|
||||
"ok": "OK",
|
||||
"options": "Options:",
|
||||
"print": "Print",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Group ID: {groupID}",
|
||||
"group-name": "Group Name",
|
||||
"group-not-found": "Group not found",
|
||||
"group-with-value": "Group: {groupID}",
|
||||
"groups": "Groups",
|
||||
"groups-can-only-be-set-by-administrators": "Groups can only be set by administrators",
|
||||
"manage-groups": "Manage Groups",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Bulk Add",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"from-url": "Import a Recipe",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Must be a Valid URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "Recipe URL",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website"
|
||||
"upload-a-recipe": "Upload a Recipe",
|
||||
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Page not found",
|
||||
"all-recipes": "All Recipes",
|
||||
"home-page": "Home Page",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"recent": "Recent"
|
||||
"pages-updated": "Pages updated"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Assets",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Key Name Required",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-asset": "New Asset",
|
||||
"new-key-name": "New Key Name",
|
||||
"no-white-space-allowed": "No White Space Allowed",
|
||||
"note": "Note",
|
||||
"notes": "Notes",
|
||||
"nutrition": "Nutrition",
|
||||
"object-key": "Object Key",
|
||||
"object-value": "Object Value",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"save-recipe-before-use": "Save recipe before use",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Servings",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Show Assets",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Step: {step}",
|
||||
"sugar-content": "Sugar",
|
||||
"title": "Title",
|
||||
"total-time": "Total Time",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe",
|
||||
"view-recipe": "View Recipe"
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Add a New Theme",
|
||||
"admin-settings": "Admin Settings",
|
||||
"available-backups": "Available Backups",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-tag": "Backup Tag",
|
||||
"create-heading": "Create a Backup",
|
||||
"delete-backup": "Delete Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Full Backup",
|
||||
"import-summary": "Import Summary",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.",
|
||||
"change-password": "Change Password",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Custom Pages",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Site Settings",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.",
|
||||
"dark": "Dark",
|
||||
"dark-mode": "Dark Mode",
|
||||
"default-to-system": "Default to system",
|
||||
"delete-theme": "Delete Theme",
|
||||
"error": "Error",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Light",
|
||||
"primary": "Primary",
|
||||
"secondary": "Secondary",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.",
|
||||
"success": "Success",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Theme",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"theme-name": "Theme Name",
|
||||
"theme-name-is-required": "Theme Name is required.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-settings": "Theme Settings",
|
||||
"theme-updated": "Theme updated",
|
||||
"warning": "Warning"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Unorganized"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Meal Planner Webhooks",
|
||||
"test-webhooks": "Test Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at",
|
||||
"webhook-url": "Webhook URL",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Categories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profile",
|
||||
"search": "Search",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Display Name",
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Full Name",
|
||||
"incorrect-username-or-password": "Incorrect username or password",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Page Not Found",
|
||||
"take-me-home": "Take me Home"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "About Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Support",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Assets",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"new-asset": "New Asset",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recipe",
|
||||
"show-assets": "Show Assets"
|
||||
},
|
||||
"category": {
|
||||
"category": "Category",
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category Deleted",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Delete Event",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"new-version": "New version available!",
|
||||
"notification": "Notification",
|
||||
"refresh": "Refresh",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"test-message-sent": "Test Message Sent"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Apply",
|
||||
"cancel": "Cancel",
|
||||
"clear": "Clear",
|
||||
"close": "Close",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Copied",
|
||||
"create": "Create",
|
||||
"created": "Created",
|
||||
"current-parenthesis": "(Current)",
|
||||
"custom": "Custom",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Delete",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Friday",
|
||||
"general": "General",
|
||||
"get": "Get",
|
||||
"home": "Home",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Import",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"loading-recipes": "Loading Recipes",
|
||||
"monday": "Monday",
|
||||
"more": "More",
|
||||
"name": "Name",
|
||||
"new": "New",
|
||||
"no": "No",
|
||||
"no-recipe-found": "No Recipe Found",
|
||||
"ok": "OK",
|
||||
"options": "Options:",
|
||||
"print": "Print",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Group ID: {groupID}",
|
||||
"group-name": "Group Name",
|
||||
"group-not-found": "Group not found",
|
||||
"group-with-value": "Group: {groupID}",
|
||||
"groups": "Groups",
|
||||
"groups-can-only-be-set-by-administrators": "Groups can only be set by administrators",
|
||||
"manage-groups": "Manage Groups",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Bulk Add",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"from-url": "Import a Recipe",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Must be a Valid URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "Recipe URL",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website"
|
||||
"upload-a-recipe": "Upload a Recipe",
|
||||
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Page not found",
|
||||
"all-recipes": "All Recipes",
|
||||
"home-page": "Home Page",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"recent": "Recent"
|
||||
"pages-updated": "Pages updated"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Assets",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Key Name Required",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-asset": "New Asset",
|
||||
"new-key-name": "New Key Name",
|
||||
"no-white-space-allowed": "No White Space Allowed",
|
||||
"note": "Note",
|
||||
"notes": "Notes",
|
||||
"nutrition": "Nutrition",
|
||||
"object-key": "Object Key",
|
||||
"object-value": "Object Value",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"save-recipe-before-use": "Save recipe before use",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Servings",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Show Assets",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Step: {step}",
|
||||
"sugar-content": "Sugar",
|
||||
"title": "Title",
|
||||
"total-time": "Total Time",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe",
|
||||
"view-recipe": "View Recipe"
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Add a New Theme",
|
||||
"admin-settings": "Admin Settings",
|
||||
"available-backups": "Available Backups",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-tag": "Backup Tag",
|
||||
"create-heading": "Create a Backup",
|
||||
"delete-backup": "Delete Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Full Backup",
|
||||
"import-summary": "Import Summary",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.",
|
||||
"change-password": "Change Password",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Custom Pages",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Site Settings",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.",
|
||||
"dark": "Dark",
|
||||
"dark-mode": "Dark Mode",
|
||||
"default-to-system": "Default to system",
|
||||
"delete-theme": "Delete Theme",
|
||||
"error": "Error",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Light",
|
||||
"primary": "Primary",
|
||||
"secondary": "Secondary",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.",
|
||||
"success": "Success",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Theme",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"theme-name": "Theme Name",
|
||||
"theme-name-is-required": "Theme Name is required.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-settings": "Theme Settings",
|
||||
"theme-updated": "Theme updated",
|
||||
"warning": "Warning"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Unorganized"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Meal Planner Webhooks",
|
||||
"test-webhooks": "Test Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at",
|
||||
"webhook-url": "Webhook URL",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Categories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profile",
|
||||
"search": "Search",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Display Name",
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Full Name",
|
||||
"incorrect-username-or-password": "Incorrect username or password",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404: Pagina niet gevonden",
|
||||
"take-me-home": "Breng me terug naar de Startpagina"
|
||||
},
|
||||
"about": {
|
||||
"about": "Over",
|
||||
"about-mealie": "Over Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Ondersteuning",
|
||||
"version": "Versie"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Bijlagen",
|
||||
"code": "Code",
|
||||
"file": "Bestand",
|
||||
"image": "Afbeelding",
|
||||
"new-asset": "Nieuwe Bijlage",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recept",
|
||||
"show-assets": "Toon Bijlagen"
|
||||
},
|
||||
"category": {
|
||||
"category": "Categorie",
|
||||
"category-created": "Categorie aangemaakt",
|
||||
"category-creation-failed": "Categorie aanmaken mislukt",
|
||||
"category-deleted": "Categorie Verwijderd",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Evenement Verwijderen",
|
||||
"new-notification-form-description": "Mealie gebruikt de Apprise library om meldingen te genereren. Ze bieden vele opties voor diensten om te gebruiken voor meldingen. Raadpleeg hun wiki voor een uitgebreide handleiding over hoe je een URL voor je service kunt maken. Indien beschikbaar, kan het selecteren van het type van jouw melding extra opties bevatten.",
|
||||
"new-version": "Nieuwe versie beschikbaar!",
|
||||
"notification": "Notificatie",
|
||||
"refresh": "Vernieuwen",
|
||||
"scheduled": "Gepland",
|
||||
"something-went-wrong": "Er is iets fout gegaan!",
|
||||
"subscribed-events": "Geabonneerde Events",
|
||||
"test-message-sent": "Testbericht verzonden",
|
||||
"refresh": "Vernieuwen",
|
||||
"new-version": "Nieuwe versie beschikbaar!"
|
||||
"test-message-sent": "Testbericht verzonden"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Toepassen",
|
||||
"cancel": "Annuleren",
|
||||
"clear": "Wissen",
|
||||
"close": "Sluiten",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Gekopieerd",
|
||||
"create": "Aanmaken",
|
||||
"created": "Aangemaakt op",
|
||||
"current-parenthesis": "(Huidig)",
|
||||
"custom": "Eigen",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Verwijderen",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Vrijdag",
|
||||
"general": "Algemeen",
|
||||
"get": "Haal op",
|
||||
"home": "Home",
|
||||
"image": "Afbeelding",
|
||||
"image-upload-failed": "Afbeelding uploaden mislukt",
|
||||
"import": "Importeren",
|
||||
"json": "JSON",
|
||||
"keyword": "Trefwoord",
|
||||
"link": "Koppeling",
|
||||
"link-copied": "Link Gekopieerd",
|
||||
"loading-recipes": "Recepten Ophalen",
|
||||
"monday": "Maandag",
|
||||
"more": "Meer",
|
||||
"name": "Naam",
|
||||
"new": "Nieuw",
|
||||
"no": "Nee",
|
||||
"no-recipe-found": "Geen Recept Gevonden",
|
||||
"ok": "Ok",
|
||||
"options": "Opties:",
|
||||
"print": "Afdrukken",
|
||||
@@ -122,7 +127,7 @@
|
||||
"updated": "Bijgewerkt",
|
||||
"upload": "Uploaden",
|
||||
"url": "URL",
|
||||
"view": "Bekijken",
|
||||
"view": "Weergave",
|
||||
"wednesday": "Woensdag",
|
||||
"yes": "Ja"
|
||||
},
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Groep ID: {groupID}",
|
||||
"group-name": "Naam van groep",
|
||||
"group-not-found": "Groep niet gevonden",
|
||||
"group-with-value": "Groep: {groupID}",
|
||||
"groups": "Groepen",
|
||||
"groups-can-only-be-set-by-administrators": "Groepen kunnen alleen worden ingesteld door beheerders",
|
||||
"manage-groups": "Groepen beheren",
|
||||
"user-group": "Gebruikersgroep",
|
||||
"user-group-created": "Gebruikersgroep aangemaakt",
|
||||
@@ -153,8 +158,8 @@
|
||||
"dinner-tonight": "MAALTIJD VOOR DEZE AVOND",
|
||||
"edit-meal-plan": "Maaltijdplan bewerken",
|
||||
"end-date": "Einddatum",
|
||||
"group": "Groeperen (Beta)",
|
||||
"main": "Hoofd",
|
||||
"group": "Groep (Beta)",
|
||||
"main": "Hoofdgerecht",
|
||||
"meal-planner": "Maaltijd planner",
|
||||
"meal-plans": "Maaltijd plannen",
|
||||
"mealplan-categories": "MAALTIJDPLAN CATEGORIEËN",
|
||||
@@ -170,8 +175,8 @@
|
||||
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Alleen recepten met deze categorieën zullen worden gebruikt in maaltijdplannen",
|
||||
"planner": "Planner",
|
||||
"quick-week": "Snelle Week",
|
||||
"side": "Side",
|
||||
"sides": "Sides",
|
||||
"side": "Bijgerecht",
|
||||
"sides": "Bijgerechten",
|
||||
"start-date": "Begindatum"
|
||||
},
|
||||
"migration": {
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Bulk toevoegen",
|
||||
"error-details": "Alleen websites met ld+json of microdata kunnen worden geïmporteerd door Mealie. De meeste recepten websites ondersteunen deze gegevensstructuur. Als je site niet kan worden geïmporteerd, maar er zijn json gegevens in de log, stuur dan een github issue met de URL en gegevens.",
|
||||
"error-details": "Alleen websites met ld+json of microdata kunnen worden geïmporteerd door Mealie. De meeste grote recepten websites ondersteunen deze gegevensstructuur. Als je site niet kan worden geïmporteerd, maar er zijn json gegevens in de log, maak dan een github issue aan met de URL en gegevens.",
|
||||
"error-title": "Het Lijkt Erop Dat We Niets Konden Vinden",
|
||||
"from-url": "Recept importeren",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Moet een geldige URL zijn",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Plak je receptgegevens. Elke regel wordt behandeld als een item in een lijst",
|
||||
"recipe-markup-specification": "Recept Opmaak Specificatie",
|
||||
"recipe-url": "Recept URL",
|
||||
"url-form-hint": "Kopieer en plak een link vanuit jouw favoriete receptwebsite"
|
||||
"upload-a-recipe": "Upload een Recept",
|
||||
"upload-individual-zip-file": "Upload een individueel .zip-bestand geëxporteerd vanuit een andere Mealie-instantie.",
|
||||
"url-form-hint": "Kopieer en plak een link vanuit jouw favoriete receptwebsite",
|
||||
"view-scraped-data": "Bekijk Opgehaalde Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Pagina niet gevonden",
|
||||
"all-recipes": "Alle recepten",
|
||||
"home-page": "Startpagina",
|
||||
"new-page-created": "Nieuwe pagina aangemaakt",
|
||||
"page": "Pagina",
|
||||
"page-creation-failed": "Aanmaken pagina mislukt",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Pagina bijwerken mislukt",
|
||||
"page-updated": "Pagina bijgewerkt",
|
||||
"pages-update-failed": "Pagina bijwerken mislukt",
|
||||
"pages-updated": "Pagina's bijgewerkt",
|
||||
"recent": "Recent(e)"
|
||||
"pages-updated": "Pagina's bijgewerkt"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Sleutel toevoegen",
|
||||
"add-to-favorites": "Toevoegen aan Favorieten",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Onderdelen",
|
||||
"calories": "Calorieën",
|
||||
"calories-suffix": "calorieën",
|
||||
"carbohydrate-content": "Koolhydraten",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Sleutelnaam vereist",
|
||||
"landscape-view-coming-soon": "Landschapsweergave (binnenkort beschikbaar)",
|
||||
"milligrams": "milligram",
|
||||
"new-asset": "Nieuw onderdeel",
|
||||
"new-key-name": "Nieuwe sleutelnaam",
|
||||
"no-white-space-allowed": "Geen Witruimte Toegestaan",
|
||||
"note": "Opmerking",
|
||||
"notes": "Notities",
|
||||
"nutrition": "Voedingswaarde",
|
||||
"object-key": "Object Sleutel",
|
||||
"object-value": "Object waarde",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Recept bijgewerkt",
|
||||
"remove-from-favorites": "Verwijder uit Favorieten",
|
||||
"remove-section": "Sectie Verwijderen",
|
||||
"save-recipe-before-use": "Recept opslaan voor gebruik",
|
||||
"section-title": "Sectietitel",
|
||||
"servings": "Porties",
|
||||
"share-recipe-message": "Ik wou mijn {0} recept met je delen.",
|
||||
"show-assets": "Toon Bijlagen",
|
||||
"show-nutrition-values": "Toon voedingswaarden",
|
||||
"sodium-content": "Zout",
|
||||
"step-index": "Stap: {step}",
|
||||
"sugar-content": "Suiker",
|
||||
"title": "Titel",
|
||||
"total-time": "Totale Tijd",
|
||||
"unable-to-delete-recipe": "Kan recept niet verwijderen",
|
||||
"view-recipe": "Bekijk Recept"
|
||||
"unable-to-delete-recipe": "Kan recept niet verwijderen"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "Geen Recept"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Voeg een nieuw thema toe",
|
||||
"admin-settings": "Admin Instellingen",
|
||||
"available-backups": "Beschikbare back-ups",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Back-up gemaakt op {path}",
|
||||
"backup-deleted": "Back-up verwijderd",
|
||||
"backup-tag": "Back-up label",
|
||||
"create-heading": "Back-up maken",
|
||||
"delete-backup": "Back-up Verwijderen",
|
||||
"error-creating-backup-see-log-file": "Fout bij aanmaken van back-up. Zie logbestand",
|
||||
"full-backup": "Volledige Back-up",
|
||||
"import-summary": "Samenvatting importeren",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Back-up verwijderen niet mogelijk."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"backup-info": "Back-ups worden geëxporteerd in standaard JSON-formaat, samen met alle afbeeldingen opgeslagen op het bestandssysteem. In de back-upmap vind je een .zip-bestand dat alle recepten JSON en afbeeldingen uit de database bevat. Bovendien, als je een markdown bestand hebt geselecteerd, worden deze ook opgeslagen in het .zip-bestand. Om een back-up te importeren, moet deze in de map van de back-ups staan. Elke dag om 3:00 AM worden er back-ups geautomatiseerd.",
|
||||
"change-password": "Wachtwoord wijzigen",
|
||||
"current": "Versie:",
|
||||
"custom-pages": "Persoonlijke pagina's",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Site-instellingen",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Weet je zeker dat je dit thema wil verwijderen?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Kies hoe Mealie er voor je uitziet. Stel je thema voorkeur in om jouw systeeminstellingen te volgen, of kies voor het licht of donker thema.",
|
||||
"dark": "Donker",
|
||||
"dark-mode": "Donkere Modus",
|
||||
"default-to-system": "Standaard systeem",
|
||||
"delete-theme": "Thema verwijderen",
|
||||
"error": "Fout",
|
||||
"error-creating-theme-see-log-file": "Fout bij aanmaken thema. Zie logboekbestand.",
|
||||
"error-deleting-theme": "Fout bij verwijderen thema",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Licht",
|
||||
"primary": "Primair",
|
||||
"secondary": "Secundair",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Selecteer een thema uit de keuzelijst of maak een nieuw thema. Let op dat het standaardthema zal worden geserveerd aan alle gebruikers die geen themavoorkeuren hebben ingesteld.",
|
||||
"success": "Geslaagd",
|
||||
"switch-to-dark-mode": "Verander naar donker thema",
|
||||
"switch-to-light-mode": "Verander naar licht thema",
|
||||
"theme": "Thema",
|
||||
"theme-deleted": "Thema verwijderd",
|
||||
"theme-name": "Themanaam",
|
||||
"theme-name-is-required": "Themanaam is vereist.",
|
||||
"theme-saved": "Thema opgeslagen",
|
||||
"theme-settings": "Thema Instellingen",
|
||||
"theme-updated": "Thema bijgewerkt",
|
||||
"warning": "Waarschuwing"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Ongeorganiseerd"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Maaltijdplanner Webhooks",
|
||||
"test-webhooks": "Webhooks testen",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "De onderstaande URL's ontvangen webhooks met receptgegevens voor het maaltijdplan op de geplande dag. Momenteel zullen Webhooks uitvoeren op",
|
||||
"webhook-url": "Webhook URL",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Boodschappenlijst",
|
||||
"shopping-lists": "Boodschappenlijsten"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "Recepten",
|
||||
"categories": "Categorieën",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Pagina",
|
||||
"manage-users": "Gebruikers",
|
||||
"migrations": "Migraties",
|
||||
"profile": "Profiel",
|
||||
"search": "Zoeken",
|
||||
"site-settings": "Instellingen",
|
||||
"tags": "Labels",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Schermnaam",
|
||||
"error-signing-up": "Fout bij registreren",
|
||||
"sign-up": "Registreren",
|
||||
"sign-up-link-created": "Registratielink aangemaakt",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Fout! Kan supergebruiker niet verwijderen",
|
||||
"existing-password-does-not-match": "Bestaande wachtwoord komt niet overeen",
|
||||
"full-name": "Voor- en achternaam",
|
||||
"incorrect-username-or-password": "Onjuiste gebruikersnaam of wachtwoord",
|
||||
"link-id": "Koppeling ID",
|
||||
"link-name": "Koppeling Naam",
|
||||
"login": "Inloggen",
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Page Not Found",
|
||||
"take-me-home": "Take me Home"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "About Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Support",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Assets",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"new-asset": "New Asset",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recipe",
|
||||
"show-assets": "Show Assets"
|
||||
},
|
||||
"category": {
|
||||
"category": "Category",
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category Deleted",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Delete Event",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"new-version": "New version available!",
|
||||
"notification": "Notification",
|
||||
"refresh": "Refresh",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"test-message-sent": "Test Message Sent"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Apply",
|
||||
"cancel": "Cancel",
|
||||
"clear": "Clear",
|
||||
"close": "Close",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Copied",
|
||||
"create": "Create",
|
||||
"created": "Created",
|
||||
"current-parenthesis": "(Current)",
|
||||
"custom": "Custom",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Delete",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Friday",
|
||||
"general": "General",
|
||||
"get": "Get",
|
||||
"home": "Home",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Import",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"loading-recipes": "Loading Recipes",
|
||||
"monday": "Monday",
|
||||
"more": "More",
|
||||
"name": "Name",
|
||||
"new": "New",
|
||||
"no": "No",
|
||||
"no-recipe-found": "No Recipe Found",
|
||||
"ok": "OK",
|
||||
"options": "Options:",
|
||||
"print": "Print",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Group ID: {groupID}",
|
||||
"group-name": "Group Name",
|
||||
"group-not-found": "Group not found",
|
||||
"group-with-value": "Group: {groupID}",
|
||||
"groups": "Groups",
|
||||
"groups-can-only-be-set-by-administrators": "Groups can only be set by administrators",
|
||||
"manage-groups": "Manage Groups",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Bulk Add",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"from-url": "Import a Recipe",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Must be a Valid URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "Recipe URL",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website"
|
||||
"upload-a-recipe": "Upload a Recipe",
|
||||
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Page not found",
|
||||
"all-recipes": "All Recipes",
|
||||
"home-page": "Home Page",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"recent": "Recent"
|
||||
"pages-updated": "Pages updated"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Assets",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Key Name Required",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-asset": "New Asset",
|
||||
"new-key-name": "New Key Name",
|
||||
"no-white-space-allowed": "No White Space Allowed",
|
||||
"note": "Note",
|
||||
"notes": "Notes",
|
||||
"nutrition": "Nutrition",
|
||||
"object-key": "Object Key",
|
||||
"object-value": "Object Value",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"save-recipe-before-use": "Save recipe before use",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Servings",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Show Assets",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Step: {step}",
|
||||
"sugar-content": "Sugar",
|
||||
"title": "Title",
|
||||
"total-time": "Total Time",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe",
|
||||
"view-recipe": "View Recipe"
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Add a New Theme",
|
||||
"admin-settings": "Admin Settings",
|
||||
"available-backups": "Available Backups",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-tag": "Backup Tag",
|
||||
"create-heading": "Create a Backup",
|
||||
"delete-backup": "Delete Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Full Backup",
|
||||
"import-summary": "Import Summary",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.",
|
||||
"change-password": "Change Password",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Custom Pages",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Site Settings",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.",
|
||||
"dark": "Dark",
|
||||
"dark-mode": "Dark Mode",
|
||||
"default-to-system": "Default to system",
|
||||
"delete-theme": "Delete Theme",
|
||||
"error": "Error",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Light",
|
||||
"primary": "Primary",
|
||||
"secondary": "Secondary",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.",
|
||||
"success": "Success",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Theme",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"theme-name": "Theme Name",
|
||||
"theme-name-is-required": "Theme Name is required.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-settings": "Theme Settings",
|
||||
"theme-updated": "Theme updated",
|
||||
"warning": "Warning"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Unorganized"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Meal Planner Webhooks",
|
||||
"test-webhooks": "Test Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at",
|
||||
"webhook-url": "Webhook URL",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Categories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profile",
|
||||
"search": "Search",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Display Name",
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Full Name",
|
||||
"incorrect-username-or-password": "Incorrect username or password",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Strony nie odnaleziono",
|
||||
"take-me-home": "Powrót na stronę główną"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about": "O projekcie",
|
||||
"about-mealie": "O Mealie",
|
||||
"api-docs": "Dokumentacja API",
|
||||
"api-port": "Port API",
|
||||
@@ -17,7 +13,7 @@
|
||||
"development": "Wersja testowa",
|
||||
"docs": "Dokumentacja",
|
||||
"download-log": "Pobierz dziennik",
|
||||
"download-recipe-json": "Last Scraped JSON",
|
||||
"download-recipe-json": "Ostatnio pobrany JSON",
|
||||
"github": "GitHub",
|
||||
"log-lines": "Wiersze dziennika",
|
||||
"not-demo": "Nie demo",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Wsparcie",
|
||||
"version": "Wersja"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Zasoby",
|
||||
"code": "Kod",
|
||||
"file": "Plik",
|
||||
"image": "Zdjęcie",
|
||||
"new-asset": "Nowy zasób",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Przepis",
|
||||
"show-assets": "Wyświetl zasoby"
|
||||
},
|
||||
"category": {
|
||||
"category": "Kategoria",
|
||||
"category-created": "Kategoria stworzona",
|
||||
"category-creation-failed": "Błąd podczas tworzenia kategorii",
|
||||
"category-deleted": "Usunięto kategorię",
|
||||
@@ -40,26 +45,25 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Baza danych",
|
||||
"delete-event": "Usuń wydarzenie",
|
||||
"new-notification-form-description": "Mealie używa biblioteki Apprise do generowania powiadomień. Oferują one wiele możliwości korzystania z usług do powiadomień. Zobacz ich wiki w celu uzyskania wyczerpującego poradnika jak utworzyć adres URL dla Twojej usługi. Jeśli jest to możliwe, wybór typu powiadomienia może zawierać dodatkowe funkcje.",
|
||||
"new-version": "Dostępna jest nowa wersja!",
|
||||
"notification": "Powiadomienie",
|
||||
"refresh": "Odśwież",
|
||||
"scheduled": "Zaplanowane",
|
||||
"something-went-wrong": "Coś poszło nie tak!",
|
||||
"subscribed-events": "Zasubskrybowane wydarzenia",
|
||||
"test-message-sent": "Wiadomość została wysłana",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"test-message-sent": "Wiadomość została wysłana"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Zastosuj",
|
||||
"cancel": "Anuluj",
|
||||
"clear": "Wyczyść",
|
||||
"close": "Zamknij",
|
||||
"confirm": "Potwierdź",
|
||||
"confirm-delete-generic": "Are you sure you want to delete this?",
|
||||
"confirm-delete-generic": "Czy jesteś pewien, że chcesz usunąć ten element?",
|
||||
"copied": "Skopiowane",
|
||||
"create": "Utwórz",
|
||||
"created": "Utworzono",
|
||||
"current-parenthesis": "(Bieżący)",
|
||||
"custom": "Niestandardowy",
|
||||
"dashboard": "Kokpit",
|
||||
"delete": "Usuń",
|
||||
@@ -70,7 +74,7 @@
|
||||
"exception": "Wyjątek",
|
||||
"failed-count": "Niepowodzenie: {count}",
|
||||
"failure-uploading-file": "Błąd podczas przesyłania pliku",
|
||||
"favorites": "Favorites",
|
||||
"favorites": "Ulubione",
|
||||
"field-required": "Pole jest wymagane",
|
||||
"file-folder-not-found": "Nie znaleziono pliku/folderu",
|
||||
"file-uploaded": "Plik przesłany",
|
||||
@@ -78,32 +82,33 @@
|
||||
"friday": "Piątek",
|
||||
"general": "Ogólny",
|
||||
"get": "Zastosuj",
|
||||
"home": "Strona główna",
|
||||
"image": "Zdjęcie",
|
||||
"image-upload-failed": "Przesyłanie zdjęcia nie powiodło się",
|
||||
"import": "Importuj",
|
||||
"json": "JSON",
|
||||
"keyword": "Słowo kluczowe",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"link-copied": "Odnośnik skopiowany",
|
||||
"loading-recipes": "Ładowanie przepisów",
|
||||
"monday": "Poniedziałek",
|
||||
"more": "More",
|
||||
"name": "Nazwa",
|
||||
"new": "Nowy",
|
||||
"no": "Nie",
|
||||
"no-recipe-found": "Nie znaleziono przepisu",
|
||||
"ok": "OK",
|
||||
"options": "Opcje:",
|
||||
"print": "Print",
|
||||
"print": "Drukuj",
|
||||
"random": "Losowa",
|
||||
"rating": "Ocena",
|
||||
"recent": "Najnowsze",
|
||||
"recipe": "Recipe",
|
||||
"recipe": "Przepis",
|
||||
"recipes": "Przepisy",
|
||||
"rename-object": "Zmień nazwę {0}",
|
||||
"reset": "Resetuj",
|
||||
"saturday": "Sobota",
|
||||
"save": "Zapisz",
|
||||
"settings": "Ustawienia",
|
||||
"share": "Share",
|
||||
"share": "Udostępnij",
|
||||
"shuffle": "Pomieszaj",
|
||||
"sort": "Sortuj",
|
||||
"sort-alphabetically": "Alfabetyczne",
|
||||
@@ -112,17 +117,17 @@
|
||||
"success-count": "Sukces: {count}",
|
||||
"sunday": "Niedziela",
|
||||
"templates": "Szablony:",
|
||||
"test": "Test",
|
||||
"test": "Testuj",
|
||||
"themes": "Motywy",
|
||||
"thursday": "Czwartek",
|
||||
"token": "Token",
|
||||
"tuesday": "Wtorek",
|
||||
"type": "Type",
|
||||
"type": "Typ",
|
||||
"update": "Uaktualnij",
|
||||
"updated": "Zaktualizowano",
|
||||
"upload": "Prześlij",
|
||||
"url": "URL",
|
||||
"view": "View",
|
||||
"view": "Widok",
|
||||
"wednesday": "Środa",
|
||||
"yes": "Tak"
|
||||
},
|
||||
@@ -139,39 +144,39 @@
|
||||
"group-id-with-value": "ID grupy: {groupID}",
|
||||
"group-name": "Nazwa grupy",
|
||||
"group-not-found": "Nie znaleziono grupy",
|
||||
"group-with-value": "Grupa: {groupID}",
|
||||
"groups": "Grupy",
|
||||
"groups-can-only-be-set-by-administrators": "Grupy mogą być ustawiane tylko przez administratorów",
|
||||
"manage-groups": "Zarządzaj grupami",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
"user-group-creation-failed": "User Group Creation Failed"
|
||||
"user-group": "Grupa użytkownika",
|
||||
"user-group-created": "Utworzono grupę użytkowników",
|
||||
"user-group-creation-failed": "Tworzenie grupy użytkowników nie powiodło się"
|
||||
},
|
||||
"meal-plan": {
|
||||
"create-a-new-meal-plan": "Utwórz nowy plan posiłku",
|
||||
"dinner-this-week": "Obiad w tym tygodniu",
|
||||
"dinner-today": "Obiad dziś",
|
||||
"dinner-tonight": "DINNER TONIGHT",
|
||||
"dinner-tonight": "OBIAD DZIŚ",
|
||||
"edit-meal-plan": "Edytuj plan posiłku",
|
||||
"end-date": "Data zakończenia",
|
||||
"group": "Grupa (Beta)",
|
||||
"main": "Main",
|
||||
"main": "Główne",
|
||||
"meal-planner": "Plan posiłków",
|
||||
"meal-plans": "Plany posiłku",
|
||||
"mealplan-categories": "MEALPLAN CATEGORIES",
|
||||
"mealplan-created": "Mealplan created",
|
||||
"mealplan-creation-failed": "Mealplan creation failed",
|
||||
"mealplan-deleted": "Mealplan Deleted",
|
||||
"mealplan-deletion-failed": "Mealplan deletion failed",
|
||||
"mealplan-settings": "Mealplan Settings",
|
||||
"mealplan-update-failed": "Mealplan update failed",
|
||||
"mealplan-updated": "Mealplan Updated",
|
||||
"no-meal-plan-defined-yet": "No meal plan defined yet",
|
||||
"no-meal-planned-for-today": "No meal planned for today",
|
||||
"mealplan-categories": "KATEGORIE PLANU POSIŁKÓW",
|
||||
"mealplan-created": "Plan posiłków został utworzony",
|
||||
"mealplan-creation-failed": "Utworzenie planu posiłków nie powiodło się",
|
||||
"mealplan-deleted": "Plan posiłków został usunięty",
|
||||
"mealplan-deletion-failed": "Usunięcie planu posiłkow nie powiodło się",
|
||||
"mealplan-settings": "Ustawienia planu posiłków",
|
||||
"mealplan-update-failed": "Aktualizacja planu posiłków nie powiodła się",
|
||||
"mealplan-updated": "Plan posiłków został zaktualizowany",
|
||||
"no-meal-plan-defined-yet": "Brak zdefiniowanego planu posiłków",
|
||||
"no-meal-planned-for-today": "Brak zaplanowane posiłku na dziś",
|
||||
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Tylko przepisy z tych kategorii będą używane w planach posiłków",
|
||||
"planner": "Planer",
|
||||
"quick-week": "Szybki plan na tydzień",
|
||||
"side": "Side",
|
||||
"sides": "Sides",
|
||||
"side": "Przystawka",
|
||||
"sides": "Przystawki",
|
||||
"start-date": "Data rozpoczęcia"
|
||||
},
|
||||
"migration": {
|
||||
@@ -179,68 +184,71 @@
|
||||
"description": "Przenieś dane z Chowdown",
|
||||
"title": "Chowdown"
|
||||
},
|
||||
"migration-data-removed": "Migration data removed",
|
||||
"migration-data-removed": "Dane migracji usunięte",
|
||||
"nextcloud": {
|
||||
"description": "Migrate data from a Nextcloud Cookbook instance",
|
||||
"description": "Przenieś dane z Nextcloud Cookbook",
|
||||
"title": "Nextcloud Cookbook"
|
||||
},
|
||||
"no-migration-data-available": "No Migration Data Available",
|
||||
"no-migration-data-available": "Brak danych do migracji",
|
||||
"recipe-migration": "Przenoszenie przepisów"
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Dodanie zbiorcze",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"error-details": "Jedynie strony zawierające ld+json bądź mikrodane mogą zostać zaimportowane przez Mealie. Większość stron z przepisami wspiera ten typ danych. Jeśli twoja strona z przepisem nie może byc zaimportowana ale w logu pojawia się struktura json, zgłoś problem na githubie z linkiem i danymi.",
|
||||
"error-title": "Wygląda na to, że nic nie znaleziono",
|
||||
"from-url": "Importuj przepis",
|
||||
"github-issues": "Błędy na GitHub",
|
||||
"google-ld-json-info": "Informacje na temat ld+json",
|
||||
"must-be-a-valid-url": "Musi być prawidłowym odnośnikiem",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Wklej zawartość przepisu. Każda indywidualna linia traktowana będzie jako pozycja na liście",
|
||||
"recipe-markup-specification": "Specyfikacja znaczników przepisów",
|
||||
"recipe-url": "Adres URL przepisu",
|
||||
"url-form-hint": "Skopiuj i wklej link ze swojej ulubionej strony z przepisami"
|
||||
"upload-a-recipe": "Wrzuć przepis",
|
||||
"upload-individual-zip-file": "Prześlij pojedynczy plik .zip wyeksportowany z innej instancji Mealie.",
|
||||
"url-form-hint": "Skopiuj i wklej link ze swojej ulubionej strony z przepisami",
|
||||
"view-scraped-data": "Wyświetl zebrane dane"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404. Nie znaleziono strony",
|
||||
"all-recipes": "Wszystkie przepisy",
|
||||
"home-page": "Strona Główna",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
"page-deleted": "Page deleted",
|
||||
"page-deletion-failed": "Page deletion failed",
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"recent": "Najnowsze"
|
||||
"new-page-created": "Nowa strona została utworzona",
|
||||
"page": "Strona",
|
||||
"page-creation-failed": "Utworzenie strony nie powiodło się",
|
||||
"page-deleted": "Strona usunięta",
|
||||
"page-deletion-failed": "Usunięcie strony nie powiodło się",
|
||||
"page-update-failed": "Aktualizacja strony nie powiodła się",
|
||||
"page-updated": "Strona została zaktualizowana",
|
||||
"pages-update-failed": "Aktualizacja strony nie powiodła się",
|
||||
"pages-updated": "Strony zostały zaktualizowane"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Dodaj klucz",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"add-to-favorites": "Dodaj do ulubionych",
|
||||
"api-extras": "Dodatki API",
|
||||
"assets": "Assets",
|
||||
"calories": "Kalorie",
|
||||
"calories-suffix": "kalorie",
|
||||
"carbohydrate-content": "Węglowodany",
|
||||
"categories": "Kategorie",
|
||||
"comment-action": "Comment",
|
||||
"comments": "Comments",
|
||||
"comment-action": "Komentarz",
|
||||
"comments": "Komentarze",
|
||||
"delete-confirmation": "Czy jesteś pewien, że chcesz usunąć ten przepis?",
|
||||
"delete-recipe": "Usuń przepis",
|
||||
"description": "Opis",
|
||||
"disable-amount": "Disable Ingredient Amounts",
|
||||
"disable-comments": "Disable Comments",
|
||||
"disable-amount": "Wyłącz ilości składników",
|
||||
"disable-comments": "Wyłącz komentarze",
|
||||
"fat-content": "Tłuszcz",
|
||||
"fiber-content": "Błonnik",
|
||||
"grams": "gram",
|
||||
"ingredient": "Składnik",
|
||||
"ingredients": "Składniki",
|
||||
"insert-section": "Insert Section",
|
||||
"insert-section": "Wstaw sekcję",
|
||||
"instructions": "Instrukcje",
|
||||
"key-name-required": "Nazwa klucza jest wymagana",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"landscape-view-coming-soon": "Widok poziomy (wkrótce)",
|
||||
"milligrams": "miligram",
|
||||
"new-asset": "New Asset",
|
||||
"new-key-name": "Nazwa nowego klucza",
|
||||
"no-white-space-allowed": "Znaki niedrukowalne są niedozwolone",
|
||||
"note": "Notatka",
|
||||
"notes": "Notatki",
|
||||
"nutrition": "Wartości odżywcze",
|
||||
"object-key": "Klucz obiektu",
|
||||
"object-value": "Wartość obiektu",
|
||||
@@ -248,42 +256,41 @@
|
||||
"perform-time": "Czas gotowania",
|
||||
"prep-time": "Czas przyrządzania",
|
||||
"protein-content": "Białka",
|
||||
"public-recipe": "Public Recipe",
|
||||
"recipe-created": "Recipe created",
|
||||
"recipe-creation-failed": "Recipe creation failed",
|
||||
"recipe-deleted": "Recipe deleted",
|
||||
"public-recipe": "Przepis publiczny",
|
||||
"recipe-created": "Przepis został utworzony",
|
||||
"recipe-creation-failed": "Tworzenie przepisu nie powiodło się",
|
||||
"recipe-deleted": "Przepis został usunięty",
|
||||
"recipe-image": "Zdjęcie do przepisu",
|
||||
"recipe-image-updated": "Recipe image updated",
|
||||
"recipe-image-updated": "Zdjęcie przepisu zostało zaktualizowane",
|
||||
"recipe-name": "Nazwa przepisu",
|
||||
"recipe-settings": "Recipe Settings",
|
||||
"recipe-update-failed": "Recipe update failed",
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"section-title": "Section Title",
|
||||
"recipe-settings": "Ustawienia przepisu",
|
||||
"recipe-update-failed": "Aktualizacja przepisu nie powiodła się",
|
||||
"recipe-updated": "Przepis został zaktualizowany",
|
||||
"remove-from-favorites": "Usuń z ulubionych",
|
||||
"remove-section": "Usuń sekcję",
|
||||
"save-recipe-before-use": "Zapisz przepis przed użyciem",
|
||||
"section-title": "Tytuł rozdziału",
|
||||
"servings": "Porcje",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Show Assets",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"share-recipe-message": "Chcę podzielić się z Tobą moim przepisem na {0}.",
|
||||
"show-nutrition-values": "Pokaż wartości odżywcze",
|
||||
"sodium-content": "Sód",
|
||||
"step-index": "Krok: {step}",
|
||||
"sugar-content": "Cukry",
|
||||
"title": "Tytuł",
|
||||
"total-time": "Czas całkowity",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe",
|
||||
"view-recipe": "Wyświetl przepis"
|
||||
"unable-to-delete-recipe": "Nie można usunąć przepisu"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
"no-recipe": "Brak przepisu"
|
||||
},
|
||||
"search": {
|
||||
"advanced-search": "Advanced Search",
|
||||
"advanced-search": "Wyszukiwanie zaawansowane",
|
||||
"and": "oraz",
|
||||
"exclude": "Wyklucz",
|
||||
"include": "Dołącz",
|
||||
"max-results": "Maksymalna liczba wyników",
|
||||
"or": "Lub",
|
||||
"results": "Results",
|
||||
"results": "Wyniki",
|
||||
"search": "Szukaj",
|
||||
"search-mealie": "Przeszukaj Mealie (naciśnij /)",
|
||||
"search-placeholder": "Szukaj...",
|
||||
@@ -292,27 +299,26 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Dodaj nowy motyw",
|
||||
"admin-settings": "Ustawienia administratora",
|
||||
"available-backups": "Dostępne kopie zapasowe",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-created-at-response-export_path": "Kopia zapasowa została utworzona w {path}",
|
||||
"backup-deleted": "Kopia zapasowa została usunięta",
|
||||
"backup-tag": "Etykieta kopii zapasowej",
|
||||
"create-heading": "Utwórz kopię zapasową",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"delete-backup": "Usuń kopię zapasową",
|
||||
"error-creating-backup-see-log-file": "Wystąpił błąd podczas tworzenia kopii zapasowej, sprawdź plik logu",
|
||||
"full-backup": "Pełna kopia zapasowa",
|
||||
"import-summary": "Import Summary",
|
||||
"import-summary": "Podsumowanie importu",
|
||||
"partial-backup": "Częściowa kopia zapasowa",
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
"unable-to-delete-backup": "Nie można usunąć kopii zapasowej."
|
||||
},
|
||||
"backup-and-exports": "Kopie zapasowe",
|
||||
"backup-info": "Kopie zapasowe zapisywane są w standardowym formacie JSON wraz ze zdjęciami w systemie plików. W katalogu kopii zapasowej znajdziesz plik z rozszerzeniem .zip zawierający wszystkie przepisy i zdjęcia z bazy danych. Jeśli zaznaczone zostały pliki markdown, one także znajdą się w pliku .zip. Aby zaimportować kopię, musi ona znajdować się w folderze kopii zapasowych. Kopie automatyczne tworzone są codziennie o godzinie 03:00.",
|
||||
"change-password": "Zmień hasło",
|
||||
"current": "Wersja:",
|
||||
"custom-pages": "Niestandardowe strony",
|
||||
"edit-page": "Edytuj stronę",
|
||||
"events": "Events",
|
||||
"events": "Wydarzenia",
|
||||
"first-day-of-week": "Pierwszy dzień tygodnia",
|
||||
"group-settings-updated": "Group Settings Updated",
|
||||
"group-settings-updated": "Ustawienia grupy zostały zaktualizowane",
|
||||
"homepage": {
|
||||
"all-categories": "Wszystkie kategorie",
|
||||
"card-per-section": "Karty na sekcję",
|
||||
@@ -326,102 +332,106 @@
|
||||
"locale-settings": "Ustawienia językowe",
|
||||
"migrations": "Migracje",
|
||||
"new-page": "Nowa Strona",
|
||||
"notify": "Notify",
|
||||
"organize": "Organize",
|
||||
"notify": "Powiadom",
|
||||
"organize": "Zorganizuj",
|
||||
"page-name": "Nazwa strony",
|
||||
"pages": "Pages",
|
||||
"pages": "Strony",
|
||||
"profile": "Profil",
|
||||
"remove-existing-entries-matching-imported-entries": "Usuń istniejące wpisy pasujące do importowanych wpisów",
|
||||
"set-new-time": "Ustaw nowy czas",
|
||||
"settings-update-failed": "Settings update failed",
|
||||
"settings-updated": "Settings updated",
|
||||
"settings-update-failed": "Aktualizacja ustawień nie powiodła się",
|
||||
"settings-updated": "Ustawienia zostały zaktualizowane",
|
||||
"site-settings": "Ustawienia strony",
|
||||
"theme": {
|
||||
"accent": "Akcent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Czy jesteś pewien, że chcesz usunąć ten motyw?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Wybierz jak Mealie ma dla Ciebie wyglądać. Dostępne opcje to podążanie za odcieniem systemowym, bądź motyw jasny lub ciemny.",
|
||||
"dark": "Ciemny",
|
||||
"dark-mode": "Ciemny motyw",
|
||||
"default-to-system": "Motyw systemowy",
|
||||
"delete-theme": "Usuń motyw",
|
||||
"error": "Błąd",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
"error-updating-theme": "Error updating theme",
|
||||
"error-creating-theme-see-log-file": "Wystąpił błąd podczas tworzenia motywu. Sprawdź plik z logiem.",
|
||||
"error-deleting-theme": "Wystąpił błąd podczas usuwania motywu",
|
||||
"error-updating-theme": "Wystąpił błąd podczas aktualizacji motywu",
|
||||
"info": "Informacja",
|
||||
"light": "Jasny",
|
||||
"primary": "Podstawowy",
|
||||
"secondary": "Drugorzędny",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Wybierz motyw z rozwijanej listy bądź stwórz nowy. Domyślny motyw zostanie użyty dla wszystkich użytkowników którzy nie wybrali własnej preferencji.",
|
||||
"success": "Powodzenie",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Motyw",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"switch-to-dark-mode": "Przełącz na tryb nocny",
|
||||
"switch-to-light-mode": "Przełącz na tryb dzienny",
|
||||
"theme-deleted": "Motyw został usunięty",
|
||||
"theme-name": "Nazwa motywu",
|
||||
"theme-name-is-required": "Nazwa motywu jest wymagana.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-settings": "Ustawienia motywu",
|
||||
"theme-updated": "Theme updated",
|
||||
"theme-saved": "Motyw został zapisany",
|
||||
"theme-updated": "Motyw został zaktualizowany",
|
||||
"warning": "Ostrzeżenie"
|
||||
},
|
||||
"token": {
|
||||
"active-tokens": "ACTIVE TOKENS",
|
||||
"api-token": "API Token",
|
||||
"api-tokens": "API Tokens",
|
||||
"copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Copy this token for use with an external application. This token will not be viewable again.",
|
||||
"create-an-api-token": "Create an API Token",
|
||||
"token-name": "Token Name"
|
||||
"active-tokens": "AKTYWNE TOKENY",
|
||||
"api-token": "Token API",
|
||||
"api-tokens": "Tokeny API",
|
||||
"copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again": "Skopiuj ten token w celu użycia w zewnętrznej aplikacji. Tokenu tego nie będzie można więcej wyświetlić.",
|
||||
"create-an-api-token": "Utworz token API",
|
||||
"token-name": "Nazwa tokenu"
|
||||
},
|
||||
"toolbox": {
|
||||
"assign-all": "Przypisz wszystkie",
|
||||
"bulk-assign": "Masowe przypisanie",
|
||||
"new-name": "Nowa nazwa",
|
||||
"no-unused-items": "Brak nieużywanych elementów",
|
||||
"recipes-affected": "No Recipes Affected|One Recipe Affected|{count} Recipes Affected",
|
||||
"recipes-affected": "Nie dotyczyło żadnego przepisu|Dotyczyło jednego przepisu|Dotyczyło {count} przepisów",
|
||||
"remove-unused": "Usuń nieużywane",
|
||||
"title-case-all": "Wszędzie wielkie litery",
|
||||
"toolbox": "Przybornik",
|
||||
"unorganized": "Unorganized"
|
||||
"unorganized": "Niezorganizowane"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Webhooki planera posiłków",
|
||||
"test-webhooks": "Testuj webhooki",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "Odnośniki poniżej otrzymają webhook zawierający dane o przepisie dla danego dnia. Aktualnie webhooki zostanę wykonane o",
|
||||
"webhook-url": "URL webhooka",
|
||||
"webhooks-caps": "WEBHOOKS"
|
||||
"webhooks-caps": "WEBHOOKI"
|
||||
}
|
||||
},
|
||||
"shopping-list": {
|
||||
"all-lists": "All Lists",
|
||||
"create-shopping-list": "Create Shopping List",
|
||||
"from-recipe": "From Recipe",
|
||||
"list-name": "List Name",
|
||||
"new-list": "New List",
|
||||
"quantity": "Quantity: {0}",
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
"all-lists": "Wszystkie listy",
|
||||
"create-shopping-list": "Utwórz listę zakupów",
|
||||
"from-recipe": "Z przepisu",
|
||||
"list-name": "Nazwa listy",
|
||||
"new-list": "Nowa lista",
|
||||
"quantity": "Ilość: {0}",
|
||||
"shopping-list": "Lista zakupów",
|
||||
"shopping-lists": "Lista zakupów"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Kategorie",
|
||||
"dashboard": "Kokpit",
|
||||
"home-page": "Strona główna",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migracje",
|
||||
"profile": "Profil",
|
||||
"search": "Wyszukaj",
|
||||
"site-settings": "Ustawienia",
|
||||
"tags": "Tagi",
|
||||
"toolbox": "Przybornik"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Display Name",
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
"sign-up-link-creation-failed": "Sign up link creation failed",
|
||||
"sign-up-links": "Sign Up Links",
|
||||
"sign-up-token-deleted": "Sign Up Token Deleted",
|
||||
"sign-up-token-deletion-failed": "Sign up token deletion failed",
|
||||
"welcome-to-mealie": "Welcome to Mealie! To become a user of this instance you are required to have a valid invitation link. If you haven't recieved an invitation you are unable to sign-up. To recieve a link, contact the sites administrator."
|
||||
"error-signing-up": "W trakcie rejestracji wystąpił błąd",
|
||||
"sign-up": "Zarejestruj się",
|
||||
"sign-up-link-created": "Odnośnik do rejestracji został utworzony",
|
||||
"sign-up-link-creation-failed": "Tworzenie odnośnika do rejestracji nie powiodło się",
|
||||
"sign-up-links": "Odnośniki do rejestracji",
|
||||
"sign-up-token-deleted": "Token do rejestracji został usunięty",
|
||||
"sign-up-token-deletion-failed": "Usunięcie tokenu do rejestracji nie powiodło się",
|
||||
"welcome-to-mealie": "Witamy w Mealie! Aby zostać użytkownikiem tej instancji musisz posiadać odnośnik z zaproszeniem, w przeciwnym wypadku niemożliwe będzie zalogowanie się. W celu otrzymania takowego odnośnika skontaktuj się z administratorem strony."
|
||||
},
|
||||
"tag": {
|
||||
"tag-created": "Tag created",
|
||||
"tag-creation-failed": "Tag creation failed",
|
||||
"tag-deleted": "Tag deleted",
|
||||
"tag-deletion-failed": "Tag deletion failed",
|
||||
"tag-update-failed": "Tag update failed",
|
||||
"tag-updated": "Tag updated",
|
||||
"tags": "Tags",
|
||||
"untagged-count": "Untagged {count}"
|
||||
"tag-created": "Etykieta została utworzona",
|
||||
"tag-creation-failed": "Utworzenie etykiety nie powiodło się",
|
||||
"tag-deleted": "Etykieta została usunięta",
|
||||
"tag-deletion-failed": "Usunięcie etykiety nie powiodło się",
|
||||
"tag-update-failed": "Atkualizacja etykiety nie powiodła się",
|
||||
"tag-updated": "Etykieta została zakutalizowana",
|
||||
"tags": "Tagi",
|
||||
"untagged-count": "{count} bez etykiety"
|
||||
},
|
||||
"user": {
|
||||
"admin": "Administrator",
|
||||
@@ -437,44 +447,43 @@
|
||||
"e-mail-must-be-valid": "E-mail musi być poprawny",
|
||||
"edit-user": "Edytuj użytkownika",
|
||||
"email": "Email",
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"error-cannot-delete-super-user": "Wystąpił błąd! Nie można usunąć super użytkownika",
|
||||
"existing-password-does-not-match": "Aktualne hasło jest niezgodne",
|
||||
"full-name": "Imię i nazwisko",
|
||||
"incorrect-username-or-password": "Incorrect username or password",
|
||||
"link-id": "ID linku",
|
||||
"link-name": "Nazwa linku",
|
||||
"login": "Login",
|
||||
"logout": "Wyloguj się",
|
||||
"manage-users": "Manage Users",
|
||||
"manage-users": "Zarządzaj użytkownikami",
|
||||
"new-password": "Nowe Hasło",
|
||||
"new-user": "Nowy użytkownik",
|
||||
"password": "Hasło",
|
||||
"password-has-been-reset-to-the-default-password": "Password has been reset to the default password",
|
||||
"password-has-been-reset-to-the-default-password": "Hasło zostało przywrócone do domyślnej wartości",
|
||||
"password-must-match": "Hasła muszą być takie same",
|
||||
"password-reset-failed": "Password reset failed",
|
||||
"password-updated": "Password updated",
|
||||
"password-reset-failed": "Reset hasła nie powiódł się",
|
||||
"password-updated": "Hasło zostało zaktualizowane",
|
||||
"reset-password": "Zresetuj hasło",
|
||||
"sign-in": "Zaloguj się",
|
||||
"total-mealplans": "Ilość planów posiłków",
|
||||
"total-users": "Ilość użytkowników",
|
||||
"upload-photo": "Prześlij zdjęcie",
|
||||
"use-8-characters-or-more-for-your-password": "Hasło musi składać się z 8 lub więcej znaków",
|
||||
"user": "User",
|
||||
"user-created": "User created",
|
||||
"user-creation-failed": "User creation failed",
|
||||
"user-deleted": "User deleted",
|
||||
"user": "Użytkownik",
|
||||
"user-created": "Użytkownik został stworzony",
|
||||
"user-creation-failed": "Tworzenie użytkownika nie powiodło się",
|
||||
"user-deleted": "Użytkownik został usunięty",
|
||||
"user-id": "ID użytkownika",
|
||||
"user-id-with-value": "ID użytkownika: {id}",
|
||||
"user-password": "Hasło użytkownika",
|
||||
"user-successfully-logged-in": "User Successfully Logged In",
|
||||
"user-update-failed": "User update failed",
|
||||
"user-updated": "User updated",
|
||||
"username": "Username",
|
||||
"user-successfully-logged-in": "Użytkownik został pomyślnie zalogowany",
|
||||
"user-update-failed": "Aktualizacja użytkownika nie powiodła się",
|
||||
"user-updated": "Użytkownik został zaktualizowany",
|
||||
"username": "Nazwa użytkownika",
|
||||
"users": "Użytkownicy",
|
||||
"users-header": "USERS",
|
||||
"users-header": "UŻYTKOWNICY",
|
||||
"webhook-time": "Czas webhooka",
|
||||
"webhooks-enabled": "Webhooki włączone",
|
||||
"you-are-not-allowed-to-create-a-user": "You are not allowed to create a user",
|
||||
"you-are-not-allowed-to-delete-this-user": "You are not allowed to delete this user"
|
||||
"you-are-not-allowed-to-create-a-user": "Nie masz uprawnień do tworzenia użytkowników",
|
||||
"you-are-not-allowed-to-delete-this-user": "Nie masz uprawnień do usuwania użytkowników"
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Page Not Found",
|
||||
"take-me-home": "Take me Home"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "About Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Support",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Assets",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"new-asset": "New Asset",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recipe",
|
||||
"show-assets": "Show Assets"
|
||||
},
|
||||
"category": {
|
||||
"category": "Category",
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category Deleted",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Delete Event",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"new-version": "New version available!",
|
||||
"notification": "Notification",
|
||||
"refresh": "Refresh",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"test-message-sent": "Test Message Sent"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Apply",
|
||||
"cancel": "Cancel",
|
||||
"clear": "Clear",
|
||||
"close": "Close",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Copied",
|
||||
"create": "Create",
|
||||
"created": "Created",
|
||||
"current-parenthesis": "(Current)",
|
||||
"custom": "Custom",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Delete",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Friday",
|
||||
"general": "General",
|
||||
"get": "Get",
|
||||
"home": "Home",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Import",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"loading-recipes": "Loading Recipes",
|
||||
"monday": "Monday",
|
||||
"more": "More",
|
||||
"name": "Name",
|
||||
"new": "New",
|
||||
"no": "No",
|
||||
"no-recipe-found": "No Recipe Found",
|
||||
"ok": "OK",
|
||||
"options": "Options:",
|
||||
"print": "Print",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Group ID: {groupID}",
|
||||
"group-name": "Group Name",
|
||||
"group-not-found": "Group not found",
|
||||
"group-with-value": "Group: {groupID}",
|
||||
"groups": "Groups",
|
||||
"groups-can-only-be-set-by-administrators": "Groups can only be set by administrators",
|
||||
"manage-groups": "Manage Groups",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Bulk Add",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"from-url": "Import a Recipe",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Must be a Valid URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "Recipe URL",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website"
|
||||
"upload-a-recipe": "Upload a Recipe",
|
||||
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Page not found",
|
||||
"all-recipes": "All Recipes",
|
||||
"home-page": "Home Page",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"recent": "Recent"
|
||||
"pages-updated": "Pages updated"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Assets",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Key Name Required",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-asset": "New Asset",
|
||||
"new-key-name": "New Key Name",
|
||||
"no-white-space-allowed": "No White Space Allowed",
|
||||
"note": "Note",
|
||||
"notes": "Notes",
|
||||
"nutrition": "Nutrition",
|
||||
"object-key": "Object Key",
|
||||
"object-value": "Object Value",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"save-recipe-before-use": "Save recipe before use",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Servings",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Show Assets",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Step: {step}",
|
||||
"sugar-content": "Sugar",
|
||||
"title": "Title",
|
||||
"total-time": "Total Time",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe",
|
||||
"view-recipe": "View Recipe"
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Add a New Theme",
|
||||
"admin-settings": "Admin Settings",
|
||||
"available-backups": "Available Backups",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-tag": "Backup Tag",
|
||||
"create-heading": "Create a Backup",
|
||||
"delete-backup": "Delete Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Full Backup",
|
||||
"import-summary": "Import Summary",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.",
|
||||
"change-password": "Change Password",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Custom Pages",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Site Settings",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.",
|
||||
"dark": "Dark",
|
||||
"dark-mode": "Dark Mode",
|
||||
"default-to-system": "Default to system",
|
||||
"delete-theme": "Delete Theme",
|
||||
"error": "Error",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Light",
|
||||
"primary": "Primary",
|
||||
"secondary": "Secondary",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.",
|
||||
"success": "Success",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Theme",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"theme-name": "Theme Name",
|
||||
"theme-name-is-required": "Theme Name is required.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-settings": "Theme Settings",
|
||||
"theme-updated": "Theme updated",
|
||||
"warning": "Warning"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Unorganized"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Meal Planner Webhooks",
|
||||
"test-webhooks": "Test Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at",
|
||||
"webhook-url": "Webhook URL",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Categories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profile",
|
||||
"search": "Search",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Display Name",
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Full Name",
|
||||
"incorrect-username-or-password": "Incorrect username or password",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Página não encontrada",
|
||||
"take-me-home": "Voltar ao início"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "About Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Support",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Assets",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"new-asset": "New Asset",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recipe",
|
||||
"show-assets": "Show Assets"
|
||||
},
|
||||
"category": {
|
||||
"category": "Category",
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category Deleted",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Delete Event",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"new-version": "New version available!",
|
||||
"notification": "Notification",
|
||||
"refresh": "Refresh",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"test-message-sent": "Test Message Sent"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Apply",
|
||||
"cancel": "Cancelar",
|
||||
"clear": "Clear",
|
||||
"close": "Fechar",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Copied",
|
||||
"create": "Criar",
|
||||
"created": "Created",
|
||||
"current-parenthesis": "(Current)",
|
||||
"custom": "Custom",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Eliminar",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Friday",
|
||||
"general": "General",
|
||||
"get": "Get",
|
||||
"home": "Home",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Importar",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"loading-recipes": "Loading Recipes",
|
||||
"monday": "Monday",
|
||||
"more": "More",
|
||||
"name": "Nome",
|
||||
"new": "New",
|
||||
"no": "No",
|
||||
"no-recipe-found": "No Recipe Found",
|
||||
"ok": "OK",
|
||||
"options": "Options:",
|
||||
"print": "Print",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Group ID: {groupID}",
|
||||
"group-name": "Group Name",
|
||||
"group-not-found": "Group not found",
|
||||
"group-with-value": "Group: {groupID}",
|
||||
"groups": "Groups",
|
||||
"groups-can-only-be-set-by-administrators": "Groups can only be set by administrators",
|
||||
"manage-groups": "Manage Groups",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Adicionar Vários",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"from-url": "Do URL",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Must be a Valid URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Insira os dados da sua receita. Cada linha será tratada como um item numa lista.",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "URL da Receita",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website"
|
||||
"upload-a-recipe": "Upload a Recipe",
|
||||
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Page not found",
|
||||
"all-recipes": "All Recipes",
|
||||
"home-page": "Home Page",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"recent": "Recent"
|
||||
"pages-updated": "Pages updated"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Adicionar Chave",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"api-extras": "Extras API",
|
||||
"assets": "Assets",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Nome da Chave é Obrigatório",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-asset": "New Asset",
|
||||
"new-key-name": "Novo nome da Chave",
|
||||
"no-white-space-allowed": "Espaço em Branco não Permitido",
|
||||
"note": "Nota",
|
||||
"notes": "Notas",
|
||||
"nutrition": "Nutrition",
|
||||
"object-key": "Chave do Objeto",
|
||||
"object-value": "Valor do Objeto",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"save-recipe-before-use": "Save recipe before use",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Porções",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Show Assets",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Passo: {step}",
|
||||
"sugar-content": "Sugar",
|
||||
"title": "Título",
|
||||
"total-time": "Tempo Total",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe",
|
||||
"view-recipe": "Ver Receita"
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Adicionar novo tema",
|
||||
"admin-settings": "Admin Settings",
|
||||
"available-backups": "Backups Disponíveis",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-tag": "Etiqueta do Backup",
|
||||
"create-heading": "Criar um Backup",
|
||||
"delete-backup": "Delete Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Backup Completo",
|
||||
"import-summary": "Import Summary",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.",
|
||||
"change-password": "Change Password",
|
||||
"current": "Versão:",
|
||||
"custom-pages": "Custom Pages",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Site Settings",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Tem a certeza que deseja eliminar este tema?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Escolha como o Mealie estará visivel. Escolha o Mesmo do sistema para seguir o tema do seu dispositivo, ou selecione claro ou escuro.",
|
||||
"dark": "Escuro",
|
||||
"dark-mode": "Modo Escuro",
|
||||
"default-to-system": "Mesmo do Sistema",
|
||||
"delete-theme": "Eliminar Tema",
|
||||
"error": "Erro",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Claro",
|
||||
"primary": "Primário",
|
||||
"secondary": "Secondário",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Selecione um tema da lista ou crie um novo tema. Note que o tema por defeito será utilizado por todos os utilizadores que não selecionaram um tema preferido.",
|
||||
"success": "Successo",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Tema",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"theme-name": "Nome do Tema",
|
||||
"theme-name-is-required": "Nome do Tema é Obrigatório.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-settings": "Definições do Tema",
|
||||
"theme-updated": "Theme updated",
|
||||
"warning": "Aviso"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Unorganized"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Webhooks do Organizador de Refeições",
|
||||
"test-webhooks": "Webhooks de Teste",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "Os URLs apresentados abaixo receberão webhooks que contêm os dados da receita para o plano de refeições no dia marcado. Atualmente, os webhooks serão executados a ",
|
||||
"webhook-url": "Webhook URL",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Categories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profile",
|
||||
"search": "Search",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Display Name",
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Full Name",
|
||||
"incorrect-username-or-password": "Incorrect username or password",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Page Not Found",
|
||||
"take-me-home": "Take me Home"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "About Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Support",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Assets",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"new-asset": "New Asset",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recipe",
|
||||
"show-assets": "Show Assets"
|
||||
},
|
||||
"category": {
|
||||
"category": "Category",
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category Deleted",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Delete Event",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"new-version": "New version available!",
|
||||
"notification": "Notification",
|
||||
"refresh": "Refresh",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"test-message-sent": "Test Message Sent"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Apply",
|
||||
"cancel": "Cancel",
|
||||
"clear": "Clear",
|
||||
"close": "Close",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Copied",
|
||||
"create": "Create",
|
||||
"created": "Created",
|
||||
"current-parenthesis": "(Current)",
|
||||
"custom": "Custom",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Delete",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Friday",
|
||||
"general": "General",
|
||||
"get": "Get",
|
||||
"home": "Home",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Import",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"loading-recipes": "Loading Recipes",
|
||||
"monday": "Monday",
|
||||
"more": "More",
|
||||
"name": "Name",
|
||||
"new": "New",
|
||||
"no": "No",
|
||||
"no-recipe-found": "No Recipe Found",
|
||||
"ok": "OK",
|
||||
"options": "Options:",
|
||||
"print": "Print",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Group ID: {groupID}",
|
||||
"group-name": "Group Name",
|
||||
"group-not-found": "Group not found",
|
||||
"group-with-value": "Group: {groupID}",
|
||||
"groups": "Groups",
|
||||
"groups-can-only-be-set-by-administrators": "Groups can only be set by administrators",
|
||||
"manage-groups": "Manage Groups",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Bulk Add",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"from-url": "Import a Recipe",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Must be a Valid URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "Recipe URL",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website"
|
||||
"upload-a-recipe": "Upload a Recipe",
|
||||
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Page not found",
|
||||
"all-recipes": "All Recipes",
|
||||
"home-page": "Home Page",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"recent": "Recent"
|
||||
"pages-updated": "Pages updated"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Assets",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Key Name Required",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-asset": "New Asset",
|
||||
"new-key-name": "New Key Name",
|
||||
"no-white-space-allowed": "No White Space Allowed",
|
||||
"note": "Note",
|
||||
"notes": "Notes",
|
||||
"nutrition": "Nutrition",
|
||||
"object-key": "Object Key",
|
||||
"object-value": "Object Value",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"save-recipe-before-use": "Save recipe before use",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Servings",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Show Assets",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Step: {step}",
|
||||
"sugar-content": "Sugar",
|
||||
"title": "Title",
|
||||
"total-time": "Total Time",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe",
|
||||
"view-recipe": "View Recipe"
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Add a New Theme",
|
||||
"admin-settings": "Admin Settings",
|
||||
"available-backups": "Available Backups",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-tag": "Backup Tag",
|
||||
"create-heading": "Create a Backup",
|
||||
"delete-backup": "Delete Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Full Backup",
|
||||
"import-summary": "Import Summary",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.",
|
||||
"change-password": "Change Password",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Custom Pages",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Site Settings",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.",
|
||||
"dark": "Dark",
|
||||
"dark-mode": "Dark Mode",
|
||||
"default-to-system": "Default to system",
|
||||
"delete-theme": "Delete Theme",
|
||||
"error": "Error",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Light",
|
||||
"primary": "Primary",
|
||||
"secondary": "Secondary",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.",
|
||||
"success": "Success",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Theme",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"theme-name": "Theme Name",
|
||||
"theme-name-is-required": "Theme Name is required.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-settings": "Theme Settings",
|
||||
"theme-updated": "Theme updated",
|
||||
"warning": "Warning"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Unorganized"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Meal Planner Webhooks",
|
||||
"test-webhooks": "Test Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at",
|
||||
"webhook-url": "Webhook URL",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Categories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profile",
|
||||
"search": "Search",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Display Name",
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Full Name",
|
||||
"incorrect-username-or-password": "Incorrect username or password",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Page Not Found",
|
||||
"take-me-home": "Take me Home"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "About Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Support",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Assets",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"new-asset": "New Asset",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recipe",
|
||||
"show-assets": "Show Assets"
|
||||
},
|
||||
"category": {
|
||||
"category": "Category",
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category Deleted",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Delete Event",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"new-version": "New version available!",
|
||||
"notification": "Notification",
|
||||
"refresh": "Refresh",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"test-message-sent": "Test Message Sent"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Apply",
|
||||
"cancel": "Cancel",
|
||||
"clear": "Clear",
|
||||
"close": "Close",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Copied",
|
||||
"create": "Create",
|
||||
"created": "Created",
|
||||
"current-parenthesis": "(Current)",
|
||||
"custom": "Custom",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Delete",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Friday",
|
||||
"general": "General",
|
||||
"get": "Get",
|
||||
"home": "Home",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Import",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"loading-recipes": "Loading Recipes",
|
||||
"monday": "Monday",
|
||||
"more": "More",
|
||||
"name": "Name",
|
||||
"new": "New",
|
||||
"no": "No",
|
||||
"no-recipe-found": "No Recipe Found",
|
||||
"ok": "OK",
|
||||
"options": "Options:",
|
||||
"print": "Print",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Group ID: {groupID}",
|
||||
"group-name": "Group Name",
|
||||
"group-not-found": "Group not found",
|
||||
"group-with-value": "Group: {groupID}",
|
||||
"groups": "Groups",
|
||||
"groups-can-only-be-set-by-administrators": "Groups can only be set by administrators",
|
||||
"manage-groups": "Manage Groups",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Bulk Add",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"from-url": "Import a Recipe",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Must be a Valid URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "Recipe URL",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website"
|
||||
"upload-a-recipe": "Upload a Recipe",
|
||||
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Page not found",
|
||||
"all-recipes": "All Recipes",
|
||||
"home-page": "Home Page",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"recent": "Recent"
|
||||
"pages-updated": "Pages updated"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Assets",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Key Name Required",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-asset": "New Asset",
|
||||
"new-key-name": "New Key Name",
|
||||
"no-white-space-allowed": "No White Space Allowed",
|
||||
"note": "Note",
|
||||
"notes": "Notes",
|
||||
"nutrition": "Nutrition",
|
||||
"object-key": "Object Key",
|
||||
"object-value": "Object Value",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"save-recipe-before-use": "Save recipe before use",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Servings",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Show Assets",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Step: {step}",
|
||||
"sugar-content": "Sugar",
|
||||
"title": "Title",
|
||||
"total-time": "Total Time",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe",
|
||||
"view-recipe": "View Recipe"
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Add a New Theme",
|
||||
"admin-settings": "Admin Settings",
|
||||
"available-backups": "Available Backups",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-tag": "Backup Tag",
|
||||
"create-heading": "Create a Backup",
|
||||
"delete-backup": "Delete Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Full Backup",
|
||||
"import-summary": "Import Summary",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.",
|
||||
"change-password": "Change Password",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Custom Pages",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Site Settings",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.",
|
||||
"dark": "Dark",
|
||||
"dark-mode": "Dark Mode",
|
||||
"default-to-system": "Default to system",
|
||||
"delete-theme": "Delete Theme",
|
||||
"error": "Error",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Light",
|
||||
"primary": "Primary",
|
||||
"secondary": "Secondary",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.",
|
||||
"success": "Success",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Theme",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"theme-name": "Theme Name",
|
||||
"theme-name-is-required": "Theme Name is required.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-settings": "Theme Settings",
|
||||
"theme-updated": "Theme updated",
|
||||
"warning": "Warning"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Unorganized"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Meal Planner Webhooks",
|
||||
"test-webhooks": "Test Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at",
|
||||
"webhook-url": "Webhook URL",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Categories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profile",
|
||||
"search": "Search",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Display Name",
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Full Name",
|
||||
"incorrect-username-or-password": "Incorrect username or password",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Page Not Found",
|
||||
"take-me-home": "Take me Home"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "About Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Support",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Assets",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"new-asset": "New Asset",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recipe",
|
||||
"show-assets": "Show Assets"
|
||||
},
|
||||
"category": {
|
||||
"category": "Category",
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category Deleted",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Delete Event",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"new-version": "New version available!",
|
||||
"notification": "Notification",
|
||||
"refresh": "Refresh",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"test-message-sent": "Test Message Sent"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Apply",
|
||||
"cancel": "Cancel",
|
||||
"clear": "Clear",
|
||||
"close": "Close",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Copied",
|
||||
"create": "Create",
|
||||
"created": "Created",
|
||||
"current-parenthesis": "(Current)",
|
||||
"custom": "Custom",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Delete",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Friday",
|
||||
"general": "General",
|
||||
"get": "Get",
|
||||
"home": "Home",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Import",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"loading-recipes": "Loading Recipes",
|
||||
"monday": "Monday",
|
||||
"more": "More",
|
||||
"name": "Name",
|
||||
"new": "New",
|
||||
"no": "No",
|
||||
"no-recipe-found": "No Recipe Found",
|
||||
"ok": "OK",
|
||||
"options": "Options:",
|
||||
"print": "Print",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Group ID: {groupID}",
|
||||
"group-name": "Group Name",
|
||||
"group-not-found": "Group not found",
|
||||
"group-with-value": "Group: {groupID}",
|
||||
"groups": "Groups",
|
||||
"groups-can-only-be-set-by-administrators": "Groups can only be set by administrators",
|
||||
"manage-groups": "Manage Groups",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Bulk Add",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"from-url": "Import a Recipe",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Must be a Valid URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "Recipe URL",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website"
|
||||
"upload-a-recipe": "Upload a Recipe",
|
||||
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Page not found",
|
||||
"all-recipes": "All Recipes",
|
||||
"home-page": "Home Page",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"recent": "Recent"
|
||||
"pages-updated": "Pages updated"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Assets",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Key Name Required",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-asset": "New Asset",
|
||||
"new-key-name": "New Key Name",
|
||||
"no-white-space-allowed": "No White Space Allowed",
|
||||
"note": "Note",
|
||||
"notes": "Notes",
|
||||
"nutrition": "Nutrition",
|
||||
"object-key": "Object Key",
|
||||
"object-value": "Object Value",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"save-recipe-before-use": "Save recipe before use",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Servings",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Show Assets",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Step: {step}",
|
||||
"sugar-content": "Sugar",
|
||||
"title": "Title",
|
||||
"total-time": "Total Time",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe",
|
||||
"view-recipe": "View Recipe"
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Add a New Theme",
|
||||
"admin-settings": "Admin Settings",
|
||||
"available-backups": "Available Backups",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-tag": "Backup Tag",
|
||||
"create-heading": "Create a Backup",
|
||||
"delete-backup": "Delete Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Full Backup",
|
||||
"import-summary": "Import Summary",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.",
|
||||
"change-password": "Change Password",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Custom Pages",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Site Settings",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.",
|
||||
"dark": "Dark",
|
||||
"dark-mode": "Dark Mode",
|
||||
"default-to-system": "Default to system",
|
||||
"delete-theme": "Delete Theme",
|
||||
"error": "Error",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Light",
|
||||
"primary": "Primary",
|
||||
"secondary": "Secondary",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.",
|
||||
"success": "Success",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Theme",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"theme-name": "Theme Name",
|
||||
"theme-name-is-required": "Theme Name is required.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-settings": "Theme Settings",
|
||||
"theme-updated": "Theme updated",
|
||||
"warning": "Warning"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Unorganized"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Meal Planner Webhooks",
|
||||
"test-webhooks": "Test Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at",
|
||||
"webhook-url": "Webhook URL",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Categories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profile",
|
||||
"search": "Search",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Display Name",
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Full Name",
|
||||
"incorrect-username-or-password": "Incorrect username or password",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 sidan kan inte hittas",
|
||||
"take-me-home": "Ta mig hem"
|
||||
},
|
||||
"about": {
|
||||
"about": "Om",
|
||||
"about-mealie": "Om Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Hjälp",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Tillgångar",
|
||||
"code": "Kod",
|
||||
"file": "Fil",
|
||||
"image": "Bild",
|
||||
"new-asset": "Ny tillgång",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recept",
|
||||
"show-assets": "Visa tillgångar"
|
||||
},
|
||||
"category": {
|
||||
"category": "Kategori",
|
||||
"category-created": "Kategori skapad",
|
||||
"category-creation-failed": "Kategori misslyckades",
|
||||
"category-deleted": "Kategori raderad",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Databas",
|
||||
"delete-event": "Radera händelse",
|
||||
"new-notification-form-description": "Mealie använder Apprise-biblioteket för att generera aviseringar. De erbjuder många alternativ för tjänster att använda för aviseringar. Se deras wiki för en omfattande guide om hur du skapar URL för din tjänst. Om det är tillgängligt kan det vara extra funktioner att välja typ av anmälan.",
|
||||
"new-version": "Uppdatering tillgänglig!",
|
||||
"notification": "Notifiering",
|
||||
"refresh": "Uppdatera",
|
||||
"scheduled": "Schemalagd",
|
||||
"something-went-wrong": "Hmmm, något blev fel!",
|
||||
"subscribed-events": "Prenumererade händelser",
|
||||
"test-message-sent": "Test meddelande skickat",
|
||||
"refresh": "Uppdatera",
|
||||
"new-version": "Uppdatering tillgänglig!"
|
||||
"test-message-sent": "Test meddelande skickat"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Utför",
|
||||
"cancel": "Avbryt",
|
||||
"clear": "Rensa",
|
||||
"close": "Stäng",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Kopierad",
|
||||
"create": "Skapa",
|
||||
"created": "Skapad",
|
||||
"current-parenthesis": "(Nuvarande)",
|
||||
"custom": "Anpassad",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Ta bort",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Fredag",
|
||||
"general": "Allmänt",
|
||||
"get": "Hämta",
|
||||
"home": "Startsida",
|
||||
"image": "Bild",
|
||||
"image-upload-failed": "Bild uppladdning misslyckad",
|
||||
"import": "Importera",
|
||||
"json": "JSON",
|
||||
"keyword": "Nyckelord",
|
||||
"link": "Länk",
|
||||
"link-copied": "Länk kopierad",
|
||||
"loading-recipes": "Laddar recept",
|
||||
"monday": "Måndag",
|
||||
"more": "Se mer",
|
||||
"name": "Namn",
|
||||
"new": "Ny",
|
||||
"no": "Nej",
|
||||
"no-recipe-found": "Inga recept hittades",
|
||||
"ok": "Ok",
|
||||
"options": "Alternativ:",
|
||||
"print": "Skriv ut",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Grupp ID: {groupID}",
|
||||
"group-name": "Gruppnamn",
|
||||
"group-not-found": "Grupp ej funnen",
|
||||
"group-with-value": "Grupp: {groupID}",
|
||||
"groups": "Grupper",
|
||||
"groups-can-only-be-set-by-administrators": "Grupper kan endast väljas av administratörer",
|
||||
"manage-groups": "Hantera grupper",
|
||||
"user-group": "Användargrupp",
|
||||
"user-group-created": "Användargrupp skapad",
|
||||
@@ -154,7 +159,7 @@
|
||||
"edit-meal-plan": "Redigera måltidsplan",
|
||||
"end-date": "Slutdatum",
|
||||
"group": "Grupp (Beta)",
|
||||
"main": "Main",
|
||||
"main": "Startsida",
|
||||
"meal-planner": "Måltidsplanering",
|
||||
"meal-plans": "Måltidsplaner",
|
||||
"mealplan-categories": "Målplans kategorier",
|
||||
@@ -170,8 +175,8 @@
|
||||
"only-recipes-with-these-categories-will-be-used-in-meal-plans": "Endast recept med dessa kategorier kommer att användas i måltidsplaner",
|
||||
"planner": "Planeringkalender",
|
||||
"quick-week": "Snabb vecka",
|
||||
"side": "Side",
|
||||
"sides": "Sides",
|
||||
"side": "Sida",
|
||||
"sides": "Sidor",
|
||||
"start-date": "Startdatum"
|
||||
},
|
||||
"migration": {
|
||||
@@ -192,13 +197,20 @@
|
||||
"error-details": "Endast webbplatser som innehåller ld+json eller mikrodata kan importeras av Mealie. De flesta större receptwebbplatser stöder denna datastruktur. Om din webbplats inte kan importeras men det finns json data i loggen, skicka in en github problem med URL och data.",
|
||||
"error-title": "Vi hittade inget",
|
||||
"from-url": "Från länk",
|
||||
"github-issues": "GitHub problem",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Måste vara en korrekt URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Klistra in din receptdata, varje rad kommer att hanteras som ett listelement",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "Recept URL",
|
||||
"url-form-hint": "Kopiera och klistra in en länk från din favorit recept webbplats"
|
||||
"upload-a-recipe": "Ladda upp ett recept",
|
||||
"upload-individual-zip-file": "Ladda upp en individuell .zip-fil som exporteras från en annan Mealie-instans.",
|
||||
"url-form-hint": "Kopiera och klistra in en länk från din favorit recept webbplats",
|
||||
"view-scraped-data": "Visa skrotade data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 sidan hittades inte",
|
||||
"all-recipes": "Alla recept",
|
||||
"home-page": "Startsida",
|
||||
"new-page-created": "Ny sida skapad",
|
||||
"page": "Sida",
|
||||
"page-creation-failed": "Sidan gick inte att skapa",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Sidan gick inte att uppdatera",
|
||||
"page-updated": "Sida uppdaterad",
|
||||
"pages-update-failed": "Gick inte att uppdatera sidan",
|
||||
"pages-updated": "Sidor uppdaterad",
|
||||
"recent": "Senaste"
|
||||
"pages-updated": "Sidor uppdaterad"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Lägg till nyckel",
|
||||
"add-to-favorites": "Lägg till i favoriter",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Tillgångar",
|
||||
"calories": "Kalorier",
|
||||
"calories-suffix": "kalorier",
|
||||
"carbohydrate-content": "Kolhydrat",
|
||||
@@ -231,16 +241,14 @@
|
||||
"grams": "gram",
|
||||
"ingredient": "Ingrediens",
|
||||
"ingredients": "Ingredienser",
|
||||
"insert-section": "Insert Section",
|
||||
"insert-section": "Infoga avdelning",
|
||||
"instructions": "Instruktioner",
|
||||
"key-name-required": "Nyckelnamn krävs",
|
||||
"landscape-view-coming-soon": "Landskapsvy (kommer snart)",
|
||||
"milligrams": "milligram",
|
||||
"new-asset": "Ny tillgång",
|
||||
"new-key-name": "Nytt nyckelnamn",
|
||||
"no-white-space-allowed": "Inget vitt utrymme tillåtet",
|
||||
"note": "Anteckning",
|
||||
"notes": "Anteckningar",
|
||||
"nutrition": "Näring",
|
||||
"object-key": "Målnyckel",
|
||||
"object-value": "Objekt värde",
|
||||
@@ -259,19 +267,18 @@
|
||||
"recipe-update-failed": "Receptet gick inte att uppdatera",
|
||||
"recipe-updated": "Recept uppdaterad",
|
||||
"remove-from-favorites": "Ta bort från favoriter",
|
||||
"remove-section": "Remove Section",
|
||||
"section-title": "Section Title",
|
||||
"remove-section": "Ta bort avdelning",
|
||||
"save-recipe-before-use": "Spara recept innan användning",
|
||||
"section-title": "Avdelningens rubrik",
|
||||
"servings": "Portioner",
|
||||
"share-recipe-message": "Jag vill dela mitt {0} recept med dig.",
|
||||
"show-assets": "Visa tillgångar",
|
||||
"show-nutrition-values": "Visa näringsvärde",
|
||||
"sodium-content": "Natrium",
|
||||
"step-index": "Steg: {step}",
|
||||
"sugar-content": "Socker",
|
||||
"title": "Titel",
|
||||
"total-time": "Total tid",
|
||||
"unable-to-delete-recipe": "Gick inte att radera receptet",
|
||||
"view-recipe": "Visa recept"
|
||||
"unable-to-delete-recipe": "Gick inte att radera receptet"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "Inget recept"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Lägg till ett nytt tema",
|
||||
"admin-settings": "Administratörsinställningar",
|
||||
"available-backups": "Tillgängliga backuper",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup skapad {path}",
|
||||
"backup-deleted": "Backup raderad",
|
||||
"backup-tag": "Backup tagg",
|
||||
"create-heading": "Skapa en säkerhetskopia",
|
||||
"delete-backup": "Ta bort säkerhetskopian",
|
||||
"error-creating-backup-see-log-file": "Fel vid skapande av backup. Se loggfil",
|
||||
"full-backup": "Komplett backup",
|
||||
"import-summary": "Import sammanfattning",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Kan inte radera backup."
|
||||
},
|
||||
"backup-and-exports": "Backuper",
|
||||
"backup-info": "Säkerhetskopior exporteras i JSON-format tillsammans med de bilder som finns i systemet. I din mapp för säkerhetskopior finner du en zip-fil som innehåller alla recept i JSON samt bilder från databasen. Om du dessutom valde att exportera till markdown så hittas också de i samma zip-fil. För att importera en säkerhetskopia så måste den ligga i din backup-mapp. Automatisk säkerhetskopiering genomförs varje dag kl. 03:00.",
|
||||
"change-password": "Ändra lösenord",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Anpassad sida",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Systeminställningar",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Är du säker på att du vill radera temat?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Välj hur Mealie ska se ut för dig. Låt Mealie följa dina systeminställningar, eller välj mörkt eller ljust tema.",
|
||||
"dark": "Mörkt",
|
||||
"dark-mode": "Mörkt läge",
|
||||
"default-to-system": "Standard",
|
||||
"delete-theme": "Radera tema",
|
||||
"error": "Fel",
|
||||
"error-creating-theme-see-log-file": "Fel vid skapande av tema. Se loggfil.",
|
||||
"error-deleting-theme": "Fel vid borttagning av tema",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Ljust",
|
||||
"primary": "Primär",
|
||||
"secondary": "Sekundär",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Välj ett tema från menyn eller skapa ett nytt. Standardtemat kommer att användas för alla användare som inte gjort något val.",
|
||||
"success": "Klart",
|
||||
"switch-to-dark-mode": "Växla till mörkt ljust",
|
||||
"switch-to-light-mode": "Växla till ljust läge",
|
||||
"theme": "Tema",
|
||||
"theme-deleted": "Tema raderat",
|
||||
"theme-name": "Tema namn",
|
||||
"theme-name-is-required": "Tema namn krävs.",
|
||||
"theme-saved": "Tema sparat",
|
||||
"theme-settings": "Temainställningar",
|
||||
"theme-updated": "Tema uppdaterat",
|
||||
"warning": "Varning"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Okategoriserad"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Webhooks för denna måltidsplan",
|
||||
"test-webhooks": "Testa Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "Följande URLer kommer att mottaga webhooks med receptdata för dagens planerade måltid. Datan kommer att skickas klockan <strong>{ time }</strong>",
|
||||
"webhook-url": "Webhook URL",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Inköpslista",
|
||||
"shopping-lists": "Inköpslistor"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "Alla recept",
|
||||
"categories": "Kategorier",
|
||||
"dashboard": "Startsida",
|
||||
"home-page": "Startsida",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Importer",
|
||||
"profile": "Profil",
|
||||
"search": "Sök",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Taggar",
|
||||
"toolbox": "Verktygslåda"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Visningsnamn",
|
||||
"error-signing-up": "Fel vid registreringen",
|
||||
"sign-up": "Skapa konto",
|
||||
"sign-up-link-created": "Registreringslänk skapad",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Fel! Det går inte att ta bort superanvändare",
|
||||
"existing-password-does-not-match": "Befintligt lösenord matchar inte",
|
||||
"full-name": "Fullständigt namn",
|
||||
"incorrect-username-or-password": "Felaktigt användarnamn eller lösenord",
|
||||
"link-id": "Länk ID",
|
||||
"link-name": "Länk namn",
|
||||
"login": "Login",
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"404": {
|
||||
"page-not-found": "404 Page Not Found",
|
||||
"take-me-home": "Take me Home"
|
||||
},
|
||||
"about": {
|
||||
"about": "About",
|
||||
"about-mealie": "About Mealie",
|
||||
@@ -26,8 +22,17 @@
|
||||
"support": "Support",
|
||||
"version": "Version"
|
||||
},
|
||||
"asset": {
|
||||
"assets": "Assets",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"new-asset": "New Asset",
|
||||
"pdf": "PDF",
|
||||
"recipe": "Recipe",
|
||||
"show-assets": "Show Assets"
|
||||
},
|
||||
"category": {
|
||||
"category": "Category",
|
||||
"category-created": "Category created",
|
||||
"category-creation-failed": "Category creation failed",
|
||||
"category-deleted": "Category Deleted",
|
||||
@@ -40,17 +45,17 @@
|
||||
"events": {
|
||||
"apprise-url": "Apprise URL",
|
||||
"database": "Database",
|
||||
"delete-event": "Delete Event",
|
||||
"new-notification-form-description": "Mealie uses the Apprise library to generate notifications. They offer many options for services to use for notifications. Refer to their wiki for a comprehensive guide on how to create the URL for your service. If available, selecting the type of your notification may include extra features.",
|
||||
"new-version": "New version available!",
|
||||
"notification": "Notification",
|
||||
"refresh": "Refresh",
|
||||
"scheduled": "Scheduled",
|
||||
"something-went-wrong": "Something Went Wrong!",
|
||||
"subscribed-events": "Subscribed Events",
|
||||
"test-message-sent": "Test Message Sent",
|
||||
"refresh": "Refresh",
|
||||
"new-version": "New version available!"
|
||||
"test-message-sent": "Test Message Sent"
|
||||
},
|
||||
"general": {
|
||||
"apply": "Apply",
|
||||
"cancel": "Cancel",
|
||||
"clear": "Clear",
|
||||
"close": "Close",
|
||||
@@ -59,7 +64,6 @@
|
||||
"copied": "Copied",
|
||||
"create": "Create",
|
||||
"created": "Created",
|
||||
"current-parenthesis": "(Current)",
|
||||
"custom": "Custom",
|
||||
"dashboard": "Dashboard",
|
||||
"delete": "Delete",
|
||||
@@ -78,18 +82,19 @@
|
||||
"friday": "Friday",
|
||||
"general": "General",
|
||||
"get": "Get",
|
||||
"home": "Home",
|
||||
"image": "Image",
|
||||
"image-upload-failed": "Image upload failed",
|
||||
"import": "Import",
|
||||
"json": "JSON",
|
||||
"keyword": "Keyword",
|
||||
"link": "Link",
|
||||
"link-copied": "Link Copied",
|
||||
"loading-recipes": "Loading Recipes",
|
||||
"monday": "Monday",
|
||||
"more": "More",
|
||||
"name": "Name",
|
||||
"new": "New",
|
||||
"no": "No",
|
||||
"no-recipe-found": "No Recipe Found",
|
||||
"ok": "OK",
|
||||
"options": "Options:",
|
||||
"print": "Print",
|
||||
@@ -139,8 +144,8 @@
|
||||
"group-id-with-value": "Group ID: {groupID}",
|
||||
"group-name": "Group Name",
|
||||
"group-not-found": "Group not found",
|
||||
"group-with-value": "Group: {groupID}",
|
||||
"groups": "Groups",
|
||||
"groups-can-only-be-set-by-administrators": "Groups can only be set by administrators",
|
||||
"manage-groups": "Manage Groups",
|
||||
"user-group": "User Group",
|
||||
"user-group-created": "User Group Created",
|
||||
@@ -189,16 +194,23 @@
|
||||
},
|
||||
"new-recipe": {
|
||||
"bulk-add": "Bulk Add",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-details": "Only websites containing ld+json or microdata can be imported by Mealie. Most major recipe websites support this data structure. If your site cannot be imported but there is json data in the log, please submit a github issue with the URL and data.",
|
||||
"error-title": "Looks Like We Couldn't Find Anything",
|
||||
"from-url": "Import a Recipe",
|
||||
"github-issues": "GitHub Issues",
|
||||
"google-ld-json-info": "Google ld+json Info",
|
||||
"must-be-a-valid-url": "Must be a Valid URL",
|
||||
"paste-in-your-recipe-data-each-line-will-be-treated-as-an-item-in-a-list": "Paste in your recipe data. Each line will be treated as an item in a list",
|
||||
"recipe-markup-specification": "Recipe Markup Specification",
|
||||
"recipe-url": "Recipe URL",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website"
|
||||
"upload-a-recipe": "Upload a Recipe",
|
||||
"upload-individual-zip-file": "Upload an individual .zip file exported from another Mealie instance.",
|
||||
"url-form-hint": "Copy and paste a link from your favorite recipe website",
|
||||
"view-scraped-data": "View Scraped Data"
|
||||
},
|
||||
"page": {
|
||||
"404-page-not-found": "404 Page not found",
|
||||
"all-recipes": "All Recipes",
|
||||
"home-page": "Home Page",
|
||||
"new-page-created": "New page created",
|
||||
"page": "Page",
|
||||
"page-creation-failed": "Page creation failed",
|
||||
@@ -207,14 +219,12 @@
|
||||
"page-update-failed": "Page update failed",
|
||||
"page-updated": "Page updated",
|
||||
"pages-update-failed": "Pages update failed",
|
||||
"pages-updated": "Pages updated",
|
||||
"recent": "Recent"
|
||||
"pages-updated": "Pages updated"
|
||||
},
|
||||
"recipe": {
|
||||
"add-key": "Add Key",
|
||||
"add-to-favorites": "Add to Favorites",
|
||||
"api-extras": "API Extras",
|
||||
"assets": "Assets",
|
||||
"calories": "Calories",
|
||||
"calories-suffix": "calories",
|
||||
"carbohydrate-content": "Carbohydrate",
|
||||
@@ -236,11 +246,9 @@
|
||||
"key-name-required": "Key Name Required",
|
||||
"landscape-view-coming-soon": "Landscape View (Coming Soon)",
|
||||
"milligrams": "milligrams",
|
||||
"new-asset": "New Asset",
|
||||
"new-key-name": "New Key Name",
|
||||
"no-white-space-allowed": "No White Space Allowed",
|
||||
"note": "Note",
|
||||
"notes": "Notes",
|
||||
"nutrition": "Nutrition",
|
||||
"object-key": "Object Key",
|
||||
"object-value": "Object Value",
|
||||
@@ -260,18 +268,17 @@
|
||||
"recipe-updated": "Recipe updated",
|
||||
"remove-from-favorites": "Remove from Favorites",
|
||||
"remove-section": "Remove Section",
|
||||
"save-recipe-before-use": "Save recipe before use",
|
||||
"section-title": "Section Title",
|
||||
"servings": "Servings",
|
||||
"share-recipe-message": "I wanted to share my {0} recipe with you.",
|
||||
"show-assets": "Show Assets",
|
||||
"show-nutrition-values": "Show Nutrition Values",
|
||||
"sodium-content": "Sodium",
|
||||
"step-index": "Step: {step}",
|
||||
"sugar-content": "Sugar",
|
||||
"title": "Title",
|
||||
"total-time": "Total Time",
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe",
|
||||
"view-recipe": "View Recipe"
|
||||
"unable-to-delete-recipe": "Unable to Delete Recipe"
|
||||
},
|
||||
"reicpe": {
|
||||
"no-recipe": "No Recipe"
|
||||
@@ -292,12 +299,12 @@
|
||||
"settings": {
|
||||
"add-a-new-theme": "Add a New Theme",
|
||||
"admin-settings": "Admin Settings",
|
||||
"available-backups": "Available Backups",
|
||||
"backup": {
|
||||
"backup-created-at-response-export_path": "Backup Created at {path}",
|
||||
"backup-deleted": "Backup deleted",
|
||||
"backup-tag": "Backup Tag",
|
||||
"create-heading": "Create a Backup",
|
||||
"delete-backup": "Delete Backup",
|
||||
"error-creating-backup-see-log-file": "Error Creating Backup. See Log File",
|
||||
"full-backup": "Full Backup",
|
||||
"import-summary": "Import Summary",
|
||||
@@ -305,7 +312,6 @@
|
||||
"unable-to-delete-backup": "Unable to Delete Backup."
|
||||
},
|
||||
"backup-and-exports": "Backups",
|
||||
"backup-info": "Backups are exported in standard JSON format along with all the images stored on the file system. In your backup folder you'll find a .zip file that contains all of the recipe JSON and images from the database. Additionally, if you selected a markdown file, those will also be stored in the .zip file. To import a backup, it must be located in your backups folder. Automated backups are done each day at 3:00 AM.",
|
||||
"change-password": "Change Password",
|
||||
"current": "Version:",
|
||||
"custom-pages": "Custom Pages",
|
||||
@@ -338,12 +344,8 @@
|
||||
"site-settings": "Site Settings",
|
||||
"theme": {
|
||||
"accent": "Accent",
|
||||
"are-you-sure-you-want-to-delete-this-theme": "Are you sure you want to delete this theme?",
|
||||
"choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme": "Choose how Mealie looks to you. Set your theme preference to follow your system settings, or choose to use the light or dark theme.",
|
||||
"dark": "Dark",
|
||||
"dark-mode": "Dark Mode",
|
||||
"default-to-system": "Default to system",
|
||||
"delete-theme": "Delete Theme",
|
||||
"error": "Error",
|
||||
"error-creating-theme-see-log-file": "Error creating theme. See log file.",
|
||||
"error-deleting-theme": "Error deleting theme",
|
||||
@@ -352,16 +354,13 @@
|
||||
"light": "Light",
|
||||
"primary": "Primary",
|
||||
"secondary": "Secondary",
|
||||
"select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference": "Select a theme from the dropdown or create a new theme. Note that the default theme will be served to all users who have not set a theme preference.",
|
||||
"success": "Success",
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"theme": "Theme",
|
||||
"theme-deleted": "Theme deleted",
|
||||
"theme-name": "Theme Name",
|
||||
"theme-name-is-required": "Theme Name is required.",
|
||||
"theme-saved": "Theme Saved",
|
||||
"theme-settings": "Theme Settings",
|
||||
"theme-updated": "Theme updated",
|
||||
"warning": "Warning"
|
||||
},
|
||||
@@ -385,7 +384,6 @@
|
||||
"unorganized": "Unorganized"
|
||||
},
|
||||
"webhooks": {
|
||||
"meal-planner-webhooks": "Meal Planner Webhooks",
|
||||
"test-webhooks": "Test Webhooks",
|
||||
"the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at": "The URLs listed below will receive webhooks containing the recipe data for the meal plan on it's scheduled day. Currently Webhooks will execute at",
|
||||
"webhook-url": "Webhook URL",
|
||||
@@ -402,8 +400,20 @@
|
||||
"shopping-list": "Shopping List",
|
||||
"shopping-lists": "Shopping Lists"
|
||||
},
|
||||
"sidebar": {
|
||||
"all-recipes": "All Recipes",
|
||||
"categories": "Categories",
|
||||
"dashboard": "Dashboard",
|
||||
"home-page": "Home Page",
|
||||
"manage-users": "Manage Users",
|
||||
"migrations": "Migrations",
|
||||
"profile": "Profile",
|
||||
"search": "Search",
|
||||
"site-settings": "Site Settings",
|
||||
"tags": "Tags",
|
||||
"toolbox": "Toolbox"
|
||||
},
|
||||
"signup": {
|
||||
"display-name": "Display Name",
|
||||
"error-signing-up": "Error Signing Up",
|
||||
"sign-up": "Sign Up",
|
||||
"sign-up-link-created": "Sign up link created",
|
||||
@@ -440,7 +450,6 @@
|
||||
"error-cannot-delete-super-user": "Error! Cannot Delete Super User",
|
||||
"existing-password-does-not-match": "Existing password does not match",
|
||||
"full-name": "Full Name",
|
||||
"incorrect-username-or-password": "Incorrect username or password",
|
||||
"link-id": "Link ID",
|
||||
"link-name": "Link Name",
|
||||
"login": "Login",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user