Merge branch 'dependabot/npm_and_yarn/eslint-config-next-13.4.4' of github.com:meienberger/runtipi into dependabot/npm_and_yarn/eslint-config-next-13.4.4

This commit is contained in:
Nicolas Meienberger 2023-05-31 08:19:57 +02:00
commit 7813fd4c67
11 changed files with 650 additions and 605 deletions

View file

@ -245,6 +245,42 @@
"contributions": [
"translation"
]
},
{
"login": "Bvoxl",
"name": "Bvoxl",
"avatar_url": "https://avatars.githubusercontent.com/u/67489519?v=4",
"profile": "https://github.com/Bvoxl",
"contributions": [
"translation"
]
},
{
"login": "m-lab-0",
"name": "m-lab-0",
"avatar_url": "https://avatars.githubusercontent.com/u/116570617?v=4",
"profile": "https://github.com/m-lab-0",
"contributions": [
"translation"
]
},
{
"login": "dannkunt",
"name": "dannkunt",
"avatar_url": "https://avatars.githubusercontent.com/u/32395839?v=4",
"profile": "https://github.com/dannkunt",
"contributions": [
"translation"
]
},
{
"login": "Schmanko",
"name": "Schmanko",
"avatar_url": "https://avatars.githubusercontent.com/u/94195393?v=4",
"profile": "https://github.com/Schmanko",
"contributions": [
"translation"
]
}
],
"contributorsPerLine": 7,
@ -253,5 +289,6 @@
"repoType": "github",
"repoHost": "https://github.com",
"skipCi": true,
"commitConvention": "angular"
"commitConvention": "angular",
"commitType": "docs"
}

View file

@ -34,7 +34,7 @@ jobs:
echo "::set-output name=tag::${TAG}"
- name: Build and push images
uses: docker/build-push-action@v3
uses: docker/build-push-action@v4
with:
context: .
platforms: linux/amd64,linux/arm64

View file

@ -30,7 +30,7 @@ jobs:
echo "::set-output name=tag::${TAG}"
- name: Build and push images
uses: docker/build-push-action@v3
uses: docker/build-push-action@v4
with:
context: .
platforms: linux/amd64,linux/arm64

View file

