Merge pull request #802 from ajnart/dev

v0.12.0
This commit is contained in:
Thomas Camlong
2023-04-16 18:57:32 +09:00
committed by GitHub
455 changed files with 6550 additions and 3897 deletions

10
.deepsource.toml Normal file
View File

@@ -0,0 +1,10 @@
version = 1
[[analyzers]]
name = "javascript"
[analyzers.meta]
plugins = ["react"]
[[transformers]]
name = "prettier"

View File

@@ -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 }],
},
};

View File

@@ -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

View File

@@ -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
View File

@@ -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

View File

@@ -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

View File

@@ -1,23 +1,21 @@
<!-- Project Title -->
<picture id="banner">
<img src="./docs/banner.png" />
</picture>
![Banner](docs/banner.png)
<!-- 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>
@@ -38,43 +36,38 @@
</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.
<br/>
<br/>
<picture id="features">
<img src="docs/section-features.png" />
</picture>
![Features Section](docs/section-features.png)
- 🖌️ Highly customizeable with extensive drag and drop grid system
- 🖌️ 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
- 📌 Easy and fast app management - no YAML involved
- 🙊 Advanced secrets' management system for enhanced security
- 📄 Detailed documentation and active community
- 🔍 Search though the web or supported integrations in an instant
- 🏴󠁧󠁢󠁮󠁩󠁲󠁿 Monitor your application with a built in status system
- 🔍 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 1000 icons
- 🐳 Easy deployment with Docker, Unraid, Synology
- 🚀 Comatible with any major consumer hardware (x86, Rasperry Pi, ...)
- 🐳 Easy deployment with Docker, unRAID, Synology
- 🚀 Compatible with any major consumer hardware (x86, Raspberry Pi, ...)
- 💵 Free and Open-Source - your data stays on your device
<br/>
<br/>
<picture id="widgets-and-integrations">
<img src="docs/section-widgets-and-integrations.png" />
</picture>
![Widgets & Integrations Section](docs/section-widgets-and-integrations.png)
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 confort.
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:
- 📥 Torrent clients
- [Delguge](https://homarr.dev/docs/integrations/#deluge)
- [Deluge](https://homarr.dev/docs/integrations/#deluge)
- [Transmission](https://homarr.dev/docs/integrations/#transmission)
- [qBittorrent](https://homarr.dev/docs/integrations/#qbittorrent-integration)
- [qBittorent](https://homarr.dev/docs/integrations/#qbittorrent-integration)
- 📥 Usenet clients
- [SABnzbd](https://homarr.dev/docs/integrations/#sabnzbd)
- [NZBGet](https://homarr.dev/docs/integrations/#nzbget)
@@ -94,21 +87,17 @@ We're constantly adding new integrations and widgets, which will enhance your ex
<br/>
<br/>
<picture id="preview">
<img src="docs/section-preview.png" />
</picture>
![Preview Section](docs/section-preview.png)
https://user-images.githubusercontent.com/30572287/217098893-5880e7de-13d0-42c5-b505-f7921593396f.mp4
<br/>
<br/>
<picture id="installation">
<img src="docs/section-installation.png" />
</picture>
![Installation Section](docs/section-installation.png)
There are many different ways, how Homarr can be installed.
Since we are developing Homarr very frequently, we recommend to read our official installation guides:
Since we are developing Homarr very frequently, we recommend reading our official installation guides:
<a href="https://homarr.dev/docs/introduction/installation">
<img src="docs/installation-button.png" width="200" />
@@ -117,19 +106,19 @@ Since we are developing Homarr very frequently, we recommend to read our officia
<br/>
<br/>
<picture id="contribute">
<img src="docs/section-contribute.png" />
</picture>
![Contribute Section](docs/section-contribute.png)
Homarr is maintained by motivated developers in their free-time.
We work for fun and learning on this project.
Hence, we're glad for all help and support we can get.
Altough a donation is apprechiated, there are also other ways you can support us.
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.
[_![](https://cdn.ko-fi.com/cdn/kofi3.png?v=3)_](https://ko-fi.com/ajnart)
<a href="https://ko-fi.com/ajnart">
<img src="https://cdn.ko-fi.com/cdn/kofi3.png?v=3" width="200" />
</a>
You can also support us [translating the entire project in as many languages as possible](https://homarr.dev/docs/community/translations) or contribute directly to the code or documentation.
You can also support us [translating the entire project in as many languages as possible,](https://homarr.dev/docs/community/translations) or contribute directly to the code or documentation.
**Please read our [Contribution Guidelines](/CONTRIBUTING.md)**
All contributions, regardless of their size or scope, are welcome and highly apprechiated! Thank you ❤️
All contributions, regardless of their size or scope, are welcome and highly appreciated! Thank you ❤️

View File

@@ -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
}
}
}
}

View File

@@ -28,12 +28,12 @@ module.exports = {
'sk',
'no',
],
localePath: path.resolve('./public/locales'),
fallbackLng: 'en',
localeDetection: true,
returnEmptyString: false,
debug: false,
appendNamespaceToCIMode: true,
reloadOnPrerender: process.env.NODE_ENV === 'development',
},
returnEmptyString: false,
appendNamespaceToCIMode: true,
reloadOnPrerender: process.env.NODE_ENV === 'development',
fallbackLng: 'en',
localePath: path.resolve('./public/locales'),
};

View File

@@ -1,6 +1,6 @@
{
"name": "homarr",
"version": "0.11.5",
"version": "0.12.0",
"description": "Homarr - A homepage for your server.",
"license": "MIT",
"repository": {
@@ -11,38 +11,44 @@
"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",
"@emotion/react": "^11.10.5",
"@emotion/react": "^11.10.6",
"@emotion/server": "^11.10.0",
"@jellyfin/sdk": "^0.7.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",
"@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",
"@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",
@@ -53,7 +59,7 @@
"html-entities": "^2.3.3",
"i18next": "^21.9.1",
"js-file-download": "^0.4.12",
"next": "^13.1.6",
"next": "^13.2.1",
"next-i18next": "^11.3.0",
"nzbget-api": "^0.0.3",
"prismjs": "^1.29.0",
@@ -65,11 +71,14 @@
"uuid": "^8.3.2",
"xml-js": "^1.6.11",
"yarn": "^1.22.19",
"zod": "^3.21.4",
"zustand": "^4.1.4"
},
"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/prismjs": "^1.26.0",
@@ -78,23 +87,28 @@
"@types/video.js": "^7.3.51",
"@typescript-eslint/eslint-plugin": "^5.30.7",
"@typescript-eslint/parser": "^5.30.7",
"@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",
"turbo": "^1.7.4",
"turbo": "latest",
"typescript": "^4.7.4",
"video.js": "^8.0.3"
"video.js": "^8.0.3",
"vitest": "^0.29.3",
"vitest-fetch-mock": "^0.2.2"
},
"resolutions": {
"@types/react": "17.0.2",

View File

@@ -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"

View File

@@ -2,6 +2,10 @@
"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",

View File

@@ -39,7 +39,7 @@
"appearance": {
"icon": {
"label": "App Ikon",
"description": "Vælg et ikon der skal vises på dit dashboard. Vælg mellem {{suggestionsCount}} ikoner eller indtast din egen URL",
"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"

View File

@@ -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": ""
}
}
}

View File

@@ -85,7 +85,7 @@
"noInformation": "Kan ikke hente information fra dash. - kører du den nyeste version?",
"protocolDowngrade": {
"title": "Registreret protokolnedgradering",
"text": "Protokollen til din Dash. instans bliver nedgraderet. Dette er sikkerhedsrisiko, da HTTP er ukrypteret og angribere kunne misbruge denne forbindelse. Sørg for, at Dash. kører på HTTPS også eller nedgraderer Homarr til HTTP (anbefales ikke)."
"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": {

View File

@@ -1,9 +1,9 @@
{
"descriptor": {
"name": "IFrame",
"name": "indlejret dokument (iframe)",
"description": "Indlejr ethvert indhold fra internettet. Nogle websteder kan begrænse adgang.",
"settings": {
"title": "IFrame indstillinger",
"title": "iFrame indstillinger",
"embedUrl": {
"label": "Indlejr URL"
},
@@ -15,7 +15,7 @@
"card": {
"errors": {
"noUrl": {
"title": "Indtast URL",
"title": "",
"text": "Sørg for, at du har indtastet en gyldig adresse i konfigurationen af din widget"
}
}

View 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"
}
}

View 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"
}
}

View File

@@ -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}}",

View File

@@ -1,19 +1,23 @@
{
"descriptor": {
"name": "RSS Widget",
"description": "Griber elementerne fra et RSS-feed og viser dem. Anvendes normalt til online-nyheder",
"description": "",
"settings": {
"title": "Indstillinger for RSS-widget",
"rssFeedUrl": {
"label": "RSS-feed url"
"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 nå ud til RSS-feedet. Sørg for, at du&apos;har konfigureret feedet korrekt og bruger en gyldig RSS-url, der passer til den officielle standardspecifikation. Når du har opdateret feed'et, skal du muligvis gemme dit dashboard og opdatere siden."
},
"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."
}
}
}
}

View File

@@ -5,10 +5,10 @@
"settings": {
"title": "Indstillinger for video stream widget",
"FeedUrl": {
"label": "Feed url"
"label": "Feed URL"
},
"autoPlay": {
"label": "Automatisk afspilning"
"label": "Auto-afspilning"
},
"muted": {
"label": "Slå lyden fra"

View File

@@ -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..."
},

View 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"
}
}

View File

@@ -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"
},

View File

@@ -1,7 +1,11 @@
{
"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",

View File

@@ -39,7 +39,7 @@
"appearance": {
"icon": {
"label": "App Symbol",
"description": "Wählen Sie ein Symbol, das auf Ihrem Dashboard angezeigt werden soll. Wählen Sie aus {{suggestionsCount}} Icons oder geben Sie Ihre eigene URL ein",
"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"

View File

@@ -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 diese."
"text": ""
}
}
}

View File

@@ -14,23 +14,23 @@
"label": "Spalten anzeigen"
},
"graphHeight": {
"label": "Höhe der Graphen"
"label": "Höhe des Graphen"
},
"graphsOrder": {
"label": "Graphen (Reihenfolge)",
"label": "Reihenfolge der Graphen",
"storage": {
"label": "Speicher",
"enabled": {
"label": "Im Widget anzeigen"
"label": "In Widget anzeigen"
},
"span": {
"label": "Spaltenbreite"
"label": "Länge der Säulen"
},
"compactView": {
"label": "Als Text anzeigen (Kompakt)"
"label": "Als Text anzeigen (kompakt)"
},
"multiView": {
"label": "Als Multi-Laufwerk anzeigen"
"label": "Als Multi-Laufwerk-Ansicht anzeigen"
}
},
"network": {
@@ -39,10 +39,10 @@
"label": "In Widget anzeigen"
},
"span": {
"label": "Spaltenbreite"
"label": "Länge der Säulen"
},
"compactView": {
"label": "Als Text anzeigen (Kompakt)"
"label": "Als Text anzeigen (kompakt)"
}
},
"cpu": {
@@ -51,10 +51,10 @@
"label": "In Widget anzeigen"
},
"span": {
"label": "Spaltenbreite"
"label": "Länge der Säulen"
},
"multiView": {
"label": "Als Multi-Core anzeigen"
"label": "Als Multi-Core-Ansicht anzeigen"
}
},
"ram": {
@@ -63,7 +63,7 @@
"label": "In Widget anzeigen"
},
"span": {
"label": "Spaltenbreite"
"label": "Länge der Säulen"
}
},
"gpu": {
@@ -72,7 +72,7 @@
"label": "In Widget anzeigen"
},
"span": {
"label": "Spaltenbreite"
"label": "Länge der Säulen"
}
}
}
@@ -85,7 +85,7 @@
"noInformation": "Es können keine Informationen vom Dash. abgerufen werden. - Verwenden Sie die neueste Version?",
"protocolDowngrade": {
"title": "Protokoll-Downgrade erkannt",
"text": "Das Protokoll zu Ihrer Dash.-Instanz wird herabgestuft. Dies ist ein Sicherheitsrisiko, da HTTP unverschlüsselt ist und Angreifer diese Verbindung missbrauchen könnten. Stellen Sie sicher, dass Dash. auch auf HTTPS läuft oder downgraden Sie Homarr auf HTTP (wird nicht empfohlen)."
"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": {

View File

@@ -15,7 +15,7 @@
"card": {
"errors": {
"noUrl": {
"title": "Geben Sie eine URL ein",
"title": "",
"text": "Stellen Sie sicher, dass Sie in der Konfiguration Ihres Widgets eine gültige Adresse eingegeben haben"
}
}

View 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": "Es gibt {countPendingApproval} Anträge, die auf eine Genehmigung warten.",
"nonePending": "Es sind derzeit keine Genehmigungen ausstehend. Sie sind startklar!",
"state": {
"approved": "Genehmigt",
"pendingApproval": "Warten auf Freigabe",
"declined": "Abgelehnt"
}
}

View 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"
}
}

