🚀 v0.10.0

This commit is contained in:
Thomas Camlong
2022-09-04 10:36:37 +02:00
committed by GitHub
566 changed files with 13052 additions and 869 deletions

8
.editorconfig Normal file
View File

@@ -0,0 +1,8 @@
root = true
[*]
end_of_line = lf
indent_size = 2
indent_style = space
trim_trailing_whitespace = true
insert_final_newline = true

View File

@@ -3,9 +3,9 @@ module.exports = {
'mantine',
'plugin:@next/next/recommended',
'plugin:jest/recommended',
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended"
'eslint:recommended',
'plugin:@typescript-eslint/eslint-recommended',
'plugin:@typescript-eslint/recommended',
],
plugins: ['testing-library', 'jest', 'react-hooks', 'react', 'unused-imports'],
overrides: [
@@ -20,12 +20,13 @@ module.exports = {
rules: {
'react/react-in-jsx-scope': 'off',
'react/no-children-prop': 'off',
"unused-imports/no-unused-imports": "warn",
"@typescript-eslint/no-unused-vars": "off",
"@typescript-eslint/no-unused-imports": "off",
"@typescript-eslint/no-unused-expressions": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-shadow": "off",
"@typescript-eslint/no-use-before-define": "off",
'unused-imports/no-unused-imports': 'warn',
'@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/no-unused-imports': 'off',
'@typescript-eslint/no-unused-expressions': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-shadow': 'off',
'@typescript-eslint/no-use-before-define': 'off',
'@typescript-eslint/no-non-null-assertion': 'off',
},
};

13
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,13 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: ajnart
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

View File

@@ -11,6 +11,9 @@
<a href="https://github.com/ajnart/homarr/actions/workflows/docker.yml">
<img title="Docker CI Status" src="https://github.com/ajnart/homarr/actions/workflows/docker.yml/badge.svg" alt="CI Status">
</a>
<a href=https://crowdin.com/project/homarr>
<img title="Translations" src="https://badges.crowdin.net/homarr/localized.svg" />
</a>
<a href="https://discord.gg/aCsmEV5RgA">
<img title="Discord" src="https://discordapp.com/api/guilds/972958686051962910/widget.png?style=shield">
</a>
@@ -27,13 +30,13 @@
---
<!-- Homarr Description -->
<img align="right" width=250 src="public/imgs/logo-color.svg" />
<img align="right" width=150 src="public/imgs/logo-color.svg" />
Homarr is a simple and lightweight homepage for your server, that helps you easily access all of your services in one place.
It integrates with the services you use to display information on the homepage (E.g. Show upcoming Sonarr/Radarr releases).
For a full list of integrations, [head over to our documentation](https://homarr.vercel.app/docs/advanced-features/integrations).
For a full list of integrations, [head over to our documentation](https://homarr.vercel.app/docs/advanced-configuration/integrations).
If you have any questions about Homarr or want to share information with us, please go to one of the following places:
@@ -111,7 +114,6 @@ docker run \
**Docker Compose**
```yml
---
version: '3'
#---------------------------------------------------------------------#
# Homarr - A homepage for your server. #

View File

@@ -1,3 +1,3 @@
files:
- source: /public/locales/en/*.json
translation: /public/locales/%two_letters_code%/%original_file_name%.json
- source: /public/locales/en/**/*.json
translation: /public/locales/%two_letters_code%/**/%original_file_name%

View File

@@ -17,4 +17,4 @@
"enabled": true
}
}
}
}

View File

@@ -1,2 +1,2 @@
export const REPO_URL = 'ajnart/homarr';
export const CURRENT_VERSION = 'v0.9.2';
export const CURRENT_VERSION = 'v0.10.0';

27
next-i18next.config.js Normal file
View File

@@ -0,0 +1,27 @@
module.exports = {
// https://www.i18next.com/overview/configuration-options#logging
i18n: {
defaultLocale: 'en',
locales: [
'en',
'de',
'es',
'fr',
'it',
'ja',
'ko',
'lol',
'nl',
'pl',
'pt',
'ru',
'sl',
'sv',
'uk',
],
fallbackLng: 'en',
localeDetection: true,
returnEmptyString: false,
},
reloadOnPrerender: process.env.NODE_ENV === 'development',
};

View File

@@ -1,5 +1,7 @@
const { env } = require('process');
const { i18n } = require('./next-i18next.config');
const withBundleAnalyzer = require('@next/bundle-analyzer')({
enabled: process.env.ANALYZE === 'true',
});
@@ -13,4 +15,5 @@ module.exports = withBundleAnalyzer({
outputStandalone: true,
},
output: 'standalone',
i18n,
});

View File

@@ -1,91 +1,101 @@
{
"name": "homarr",
"version": "0.9.2",
"description": "Homarr - A homepage for your server.",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/ajnart/homarr"
},
"scripts": {
"dev": "next dev",
"build": "next build",
"analyze": "ANALYZE=true next build",
"start": "next start",
"typecheck": "tsc --noEmit",
"export": "next build && next export",
"lint": "next lint",
"jest": "jest",
"jest:watch": "jest --watch",
"prettier:check": "prettier --check \"**/*.{ts,tsx}\"",
"prettier:write": "prettier --write \"**/*.{ts,tsx}\"",
"test": "npm run prettier:check && npm run lint && npm run typecheck && npm run jest",
"ci": "yarn test && yarn lint --fix && yarn typecheck && yarn prettier:write"
},
"dependencies": {
"@ctrl/deluge": "^4.1.0",
"@ctrl/qbittorrent": "^4.1.0",
"@ctrl/shared-torrent": "^4.1.1",
"@ctrl/transmission": "^4.1.1",
"@dnd-kit/core": "^6.0.5",
"@dnd-kit/sortable": "^7.0.1",
"@dnd-kit/utilities": "^3.2.0",
"@emotion/react": "^11.10.0",
"@emotion/server": "^11.10.0",
"@mantine/carousel": "^5.1.0",
"@mantine/core": "^5.1.0",
"@mantine/dates": "^5.1.0",
"@mantine/dropzone": "^5.1.0",
"@mantine/form": "^5.1.0",
"@mantine/hooks": "^5.1.0",
"@mantine/modals": "^5.1.0",
"@mantine/next": "^5.1.0",
"@mantine/notifications": "^5.1.0",
"@mantine/prism": "^5.0.0",
"@nivo/core": "^0.79.0",
"@nivo/line": "^0.79.1",
"@tabler/icons": "^1.78.0",
"add": "^2.0.6",
"axios": "^0.27.2",
"consola": "^2.15.3",
"cookies-next": "^2.1.1",
"dayjs": "^1.11.4",
"dockerode": "^3.3.2",
"embla-carousel-react": "^7.0.0",
"framer-motion": "^6.5.1",
"js-file-download": "^0.4.12",
"next": "12.1.6",
"prism-react-renderer": "^1.3.5",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"sharp": "^0.30.7",
"systeminformation": "^5.12.1",
"uuid": "^8.3.2",
"yarn": "^1.22.19"
},
"devDependencies": {
"@next/bundle-analyzer": "^12.1.4",
"@next/eslint-plugin-next": "^12.1.4",
"@types/dockerode": "^3.3.9",
"@types/node": "17.0.1",
"@types/react": "17.0.1",
"@types/uuid": "^8.3.4",
"@typescript-eslint/eslint-plugin": "^5.30.7",
"@typescript-eslint/parser": "^5.30.7",
"eslint": "^8.20.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-airbnb-typescript": "^17.0.0",
"eslint-config-mantine": "^2.0.0",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-jest": "^26.6.0",
"eslint-plugin-jsx-a11y": "^6.6.1",
"eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-testing-library": "^5.5.1",
"eslint-plugin-unused-imports": "^2.0.0",
"jest": "^28.1.3",
"prettier": "^2.7.1",
"typescript": "^4.7.4"
},
"packageManager": "yarn@3.2.1"
"name": "homarr",
"version": "0.10.0",
"description": "Homarr - A homepage for your server.",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/ajnart/homarr"
},
"scripts": {
"dev": "next dev",
"build": "next build",
"analyze": "ANALYZE=true next build",
"start": "next start",
"typecheck": "tsc --noEmit",
"export": "next build && next export",
"lint": "next lint",
"jest": "jest",
"jest:watch": "jest --watch",
"prettier:check": "prettier --check \"**/*.{ts,tsx}\"",
"prettier:write": "prettier --write \"**/*.{ts,tsx}\"",
"test": "npm run prettier:check && npm run lint && npm run typecheck && npm run jest",
"ci": "yarn test && yarn lint --fix && yarn typecheck && yarn prettier:write"
},
"dependencies": {
"@ctrl/deluge": "^4.1.0",
"@ctrl/qbittorrent": "^4.1.0",
"@ctrl/shared-torrent": "^4.1.1",
"@ctrl/transmission": "^4.1.1",
"@dnd-kit/core": "^6.0.5",
"@dnd-kit/sortable": "^7.0.1",
"@dnd-kit/utilities": "^3.2.0",
"@emotion/react": "^11.10.0",
"@emotion/server": "^11.10.0",
"@mantine/carousel": "^5.1.0",
"@mantine/core": "^5.2.3",
"@mantine/dates": "^5.2.3",
"@mantine/dropzone": "^5.2.3",
"@mantine/form": "^5.2.3",
"@mantine/hooks": "^5.2.3",
"@mantine/modals": "^5.2.3",
"@mantine/next": "^5.2.3",
"@mantine/notifications": "^5.2.3",
"@mantine/prism": "^5.0.0",
"@nivo/core": "^0.79.0",
"@nivo/line": "^0.79.1",
"@tabler/icons": "^1.78.0",
"@tanstack/react-query": "^4.2.1",
"add": "^2.0.6",
"axios": "^0.27.2",
"consola": "^2.15.3",
"cookies-next": "^2.1.1",
"dayjs": "^1.11.5",
"dockerode": "^3.3.2",
"embla-carousel-react": "^7.0.0",
"framer-motion": "^6.5.1",
"i18next": "^21.9.1",
"i18next-browser-languagedetector": "^6.1.5",
"i18next-http-backend": "^1.4.1",
"js-file-download": "^0.4.12",
"next": "12.1.6",
"next-i18next": "^11.3.0",
"prism-react-renderer": "^1.3.5",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"sabnzbd-api": "^1.5.0",
"sharp": "^0.30.7",
"systeminformation": "^5.12.1",
"uuid": "^8.3.2",
"yarn": "^1.22.19"
},
"devDependencies": {
"@next/bundle-analyzer": "^12.1.4",
"@next/eslint-plugin-next": "^12.1.4",
"@types/dockerode": "^3.3.9",
"@types/node": "17.0.1",
"@types/react": "17.0.1",
"@types/uuid": "^8.3.4",
"@typescript-eslint/eslint-plugin": "^5.30.7",
"@typescript-eslint/parser": "^5.30.7",
"eslint": "^8.20.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-airbnb-typescript": "^17.0.0",
"eslint-config-mantine": "^2.0.0",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-jest": "^26.6.0",
"eslint-plugin-jsx-a11y": "^6.6.1",
"eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-testing-library": "^5.5.1",
"eslint-plugin-unused-imports": "^2.0.0",
"jest": "^28.1.3",
"prettier": "^2.7.1",
"typescript": "^4.7.4"
},
"resolutions": {
"@types/react": "17.0.2",
"@types/react-dom": "17.0.2"
},
"packageManager": "yarn@3.2.1"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@@ -1,247 +1,17 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="1000.000000pt" height="1000.000000pt" viewBox="0 0 1000.000000 1000.000000"
preserveAspectRatio="xMidYMid meet">
<g transform="translate(0.000000,1000.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M6470 9752 c-179 -11 -423 -57 -605 -113 -94 -29 -116 -37 -212 -73
-381 -144 -693 -333 -1030 -621 -6 -5 -63 -61 -126 -123 l-114 -113 -179 88
c-223 110 -305 143 -386 158 -12 3 -34 8 -48 11 -14 3 -100 8 -191 10 -154 4
-171 3 -253 -21 -159 -46 -241 -93 -355 -201 -55 -53 -101 -100 -101 -104 0
-10 76 18 110 41 39 26 206 108 253 124 61 20 202 42 294 44 56 1 105 -6 178
-24 55 -15 110 -28 122 -31 76 -15 317 -112 410 -165 l52 -30 -78 -97 c-152
-190 -244 -324 -230 -333 8 -5 17 -9 20 -9 4 0 12 -13 19 -30 18 -44 5 -139
-39 -269 -20 -62 -34 -114 -31 -116 4 -2 24 14 45 35 22 22 43 40 49 40 5 0
23 -10 40 -23 56 -42 210 -135 276 -167 36 -17 72 -35 80 -39 37 -20 139 -43
187 -43 35 0 64 6 88 21 l36 21 57 -38 c31 -21 76 -46 100 -55 52 -21 149 -32
188 -23 l28 7 -29 23 -29 24 54 34 c78 49 180 84 191 67 37 -57 119 -207 165
-304 75 -157 122 -306 134 -421 16 -157 43 -193 152 -199 56 -4 62 -2 90 26
29 29 30 33 25 89 -13 122 -191 536 -326 759 -53 87 -58 100 -41 102 6 1 13 2
18 3 4 1 39 5 77 10 104 11 156 17 195 21 19 3 62 7 95 10 112 11 246 45 470
120 370 124 716 314 905 497 278 269 418 532 380 714 l-12 58 -35 -43 c-48
-57 -116 -90 -216 -102 -117 -15 -165 -29 -198 -56 -23 -19 -32 -22 -48 -14
-51 27 -95 7 -160 -75 -30 -37 -60 -64 -73 -66 -13 -2 -50 2 -83 10 -79 17
-112 10 -189 -43 -107 -73 -120 -78 -196 -70 -84 8 -97 2 -176 -82 -56 -59
-63 -63 -94 -58 -18 3 -37 8 -41 11 -4 2 -25 7 -47 10 -37 5 -43 2 -111 -60
l-71 -66 -65 0 c-90 0 -160 -28 -221 -90 -47 -47 -52 -50 -103 -50 -49 0 -57
-3 -94 -41 -48 -47 -65 -57 -92 -53 -11 1 -39 6 -62 9 -29 4 -43 11 -43 21 0
30 20 52 53 58 23 4 38 15 45 31 16 35 49 53 112 59 66 7 99 29 169 113 28 34
60 67 72 73 11 6 55 14 97 16 84 5 91 9 133 71 20 29 40 45 65 52 35 10 47 9
141 -10 61 -12 82 -4 163 65 57 49 103 62 173 52 41 -6 43 -5 85 44 68 79 92
86 268 80 84 -3 113 9 175 75 95 100 156 119 227 73 44 -29 61 -28 110 6 57
39 107 56 141 50 26 -6 38 1 92 49 72 66 120 79 184 53 21 -9 39 -15 40 -14 1
2 9 14 18 28 51 75 -5 176 -155 283 -146 104 -224 134 -478 182 -61 11 -221
34 -280 40 -69 8 -327 12 -400 7z"/>
<path d="M8256 8794 c-3 -8 -3 -46 0 -82 4 -47 1 -86 -10 -128 -9 -34 -16 -93
-16 -131 0 -44 -7 -92 -20 -128 -23 -66 -25 -108 -9 -186 9 -47 8 -60 -10
-102 -26 -60 -26 -101 -1 -196 20 -74 20 -75 0 -145 -13 -48 -19 -102 -19
-166 1 -135 -25 -322 -56 -403 -28 -75 -31 -112 -14 -185 13 -54 8 -78 -42
-189 -23 -52 -23 -53 -5 -108 l17 -55 -35 -79 c-33 -71 -36 -87 -36 -168 0
-122 -47 -273 -85 -273 -21 0 -19 21 14 138 17 57 32 131 36 165 3 34 17 104
31 155 23 81 25 99 15 137 -17 67 -14 90 21 158 34 67 36 86 57 467 6 95 14
160 25 190 19 49 15 93 -10 121 -15 16 -14 23 10 83 31 78 32 109 6 176 -27
70 -25 89 15 146 40 56 46 111 19 189 -23 69 -21 113 9 188 26 62 27 74 21
156 -6 80 -5 93 15 124 28 45 27 54 -10 73 -92 47 -184 -42 -338 -326 -161
-298 -197 -386 -285 -705 -103 -375 -123 -584 -96 -1025 12 -204 25 -312 52
-458 11 -62 18 -116 14 -119 -3 -3 -79 10 -168 30 -175 39 -357 74 -429 83
-24 3 -51 7 -58 10 -24 8 -159 18 -241 19 l-75 0 -3 -81 c-4 -127 -9 -124 233
-139 55 -3 111 -7 125 -10 14 -2 48 -6 77 -9 28 -3 77 -9 110 -15 32 -6 76
-13 98 -16 22 -4 56 -10 75 -15 19 -5 51 -11 70 -14 47 -8 85 -15 148 -30 l32
-8 0 -64 c0 -77 13 -110 75 -195 66 -90 81 -119 63 -130 -21 -14 -51 -10 -91
11 -44 24 -45 20 -18 -71 45 -149 37 -167 -56 -132 -10 4 5 -19 34 -50 28 -32
73 -92 99 -135 138 -222 189 -263 378 -302 107 -22 170 -49 187 -82 13 -23 14
-73 3 -120 -5 -25 -3 -28 21 -28 34 0 52 10 136 75 73 56 115 70 181 60 68
-11 138 46 104 84 -20 22 -21 18 62 191 35 74 80 183 100 242 l35 107 56 -40
c74 -53 164 -142 201 -199 91 -142 192 -648 151 -754 -19 -47 -5 -41 24 11 58
105 70 156 69 308 -1 121 -5 152 -27 226 -32 107 -94 250 -142 329 -45 75
-166 204 -234 250 -28 19 -51 39 -51 44 0 5 29 99 65 210 35 111 73 235 84
276 30 112 75 399 86 550 4 47 9 99 11 115 8 66 4 496 -6 593 -32 335 -162
788 -297 1042 -130 243 -283 386 -487 456 -82 28 -82 28 -90 8z"/>
<path d="M6300 7695 c-1 -143 -35 -481 -66 -659 -49 -276 -106 -466 -195 -644
-56 -112 -56 -113 -35 -127 41 -29 54 -19 102 76 149 298 211 539 229 904 7
142 -10 484 -25 499 -7 7 -10 -12 -10 -49z"/>
<path d="M4095 7698 c-3 -7 -6 -56 -7 -108 -3 -89 -4 -95 -23 -92 -11 2 -35
19 -52 39 -18 20 -34 34 -34 32 -1 -2 -3 -33 -4 -69 -4 -82 -13 -153 -27 -207
l-10 -43 -46 40 c-24 22 -48 40 -52 40 -11 0 -24 -221 -17 -309 6 -83 37 -178
66 -205 73 -66 245 -71 421 -12 58 19 130 45 160 56 30 12 69 26 86 31 31 9
31 10 36 87 3 56 12 94 33 140 15 34 25 65 22 68 -3 4 -18 7 -32 7 -40 0 -35
14 50 133 59 81 99 160 91 180 -3 8 -44 13 -123 17 -65 2 -127 7 -138 10 -127
33 -204 66 -321 137 -74 45 -73 45 -79 28z"/>
<path d="M3450 7544 c-123 -70 -410 -433 -412 -522 -2 -71 84 -177 137 -170
19 3 41 40 96 158 9 19 31 61 48 93 22 38 36 81 42 127 10 68 62 184 136 303
28 44 16 47 -47 11z"/>
<path d="M4972 7109 c-21 -6 -32 -15 -29 -23 3 -6 13 -40 22 -75 17 -60 19
-62 46 -56 15 3 45 2 66 -4 90 -23 132 -20 98 9 -33 28 -15 32 98 26 109 -7
226 -20 273 -32 22 -6 24 -4 18 27 -4 19 -9 37 -13 41 -7 8 -256 73 -316 82
-71 12 -229 14 -263 5z"/>
<path d="M4810 7085 c-36 -7 -81 -18 -100 -24 -67 -21 -66 -18 -35 -135 15
-58 33 -106 38 -106 14 0 135 68 142 80 3 5 26 12 50 16 25 3 45 8 45 11 0 3
-6 31 -14 62 -8 31 -17 68 -20 84 -7 30 -9 31 -106 12z"/>
<path d="M7315 6989 c-227 -53 -672 -275 -915 -457 -73 -55 -231 -196 -284
-252 l-48 -53 26 -25 25 -25 83 84 c119 121 227 202 478 361 113 72 265 152
437 232 216 100 260 123 268 136 7 12 -15 11 -70 -1z"/>
<path d="M2974 6954 c-7 -29 1 -307 14 -484 10 -129 25 -174 70 -212 48 -40
97 -53 127 -34 13 9 29 25 35 37 20 37 22 160 6 313 -9 82 -16 172 -16 202 l0
53 -30 -9 c-17 -5 -33 -9 -35 -10 -32 -5 -130 93 -140 141 -8 36 -23 37 -31 3z"/>
<path d="M2484 6858 c-73 -124 -162 -305 -184 -376 -24 -78 -17 -102 47 -142
57 -36 90 -39 103 -7 17 41 49 232 59 359 6 69 13 131 16 139 11 30 22 109 15
109 -4 0 -29 -37 -56 -82z"/>
<path d="M4563 6824 c-64 -39 -317 -95 -423 -94 -96 0 -119 4 -180 25 l-42 15
7 -28 c8 -32 34 -67 105 -142 28 -30 77 -84 108 -120 30 -36 89 -100 131 -142
l76 -78 -63 0 c-34 0 -62 -3 -62 -7 0 -32 78 -102 230 -208 47 -33 135 -96
195 -141 61 -44 120 -86 133 -93 29 -16 50 -4 127 69 33 31 80 70 105 86 25
16 47 31 50 35 5 6 110 66 185 106 85 45 76 75 -57 189 -57 48 -208 192 -336
318 -127 127 -235 232 -240 233 -4 1 -26 -9 -49 -23z"/>
<path d="M5840 6684 c-30 -8 -82 -14 -115 -13 -33 0 -66 0 -73 0 -10 -1 -12
-21 -10 -82 3 -75 5 -84 29 -101 49 -37 193 -36 216 1 14 23 29 211 17 210 -5
-1 -34 -7 -64 -15z"/>
<path d="M3914 6633 c-49 -114 -125 -336 -135 -397 -15 -86 -7 -135 27 -175
46 -55 140 -50 163 7 5 15 11 59 13 97 3 56 13 91 51 179 26 60 47 114 47 122
0 7 -20 36 -45 64 -25 28 -54 68 -65 90 -28 54 -37 56 -56 13z"/>
<path d="M5620 6407 c-12 -34 -36 -88 -53 -120 -16 -31 -28 -60 -25 -62 3 -3
41 3 84 13 43 11 112 20 153 21 41 1 78 4 81 6 4 3 10 30 14 60 3 31 13 72 21
92 14 33 14 35 -3 28 -9 -4 -51 -9 -92 -11 -57 -2 -85 1 -117 16 l-41 18 -22
-61z"/>
<path d="M2257 6308 c7 -119 45 -313 89 -448 54 -167 71 -198 116 -202 42 -4
98 9 120 29 22 20 19 36 -48 243 -61 190 -84 277 -84 314 0 17 -7 29 -17 32
-46 15 -100 41 -134 66 -22 16 -40 28 -42 28 -2 0 -2 -28 0 -62z"/>
<path d="M5935 6220 c-31 -44 -212 -222 -264 -259 -54 -38 -24 2 65 89 91 89
149 158 141 167 -7 6 -266 -22 -357 -39 -225 -42 -501 -216 -745 -470 -199
-206 -250 -272 -266 -349 -32 -150 60 -415 211 -604 152 -190 373 -343 525
-361 161 -19 456 6 511 43 23 16 231 377 296 513 36 76 104 281 153 464 35
128 30 177 -34 351 -69 185 -71 193 -71 248 0 44 -2 48 -16 36 -24 -20 -69
-114 -108 -229 -43 -124 -64 -154 -35 -49 33 121 103 284 150 351 11 14 19 30
19 35 0 5 -25 24 -55 42 -30 18 -59 39 -66 47 -17 21 -24 18 -54 -26z"/>
<path d="M6446 6230 c-44 -16 -83 -35 -88 -42 -9 -14 -2 -158 11 -204 12 -45
34 -52 78 -23 21 14 50 33 66 43 l27 17 -1 119 c0 66 -4 120 -7 119 -4 0 -43
-13 -86 -29z"/>
<path d="M3010 6219 c0 -59 289 -869 310 -869 4 0 14 24 20 53 25 105 54 140
113 133 20 -2 37 -3 37 -1 0 1 -24 70 -54 152 -30 83 -83 241 -119 351 l-63
200 -28 -34 c-23 -30 -33 -34 -72 -34 -53 0 -108 23 -129 54 -15 20 -15 20
-15 -5z"/>
<path d="M6244 6124 c-99 -79 -102 -86 -80 -181 10 -43 30 -114 43 -157 25
-80 25 -80 38 -50 7 16 36 60 64 99 42 56 51 74 46 95 -4 14 -12 73 -19 133
-7 59 -15 109 -17 112 -3 2 -36 -20 -75 -51z"/>
<path d="M3980 6022 c0 -6 -14 -19 -32 -28 -32 -16 -118 -16 -161 1 -12 5 12
-54 79 -191 53 -110 143 -298 201 -419 57 -121 111 -227 119 -235 13 -13 18
-11 41 20 15 19 50 59 80 88 29 29 53 57 53 63 0 6 -63 122 -139 257 -77 136
-162 294 -190 351 -28 57 -51 99 -51 93z"/>
<path d="M6710 5911 c0 -5 20 -53 44 -107 73 -168 156 -442 156 -520 0 -45 4
-55 27 -74 30 -23 30 -23 118 14 33 13 76 26 95 28 31 4 35 8 38 38 6 62 -52
170 -92 170 -12 0 -14 -5 -6 -25 10 -25 4 -55 -10 -55 -4 0 -17 30 -29 68 -34
105 -161 299 -270 415 -51 54 -71 68 -71 48z"/>
<path d="M2571 5645 c-46 -37 -105 -47 -129 -23 -24 24 -11 -5 45 -100 127
-218 184 -296 292 -402 58 -58 138 -126 176 -152 l70 -46 5 53 c5 56 23 85 72
115 l28 17 -55 37 c-69 48 -253 262 -405 473 -25 34 -47 63 -50 63 -3 0 -25
-16 -49 -35z"/>
<path d="M3451 5493 c-38 -19 -78 -74 -87 -121 -6 -27 0 -40 35 -86 81 -105
479 -476 511 -476 6 0 122 145 128 159 7 19 -301 349 -441 473 -42 37 -85 68
-95 68 -9 0 -32 -8 -51 -17z"/>
<path d="M6261 5478 c-5 -18 -26 -95 -46 -172 -43 -164 -75 -256 -122 -350
-19 -37 -33 -69 -31 -70 87 -59 168 -125 365 -303 50 -44 100 -86 112 -92 18
-10 21 -9 21 9 0 11 -9 38 -20 60 -35 69 -24 89 27 46 15 -13 96 -70 178 -127
152 -105 292 -181 354 -193 l33 -6 -16 25 c-76 115 -126 250 -166 440 -12 61
-31 146 -41 190 l-18 80 -88 83 c-47 46 -159 137 -247 203 -89 65 -187 139
-218 164 -32 25 -59 45 -62 45 -2 0 -9 -15 -15 -32z"/>
<path d="M4348 5238 c-144 -142 -397 -435 -508 -588 -30 -41 -57 -77 -61 -80
-3 -3 -47 -66 -96 -140 -171 -258 -272 -462 -317 -640 -15 -63 -15 -69 5 -140
25 -90 96 -235 155 -315 75 -101 203 -224 329 -313 233 -166 540 -300 669
-293 26 1 149 124 355 352 192 213 185 205 287 334 298 379 438 604 535 862
22 57 39 106 39 108 0 3 -10 0 -22 -6 -59 -31 -124 -39 -318 -35 -214 4 -266
13 -379 68 -226 110 -420 341 -526 628 -25 66 -28 90 -29 192 -1 65 -2 118 -2
118 -1 0 -53 -51 -116 -112z"/>
<path d="M7119 5202 c-40 -20 -88 -35 -123 -39 l-58 -6 6 -30 c3 -16 6 -54 6
-83 0 -70 22 -84 90 -59 25 9 71 25 103 34 32 9 62 23 66 29 8 13 -4 139 -17
169 -6 17 -12 16 -73 -15z"/>
<path d="M7547 5062 c-107 -101 -138 -112 -183 -67 -19 19 -25 35 -24 63 1 20
2 41 1 45 -1 5 -19 -14 -41 -42 -25 -31 -60 -61 -91 -77 -55 -27 -60 -29 -159
-49 -63 -13 -90 -32 -90 -64 0 -75 49 -233 138 -441 53 -125 57 -130 106 -130
22 0 68 7 101 14 33 8 105 17 160 20 55 4 108 9 118 12 16 5 16 7 -3 31 -13
17 -17 30 -11 36 5 5 76 16 158 24 81 7 159 16 173 19 l25 6 -22 18 c-13 10
-23 22 -23 27 0 4 63 8 139 8 124 0 181 9 143 22 -31 11 -107 70 -110 84 -2
10 16 31 46 53 28 20 53 43 56 51 17 46 -45 76 -176 85 -80 6 -105 12 -145 35
-71 41 -115 93 -163 189 -23 47 -46 86 -52 86 -5 0 -37 -26 -71 -58z"/>
<path d="M3110 5050 c-30 -32 -60 -89 -60 -113 0 -30 218 -189 335 -245 28
-13 70 -34 95 -45 25 -12 83 -46 129 -76 l83 -54 19 24 c38 49 99 140 99 148
0 7 -271 201 -294 210 -6 2 -38 23 -71 47 -94 65 -234 134 -273 134 -25 0 -41
-8 -62 -30z"/>
<path d="M6768 4376 c-23 -32 -125 -100 -168 -114 -19 -5 -61 -13 -94 -16 -32
-4 -66 -11 -77 -16 -18 -10 -17 -11 3 -45 16 -29 19 -47 16 -93 -3 -31 -9 -65
-13 -76 -8 -18 -4 -18 61 -11 90 9 200 47 272 92 31 20 91 69 132 111 69 68
73 75 56 86 -11 6 -48 30 -84 54 -82 56 -84 56 -104 28z"/>
<path d="M7617 4137 l-168 -258 19 -42 c29 -64 55 -82 118 -81 64 0 107 30
167 114 45 64 47 78 8 51 -59 -42 -69 -12 -20 62 37 57 51 147 47 306 l-3 105
-168 -257z"/>
<path d="M5727 4246 c-18 -28 -87 -175 -87 -186 0 -10 16 -15 90 -29 142 -26
251 -34 442 -35 240 -1 239 -2 245 86 5 62 -18 117 -57 135 -14 6 -63 14 -110
18 -47 4 -98 9 -115 10 -39 4 -264 17 -337 20 -49 2 -60 -1 -71 -19z"/>
<path d="M7380 3778 c-132 -121 -284 -208 -435 -248 -44 -12 -84 -26 -89 -31
-12 -11 56 -94 103 -124 51 -34 83 -37 155 -15 61 19 75 27 181 101 28 19 86
56 130 82 57 34 95 66 133 112 28 35 52 66 52 69 0 4 -18 3 -39 0 -51 -8 -98
18 -120 68 l-16 36 -55 -50z"/>
<path d="M5472 3742 c-73 -100 -95 -133 -91 -136 11 -10 139 -84 169 -98 83
-39 250 -94 340 -113 8 -2 54 -12 101 -24 99 -24 102 -24 94 -11 -3 5 5 31 19
57 23 45 32 58 91 124 l23 27 -96 36 c-272 104 -445 166 -472 171 -16 3 -40 9
-54 15 -15 5 -26 7 -26 5 0 -2 -11 0 -24 5 -23 8 -29 3 -74 -58z"/>
<path d="M3247 3598 c-86 -146 -197 -363 -197 -384 0 -31 93 -210 170 -329
111 -171 289 -335 485 -450 61 -36 171 -90 205 -100 14 -4 30 -12 37 -17 6 -5
34 -12 60 -15 l49 -5 175 150 c194 167 261 232 239 233 -16 1 -36 4 -90 15
-19 4 -40 8 -47 10 -15 3 -103 30 -168 51 -27 9 -66 26 -85 37 -38 22 -192
127 -200 136 -3 3 -36 31 -75 62 -150 119 -296 276 -368 395 -21 34 -59 116
-86 183 l-48 122 -56 -94z"/>
<path d="M6223 3515 c-36 -15 -91 -77 -99 -112 -9 -34 5 -72 36 -94 79 -58
450 -92 655 -60 86 13 205 49 205 63 0 5 -4 7 -8 4 -5 -3 -31 5 -58 18 -57 26
-130 103 -139 147 -4 16 -10 27 -14 25 -26 -16 -282 -25 -341 -12 -140 31
-200 36 -237 21z"/>
<path d="M5280 3493 c0 -4 -13 -24 -29 -43 -124 -152 -122 -149 -103 -167 10
-10 60 -58 112 -107 52 -50 145 -138 205 -196 169 -162 200 -185 252 -185 39
0 49 5 79 37 19 22 34 48 34 62 0 55 -269 393 -388 487 -94 75 -162 122 -162
112z"/>
<path d="M7664 3103 c-32 -43 -63 -83 -68 -89 -6 -6 -29 -31 -51 -55 -63 -68
-155 -144 -205 -169 -113 -56 -129 -89 -73 -151 19 -21 51 -48 70 -60 l34 -21
22 20 c12 11 39 25 59 31 32 11 108 79 108 98 0 4 -5 2 -12 -5 -18 -18 -38
-15 -38 6 0 10 34 69 75 132 74 113 127 229 138 303 3 20 4 37 2 37 -2 0 -30
-35 -61 -77z"/>
<path d="M2978 3107 c-21 -34 -53 -87 -73 -116 -66 -103 -66 -103 10 -253 37
-73 93 -169 124 -212 69 -96 201 -232 279 -284 125 -86 361 -182 444 -182 15
0 47 16 75 36 53 40 173 154 173 166 0 3 -26 12 -57 18 -159 33 -220 63 -387
189 -235 178 -341 305 -483 576 -35 69 -65 125 -66 125 -1 0 -19 -28 -39 -63z"/>
<path d="M5845 2923 c28 -66 6 -126 -53 -142 -20 -6 -43 -11 -51 -11 -25 0 7
-27 125 -106 208 -138 505 -293 577 -301 57 -7 65 7 28 50 -35 39 -53 80 -45
101 3 8 21 20 41 27 20 6 39 21 45 35 13 28 4 42 -32 49 -44 8 -95 28 -145 55
-90 49 -178 96 -320 170 -77 40 -144 77 -149 81 -17 15 -29 10 -21 -8z"/>
<path d="M2810 2819 c0 -6 -41 -92 -91 -192 l-90 -182 80 -160 c44 -88 100
-186 125 -217 98 -123 325 -272 503 -329 71 -22 72 -22 115 -4 28 13 87 63
172 149 l130 130 -55 11 c-174 36 -347 131 -537 295 -107 92 -167 175 -260
357 -70 139 -92 173 -92 142z"/>
<path d="M7160 2680 c-33 -16 -114 -36 -305 -74 -88 -18 -270 -25 -297 -12
-15 7 -18 3 -18 -20 0 -39 -12 -56 -51 -68 -18 -6 -34 -17 -37 -24 -6 -18 66
-83 122 -111 55 -27 122 -24 310 13 321 64 429 96 464 139 11 12 7 16 -20 21
-57 12 -118 81 -118 136 0 23 -4 24 -50 0z"/>
<path d="M2517 2261 c-49 -79 -87 -151 -87 -165 0 -136 113 -336 251 -444 112
-88 271 -171 355 -186 16 -3 40 -8 54 -11 106 -21 112 -20 169 31 29 26 75 80
103 118 l50 71 -29 3 c-128 12 -337 119 -478 245 -87 78 -147 164 -231 334
l-70 144 -87 -140z"/>
<path d="M1575 2228 c-31 -18 -52 -48 -91 -126 -55 -113 -65 -150 -71 -254
-10 -168 27 -325 92 -394 30 -31 38 -35 65 -29 71 16 287 113 626 281 l251
125 -24 87 c-59 212 -46 189 -106 201 -28 6 -65 13 -82 16 -28 5 -46 8 -105
20 -14 2 -41 7 -60 10 -19 3 -71 12 -115 20 -44 8 -96 17 -115 20 -19 3 -46 7
-60 10 -117 21 -185 25 -205 13z"/>
<path d="M2365 1759 c-44 -21 -168 -81 -275 -133 -240 -116 -441 -226 -497
-272 l-42 -34 15 -53 c21 -69 86 -190 145 -269 96 -128 273 -278 329 -278 27
0 34 8 165 175 52 66 277 383 375 529 l91 136 -102 120 c-56 66 -107 120 -113
119 -6 0 -47 -18 -91 -40z"/>
<path d="M2635 1413 c-44 -60 -136 -187 -205 -283 -69 -96 -147 -204 -172
-240 -26 -36 -58 -79 -71 -95 -14 -17 -35 -47 -47 -68 -31 -53 -16 -84 71
-147 96 -70 184 -113 294 -145 309 -90 341 -79 360 120 7 71 65 426 111 673
13 73 24 140 24 148 0 8 -24 25 -52 38 -29 13 -92 42 -140 65 -48 22 -88 41
-90 41 -2 0 -39 -48 -83 -107z"/>
<path d="M3130 1390 c-14 -4 -39 -8 -57 -9 -17 -1 -34 -5 -37 -10 -22 -36
-127 -689 -133 -833 -7 -162 -9 -160 106 -157 47 2 100 6 116 10 17 4 44 10
60 12 86 13 298 79 368 114 66 33 74 54 47 134 -29 88 -159 348 -283 564 -95
166 -105 180 -133 182 -16 1 -40 -2 -54 -7z"/>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 483.71 327.04">
<defs>
<style>
.cls-1 {
fill: #fa5252;
}
</style>
</defs>
<path class="cls-1" d="M159.96,18.7c27.21,0,49.35,22.14,49.35,49.35v63.14c1.66-.56,3.4-.93,5.24-.93,5.56,0,10.45,2.76,13.46,6.97V68.05C228.01,30.53,197.49,0,159.96,0c-23.47,0-44.2,11.95-56.44,30.08,5.27,3.4,10.3,7.13,15.09,11.12,8.81-13.52,24.04-22.5,41.35-22.5Z"/>
<path class="cls-1" d="M269.15,130.26c1.84,0,3.59,.37,5.24,.93v-63.14c0-27.21,22.14-49.35,49.35-49.35,17.31,0,32.54,8.98,41.35,22.5,4.79-3.99,9.82-7.72,15.09-11.12C367.95,11.95,347.21,0,323.74,0c-37.52,0-68.05,30.53-68.05,68.05v69.18c3-4.2,7.89-6.96,13.45-6.96Z"/>
<path class="cls-1" d="M203.72,229.23c-33.72,8.1-62.37,26.51-83.25,51.05-11.51,13.49-20.67,28.91-27.04,45.39l44.02,.25,250.81,1.12s.04-.06,.04-.06c-27.59-73.49-106.29-116.57-184.57-97.75Z"/>
<path class="cls-1" d="M214.56,170.83c-9.15,0-16.56,7.41-16.56,16.56s7.41,16.56,16.56,16.56,16.56-7.41,16.56-16.56-7.41-16.56-16.56-16.56Z"/>
<path class="cls-1" d="M269.15,203.95c9.15,0,16.56-7.41,16.56-16.56s-7.41-16.56-16.56-16.56-16.56,7.41-16.56,16.56,7.41,16.56,16.56,16.56Z"/>
<path class="cls-1" d="M422.63,132.54l25.22-102.79s-.04-.04-.04-.04c-21.37,2.65-41.14,10.45-58.07,22.08-5.97,4.1-11.58,8.66-16.78,13.65-24.97,23.98-40.53,57.69-40.53,95.05,0,28.97,9.36,55.8,25.19,77.56,8.73,11.97,19.44,22.39,31.59,30.79l8.77-35.71c45.28-13.47,79.49-52.63,85.72-100.6h-61.07Z"/>
<path class="cls-1" d="M126.08,238.05c15.83-21.77,25.19-48.59,25.19-77.56,0-37.35-15.56-71.06-40.53-95.05-5.2-5-10.82-9.56-16.78-13.65-16.93-11.62-36.7-19.42-58.07-22.08,0,0-.04,0-.04,.04l25.22,102.79H0c6.22,47.97,40.44,87.14,85.72,100.6l8.77,35.71c12.16-8.41,22.86-18.82,31.59-30.79Z"/>
</svg>

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1,11 @@
{
"actions": {
"save": "Speichern"
},
"tip": "Tipp: ",
"time": {
"seconds": "Sekunden",
"minutes": "Minuten",
"hours": "Stunden"
}
}

View File

@@ -0,0 +1,118 @@
{
"actionIcon": {
"tooltip": "Einen Service hinzufügen"
},
"modal": {
"title": "Service hinzufügen",
"form": {
"validation": {
"invalidUrl": "Bitte geben Sie eine gültige URL ein",
"noStatusCodeSelected": "Wähle bitte einen Status Code"
}
},
"tabs": {
"options": {
"title": "Optionen",
"form": {
"serviceName": {
"label": "Service Name",
"placeholder": "Plex"
},
"iconUrl": {
"label": "Icon URL"
},
"serviceUrl": {
"label": "Service URL"
},
"onClickUrl": {
"label": "URL bei einem Klick"
},
"serviceType": {
"label": "Service Typ",
"defaultValue": "Andere",
"placeholder": "Wähle einen Typ aus"
},
"category": {
"label": "Kategorie",
"placeholder": "Wähle eine Kategorie oder erstelle eine neue",
"nothingFound": "Nichts gefunden",
"createLabel": "+ Erstelle {{query}}"
},
"integrations": {
"apiKey": {
"label": "API Schlüssel",
"placeholder": "Dein API Schlüssel",
"validation": {
"noKey": "Invalider Schlüssel"
},
"tip": {
"text": "Erhalte deinen API Schlüssel",
"link": "hier."
}
},
"qBittorrent": {
"username": {
"label": "Benutzername",
"placeholder": "admin",
"validation": {
"invalidUsername": "Invalider Benutzername"
}
},
"password": {
"label": "Passwort",
"placeholder": "adminadmin",
"validation": {
"invalidPassword": "Ungültiges Passwort"
}
}
},
"deluge": {
"password": {
"label": "Passwort",
"placeholder": "passwort",
"validation": {
"invalidPassword": "Ungültiges Passwort"
}
}
},
"transmission": {
"username": {
"label": "Benutzername",
"placeholder": "admin",
"validation": {
"invalidUsername": "Ungültiger Nutzername"
}
},
"password": {
"label": "Passwort",
"placeholder": "adminadmin",
"validation": {
"invalidPassword": "Ungültiges Passwort"
}
}
}
}
}
},
"advancedOptions": {
"title": "Erweiterte Optionen",
"form": {
"httpStatusCodes": {
"label": "HTTP Status Nummern",
"placeholder": "Gültige Statuscodes auswählen",
"clearButtonLabel": "Auswahl löschen",
"nothingFound": "Nichts gefunden"
},
"openServiceInNewTab": {
"label": "Service in einem neuen Tab öffnen"
},
"buttons": {
"submit": {
"content": "Service hinzufügen"
}
}
}
}
}
}
}

View File

@@ -0,0 +1,18 @@
{
"modal": {
"title": "Einen Service bearbeiten",
"buttons": {
"save": "Service speichern"
}
},
"menu": {
"labels": {
"settings": "Einstellungen",
"dangerZone": "Gefahrenzone"
},
"actions": {
"edit": "Bearbeiten",
"delete": "Löschen"
}
}
}

View File

@@ -0,0 +1,10 @@
{
"accordions": {
"downloads": {
"text": "Deine Downloads"
},
"others": {
"text": "Andere"
}
}
}

View File

@@ -0,0 +1,11 @@
{
"descriptor": {
"name": "Kalender",
"description": "Ein Kalendermodul für die Anzeige der kommenden Veröffentlichungen. Es interagiert mit der Sonarr- und Radarr-API.",
"settings": {
"sundayStart": {
"label": "Wochenbeginn am Sonntag"
}
}
}
}

View File

@@ -0,0 +1,6 @@
{
"buttons": {
"play": "Abspielen",
"request": "Anfragen"
}
}

View File

@@ -0,0 +1,5 @@
{
"settings": {
"label": "Einstellungen"
}
}

View File

@@ -0,0 +1,53 @@
{
"descriptor": {
"name": "Dash.",
"description": "Ein Modul, welches die Graphen aus einer laufenden Dash. Instanz anzeigt.",
"settings": {
"cpuMultiView": {
"label": "CPU Multi-Core View"
},
"storageMultiView": {
"label": "Speicher Multi-Drive View"
},
"useCompactView": {
"label": "Kompaktmodus verwenden"
},
"graphs": {
"label": "Graphen"
},
"url": {
"label": "Dash. URL"
}
}
},
"card": {
"title": "Dash.",
"errors": {
"noService": "Kein Dash. Dienst gefunden. Bitte fügen Sie einen zu Ihrem Homarr Dashboard hinzu oder setzen Sie eine Dash. URL in den Moduloptionen",
"noInformation": "Es können keine Informationen vom Dash. abgerufen werden. - Verwenden Sie die neueste Version?"
},
"graphs": {
"storage": {
"title": "Speicher",
"label": "Speicher:"
},
"network": {
"title": "Netzwerk",
"label": "Netzwerk:",
"metrics": {
"download": "Down",
"upload": "Up"
}
},
"cpu": {
"title": "CPU"
},
"memory": {
"title": "RAM"
},
"gpu": {
"title": "GPU"
}
}
}
}

View File

@@ -0,0 +1,11 @@
{
"descriptor": {
"name": "Datum",
"description": "Die aktuelle Zeit und das aktuelle Datum in der Card anzeigen",
"settings": {
"display24HourFormat": {
"label": "24-Stunden Format"
}
}
}
}

View File

@@ -0,0 +1,35 @@
{
"descriptor": {
"name": "Download Geschwindigkeit",
"description": "Zeige die aktuellen Downloadgeschwindigkeiten von unterstützten Services"
},
"card": {
"table": {
"header": {
"name": "Name",
"size": "Größe",
"download": "Down",
"upload": "Up",
"estimatedTimeOfArrival": "Voraussichtlicher Abschluss",
"progress": "Fortschritt"
},
"body": {
"nothingFound": "Keine Torrents gefunden"
}
},
"lineChart": {
"title": "Aktuelle Downloadgeschwindigkeit",
"download": "Download: {{download}}",
"upload": "Upload: {{upload}}",
"timeSpan": "{{seconds}} Sekunden zuvor",
"totalDownload": "Download: {{download}}/s",
"totalUpload": "Upload: {{upload}}/s"
},
"errors": {
"noDownloadClients": {
"title": "Keine unterstützten Download-Clients gefunden!",
"text": "Fügen Sie einen Download-Service hinzu, um Ihre aktuellen Downloads anzuzeigen"
}
}
}
}

View File

@@ -0,0 +1,65 @@
{
"search": {
"placeholder": "Suche nach Conainer oder Image Namen"
},
"table": {
"header": {
"name": "Name",
"image": "Image",
"ports": "Ports",
"state": "Status"
},
"body": {
"portCollapse": "{{ports}} weitere"
},
"states": {
"running": "Läuft",
"created": "Erstellt",
"stopped": "Gestopped",
"unknown": "Unbekannt"
}
},
"actionBar": {
"addService": {
"title": "Service hinzufügen",
"message": "Service zu Homarr hinzufügen"
},
"restart": {
"title": "Neustarten"
},
"stop": {
"title": "Stoppen"
},
"start": {
"title": "Starten"
},
"refreshData": "Daten aktualisieren",
"addToHomarr": {
"title": "Zu Homarr hinzufügen"
},
"remove": {
"title": "Entfernen"
}
},
"messages": {
"successfullyExecuted": {
"title": "Container {{containerName}} {{action}}ed",
"message": "Your container was successfully {{action}}ed"
}
},
"errors": {
"integrationFailed": {
"title": "Docker Integration schlug fehl",
"message": "Hast du vergessen, den Docker Socket zu verbinden?"
},
"unknownError": {
"title": "Es ist ein Fehler aufgetreten"
},
"oneServiceAtATime": {
"title": "Bitte füge nur einen Service zur Zeit hinzu."
}
},
"actionIcon": {
"tooltip": "Docker"
}
}

View File

@@ -0,0 +1,71 @@
{
"descriptor": {
"name": "Docker",
"description": "Ermöglicht Ihnen die einfache Verwaltung Ihrer Torrents"
},
"search": {
"placeholder": "Suche nach Container- oder Image namen"
},
"table": {
"header": {
"name": "Name",
"image": "Image",
"ports": "Ports",
"state": "Staat"
},
"body": {
"portCollapse": "{{ports}} weitere"
},
"states": {
"running": "Aktiv",
"created": "Erstellt",
"stopped": "Gestoppt",
"unknown": "Unbekannt"
}
},
"actionBar": {
"addService": {
"title": "Service hinzufügen",
"message": "Service zu Homarr hinzufügen"
},
"restart": {
"title": "Neustarten"
},
"stop": {
"title": "Stopp"
},
"start": {
"title": "Starten"
},
"refreshData": {
"title": "Daten aktualisieren"
},
"remove": {
"title": "Entfernen"
},
"addToHomarr": {
"title": "Zu Homarr hinzufügen"
}
},
"messages": {
"successfullyExecuted": {
"title": "Container {{containerName}} {{action}}ed",
"message": "Ihr Container wurde erfolgreich {{action}}."
}
},
"errors": {
"integrationFailed": {
"title": "Docker-Integration fehlgeschlagen",
"message": "Hast du vergessen, den Docker Socket zu verbinden?"
},
"unknownError": {
"title": "Es ist ein Fehler aufgetreten"
},
"oneServiceAtATime": {
"title": "Bitte nur einen Service gleichzeitig hinzufügen!"
}
},
"actionIcon": {
"tooltip": "Docker"
}
}

View File

@@ -0,0 +1,30 @@
{
"descriptor": {
"name": "Overseerr",
"description": "Ermöglicht das Suchen und Hinzufügen von Medien via Overseerr/Jellyseerr"
},
"popup": {
"item": {
"buttons": {
"askFor": "Fragen für {{title}}",
"cancel": "Abbrechen",
"request": "Anfragen"
},
"alerts": {
"automaticApproval": {
"title": "API-Schlüssel wird verwendet",
"text": "Diese Anfrage wird automatisch genehmigt"
}
}
},
"seasonSelector": {
"caption": "Kreuze die Staffeln an, die heruntergeladen werden sollen",
"table": {
"header": {
"season": "Staffel",
"numberOfEpisodes": "Anzahl der Episoden"
}
}
}
}
}

View File

@@ -0,0 +1,11 @@
{
"descriptor": {
"name": "Ping",
"description": "Ermöglicht es Ihnen, zu überprüfen, ob der Service aktiv ist oder einen bestimmten HTTP-Statuscode zurückgibt."
},
"states": {
"online": "Online {{response}}",
"offline": "Offline {{response}}",
"loading": "Wird geladen..."
}
}

View File

@@ -0,0 +1,9 @@
{
"descriptor": {
"name": "Suchleiste",
"description": "Suchleiste zum Durchsuchen des Internets, von Youtube, Torrents oder Overseerr"
},
"input": {
"placeholder": "Das Internet durchsuchen..."
}
}

View File

@@ -0,0 +1,40 @@
{
"descriptor": {
"name": "Torrent",
"description": "Zeige die aktuellen Downloadgeschwindigkeiten von unterstützten Services",
"settings": {
"hideComplete": {
"label": "Abgeschlossene Torrents ausblenden"
}
}
},
"card": {
"table": {
"header": {
"name": "Name",
"size": "Größe",
"download": "Down",
"upload": "Up",
"estimatedTimeOfArrival": "Voraussichtlicher Abschluss",
"progress": "Fortschritt"
},
"body": {
"nothingFound": "Keine Torrents gefunden"
}
},
"lineChart": {
"title": "Aktuelle Downloadgeschwindigkeit",
"download": "Download: {{download}}",
"upload": "Upload: {{upload}}",
"timeSpan": "{{seconds}} Sekunden zuvor",
"totalDownload": "Download: {{download}}/s",
"totalUpload": "Upload: {{upload}}/s"
},
"errors": {
"noDownloadClients": {
"title": "Keine unterstützten Download-Clients gefunden!",
"text": "Fügen Sie einen Download-Service hinzu, um Ihre aktuellen Downloads anzuzeigen"
}
}
}
}

View File

@@ -0,0 +1,49 @@
{
"descriptor": {
"name": "Sabnzbd",
"description": "Ermöglicht es Ihnen, Ihre Sabnzbd-Warteschlange und den Verlauf zu sehen, Downloads anzuhalten und fortzusetzen"
},
"card": {
"errors": {
"noDownloadClients": {
"title": "Keine unterstützten Download-Clients gefunden!",
"text": "Fügen Sie einen Download-Service hinzu, um Ihre aktuellen Downloads anzuzeigen"
}
}
},
"tabs": {
"queue": "Warteschlange",
"history": "Geschichte"
},
"info": {
"sizeLeft": "Größe links",
"paused": "Pausiert"
},
"queue": {
"header": {
"name": "Name",
"size": "Größe",
"eta": "Voraussichtlicher Abschluss",
"progress": "Fortschritt"
},
"empty": "Leere",
"error": {
"title": "Fehler",
"message": "Es ist ein Fehler aufgetreten"
},
"paused": "Pausiert"
},
"history": {
"header": {
"name": "Name",
"size": "Größe",
"duration": "Dauer"
},
"empty": "Leere",
"error": {
"title": "Fehler",
"message": "Fehler beim Laden der Historie"
},
"paused": "Pausiert"
}
}

View File

@@ -0,0 +1,32 @@
{
"descriptor": {
"name": "Wetter",
"description": "Aktuelles Wetter an deinem Standort anzeigen",
"settings": {
"displayInFahrenheit": {
"label": "In Fahrenheit anzeigen"
},
"location": {
"label": "Wetterstandort"
}
}
},
"card": {
"weatherDescriptions": {
"clear": "Klar",
"mainlyClear": "Überwiegend klar",
"fog": "Nebel",
"drizzle": "Niesel",
"freezingDrizzle": "Eisiger Nieselregen",
"rain": "Regen",
"freezingRain": "Eisiger Regen",
"snowFall": "Schneefall",
"snowGrains": "Schneekörner",
"rainShowers": "Regenschauer",
"snowShowers": "Schneeschauer",
"thunderstorm": "Gewitter",
"thunderstormWithHail": "Gewitter mit Hagel",
"unknown": "Unbekannt"
}
}
}

View File

@@ -0,0 +1,14 @@
{
"title": "Einstellungen",
"tooltip": "Einstellungen",
"tabs": {
"common": "Allgemein",
"customizations": "Anpassungen"
},
"tips": {
"configTip": "Laden Sie Ihre Konfigurationsdatei durch Ziehen und Ablegen auf die Seite!"
},
"credits": {
"madeWithLove": "Gemacht mit ❤️ von @"
}
}

View File

@@ -0,0 +1,3 @@
{
"label": "App Breite"
}

View File

@@ -0,0 +1,3 @@
{
"suffix": "{{color}} Farbe"
}

View File

@@ -0,0 +1,3 @@
{
"label": "App Deckkraft"
}

View File

@@ -0,0 +1,25 @@
{
"pageTitle": {
"label": "Seiten Titel",
"placeholder": "Homarr 🦞"
},
"logo": {
"label": "Logo",
"placeholder": "/img/logo.png"
},
"favicon": {
"label": "Favicon",
"placeholder": "/favicon.png"
},
"background": {
"label": "Hintergrund",
"placeholder": "/img/background.png"
},
"customCSS": {
"label": "Benutzerdefiniertes CSS",
"placeholder": "Benutzerdefiniertes CSS wird zuletzt ausgeführt"
},
"buttons": {
"submit": "Absenden"
}
}

View File

@@ -0,0 +1,3 @@
{
"label": "Shatten"
}

View File

@@ -0,0 +1,3 @@
{
"label": "Wechseln zu {{scheme}} Modus"
}

View File

@@ -0,0 +1,55 @@
{
"configSelect": {
"label": "Konfigurationslader"
},
"modal": {
"title": "Wählen Sie den Namen für Ihre neue Konfiguration",
"form": {
"configName": {
"label": "Konfigurationsname",
"placeholder": "Ihr neuer Konfigurationsname"
},
"submitButton": "Bestätigen"
},
"events": {
"configSaved": {
"title": "Konfiguration gespeichert",
"message": "Konfiguration gespeichert als {{configName}}"
}
}
},
"buttons": {
"download": "Konfiguration herunterladen",
"delete": {
"text": "Konfiguration löschen",
"notifications": {
"deleted": {
"title": "Konfiguration gelöscht",
"message": "Konfiguration gelöscht"
},
"deleteFailed": {
"title": "Löschung der Konfiguration fehlgeschlagen",
"message": "Löschung der Konfiguration fehlgeschlagen"
}
}
},
"saveCopy": "Eine Kopie speichern"
},
"dropzone": {
"notifications": {
"invalidConfig": {
"title": "Konfiguration konnte nicht geladen werden",
"message": "Die Konfiguration konnte nicht geladen werden. Ungültiges JSON-Format."
},
"loadedSuccessfully": {
"title": "Konfiguration {{configName}} erfolgreich geladen"
}
},
"accept": {
"text": "Ziehen Sie Dateien hierher, um eine Konfiguration hochzuladen. Unterstützung nur für JSON."
},
"reject": {
"text": "Dieses Dateiformat wird nicht unterstützt. Bitte lade nur JSON hoch."
}
}
}

View File

@@ -0,0 +1,3 @@
{
"label": "Sprache"
}

View File

@@ -0,0 +1,3 @@
{
"title": "Modul-Aktivierer"
}

View File

@@ -0,0 +1,11 @@
{
"title": "Suchmaschine",
"tips": {
"generalTip": "Verwenden die Präfixe !yt und !t vor deiner Suchanfrage, um auf YouTube bzw. nach einem Torrent zu suchen.",
"placeholderTip": "%s kann als Platzhalter für deine Suchanfrage verwendet werden."
},
"customEngine": {
"label": "Suchanfrage URL",
"placeholder": "Benutzerdefinierte Abfrage-URL"
}
}

View File

@@ -0,0 +1,3 @@
{
"label": "Wechseln zu {{theme}} Modus"
}

View File

@@ -0,0 +1,3 @@
{
"label": "Widgets auf der linken Seite positionieren"
}

View File

@@ -0,0 +1,11 @@
{
"actions": {
"save": "Save"
},
"tip": "Tip: ",
"time": {
"seconds": "seconds",
"minutes": "minutes",
"hours": "hours"
}
}

View File

@@ -0,0 +1,118 @@
{
"actionIcon": {
"tooltip": "Add a service"
},
"modal": {
"title": "Add service",
"form": {
"validation": {
"invalidUrl": "Please enter a valid URL",
"noStatusCodeSelected": "Please select a status code"
}
},
"tabs": {
"options": {
"title": "Options",
"form": {
"serviceName": {
"label": "Service name",
"placeholder": "Plex"
},
"iconUrl": {
"label": "Icon URL"
},
"serviceUrl": {
"label": "Service URL"
},
"onClickUrl": {
"label": "On Click URL"
},
"serviceType": {
"label": "Service type",
"defaultValue": "Other",
"placeholder": "Pick one"
},
"category": {
"label": "Category",
"placeholder": "Select a category or create a new one",
"nothingFound": "Nothing found",
"createLabel": "+ Create {{query}}"
},
"integrations": {
"apiKey": {
"label": "API key",
"placeholder": "Your API key",
"validation": {
"noKey": "Invalid Key"
},
"tip": {
"text": "Get your API key",
"link": "here."
}
},
"qBittorrent": {
"username": {
"label": "Username",
"placeholder": "admin",
"validation": {
"invalidUsername": "Invalid username"
}
},
"password": {
"label": "Password",
"placeholder": "adminadmin",
"validation": {
"invalidPassword": "Invalid password"
}
}
},
"deluge": {
"password": {
"label": "Password",
"placeholder": "password",
"validation": {
"invalidPassword": "Invalid password"
}
}
},
"transmission": {
"username": {
"label": "Username",
"placeholder": "admin",
"validation": {
"invalidUsername": "Invalid username"
}
},
"password": {
"label": "Password",
"placeholder": "adminadmin",
"validation": {
"invalidPassword": "Invalid password"
}
}
}
}
}
},
"advancedOptions": {
"title": "Advanced options",
"form": {
"httpStatusCodes": {
"label": "HTTP Status Codes",
"placeholder": "Select valid status codes",
"clearButtonLabel": "Clear selection",
"nothingFound": "Nothing found"
},
"openServiceInNewTab": {
"label": "Open service in new tab"
},
"buttons": {
"submit": {
"content": "Add service"
}
}
}
}
}
}
}

View File

@@ -0,0 +1,18 @@
{
"modal": {
"title": "Modify a service",
"buttons": {
"save": "Save service"
}
},
"menu": {
"labels": {
"settings": "Settings",
"dangerZone": "Danger zone"
},
"actions": {
"edit": "Edit",
"delete": "Delete"
}
}
}

View File

@@ -0,0 +1,10 @@
{
"accordions": {
"downloads": {
"text": "Your downloads"
},
"others": {
"text": "Others"
}
}
}

View File

@@ -0,0 +1,11 @@
{
"descriptor": {
"name": "Calendar",
"description": "A calendar module for displaying upcoming releases. It interacts with the Sonarr and Radarr API.",
"settings": {
"sundayStart": {
"label": "Start the week on Sunday"
}
}
}
}

View File

@@ -0,0 +1,6 @@
{
"buttons": {
"play": "Play",
"request": "Request"
}
}

View File

@@ -0,0 +1,5 @@
{
"settings": {
"label": "Settings"
}
}

View File

@@ -0,0 +1,53 @@
{
"descriptor": {
"name": "Dash.",
"description": "A module for displaying the graphs of your running Dash. instance.",
"settings": {
"cpuMultiView": {
"label": "CPU Multi-Core View"
},
"storageMultiView": {
"label": "Storage Multi-Drive View"
},
"useCompactView": {
"label": "Use Compact View"
},
"graphs": {
"label": "Graphs"
},
"url": {
"label": "Dash. URL"
}
}
},
"card": {
"title": "Dash.",
"errors": {
"noService": "No Dash. service found. Please add one to your Homarr dashboard or set a Dash. URL in the module options",
"noInformation": "Cannot acquire information from dash. - are you running the latest version?"
},
"graphs": {
"storage": {
"title": "Storage",
"label": "Storage:"
},
"network": {
"title": "Network",
"label": "Network:",
"metrics": {
"download": "Down",
"upload": "Up"
}
},
"cpu": {
"title": "CPU"
},
"memory": {
"title": "RAM"
},
"gpu": {
"title": "GPU"
}
}
}
}

View File

@@ -0,0 +1,11 @@
{
"descriptor": {
"name": "Date",
"description": "Show the current time and date in a card",
"settings": {
"display24HourFormat": {
"label": "Display full time (24-hour)"
}
}
}
}

View File

@@ -0,0 +1,35 @@
{
"descriptor": {
"name": "Download Speed",
"description": "Show the current download speed of supported services"
},
"card": {
"table": {
"header": {
"name": "Name",
"size": "Size",
"download": "Down",
"upload": "Up",
"estimatedTimeOfArrival": "ETA",
"progress": "Progress"
},
"body": {
"nothingFound": "No torrents found"
}
},
"lineChart": {
"title": "Current download speed",
"download": "Download: {{download}}",
"upload": "Upload: {{upload}}",
"timeSpan": "{{seconds}} seconds ago",
"totalDownload": "Download: {{download}}/s",
"totalUpload": "Upload: {{upload}}/s"
},
"errors": {
"noDownloadClients": {
"title": "No supported download clients found!",
"text": "Add a download service to view your current downloads"
}
}
}
}

View File

@@ -0,0 +1,71 @@
{
"descriptor": {
"name": "Docker",
"description": "Allows you to easily manage your torrents"
},
"search": {
"placeholder": "Search by container or image name"
},
"table": {
"header": {
"name": "Name",
"image": "Image",
"ports": "Ports",
"state": "State"
},
"body": {
"portCollapse": "{{ports}} more"
},
"states": {
"running": "Running",
"created": "Created",
"stopped": "Stopped",
"unknown": "Unknown"
}
},
"actionBar": {
"addService": {
"title": "Add service",
"message": "Add service to Homarr"
},
"restart": {
"title": "Restart"
},
"stop": {
"title": "Stop"
},
"start": {
"title": "Start"
},
"refreshData": {
"title": "Refresh data"
},
"remove": {
"title": "Remove"
},
"addToHomarr": {
"title": "Add to Homarr"
}
},
"messages": {
"successfullyExecuted": {
"title": "Container {{containerName}} {{action}}ed",
"message": "Your container was successfully {{action}}ed"
}
},
"errors": {
"integrationFailed": {
"title": "Docker integration failed",
"message": "Did you forget to mount the docker socket ?"
},
"unknownError": {
"title": "There was an error"
},
"oneServiceAtATime": {
"title": "Please only add one service at a time!"
}
},
"actionIcon": {
"tooltip": "Docker"
}
}

View File

@@ -0,0 +1,30 @@
{
"descriptor": {
"name": "Overseerr",
"description": "Allows you to search and add media from Overseerr/Jellyseerr"
},
"popup": {
"item": {
"buttons": {
"askFor": "Ask for {{title}}",
"cancel": "Cancel",
"request": "Request"
},
"alerts": {
"automaticApproval": {
"title": "Using API key",
"text": "This request will be automatically approved"
}
}
},
"seasonSelector": {
"caption": "Tick the seasons that you want to be downloaded",
"table": {
"header": {
"season": "Season",
"numberOfEpisodes": "Number of episodes"
}
}
}
}
}

View File

@@ -0,0 +1,11 @@
{
"descriptor": {
"name": "Ping",
"description": "Allows you to check if the service is up or returns a specific HTTP status code."
},
"states": {
"online": "Online {{response}}",
"offline": "Offline {{response}}",
"loading": "Loading..."
}
}

View File

@@ -0,0 +1,9 @@
{
"descriptor": {
"name": "Search Bar",
"description": "Search bar to search the web, Youtube, Torrents or Overseerr"
},
"input": {
"placeholder": "Search the web..."
}
}

View File

@@ -0,0 +1,40 @@
{
"descriptor": {
"name": "Torrent",
"description": "Show the current download speed of supported services",
"settings": {
"hideComplete": {
"label": "Hide completed torrents"
}
}
},
"card": {
"table": {
"header": {
"name": "Name",
"size": "Size",
"download": "Down",
"upload": "Up",
"estimatedTimeOfArrival": "ETA",
"progress": "Progress"
},
"body": {
"nothingFound": "No torrents found"
}
},
"lineChart": {
"title": "Current download speed",
"download": "Download: {{download}}",
"upload": "Upload: {{upload}}",
"timeSpan": "{{seconds}} seconds ago",
"totalDownload": "Download: {{download}}/s",
"totalUpload": "Upload: {{upload}}/s"
},
"errors": {
"noDownloadClients": {
"title": "No supported download clients found!",
"text": "Add a download service to view your current downloads"
}
}
}
}

View File

@@ -0,0 +1,49 @@
{
"descriptor": {
"name": "Sabnzbd",
"description": "Allows you to see your Sabnzbd queue and history, pause and resume downloads"
},
"card": {
"errors": {
"noDownloadClients": {
"title": "No supported download clients found!",
"text": "Add a download service to view your current downloads"
}
}
},
"tabs": {
"queue": "Queue",
"history": "History"
},
"info": {
"sizeLeft": "Size left",
"paused": "Paused"
},
"queue": {
"header": {
"name": "Name",
"size": "Size",
"eta": "ETA",
"progress": "Progress"
},
"empty": "Empty",
"error": {
"title": "Error",
"message": "An error has occurred"
},
"paused": "Paused"
},
"history": {
"header": {
"name": "Name",
"size": "Size",
"duration": "Duration"
},
"empty": "Empty",
"error": {
"title": "Error",
"message": "Error loading history"
},
"paused": "Paused"
}
}

View File

@@ -0,0 +1,32 @@
{
"descriptor": {
"name": "Weather",
"description": "Look up the current weather in your location",
"settings": {
"displayInFahrenheit": {
"label": "Display in Fahrenheit"
},
"location": {
"label": "Weather location"
}
}
},
"card": {
"weatherDescriptions": {
"clear": "Clear",
"mainlyClear": "Mainly clear",
"fog": "Fog",
"drizzle": "Drizzle",
"freezingDrizzle": "Freezing drizzle",
"rain": "Rain",
"freezingRain": "Freezing rain",
"snowFall": "Snow fall",
"snowGrains": "Snow grains",
"rainShowers": "Rain showers",
"snowShowers": "Snow showers",
"thunderstorm": "Thunderstorm",
"thunderstormWithHail": "Thunderstorm with hail",
"unknown": "Unknown"
}
}
}

View File

@@ -0,0 +1,14 @@
{
"title": "Settings",
"tooltip": "Settings",
"tabs": {
"common": "Common",
"customizations": "Customizations"
},
"tips": {
"configTip": "Upload your config file by dragging and dropping it onto the page!"
},
"credits": {
"madeWithLove": "Made with ❤️ by @"
}
}

View File

@@ -0,0 +1,3 @@
{
"label": "App Width"
}

View File

@@ -0,0 +1,3 @@
{
"suffix": "{{color}} color"
}

View File

@@ -0,0 +1,3 @@
{
"label": "App Opacity"
}

View File

@@ -0,0 +1,25 @@
{
"pageTitle": {
"label": "Page Title",
"placeholder": "Homarr 🦞"
},
"logo": {
"label": "Logo",
"placeholder": "/img/logo.png"
},
"favicon": {
"label": "Favicon",
"placeholder": "/favicon.png"
},
"background": {
"label": "Background",
"placeholder": "/img/background.png"
},
"customCSS": {
"label": "Custom CSS",
"placeholder": "Custom CSS will be executed last"
},
"buttons": {
"submit": "Submit"
}
}

View File

@@ -0,0 +1,3 @@
{
"label": "Shade"
}

View File

@@ -0,0 +1,3 @@
{
"label": "Switch to {{scheme}} mode"
}

View File

@@ -0,0 +1,55 @@
{
"configSelect": {
"label": "Config loader"
},
"modal": {
"title": "Choose the name of your new config",
"form": {
"configName": {
"label": "Config name",
"placeholder": "Your new config name"
},
"submitButton": "Confirm"
},
"events": {
"configSaved": {
"title": "Config saved",
"message": "Config saved as {{configName}}"
}
}
},
"buttons": {
"download": "Download config",
"delete": {
"text": "Delete config",
"notifications": {
"deleted": {
"title": "Config deleted",
"message": "Config deleted"
},
"deleteFailed": {
"title": "Config delete failed",
"message": "Config delete failed"
}
}
},
"saveCopy": "Save a copy"
},
"dropzone": {
"notifications": {
"invalidConfig": {
"title": "Unable to load config",
"message": "Could not load your config. Invalid JSON format."
},
"loadedSuccessfully": {
"title": "Config {{configName}} loaded successfully"
}
},
"accept": {
"text": "Drag files here to upload a config. Support for JSON only."
},
"reject": {
"text": "This file format is not supported. Please only upload JSON."
}
}
}

View File

@@ -0,0 +1,3 @@
{
"label": "Language"
}

View File

@@ -0,0 +1,3 @@
{
"title": "Module enabler"
}

View File

@@ -0,0 +1,11 @@
{
"title": "Search engine",
"tips": {
"generalTip": "Use the prefixes !yt and !t in front of your query to search on YouTube or for a Torrent respectively.",
"placeholderTip": "%s can be used as a placeholder for the query."
},
"customEngine": {
"label": "Query URL",
"placeholder": "Custom query URL"
}
}

View File

@@ -0,0 +1,3 @@
{
"label": "Switch to {{theme}} mode"
}

View File

@@ -0,0 +1,3 @@
{
"label": "Position widgets on left"
}

View File

@@ -0,0 +1,11 @@
{
"actions": {
"save": "Guardar"
},
"tip": "Consejo: ",
"time": {
"seconds": "",
"minutes": "",
"hours": ""
}
}

View File

@@ -0,0 +1,118 @@
{
"actionIcon": {
"tooltip": "Añadir un servicio"
},
"modal": {
"title": "Añadir servicio",
"form": {
"validation": {
"invalidUrl": "Por favor, introduzca una URL válida",
"noStatusCodeSelected": "Por favor, seleccione un código de estado"
}
},
"tabs": {
"options": {
"title": "Opciones",
"form": {
"serviceName": {
"label": "Nombre del servicio",
"placeholder": "Plex"
},
"iconUrl": {
"label": "URL del icono"
},
"serviceUrl": {
"label": "URL del servicio"
},
"onClickUrl": {
"label": "URL Directa"
},
"serviceType": {
"label": "Tipo de servicio",
"defaultValue": "Otro",
"placeholder": "Elige uno"
},
"category": {
"label": "Categoría",
"placeholder": "Selecciona una categoría o cree una nueva",
"nothingFound": "No se ha encontrado ningún resultado",
"createLabel": "+ Crear {{query}}"
},
"integrations": {
"apiKey": {
"label": "Clave API",
"placeholder": "Tu clave de la API",
"validation": {
"noKey": "Clave inválida"
},
"tip": {
"text": "Obtén tu clave de API",
"link": "aquí."
}
},
"qBittorrent": {
"username": {
"label": "Usuario",
"placeholder": "admin",
"validation": {
"invalidUsername": "Nombre de usuario incorrecto"
}
},
"password": {
"label": "Contraseña",
"placeholder": "adminadmin",
"validation": {
"invalidPassword": "Contraseña Incorrecta"
}
}
},
"deluge": {
"password": {
"label": "Contraseña",
"placeholder": "contraseña",
"validation": {
"invalidPassword": "Contraseña Incorrecta"
}
}
},
"transmission": {
"username": {
"label": "Usuario",
"placeholder": "admin",
"validation": {
"invalidUsername": "Nombre de usuario incorrecto"
}
},
"password": {
"label": "Contraseña",
"placeholder": "adminadmin",
"validation": {
"invalidPassword": "Contraseña Incorrecta"
}
}
}
}
}
},
"advancedOptions": {
"title": "",
"form": {
"httpStatusCodes": {
"label": "Códigos de estado HTTP",
"placeholder": "Seleccionar códigos de estado válidos",
"clearButtonLabel": "Borrar selección",
"nothingFound": "No se ha encontrado ningún resultado"
},
"openServiceInNewTab": {
"label": "Abrir el servicio en una nueva pestaña"
},
"buttons": {
"submit": {
"content": "Añadir servicio"
}
}
}
}
}
}
}

View File

@@ -0,0 +1,18 @@
{
"modal": {
"title": "Modificar un servicio",
"buttons": {
"save": "Guardar servicio"
}
},
"menu": {
"labels": {
"settings": "Ajustes",
"dangerZone": "Zona de riesgo"
},
"actions": {
"edit": "Editar",
"delete": "Eliminar"
}
}
}

View File

@@ -0,0 +1,10 @@
{
"accordions": {
"downloads": {
"text": "Tus descargas"
},
"others": {
"text": "Otros"
}
}
}

View File

@@ -0,0 +1,11 @@
{
"descriptor": {
"name": "Calendario",
"description": "Un módulo de calendario para mostrar próximos lanzamientos. Interactúa con las API de Sonarr y Radarr.",
"settings": {
"sundayStart": {
"label": "Marcar Domingo como primer día de la semana"
}
}
}
}

View File

@@ -0,0 +1,6 @@
{
"buttons": {
"play": "Reproducir",
"request": "Solicitar"
}
}

View File

@@ -0,0 +1,5 @@
{
"settings": {
"label": "Ajustes"
}
}

View File

@@ -0,0 +1,53 @@
{
"descriptor": {
"name": "Dash.",
"description": "Un módulo para mostrar los gráficos de la instancia de Dash. en ejecución.",
"settings": {
"cpuMultiView": {
"label": "Vista CPU MultiNúcleo"
},
"storageMultiView": {
"label": "Vista de las Unidades de Almacenamiento"
},
"useCompactView": {
"label": "Usar la vista Compacta"
},
"graphs": {
"label": "Gráficos"
},
"url": {
"label": "Dash. URL"
}
}
},
"card": {
"title": "Dash.",
"errors": {
"noService": "No se ha encontrado el servicio Dash. Por favor, añade uno al Panel de Control de Homarr o indica una URL de Dash. en las opciones del módulo",
"noInformation": "No se puede obtener información de Dash. - ¿estás utilizando la última versión?"
},
"graphs": {
"storage": {
"title": "Almacenaje",
"label": "Almacenaje:"
},
"network": {
"title": "Red",
"label": "Red:",
"metrics": {
"download": "Descarga",
"upload": "Subida"
}
},
"cpu": {
"title": "Procesador"
},
"memory": {
"title": "Memoria RAM"
},
"gpu": {
"title": "Procesador Gráfico"
}
}
}
}

View File

@@ -0,0 +1,11 @@
{
"descriptor": {
"name": "Fecha",
"description": "Mostrar la fecha y hora actuales en una tarjeta",
"settings": {
"display24HourFormat": {
"label": "Mostrar hora completa (24 horas)"
}
}
}
}

View File

@@ -0,0 +1,35 @@
{
"descriptor": {
"name": "Velocidad de Descarga",
"description": "Mostrar la velocidad de descarga actual de los servicios compatibles"
},
"card": {
"table": {
"header": {
"name": "Nombre",
"size": "Tamaño",
"download": "Descarga",
"upload": "Subida",
"estimatedTimeOfArrival": "Tiempo restante",
"progress": "Completado %"
},
"body": {
"nothingFound": "No se han encontrado torrents"
}
},
"lineChart": {
"title": "Velocidad de descarga actual",
"download": "Velocidad de Descarga: {{download}}",
"upload": "Velocidad de subida: {{upload}}",
"timeSpan": "Hace {{seconds}} segundos",
"totalDownload": "Velocidad de Descarga: {{download}}/s",
"totalUpload": "Velocidad de Subida: {{upload}}/s"
},
"errors": {
"noDownloadClients": {
"title": "¡No se han encontrado clientes de descarga compatibles!",
"text": "Añade un servicio de descarga para ver tus descargas actuales"
}
}
}
}

View File

@@ -0,0 +1,71 @@
{
"descriptor": {
"name": "Docker",
"description": "Te permite gestionar facilmente tus torrents"
},
"search": {
"placeholder": "Buscar por nombre de contendor o nombre de la imagen"
},
"table": {
"header": {
"name": "Nombre",
"image": "Imágen",
"ports": "Puertos",
"state": "Estado"
},
"body": {
"portCollapse": "{{ports}} más"
},
"states": {
"running": "En ejecución",
"created": "Creado",
"stopped": "Detenido",
"unknown": "Desconocido"
}
},
"actionBar": {
"addService": {
"title": "Añadir servicio",
"message": "Añadir servicio a Homarr"
},
"restart": {
"title": "Reiniciar"
},
"stop": {
"title": "Detener"
},
"start": {
"title": "Comenzar"
},
"refreshData": {
"title": ""
},
"remove": {
"title": "Eliminar"
},
"addToHomarr": {
"title": "Añadir a Homarr"
}
},
"messages": {
"successfullyExecuted": {
"title": "Contenedor {{containerName}} {{action}} do",
"message": "Su contenedor ha sido {{action}} con éxito"
}
},
"errors": {
"integrationFailed": {
"title": "Error en la integración con Docker",
"message": "¿Has olvidado montar el socket de docker?"
},
"unknownError": {
"title": "Se ha producido un error"
},
"oneServiceAtATime": {
"title": "Por favor, añade un servicio cada vez!"
}
},
"actionIcon": {
"tooltip": "Docker"
}
}

View File

@@ -0,0 +1,30 @@
{
"descriptor": {
"name": "Overseerr",
"description": "Te permite buscar y añadir medios desde Overseerr y Jellyseerr"
},
"popup": {
"item": {
"buttons": {
"askFor": "Solicitar {{title}}",
"cancel": "Cancelar",
"request": "Solicitar"
},
"alerts": {
"automaticApproval": {
"title": "Usando la clave API",
"text": "Esta petición se aprobará automáticamente"
}
}
},
"seasonSelector": {
"caption": "Marca las temporadas que quieres que se descarguen",
"table": {
"header": {
"season": "Temporada",
"numberOfEpisodes": "Número de episodios"
}
}
}
}
}

View File

@@ -0,0 +1,11 @@
{
"descriptor": {
"name": "Latencia",
"description": "Te permite comprobar si el servicio está operativo o si devuelve un código HTTP en específico."
},
"states": {
"online": "En línea {{response}}",
"offline": "Desconectado {{response}}",
"loading": "Cargando..."
}
}

View File

@@ -0,0 +1,9 @@
{
"descriptor": {
"name": "Barra de búsqueda",
"description": "Barra de búsqueda para buscar en la web, YouTube, Torrents u Overseerr"
},
"input": {
"placeholder": "Buscar en Internet..."
}
}

View File

@@ -0,0 +1,40 @@
{
"descriptor": {
"name": "Torrent",
"description": "Mostrar la velocidad de descarga actual de los servicios compatibles",
"settings": {
"hideComplete": {
"label": "Ocultar torrents completados"
}
}
},
"card": {
"table": {
"header": {
"name": "Nombre",
"size": "Tamaño",
"download": "Descarga",
"upload": "Subida",
"estimatedTimeOfArrival": "Tiempo restante",
"progress": "Completado %"
},
"body": {
"nothingFound": "No se han encontrado torrents"
}
},
"lineChart": {
"title": "Velocidad de descarga actual",
"download": "Velocidad de Descarga: {{download}}",
"upload": "Velocidad de subida: {{upload}}",
"timeSpan": "Hace {{seconds}} segundos",
"totalDownload": "Velocidad de Descarga: {{download}}/s",
"totalUpload": "Velocidad de Subida: {{upload}}/s"
},
"errors": {
"noDownloadClients": {
"title": "¡No se han encontrado clientes de descarga compatibles!",
"text": "Añade un servicio de descarga para ver tus descargas actuales"
}
}
}
}

View File

@@ -0,0 +1,49 @@
{
"descriptor": {
"name": "",
"description": ""
},
"card": {
"errors": {
"noDownloadClients": {
"title": "¡No se han encontrado clientes de descarga compatibles!",
"text": "Añade un servicio de descarga para ver tus descargas actuales"
}
}
},
"tabs": {
"queue": "",
"history": ""
},
"info": {
"sizeLeft": "",
"paused": ""
},
"queue": {
"header": {
"name": "Nombre",
"size": "Tamaño",
"eta": "Tiempo restante",
"progress": "Completado %"
},
"empty": "",
"error": {
"title": "",
"message": ""
},
"paused": ""
},
"history": {
"header": {
"name": "Nombre",
"size": "Tamaño",
"duration": ""
},
"empty": "",
"error": {
"title": "",
"message": ""
},
"paused": ""
}
}

View File

@@ -0,0 +1,32 @@
{
"descriptor": {
"name": "Clima",
"description": "Consulta el clima actual en tu ubicación",
"settings": {
"displayInFahrenheit": {
"label": "Mostrar en Fahrenheit"
},
"location": {
"label": "Ubicación del clima"
}
}
},
"card": {
"weatherDescriptions": {
"clear": "Despejado",
"mainlyClear": "Mayormente Despejado",
"fog": "Niebla",
"drizzle": "Llovizna",
"freezingDrizzle": "Llovizna helada",
"rain": "Lluvia",
"freezingRain": "Lluvia helada",
"snowFall": "Caída de nieve",
"snowGrains": "Granos de nieve",
"rainShowers": "Lluvia ligera",
"snowShowers": "Nevada Ligera",
"thunderstorm": "Tormenta eléctrica",
"thunderstormWithHail": "Tormenta con Granizo",
"unknown": "Desconocido"
}
}
}

View File

@@ -0,0 +1,14 @@
{
"title": "Ajustes",
"tooltip": "Ajustes",
"tabs": {
"common": "Común",
"customizations": "Personalizaciones"
},
"tips": {
"configTip": "¡Sube tu archivo de configuración arrastrándolo y soltándolo en la página!"
},
"credits": {
"madeWithLove": "Hecho con ❤️ por @"
}
}

View File

@@ -0,0 +1,3 @@
{
"label": "Ancho de la Aplicación"
}

View File

@@ -0,0 +1,3 @@
{
"suffix": "Color {{color}}"
}

View File

@@ -0,0 +1,3 @@
{
"label": "Opacidad de la aplicación"
}

View File

@@ -0,0 +1,25 @@
{
"pageTitle": {
"label": "Título de Página",
"placeholder": "Homarr 🦞"
},
"logo": {
"label": "Logo",
"placeholder": "/img/logo.png"
},
"favicon": {
"label": "Favicon",
"placeholder": "/favicon.png"
},
"background": {
"label": "Fondo",
"placeholder": "/img/background.png"
},
"customCSS": {
"label": "CSS Personalizado",
"placeholder": "El CSS personalizado se ejecutará en último lugar"
},
"buttons": {
"submit": "Enviar"
}
}

View File

@@ -0,0 +1,3 @@
{
"label": "Sombra"
}

Some files were not shown because too many files have changed in this diff Show More