mirror of
https://github.com/seerr-team/seerr.git
synced 2025-12-23 23:58:07 -05:00
style: replaced Overseerr with jellyseerr
This commit is contained in:
@@ -543,8 +543,8 @@
|
||||
],
|
||||
"badgeTemplate": "<a href=\"#contributors-\"><img alt=\"All Contributors\" src=\"https://img.shields.io/badge/all_contributors-<%= contributors.length %>-orange.svg\"/></a>",
|
||||
"contributorsPerLine": 7,
|
||||
"projectName": "overseerr",
|
||||
"projectOwner": "sct",
|
||||
"projectName": "Jellyseerr",
|
||||
"projectOwner": "Fallenbagel",
|
||||
"repoType": "github",
|
||||
"repoHost": "https://github.com",
|
||||
"skipCi": true
|
||||
|
||||
@@ -7,7 +7,6 @@ module.exports = {
|
||||
'plugin:jsx-a11y/recommended',
|
||||
'plugin:react/recommended',
|
||||
'plugin:react-hooks/recommended',
|
||||
'prettier',
|
||||
],
|
||||
parserOptions: {
|
||||
ecmaVersion: 6,
|
||||
@@ -26,7 +25,6 @@ module.exports = {
|
||||
'react-hooks/rules-of-hooks': 'error',
|
||||
'react-hooks/exhaustive-deps': 'warn',
|
||||
'@typescript-eslint/explicit-function-return-type': 'off',
|
||||
'prettier/prettier': ['error', { endOfLine: 'auto' }],
|
||||
'formatjs/no-offset': 'error',
|
||||
'no-unused-vars': 'off',
|
||||
'@typescript-eslint/no-unused-vars': ['error'],
|
||||
@@ -40,7 +38,7 @@ module.exports = {
|
||||
},
|
||||
},
|
||||
],
|
||||
plugins: ['jsx-a11y', 'prettier', 'react-hooks', 'formatjs'],
|
||||
plugins: ['jsx-a11y', 'react-hooks', 'formatjs'],
|
||||
settings: {
|
||||
react: {
|
||||
pragma: 'React',
|
||||
|
||||
4
.husky/commit-msg
Executable file
4
.husky/commit-msg
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
. "$(dirname "$0")/_/husky.sh"
|
||||
|
||||
[[ -n $HUSKY_BYPASS ]] || commitlint -E HUSKY_GIT_PARAMS
|
||||
4
.husky/pre-commit
Executable file
4
.husky/pre-commit
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
. "$(dirname "$0")/_/husky.sh"
|
||||
|
||||
npm test
|
||||
4
.husky/prepare-commit-msg
Executable file
4
.husky/prepare-commit-msg
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
. "$(dirname "$0")/_/husky.sh"
|
||||
|
||||
exec < /dev/tty && git cz --hook || true
|
||||
158
README.md
158
README.md
@@ -1,158 +1,50 @@
|
||||
<p align="center">
|
||||
<img src="./public/logo_full.svg" alt="Overseerr" style="margin: 20px 0;">
|
||||
<img src="https://raw.githubusercontent.com/Fallenbagel/jellyseerr/stable/public/logo.png" alt="Overseerr" style="margin: 20px 0;">
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://github.com/sct/overseerr/workflows/Overseerr%20Release/badge.svg?branch=master" alt="Overseerr Release" />
|
||||
<img src="https://github.com/sct/overseerr/workflows/Overseerr%20CI/badge.svg" alt="Overseerr CI">
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://discord.gg/overseerr"><img src="https://img.shields.io/discord/783137440809746482" alt="Discord"></a>
|
||||
<a href="https://hub.docker.com/r/sctx/overseerr"><img src="https://img.shields.io/docker/pulls/sctx/overseerr" alt="Docker pulls"></a>
|
||||
<a href="https://hosted.weblate.org/engage/overseerr/"><img src="https://hosted.weblate.org/widgets/overseerr/-/overseerr-frontend/svg-badge.svg" alt="Translation status" /></a>
|
||||
<a href="https://lgtm.com/projects/g/sct/overseerr/context:javascript"><img alt="Language grade: JavaScript" src="https://img.shields.io/lgtm/grade/javascript/g/sct/overseerr.svg?logo=lgtm&logoWidth=18"/></a>
|
||||
<a href="https://github.com/sct/overseerr/blob/develop/LICENSE"><img alt="GitHub" src="https://img.shields.io/github/license/sct/overseerr"></a>
|
||||
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
||||
<a href="#contributors-"><img alt="All Contributors" src="https://img.shields.io/badge/all_contributors-58-orange.svg"/></a>
|
||||
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
||||
<a href="https://discord.gg/ckbvBtDJgC"><img src="https://img.shields.io/badge/Discord-Chat-lightgrey" alt="Discord"></a>
|
||||
</p>
|
||||
|
||||
**Overseerr** is a free and open source software application for managing requests for your media library. It integrates with your existing services, such as **[Sonarr](https://sonarr.tv/)**, **[Radarr](https://radarr.video/)**, and **[Plex](https://www.plex.tv/)**!
|
||||
**Jellyseerr** is a free and open source fork of Overseerr for managing requests for your media library. It integrates with your existing services, such as **[Sonarr](https://sonarr.tv/)**, **[Radarr](https://radarr.video/)**, and **[Jellyfin](https://jellyfin.org/)**!
|
||||
|
||||
## Current Features
|
||||
|
||||
- Full Plex integration. Authenticate and manage user access with Plex!
|
||||
- Easy integration with your existing services. Currently, Overseerr supports Sonarr and Radarr. More to come!
|
||||
- Plex library scan, to keep track of the titles which are already available.
|
||||
- Jellyfin support
|
||||
- Easy integration with your existing services. Currently, Jellyseerr supports Sonarr and Radarr.
|
||||
- Jellyfin library scan, to keep track of the titles which are already available.
|
||||
- Customizable request system, which allows users to request individual seasons or movies in a friendly, easy-to-use interface.
|
||||
- Incredibly simple request management UI. Don't dig through the app to simply approve recent requests!
|
||||
- Granular permission system.
|
||||
- Support for various notification agents.
|
||||
- Mobile-friendly design, for when you need to approve requests on the go!
|
||||
|
||||
With more features on the way! Check out our [issue tracker](https://github.com/sct/overseerr/issues) to see the features which have already been requested.
|
||||
Check out our [issue tracker](https://github.com/Fallenbagel/jellyseerr/issues).
|
||||
|
||||
## Supported Architectures
|
||||
|
||||
Jellyseerr image support multiple architectures such as x86-64, arm64 and armv7.
|
||||
|
||||
| **Architecture** | **Tag** |
|
||||
| ---------------- | ------- |
|
||||
| x86-64 | latest |
|
||||
| ARM64 | arm |
|
||||
| ARMv7 | armv7 |
|
||||
|
||||
## Getting Started
|
||||
|
||||
Check out our documentation for instructions on how to install and run Overseerr:
|
||||
|
||||
https://docs.overseerr.dev/getting-started/installation
|
||||
|
||||
## Preview
|
||||
|
||||
<img src="./public/preview.jpg">
|
||||
Check out our dockerhub for instructions on how to install and run Jellyseerr:
|
||||
https://hub.docker.com/r/fallenbagel/jellyseerr
|
||||
|
||||
## Support
|
||||
|
||||
- Check out the [Overseerr Documentation](https://docs.overseerr.dev/) before asking for help. Your question might already be in the [FAQ](https://docs.overseerr.dev/support/faq).
|
||||
- You can get support on [Discord](https://discord.gg/overseerr).
|
||||
- You can ask questions in the Help category of our [GitHub Discussions](https://github.com/sct/overseerr/discussions).
|
||||
- You can get support on [Discord](https://discord.gg/ckbvBtDJgC).
|
||||
- Bug reports and feature requests can be submitted via [GitHub Issues](https://github.com/sct/overseerr/issues).
|
||||
|
||||
## API Documentation
|
||||
|
||||
Our documentation is built on every commit and hosted at https://api-docs.overseerr.dev
|
||||
|
||||
You can also access the API documentation from your local Overseerr install at http://localhost:5055/api-docs
|
||||
|
||||
## Community
|
||||
|
||||
You can ask questions, share ideas, and more in [GitHub Discussions](https://github.com/sct/overseerr/discussions).
|
||||
|
||||
If you would like to chat with other members of our growing community, [join the Overseerr Discord server](https://discord.gg/overseerr)!
|
||||
|
||||
Our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_CONDUCT.md) applies to all Overseerr community channels.
|
||||
|
||||
## Contributing
|
||||
|
||||
You can help improve Overseerr too! Check out our [Contribution Guide](https://github.com/sct/overseerr/blob/develop/CONTRIBUTING.md) to get started.
|
||||
|
||||
## Contributors ✨
|
||||
|
||||
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
|
||||
|
||||
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
|
||||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center"><a href="https://sct.dev"><img src="https://avatars1.githubusercontent.com/u/234213?v=4?s=100" width="100px;" alt=""/><br /><sub><b>sct</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=sct" title="Code">💻</a> <a href="#design-sct" title="Design">🎨</a> <a href="#ideas-sct" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center"><a href="https://github.com/azoitos"><img src="https://avatars2.githubusercontent.com/u/26529049?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Alex Zoitos</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=azoitos" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/OwsleyJr"><img src="https://avatars3.githubusercontent.com/u/8635678?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Brandon Cohen</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=OwsleyJr" title="Code">💻</a> <a href="https://github.com/sct/overseerr/commits?author=OwsleyJr" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/Ahreluth"><img src="https://avatars2.githubusercontent.com/u/75682440?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ahreluth</b></sub></a><br /><a href="#translation-Ahreluth" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="https://github.com/KovalevArtem"><img src="https://avatars0.githubusercontent.com/u/36500228?v=4?s=100" width="100px;" alt=""/><br /><sub><b>KovalevArtem</b></sub></a><br /><a href="#translation-KovalevArtem" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="https://github.com/GiyomuWeb"><img src="https://avatars0.githubusercontent.com/u/62489209?v=4?s=100" width="100px;" alt=""/><br /><sub><b>GiyomuWeb</b></sub></a><br /><a href="#translation-GiyomuWeb" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="https://github.com/angrycuban13"><img src="https://avatars3.githubusercontent.com/u/39564898?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Angry Cuban</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=angrycuban13" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/jvennik"><img src="https://avatars3.githubusercontent.com/u/6672637?v=4?s=100" width="100px;" alt=""/><br /><sub><b>jvennik</b></sub></a><br /><a href="#translation-jvennik" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="https://github.com/darknessgp"><img src="https://avatars0.githubusercontent.com/u/1521243?v=4?s=100" width="100px;" alt=""/><br /><sub><b>darknessgp</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=darknessgp" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/saltydk"><img src="https://avatars1.githubusercontent.com/u/6587950?v=4?s=100" width="100px;" alt=""/><br /><sub><b>salty</b></sub></a><br /><a href="#infra-saltydk" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
||||
<td align="center"><a href="https://github.com/Shutruk"><img src="https://avatars2.githubusercontent.com/u/9198633?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Shutruk</b></sub></a><br /><a href="#translation-Shutruk" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="https://github.com/krystiancharubin"><img src="https://avatars2.githubusercontent.com/u/17775600?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Krystian Charubin</b></sub></a><br /><a href="#design-krystiancharubin" title="Design">🎨</a></td>
|
||||
<td align="center"><a href="https://github.com/kieron"><img src="https://avatars2.githubusercontent.com/u/8655212?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kieron Boswell</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=kieron" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/samwiseg0"><img src="https://avatars1.githubusercontent.com/u/2241731?v=4?s=100" width="100px;" alt=""/><br /><sub><b>samwiseg0</b></sub></a><br /><a href="#question-samwiseg0" title="Answering Questions">💬</a> <a href="#infra-samwiseg0" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/ecelebi29"><img src="https://avatars2.githubusercontent.com/u/8337120?v=4?s=100" width="100px;" alt=""/><br /><sub><b>ecelebi29</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=ecelebi29" title="Code">💻</a> <a href="https://github.com/sct/overseerr/commits?author=ecelebi29" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/mmozeiko"><img src="https://avatars3.githubusercontent.com/u/1665010?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Mārtiņš Možeiko</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=mmozeiko" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/mazzetta86"><img src="https://avatars2.githubusercontent.com/u/45591560?v=4?s=100" width="100px;" alt=""/><br /><sub><b>mazzetta86</b></sub></a><br /><a href="#translation-mazzetta86" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="https://github.com/Panzer1119"><img src="https://avatars1.githubusercontent.com/u/23016343?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Paul Hagedorn</b></sub></a><br /><a href="#translation-Panzer1119" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="https://github.com/Shagon94"><img src="https://avatars3.githubusercontent.com/u/9140783?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Shagon94</b></sub></a><br /><a href="#translation-Shagon94" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="https://github.com/sebstrgg"><img src="https://avatars3.githubusercontent.com/u/27026694?v=4?s=100" width="100px;" alt=""/><br /><sub><b>sebstrgg</b></sub></a><br /><a href="#translation-sebstrgg" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="https://github.com/danshilm"><img src="https://avatars2.githubusercontent.com/u/20923978?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Danshil Mungur</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=danshilm" title="Code">💻</a> <a href="https://github.com/sct/overseerr/commits?author=danshilm" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/doob187"><img src="https://avatars1.githubusercontent.com/u/60312740?v=4?s=100" width="100px;" alt=""/><br /><sub><b>doob187</b></sub></a><br /><a href="#infra-doob187" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
||||
<td align="center"><a href="https://github.com/johnpyp"><img src="https://avatars2.githubusercontent.com/u/20625636?v=4?s=100" width="100px;" alt=""/><br /><sub><b>johnpyp</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=johnpyp" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/ankarhem"><img src="https://avatars1.githubusercontent.com/u/14110063?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jakob Ankarhem</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=ankarhem" title="Documentation">📖</a> <a href="https://github.com/sct/overseerr/commits?author=ankarhem" title="Code">💻</a> <a href="#translation-ankarhem" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="https://github.com/jayesh100"><img src="https://avatars1.githubusercontent.com/u/8022175?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jayesh</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=jayesh100" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/flying-sausages"><img src="https://avatars1.githubusercontent.com/u/23618693?v=4?s=100" width="100px;" alt=""/><br /><sub><b>flying-sausages</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=flying-sausages" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/hirenshah"><img src="https://avatars2.githubusercontent.com/u/418112?v=4?s=100" width="100px;" alt=""/><br /><sub><b>hirenshah</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=hirenshah" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/TheCatLady"><img src="https://avatars0.githubusercontent.com/u/52870424?v=4?s=100" width="100px;" alt=""/><br /><sub><b>TheCatLady</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=TheCatLady" title="Code">💻</a> <a href="#translation-TheCatLady" title="Translation">🌍</a> <a href="https://github.com/sct/overseerr/commits?author=TheCatLady" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/chriscpritchard"><img src="https://avatars1.githubusercontent.com/u/1839074?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Chris Pritchard</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=chriscpritchard" title="Code">💻</a> <a href="https://github.com/sct/overseerr/commits?author=chriscpritchard" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/Tamberlox"><img src="https://avatars3.githubusercontent.com/u/56069014?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Tamberlox</b></sub></a><br /><a href="#translation-Tamberlox" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="https://hmnd.io"><img src="https://avatars.githubusercontent.com/u/12853597?v=4?s=100" width="100px;" alt=""/><br /><sub><b>David</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=hmnd" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://www.douglas-parker.com"><img src="https://avatars.githubusercontent.com/u/18235822?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Douglas Parker</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=douglasparker" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/dancarter"><img src="https://avatars.githubusercontent.com/u/4387516?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Daniel Carter</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=dancarter" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://nuro.dev"><img src="https://avatars.githubusercontent.com/u/4991309?v=4?s=100" width="100px;" alt=""/><br /><sub><b>nuro</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=NuroDev" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/onedr0p"><img src="https://avatars.githubusercontent.com/u/213795?v=4?s=100" width="100px;" alt=""/><br /><sub><b>ᗪєνιη ᗷυнʟ</b></sub></a><br /><a href="#infra-onedr0p" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/JonnyWong16"><img src="https://avatars.githubusercontent.com/u/9099342?v=4?s=100" width="100px;" alt=""/><br /><sub><b>JonnyWong16</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=JonnyWong16" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/Roxedus"><img src="https://avatars.githubusercontent.com/u/7110194?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Roxedus</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=Roxedus" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/WoisWoi"><img src="https://avatars.githubusercontent.com/u/75491231?v=4?s=100" width="100px;" alt=""/><br /><sub><b>WoisWoi</b></sub></a><br /><a href="#translation-WoisWoi" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="https://github.com/HubDuck"><img src="https://avatars.githubusercontent.com/u/77843475?v=4?s=100" width="100px;" alt=""/><br /><sub><b>HubDuck</b></sub></a><br /><a href="#translation-HubDuck" title="Translation">🌍</a> <a href="https://github.com/sct/overseerr/commits?author=HubDuck" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/costaht"><img src="https://avatars.githubusercontent.com/u/50637431?v=4?s=100" width="100px;" alt=""/><br /><sub><b>costaht</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=costaht" title="Documentation">📖</a> <a href="#translation-costaht" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="https://github.com/Shjosan"><img src="https://avatars.githubusercontent.com/u/20847626?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Shjosan</b></sub></a><br /><a href="#translation-Shjosan" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="https://github.com/kobaubarr"><img src="https://avatars.githubusercontent.com/u/28481522?v=4?s=100" width="100px;" alt=""/><br /><sub><b>kobaubarr</b></sub></a><br /><a href="#translation-kobaubarr" title="Translation">🌍</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/notorius28"><img src="https://avatars.githubusercontent.com/u/1621513?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ricardo González</b></sub></a><br /><a href="#translation-notorius28" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="http://torkili.uz"><img src="https://avatars.githubusercontent.com/u/460764?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Torkil</b></sub></a><br /><a href="#translation-Torkiliuz" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="https://www.jagandeepbrar.io"><img src="https://avatars.githubusercontent.com/u/3048295?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jagandeep Brar</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=JagandeepBrar" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="http://dtalens.com"><img src="https://avatars.githubusercontent.com/u/6631832?v=4?s=100" width="100px;" alt=""/><br /><sub><b>dtalens</b></sub></a><br /><a href="#translation-dtalens" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="https://github.com/acortelyou"><img src="https://avatars.githubusercontent.com/u/1689668?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Alex Cortelyou</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=acortelyou" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://nz.linkedin.com/in/jonocairns"><img src="https://avatars.githubusercontent.com/u/182836?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jono Cairns</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=jonocairns" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://scias.net/"><img src="https://avatars.githubusercontent.com/u/439655?v=4?s=100" width="100px;" alt=""/><br /><sub><b>DJScias</b></sub></a><br /><a href="#translation-DJScias" title="Translation">🌍</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/Dabu-dot"><img src="https://avatars.githubusercontent.com/u/52525576?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Dabu-dot</b></sub></a><br /><a href="#translation-Dabu-dot" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="https://github.com/Jabster28"><img src="https://avatars.githubusercontent.com/u/29015942?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jabster28</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=Jabster28" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/littlerooster"><img src="https://avatars.githubusercontent.com/u/83890654?v=4?s=100" width="100px;" alt=""/><br /><sub><b>littlerooster</b></sub></a><br /><a href="#translation-littlerooster" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="https://github.com/dphildebrandt"><img src="https://avatars.githubusercontent.com/u/154459?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Dustin Hildebrandt</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=dphildebrandt" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/Generator"><img src="https://avatars.githubusercontent.com/u/44146?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Bruno Guerreiro</b></sub></a><br /><a href="#translation-Generator" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="https://github.com/iceHtwoO"><img src="https://avatars.githubusercontent.com/u/27020492?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Alexander Neuhäuser</b></sub></a><br /><a href="#translation-iceHtwoO" title="Translation">🌍</a></td>
|
||||
<td align="center"><a href="http://www.unext.co.jp"><img src="https://avatars.githubusercontent.com/u/37431541?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Livio</b></sub></a><br /><a href="#design-liviokanone" title="Design">🎨</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/tangentThought"><img src="https://avatars.githubusercontent.com/u/25516090?v=4?s=100" width="100px;" alt=""/><br /><sub><b>tangentThought</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=tangentThought" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/nicospz"><img src="https://avatars.githubusercontent.com/u/31373060?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nicolás Espinoza</b></sub></a><br /><a href="https://github.com/sct/overseerr/commits?author=nicospz" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- markdownlint-restore -->
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
||||
## Buy me a Coffee!
|
||||
|
||||
If you like jellyseerr and want to help maintain it, please buy me a coffee as it would help me out a lot!
|
||||
|
||||
[](https://www.buymeacoffee.com/fallen.bagel)
|
||||
|
||||
@@ -83,7 +83,7 @@ class GithubAPI extends ExternalAPI {
|
||||
} = {}): Promise<GitHubRelease[]> {
|
||||
try {
|
||||
const data = await this.get<GitHubRelease[]>(
|
||||
'/repos/sct/overseerr/releases',
|
||||
'/repos/Fallenbagel/jellyseerr/releases',
|
||||
{
|
||||
params: {
|
||||
per_page: take,
|
||||
@@ -110,7 +110,7 @@ class GithubAPI extends ExternalAPI {
|
||||
} = {}): Promise<GithubCommit[]> {
|
||||
try {
|
||||
const data = await this.get<GithubCommit[]>(
|
||||
'/repos/sct/overseerr/commits',
|
||||
'/repos/Fallenbagel/jellyseerr/commits',
|
||||
{
|
||||
params: {
|
||||
per_page: take,
|
||||
@@ -122,7 +122,7 @@ class GithubAPI extends ExternalAPI {
|
||||
return data;
|
||||
} catch (e) {
|
||||
logger.warn(
|
||||
"Failed to retrieve GitHub commits. This may be an issue on GitHub's end. Overseerr can't check if it's on the latest version.",
|
||||
"Failed to retrieve GitHub commits. This may be an issue on GitHub's end. Jellyseerr can't check if it's on the latest version.",
|
||||
{ label: 'GitHub API', errorMessage: e.message }
|
||||
);
|
||||
return [];
|
||||
|
||||
@@ -81,9 +81,9 @@ class JellyfinAPI {
|
||||
|
||||
let authHeaderVal = '';
|
||||
if (this.authToken) {
|
||||
authHeaderVal = `MediaBrowser Client="Overseerr", Device="Axios", DeviceId="${deviceId}", Version="10.8.0", Token="${authToken}"`;
|
||||
authHeaderVal = `MediaBrowser Client="Jellyseerr", Device="Axios", DeviceId="${deviceId}", Version="10.8.0", Token="${authToken}"`;
|
||||
} else {
|
||||
authHeaderVal = `MediaBrowser Client="Overseerr", Device="Axios", DeviceId="${deviceId}", Version="10.8.0"`;
|
||||
authHeaderVal = `MediaBrowser Client="Jellyseerr", Device="Axios", DeviceId="${deviceId}", Version="10.8.0"`;
|
||||
}
|
||||
|
||||
this.axios = axios.create({
|
||||
|
||||
@@ -122,9 +122,9 @@ class PlexAPI {
|
||||
// },
|
||||
options: {
|
||||
identifier: settings.clientId,
|
||||
product: 'Overseerr',
|
||||
deviceName: 'Overseerr',
|
||||
platform: 'Overseerr',
|
||||
product: 'Jellyseerr',
|
||||
deviceName: 'Jellyseerr',
|
||||
platform: 'Jellyseerr',
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ import { getAppVersion } from './utils/appVersion';
|
||||
|
||||
const API_SPEC_PATH = path.join(__dirname, '../overseerr-api.yml');
|
||||
|
||||
logger.info(`Starting Overseerr version ${getAppVersion()}`);
|
||||
logger.info(`Starting Jellyseerr version ${getAppVersion()}`);
|
||||
const dev = process.env.NODE_ENV !== 'production';
|
||||
const app = next({ dev });
|
||||
const handle = app.getRequestHandler();
|
||||
|
||||
@@ -43,7 +43,8 @@ interface SlackBlockEmbed {
|
||||
|
||||
class SlackAgent
|
||||
extends BaseAgent<NotificationAgentSlack>
|
||||
implements NotificationAgent {
|
||||
implements NotificationAgent
|
||||
{
|
||||
protected getSettings(): NotificationAgentSlack {
|
||||
if (this.settings) {
|
||||
return this.settings;
|
||||
@@ -202,7 +203,7 @@ class SlackAgent
|
||||
action_id: 'button-action',
|
||||
type: 'button',
|
||||
url: actionUrl,
|
||||
value: 'open_overseerr',
|
||||
value: 'open_jellyseerr',
|
||||
text: {
|
||||
type: 'plain_text',
|
||||
text: `Open in ${settings.main.applicationTitle}`,
|
||||
|
||||
@@ -254,7 +254,7 @@ class Settings {
|
||||
vapidPublic: '',
|
||||
main: {
|
||||
apiKey: '',
|
||||
applicationTitle: 'Overseerr',
|
||||
applicationTitle: 'Jellyseerr',
|
||||
applicationUrl: '',
|
||||
csrfProtection: false,
|
||||
cacheImages: false,
|
||||
@@ -303,7 +303,7 @@ class Settings {
|
||||
ignoreTls: false,
|
||||
requireTls: false,
|
||||
allowSelfSigned: false,
|
||||
senderName: 'Overseerr',
|
||||
senderName: 'Jellyseerr',
|
||||
},
|
||||
},
|
||||
discord: {
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import * as winston from 'winston';
|
||||
import 'winston-daily-rotate-file';
|
||||
import path from 'path';
|
||||
import fs from 'fs';
|
||||
|
||||
// Migrate away from old log
|
||||
const OLD_LOG_FILE = path.join(__dirname, '../config/logs/overseerr.log');
|
||||
const OLD_LOG_FILE = path.join(__dirname, '../config/logs/Jellyseerr.log');
|
||||
if (fs.existsSync(OLD_LOG_FILE)) {
|
||||
const file = fs.lstatSync(OLD_LOG_FILE);
|
||||
|
||||
@@ -43,14 +43,14 @@ const logger = winston.createLogger({
|
||||
}),
|
||||
new winston.transports.DailyRotateFile({
|
||||
filename: process.env.CONFIG_DIRECTORY
|
||||
? `${process.env.CONFIG_DIRECTORY}/logs/overseerr-%DATE%.log`
|
||||
: path.join(__dirname, '../config/logs/overseerr-%DATE%.log'),
|
||||
? `${process.env.CONFIG_DIRECTORY}/logs/Jellyseerr-%DATE%.log`
|
||||
: path.join(__dirname, '../config/logs/Jellyseerr-%DATE%.log'),
|
||||
datePattern: 'YYYY-MM-DD',
|
||||
zippedArchive: true,
|
||||
maxSize: '20m',
|
||||
maxFiles: '7d',
|
||||
createSymlink: true,
|
||||
symlinkName: 'overseerr.log',
|
||||
symlinkName: 'Jellyseerr.log',
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
@@ -102,7 +102,7 @@ authRoutes.post('/plex', async (req, res, next) => {
|
||||
if (!user) {
|
||||
if (!settings.main.newPlexLogin) {
|
||||
logger.info(
|
||||
'Failed sign-in attempt from user who has not been imported to Overseerr.',
|
||||
'Failed sign-in attempt from user who has not been imported to Jellyseerr.',
|
||||
{
|
||||
label: 'Auth',
|
||||
account: {
|
||||
@@ -214,7 +214,7 @@ authRoutes.post('/jellyfin', async (req, res, next) => {
|
||||
if (user) {
|
||||
deviceId = user.jellyfinDeviceId ?? '';
|
||||
} else {
|
||||
deviceId = Buffer.from(`BOT_overseerr_${body.username ?? ''}`).toString(
|
||||
deviceId = Buffer.from(`BOT_jellyseerr_${body.username ?? ''}`).toString(
|
||||
'base64'
|
||||
);
|
||||
}
|
||||
|
||||
@@ -162,7 +162,7 @@ router.get('/genres/tv', isAuthenticated(), async (req, res) => {
|
||||
|
||||
router.get('/', (_req, res) => {
|
||||
return res.status(200).json({
|
||||
api: 'Overseerr API',
|
||||
api: 'Jellyseerr API',
|
||||
version: '1.0',
|
||||
});
|
||||
});
|
||||
|
||||
@@ -325,8 +325,8 @@ settingsRoutes.get(
|
||||
}
|
||||
|
||||
const logFile = process.env.CONFIG_DIRECTORY
|
||||
? `${process.env.CONFIG_DIRECTORY}/logs/overseerr.log`
|
||||
: path.join(__dirname, '../../../config/logs/overseerr.log');
|
||||
? `${process.env.CONFIG_DIRECTORY}/logs/jellyseerr.log`
|
||||
: path.join(__dirname, '../../../config/logs/jellyseerr.log');
|
||||
const logs: LogMessage[] = [];
|
||||
|
||||
try {
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
name: overseerr
|
||||
adopt-info: overseerr
|
||||
name: jellyseerr
|
||||
adopt-info: jellyseerr
|
||||
license: MIT
|
||||
summary: Request management and media discovery tool for the Plex ecosystem.
|
||||
description: >
|
||||
Overseerr is a free and open source software application for managing requests for your media library.
|
||||
Jellyseerr is a free and open source software application for managing requests for your media library.
|
||||
It integrates with your existing services such as Sonarr, Radarr and Plex!
|
||||
base: core18
|
||||
confinement: strict
|
||||
|
||||
parts:
|
||||
overseerr:
|
||||
jellyseerr:
|
||||
plugin: nodejs
|
||||
nodejs-version: '14.17.0'
|
||||
nodejs-package-manager: 'yarn'
|
||||
@@ -88,7 +88,7 @@ apps:
|
||||
- network-bind
|
||||
environment:
|
||||
PATH: '$SNAP/usr/sbin:$SNAP/usr/bin:$SNAP/sbin:$SNAP/bin:$PATH'
|
||||
OVERSEERR_SNAP: 'True'
|
||||
JELLYSEERR_SNAP: 'True'
|
||||
CONFIG_DIRECTORY: $SNAP_USER_COMMON
|
||||
LOG_LEVEL: 'debug'
|
||||
NODE_ENV: 'production'
|
||||
|
||||
@@ -60,9 +60,8 @@ const CollectionDetails: React.FC<CollectionDetailsProps> = ({
|
||||
}
|
||||
);
|
||||
|
||||
const { data: genres } = useSWR<{ id: number; name: string }[]>(
|
||||
`/api/v1/genres/movie`
|
||||
);
|
||||
const { data: genres } =
|
||||
useSWR<{ id: number; name: string }[]>(`/api/v1/genres/movie`);
|
||||
|
||||
if (!data && !error) {
|
||||
return <LoadingSpinner />;
|
||||
|
||||
@@ -35,13 +35,11 @@ const Discover: React.FC = () => {
|
||||
{ revalidateOnMount: true }
|
||||
);
|
||||
|
||||
const {
|
||||
data: requests,
|
||||
error: requestError,
|
||||
} = useSWR<RequestResultsResponse>(
|
||||
'/api/v1/request?filter=all&take=10&sort=modified&skip=0',
|
||||
{ revalidateOnMount: true }
|
||||
);
|
||||
const { data: requests, error: requestError } =
|
||||
useSWR<RequestResultsResponse>(
|
||||
'/api/v1/request?filter=all&take=10&sort=modified&skip=0',
|
||||
{ revalidateOnMount: true }
|
||||
);
|
||||
|
||||
return (
|
||||
<>
|
||||
|
||||
@@ -65,9 +65,11 @@ const LanguagePicker: React.FC = () => {
|
||||
}
|
||||
defaultValue={locale}
|
||||
>
|
||||
{(Object.keys(
|
||||
availableLanguages
|
||||
) as (keyof typeof availableLanguages)[]).map((key) => (
|
||||
{(
|
||||
Object.keys(
|
||||
availableLanguages
|
||||
) as (keyof typeof availableLanguages)[]
|
||||
).map((key) => (
|
||||
<option key={key} value={availableLanguages[key].code}>
|
||||
{availableLanguages[key].display}
|
||||
</option>
|
||||
|
||||
@@ -11,8 +11,8 @@ import useSWR from 'swr';
|
||||
import { StatusResponse } from '../../../../server/interfaces/api/settingsInterfaces';
|
||||
|
||||
const messages = defineMessages({
|
||||
streamdevelop: 'Overseerr Develop',
|
||||
streamstable: 'Overseerr Stable',
|
||||
streamdevelop: 'Jellyseerr Develop',
|
||||
streamstable: 'Jellyseerr Stable',
|
||||
outofdate: 'Out of Date',
|
||||
commitsbehind:
|
||||
'{commitsBehind} {commitsBehind, plural, one {commit} other {commits}} behind',
|
||||
|
||||
@@ -106,9 +106,10 @@ const MovieDetails: React.FC<MovieDetailsProps> = ({ movie }) => {
|
||||
`/api/v1/movie/${router.query.movieId}/ratings`
|
||||
);
|
||||
|
||||
const sortedCrew = useMemo(() => sortCrewPriority(data?.credits.crew ?? []), [
|
||||
data,
|
||||
]);
|
||||
const sortedCrew = useMemo(
|
||||
() => sortCrewPriority(data?.credits.crew ?? []),
|
||||
[data]
|
||||
);
|
||||
|
||||
if (!data && !error) {
|
||||
return <LoadingSpinner />;
|
||||
|
||||
@@ -164,10 +164,13 @@ const PWAHeader: React.FC<PWAHeaderProps> = ({ applicationTitle }) => {
|
||||
href="/site.webmanifest"
|
||||
crossOrigin="use-credentials"
|
||||
/>
|
||||
<meta name="application-name" content={applicationTitle ?? 'Overseerr'} />
|
||||
<meta
|
||||
name="application-name"
|
||||
content={applicationTitle ?? 'Jellyseerr'}
|
||||
/>
|
||||
<meta
|
||||
name="apple-mobile-web-app-title"
|
||||
content={applicationTitle ?? 'Overseerr'}
|
||||
content={applicationTitle ?? 'Jellyseerr'}
|
||||
/>
|
||||
<meta
|
||||
name="description"
|
||||
|
||||
@@ -9,13 +9,13 @@ export const messages = defineMessages({
|
||||
'Full administrator access. Bypasses all other permission checks.',
|
||||
users: 'Manage Users',
|
||||
usersDescription:
|
||||
'Grant permission to manage Overseerr users. Users with this permission cannot modify users with or grant the Admin privilege.',
|
||||
'Grant permission to manage Jellyseerr users. Users with this permission cannot modify users with or grant the Admin privilege.',
|
||||
settings: 'Manage Settings',
|
||||
settingsDescription:
|
||||
'Grant permission to modify Overseerr settings. A user must have this permission to grant it to others.',
|
||||
'Grant permission to modify Jellyseerr settings. A user must have this permission to grant it to others.',
|
||||
managerequests: 'Manage Requests',
|
||||
managerequestsDescription:
|
||||
'Grant permission to manage Overseerr requests. All requests made by a user with this permission will be automatically approved.',
|
||||
'Grant permission to manage Jellyseerr requests. All requests made by a user with this permission will be automatically approved.',
|
||||
request: 'Request',
|
||||
requestDescription: 'Grant permission to request non-4K media.',
|
||||
requestMovies: 'Request Movies',
|
||||
|
||||
@@ -32,12 +32,10 @@ const PersonDetails: React.FC = () => {
|
||||
);
|
||||
const [showBio, setShowBio] = useState(false);
|
||||
|
||||
const {
|
||||
data: combinedCredits,
|
||||
error: errorCombinedCredits,
|
||||
} = useSWR<PersonCombinedCreditsResponse>(
|
||||
`/api/v1/person/${router.query.personId}/combined_credits`
|
||||
);
|
||||
const { data: combinedCredits, error: errorCombinedCredits } =
|
||||
useSWR<PersonCombinedCreditsResponse>(
|
||||
`/api/v1/person/${router.query.personId}/combined_credits`
|
||||
);
|
||||
|
||||
const sortedCast = useMemo(() => {
|
||||
const grouped = groupBy(combinedCredits?.cast ?? [], 'id');
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
import axios from 'axios';
|
||||
import Link from 'next/link';
|
||||
import React, { useContext, useState } from 'react';
|
||||
import { useInView } from 'react-intersection-observer';
|
||||
import type { MediaRequest } from '../../../../server/entity/MediaRequest';
|
||||
import {
|
||||
useIntl,
|
||||
defineMessages,
|
||||
FormattedDate,
|
||||
FormattedRelativeTime,
|
||||
defineMessages,
|
||||
useIntl,
|
||||
} from 'react-intl';
|
||||
import { useUser, Permission } from '../../../hooks/useUser';
|
||||
import { LanguageContext } from '../../../context/LanguageContext';
|
||||
import type { MovieDetails } from '../../../../server/models/Movie';
|
||||
import type { TvDetails } from '../../../../server/models/Tv';
|
||||
import { useToasts } from 'react-toast-notifications';
|
||||
import useSWR from 'swr';
|
||||
import Badge from '../../Common/Badge';
|
||||
import StatusBadge from '../../StatusBadge';
|
||||
import Table from '../../Common/Table';
|
||||
import {
|
||||
MediaRequestStatus,
|
||||
MediaStatus,
|
||||
} from '../../../../server/constants/media';
|
||||
import Button from '../../Common/Button';
|
||||
import axios from 'axios';
|
||||
import type { MediaRequest } from '../../../../server/entity/MediaRequest';
|
||||
import type { MovieDetails } from '../../../../server/models/Movie';
|
||||
import type { TvDetails } from '../../../../server/models/Tv';
|
||||
import { LanguageContext } from '../../../context/LanguageContext';
|
||||
import { Permission, useUser } from '../../../hooks/useUser';
|
||||
import globalMessages from '../../../i18n/globalMessages';
|
||||
import Link from 'next/link';
|
||||
import { useToasts } from 'react-toast-notifications';
|
||||
import Badge from '../../Common/Badge';
|
||||
import Button from '../../Common/Button';
|
||||
import Table from '../../Common/Table';
|
||||
import RequestModal from '../../RequestModal';
|
||||
import StatusBadge from '../../StatusBadge';
|
||||
|
||||
const messages = defineMessages({
|
||||
seasons: 'Seasons',
|
||||
@@ -60,12 +60,13 @@ const RequestItem: React.FC<RequestItemProps> = ({
|
||||
const { data: title, error } = useSWR<MovieDetails | TvDetails>(
|
||||
inView ? `${url}?language=${locale}` : null
|
||||
);
|
||||
const { data: requestData, revalidate, mutate } = useSWR<MediaRequest>(
|
||||
`/api/v1/request/${request.id}`,
|
||||
{
|
||||
initialData: request,
|
||||
}
|
||||
);
|
||||
const {
|
||||
data: requestData,
|
||||
revalidate,
|
||||
mutate,
|
||||
} = useSWR<MediaRequest>(`/api/v1/request/${request.id}`, {
|
||||
initialData: request,
|
||||
});
|
||||
|
||||
const [isRetrying, setRetrying] = useState(false);
|
||||
|
||||
|
||||
@@ -97,21 +97,19 @@ const AdvancedRequester: React.FC<AdvancedRequesterProps> = ({
|
||||
defaultOverrides?.tags ?? []
|
||||
);
|
||||
|
||||
const {
|
||||
data: serverData,
|
||||
isValidating,
|
||||
} = useSWR<ServiceCommonServerWithDetails>(
|
||||
selectedServer !== null
|
||||
? `/api/v1/service/${
|
||||
type === 'movie' ? 'radarr' : 'sonarr'
|
||||
}/${selectedServer}`
|
||||
: null,
|
||||
{
|
||||
refreshInterval: 0,
|
||||
refreshWhenHidden: false,
|
||||
revalidateOnFocus: false,
|
||||
}
|
||||
);
|
||||
const { data: serverData, isValidating } =
|
||||
useSWR<ServiceCommonServerWithDetails>(
|
||||
selectedServer !== null
|
||||
? `/api/v1/service/${
|
||||
type === 'movie' ? 'radarr' : 'sonarr'
|
||||
}/${selectedServer}`
|
||||
: null,
|
||||
{
|
||||
refreshInterval: 0,
|
||||
refreshWhenHidden: false,
|
||||
revalidateOnFocus: false,
|
||||
}
|
||||
);
|
||||
|
||||
const [selectedUser, setSelectedUser] = useState<User | null>(
|
||||
requestUser ?? null
|
||||
|
||||
@@ -51,10 +51,8 @@ const MovieRequestModal: React.FC<RequestModalProps> = ({
|
||||
is4k = false,
|
||||
}) => {
|
||||
const [isUpdating, setIsUpdating] = useState(false);
|
||||
const [
|
||||
requestOverrides,
|
||||
setRequestOverrides,
|
||||
] = useState<RequestOverrides | null>(null);
|
||||
const [requestOverrides, setRequestOverrides] =
|
||||
useState<RequestOverrides | null>(null);
|
||||
const { addToast } = useToasts();
|
||||
const { data, error } = useSWR<MovieDetails>(`/api/v1/movie/${tmdbId}`, {
|
||||
revalidateOnMount: true,
|
||||
|
||||
@@ -74,10 +74,8 @@ const TvRequestModal: React.FC<RequestModalProps> = ({
|
||||
(season) => season.seasonNumber
|
||||
);
|
||||
const { data, error } = useSWR<TvDetails>(`/api/v1/tv/${tmdbId}`);
|
||||
const [
|
||||
requestOverrides,
|
||||
setRequestOverrides,
|
||||
] = useState<RequestOverrides | null>(null);
|
||||
const [requestOverrides, setRequestOverrides] =
|
||||
useState<RequestOverrides | null>(null);
|
||||
const [selectedSeasons, setSelectedSeasons] = useState<number[]>(
|
||||
editRequest ? editingSeasons : []
|
||||
);
|
||||
|
||||
@@ -15,7 +15,7 @@ const messages = defineMessages({
|
||||
agentenabled: 'Enable Agent',
|
||||
accessToken: 'Application API Token',
|
||||
accessTokenTip:
|
||||
'<ApplicationRegistrationLink>Register an application</ApplicationRegistrationLink> for use with Overseerr',
|
||||
'<ApplicationRegistrationLink>Register an application</ApplicationRegistrationLink> for use with Jellyseerr',
|
||||
userToken: 'User or Group Key',
|
||||
userTokenTip:
|
||||
'Your 30-character <UsersGroupsLink>user or group identifier</UsersGroupsLink>',
|
||||
@@ -177,20 +177,19 @@ const NotificationsPushover: React.FC = () => {
|
||||
<span className="label-required">*</span>
|
||||
<span className="label-tip">
|
||||
{intl.formatMessage(messages.accessTokenTip, {
|
||||
ApplicationRegistrationLink: function ApplicationRegistrationLink(
|
||||
msg
|
||||
) {
|
||||
return (
|
||||
<a
|
||||
href="https://pushover.net/api#registration"
|
||||
className="text-white transition duration-300 hover:underline"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
{msg}
|
||||
</a>
|
||||
);
|
||||
},
|
||||
ApplicationRegistrationLink:
|
||||
function ApplicationRegistrationLink(msg) {
|
||||
return (
|
||||
<a
|
||||
href="https://pushover.net/api#registration"
|
||||
className="text-white transition duration-300 hover:underline"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
{msg}
|
||||
</a>
|
||||
);
|
||||
},
|
||||
})}
|
||||
</span>
|
||||
</label>
|
||||
|
||||
@@ -19,7 +19,7 @@ const messages = defineMessages({
|
||||
'Allow users to also start a chat with your bot and configure their own notifications',
|
||||
botAPI: 'Bot Authorization Token',
|
||||
botApiTip:
|
||||
'<CreateBotLink>Create a bot</CreateBotLink> for use with Overseerr',
|
||||
'<CreateBotLink>Create a bot</CreateBotLink> for use with Jellyseerr',
|
||||
chatId: 'Chat ID',
|
||||
chatIdTip:
|
||||
'Start a chat with your bot, add <GetIdBotLink>@get_id_bot</GetIdBotLink>, and issue the <code>/my_id</code> command',
|
||||
|
||||
@@ -18,7 +18,7 @@ const messages = defineMessages({
|
||||
toastWebPushTestSuccess: 'Web push test notification sent!',
|
||||
toastWebPushTestFailed: 'Web push test notification failed to send.',
|
||||
httpsRequirement:
|
||||
'In order to receive web push notifications, Overseerr must be served over HTTPS.',
|
||||
'In order to receive web push notifications, Jellyseerr must be served over HTTPS.',
|
||||
});
|
||||
|
||||
const NotificationsWebPush: React.FC = () => {
|
||||
|
||||
@@ -20,11 +20,11 @@ const messages = defineMessages({
|
||||
currentversion: 'Current Version',
|
||||
viewchangelog: 'View Changelog',
|
||||
runningDevelopMessage:
|
||||
'The latest changes to the <code>develop</code> branch of Overseerr are not shown below. Please see the commit history for this branch on <GithubLink>GitHub</GithubLink> for details.',
|
||||
'The latest changes to the <code>develop</code> branch of Jellyseerr are not shown below. Please see the commit history for this branch on <GithubLink>GitHub</GithubLink> for details.',
|
||||
});
|
||||
|
||||
const REPO_RELEASE_API =
|
||||
'https://api.github.com/repos/sct/overseerr/releases?per_page=20';
|
||||
'https://api.github.com/repos/Fallenbagel/jellyseerr/releases?per_page=20';
|
||||
|
||||
interface GitHubRelease {
|
||||
url: string;
|
||||
@@ -153,7 +153,7 @@ const Releases: React.FC<ReleasesProps> = ({ currentVersion }) => {
|
||||
GithubLink: function GithubLink(msg) {
|
||||
return (
|
||||
<a
|
||||
href="https://github.com/sct/overseerr"
|
||||
href="https://github.com/Fallenbagel/jellyseerr"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="text-yellow-100 underline transition duration-300 hover:text-white"
|
||||
|
||||
@@ -16,14 +16,14 @@ import Releases from './Releases';
|
||||
|
||||
const messages = defineMessages({
|
||||
about: 'About',
|
||||
overseerrinformation: 'Overseerr Information',
|
||||
overseerrinformation: 'Jellyseerr Information',
|
||||
version: 'Version',
|
||||
totalmedia: 'Total Media',
|
||||
totalrequests: 'Total Requests',
|
||||
gettingsupport: 'Getting Support',
|
||||
githubdiscussions: 'GitHub Discussions',
|
||||
timezone: 'Time Zone',
|
||||
supportoverseerr: 'Support Overseerr',
|
||||
supportoverseerr: 'Support Jellyseerr',
|
||||
helppaycoffee: 'Help Pay for Coffee',
|
||||
documentation: 'Documentation',
|
||||
preferredmethod: 'Preferred',
|
||||
@@ -68,7 +68,7 @@ const SettingsAbout: React.FC = () => {
|
||||
</p>
|
||||
<p className="mt-3 text-sm leading-5 md:mt-0 md:ml-6">
|
||||
<a
|
||||
href="http://github.com/sct/overseerr"
|
||||
href="https://github.com/Fallenbagel/jellyseerr"
|
||||
className="font-medium text-indigo-100 transition duration-150 ease-in-out whitespace-nowrap hover:text-white"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
@@ -115,32 +115,32 @@ const SettingsAbout: React.FC = () => {
|
||||
<List title={intl.formatMessage(messages.gettingsupport)}>
|
||||
<List.Item title={intl.formatMessage(messages.documentation)}>
|
||||
<a
|
||||
href="https://docs.overseerr.dev"
|
||||
href="https://github.com/Fallenbagel/jellyseerr#readme"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="text-indigo-500 hover:underline"
|
||||
>
|
||||
https://docs.overseerr.dev
|
||||
https://github.com/Fallenbagel/jellyseerr#readme
|
||||
</a>
|
||||
</List.Item>
|
||||
<List.Item title={intl.formatMessage(messages.githubdiscussions)}>
|
||||
<a
|
||||
href="https://github.com/sct/overseerr/discussions"
|
||||
href="https://github.com/Fallenbagel/jellyseerr/discussions"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="text-indigo-500 hover:underline"
|
||||
>
|
||||
https://github.com/sct/overseerr/discussions
|
||||
https://github.com/Fallenbagel/jellyseerr/discussions
|
||||
</a>
|
||||
</List.Item>
|
||||
<List.Item title="Discord">
|
||||
<a
|
||||
href="https://discord.gg/overseerr"
|
||||
href="https://discord.gg/XDyAd3AuUV"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="text-indigo-500 hover:underline"
|
||||
>
|
||||
https://discord.gg/overseerr
|
||||
https://discord.gg/XDyAd3AuUV
|
||||
</a>
|
||||
</List.Item>
|
||||
</List>
|
||||
@@ -151,27 +151,17 @@ const SettingsAbout: React.FC = () => {
|
||||
title={`${intl.formatMessage(messages.helppaycoffee)} ☕️`}
|
||||
>
|
||||
<a
|
||||
href="https://github.com/sponsors/sct"
|
||||
href="https://www.buymeacoffee.com/fallen.bagel"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="text-indigo-500 hover:underline"
|
||||
>
|
||||
https://github.com/sponsors/sct
|
||||
https://www.buymeacoffee.com/fallen.bagel
|
||||
</a>
|
||||
<Badge className="ml-2">
|
||||
{intl.formatMessage(messages.preferredmethod)}
|
||||
</Badge>
|
||||
</List.Item>
|
||||
<List.Item title="">
|
||||
<a
|
||||
href="https://patreon.com/overseerr"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="text-indigo-500 hover:underline"
|
||||
>
|
||||
https://patreon.com/overseerr
|
||||
</a>
|
||||
</List.Item>
|
||||
</List>
|
||||
</div>
|
||||
<div className="section">
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
import React, { useState } from 'react';
|
||||
import LoadingSpinner from '../Common/LoadingSpinner';
|
||||
import type { JellyfinSettings } from '../../../server/lib/settings';
|
||||
import useSWR from 'swr';
|
||||
import Button from '../Common/Button';
|
||||
import axios from 'axios';
|
||||
import LibraryItem from './LibraryItem';
|
||||
import Badge from '../Common/Badge';
|
||||
import React, { useState } from 'react';
|
||||
import { defineMessages, FormattedMessage, useIntl } from 'react-intl';
|
||||
import useSWR from 'swr';
|
||||
import type { JellyfinSettings } from '../../../server/lib/settings';
|
||||
import Badge from '../Common/Badge';
|
||||
import Button from '../Common/Button';
|
||||
import LoadingSpinner from '../Common/LoadingSpinner';
|
||||
import LibraryItem from './LibraryItem';
|
||||
|
||||
const messages = defineMessages({
|
||||
jellyfinsettings: 'Jellyfin Settings',
|
||||
jellyfinsettingsDescription:
|
||||
'Configure the settings for your Jellyfin server. Overseerr scans your Jellyfin libraries to see what content is available.',
|
||||
'Configure the settings for your Jellyfin server. Jellyseerr scans your Jellyfin libraries to see what content is available.',
|
||||
timeout: 'Timeout',
|
||||
save: 'Save Changes',
|
||||
saving: 'Saving…',
|
||||
jellyfinlibraries: 'Jellyfin Libraries',
|
||||
jellyfinlibrariesDescription:
|
||||
'The libraries Overseerr scans for titles. Click the button below if no libraries are listed.',
|
||||
'The libraries Jellyseerr scans for titles. Click the button below if no libraries are listed.',
|
||||
syncing: 'Syncing',
|
||||
syncJellyfin: 'Sync Libraries',
|
||||
manualscanJellyfin: 'Manual Library Scan',
|
||||
manualscanDescriptionJellyfin:
|
||||
"Normally, this will only be run once every 24 hours. Overseerr will check your Jellyfin server's recently added more aggressively. If this is your first time configuring Jellyfin, a one-time full manual library scan is recommended!",
|
||||
"Normally, this will only be run once every 24 hours. Jellyseerr will check your Jellyfin server's recently added more aggressively. If this is your first time configuring Jellyfin, a one-time full manual library scan is recommended!",
|
||||
notrunning: 'Not Running',
|
||||
currentlibrary: 'Current Library: {name}',
|
||||
librariesRemaining: 'Libraries Remaining: {count}',
|
||||
|
||||
@@ -23,7 +23,7 @@ const messages: { [messageName: string]: MessageDescriptor } = defineMessages({
|
||||
jobsandcache: 'Jobs & Cache',
|
||||
jobs: 'Jobs',
|
||||
jobsDescription:
|
||||
'Overseerr performs certain maintenance tasks as regularly-scheduled jobs, but they can also be manually triggered below. Manually running a job will not alter its schedule.',
|
||||
'Jellyseerr performs certain maintenance tasks as regularly-scheduled jobs, but they can also be manually triggered below. Manually running a job will not alter its schedule.',
|
||||
jobname: 'Job Name',
|
||||
jobtype: 'Type',
|
||||
nextexecution: 'Next Execution',
|
||||
@@ -35,7 +35,7 @@ const messages: { [messageName: string]: MessageDescriptor } = defineMessages({
|
||||
command: 'Command',
|
||||
cache: 'Cache',
|
||||
cacheDescription:
|
||||
'Overseerr caches requests to external API endpoints to optimize performance and avoid making unnecessary API calls.',
|
||||
'Jellyseerr caches requests to external API endpoints to optimize performance and avoid making unnecessary API calls.',
|
||||
cacheflushed: '{cachename} cache flushed.',
|
||||
cachename: 'Cache Name',
|
||||
cachehits: 'Hits',
|
||||
|
||||
@@ -31,7 +31,7 @@ import Transition from '../../Transition';
|
||||
const messages = defineMessages({
|
||||
logs: 'Logs',
|
||||
logsDescription:
|
||||
'You can also view these logs directly via <code>stdout</code>, or in <code>{configDir}/logs/overseerr.log</code>.',
|
||||
'You can also view these logs directly via <code>stdout</code>, or in <code>{configDir}/logs/jellyseerr.log</code>.',
|
||||
time: 'Timestamp',
|
||||
level: 'Severity',
|
||||
label: 'Label',
|
||||
|
||||
@@ -29,7 +29,7 @@ const messages = defineMessages({
|
||||
general: 'General',
|
||||
generalsettings: 'General Settings',
|
||||
generalsettingsDescription:
|
||||
'Configure global and default settings for Overseerr.',
|
||||
'Configure global and default settings for Jellyseerr.',
|
||||
apikey: 'API Key',
|
||||
applicationTitle: 'Application Title',
|
||||
applicationurl: 'Application URL',
|
||||
@@ -44,7 +44,7 @@ const messages = defineMessages({
|
||||
hideAvailable: 'Hide Available Media',
|
||||
csrfProtection: 'Enable CSRF Protection',
|
||||
csrfProtectionTip:
|
||||
'Set external API access to read-only (requires HTTPS, and Overseerr must be reloaded for changes to take effect)',
|
||||
'Set external API access to read-only (requires HTTPS, and Jellyseerr must be reloaded for changes to take effect)',
|
||||
csrfProtectionHoverTip:
|
||||
'Do NOT enable this setting unless you understand what you are doing!',
|
||||
cacheImages: 'Enable Image Caching',
|
||||
@@ -52,7 +52,7 @@ const messages = defineMessages({
|
||||
'Optimize and store all images locally (consumes a significant amount of disk space)',
|
||||
trustProxy: 'Enable Proxy Support',
|
||||
trustProxyTip:
|
||||
'Allow Overseerr to correctly register client IP addresses behind a proxy (Overseerr must be reloaded for changes to take effect)',
|
||||
'Allow Jellyseerr to correctly register client IP addresses behind a proxy (Jellyseerr must be reloaded for changes to take effect)',
|
||||
validationApplicationTitle: 'You must provide an application title',
|
||||
validationApplicationUrl: 'You must provide a valid URL',
|
||||
validationApplicationUrlTrailingSlash: 'URL must not end in a trailing slash',
|
||||
@@ -306,9 +306,11 @@ const SettingsMain: React.FC = () => {
|
||||
<div className="form-input">
|
||||
<div className="form-input-field">
|
||||
<Field as="select" id="locale" name="locale">
|
||||
{(Object.keys(
|
||||
availableLanguages
|
||||
) as (keyof typeof availableLanguages)[]).map((key) => (
|
||||
{(
|
||||
Object.keys(
|
||||
availableLanguages
|
||||
) as (keyof typeof availableLanguages)[]
|
||||
).map((key) => (
|
||||
<option
|
||||
key={key}
|
||||
value={availableLanguages[key].code}
|
||||
|
||||
@@ -22,7 +22,7 @@ const messages = defineMessages({
|
||||
plex: 'Plex',
|
||||
plexsettings: 'Plex Settings',
|
||||
plexsettingsDescription:
|
||||
'Configure the settings for your Plex server. Overseerr scans your Plex libraries to determine content availability.',
|
||||
'Configure the settings for your Plex server. Jellyseerr scans your Plex libraries to determine content availability.',
|
||||
serverpreset: 'Server',
|
||||
serverLocal: 'local',
|
||||
serverRemote: 'remote',
|
||||
@@ -43,12 +43,12 @@ const messages = defineMessages({
|
||||
enablessl: 'Use SSL',
|
||||
plexlibraries: 'Plex Libraries',
|
||||
plexlibrariesDescription:
|
||||
'The libraries Overseerr scans for titles. Set up and save your Plex connection settings, then click the button below if no libraries are listed.',
|
||||
'The libraries Jellyseerr scans for titles. Set up and save your Plex connection settings, then click the button below if no libraries are listed.',
|
||||
scanning: 'Syncing…',
|
||||
scan: 'Sync Libraries',
|
||||
manualscan: 'Manual Library Scan',
|
||||
manualscanDescription:
|
||||
"Normally, this will only be run once every 24 hours. Overseerr will check your Plex server's recently added more aggressively. If this is your first time configuring Plex, a one-time full manual library scan is recommended!",
|
||||
"Normally, this will only be run once every 24 hours. Jellyseerr will check your Plex server's recently added more aggressively. If this is your first time configuring Plex, a one-time full manual library scan is recommended!",
|
||||
notrunning: 'Not Running',
|
||||
currentlibrary: 'Current Library: {name}',
|
||||
librariesRemaining: 'Libraries Remaining: {count}',
|
||||
|
||||
@@ -5,7 +5,7 @@ import { useUser } from '../../hooks/useUser';
|
||||
import PlexLoginButton from '../PlexLoginButton';
|
||||
|
||||
const messages = defineMessages({
|
||||
welcome: 'Welcome to Overseerr',
|
||||
welcome: 'Welcome to Jellyseerr',
|
||||
signinMessage: 'Get started by signing in with your Plex account',
|
||||
});
|
||||
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import { useUser } from '../../hooks/useUser';
|
||||
import PlexLoginButton from '../PlexLoginButton';
|
||||
import JellyfinLogin from '../Login/JellyfinLogin';
|
||||
import axios from 'axios';
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import { defineMessages, FormattedMessage } from 'react-intl';
|
||||
import Accordion from '../Common/Accordion';
|
||||
import { MediaServerType } from '../../../server/constants/server';
|
||||
import { useUser } from '../../hooks/useUser';
|
||||
import Accordion from '../Common/Accordion';
|
||||
import JellyfinLogin from '../Login/JellyfinLogin';
|
||||
import PlexLoginButton from '../PlexLoginButton';
|
||||
|
||||
const messages = defineMessages({
|
||||
welcome: 'Welcome to Overseerr',
|
||||
welcome: 'Welcome to Jellyseerr',
|
||||
signinMessage: 'Get started by signing in',
|
||||
signinWithJellyfin: 'Use your Jellyfin account',
|
||||
signinWithPlex: 'Use your Plex account',
|
||||
|
||||
@@ -33,10 +33,8 @@ const Setup: React.FC = () => {
|
||||
const intl = useIntl();
|
||||
const [isUpdating, setIsUpdating] = useState(false);
|
||||
const [currentStep, setCurrentStep] = useState(1);
|
||||
const [
|
||||
mediaServerSettingsComplete,
|
||||
setMediaServerSettingsComplete,
|
||||
] = useState(false);
|
||||
const [mediaServerSettingsComplete, setMediaServerSettingsComplete] =
|
||||
useState(false);
|
||||
const [mediaServerType, setMediaServerType] = useState('');
|
||||
const router = useRouter();
|
||||
const { locale } = useLocale();
|
||||
|
||||
@@ -1,20 +1,8 @@
|
||||
import { SparklesIcon } from '@heroicons/react/outline';
|
||||
import React from 'react';
|
||||
import { defineMessages, useIntl } from 'react-intl';
|
||||
import useSWR from 'swr';
|
||||
import { StatusResponse } from '../../../server/interfaces/api/settingsInterfaces';
|
||||
import Modal from '../Common/Modal';
|
||||
import Transition from '../Transition';
|
||||
|
||||
const messages = defineMessages({
|
||||
newversionavailable: 'Application Update',
|
||||
newversionDescription:
|
||||
'Overseerr has been updated! Please click the button below to reload the page.',
|
||||
reloadOverseerr: 'Reload',
|
||||
});
|
||||
|
||||
const StatusChecker: React.FC = () => {
|
||||
const intl = useIntl();
|
||||
const { data, error } = useSWR<StatusResponse>('/api/v1/status', {
|
||||
refreshInterval: 60 * 1000,
|
||||
});
|
||||
|
||||
@@ -108,9 +108,10 @@ const TvDetails: React.FC<TvDetailsProps> = ({ tv }) => {
|
||||
`/api/v1/tv/${router.query.tvId}/ratings`
|
||||
);
|
||||
|
||||
const sortedCrew = useMemo(() => sortCrewPriority(data?.credits.crew ?? []), [
|
||||
data,
|
||||
]);
|
||||
const sortedCrew = useMemo(
|
||||
() => sortCrewPriority(data?.credits.crew ?? []),
|
||||
[data]
|
||||
);
|
||||
|
||||
if (!data && !error) {
|
||||
return <LoadingSpinner />;
|
||||
@@ -197,8 +198,9 @@ const TvDetails: React.FC<TvDetailsProps> = ({ tv }) => {
|
||||
);
|
||||
}
|
||||
|
||||
const seasonCount = data.seasons.filter((season) => season.seasonNumber !== 0)
|
||||
.length;
|
||||
const seasonCount = data.seasons.filter(
|
||||
(season) => season.seasonNumber !== 0
|
||||
).length;
|
||||
|
||||
if (seasonCount) {
|
||||
seriesAttributes.push(
|
||||
|
||||
@@ -223,9 +223,11 @@ const UserGeneralSettings: React.FC = () => {
|
||||
availableLanguages[currentSettings.locale].display,
|
||||
})}
|
||||
</option>
|
||||
{(Object.keys(
|
||||
availableLanguages
|
||||
) as (keyof typeof availableLanguages)[]).map((key) => (
|
||||
{(
|
||||
Object.keys(
|
||||
availableLanguages
|
||||
) as (keyof typeof availableLanguages)[]
|
||||
).map((key) => (
|
||||
<option
|
||||
key={key}
|
||||
value={availableLanguages[key].code}
|
||||
|
||||
@@ -9,7 +9,7 @@ export interface SettingsContextProps {
|
||||
|
||||
const defaultSettings = {
|
||||
initialized: false,
|
||||
applicationTitle: 'Overseerr',
|
||||
applicationTitle: 'Jellyseerr',
|
||||
applicationUrl: '',
|
||||
hideAvailable: false,
|
||||
localLogin: true,
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
"components.RequestList.RequestItem.requested": "Sol·licitat",
|
||||
"components.PermissionEdit.request": "Sol·licitud",
|
||||
"components.RequestBlock.seasons": "{seasonCount, plural, one {Temporada} other {Temporades}}",
|
||||
"components.PermissionEdit.usersDescription": "Concedeix permís per gestionar els usuaris d'Overseerr. Els usuaris amb aquest permís no poden modificar els usuaris administrador ni concedir aquest privilegi a altres.",
|
||||
"components.PermissionEdit.usersDescription": "Concedeix permís per gestionar els usuaris d'Jellyseerr. Els usuaris amb aquest permís no poden modificar els usuaris administrador ni concedir aquest privilegi a altres.",
|
||||
"components.PermissionEdit.request4k": "Sol·licita 4K",
|
||||
"components.MovieDetails.revenue": "Recaptació",
|
||||
"components.RequestCard.seasons": "{seasonCount, plural, one {Temporada} other {Temporades}}",
|
||||
@@ -89,7 +89,7 @@
|
||||
"components.PermissionEdit.viewrequestsDescription": "Concedeix permís per veure les sol·licituds d'altres usuaris.",
|
||||
"components.PermissionEdit.viewrequests": "Veure sol·licituds",
|
||||
"components.PermissionEdit.users": "Gestiona els usuaris",
|
||||
"components.PermissionEdit.settingsDescription": "Concedeix permís per modificar els paràmetres Overseerr. Un usuari ha de tenir aquest permís per concedir-lo a altres persones.",
|
||||
"components.PermissionEdit.settingsDescription": "Concedeix permís per modificar els paràmetres Jellyseerr. Un usuari ha de tenir aquest permís per concedir-lo a altres persones.",
|
||||
"components.PermissionEdit.settings": "Gestiona la configuració",
|
||||
"components.PermissionEdit.requestDescription": "Concedeix permís per sol·licitar contingut no 4K.",
|
||||
"components.PermissionEdit.request4kTvDescription": "Concedeix permís per sol·licitar sèrie en 4K.",
|
||||
@@ -97,7 +97,7 @@
|
||||
"components.PermissionEdit.request4kMoviesDescription": "Concedeix permís per sol·licitar pel·lícules en 4K.",
|
||||
"components.PermissionEdit.request4kMovies": "Sol·liciteu pel·lícules en 4K",
|
||||
"components.PermissionEdit.request4kDescription": "Concedeix permís per sol·licitar contingut en 4K.",
|
||||
"components.PermissionEdit.managerequestsDescription": "Concedeix permís per gestionar les sol·licituds d'Overseerr. Totes les sol·licituds que faci un usuari amb aquest permís s’aprovaran automàticament.",
|
||||
"components.PermissionEdit.managerequestsDescription": "Concedeix permís per gestionar les sol·licituds d'Jellyseerr. Totes les sol·licituds que faci un usuari amb aquest permís s’aprovaran automàticament.",
|
||||
"components.PermissionEdit.managerequests": "Gestiona les sol·licituds",
|
||||
"components.PermissionEdit.autoapproveSeriesDescription": "Concedeix l’aprovació automàtica de les sol·licituds de sèries que no siguin 4K.",
|
||||
"components.PermissionEdit.autoapproveSeries": "Aprovació automàtica de sèries",
|
||||
@@ -438,9 +438,9 @@
|
||||
"components.TvDetails.TvCrew.fullseriescrew": "Equip complet de la sèrie",
|
||||
"components.TvDetails.TvCast.fullseriescast": "Repartiment complet de la sèrie",
|
||||
"components.StatusChacker.newversionavailable": "Actualització de l'aplicació",
|
||||
"components.StatusChacker.newversionDescription": "Overseerr s'ha actualitzat! Feu clic al botó següent per tornar a carregar la pàgina.",
|
||||
"components.StatusChacker.newversionDescription": "Jellyseerr s'ha actualitzat! Feu clic al botó següent per tornar a carregar la pàgina.",
|
||||
"components.StatusBadge.status4k": "4K {status}",
|
||||
"components.Setup.welcome": "Benvingut a Overseerr",
|
||||
"components.Setup.welcome": "Benvingut a Jellyseerr",
|
||||
"components.Setup.tip": "Consell",
|
||||
"components.Setup.signinMessage": "Comenceu iniciant sessió amb el vostre compte de Plex",
|
||||
"components.Setup.setup": "Configuració",
|
||||
@@ -459,7 +459,7 @@
|
||||
"components.Settings.validationApplicationUrlTrailingSlash": "L'URL no pot acabar amb una barra inclinada final",
|
||||
"components.Settings.validationApplicationUrl": "Heu de proporcionar un URL vàlid",
|
||||
"components.Settings.validationApplicationTitle": "Heu de proporcionar un títol d'aplicació",
|
||||
"components.Settings.trustProxyTip": "Permet a Overseerr registrar correctament les adreces IP del client darrere d’un servidor intermediari (s’ha de tornar a carregar Overseerr perquè els canvis tinguin efecte)",
|
||||
"components.Settings.trustProxyTip": "Permet a Jellyseerr registrar correctament les adreces IP del client darrere d’un servidor intermediari (s’ha de tornar a carregar Jellyseerr perquè els canvis tinguin efecte)",
|
||||
"components.Settings.toastSettingsSuccess": "La configuració s'ha desat correctament!",
|
||||
"components.Settings.toastSettingsFailure": "S'ha produït un error en desar la configuració.",
|
||||
"components.Settings.toastPlexRefreshSuccess": "La llista de servidors Plex s'ha recuperat correctament!",
|
||||
@@ -486,15 +486,15 @@
|
||||
"components.Settings.region": "Regió per a la secció \"Descobriu\"",
|
||||
"components.Settings.radarrsettings": "Configuració de Radarr",
|
||||
"components.Settings.port": "Port",
|
||||
"components.Settings.plexsettingsDescription": "Configureu la paràmetres del vostre servidor Plex. Overseerr explora les vostres biblioteques Plex per determinar la disponibilitat de continguts.",
|
||||
"components.Settings.plexsettingsDescription": "Configureu la paràmetres del vostre servidor Plex. Jellyseerr explora les vostres biblioteques Plex per determinar la disponibilitat de continguts.",
|
||||
"components.Settings.plexsettings": "Configuració de Plex",
|
||||
"components.Settings.plexlibrariesDescription": "Les biblioteques en les que Overseerr explora títols. Configureu i deseu la configuració de la connexió Plex i feu clic al botó següent si no apareix cap.",
|
||||
"components.Settings.plexlibrariesDescription": "Les biblioteques en les que Jellyseerr explora títols. Configureu i deseu la configuració de la connexió Plex i feu clic al botó següent si no apareix cap.",
|
||||
"components.Settings.plexlibraries": "Biblioteques Plex",
|
||||
"components.Settings.plex": "Plex",
|
||||
"components.Settings.partialRequestsEnabled": "Permet sol·licituds parcials de Sèries",
|
||||
"components.Settings.originallanguageTip": "Filtra el contingut per l'idioma original",
|
||||
"components.Settings.originallanguage": "Idioma per a la secció \"Descobriu\"",
|
||||
"components.Settings.manualscanDescription": "Normalment, només s’executarà una vegada cada 24 hores. Overseerr comprovarà de forma més agressiva el contingut afegit recentment del seu servidor Plex. Si és la primera vegada que configureu Plex, es recomana fer una exploració manual completa de la biblioteca!",
|
||||
"components.Settings.manualscanDescription": "Normalment, només s’executarà una vegada cada 24 hores. Jellyseerr comprovarà de forma més agressiva el contingut afegit recentment del seu servidor Plex. Si és la primera vegada que configureu Plex, es recomana fer una exploració manual completa de la biblioteca!",
|
||||
"components.Settings.SettingsJobsCache.plex-recently-added-scan": "Exploració d'elements de Plex afegits recentment",
|
||||
"components.Settings.notrunning": "No s'està executant",
|
||||
"components.Settings.notificationsettings": "Configuració de les notificacions",
|
||||
@@ -507,7 +507,7 @@
|
||||
"components.Settings.menuLogs": "Registres",
|
||||
"components.Settings.menuJobs": "Tasques programades i memòria cau",
|
||||
"components.Settings.hideAvailable": "Amaga els suports disponibles",
|
||||
"components.Settings.generalsettingsDescription": "Configureu els paràmetres globals i predeterminats per a Overseerr.",
|
||||
"components.Settings.generalsettingsDescription": "Configureu els paràmetres globals i predeterminats per a Jellyseerr.",
|
||||
"components.Settings.menuGeneralSettings": "General",
|
||||
"components.Settings.menuAbout": "Quant a",
|
||||
"components.Settings.manualscan": "Exploració manual de la biblioteca",
|
||||
@@ -526,7 +526,7 @@
|
||||
"components.Settings.email": "Adreça electrònica",
|
||||
"components.Settings.default4k": "4K predeterminat",
|
||||
"components.Settings.default": "Predeterminat",
|
||||
"components.Settings.csrfProtectionTip": "Estableix l'accés a l'API externa de només lectura (requereix HTTPS i s'ha de tornar a carregar Overseerr perquè els canvis tinguin efecte)",
|
||||
"components.Settings.csrfProtectionTip": "Estableix l'accés a l'API externa de només lectura (requereix HTTPS i s'ha de tornar a carregar Jellyseerr perquè els canvis tinguin efecte)",
|
||||
"components.Settings.csrfProtectionHoverTip": "NO activeu aquesta configuració tret que entengueu el que esteu fent!",
|
||||
"components.Settings.csrfProtection": "Activeu la protecció CSRF",
|
||||
"components.Settings.copied": "S'ha copiat la clau API al porta-retalls.",
|
||||
@@ -618,7 +618,7 @@
|
||||
"components.Settings.SettingsUsers.defaultPermissions": "Permisos per defecte",
|
||||
"components.Settings.SettingsLogs.showall": "Mostra tots els registres",
|
||||
"components.Settings.SettingsLogs.message": "Missatge",
|
||||
"components.Settings.SettingsLogs.logsDescription": "També podeu veure aquests registres directament mitjançant <code>stdout</code> o a <code>{configDir}/logs/overseerr.log</code>.",
|
||||
"components.Settings.SettingsLogs.logsDescription": "També podeu veure aquests registres directament mitjançant <code>stdout</code> o a <code>{configDir}/logs/jellyseerr.log</code>.",
|
||||
"components.Settings.SettingsLogs.logs": "Registres",
|
||||
"components.Settings.SettingsLogs.logDetails": "Detalls del registre",
|
||||
"components.Settings.SettingsLogs.level": "Gravetat",
|
||||
@@ -631,7 +631,7 @@
|
||||
"components.Settings.SettingsJobsCache.process": "Procés",
|
||||
"components.Settings.SettingsJobsCache.jobtype": "Tipus",
|
||||
"components.Settings.SettingsJobsCache.jobsandcache": "Tasques programades i memòria cau",
|
||||
"components.Settings.SettingsJobsCache.jobsDescription": "Overseerr realitza certes tasques de manteniment com a feines programades regularment, però també es poden activar manualment a continuació. L’execució manual d’un treball no alterarà la seva programació.",
|
||||
"components.Settings.SettingsJobsCache.jobsDescription": "Jellyseerr realitza certes tasques de manteniment com a feines programades regularment, però també es poden activar manualment a continuació. L’execució manual d’un treball no alterarà la seva programació.",
|
||||
"components.Settings.SettingsJobsCache.jobs": "Tasques programades",
|
||||
"components.Settings.SettingsJobsCache.jobname": "Nom de la tasca programada",
|
||||
"components.Settings.SettingsJobsCache.download-sync-reset": "Restableix la sincronització de descàrregues",
|
||||
@@ -639,12 +639,12 @@
|
||||
"components.Settings.SettingsJobsCache.canceljob": "Cancel·la la tasca programada",
|
||||
"components.Settings.SettingsJobsCache.cachemisses": "Errades",
|
||||
"components.Settings.SettingsJobsCache.cachehits": "Consultes",
|
||||
"components.Settings.SettingsJobsCache.cacheDescription": "Overseerr emmagatzema a la memòria cau les sol·licituds als punts finals de l'API externa per optimitzar el rendiment i evitar fer peticions d'API innecessàries.",
|
||||
"components.Settings.SettingsJobsCache.cacheDescription": "Jellyseerr emmagatzema a la memòria cau les sol·licituds als punts finals de l'API externa per optimitzar el rendiment i evitar fer peticions d'API innecessàries.",
|
||||
"components.Settings.SettingsJobsCache.cache": "Memòria cau",
|
||||
"components.Settings.SettingsAbout.version": "Versió",
|
||||
"components.Settings.SettingsAbout.timezone": "Zona horària",
|
||||
"components.Settings.SettingsAbout.supportoverseerr": "Dóna suport a Overseerr",
|
||||
"components.Settings.SettingsAbout.overseerrinformation": "Informació d'Overseerr",
|
||||
"components.Settings.SettingsAbout.supportoverseerr": "Dóna suport a Jellyseerr",
|
||||
"components.Settings.SettingsAbout.overseerrinformation": "Informació d'Jellyseerr",
|
||||
"components.Settings.SettingsAbout.helppaycoffee": "Ajudeu-me convidant-me a un cafè",
|
||||
"components.Settings.SettingsAbout.documentation": "Documentació",
|
||||
"components.Settings.SettingsAbout.about": "Quant a",
|
||||
@@ -666,7 +666,7 @@
|
||||
"components.Settings.Notifications.smtpHost": "Amfitrió SMTP",
|
||||
"components.Settings.Notifications.emailsettingsfailed": "No s'ha pogut desar la configuració de les notificacions per correu electrònic.",
|
||||
"components.Settings.RadarrModal.apiKey": "Clau API",
|
||||
"components.Settings.SettingsAbout.Releases.runningDevelopMessage": "Els últims canvis a la branca <code>develop</code> de Overseerr no es mostren a continuació. Vegeu l'historial de pujades d'aquesta branca a <GithubLink>GitHub</GithubLink> per a més detalls.",
|
||||
"components.Settings.SettingsAbout.Releases.runningDevelopMessage": "Els últims canvis a la branca <code>develop</code> de Jellyseerr no es mostren a continuació. Vegeu l'historial de pujades d'aquesta branca a <GithubLink>GitHub</GithubLink> per a més detalls.",
|
||||
"components.Settings.SettingsAbout.Releases.releases": "Versions",
|
||||
"components.Settings.SettingsAbout.Releases.releasedataMissing": "La informació de la versió no està disponible. GitHub està fora de línia?",
|
||||
"components.Settings.SettingsAbout.Releases.latestversion": "Última versió",
|
||||
@@ -772,8 +772,8 @@
|
||||
"components.RequestCard.mediaerror": "El títol associat per a aquesta sol·licitud ja no està disponible.",
|
||||
"components.RequestCard.deleterequest": "Suprimeix la sol·licitud",
|
||||
"components.NotificationTypeSelector.notificationTypes": "Tipus de notificacions",
|
||||
"components.Layout.VersionStatus.streamstable": "Overseer (Estable)",
|
||||
"components.Layout.VersionStatus.streamdevelop": "Overseerr (Desenvolupament)",
|
||||
"components.Layout.VersionStatus.streamstable": "Jellyseer (Estable)",
|
||||
"components.Layout.VersionStatus.streamdevelop": "Jellyseerr (Desenvolupament)",
|
||||
"components.Layout.VersionStatus.outofdate": "No està actualitzat",
|
||||
"components.Layout.VersionStatus.commitsbehind": "{commitsBehind} {commitsBehind, plural, one {canvi} other {canvis}} posterior(s)",
|
||||
"components.Discover.noRequests": "No hi ha cap sol·licitud.",
|
||||
@@ -844,11 +844,11 @@
|
||||
"components.Settings.Notifications.encryptionDefault": "Utilitzeu STARTTLS si està disponible",
|
||||
"components.Settings.Notifications.encryption": "Mètode de xifratge",
|
||||
"components.Settings.Notifications.chatIdTip": "Inicieu un xat amb el bot, afegiu <GetIdBotLink>@get_id_bot</GetIdBotLink> i indiqueu l'ordre <code>/my_id</code>",
|
||||
"components.Settings.Notifications.botApiTip": "<CreateBotLink>Creeu un bot</CreateBotLink> per utilitzar-lo amb Overseerr",
|
||||
"components.Settings.Notifications.NotificationsWebPush.httpsRequirement": "Per tal de rebre notificacions push web, Overseerr s'ha de servir mitjançant HTTPS.",
|
||||
"components.Settings.Notifications.botApiTip": "<CreateBotLink>Creeu un bot</CreateBotLink> per utilitzar-lo amb Jellyseerr",
|
||||
"components.Settings.Notifications.NotificationsWebPush.httpsRequirement": "Per tal de rebre notificacions push web, Jellyseerr s'ha de servir mitjançant HTTPS.",
|
||||
"components.Settings.Notifications.NotificationsSlack.webhookUrlTip": "Creeu una integració <WebhookLink>Webhook entrant</WebhookLink>",
|
||||
"components.Settings.Notifications.NotificationsPushover.userTokenTip": "El vostre <UsersGroupsLink>identificador d'usuari o grup</UsersGroupsLink>",
|
||||
"components.Settings.Notifications.NotificationsPushover.accessTokenTip": "<ApplicationRegistrationLink>Registreu una aplicació</ApplicationRegistrationLink> per utilitzar-la amb Overseerr",
|
||||
"components.Settings.Notifications.NotificationsPushover.accessTokenTip": "<ApplicationRegistrationLink>Registreu una aplicació</ApplicationRegistrationLink> per utilitzar-la amb Jellyseerr",
|
||||
"components.Settings.Notifications.NotificationsPushbullet.accessTokenTip": "Creeu un testimoni a partir de la <PushbulletSettingsLink>Configuració del compte</PushbulletSettingsLink>",
|
||||
"components.Settings.validationWebAppUrl": "Heu de proporcionar un URL d'aplicació web Plex vàlid",
|
||||
"components.Settings.Notifications.webhookUrlTip": "Creeu una <DiscordWebhookLink>integració de webhook</DiscordWebhookLink> al vostre servidor",
|
||||
|
||||
@@ -116,11 +116,11 @@
|
||||
"components.Settings.default4k": "Standard-4K",
|
||||
"components.Settings.deleteserverconfirm": "Bist du sicher, dass du diesen Server löschen möchtest?",
|
||||
"components.Settings.generalsettings": "Allgemeine Einstellungen",
|
||||
"components.Settings.generalsettingsDescription": "Konfiguriere Globale und Standard Overseerr-Einstellungen.",
|
||||
"components.Settings.generalsettingsDescription": "Konfiguriere Globale und Standard Jellyseerr-Einstellungen.",
|
||||
"components.Settings.hostname": "Hostname oder IP-Adresse",
|
||||
"components.Settings.librariesRemaining": "Verbleibende Bibliotheken: {count}",
|
||||
"components.Settings.manualscan": "Manuelle Bibliotheksdurchsuchung",
|
||||
"components.Settings.manualscanDescription": "Normalerweise wird dies nur einmal alle 24 Stunden ausgeführt. Overseerr überprüft die kürzlich hinzugefügten Plex-Server aggressiver. Falls du Plex zum ersten Mal konfigurierst, wird eine einmalige vollständige manuelle Bibliotheksdurchsuchung empfohlen!",
|
||||
"components.Settings.manualscanDescription": "Normalerweise wird dies nur einmal alle 24 Stunden ausgeführt. Jellyseerr überprüft die kürzlich hinzugefügten Plex-Server aggressiver. Falls du Plex zum ersten Mal konfigurierst, wird eine einmalige vollständige manuelle Bibliotheksdurchsuchung empfohlen!",
|
||||
"components.Settings.menuAbout": "Über",
|
||||
"components.Settings.menuGeneralSettings": "Allgemein",
|
||||
"components.Settings.menuJobs": "Aufgaben und Zwischenspeicher",
|
||||
@@ -131,9 +131,9 @@
|
||||
"components.Settings.notificationsettings": "Benachrichtigungseinstellungen",
|
||||
"components.Settings.notrunning": "Nicht aktiv",
|
||||
"components.Settings.plexlibraries": "Plex-Bibliotheken",
|
||||
"components.Settings.plexlibrariesDescription": "Die Bibliotheken, welche Overseerr nach Titeln durchsucht. Richte deine Plex-Verbindungseinstellungen ein und speichere sie, klicke auf die Schaltfläche unten, wenn keine aufgeführt sind.",
|
||||
"components.Settings.plexlibrariesDescription": "Die Bibliotheken, welche Jellyseerr nach Titeln durchsucht. Richte deine Plex-Verbindungseinstellungen ein und speichere sie, klicke auf die Schaltfläche unten, wenn keine aufgeführt sind.",
|
||||
"components.Settings.plexsettings": "Plex-Einstellungen",
|
||||
"components.Settings.plexsettingsDescription": "Konfiguriere die Einstellungen für deinen Plex-Server. Overseerr durchsucht deine Plex-Bibliotheken, um festzustellen welche Inhalte verfügbar sind.",
|
||||
"components.Settings.plexsettingsDescription": "Konfiguriere die Einstellungen für deinen Plex-Server. Jellyseerr durchsucht deine Plex-Bibliotheken, um festzustellen welche Inhalte verfügbar sind.",
|
||||
"components.Settings.port": "Port",
|
||||
"components.Settings.radarrsettings": "Radarr-Einstellungen",
|
||||
"components.Settings.sonarrsettings": "Sonarr-Einstellungen",
|
||||
@@ -146,7 +146,7 @@
|
||||
"components.Setup.finishing": "Fertigstellung …",
|
||||
"components.Setup.loginwithplex": "Mit Plex anmelden",
|
||||
"components.Setup.signinMessage": "Melde dich zunächst mit deinem Plex-Konto an",
|
||||
"components.Setup.welcome": "Willkommen bei Overseerr",
|
||||
"components.Setup.welcome": "Willkommen bei Jellyseerr",
|
||||
"components.TvDetails.cast": "Besetzung",
|
||||
"components.TvDetails.manageModalClearMedia": "Mediendaten löschen",
|
||||
"components.TvDetails.manageModalClearMediaWarning": "* Dies wird unwiederbringlich alle Daten zu dieser Serie löschen, inklusive jeglicher Anfrage dafür. Falls dieses Element in deiner Plex-Bibliothek existiert, werden die Medieninformationen beim nächsten Scannen neu erstellt.",
|
||||
@@ -193,7 +193,7 @@
|
||||
"components.Settings.SettingsAbout.version": "Version",
|
||||
"components.Settings.SettingsAbout.totalrequests": "Anfragen insgesamt",
|
||||
"components.Settings.SettingsAbout.totalmedia": "Medien insgesamt",
|
||||
"components.Settings.SettingsAbout.overseerrinformation": "Overseerr-Informationen",
|
||||
"components.Settings.SettingsAbout.overseerrinformation": "Jellyseerr-Informationen",
|
||||
"components.Settings.SettingsAbout.githubdiscussions": "GitHub-Diskussionen",
|
||||
"components.Settings.SettingsAbout.gettingsupport": "Hilfe erhalten",
|
||||
"components.Settings.RadarrModal.validationNameRequired": "Du musst einen Servernamen angeben",
|
||||
@@ -224,12 +224,12 @@
|
||||
"components.MovieDetails.studio": "{studioCount, plural, one {Studio} other {Studios}}",
|
||||
"i18n.close": "Schließen",
|
||||
"components.Settings.SettingsAbout.timezone": "Zeitzone",
|
||||
"components.Settings.SettingsAbout.supportoverseerr": "Unterstütze Overseerr",
|
||||
"components.Settings.SettingsAbout.supportoverseerr": "Unterstütze Jellyseerr",
|
||||
"components.Settings.SettingsAbout.helppaycoffee": "Hilf uns Kaffee zu bezahlen",
|
||||
"components.Settings.SettingsAbout.Releases.viewongithub": "Auf GitHub anzeigen",
|
||||
"components.Settings.SettingsAbout.Releases.viewchangelog": "Änderungsprotokoll anzeigen",
|
||||
"components.Settings.SettingsAbout.Releases.versionChangelog": "Änderungsprotokoll",
|
||||
"components.Settings.SettingsAbout.Releases.runningDevelopMessage": "Die neuesten Änderungen am <code>Entwicklungszweig</code> von Overseerr werden unten nicht angezeigt. Weitere Informationen findest du im Commit-Verlauf für diesen Zweig auf <GithubLink>GitHub</GithubLink>.",
|
||||
"components.Settings.SettingsAbout.Releases.runningDevelopMessage": "Die neuesten Änderungen am <code>Entwicklungszweig</code> von Jellyseerr werden unten nicht angezeigt. Weitere Informationen findest du im Commit-Verlauf für diesen Zweig auf <GithubLink>GitHub</GithubLink>.",
|
||||
"components.Settings.SettingsAbout.Releases.releases": "Veröffentlichungen",
|
||||
"components.Settings.SettingsAbout.Releases.releasedataMissing": "Informationen der Version nicht verfügbar. Ist GitHub offline?",
|
||||
"components.Settings.SettingsAbout.Releases.latestversion": "Neuste",
|
||||
@@ -266,9 +266,9 @@
|
||||
"components.Settings.Notifications.senderName": "Absendername",
|
||||
"components.Settings.Notifications.chatId": "Chat-ID",
|
||||
"components.Settings.Notifications.botAPI": "Bot-Autorisierungstoken",
|
||||
"components.StatusChacker.reloadOverseerr": "Overseerr neu laden",
|
||||
"components.StatusChacker.reloadOverseerr": "Jellyseerr neu laden",
|
||||
"components.StatusChacker.newversionavailable": "Anwendungsaktualisierung",
|
||||
"components.StatusChacker.newversionDescription": "Overseerr wurde aktualisiert! Bitte klicke auf die Schaltfläche unten, um die Seite neu zu laden.",
|
||||
"components.StatusChacker.newversionDescription": "Jellyseerr wurde aktualisiert! Bitte klicke auf die Schaltfläche unten, um die Seite neu zu laden.",
|
||||
"components.Settings.SettingsAbout.documentation": "Dokumentation",
|
||||
"components.NotificationTypeSelector.mediarequestedDescription": "Sende Benachrichtigungen, wenn neue Medien angefordert wurden und auf Genehmigung warten.",
|
||||
"components.NotificationTypeSelector.mediarequested": "Medien angefordert",
|
||||
@@ -368,7 +368,7 @@
|
||||
"components.PermissionEdit.request": "Anfrage",
|
||||
"components.PermissionEdit.autoapproveMovies": "Automatische Genehmigung von Filmen",
|
||||
"components.PermissionEdit.admin": "Admin",
|
||||
"components.PermissionEdit.managerequestsDescription": "Gewähre Berechtigung zum Verwalten von Overseerr-Anfragen. Alle Anfragen eines Benutzers mit dieser Berechtigung werden automatisch genehmigt.",
|
||||
"components.PermissionEdit.managerequestsDescription": "Gewähre Berechtigung zum Verwalten von Jellyseerr-Anfragen. Alle Anfragen eines Benutzers mit dieser Berechtigung werden automatisch genehmigt.",
|
||||
"components.UserList.userssaved": "Benutzerberechtigungen erfolgreich gespeichert!",
|
||||
"components.UserList.bulkedit": "Ausgewählte bearbeiten",
|
||||
"components.Settings.toastPlexRefreshSuccess": "Plex-Serverliste erfolgreich abgerufen!",
|
||||
@@ -384,13 +384,13 @@
|
||||
"components.Settings.serverpreset": "Server",
|
||||
"components.Settings.serverRemote": "entfernt",
|
||||
"components.Settings.serverLocal": "lokal",
|
||||
"components.Settings.csrfProtectionTip": "Macht den externen API Zugang schreibgeschützt (setzt HTTPS voraus und Overseerr muss neu gestartet werden, damit die Änderungen wirksam werden)",
|
||||
"components.Settings.csrfProtectionTip": "Macht den externen API Zugang schreibgeschützt (setzt HTTPS voraus und Jellyseerr muss neu gestartet werden, damit die Änderungen wirksam werden)",
|
||||
"components.Settings.csrfProtection": "Aktiviere CSRF Schutz",
|
||||
"components.Settings.SonarrModal.toastSonarrTestSuccess": "Sonarr-Verbindung erfolgreich hergestellt!",
|
||||
"components.Settings.SonarrModal.toastSonarrTestFailure": "Verbindung zu Sonarr fehlgeschlagen.",
|
||||
"components.PermissionEdit.usersDescription": "Gewähre Berechtigung zum Verwalten von Overseerr-Benutzern. Benutzer mit dieser Berechtigung können Benutzer mit Adminrechten nicht bearbeiten oder Adminrechte erteilen.",
|
||||
"components.PermissionEdit.usersDescription": "Gewähre Berechtigung zum Verwalten von Jellyseerr-Benutzern. Benutzer mit dieser Berechtigung können Benutzer mit Adminrechten nicht bearbeiten oder Adminrechte erteilen.",
|
||||
"components.PermissionEdit.users": "Benutzer verwalten",
|
||||
"components.PermissionEdit.settingsDescription": "Gewähre Berechtigung zum ändern von Overseerr-Einstellungen. Ein Benutzer muss über diese Berechtigung verfügen, um sie anderen Benutzern erteilen zu können.",
|
||||
"components.PermissionEdit.settingsDescription": "Gewähre Berechtigung zum ändern von Jellyseerr-Einstellungen. Ein Benutzer muss über diese Berechtigung verfügen, um sie anderen Benutzern erteilen zu können.",
|
||||
"components.PermissionEdit.settings": "Einstellungen verwalten",
|
||||
"components.PermissionEdit.requestDescription": "Gewähre Berechtigung zum Anfragen von nicht 4K Medien.",
|
||||
"components.PermissionEdit.request4kTvDescription": "Gewähre Berechtigung Serien in 4K anzufragen.",
|
||||
@@ -421,13 +421,13 @@
|
||||
"components.TvDetails.markavailable": "Als verfügbar markieren",
|
||||
"components.TvDetails.mark4kavailable": "4K als verfügbar markieren",
|
||||
"components.TvDetails.allseasonsmarkedavailable": "* Alle Staffeln werden als verfügbar markiert.",
|
||||
"components.Settings.trustProxyTip": "Erlaubt es Overseerr Client IP Adressen hinter einem Proxy korrekt zu registrieren (Overseerr muss neu gestartet werden, damit die Änderungen wirksam werden)",
|
||||
"components.Settings.trustProxyTip": "Erlaubt es Jellyseerr Client IP Adressen hinter einem Proxy korrekt zu registrieren (Jellyseerr muss neu gestartet werden, damit die Änderungen wirksam werden)",
|
||||
"components.Settings.trustProxy": "Proxy-Unterstützung aktivieren",
|
||||
"components.Settings.SettingsJobsCache.runnow": "Jetzt ausführen",
|
||||
"components.Settings.SettingsJobsCache.nextexecution": "Nächste Ausführung",
|
||||
"components.Settings.SettingsJobsCache.jobtype": "Art",
|
||||
"components.Settings.SettingsJobsCache.jobstarted": "{jobname} gestartet.",
|
||||
"components.Settings.SettingsJobsCache.jobsDescription": "Overseerr führt bestimmte Wartungsaufgaben als regulär geplante Aufgaben durch, aber sie können auch manuell ausgeführt werden. Manuelles Ausführen einer Aufgabe ändert ihren Zeitplan nicht.",
|
||||
"components.Settings.SettingsJobsCache.jobsDescription": "Jellyseerr führt bestimmte Wartungsaufgaben als regulär geplante Aufgaben durch, aber sie können auch manuell ausgeführt werden. Manuelles Ausführen einer Aufgabe ändert ihren Zeitplan nicht.",
|
||||
"components.Settings.SettingsJobsCache.jobs": "Aufgaben",
|
||||
"components.Settings.SettingsJobsCache.jobname": "Aufgabenname",
|
||||
"components.Settings.SettingsJobsCache.jobcancelled": "{jobname} abgebrochen.",
|
||||
@@ -440,7 +440,7 @@
|
||||
"components.Settings.SettingsJobsCache.cachekeys": "Schlüssel insgesamt",
|
||||
"components.Settings.SettingsJobsCache.cachehits": "Treffer",
|
||||
"components.Settings.SettingsJobsCache.cacheflushed": "{cachename} Zwischenspeicher geleert.",
|
||||
"components.Settings.SettingsJobsCache.cacheDescription": "Overseerr speichert Anfragen an externe API Endpunkte zwischen, um die Leistung zu optimieren und unnötige API Aufrufe zu minimieren.",
|
||||
"components.Settings.SettingsJobsCache.cacheDescription": "Jellyseerr speichert Anfragen an externe API Endpunkte zwischen, um die Leistung zu optimieren und unnötige API Aufrufe zu minimieren.",
|
||||
"components.Settings.SettingsJobsCache.cache": "Zwischenspeicher",
|
||||
"components.MovieDetails.markavailable": "Als verfügbar markieren",
|
||||
"components.MovieDetails.mark4kavailable": "4K als verfügbar markieren",
|
||||
@@ -652,7 +652,7 @@
|
||||
"components.Settings.SettingsLogs.resumeLogs": "Fortsetzen",
|
||||
"components.Settings.SettingsLogs.pauseLogs": "Pause",
|
||||
"components.Settings.SettingsLogs.message": "Nachricht",
|
||||
"components.Settings.SettingsLogs.logsDescription": "Du kannst diese Protokolle auch direkt über <code>stdout</code> oder in <code>{configDir} /logs/overseerr.log</code> anzeigen.",
|
||||
"components.Settings.SettingsLogs.logsDescription": "Du kannst diese Protokolle auch direkt über <code>stdout</code> oder in <code>{configDir} /logs/jellyseerr.log</code> anzeigen.",
|
||||
"components.Settings.SettingsLogs.logs": "Protokolle",
|
||||
"components.Settings.SettingsLogs.logDetails": "Protokolldetails",
|
||||
"components.Settings.SettingsLogs.level": "Schweregrad",
|
||||
@@ -773,8 +773,8 @@
|
||||
"components.QuotaSelector.unlimited": "Unbegrenzt",
|
||||
"components.NotificationTypeSelector.notificationTypes": "Benachrichtigungstypen",
|
||||
"components.MovieDetails.originaltitle": "Originaltitel",
|
||||
"components.Layout.VersionStatus.streamstable": "Overseerr Stabil",
|
||||
"components.Layout.VersionStatus.streamdevelop": "Overseerr Entwicklung",
|
||||
"components.Layout.VersionStatus.streamstable": "Jellyseerr Stabil",
|
||||
"components.Layout.VersionStatus.streamdevelop": "Jellyseerr Entwicklung",
|
||||
"components.Layout.VersionStatus.outofdate": "Veraltet",
|
||||
"components.Layout.VersionStatus.commitsbehind": "{commitsBehind} {commitsBehind, plural, one {Version} other {Versionen}} hinterher",
|
||||
"components.LanguageSelector.originalLanguageDefault": "Alle Sprachen",
|
||||
@@ -789,7 +789,7 @@
|
||||
"components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSuccess": "Web push test Benachrichtigung gesendet!",
|
||||
"components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSending": "Web push test Benachrichtigung wird gesendet…",
|
||||
"components.Settings.Notifications.NotificationsWebPush.toastWebPushTestFailed": "Web push Test Benachrichtigung fehlgeschlagen.",
|
||||
"components.Settings.Notifications.NotificationsWebPush.httpsRequirement": "Um web push Benachrichtigungen zu erhalten, muss Overseerr über HTTPS gehen.",
|
||||
"components.Settings.Notifications.NotificationsWebPush.httpsRequirement": "Um web push Benachrichtigungen zu erhalten, muss Jellyseerr über HTTPS gehen.",
|
||||
"components.Settings.Notifications.NotificationsWebPush.agentenabled": "Agent aktivieren",
|
||||
"components.Settings.Notifications.NotificationsSlack.validationTypes": "Sie müssen mindestens einen Benachrichtigungstypen auswählen",
|
||||
"components.Settings.Notifications.NotificationsSlack.toastSlackTestSuccess": "Slack Test Benachrichtigung gesendet!",
|
||||
@@ -799,7 +799,7 @@
|
||||
"components.Settings.Notifications.NotificationsPushover.toastPushoverTestSuccess": "Pushover Test Benachrichtigung gesendet!",
|
||||
"components.Settings.Notifications.NotificationsPushover.toastPushoverTestSending": "Pushover Test Benachrichtigung wird gesendet…",
|
||||
"components.Settings.Notifications.NotificationsPushover.toastPushoverTestFailed": "Pushover Test Benachrichtigung fehlgeschlagen.",
|
||||
"components.Settings.Notifications.NotificationsPushover.accessTokenTip": "<ApplicationRegistrationLink>Registriere eine Anwendung</ApplicationRegistrationLink> für die Benutzung mit Overseerr",
|
||||
"components.Settings.Notifications.NotificationsPushover.accessTokenTip": "<ApplicationRegistrationLink>Registriere eine Anwendung</ApplicationRegistrationLink> für die Benutzung mit Jellyseerr",
|
||||
"components.Settings.Notifications.NotificationsPushbullet.validationTypes": "Sie müssen mindestens einen Benachrichtigungstypen auswählen",
|
||||
"components.RequestCard.failedretry": "Beim erneuten Versuch die Anfrage zu senden ist ein Fehler aufgetreten.",
|
||||
"components.PermissionEdit.requestTvDescription": "Berechtigungen erteilen um nicht 4K Serien anzufragen.",
|
||||
@@ -854,7 +854,7 @@
|
||||
"components.Settings.Notifications.encryptionTip": "Im Regelfall verwendet Implicit TLS Port 465 und STARTTLS Port 587",
|
||||
"components.Settings.Notifications.encryptionNone": "None",
|
||||
"components.Settings.Notifications.encryptionImplicitTls": "Benutze Implizit TLS",
|
||||
"components.Settings.Notifications.botApiTip": "<CreateBotLink>Erstelle einen Bot</CreateBotLink> für die Verwendung mit Overseerr",
|
||||
"components.Settings.Notifications.botApiTip": "<CreateBotLink>Erstelle einen Bot</CreateBotLink> für die Verwendung mit Jellyseerr",
|
||||
"components.Settings.Notifications.NotificationsSlack.webhookUrlTip": "Erstelle eine <WebhookLink>Eingehende Webhook</WebhookLink> integration",
|
||||
"components.Settings.Notifications.NotificationsPushover.userTokenTip": "Ihr 30-stelliger <UsersGroupsLink>Nutzer oder Gruppen Identifikator</UsersGroupsLink>",
|
||||
"components.Settings.Notifications.NotificationsPushbullet.toastPushbulletTestFailed": "Pushbullet Test Benachrichtigung fehlgeschlagen.",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"components.PermissionEdit.users": "Διαχείριση Χρηστών",
|
||||
"components.PermissionEdit.settingsDescription": "Εκχώρηση άδειας για τροποποίηση των ρυθμίσεων Overseerr. Ένας χρήστης χρειάζεται να έχει αυτό το δικαίωμα για να το εκχωρήσει σε άλλους.",
|
||||
"components.PermissionEdit.settingsDescription": "Εκχώρηση άδειας για τροποποίηση των ρυθμίσεων Jellyseerr. Ένας χρήστης χρειάζεται να έχει αυτό το δικαίωμα για να το εκχωρήσει σε άλλους.",
|
||||
"components.PermissionEdit.settings": "Διαχείριση Ρυθμίσεων",
|
||||
"components.PermissionEdit.requestTvDescription": "Εκχώρηση άδειας για αιτήματα που δεν είναι 4K σειρές.",
|
||||
"components.PermissionEdit.requestTv": "Αιτήματα για Σειρές",
|
||||
@@ -14,7 +14,7 @@
|
||||
"components.PermissionEdit.request4k": "Αίτημα για 4K",
|
||||
"components.PermissionEdit.request4kDescription": "Εκχώρηση άδειας για αιτήματα 4Κ μέσων.",
|
||||
"components.PermissionEdit.request": "Αίτημα",
|
||||
"components.PermissionEdit.managerequestsDescription": "Εκχώρηση άδειας για τη διαχείριση αιτημάτων Overseerr. Όλα τα αιτήματα που υποβάλλει ένας χρήστης με αυτήν την άδεια θα εγκριθούν αυτόματα.",
|
||||
"components.PermissionEdit.managerequestsDescription": "Εκχώρηση άδειας για τη διαχείριση αιτημάτων Jellyseerr. Όλα τα αιτήματα που υποβάλλει ένας χρήστης με αυτήν την άδεια θα εγκριθούν αυτόματα.",
|
||||
"components.PermissionEdit.managerequests": "Διαχείριση Αιτημάτων",
|
||||
"components.PermissionEdit.autoapproveSeriesDescription": "Εκχώρηση αυτόματης έγκρισης για αιτήματα σειρών που δεν είναι 4K.",
|
||||
"components.PermissionEdit.autoapproveSeries": "Αυτόματη έγκριση Σειρών",
|
||||
@@ -201,8 +201,8 @@
|
||||
"components.PersonDetails.lifespan": "{birthdate} – {deathdate}",
|
||||
"components.PersonDetails.birthdate": "Γεννήθηκε {birthdate}",
|
||||
"components.PersonDetails.ascharacter": "ως {character}",
|
||||
"components.PermissionEdit.usersDescription": "Εκχώρηση άδειας για διαχείρηση των Overseerr χρηστών. Οι χρήστες με αυτή την άδεια δεν μπορούν να τροποποιήσουν τους χρήστες με το προνόμιο του διαχειριστή ή να κάνουν κάποιον διαχειριστή.",
|
||||
"components.Layout.VersionStatus.streamdevelop": "Overseerr Develop",
|
||||
"components.PermissionEdit.usersDescription": "Εκχώρηση άδειας για διαχείρηση των Jellyseerr χρηστών. Οι χρήστες με αυτή την άδεια δεν μπορούν να τροποποιήσουν τους χρήστες με το προνόμιο του διαχειριστή ή να κάνουν κάποιον διαχειριστή.",
|
||||
"components.Layout.VersionStatus.streamdevelop": "Jellyseerr Develop",
|
||||
"components.CollectionDetails.requestswillbecreated4k": "Οι ακόλουθοι τίτλοι θα έχουν 4K αιτήματα για:",
|
||||
"components.CollectionDetails.requestswillbecreated": "Οι ακόλουθοι τίτλοι θα δημιουργήσουν αιτήματα για:",
|
||||
"components.AppDataWarning.dockerVolumeMissingDescription": "Η <code>{appDataPath}</code> προσάρτηση τόμου δεν έχει ρυθμιστεί σωστά. Όλα τα δεδομένα θα διαγραφούν όταν ο περιέχοντας σταματήσει ή επανεκκινήσει.",
|
||||
@@ -290,7 +290,7 @@
|
||||
"components.Settings.Notifications.botUsernameTip": "Επίτρεψε στους χρήστες να ξεκινήσουν επίσης μια συνομιλία με το bot σου και να ρυθμίσουν τις δικές τους ειδοποιήσεις",
|
||||
"components.Settings.Notifications.botUsername": "Όνομα χρήστη Bot",
|
||||
"components.Settings.Notifications.botAvatarUrl": "Σύνδεσμος για το Avatar του Bot",
|
||||
"components.Settings.Notifications.botApiTip": "<CreateBotLink>Δημιουργία bot</CreateBotLink> για χρήση με Overseerr",
|
||||
"components.Settings.Notifications.botApiTip": "<CreateBotLink>Δημιουργία bot</CreateBotLink> για χρήση με Jellyseerr",
|
||||
"components.Settings.Notifications.botAPI": "Διακριτικό εξουσιοδότησης Bot",
|
||||
"components.Settings.Notifications.authUser": "Όνομα χρήστη SMTP",
|
||||
"components.Settings.Notifications.authPass": "Κωδικός πρόσβασης SMTP",
|
||||
@@ -317,7 +317,7 @@
|
||||
"components.Settings.Notifications.NotificationsWebPush.webpushsettingssaved": "Οι ρυθμίσεις των ειδοποιήσεων push αποθηκεύτηκαν επιτυχώς!",
|
||||
"components.Settings.Notifications.NotificationsWebPush.webpushsettingsfailed": "Οι ρυθμίσεις των ειδοποιήσεων push δεν κατάφεραν να αποθηκευτούν.",
|
||||
"components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSuccess": "Η δοκιμαστική ειδοποίηση push εστάλη!",
|
||||
"components.Settings.Notifications.NotificationsWebPush.httpsRequirement": "Για να λάβεις ειδοποιήσεις push, το Overseerr πρέπει να προβάλλεται μέσω HTTPS.",
|
||||
"components.Settings.Notifications.NotificationsWebPush.httpsRequirement": "Για να λάβεις ειδοποιήσεις push, το Jellyseerr πρέπει να προβάλλεται μέσω HTTPS.",
|
||||
"components.Settings.Notifications.NotificationsWebPush.toastWebPushTestFailed": "Η δοκιμαστική ειδοποιήση push δεν κατάφερε να σταλεί.",
|
||||
"components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSending": "Αποστολή δοκιμαστικής ειδοποίησης push…",
|
||||
"components.Settings.Notifications.NotificationsWebPush.agentenabled": "Ενεργοποίηση του Μεταφορέα",
|
||||
@@ -337,7 +337,7 @@
|
||||
"components.Settings.Notifications.NotificationsPushbullet.toastPushbulletTestFailed": "Αποτυχία αποστολής δοκιμαστικής ειδοποιήσης Pushbullet.",
|
||||
"components.Settings.Notifications.NotificationsPushover.toastPushoverTestFailed": "Αποτυχία αποστολής δοκιμαστικής ειδοποίησης Pushover.",
|
||||
"components.Settings.Notifications.NotificationsPushover.agentenabled": "Ενεργοποίηση του Μεταφορέα",
|
||||
"components.Settings.Notifications.NotificationsPushover.accessTokenTip": "<ApplicationRegistrationLink>Καταχώρηση εφαρμογής</ApplicationRegistrationLink> για χρήση με Overseerr",
|
||||
"components.Settings.Notifications.NotificationsPushover.accessTokenTip": "<ApplicationRegistrationLink>Καταχώρηση εφαρμογής</ApplicationRegistrationLink> για χρήση με Jellyseerr",
|
||||
"components.Settings.Notifications.NotificationsPushover.accessToken": "Διακριτικό API Εφαρμογής",
|
||||
"components.Settings.Notifications.NotificationsPushbullet.validationAccessTokenRequired": "Πρέπει να δώσεις ένα διακριτικό πρόσβασης",
|
||||
"components.Settings.Notifications.NotificationsPushbullet.pushbulletSettingsSaved": "Οι ρυθμίσεις για τις ειδοποιήσεις Pushbullet αποθηκεύτηκαν με επιτυχία!",
|
||||
@@ -365,7 +365,7 @@
|
||||
"components.Settings.SettingsLogs.resumeLogs": "Συνέχιση",
|
||||
"components.Settings.SettingsLogs.pauseLogs": "Παύση",
|
||||
"components.Settings.SettingsLogs.message": "Μήνυμα",
|
||||
"components.Settings.SettingsLogs.logsDescription": "Μπορείτε επίσης να δείτε αυτά τα αρχεία καταγραφής απευθείας μέσω του <code> stdout </code> ή στο <code> {configDir} /logs/overseerr.log </code>.",
|
||||
"components.Settings.SettingsLogs.logsDescription": "Μπορείτε επίσης να δείτε αυτά τα αρχεία καταγραφής απευθείας μέσω του <code> stdout </code> ή στο <code> {configDir} /logs/jellyseerr.log </code>.",
|
||||
"components.Settings.SettingsLogs.logs": "Αρχεία καταγραφής",
|
||||
"components.Settings.SettingsLogs.logDetails": "Λεπτομέρειες αρχείου καταγραφής",
|
||||
"components.Settings.SettingsLogs.level": "Σοβαρότητα",
|
||||
@@ -403,10 +403,10 @@
|
||||
"components.Settings.SettingsJobsCache.cachekeys": "Σύνολο κλειδιών",
|
||||
"components.Settings.SettingsJobsCache.cachehits": "Κλήσεις",
|
||||
"components.Settings.SettingsJobsCache.cacheflushed": "{cachename} εκκαθαρίστηκε η κρυφή μνήμη.",
|
||||
"components.Settings.SettingsJobsCache.cacheDescription": "Το Overseerr αποθηκεύει προσωρινά αιτήματα σε εξωτερικά τελικά σημεία API για τη βελτιστοποίηση της απόδοσης και την αποφυγή περιττών κλήσεων API.",
|
||||
"components.Settings.SettingsJobsCache.cacheDescription": "Το Jellyseerr αποθηκεύει προσωρινά αιτήματα σε εξωτερικά τελικά σημεία API για τη βελτιστοποίηση της απόδοσης και την αποφυγή περιττών κλήσεων API.",
|
||||
"components.Settings.SettingsJobsCache.cache": "Κρυφή μνήμη",
|
||||
"components.Settings.SettingsAbout.version": "Έκδοση",
|
||||
"components.Settings.SettingsAbout.Releases.runningDevelopMessage": "Οι τελευταίες αλλαγές στο <code>develop</code> branch του Overseerr δεν φαίνονται παρακάτω. Παρακαλώ ανάτρεξε στο ιστορικό δευσμεύσεων του branch στο <GithubLink>GitHub</GithubLink> για λεπτομέρειες.",
|
||||
"components.Settings.SettingsAbout.Releases.runningDevelopMessage": "Οι τελευταίες αλλαγές στο <code>develop</code> branch του Jellyseerr δεν φαίνονται παρακάτω. Παρακαλώ ανάτρεξε στο ιστορικό δευσμεύσεων του branch στο <GithubLink>GitHub</GithubLink> για λεπτομέρειες.",
|
||||
"components.Settings.SettingsAbout.Releases.releases": "Εκδόσεις",
|
||||
"components.Settings.SettingsAbout.Releases.releasedataMissing": "Οι εκδόσεις λογισμικού δεν είναι διαθέσιμες. Μήπως έχει πέσει το GitHub;",
|
||||
"components.Settings.SettingsAbout.Releases.latestversion": "Πιο πρόσφατη",
|
||||
@@ -458,9 +458,9 @@
|
||||
"components.Settings.SettingsAbout.totalrequests": "Σύνολο αιτημάτων",
|
||||
"components.Settings.SettingsAbout.totalmedia": "Σύνολο μέσων",
|
||||
"components.Settings.SettingsAbout.timezone": "Ζώνη ώρας",
|
||||
"components.Settings.SettingsAbout.supportoverseerr": "Υποστήριξε το Overseerr",
|
||||
"components.Settings.SettingsAbout.supportoverseerr": "Υποστήριξε το Jellyseerr",
|
||||
"components.Settings.SettingsAbout.preferredmethod": "Προτιμώνενο",
|
||||
"components.Settings.SettingsAbout.overseerrinformation": "Πληροφορίες Overseerr",
|
||||
"components.Settings.SettingsAbout.overseerrinformation": "Πληροφορίες Jellyseerr",
|
||||
"components.Settings.SettingsAbout.helppaycoffee": "Κέρασε κάνα Καφεδάκι",
|
||||
"components.Settings.SettingsAbout.githubdiscussions": "Συζητήσεις στο GitHub",
|
||||
"components.Settings.SettingsAbout.gettingsupport": "Λήψη Υποστήριξης",
|
||||
@@ -664,9 +664,9 @@
|
||||
"components.TvDetails.TvCast.fullseriescast": "Όλοι οι Ηθοποιοί της Σειράς",
|
||||
"components.StatusChacker.reloadOverseerr": "Επαναφόρτωση",
|
||||
"components.StatusChacker.newversionavailable": "Ενημέρωση εφαρμογής",
|
||||
"components.StatusChacker.newversionDescription": "Το Overseerr έχει ενημερωθεί! Κάνε κλικ στο παρακάτω κουμπί για να φορτώσει ξανά η σελίδα.",
|
||||
"components.StatusChacker.newversionDescription": "Το Jellyseerr έχει ενημερωθεί! Κάνε κλικ στο παρακάτω κουμπί για να φορτώσει ξανά η σελίδα.",
|
||||
"components.StatusBadge.status4k": "4K {status}",
|
||||
"components.Setup.welcome": "Καλώς ήρθες στο Overseerr",
|
||||
"components.Setup.welcome": "Καλώς ήρθες στο Jellyseerr",
|
||||
"components.Setup.tip": "Συμβουλή",
|
||||
"components.Setup.signinMessage": "Ξεκίνα με την σύνδεση στον λογαριασμό του Plex σου",
|
||||
"components.Setup.setup": "Εγκατάσταση",
|
||||
@@ -685,7 +685,7 @@
|
||||
"components.Settings.validationApplicationUrlTrailingSlash": "Η διεύθυνση URL δεν πρέπει να τελειώνει με κάθετο",
|
||||
"components.Settings.validationApplicationUrl": "Πρέπει να βάλεις μια έγκυρη διεύθυνση URL",
|
||||
"components.Settings.validationApplicationTitle": "Πρέπει να δώσεις έναν τίτλο εφαρμογής",
|
||||
"components.Settings.trustProxyTip": "Επίτρεψε στο Overseerr να καταχωρίζει σωστά τις διευθύνσεις IP του πελάτη πίσω από έναν διακομιστή μεσολάβησης (το Overseerr πρέπει να φορτωθεί ξανά για να εφαρμοστούν οι αλλαγές)",
|
||||
"components.Settings.trustProxyTip": "Επίτρεψε στο Jellyseerr να καταχωρίζει σωστά τις διευθύνσεις IP του πελάτη πίσω από έναν διακομιστή μεσολάβησης (το Jellyseerr πρέπει να φορτωθεί ξανά για να εφαρμοστούν οι αλλαγές)",
|
||||
"components.Settings.trustProxy": "Ενεργοποίηση υποστήριξης διαμεσολαβητή",
|
||||
"components.Settings.toastSettingsSuccess": "Οι ρυθμίσεις αποθηκεύτηκαν με επιτυχία!",
|
||||
"components.Settings.toastSettingsFailure": "Κάτι πήγε στραβά κατά την αποθήκευση των ρυθμίσεων.",
|
||||
@@ -716,9 +716,9 @@
|
||||
"components.Settings.region": "Ανακάλυψε βάσει την περιοχή",
|
||||
"components.Settings.radarrsettings": "Ρυθμίσεις Radarr",
|
||||
"components.Settings.port": "Θύρα",
|
||||
"components.Settings.plexsettingsDescription": "Διαμόρφωσε τις ρυθμίσεις του Plex διακομιστή σου. Το Overseerr σαρώνει τις βιβλιοθήκες του Plex για να προσδιορίσει τη διαθεσιμότητα περιεχομένου.",
|
||||
"components.Settings.plexsettingsDescription": "Διαμόρφωσε τις ρυθμίσεις του Plex διακομιστή σου. Το Jellyseerr σαρώνει τις βιβλιοθήκες του Plex για να προσδιορίσει τη διαθεσιμότητα περιεχομένου.",
|
||||
"components.Settings.plexsettings": "Ρυθμίσεις Plex",
|
||||
"components.Settings.plexlibrariesDescription": "Οι βιβλιοθήκες που το Overseerr θα σαρώνει για τίτλους. Ρύθμισε και αποθήκευσε τις ρυθμίσεις της σύνδεσης του Plex και, στη συνέχεια, κάνε κλικ στο παρακάτω κουμπί, εάν δεν εμφανιστύν οι βιβλιοθήκες.",
|
||||
"components.Settings.plexlibrariesDescription": "Οι βιβλιοθήκες που το Jellyseerr θα σαρώνει για τίτλους. Ρύθμισε και αποθήκευσε τις ρυθμίσεις της σύνδεσης του Plex και, στη συνέχεια, κάνε κλικ στο παρακάτω κουμπί, εάν δεν εμφανιστύν οι βιβλιοθήκες.",
|
||||
"components.Settings.plexlibraries": "Βιβλιοθήκες Plex",
|
||||
"components.Settings.plex": "Plex",
|
||||
"components.Settings.partialRequestsEnabled": "Να επιτρέπονται τα εν μέρει αιτήματα για τις Σειρές",
|
||||
@@ -741,7 +741,7 @@
|
||||
"components.Settings.menuAbout": "Σχετικά",
|
||||
"components.Settings.mediaTypeSeries": "σειρά",
|
||||
"components.Settings.mediaTypeMovie": "ταινία",
|
||||
"components.Settings.manualscanDescription": "Κανονικά, αυτό εκτελείται μόνο μία φορά κάθε 24 ώρες. Το Overseerr θα ελέγχει πιο επιθετικά τις προσθήκες που έγιναν πρόσφατα στον διακομιστή Plex. Εάν αυτή είναι η πρώτη φορά που ρυθμίζεις το Plex, συνιστάται μια εφάπαξ πλήρης χειροκίνητη σάρωση βιβλιοθήκης!",
|
||||
"components.Settings.manualscanDescription": "Κανονικά, αυτό εκτελείται μόνο μία φορά κάθε 24 ώρες. Το Jellyseerr θα ελέγχει πιο επιθετικά τις προσθήκες που έγιναν πρόσφατα στον διακομιστή Plex. Εάν αυτή είναι η πρώτη φορά που ρυθμίζεις το Plex, συνιστάται μια εφάπαξ πλήρης χειροκίνητη σάρωση βιβλιοθήκης!",
|
||||
"components.Settings.manualscan": "Χειροκίνητη σάρωση βιβλιοθήκης",
|
||||
"components.Settings.locale": "Προβολή Γλώσσας",
|
||||
"components.Settings.librariesRemaining": "Βιβλιοθήκες που απομένουν: {count}",
|
||||
@@ -756,7 +756,7 @@
|
||||
"components.Settings.default4k": "Προεπιλεγμένο 4K",
|
||||
"components.Settings.default": "Προκαθορισμένο",
|
||||
"components.Settings.currentlibrary": "Τρέχουσα βιβλιοθήκη: {name}",
|
||||
"components.Settings.csrfProtectionTip": "Ορισμός εξωτερικής πρόσβασης API σε μόνο για ανάγνωση (απαιτείται HTTPS και το Overseerr πρέπει να φορτωθεί ξανά για να εφαρμοστούν οι αλλαγές)",
|
||||
"components.Settings.csrfProtectionTip": "Ορισμός εξωτερικής πρόσβασης API σε μόνο για ανάγνωση (απαιτείται HTTPS και το Jellyseerr πρέπει να φορτωθεί ξανά για να εφαρμοστούν οι αλλαγές)",
|
||||
"components.Settings.csrfProtectionHoverTip": "ΜΗΝ ενεργοποιήσεις αυτή τη ρύθμιση αν δεν καταλαβαίνεις τι κάνεις!",
|
||||
"components.Settings.csrfProtection": "Ενεργοποίηση της προστασίας CSRF",
|
||||
"components.Settings.copied": "Αντιγράφηκε το κλειδί API στο πρόχειρο.",
|
||||
@@ -824,7 +824,7 @@
|
||||
"components.Settings.SonarrModal.add": "Προσθήκη διακομιστή",
|
||||
"components.Settings.SettingsUsers.users": "Χρήστες",
|
||||
"components.Settings.SettingsUsers.userSettings": "Ρυθμίσεις χρήστη",
|
||||
"components.Settings.generalsettingsDescription": "Διαμόρφωση των γενικών και προεπιλεγμένων ρυθμίσεων του Overseerr.",
|
||||
"components.Settings.generalsettingsDescription": "Διαμόρφωση των γενικών και προεπιλεγμένων ρυθμίσεων του Jellyseerr.",
|
||||
"components.Settings.SettingsUsers.userSettingsDescription": "Διαμόρφωση των γενικών και προεπιλεγμένων ρυθμίσεων του χρήστη.",
|
||||
"components.Settings.SettingsUsers.tvRequestLimitLabel": "Καθολικό όριο των αιτημάτων στις Σειρές",
|
||||
"components.Settings.SettingsUsers.toastSettingsSuccess": "Οι ρυθμίσεις του χρήστη αποθηκεύτηκαν επιτυχώς!",
|
||||
@@ -832,7 +832,7 @@
|
||||
"components.Settings.SettingsUsers.newPlexLoginTip": "Επίτρεψε στους χρήστες του Plex να συνδεθούν χωρίς να εισαχθούν πρώτα",
|
||||
"components.Settings.SettingsUsers.newPlexLogin": "Ενεργοποίηση σύνδεσης νέου χρήστη του Plex",
|
||||
"components.Settings.validationWebAppUrl": "Πρέπει να δώσεις μια έγκυρη διεύθυνση URL της εφαρμογής Plex Web App",
|
||||
"components.Settings.SettingsJobsCache.jobsDescription": "Το Overseerr εκτελεί ορισμένες εργασίες συντήρησης ως τακτικά προγραμματισμένες εργασίες, αλλά μπορούν επίσης να ενεργοποιηθούν χειροκίνητα παρακάτω. Η χειροκίνητη εκτέλεση μιας εργασίας δεν θα αλλάξει το χρονοδιάγραμμα του.",
|
||||
"components.Settings.SettingsJobsCache.jobsDescription": "Το Jellyseerr εκτελεί ορισμένες εργασίες συντήρησης ως τακτικά προγραμματισμένες εργασίες, αλλά μπορούν επίσης να ενεργοποιηθούν χειροκίνητα παρακάτω. Η χειροκίνητη εκτέλεση μιας εργασίας δεν θα αλλάξει το χρονοδιάγραμμα του.",
|
||||
"components.Settings.Notifications.NotificationsWebhook.templatevariablehelp": "Template Variable Help",
|
||||
"components.Settings.Notifications.NotificationsLunaSea.webhookUrlTip": "Ο χρήστης σου ή η συσκευή <LunaSeaLink>ειδοποίηση webhook URL</LunaSeaLink>",
|
||||
"components.RequestModal.numberofepisodes": "# Αριθμός Επεισοδίων",
|
||||
|
||||
@@ -48,8 +48,8 @@
|
||||
"components.Login.description": "Since this is your first time logging into {applicationName}, you are required to add a valid email address.",
|
||||
"components.Layout.VersionStatus.commitsbehind": "{commitsBehind} {commitsBehind, plural, one {commit} other {commits}} behind",
|
||||
"components.Layout.VersionStatus.outofdate": "Out of Date",
|
||||
"components.Layout.VersionStatus.streamdevelop": "Overseerr Develop",
|
||||
"components.Layout.VersionStatus.streamstable": "Overseerr Stable",
|
||||
"components.Layout.VersionStatus.streamdevelop": "Jellyseerr Develop",
|
||||
"components.Layout.VersionStatus.streamstable": "Jellyseerr Stable",
|
||||
"components.Login.email": "Email Address",
|
||||
"components.Login.forgotpassword": "Forgot Password?",
|
||||
"components.Login.host": "Jellyfin URL",
|
||||
@@ -144,7 +144,7 @@
|
||||
"components.PermissionEdit.autoapproveSeries": "Auto-Approve Series",
|
||||
"components.PermissionEdit.autoapproveSeriesDescription": "Grant automatic approval for non-4K series requests.",
|
||||
"components.PermissionEdit.managerequests": "Manage Requests",
|
||||
"components.PermissionEdit.managerequestsDescription": "Grant permission to manage Overseerr requests. All requests made by a user with this permission will be automatically approved.",
|
||||
"components.PermissionEdit.managerequestsDescription": "Grant permission to manage Jellyseerr requests. All requests made by a user with this permission will be automatically approved.",
|
||||
"components.PermissionEdit.request": "Request",
|
||||
"components.PermissionEdit.request4k": "Request 4K",
|
||||
"components.PermissionEdit.request4kDescription": "Grant permission to request 4K media.",
|
||||
@@ -158,9 +158,9 @@
|
||||
"components.PermissionEdit.requestTv": "Request Series",
|
||||
"components.PermissionEdit.requestTvDescription": "Grant permission to request non-4K series.",
|
||||
"components.PermissionEdit.settings": "Manage Settings",
|
||||
"components.PermissionEdit.settingsDescription": "Grant permission to modify Overseerr settings. A user must have this permission to grant it to others.",
|
||||
"components.PermissionEdit.settingsDescription": "Grant permission to modify Jellyseerr settings. A user must have this permission to grant it to others.",
|
||||
"components.PermissionEdit.users": "Manage Users",
|
||||
"components.PermissionEdit.usersDescription": "Grant permission to manage Overseerr users. Users with this permission cannot modify users with or grant the Admin privilege.",
|
||||
"components.PermissionEdit.usersDescription": "Grant permission to manage Jellyseerr users. Users with this permission cannot modify users with or grant the Admin privilege.",
|
||||
"components.PermissionEdit.viewrequests": "View Requests",
|
||||
"components.PermissionEdit.viewrequestsDescription": "Grant permission to view other users' requests.",
|
||||
"components.PersonDetails.alsoknownas": "Also Known As: {names}",
|
||||
@@ -304,7 +304,7 @@
|
||||
"components.Settings.Notifications.NotificationsPushbullet.validationAccessTokenRequired": "You must provide an access token",
|
||||
"components.Settings.Notifications.NotificationsPushbullet.validationTypes": "You must select at least one notification type",
|
||||
"components.Settings.Notifications.NotificationsPushover.accessToken": "Application API Token",
|
||||
"components.Settings.Notifications.NotificationsPushover.accessTokenTip": "<ApplicationRegistrationLink>Register an application</ApplicationRegistrationLink> for use with Overseerr",
|
||||
"components.Settings.Notifications.NotificationsPushover.accessTokenTip": "<ApplicationRegistrationLink>Register an application</ApplicationRegistrationLink> for use with Jellyseerr",
|
||||
"components.Settings.Notifications.NotificationsPushover.agentenabled": "Enable Agent",
|
||||
"components.Settings.Notifications.NotificationsPushover.pushoversettingsfailed": "Pushover notification settings failed to save.",
|
||||
"components.Settings.Notifications.NotificationsPushover.pushoversettingssaved": "Pushover notification settings saved successfully!",
|
||||
@@ -327,7 +327,7 @@
|
||||
"components.Settings.Notifications.NotificationsSlack.webhookUrl": "Webhook URL",
|
||||
"components.Settings.Notifications.NotificationsSlack.webhookUrlTip": "Create an <WebhookLink>Incoming Webhook</WebhookLink> integration",
|
||||
"components.Settings.Notifications.NotificationsWebPush.agentenabled": "Enable Agent",
|
||||
"components.Settings.Notifications.NotificationsWebPush.httpsRequirement": "In order to receive web push notifications, Overseerr must be served over HTTPS.",
|
||||
"components.Settings.Notifications.NotificationsWebPush.httpsRequirement": "In order to receive web push notifications, Jellyseerr must be served over HTTPS.",
|
||||
"components.Settings.Notifications.NotificationsWebPush.toastWebPushTestFailed": "Web push test notification failed to send.",
|
||||
"components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSending": "Sending web push test notification…",
|
||||
"components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSuccess": "Web push test notification sent!",
|
||||
@@ -353,7 +353,7 @@
|
||||
"components.Settings.Notifications.authPass": "SMTP Password",
|
||||
"components.Settings.Notifications.authUser": "SMTP Username",
|
||||
"components.Settings.Notifications.botAPI": "Bot Authorization Token",
|
||||
"components.Settings.Notifications.botApiTip": "<CreateBotLink>Create a bot</CreateBotLink> for use with Overseerr",
|
||||
"components.Settings.Notifications.botApiTip": "<CreateBotLink>Create a bot</CreateBotLink> for use with Jellyseerr",
|
||||
"components.Settings.Notifications.botAvatarUrl": "Bot Avatar URL",
|
||||
"components.Settings.Notifications.botUsername": "Bot Username",
|
||||
"components.Settings.Notifications.botUsernameTip": "Allow users to also start a chat with your bot and configure their own notifications",
|
||||
@@ -450,7 +450,7 @@
|
||||
"components.Settings.SettingsAbout.Releases.latestversion": "Latest",
|
||||
"components.Settings.SettingsAbout.Releases.releasedataMissing": "Release data unavailable. Is GitHub down?",
|
||||
"components.Settings.SettingsAbout.Releases.releases": "Releases",
|
||||
"components.Settings.SettingsAbout.Releases.runningDevelopMessage": "The latest changes to the <code>develop</code> branch of Overseerr are not shown below. Please see the commit history for this branch on <GithubLink>GitHub</GithubLink> for details.",
|
||||
"components.Settings.SettingsAbout.Releases.runningDevelopMessage": "The latest changes to the <code>develop</code> branch of Jellyseerr are not shown below. Please see the commit history for this branch on <GithubLink>GitHub</GithubLink> for details.",
|
||||
"components.Settings.SettingsAbout.Releases.versionChangelog": "Version Changelog",
|
||||
"components.Settings.SettingsAbout.Releases.viewchangelog": "View Changelog",
|
||||
"components.Settings.SettingsAbout.Releases.viewongithub": "View on GitHub",
|
||||
@@ -461,16 +461,16 @@
|
||||
"components.Settings.SettingsAbout.githubdiscussions": "GitHub Discussions",
|
||||
"components.Settings.SettingsAbout.helppaycoffee": "Help Pay for Coffee",
|
||||
"components.Settings.SettingsAbout.outofdate": "Out of Date",
|
||||
"components.Settings.SettingsAbout.overseerrinformation": "Overseerr Information",
|
||||
"components.Settings.SettingsAbout.overseerrinformation": "Jellyseerr Information",
|
||||
"components.Settings.SettingsAbout.preferredmethod": "Preferred",
|
||||
"components.Settings.SettingsAbout.supportoverseerr": "Support Overseerr",
|
||||
"components.Settings.SettingsAbout.supportoverseerr": "Support Jellyseerr",
|
||||
"components.Settings.SettingsAbout.timezone": "Time Zone",
|
||||
"components.Settings.SettingsAbout.totalmedia": "Total Media",
|
||||
"components.Settings.SettingsAbout.totalrequests": "Total Requests",
|
||||
"components.Settings.SettingsAbout.uptodate": "Up to Date",
|
||||
"components.Settings.SettingsAbout.version": "Version",
|
||||
"components.Settings.SettingsJobsCache.cache": "Cache",
|
||||
"components.Settings.SettingsJobsCache.cacheDescription": "Overseerr caches requests to external API endpoints to optimize performance and avoid making unnecessary API calls.",
|
||||
"components.Settings.SettingsJobsCache.cacheDescription": "Jellyseerr caches requests to external API endpoints to optimize performance and avoid making unnecessary API calls.",
|
||||
"components.Settings.SettingsJobsCache.cacheflushed": "{cachename} cache flushed.",
|
||||
"components.Settings.SettingsJobsCache.cachehits": "Hits",
|
||||
"components.Settings.SettingsJobsCache.cachekeys": "Total Keys",
|
||||
@@ -486,7 +486,7 @@
|
||||
"components.Settings.SettingsJobsCache.jobcancelled": "{jobname} canceled.",
|
||||
"components.Settings.SettingsJobsCache.jobname": "Job Name",
|
||||
"components.Settings.SettingsJobsCache.jobs": "Jobs",
|
||||
"components.Settings.SettingsJobsCache.jobsDescription": "Overseerr performs certain maintenance tasks as regularly-scheduled jobs, but they can also be manually triggered below. Manually running a job will not alter its schedule.",
|
||||
"components.Settings.SettingsJobsCache.jobsDescription": "Jellyseerr performs certain maintenance tasks as regularly-scheduled jobs, but they can also be manually triggered below. Manually running a job will not alter its schedule.",
|
||||
"components.Settings.SettingsJobsCache.jobsandcache": "Jobs & Cache",
|
||||
"components.Settings.SettingsJobsCache.jobstarted": "{jobname} started.",
|
||||
"components.Settings.SettingsJobsCache.jobtype": "Type",
|
||||
@@ -509,7 +509,7 @@
|
||||
"components.Settings.SettingsLogs.level": "Severity",
|
||||
"components.Settings.SettingsLogs.logDetails": "Log Details",
|
||||
"components.Settings.SettingsLogs.logs": "Logs",
|
||||
"components.Settings.SettingsLogs.logsDescription": "You can also view these logs directly via <code>stdout</code>, or in <code>{configDir}/logs/overseerr.log</code>.",
|
||||
"components.Settings.SettingsLogs.logsDescription": "You can also view these logs directly via <code>stdout</code>, or in <code>{configDir}/logs/jellyseerr.log</code>.",
|
||||
"components.Settings.SettingsLogs.message": "Message",
|
||||
"components.Settings.SettingsLogs.pauseLogs": "Pause",
|
||||
"components.Settings.SettingsLogs.resumeLogs": "Resume",
|
||||
@@ -593,7 +593,7 @@
|
||||
"components.Settings.copied": "Copied API key to clipboard.",
|
||||
"components.Settings.csrfProtection": "Enable CSRF Protection",
|
||||
"components.Settings.csrfProtectionHoverTip": "Do NOT enable this setting unless you understand what you are doing!",
|
||||
"components.Settings.csrfProtectionTip": "Set external API access to read-only (requires HTTPS, and Overseerr must be reloaded for changes to take effect)",
|
||||
"components.Settings.csrfProtectionTip": "Set external API access to read-only (requires HTTPS, and Jellyseerr must be reloaded for changes to take effect)",
|
||||
"components.Settings.currentlibrary": "Current Library: {name}",
|
||||
"components.Settings.default": "Default",
|
||||
"components.Settings.default4k": "Default 4K",
|
||||
@@ -602,19 +602,19 @@
|
||||
"components.Settings.enablessl": "Use SSL",
|
||||
"components.Settings.general": "General",
|
||||
"components.Settings.generalsettings": "General Settings",
|
||||
"components.Settings.generalsettingsDescription": "Configure global and default settings for Overseerr.",
|
||||
"components.Settings.generalsettingsDescription": "Configure global and default settings for Jellyseerr.",
|
||||
"components.Settings.hideAvailable": "Hide Available Media",
|
||||
"components.Settings.jellyfinlibraries": "Jellyfin Libraries",
|
||||
"components.Settings.jellyfinlibrariesDescription": "The libraries Overseerr scans for titles. Click the button below if no libraries are listed.",
|
||||
"components.Settings.jellyfinlibrariesDescription": "The libraries Jellyseerr scans for titles. Click the button below if no libraries are listed.",
|
||||
"components.Settings.jellyfinsettings": "Jellyfin Settings",
|
||||
"components.Settings.jellyfinsettingsDescription": "Configure the settings for your Jellyfin server. Overseerr scans your Jellyfin libraries to see what content is available.",
|
||||
"components.Settings.jellyfinsettingsDescription": "Configure the settings for your Jellyfin server. Jellyseerr scans your Jellyfin libraries to see what content is available.",
|
||||
"components.Settings.hostname": "Hostname or IP Address",
|
||||
"components.Settings.is4k": "4K",
|
||||
"components.Settings.librariesRemaining": "Libraries Remaining: {count}",
|
||||
"components.Settings.locale": "Display Language",
|
||||
"components.Settings.manualscan": "Manual Library Scan",
|
||||
"components.Settings.manualscanDescription": "Normally, this will only be run once every 24 hours. Overseerr will check your Plex server's recently added more aggressively. If this is your first time configuring Plex, a one-time full manual library scan is recommended!",
|
||||
"components.Settings.manualscanDescriptionJellyfin": "Normally, this will only be run once every 24 hours. Overseerr will check your Jellyfin server's recently added more aggressively. If this is your first time configuring Jellyfin, a one-time full manual library scan is recommended!",
|
||||
"components.Settings.manualscanDescription": "Normally, this will only be run once every 24 hours. Jellyseerr will check your Plex server's recently added more aggressively. If this is your first time configuring Plex, a one-time full manual library scan is recommended!",
|
||||
"components.Settings.manualscanDescriptionJellyfin": "Normally, this will only be run once every 24 hours. Jellyseerr will check your Jellyfin server's recently added more aggressively. If this is your first time configuring Jellyfin, a one-time full manual library scan is recommended!",
|
||||
"components.Settings.manualscanJellyfin": "Manual Library Scan",
|
||||
"components.Settings.menuGeneralSettings": "General Settings",
|
||||
"components.Settings.menuJellyfinSettings": "Jellyfin",
|
||||
@@ -639,9 +639,9 @@
|
||||
"components.Settings.partialRequestsEnabled": "Allow Partial Series Requests",
|
||||
"components.Settings.plex": "Plex",
|
||||
"components.Settings.plexlibraries": "Plex Libraries",
|
||||
"components.Settings.plexlibrariesDescription": "The libraries Overseerr scans for titles. Set up and save your Plex connection settings, then click the button below if no libraries are listed.",
|
||||
"components.Settings.plexlibrariesDescription": "The libraries Jellyseerr scans for titles. Set up and save your Plex connection settings, then click the button below if no libraries are listed.",
|
||||
"components.Settings.plexsettings": "Plex Settings",
|
||||
"components.Settings.plexsettingsDescription": "Configure the settings for your Plex server. Overseerr scans your Plex libraries to determine content availability.",
|
||||
"components.Settings.plexsettingsDescription": "Configure the settings for your Plex server. Jellyseerr scans your Plex libraries to determine content availability.",
|
||||
"components.Settings.port": "Port",
|
||||
"components.Settings.radarrsettings": "Radarr Settings",
|
||||
"components.Settings.region": "Discover Region",
|
||||
@@ -676,7 +676,7 @@
|
||||
"components.Settings.toastSettingsFailure": "Something went wrong while saving settings.",
|
||||
"components.Settings.toastSettingsSuccess": "Settings saved successfully!",
|
||||
"components.Settings.trustProxy": "Enable Proxy Support",
|
||||
"components.Settings.trustProxyTip": "Allow Overseerr to correctly register client IP addresses behind a proxy (Overseerr must be reloaded for changes to take effect)",
|
||||
"components.Settings.trustProxyTip": "Allow Jellyseerr to correctly register client IP addresses behind a proxy (Jellyseerr must be reloaded for changes to take effect)",
|
||||
"components.Settings.validationApplicationTitle": "You must provide an application title",
|
||||
"components.Settings.validationApplicationUrl": "You must provide a valid URL",
|
||||
"components.Settings.validationApplicationUrlTrailingSlash": "URL must not end in a trailing slash",
|
||||
@@ -702,9 +702,9 @@
|
||||
"components.Setup.scanbackground": "Scanning will run in the background. You can continue the setup process in the meantime.",
|
||||
"components.Setup.setup": "Setup",
|
||||
"components.Setup.tip": "Tip",
|
||||
"components.Setup.welcome": "Welcome to Overseerr",
|
||||
"components.Setup.welcome": "Welcome to Jellyseerr",
|
||||
"components.StatusBadge.status4k": "4K {status}",
|
||||
"components.StatusChacker.newversionDescription": "Overseerr has been updated! Please click the button below to reload the page.",
|
||||
"components.StatusChacker.newversionDescription": "Jellyseerr has been updated! Please click the button below to reload the page.",
|
||||
"components.StatusChacker.newversionavailable": "Application Update",
|
||||
"components.StatusChacker.reloadOverseerr": "Reload",
|
||||
"components.TvDetails.TvCast.fullseriescast": "Full Series Cast",
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
"components.Settings.SettingsAbout.version": "Versión",
|
||||
"components.Settings.SettingsAbout.totalrequests": "Peticiones Totales",
|
||||
"components.Settings.SettingsAbout.totalmedia": "Contenido Total",
|
||||
"components.Settings.SettingsAbout.overseerrinformation": "Información de Overseerr",
|
||||
"components.Settings.SettingsAbout.overseerrinformation": "Información de Jellyseerr",
|
||||
"components.Settings.SettingsAbout.githubdiscussions": "Discursiones en GitHub",
|
||||
"components.Settings.SettingsAbout.gettingsupport": "Soporte",
|
||||
"components.Settings.RadarrModal.validationRootFolderRequired": "Debes seleccionar una carpeta raíz",
|
||||
@@ -156,7 +156,7 @@
|
||||
"components.TvDetails.manageModalClearMedia": "Borrar los datos de medios",
|
||||
"components.TvDetails.cast": "Reparto",
|
||||
"components.TvDetails.TvCast.fullseriescast": "Reparto completo de la serie",
|
||||
"components.Setup.welcome": "Bienvenido a Overseerr",
|
||||
"components.Setup.welcome": "Bienvenido a Jellyseerr",
|
||||
"components.Setup.signinMessage": "Comience iniciando sesión con su cuenta de Plex",
|
||||
"components.Setup.loginwithplex": "Iniciar sesión con Plex",
|
||||
"components.Setup.finishing": "Finalizando…",
|
||||
@@ -171,9 +171,9 @@
|
||||
"components.Settings.sonarrsettings": "Ajustes de Sonarr",
|
||||
"components.Settings.radarrsettings": "Ajustes de Radarr",
|
||||
"components.Settings.port": "Puerto",
|
||||
"components.Settings.plexsettingsDescription": "Configure los ajustes de su servidor Plex. Overseerr escanea tu biblioteca para determinar la disponibilidad de contenidos.",
|
||||
"components.Settings.plexsettingsDescription": "Configure los ajustes de su servidor Plex. Jellyseerr escanea tu biblioteca para determinar la disponibilidad de contenidos.",
|
||||
"components.Settings.plexsettings": "Ajustes de Plex",
|
||||
"components.Settings.plexlibrariesDescription": "Las bibliotecas en las que Overseerr escanea para buscar títulos. Configure y guarde la configuración de conexión Plex, y después haga clic en el botón de abajo si no aparece ninguna.",
|
||||
"components.Settings.plexlibrariesDescription": "Las bibliotecas en las que Jellyseerr escanea para buscar títulos. Configure y guarde la configuración de conexión Plex, y después haga clic en el botón de abajo si no aparece ninguna.",
|
||||
"components.Settings.plexlibraries": "Bibliotecas Plex",
|
||||
"components.Settings.notrunning": "Sin ejecutarse",
|
||||
"components.Settings.notificationsettings": "Configuración de notificaciones",
|
||||
@@ -183,11 +183,11 @@
|
||||
"components.Settings.menuJobs": "Tareas y Caché",
|
||||
"components.Settings.menuGeneralSettings": "General",
|
||||
"components.Settings.menuAbout": "Acerca de",
|
||||
"components.Settings.manualscanDescription": "Normalmente, esto sólo se ejecutará una vez cada 24 horas. Overseerr comprobará de forma más agresiva los añadidos recientemente de su servidor Plex. ¡Si es la primera vez que configura Plex, se recomienda un escaneo manual completo de la biblioteca!",
|
||||
"components.Settings.manualscanDescription": "Normalmente, esto sólo se ejecutará una vez cada 24 horas. Jellyseerr comprobará de forma más agresiva los añadidos recientemente de su servidor Plex. ¡Si es la primera vez que configura Plex, se recomienda un escaneo manual completo de la biblioteca!",
|
||||
"components.Settings.manualscan": "Escaneo Manual de Biblioteca",
|
||||
"components.Settings.librariesRemaining": "Bibliotecas restantes: {count}",
|
||||
"components.Settings.hostname": "Nombre de host o Dirección IP",
|
||||
"components.Settings.generalsettingsDescription": "Configuración global y ajustes por defecto de Overseerr.",
|
||||
"components.Settings.generalsettingsDescription": "Configuración global y ajustes por defecto de Jellyseerr.",
|
||||
"components.Settings.generalsettings": "Configuración general",
|
||||
"components.Settings.deleteserverconfirm": "¿Está seguro de que desea eliminar este servidor?",
|
||||
"components.Settings.default4k": "4K predeterminado",
|
||||
@@ -223,7 +223,7 @@
|
||||
"components.Settings.SonarrModal.animerootfolder": "Carpeta raíz de anime",
|
||||
"components.Settings.SonarrModal.animequalityprofile": "Perfil de calidad de anime",
|
||||
"components.Settings.SettingsAbout.timezone": "Zona horaria",
|
||||
"components.Settings.SettingsAbout.supportoverseerr": "Apoya a Overseerr",
|
||||
"components.Settings.SettingsAbout.supportoverseerr": "Apoya a Jellyseerr",
|
||||
"components.Settings.SettingsAbout.helppaycoffee": "Ayúdame invitándome a un café",
|
||||
"components.Settings.SettingsAbout.Releases.viewongithub": "Ver en GitHub",
|
||||
"components.Settings.SettingsAbout.Releases.viewchangelog": "Ver registro de cambios",
|
||||
@@ -262,7 +262,7 @@
|
||||
"components.NotificationTypeSelector.mediarequestedDescription": "Envía una notificación cuando se solicitan medios que requieren ser aprobados.",
|
||||
"components.StatusChacker.reloadOverseerr": "Recargar",
|
||||
"components.StatusChacker.newversionavailable": "Actualización de Aplicación",
|
||||
"components.StatusChacker.newversionDescription": "¡Overseerr se ha actualizado!Haga clic en el botón de abajo para volver a cargar la aplicación.",
|
||||
"components.StatusChacker.newversionDescription": "¡Jellyseerr se ha actualizado!Haga clic en el botón de abajo para volver a cargar la aplicación.",
|
||||
"components.Settings.SettingsAbout.documentation": "Documentación",
|
||||
"components.Settings.Notifications.validationChatIdRequired": "Debes proporcionar un ID de chat válido",
|
||||
"components.Settings.Notifications.validationBotAPIRequired": "Debes proporcionar un token de autenticación del bot",
|
||||
@@ -595,7 +595,7 @@
|
||||
"components.Settings.SettingsLogs.pauseLogs": "Pausar",
|
||||
"components.Settings.SettingsLogs.resumeLogs": "Reanudar",
|
||||
"components.Settings.SettingsLogs.message": "Mensaje",
|
||||
"components.Settings.SettingsLogs.logsDescription": "Puede ver estos logs directamente via <code>stdout</code> o en <code>{configDir}/logs/overseerr.log</code>.",
|
||||
"components.Settings.SettingsLogs.logsDescription": "Puede ver estos logs directamente via <code>stdout</code> o en <code>{configDir}/logs/jellyseerr.log</code>.",
|
||||
"components.Settings.SettingsLogs.logs": "Logs",
|
||||
"components.Settings.SettingsLogs.level": "Severidad",
|
||||
"components.Settings.SettingsLogs.label": "Etiqueta",
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
"components.Settings.hostname": "Nom d'hôte ou adresse IP",
|
||||
"components.Settings.librariesRemaining": "Bibliothèques restantes : {count}",
|
||||
"components.Settings.manualscan": "Scan manuel des bibliothèques",
|
||||
"components.Settings.manualscanDescription": "Normalement, le scan sera effectué une fois toutes les 24 heures seulement. Overseerr vérifiera les ajouts récents de votre serveur Plex de plus agressivement. Si c'est la première fois que vous configurez Plex, un scan complet de la bibliothèque est recommandé !",
|
||||
"components.Settings.manualscanDescription": "Normalement, le scan sera effectué une fois toutes les 24 heures seulement. Jellyseerr vérifiera les ajouts récents de votre serveur Plex de plus agressivement. Si c'est la première fois que vous configurez Plex, un scan complet de la bibliothèque est recommandé !",
|
||||
"components.Settings.menuAbout": "À propos",
|
||||
"components.Settings.menuGeneralSettings": "Général",
|
||||
"components.Settings.menuJobs": "Tâches et cache",
|
||||
@@ -131,9 +131,9 @@
|
||||
"components.Settings.notificationsettings": "Paramètres de notification",
|
||||
"components.Settings.notrunning": "Pas en exécution",
|
||||
"components.Settings.plexlibraries": "Bibliothèques Plex",
|
||||
"components.Settings.plexlibrariesDescription": "Les bibliothèques Overseerr recherchent les titres. Configurez et sauvegardez vos paramètres de connexion Plex, puis cliquez sur le bouton ci-dessous si aucune bibliothèque n'est répertoriée.",
|
||||
"components.Settings.plexlibrariesDescription": "Les bibliothèques Jellyseerr recherchent les titres. Configurez et sauvegardez vos paramètres de connexion Plex, puis cliquez sur le bouton ci-dessous si aucune bibliothèque n'est répertoriée.",
|
||||
"components.Settings.plexsettings": "Paramètres Plex",
|
||||
"components.Settings.plexsettingsDescription": "Configurer les paramètres de votre serveur Plex. Overseerr scanne vos librairies Plex pour déterminer les contenus disponibles.",
|
||||
"components.Settings.plexsettingsDescription": "Configurer les paramètres de votre serveur Plex. Jellyseerr scanne vos librairies Plex pour déterminer les contenus disponibles.",
|
||||
"components.Settings.port": "Port",
|
||||
"components.Settings.radarrsettings": "Paramètres Radarr",
|
||||
"components.Settings.sonarrsettings": "Paramètres Sonarr",
|
||||
@@ -146,7 +146,7 @@
|
||||
"components.Setup.finishing": "Finalisation…",
|
||||
"components.Setup.loginwithplex": "Se connecter avec Plex",
|
||||
"components.Setup.signinMessage": "Commencez en vous connectant avec votre compte Plex",
|
||||
"components.Setup.welcome": "Bienvenue sur Overseerr",
|
||||
"components.Setup.welcome": "Bienvenue sur Jellyseerr",
|
||||
"components.TvDetails.cast": "Casting",
|
||||
"components.TvDetails.manageModalClearMedia": "Effacer les données médias",
|
||||
"components.TvDetails.manageModalClearMediaWarning": "* Cette action supprimera irrémédiablement toutes les données pour cette série, y compris toutes les demandes. Si cet élément existe dans votre bibliothèque Plex, les informations du média seront recréées lors du prochain scan.",
|
||||
@@ -193,7 +193,7 @@
|
||||
"components.Settings.SettingsAbout.version": "Version",
|
||||
"components.Settings.SettingsAbout.totalrequests": "Total des demandes",
|
||||
"components.Settings.SettingsAbout.totalmedia": "Total des médias",
|
||||
"components.Settings.SettingsAbout.overseerrinformation": "Informations sur Overseerr",
|
||||
"components.Settings.SettingsAbout.overseerrinformation": "Informations sur Jellyseerr",
|
||||
"components.Settings.SettingsAbout.githubdiscussions": "Discussions GitHub",
|
||||
"components.Settings.SettingsAbout.gettingsupport": "Obtenir de l'aide",
|
||||
"components.Settings.RadarrModal.validationNameRequired": "Vous devez fournir un nom de serveur",
|
||||
@@ -222,14 +222,14 @@
|
||||
"components.Settings.SonarrModal.animerootfolder": "Dossier racine pour anime",
|
||||
"components.Settings.SonarrModal.animequalityprofile": "Profil qualité pour anime",
|
||||
"components.MovieDetails.studio": "{studioCount, plural, one {Studio} other {Studios}}",
|
||||
"components.Settings.SettingsAbout.supportoverseerr": "Soutenez Overseerr",
|
||||
"components.Settings.SettingsAbout.supportoverseerr": "Soutenez Jellyseerr",
|
||||
"i18n.close": "Fermer",
|
||||
"components.Settings.SettingsAbout.timezone": "Fuseau horaire",
|
||||
"components.Settings.SettingsAbout.helppaycoffee": "Aidez-nous à payer le café",
|
||||
"components.Settings.SettingsAbout.Releases.viewongithub": "Voir sur GitHub",
|
||||
"components.Settings.SettingsAbout.Releases.viewchangelog": "Voir le journal des modifications",
|
||||
"components.Settings.SettingsAbout.Releases.versionChangelog": "Journal des modifications de version",
|
||||
"components.Settings.SettingsAbout.Releases.runningDevelopMessage": "Les dernières modifications apportées à la branche <code>develop</code> d'Overseerr ne sont pas affichées ci-dessous. Veuillez consulter l'historique des validations de cette branche sur <GithubLink>GitHub</GithubLink> pour plus de détails.",
|
||||
"components.Settings.SettingsAbout.Releases.runningDevelopMessage": "Les dernières modifications apportées à la branche <code>develop</code> d'Jellyseerr ne sont pas affichées ci-dessous. Veuillez consulter l'historique des validations de cette branche sur <GithubLink>GitHub</GithubLink> pour plus de détails.",
|
||||
"components.Settings.SettingsAbout.Releases.releases": "Versions",
|
||||
"components.Settings.SettingsAbout.Releases.releasedataMissing": "Données de sortie indisponibles. GitHub est-il en panne ?",
|
||||
"components.Settings.SettingsAbout.Releases.latestversion": "Dernière version",
|
||||
@@ -268,7 +268,7 @@
|
||||
"components.Settings.Notifications.chatId": "ID discussion",
|
||||
"components.StatusChacker.reloadOverseerr": "Recharger",
|
||||
"components.StatusChacker.newversionavailable": "Mise à jour de l'application",
|
||||
"components.StatusChacker.newversionDescription": "Overseerr a été mis à jour ! Veuillez cliquer sur le bouton ci-dessous pour recharger la page.",
|
||||
"components.StatusChacker.newversionDescription": "Jellyseerr a été mis à jour ! Veuillez cliquer sur le bouton ci-dessous pour recharger la page.",
|
||||
"components.Settings.SettingsAbout.documentation": "Documentation",
|
||||
"components.NotificationTypeSelector.mediarequestedDescription": "Envoie une notification quand un média est demandé et nécessite une validation.",
|
||||
"components.NotificationTypeSelector.mediarequested": "Média demandé",
|
||||
@@ -363,11 +363,11 @@
|
||||
"components.PlexLoginButton.signingin": "Connexion en cours…",
|
||||
"components.UserList.userssaved": "Les permissions d'utilisateur ont été enregistrées avec succès !",
|
||||
"components.UserList.bulkedit": "Modification en masse",
|
||||
"components.Settings.csrfProtectionTip": "Définir l'accès à l'API externe en lecture seule (nécessite HTTPS et Overseerr doit être rechargé pour que les modifications prennent effet)",
|
||||
"components.Settings.csrfProtectionTip": "Définir l'accès à l'API externe en lecture seule (nécessite HTTPS et Jellyseerr doit être rechargé pour que les modifications prennent effet)",
|
||||
"components.Settings.csrfProtection": "Activer la protection CSRF",
|
||||
"components.PermissionEdit.usersDescription": "Accorder l'autorisation de gérer les utilisateurs d'Overseerr. Les utilisateurs disposant de cette autorisation ne peuvent pas modifier les utilisateurs dotés de privilèges d'administrateur ni les accorder.",
|
||||
"components.PermissionEdit.usersDescription": "Accorder l'autorisation de gérer les utilisateurs d'Jellyseerr. Les utilisateurs disposant de cette autorisation ne peuvent pas modifier les utilisateurs dotés de privilèges d'administrateur ni les accorder.",
|
||||
"components.PermissionEdit.users": "Gérer les utilisateurs",
|
||||
"components.PermissionEdit.settingsDescription": "Accorde la permission de modifier les paramètres d'Overseerr. Un utilisateur doit avoir cette autorisation pour l'accorder à d'autres.",
|
||||
"components.PermissionEdit.settingsDescription": "Accorde la permission de modifier les paramètres d'Jellyseerr. Un utilisateur doit avoir cette autorisation pour l'accorder à d'autres.",
|
||||
"components.PermissionEdit.settings": "Gérer les paramètres",
|
||||
"components.PermissionEdit.requestDescription": "Accorde la permission de demander des médias non-4K.",
|
||||
"components.PermissionEdit.request4kTvDescription": "Accorde l'autorisation de demander des séries 4K.",
|
||||
@@ -377,7 +377,7 @@
|
||||
"components.PermissionEdit.request4kDescription": "Accorde la permission de demander des médias 4K.",
|
||||
"components.PermissionEdit.request4k": "Demande 4K",
|
||||
"components.PermissionEdit.request": "Demande",
|
||||
"components.PermissionEdit.managerequestsDescription": "Accorde l'autorisation de gérer les demandes d'Overseerr. Toutes les demandes faites par un utilisateur avec cette autorisation seront automatiquement approuvées.",
|
||||
"components.PermissionEdit.managerequestsDescription": "Accorde l'autorisation de gérer les demandes d'Jellyseerr. Toutes les demandes faites par un utilisateur avec cette autorisation seront automatiquement approuvées.",
|
||||
"components.PermissionEdit.managerequests": "Gérer les demandes",
|
||||
"components.PermissionEdit.autoapproveSeriesDescription": "Accorde la validation automatique pour toutes les demandes de série non-4K.",
|
||||
"components.PermissionEdit.autoapproveSeries": "Validation automatique des séries",
|
||||
@@ -423,9 +423,9 @@
|
||||
"components.MovieDetails.openradarr4k": "Ouvrir le film dans Radarr 4K",
|
||||
"components.MovieDetails.openradarr": "Ouvrir le film dans Radarr",
|
||||
"components.MovieDetails.downloadstatus": "État du téléchargement",
|
||||
"components.Settings.trustProxyTip": "Permettre Overseerr à enregistrer correctement les adresses IP des clients derrière un proxy (Overseerr doit être rechargé pour que les modifications prennent effet)",
|
||||
"components.Settings.trustProxyTip": "Permettre Jellyseerr à enregistrer correctement les adresses IP des clients derrière un proxy (Jellyseerr doit être rechargé pour que les modifications prennent effet)",
|
||||
"components.Settings.trustProxy": "Activer la prise en charge proxy",
|
||||
"components.Settings.SettingsJobsCache.jobsDescription": "Overseerr effectue certaines tâches de maintenance comme des tâches planifiées régulièrement, mais elles peuvent également être déclenchées manuellement ci-dessous. L'exécution manuelle d'une tâche ne modifiera pas sa planification.",
|
||||
"components.Settings.SettingsJobsCache.jobsDescription": "Jellyseerr effectue certaines tâches de maintenance comme des tâches planifiées régulièrement, mais elles peuvent également être déclenchées manuellement ci-dessous. L'exécution manuelle d'une tâche ne modifiera pas sa planification.",
|
||||
"components.Settings.SettingsJobsCache.cachemisses": "Manqués",
|
||||
"components.Settings.SettingsJobsCache.runnow": "Exécuter",
|
||||
"components.Settings.SettingsJobsCache.nextexecution": "Prochaine exécution",
|
||||
@@ -442,7 +442,7 @@
|
||||
"components.Settings.SettingsJobsCache.cachekeys": "Total des clés",
|
||||
"components.Settings.SettingsJobsCache.cachehits": "Résultats",
|
||||
"components.Settings.SettingsJobsCache.cacheflushed": "Cache de {cachename} vidé.",
|
||||
"components.Settings.SettingsJobsCache.cacheDescription": "Overseerr met en cache les demandes aux points de terminaison d'API externes pour optimiser les performances et éviter de faire des appels d'API inutiles.",
|
||||
"components.Settings.SettingsJobsCache.cacheDescription": "Jellyseerr met en cache les demandes aux points de terminaison d'API externes pour optimiser les performances et éviter de faire des appels d'API inutiles.",
|
||||
"components.Settings.SettingsJobsCache.cache": "Cache",
|
||||
"components.Settings.applicationTitle": "Titre de l'application",
|
||||
"i18n.advanced": "Avancés",
|
||||
@@ -661,7 +661,7 @@
|
||||
"components.Settings.SettingsLogs.time": "Horodatage",
|
||||
"components.Settings.SettingsLogs.resumeLogs": "Résumer",
|
||||
"components.Settings.SettingsLogs.message": "Message",
|
||||
"components.Settings.SettingsLogs.logsDescription": "Vous pouvez également afficher ces journaux directement via <code>stdout</code>, ou dans <code>{configDir} /logs/overseerr.log</code>.",
|
||||
"components.Settings.SettingsLogs.logsDescription": "Vous pouvez également afficher ces journaux directement via <code>stdout</code>, ou dans <code>{configDir} /logs/jellyseerr.log</code>.",
|
||||
"components.Settings.SettingsLogs.level": "Gravité",
|
||||
"components.Settings.SettingsLogs.label": "Étiquette",
|
||||
"components.Settings.SettingsLogs.extraData": "Données supplémentaires",
|
||||
@@ -761,8 +761,8 @@
|
||||
"components.RequestCard.mediaerror": "Le titre associé à cette demande n’est plus disponible.",
|
||||
"components.RequestCard.deleterequest": "Supprimer la Demande",
|
||||
"components.NotificationTypeSelector.notificationTypes": "Types de Notification",
|
||||
"components.Layout.VersionStatus.streamstable": "Overseerr Stable",
|
||||
"components.Layout.VersionStatus.streamdevelop": "Overseerr Develop",
|
||||
"components.Layout.VersionStatus.streamstable": "Jellyseerr Stable",
|
||||
"components.Layout.VersionStatus.streamdevelop": "Jellyseerr Develop",
|
||||
"components.Layout.VersionStatus.commitsbehind": "{commitsBehind} {commitsBehind, plural, one {commit} other {commits}} en retard",
|
||||
"components.Layout.VersionStatus.outofdate": "Obsolète",
|
||||
"components.Discover.noRequests": "Aucune demande.",
|
||||
@@ -818,13 +818,13 @@
|
||||
"components.Settings.Notifications.encryptionOpportunisticTls": "Toujours utiliser STARTTLS",
|
||||
"components.DownloadBlock.estimatedtime": "Estimé {time}",
|
||||
"components.Settings.Notifications.NotificationsPushover.userTokenTip": "Votre <UsersGroupsLink>identifiant d'utilisateur ou de groupe</UsersGroupsLink> de 30 caractères",
|
||||
"components.Settings.Notifications.NotificationsPushover.accessTokenTip": "<ApplicationRegistrationLink>Enregistrer une application</ApplicationRegistrationLink> pour l'utiliser avec Overseerr",
|
||||
"components.Settings.Notifications.NotificationsPushover.accessTokenTip": "<ApplicationRegistrationLink>Enregistrer une application</ApplicationRegistrationLink> pour l'utiliser avec Jellyseerr",
|
||||
"components.RequestList.RequestItem.requesteddate": "Demandé",
|
||||
"components.RequestCard.failedretry": "Une erreur s'est produite lors du renvoi de la demande.",
|
||||
"components.UserProfile.UserSettings.UserNotificationSettings.webpushsettingssaved": "Paramètres de notification Web Push enregistrés avec succès !",
|
||||
"components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSuccess": "Notification de test web push envoyée !",
|
||||
"components.Settings.Notifications.NotificationsWebPush.toastWebPushTestSending": "Envoi d'une notification de test web push…",
|
||||
"components.Settings.Notifications.NotificationsWebPush.httpsRequirement": "Afin de recevoir des notifications web push, Overseerr doit fonctionner en HTTPS.",
|
||||
"components.Settings.Notifications.NotificationsWebPush.httpsRequirement": "Afin de recevoir des notifications web push, Jellyseerr doit fonctionner en HTTPS.",
|
||||
"components.Settings.Notifications.NotificationsWebhook.toastWebhookTestSuccess": "Notification de test Webhook envoyée !",
|
||||
"components.Settings.Notifications.NotificationsWebhook.toastWebhookTestSending": "Envoi de notification de test webhook…",
|
||||
"components.Settings.Notifications.NotificationsWebPush.toastWebPushTestFailed": "L'envoi de la notification de test Web push a échoué.",
|
||||
@@ -862,7 +862,7 @@
|
||||
"components.Settings.Notifications.toastDiscordTestSending": "Envoi de la notification de test Discord…",
|
||||
"components.Settings.Notifications.toastDiscordTestFailed": "Échec de l'envoi de la notification de test Discord.",
|
||||
"components.Settings.Notifications.chatIdTip": "Démarrez une discussion avec votre bot, ajoutez <GetIdBotLink>@get_id_bot</GetIdBotLink> et exécutez la commande <code>/my_id</code>",
|
||||
"components.Settings.Notifications.botApiTip": "<CreateBotLink>Créer un bot</CreateBotLink> à utiliser avec Overseerr",
|
||||
"components.Settings.Notifications.botApiTip": "<CreateBotLink>Créer un bot</CreateBotLink> à utiliser avec Jellyseerr",
|
||||
"components.Settings.Notifications.NotificationsWebhook.validationTypes": "Vous devez sélectionner au moins un type de notification",
|
||||
"components.Settings.Notifications.NotificationsSlack.validationTypes": "Vous devez sélectionner au moins un type de notification",
|
||||
"components.Settings.Notifications.NotificationsPushover.validationTypes": "Vous devez sélectionner au moins un type de notification",
|
||||
|
||||
@@ -12,25 +12,24 @@ const CollectionPage: NextPage<CollectionPageProps> = ({ collection }) => {
|
||||
return <CollectionDetails collection={collection} />;
|
||||
};
|
||||
|
||||
export const getServerSideProps: GetServerSideProps<CollectionPageProps> = async (
|
||||
ctx
|
||||
) => {
|
||||
const response = await axios.get<Collection>(
|
||||
`http://localhost:${process.env.PORT || 5055}/api/v1/collection/${
|
||||
ctx.query.collectionId
|
||||
}`,
|
||||
{
|
||||
headers: ctx.req?.headers?.cookie
|
||||
? { cookie: ctx.req.headers.cookie }
|
||||
: undefined,
|
||||
}
|
||||
);
|
||||
export const getServerSideProps: GetServerSideProps<CollectionPageProps> =
|
||||
async (ctx) => {
|
||||
const response = await axios.get<Collection>(
|
||||
`http://localhost:${process.env.PORT || 5055}/api/v1/collection/${
|
||||
ctx.query.collectionId
|
||||
}`,
|
||||
{
|
||||
headers: ctx.req?.headers?.cookie
|
||||
? { cookie: ctx.req.headers.cookie }
|
||||
: undefined,
|
||||
}
|
||||
);
|
||||
|
||||
return {
|
||||
props: {
|
||||
collection: response.data,
|
||||
},
|
||||
return {
|
||||
props: {
|
||||
collection: response.data,
|
||||
},
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
export default CollectionPage;
|
||||
|
||||
@@ -37,7 +37,7 @@ class PlexOAuth {
|
||||
const browser = Bowser.getParser(window.navigator.userAgent);
|
||||
this.plexHeaders = {
|
||||
Accept: 'application/json',
|
||||
'X-Plex-Product': 'Overseerr',
|
||||
'X-Plex-Product': 'Jellyseerr',
|
||||
'X-Plex-Version': '2.0',
|
||||
'X-Plex-Client-Identifier': '7f9de3ba-e12b-11ea-87d0-0242ac130003',
|
||||
'X-Plex-Model': 'Plex OAuth',
|
||||
@@ -85,15 +85,13 @@ class PlexOAuth {
|
||||
'context[device][product]': this.plexHeaders['X-Plex-Product'],
|
||||
'context[device][version]': this.plexHeaders['X-Plex-Version'],
|
||||
'context[device][platform]': this.plexHeaders['X-Plex-Platform'],
|
||||
'context[device][platformVersion]': this.plexHeaders[
|
||||
'X-Plex-Platform-Version'
|
||||
],
|
||||
'context[device][platformVersion]':
|
||||
this.plexHeaders['X-Plex-Platform-Version'],
|
||||
'context[device][device]': this.plexHeaders['X-Plex-Device'],
|
||||
'context[device][deviceName]': this.plexHeaders['X-Plex-Device-Name'],
|
||||
'context[device][model]': this.plexHeaders['X-Plex-Model'],
|
||||
'context[device][screenResolution]': this.plexHeaders[
|
||||
'X-Plex-Device-Screen-Resolution'
|
||||
],
|
||||
'context[device][screenResolution]':
|
||||
this.plexHeaders['X-Plex-Device-Screen-Resolution'],
|
||||
'context[device][layout]': 'desktop',
|
||||
code: this.pin.code,
|
||||
};
|
||||
|
||||
@@ -14192,9 +14192,9 @@ which-boxed-primitive@^1.0.1, which-boxed-primitive@^1.0.2:
|
||||
is-symbol "^1.0.3"
|
||||
|
||||
which-pm-runs@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb"
|
||||
integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.1.0.tgz#35ccf7b1a0fce87bd8b92a478c9d045785d3bf35"
|
||||
integrity sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==
|
||||
|
||||
which-typed-array@^1.1.2:
|
||||
version "1.1.4"
|
||||
|
||||
Reference in New Issue
Block a user