View File

@@ -1,19 +1,23 @@
{
"descriptor": {
"name": "RSS-Widget",
"description": "Nimmt die Einträge aus einem RSS-Feed und zeigt sie an. Wird üblicherweise für Online-Nachrichten verwendet",
"description": "",
"settings": {
"title": "Einstellungen für das RSS-Widget",
"rssFeedUrl": {
"label": "RSS-Feed URL"
"label": "",
"description": ""
},
"refreshInterval": {
"label": ""
}
}
},
"card": {
"errors": {
"general": {
"title": "RSS-Feed konnte nicht abgerufen werden",
"text": "Es gab ein Problem beim Erreichen des RSS-Feeds. Vergewissern Sie sich, dass Sie den Feed richtig konfiguriert haben und eine gültige RSS-URL verwenden, die der offiziellen Standardspezifikation entspricht. Nachdem Sie den Feed aktualisiert haben, müssen Sie möglicherweise Ihr Dashboard speichern und die Seite aktualisieren."
},
"card": {
"errors": {
"general": {
"title": "",
"text": ""
}
}
}
}

View File

@@ -5,10 +5,10 @@
"settings": {
"title": "Einstellungen für das Video Stream Widget",
"FeedUrl": {
"label": "Feed URL"
"label": "Feed-URL"
},
"autoPlay": {
"label": "Automatisch abspielen"
"label": "Automatische Wiedergabe"
},
"muted": {
"label": "Audio stummschalten"

View File

@@ -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"
}
}
}

View File

@@ -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..."
},

