Compare commits
204 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cd433b0e3c | ||
|
|
f4df411d47 | ||
|
|
2494ee6a34 | ||
|
|
cd9fa354ec | ||
|
|
f308e64788 | ||
|
|
da2dcf821c | ||
|
|
5a6c039f5b | ||
|
|
f4d936e3e5 | ||
|
|
2ed085831b | ||
|
|
e7731651f2 | ||
|
|
8c752a01a8 | ||
|
|
e14ff314c7 | ||
|
|
42b7254a94 | ||
|
|
a18c8df664 | ||
|
|
252651c1fb | ||
|
|
543113292b | ||
|
|
ec76c10fdc | ||
|
|
cad111de6d | ||
|
|
66d7bb414e | ||
|
|
f94266c1ad | ||
|
|
75cf90c7ea | ||
|
|
1f044a0172 | ||
|
|
5ae6b39fa9 | ||
|
|
632a9967fd | ||
|
|
fb9a8ed094 | ||
|
|
e8cc9cc338 | ||
|
|
02f187914c | ||
|
|
0ac591d353 | ||
|
|
049492917a | ||
|
|
530b158f4e | ||
|
|
76479503ad | ||
|
|
e8179d01af | ||
|
|
d920c6319f | ||
|
|
b45a614cd8 | ||
|
|
5a46ecc901 | ||
|
|
3850bc2dbe | ||
|
|
afbb0e6944 | ||
|
|
6b3fe8951a | ||
|
|
2e0478b2a7 | ||
|
|
3977885c9a | ||
|
|
31a0b5553f | ||
|
|
972aff26f7 | ||
|
|
984292482a | ||
|
|
648f60fab4 | ||
|
|
c1463b3aa6 | ||
|
|
42ce621197 | ||
|
|
18c84e7e1e | ||
|
|
31a80f5588 | ||
|
|
9d51e2ce52 | ||
|
|
1a7ae434b7 | ||
|
|
1930a4c1f6 | ||
|
|
0c99b77843 | ||
|
|
405219c081 | ||
|
|
54aa5f7f4d | ||
|
|
6811388991 | ||
|
|
7cf6fe53fc | ||
|
|
217e5b861f | ||
|
|
f1e39ba911 | ||
|
|
56e824267d | ||
|
|
2fc4adfbb0 | ||
|
|
b2f04937b9 | ||
|
|
2c9fbb5a1b | ||
|
|
5a41de0eb9 | ||
|
|
69dd4ea75c | ||
|
|
e2311fedc0 | ||
|
|
77c8cb8f9e | ||
|
|
18d58ad4e7 | ||
|
|
8c59ab0846 | ||
|
|
525985b1dc | ||
|
|
43dc1cd70c | ||
|
|
66f9dd51dd | ||
|
|
1652f6e368 | ||
|
|
e8d82c866e | ||
|
|
4c13e8c2f0 | ||
|
|
51a1156e68 | ||
|
|
13531a007c | ||
|
|
41e142634f | ||
|
|
ca47f2d240 | ||
|
|
0506cd542c | ||
|
|
3f44c59e00 | ||
|
|
497e22830e | ||
|
|
e966fdad71 | ||
|
|
64e8e85aac | ||
|
|
964b65477c | ||
|
|
39a4e89d66 | ||
|
|
c7317c7278 | ||
|
|
31f562a223 | ||
|
|
577e467048 | ||
|
|
8d1ebba2e1 | ||
|
|
fdeac8eb29 | ||
|
|
b87cfb4853 | ||
|
|
64dec6ce3f | ||
|
|
a114e6c623 | ||
|
|
c2af38caab | ||
|
|
0d6346c73a | ||
|
|
e0eb195097 | ||
|
|
94f13b805c | ||
|
|
c507a8892f | ||
|
|
b923f8261b | ||
|
|
13670c5626 | ||
|
|
59504ff6c4 | ||
|
|
3bb0f20066 | ||
|
|
850375767e | ||
|
|
ed159ea3c3 | ||
|
|
c799d507d2 | ||
|
|
4c9d1a1c01 | ||
|
|
6633d21788 | ||
|
|
9aebcf0c69 | ||
|
|
63f82971c8 | ||
|
|
4c28a77e00 | ||
|
|
c41f547af3 | ||
|
|
b3aae68469 | ||
|
|
2063adc6c0 | ||
|
|
04a304dcd6 | ||
|
|
0b237f27f7 | ||
|
|
5ed363146f | ||
|
|
77bad9d6b3 | ||
|
|
464b9d4142 | ||
|
|
4a856c6267 | ||
|
|
47cb9cd5b6 | ||
|
|
13999e44eb | ||
|
|
749f492034 | ||
|
|
c6fa03ba8c | ||
|
|
b78ed7fb04 | ||
|
|
c8ef6bae1a | ||
|
|
457e9cf2bd | ||
|
|
68cea4b6a8 | ||
|
|
85120e3816 | ||
|
|
c6d8bcd574 | ||
|
|
1aeee38c0d | ||
|
|
387f155b29 | ||
|
|
5dae500ac3 | ||
|
|
caa625c3ec | ||
|
|
faf5d11900 | ||
|
|
5c183e83f3 | ||
|
|
ab212e36d0 | ||
|
|
402f05f265 | ||
|
|
46938db8f3 | ||
|
|
1dd205c441 | ||
|
|
f906214fa9 | ||
|
|
e734af0109 | ||
|
|
8850e3a027 | ||
|
|
0b7f407b8c | ||
|
|
6f7692c086 | ||
|
|
623bfe58bd | ||
|
|
05423440f3 | ||
|
|
fddcfb3f06 | ||
|
|
f56f4b33ce | ||
|
|
f5686fbf2c | ||
|
|
2c1b329dfd | ||
|
|
f1b3949f15 | ||
|
|
334947dd04 | ||
|
|
596bcefbbc | ||
|
|
b738fa8463 | ||
|
|
27fac54da4 | ||
|
|
d157e986a1 | ||
|
|
ca50cffe82 | ||
|
|
0ee70f3881 | ||
|
|
d8931644d8 | ||
|
|
4c2c2fb564 | ||
|
|
368707ed76 | ||
|
|
2a5a0a7699 | ||
|
|
dc69930eab | ||
|
|
1f8a71ef6d | ||
|
|
47ea22e411 | ||
|
|
9929cf64ac | ||
|
|
89182ec4bc | ||
|
|
c56f90d43c | ||
|
|
3e0cf2ded1 | ||
|
|
9b53b49159 | ||
|
|
725007f88f | ||
|
|
b767040760 | ||
|
|
16a77cdf25 | ||
|
|
4c52980d25 | ||
|
|
f910e3fe97 | ||
|
|
1460a979c0 | ||
|
|
1047b73d58 | ||
|
|
4208ac44cf | ||
|
|
7ae7e50634 | ||
|
|
4f652c71ba | ||
|
|
023e44f523 | ||
|
|
85beb7fe43 | ||
|
|
62d9888889 | ||
|
|
10e3718cb8 | ||
|
|
fef47b96ee | ||
|
|
2e242256cc | ||
|
|
a05e80bf26 | ||
|
|
06d72d679b | ||
|
|
edb13ae716 | ||
|
|
793ab4db7a | ||
|
|
84db1aeaf7 | ||
|
|
fab018a10e | ||
|
|
ba3f841ba3 | ||
|
|
0b07fdd380 | ||
|
|
b3b24e4800 | ||
|
|
e897c21aa2 | ||
|
|
a2f376aed8 | ||
|
|
53012da946 | ||
|
|
ab3c08575c | ||
|
|
edece1101b | ||
|
|
beabe75fb1 | ||
|
|
1e6703ec3f | ||
|
|
3853cd6a72 | ||
|
|
89c34643fc |
10
.deepsource.toml
Normal file
@@ -0,0 +1,10 @@
|
||||
version = 1
|
||||
|
||||
[[analyzers]]
|
||||
name = "javascript"
|
||||
|
||||
[analyzers.meta]
|
||||
plugins = ["react"]
|
||||
|
||||
[[transformers]]
|
||||
name = "prettier"
|
||||
11
.eslintrc.js
@@ -2,12 +2,12 @@ module.exports = {
|
||||
extends: [
|
||||
'mantine',
|
||||
'plugin:@next/next/recommended',
|
||||
'plugin:jest/recommended',
|
||||
'eslint:recommended',
|
||||
'plugin:@typescript-eslint/eslint-recommended',
|
||||
'plugin:@typescript-eslint/recommended',
|
||||
'plugin:vitest/recommended',
|
||||
],
|
||||
plugins: ['testing-library', 'jest', 'react-hooks', 'react', 'unused-imports'],
|
||||
plugins: ['testing-library', 'react-hooks', 'react', 'unused-imports', 'vitest'],
|
||||
overrides: [
|
||||
{
|
||||
files: ['**/?(*.)+(spec|test).[jt]s?(x)'],
|
||||
@@ -31,5 +31,12 @@ module.exports = {
|
||||
'@typescript-eslint/no-non-null-assertion': 'off',
|
||||
'no-continue': 'off',
|
||||
'linebreak-style': 0,
|
||||
'vitest/max-nested-describe': [
|
||||
'error',
|
||||
{
|
||||
max: 3,
|
||||
},
|
||||
],
|
||||
'testing-library/no-node-access': ['error', { allowContainerFirstChild: true }],
|
||||
},
|
||||
};
|
||||
|
||||
19
.github/ISSUE_TEMPLATE/bug.yml
vendored
@@ -32,8 +32,15 @@ body:
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: Additional info
|
||||
description: Logs? Screenshots? More info?
|
||||
label: Logs
|
||||
description: Provide your Homarr logs so we can investigate what's going on
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: context
|
||||
attributes:
|
||||
label: Context
|
||||
description: Screenshots? More info?
|
||||
validations:
|
||||
required: false
|
||||
- type: checkboxes
|
||||
@@ -42,9 +49,11 @@ body:
|
||||
label: Please tick the boxes
|
||||
description: Before submitting, please ensure that
|
||||
options:
|
||||
- label: You've read the [docs](https://github.com/ajnart/homarr#readme)
|
||||
- label: I confirm that I attached the proper logs
|
||||
required: true
|
||||
- label: You've checked for [duplicate issues](https://github.com/ajnart/homarr/issues)
|
||||
- label: I've read the [docs](https://github.com/ajnart/homarr#readme)
|
||||
required: true
|
||||
- label: You've tried to debug yourself
|
||||
- label: I've checked for [duplicate issues](https://github.com/ajnart/homarr/issues)
|
||||
required: true
|
||||
- label: I've tried to debug myself
|
||||
required: true
|
||||
|
||||
7
.github/workflows/docker_dev.yml
vendored
@@ -24,11 +24,14 @@ env:
|
||||
REGISTRY: ghcr.io
|
||||
# github.repository as <account>/<repo>
|
||||
IMAGE_NAME: ${{ github.repository }}
|
||||
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
|
||||
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
|
||||
|
||||
|
||||
jobs:
|
||||
# Push image to GitHub Packages.
|
||||
# See also https://docs.docker.com/docker-hub/builds/
|
||||
yarn_install_and_build:
|
||||
yarn_install_and_build_dev:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
packages: write
|
||||
@@ -67,7 +70,7 @@ jobs:
|
||||
|
||||
- run: yarn install --immutable
|
||||
|
||||
- run: yarn build
|
||||
- run: yarn turbo build
|
||||
|
||||
- name: Docker meta
|
||||
if: github.event_name != 'pull_request'
|
||||
|
||||
7
.gitignore
vendored
@@ -25,6 +25,7 @@ yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# local env files
|
||||
.env
|
||||
.env.local
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
@@ -32,6 +33,7 @@ yarn-error.log*
|
||||
|
||||
# vercel
|
||||
.vercel
|
||||
.turbo
|
||||
*.tsbuildinfo
|
||||
|
||||
# storybook
|
||||
@@ -46,4 +48,7 @@ data/configs
|
||||
!.yarn/plugins
|
||||
!.yarn/releases
|
||||
!.yarn/sdks
|
||||
!.yarn/versions
|
||||
!.yarn/versions
|
||||
|
||||
#envfiles
|
||||
.env
|
||||
5
.yarnrc
@@ -1,5 +0,0 @@
|
||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
yarn-path ".yarn/releases/yarn-1.22.19.cjs"
|
||||
@@ -104,3 +104,11 @@ Enhancement suggestions are tracked as [GitHub issues](https://github.com/ajnart
|
||||
Homarr uses [GitMoji](https://gitmoji.dev/).
|
||||
We would appreciate it if everyone keeps their commit messages withing these rulings.
|
||||
|
||||
### Tests
|
||||
|
||||
> Components should be tested using unit tests. A unit is the smallest isolated part of the component. Unit tests must not have any dependencies and must be isolated.
|
||||
|
||||
- Place testfiles directly at the root of the unit
|
||||
- Only test a single unit of work inside a unit test
|
||||
- You may test multiple units inside one test file
|
||||
- Testnames do not begin with ``should`` or the unit name
|
||||
183
README.md
@@ -1,148 +1,123 @@
|
||||
|
||||
<!-- Project Title -->
|
||||
<h1 align="center">Homarr</h1>
|
||||

|
||||
|
||||
<!-- Badges -->
|
||||
<p align="center">
|
||||
<img src="https://img.shields.io/github/stars/ajnart/homarr?label=%E2%AD%90%20Stars&style=flat-square?branch=master&kill_cache=1%22">
|
||||
<a href="https://github.com/ajnart/homarr/releases/latest">
|
||||
<img alt="Latest Release (Semver)" src="https://img.shields.io/github/v/release/ajnart/homarr?label=%F0%9F%9A%80%20Release">
|
||||
<img alt="Latest Release (Semver)" src="https://img.shields.io/github/v/release/ajnart/homarr?label=%F0%9F%9A%80%20Release">
|
||||
</a>
|
||||
<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">
|
||||
<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">
|
||||
<img title="Discord" src="https://discordapp.com/api/guilds/972958686051962910/widget.png?style=shield">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<!-- Links -->
|
||||
<p align="center">
|
||||
<i>Join the discord! — Don't forget to star the repo if you are enjoying the project!</i>
|
||||
</p>
|
||||
<h3 align="center"><a href="https://homarr.dev">Read the Docs</a></h3>
|
||||
<p align="center">
|
||||
<a href="https://demo.homarr.dev/"><strong> Demo ↗️ </strong></a> • <a href="https://homarr.dev/docs/introduction/installation"><strong> Install ➡️ </strong></a>
|
||||
<a href="https://demo.homarr.dev/">
|
||||
<strong>Demo ✨</strong>
|
||||
</a>
|
||||
•
|
||||
<a href="https://homarr.dev/docs/introduction/installation">
|
||||
<strong>Install 💻</strong>
|
||||
</a> •
|
||||
<a href="https://crowdin.com/project/homarr">
|
||||
<strong>Translations 🈺</strong>
|
||||
</a> •
|
||||
<a href="https://discord.com/invite/aCsmEV5RgA">
|
||||
<strong>Discord 👋</strong>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
---
|
||||
Simplify the management of your server with Homarr - a sleek, modern dashboard that puts all of your apps and services at your fingertips. With Homarr, you can access and control everything in one convenient location. Homarr seamlessly integrates with the apps you've added, providing you with valuable information and giving you complete control. Installation is a breeze, and Homarr supports a wide range of deployment methods.
|
||||
|
||||
<!-- Homarr Description -->
|
||||
<img align="right" width=150 src="public/imgs/logo/logo-color.svg" />
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
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).
|
||||
- 🖌️ Highly customizable with an extensive drag and drop grid system
|
||||
- ✨ Integrates seamlessly with your favorite self-hosted applications
|
||||
- 📌 Easy and fast app management - no YAML involved
|
||||
- 🙊 Advanced secrets' management system for enhanced security
|
||||
- 📄 Detailed documentation and active community
|
||||
- 🔍 Search through the web or supported integrations in an instant
|
||||
- 🏴 Monitor your application with a built-in status system
|
||||
- 🦞 Comprehensive built-in icon picker with over 7000 icons
|
||||
- 🐳 Easy deployment with Docker, unRAID, and Synology
|
||||
- 🚀 Compatible with any major consumer hardware (x86, Raspberry Pi, old laptops, ...)
|
||||
- 💵 Free and Open-Source - your data stays on your device. No telemetry data.
|
||||
|
||||
For a full list of integrations, [head over to our documentation](https://homarr.dev/docs/integrations/).
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
If you have any questions about Homarr or want to share information with us, please go to one of the following places:
|
||||

|
||||
|
||||
- [Github Discussions](https://github.com/ajnart/homarr/discussions)
|
||||
- [Discord Server](https://discord.gg/aCsmEV5RgA)
|
||||
Homarr has a [built-in collection of widgets and integrations](https://homarr.dev/docs/integrations/), that connect to your applications and enable you to control them directly from the dashboard.
|
||||
Each widget and integration has a comprehensive documentation for your comfort.
|
||||
Homarr will integrate with the following applications of yours:
|
||||
|
||||
**For more information, [read the documentation!](https://homarr.dev/docs/about)**
|
||||
- 📥 Torrent clients
|
||||
- [Deluge](https://homarr.dev/docs/integrations/#deluge)
|
||||
- [Transmission](https://homarr.dev/docs/integrations/#transmission)
|
||||
- [qBittorent](https://homarr.dev/docs/integrations/#qbittorrent-integration)
|
||||
- 📥 Usenet clients
|
||||
- [SABnzbd](https://homarr.dev/docs/integrations/#sabnzbd)
|
||||
- [NZBGet](https://homarr.dev/docs/integrations/#nzbget)
|
||||
- 📚 Media collection managers
|
||||
- [Sonarr](https://homarr.dev/docs/integrations/#sonarr)
|
||||
- [Radarr](https://homarr.dev/docs/integrations/#radarr)
|
||||
- [Lidarr](https://homarr.dev/docs/integrations/#lidarr)
|
||||
- [Readarr](https://homarr.dev/docs/integrations/#readarr)
|
||||
- 🎞️ Media request managers
|
||||
- [Overseerr](https://homarr.dev/docs/integrations/#overseerr--jellyseerr)
|
||||
- [Jellyseerr](https://homarr.dev/docs/integrations/#overseerr--jellyseerr)
|
||||
- 🔌 [Dash.](https://homarr.dev/docs/integrations/#dash)
|
||||
- 🐳 [Docker](https://homarr.dev/docs/integrations/#docker)
|
||||
|
||||
<details>
|
||||
<summary><b>Table of Contents</b></summary>
|
||||
<p>
|
||||
We're constantly adding new integrations and widgets, which will enhance your experience even further.
|
||||
|
||||
- [✨ Features](#-features)
|
||||
- [👀 Preview](#-preview)
|
||||
- [🛠️ Running a dev environment](#️-running-a-dev-environment)
|
||||
- [💖 Contributing](#-contributing)
|
||||
- [📜 License](#-license)
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
</p>
|
||||
</details>
|
||||

|
||||
|
||||
---
|
||||
https://user-images.githubusercontent.com/30572287/217098893-5880e7de-13d0-42c5-b505-f7921593396f.mp4
|
||||
|
||||
## ✨ Features
|
||||
- Integrates with services you use.
|
||||
- Search the web directly from your homepage.
|
||||
- Real-time status indicator for every service.
|
||||
- Automatically finds icons while you type the name of a service.
|
||||
- Widgets that can display all types of information.
|
||||
- Easy deployment with Docker.
|
||||
- Very light-weight and fast.
|
||||
- Free and Open-Source.
|
||||
- And more...
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
**[⤴️ Back to Top](#homarr)**
|
||||

|
||||
|
||||
---
|
||||
Since we are updating Homarr very frequently, we recommend reading our official installation guides:
|
||||
|
||||
## 👀 Preview
|
||||
<img alt="Homarr Preview" align="center" width="100%" src="https://user-images.githubusercontent.com/71191962/169860380-856634fb-4f41-47cb-ba54-6a9e7b3b9c81.gif" />
|
||||
<a href="https://homarr.dev/docs/introduction/installation">
|
||||
<img src="docs/installation-button.png" width="200" />
|
||||
</a>
|
||||
|
||||
**[⤴️ Back to Top](#homarr)**
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
---
|
||||

|
||||
Homarr is maintained by motivated developers in their free-time.
|
||||
We work for fun and learning on this project.
|
||||
|
||||
### 🛠️ Running a dev environment
|
||||
Hence, we're glad for all the help and support we can get.
|
||||
Although a donation is appreciated, there are other ways you can support us.
|
||||
|
||||
_Requirements_:
|
||||
- [Git](https://git-scm.com/downloads)
|
||||
- [NodeJS](https://nodejs.org/en/) _(Latest or LTS)_
|
||||
- [Yarn](https://yarnpkg.com/)
|
||||
<a href="https://ko-fi.com/ajnart">
|
||||
<img src="https://cdn.ko-fi.com/cdn/kofi3.png?v=3" width="200" />
|
||||
</a>
|
||||
|
||||
**Installing**
|
||||
You can also support us by helping with [translating the entire project](https://homarr.dev/docs/community/translations) to as many language as possible or contributing directly to the code or documentation.
|
||||
|
||||
- Clone the GitHub repo: `git clone https://github.com/ajnart/homarr.git` & `cd homarr`
|
||||
- Install all dependencies: `yarn install`
|
||||
- Build the source: `yarn build`
|
||||
- Start the NextJS web server: ``yarn start``
|
||||
- *Note: If you want to update the code in real time, launch with ``yarn dev``*
|
||||
|
||||
**[⤴️ Back to Top](#homarr)**
|
||||
|
||||
---
|
||||
|
||||
## 💖 Contributing
|
||||
**Please read our [Contribution Guidelines](/CONTRIBUTING.md)**
|
||||
|
||||
All contributions are highly appreciated.
|
||||
|
||||
**[⤴️ Back to Top](#homarr)**
|
||||
|
||||
---
|
||||
|
||||
|
||||
## 📜 License
|
||||
Homarr is Licensed under [MIT](https://en.wikipedia.org/wiki/MIT_License)
|
||||
|
||||
```txt
|
||||
Copyright © 2022 Thomas "ajnart" Camlong
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
```
|
||||
|
||||
**[⤴️ Back to Top](#homarr)**
|
||||
|
||||
---
|
||||
|
||||
<p align="center">
|
||||
<i>Thank you for visiting! <b>For more information <a href="https://homarr.dev">read the documentation!</a></b></i>
|
||||
<br/>
|
||||
<br/>
|
||||
</p>
|
||||
All contributions, regardless of their size or scope, are welcome and highly appreciated! Thank you ❤️
|
||||
|
||||
@@ -1,387 +1,389 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"configProperties": {
|
||||
"name": "default"
|
||||
},
|
||||
"categories": [
|
||||
{
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f",
|
||||
"position": 1,
|
||||
"name": "Welcome to Homarr 🎉",
|
||||
"type": "category"
|
||||
"schemaVersion": 1,
|
||||
"configProperties": {
|
||||
"name": "default"
|
||||
},
|
||||
"categories": [
|
||||
{
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f",
|
||||
"position": 1,
|
||||
"name": "Welcome to Homarr 🎉",
|
||||
"type": "category"
|
||||
}
|
||||
],
|
||||
"wrappers": [
|
||||
{
|
||||
"id": "default",
|
||||
"position": 0
|
||||
},
|
||||
{
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a326",
|
||||
"position": 1
|
||||
}
|
||||
],
|
||||
"apps": [
|
||||
{
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a337",
|
||||
"name": "Discord",
|
||||
"url": "https://discord.com/invite/aCsmEV5RgA",
|
||||
"behaviour": {
|
||||
"onClickUrl": "https://discord.com/invite/aCsmEV5RgA",
|
||||
"isOpeningNewTab": true,
|
||||
"externalUrl": "https://discord.com/invite/aCsmEV5RgA"
|
||||
},
|
||||
"network": {
|
||||
"enabledStatusChecker": false,
|
||||
"okStatus": [
|
||||
200
|
||||
]
|
||||
},
|
||||
"appearance": {
|
||||
"iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/discord.png"
|
||||
},
|
||||
"integration": {
|
||||
"type": null,
|
||||
"properties": []
|
||||
},
|
||||
"area": {
|
||||
"type": "category",
|
||||
"properties": {
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
|
||||
}
|
||||
},
|
||||
"shape": {
|
||||
"md": {
|
||||
"location": {
|
||||
"x": 3,
|
||||
"y": 1
|
||||
},
|
||||
"size": {
|
||||
"width": 3,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"sm": {
|
||||
"location": {
|
||||
"x": 2,
|
||||
"y": 1
|
||||
},
|
||||
"size": {
|
||||
"width": 1,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"lg": {
|
||||
"location": {
|
||||
"x": 2,
|
||||
"y": 1
|
||||
},
|
||||
"size": {
|
||||
"width": 1,
|
||||
"height": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a990",
|
||||
"name": "Donate",
|
||||
"url": "https://ko-fi.com/ajnart",
|
||||
"behaviour": {
|
||||
"onClickUrl": "https://ko-fi.com/ajnart",
|
||||
"externalUrl": "https://ko-fi.com/ajnart",
|
||||
"isOpeningNewTab": true
|
||||
},
|
||||
"network": {
|
||||
"enabledStatusChecker": false,
|
||||
"okStatus": [
|
||||
200
|
||||
]
|
||||
},
|
||||
"appearance": {
|
||||
"iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/ko-fi.png"
|
||||
},
|
||||
"integration": {
|
||||
"type": null,
|
||||
"properties": []
|
||||
},
|
||||
"area": {
|
||||
"type": "category",
|
||||
"properties": {
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
|
||||
}
|
||||
},
|
||||
"shape": {
|
||||
"md": {
|
||||
"location": {
|
||||
"x": 2,
|
||||
"y": 1
|
||||
},
|
||||
"size": {
|
||||
"width": 1,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"sm": {
|
||||
"location": {
|
||||
"x": 2,
|
||||
"y": 2
|
||||
},
|
||||
"size": {
|
||||
"width": 1,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"lg": {
|
||||
"location": {
|
||||
"x": 3,
|
||||
"y": 1
|
||||
},
|
||||
"size": {
|
||||
"width": 1,
|
||||
"height": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a330",
|
||||
"name": "Contribute",
|
||||
"url": "https://github.com/ajnart/homarr",
|
||||
"behaviour": {
|
||||
"onClickUrl": "https://github.com/ajnart/homarr",
|
||||
"externalUrl": "https://github.com/ajnart/homarr",
|
||||
"isOpeningNewTab": true
|
||||
},
|
||||
"network": {
|
||||
"enabledStatusChecker": false,
|
||||
"okStatus": []
|
||||
},
|
||||
"appearance": {
|
||||
"iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/github.png"
|
||||
},
|
||||
"integration": {
|
||||
"type": null,
|
||||
"properties": []
|
||||
},
|
||||
"area": {
|
||||
"type": "category",
|
||||
"properties": {
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
|
||||
}
|
||||
},
|
||||
"shape": {
|
||||
"md": {
|
||||
"location": {
|
||||
"x": 2,
|
||||
"y": 0
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"sm": {
|
||||
"location": {
|
||||
"x": 0,
|
||||
"y": 2
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"lg": {
|
||||
"location": {
|
||||
"x": 4,
|
||||
"y": 0
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "5df743d9-5cb1-457c-85d2-64ff86855652",
|
||||
"name": "Documentation",
|
||||
"url": "https://homarr.dev",
|
||||
"behaviour": {
|
||||
"onClickUrl": "https://homarr.dev",
|
||||
"externalUrl": "https://homarr.dev",
|
||||
"isOpeningNewTab": true
|
||||
},
|
||||
"network": {
|
||||
"enabledStatusChecker": false,
|
||||
"okStatus": [
|
||||
200
|
||||
]
|
||||
},
|
||||
"appearance": {
|
||||
"iconUrl": "/imgs/logo/logo.png"
|
||||
},
|
||||
"integration": {
|
||||
"type": null,
|
||||
"properties": []
|
||||
},
|
||||
"area": {
|
||||
"type": "category",
|
||||
"properties": {
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
|
||||
}
|
||||
},
|
||||
"shape": {
|
||||
"md": {
|
||||
"location": {
|
||||
"x": 0,
|
||||
"y": 1
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"sm": {
|
||||
"location": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"size": {
|
||||
"width": 1,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"lg": {
|
||||
"location": {
|
||||
"x": 0,
|
||||
"y": 1
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"widgets": [
|
||||
{
|
||||
"id": "971aa859-8570-49a1-8d34-dd5c7b3638d1",
|
||||
"type": "date",
|
||||
"properties": {
|
||||
"display24HourFormat": true
|
||||
},
|
||||
"area": {
|
||||
"type": "category",
|
||||
"properties": {
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
|
||||
}
|
||||
},
|
||||
"shape": {
|
||||
"sm": {
|
||||
"location": {
|
||||
"x": 0,
|
||||
"y": 1
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"md": {
|
||||
"location": {
|
||||
"x": 4,
|
||||
"y": 0
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"lg": {
|
||||
"location": {
|
||||
"x": 2,
|
||||
"y": 0
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "e3004052-6b83-480e-b458-56e8ccdca5f0",
|
||||
"type": "weather",
|
||||
"properties": {
|
||||
"displayInFahrenheit": false,
|
||||
"location": "Paris"
|
||||
},
|
||||
"area": {
|
||||
"type": "category",
|
||||
"properties": {
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
|
||||
}
|
||||
},
|
||||
"shape": {
|
||||
"md": {
|
||||
"location": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"sm": {
|
||||
"location": {
|
||||
"x": 1,
|
||||
"y": 0
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"lg": {
|
||||
"location": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"common": {
|
||||
"searchEngine": {
|
||||
"type": "google",
|
||||
"properties": {}
|
||||
}
|
||||
},
|
||||
"customization": {
|
||||
"layout": {
|
||||
"enabledLeftSidebar": false,
|
||||
"enabledRightSidebar": false,
|
||||
"enabledDocker": false,
|
||||
"enabledPing": false,
|
||||
"enabledSearchbar": true
|
||||
},
|
||||
"pageTitle": "Homarr v0.11 ⭐️",
|
||||
"logoImageUrl": "/imgs/logo/logo.png",
|
||||
"faviconUrl": "/imgs/favicon/favicon-squared.png",
|
||||
"backgroundImageUrl": "",
|
||||
"customCss": "",
|
||||
"colors": {
|
||||
"primary": "red",
|
||||
"secondary": "yellow",
|
||||
"shade": 7
|
||||
},
|
||||
"appOpacity": 100
|
||||
}
|
||||
}
|
||||
],
|
||||
"wrappers": [
|
||||
{
|
||||
"id": "default",
|
||||
"position": 0
|
||||
},
|
||||
{
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a326",
|
||||
"position": 1
|
||||
}
|
||||
],
|
||||
"apps": [
|
||||
{
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a337",
|
||||
"name": "Discord",
|
||||
"url": "https://discord.com/invite/aCsmEV5RgA",
|
||||
"behaviour": {
|
||||
"onClickUrl": "https://discord.com/invite/aCsmEV5RgA",
|
||||
"isOpeningNewTab": true,
|
||||
"externalUrl": "https://discord.com/invite/aCsmEV5RgA"
|
||||
},
|
||||
"network": {
|
||||
"enabledStatusChecker": false,
|
||||
"okStatus": [
|
||||
200
|
||||
]
|
||||
},
|
||||
"appearance": {
|
||||
"iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/discord.png"
|
||||
},
|
||||
"integration": {
|
||||
"type": null,
|
||||
"properties": []
|
||||
},
|
||||
"area": {
|
||||
"type": "category",
|
||||
"properties": {
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
|
||||
}
|
||||
},
|
||||
"shape": {
|
||||
"md": {
|
||||
"location": {
|
||||
"x": 3,
|
||||
"y": 1
|
||||
},
|
||||
"size": {
|
||||
"width": 3,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"sm": {
|
||||
"location": {
|
||||
"x": 2,
|
||||
"y": 1
|
||||
},
|
||||
"size": {
|
||||
"width": 1,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"lg": {
|
||||
"location": {
|
||||
"x": 2,
|
||||
"y": 1
|
||||
},
|
||||
"size": {
|
||||
"width": 1,
|
||||
"height": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a990",
|
||||
"name": "Donate",
|
||||
"url": "https://ko-fi.com/ajnart",
|
||||
"behaviour": {
|
||||
"onClickUrl": "https://ko-fi.com/ajnart",
|
||||
"externalUrl": "https://ko-fi.com/ajnart",
|
||||
"isOpeningNewTab": true
|
||||
},
|
||||
"network": {
|
||||
"enabledStatusChecker": false,
|
||||
"okStatus": [
|
||||
200
|
||||
]
|
||||
},
|
||||
"appearance": {
|
||||
"iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/ko-fi.png"
|
||||
},
|
||||
"integration": {
|
||||
"type": null,
|
||||
"properties": []
|
||||
},
|
||||
"area": {
|
||||
"type": "category",
|
||||
"properties": {
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
|
||||
}
|
||||
},
|
||||
"shape": {
|
||||
"md": {
|
||||
"location": {
|
||||
"x": 2,
|
||||
"y": 1
|
||||
},
|
||||
"size": {
|
||||
"width": 1,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"sm": {
|
||||
"location": {
|
||||
"x": 2,
|
||||
"y": 2
|
||||
},
|
||||
"size": {
|
||||
"width": 1,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"lg": {
|
||||
"location": {
|
||||
"x": 3,
|
||||
"y": 1
|
||||
},
|
||||
"size": {
|
||||
"width": 1,
|
||||
"height": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a330",
|
||||
"name": "Contribute",
|
||||
"url": "https://github.com/ajnart/homarr",
|
||||
"behaviour": {
|
||||
"onClickUrl": "https://github.com/ajnart/homarr",
|
||||
"externalUrl": "https://github.com/ajnart/homarr",
|
||||
"isOpeningNewTab": true
|
||||
},
|
||||
"network": {
|
||||
"enabledStatusChecker": false,
|
||||
"okStatus": []
|
||||
},
|
||||
"appearance": {
|
||||
"iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/github.png"
|
||||
},
|
||||
"integration": {
|
||||
"type": null,
|
||||
"properties": []
|
||||
},
|
||||
"area": {
|
||||
"type": "category",
|
||||
"properties": {
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
|
||||
}
|
||||
},
|
||||
"shape": {
|
||||
"md": {
|
||||
"location": {
|
||||
"x": 2,
|
||||
"y": 0
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"sm": {
|
||||
"location": {
|
||||
"x": 0,
|
||||
"y": 2
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"lg": {
|
||||
"location": {
|
||||
"x": 4,
|
||||
"y": 0
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "5df743d9-5cb1-457c-85d2-64ff86855652",
|
||||
"name": "Documentation",
|
||||
"url": "https://homarr.dev",
|
||||
"behaviour": {
|
||||
"onClickUrl": "https://homarr.dev",
|
||||
"externalUrl": "https://homarr.dev",
|
||||
"isOpeningNewTab": true
|
||||
},
|
||||
"network": {
|
||||
"enabledStatusChecker": false,
|
||||
"okStatus": [
|
||||
200
|
||||
]
|
||||
},
|
||||
"appearance": {
|
||||
"iconUrl": "/imgs/logo/logo.png"
|
||||
},
|
||||
"integration": {
|
||||
"type": null,
|
||||
"properties": []
|
||||
},
|
||||
"area": {
|
||||
"type": "category",
|
||||
"properties": {
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
|
||||
}
|
||||
},
|
||||
"shape": {
|
||||
"md": {
|
||||
"location": {
|
||||
"x": 0,
|
||||
"y": 1
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"sm": {
|
||||
"location": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"size": {
|
||||
"width": 1,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"lg": {
|
||||
"location": {
|
||||
"x": 0,
|
||||
"y": 1
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"widgets": [
|
||||
{
|
||||
"id": "date",
|
||||
"properties": {
|
||||
"display24HourFormat": true
|
||||
},
|
||||
"area": {
|
||||
"type": "category",
|
||||
"properties": {
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
|
||||
}
|
||||
},
|
||||
"shape": {
|
||||
"sm": {
|
||||
"location": {
|
||||
"x": 0,
|
||||
"y": 1
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"md": {
|
||||
"location": {
|
||||
"x": 4,
|
||||
"y": 0
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"lg": {
|
||||
"location": {
|
||||
"x": 2,
|
||||
"y": 0
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "weather",
|
||||
"properties": {
|
||||
"displayInFahrenheit": false,
|
||||
"location": "Paris"
|
||||
},
|
||||
"area": {
|
||||
"type": "category",
|
||||
"properties": {
|
||||
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
|
||||
}
|
||||
},
|
||||
"shape": {
|
||||
"md": {
|
||||
"location": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"sm": {
|
||||
"location": {
|
||||
"x": 1,
|
||||
"y": 0
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 1
|
||||
}
|
||||
},
|
||||
"lg": {
|
||||
"location": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"common": {
|
||||
"searchEngine": {
|
||||
"type": "google",
|
||||
"properties": {}
|
||||
}
|
||||
},
|
||||
"customization": {
|
||||
"layout": {
|
||||
"enabledLeftSidebar": false,
|
||||
"enabledRightSidebar": false,
|
||||
"enabledDocker": false,
|
||||
"enabledPing": false,
|
||||
"enabledSearchbar": true
|
||||
},
|
||||
"pageTitle": "Homarr v0.11 ⭐️",
|
||||
"logoImageUrl": "/imgs/logo/logo.png",
|
||||
"faviconUrl": "/imgs/favicon/favicon-squared",
|
||||
"backgroundImageUrl": "",
|
||||
"customCss": "",
|
||||
"colors": {
|
||||
"primary": "red",
|
||||
"secondary": "yellow",
|
||||
"shade": 7
|
||||
},
|
||||
"appOpacity": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BIN
docs/banner.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
docs/banner.xcf
Normal file
BIN
docs/installation-button.png
Normal file
|
After Width: | Height: | Size: 7.5 KiB |
BIN
docs/section-contribute.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
docs/section-features.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
docs/section-installation.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
docs/section-preview.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
docs/section-template.xcf
Normal file
BIN
docs/section-widgets-and-integrations.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
@@ -25,11 +25,15 @@ module.exports = {
|
||||
'uk',
|
||||
'zh',
|
||||
'el',
|
||||
'sk',
|
||||
'no',
|
||||
],
|
||||
localePath: path.resolve('./public/locales'),
|
||||
fallbackLng: 'en',
|
||||
|
||||
localeDetection: true,
|
||||
returnEmptyString: false,
|
||||
},
|
||||
returnEmptyString: false,
|
||||
appendNamespaceToCIMode: true,
|
||||
reloadOnPrerender: process.env.NODE_ENV === 'development',
|
||||
fallbackLng: 'en',
|
||||
localePath: path.resolve('./public/locales'),
|
||||
};
|
||||
|
||||
@@ -1,19 +1,14 @@
|
||||
const { i18n } = require('./next-i18next.config');
|
||||
|
||||
const removeImports = require('next-remove-imports')();
|
||||
|
||||
const withBundleAnalyzer = require('@next/bundle-analyzer')({
|
||||
enabled: process.env.ANALYZE === 'true',
|
||||
});
|
||||
|
||||
module.exports = withBundleAnalyzer(
|
||||
removeImports({
|
||||
experimental: { esmExternals: true },
|
||||
images: {
|
||||
domains: ['cdn.jsdelivr.net'],
|
||||
},
|
||||
reactStrictMode: true,
|
||||
output: 'standalone',
|
||||
i18n,
|
||||
})
|
||||
);
|
||||
module.exports = withBundleAnalyzer({
|
||||
images: {
|
||||
domains: ['cdn.jsdelivr.net'],
|
||||
},
|
||||
reactStrictMode: true,
|
||||
output: 'standalone',
|
||||
i18n,
|
||||
});
|
||||
|
||||
83
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "homarr",
|
||||
"version": "0.11.4",
|
||||
"version": "0.12.1",
|
||||
"description": "Homarr - A homepage for your server.",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
@@ -11,95 +11,104 @@
|
||||
"dev": "next dev",
|
||||
"build": "next build",
|
||||
"analyze": "ANALYZE=true next build",
|
||||
"turbo": "turbo run 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"
|
||||
"test": "vitest",
|
||||
"test:ui": "vitest --ui",
|
||||
"test:run": "vitest run",
|
||||
"test:coverage": "vitest run --coverage"
|
||||
},
|
||||
"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.5",
|
||||
"@emotion/react": "^11.10.6",
|
||||
"@emotion/server": "^11.10.0",
|
||||
"@mantine/core": "^5.9.3",
|
||||
"@mantine/dates": "^5.9.3",
|
||||
"@mantine/dropzone": "^5.9.3",
|
||||
"@mantine/form": "^5.9.3",
|
||||
"@mantine/hooks": "^5.9.3",
|
||||
"@mantine/modals": "^5.9.3",
|
||||
"@mantine/next": "^5.9.3",
|
||||
"@mantine/notifications": "^5.9.3",
|
||||
"@nivo/core": "^0.79.0",
|
||||
"@nivo/line": "^0.79.1",
|
||||
"@jellyfin/sdk": "^0.7.0",
|
||||
"@mantine/core": "^6.0.0",
|
||||
"@mantine/dates": "^6.0.0",
|
||||
"@mantine/dropzone": "^6.0.0",
|
||||
"@mantine/form": "^6.0.0",
|
||||
"@mantine/hooks": "^6.0.0",
|
||||
"@mantine/modals": "^6.0.0",
|
||||
"@mantine/next": "^6.0.0",
|
||||
"@mantine/notifications": "^6.0.0",
|
||||
"@nivo/core": "^0.80.0",
|
||||
"@nivo/line": "^0.80.0",
|
||||
"@react-native-async-storage/async-storage": "^1.18.1",
|
||||
"@tabler/icons": "^1.106.0",
|
||||
"@tanstack/query-async-storage-persister": "^4.27.1",
|
||||
"@tanstack/query-sync-storage-persister": "^4.27.1",
|
||||
"@tanstack/react-query": "^4.2.1",
|
||||
"@tanstack/react-query-devtools": "^4.24.4",
|
||||
"@uiw/react-textarea-code-editor": "v1.4.4",
|
||||
"@tanstack/react-query-persist-client": "^4.28.0",
|
||||
"@vitejs/plugin-react": "^3.1.0",
|
||||
"axios": "^0.27.2",
|
||||
"consola": "^2.15.3",
|
||||
"cookies-next": "^2.1.1",
|
||||
"dayjs": "^1.11.7",
|
||||
"dockerode": "^3.3.2",
|
||||
"embla-carousel-react": "^7.0.0",
|
||||
"fily-publish-gridstack": "^0.0.13",
|
||||
"framer-motion": "^6.5.1",
|
||||
"framer-motion": "^9.0.2",
|
||||
"html-entities": "^2.3.3",
|
||||
"i18next": "^21.9.1",
|
||||
"i18next-browser-languagedetector": "^6.1.5",
|
||||
"i18next-http-backend": "^1.4.1",
|
||||
"js-file-download": "^0.4.12",
|
||||
"next": "^13.1.6",
|
||||
"next": "^13.2.1",
|
||||
"next-i18next": "^11.3.0",
|
||||
"next-remove-imports": "^1.0.8",
|
||||
"nzbget-api": "^0.0.3",
|
||||
"ping": "^0.4.2",
|
||||
"prism-react-renderer": "^1.3.5",
|
||||
"prismjs": "^1.29.0",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-simple-code-editor": "^0.13.1",
|
||||
"rss-parser": "^3.12.0",
|
||||
"sabnzbd-api": "^1.5.0",
|
||||
"sharp": "^0.30.7",
|
||||
"systeminformation": "^5.12.1",
|
||||
"uuid": "^8.3.2",
|
||||
"xml-js": "^1.6.11",
|
||||
"yarn": "^1.22.19",
|
||||
"zustand": "^4.1.4"
|
||||
"zod": "^3.21.4",
|
||||
"zustand": "^4.3.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@next/bundle-analyzer": "^12.1.4",
|
||||
"@next/eslint-plugin-next": "^12.1.4",
|
||||
"@testing-library/jest-dom": "^5.16.5",
|
||||
"@testing-library/react": "^14.0.0",
|
||||
"@types/dockerode": "^3.3.9",
|
||||
"@types/node": "17.0.1",
|
||||
"@types/ping": "^0.4.1",
|
||||
"@types/prismjs": "^1.26.0",
|
||||
"@types/react": "17.0.1",
|
||||
"@types/uuid": "^8.3.4",
|
||||
"@types/video.js": "^7.3.51",
|
||||
"@typescript-eslint/eslint-plugin": "^5.30.7",
|
||||
"@typescript-eslint/parser": "^5.30.7",
|
||||
"babel-loader": "^9.1.2",
|
||||
"babel-plugin-transform-remove-imports": "^1.7.0",
|
||||
"@vitest/coverage-c8": "^0.29.3",
|
||||
"@vitest/ui": "^0.29.3",
|
||||
"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",
|
||||
"eslint-plugin-vitest": "^0.0.54",
|
||||
"happy-dom": "^8.9.0",
|
||||
"node-mocks-http": "^1.12.2",
|
||||
"prettier": "^2.7.1",
|
||||
"sass": "^1.56.1",
|
||||
"typescript": "^4.7.4"
|
||||
"turbo": "latest",
|
||||
"typescript": "^4.7.4",
|
||||
"video.js": "^8.0.3",
|
||||
"vitest": "^0.29.3",
|
||||
"vitest-fetch-mock": "^0.2.2"
|
||||
},
|
||||
"resolutions": {
|
||||
"@types/react": "17.0.2",
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
"version": "Version",
|
||||
"changePosition": "Ændre placering",
|
||||
"remove": "Fjern",
|
||||
"removeConfirm": "Er du sikker på, at du ønsker at fjerne {{item}} ?",
|
||||
"removeConfirm": "Er du sikker på, at du ønsker at fjerne {{item}}?",
|
||||
"createItem": "+ opret {{item}}",
|
||||
"sections": {
|
||||
"settings": "Indstillinger",
|
||||
"dangerZone": "Farezone"
|
||||
|
||||
@@ -2,12 +2,17 @@
|
||||
"description": "Homarr er et <strong>elegant</strong>, <strong>moderne</strong> dashboard, der giver dig alle dine apps og tjenester lige ved hånden. Med Homarr kan du få adgang til og styre alt på ét praktisk sted. Homarr integrerer problemfrit med de apps, du har tilføjet, og giver dig værdifulde oplysninger og fuld kontrol. Installationen er en leg, og Homarr understøtter en lang række implementeringsmetoder.",
|
||||
"contact": "Har du problemer eller spørgsmål? Kontakt os!",
|
||||
"addToDashboard": "Tilføj til dashboard",
|
||||
"tip": "Mod henviser til din modificeringstast, det er Ctrl og Command/Super/Windows-tasten",
|
||||
"key": "Genvejstast",
|
||||
"action": "Handling",
|
||||
"keybinds": "Genvejstaster",
|
||||
"metrics": {
|
||||
"configurationSchemaVersion": "Konfigurationsskema version",
|
||||
"configurationsCount": "Tilgængelige konfigurationer",
|
||||
"version": "Version",
|
||||
"nodeEnvironment": "Node miljø",
|
||||
"i18n": "Indlæste I18n-oversættelsesnavneområder",
|
||||
"locales": "Konfigurerede I18n landestandarder"
|
||||
"locales": "Konfigurerede I18n landestandarder",
|
||||
"experimental_disableEditMode": "<b>EKSPERIMENTAL</b>: Deaktivér redigeringstilstand"
|
||||
}
|
||||
}
|
||||
@@ -39,7 +39,15 @@
|
||||
"appearance": {
|
||||
"icon": {
|
||||
"label": "App Ikon",
|
||||
"description": "Det ikon, der vises på dashboarded."
|
||||
"description": "",
|
||||
"autocomplete": {
|
||||
"title": "Ingen resultater fundet",
|
||||
"text": "Prøv at bruge et mere specifikt søgeord. Hvis du ikke kan finde det ønskede ikon, kan du indsætte billedets URL ovenfor for at få et brugerdefineret ikon"
|
||||
},
|
||||
"noItems": {
|
||||
"title": "Indlæser eksterne ikoner",
|
||||
"text": "Dette kan tage nogle sekunder"
|
||||
}
|
||||
}
|
||||
},
|
||||
"integration": {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
},
|
||||
"errors": {
|
||||
"unmappedOptions": {
|
||||
"text": "<b>Der er fundet en ubrugt parameter i konfigurationen</b><br /><code>{{key}}</code>. Homarr kan ikke fortolke og bruge denne parameter. For at undgå uventet adfærd skal du sikkerhedskopiere din konfiguration og rette konfigurationen."
|
||||
"text": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,23 +4,77 @@
|
||||
"description": "Viser graferne for en ekstern Dash. instans i Homarr.",
|
||||
"settings": {
|
||||
"title": "Indstillinger for Dash. widget",
|
||||
"cpuMultiView": {
|
||||
"label": "CPU Multikerne Visning"
|
||||
},
|
||||
"storageMultiView": {
|
||||
"label": "Multidrevet Lagervisning"
|
||||
},
|
||||
"useCompactView": {
|
||||
"label": "Brug kompakt tilstand"
|
||||
},
|
||||
"graphs": {
|
||||
"label": "Grafer"
|
||||
},
|
||||
"url": {
|
||||
"label": "Dash. URL"
|
||||
},
|
||||
"usePercentages": {
|
||||
"label": "Vis procentdele"
|
||||
},
|
||||
"columns": {
|
||||
"label": "Vis kolonner"
|
||||
},
|
||||
"graphHeight": {
|
||||
"label": "Højde af grafer"
|
||||
},
|
||||
"graphsOrder": {
|
||||
"label": "Grafer (rækkefølge)",
|
||||
"storage": {
|
||||
"label": "Lager",
|
||||
"enabled": {
|
||||
"label": "Vis i widget"
|
||||
},
|
||||
"span": {
|
||||
"label": "Kolonne spændvidde"
|
||||
},
|
||||
"compactView": {
|
||||
"label": "Vis som tekst (kompakt)"
|
||||
},
|
||||
"multiView": {
|
||||
"label": "Vis som multi-drevvisning"
|
||||
}
|
||||
},
|
||||
"network": {
|
||||
"label": "Netværk",
|
||||
"enabled": {
|
||||
"label": "Vis i widget"
|
||||
},
|
||||
"span": {
|
||||
"label": "Kolonne spændvidde"
|
||||
},
|
||||
"compactView": {
|
||||
"label": "Vis som tekst (kompakt)"
|
||||
}
|
||||
},
|
||||
"cpu": {
|
||||
"label": "CPU",
|
||||
"enabled": {
|
||||
"label": "Vis i widget"
|
||||
},
|
||||
"span": {
|
||||
"label": "Kolonne spændvidde"
|
||||
},
|
||||
"multiView": {
|
||||
"label": "Vis som multi-core-visning"
|
||||
}
|
||||
},
|
||||
"ram": {
|
||||
"label": "RAM",
|
||||
"enabled": {
|
||||
"label": "Vis i widget"
|
||||
},
|
||||
"span": {
|
||||
"label": "Kolonne spændvidde"
|
||||
}
|
||||
},
|
||||
"gpu": {
|
||||
"label": "GPU",
|
||||
"enabled": {
|
||||
"label": "Vis i widget"
|
||||
},
|
||||
"span": {
|
||||
"label": "Kolonne spændvidde"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -28,7 +82,11 @@
|
||||
"title": "Dash.",
|
||||
"errors": {
|
||||
"noService": "Ingen Dash. service fundet. Tilføj venligst en til dit Homarr-dashboard eller indstil en Dash. URL i modulindstillingerne",
|
||||
"noInformation": "Kan ikke hente information fra dash. - kører du den nyeste version?"
|
||||
"noInformation": "Kan ikke hente information fra dash. - kører du den nyeste version?",
|
||||
"protocolDowngrade": {
|
||||
"title": "Registreret protokolnedgradering",
|
||||
"text": "Forbindelsen til din Dash.-instans bruger HTTP. Dette er en sikkerhedsrisiko, fordi HTTP er ukrypteret, og angribere kan misbruge denne forbindelse. Sørg for, at Dash. bruger HTTPS, eller nedgrader Homarr til HTTP (anbefales ikke)."
|
||||
}
|
||||
},
|
||||
"graphs": {
|
||||
"storage": {
|
||||
@@ -46,7 +104,7 @@
|
||||
"cpu": {
|
||||
"title": "CPU"
|
||||
},
|
||||
"memory": {
|
||||
"ram": {
|
||||
"title": "RAM"
|
||||
},
|
||||
"gpu": {
|
||||
|
||||
23
public/locales/da/modules/iframe.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "indlejret dokument (iframe)",
|
||||
"description": "Indlejr ethvert indhold fra internettet. Nogle websteder kan begrænse adgang.",
|
||||
"settings": {
|
||||
"title": "iFrame indstillinger",
|
||||
"embedUrl": {
|
||||
"label": "Indlejr URL"
|
||||
},
|
||||
"allowFullScreen": {
|
||||
"label": "Tillad fuld skærm"
|
||||
}
|
||||
}
|
||||
},
|
||||
"card": {
|
||||
"errors": {
|
||||
"noUrl": {
|
||||
"title": "",
|
||||
"text": "Sørg for, at du har indtastet en gyldig adresse i konfigurationen af din widget"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
public/locales/da/modules/media-requests-list.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "Medieforespørgsler",
|
||||
"description": "Se en liste over alle medieforespørgsler fra din Overseerr eller Jellyseerr instans",
|
||||
"settings": {
|
||||
"title": "Liste over medieforespørgsler"
|
||||
}
|
||||
},
|
||||
"noRequests": "Ingen anmodninger fundet. Kontroller, at du har konfigureret dine apps korrekt.",
|
||||
"pending": "Der er {{countPendingApproval}} anmodninger, der venter på godkendelse.",
|
||||
"nonePending": "Der er i øjeblikket ingen godkendelser, der er under behandling. Du er i mål!",
|
||||
"state": {
|
||||
"approved": "Godkendt",
|
||||
"pendingApproval": "Afventer godkendelse",
|
||||
"declined": "Afvist"
|
||||
}
|
||||
}
|
||||
14
public/locales/da/modules/media-requests-stats.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "Statistik for medieanmodning",
|
||||
"description": "Statistik over dine medieanmodninger",
|
||||
"settings": {
|
||||
"title": "Statistikker over medieanmodninger"
|
||||
}
|
||||
},
|
||||
"stats": {
|
||||
"pending": "Afventer godkendelse",
|
||||
"tvRequests": "TV-anmodninger",
|
||||
"movieRequests": "Film anmodninger"
|
||||
}
|
||||
}
|
||||
24
public/locales/da/modules/media-server.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "Medieserver",
|
||||
"description": "Interagere med din Jellyfin- eller Plex-medieserver",
|
||||
"settings": {
|
||||
"title": "Indstillinger for medieserver widget"
|
||||
}
|
||||
},
|
||||
"card": {
|
||||
"table": {
|
||||
"header": {
|
||||
"session": "Session",
|
||||
"user": "Bruger",
|
||||
"currentlyPlaying": "Afspiller i øjeblikket"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"general": {
|
||||
"title": "Kunne ikke indlæse indholdet",
|
||||
"text": "Det er ikke muligt at hente oplysninger fra serveren. Se venligst logfilerne for at få flere oplysninger"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "Ping",
|
||||
"description": "Viser en statusindikator afhængig af HTTP-svarkoden for en given URL."
|
||||
"description": "Viser en statusindikator afhængigt af HTTP-svarkoden for en given URL."
|
||||
},
|
||||
"states": {
|
||||
"online": "Online {{response}}",
|
||||
|
||||
24
public/locales/da/modules/rss.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "RSS Widget",
|
||||
"description": "",
|
||||
"settings": {
|
||||
"title": "Indstillinger for RSS-widget",
|
||||
"rssFeedUrl": {
|
||||
"label": "RSS feeds URL'er",
|
||||
"description": "URL'erne for de RSS-feeds, du vil vise fra."
|
||||
},
|
||||
"refreshInterval": {
|
||||
"label": "Opdateringsinterval (i minutter)"
|
||||
}
|
||||
},
|
||||
"card": {
|
||||
"errors": {
|
||||
"general": {
|
||||
"title": "Det er ikke muligt at hente RSS-feed",
|
||||
"text": "Der var et problem med at hente RSS-feedet. Sørg for, at du har konfigureret RSS-feedet korrekt ved hjælp af en gyldig URL. URL'er skal stemme overens med den officielle specifikation. Når du har opdateret feed'et, skal du muligvis opdatere dashboardet."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
24
public/locales/da/modules/video-stream.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "Video Stream",
|
||||
"description": "Indlejr en video stream eller video fra et kamera eller et website",
|
||||
"settings": {
|
||||
"title": "Indstillinger for video stream widget",
|
||||
"FeedUrl": {
|
||||
"label": "Feed URL"
|
||||
},
|
||||
"autoPlay": {
|
||||
"label": "Auto-afspilning"
|
||||
},
|
||||
"muted": {
|
||||
"label": "Slå lyden fra"
|
||||
},
|
||||
"controls": {
|
||||
"label": "Video afspilnings kontrol"
|
||||
}
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"invalidStream": "Ugyldig stream"
|
||||
}
|
||||
}
|
||||
@@ -5,22 +5,22 @@
|
||||
},
|
||||
"metaTitle": {
|
||||
"label": "Metatitel",
|
||||
"description": "Titlen, der vises som dit fanebladsnavn"
|
||||
"description": "Den titel, der vises i fanen i din browser"
|
||||
},
|
||||
"logo": {
|
||||
"label": "Logo",
|
||||
"description": "Dashboard-logoet øverst til venstre"
|
||||
"description": "Logoet, der vises øverst til venstre"
|
||||
},
|
||||
"favicon": {
|
||||
"label": "Favicon",
|
||||
"description": "Ikonet, der bruges foran dit fanebladsnavn"
|
||||
"description": "Det ikon, der vises i fanen i din browser"
|
||||
},
|
||||
"background": {
|
||||
"label": "Baggrund"
|
||||
},
|
||||
"customCSS": {
|
||||
"label": "Tilpasset CSS",
|
||||
"description": "Tilpas alle elementer på dit dashboard, kun anbefalet til erfarne brugere",
|
||||
"description": "Yderligere, tilpasse dit dashboard ved hjælp af CSS, anbefales kun til erfarne brugere",
|
||||
"placeholder": "Brugerdefineret CSS vil blive anvendt sidst",
|
||||
"applying": "Anvender CSS..."
|
||||
},
|
||||
|
||||
14
public/locales/da/widgets/error-boundary.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"card": {
|
||||
"title": "Ups, der opstod en fejl!",
|
||||
"buttons": {
|
||||
"details": "Detaljer",
|
||||
"tryAgain": "Prøv igen"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"text": "",
|
||||
"label": "Din fejl",
|
||||
"reportButton": "Rapportér denne fejl"
|
||||
}
|
||||
}
|
||||
@@ -10,12 +10,13 @@
|
||||
"changePosition": "Position wechseln",
|
||||
"remove": "Entfernen",
|
||||
"removeConfirm": "Sind Sie sicher, dass Sie {{item}} entfernen möchten?",
|
||||
"createItem": "+ erstelle {{item}}",
|
||||
"sections": {
|
||||
"settings": "Einstellungen",
|
||||
"dangerZone": "Gefahrenzone"
|
||||
},
|
||||
"secrets": {
|
||||
"apiKey": "API-Schlüssel",
|
||||
"apiKey": "API Schlüssel",
|
||||
"username": "Benutzername",
|
||||
"password": "Passwort"
|
||||
},
|
||||
|
||||
@@ -1,13 +1,18 @@
|
||||
{
|
||||
"description": "Homarr ist ein <strong>schlankes</strong>, <strong>modernes</strong> Dashboard, das alle Ihre Apps und Dienste auf Knopfdruck zur Verfügung stellt. Mittels Homarr können Sie von einem einzigen Ort aus auf alles zugreifen und steuern. Es lässt sich nahtlos in die von Ihnen bevorzugten Apps integrieren und versorgt Sie mit wertvollen Informationen und der vollständige Kontrolle. Die Installation ist ein Kinderspiel, und es werden eine breite Palette von Konfigurations unterstützt.",
|
||||
"description": "Homarr ist ein <strong>schlankes</strong> und <strong>modernes</strong> Dashboard, das alle Ihre Apps und Dienste auf Knopfdruck zur Verfügung stellt. Mittels Homarr können Sie von einem einzigen Ort aus auf alles zugreifen und steuern. Es lässt sich nahtlos in die von Ihnen bevorzugten Apps integrieren und versorgt Sie mit wertvollen Informationen und der vollständige Kontrolle. Die Installation ist ein Kinderspiel, und es werden eine breite Palette von Konfigurations unterstützt.",
|
||||
"contact": "Haben Sie Probleme oder Fragen? Nehmen Sie Kontakt mit uns auf!",
|
||||
"addToDashboard": "Zum Dashboard hinzufügen",
|
||||
"tip": "Mod bezieht sich auf die Modifikator Taste, d. h. Strg und Befehl/Super/Windows-Taste",
|
||||
"key": "Kurzbefehl Taste",
|
||||
"action": "Aktion",
|
||||
"keybinds": "Tastenbelegung",
|
||||
"metrics": {
|
||||
"configurationSchemaVersion": "Version des Konfigurationsschemas",
|
||||
"configurationsCount": "Verfügbare Konfigurationen",
|
||||
"version": "Version",
|
||||
"nodeEnvironment": "Node-Umgebung",
|
||||
"i18n": "Geladene I18n Übersetzungs Namensräume",
|
||||
"locales": "Konfigurierte I18n Sprachumgebungen"
|
||||
"locales": "Konfigurierte I18n Sprachumgebungen",
|
||||
"experimental_disableEditMode": "<b>EXPERIMENTAL</b>: Bearbeitungsmodus deaktivieren"
|
||||
}
|
||||
}
|
||||
@@ -29,7 +29,7 @@
|
||||
"network": {
|
||||
"statusChecker": {
|
||||
"label": "Statusprüfer",
|
||||
"description": "Prüft, ob Ihre Anwendung online und mittels einer einfachen HTTP(S)-Anfrage erreichbar ist."
|
||||
"description": "Prüft, ob Ihre Anwendung mittels einer einfachen HTTP(S)-Anfrage erreichbar ist."
|
||||
},
|
||||
"statusCodes": {
|
||||
"label": "HTTP Statuscodes",
|
||||
@@ -39,7 +39,15 @@
|
||||
"appearance": {
|
||||
"icon": {
|
||||
"label": "App Symbol",
|
||||
"description": "Das Symbol, das auf dem Dashboard angezeigt werden soll."
|
||||
"description": "",
|
||||
"autocomplete": {
|
||||
"title": "Die Suche ergab keine Treffer",
|
||||
"text": "Versuchen Sie, einen spezifischeren Suchbegriff zu verwenden. Wenn Sie das gewünschte Symbol nicht finden können, fügen Sie die obige Bild-URL für ein benutzerdefiniertes Symbol ein"
|
||||
},
|
||||
"noItems": {
|
||||
"title": "Lade externe Icons",
|
||||
"text": "Dies kann einige Sekunden dauern…"
|
||||
}
|
||||
}
|
||||
},
|
||||
"integration": {
|
||||
@@ -55,11 +63,11 @@
|
||||
"explanationPublic": "Ein öffentliche Phrase wird immer an den Client gesendet und ist über die API zugänglich. Es sollte keine vertraulichen Werte wie Benutzernamen, Passwörter, Token, Zertifikate und ähnliches enthalten!"
|
||||
},
|
||||
"secrets": {
|
||||
"description": "Um eine Phrase zu aktualisieren, geben Sie einen Wert ein und klicken Sie auf Speichern. Um eine Phrase zu entfernen, klicken Sie auf die Schaltfläche Löschen.",
|
||||
"description": "Um eine geheime Phrase zu aktualisieren, geben Sie einen Wert ein und klicken Sie auf Speichern. Um eine geheime Phrase zu entfernen, klicken Sie auf die Schaltfläche Löschen.",
|
||||
"warning": "Ihre Anmeldedaten dienen als Zugang für Homarr und sie sollten diese <strong>niemals</strong> an andere Personen weitergeben. Das Homarr-Team wird Sie niemals nach Ihren Zugangsdaten fragen. Stellen Sie sicher, dass sie ihre <strong>Zugangsdaten sicher aufbewahren und verwalten</strong>.",
|
||||
"clear": "Phrase löschen",
|
||||
"save": "Phrase speichern",
|
||||
"update": "Phrase ändern"
|
||||
"clear": "Geheime Phrase löschen",
|
||||
"save": "Geheime Phrase speichern",
|
||||
"update": "Geheime Phrase ändern"
|
||||
}
|
||||
},
|
||||
"validation": {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"name": "Kalender",
|
||||
"description": "Zeigt einen Kalender mit anstehenden Veröffentlichungen von unterstützten Widgets an.",
|
||||
"settings": {
|
||||
"title": "Einstellungen für das Kalender Widget",
|
||||
"title": "Kalender Widget Einstellungen",
|
||||
"useSonarrv4": {
|
||||
"label": "Sonarr v4 API verwenden"
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"buttons": {
|
||||
"play": "Abspielen",
|
||||
"request": "Anfragen"
|
||||
"play": "Wiedergabe",
|
||||
"request": "Anfrage"
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
},
|
||||
"errors": {
|
||||
"unmappedOptions": {
|
||||
"text": "<b>Ungenutzter Parameter in der Konfiguration erkannt</b><br /><code>{{key}}</code>. Homarr ist nicht in der Lage, diesen Parameter zu interpretieren und zu verwenden. Um ein unerwartetes Verhalten zu vermeiden, sichern Sie Ihre Konfiguration und korrigieren Sie sie."
|
||||
"text": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,23 +4,77 @@
|
||||
"description": "Zeigt die Graphen einer externen Dash.-Instanz innerhalb von Homarr an.",
|
||||
"settings": {
|
||||
"title": "Einstellungen für Dash. Widget",
|
||||
"cpuMultiView": {
|
||||
"label": "CPU Multi-Core View"
|
||||
},
|
||||
"storageMultiView": {
|
||||
"label": "Speicher Multi-Drive View"
|
||||
},
|
||||
"useCompactView": {
|
||||
"label": "Kompaktmodus verwenden"
|
||||
},
|
||||
"graphs": {
|
||||
"label": "Graphen"
|
||||
},
|
||||
"url": {
|
||||
"label": "Dash. URL"
|
||||
},
|
||||
"usePercentages": {
|
||||
"label": "Prozentangaben anzeigen"
|
||||
},
|
||||
"columns": {
|
||||
"label": "Spalten anzeigen"
|
||||
},
|
||||
"graphHeight": {
|
||||
"label": "Höhe des Graphen"
|
||||
},
|
||||
"graphsOrder": {
|
||||
"label": "Reihenfolge der Graphen",
|
||||
"storage": {
|
||||
"label": "Speicher",
|
||||
"enabled": {
|
||||
"label": "In Widget anzeigen"
|
||||
},
|
||||
"span": {
|
||||
"label": "Länge der Säulen"
|
||||
},
|
||||
"compactView": {
|
||||
"label": "Als Text anzeigen (kompakt)"
|
||||
},
|
||||
"multiView": {
|
||||
"label": "Als Multi-Laufwerk-Ansicht anzeigen"
|
||||
}
|
||||
},
|
||||
"network": {
|
||||
"label": "Netzwerk",
|
||||
"enabled": {
|
||||
"label": "In Widget anzeigen"
|
||||
},
|
||||
"span": {
|
||||
"label": "Länge der Säulen"
|
||||
},
|
||||
"compactView": {
|
||||
"label": "Als Text anzeigen (kompakt)"
|
||||
}
|
||||
},
|
||||
"cpu": {
|
||||
"label": "CPU",
|
||||
"enabled": {
|
||||
"label": "In Widget anzeigen"
|
||||
},
|
||||
"span": {
|
||||
"label": "Länge der Säulen"
|
||||
},
|
||||
"multiView": {
|
||||
"label": "Als Multi-Core-Ansicht anzeigen"
|
||||
}
|
||||
},
|
||||
"ram": {
|
||||
"label": "RAM",
|
||||
"enabled": {
|
||||
"label": "In Widget anzeigen"
|
||||
},
|
||||
"span": {
|
||||
"label": "Länge der Säulen"
|
||||
}
|
||||
},
|
||||
"gpu": {
|
||||
"label": "GPU",
|
||||
"enabled": {
|
||||
"label": "In Widget anzeigen"
|
||||
},
|
||||
"span": {
|
||||
"label": "Länge der Säulen"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -28,7 +82,11 @@
|
||||
"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?"
|
||||
"noInformation": "Es können keine Informationen vom Dash. abgerufen werden. - Verwenden Sie die neueste Version?",
|
||||
"protocolDowngrade": {
|
||||
"title": "Protokoll-Downgrade erkannt",
|
||||
"text": "Die Verbindung zu Ihrer Dash.-Instanz erfolgt über HTTP. Dies ist ein Sicherheitsrisiko, da HTTP unverschlüsselt ist und Angreifer diese Verbindung missbrauchen könnten. Stellen Sie sicher, dass Dash. HTTPS verwendet, oder setzen Sie Homarr auf HTTP herab (nicht empfohlen)."
|
||||
}
|
||||
},
|
||||
"graphs": {
|
||||
"storage": {
|
||||
@@ -46,7 +104,7 @@
|
||||
"cpu": {
|
||||
"title": "CPU"
|
||||
},
|
||||
"memory": {
|
||||
"ram": {
|
||||
"title": "RAM"
|
||||
},
|
||||
"gpu": {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "Datum und Zeit",
|
||||
"description": "Zeigt das aktuelle Datum und die Uhrzeit an",
|
||||
"description": "Zeigt das aktuelle Datum und die Uhrzeit an.",
|
||||
"settings": {
|
||||
"title": "Einstellungen für das Widget \"Datum und Uhrzeit",
|
||||
"title": "\"Datum und Uhrzeit\" Widget Einstellungen",
|
||||
"display24HourFormat": {
|
||||
"label": "24-Stunden Format"
|
||||
}
|
||||
|
||||
23
public/locales/de/modules/iframe.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "iFrame",
|
||||
"description": "Einbetten von Inhalten aus dem Internet. Einige Websites können den Zugriff einschränken.",
|
||||
"settings": {
|
||||
"title": "iFrame Einstellungen",
|
||||
"embedUrl": {
|
||||
"label": "URL einbetten"
|
||||
},
|
||||
"allowFullScreen": {
|
||||
"label": "Vollbildmodus zulassen"
|
||||
}
|
||||
}
|
||||
},
|
||||
"card": {
|
||||
"errors": {
|
||||
"noUrl": {
|
||||
"title": "",
|
||||
"text": "Stellen Sie sicher, dass Sie in der Konfiguration Ihres Widgets eine gültige Adresse eingegeben haben"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
public/locales/de/modules/media-requests-list.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "Medienanfragen",
|
||||
"description": "Sehen Sie eine Liste aller Medienanfragen von Ihrer Overseerr- oder Jellyseerr-Instanz",
|
||||
"settings": {
|
||||
"title": "Liste der Medienanfragen"
|
||||
}
|
||||
},
|
||||
"noRequests": "Keine Anfragen gefunden. Bitte stellen Sie sicher, dass Sie Ihre Anwendungen richtig konfiguriert haben.",
|
||||
"pending": "{{countPendingApproval}} Anfragen warten auf eine Genehmigung.",
|
||||
"nonePending": "Es sind derzeit keine Genehmigungen ausstehend. Sie sind startklar!",
|
||||
"state": {
|
||||
"approved": "Genehmigt",
|
||||
"pendingApproval": "Warten auf Freigabe",
|
||||
"declined": "Abgelehnt"
|
||||
}
|
||||
}
|
||||
14
public/locales/de/modules/media-requests-stats.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "Statistik der Medienanfragen",
|
||||
"description": "Statistiken über Ihre Medienanfragen",
|
||||
"settings": {
|
||||
"title": "Statistik der Medienanfragen"
|
||||
}
|
||||
},
|
||||
"stats": {
|
||||
"pending": "Ausstehende Freigaben",
|
||||
"tvRequests": "TV-Anfragen",
|
||||
"movieRequests": "Filmanfragen"
|
||||
}
|
||||
}
|
||||
24
public/locales/de/modules/media-server.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "Medien Server",
|
||||
"description": "Interagiere mit deinem Jellyfin oder Plex Media Server",
|
||||
"settings": {
|
||||
"title": "Einstellungen für das Medien Server Widget"
|
||||
}
|
||||
},
|
||||
"card": {
|
||||
"table": {
|
||||
"header": {
|
||||
"session": "Sitzung",
|
||||
"user": "Benutzer",
|
||||
"currentlyPlaying": "Momentan läuft"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"general": {
|
||||
"title": "Inhalt kann nicht geladen werden",
|
||||
"text": "Informationen vom Server konnten nicht abgerufen werden. Bitte überprüfen Sie die Logs für weitere Details"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
24
public/locales/de/modules/rss.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "RSS-Widget",
|
||||
"description": "",
|
||||
"settings": {
|
||||
"title": "Einstellungen für das RSS-Widget",
|
||||
"rssFeedUrl": {
|
||||
"label": "RSS Feed URLs",
|
||||
"description": "Die URLs der RSS Feeds, die angezeigt werden sollen."
|
||||
},
|
||||
"refreshInterval": {
|
||||
"label": "Aktualisierungsintervall (in Minuten)"
|
||||
}
|
||||
},
|
||||
"card": {
|
||||
"errors": {
|
||||
"general": {
|
||||
"title": "RSS Feed konnte nicht abgerufen werden",
|
||||
"text": "Es ist ein Fehler beim Erreichen des RSS Feeds passiert. Stelle sicher, dass die eingetragene URL des RSS Feeds richtig ist. URLs sollten den offiziellen Spezifikationen entsprechen. Nach einem Update des Feeds muss möglicherweise die Dashboard-Seite aktualisiert werden."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -18,7 +18,7 @@
|
||||
"card": {
|
||||
"footer": {
|
||||
"error": "Fehler",
|
||||
"lastUpdated": "Zuletzt aktualisiert {{time}} vor"
|
||||
"lastUpdated": "Zuletzt aktualisiert vor {{time}}"
|
||||
},
|
||||
"table": {
|
||||
"header": {
|
||||
@@ -63,7 +63,7 @@
|
||||
"queuePosition": "Position in der Warteschlange - {{position}}",
|
||||
"progress": "Fortschritt - {{progress}}%",
|
||||
"totalSelectedSize": "Insgesamt - {{totalSize}}",
|
||||
"state": "Staat - {{state}}",
|
||||
"state": "Status - {{state}}",
|
||||
"ratio": "Verhältnis -",
|
||||
"completed": "Abgeschlossen"
|
||||
}
|
||||
|
||||
24
public/locales/de/modules/video-stream.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "Videostream",
|
||||
"description": "Einbetten eines Videostreams oder eines Videos von einer Kamera oder einer Website",
|
||||
"settings": {
|
||||
"title": "Einstellungen für das Video Stream Widget",
|
||||
"FeedUrl": {
|
||||
"label": "Feed-URL"
|
||||
},
|
||||
"autoPlay": {
|
||||
"label": "Automatische Wiedergabe"
|
||||
},
|
||||
"muted": {
|
||||
"label": "Audio stummschalten"
|
||||
},
|
||||
"controls": {
|
||||
"label": "Videoplayer Steuerung"
|
||||
}
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"invalidStream": "Ungültiger Stream"
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
"name": "Wetter",
|
||||
"description": "Zeigt die aktuellen Wetterinformationen für einen bestimmten Ort an.",
|
||||
"settings": {
|
||||
"title": "Einstellungen für das Wetter Widget",
|
||||
"title": "Wetter Widget Einstellungen",
|
||||
"displayInFahrenheit": {
|
||||
"label": "In Fahrenheit anzeigen"
|
||||
},
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
"description": "Titel, Logo und PWA anpassen"
|
||||
},
|
||||
"appereance": {
|
||||
"name": "Erscheinungsbild",
|
||||
"description": "Anpassen des Hintergrunds, der Farben und des Erscheinungsbilds der Anwendung"
|
||||
"name": "Aussehen",
|
||||
"description": "Anpassen des Hintergrunds, der Farben und des Erscheinungsbilds"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,22 +5,22 @@
|
||||
},
|
||||
"metaTitle": {
|
||||
"label": "Meta Titel",
|
||||
"description": "Der Titel, der als Tab-Name angezeigt wird"
|
||||
"description": "Der in der Registerkarte Ihres Browsers angezeigte Titel"
|
||||
},
|
||||
"logo": {
|
||||
"label": "Logo",
|
||||
"description": "Der Logo des Dashboards oben links"
|
||||
"description": "Das oben links angezeigte Logo"
|
||||
},
|
||||
"favicon": {
|
||||
"label": "Favicon",
|
||||
"description": "Das Symbol, das vor dem Namen Ihres Tabs verwendet wird"
|
||||
"description": "Der in der Registerkarte Ihres Browsers angezeigte Symbol"
|
||||
},
|
||||
"background": {
|
||||
"label": "Hintergrund"
|
||||
},
|
||||
"customCSS": {
|
||||
"label": "Benutzerdefiniertes CSS",
|
||||
"description": "Anpassen aller Elemente auf Ihrem Dashboard, nur für erfahrene Benutzer empfohlen",
|
||||
"description": "Außerdem können Sie Ihr Dashboard mittels CSS anpassen, dies wird nur für erfahrene Benutzer empfohlen",
|
||||
"placeholder": "Benutzerdefiniertes CSS wird zuletzt angewendet",
|
||||
"applying": "CSS wird übernommen..."
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"configSelect": {
|
||||
"label": "Konfigurationslader",
|
||||
"label": "Änderung der Konfiguration",
|
||||
"description": "{{configCount}} Konfigurationen sind verfügbar",
|
||||
"loadingNew": "Ihre Konfiguration wird geladen...",
|
||||
"pleaseWait": "Bitte warten Sie, bis Ihre neue Konfiguration geladen ist!"
|
||||
|
||||
14
public/locales/de/widgets/error-boundary.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"card": {
|
||||
"title": "Ups, ein Fehler ist aufgetreten!",
|
||||
"buttons": {
|
||||
"details": "Details",
|
||||
"tryAgain": "Erneut versuchen"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"text": "",
|
||||
"label": "Dein Fehler",
|
||||
"reportButton": "Fehler melden"
|
||||
}
|
||||
}
|
||||
@@ -9,13 +9,14 @@
|
||||
"version": "Έκδοση",
|
||||
"changePosition": "Αλλαγή θέσης",
|
||||
"remove": "Αφαίρεση",
|
||||
"removeConfirm": "Είστε σίγουροι ότι θέλετε να καταργήσετε το {{item}} ;",
|
||||
"removeConfirm": "",
|
||||
"createItem": "",
|
||||
"sections": {
|
||||
"settings": "Ρυθμίσεις",
|
||||
"dangerZone": "Επικίνδυνη Περιοχή"
|
||||
},
|
||||
"secrets": {
|
||||
"apiKey": "Κλειδί Api",
|
||||
"apiKey": "",
|
||||
"username": "Όνομα Χρήστη",
|
||||
"password": "Κωδικός"
|
||||
},
|
||||
|
||||
@@ -2,12 +2,17 @@
|
||||
"description": "Το Homarr είναι ένα <strong>κομψό</strong>, <strong>μοντέρνο</strong> ταμπλό που βάζει όλες τις εφαρμογές και τις υπηρεσίες σας στα χέρια σας. Με το Homarr, μπορείτε να έχετε πρόσβαση και να ελέγχετε τα πάντα σε μια βολική τοποθεσία. Το Homarr ενσωματώνεται απρόσκοπτα με τις εφαρμογές που έχετε προσθέσει, παρέχοντάς σας πολύτιμες πληροφορίες και δίνοντάς σας πλήρη έλεγχο. Η εγκατάσταση είναι πανεύκολη και το Homarr υποστηρίζει ένα ευρύ φάσμα μεθόδων ανάπτυξης.",
|
||||
"contact": "Έχετε προβλήματα ή ερωτήσεις; Συνδεθείτε μαζί μας!",
|
||||
"addToDashboard": "Προσθήκη στο ταμπλό",
|
||||
"tip": "",
|
||||
"key": "",
|
||||
"action": "",
|
||||
"keybinds": "",
|
||||
"metrics": {
|
||||
"configurationSchemaVersion": "",
|
||||
"configurationsCount": "",
|
||||
"version": "Έκδοση",
|
||||
"nodeEnvironment": "",
|
||||
"i18n": "",
|
||||
"locales": ""
|
||||
"locales": "",
|
||||
"experimental_disableEditMode": ""
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"tabs": {
|
||||
"general": "Γενικά",
|
||||
"behaviour": "Συμπεριφορά",
|
||||
"behaviour": "",
|
||||
"network": "Δίκτυο",
|
||||
"appearance": "Εμφάνιση",
|
||||
"integration": "Ενσωμάτωση"
|
||||
@@ -39,7 +39,15 @@
|
||||
"appearance": {
|
||||
"icon": {
|
||||
"label": "Εικονίδιο εφαρμογής",
|
||||
"description": "Το εικονίδιο που θα εμφανίζεται στο ταμπλό."
|
||||
"description": "",
|
||||
"autocomplete": {
|
||||
"title": "",
|
||||
"text": ""
|
||||
},
|
||||
"noItems": {
|
||||
"title": "",
|
||||
"text": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"integration": {
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
{
|
||||
"xPosition": "Θέση του άξονα X",
|
||||
"width": "Πλάτος",
|
||||
"height": "Ύψος",
|
||||
"yPosition": "Θέση του άξονα Y",
|
||||
"zeroOrHigher": "0 ή υψηλότερο",
|
||||
"betweenXandY": "Μεταξύ {min} και {max}"
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
},
|
||||
"errors": {
|
||||
"unmappedOptions": {
|
||||
"text": "<b>Εντοπίστηκε αχρησιμοποίητη παράμετρος στη διαμόρφωση</b><br /><code>{{key}}</code>. Το Homarr δεν μπορεί να ερμηνεύσει και να χρησιμοποιήσει αυτή την παράμετρο. Για να αποφύγετε οποιαδήποτε απροσδόκητη συμπεριφορά, δημιουργήστε αντίγραφα ασφαλείας των ρυθμίσεων σας και διορθώστε τις ρυθμίσεις σας."
|
||||
"text": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,26 +1,80 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "Dash.",
|
||||
"description": "Εμφανίζει τα γραφήματα μιας εξωτερικής Dash. μέσα στο Homarr.",
|
||||
"description": "",
|
||||
"settings": {
|
||||
"title": "Ρυθμίσεις για το widget Dash",
|
||||
"cpuMultiView": {
|
||||
"label": "Προβολή πολλαπλών πυρήνων CPU"
|
||||
},
|
||||
"storageMultiView": {
|
||||
"label": "Προβολή πολλαπλών μονάδων αποθήκευσης"
|
||||
},
|
||||
"useCompactView": {
|
||||
"label": "Χρήση Συμπαγούς Προβολής"
|
||||
},
|
||||
"graphs": {
|
||||
"label": "Γραφήματα"
|
||||
},
|
||||
"url": {
|
||||
"label": "Dash. URL"
|
||||
},
|
||||
"usePercentages": {
|
||||
"label": ""
|
||||
},
|
||||
"columns": {
|
||||
"label": ""
|
||||
},
|
||||
"graphHeight": {
|
||||
"label": ""
|
||||
},
|
||||
"graphsOrder": {
|
||||
"label": "",
|
||||
"storage": {
|
||||
"label": "Αποθηκευτικός χώρος",
|
||||
"enabled": {
|
||||
"label": ""
|
||||
},
|
||||
"span": {
|
||||
"label": ""
|
||||
},
|
||||
"compactView": {
|
||||
"label": ""
|
||||
},
|
||||
"multiView": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"network": {
|
||||
"label": "Δίκτυο",
|
||||
"enabled": {
|
||||
"label": ""
|
||||
},
|
||||
"span": {
|
||||
"label": ""
|
||||
},
|
||||
"compactView": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"cpu": {
|
||||
"label": "CPU",
|
||||
"enabled": {
|
||||
"label": ""
|
||||
},
|
||||
"span": {
|
||||
"label": ""
|
||||
},
|
||||
"multiView": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"ram": {
|
||||
"label": "",
|
||||
"enabled": {
|
||||
"label": ""
|
||||
},
|
||||
"span": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"gpu": {
|
||||
"label": "GPU",
|
||||
"enabled": {
|
||||
"label": ""
|
||||
},
|
||||
"span": {
|
||||
"label": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -28,7 +82,11 @@
|
||||
"title": "Dash.",
|
||||
"errors": {
|
||||
"noService": "Δεν βρέθηκε υπηρεσία Dash. Παρακαλούμε προσθέστε μία στο ταμπλό Homarr ή ορίστε μια Dash. URL στις επιλογές της ενότητας",
|
||||
"noInformation": "Δεν μπορεί να αποκτήσει πληροφορίες από το dash. - τρέχετε την τελευταία έκδοση;"
|
||||
"noInformation": "Δεν μπορεί να αποκτήσει πληροφορίες από το dash. - τρέχετε την τελευταία έκδοση;",
|
||||
"protocolDowngrade": {
|
||||
"title": "",
|
||||
"text": ""
|
||||
}
|
||||
},
|
||||
"graphs": {
|
||||
"storage": {
|
||||
@@ -46,8 +104,8 @@
|
||||
"cpu": {
|
||||
"title": "CPU"
|
||||
},
|
||||
"memory": {
|
||||
"title": "Μνήμη RAM"
|
||||
"ram": {
|
||||
"title": ""
|
||||
},
|
||||
"gpu": {
|
||||
"title": "GPU"
|
||||
|
||||
23
public/locales/el/modules/iframe.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "",
|
||||
"description": "",
|
||||
"settings": {
|
||||
"title": "",
|
||||
"embedUrl": {
|
||||
"label": ""
|
||||
},
|
||||
"allowFullScreen": {
|
||||
"label": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"card": {
|
||||
"errors": {
|
||||
"noUrl": {
|
||||
"title": "",
|
||||
"text": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
public/locales/el/modules/media-requests-list.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "",
|
||||
"description": "",
|
||||
"settings": {
|
||||
"title": ""
|
||||
}
|
||||
},
|
||||
"noRequests": "",
|
||||
"pending": "",
|
||||
"nonePending": "",
|
||||
"state": {
|
||||
"approved": "",
|
||||
"pendingApproval": "",
|
||||
"declined": ""
|
||||
}
|
||||
}
|
||||
14
public/locales/el/modules/media-requests-stats.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "",
|
||||
"description": "",
|
||||
"settings": {
|
||||
"title": ""
|
||||
}
|
||||
},
|
||||
"stats": {
|
||||
"pending": "",
|
||||
"tvRequests": "",
|
||||
"movieRequests": ""
|
||||
}
|
||||
}
|
||||
24
public/locales/el/modules/media-server.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "",
|
||||
"description": "",
|
||||
"settings": {
|
||||
"title": ""
|
||||
}
|
||||
},
|
||||
"card": {
|
||||
"table": {
|
||||
"header": {
|
||||
"session": "",
|
||||
"user": "",
|
||||
"currentlyPlaying": ""
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"general": {
|
||||
"title": "",
|
||||
"text": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "Ping",
|
||||
"description": "Εμφανίζει μια ένδειξη κατάστασης ανάλογα με τον κωδικό απόκρισης HTTP μιας δεδομένης διεύθυνσης URL."
|
||||
"description": ""
|
||||
},
|
||||
"states": {
|
||||
"online": "Online {{response}}",
|
||||
|
||||
24
public/locales/el/modules/rss.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "",
|
||||
"description": "",
|
||||
"settings": {
|
||||
"title": "",
|
||||
"rssFeedUrl": {
|
||||
"label": "",
|
||||
"description": ""
|
||||
},
|
||||
"refreshInterval": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"card": {
|
||||
"errors": {
|
||||
"general": {
|
||||
"title": "",
|
||||
"text": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -50,7 +50,7 @@
|
||||
"text": "Προσθέστε έναν υποστηριζόμενης εφαρμογής Torrent για να δείτε τις τρέχουσες λήψεις σας"
|
||||
},
|
||||
"generic": {
|
||||
"title": "Παρουσιάστηκε ένα απροσδόκητο σφάλμα",
|
||||
"title": "",
|
||||
"text": "Το Homarr δεν μπόρεσε να επικοινωνήσει με τις εφαρμογές Torrent. Ελέγξτε τις ρυθμίσεις σας"
|
||||
}
|
||||
},
|
||||
|
||||
24
public/locales/el/modules/video-stream.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "",
|
||||
"description": "",
|
||||
"settings": {
|
||||
"title": "",
|
||||
"FeedUrl": {
|
||||
"label": ""
|
||||
},
|
||||
"autoPlay": {
|
||||
"label": ""
|
||||
},
|
||||
"muted": {
|
||||
"label": ""
|
||||
},
|
||||
"controls": {
|
||||
"label": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"invalidStream": ""
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@
|
||||
"description": ""
|
||||
},
|
||||
"appereance": {
|
||||
"name": "",
|
||||
"name": "Εμφάνιση",
|
||||
"description": ""
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,8 +36,8 @@
|
||||
},
|
||||
"confirmDeletion": {
|
||||
"title": "Επιβεβαιώστε τη διαγραφή της διαμόρφωσής σας",
|
||||
"warningText": "Πρόκειται να διαγράψετε το '<b>{{configName}}</b>'",
|
||||
"text": "Λάβετε υπόψη ότι η διαγραφή δεν είναι αναστρέψιμη και τα δεδομένα σας θα χαθούν οριστικά. Αφού κάνετε κλικ σε αυτό το κουμπί, το αρχείο θα διαγραφεί οριστικά από το δίσκο σας. Φροντίστε να δημιουργήσετε ένα επαρκές αντίγραφο ασφαλείας της διαμόρφωσής σας.",
|
||||
"warningText": "",
|
||||
"text": "",
|
||||
"buttons": {
|
||||
"confirm": "Ναι, διαγράψτε το '<b>{{configName}}</b>'"
|
||||
}
|
||||
@@ -57,7 +57,7 @@
|
||||
"message": "Η διαγραφή ρυθμίσεων απέτυχε"
|
||||
},
|
||||
"deleteFailedDefaultConfig": {
|
||||
"title": "Η προεπιλεγμένη ρύθμιση παραμέτρων δεν μπορεί να διαγραφεί",
|
||||
"title": "",
|
||||
"message": "Η διαμόρφωση δεν διαγράφηκε από το σύστημα αρχείων"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"title": "Μηχανή αναζήτησης",
|
||||
"configurationName": "Διαμόρφωση μηχανής αναζήτησης",
|
||||
"tips": {
|
||||
"generalTip": "Υπάρχουν πολλά προθέματα που μπορείτε να χρησιμοποιήσετε! Προσθέτοντας αυτά μπροστά από το ερώτημά σας θα φιλτράρετε τα αποτελέσματα. !s (Web), !t (Torrents), !y (YouTube) και !m (Media).",
|
||||
"generalTip": "",
|
||||
"placeholderTip": "%s μπορεί να χρησιμοποιηθεί ως placeholder για το ερώτημα."
|
||||
},
|
||||
"customEngine": {
|
||||
|
||||
14
public/locales/el/widgets/error-boundary.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"card": {
|
||||
"title": "",
|
||||
"buttons": {
|
||||
"details": "",
|
||||
"tryAgain": ""
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"text": "",
|
||||
"label": "",
|
||||
"reportButton": ""
|
||||
}
|
||||
}
|
||||
@@ -9,13 +9,14 @@
|
||||
"version": "Version",
|
||||
"changePosition": "Change position",
|
||||
"remove": "Remove",
|
||||
"removeConfirm": "Are you sure that you want to remove {{item}} ?",
|
||||
"removeConfirm": "Are you sure that you want to remove {{item}}?",
|
||||
"createItem": "+ create {{item}}",
|
||||
"sections": {
|
||||
"settings": "Settings",
|
||||
"dangerZone": "Danger zone"
|
||||
},
|
||||
"secrets": {
|
||||
"apiKey": "Api key",
|
||||
"apiKey": "API key",
|
||||
"username": "Username",
|
||||
"password": "Password"
|
||||
},
|
||||
|
||||
@@ -2,12 +2,17 @@
|
||||
"description": "Homarr is a <strong>sleek</strong>, <strong>modern</strong> dashboard that puts all of your apps and services at your fingertips. With Homarr, you can access and control everything in one convenient location. Homarr seamlessly integrates with the apps you've added, providing you with valuable information and giving you complete control. Installation is a breeze, and Homarr supports a wide range of deployment methods.",
|
||||
"contact": "Having trouble or questions? Connect with us!",
|
||||
"addToDashboard": "Add to Dashboard",
|
||||
"tip": "Mod refers to your modifier key, it is Ctrl and Command/Super/Windows key",
|
||||
"key": "Shortcut key",
|
||||
"action": "Action",
|
||||
"keybinds": "Keybinds",
|
||||
"metrics": {
|
||||
"configurationSchemaVersion": "Configuration schema version",
|
||||
"configurationsCount": "Available configurations",
|
||||
"version": "Version",
|
||||
"nodeEnvironment": "Node environment",
|
||||
"i18n": "Loaded I18n translation namespaces",
|
||||
"locales": "Configured I18n locales"
|
||||
"locales": "Configured I18n locales",
|
||||
"experimental_disableEditMode": "<b>EXPERIMENTAL</b>: Disable edit mode"
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"tabs": {
|
||||
"general": "General",
|
||||
"behaviour": "Behaviour",
|
||||
"behaviour": "Behavior",
|
||||
"network": "Network",
|
||||
"appearance": "Appearance",
|
||||
"integration": "Integration"
|
||||
@@ -39,7 +39,15 @@
|
||||
"appearance": {
|
||||
"icon": {
|
||||
"label": "App Icon",
|
||||
"description": "The icon that will be displayed on the dashboard."
|
||||
"description": "",
|
||||
"autocomplete": {
|
||||
"title": "No results found",
|
||||
"text": "Try to use a more specific search term. If you can't find your desired icon, paste the image URL above for a custom icon"
|
||||
},
|
||||
"noItems": {
|
||||
"title": "Loading external icons",
|
||||
"text": "This may take a few seconds"
|
||||
}
|
||||
}
|
||||
},
|
||||
"integration": {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"xPosition": "X axis position",
|
||||
"xPosition": "X-axis position",
|
||||
"width": "Width",
|
||||
"height": "Height",
|
||||
"yPosition": "Y axis position",
|
||||
"yPosition": "Y-axis position",
|
||||
"zeroOrHigher": "0 or higher",
|
||||
"betweenXandY": "Between {{min}} and {{max}}"
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"iconPicker": {
|
||||
"textInputPlaceholder": "Search something...",
|
||||
"searchLimitationTitle": "Limited to 30 results",
|
||||
"searchLimitationMessage": "Search results were limited to 30 because there were too many matches"
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
},
|
||||
"errors": {
|
||||
"unmappedOptions": {
|
||||
"text": "<b>Un-used parameter in configuration detected</b><br /><code>{{key}}</code>. Homarr is unable to interpret and use this parameter. To avoid any unexpected behavior, back up your configuration and correct your configuration."
|
||||
"text": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,26 +1,80 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "Dash.",
|
||||
"description": "Displays the graphs of an external Dash. instance inside of Homarr.",
|
||||
"description": "Displays the graphs of an external Dash. Instance inside Homarr.",
|
||||
"settings": {
|
||||
"title": "Settings for Dash. widget",
|
||||
"cpuMultiView": {
|
||||
"label": "CPU Multi-Core View"
|
||||
},
|
||||
"storageMultiView": {
|
||||
"label": "Storage Multi-Drive View"
|
||||
},
|
||||
"useCompactView": {
|
||||
"label": "Use Compact View"
|
||||
},
|
||||
"graphs": {
|
||||
"label": "Graphs"
|
||||
},
|
||||
"url": {
|
||||
"label": "Dash. URL"
|
||||
},
|
||||
"usePercentages": {
|
||||
"label": "Display percentages"
|
||||
},
|
||||
"columns": {
|
||||
"label": "Display columns"
|
||||
},
|
||||
"graphHeight": {
|
||||
"label": "Height of graphs"
|
||||
},
|
||||
"graphsOrder": {
|
||||
"label": "Graphs (Order)",
|
||||
"storage": {
|
||||
"label": "Storage",
|
||||
"enabled": {
|
||||
"label": "Show in widget"
|
||||
},
|
||||
"span": {
|
||||
"label": "Column span"
|
||||
},
|
||||
"compactView": {
|
||||
"label": "Show as text (compact)"
|
||||
},
|
||||
"multiView": {
|
||||
"label": "Show as multi-drive-view"
|
||||
}
|
||||
},
|
||||
"network": {
|
||||
"label": "Network",
|
||||
"enabled": {
|
||||
"label": "Show in widget"
|
||||
},
|
||||
"span": {
|
||||
"label": "Column span"
|
||||
},
|
||||
"compactView": {
|
||||
"label": "Show as text (compact)"
|
||||
}
|
||||
},
|
||||
"cpu": {
|
||||
"label": "CPU",
|
||||
"enabled": {
|
||||
"label": "Show in widget"
|
||||
},
|
||||
"span": {
|
||||
"label": "Column span"
|
||||
},
|
||||
"multiView": {
|
||||
"label": "Show as multi-core-view"
|
||||
}
|
||||
},
|
||||
"ram": {
|
||||
"label": "RAM",
|
||||
"enabled": {
|
||||
"label": "Show in widget"
|
||||
},
|
||||
"span": {
|
||||
"label": "Column span"
|
||||
}
|
||||
},
|
||||
"gpu": {
|
||||
"label": "GPU",
|
||||
"enabled": {
|
||||
"label": "Show in widget"
|
||||
},
|
||||
"span": {
|
||||
"label": "Column span"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -31,7 +85,7 @@
|
||||
"noInformation": "Cannot acquire information from dash. - are you running the latest version?",
|
||||
"protocolDowngrade": {
|
||||
"title": "Detected protocol downgrade",
|
||||
"text": "The protocol to your Dash. instance is being downgraded. This is security risk, since HTTP is unencrypted and attackers could abuse this connection. Make sure that Dash. is running on HTTPS too or downgrade Homarr to HTTP (not recommended)."
|
||||
"text": "The connection to your Dash. instance is using HTTP. This is a security risk, because HTTP is unencrypted and attackers could abuse this connection. Make sure that Dash. is using HTTPS, or downgrade Homarr to HTTP (not recommended)."
|
||||
}
|
||||
},
|
||||
"graphs": {
|
||||
@@ -50,7 +104,7 @@
|
||||
"cpu": {
|
||||
"title": "CPU"
|
||||
},
|
||||
"memory": {
|
||||
"ram": {
|
||||
"title": "RAM"
|
||||
},
|
||||
"gpu": {
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
"actionBar": {
|
||||
"addService": {
|
||||
"title": "Add app",
|
||||
"message": "Add app Homarr"
|
||||
"message": "Add app to Homarr"
|
||||
},
|
||||
"restart": {
|
||||
"title": "Restart"
|
||||
|
||||
23
public/locales/en/modules/iframe.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "iFrame",
|
||||
"description": "Embed any content from the internet. Some websites may restrict access.",
|
||||
"settings": {
|
||||
"title": "iFrame settings",
|
||||
"embedUrl": {
|
||||
"label": "Embed URL"
|
||||
},
|
||||
"allowFullScreen": {
|
||||
"label": "Allow full screen"
|
||||
}
|
||||
}
|
||||
},
|
||||
"card": {
|
||||
"errors": {
|
||||
"noUrl": {
|
||||
"title": "",
|
||||
"text": "Ensure that you've entered a valid address in the configuration of your widget"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
public/locales/en/modules/media-requests-list.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "Media Requests",
|
||||
"description": "See a list of all media requests from your Overseerr or Jellyseerr instance",
|
||||
"settings": {
|
||||
"title": "Media requests list"
|
||||
}
|
||||
},
|
||||
"noRequests": "No requests found. Please ensure that you've configured your apps correctly.",
|
||||
"pending": "There are {{countPendingApproval}} requests waiting for approval.",
|
||||
"nonePending": "There are currently no pending approvals. You're good to go!",
|
||||
"state": {
|
||||
"approved": "Approved",
|
||||
"pendingApproval": "Pending approval",
|
||||
"declined": "Declined"
|
||||
}
|
||||
}
|
||||
14
public/locales/en/modules/media-requests-stats.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "Media request stats",
|
||||
"description": "Statistics about your media requests",
|
||||
"settings": {
|
||||
"title": "Media requests stats"
|
||||
}
|
||||
},
|
||||
"stats": {
|
||||
"pending": "Pending approvals",
|
||||
"tvRequests": "TV requests",
|
||||
"movieRequests": "Movie requests"
|
||||
}
|
||||
}
|
||||
24
public/locales/en/modules/media-server.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "Media Server",
|
||||
"description": "Interact with your Jellyfin or Plex media server",
|
||||
"settings": {
|
||||
"title": "Settings for media server widget"
|
||||
}
|
||||
},
|
||||
"card": {
|
||||
"table": {
|
||||
"header": {
|
||||
"session": "Session",
|
||||
"user": "User",
|
||||
"currentlyPlaying": "Currently playing"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"general": {
|
||||
"title": "Unable to load content",
|
||||
"text": "Unable to retrieve information from the server. Please check the logs for more details"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "Ping",
|
||||
"description": "Displays a status indicator depeding on the HTTP response code of a given URL."
|
||||
"description": "Displays a status indicator depending on the HTTP response code of a given URL."
|
||||
},
|
||||
"states": {
|
||||
"online": "Online {{response}}",
|
||||
|
||||
24
public/locales/en/modules/rss.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "RSS Widget",
|
||||
"description": "",
|
||||
"settings": {
|
||||
"title": "Settings for RSS widget",
|
||||
"rssFeedUrl": {
|
||||
"label": "RSS feed URLs",
|
||||
"description": "The URLs of the RSS feeds you want to display from."
|
||||
},
|
||||
"refreshInterval": {
|
||||
"label": "Refresh interval (in minutes)"
|
||||
}
|
||||
},
|
||||
"card": {
|
||||
"errors": {
|
||||
"general": {
|
||||
"title": "Unable to retrieve RSS feed",
|
||||
"text": "There was a problem reaching out the RSS feed. Make sure that you have correctly configured the RSS feed using a valid URL. URLs should match the official specification. After updating the feed, you may need to refresh the dashboard."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -50,7 +50,7 @@
|
||||
"text": "Add a supported Torrent client to view your current downloads"
|
||||
},
|
||||
"generic": {
|
||||
"title": "An unexpected error occured",
|
||||
"title": "An unexpected error occurred",
|
||||
"text": "Homarr was unable to communicate with your Torrent clients. Please check your configuration"
|
||||
}
|
||||
},
|
||||
|
||||
24
public/locales/en/modules/video-stream.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "Video Stream",
|
||||
"description": "Embed a video stream or video from a camera or a website",
|
||||
"settings": {
|
||||
"title": "Settings for video stream widget",
|
||||
"FeedUrl": {
|
||||
"label": "Feed URL"
|
||||
},
|
||||
"autoPlay": {
|
||||
"label": "Autoplay"
|
||||
},
|
||||
"muted": {
|
||||
"label": "Muted audio"
|
||||
},
|
||||
"controls": {
|
||||
"label": "Video player controls"
|
||||
}
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"invalidStream": "Invalid stream"
|
||||
}
|
||||
}
|
||||
@@ -14,8 +14,8 @@
|
||||
"description": "Adjust titles, logo and PWA"
|
||||
},
|
||||
"appereance": {
|
||||
"name": "Appereance",
|
||||
"description": "Customize the background, colors and apps appereance"
|
||||
"name": "Appearance",
|
||||
"description": "Customize the background, colors and apps appearance"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,22 +5,22 @@
|
||||
},
|
||||
"metaTitle": {
|
||||
"label": "Meta Title",
|
||||
"description": "The title, that is being displayed as your tab name"
|
||||
"description": "The title displayed in your browser tab"
|
||||
},
|
||||
"logo": {
|
||||
"label": "Logo",
|
||||
"description": "The dashboard logo at the top left"
|
||||
"description": "The logo displayed at the top left"
|
||||
},
|
||||
"favicon": {
|
||||
"label": "Favicon",
|
||||
"description": "The icon, that is being used in front of your tab name"
|
||||
"description": "The icon displayed in your browser tab"
|
||||
},
|
||||
"background": {
|
||||
"label": "Background"
|
||||
},
|
||||
"customCSS": {
|
||||
"label": "Custom CSS",
|
||||
"description": "Customize all elements on your dashboard, only recommended for experienced users",
|
||||
"description": "Further, customize your dashboard using CSS, only recommended for experienced users",
|
||||
"placeholder": "Custom CSS will be applied last",
|
||||
"applying": "Applying CSS..."
|
||||
},
|
||||
|
||||
@@ -36,8 +36,8 @@
|
||||
},
|
||||
"confirmDeletion": {
|
||||
"title": "Confirm deletion of your config",
|
||||
"warningText": "You're about to delete '<b>{{configName}}</b>'",
|
||||
"text": "Please note, that the deletion is not invertible and your data will be lost permanently. After clicking this button, the file will be permanently deleted from your disk. Make sure to create an adequate backup of your configuration.",
|
||||
"warningText": "You are about to delete '<b>{{configName}}</b>'",
|
||||
"text": "Please note that the deletion is not revertible, and your data will be lost permanently. After clicking this button, the file will be permanently deleted from your disk. Make sure to create an adequate backup of your configuration.",
|
||||
"buttons": {
|
||||
"confirm": "Yes, delete '<b>{{configName}}</b>'"
|
||||
}
|
||||
@@ -57,7 +57,7 @@
|
||||
"message": "Config delete failed"
|
||||
},
|
||||
"deleteFailedDefaultConfig": {
|
||||
"title": "Default config can't be deleted",
|
||||
"title": "The default config can't be deleted",
|
||||
"message": "Configuration was not deleted from the file system"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"title": "Search engine",
|
||||
"configurationName": "Search engine configuration",
|
||||
"tips": {
|
||||
"generalTip": "There are multiple prefixes you can use! Adding these infront of your query will filter the results. !s (Web), !t (Torrents), !y (YouTube), and !m (Media).",
|
||||
"generalTip": "There are multiple prefixes you can use! Adding these in front of your query will filter the results. !s (Web), !t (Torrents), !y (YouTube), and !m (Media).",
|
||||
"placeholderTip": "%s can be used as a placeholder for the query."
|
||||
},
|
||||
"customEngine": {
|
||||
|
||||
14
public/locales/en/widgets/error-boundary.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"card": {
|
||||
"title": "Oops, there was an error!",
|
||||
"buttons": {
|
||||
"details": "Details",
|
||||
"tryAgain": "Try again"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"text": "",
|
||||
"label": "Your error",
|
||||
"reportButton": "Report this error"
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,8 @@
|
||||
"version": "Versión",
|
||||
"changePosition": "Cambiar posición",
|
||||
"remove": "Eliminar",
|
||||
"removeConfirm": "Seguro que quieres eliminar {{item}} ?",
|
||||
"removeConfirm": "¿Seguro que quieres eliminar {{item}}?",
|
||||
"createItem": "+ create {{item}}",
|
||||
"sections": {
|
||||
"settings": "Ajustes",
|
||||
"dangerZone": "Zona de riesgo"
|
||||
|
||||
@@ -2,12 +2,17 @@
|
||||
"description": "Homarr es un dashboard <strong>elegante</strong> y <strong>moderno</strong> que pone todas tus apps y servicios a tu alcance. Con Homarr, puedes acceder y controlar todo desde una sola ubicación. Homarr se integra a la perfección con las apps que hayas añadido, ofreciendote información valiosa y dándote control total. La instalación es muy sencilla, y Homarr soporta una amplia gama de métodos de implementación.",
|
||||
"contact": "¿Tienes problemas o preguntas? ¡Conéctate con nosotros!",
|
||||
"addToDashboard": "Añadir al Dashboard",
|
||||
"tip": "Mod se refiere a tu tecla modificadora, es Ctrl y tecla Command/Super/Windows",
|
||||
"key": "Tecla de acceso directo",
|
||||
"action": "Acción",
|
||||
"keybinds": "Combinaciones de teclas",
|
||||
"metrics": {
|
||||
"configurationSchemaVersion": "Versión del esquema de configuración",
|
||||
"configurationsCount": "Configuraciones disponibles",
|
||||
"version": "Versión",
|
||||
"nodeEnvironment": "Entorno del nodo",
|
||||
"i18n": "I18n translation namespaces cargadas",
|
||||
"locales": "I18n locales configurados"
|
||||
"locales": "I18n locales configurados",
|
||||
"experimental_disableEditMode": "<b>EXPERIMENTAL</b>: Desactivar modo edición"
|
||||
}
|
||||
}
|
||||
@@ -39,7 +39,15 @@
|
||||
"appearance": {
|
||||
"icon": {
|
||||
"label": "Icono App",
|
||||
"description": "Icono que se verá en el dashboard."
|
||||
"description": "",
|
||||
"autocomplete": {
|
||||
"title": "Ningún resultado encontrado",
|
||||
"text": "Intenta usar un término de búsqueda más específico. Si no puedes encontrar tu icono deseado, pega la URL de la imagen encima para establecer un icono personalizado"
|
||||
},
|
||||
"noItems": {
|
||||
"title": "Cargando iconos externos",
|
||||
"text": "Esto puede tomar unos segundos"
|
||||
}
|
||||
}
|
||||
},
|
||||
"integration": {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
},
|
||||
"errors": {
|
||||
"unmappedOptions": {
|
||||
"text": "<b>Parámetro sin uso detectado en la configuración</b><br /><code>{{key}}</code>. Homarr no puede interpretar y usar este parámetro. Para evitar cualquier comportamiento inesperado, respalda tu configuración y corrige tus ajustes."
|
||||
"text": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,26 +1,80 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "Dash.",
|
||||
"description": "Muestra los gráficos de una instancia de Dash. externa, dentro de Homarr.",
|
||||
"description": "Mostrar los gráficos de una instancia Dash. externa en Homarr.",
|
||||
"settings": {
|
||||
"title": "Ajustes para el widget Dash.",
|
||||
"cpuMultiView": {
|
||||
"label": "Vista CPU Multinúcleo"
|
||||
},
|
||||
"storageMultiView": {
|
||||
"label": "Vista Almacenamiento Multidisco"
|
||||
},
|
||||
"useCompactView": {
|
||||
"label": "Usar vista Compacta"
|
||||
},
|
||||
"graphs": {
|
||||
"label": "Gráficos"
|
||||
},
|
||||
"url": {
|
||||
"label": "Dash. URL"
|
||||
},
|
||||
"usePercentages": {
|
||||
"label": "Mostrar porcentajes"
|
||||
},
|
||||
"columns": {
|
||||
"label": "Mostrar columnas"
|
||||
},
|
||||
"graphHeight": {
|
||||
"label": "Altura de gráficos"
|
||||
},
|
||||
"graphsOrder": {
|
||||
"label": "Gráficos (Órden)",
|
||||
"storage": {
|
||||
"label": "Almacenamiento",
|
||||
"enabled": {
|
||||
"label": "Mostrar en widget"
|
||||
},
|
||||
"span": {
|
||||
"label": "Espacio de columna (span)"
|
||||
},
|
||||
"compactView": {
|
||||
"label": "Mostrar como texto (compacto)"
|
||||
},
|
||||
"multiView": {
|
||||
"label": "Mostrar como vistas de varias unidades"
|
||||
}
|
||||
},
|
||||
"network": {
|
||||
"label": "Red",
|
||||
"enabled": {
|
||||
"label": "Mostrar en widget"
|
||||
},
|
||||
"span": {
|
||||
"label": "Espacio de columna (span)"
|
||||
},
|
||||
"compactView": {
|
||||
"label": "Mostrar como texto (compacto)"
|
||||
}
|
||||
},
|
||||
"cpu": {
|
||||
"label": "CPU",
|
||||
"enabled": {
|
||||
"label": "Mostrar en widget"
|
||||
},
|
||||
"span": {
|
||||
"label": "Espacio de columna (span)"
|
||||
},
|
||||
"multiView": {
|
||||
"label": "Mostrar como vistas multi-core"
|
||||
}
|
||||
},
|
||||
"ram": {
|
||||
"label": "RAM",
|
||||
"enabled": {
|
||||
"label": "Mostrar en widget"
|
||||
},
|
||||
"span": {
|
||||
"label": "Espacio de columna (span)"
|
||||
}
|
||||
},
|
||||
"gpu": {
|
||||
"label": "GPU",
|
||||
"enabled": {
|
||||
"label": "Mostrar en widget"
|
||||
},
|
||||
"span": {
|
||||
"label": "Espacio de columna (span)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -28,7 +82,11 @@
|
||||
"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?"
|
||||
"noInformation": "No se puede obtener información de Dash. - ¿estás utilizando la última versión?",
|
||||
"protocolDowngrade": {
|
||||
"title": "Degradación de protocolo detectada",
|
||||
"text": "La conexión a tu instancia Dash. se realiza por HTTP. Esto es un riesgo de seguridad, debido a que HTTP no está encriptado, y los atacantes podrían abusar de esta conexión. Asegúrate de que Dash. esté usando HTTPS, or degrada Homarr a HTTP (no recomendado)."
|
||||
}
|
||||
},
|
||||
"graphs": {
|
||||
"storage": {
|
||||
@@ -46,7 +104,7 @@
|
||||
"cpu": {
|
||||
"title": "CPU"
|
||||
},
|
||||
"memory": {
|
||||
"ram": {
|
||||
"title": "RAM"
|
||||
},
|
||||
"gpu": {
|
||||
|
||||
23
public/locales/es/modules/iframe.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"descriptor": {
|
||||
"name": "iFrame",
|
||||
"description": "Incrustar cualquier contenido de Internet. Algunos sitios web pueden restringir el acceso.",
|
||||
"settings": {
|
||||
"title": "Ajustes de iFrime",
|
||||
"embedUrl": {
|
||||
"label": "URL incrustada"
|
||||
},
|
||||
"allowFullScreen": {
|
||||
"label": "Permitir pantalla completa"
|
||||
}
|
||||
}
|
||||
},
|
||||
"card": {
|
||||
"errors": {
|
||||
"noUrl": {
|
||||
"title": "",
|
||||
"text": "Asegúrate de que has introducido una dirección válida en la configuración del widget"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||