@ -1,7 +1,7 @@
# Tipi — A personal homeserver for everyone
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-25-orange.svg?style=flat-square)](#contributors-)
[![All Contributors](https://img.shields.io/badge/all_contributors-29-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
[![License](https://img.shields.io/github/license/meienberger/runtipi)](https://github.com/meienberger/runtipi/blob/master/LICENSE)
@ -105,6 +105,12 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<td align="center" valign="top" width="14.28%"><a href="https://github.com/sclaren"><img src="https://avatars.githubusercontent.com/u/915292?v=4?s=100" width="100px;" alt="sclaren"/><br /><sub><b>sclaren</b></sub></a><br /><a href="https://github.com/meienberger/runtipi/commits?author=sclaren" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/mcmeel"><img src="https://avatars.githubusercontent.com/u/13773536?v=4?s=100" width="100px;" alt="mcmeel"/><br /><sub><b>mcmeel</b></sub></a><br /><a href="#question-mcmeel" title="Answering Questions">💬</a> <a href="#ideas-mcmeel" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/meienberger/runtipi/commits?author=mcmeel" title="Code">💻</a> <a href="https://github.com/meienberger/runtipi/commits?author=mcmeel" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/NoisyFridge"><img src="https://avatars.githubusercontent.com/u/73795785?v=4?s=100" width="100px;" alt="NoisyFridge"/><br /><sub><b>NoisyFridge</b></sub></a><br /><a href="#translation-NoisyFridge" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Bvoxl"><img src="https://avatars.githubusercontent.com/u/67489519?v=4?s=100" width="100px;" alt="Bvoxl"/><br /><sub><b>Bvoxl</b></sub></a><br /><a href="#translation-Bvoxl" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/m-lab-0"><img src="https://avatars.githubusercontent.com/u/116570617?v=4?s=100" width="100px;" alt="m-lab-0"/><br /><sub><b>m-lab-0</b></sub></a><br /><a href="#translation-m-lab-0" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/dannkunt"><img src="https://avatars.githubusercontent.com/u/32395839?v=4?s=100" width="100px;" alt="dannkunt"/><br /><sub><b>dannkunt</b></sub></a><br /><a href="#translation-dannkunt" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Schmanko"><img src="https://avatars.githubusercontent.com/u/94195393?v=4?s=100" width="100px;" alt="Schmanko"/><br /><sub><b>Schmanko</b></sub></a><br /><a href="#translation-Schmanko" title="Translation">🌍</a></td>
</tr>
</tbody>
</table>

View file

@ -4,7 +4,7 @@ services:
reverse-proxy:
container_name: reverse-proxy
image: traefik:v2.8
restart: unless-stopped
restart: on-failure
ports:
- ${NGINX_PORT-80}:80
- ${NGINX_PORT_SSL-443}:443
@ -19,7 +19,7 @@ services:
tipi-db:
container_name: tipi-db
image: postgres:14
restart: unless-stopped
restart: on-failure
stop_grace_period: 1m
volumes:
- ${PWD}/data/postgres:/var/lib/postgresql/data
@ -38,7 +38,7 @@ services:
tipi-redis:
container_name: tipi-redis
image: redis:alpine
restart: unless-stopped
restart: on-failure
volumes:
- ./data/redis:/data
healthcheck:
@ -51,7 +51,7 @@ services:
dashboard:
image: meienberger/runtipi:${TIPI_VERSION}
restart: unless-stopped
restart: on-failure
container_name: dashboard
networks:
- tipi_main_network

View file

@ -1,6 +1,6 @@
{
"name": "runtipi",
"version": "1.4.1",
"version": "1.4.2",
"description": "A homeserver for everyone",
"scripts": {
"copy:migrations": "mkdir -p dist/migrations && cp -r ./src/server/migrations dist",
@ -54,7 +54,7 @@
"isomorphic-fetch": "^3.0.0",
"js-cookie": "^3.0.5",
"lodash.merge": "^4.6.2",
"next": "13.4.3",
"next": "13.4.4",
"next-intl": "^2.14.2",
"node-cron": "^3.0.1",
"node-fetch-commonjs": "^3.2.4",
@ -98,10 +98,10 @@
"@types/jest": "^29.5.1",
"@types/js-cookie": "^3.0.3",
"@types/lodash.merge": "^4.6.7",
"@types/node": "20.2.1",
"@types/node": "20.2.5",
"@types/node-cron": "^3.0.2",
"@types/pg": "^8.6.6",
"@types/react": "18.2.6",
"@types/react": "18.2.7",
"@types/react-dom": "18.2.4",
"@types/semver": "^7.5.0",
"@types/supertest": "^2.0.12",

281
pnpm-lock.yaml generated
View file

@ -15,10 +15,10 @@ dependencies:
version: 12.0.1
'@radix-ui/react-dialog':
specifier: ^1.0.3
version: 1.0.3(@types/react@18.2.6)(react-dom@18.2.0)(react@18.2.0)
version: 1.0.3(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-select':
specifier: ^1.2.1
version: 1.2.1(@types/react@18.2.6)(react-dom@18.2.0)(react@18.2.0)
version: 1.2.1(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-switch':
specifier: ^1.0.2
version: 1.0.2(react-dom@18.2.0)(react@18.2.0)
@ -45,7 +45,7 @@ dependencies:
version: 10.27.1(@trpc/server@10.27.1)
'@trpc/next':
specifier: ^10.27.1
version: 10.27.1(@tanstack/react-query@4.29.7)(@trpc/client@10.27.1)(@trpc/react-query@10.27.1)(@trpc/server@10.27.1)(next@13.4.3)(react-dom@18.2.0)(react@18.2.0)
version: 10.27.1(@tanstack/react-query@4.29.7)(@trpc/client@10.27.1)(@trpc/react-query@10.27.1)(@trpc/server@10.27.1)(next@13.4.4)(react-dom@18.2.0)(react@18.2.0)
'@trpc/react-query':
specifier: ^10.27.1
version: 10.27.1(@tanstack/react-query@4.29.7)(@trpc/client@10.27.1)(@trpc/server@10.27.1)(react-dom@18.2.0)(react@18.2.0)
@ -83,11 +83,11 @@ dependencies:
specifier: ^4.6.2
version: 4.6.2
next:
specifier: 13.4.3
version: 13.4.3(@babel/core@7.21.8)(react-dom@18.2.0)(react@18.2.0)(sass@1.62.1)
specifier: 13.4.4
version: 13.4.4(@babel/core@7.21.8)(react-dom@18.2.0)(react@18.2.0)(sass@1.62.1)
next-intl:
specifier: ^2.14.2
version: 2.14.2(next@13.4.3)(react@18.2.0)
version: 2.14.2(next@13.4.4)(react@18.2.0)
node-cron:
specifier: ^3.0.1
version: 3.0.2
@ -114,10 +114,10 @@ dependencies:
version: 2.4.1(csstype@3.1.1)(react-dom@18.2.0)(react@18.2.0)
react-markdown:
specifier: ^8.0.7
version: 8.0.7(@types/react@18.2.6)(react@18.2.0)
version: 8.0.7(@types/react@18.2.7)(react@18.2.0)
react-select:
specifier: ^5.7.3
version: 5.7.3(@types/react@18.2.6)(react-dom@18.2.0)(react@18.2.0)
version: 5.7.3(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0)
react-tooltip:
specifier: ^5.13.1
version: 5.13.1(react-dom@18.2.0)(react@18.2.0)
@ -211,8 +211,8 @@ devDependencies:
specifier: ^4.6.7
version: 4.6.7
'@types/node':
specifier: 20.2.1
version: 20.2.1
specifier: 20.2.5
version: 20.2.5
'@types/node-cron':
specifier: ^3.0.2
version: 3.0.7
@ -220,8 +220,8 @@ devDependencies:
specifier: ^8.6.6
version: 8.6.6
'@types/react':
specifier: 18.2.6
version: 18.2.6
specifier: 18.2.7
version: 18.2.7
'@types/react-dom':
specifier: 18.2.4
version: 18.2.4
@ -268,8 +268,8 @@ devDependencies:
specifier: ^17.0.0
version: 17.0.0(@typescript-eslint/eslint-plugin@5.59.6)(@typescript-eslint/parser@5.59.6)(eslint-plugin-import@2.27.5)(eslint@8.41.0)
eslint-config-next:
specifier: 13.4.3
version: 13.4.3(eslint@8.41.0)(typescript@5.0.4)
specifier: 13.4.4
version: 13.4.4(eslint@8.41.0)(typescript@5.0.4)
eslint-config-prettier:
specifier: ^8.8.0
version: 8.8.0(eslint@8.41.0)
@ -302,7 +302,7 @@ devDependencies:
version: 5.11.0(eslint@8.41.0)(typescript@5.0.4)
jest:
specifier: ^29.5.0
version: 29.5.0(@types/node@20.2.1)(ts-node@10.9.1)
version: 29.5.0(@types/node@20.2.5)(ts-node@10.9.1)
jest-environment-jsdom:
specifier: ^29.5.0
version: 29.5.0
@ -311,7 +311,7 @@ devDependencies:
version: 1.2.1(typescript@5.0.4)
next-router-mock:
specifier: ^0.9.3
version: 0.9.3(next@13.4.3)(react@18.2.0)
version: 0.9.3(next@13.4.4)(react@18.2.0)
nodemon:
specifier: ^2.0.22
version: 2.0.22
@ -326,7 +326,7 @@ devDependencies:
version: 29.1.0(@babel/core@7.21.8)(esbuild@0.16.17)(jest@29.5.0)(typescript@5.0.4)
ts-node:
specifier: ^10.9.1
version: 10.9.1(@types/node@20.2.1)(typescript@5.0.4)
version: 10.9.1(@types/node@20.2.5)(typescript@5.0.4)
typescript:
specifier: 5.0.4
version: 5.0.4
@ -736,7 +736,7 @@ packages:
resolution: {integrity: sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==}
dev: false
/@emotion/react@11.10.6(@types/react@18.2.6)(react@18.2.0):
/@emotion/react@11.10.6(@types/react@18.2.7)(react@18.2.0):
resolution: {integrity: sha512-6HT8jBmcSkfzO7mc+N1L9uwvOnlcGoix8Zn7srt+9ga0MjREo6lRpuVX0kzo6Jp6oTqDhREOFsygN6Ew4fEQbw==}
peerDependencies:
'@types/react': '*'
@ -752,7 +752,7 @@ packages:
'@emotion/use-insertion-effect-with-fallbacks': 1.0.0(react@18.2.0)
'@emotion/utils': 1.2.0
'@emotion/weak-memoize': 0.3.0
'@types/react': 18.2.6
'@types/react': 18.2.7
hoist-non-react-statics: 3.3.2
react: 18.2.0
dev: false
@ -1078,7 +1078,7 @@ packages:
'@floating-ui/core': 1.2.1
dev: false
/@floating-ui/react-dom@0.7.2(@types/react@18.2.6)(react-dom@18.2.0)(react@18.2.0):
/@floating-ui/react-dom@0.7.2(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-1T0sJcpHgX/u4I1OzIEhlcrvkUN8ln39nz7fMoE/2HDHrPiMFoOGR7++GYyfUmIQHkkrTinaeQsO3XWubjSvGg==}
peerDependencies:
react: '>=16.8.0'
@ -1087,7 +1087,7 @@ packages:
'@floating-ui/dom': 0.5.4
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.6)(react@18.2.0)
use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.7)(react@18.2.0)
transitivePeerDependencies:
- '@types/react'
dev: false
@ -1188,7 +1188,7 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@jest/types': 29.5.0
'@types/node': 20.2.1
'@types/node': 20.2.5
chalk: 4.1.2
jest-message-util: 29.5.0
jest-util: 29.5.0
@ -1209,14 +1209,14 @@ packages:
'@jest/test-result': 29.5.0
'@jest/transform': 29.5.0
'@jest/types': 29.5.0
'@types/node': 20.2.1
'@types/node': 20.2.5
ansi-escapes: 4.3.2
chalk: 4.1.2
ci-info: 3.8.0
exit: 0.1.2
graceful-fs: 4.2.10
jest-changed-files: 29.5.0
jest-config: 29.5.0(@types/node@20.2.1)(ts-node@10.9.1)
jest-config: 29.5.0(@types/node@20.2.5)(ts-node@10.9.1)
jest-haste-map: 29.5.0
jest-message-util: 29.5.0
jest-regex-util: 29.4.3
@ -1243,7 +1243,7 @@ packages:
dependencies:
'@jest/fake-timers': 29.5.0
'@jest/types': 29.5.0
'@types/node': 20.2.1
'@types/node': 20.2.5
jest-mock: 29.5.0
dev: true
@ -1270,7 +1270,7 @@ packages:
dependencies:
'@jest/types': 29.5.0
'@sinonjs/fake-timers': 10.0.2
'@types/node': 20.2.1
'@types/node': 20.2.5
jest-message-util: 29.5.0
jest-mock: 29.5.0
jest-util: 29.5.0
@ -1303,7 +1303,7 @@ packages:
'@jest/transform': 29.5.0
'@jest/types': 29.5.0
'@jridgewell/trace-mapping': 0.3.17
'@types/node': 20.2.1
'@types/node': 20.2.5
chalk: 4.1.2
collect-v8-coverage: 1.0.1
exit: 0.1.2
@ -1391,7 +1391,7 @@ packages:
'@jest/schemas': 29.4.3
'@types/istanbul-lib-coverage': 2.0.4
'@types/istanbul-reports': 3.0.1
'@types/node': 20.2.1
'@types/node': 20.2.5
'@types/yargs': 17.0.22
chalk: 4.1.2
dev: true
@ -1477,81 +1477,81 @@ packages:
- supports-color
dev: true
/@next/env@13.4.3:
resolution: {integrity: sha512-pa1ErjyFensznttAk3EIv77vFbfSYT6cLzVRK5jx4uiRuCQo+m2wCFAREaHKIy63dlgvOyMlzh6R8Inu8H3KrQ==}
/@next/env@13.4.4:
resolution: {integrity: sha512-q/y7VZj/9YpgzDe64Zi6rY1xPizx80JjlU2BTevlajtaE3w1LqweH1gGgxou2N7hdFosXHjGrI4OUvtFXXhGLg==}
/@next/eslint-plugin-next@13.4.3:
resolution: {integrity: sha512-5B0uOnh7wyUY9vNNdIA6NUvWozhrZaTMZOzdirYAefqD0ZBK5C/h3+KMYdCKrR7JrXGvVpWnHtv54b3dCzwICA==}
/@next/eslint-plugin-next@13.4.4:
resolution: {integrity: sha512-5jnh7q6I15efnjR/rR+/TGTc9hn53g3JTbEjAMjmeQiExKqEUgIXqrHI5zlTNlNyzCPkBB860/ctxXheZaF2Vw==}
dependencies:
glob: 7.1.7
dev: true
/@next/swc-darwin-arm64@13.4.3:
resolution: {integrity: sha512-yx18udH/ZmR4Bw4M6lIIPE3JxsAZwo04iaucEfA2GMt1unXr2iodHUX/LAKNyi6xoLP2ghi0E+Xi1f4Qb8f1LQ==}
/@next/swc-darwin-arm64@13.4.4:
resolution: {integrity: sha512-xfjgXvp4KalNUKZMHmsFxr1Ug+aGmmO6NWP0uoh4G3WFqP/mJ1xxfww0gMOeMeSq/Jyr5k7DvoZ2Pv+XOITTtw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
requiresBuild: true
optional: true
/@next/swc-darwin-x64@13.4.3:
resolution: {integrity: sha512-Mi8xJWh2IOjryAM1mx18vwmal9eokJ2njY4nDh04scy37F0LEGJ/diL6JL6kTXi0UfUCGbMsOItf7vpReNiD2A==}
/@next/swc-darwin-x64@13.4.4:
resolution: {integrity: sha512-ZY9Ti1hkIwJsxGus3nlubIkvYyB0gNOYxKrfsOrLEqD0I2iCX8D7w8v6QQZ2H+dDl6UT29oeEUdDUNGk4UEpfg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
requiresBuild: true
optional: true
/@next/swc-linux-arm64-gnu@13.4.3:
resolution: {integrity: sha512-aBvtry4bxJ1xwKZ/LVPeBGBwWVwxa4bTnNkRRw6YffJnn/f4Tv4EGDPaVeYHZGQVA56wsGbtA6nZMuWs/EIk4Q==}
/@next/swc-linux-arm64-gnu@13.4.4:
resolution: {integrity: sha512-+KZnDeMShYkpkqAvGCEDeqYTRADJXc6SY1jWXz+Uo6qWQO/Jd9CoyhTJwRSxvQA16MoYzvILkGaDqirkRNctyA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
requiresBuild: true
optional: true
/@next/swc-linux-arm64-musl@13.4.3:
resolution: {integrity: sha512-krT+2G3kEsEUvZoYte3/2IscscDraYPc2B+fDJFipPktJmrv088Pei/RjrhWm5TMIy5URYjZUoDZdh5k940Dyw==}
/@next/swc-linux-arm64-musl@13.4.4:
resolution: {integrity: sha512-evC1twrny2XDT4uOftoubZvW3EG0zs0ZxMwEtu/dDGVRO5n5pT48S8qqEIBGBUZYu/Xx4zzpOkIxx1vpWdE+9A==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
requiresBuild: true
optional: true
/@next/swc-linux-x64-gnu@13.4.3:
resolution: {integrity: sha512-AMdFX6EKJjC0G/CM6hJvkY8wUjCcbdj3Qg7uAQJ7PVejRWaVt0sDTMavbRfgMchx8h8KsAudUCtdFkG9hlEClw==}
/@next/swc-linux-x64-gnu@13.4.4:
resolution: {integrity: sha512-PX706XcCHr2FfkyhP2lpf+pX/tUvq6/ke7JYnnr0ykNdEMo+sb7cC/o91gnURh4sPYSiZJhsF2gbIqg9rciOHQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
requiresBuild: true
optional: true
/@next/swc-linux-x64-musl@13.4.3:
resolution: {integrity: sha512-jySgSXE48shaLtcQbiFO9ajE9mqz7pcAVLnVLvRIlUHyQYR/WyZdK8ehLs65Mz6j9cLrJM+YdmdJPyV4WDaz2g==}
/@next/swc-linux-x64-musl@13.4.4:
resolution: {integrity: sha512-TKUUx3Ftd95JlHV6XagEnqpT204Y+IsEa3awaYIjayn0MOGjgKZMZibqarK3B1FsMSPaieJf2FEAcu9z0yT5aA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
requiresBuild: true
optional: true
/@next/swc-win32-arm64-msvc@13.4.3:
resolution: {integrity: sha512-5DxHo8uYcaADiE9pHrg8o28VMt/1kR8voDehmfs9AqS0qSClxAAl+CchjdboUvbCjdNWL1MISCvEfKY2InJ3JA==}
/@next/swc-win32-arm64-msvc@13.4.4:
resolution: {integrity: sha512-FP8AadgSq4+HPtim7WBkCMGbhr5vh9FePXiWx9+YOdjwdQocwoCK5ZVC3OW8oh3TWth6iJ0AXJ/yQ1q1cwSZ3A==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
requiresBuild: true
optional: true
/@next/swc-win32-ia32-msvc@13.4.3:
resolution: {integrity: sha512-LaqkF3d+GXRA5X6zrUjQUrXm2MN/3E2arXBtn5C7avBCNYfm9G3Xc646AmmmpN3DJZVaMYliMyCIQCMDEzk80w==}
/@next/swc-win32-ia32-msvc@13.4.4:
resolution: {integrity: sha512-3WekVmtuA2MCdcAOrgrI+PuFiFURtSyyrN1I3UPtS0ckR2HtLqyqmS334Eulf15g1/bdwMteePdK363X/Y9JMg==}
engines: {node: '>= 10'}
cpu: [ia32]
os: [win32]
requiresBuild: true
optional: true
/@next/swc-win32-x64-msvc@13.4.3:
resolution: {integrity: sha512-jglUk/x7ZWeOJWlVoKyIAkHLTI+qEkOriOOV+3hr1GyiywzcqfI7TpFSiwC7kk1scOiH7NTFKp8mA3XPNO9bDw==}
/@next/swc-win32-x64-msvc@13.4.4:
resolution: {integrity: sha512-AHRITu/CrlQ+qzoqQtEMfaTu7GHaQ6bziQln/pVWpOYC1wU+Mq6VQQFlsDtMCnDztPZtppAXdvvbNS7pcfRzlw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@ -1678,7 +1678,7 @@ packages:
react: 18.2.0
dev: false
/@radix-ui/react-dialog@1.0.3(@types/react@18.2.6)(react-dom@18.2.0)(react@18.2.0):
/@radix-ui/react-dialog@1.0.3(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-owNhq36kNPqC2/a+zJRioPg6HHnTn5B/sh/NjTY8r4W9g1L5VJlrzZIVcBr7R9Mg8iLjVmh6MGgMlfoVf/WO/A==}
peerDependencies:
react: ^16.8 || ^17.0 || ^18.0
@ -1700,7 +1700,7 @@ packages:
aria-hidden: 1.2.3
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
react-remove-scroll: 2.5.5(@types/react@18.2.6)(react@18.2.0)
react-remove-scroll: 2.5.5(@types/react@18.2.7)(react@18.2.0)
transitivePeerDependencies:
- '@types/react'
dev: false
@ -1763,14 +1763,14 @@ packages:
react: 18.2.0
dev: false
/@radix-ui/react-popper@1.1.1(@types/react@18.2.6)(react-dom@18.2.0)(react@18.2.0):
/@radix-ui/react-popper@1.1.1(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-keYDcdMPNMjSC8zTsZ8wezUMiWM9Yj14wtF3s0PTIs9srnEPC9Kt2Gny1T3T81mmSeyDjZxsD9N5WCwNNb712w==}
peerDependencies:
react: ^16.8 || ^17.0 || ^18.0
react-dom: ^16.8 || ^17.0 || ^18.0
dependencies:
'@babel/runtime': 7.20.13
'@floating-ui/react-dom': 0.7.2(@types/react@18.2.6)(react-dom@18.2.0)(react@18.2.0)
'@floating-ui/react-dom': 0.7.2(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-arrow': 1.0.2(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
'@radix-ui/react-context': 1.0.0(react@18.2.0)
@ -1843,7 +1843,7 @@ packages:
react-dom: 18.2.0(react@18.2.0)
dev: false
/@radix-ui/react-select@1.2.1(@types/react@18.2.6)(react-dom@18.2.0)(react@18.2.0):
/@radix-ui/react-select@1.2.1(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-GULRMITaOHNj79BZvQs3iZO0+f2IgI8g5HDhMi7Bnc13t7IlG86NFtOCfTLme4PNZdEtU+no+oGgcl6IFiphpQ==}
peerDependencies:
react: ^16.8 || ^17.0 || ^18.0
@ -1860,7 +1860,7 @@ packages:
'@radix-ui/react-focus-guards': 1.0.0(react@18.2.0)
'@radix-ui/react-focus-scope': 1.0.2(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-id': 1.0.0(react@18.2.0)
'@radix-ui/react-popper': 1.1.1(@types/react@18.2.6)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-popper': 1.1.1(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-portal': 1.0.2(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-primitive': 1.0.2(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-slot': 1.0.1(react@18.2.0)
@ -1872,7 +1872,7 @@ packages:
aria-hidden: 1.2.3
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
react-remove-scroll: 2.5.5(@types/react@18.2.6)(react@18.2.0)
react-remove-scroll: 2.5.5(@types/react@18.2.7)(react@18.2.0)
transitivePeerDependencies:
- '@types/react'
dev: false
@ -2297,7 +2297,7 @@ packages:
'@trpc/server': 10.27.1
dev: false
/@trpc/next@10.27.1(@tanstack/react-query@4.29.7)(@trpc/client@10.27.1)(@trpc/react-query@10.27.1)(@trpc/server@10.27.1)(next@13.4.3)(react-dom@18.2.0)(react@18.2.0):
/@trpc/next@10.27.1(@tanstack/react-query@4.29.7)(@trpc/client@10.27.1)(@trpc/react-query@10.27.1)(@trpc/server@10.27.1)(next@13.4.4)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-3aMGjhJXiJOj/tjqkyMot3x/nbxbHeEcCWjgYiCHmiXVk9h9liIG73f2is8jWEPs3o/eJ+eNwNSzkfhrhIWq2g==}
peerDependencies:
'@tanstack/react-query': ^4.18.0
@ -2312,7 +2312,7 @@ packages:
'@trpc/client': 10.27.1(@trpc/server@10.27.1)
'@trpc/react-query': 10.27.1(@tanstack/react-query@4.29.7)(@trpc/client@10.27.1)(@trpc/server@10.27.1)(react-dom@18.2.0)(react@18.2.0)
'@trpc/server': 10.27.1
next: 13.4.3(@babel/core@7.21.8)(react-dom@18.2.0)(react@18.2.0)(sass@1.62.1)
next: 13.4.4(@babel/core@7.21.8)(react-dom@18.2.0)(react@18.2.0)(sass@1.62.1)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
react-ssr-prepass: 1.5.0(react@18.2.0)
@ -2391,13 +2391,13 @@ packages:
resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==}
dependencies:
'@types/connect': 3.4.35
'@types/node': 20.2.1
'@types/node': 20.2.5
dev: true
/@types/connect@3.4.35:
resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==}
dependencies:
'@types/node': 20.2.1
'@types/node': 20.2.5
dev: true
/@types/cookie@0.4.1:
@ -2416,7 +2416,7 @@ packages:
/@types/express-serve-static-core@4.17.33:
resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==}
dependencies:
'@types/node': 20.2.1
'@types/node': 20.2.5
'@types/qs': 6.9.7
'@types/range-parser': 1.2.4
dev: true
@ -2440,13 +2440,13 @@ packages:
resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==}
dependencies:
'@types/jsonfile': 6.1.1
'@types/node': 20.2.1
'@types/node': 20.2.5
dev: true
/@types/graceful-fs@4.1.6:
resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==}
dependencies:
'@types/node': 20.2.1
'@types/node': 20.2.5
dev: true
/@types/hast@2.3.4:
@ -2493,7 +2493,7 @@ packages:
/@types/jsdom@20.0.1:
resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==}
dependencies:
'@types/node': 20.2.1
'@types/node': 20.2.5
'@types/tough-cookie': 4.0.2
parse5: 7.1.2
dev: true
@ -2509,7 +2509,7 @@ packages:
/@types/jsonfile@6.1.1:
resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==}
dependencies:
'@types/node': 20.2.1
'@types/node': 20.2.5
dev: true
/@types/lodash.merge@4.6.7:
@ -2539,8 +2539,8 @@ packages:
resolution: {integrity: sha512-9PuLtBboc/+JJ7FshmJWv769gDonTpItN0Ol5TMwclpSQNjVyB2SRxSKBcTtbSysSL5R7Oea06kTTFNciCoYwA==}
dev: true
/@types/node@20.2.1:
resolution: {integrity: sha512-DqJociPbZP1lbZ5SQPk4oag6W7AyaGMO6gSfRwq3PWl4PXTwJpRQJhDq4W0kzrg3w6tJ1SwlvGZ5uKFHY13LIg==}
/@types/node@20.2.5:
resolution: {integrity: sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==}
/@types/parse-json@4.0.0:
resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==}
@ -2549,7 +2549,7 @@ packages:
/@types/pg@8.6.6:
resolution: {integrity: sha512-O2xNmXebtwVekJDD+02udOncjVcMZQuTEQEMpKJ0ZRf5E7/9JJX3izhKUcUifBkyKpljyUM6BTgy2trmviKlpw==}
dependencies:
'@types/node': 20.2.1
'@types/node': 20.2.5
pg-protocol: 1.6.0
pg-types: 2.2.0
@ -2571,17 +2571,17 @@ packages:
/@types/react-dom@18.2.4:
resolution: {integrity: sha512-G2mHoTMTL4yoydITgOGwWdWMVd8sNgyEP85xVmMKAPUBwQWm9wBPQUmvbeF4V3WBY1P7mmL4BkjQ0SqUpf1snw==}
dependencies:
'@types/react': 18.2.6
'@types/react': 18.2.7
dev: true
/@types/react-transition-group@4.4.5:
resolution: {integrity: sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==}
dependencies:
'@types/react': 18.2.6
'@types/react': 18.2.7
dev: false
/@types/react@18.2.6:
resolution: {integrity: sha512-wRZClXn//zxCFW+ye/D2qY65UsYP1Fpex2YXorHc8awoNamkMZSvBxwxdYVInsHOZZd2Ppq8isnSzJL5Mpf8OA==}
/@types/react@18.2.7:
resolution: {integrity: sha512-ojrXpSH2XFCmHm7Jy3q44nXDyN54+EYKP2lBhJ2bqfyPj6cIUW/FZW/Csdia34NQgq7KYcAlHi5184m4X88+yw==}
dependencies:
'@types/prop-types': 15.7.5
'@types/scheduler': 0.16.2
@ -2598,13 +2598,13 @@ packages:
resolution: {integrity: sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==}
dependencies:
'@types/mime': 3.0.1
'@types/node': 20.2.1
'@types/node': 20.2.5
dev: true
/@types/set-cookie-parser@2.4.2:
resolution: {integrity: sha512-fBZgytwhYAUkj/jC/FAV4RQ5EerRup1YQsXQCh8rZfiHkc4UahC192oH0smGwsXol3cL3A5oETuAHeQHmhXM4w==}
dependencies:
'@types/node': 20.2.1
'@types/node': 20.2.5
dev: true
/@types/stack-utils@2.0.1:
@ -2615,7 +2615,7 @@ packages:
resolution: {integrity: sha512-FFK/rRjNy24U6J1BvQkaNWu2ohOIF/kxRQXRsbT141YQODcOcZjzlcc4DGdI2SkTa0rhmF+X14zu6ICjCGIg+w==}
dependencies:
'@types/cookiejar': 2.1.2
'@types/node': 20.2.1
'@types/node': 20.2.5
dev: true
/@types/supertest@2.0.12:
@ -2653,7 +2653,7 @@ packages:
/@types/web-push@3.3.2:
resolution: {integrity: sha512-JxWGVL/m7mWTIg4mRYO+A6s0jPmBkr4iJr39DqJpRJAc+jrPiEe1/asmkwerzRon8ZZDxaZJpsxpv0Z18Wo9gw==}
dependencies:
'@types/node': 20.2.1
'@types/node': 20.2.5
dev: true
/@types/yargs-parser@21.0.0:
@ -4535,8 +4535,8 @@ packages:
object.entries: 1.1.6
dev: true
/eslint-config-next@13.4.3(eslint@8.41.0)(typescript@5.0.4):
resolution: {integrity: sha512-1lXwdFi29fKxzeugof/TUE7lpHyJQt5+U4LaUHyvQfHjvsWO77vFNicJv5sX6k0VDVSbnfz0lw+avxI+CinbMg==}
/eslint-config-next@13.4.4(eslint@8.41.0)(typescript@5.0.4):
resolution: {integrity: sha512-z/PMbm6L0iC/fwISULxe8IVy4DtNqZk2wQY711o35klenq70O6ns82A8yuMVCFjHC0DIyB2lyugesRtuk9u8dQ==}
peerDependencies:
eslint: ^7.23.0 || ^8.0.0
typescript: '>=3.3.1'
@ -4544,7 +4544,7 @@ packages:
typescript:
optional: true
dependencies:
'@next/eslint-plugin-next': 13.4.3
'@next/eslint-plugin-next': 13.4.4
'@rushstack/eslint-patch': 1.2.0
'@typescript-eslint/parser': 5.59.6(eslint@8.41.0)(typescript@5.0.4)
eslint: 8.41.0
@ -4694,7 +4694,7 @@ packages:
'@typescript-eslint/eslint-plugin': 5.59.6(@typescript-eslint/parser@5.59.6)(eslint@8.41.0)(typescript@5.0.4)
'@typescript-eslint/utils': 5.52.0(eslint@8.41.0)(typescript@5.0.4)
eslint: 8.41.0
jest: 29.5.0(@types/node@20.2.1)(ts-node@10.9.1)
jest: 29.5.0(@types/node@20.2.5)(ts-node@10.9.1)
transitivePeerDependencies:
- supports-color
- typescript
@ -6005,7 +6005,7 @@ packages:
'@jest/expect': 29.5.0
'@jest/test-result': 29.5.0
'@jest/types': 29.5.0
'@types/node': 20.2.1
'@types/node': 20.2.5
chalk: 4.1.2
co: 4.6.0
dedent: 0.7.0
@ -6025,7 +6025,7 @@ packages:
- supports-color
dev: true
/jest-cli@29.5.0(@types/node@20.2.1)(ts-node@10.9.1):
/jest-cli@29.5.0(@types/node@20.2.5)(ts-node@10.9.1):
resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
hasBin: true
@ -6042,7 +6042,7 @@ packages:
exit: 0.1.2
graceful-fs: 4.2.10
import-local: 3.1.0
jest-config: 29.5.0(@types/node@20.2.1)(ts-node@10.9.1)
jest-config: 29.5.0(@types/node@20.2.5)(ts-node@10.9.1)
jest-util: 29.5.0
jest-validate: 29.5.0
prompts: 2.4.2
@ -6053,7 +6053,7 @@ packages:
- ts-node
dev: true
/jest-config@29.5.0(@types/node@20.2.1)(ts-node@10.9.1):
/jest-config@29.5.0(@types/node@20.2.5)(ts-node@10.9.1):
resolution: {integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
peerDependencies:
@ -6068,7 +6068,7 @@ packages:
'@babel/core': 7.21.8
'@jest/test-sequencer': 29.5.0
'@jest/types': 29.5.0
'@types/node': 20.2.1
'@types/node': 20.2.5
babel-jest: 29.5.0(@babel/core@7.21.8)
chalk: 4.1.2
ci-info: 3.8.0
@ -6088,7 +6088,7 @@ packages:
pretty-format: 29.5.0
slash: 3.0.0
strip-json-comments: 3.1.1
ts-node: 10.9.1(@types/node@20.2.1)(typescript@5.0.4)
ts-node: 10.9.1(@types/node@20.2.5)(typescript@5.0.4)
transitivePeerDependencies:
- supports-color
dev: true
@ -6134,7 +6134,7 @@ packages:
'@jest/fake-timers': 29.5.0
'@jest/types': 29.5.0
'@types/jsdom': 20.0.1
'@types/node': 20.2.1
'@types/node': 20.2.5
jest-mock: 29.5.0
jest-util: 29.5.0
jsdom: 20.0.3
@ -6151,7 +6151,7 @@ packages:
'@jest/environment': 29.5.0
'@jest/fake-timers': 29.5.0
'@jest/types': 29.5.0
'@types/node': 20.2.1
'@types/node': 20.2.5
jest-mock: 29.5.0
jest-util: 29.5.0
dev: true
@ -6167,7 +6167,7 @@ packages:
dependencies:
'@jest/types': 29.5.0
'@types/graceful-fs': 4.1.6
'@types/node': 20.2.1
'@types/node': 20.2.5
anymatch: 3.1.3
fb-watchman: 2.0.2
graceful-fs: 4.2.10
@ -6218,7 +6218,7 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@jest/types': 29.5.0
'@types/node': 20.2.1
'@types/node': 20.2.5
jest-util: 29.5.0
dev: true
@ -6273,7 +6273,7 @@ packages:
'@jest/test-result': 29.5.0
'@jest/transform': 29.5.0
'@jest/types': 29.5.0
'@types/node': 20.2.1
'@types/node': 20.2.5
chalk: 4.1.2
emittery: 0.13.1
graceful-fs: 4.2.10
@ -6304,7 +6304,7 @@ packages:
'@jest/test-result': 29.5.0
'@jest/transform': 29.5.0
'@jest/types': 29.5.0
'@types/node': 20.2.1
'@types/node': 20.2.5
chalk: 4.1.2
cjs-module-lexer: 1.2.2
collect-v8-coverage: 1.0.1
@ -6359,7 +6359,7 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@jest/types': 29.5.0
'@types/node': 20.2.1
'@types/node': 20.2.5
chalk: 4.1.2
ci-info: 3.8.0
graceful-fs: 4.2.10
@ -6384,7 +6384,7 @@ packages:
dependencies:
'@jest/test-result': 29.5.0
'@jest/types': 29.5.0
'@types/node': 20.2.1
'@types/node': 20.2.5
ansi-escapes: 4.3.2
chalk: 4.1.2
emittery: 0.13.1
@ -6396,13 +6396,13 @@ packages:
resolution: {integrity: sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@types/node': 20.2.1
'@types/node': 20.2.5
jest-util: 29.5.0
merge-stream: 2.0.0
supports-color: 8.1.1
dev: true
/jest@29.5.0(@types/node@20.2.1)(ts-node@10.9.1):
/jest@29.5.0(@types/node@20.2.5)(ts-node@10.9.1):
resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
hasBin: true
@ -6415,7 +6415,7 @@ packages:
'@jest/core': 29.5.0(ts-node@10.9.1)
'@jest/types': 29.5.0
import-local: 3.1.0
jest-cli: 29.5.0(@types/node@20.2.1)(ts-node@10.9.1)
jest-cli: 29.5.0(@types/node@20.2.5)(ts-node@10.9.1)
transitivePeerDependencies:
- '@types/node'
- supports-color
@ -7316,7 +7316,7 @@ packages:
engines: {node: '>= 0.6'}
dev: false
/next-intl@2.14.2(next@13.4.3)(react@18.2.0):
/next-intl@2.14.2(next@13.4.4)(react@18.2.0):
resolution: {integrity: sha512-JZNxNWWuZoF6wITMuwphND3LAW0IkV0U9YE4xftOX0zx+2MgIbBaRgBgGJ5l8S8Rstc7uPEz9Z0IT4lp0rJoNw==}
engines: {node: '>=10'}
peerDependencies:
@ -7325,18 +7325,18 @@ packages:
dependencies:
'@formatjs/intl-localematcher': 0.2.32
negotiator: 0.6.3
next: 13.4.3(@babel/core@7.21.8)(react-dom@18.2.0)(react@18.2.0)(sass@1.62.1)
next: 13.4.4(@babel/core@7.21.8)(react-dom@18.2.0)(react@18.2.0)(sass@1.62.1)
react: 18.2.0
use-intl: 2.14.2(react@18.2.0)
dev: false
/next-router-mock@0.9.3(next@13.4.3)(react@18.2.0):
/next-router-mock@0.9.3(next@13.4.4)(react@18.2.0):
resolution: {integrity: sha512-jl8eFe71LpMVGeBMpoxILkGfEgGY7IfLy8XPyv05/o61p5oQRNpoMmk46VMxRIpt0fI8XcvznBZKpDK6vbYQcQ==}
peerDependencies:
next: '>=10.0.0'
react: '>=17.0.0'
dependencies:
next: 13.4.3(@babel/core@7.21.8)(react-dom@18.2.0)(react@18.2.0)(sass@1.62.1)
next: 13.4.4(@babel/core@7.21.8)(react-dom@18.2.0)(react@18.2.0)(sass@1.62.1)
react: 18.2.0
dev: true
@ -7344,14 +7344,13 @@ packages:
resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
dev: true
/next@13.4.3(@babel/core@7.21.8)(react-dom@18.2.0)(react@18.2.0)(sass@1.62.1):
resolution: {integrity: sha512-FV3pBrAAnAIfOclTvncw9dDohyeuEEXPe5KNcva91anT/rdycWbgtu3IjUj4n5yHnWK8YEPo0vrUecHmnmUNbA==}
/next@13.4.4(@babel/core@7.21.8)(react-dom@18.2.0)(react@18.2.0)(sass@1.62.1):
resolution: {integrity: sha512-C5S0ysM0Ily9McL4Jb48nOQHT1BukOWI59uC3X/xCMlYIh9rJZCv7nzG92J6e1cOBqQbKovlpgvHWFmz4eKKEA==}
engines: {node: '>=16.8.0'}
hasBin: true
peerDependencies:
'@opentelemetry/api': ^1.1.0
fibers: '>= 3.1.0'
node-sass: ^6.0.0 || ^7.0.0
react: ^18.2.0
react-dom: ^18.2.0
sass: ^1.3.0
@ -7360,12 +7359,10 @@ packages:
optional: true
fibers:
optional: true
node-sass:
optional: true
sass:
optional: true
dependencies:
'@next/env': 13.4.3
'@next/env': 13.4.4
'@swc/helpers': 0.5.1
busboy: 1.6.0
caniuse-lite: 1.0.30001469
@ -7376,15 +7373,15 @@ packages:
styled-jsx: 5.1.1(@babel/core@7.21.8)(react@18.2.0)
zod: 3.21.4
optionalDependencies:
'@next/swc-darwin-arm64': 13.4.3
'@next/swc-darwin-x64': 13.4.3
'@next/swc-linux-arm64-gnu': 13.4.3
'@next/swc-linux-arm64-musl': 13.4.3
'@next/swc-linux-x64-gnu': 13.4.3
'@next/swc-linux-x64-musl': 13.4.3
'@next/swc-win32-arm64-msvc': 13.4.3
'@next/swc-win32-ia32-msvc': 13.4.3
'@next/swc-win32-x64-msvc': 13.4.3
'@next/swc-darwin-arm64': 13.4.4
'@next/swc-darwin-x64': 13.4.4
'@next/swc-linux-arm64-gnu': 13.4.4
'@next/swc-linux-arm64-musl': 13.4.4
'@next/swc-linux-x64-gnu': 13.4.4
'@next/swc-linux-x64-musl': 13.4.4
'@next/swc-win32-arm64-msvc': 13.4.4
'@next/swc-win32-ia32-msvc': 13.4.4
'@next/swc-win32-x64-msvc': 13.4.4
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros
@ -8041,7 +8038,7 @@ packages:
/react-is@18.2.0:
resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
/react-markdown@8.0.7(@types/react@18.2.6)(react@18.2.0):
/react-markdown@8.0.7(@types/react@18.2.7)(react@18.2.0):
resolution: {integrity: sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==}
peerDependencies:
'@types/react': '>=16'
@ -8049,7 +8046,7 @@ packages:
dependencies:
'@types/hast': 2.3.4
'@types/prop-types': 15.7.5
'@types/react': 18.2.6
'@types/react': 18.2.7
'@types/unist': 2.0.6
comma-separated-tokens: 2.0.3
hast-util-whitespace: 2.0.1
@ -8068,7 +8065,7 @@ packages:
- supports-color
dev: false
/react-remove-scroll-bar@2.3.4(@types/react@18.2.6)(react@18.2.0):
/react-remove-scroll-bar@2.3.4(@types/react@18.2.7)(react@18.2.0):
resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==}
engines: {node: '>=10'}
peerDependencies:
@ -8078,13 +8075,13 @@ packages:
'@types/react':
optional: true
dependencies:
'@types/react': 18.2.6
'@types/react': 18.2.7
react: 18.2.0
react-style-singleton: 2.2.1(@types/react@18.2.6)(react@18.2.0)
react-style-singleton: 2.2.1(@types/react@18.2.7)(react@18.2.0)
tslib: 2.5.2
dev: false
/react-remove-scroll@2.5.5(@types/react@18.2.6)(react@18.2.0):
/react-remove-scroll@2.5.5(@types/react@18.2.7)(react@18.2.0):
resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==}
engines: {node: '>=10'}
peerDependencies:
@ -8094,16 +8091,16 @@ packages:
'@types/react':
optional: true
dependencies:
'@types/react': 18.2.6
'@types/react': 18.2.7
react: 18.2.0
react-remove-scroll-bar: 2.3.4(@types/react@18.2.6)(react@18.2.0)
react-style-singleton: 2.2.1(@types/react@18.2.6)(react@18.2.0)
react-remove-scroll-bar: 2.3.4(@types/react@18.2.7)(react@18.2.0)
react-style-singleton: 2.2.1(@types/react@18.2.7)(react@18.2.0)
tslib: 2.5.2
use-callback-ref: 1.3.0(@types/react@18.2.6)(react@18.2.0)
use-sidecar: 1.1.2(@types/react@18.2.6)(react@18.2.0)
use-callback-ref: 1.3.0(@types/react@18.2.7)(react@18.2.0)
use-sidecar: 1.1.2(@types/react@18.2.7)(react@18.2.0)
dev: false
/react-select@5.7.3(@types/react@18.2.6)(react-dom@18.2.0)(react@18.2.0):
/react-select@5.7.3(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-z8i3NCuFFWL3w27xq92rBkVI2onT0jzIIPe480HlBjXJ3b5o6Q+Clp4ydyeKrj9DZZ3lrjawwLC5NGl0FSvUDg==}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
@ -8111,7 +8108,7 @@ packages:
dependencies:
'@babel/runtime': 7.20.13
'@emotion/cache': 11.10.5
'@emotion/react': 11.10.6(@types/react@18.2.6)(react@18.2.0)
'@emotion/react': 11.10.6(@types/react@18.2.7)(react@18.2.0)
'@floating-ui/dom': 1.2.1
'@types/react-transition-group': 4.4.5
memoize-one: 6.0.0
@ -8119,7 +8116,7 @@ packages:
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0)
use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.6)(react@18.2.0)
use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.7)(react@18.2.0)
transitivePeerDependencies:
- '@types/react'
dev: false
@ -8132,7 +8129,7 @@ packages:
react: 18.2.0
dev: false
/react-style-singleton@2.2.1(@types/react@18.2.6)(react@18.2.0):
/react-style-singleton@2.2.1(@types/react@18.2.7)(react@18.2.0):
resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==}
engines: {node: '>=10'}
peerDependencies:
@ -8142,7 +8139,7 @@ packages:
'@types/react':
optional: true
dependencies:
'@types/react': 18.2.6
'@types/react': 18.2.7
get-nonce: 1.0.1
invariant: 2.2.4
react: 18.2.0
@ -8989,7 +8986,7 @@ packages:
bs-logger: 0.2.6
esbuild: 0.16.17
fast-json-stable-stringify: 2.1.0
jest: 29.5.0(@types/node@20.2.1)(ts-node@10.9.1)
jest: 29.5.0(@types/node@20.2.5)(ts-node@10.9.1)
jest-util: 29.5.0
json5: 2.2.3
lodash.memoize: 4.1.2
@ -8999,7 +8996,7 @@ packages:
yargs-parser: 21.1.1
dev: true
/ts-node@10.9.1(@types/node@20.2.1)(typescript@5.0.4):
/ts-node@10.9.1(@types/node@20.2.5)(typescript@5.0.4):
resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==}
hasBin: true
peerDependencies:
@ -9018,7 +9015,7 @@ packages:
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.3
'@types/node': 20.2.1
'@types/node': 20.2.5
acorn: 8.8.2
acorn-walk: 8.2.0
arg: 4.1.3
@ -9235,7 +9232,7 @@ packages:
resolution: {integrity: sha512-RtuPeMy7c1UrHwproMZN9gN6kiZ0SvJwRaEzwZY0j9MypEkFqyBaKv176jvlPtg58Zh36bOkS0NFABXMHvvGCA==}
dev: false
/use-callback-ref@1.3.0(@types/react@18.2.6)(react@18.2.0):
/use-callback-ref@1.3.0(@types/react@18.2.7)(react@18.2.0):
resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==}
engines: {node: '>=10'}
peerDependencies:
@ -9245,7 +9242,7 @@ packages:
'@types/react':
optional: true
dependencies:
'@types/react': 18.2.6
'@types/react': 18.2.7
react: 18.2.0
tslib: 2.5.2
dev: false
@ -9261,7 +9258,7 @@ packages:
react: 18.2.0
dev: false
/use-isomorphic-layout-effect@1.1.2(@types/react@18.2.6)(react@18.2.0):
/use-isomorphic-layout-effect@1.1.2(@types/react@18.2.7)(react@18.2.0):
resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==}
peerDependencies:
'@types/react': '*'
@ -9270,11 +9267,11 @@ packages:
'@types/react':
optional: true
dependencies:
'@types/react': 18.2.6
'@types/react': 18.2.7
react: 18.2.0
dev: false
/use-sidecar@1.1.2(@types/react@18.2.6)(react@18.2.0):
/use-sidecar@1.1.2(@types/react@18.2.7)(react@18.2.0):
resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==}
engines: {node: '>=10'}
peerDependencies:
@ -9284,7 +9281,7 @@ packages:
'@types/react':
optional: true
dependencies:
'@types/react': 18.2.6
'@types/react': 18.2.7
detect-node-es: 1.1.0
react: 18.2.0
tslib: 2.5.2

View file

@ -1,89 +1,89 @@
{
"server-messages": {
"errors": {
"invalid-credentials": "Invalid credentials",
"admin-already-exists": "There is already an admin user. Please login to create a new user from the admin panel.",
"missing-email-or-password": "Missing email or password",
"invalid-username": "Invalid username",
"user-already-exists": "User already exists",
"error-creating-user": "Error creating user",
"no-change-password-request": "No change password request found",
"operator-not-found": "Operator user not found",
"user-not-found": "User not found",
"not-allowed-in-demo": "Not allowed in demo mode",
"not-allowed-in-dev": "Not allowed in dev mode",
"invalid-password": "Invalid password",
"invalid-password-length": "Password must be at least 8 characters long",
"invalid-locale": "Invalid locale",
"totp-session-not-found": "2FA session not found",
"totp-not-enabled": "2FA is not enabled for this user",
"totp-invalid-code": "Invalid 2FA code",
"totp-already-enabled": "2FA is already enabled for this user",
"app-not-found": "App {id} not found",
"app-failed-to-start": "Failed to start app {id}, see logs for more details",
"app-failed-to-install": "Failed to install app {id}, see logs for more details",
"app-failed-to-stop": "Failed to stop app {id}, see logs for more details",
"app-failed-to-uninstall": "Failed to uninstall app {id}, see logs for more details",
"app-failed-to-update": "Failed to update app {id}, see logs for more details",
"domain-required-if-expose-app": "Domain is required if app is exposed",
"domain-not-valid": "Domain {domain} is not a valid domain",
"invalid-config": "App {id} has an invalid config.json file",
"app-not-exposable": "App {id} is not exposable",
"app-force-exposed": "App {id} works only with exposed domain",
"domain-already-in-use": "Domain {domain} is already in use by app {id}",
"could-not-get-latest-version": "Could not get latest version",
"current-version-is-latest": "Current version is already up to date",
"major-version-update": "The major version has changed. Please update manually (instructions on GitHub)"
"invalid-credentials": "Ungültige Zugangsdaten",
"admin-already-exists": "Es existiert bereits ein Admin-Benutzer. Bitte melde dich an, um einen neuen Benutzer im Admin-Panel zu erzeugen.",
"missing-email-or-password": "E-Mail oder Passwort fehlt",
"invalid-username": "Ungültiger Nutzername",
"user-already-exists": "Benutzer existiert bereits",
"error-creating-user": "Fehler bei der Erstellung des Nutzers",
"no-change-password-request": "Keine Anfrage, das Passwort zu ändern gefunden",
"operator-not-found": "Operator-Benutzer nicht gefunden",
"user-not-found": "Benutzer nicht gefunden",
"not-allowed-in-demo": "Im Demo-Modus nicht erlaubt",
"not-allowed-in-dev": "Im Dev-Modus nicht erlaubt",
"invalid-password": "Ungültiges Passwort",
"invalid-password-length": "Das Passwort muss mindestens 8 Zeichen lang sein",
"invalid-locale": "Ungültige Region",
"totp-session-not-found": "2FA-Sitzung nicht gefunden",
"totp-not-enabled": "2FA ist für diesen Nutzer nicht aktiviert",
"totp-invalid-code": "Ungültiger 2FA-Code",
"totp-already-enabled": "2FA wurde für diesen Nutzer bereits aktiviert",
"app-not-found": "App {id} nicht gefunden",
"app-failed-to-start": "Starten der App {id} fehlgeschlagen. Siehe die Logs für weitere Informationen",
"app-failed-to-install": "Installieren der App {id} fehlgeschlagen. Siehe die Logs für weitere Informationen",
"app-failed-to-stop": "Stoppen der App {id} fehlgeschlagen. Siehe die Logs für weitere Informationen",
"app-failed-to-uninstall": "Deinstallieren der App {id} fehlgeschlagen. Siehe die Logs für weitere Informationen",
"app-failed-to-update": "Aktualisieren der App {id} fehlgeschlagen. Siehe die Logs für weitere Informationen",
"domain-required-if-expose-app": "Eine Domain ist erforderlich, wenn die App veröffentlicht ist",
"domain-not-valid": "Die Domain {domain} ist ungültig",
"invalid-config": "Die App {id} hat eine ungültige config.json Datei",
"app-not-exposable": "App {id} nicht veröffentlichbar",
"app-force-exposed": "App {id} funktioniert nur mit veröffentlichter Domain",
"domain-already-in-use": "Die Domain {domain} ist bereits in Verwendung von der App {id}",
"could-not-get-latest-version": "Konnte aktuellste Version nicht abfragen",
"current-version-is-latest": "Die aktuelle Version ist bereits auf dem neuesten Stand",
"major-version-update": "Die Hauptversion hat sich geändert. Bitte aktualisieren Sie manuell. (Anleitung auf GitHub)"
},
"success": {}
},
"auth": {
"login": {
"title": "Login to your account",
"submit": "Login"
"title": "In Konto einloggen",
"submit": "Anmelden"
},
"totp": {
"title": "Two-factor authentication",
"instructions": "Enter the code from your authenticator app",
"submit": "Confirm"
"title": "Zwei-Faktor Authentifizierung",
"instructions": "Code aus der Authenticator-App eingeben",
"submit": "Bestätigen"
},
"register": {
"title": "Register your account",
"submit": "Register"
"title": "Ihr Konto erstellen",
"submit": "Registrieren"
},
"reset-password": {
"title": "Reset your password",
"submit": "Reset password",
"cancel": "Cancel password change request",
"instructions": "Run this command on your server and then refresh this page",
"success-title": "Password reset",
"success": "Your password has been reset. You can now login with your new password. And your email {email}",
"back-to-login": "Back to login"
"title": "Passwort zurücksetzen",
"submit": "Zurücksetzen",
"cancel": "Passwortänderung abbrechen",
"instructions": "Führen Sie diesen Befehl auf Ihrem Server aus und aktualisieren Sie die Seite",
"success-title": "Passwort zurückgesetzt",
"success": "Ihr Passwort wurde gespeichert. Sie können sich nun mit Ihrem neuen Passwort und ihrer E-Mail {email} anmelden",
"back-to-login": "Zurück zur Anmeldung"
},
"form": {
"email": "Email address",
"email-placeholder": "you@example.com",
"password": "Password",
"password-placeholder": "Enter your password",
"password-confirmation": "Confirm password",
"password-confirmation-placeholder": "Confirm your password",
"forgot": "Forgot password?",
"new-password-placeholder": "Your new password",
"new-password-confirmation-placeholder": "Confirm your new password",
"email": "E-Mail Adresse",
"email-placeholder": "name@beispiel.com",
"password": "Passwort",
"password-placeholder": "Passwort eingeben",
"password-confirmation": "Passwort bestätigen",
"password-confirmation-placeholder": "Passwort bestätigen",
"forgot": "Passwort vergessen?",
"new-password-placeholder": "Neues Passwort",
"new-password-confirmation-placeholder": "Neues Passwort bestätigen",
"errors": {
"email": {
"required": "Email address is required",
"email": "Email address is invalid",
"invalid": "Email address is invalid"
"required": "E-Mail-Adresse erforderlich",
"email": "E-Mail-Adresse ist ungültig",
"invalid": "E-Mail-Adresse ist ungültig"
},
"password": {
"required": "Password is required",
"minlength": "Password must be at least 8 characters"
"required": "Passwort erforderlich",
"minlength": "Das Passwort muss mindestens 8 Zeichen lang sein"
},
"password-confirmation": {
"required": "Password confirmation is required",
"minlength": "Password confirmation must be at least 8 characters",
"match": "Passwords do not match"
"required": "Passwortbestätigung erforderlich",
"minlength": "Die Passwortbestätigung muss mindestens 8 Zeichen lang sein",
"match": "Passwörter stimmen nicht überein"
}
}
}
@ -92,204 +92,204 @@
"title": "Dashboard",
"cards": {
"disk": {
"title": "Disk Space",
"subtitle": "Used out of {total} GB"
"title": "Speicherplatz",
"subtitle": "Wird von {total} GB verwendet"
},
"memory": {
"title": "Memory Used"
"title": "Speichernutzung"
},
"cpu": {
"title": "CPU Load",
"subtitle": "Uninstall apps to reduce load"
"title": "CPU-Auslastung",
"subtitle": "Apps deinstallieren um Last zu reduzieren"
}
}
},
"apps": {
"status-running": "Running",
"status-stopped": "Stopped",
"status-starting": "Starting",
"status-stopping": "Stopping",
"status-updating": "Updating",
"status-missing": "Missing",
"status-installing": "Installing",
"status-uninstalling": "Uninstalling",
"update-available": "Update available",
"status-running": "Aktiv",
"status-stopped": "Angehalten",
"status-starting": "Startet",
"status-stopping": "Stoppen",
"status-updating": "Aktualisieren",
"status-missing": "Fehlt",
"status-installing": "Installieren",
"status-uninstalling": "Deinstallieren",
"update-available": "Aktualisierung verfügbar",
"my-apps": {
"title": "My Apps",
"empty-title": "No app installed",
"empty-subtitle": "Install an app from the app store to get started",
"empty-action": "Go to app store"
"title": "Meine Apps",
"empty-title": "Keine Apps installiert",
"empty-subtitle": "Installiere eine App aus dem App Store, um loszulegen",
"empty-action": "Zum App Store"
},
"app-store": {
"title": "App Store",
"search-placeholder": "Search apps",
"category-placeholder": "Select a category",
"no-results": "No app found",
"no-results-subtitle": "Try to refine your search"
"search-placeholder": "Apps suchen",
"category-placeholder": "Kategorie wählen",
"no-results": "Keine App gefunden",
"no-results-subtitle": "Versuche, deine Suche zu verbessern"
},
"app-details": {
"install-success": "App installed successfully",
"uninstall-success": "App uninstalled successfully",
"stop-success": "App stopped successfully",
"update-success": "App updated successfully",
"start-success": "App started successfully",
"update-config-success": "App config updated successfully. Restart the app to apply the changes",
"install-success": "App erfolgreich installiert",
"uninstall-success": "App erfolgreich deinstalliert",
"stop-success": "App erfolgreich angehalten",
"update-success": "App erfolgreich aktualisiert",
"start-success": "App erfolgreich gestartet",
"update-config-success": "App-Konfiguration erfolgreich aktualisiert. Starte die App neu, um die Änderungen zu übernehmen",
"version": "Version",
"description": "Description",
"base-info": "Base info",
"source-code": "Source code",
"author": "Author",
"description": "Beschreibung",
"base-info": "Basisinfo",
"source-code": "Quellcode",
"author": "Autor",
"port": "Port",
"categories-title": "Categories",
"categories-title": "Kategorien",
"link": "Link",
"website": "Website",
"supported-arch": "Supported architectures",
"supported-arch": "Unterstütze Architekturen",
"categories": {
"data": "Data",
"network": "Network",
"data": "Daten",
"network": "Netzwerk",
"media": "Media",
"development": "Development",
"automation": "Automation",
"social": "Social",
"utilities": "Utilities",
"security": "Security",
"photography": "Photography",
"featured": "Featured",
"books": "Books",
"music": "Music",
"finance": "Finance",
"development": "Entwicklung",
"automation": "Automatisierung",
"social": "Soziale Medien",
"utilities": "Dienstprogramme",
"security": "Sicherheit",
"photography": "Fotografie",
"featured": "Empfohlen",
"books": "Bücher",
"music": "Musik",
"finance": "Finanzen",
"gaming": "Gaming",
"ai": "AI"
"ai": "KI"
},
"actions": {
"start": "Start",
"remove": "Remove",
"settings": "Settings",
"stop": "Stop",
"open": "Open",
"loading": "Loading",
"cancel": "Cancel",
"install": "Install",
"update": "Update"
"remove": "Löschen",
"settings": "Einstellungen",
"stop": "Anhalten",
"open": "Öffnen",
"loading": "Laden",
"cancel": "Abbrechen",
"install": "Installieren",
"update": "Aktualisieren"
},
"install-form": {
"title": "Install {name}",
"expose-app": "Expose app",
"domain-name": "Domain name",
"domain-name-hint": "Make sure this exact domain contains an A record pointing to your IP.",
"choose-option": "Choose an option...",
"sumbit-install": "Install",
"submit-update": "Update",
"title": "{name} installieren",
"expose-app": "App veröffentlichen",
"domain-name": "Domainname",
"domain-name-hint": "Stellen Sie sicher, dass diese Domain einen A-Eintrag enthält, der auf Ihre IP verweist.",
"choose-option": "Wählen Sie eine Option...",
"sumbit-install": "Installieren",
"submit-update": "Aktualisieren",
"errors": {
"required": "{label} is required",
"regex": "{label} must match the pattern {pattern}",
"max-length": "{label} must be less than {max} characters",
"min-length": "{label} must be at least {min} characters",
"between-length": "{label} must be between {min} and {max} characters",
"invalid-email": "{label} must be a valid email address",
"number": "{label} must be a number",
"fqdn": "{label} must be a valid domain",
"ip": "{label} must be a valid IP address",
"fqdnip": "{label} must be a valid domain or IP address",
"url": "{label} must be a valid URL"
"required": "{label} ist erforderlich",
"regex": "{label} stimmt nicht mit dem Format {pattern} überein",
"max-length": "{label} muss kleiner als {max} Zeichen sein",
"min-length": "{label} muss mindestens {min} Zeichen lang sein",
"between-length": "{label} muss zwischen {min} und {max} Zeichen lang sein",
"invalid-email": "{label} muss eine gültige E-Mail Adresse sein",
"number": "{label} muss eine Nummer sein",
"fqdn": "{label} muss eine gültige Domain sein",
"ip": "{label} muss eine gültige IP-Adresse sein",
"fqdnip": "{label} muss eine gültige Domain oder IP-Addresse sein",
"url": "{label} muss eine gültige URL sein"
}
},
"stop-form": {
"title": "Stop {name} ?",
"subtitle": "All data will be retained",
"submit": "Stop"
"title": "{name} anhalten?",
"subtitle": "Alle Daten werden aufbewahrt",
"submit": "Anhalten"
},
"uninstall-form": {
"title": "Uninstall {name} ?",
"subtitle": "All data for this app will be lost.",
"warning": "Are you sure? This action cannot be undone.",
"submit": "Uninstall"
"title": "{name} deinstallieren?",
"subtitle": "Alle Daten für diese Anwendung werden gelöscht.",
"warning": "Sind Sie sicher? Dieser Schritt kann nicht rückgängig gemacht werden.",
"submit": "Deinstallieren"
},
"update-form": {
"title": "Update {name} ?",
"subtitle1": "Update app to latest verion :",
"subtitle2": "This will reset your custom configuration (e.g. changes in docker-compose.yml)",
"submit": "Update"
"title": "Aktualisieren {name}?",
"subtitle1": "App auf die neueste Version aktualisieren:",
"subtitle2": "Dies wird Ihre benutzerdefinierte Konfiguration zurücksetzen (z.B. Änderungen in docker-compose.yml)",
"submit": "Aktualisieren"
},
"update-settings-form": {
"title": "Update {name} config"
"title": "Aktualisieren {name} Konfiguration"
}
}
},
"settings": {
"title": "Settings",
"title": "Einstellungen",
"actions": {
"tab-title": "Actions",
"title": "Actions",
"current-version": "Current version: {version}",
"stay-up-to-date": "Stay up to date with the latest version of Tipi",
"new-version": "A new version ({version}) of Tipi is available",
"maintenance-title": "Maintenance",
"maintenance-subtitle": "Common actions to perform on your instance",
"restart": "Restart",
"update": "Update to {version}",
"already-latest": "Already up to date"
"tab-title": "Aktionen",
"title": "Aktionen",
"current-version": "Aktuelle Version: {version}",
"stay-up-to-date": "Bleiben Sie auf dem Laufenden mit der neuesten Version von Tipi",
"new-version": "Eine neue Version ({version}) von Tipi ist verfügbar",
"maintenance-title": "Wartung",
"maintenance-subtitle": "Beliebte Aktionen, die Sie auf Ihrer Instanz durchführen können",
"restart": "Neustart",
"update": "Aktualisieren zu {version}",
"already-latest": "Bereits auf dem neuesten Stand"
},
"settings": {
"tab-title": "Settings",
"title": "General settings",
"subtitle": "This will update your settings.json file. Make sure you know what you are doing before updating these values.",
"settings-updated": "Settings updated. Restart your instance to apply new settings.",
"invalid-ip": "Invalid IP address",
"invalid-url": "Invalid URL",
"invalid-domain": "Invalid domain",
"domain-name": "Domain name",
"domain-name-hint": "Make sure this exact domain contains an A record pointing to your IP.",
"tab-title": "Einstellungen",
"title": "Allgemeine Einstellungen",
"subtitle": "Dadurch wird Ihre Datei settings.json aktualisiert. Stellen Sie sicher, dass Sie wissen, was Sie tun, bevor Sie diese Werte aktualisieren.",
"settings-updated": "Einstellungen aktualisiert. Starten Sie Ihre Instanz neu, um die Einstellungen zu übernehmen.",
"invalid-ip": "Ungültige IP-Adresse",
"invalid-url": "Ungültige URL",
"invalid-domain": "Ungültige Domain",
"domain-name": "Domänenname",
"domain-name-hint": "Stellen Sie sicher, dass genau diese Domain einen A-Eintrag enthält, der auf Ihre IP verweist.",
"dns-ip": "DNS IP",
"internal-ip": "Internal IP",
"internal-ip-hint": "IP address your server is listening on.",
"apps-repo": "Apps repo URL",
"apps-repo-hint": "URL to the apps repository.",
"storage-path": "Storage path",
"storage-path-hint": "Path to the storage directory. Keep empty for default (runtipi/app-data). Make sure it is an absolute path and that it exists",
"submit": "Save",
"user-settings-title": "User settings",
"language": "Language",
"help-translate": "Help translate Tipi"
"internal-ip": "Interne IP",
"internal-ip-hint": "IP-Adresse, die Ihr Server abhört.",
"apps-repo": "App-Repo-URL",
"apps-repo-hint": "URL zum App-Repository.",
"storage-path": "Speicherpfad",
"storage-path-hint": "Pfad zum Speicherverzeichnis. Leer lassen für Standard (runtipi/app-data). Stelle sicher, dass es ein absoluter Pfad ist, der existiert",
"submit": "Speichern",
"user-settings-title": "Benutzereinstellungen",
"language": "Sprache",
"help-translate": "Beim Übersetzen helfen"
},
"security": {
"tab-title": "Security",
"change-password-title": "Change password",
"change-password-subtitle": "Changing your password will log you out of all devices.",
"password-change-success": "Password changed successfully",
"2fa-title": "Two-factor authentication",
"2fa-subtitle": "Two-factor authentication (2FA) adds an additional layer of security to your account.",
"2fa-subtitle-2": "When enabled, you will be prompted to enter a code from your authenticator app when you log in.",
"2fa-enable-success": "Two-factor authentication enabled",
"2fa-disable-success": "Two-factor authentication disabled",
"scan-qr-code": "Scan this QR code with your authenticator app.",
"enter-key-manually": "Or enter this key manually.",
"enter-2fa-code": "Enter the 6-digit code from your authenticator app",
"enable-2fa": "Enable two-factor authentication",
"disable-2fa": "Disable two-factor authentication",
"password-needed": "Password needed",
"password-needed-hint": "Your password is required to change two-factor authentication settings.",
"tab-title": "Sicherheit",
"change-password-title": "Passwort ändern",
"change-password-subtitle": "Das Ändern des Passworts wird Sie von allen Geräten abmelden.",
"password-change-success": "Passwort erfolgreich geändert",
"2fa-title": "Zwei-Faktor Authentifizierung",
"2fa-subtitle": "Zwei-Faktor Authentifizierung (2FA) fügt deinem Konto eine weitere Sicherheitsebene zu.",
"2fa-subtitle-2": "Wenn aktiviert, werden Sie bei der Anmeldung aufgefordert, einen Code aus ihrer Authentifizierungs-App einzugeben.",
"2fa-enable-success": "Zwei-Faktor Authentifizierung aktiviert",
"2fa-disable-success": "ZweiFaktorAuthentifizierung deaktiviert",
"scan-qr-code": "Scannen Sie diesen QR-Code mit Ihrer Authentifizierungs-App.",
"enter-key-manually": "Oder diesen Code manuell eingeben.",
"enter-2fa-code": "Geben Sie den 6-stelligen Code aus\nihrer Authentifizierungs-App ein",
"enable-2fa": "Zwei-Faktor-Authentifizierung aktivieren",
"disable-2fa": "Zwei-Faktor-Authentifizierung deaktivieren",
"password-needed": "Passwort erforderlich",
"password-needed-hint": "Ihr Passwort wird benötigt, um die Zwei-Faktor-Authentifizierungseinstellungen zu ändern.",
"form": {
"password-length": "Password must be at least 8 characters",
"password-match": "Passwords do not match",
"current-password": "Current password",
"new-password": "New password",
"confirm-password": "Confirm new password",
"change-password": "Change password",
"password": "Password"
"password-length": "Das Passwort muss mindestens 8 Zeichen lang sein",
"password-match": "Passwörter stimmen nicht überein",
"current-password": "Aktuelles Passwort",
"new-password": "Neues Passwort",
"confirm-password": "Neues Passwort bestätigen",
"change-password": "Passwort ändern",
"password": "Passwort"
}
}
},
"header": {
"dashboard": "Dashboard",
"my-apps": "My Apps",
"my-apps": "Meine Apps",
"app-store": "App Store",
"settings": "Settings",
"logout": "Logout",
"dark-mode": "Dark Mode",
"light-mode": "Light Mode",
"settings": "Einstellungen",
"logout": "Abmelden",
"dark-mode": "Dunkler Modus",
"light-mode": "Heller Modus",
"sponsor": "Sponsor",
"source-code": "Source code",
"update-available": "Update available"
"source-code": "Quellcode",
"update-available": "Aktualisierung verfügbar"
}
}

View file

@ -1,24 +1,24 @@
{
"server-messages": {
"errors": {
"invalid-credentials": "Invalid credentials",
"admin-already-exists": "There is already an admin user. Please login to create a new user from the admin panel.",
"missing-email-or-password": "Missing email or password",
"invalid-username": "Invalid username",
"user-already-exists": "User already exists",
"error-creating-user": "Error creating user",
"no-change-password-request": "No change password request found",
"operator-not-found": "Operator user not found",
"user-not-found": "User not found",
"not-allowed-in-demo": "Not allowed in demo mode",
"not-allowed-in-dev": "Not allowed in dev mode",
"invalid-password": "Invalid password",
"invalid-password-length": "Password must be at least 8 characters long",
"invalid-locale": "Invalid locale",
"totp-session-not-found": "2FA session not found",
"totp-not-enabled": "2FA is not enabled for this user",
"totp-invalid-code": "Invalid 2FA code",
"totp-already-enabled": "2FA is already enabled for this user",
"invalid-credentials": "Credenciales inválidas",
"admin-already-exists": "Ya existe un usuario administrador. Inicie sesión para crear un nuevo usuario desde el panel de administración.",
"missing-email-or-password": "Falta el correo electrónico o la contraseña",
"invalid-username": "Nombre de usuario inválido",
"user-already-exists": "El usuario ya existe",
"error-creating-user": "Error al crear usuario",
"no-change-password-request": "No se ha encontrado ninguna solicitud de cambio de contraseña",
"operator-not-found": "Usuario operador no encontrado",
"user-not-found": "Usuario no encontrado",
"not-allowed-in-demo": "No se permite en modo demo",
"not-allowed-in-dev": "No está permitido en modo dev",
"invalid-password": "Contraseña invalida",
"invalid-password-length": "La contraseña debe tener al menos 8 caracteres",
"invalid-locale": "Local inválido",
"totp-session-not-found": "Sesión 2FA no encontrado",
"totp-not-enabled": "2FA no está habilitado para este usuario",
"totp-invalid-code": "Código 2FA no válido",
"totp-already-enabled": "2FA ya está habilitado para este usuario",
"app-not-found": "App {id} not found",
"app-failed-to-start": "Failed to start app {id}, see logs for more details",
"app-failed-to-install": "Failed to install app {id}, see logs for more details",

View file

@ -1,295 +1,295 @@
{
"server-messages": {
"errors": {
"invalid-credentials": "Invalid credentials",
"admin-already-exists": "There is already an admin user. Please login to create a new user from the admin panel.",
"missing-email-or-password": "Missing email or password",
"invalid-username": "Invalid username",
"user-already-exists": "User already exists",
"error-creating-user": "Error creating user",
"no-change-password-request": "No change password request found",
"operator-not-found": "Operator user not found",
"user-not-found": "User not found",
"not-allowed-in-demo": "Not allowed in demo mode",
"not-allowed-in-dev": "Not allowed in dev mode",
"invalid-password": "Invalid password",
"invalid-password-length": "Password must be at least 8 characters long",
"invalid-locale": "Invalid locale",
"totp-session-not-found": "2FA session not found",
"totp-not-enabled": "2FA is not enabled for this user",
"totp-invalid-code": "Invalid 2FA code",
"totp-already-enabled": "2FA is already enabled for this user",
"app-not-found": "App {id} not found",
"app-failed-to-start": "Failed to start app {id}, see logs for more details",
"app-failed-to-install": "Failed to install app {id}, see logs for more details",
"app-failed-to-stop": "Failed to stop app {id}, see logs for more details",
"app-failed-to-uninstall": "Failed to uninstall app {id}, see logs for more details",
"app-failed-to-update": "Failed to update app {id}, see logs for more details",
"domain-required-if-expose-app": "Domain is required if app is exposed",
"domain-not-valid": "Domain {domain} is not a valid domain",
"invalid-config": "App {id} has an invalid config.json file",
"app-not-exposable": "App {id} is not exposable",
"app-force-exposed": "App {id} works only with exposed domain",
"domain-already-in-use": "Domain {domain} is already in use by app {id}",
"could-not-get-latest-version": "Could not get latest version",
"current-version-is-latest": "Current version is already up to date",
"major-version-update": "The major version has changed. Please update manually (instructions on GitHub)"
"invalid-credentials": "Érvénytelen hitelesítő adatok",
"admin-already-exists": "Már van egy admin felhasználó. Kérjük, jelentkezzen be, hogy új felhasználót hozzon létre az admin panelen.",
"missing-email-or-password": "Hiányzó e-mail cím vagy jelszó",
"invalid-username": "Érvénytelen felhasználónév",
"user-already-exists": "A felhasználó már létezik",
"error-creating-user": "Hiba a felhasználó létrehozásakor",
"no-change-password-request": "Nincs jelszóváltoztatási kérelem",
"operator-not-found": "Az operátor felhasználó nem található",
"user-not-found": "A felhasználó nem található",
"not-allowed-in-demo": "Demó üzemmódban nem engedélyezett",
"not-allowed-in-dev": "Dev módban nem megengedett",
"invalid-password": "Érvénytelen jelszó",
"invalid-password-length": "A jelszónak legalább 8 karakter hosszúnak kell lennie",
"invalid-locale": "Érvénytelen nyelvi beállítás",
"totp-session-not-found": "2FA munkamenet nem található",
"totp-not-enabled": "A 2FA nincs engedélyezve ennél a felhasználónál",
"totp-invalid-code": "Érvénytelen 2FA kód",
"totp-already-enabled": "A 2FA már engedélyezve van ennél a felhasználónál",
"app-not-found": "A(z) {id} alkalmazás nem található",
"app-failed-to-start": "Nem sikerült elindítani az {id} alkalmazást. További részletekért tekintse meg a naplókat",
"app-failed-to-install": "Nem sikerült telepíteni az {id} alkalmazást. További részletekért tekintse meg a naplókat",
"app-failed-to-stop": "Nem sikerült leállítani az {id} alkalmazást. További részletekért tekintse meg a naplókat",
"app-failed-to-uninstall": "Nem sikerült eltávolítani az {id} alkalmazást. További részletekért tekintse meg a naplókat",
"app-failed-to-update": "Nem sikerült frissíteni az {id} alkalmazást. További részletekért tekintse meg a naplókat",
"domain-required-if-expose-app": "Domain szükséges, ha az alkalmazás exponálva van",
"domain-not-valid": "A(z) {domain} domain nem érvényes domain",
"invalid-config": "A(z) {id} alkalmazás érvénytelen config.json fájlt tartalmaz",
"app-not-exposable": "Az {id} alkalmazás nem hozzáférhető",
"app-force-exposed": "Az {id} alkalmazás csak nyilvános domainnel működik",
"domain-already-in-use": "A(z) {domain} domaint már használja a(z) {id} alkalmazás",
"could-not-get-latest-version": "Nem sikerült letölteni a legújabb verziót",
"current-version-is-latest": "A jelenlegi verzió már naprakész",
"major-version-update": "A fő verzió megváltozott. Kérjük, frissítse manuálisan (utasítások a GitHubon)"
},
"success": {}
},
"auth": {
"login": {
"title": "Login to your account",
"submit": "Login"
"title": "Jelentkezz be a fiókodba",
"submit": "Belépés"
},
"totp": {
"title": "Two-factor authentication",
"instructions": "Enter the code from your authenticator app",
"submit": "Confirm"
"title": "Kétlépcsős hitelesítés",
"instructions": "Írja be a kódot a hitelesítő alkalmazásból",
"submit": "Megerősít"
},
"register": {
"title": "Register your account",
"submit": "Register"
"title": "Fiók regisztráció",
"submit": "Regisztráció"
},
"reset-password": {
"title": "Reset your password",
"submit": "Reset password",
"cancel": "Cancel password change request",
"instructions": "Run this command on your server and then refresh this page",
"success-title": "Password reset",
"success": "Your password has been reset. You can now login with your new password. And your email {email}",
"back-to-login": "Back to login"
"title": "Jelszó visszaállítása",
"submit": "Jelszó visszaállítása",
"cancel": "Jelszómódosítási kérés visszavonása",
"instructions": "Futtassa ezt a parancsot a szerverén, majd frissítse ezt az oldalt",
"success-title": "Jelszó visszaállítása",
"success": "A jelszava vissza lett állítva. Most már bejelentkezhet az új jelszavával. Ez az e-mail címe {email}",
"back-to-login": "Vissza a belépéshez"
},
"form": {
"email": "Email address",
"email-placeholder": "you@example.com",
"password": "Password",
"password-placeholder": "Enter your password",
"password-confirmation": "Confirm password",
"password-confirmation-placeholder": "Confirm your password",
"forgot": "Forgot password?",
"new-password-placeholder": "Your new password",
"new-password-confirmation-placeholder": "Confirm your new password",
"email": "E-mail cím",
"email-placeholder": "nev@pelda.com",
"password": "Jelszó",
"password-placeholder": "Jelszó megadása",
"password-confirmation": "Jelszó megerősítése",
"password-confirmation-placeholder": "Jelszó megerősítése",
"forgot": "Elfelejtette jelszavát?",
"new-password-placeholder": "Az új jelszava",
"new-password-confirmation-placeholder": "Erősítse meg az új jelszavát",
"errors": {
"email": {
"required": "Email address is required",
"email": "Email address is invalid",
"invalid": "Email address is invalid"
"required": "E-mail cím megadása kötelező",
"email": "E-mail cím érvénytelen",
"invalid": "Az e-mail cím érvénytelen"
},
"password": {
"required": "Password is required",
"minlength": "Password must be at least 8 characters"
"required": "Jelszó megadása szükséges",
"minlength": "A jelszónak minimum 8 karakternek kell lennie"
},
"password-confirmation": {
"required": "Password confirmation is required",
"minlength": "Password confirmation must be at least 8 characters",
"match": "Passwords do not match"
"required": "Jelszó megerősítés szükséges",
"minlength": "A jelszónak legalább 8 karakterből kell állnia",
"match": "A jelszavak nem egyeznek"
}
}
}
},
"dashboard": {
"title": "Dashboard",
"title": "Irányítópult",
"cards": {
"disk": {
"title": "Disk Space",
"subtitle": "Used out of {total} GB"
"title": "Lemezterület",
"subtitle": "A {total} GB-ból használható"
},
"memory": {
"title": "Memory Used"
"title": "Memória használat"
},
"cpu": {
"title": "CPU Load",
"subtitle": "Uninstall apps to reduce load"
"title": "CPU kihasználtság",
"subtitle": "Távolítson el alkalmazásokat a terhelés csökkentése érdekében"
}
}
},
"apps": {
"status-running": "Running",
"status-stopped": "Stopped",
"status-starting": "Starting",
"status-stopping": "Stopping",
"status-updating": "Updating",
"status-missing": "Missing",
"status-installing": "Installing",
"status-uninstalling": "Uninstalling",
"update-available": "Update available",
"status-running": "Fut",
"status-stopped": "Megállítva",
"status-starting": "Indítás",
"status-stopping": "Leállítás",
"status-updating": "Frissítés",
"status-missing": "Hiányzó",
"status-installing": "Telepítés folyamatban",
"status-uninstalling": "Eltávolítás",
"update-available": "Frissítés elérhető",
"my-apps": {
"title": "My Apps",
"empty-title": "No app installed",
"empty-subtitle": "Install an app from the app store to get started",
"empty-action": "Go to app store"
"title": "Alkalmazásaim",
"empty-title": "Nincsenek alkalmazások telepítve",
"empty-subtitle": "Telepítsen egy alkalmazást az Alkalmazásboltból az induláshoz",
"empty-action": "Ugrás az Alkalmazásboltba"
},
"app-store": {
"title": "App Store",
"search-placeholder": "Search apps",
"category-placeholder": "Select a category",
"no-results": "No app found",
"no-results-subtitle": "Try to refine your search"
"title": "Alkalmazásbolt",
"search-placeholder": "Alkalmazások keresése",
"category-placeholder": "Kategória választása",
"no-results": "Nem található alkalmazás",
"no-results-subtitle": "Próbálja meg finomítani a keresést"
},
"app-details": {
"install-success": "App installed successfully",
"uninstall-success": "App uninstalled successfully",
"stop-success": "App stopped successfully",
"update-success": "App updated successfully",
"start-success": "App started successfully",
"update-config-success": "App config updated successfully. Restart the app to apply the changes",
"version": "Version",
"description": "Description",
"base-info": "Base info",
"source-code": "Source code",
"author": "Author",
"install-success": "Az alkalmazás sikeresen telepítve",
"uninstall-success": "Az alkalmazás sikeresen eltávolítva",
"stop-success": "Az alkalmazás sikeresen leállítva",
"update-success": "Az alkalmazás sikeresen frissítve",
"start-success": "Az alkalmazás sikeresen elindítva",
"update-config-success": "Az alkalmazás konfigurációja sikeresen frissült. Indítsa újra az alkalmazást a módosítások alkalmazásához",
"version": "Verzió",
"description": "Leírás",
"base-info": "Alapinformáció",
"source-code": "Forráskód",
"author": "Szerző",
"port": "Port",
"categories-title": "Categories",
"link": "Link",
"website": "Website",
"supported-arch": "Supported architectures",
"categories-title": "Kategóriák",
"link": "Hivatkozás",
"website": "Weboldal",
"supported-arch": "Támogatott architektúrák",
"categories": {
"data": "Data",
"network": "Network",
"media": "Media",
"development": "Development",
"automation": "Automation",
"social": "Social",
"utilities": "Utilities",
"security": "Security",
"photography": "Photography",
"featured": "Featured",
"books": "Books",
"music": "Music",
"finance": "Finance",
"gaming": "Gaming",
"data": "Adat",
"network": "Hálózat",
"media": "Média",
"development": "Fejlesztés",
"automation": "Automatizálás",
"social": "Közösségi",
"utilities": "Segédprogramok",
"security": "Biztonság",
"photography": "Fényképészet",
"featured": "Ajánlott",
"books": "Könyvek",
"music": "Zene",
"finance": "Pénzügyek",
"gaming": "Játék",
"ai": "AI"
},
"actions": {
"start": "Start",
"remove": "Remove",
"settings": "Settings",
"stop": "Stop",
"open": "Open",
"loading": "Loading",
"cancel": "Cancel",
"install": "Install",
"update": "Update"
"start": "Indít",
"remove": "Eltávolít",
"settings": "Beállítások",
"stop": "Megállít",
"open": "Megnyitás",
"loading": "Betöltés",
"cancel": "Mégsem",
"install": "Telepítés",
"update": "Frissítés"
},
"install-form": {
"title": "Install {name}",
"expose-app": "Expose app",
"domain-name": "Domain name",
"domain-name-hint": "Make sure this exact domain contains an A record pointing to your IP.",
"choose-option": "Choose an option...",
"sumbit-install": "Install",
"submit-update": "Update",
"title": "{name} telepítése",
"expose-app": "Tegye ki az alkalmazást",
"domain-name": "Domain név",
"domain-name-hint": "Győződjön meg arról, hogy ez a domain tartalmaz egy A rekordot, amely az Ön IP-jére mutat.",
"choose-option": "Válasszon egy lehetőséget...",
"sumbit-install": "Telepítés",
"submit-update": "Frissítés",
"errors": {
"required": "{label} is required",
"regex": "{label} must match the pattern {pattern}",
"max-length": "{label} must be less than {max} characters",
"min-length": "{label} must be at least {min} characters",
"between-length": "{label} must be between {min} and {max} characters",
"invalid-email": "{label} must be a valid email address",
"number": "{label} must be a number",
"fqdn": "{label} must be a valid domain",
"ip": "{label} must be a valid IP address",
"fqdnip": "{label} must be a valid domain or IP address",
"url": "{label} must be a valid URL"
"required": "{label} megadása kötelező",
"regex": "{label} meg kell egyeznie a mintával {pattern}",
"max-length": "A {label} karakternek kevesebbnek kell lennie, mint a {max} karakter(ek)",
"min-length": "{label} legalább {min} karakter hosszú legyen",
"between-length": "A {label} {min} és {max} karakterek között kell lennie",
"invalid-email": "{label} érvényes e-mail címnek kell lennie",
"number": "{label} számnak kell lennie",
"fqdn": "A {label} érvényes domainnek kell lennie",
"ip": "{label} érvényes IP-címnek kell lennie",
"fqdnip": "{label} érvényes domain vagy IP-cím lehet",
"url": "{label} érvényes URL címnek kell lennie"
}
},
"stop-form": {
"title": "Stop {name} ?",
"subtitle": "All data will be retained",
"submit": "Stop"
"title": "Megállít {name} ?",
"subtitle": "Minden adat megmarad",
"submit": "Megállít"
},
"uninstall-form": {
"title": "Uninstall {name} ?",
"subtitle": "All data for this app will be lost.",
"warning": "Are you sure? This action cannot be undone.",
"submit": "Uninstall"
"title": "Távolítsa el a {name} ?",
"subtitle": "Az alkalmazás összes adata elveszik.",
"warning": "Biztos benne? Ezt a műveletet nem lehet visszavonni.",
"submit": "Eltávolit"
},
"update-form": {
"title": "Update {name} ?",
"subtitle1": "Update app to latest verion :",
"subtitle2": "This will reset your custom configuration (e.g. changes in docker-compose.yml)",
"submit": "Update"
"title": "Frissíti {name} ?",
"subtitle1": "Frissítse az alkalmazást a legújabb verzióra:",
"subtitle2": "Ez visszaállítja az egyéni konfigurációt (pl. változások a docker-compose.yml-ben)",
"submit": "Frissítés"
},
"update-settings-form": {
"title": "Update {name} config"
"title": "Frissítse a {name} konfigurációt"
}
}
},
"settings": {
"title": "Settings",
"title": "Beállítások",
"actions": {
"tab-title": "Actions",
"title": "Actions",
"current-version": "Current version: {version}",
"stay-up-to-date": "Stay up to date with the latest version of Tipi",
"new-version": "A new version ({version}) of Tipi is available",
"maintenance-title": "Maintenance",
"maintenance-subtitle": "Common actions to perform on your instance",
"restart": "Restart",
"update": "Update to {version}",
"already-latest": "Already up to date"
"tab-title": "Műveletek",
"title": "Műveletek",
"current-version": "Jelenlegi verzió: {version}",
"stay-up-to-date": "Legyen naprakész a Tipi legújabb verziójával",
"new-version": "A Tipi új verziója ({version}) elérhető",
"maintenance-title": "Karbantartás",
"maintenance-subtitle": "Általános műveletek ezen a példányon",
"restart": "Újraindítás",
"update": "Frissítés erre {version}",
"already-latest": "Már naprakész"
},
"settings": {
"tab-title": "Settings",
"title": "General settings",
"subtitle": "This will update your settings.json file. Make sure you know what you are doing before updating these values.",
"settings-updated": "Settings updated. Restart your instance to apply new settings.",
"invalid-ip": "Invalid IP address",
"invalid-url": "Invalid URL",
"invalid-domain": "Invalid domain",
"domain-name": "Domain name",
"domain-name-hint": "Make sure this exact domain contains an A record pointing to your IP.",
"dns-ip": "DNS IP",
"internal-ip": "Internal IP",
"internal-ip-hint": "IP address your server is listening on.",
"apps-repo": "Apps repo URL",
"apps-repo-hint": "URL to the apps repository.",
"storage-path": "Storage path",
"storage-path-hint": "Path to the storage directory. Keep empty for default (runtipi/app-data). Make sure it is an absolute path and that it exists",
"submit": "Save",
"user-settings-title": "User settings",
"language": "Language",
"help-translate": "Help translate Tipi"
"tab-title": "Beállítások",
"title": "Általános beállítások",
"subtitle": "Ez frissíti a settings.json fájlt. Mielőtt frissítené ezeket az értékeket, győződjön meg arról, hogy tudja, mit csinál.",
"settings-updated": "A beállítások frissítve. Indítsa újra a példányt az új beállítások alkalmazásához.",
"invalid-ip": "Érvénytelen IP-cím",
"invalid-url": "Érvénytelen URL",
"invalid-domain": "Érvénytelen domain név",
"domain-name": "Domain név",
"domain-name-hint": "Győződjön meg arról, hogy ez a domain tartalmaz egy A rekordot, amely az Ön IP-jére mutat.",
"dns-ip": "DNS IP címe",
"internal-ip": "Belső IP cím",
"internal-ip-hint": "A szerver által hallgatott IP-cím.",
"apps-repo": "Alkalmazás-tárház URL címe",
"apps-repo-hint": "Az alkalmazás-tárház URL-je.",
"storage-path": "A tárhely elérési útja",
"storage-path-hint": "Út a tárolókönyvtárhoz. Alapértelmezés szerint maradjon üres (runtipi/app-data). Ügyeljen arra, hogy abszolút út legyen, és hogy létezik",
"submit": "Mentés",
"user-settings-title": "Felhasználói beállítások",
"language": "Nyelv",
"help-translate": "Segíts a Tipi fordításában"
},
"security": {
"tab-title": "Security",
"change-password-title": "Change password",
"change-password-subtitle": "Changing your password will log you out of all devices.",
"password-change-success": "Password changed successfully",
"2fa-title": "Two-factor authentication",
"2fa-subtitle": "Two-factor authentication (2FA) adds an additional layer of security to your account.",
"2fa-subtitle-2": "When enabled, you will be prompted to enter a code from your authenticator app when you log in.",
"2fa-enable-success": "Two-factor authentication enabled",
"2fa-disable-success": "Two-factor authentication disabled",
"scan-qr-code": "Scan this QR code with your authenticator app.",
"enter-key-manually": "Or enter this key manually.",
"enter-2fa-code": "Enter the 6-digit code from your authenticator app",
"enable-2fa": "Enable two-factor authentication",
"disable-2fa": "Disable two-factor authentication",
"password-needed": "Password needed",
"password-needed-hint": "Your password is required to change two-factor authentication settings.",
"tab-title": "Biztonság",
"change-password-title": "Jelszó módosítása",
"change-password-subtitle": "A jelszó megváltoztatása után minden eszközből kijelentkezik.",
"password-change-success": "A jelszó sikeresen megváltozott",
"2fa-title": "Kétlépcsős hitelesítés",
"2fa-subtitle": "Kétlépcsős azonosítás (2FA) használatával a fiók biztonsága tovább növelhető.",
"2fa-subtitle-2": "Ha engedélyezve van, akkor a rendszer kéri, hogy írjon be egy kódot a hitelesítő alkalmazásból, amikor bejelentkezik.",
"2fa-enable-success": "Kétlépcsős azonosítás engedélyezve",
"2fa-disable-success": "Kétlépcsős azonosítás kikapcsolva",
"scan-qr-code": "Ezt a QR kódot kell beolvasni a hitelesítő alkalmazással.",
"enter-key-manually": "Vagy adja meg a kulcsot manuálisan.",
"enter-2fa-code": "Írja be a 6 számjegyű kódot a hitelesítő alkalmazásból",
"enable-2fa": "Kétlépcsős azonosítás engedélyezése",
"disable-2fa": "Kétlépcsős azonosítás letiltása",
"password-needed": "Jelszó szükséges",
"password-needed-hint": "A kétlépcsős hitelesítési beállítások megváltoztatásához szükséges a jelszavad.",
"form": {
"password-length": "Password must be at least 8 characters",
"password-match": "Passwords do not match",
"current-password": "Current password",
"new-password": "New password",
"confirm-password": "Confirm new password",
"change-password": "Change password",
"password": "Password"
"password-length": "A jelszónak minimum 8 karakter hosszúnak kell lennie",
"password-match": "A jelszavak nem egyeznek",
"current-password": "Jelenlegi jelszó",
"new-password": "Új jelszó",
"confirm-password": "Új jelszó megerősítése",
"change-password": "Jelszó módosítása",
"password": "Jelszó"
}
}
},
"header": {
"dashboard": "Dashboard",
"my-apps": "My Apps",
"app-store": "App Store",
"settings": "Settings",
"logout": "Logout",
"dark-mode": "Dark Mode",
"light-mode": "Light Mode",
"sponsor": "Sponsor",
"source-code": "Source code",
"update-available": "Update available"
"dashboard": "Irányítópult",
"my-apps": "Alkalmazásaim",
"app-store": "Alkalmazásbolt",
"settings": "Beállítások",
"logout": "Kijelentkezés",
"dark-mode": "Sötét mód",
"light-mode": "Világos mód",
"sponsor": "Szponzor",
"source-code": "Forráskód",
"update-available": "Frissítés érhető el"
}
}

View file

@ -1,6 +1,8 @@
const APP_LOCALES = {
'de-DE': 'Deutsch',
'en-US': 'English',
'fr-FR': 'Français',
'hu-HU': 'Magyar',
'ja-JP': '日本語',
'pl-PL': 'Polski',
'sv-SE': 'Svenska',
@ -10,15 +12,18 @@ const APP_LOCALES = {
'zh-TW': '繁體中文',
} as const;
const FALLBACK_LOCALES = [
{ from: 'fr', to: 'fr-FR' },
type BaseLang<T extends string> = T extends `${infer U}-${string}` ? U : T; // 'en-US' -> 'en'
const FALLBACK_LOCALES: { from: BaseLang<keyof typeof APP_LOCALES>; to: keyof typeof APP_LOCALES }[] = [
{ from: 'de', to: 'de-DE' },
{ from: 'en', to: 'en-US' },
{ from: 'fr', to: 'fr-FR' },
{ from: 'ja', to: 'ja-JP' },
{ from: 'pl', to: 'pl-PL' },
{ from: 'sv', to: 'sv-SE' },
{ from: 'ro', to: 'ro-RO' },
{ from: 'ru', to: 'ru-RU' },
{ from: 'zh', to: 'zh-CN' },
{ from: 'pl', to: 'pl-PL' },
{ from: 'sv', to: 'sv-SE' },
];
export type Locale = keyof typeof APP_LOCALES;