View 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"
}
}

View File

@@ -9,13 +9,14 @@
"version": "Έκδοση",
"changePosition": "Αλλαγή θέσης",
"remove": "Αφαίρεση",
"removeConfirm": "Είστε σίγουροι ότι θέλετε να καταργήσετε το {{item}} ;",
"removeConfirm": "",
"createItem": "",
"sections": {
"settings": "Ρυθμίσεις",
"dangerZone": "Επικίνδυνη Περιοχή"
},
"secrets": {
"apiKey": "Κλειδί Api",
"apiKey": "",
"username": "Όνομα Χρήστη",
"password": "Κωδικός"
},

View File

@@ -2,6 +2,10 @@
"description": "Το Homarr είναι ένα <strong>κομψό</strong>, <strong>μοντέρνο</strong> ταμπλό που βάζει όλες τις εφαρμογές και τις υπηρεσίες σας στα χέρια σας. Με το Homarr, μπορείτε να έχετε πρόσβαση και να ελέγχετε τα πάντα σε μια βολική τοποθεσία. Το Homarr ενσωματώνεται απρόσκοπτα με τις εφαρμογές που έχετε προσθέσει, παρέχοντάς σας πολύτιμες πληροφορίες και δίνοντάς σας πλήρη έλεγχο. Η εγκατάσταση είναι πανεύκολη και το Homarr υποστηρίζει ένα ευρύ φάσμα μεθόδων ανάπτυξης.",
"contact": "Έχετε προβλήματα ή ερωτήσεις; Συνδεθείτε μαζί μας!",
"addToDashboard": "Προσθήκη στο ταμπλό",
"tip": "",
"key": "",
"action": "",
"keybinds": "",
"metrics": {
"configurationSchemaVersion": "",
"configurationsCount": "",

View File

@@ -1,7 +1,7 @@
{
"tabs": {
"general": "Γενικά",
"behaviour": "Συμπεριφορά",
"behaviour": "",
"network": "Δίκτυο",
"appearance": "Εμφάνιση",
"integration": "Ενσωμάτωση"

View File

@@ -1,8 +1,6 @@
{
"xPosition": "Θέση του άξονα X",
"width": "Πλάτος",
"height": "Ύψος",
"yPosition": "Θέση του άξονα Y",
"zeroOrHigher": "0 ή υψηλότερο",
"betweenXandY": "Μεταξύ {min} και {max}"
}

View File

@@ -4,7 +4,7 @@
},
"errors": {
"unmappedOptions": {
"text": "<b>Εντοπίστηκε αχρησιμοποίητη παράμετρος στη διαμόρφωση</b><br /><code>{{key}}</code>. Το Homarr δεν μπορεί να ερμηνεύσει και να χρησιμοποιήσει αυτή την παράμετρο. Για να αποφύγετε οποιαδήποτε απροσδόκητη συμπεριφορά, δημιουργήστε αντίγραφα ασφαλείας των ρυθμίσεων σας και διορθώστε τις ρυθμίσεις σας."
"text": ""
}
}
}

View File

@@ -1,7 +1,7 @@
{
"descriptor": {
"name": "Dash.",
"description": "Εμφανίζει τα γραφήματα μιας εξωτερικής Dash. μέσα στο Homarr.",
"description": "",
"settings": {
"title": "Ρυθμίσεις για το widget Dash",
"url": {
@@ -105,7 +105,7 @@
"title": "CPU"
},
"ram": {
"title": "Μνήμη RAM"
"title": ""
},
"gpu": {
"title": "GPU"

View File

@@ -0,0 +1,17 @@
{
"descriptor": {
"name": "",
"description": "",
"settings": {
"title": ""
}
},
"noRequests": "",
"pending": "",
"nonePending": "",
"state": {
"approved": "",
"pendingApproval": "",
"declined": ""
}
}

View File

@@ -0,0 +1,14 @@
{
"descriptor": {
"name": "",
"description": "",
"settings": {
"title": ""
}
},
"stats": {
"pending": "",
"tvRequests": "",
"movieRequests": ""
}
}

View File

@@ -1,7 +1,7 @@
{
"descriptor": {
"name": "Ping",
"description": "Εμφανίζει μια ένδειξη κατάστασης ανάλογα με τον κωδικό απόκρισης HTTP μιας δεδομένης διεύθυνσης URL."
"description": ""
},
"states": {
"online": "Online {{response}}",

View File

@@ -5,15 +5,19 @@
"settings": {
"title": "",
"rssFeedUrl": {
"label": "",
"description": ""
},
"refreshInterval": {
"label": ""
}
}
},
"card": {
"errors": {
"general": {
"title": "",
"text": ""
},
"card": {
"errors": {
"general": {
"title": "",
"text": ""
}
}
}
}

View File

@@ -50,7 +50,7 @@
"text": "Προσθέστε έναν υποστηριζόμενης εφαρμογής Torrent για να δείτε τις τρέχουσες λήψεις σας"
},
"generic": {
"title": "Παρουσιάστηκε ένα απροσδόκητο σφάλμα",
"title": "",
"text": "Το Homarr δεν μπόρεσε να επικοινωνήσει με τις εφαρμογές Torrent. Ελέγξτε τις ρυθμίσεις σας"
}
},

View File

@@ -14,7 +14,7 @@
"description": ""
},
"appereance": {
"name": "",
"name": "Εμφάνιση",
"description": ""
}
}

View File

@@ -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": "Η διαμόρφωση δεν διαγράφηκε από το σύστημα αρχείων"
}
}

View File

@@ -2,7 +2,7 @@
"title": "Μηχανή αναζήτησης",
"configurationName": "Διαμόρφωση μηχανής αναζήτησης",
"tips": {
"generalTip": "Υπάρχουν πολλά προθέματα που μπορείτε να χρησιμοποιήσετε! Προσθέτοντας αυτά μπροστά από το ερώτημά σας θα φιλτράρετε τα αποτελέσματα. !s (Web), !t (Torrents), !y (YouTube) και !m (Media).",
"generalTip": "",
"placeholderTip": "%s μπορεί να χρησιμοποιηθεί ως placeholder για το ερώτημα."
},
"customEngine": {

View File

@@ -0,0 +1,14 @@
{
"card": {
"title": "",
"buttons": {
"details": "",
"tryAgain": ""
}
},
"modal": {
"text": "",
"label": "",
"reportButton": ""
}
}

View File

@@ -10,6 +10,7 @@
"changePosition": "Change position",
"remove": "Remove",
"removeConfirm": "Are you sure that you want to remove {{item}}?",
"createItem": "+ create {{item}}",
"sections": {
"settings": "Settings",
"dangerZone": "Danger zone"

View File

@@ -2,6 +2,10 @@
"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",

View File

@@ -39,7 +39,7 @@
"appearance": {
"icon": {
"label": "App Icon",
"description": "Choose a an icon to be displayed on your dashboard. Choose from {{suggestionsCount}} icons or enter your own URL",
"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"

View File

@@ -4,7 +4,7 @@
},
"errors": {
"unmappedOptions": {
"text": "<b>Unused 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": ""
}
}
}

View File

@@ -15,7 +15,7 @@
"card": {
"errors": {
"noUrl": {
"title": "Enter an URL",
"title": "",
"text": "Ensure that you've entered a valid address in the configuration of your widget"
}
}

View 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 an approval.",
"nonePending": "There are currently no pending approvals. You're good to go!",
"state": {
"approved": "Approved",
"pendingApproval": "Pending approval",
"declined": "Declined"
}
}

View 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"
}
}

View File

@@ -1,19 +1,23 @@
{
"descriptor": {
"name": "RSS Widget",
"description": "Grabs the items from a RSS feed and displays them. Commonly used for online news",
"description": "",
"settings": {
"title": "Settings for RSS widget",
"rssFeedUrl": {
"label": "RSS feed url"
"label": "RSS feeds 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."
},
"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."
}
}
}
}

View 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"
}
}

View File

@@ -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"

View File

@@ -2,6 +2,10 @@
"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",

View File

@@ -39,7 +39,7 @@
"appearance": {
"icon": {
"label": "Icono App",
"description": "Elige un icono para mostrarse en tu dashboard. Elige entre {{suggestionsCount}} iconos o introduce tu propia URL",
"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"

View File

@@ -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": ""
}
}
}

View File

@@ -1,7 +1,7 @@
{
"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.",
"url": {
@@ -85,7 +85,7 @@
"noInformation": "No se puede obtener información de Dash. - ¿estás utilizando la última versión?",
"protocolDowngrade": {
"title": "Degradación de protocolo detectada",
"text": "El protocolo de tu instancia Dash. está siendo degradado. Esto es un riesgo de seguridad, debido a que HTTP no está cifrado, y los atacantes pueden abusar de esta conexión. Asegúrate de que Dash. esté ejecutándo en HTTPS también, o degrada Homarr a HTTP (no recomendado)."
"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": {

View File

@@ -1,9 +1,9 @@
{
"descriptor": {
"name": "IFrame",
"name": "iFrame",
"description": "Incrustar cualquier contenido de Internet. Algunos sitios web pueden restringir el acceso.",
"settings": {
"title": "Ajustes de IFrame",
"title": "Ajustes de iFrime",
"embedUrl": {
"label": "URL incrustada"
},
@@ -15,7 +15,7 @@
"card": {
"errors": {
"noUrl": {
"title": "Introducir una URL",
"title": "",
"text": "Asegúrate de que has introducido una dirección válida en la configuración del widget"
}
}

View File

@@ -0,0 +1,17 @@
{
"descriptor": {
"name": "Peticiones de contenido",
"description": "Mostrar una lista de todas las peticiones de contenido de tu instancia Overseerr o Jellyseerr",
"settings": {
"title": "Lista de peticiones de contenido"
}
},
"noRequests": "Peticiones no encontradas. Por favor, asegúrate de tener configuradas tus apps correctamente.",
"pending": "Hay {countPendingApproval} peticiones esperando a ser aprobadas.",
"nonePending": "Actualmente no hay aprobaciones pendientes. ¡Listo!",
"state": {
"approved": "Aprobado",
"pendingApproval": "Aprobación pendiente",
"declined": "Rechazado"
}
}

View File

@@ -0,0 +1,14 @@
{
"descriptor": {
"name": "Estadísticas de petición de contenido",
"description": "Estadísticas de tus peticiones de contenido",
"settings": {
"title": "Estadísticas de peticiones de contenido"
}
},
"stats": {
"pending": "Aprobaciones pendientes",
"tvRequests": "Solicitudes de TV",
"movieRequests": "Solicitudes de películas"
}
}

View File

@@ -1,7 +1,7 @@
{
"descriptor": {
"name": "Latencia",
"description": "Muestra un indicador de estado dependiendo del código de respuesta HTTP the la URL."
"description": "Mostrar un indicador de estado dependiendo del código de respuesta HTTP de una URL dada."
},
"states": {
"online": "En línea {{response}}",

View File

@@ -1,19 +1,23 @@
{
"descriptor": {
"name": "Widget RSS",
"description": "Toma los elementos de una fuente RSS y los muestra. Comúnmente utilizado para noticias en línea",
"description": "",
"settings": {
"title": "Ajustes para el widget RSS",
"rssFeedUrl": {
"label": "url de la fuente RSS"
"label": "URLs de fuentes RSS",
"description": "Las URLs de las fuentes RSS desde las que deseas mostrar."
},
"refreshInterval": {
"label": "Intervalo de refresco (en minutos)"
}
}
},
"card": {
"errors": {
"general": {
"title": "Imposible recuperar la fuente RSS",
"text": "Hubo un problema al comunicarse con la fuente RSS. Asegúrate de haber configurado el feed correctamente y utiliza una URL de RSS válida que coincida con la especificación estándar oficial. Después de actualizar el feed, es posible que debas guardar tu dashboard y actualizar la página."
},
"card": {
"errors": {
"general": {
"title": "Imposible recuperar la fuente RSS",
"text": "Hubo un problema al llegar a la fuente RSS. Asegúrate de haber configurado correctamente la fuente RSS utilizando una URL válida. Las URL deben coincidir con la especificación oficial. Después de actualizar la fuente, es posible que debas actualizar el dashboard."
}
}
}
}

View File

@@ -50,7 +50,7 @@
"text": "Añadir un cliente Torrent soportado para ver tus descargas actuales"
},
"generic": {
"title": "Ocurrió un error inesperado",
"title": "Un error inesperado ha ocurrido",
"text": "Homarr fue incapaz de comunicarse con tus clientes Torrent. Por favor, comprueba tu configuración"
}
},

View File

@@ -5,10 +5,10 @@
"settings": {
"title": "Ajustes del widget de transmisión de video",
"FeedUrl": {
"label": "Feed url"
"label": "Fuente URL"
},
"autoPlay": {
"label": "Auto-reproducción"
"label": "Auto reproducción"
},
"muted": {
"label": "Audio silenciado"

View File

@@ -15,7 +15,7 @@
},
"appereance": {
"name": "Apariencia",
"description": "Personalizar la apariencia del fondo, colores y apps"
"description": "Personaliza el fondo, colores y apariencia de las apps"
}
}
}

View File

@@ -5,22 +5,22 @@
},
"metaTitle": {
"label": "Tarjeta Meta",
"description": "El título, que se muestra como el nombre de tu pestaña"
"description": "El título mostrado en la pestaña de tu navegador"
},
"logo": {
"label": "Logo",
"description": "El logo del dashboard en la parte superior izquierda"
"description": "El logo mostrado en la parte superior izquierda"
},
"favicon": {
"label": "Favicon",
"description": "El icono, que se usa delante del nombre de la pestaña"
"description": "El icono mostrado en la pestaña de tu navegador"
},
"background": {
"label": "Fondo"
},
"customCSS": {
"label": "CSS Personalizado",
"description": "Personalizar todos los elementos de tu dashboard, solo recomendado para usuarios experimentados",
"description": "Ademas, personaliza tu dashboard usando CSS, solo recomendado para usuarios avanzados",
"placeholder": "El CSS personalizado será aplicado en último lugar",
"applying": "Aplicando CSS..."
},

View File

@@ -37,7 +37,7 @@
"confirmDeletion": {
"title": "Confirmar eliminación de tu configuración",
"warningText": "Estás a punto de eliminar '<b>{{configName}}</b>'",
"text": "Por favor, ten en cuenta que la eliminación no es reversible y tus datos serán borrados indefinidamente. Después de hacer clic en el botón, el archivo será eliminado permanentemente del disco. Asegúrate de crear un respaldo adecuado de tu configuración.",
"text": "Por favor, ten en cuenta que la eliminación no es reversible, y tus datos serán perdidos permanentemente. Al presionar el botón, el archivo será eliminado permanentemente del disco. Asegúrate de crear un respaldo adecuado de tu configuración.",
"buttons": {
"confirm": "Si, eliminar '<b>{{configName}}</b>'"
}

View File

@@ -2,7 +2,7 @@
"title": "Motor de búsqueda",
"configurationName": "Configuración del motor de búsqueda",
"tips": {
"generalTip": "¡Hay múltiples prefijos que puedes usar! Añadiendo éstos delante de tu búsqueda, filtrará los resultados. !s (Web), !t (Torrents), !y (YouTube), y !m (Media).",
"generalTip": "¡Hay múltiples prefijos que puedes usar! Añadiéndolos delante de tus consultas, filtrarán los resultados. !s (Web), !t (Torrents), !y (YouTube), and !m (Media).",
"placeholderTip": "%s puede utilizarse como modelo para la petición."
},
"customEngine": {

View File

@@ -0,0 +1,14 @@
{
"card": {
"title": "Ups, ¡hubo un error!",
"buttons": {
"details": "Detalles",
"tryAgain": "Intentar de nuevo"
}
},
"modal": {
"text": "",
"label": "Tu error",
"reportButton": "Reportar este error"
}
}

View File

@@ -10,12 +10,13 @@
"changePosition": "Modifier la position",
"remove": "Supprimer",
"removeConfirm": "Êtes-vous sûr de vouloir supprimer {{item}} ?",
"createItem": "",
"sections": {
"settings": "Paramètres",
"dangerZone": "Zone de danger"
},
"secrets": {
"apiKey": "Clé d'API",
"apiKey": "Clé API",
"username": "Nom d'utilisateur",
"password": "Mot de passe"
},

View File

@@ -2,6 +2,10 @@
"description": "Homarr est un tableau de bord <strong>élégant</strong>, <strong>moderne</strong> qui met toutes vos applications et services au bout de vos doigts. Avec Homarr, vous pouvez accéder et contrôler tout dans un seul endroit. Homarr s'intègre de façon transparente avec les applications que vous avez ajoutées, vous fournissant des informations précieuses et vous donnant un contrôle total. L'installation est un jeu d'enfant, et Homarr prend en charge un large éventail de méthodes de déploiement.",
"contact": "Vous avez des problèmes ou des questions ? Dites-le-nous !",
"addToDashboard": "Ajouter au tableau de bord",
"tip": "",
"key": "",
"action": "",
"keybinds": "",
"metrics": {
"configurationSchemaVersion": "Version de schéma de configuration",
"configurationsCount": "Configurations disponibles",

View File

@@ -1,7 +1,7 @@
{
"tabs": {
"general": "Général",
"behaviour": "Comportement",
"behaviour": "",
"network": "Réseau",
"appearance": "Apparence",
"integration": "Intégration"
@@ -41,12 +41,12 @@
"label": "Icône de lapp",
"description": "",
"autocomplete": {
"title": "",
"text": ""
"title": "Aucun résultat trouvé",
"text": "Essayez d'utiliser un terme de recherche plus spécifique. Si vous ne trouvez pas l'icône souhaitée, collez l'URL de l'image ci-dessus pour obtenir une icône personnalisée"
},
"noItems": {
"title": "",
"text": ""
"text": "Cela peut prendre quelques secondes"
}
}
},

View File

@@ -1,8 +1,6 @@
{
"xPosition": "Position sur l'axe X",
"width": "Largeur",
"height": "Hauteur",
"yPosition": "Position sur l'axe X",
"zeroOrHigher": "0 ou plus",
"betweenXandY": "Entre {{min}} et {{max}}"
}

View File

@@ -4,7 +4,7 @@
},
"errors": {
"unmappedOptions": {
"text": "<b>Un paramètre non utilisé dans votre configuration a été détectée</b><br /><code>{{key}}</code>. Homarr est incapable d'interpréter et d'utiliser ce paramètre. Pour éviter tout comportement inattendu, sauvegardez votre configuration et corrigez-la."
"text": ""
}
}
}

View File

@@ -1,7 +1,7 @@
{
"descriptor": {
"name": "Dash.",
"description": "Affiche les graphiques d'une instance externe de Dash. dans Homarr.",
"description": "",
"settings": {
"title": "Paramètres du widget Dash",
"url": {
@@ -85,7 +85,7 @@
"noInformation": "Impossible d'acquérir des informations de Dash. - Utilisez-vous la dernière version ?",
"protocolDowngrade": {
"title": "Protocole rétrograde détecté (HTTP)",
"text": "Le protocole vers votre instance de Dash. n'est pas en mode sécurisé. Ceci est considéré comme étant un risque de sécurité, puisque HTTP ne supporte pas l'encryption, et des attaquants pourraient en abuser. Assurez-vous que Dash. fonctionne en mode HTTPS, ou retirez le mode HTTPS de Homarr (pas recommandé)."
"text": ""
}
},
"graphs": {

View File

@@ -15,7 +15,7 @@
"card": {
"errors": {
"noUrl": {
"title": "Saisir une URL",
"title": "",
"text": ""
}
}

View File

@@ -0,0 +1,17 @@
{
"descriptor": {
"name": "",
"description": "",
"settings": {
"title": ""
}
},
"noRequests": "",
"pending": "",
"nonePending": "",
"state": {
"approved": "",
"pendingApproval": "",
"declined": ""
}
}

View File

@@ -0,0 +1,14 @@
{
"descriptor": {
"name": "",
"description": "",
"settings": {
"title": ""
}
},
"stats": {
"pending": "",
"tvRequests": "",
"movieRequests": ""
}
}

View File

@@ -1,7 +1,7 @@
{
"descriptor": {
"name": "Ping",
"description": "Affiche un indicateur d'état en fonction du code de réponse HTTP d'une URL donnée."
"description": ""
},
"states": {
"online": "En ligne {{response}}",

View File

@@ -5,15 +5,19 @@
"settings": {
"title": "",
"rssFeedUrl": {
"label": "URL du flux RSS"
"label": "",
"description": ""
},
"refreshInterval": {
"label": ""
}
}
},
"card": {
"errors": {
"general": {
"title": "Impossible de récupérer le flux RSS",
"text": ""
},
"card": {
"errors": {
"general": {
"title": "",
"text": ""
}
}
}
}

View File

@@ -50,7 +50,7 @@
"text": "Ajouter un client Torrent pris en charge pour voir vos téléchargements en cours"
},
"generic": {
"title": "Une erreur inattendue s'est produite",
"title": "",
"text": "Homarr n'a pas pu communiquer avec vos clients Torrent. Veuillez vérifier votre configuration"
}
},

View File

@@ -15,7 +15,7 @@
},
"appereance": {
"name": "Apparence",
"description": "Personnalisez l'arrière-plan, les couleurs et l'apparence des applications"
"description": ""
}
}
}

View File

@@ -5,22 +5,22 @@
},
"metaTitle": {
"label": "Titre Méta",
"description": "Le titre qui est affiché comme nom d'onglet"
"description": "Le titre affiché dans l'onglet de votre navigateur"
},
"logo": {
"label": "Logo",
"description": "Le logo du tableau de bord en haut à gauche"
"description": "Le logo affiché en haut à gauche"
},
"favicon": {
"label": "Favicon",
"description": "L'icône qui est utilisé devant le nom de votre onglet"
"description": "L'icône affichée dans l'onglet de votre navigateur"
},
"background": {
"label": "Fond"
},
"customCSS": {
"label": "CSS personnalisé",
"description": "Personnaliser tous les éléments du tableau de bord, recommandé seulement pour les utilisateurs expérimentés",
"description": "",
"placeholder": "Le CSS personnalisé sera appliqué en dernier",
"applying": "Application du code CSS..."
},

View File

@@ -2,7 +2,7 @@
"title": "Moteur de recherche",
"configurationName": "Configuration du moteur de recherche",
"tips": {
"generalTip": "Il existe plusieurs préfixes que vous pouvez utiliser ! L'ajout de ces préfixes devant votre requête filtrera les résultats. !s (Web), !t (Torrents), !y (YouTube), et !m (Media).",
"generalTip": "Vous pouvez utiliser plusieurs préfixes ! L'ajout de ces préfixes devant votre requête filtrera les résultats. !s (Web), !t (Torrents), !y (YouTube), et !m (Media).",
"placeholderTip": "%s peut être utilisé en tant que placeholder pour la requête."
},
"customEngine": {

View File

@@ -0,0 +1,14 @@
{
"card": {
"title": "",
"buttons": {
"details": "",
"tryAgain": ""
}
},
"modal": {
"text": "",
"label": "",
"reportButton": ""
}
}

View File

@@ -9,7 +9,8 @@
"version": "גרסה",
"changePosition": "שנה מיקום",
"remove": "הסר",
"removeConfirm": "האם אתה בטוח שברצונך להסיר את {{item}} ?",
"removeConfirm": "האם אתה בטוח שברצונך להסיר את {{item}}?",
"createItem": "יצירת שאילתה {{item}}",
"sections": {
"settings": "הגדרות",
"dangerZone": "אזור מסוכן"

View File

@@ -2,6 +2,10 @@
"description": "Homarr הוא לוח מחוונים <strong>אלגנטי</strong>, <strong>מודרני</strong>, אשר שם את כל האפליקציות והשירותים בהישג יד. עם Homarr, ניתן לגשת לכל דבר ולשלוט בו במיקום נוח אחד. Homarr משתלב בצורה חלקה עם האפליקציות, מספק מידע רב ערך ונותן שליטה מלאה. ההתקנה היא קלה ותומכת במגוון רחב של שיטות פריסה.",
"contact": "נתקלת בבעיות או בשאלות? צור איתנו קשר!",
"addToDashboard": "הוספה ללוח מחוונים",
"tip": "מוד מתייחס למקש השינוי שלך, זהו מקש Ctrl ומקש Command/Super/Windows",
"key": "מקש קיצור",
"action": "פעולה",
"keybinds": "שילוב מקשים",
"metrics": {
"configurationSchemaVersion": "גירסת סכימת תצורה",
"configurationsCount": "תצורות זמינות",

View File

@@ -39,7 +39,7 @@
"appearance": {
"icon": {
"label": "סמל אפליקציה",
"description": "בחר סמל שיוצג בלוח המחוונים שלך. ניתן לבחור סמלים מ- {{suggestionsCount}} או הזן כתובת אתר משלך",
"description": "",
"autocomplete": {
"title": "לא נמצאו תוצאות",
"text": "נא להשתמש במונח חיפוש ספציפי יותר. אם הסמל הרצוי לא נמצא ניתן להעתיק את כתובת האתר של התמונה למעלה עבור סמל מותאם אישית"

View File

@@ -4,7 +4,7 @@
},
"errors": {
"unmappedOptions": {
"text": "<b>זוהה פרמטר לא בשימוש בתצורה</b><br /><code>{{key}}</code>. לא ניתן להשתמש בפרמטר זה. כדי להימנע מכל התנהגות בלתי צפויה, גבה ותקן את התצורה."
"text": ""
}
}
}

View File

@@ -1,7 +1,7 @@
{
"descriptor": {
"name": "Dash.",
"description": "מציג נתוני גרפים.",
"description": "מציג מופעי נתוני גרפים מ- Dash בתוך Homarr.",
"settings": {
"title": "הגדרות עבור וידג׳ט Dash.",
"url": {

View File

@@ -1,6 +1,6 @@
{
"descriptor": {
"name": "IFrame",
"name": "iFrame",
"description": "הטמע כל תוכן מהאינטרנט. חלק מהאתרים עשויים להגביל את הגישה.",
"settings": {
"title": "הגדרות IFrame",
@@ -15,7 +15,7 @@
"card": {
"errors": {
"noUrl": {
"title": "הזן קישור",
"title": "",
"text": "ודא שהזנת כתובת חוקית בתצורת הווידג'ט שלך"
}
}

View File

@@ -0,0 +1,17 @@
{
"descriptor": {
"name": "בקשות מדיה",
"description": "ראה רשימה של כל בקשות המדיה ממופע Overseerr או Jellyseerr שלך",
"settings": {
"title": "רשימת בקשות מדיה"
}
},
"noRequests": "לא נמצאו בקשות. אנא ודא שהגדרת את האפליקציות שלך כנדרש.",
"pending": "יש {countPendingApproval} בקשות הממתינות לאישור.",
"nonePending": "אין כרגע אישורים ממתינים. ניתן להמשיך!",
"state": {
"approved": "אושר",
"pendingApproval": "ממתין לאישור",
"declined": "נדחה"
}
}

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