Currently translated at 100.0% (714 of 714 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (714 of 714 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (710 of 710 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (706 of 706 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: 無情天 <kofzhanganguo@126.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hans/
Translation: feishin/Translation
Currently translated at 100.0% (706 of 706 strings)
Translated using Weblate (French)
Currently translated at 100.0% (699 of 699 strings)
Translated using Weblate (French)
Currently translated at 100.0% (699 of 699 strings)
Translated using Weblate (French)
Currently translated at 100.0% (699 of 699 strings)
Co-authored-by: Dylan MONTIGAUD <dylanmontigaud17@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/fr/
Translation: feishin/Translation
Currently translated at 100.0% (714 of 714 strings)
Translated using Weblate (Spanish)
Currently translated at 99.8% (709 of 710 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (706 of 706 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (705 of 705 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (701 of 701 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (699 of 699 strings)
Co-authored-by: Aitor Astorga <a.astorga.sdv@protonmail.com>
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: jaime-grj <weblate.4ljj9@aleeas.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/
Translation: feishin/Translation
Currently translated at 100.0% (710 of 710 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (706 of 706 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (705 of 705 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (701 of 701 strings)
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translation: feishin/Translation
Currently translated at 73.3% (521 of 710 strings)
Translated using Weblate (Basque)
Currently translated at 57.7% (407 of 705 strings)
Translated using Weblate (Basque)
Currently translated at 44.1% (311 of 705 strings)
Translated using Weblate (Basque)
Currently translated at 41.7% (293 of 701 strings)
Translated using Weblate (Basque)
Currently translated at 15.5% (109 of 699 strings)
Translated using Weblate (Basque)
Currently translated at 11.1% (78 of 699 strings)
Translated using Weblate (Basque)
Currently translated at 7.8% (55 of 699 strings)
Added translation using Weblate (Basque)
Co-authored-by: Aitor Astorga <a.astorga.sdv@protonmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/eu/
Translation: feishin/Translation
* add PWA to web app
* Fix sw.js not registering and lint
* Change sw and manifest to live at root
* Revert "Change sw and manifest to live at root"
This reverts commit 4c27d92467.
* Add song and artist links to discord RPC
* use first artist name for artist link, full artist name for song link
* use first album artist for song link
* add discord rpc links setting
* simplify discord link settings
* fix setting description
* add musicbrainz links
* fix callback missing dependency
* use encodeURIComponent for lastfm links
Co-authored-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com>
* split musicbrainz ids
* combine link settings
---------
Co-authored-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com>
* Add autodiscovery for Jellyfin servers
* Remove debugging aids
you didn't see anything
* Fix linter errors
* Send a discovery packet to localhost too
* feat: add semantic selectors for now-playing media
This change adds unique class names to the elements that display the currently playing media information. This makes it easier for extension developers to parse the DOM and understand what media is playing.
The following classes have been added:
- `media-player`: The main player container.
- `player-cover-art`: The cover art of the playing track.
- `song-title`: The title of the playing track.
- `song-artist`: The artist of the playing track.
- `song-album`: The album of the playing track.
- `player-state-playing`/`player-state-paused`: The state of the player.
- `elapsed-time`: The elapsed time of the playing track.
- `total-duration`: The total duration of the playing track.
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
* initial client-side only sort for all playlists
* allow reordering jellyfin (assume it works properly) and navidrome
* on playlist page, add to queue by sort order
Currently translated at 100.0% (699 of 699 strings)
Translated using Weblate (Slovak)
Currently translated at 81.2% (568 of 699 strings)
Translated using Weblate (Slovak)
Currently translated at 78.3% (548 of 699 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: peter cerny <posli.to.semka@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/sk/
Translation: feishin/Translation
Currently translated at 100.0% (694 of 694 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (685 of 685 strings)
Translated using Weblate (Catalan)
Currently translated at 95.0% (651 of 685 strings)
Translated using Weblate (Catalan)
Currently translated at 88.7% (608 of 685 strings)
Translated using Weblate (Catalan)
Currently translated at 88.7% (608 of 685 strings)
Translated using Weblate (Catalan)
Currently translated at 49.0% (336 of 685 strings)
Translated using Weblate (Catalan)
Currently translated at 49.0% (336 of 685 strings)
Update translation files
Updated by "Remove blank strings" hook in Weblate.
Translated using Weblate (Catalan)
Currently translated at 47.4% (325 of 685 strings)
Added translation using Weblate (Catalan)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Isaac Miró <isaac.miro.garcia@gmail.com>
Co-authored-by: Ondo <SparkyOndo@proton.me>
Co-authored-by: Àlex Bravo <alexbravobosch@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ca/
Translation: feishin/Translation
Currently translated at 100.0% (685 of 685 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (685 of 685 strings)
Translated using Weblate (Turkish)
Currently translated at 54.8% (376 of 685 strings)
Translated using Weblate (Turkish)
Currently translated at 51.5% (353 of 685 strings)
Translated using Weblate (Turkish)
Currently translated at 31.5% (216 of 685 strings)
Added translation using Weblate (Turkish)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Mücahit Kaya <kaya-mucahit@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/tr/
Translation: feishin/Translation
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 74.8% (509 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 9.1% (62 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 9.1% (62 of 680 strings)
Translated using Weblate (Slovenian)
Currently translated at 9.1% (62 of 680 strings)
Added translation using Weblate (Slovenian)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Martin Stojanoski <martin.stojanoski2000@gmail.com>
Co-authored-by: mytja <mamnju21@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/sl/
Translation: feishin/Translation
Currently translated at 100.0% (680 of 680 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (680 of 680 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (680 of 680 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (680 of 680 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (680 of 680 strings)
Co-authored-by: Daivy <reale805@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/it/
Translation: feishin/Translation
Resolves#985.
Currently, attempting to click on one of the `set rating` buttons is a no-op.
This is because it is considered "outside" the `ContextMenu`, which immediately closes it.
Pass in the same merged ref into the body of the `DropDown` component so that it is also treated as "inside".
- Jellyfin will use `ContributingArtistsId` (compilation), `AlbumArtistIds` (compilation is false), or `ArtistIds` (unspecified; all)
- Jellyfin can filter by compilation _only_ on the artist discography page
- Navidrome album filter fix for `defaultValue` display and prevent showing `tagQuery` 0 when querying
- Subsonic can filter by one or more artists in the album page. Sort is also applied on these items
- Bump genre/tag cache/stale time to 2/1 minutes
- Fix various cases where the album filter would display as active when it wasn't
- Use `compilation=false` for Navidrome recent releases with artist credit
- Add `YesNoSelect` (yes, no, undefined) for `favorite` for Navidrome/Jellyfin `album`/`track`, and Navidrome `compilation`
- Fix folderButton translation
Currently translated at 100.0% (680 of 680 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (680 of 680 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (676 of 676 strings)
Co-authored-by: ENDzZ <godzmichael@outlook.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: 無情天 <kofzhanganguo@126.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hans/
Translation: feishin/Translation
Currently translated at 100.0% (680 of 680 strings)
Translated using Weblate (Finnish)
Currently translated at 100.0% (680 of 680 strings)
Translated using Weblate (Finnish)
Currently translated at 100.0% (680 of 680 strings)
Co-authored-by: ENDzZ <godzmichael@outlook.com>
Co-authored-by: jonoafi <joona@jonottaa.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/fi/
Translation: feishin/Translation
Currently translated at 100.0% (680 of 680 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (680 of 680 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (676 of 676 strings)
Co-authored-by: ENDzZ <godzmichael@outlook.com>
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/
Translation: feishin/Translation
Currently translated at 100.0% (680 of 680 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (680 of 680 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (676 of 676 strings)
Co-authored-by: ENDzZ <godzmichael@outlook.com>
Co-authored-by: Fjuro <git@alius.cz>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translation: feishin/Translation
- Jellyfin: Uses `/items/filters` to get list of boolean tags. Notably, does not use this same filter for genres. Separate filter for song/album
- Navidrome: Uses `/api/tags`, which appears to be album-level as multiple independent selects. Same filter for song/album
- Parses `tags` for Navidrome (mapping string: string[])
- Parses `Tags` (and fetches for it) for Jellyfin (map a string to empty, and display as a bool)
- Clean parsing of participants for Navidrome/Subsonic
- Only show `People` for Jellyfin, not clickable
Currently translated at 100.0% (657 of 657 strings)
Translated using Weblate (Finnish)
Currently translated at 77.3% (508 of 657 strings)
Translated using Weblate (Finnish)
Currently translated at 69.2% (455 of 657 strings)
Translated using Weblate (Finnish)
Currently translated at 64.9% (427 of 657 strings)
Translated using Weblate (Finnish)
Currently translated at 64.9% (427 of 657 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Lunya <Lunya2@protonmail.com>
Co-authored-by: Ricky Tigg <ricky.tigg@gmail.com>
Co-authored-by: jonoafi <joona@jonottaa.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/fi/
Translation: feishin/Translation
Currently translated at 47.4% (312 of 657 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 41.0% (270 of 657 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 30.2% (199 of 657 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 20.2% (133 of 657 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: klodrik <klodrik@zoominn.no>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/nb_NO/
Translation: feishin/Translation
Currently translated at 64.6% (425 of 657 strings)
Translated using Weblate (Persian)
Currently translated at 62.7% (412 of 657 strings)
Translated using Weblate (Persian)
Currently translated at 39.2% (258 of 657 strings)
Co-authored-by: Hadi <xhopeter@proton.me>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/fa/
Translation: feishin/Translation
Currently translated at 100.0% (657 of 657 strings)
Translated using Weblate (Indonesian)
Currently translated at 6.0% (40 of 657 strings)
Added translation using Weblate (Indonesian)
Co-authored-by: Fadilah Riczky <friczky@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/id/
Translation: feishin/Translation
* Add play button to song table album cover, like it is in grid
* Fix: play button caused error for albums and artists tables
* Fix: play button caused error for some other tables
Currently translated at 100.0% (634 of 634 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (632 of 632 strings)
Translated using Weblate (Spanish)
Currently translated at 99.8% (631 of 632 strings)
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/
Translation: feishin/Translation
Currently translated at 100.0% (634 of 634 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (632 of 632 strings)
Translated using Weblate (Czech)
Currently translated at 99.6% (630 of 632 strings)
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translation: feishin/Translation
* add web visualizer
* fallback to simple model
* less samples, hopefully more efficient
* Use audiomotion analyzer
- Note: fixed to 4.1.1 because 4.2.0 uses esm which breaks in the current workflow...
* revert publish changes
* r2
* don't massively change package.json
* lazy
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (610 of 610 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (595 of 595 strings)
Co-authored-by: ENDzZ <godzmichael@outlook.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Shawn <xiaxinx@gmail.com>
Co-authored-by: 無情天 <kofzhanganguo@126.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hans/
Translation: feishin/Translation
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (622 of 622 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (612 of 612 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (610 of 610 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (604 of 604 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (602 of 602 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (602 of 602 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (602 of 602 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (599 of 599 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (597 of 597 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (595 of 595 strings)
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/
Translation: feishin/Translation
Currently translated at 40.1% (245 of 610 strings)
Translated using Weblate (Dutch)
Currently translated at 40.1% (245 of 610 strings)
Translated using Weblate (Dutch)
Currently translated at 40.0% (244 of 610 strings)
Translated using Weblate (Dutch)
Currently translated at 40.7% (244 of 599 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Idris Saklou <idrissaklou@hotmail.com>
Co-authored-by: Joren Vansteenkiste <vansteenkiste.joren@telenet.be>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/nl/
Translation: feishin/Translation
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (621 of 621 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (612 of 612 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (610 of 610 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (604 of 604 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (599 of 599 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (595 of 595 strings)
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translation: feishin/Translation
* [scuffed bugfix]: Update table rating/favorite when updated anywhere else
Modify player store to have temporary state for favorite/rating update
Add effect handler for `virtual-table` to update rating/favorite for players
Note that this does not handle song grid view.
Using a similar handler for gird view did not work, as it appeared to result in inconsistent state.
Finally, this is probably not the optimal solution.
Performance appears fine for ~20k items, but no guarantees.
* restore should update song
* update song rating/favorite/played everywhere except playlist
* special rule for playlists
* use iterator instead
* Album blur, allow clicking the playerbar to toggle the player
* Fix stopProporagion, sync package with upsteam, update translation
* recommit my existing changes
* Update default albumBackgroundBlur to 6
* according to git this commit resets the package files
* merge with our fork because pyx forgot to add it
* try adding a setting
* change the playerbar animation
* make the animation quicker bc its choppy
* change playerbar to use a bool instead
* requested opacity fix
* Refactor classes to use clsx
---------
Co-authored-by: iiPython <ben@iipython.dev>
Co-authored-by: Jeff <42182408+jeffvli@users.noreply.github.com>
Currently translated at 100.0% (593 of 593 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (591 of 591 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (586 of 586 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (586 of 586 strings)
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/
Translation: feishin/Translation
Currently translated at 100.0% (593 of 593 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (591 of 591 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (586 of 586 strings)
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translation: feishin/Translation
Currently translated at 97.2% (575 of 591 strings)
Translated using Weblate (Russian)
Currently translated at 97.2% (575 of 591 strings)
Translated using Weblate (Russian)
Currently translated at 95.0% (562 of 591 strings)
Translated using Weblate (Russian)
Currently translated at 95.0% (562 of 591 strings)
Translated using Weblate (Russian)
Currently translated at 70.7% (418 of 591 strings)
Translated using Weblate (Russian)
Currently translated at 70.7% (418 of 591 strings)
Co-authored-by: Blueberry <igory.ygr200@gmail.com>
Co-authored-by: Eugeniy <zamelane@vk.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ShaDream <mogilnikovshadream@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ru/
Translation: feishin/Translation
Allow multiple sessions from the same user with different instances.
Instead of sending a hard-coded string, send a randomly generated
string `deviceId`, which already exists and is created for each
new installation.
Currently translated at 100.0% (586 of 586 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: HanaO00 <lwin24452@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: KosmoMoustache <KosmoMoustache@users.noreply.hosted.weblate.org>
Co-authored-by: Leonardo Pizio <pizio.leonardo@gmail.com>
Co-authored-by: Mistify <fabianszafranski@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: 無情天 <kofzhanganguo@126.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/fr/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/it/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hans/
Translation: feishin/Translation
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: HanaO00 <lwin24452@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: KosmoMoustache <KosmoMoustache@users.noreply.hosted.weblate.org>
Co-authored-by: Leonardo Pizio <pizio.leonardo@gmail.com>
Co-authored-by: Mistify <fabianszafranski@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: 無情天 <kofzhanganguo@126.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/fr/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/it/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hans/
Translation: feishin/Translation
Currently translated at 100.0% (586 of 586 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: HanaO00 <lwin24452@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: KosmoMoustache <KosmoMoustache@users.noreply.hosted.weblate.org>
Co-authored-by: Leonardo Pizio <pizio.leonardo@gmail.com>
Co-authored-by: Mistify <fabianszafranski@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: 無情天 <kofzhanganguo@126.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/fr/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/it/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hans/
Translation: feishin/Translation
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: HanaO00 <lwin24452@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: KosmoMoustache <KosmoMoustache@users.noreply.hosted.weblate.org>
Co-authored-by: Leonardo Pizio <pizio.leonardo@gmail.com>
Co-authored-by: Mistify <fabianszafranski@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: 無情天 <kofzhanganguo@126.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/fr/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/it/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hans/
Translation: feishin/Translation
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: HanaO00 <lwin24452@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: KosmoMoustache <KosmoMoustache@users.noreply.hosted.weblate.org>
Co-authored-by: Leonardo Pizio <pizio.leonardo@gmail.com>
Co-authored-by: Mistify <fabianszafranski@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: 無情天 <kofzhanganguo@126.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/fr/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/it/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hans/
Translation: feishin/Translation
Currently translated at 100.0% (586 of 586 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (525 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (570 of 570 strings)
Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Italian)
Currently translated at 98.6% (576 of 584 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (565 of 566 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (585 of 585 strings)
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: HanaO00 <lwin24452@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: KosmoMoustache <KosmoMoustache@users.noreply.hosted.weblate.org>
Co-authored-by: Leonardo Pizio <pizio.leonardo@gmail.com>
Co-authored-by: Mistify <fabianszafranski@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: 無情天 <kofzhanganguo@126.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/fr/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/it/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hans/
Translation: feishin/Translation
* [bugfix]: Handle top-level songs for Jellyfin
If a song is at the top level of a music folder, Jellyfin will not
group that into an album (See https://jellyfin.org/docs/general/server/media/music/).
This PR introduces a few changes:
- Gives tracks with no album ID a special route (`/dummy/${id}`)
- Gives a new route for dummy albums, warning about the error. This is designed to look _like_ the album detail page
* `are are` > `are`
* revert name changes
- mpris-service: migrate to @jellybrick/mpris-service, which has upgraded dependencies and uses class
- i18next-parser: 6 -> 8. This requires a small change to i18next-parser.config.js
* add share item feature
* take care of (mostly) everything
* bugfixes
* allow clicking on notification to open url
* readd the missing modal after router migration
* remove unnecessary extension
---------
Co-authored-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com>
* [enhancement]: Support toggling Album/Track view for gneres
The _primary_ purpose of this PR is to enable viewing tracks OR albums for genres.
This has a few requirements:
1. Ability to set default route for genres, **except** when already on song/album page
2. Ability to toggle between album and genre view
3. Fixed refresh for genre ID
Additionally, there was some refactoring:
- Since the *-list-headers had very similar functions for search, export that as a hook instead
* also use hook for album artist
* support switching albumartist tracks/albums
* remove toggle on song/album list, simplify logic
- Previously, the search page would render initial page in one order, but search itself would be different order
This is resolved by having both virtual-table and search-header using listStoreKey
- When double clicking, now enqueue all the songs using the same sort
- Reset the search when clearing
Resolves#536.
With the previous implementation, next/previous would first update
the current queue and then call next/previous. However, since these were
asynchronous calls it was very likely that the second calls would fail
(and a test of adding delay showed that it actually caused a double skip).
This PR resolves this by just removing the prev/next.
Small other fixes:
- setQueue + pause -> setQueue(..., true)
- make MPV and web player have the same behavior for (pause/stop) where appropriate
Currently translated at 100.0% (549 of 549 strings)
Update translation files
Updated by "Cleanup translation files" hook in Weblate.
Translated using Weblate (Czech)
Currently translated at 100.0% (519 of 519 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (519 of 519 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (519 of 519 strings)
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translation: feishin/Translation
Currently translated at 98.5% (548 of 556 strings)
Translated using Weblate (German)
Currently translated at 98.5% (548 of 556 strings)
Translated using Weblate (German)
Currently translated at 98.5% (548 of 556 strings)
Translated using Weblate (German)
Currently translated at 93.3% (519 of 556 strings)
Translated using Weblate (German)
Currently translated at 93.3% (519 of 556 strings)
Translated using Weblate (German)
Currently translated at 92.2% (513 of 556 strings)
Translated using Weblate (German)
Currently translated at 92.2% (513 of 556 strings)
Translated using Weblate (German)
Currently translated at 91.5% (509 of 556 strings)
Translated using Weblate (German)
Currently translated at 91.5% (509 of 556 strings)
Translated using Weblate (German)
Currently translated at 91.1% (507 of 556 strings)
Translated using Weblate (German)
Currently translated at 91.1% (507 of 556 strings)
Update translation files
Updated by "Cleanup translation files" hook in Weblate.
Translated using Weblate (German)
Currently translated at 89.9% (467 of 519 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Lokke <accounts.lokke@googlemail.com>
Co-authored-by: Maik <maikguenes2003@gmail.com>
Co-authored-by: Rudi Mentaire <stoertebecker@byom.de>
Co-authored-by: full name <hosted-weblate.5w160@dralias.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/de/
Translation: feishin/Translation
- Actually make serverfeatures partial
- Navidrome: only set multiple structured lyrics if extension exists
- Navidrome/Subsonic: minor type checking of OS extension (Navidrome implementation detail)
- Jellyfin: add separate knob for lyrics. Note, this should also probably be behind some version check...
* Add an option for a dynamic background image in the fullscreen player
* Center the background image and fix some more bugs
* More cleaning up the background image
* Add option for customizable blur amount
* Fix missing translation key for image blur
* Fix dynamic image shifting when player is opened
* Hide image blur size config if dynamic background is disabled
---------
Co-authored-by: Jeff <42182408+jeffvli@users.noreply.github.com>
* fix carousel, full screen metadata improvements
* Add missing mapped keys on multiple artist
* Remove bg opacity on metadata section
* Improve visibility of currently playing song
---------
Co-authored-by: jeffvli <jeffvictorli@gmail.com>
* Moved build to docker stage.
* Do not copy node_modules to the docker image
* Optimize Docker builds
* Lock a predefined server with enviroment variables
* Added a example docker compose file
* Removed useless layer
* Fix error with empty server type
* pass process via preload, use file, strict server check
* remove duplicate content-type
* update readme, docker compose
* bugfix: server lock false, not jellyfin
* fix preload type definition
* fix docker, web server lock check
---------
Co-authored-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com>
Bumps the npm_and_yarn group with 1 update in the /. directory: [ip](https://github.com/indutny/node-ip).
Updates `ip` from 1.1.5 to 1.1.9
- [Commits](https://github.com/indutny/node-ip/compare/v1.1.5...v1.1.9)
---
updated-dependencies:
- dependency-name: ip
dependency-type: indirect
dependency-group: npm_and_yarn-security-group
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Resolves#50. Adds a new set of components for fetching similar songs
from the current playing song. For Jellyfin, use the `/items/{itemId}/similar`
endpoint (may not work well for small libraries), and for Navidrome/Subsonic
use `getSimilarSongs`. _In theory_, this component can be used to get similar
songs anywhere.
Resolves#403.
This PR introduces a startup check for Navidrome that tries a simple API request (/songs) before loading homepage.
If the check fails, Navidrome API will fallback to trying saved password (if available).
Notes:
- It might also be worthwhile to do a periodic poll?
* Add customizable resolution for the fullscreen player image
---------
Co-authored-by: iiPython <ben@iipython.dev>
Co-authored-by: Benjamin <iipython@proton.me>
Supports running Feishin solely using web audio (useful for clients with problems with MPV).
Also moves save/restore queue to utils, as MPV object is now optional
* Add a button size setting
* Reduce setting size and add px suffix
* Looks like I don't need || inside of control-settings
* Update translation
* Bump settings version to 7
* [bugfix]: Fix repeated track scrobbling
This commit fixes scrobbling tracks that are repeated in the queue (either due
to a REPEAT_ONE or just enqueued multiple times). There are two extra cases:
1. The current player changes. The player alternates from 1 -> 2 -> 1 whenever playback
finishes normally, so this is a sort of epoch that can be used to detect both repeat one
and track being enqueued multiple times.
2. The current index changes. The player gets set back to 1 in a variety of cases (most often
previous/next), so the check in (1) is not enough. However, the index changing will help identify
that this is a new song.
* use unique id instead
* [enhancement]: support clearing query and http cache
- Adds the ability to invalidate all queries (useful for forcing refresh, and clearing lyrics which are cached forever)
- [Desktop only] adds the ability to clear the Electron HTTP cache (e.g. cached images)
* use clearer language
* move cache settings to general
Two bugs addressed in response to Safari changes:
1. Only handle `onEnded` for real streams, preventing `autoNext()` spam when the last track finishes
2. `.play()` is not necessarily a safe operation (if empty wave was started, can cause exception later). Catch this exception and discard it. This also only occurred when playing the last track
The prior code used `form.addToPlaylist`, not `.success`. Also fixes English pluralization and
uses the correct `entity.track` as opposed to `entity.song` for other languages (I am not sure
if the en syntax could be applied to other languages, so I will just leave pluralization as-is
for now).
Currently translated at 35.8% (186 of 519 strings)
Translated using Weblate (Dutch)
Currently translated at 32.3% (168 of 519 strings)
Translated using Weblate (Dutch)
Currently translated at 15.2% (79 of 519 strings)
Added translation using Weblate (Dutch)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Idris Saklou <idrissaklou@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/nl/
Translation: feishin/Translation
Currently translated at 94.9% (492 of 518 strings)
Translated using Weblate (French)
Currently translated at 94.2% (488 of 518 strings)
Translated using Weblate (French)
Currently translated at 94.2% (488 of 518 strings)
Translated using Weblate (French)
Currently translated at 90.3% (468 of 518 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: KosmoMoustache <KosmoMoustache@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/fr/
Translation: feishin/Translation
Currently translated at 100.0% (518 of 518 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (518 of 518 strings)
Added translation using Weblate (Czech)
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translation: feishin/Translation
Currently translated at 87.0% (451 of 518 strings)
Translated using Weblate (German)
Currently translated at 87.0% (451 of 518 strings)
Translated using Weblate (German)
Currently translated at 62.7% (325 of 518 strings)
Translated using Weblate (German)
Currently translated at 62.7% (325 of 518 strings)
Translated using Weblate (German)
Currently translated at 59.6% (309 of 518 strings)
Translated using Weblate (German)
Currently translated at 59.6% (309 of 518 strings)
Translated using Weblate (German)
Currently translated at 56.9% (295 of 518 strings)
Translated using Weblate (German)
Currently translated at 56.9% (295 of 518 strings)
Translated using Weblate (German)
Currently translated at 55.4% (287 of 518 strings)
Translated using Weblate (German)
Currently translated at 55.4% (287 of 518 strings)
Translated using Weblate (German)
Currently translated at 53.8% (279 of 518 strings)
Translated using Weblate (German)
Currently translated at 53.8% (279 of 518 strings)
Translated using Weblate (German)
Currently translated at 1.9% (10 of 518 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kobayashi <kobayashi90@protonmail.ch>
Co-authored-by: Rudi Mentaire <stoertebecker@byom.de>
Co-authored-by: ThetaDev <t.testboy@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/de/
Translation: feishin/Translation
Currently translated at 23.5% (122 of 518 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 22.5% (117 of 518 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 13.3% (69 of 518 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Rafael Vieira <rafaelvieiras@pm.me>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pt_BR/
Translation: feishin/Translation
Currently translated at 100.0% (518 of 518 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (518 of 518 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (517 of 518 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (518 of 518 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 95.5% (495 of 518 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 92.8% (481 of 518 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 91.5% (474 of 518 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.7% (465 of 518 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kaiyang Wu <self@origincode.me>
Co-authored-by: kare-Udon <laoliu735@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hans/
Translation: feishin/Translation
Updated by "Remove blank strings" hook in Weblate.
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.5% (464 of 518 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 56.7% (294 of 518 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 51.9% (269 of 518 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 51.1% (265 of 518 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 52.0% (265 of 509 strings)
Co-authored-by: Darwin <daerwendeshu@outlook.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: kare-Udon <laoliu735@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hans/
Translation: feishin/Translation
Currently translated at 100.0% (518 of 518 strings)
Translated using Weblate (Spanish)
Currently translated at 99.8% (517 of 518 strings)
Translated using Weblate (Spanish)
Currently translated at 99.2% (514 of 518 strings)
Translated using Weblate (Spanish)
Currently translated at 88.6% (459 of 518 strings)
Translated using Weblate (Spanish)
Currently translated at 88.4% (458 of 518 strings)
Translated using Weblate (Spanish)
Currently translated at 88.4% (458 of 518 strings)
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jeff <jeffvictorli@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/
Translation: feishin/Translation
Currently translated at 94.2% (488 of 518 strings)
Translated using Weblate (Italian)
Currently translated at 5.5% (29 of 518 strings)
Translated using Weblate (Italian)
Currently translated at 5.0% (26 of 518 strings)
Translated using Weblate (Italian)
Currently translated at 4.2% (22 of 518 strings)
Added translation using Weblate (Italian)
Co-authored-by: Aurora <arci@anche.no>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/it/
Translation: feishin/Translation
Currently translated at 98.8% (512 of 518 strings)
Translated using Weblate (Polish)
Currently translated at 83.2% (431 of 518 strings)
Translated using Weblate (Polish)
Currently translated at 83.2% (431 of 518 strings)
Translated using Weblate (Polish)
Currently translated at 76.2% (395 of 518 strings)
Translated using Weblate (Polish)
Currently translated at 74.6% (380 of 509 strings)
Translated using Weblate (Polish)
Currently translated at 46.5% (237 of 509 strings)
Co-authored-by: 7Adrian <7adrian.mail@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jeff <jeffvictorli@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/
Translation: feishin/Translation
Updated by "Remove blank strings" hook in Weblate.
Translated using Weblate (Chinese (Simplified))
Currently translated at 51.7% (263 of 508 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 51.7% (263 of 508 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 51.7% (263 of 508 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 15.7% (80 of 508 strings)
Added translation using Weblate (Chinese (Simplified))
Co-authored-by: Darwin <daerwendeshu@outlook.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ken <kenxu2022@gmail.com>
Co-authored-by: 無情天 <kofzhanganguo@126.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hans/
Translation: feishin/Translation
Currently translated at 67.9% (345 of 508 strings)
Translated using Weblate (French)
Currently translated at 66.9% (340 of 508 strings)
Translated using Weblate (French)
Currently translated at 50.0% (254 of 508 strings)
Translated using Weblate (French)
Currently translated at 49.6% (252 of 508 strings)
Update translation files
Updated by "Remove blank strings" hook in Weblate.
Translated using Weblate (French)
Currently translated at 49.2% (250 of 508 strings)
Added translation using Weblate (French)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: KosmoMoustache <hosted.weblate.org@kosmo.ovh>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/fr/
Translation: feishin/Translation
* [bugfix/feature]: Improve ratings
Fix: add preventDefault/stopPropagation to prevent scrolling to top in queue
Feat: instead of double click for clear, click on same value
* initial idea for playback rate
* Add transparency to dropdown
* Move playback speed component to right controls
* Set mpv speed on startup
---------
Co-authored-by: jeffvli <jeffvictorli@gmail.com>
* [Feature] Support changing accent/primary color
- adds color picker to settings with five swatches (blue default, yellow green and red imported from sonixd, purple new)
- changing color will change the appropriate css variable
* Remove hover styles that use an alternate primary
---------
Co-authored-by: Jeff <42182408+jeffvli@users.noreply.github.com>
Co-authored-by: jeffvli <jeffvictorli@gmail.com>
* [feature]: Support using system fonts
Uses the **experimental** queryLocalFonts API, when prompted, to get the fonts and do CSS.
Resolves#270 and #288 (by proxy)
Caveats/notes:
- This is experimental, and is only supported by Chrome/Chromium/Edgeium (see https://caniuse.com/?search=querylocalfonts)
- As far as I can tell, the only way to dynamically change the font (shown in https://wicg.github.io/local-font-access/#example-style-with-local-fonts) was by DOM manipulation; css variables did not seem to work
- This shows **all** fonts, including their variants (bold/italic/etc); given that the style names could be localized, not sure of a way to parse this (on my system, for instance, I had 859 different combinations)
- I made fonts a separate top-level setting because it was easier to manipulate without causing as many rerenders; feel free to put that back
* add permission chec
* add electron magic to support custom font
* restrict content types
* [bugfix]: fix queue offset when removing tracks
* Fix song index numbers when removing songs
---------
Co-authored-by: jeffvli <jeffvictorli@gmail.com>
* add more emphasis to current song
* add css indicator (rivolumelineup)
* don't use absolute position, support album track number
* Respect order of set-queue function (fix race condition)
* Fix table row actions button on album detail and play queue
* Fix album detail table customizations
* Bump to v0.4.1
* Fix opacity mask for unsynced lyrics container
* Separate sidebar icons to new component
- Fixes react render issue
* Add app focus hook
* Remove css play image
* Add player status as cell refresh condition for queue
* Add current song images
* Add current song styles for all song tables
* Revert row index cell width
* Remove animated svg on browser
---------
Co-authored-by: jeffvli <jeffvictorli@gmail.com>
Co-authored-by: Jeff <42182408+jeffvli@users.noreply.github.com>
* In the fullscreen player use dynamic resolution for the main image
* Use ceil instead of round
* Add types and lint
---------
Co-authored-by: Jeff <42182408+jeffvli@users.noreply.github.com>
label:I have already checked through the existing bug reports and found no duplicates
options:
- label:'Yes'
required:true
- type:input
id:version
attributes:
label:App Version
description:What version of the app are you running?
placeholder:ex. 1.0.0
validations:
required:true
- type:input
id:server-version
attributes:
label:Music Server and Version
description:What music server are you using?
placeholder:ex. Navidrome v0.55.0, LMS v3.67.0, Jellyfin v10.10.7, etc.
validations:
required:true
- type:dropdown
id:environments
attributes:
label:What local environments are you seeing the problem on?
multiple:true
options:
- Desktop Windows
- Desktop macOS
- Desktop Linux
- Web Firefox
- Web Chrome
- Web Safari
- Web Microsoft Edge
- Other (please specify in the next field)
- type:textarea
id:what-happened
attributes:
label:What happened?
description:Also tell us, what did you expect to happen?
placeholder:Include screenshots and error logs if possible. The browser devtools can be opened using CTRL + SHIFT + I (Windows/Linux) or CMD + SHIFT + I (macOS).
validations:
required:true
- type:textarea
id:reproduction
attributes:
label:Steps to reproduce
description:How can we reproduce this issue? Are there any specific settings that are enabled that could be the cause?
placeholder:|
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
validations:
required:true
- type:textarea
id:logs
attributes:
label:Relevant log output
description:Please copy and paste any relevant log output. This will be automatically formatted into code.
This issue has been automatically marked as stale because it has not had recent activity. The resources of the Feishin team are limited, and so we are asking for your help.
If this is a **bug** and you can still reproduce this error on the <code>development</code> branch, please reply with all of the information you have about it in order to keep the issue open.
This issue will automatically be closed in the near future if no further activity occurs. Thank you for all your contributions.
stale-pr-message:>
This PR has been automatically marked as stale because it has not had recent activity. The resources of the Feishin team are limited, and so we are asking for your help.
This PR will automatically be closed in the near future if no further activity occurs. Thank you for all your contributions.
Rewrite of [Sonixd](https://github.com/jeffvli/sonixd).
## Features
-[x] MPV player backend
-[x] Web player backend
-[x] Modern UI
-[x] Scrobble playback to your server
-[x] Smart playlist editor (Navidrome)
-[x] Synchronized and unsynchronized lyrics support
-[ ] [Request a feature](https://github.com/jeffvli/feishin/issues) or [view taskboard](https://github.com/users/jeffvli/projects/5/views/1)
- [x] MPV player backend
- [x] Web player backend
- [x] Modern UI
- [x] Scrobble playback to your server
- [x] Smart playlist editor (Navidrome)
- [x] Synchronized and unsynchronized lyrics support
- [ ] [Request a feature](https://github.com/jeffvli/feishin/issues) or [view taskboard](https://github.com/users/jeffvli/projects/5/views/1)
## Screenshots
@@ -49,8 +51,24 @@ Rewrite of [Sonixd](https://github.com/jeffvli/sonixd).
Download the [latest desktop client](https://github.com/jeffvli/feishin/releases). The desktop client is the recommended way to use Feishin. It supports both the MPV and web player backends, as well as includes built-in fetching for lyrics.
#### macOS Notes
If you're using a device running macOS 12 (Monterey) or higher, [check here](https://github.com/jeffvli/feishin/issues/104#issuecomment-1553914730) for instructions on how to remove the app from quarantine.
For media keys to work, you will be prompted to allow Feishin to be a Trusted Accessibility Client. After allowing, you will need to restart Feishin for the privacy settings to take effect.
#### Linux Notes
If you're using a Linux device, a `.desktop` file is recommended for easy launching of Feishin.
Download the [latest release (AppImage)](https://github.com/jeffvli/feishin/releases) and [application icon](https://github.com/jeffvli/feishin/blob/development/resources/icon.png?raw=true) to your `~/applications/` folder. This folder may need to be created if it does not already exist.
Rename the icon to `Feishin-linux-x86_64.png`.
Save the [example desktop file](https://raw.githubusercontent.com/jeffvli/feishin/refs/heads/development/feishin.desktop) as `~/.local/share/applications/feishin.desktop`.
You will now see Feishin show up in your menu. The properties in the example desktop file may need to be modified to match your system.
### Web and Docker
Visit [https://feishin.vercel.app](https://feishin.vercel.app) to use the hosted web version of Feishin. The web client only supports the web player backend.
@@ -59,11 +77,34 @@ Feishin is also available as a Docker image. The images are hosted via `ghcr.io`
```bash
# Run the latest version
docker run --name feishin --port 9180:9180 ghcr.io/jeffvli/feishin:latest
docker run --name feishin -p 9180:9180 ghcr.io/jeffvli/feishin:latest
# Build the image locally
docker build -t feishin .
docker run --name feishin --port 9180:9180 feishin
docker run --name feishin -p 9180:9180 feishin
```
#### Docker Compose
To install via Docker Compose use the following snippit. This also works on Portainer.
```yaml
services:
feishin:
container_name:feishin
image:'ghcr.io/jeffvli/feishin:latest'
environment:
- SERVER_NAME=jellyfin# pre defined server name
- SERVER_LOCK=true# When true AND name/type/url are set, only username/password can be toggled
2. After restarting the app, you will be prompted to select a server. Click the `Open menu` button and select `Manage servers`. Click the `Add server` button in the popup and fill out all applicable details. You will need to enter the full URL to your server, including the protocol and port if applicable (e.g. `https://navidrome.my-server.com` or `http://192.168.0.1:4533`).
-**Navidrome** - For the best experience, select "Save password" when creating the server and configure the `SessionTimeout` setting in your Navidrome config to a larger value (e.g. 72h).
- **Navidrome** - For the best experience, select "Save password" when creating the server and configure the `SessionTimeout` setting in your Navidrome config to a larger value (e.g. 72h).
- **Linux users** - The default password store uses `libsecret`. `kwallet4/5/6` are also supported, but must be explicitly set in Settings > Window > Passwords/secret score.
3._Optional_ - If you want to host Feishin on a subpath (not `/`), then pass in the following environment variable: `PUBLIC_PATH=PATH`. For example, to host on `/feishin`, pass in `PUBLIC_PATH=/feishin`.
4._Optional_ - To hard code the server url, pass the following environment variables: `SERVER_NAME`, `SERVER_TYPE` (one of `jellyfin` or `navidrome`), `SERVER_URL`. To prevent users from changing these settings, pass `SERVER_LOCK=true`. This can only be set if all three of the previous values are set.
## FAQ
@@ -82,18 +128,69 @@ First thing to do is check that your MPV binary path is correct. Navigate to the
### What music servers does Feishin support?
Feishin supports any music server that implements a [Navidrome](https://www.navidrome.org/) or [Jellyfin](https://jellyfin.org/) API. **Subsonic API is not currently supported**. This will likely be added in [later when the new Subsonic API is decided on](https://support.symfonium.app/t/subsonic-servers-participation/1233).
Feishin supports any music server that implements a [Navidrome](https://www.navidrome.org/), [Jellyfin](https://jellyfin.org/), or [OpenSubsonic compatible](https://opensubsonic.netlify.app/) API.
### I have the issue "The SUID sandbox helper binary was found, but is not configured correctly" on Linux
This happens when you have user (unprivileged) namespaces disabled (`sysctl kernel.unprivileged_userns_clone` returns 0). You can fix this by either enabling unprivileged namespaces, or by making the `chrome-sandbox` Setuid.
```bash
chmod 4755 chrome-sandbox
sudo chown root:root chrome-sandbox
```
Ubunutu 24.04 specifically introduced breaking changes that affect how namespaces work. Please see https://discourse.ubuntu.com/t/ubuntu-24-04-lts-noble-numbat-release-notes/39890#:~:text=security%20improvements%20 for possible fixes.
## Development
Built and tested using Node `v16.15.0`.
Built and tested using Node `v23.11.0`.
This project is built off of [electron-react-boilerplate](https://github.com/electron-react-boilerplate/electron-react-boilerplate) v4.6.0.
This project is built off of [electron-vite](https://github.com/alex8088/electron-vite)
-`pnpm run dev` - Start the development server
-`pnpm run dev:watch` - Start the development server in watch mode (for main / preload HMR)
-`pnpm run start` - Starts the app in production preview mode
-`pnpm run build` - Builds the app for desktop
-`pnpm run build:electron` - Build the electron app (main, preload, and renderer)
-`pnpm run build:remote` - Build the remote app (remote)
-`pnpm run build:web` - Build the standalone web app (renderer)
-`pnpm run package` - Package the project
-`pnpm run package:dev` - Package the project for development locally
-`pnpm run package:linux` - Package the project for Linux locally
-`pnpm run package:mac` - Package the project for Mac locally
-`pnpm run package:win` - Package the project for Windows locally
-`pnpm run publish:linux` - Publish the project for Linux
-`pnpm run publish:linux:beta` - Publish the project for Linux (beta channel)
-`pnpm run publish:linux-arm64` - Publish the project for Linux ARM64
-`pnpm run publish:linux-arm64:beta` - Publish the project for Linux ARM64 (beta channel)
-`pnpm run publish:mac` - Publish the project for Mac
-`pnpm run publish:mac:beta` - Publish the project for Mac (beta channel)
-`pnpm run publish:win` - Publish the project for Windows
-`pnpm run publish:win:beta` - Publish the project for Windows (beta channel)
-`pnpm run typecheck` - Type check the project
-`pnpm run typecheck:node` - Type check the project with tsconfig.node.json
-`pnpm run typecheck:web` - Type check the project with tsconfig.web.json
-`pnpm run lint` - Lint the project
-`pnpm run lint:fix` - Lint the project and fix linting errors
-`pnpm run i18next` - Generate i18n files
## Translation
This project uses [Weblate](https://hosted.weblate.org/projects/feishin/) for translations. If you would like to contribute, please visit the link and submit a translation.
// Exit with an exit code of 1 when translations are updated (for CI purpose)
customValueTemplate:null,
// Save the \_old files
defaultNamespace:'translation',
// Default namespace used in your i18next config
defaultValue:'',
// Exit with an exit code of 1 on warnings
failOnUpdate:false,
// Display info about the parsing including some stats
failOnWarnings:false,
// The locale to compare with default values to determine whether a default value has been changed.
// If this is set and a default value differs from a translation in the specified locale, all entries
// for that key across locales are reset to the default value, and existing translations are moved to
// the `_old` file.
i18nextOptions:null,
// Default value to give to empty keys
// You may also specify a function accepting the locale, namespace, and key as arguments
indentation:2,
// Plural separator used in your translation keys
// If you want to use plain english keys, separators such as `_` might conflict. You might want to set `pluralSeparator` to a different string that does not occur in your keys.
input:[
'../components/**/*.{js,jsx,ts,tsx}',
'../features/**/*.{js,jsx,ts,tsx}',
'../layouts/**/*.{js,jsx,ts,tsx}',
'!../../src/node_modules/**',
'!../../src/**/*.prod.js',
],
// Indentation of the catalog files
keepRemoved:false,
// Keep keys from the catalog that are no longer in code
keySeparator:'.',
// Key separator used in your translation keys
// If you want to use plain english keys, separators such as `.` and `:` will conflict. You might want to set `keySeparator: false` and `namespaceSeparator: false`. That way, `t('Status: Loading...')` will not think that there are a namespace and three separator dots for instance.
// see below for more details
lexers:{
default:['JavascriptLexer'],
handlebars:['HandlebarsLexer'],
hbs:['HandlebarsLexer'],
htm:['HTMLLexer'],
html:['HTMLLexer'],
js:['JavascriptLexer'],
jsx:['JsxLexer'],
mjs:['JavascriptLexer'],
// if you're writing jsx inside .js files, change this to JsxLexer
ts:['JavascriptLexer'],
tsx:['JsxLexer'],
},
lineEnding:'auto',
// Control the line ending. See options at https://github.com/ryanve/eol
locales:['en'],
// An array of the locales in your applications
namespaceSeparator:false,
// Namespace separator used in your translation keys
// If you want to use plain english keys, separators such as `.` and `:` will conflict. You might want to set `keySeparator: false` and `namespaceSeparator: false`. That way, `t('Status: Loading...')` will not think that there are a namespace and three separator dots for instance.
output:'src/renderer/i18n/locales/$LOCALE.json',
// Supports $LOCALE and $NAMESPACE injection
// Supports JSON (.json) and YAML (.yml) file formats
// Where to write the locale files relative to process.cwd()
pluralSeparator:'_',
// If you wish to customize the value output the value as an object, you can set your own format.
// ${defaultValue} is the default value you set in your translation function.
// Any other custom property will be automatically extracted.
//
// Example:
// {
// message: "${defaultValue}",
// description: "${maxLength}", //
// }
resetDefaultValueLocale:'en',
// Whether or not to sort the catalog. Can also be a [compareFunction](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#parameters)
skipDefaultValues:false,
// An array of globs that describe where to look for source files
// relative to the location of the configuration file
sort:true,
// Whether to ignore default values
// You may also specify a function accepting the locale and namespace as arguments
useKeysAsDefaultValue:true,
// Whether to use the keys as the default value; ex. "Hello": "Hello", "World": "World"
// This option takes precedence over the `defaultValue` and `skipDefaultValues` options
// You may also specify a function accepting the locale and namespace as arguments
verbose:false,
// If you wish to customize options in internally used i18next instance, you can define an object with any
// configuration property supported by i18next (https://www.i18next.com/overview/configuration-options).
// { compatibilityJSON: 'v3' } can be used to generate v3 compatible plurals.
"success":"$t(entity.playlist_one) s'ha creat amb èxit",
"title":"crear una $t(entity.playlist_one)",
"input_public":"públic"
},
"deletePlaylist":{
"success":"$t(entity.playlist_one) s'ha eliminat amb èxit",
"title":"elimina la $t(entity.playlist_one)",
"input_confirm":"escriviu el nom de la $t(entity.playlist_one) per confirmar"
},
"editPlaylist":{
"success":"$t(entity.playlist_one) s'ha actualitzat amb èxit",
"title":"editar la $t(entity.playlist_one)",
"publicJellyfinNote":"Per algun motiu, Jellyfin no exposa si una llista de reproducció és pública o no. Si voleu que es mantingui pública, seleccioneu la següent entrada"
},
"lyricSearch":{
"input_artist":"$t(entity.artist_one)",
"input_name":"$t(common.name)",
"title":"cerca de lletres"
},
"addServer":{
"input_password":"contrasenya",
"input_username":"nom d'usuari",
"error_savePassword":"hi ha hagut un error en intentar desar la contrasenya",
"ignoreCors":"ignora el cors ($t(common.restartRequired))",
"input_preferInstantMix":"prefereix el mix instantani",
"input_preferInstantMixDescription":"utilitza només el mix instantani per obtenir cançons similars. útil si teniu complements que modifiquin aquest comportament"
},
"shareItem":{
"description":"descripció",
"allowDownloading":"permetre descàrrega",
"setExpiration":"estableix expiració",
"success":"s'ha copiat l'enllaç de compartició al porta-retalls (o feu clic aquí per obrir-lo)",
"expireInvalid":"la data d'expiració ha de ser al futur",
"fontType_optionBuiltIn":"tipus de lletra integrats",
"fontType_optionCustom":"tipus de lletra personalitzats",
"fontType_optionSystem":"tipus de lletra del sistema",
"disableAutomaticUpdates":"desactivar les actualitzacions automàtiques",
"disableLibraryUpdateOnStartup":"desactiva la comprovació de noves versions a l'inici",
"homeConfiguration":"configuració de la pàgina d'inici",
"sidebarConfiguration":"configuració de la barra lateral",
"contextMenu":"configuració del menú contextual (clic amb el botó dret)",
"hotkey_playbackNext":"pista següent",
"hotkey_playbackPrevious":"pista anterior",
"sidePlayQueueStyle_optionAttached":"unida",
"sidePlayQueueStyle_optionDetached":"separada",
"audioDevice":"dispositiu d'àudio",
"audioDevice_description":"seleccioneu el dispositiu d'àudio que voleu utilitzar per a la reproducció (només pel reproductor web)",
"audioPlayer":"reproductor d'àudio",
"audioPlayer_description":"seleccioneu el reproductor d'àudio que voleu utilitzar per a la reproducció",
"sidebarConfiguration_description":"selecciona els elements i l'ordre en què apareixen a la barra lateral",
"sidebarPlaylistList_description":"mostra o amaga les llistes de reproducció a la barra lateral",
"accentColor":"color de ressaltat",
"accentColor_description":"estableix el color de ressaltat de l'aplicació",
"useSystemTheme_description":"seguir la preferència de d'aspecte clar o fosc definida pel sistema",
"themeDark":"aspecte fosc",
"theme":"aspecte",
"themeLight":"aspecte clar",
"useSystemTheme":"utilitzar l'aspecte del sistema",
"discordUpdateInterval_description":"el temps en segons entre cada actualització (mínim 15 segons)",
"enableRemote":"activar el servidor de control remot",
"enableRemote_description":"el servidor de control remot permet que altres dispositius controlin l'aplicació",
"notify":"activa les notificacions de cançons",
"transcode":"activa la transcodificació",
"transcode_description":"permet la transcodificació a diferents formats",
"albumBackground":"imatge de fons de l'àlbum",
"albumBackground_description":"afegeix una imatge de fons per les pàgines d'àlbum amb caràtula",
"albumBackgroundBlur":"mida del desenfocament de la imatge de fons de l'àlbum",
"albumBackgroundBlur_description":"ajusa la quantitat de desenfocament que s'aplica a la imatge de fons de l'àlbum",
"applicationHotkeys":"tecles de drecera de l'aplicació",
"applicationHotkeys_description":"configura les tecles de drecera de l'aplicació. marca la casella per configurar-les com a derecres globals (només per ordinador)",
"artistConfiguration":"configuració de la pàgina de l'artista de l'àlbum",
"artistConfiguration_description":"configura quins elements es mostren i el seu ordre de la pàgina de l'artista de l'àlbum",
"audioExclusiveMode":"mode d'àudio exclusiu",
"audioExclusiveMode_description":"activa el mode d'àudio exclusiu. En aquest mode, el sistema normalment estarà bloquejat i només mpv podrà emetre àudio",
"buttonSize":"mida dels botons de la barra de reproducció",
"buttonSize_description":"la mida dels botons de la barra de reproducció",
"clearCache":"neteja la memòria del navegador",
"clearCache_description":"una \"neteja profunda\" del feishin. a més de netejar la memòria del feishin, buida la memòria del navegador (com les imatges desades i altres recursos). la configuració i les credencials del servidor es mantenen",
"clearQueryCache":"buida la memòria de feishin",
"clearQueryCache_description":"una neteja superficial de feishin. això refrescarà les llistes de reproducció, les metadades de les pistes i reestablirà les lletres desades. la configuració, les credencials del servidor i les imatges desades es mantindran",
"contextMenu_description":"us permet amagar els elements que es mostren al menú quan fas clic dret sobre un element. els elements no seleccionats estaran amagats",
"crossfadeDuration":"duracció de la fosa encadenada",
"crossfadeDuration_description":"estableix la duració de l'efecte de fosa encadenada",
"crossfadeStyle":"estil de fosa encadenada",
"crossfadeStyle_description":"selecciona l'estil de fosa encadenada que s'utilitzarà pel reproductor d'àudio",
"customCssNotice":"Atenció: tot i que hi ha un filtre (no es permet ni url() ni content:), l'ús de CSS personalitzat pot presentar riscs si canvieu la interfície.",
"customCss":"css personalitzat",
"customCss_description":"contingut del css personalitzat. Nota: la propietat \"content\" i els urls remots no es permeten. A sota hi teniu una previsualització. Els camps addicionals que no establiu hi apareixin pel filtre.",
"customFontPath":"ruta de font personalitzada",
"customFontPath_description":"estableix la ruta a una font personalitzada per utilitzar-la a l'aplicació",
"discordApplicationId":"id d'aplicació de {{discord}}",
"discordApplicationId_description":"l'id d'aplicació per l'estat d'activitat de {{discord}} (per defecte, {{defaultId}})",
"discordPausedStatus":"mosta l'estat d'activitat quan està en pausa",
"discordPausedStatus_description":"si està activat, l'estat es mostrarà quan el reproductor estigui pausat",
"discordIdleStatus":"mosta l'estat d'activitat en inactivitat",
"discordIdleStatus_description":"si està activat, s'actualitzarà l'estat mentre el reproductor estigui inactiu",
"discordListening":"mosta l'estat com escoltant",
"discordListening_description":"mosta l'estat com escoltant en comptes de jugant",
"discordRichPresence":"estat d'activitat de {{discord}}",
"discordRichPresence_description":"activa l'estat de reproducció a l'activitat de {{discord}}. Les tecles d'imatge són: {{icon}}, {{playing}} i {{paused}}",
"discordServeImage":"serveix imatges de {{discord}} des del servidor",
"discordServeImage_description":"comparteix la caràtula per l'estat d'activitat de {{discord}} des del servidor; només disponible per jellyfin i navidrome. {{discord}} fa ser un bot per trobar les imatges, de manera que el vostre servidor ha de ser visible per l'internet públic.",
"discordUpdateInterval":"interval d'actualització de l'estat d'activitat de {{discord}}",
"doubleClickBehavior":"posa en cua totes les pistes cercades en fer doble clic",
"doubleClickBehavior_description":"si està actiu, totes les pistes coincidents en una cerca de pistes es posaran a la cua. altrament, només la que seleccioneu s'afegirà a la cua",
"externalLinks":"mostra enllaços externs",
"externalLinks_description":"permet mostrar enllaços externs (Last.fm, MusicBrainz) a les pàgines d'artista/àlbum",
"exitToTray":"surt a la safata",
"exitToTray_description":"en sortir de l'aplicació, minimitza-la a la safa del sistema",
"floatingQueueArea":"mostra la zona flotant de la cua",
"floatingQueueArea_description":"mostra una icona flotant al costat dret de la pantalla per veure la cua de reproducció",
"followLyric":"segueix la lletra actual",
"followLyric_description":"desplaça la lletra a la posició de reproducció actual",
"preferLocalLyrics":"prefereix les lletres locals",
"preferLocalLyrics_description":"prefereix les lletres locals per sobre de les remotes, si estan disponibles",
"font_description":"estableix la font utilitzada a l'aplicació",
"fontType_description":"\"font incorporada\" selecciona una de les fonts proporcionades per Feishin. \"font del sistema\" us permet seleccionar qualsevol font proporcionada pel sistema operatiu. \"personalitzada\" us permet proporcionar la vostra pròpia font",
"gaplessAudio":"àudio sense pauses",
"gaplessAudio_description":"estableix la configuració d'àudio sense pauses per mpv",
"gaplessAudio_optionWeak":"feble (recomanat)",
"genreBehavior":"comportament predeterminat per les pàgines de gènere",
"genreBehavior_description":"determina si clicar sobre un gènere obre per defecte la llista de pistes o d'àlbums",
"globalMediaHotkeys":"tecles de drecera globals",
"globalMediaHotkeys_description":"activa o desactiva l'ús de les tecles multimèdia del sistema per controlar la reproducció",
"homeConfiguration_description":"configura quins objectes es mostren, i en quin ordre, a la pàgina d'inici",
"homeFeature":"carrusel de destacats d'inici",
"homeFeature_description":"controla si es mostra el gran carrusel d'elements destacats a la pàgina d'inici",
"hotkey_browserBack":"anar enrere",
"hotkey_browserForward":"anar endavant",
"hotkey_favoriteCurrentSong":"marca $t(common.currentSong) com a preferida",
"hotkey_favoritePreviousSong":"marca $t(common.previousSong) com a preferida",
"hotkey_globalSearch":"cerca global",
"hotkey_localSearch":"cerca a la pàgina",
"hotkey_playbackPause":"pausa",
"hotkey_playbackPlay":"reprodueix",
"hotkey_playbackPlayPause":"reprodueix / pausa",
"hotkey_playbackStop":"atura",
"hotkey_rate0":"neteja la qualificació",
"hotkey_rate1":"qualifica amb 1 estrella",
"hotkey_rate2":"qualifica amb 2 estrelles",
"hotkey_rate3":"qualifica amb 3 estrelles",
"hotkey_rate4":"qualifica amb 4 estrelles",
"hotkey_rate5":"qualifica amb 5 estrelles",
"hotkey_skipBackward":"salta enrere",
"hotkey_skipForward":"salta endavant",
"hotkey_toggleCurrentSongFavorite":"canvia si $t(common.currentSong) és preferida",
"hotkey_toggleFullScreenPlayer":"activa o desactiva el reproductor a pantalla completa",
"hotkey_togglePreviousSongFavorite":"canvia si $t(common.previousSong) és preferida",
"hotkey_toggleQueue":"activa o desactiva la cua",
"hotkey_toggleRepeat":"activa o desactiva la repetició",
"hotkey_toggleShuffle":"activa o desactiva la reproducció a l'atzar",
"hotkey_unfavoriteCurrentSong":"elimina $t(common.currentSong) dels preferits",
"hotkey_unfavoritePreviousSong":"elimina $t(common.previousSong) dels preferits",
"hotkey_volumeDown":"redueix el volum",
"hotkey_volumeMute":"silencia el volum",
"hotkey_volumeUp":"augmenta el volum",
"hotkey_zoomIn":"amplia",
"hotkey_zoomOut":"redueix",
"imageAspectRatio":"utilitza la relació d'aspecte predeterminada de la caràtula",
"imageAspectRatio_description":"si està activat, la caràtula es mostrarà amb la relació d'aspecte predeterminada. per caràtules que no siguin 1:1, l'espai restant estarà buit",
"language":"llengua",
"lastfm":"mostra els enllaços last.fm",
"lastfm_description":"mosta enllaços a last.fm a les pàgines d'artista/àlbum",
"lastfmApiKey":"clau d'API per {{lastfm}}",
"lastfmApiKey_description":"la clau d'API per {{lastfm}}. necessària per la caràtula",
"lyricFetch":"extreu la lletra d'internet",
"lyricFetch_description":"extreu la lletra de diverses fonts d'internet",
"lyricFetchProvider":"proveïdors de lletres",
"lyricFetchProvider_description":"selecciona els proveïdors de lletres. l'ordre en què apareixen és l'ordre en què es consultaran",
"lyricOffset":"desfasament de la lletra (ms)",
"lyricOffset_description":"desplaça la lletra els mil·lisegons especificats",
"notify_description":"mostra notificacions en canvia la cançó actual",
"minimizeToTray":"minimitza a la safata",
"minimizeToTray_description":"minimitza l'aplicació a la safata del sistema",
"minimumScrobblePercentage":"duració mínima de l'scrobble (percentatge)",
"minimumScrobblePercentage_description":"el percentatge mínim de la cançó que cal reproduir abans d'activar l'scrobble",
"playButtonBehavior":"comportament del botó de reproducció",
"playButtonBehavior_description":"estableix el comportament predeterminat del botó de reproducció quan s'afegeixen cançons a la cua",
"playerAlbumArtResolution":"resolució de la caràtula de l'àlbum al reproductor",
"playerAlbumArtResolution_description":"la resolució de la previsualització gran de la caràtula al reproductor. si és més alta, serà més nítida, però es carregarà més lent. el valor predeterminat 0 vol dir automàtic",
"playerbarOpenDrawer":"activa el reproductor en pantalla completa",
"playerbarOpenDrawer_description":"permet fer clic a la barra de reproducció per obrir el reproductor de pantalla completa",
"remotePassword":"contrasenya del servidor de control remot",
"remotePassword_description":"estableix la contrasenya pel servidor de control remot. Aquestes credencials es transfereixen de forma no segura per defecte, de manera que hauríeu d'utilitzar una contrasenya única no relacionada amb res més",
"remotePort":"port del servidor de control remot",
"remotePort_description":"estableix el port pel servidor de control remot",
"remoteUsername":"nom d'usuari pel servidor de control remot",
"remoteUsername_description":"estableix el nom d'usuari pel servidor de control remot. si tant el nom d'usuari com la contrasenya són buits, l'autenticació estarà desactivada",
"replayGainPreamp_description":"ajusta el guany del preamplificador aplicat als valors de {{ReplayGain}}",
"sampleRate":"ràtio de mostratge",
"sampleRate_description":"selecciona el ràtio de mostratge de sortida que s'ha d'utilitzar si la freqüència de mostratge seleccionada és diferent a la del mitjà actual. un valor inferior a 8000 utilitzarà la freqüència predeterminada",
"savePlayQueue":"desa la cua de reproducció",
"savePlayQueue_description":"desa la cua de reproducció quan l'aplicació es tanca i la restaura quan s'obre",
"scrobble":"scrobble",
"scrobble_description":"fa scrobble de les reproduccions al vostre servidor multimèdia",
"showSkipButton":"mostra els botons de saltar",
"showSkipButton_description":"mostra o amaga els botons de saltar a la barra de reproducció",
"showSkipButtons":"mostra els botons de saltar",
"showSkipButtons_description":"mostra o amaga els botons de saltar a la barra de reproducció",
"sidebarCollapsedNavigation":"navegació de la barra lateral (plegada)",
"sidebarCollapsedNavigation_description":"mostra o amaga la navegació a la barra lateral plegada",
"sidebarPlaylistList":"llista de reproducció lateral",
"sidePlayQueueStyle":"estil de la cua de reproducció lateral",
"sidePlayQueueStyle_description":"estableix l'estil de la cua de reproducció lateral",
"skipDuration":"interval de salt",
"skipDuration_description":"estableix l'interval de temps que se saltarà en fer servir els botons de saltar a la barra de reproducció",
"skipPlaylistPage":"salta la pàgina de la llista de reproducció",
"skipPlaylistPage_description":"en navegar a una llista de reproducció, obre la pàgina de cançons de la llista de reproducció en comptes de la pàgina predeterminada",
"startMinimized":"obre minimitzada",
"startMinimized_description":"obre l'aplicació a la safata del sistema",
"theme_description":"estableix el tema visual per l'aplicació",
"themeDark_description":"estableix el tema fosc per l'aplicació",
"themeLight_description":"estableix el tema clar per l'aplicació",
"transcodeNote":"tindrà efecte després d'1 (web) o 2 (mpv) cançons",
"transcodeBitrate":"taxa de bits per transcodificar",
"transcodeBitrate_description":"selecciona la taxa de bits per transcodificar. 0 significa deixar que el servidor triï",
"transcodeFormat":"format per transcodificar",
"transcodeFormat_description":"selecciona el format per transcodificar. deixeu-ho buit per deixar que el servidor decideixi",
"translationApiProvider":"proveïdor d'api de traducció",
"translationApiProvider_description":"proveïdor de l'api de traducció",
"translationApiKey":"clau de l'api de traducció",
"translationTargetLanguage":"llengua meta de traducció",
"translationTargetLanguage_description":"llengua meta per la traducció",
"trayEnabled":"mostra a la safata",
"trayEnabled_description":"mostra/oculta la icona/menú de la safata. si està desactivat, també desactiva la funcionalitat de minimitzar/sortir a la safata",
"volumeWheelStep":"increment de volum de la roda",
"volumeWheelStep_description":"la quantitat de volum a canviar quan utilitzeu la roda del ratolí sobre el controlador de volum",
"volumeWidth":"amplada del controlador de volum",
"volumeWidth_description":"l'amplada del controlador de volum",
"webAudio":"utilitza l'àudio web",
"webAudio_description":"utilitza l'àudio web. això habilita funcions avançades com Replaygain. desactiveu-ho si teniu una experiència diferent",
"replayGainClipping":"saturació de {{ReplayGain}}",
"replayGainClipping_description":"rebaixa automàticament el guany per evitar la saturació causada pel {{ReplayGain}}",
"replayGainFallback":"alternativa per {{ReplayGain}}",
"replayGainFallback_description":"guany en db que s'ha d'aplicar si el fitxer no té etiquetes de {{ReplayGain}}",
"replayGainMode":"mode de {{ReplayGain}}",
"replayGainMode_description":"ajuda el volum del guany segons els vlors de {{ReplayGain}} desats a les metadades del fitxer",
"replayGainPreamp":"preamplificador de {{ReplayGain}} (dB)",
"translationApiKey_description":"clau api per la traducció (només per serveis globals)",
"preservePitch":"mantén el to",
"preservePitch_description":"manté el to quan s'altera la velocitat de reproducció",
"windowBarStyle":"estil de la barra de la finestra",
"windowBarStyle_description":"selecciona l'estil de la barra de la finestra",
"zoom":"percentatge de zoom",
"zoom_description":"estableix el percentatge de zoom de l'aplicació",
"discordDisplayType":"tipus de pantalla d'activitat de {{discord}}",
"discordDisplayType_description":"canvia què escolteu al vostre estat",
"discordDisplayType_songname":"nom de la cançó",
"discordDisplayType_artistname":"nom de l'artista",
"hotkey_navigateHome":"ves a l'inici",
"preventSleepOnPlayback":"evitar entrar en repòs durant la reproducció",
"preventSleepOnPlayback_description":"evita que la pantalla s'adormi mentre la música es reprodueix",
"discordLinkType":"enllaços d'estat de {{discord}}",
"discordLinkType_description":"afegeix enllaços externs a {{lastfm}} o {{musicbrainz}} als camps de cançó i artista a l'estat d'activitat de {{discord}}. {{musicbrainz}} és el més precís, però requereix etiquetes i no proporciona enllaços d'artista, mentre que {{lastfm}} hauria de propocionar un enllaç sempre. no fa sol·licituds de xarxa addicionals",
"discordLinkType_none":"$t(common.none)",
"discordLinkType_mbz_lastfm":"{{musicbrainz}} amb {{lastfm}} com a alternativa",
"artistBackground":"imatge de fons de l'artista",
"artistBackground_description":"afegeix una imatge de fons per les pàgines d'artista amb l'art de l'artista",
"artistBackgroundBlur":"mida del desenfocament de la imatge de fons de l'artista",
"artistBackgroundBlur_description":"ajusta la quantitat de desenfocament aplicat a la imatge de fons de l'artista",
"releaseChannel_optionLatest":"estable",
"releaseChannel_optionBeta":"beta",
"releaseChannel":"canal de versions",
"releaseChannel_description":"tria entre versions estables i versions beta per les actualitzacions automàtiques",
"mediaSession":"activa Media Session",
"mediaSession_description":"Activa la integració amb Windows Media Session per mostrar els controls multimèdia i les metadades a l'indicador de volum del sistema i la pantalla de bloqueig (només per Windows)"
},
"table":{
"column":{
"albumCount":"$t(entity.album_other)",
"artist":"$t(entity.artist_one)",
"channels":"$t(common.channel_other)",
"codec":"$t(common.codec)",
"genre":"$t(entity.genre_one)",
"size":"$t(common.size)",
"songCount":"$t(entity.track_other)",
"releaseYear":"any",
"playCount":"reproduccions",
"releaseDate":"data de llançament",
"album":"àlbum",
"albumArtist":"artista de l'àlbum",
"biography":"biografia",
"bitrate":"taxa de bits",
"bpm":"bpm",
"dateAdded":"data d'addició",
"discNumber":"disc",
"trackNumber":"pista",
"comment":"comentari",
"favorite":"preferit",
"lastPlayed":"última reproducció",
"path":"ruta",
"rating":"qualificació",
"title":"títol"
},
"config":{
"general":{
"gap":"$t(common.gap)",
"size":"$t(common.size)",
"autoFitColumns":"ajusta les columnes automàticament",
"playbackFetchCancel":"està trigant bastant... tanqueu la notificació per cancel·lar",
"playRandom":"reproducció a l'atzar",
"previous":"anterior",
"queue_moveToBottom":"mou la selecció a l'inici",
"queue_moveToTop":"mou la selecció al final",
"queue_remove":"elimina la selecció",
"skip_back":"salta enrere",
"skip_forward":"salta endavant",
"toggleFullscreenPlayer":"activa el reproductor de pantalla completa",
"unfavorite":"elimina de preferits",
"pause":"pausa"
},
"error":{
"credentialsRequired":"credencials requerides",
"genericError":"s'ha produït un error",
"invalidServer":"servidor no vàlid",
"localFontAccessDenied":"accés denegat als tipus de lletra locals",
"networkError":"s'ha produït un error de xarxa",
"openError":"no s'ha pogut obrir el fitxer",
"remotePortError":"s'ha produït un error en intentar configurar el port del servidor remot",
"serverNotSelectedError":"no s'ha seleccionat cap servidor",
"sessionExpiredError":"la sessió ha caducat",
"systemFontError":"s'ha produït un error en intentar obtenir els tipus de lletra del sistema",
"remoteEnableError":"s'ha produït un error en intentar $t(common.enable) el servidor remot",
"remotePortWarning":"reiniciar el servidor per aplicar el nou port",
"serverRequired":"servidor requerit",
"apiRouteError":"no es pot encaminar la sol·licitud",
"audioDeviceFetchError":"hi ha hagut un error en obtenir els dispositius d'àudio",
"authenticationFailed":"autenticació fallida",
"badAlbum":"esteu veient aquesta pàgina perquè aquesta cançó no és part de cap àlbum. aquest problema pot passar si teniu una cançó al nivell superior de la vostra carpeta de música. jellyfin només agrupa pistes si són en una carpeta.",
"badValue":"l'opció \"{{value}}\"és invàlida. aquest valor ja no existeix",
"loginRateError":"massa intents d'inici de sessió, intenteu-ho de nou d'aquí uns segons",
"mpvRequired":"Cal l'MPV",
"notificationDenied":"s'han negat els permisos per enviar notificacions. aquesta opció no té cap efecte",
"playbackError":"hi ha hagut un error en intentar reproduir el mitjà",
"remoteDisableError":"hi ha hagut un error en intentar $t(common.disable) el servidor remot",
"endpointNotImplementedError":"el punt final {{endpoint}} no està implementat per {{serverType}}"
"sampleRate_description":"vyberte výstupní vzorkovací frekvenci k použití, když je vybraná vzorkovací frekvence jiná, než ta u aktuálního média. hodnota nižší než 8000 použije výchozí frekvenci",
"replayGainMode_optionNone":"$t(common.none)",
"replayGainClipping":"clipping {{ReplayGain}}",
"hotkey_zoomIn":"přiblížení",
"scrobble_description":"scrobblovat přehrání na váš multimediální server",
"hotkey_browserForward":"vpřed v prohlížeči",
"audioExclusiveMode_description":"zapnout režim výhradního výstupu. V tomto režimu bude obvykle v systému schopný přehrávat zvuk pouze přehrávač mpv",
"gaplessAudio_description":"nastavení přehrávače mpv pro přehrávání bez mezer",
"remoteUsername_description":"nastavení uživatelského jména pro server vzdáleného ovládání. pokud je jméno i heslo prázdné, bude autentifikace zakázána",
"remotePassword_description":"nastavení hesla pro server vzdáleného ovládání. Tyto údaje jsou ve výchozím nastavení přenášeny nezabezpečeným spojením, takže doporučujeme použití unikátního hesla, na kterém vám nezáleží",
"hotkey_rate5":"hodnocení 5 hvězdami",
"hotkey_playbackPrevious":"předchozí skladba",
"showSkipButtons_description":"zobrazit nebo skrýt tlačítka k přeskočení na liště přehrávače",
"showSkipButton_description":"zobrazit nebo skrýt tlačítka k přeskočení na liště přehrávače",
"savePlayQueue":"uložit frontu přehrávání",
"minimumScrobbleSeconds_description":"minimální doba v sekundách, která musí být přehrána před scrobblováním skladby",
"skipPlaylistPage_description":"při navigaci na playlist přejít na stránku seznamu skladeb v playlistu namísto výchozí stránky",
"fontType_description":"vestavěné písmo vybere jedno z písem poskytovaných programem Feishin. systémové písmo vám umožní vybrat si jakékoli písmo poskytované vaším operačním systémem. vlastní vám umožňuje použít vaše vlastní písmo",
"buttonSize_description":"velikost tlačítek na liště přehrávače",
"clearCache":"vymazat mezipaměť prohlížeče",
"clearCache_description":"„tvrdé pročištění“ aplikace feishin. kromě mezipaměti aplikace feishin vymaže i mezipaměť prohlížeče (uložené obrázky a další zdroje). přihlašovací údaje k serveru a nastavení nebudou ovlivněny",
"clearQueryCache":"vymazat mezipaměť aplikace feishin",
"clearQueryCache_description":"„lehké pročištění“ aplikace feishin. tímto obnovíte seznamy skladeb, metadata skladeb a resetujete uložené texty. nastavení, přihlašovací údaje k serveru a obrázky v mezipaměti nebudou ovlivněny",
"startMinimized":"spustit minimalizované",
"homeConfiguration_description":"nastavte, které položky a v jakém pořadí mají být zobrazeny na domovské stránce",
"passwordStore":"ukládání hesel / tajných klíčů",
"mpvExtraParameters_help":"jeden na řádek",
"homeConfiguration":"nastavení domovské stránky",
"playerAlbumArtResolution_description":"rozlišení náhledu obalu alba ve velkém přehrávači. větší hodnota znamená kvalitnější obrázek, ale může se déle načítat. výchozí hodnota je 0, což znamená automatické rozlišení",
"playerAlbumArtResolution":"rozlišení obalu alba v přehrávači",
"genreBehavior":"výchozí chování stránky žánrů",
"externalLinks_description":"zapne zobrazování externích odkazů (Last.fm, MusicBrainz) na stránce umělce/alba",
"genreBehavior_description":"určuje, zda kliknutí na žánr otevře seznam skladeb nebo alb",
"clearCacheSuccess":"mezipaměť úspěšně vymazána",
"externalLinks":"zobrazit externí odkazy",
"startMinimized_description":"spustit aplikaci do systémové lišty",
"passwordStore_description":"který způsob ukládání hesel / tajných klíčů použít. změňte tuto možnost, pokud máte problémy s ukládáním hesel.",
"homeFeature":"carousel doporučení na domovské stránce",
"homeFeature_description":"ovládá, zda se má zobrazovat velký carousel s doporučenými alby na domovské stránce",
"imageAspectRatio":"použít nativní poměr stran obalů alb",
"imageAspectRatio_description":"pokud je povoleno, budou obaly alb zobrazeny s jejich nativním poměrem stran. u obalů, které nemají poměr 1:1, bude zbývající místo prázdné",
"doubleClickBehavior":"dvojitým kliknutím zařadit všechny vyhledané skladby do fronty",
"doubleClickBehavior_description":"pokud je zapnuto, budou všechny odpovídající skladby ve vyhledávání zařazeny do fronty. v opačném případě bude zařazena pouze ta, na kterou kliknete",
"volumeWidth":"šířka posuvníku hlasitosti",
"volumeWidth_description":"horizontální velikost posuvníku hlasitosti",
"discordListening":"zobrazit stav jako „Poslouchá“",
"discordListening_description":"zobrazit stav jako „Poslouchá“ namísto „Hraje“",
"contextMenu_description":"umožňuje skrýt položky, které se zobrazí v nabídce po kliknutí pravým tlačítkem myši na položku. položky, které nejsou zaškrtnuté, se skryjí",
"customCssEnable":"povolit vlastní CSS",
"customCssEnable_description":"povolit vlastní CSS.",
"customCssNotice":"Varování: i když provádíme určitou sanitizaci (zakázáním url() a content:), může používání CSS stále představovat riziko změnami rozhraní.",
"customCss_description":"vlastní CSS obsah. Upozornění: vlastnosti content a vzdálené url jsou zakázané. Níže je zobrazen náhled vašeho obsahu. Další pole, která jste nenastavili, jsou přítomna z důvodu sanitizace.",
"customCss":"vlastní CSS",
"webAudio":"použít webový zvuk",
"webAudio_description":"použít webový zvuk. tím povolíte pokročilé funkce jako replaygain. zakažte, pokud se objeví problémy",
"transcodeNote":"projeví se po 1 (web) - 2 (mpv) skladbách",
"transcode":"povolit překódování",
"transcode_description":"zapnout překódování do různých formátů",
"transcodeFormat_description":"vybere formát k překódování. pokud chcete nechat rozhodnout server, ponechte prázdné",
"transcodeFormat":"formát k překódování",
"transcodeBitrate":"datový tok k překódování",
"transcodeBitrate_description":"vybere datový tok k překódování. 0 znamená, že necháte server vybrat",
"albumBackground":"obrázek alba na pozadí",
"albumBackground_description":"přidá obrázek alba na pozadí pro stránky alba obsahující obrázky alba",
"albumBackgroundBlur":"velikost rozostření obrázku alba na pozadí",
"albumBackgroundBlur_description":"upraví množství rozostření použité na obrázek alba na pozadí",
"playerbarOpenDrawer":"lišta přehrávače jako přepínač celé obrazovky",
"playerbarOpenDrawer_description":"umožňuje kliknutí na lištu přehrávače pro otevření celoobrazovkového přehrávače",
"artistConfiguration":"nastavení stránky umělce alba",
"artistConfiguration_description":"nastavit, které položky na stránce umělce alba budou zobrazeny a v jakém pořadí",
"trayEnabled_description":"zobrazit/skrýt ikonu/nabídku v oznamovací oblasti. pokud je zakázáno, vypne také minimalizaci/ukončení do oznamovací oblasti",
"translationApiProvider":"poskytovatel api překladů",
"translationApiProvider_description":"poskytovatel api pro překlady",
"translationApiKey":"klíč api překladů",
"translationApiKey_description":"klíč api pro překlady (podporuje pouze koncový bod globální služby)",
"translationTargetLanguage":"cílový jazyk překladu",
"translationTargetLanguage_description":"cílový jazyk pro překlad",
"lastfmApiKey":"klíč API {{lastfm}}",
"lastfmApiKey_description":"klíč API pro {{lastfm}}. vyžadováno pro obaly alb",
"discordServeImage":"načítat obrázky {{discord}} ze serveru",
"discordServeImage_description":"sdílet obaly alb pro {{discord}} rich presence ze samotného serveru, dostupné pouze pro jellyfin a navidrome",
"lastfm":"zobrazit odkazy na last.fm",
"lastfm_description":"na stránkách umělců a alb zobrazit odkazy na last.fm",
"musicbrainz":"zobrazit odkazy na musicbrainz",
"musicbrainz_description":"na stránkách umělců a alb, kde existuje mbid, zobrazit odkazy na musicbrainz",
"neteaseTranslation":"Povolit překlady NetEase",
"neteaseTranslation_description":"Pokud je povoleno, načte a zobrazí přeložené texty ze služby NetEase, pokud jsou dostupné.",
"preferLocalLyrics":"preferovat místní texty",
"preferLocalLyrics_description":"preferovat místní texty před vzdálenými, pokud jsou dostupné",
"discordPausedStatus":"zobrazit rich presence při pozastavení",
"discordPausedStatus_description":"pokud je povoleno, bude při pozastavení přehrávače zobrazen stav",
"preservePitch":"zachovat výšku",
"preservePitch_description":"zachová výšku při úpravě rychlosti přehrávání",
"notify":"povolit oznámení o skladbách",
"notify_description":"zobrazit oznámení při změně aktuální skladby",
"discordDisplayType":"typ zobrazení stavu {{discord}}",
"discordDisplayType_description":"změní, co posloucháte, ve vašem stavu",
"discordDisplayType_songname":"název skladby",
"discordDisplayType_artistname":"jména umělců",
"hotkey_navigateHome":"přejít domů",
"preventSleepOnPlayback":"zabránit uspání při přehrávání",
"preventSleepOnPlayback_description":"zabránit uspání displeje během přehrávání hudby",
"discordLinkType":"odkazy ve stavu na službě {{discord}}",
"discordLinkType_description":"přidá externí odkazy na {{lastfm}} nebo {{musicbrainz}} do polí skladby a umělce ve stavu na službě {{discord}}. {{musicbrainz}} je nejpřesnější, ale vyžaduje značky a neposkytuje odkazy na umělce, zatímco {{lastfm}} by mělo vždy poskytnout odkaz. neprovádí žádné další síťové požadavky",
"discordLinkType_none":"$t(common.none)",
"discordLinkType_mbz_lastfm":"{{musicbrainz}} se zálohou na {{lastfm}}",
"artistBackground":"obrázek umělce na pozadí",
"artistBackground_description":"přidá obrázek na pozadí u stránek umělců",
"artistBackgroundBlur":"velikost rozostření obrázku umělce na pozadí",
"artistBackgroundBlur_description":"upraví velikost rozostření použitého na obrázek umělce na pozadí"
},
"action":{
"editPlaylist":"upravit $t(entity.playlist_one)",
"goToPage":"přejít na stránku",
"moveToTop":"přesunout nahoru",
"clearQueue":"vymazat frontu",
"addToFavorites":"přidat do $t(entity.favorite_other)",
"addToPlaylist":"přidat do $t(entity.playlist_one)",
"remotePortWarning":"restartujte server pro použití nového portu",
"systemFontError":"při pokusu o získání systémových písem se vyskytla chyba",
"playbackError":"při pokusu o přehrání médií se vyskytla chyba",
"endpointNotImplementedError":"endpoint {{endpoint}} není u serveru {{serverType}} implementován",
"remotePortError":"při pokusu o nastavení portu vzdáleného serveru se vyskytla chyba",
"serverRequired":"vyžadován server",
"authenticationFailed":"ověření selhalo",
"apiRouteError":"nepodařilo se přesměrovat žádost",
"genericError":"vyskytla se chyba",
"credentialsRequired":"vyžadovány údaje",
"sessionExpiredError":"vaše relace vypršela",
"remoteEnableError":"při pokusu $t(common.enable) vzdálený server se vyskytla chyba",
"localFontAccessDenied":"přístup k místním písmům zakázán",
"serverNotSelectedError":"není vybrán žádný server",
"remoteDisableError":"při pokusu $t(common.disable) vzdálený server se vyskytla chyba",
"mpvRequired":"vyžadován přehrávač MPV",
"audioDeviceFetchError":"při pokusu o přístup ke zvukovým zařízením se vyskytla chyba",
"invalidServer":"neplatný server",
"loginRateError":"příliš mnoho pokusů o přihlášení, zkuste to znovu za pár vteřin",
"badAlbum":"tuto stránku vidíte, protože tato skladba není součástí alba. tento problém může nastat, pokud máte skladbu na nejvyšší úrovni vaší složky s hudbou. jellyfin seskupuje skladby pouze, pokud se nacházejí ve složce.",
"networkError":"vyskytla se chyba sítě",
"openError":"nepodařilo se otevřít soubor",
"badValue":"neplatná možnost „{{value}}“. tato možnost již neexistuje",
"notificationDenied":"oprávnění k posílání oznámení byla zamítnuta. toto nastavení nemá žádný vliv"
"input_preferInstantMixDescription":"pro získání podobných skladeb použít pouze instantní mix. užitečné, pokud máte doplňky, které upravují toto chování"
},
"addToPlaylist":{
"success":"přidáno $t(entity.trackWithCount, {\"count\": {{message}} }) do $t(entity.playlistWithCount, {\"count\": {{numOfPlaylists}} })",
"title":"přidat do $t(entity.playlist_one)",
"input_skipDuplicates":"přeskočit duplicity",
"input_playlists":"$t(entity.playlist_other)"
},
"updateServer":{
"title":"upravit server",
"success":"server úspěšně upraven"
},
"queryEditor":{
"input_optionMatchAll":"shoda všeho",
"input_optionMatchAny":"shoda libovolného",
"title":"editor dotazů"
},
"lyricSearch":{
"input_name":"$t(common.name)",
"input_artist":"$t(entity.artist_one)",
"title":"Hledat texty"
},
"editPlaylist":{
"title":"upravit $t(entity.playlist_one)",
"success":"$t(entity.playlist_one) úspěšně aktualizován",
"publicJellyfinNote":"Jellyfin z nějakého důvodu neukazuje, zda je seznam skladeb veřejný, nebo ne. Pokud si přejete, aby zůstal veřejný, zvolte prosím následující vstup"
},
"shareItem":{
"allowDownloading":"umožnit stahování",
"success":"odkaz ke sdílení zkopírován do schránky (klikněte sem pro otevření)",
"description":"popis",
"expireInvalid":"čas vypršení musí být v budoucnosti",
"setExpiration":"nastavit vypršení",
"createFailed":"nepodařilo se vytvořit sdílení (je sdílení povoleno?)"
},
"privateMode":{
"enabled":"soukromý režim povolen, stav přehrávání je nyní skryt před externími integracemi",
"disabled":"soukromý režim povolen, stav přehrávání je nyní viditelný pro externími integrace",
"sessionExpiredError":"Deine Sitzung ist abgelaufen",
"remoteEnableError":"Beim Versuch, den Remote-Server mit $t(common.enable), ist ein Fehler aufgetreten",
"localFontAccessDenied":"Zugriff auf lokale Schriftarten verweigert",
"serverNotSelectedError":"Kein Server ausgewählt",
"remoteDisableError":"Beim Versuch, den Remote-Server mit $t(common.disable), ist ein Fehler aufgetreten",
"mpvRequired":"MPV benötigt",
"audioDeviceFetchError":"Beim Versuch, Audiogeräte abzurufen, ist ein Fehler aufgetreten",
"invalidServer":"Ungültiger Server",
"loginRateError":"Zu viele Anmeldeversuche, bitte versuche es in einigen Sekunden erneut",
"badAlbum":"Sie sehen diese Seite, weil dieses Lied nicht Teil eines Albums ist. Wahrscheinlich sehen Sie dieses Problem, wenn Sie einen Song in Ihrem Musikordner auf oberster Ebene haben. Jellyfin gruppiert nur Songs, wenn sie sich in einem Ordner befinden.",
"networkError":"ein Netzwerkfehler ist aufgetreten",
"openError":"datei kann nicht geöffnet werden",
"badValue":"ungültige option \"{{value}}\". Dieser Wert existiert nicht mehr",
"notificationDenied":"Berechtigungen über Benachrichtigungen wurden verweigert. Diese Einstellung hat keinen Effekt"
"publicJellyfinNote":"Jellyfin legt aus irgendwelchen Gründen nicht offen ob eine Playlist öffentlich ist oder nicht. Wenn du möchtest, dass sie öffentlich bleibt, wähle bitte diese Option aus"
},
"lyricSearch":{
"title":"Songtext Suche",
"input_name":"$t(common.name)",
"input_artist":"$t(entity.artist_one)"
},
"shareItem":{
"description":"Beschreibung",
"setExpiration":"Ablaufdatum setzen",
"expireInvalid":"Ablaufdatum muss in der Zukunft liegen",
"allowDownloading":"Herunterladen zulassen",
"success":"Link in die Zwischenablage kopiert (oder hier klicken um zu öffnen)",
"createFailed":"Fehler beim Teilen (Ist Teilen aktiviert?)"
},
"privateMode":{
"enabled":"Privatmodus aktiviert, Wiedergabe-Status wird externen Quellen nicht preisgegeben",
"disabled":"Privatmodus deaktiviert, Wiedergabe-Status wird externen Quellen preisgegeben",
"playbackFetchInProgress":"Lieder werden geladen…",
"playbackSpeed":"Wiedergabegeschwindigkeit",
"playbackFetchCancel":"Das dauert eine Weile. Schließen Sie die Benachrichtigung, um den Vorgang abzubrechen",
"queue_clear":"Bereinige Warteschlange",
"repeat_all":"Alle wiederholen",
"repeat":"Wiederholen",
"queue_remove":"Ausgewählte entfernen",
"shuffle":"Zufallswiedergabe",
"repeat_off":"Nicht wiederholen",
"queue_moveToTop":"Ausgewählte nach unten verschieben",
"queue_moveToBottom":"Ausgewählte nach oben verschieben",
"shuffle_off":"Zufallswiedergabe deaktiviert",
"stop":"Stopp",
"toggleFullscreenPlayer":"Vollbildmodus",
"skip_back":"Zurückspulen",
"pause":"Pause",
"unfavorite":"Aus Favoriten entfernen",
"skip_forward":"Vorspulen",
"skip":"Überspringen",
"playSimilarSongs":"Ähnliche Lieder abspielen",
"viewQueue":"Warteschlange anzeigen"
},
"setting":{
"audioDevice_description":"Wählen Sie das Audiogerät aus, das für die Wiedergabe verwendet werden soll (nur Webplayer)",
"audioExclusiveMode":"Audio-Exklusivmodus",
"audioDevice":"Audiogerät",
"accentColor":"Akzentfarbe",
"accentColor_description":"Legt die Akzentfarbe für die Anwendung fest",
"applicationHotkeys":"Tastenkombinationen der Anwendung",
"applicationHotkeys_description":"Konfiguriere die Tastenkombinationen der Anwendung. Setze einen Haken, um die Tastenkombination global zu verwenden (nur für die Desktopanwendung)",
"crossfadeStyle_description":"Wählen Sie Art des Überblendungseffekts aus, welcher für den Audioplayer verwendet werden soll",
"discordIdleStatus_description":"Wenn aktiviert wird der Rich Presence Status aktiviert, wenn sich der Player im Leerlauf befindet",
"crossfadeStyle":"Art der Überblendung",
"audioExclusiveMode_description":"Aktivieren Sie den exklusiven Ausgabemodus. In diesem Modus ist das System normalerweise gesperrt und nur MPV ist in der Lage Audio ausgeben",
"disableLibraryUpdateOnStartup":"Beim Start nicht nach neuen Versionen suchen",
"discordApplicationId_description":"Die Application-ID für {{discord}} Rich Presence (Standard: {{defaultId}})",
"audioPlayer_description":"Wählen Sie den Audioplayer aus, der für die Wiedergabe verwendet werden soll",
"sampleRate_description":"Wähle die auszugebende Abtastrate aus, wenn sich die ausgewählte Abtastfrequenz von der des aktuellen Mediums unterscheidet. Ein Wert unter 8000 wird die Standard-Frequenz verwenden",
"replayGainMode_optionNone":"$t(common.none)",
"hotkey_zoomIn":"Hineinzoomen",
"scrobble_description":"Scrobble wird auf Ihrem Medienserver abgespielt",
"gaplessAudio_description":"Legt die lückenlose Audioeinstellung für MPV fest",
"remoteUsername_description":"Legt den Benutzernamen für den Fernsteuerungsserver fest. Wenn sowohl Benutzername als auch Passwort leer sind, wird die Authentifizierung deaktiviert",
"remotePassword_description":"Legt das Passwort für den Fernsteuerungsserver fest. Diese Anmeldeinformationen werden standardmäßig unsicher übertragen, daher sollten Sie ein eindeutiges Passwort verwenden, das Ihnen egal ist",
"hotkey_rate5":"Bewertung 5 Sterne",
"hotkey_playbackPrevious":"Vorheriger Track",
"showSkipButtons_description":"Ein- oder Ausblenden der Überspringen-Schaltflächen in der Player-Leiste",
"minimumScrobbleSeconds_description":"die Mindestdauer in Sekunden, die das Lied abspielen muss, bevor es gescrobbelt wird",
"skipPlaylistPage_description":"Gehen Sie beim Navigieren zu einer Wiedergabeliste zur Titelseite der Wiedergabeliste und nicht zur Standardseite",
"fontType_description":"Die integrierte Schriftart wählt eine der von Feishin bereitgestellten Schriftarten aus. Mit der Systemschriftart können Sie jede von Ihrem Betriebssystem bereitgestellte Schriftart auswählen. Benutzerdefiniert erlaubt es eine eigene Schriftart bereitzustellen",
"playButtonBehavior":"Verhalten der Wiedergabetaste",
"volumeWheelStep":"Lautstärkeregler Stufe",
"sidebarPlaylistList_description":"Ein- oder Ausblenden der Playlisten-Liste in der Seitenleiste",
"sidePlayQueueStyle_description":"Legt den Stil der Wiedergabewarteliste in der Seitenleiste fest",
"replayGainMode":"{{ReplayGain}} Modus",
"playbackStyle_optionNormal":"Normal",
"windowBarStyle":"Fensterleistenstil",
"replayGainFallback_description":"Verstärkung in db, die angewendet werden soll, wenn die Datei keine {{ReplayGain}}-Tags hat",
"replayGainPreamp_description":"Passen Sie die Vorverstärkerverstärkung an, die auf die {{ReplayGain}}-Werte angewendet wird",
"hotkey_toggleRepeat":"Wiederholung umschalten",
"lyricOffset_description":"Versetzen Sie den Liedtext um die angegebene Anzahl von Millisekunden",
"sidebarConfiguration_description":"Wählen Sie die Elemente und die Reihenfolge aus, in der sie in der Seitenleiste angezeigt werden",
"remotePort":"Port des Fernsteuerungsserver",
"hotkey_playbackNext":"Nächster Track",
"useSystemTheme_description":"der systemdefinierten Hell- oder Dunkelpräferenz folgen",
"lyricFetch_description":"Songtexte aus verschiedenen Internetquellen abrufen",
"lyricFetchProvider_description":"Wählen Sie die Anbieter aus, von denen Sie Liedtexte abrufen möchten. Die Reihenfolge der Anbieter ist die Reihenfolge, in der sie abgefragt werden",
"globalMediaHotkeys_description":"Aktivieren oder deaktivieren Sie die Verwendung der Medien-Kurzbefehle Ihres Systems zur Steuerung der Wiedergabe",
"hotkey_zoomOut":"Herauszoomen",
"hotkey_unfavoriteCurrentSong":"$t(common.currentSong) aus Favoriten entfernen",
"hotkey_rate0":"Bewertung löschen",
"hotkey_volumeMute":"Lautstärke stumm",
"remoteUsername":"Benutzername des Fernsteuerungsserver",
"hotkey_browserBack":"Browser zurück",
"showSkipButton":"Schaltflächen zum Überspringen anzeigen",
"savePlayQueue_description":"Speichert Wiedergabewarteschlange, wenn die Anwendung geschlossen wird, und stellt sie wieder her, wenn die Anwendung geöffnet wird",
"useSystemTheme":"Systemdesign verwenden",
"enableRemote_description":"Aktiviere den eingebauten Webserver, um die Anwendung von anderen Geräten aus zu steuern",
"floatingQueueArea_description":"Zeige ein Icon auf der rechten Seite, um beim Darüberfahren die Wartschlange anzuzeigen",
"font_description":"Wähle die Schriftart für die Anwendung",
"themeLight":"Thema (hell)",
"sidePlayQueueStyle_optionDetached":"lösgelöst",
"windowBarStyle_description":"Wähle den Stil der Windows-Leiste",
"hotkey_toggleCurrentSongFavorite":"$t(common.currentSong) zu Favoriten hinzufügen",
"clearQueryCache_description":"\"Weiches\" Zurücksetzen. Dies wird Playlisten, Musik-Metadaten und gespeicherte Liedtexte zurücksetzen, Zugangsinformationen und zwischengespeicherte Bilder werden behalten",
"discordRichPresence_description":"Zeige deinen Wiedergabe-Status in {{discord}} als rich presence an. Angezeigte Bilder sind: {{icon}}, {{playing}}, und {{paused}}",
"clearCache_description":"Hartes Zurücksetzen. Neben feishins Zwischenspeicher wird auch der des Browsers gelöscht (Bilder und andere Daten). Zugangsinformationen und Einstellungen werden behalten",
"sidePlayQueueStyle":"Wiedergabelistenstil in der Seitenleiste",
"zoom_description":"Setzt den Zoom (in %) für das Programm",
"zoom":"Zoom",
"albumBackground":"Album Hintergrund",
"customCss":"Benutzerdefiniert css",
"homeConfiguration":"Startseite Konfiguration",
"lastfmApiKey":"{{lastfm}} API-Schlüssel",
"lastfmApiKey_description":"Der API-Schlüssel für {{lastfm}}. wird für benötigt",
"discordListening":"Status als hört zu anzeigen",
"discordListening_description":"Status als hört zu statt als spielt anzeigen",
"lastfm":"zeige last.fm links",
"lastfm_description":"zeige links zu last.fm auf dem Künstler/Album-Seiten",
"newVersion":"a new version has been installed ({{version}})",
"viewReleaseNotes":"view release notes",
"albumGain":"album gain",
"albumPeak":"album peak",
"areYouSure":"are you sure?",
"ascending":"ascending",
"backward":"backward",
"biography":"biography",
"bitDepth":"bit depth",
"bitrate":"bitrate",
"bpm":"bpm",
"cancel":"cancel",
"center":"center",
"channel_one":"channel",
"channel_other":"channels",
"clear":"clear",
"close":"close",
"codec":"codec",
"collapse":"collapse",
"comingSoon":"coming soon…",
"configure":"configure",
"confirm":"confirm",
"create":"create",
"currentSong":"current $t(entity.track_one)",
"decrease":"decrease",
"delete":"delete",
"descending":"descending",
"description":"description",
"disable":"disable",
"disc":"disc",
"dismiss":"dismiss",
"duration":"duration",
"edit":"edit",
"enable":"enable",
"expand":"expand",
"favorite":"favorite",
"filter_one":"filter",
"filter_other":"filters",
"filters":"filters",
"forceRestartRequired":"restart to apply changes… close the notification to restart",
"forward":"forward",
"gap":"gap",
"home":"home",
"increase":"increase",
"left":"left",
"limit":"limit",
"manage":"manage",
"maximize":"maximize",
"menu":"menu",
"minimize":"minimize",
"modified":"modified",
"mbid":"MusicBrainz ID",
"name":"name",
"no":"no",
"none":"none",
"noResultsFromQuery":"the query returned no results",
"note":"note",
"ok":"ok",
"owner":"owner",
"path":"path",
"playerMustBePaused":"player must be paused",
"preview":"preview",
"previousSong":"previous $t(entity.track_one)",
"quit":"quit",
"random":"random",
"rating":"rating",
"refresh":"refresh",
"reload":"reload",
"reset":"reset",
"resetToDefault":"reset to default",
"restartRequired":"restart required",
"right":"right",
"sampleRate":"sample rate",
"save":"save",
"saveAndReplace":"save and replace",
"saveAs":"save as",
"search":"search",
"setting":"setting",
"setting_one":"setting",
"setting_other":"settings",
"share":"share",
"size":"size",
"sortOrder":"order",
"tags":"tags",
"title":"title",
"trackNumber":"track",
"trackGain":"track gain",
"trackPeak":"track peak",
"translation":"translation",
"unknown":"unknown",
"version":"version",
"year":"year",
"yes":"yes"
},
"entity":{
"album_one":"album",
"album_other":"albums",
"albumArtist_one":"album artist",
"albumArtist_other":"album artists",
"albumArtistCount_one":"{{count}} album artist",
"albumArtistCount_other":"{{count}} album artists",
"albumWithCount_one":"{{count}} album",
"albumWithCount_other":"{{count}} albums",
"artist_one":"artist",
"artist_other":"artists",
"artistWithCount_one":"{{count}} artist",
"artistWithCount_other":"{{count}} artists",
"favorite_one":"favorite",
"favorite_other":"favorites",
"folder_one":"folder",
"folder_other":"folders",
"folderWithCount_one":"{{count}} folder",
"folderWithCount_other":"{{count}} folders",
"genre_one":"genre",
"genre_other":"genres",
"genreWithCount_one":"{{count}} genre",
"genreWithCount_other":"{{count}} genres",
"playlist_one":"playlist",
"playlist_other":"playlists",
"play_one":"{{count}} play",
"play_other":"{{count}} plays",
"playlistWithCount_one":"{{count}} playlist",
"playlistWithCount_other":"{{count}} playlists",
"smartPlaylist":"smart $t(entity.playlist_one)",
"track_one":"track",
"track_other":"tracks",
"song_one":"song",
"song_other":"songs",
"trackWithCount_one":"{{count}} track",
"trackWithCount_other":"{{count}} tracks"
},
"error":{
"apiRouteError":"unable to route request",
"audioDeviceFetchError":"an error occurred when trying to get audio devices",
"authenticationFailed":"authentication failed",
"badAlbum":"you are seeing this page because this song is not part of an album. you are most likely seeing this issue if you have a song at the top level of your music folder. jellyfin only groups tracks if they are in a folder.",
"badValue":"invalid option \"{{value}}\". this value no longer exists",
"credentialsRequired":"credentials required",
"endpointNotImplementedError":"endpoint {{endpoint}} is not implemented for {{serverType}}",
"genericError":"an error occurred",
"invalidServer":"invalid server",
"localFontAccessDenied":"access denied to local fonts",
"loginRateError":"too many login attempts, please try again in a few seconds",
"mpvRequired":"MPV required",
"networkError":"a network error occurred",
"notificationDenied":"permissions for notifications were denied. this setting has no effect",
"openError":"could not open file",
"playbackError":"an error occurred when trying to play the media",
"remoteDisableError":"an error occurred when trying to $t(common.disable) the remote server",
"remoteEnableError":"an error occurred when trying to $t(common.enable) the remote server",
"remotePortError":"an error occurred when trying to set the remote server port",
"remotePortWarning":"restart the server to apply the new port",
"serverNotSelectedError":"no server selected",
"serverRequired":"server required",
"sessionExpiredError":"your session has expired",
"systemFontError":"an error occurred when trying to get system fonts"
},
"filter":{
"album":"$t(entity.album_one)",
"albumArtist":"$t(entity.albumArtist_one)",
"albumCount":"$t(entity.album_other) count",
"artist":"$t(entity.artist_one)",
"biography":"biography",
"bitrate":"bitrate",
"bpm":"bpm",
"channels":"$t(common.channel_other)",
"comment":"comment",
"communityRating":"community rating",
"criticRating":"critic rating",
"dateAdded":"date added",
"disc":"disc",
"duration":"duration",
"favorited":"favorited",
"fromYear":"from year",
"genre":"$t(entity.genre_one)",
"id":"id",
"isCompilation":"is compilation",
"isFavorited":"is favorited",
"isPublic":"is public",
"isRated":"is rated",
"isRecentlyPlayed":"is recently played",
"lastPlayed":"last played",
"mostPlayed":"most played",
"name":"name",
"note":"note",
"owner":"$t(common.owner)",
"path":"path",
"playCount":"play count",
"random":"random",
"rating":"rating",
"recentlyAdded":"recently added",
"recentlyPlayed":"recently played",
"recentlyUpdated":"recently updated",
"releaseDate":"release date",
"releaseYear":"release year",
"search":"search",
"songCount":"song count",
"title":"title",
"toYear":"to year",
"trackNumber":"track"
},
"form":{
"addServer":{
"error_savePassword":"an error occurred when trying to save the password",
"ignoreCors":"ignore cors ($t(common.restartRequired))",
"publicJellyfinNote":"Jellyfin for some reason does not expose whether a playlist is public or not. If you wish for this to remain public, please have the following input selected",
"artistBackgroundBlur_description":"adjusts the amount of blur applied to the artist background image",
"artistConfiguration":"album artist page configuration",
"artistConfiguration_description":"configure what items are shown, and in what order, on the album artist page",
"audioDevice":"audio device",
"audioDevice_description":"select the audio device to use for playback (web player only)",
"audioExclusiveMode":"audio exclusive mode",
"audioExclusiveMode_description":"enable exclusive output mode. In this mode, the system is usually locked out, and only mpv will be able to output audio",
"audioPlayer":"audio player",
"audioPlayer_description":"select the audio player to use for playback",
"buttonSize":"player bar button size",
"buttonSize_description":"the size of the player bar buttons",
"clearCache":"clear browser cache",
"clearCache_description":"a 'hard clear' of feishin. in addition to clearing feishin's cache, empty the browser cache (saved images and other assets). server credentials and settings are preserved",
"clearQueryCache":"clear feishin cache",
"clearQueryCache_description":"a 'soft clear' of feishin. this will refresh playlists, track metadata, and reset saved lyrics. settings, server credentials and cached images are preserved",
"clearCacheSuccess":"cache cleared successfully",
"contextMenu":"context menu (right click) configuration",
"contextMenu_description":"allows you to hide items that are shown in the menu when you right click on an item. items that are unchecked will be hidden",
"crossfadeDuration":"crossfade duration",
"crossfadeDuration_description":"sets the duration of the crossfade effect",
"crossfadeStyle":"crossfade style",
"crossfadeStyle_description":"select the crossfade style to use for the audio player",
"customCssEnable":"enable custom css",
"customCssEnable_description":"allow for writing custom css.",
"customCssNotice":"Warning: while there is some sanitization (disallowing url() and content:), using custom CSS can still pose risks by changing the interface.",
"customCss":"custom css",
"customCss_description":"custom css content. Note: content and remote urls are disallowed properties. A preview of your content is shown below. Additional fields you didn't set are present due to sanitization.",
"customFontPath":"custom font path",
"customFontPath_description":"sets the path to the custom font to use for the application",
"discordRichPresence_description":"enable playback status in {{discord}} rich presence. Image keys are: {{icon}}, {{playing}}, and {{paused}}",
"discordServeImage":"serve {{discord}} images from server",
"discordServeImage_description":"share cover art for {{discord}} rich presence from server itself, only available for jellyfin and navidrome. {{discord}} uses a bot to fetch images, so your server must be reachable from the public internet.",
"discordDisplayType_description":"changes what you are listening to in your status",
"discordDisplayType_songname":"song name",
"discordDisplayType_artistname":"artist name(s)",
"discordLinkType":"{{discord}} presence links",
"discordLinkType_description":"adds external links to {{lastfm}} or {{musicbrainz}} to the song and artist fields in {{discord}} rich presence. {{musicbrainz}} is the most accurate but requires tags and doesn't provide artist links while {{lastfm}} should always provide a link. makes no extra network requests",
"discordLinkType_none":"$t(common.none)",
"discordLinkType_mbz_lastfm":"{{musicbrainz}} with {{lastfm}} fallback",
"doubleClickBehavior":"queue all searched tracks when double clicking",
"doubleClickBehavior_description":"if true, all matching tracks in a track search will be queued. otherwise, only the clicked one will be queued",
"enableRemote":"enable remote control server",
"enableRemote_description":"enables the remote control server to allow other devices to control the application",
"externalLinks":"show external links",
"externalLinks_description":"enables showing external links (Last.fm, MusicBrainz) on artist/album pages",
"exitToTray":"exit to tray",
"exitToTray_description":"exit the application to the system tray",
"floatingQueueArea_description":"display a hover icon on the right side of the screen to view the play queue",
"followLyric":"follow current lyric",
"followLyric_description":"scroll the lyric to the current playing position",
"preferLocalLyrics":"prefer local lyrics",
"preferLocalLyrics_description":"prefer local lyrics over remote lyrics when available",
"font":"font",
"font_description":"sets the font to use for the application",
"fontType":"font type",
"fontType_description":"built-in font selects one of the fonts provided by Feishin. system font allows you to select any font provided by your operating system. custom allows you to provide your own font",
"fontType_optionBuiltIn":"built-in font",
"fontType_optionCustom":"custom font",
"fontType_optionSystem":"system font",
"gaplessAudio":"gapless audio",
"gaplessAudio_description":"sets the gapless audio setting for mpv",
"gaplessAudio_optionWeak":"weak (recommended)",
"genreBehavior":"genre page default behavior",
"genreBehavior_description":"determines whether clicking on a genre opens by default in track or album list",
"globalMediaHotkeys":"global media hotkeys",
"globalMediaHotkeys_description":"enable or disable the usage of your system media hotkeys to control playback",
"homeConfiguration":"home page configuration",
"homeConfiguration_description":"configure what items are shown, and in what order, on the home page",
"homeFeature":"home featured carousel",
"homeFeature_description":"controls whether to show the large featured carousel on the home page",
"imageAspectRatio":"use native cover art aspect ratio",
"imageAspectRatio_description":"if enabled, cover art will be shown using their native aspect ratio. for art that is not 1:1, the remaining space will be empty",
"language":"language",
"language_description":"sets the language for the application ($t(common.restartRequired))",
"lastfm":"show last.fm links",
"lastfm_description":"show links to last.fm on artist/album pages",
"lastfmApiKey":"{{lastfm}} API key",
"lastfmApiKey_description":"the API key for {{lastfm}}. required for cover art",
"lyricFetch":"fetch lyrics from the internet",
"lyricFetch_description":"fetch lyrics from various internet sources",
"lyricFetchProvider":"providers to fetch lyrics from",
"lyricFetchProvider_description":"select the providers to fetch lyrics from. the order of the providers is the order in which they will be queried",
"lyricOffset":"lyric offset (ms)",
"lyricOffset_description":"offset the lyric by the specified amount of milliseconds",
"notify":"enable song notifications",
"notify_description":"show notifications when changing the current song",
"minimizeToTray":"minimize to tray",
"minimizeToTray_description":"minimize the application to the system tray",
"playerAlbumArtResolution":"player album art resolution",
"playerAlbumArtResolution_description":"the resolution for the large player's album art preview. larger makes it look more crisp, but may slow loading down. defaults to 0, meaning auto",
"playerbarOpenDrawer_description":"allows clicking of the playerbar to open the full screen player",
"remotePassword":"remote control server password",
"remotePassword_description":"sets the password for the remote control server. These credentials are by default transferred insecurely, so you should use a unique password that you do not care about",
"remotePort":"remote control server port",
"remotePort_description":"sets the port for the remote control server",
"remoteUsername":"remote control server username",
"remoteUsername_description":"sets the username for the remote control server. if both username and password are empty, authentication will be disabled",
"replayGainClipping":"{{ReplayGain}} clipping",
"replayGainClipping_description":"Prevent clipping caused by {{ReplayGain}} by automatically lowering the gain",
"replayGainFallback":"{{ReplayGain}} fallback",
"replayGainFallback_description":"gain in db to apply if the file has no {{ReplayGain}} tags",
"replayGainMode":"{{ReplayGain}} mode",
"replayGainMode_description":"adjust volume gain according to {{ReplayGain}} values stored in the file metadata",
"replayGainPreamp_description":"adjust the preamp gain applied to the {{ReplayGain}} values",
"sampleRate":"sample rate",
"sampleRate_description":"select the output sample rate to be used if the sample frequency selected is different from that of the current media. a value less than 8000 will use the default frequency",
"savePlayQueue":"save play queue",
"savePlayQueue_description":"save the play queue when the application is closed and restore it when the application is opened",
"scrobble":"scrobble",
"scrobble_description":"scrobble plays to your media server",
"showSkipButton":"show skip buttons",
"showSkipButton_description":"show or hide the skip buttons on the player bar",
"showSkipButtons":"show skip buttons",
"showSkipButtons_description":"show or hide the skip buttons on the player bar",
"sidebarCollapsedNavigation_description":"show or hide the navigation in the collapsed sidebar",
"sidebarConfiguration":"sidebar configuration",
"sidebarConfiguration_description":"select the items and order in which they appear in the sidebar",
"sidebarPlaylistList":"sidebar playlist list",
"sidebarPlaylistList_description":"show or hide the playlist list in the sidebar",
"sidePlayQueueStyle":"side play queue style",
"sidePlayQueueStyle_description":"sets the style of the side play queue",
"sidePlayQueueStyle_optionAttached":"attached",
"sidePlayQueueStyle_optionDetached":"detached",
"skipDuration":"skip duration",
"skipDuration_description":"sets the duration to skip when using the skip buttons on the player bar",
"skipPlaylistPage":"skip playlist page",
"skipPlaylistPage_description":"when navigating to a playlist, go to the playlist song list page instead of the default page",
"startMinimized":"start minimized",
"startMinimized_description":"start the application in system tray",
"preventSleepOnPlayback":"prevent sleep on playback",
"preventSleepOnPlayback_description":"prevent the display from sleeping while music is playing",
"theme":"theme",
"theme_description":"sets the theme to use for the application",
"themeDark":"theme (dark)",
"themeDark_description":"sets the dark theme to use for the application",
"themeLight":"theme (light)",
"themeLight_description":"sets the light theme to use for the application",
"transcodeNote":"takes effect after 1 (web) - 2 (mpv) songs",
"transcode":"enable transcoding",
"transcode_description":"enables transcoding to different formats",
"transcodeBitrate":"bitrate to transcode",
"transcodeBitrate_description":"selects the bitrate to transcode. 0 means let the server pick",
"transcodeFormat":"format to transcode",
"transcodeFormat_description":"selects the format to transcode. leave empty to let the server decide",
"mediaSession":"enable media session",
"mediaSession_description":"Enables Windows Media Session integration, displaying media controls and metadata in the system volume overlay and lock screen (Windows only)",
"translationApiProvider":"translation api provider",
"translationApiProvider_description":"api provider for translation",
"translationApiKey":"translation api key",
"translationApiKey_description":"api key for translation (Support global service endpoint only)",
"sidebarConfiguration":"configuración de la barra lateral",
"sampleRate_description":"selecciona el ratio de muestreo de salida a ser usado si la frecuencia de muestreo seleccionada es diferente de la del medio actual. un valor inferior a 8000 usará la frecuencia predeterminada",
"replayGainMode_optionNone":"$t(common.none)",
"replayGainClipping":"recortar {{ReplayGain}}",
"hotkey_zoomIn":"ampliar",
"scrobble_description":"hace scrobble de las reproducciones en tu servidor de medios",
"audioExclusiveMode_description":"activa el modo de audio exclusivo. En este modo, el sistema es normalmente bloqueado, y solo se permitirá mpv en la salida de audio",
"discordUpdateInterval":"intervalo de actualización del estado de actividad de {{discord}}",
"themeLight":"tema (claro)",
"fontType_optionBuiltIn":"fuente incorporada",
"hotkey_playbackPlayPause":"play / pausa",
"hotkey_rate1":"calificar con 1 estrella",
"hotkey_skipForward":"saltar hacia delante",
"disableLibraryUpdateOnStartup":"desactiva la comprobación de nuevas versiones al inicio",
"discordApplicationId_description":"el id de aplicación para el estado de actividad de {{discord}} (por defecto es {{defaultId}})",
"sidePlayQueueStyle":"estilo de la cola de reproducción lateral",
"minimizeToTray_description":"minimiza la aplicación a la bandeja del sistema",
"hotkey_playbackPlay":"reproducir",
"hotkey_togglePreviousSongFavorite":"cambia $t(common.previousSong) a favorito",
"hotkey_volumeDown":"bajar volumen",
"hotkey_unfavoritePreviousSong":"$t(common.previousSong) no favorita",
"audioPlayer_description":"selecciona el reproductor de audio a usar durante la reproducción",
"globalMediaHotkeys":"teclas de acceso rápido globales a medios",
"hotkey_globalSearch":"búsqueda global",
"gaplessAudio_description":"establece la configuración de audio sin pausas para mpv",
"remoteUsername_description":"establece el nombre de usuario para el control remoto del servidor. si el usuario y la contraseña están vacíos, la autenticación será deshabilitada",
"disableAutomaticUpdates":"desactiva las actualizaciones automáticas",
"exitToTray_description":"sale de la aplicación a la bandeja del sistema",
"followLyric_description":"desplaza la letra a la posición de reproducción actual",
"themeLight_description":"establece el tema claro a usar por la aplicación",
"hotkey_toggleFullScreenPlayer":"cambia el reproductor a pantalla completa",
"hotkey_localSearch":"búsqueda en la página",
"hotkey_toggleQueue":"cambia la cola",
"remotePassword_description":"establece la contraseña para el control remoto del servidor. Esas credenciales son transferidas de forma insegura por defecto, por lo que deberías usar una contraseña única para que no tengas nada de lo que preocuparte",
"hotkey_rate5":"calificar con 5 estrellas",
"hotkey_playbackPrevious":"pista anterior",
"showSkipButtons_description":"muestra o esconde los botones de saltar en la barra del reproductor",
"crossfadeDuration_description":"establece la duración del efecto de crossfade",
"language":"idioma",
"playbackStyle":"estilo de reproducción",
"hotkey_toggleShuffle":"alterna aleatorio",
"theme":"tema",
"playbackStyle_description":"selecciona el estilo de reproducción a usar por el reproductor de audio",
"discordRichPresence_description":"activa el estado de reproducción en el estado de actividad de {{discord}}. Las teclas de imagen son: {{icon}}, {{playing}}, y {{paused}}",
"mpvExecutablePath":"ruta del ejecutable mpv",
"audioDevice":"dispositivo de audio",
"hotkey_rate2":"calificar con 2 estrellas",
"playButtonBehavior_description":"establece el comportamiento por defecto del botón de reproducción cuando se añaden canciones a la cola",
"minimumScrobblePercentage_description":"el porcentaje mínimo de la canción que debe ser reproducido antes de hacer scrobble",
"exitToTray":"salir a la bandeja",
"hotkey_rate4":"calificar con 4 estrellas",
"enableRemote":"activar control remoto del servidor",
"showSkipButton_description":"muestra o esconde los botones de saltar en la barra del reproductor",
"savePlayQueue":"guardar cola de reproducción",
"minimumScrobbleSeconds_description":"la duración mínima en segundos de la canción que debe ser reproducida antes de hacer scrobble",
"fontType_description":"fuente incorporada selecciona una de las fuentes proporcionadas por Feishin. fuente del sistema te permite seleccionar cualquier fuente proporcionada por tu sistema operativo. personalizada te permite proporcionar tu propia fuente",
"playButtonBehavior":"comportamiento del botón de reproducción",
"sidebarPlaylistList_description":"muestra o esconde las listas de reproducción en la barra lateral",
"sidePlayQueueStyle_description":"establece el estilo de la cola de reproducción lateral",
"replayGainMode":"modo de {{ReplayGain}}",
"playbackStyle_optionNormal":"normal",
"floatingQueueArea":"mostrar área flotante de cola",
"replayGainFallback_description":"ganancia en db a aplicar si el archivo no tiene etiquetas de {{ReplayGain}}",
"replayGainPreamp_description":"ajusta la ganancia del preamplificador aplicada a los valores de {{ReplayGain}}",
"hotkey_toggleRepeat":"alterna repetir",
"lyricOffset_description":"desfasa la letra en la cantidad de milisegundos especificada",
"sidebarConfiguration_description":"selecciona los elementos y el orden en que aparecerán en la barra lateral",
"fontType":"tipo de fuente",
"remotePort":"puerto del control remoto del servidor",
"applicationHotkeys":"teclas de acceso rápido de la aplicación",
"hotkey_playbackNext":"pista siguiente",
"useSystemTheme_description":"sigue la preferencia clara u oscura definida por el sistema",
"lyricFetch_description":"busca letras en varias fuentes de Internet",
"lyricFetchProvider_description":"selecciona los proveedores para buscar letras. el orden de los proveedores es el orden en el que se consultarán",
"globalMediaHotkeys_description":"activa o desactiva el uso de las teclas de acceso rápidas del sistema a medios para controlar la reproducción",
"customFontPath":"ruta de fuente personalizada",
"followLyric":"seguir la letra actual",
"crossfadeDuration":"duración del crossfade",
"discordIdleStatus":"mostrar el estado inactivo en el estado de actividad",
"sidePlayQueueStyle_optionDetached":"separada",
"audioPlayer":"reproductor de audio",
"hotkey_zoomOut":"reducir",
"hotkey_unfavoriteCurrentSong":"$t(common.currentSong) no favorita",
"hotkey_rate0":"Limpiar calificación",
"discordApplicationId":"id de aplicación {{discord}}",
"applicationHotkeys_description":"configura las teclas de acceso rápido de la aplicación. marca la casilla para establecerlas como teclas de acceso rápido globales (solo escritorio)",
"floatingQueueArea_description":"muestra un icono flotante en el lado derecho de la pantalla para ver la cola de reproducción",
"hotkey_volumeMute":"silenciar volumen",
"hotkey_toggleCurrentSongFavorite":"$t(common.currentSong) cambia a favorita",
"remoteUsername":"nombre de usuario del control remoto del servidor",
"showSkipButton":"mostrar botones de saltar",
"sidebarPlaylistList":"listas de reproducción de la barra lateral",
"minimizeToTray":"minimizar a la bandeja",
"themeDark":"tema (oscuro)",
"sidebarCollapsedNavigation":"navegación de barra lateral (contraída)",
"customFontPath_description":"establece la ruta de la fuente personalizada a usar por la aplicación",
"discordRichPresence":"estado de actividad de {{discord}}",
"font_description":"establece la fuente a usar por la aplicación",
"savePlayQueue_description":"guarda la cola de reproducción cuando se cierra la aplicación y la restaura cuando se abre",
"useSystemTheme":"usar tema del sistema",
"volumeWheelStep_description":"la cantidad de volumen a cambiar cuando se desplaza la rueda del ratón en el control deslizante del volumen",
"zoom":"porcentaje de zoom",
"zoom_description":"establece el porcentaje de zoom de la aplicación",
"volumeWheelStep":"paso de rueda del volumen",
"windowBarStyle":"estilo de la barra de ventana",
"windowBarStyle_description":"selecciona el estilo de la barra de ventana",
"skipPlaylistPage_description":"cuando se navega a una lista de reproducción, se va a la página de lista de canciones de la lista de reproducción en lugar de a la página por defecto",
"accentColor":"color de realce",
"accentColor_description":"establece el color de realce de la aplicación",
"skipPlaylistPage":"saltar página de lista de reproducción",
"hotkey_browserForward":"avance",
"hotkey_browserBack":"retroceso",
"clearCache":"Limpiar la caché del navegador",
"clearQueryCache":"Limpiar la caché de Feishin",
"clearQueryCache_description":"Una 'limpieza suave' de Feishin. Esto refrescará las listas de reproducción, los metadatos de las pistas y restablecerá las letras guardadas. Se mantienen los ajustes, credenciales del servidor y las imágenes en caché",
"buttonSize":"tamaño del botón de la barra de reproducción",
"clearCache_description":"Una 'limpieza fuerte' de Feishin. Para limpiar la caché de Feishin, vacía la caché del navegador (imágenes guardadas y otros elementos). Se mantienen las credenciales y ajustes del servidor",
"buttonSize_description":"el tamaño de los botones de la barra de reproducción",
"passwordStore_description":"qué método de almacenamiento de contraseñas/claves secretas utilizar. cambia esta opción si tienes problemas para guardar contraseñas.",
"startMinimized_description":"inicia la aplicación en la bandeja del sistema",
"playerAlbumArtResolution_description":"la resolución para la vista previa de la carátula del álbum del reproductor grande. más grande hace que parezca más nítido, pero puede ralentizar la carga. El valor predeterminado es 0, lo que significa automático",
"playerAlbumArtResolution":"resolución de la carátula del álbum del reproductor",
"homeConfiguration":"Configuración de la página de inicio",
"mpvExtraParameters_help":"Uno por línea",
"genreBehavior":"Comportamiento predeterminado de la página de géneros",
"externalLinks_description":"Permite mostrar enlaces externos (Last.fm, MusicBrainz) en las páginas del artista/álbum",
"genreBehavior_description":"Determina si al hacer clic en un género se abre por defecto la lista de pistas o de álbumes",
"homeConfiguration_description":"Configura qué elementos son mostrados y en qué orden en la página de inicio",
"homeFeature_description":"Controla si se muestra el gran carrusel destacado en la página de inicio",
"imageAspectRatio_description":"Si está habilitado, la portada será mostrada usando su relación de aspecto nativa. Para arte que no es 1:1, el espacio restante estará vacío",
"imageAspectRatio":"Usar relación de aspecto nativa de portada",
"doubleClickBehavior":"poner en cola todas las pistas buscadas al hacer doble clic",
"doubleClickBehavior_description":"si está activado, se pondrán en cola todas las pistas que coincidan en una búsqueda de pistas. De lo contrario, solo se pondrán en cola las pistas seleccionadas",
"volumeWidth":"Ancho del deslizador de volumen",
"volumeWidth_description":"La anchura del deslizador de volumen",
"discordListening_description":"muestra el estado como Escuchando en lugar de Jugando a",
"discordListening":"Mostrar estado como escuchando",
"contextMenu":"Configuración del menú de contexto (clic derecho)",
"contextMenu_description":"Te permite esconder elementos que son mostrados en el menú cuando haces clic derecho en un elemento. Los elementos que no estén seleccionados serán escondidos",
"customCssNotice":"Aviso: mientras hay alguna sanitización (rechazar url() y content:), usar CSS personalizado puede aún entrañar riesgos cambiando la interfaz.",
"customCss_description":"Content CSS personalizado. Nota: content y urls remotas son propiedades rechazadas. Una vista previa de tu content se muestra debajo. Las entradas adicionales que no estableciste están presentes debido a la sanitización.",
"webAudio":"usar audio web",
"webAudio_description":"Utilizar audio web. Esto habilita funciones avanzadas como Replaygain. Desactiva esta opción si tienes problemas",
"transcode":"activar la transcodificación",
"transcode_description":"permite la transcodificación a distintos formatos",
"transcodeBitrate":"tasa de bits a transcodificar",
"transcodeBitrate_description":"selecciona el bitrate a transcodificar. 0 significa dejar que el servidor elija",
"transcodeNote":"tendrá efecto después de 1 (web) - 2 (mpv) canciones",
"transcodeFormat":"formato a transcodificar",
"transcodeFormat_description":"selecciona el formato a transcodificar. dejar vacío para que el servidor decida",
"albumBackground":"imagen de fondo del álbum",
"albumBackground_description":"Añade una imagen de fondo a las páginas del álbum que contienen la carátula del álbum",
"albumBackgroundBlur":"Tamaño de desenfoque de la imagen de fondo del álbum",
"albumBackgroundBlur_description":"Ajusta la cantidad de desenfoque aplicado a la imagen de fondo del álbum",
"playerbarOpenDrawer":"Cambiar la barra del reproductor a pantalla completa",
"playerbarOpenDrawer_description":"Permite hacer clic en la barra del reproductor para abrir el reproductor a pantalla completa",
"artistConfiguration":"Configuración de la página del artista del álbum",
"artistConfiguration_description":"Configura qué elementos se muestran y en qué orden en la página del artista del álbum",
"trayEnabled":"Mostrar en el área de notificación",
"trayEnabled_description":"muestra/oculta el icono/menú del área de notificación. si está deshabilitado, también deshabilita minimizar/salir a la bandeja",
"translationApiProvider":"Proveedor de API de traducción",
"translationApiProvider_description":"Proveedor de API para traducción",
"translationApiKey":"clave api de traducción",
"translationApiKey_description":"Clave API para la traducción (solo para el punto final del servicio global)",
"translationTargetLanguage":"idioma final de la traducción",
"translationTargetLanguage_description":"lengua de destino de la traducción",
"lastfmApiKey_description":"la clave API para {{lastfm}}. Requerida para la portada",
"lastfmApiKey":"Clave API para {{lastfm}}",
"discordServeImage":"Servir imágenes de {{discord}} desde el servidor",
"discordServeImage_description":"Comparte el arte de la portada para el estado de actividad de {{discord}} desde el propio servidor, solo disponible para Jellyfin y Navidrome. {{discord}} usa un bot para obtener las imágenes, por lo que tu servidor debe ser alcanzable desde el Internet público.",
"lastfm":"Mostrar enlaces de last.fm",
"lastfm_description":"Muestra enlaces a last.fm en las páginas de artistas/álbumes",
"musicbrainz":"Mostrar enlaces de MusicBrainz",
"musicbrainz_description":"Muestra enlaces a MusicBrainz en las páginas de artistas/álbumes, donde exista mbid",
"neteaseTranslation":"Activar traducciones de NetEase",
"neteaseTranslation_description":"Cuando se habilita, busca y muestra letras traducidas desde NetEase si está disponible.",
"preferLocalLyrics_description":"Prefiere letras locales sobre letras remotas cuando esté disponible",
"preferLocalLyrics":"Preferir letras locales",
"discordPausedStatus":"Mostrar estado de actividad cuando esté en pausa",
"discordPausedStatus_description":"Cuando está activado, el estado mostrará cuando el reproductor esté en pausa",
"preservePitch":"Mantener el tono",
"preservePitch_description":"Mantiene el tono cuando se modifica la velocidad de reproducción",
"notify":"Activar notificaciones de canciones",
"notify_description":"Muestra notificaciones cuando se cambia la canción actual",
"discordDisplayType_songname":"Nombre de la canción",
"discordDisplayType_artistname":"Nombre(s) del artista(s)",
"discordDisplayType_description":"Cambia qué estás escuchando en tu estado",
"discordDisplayType":"Tipo de pantalla de actividad de {{discord}}",
"hotkey_navigateHome":"Navegar a inicio",
"preventSleepOnPlayback":"Evitar entrar en reposo durante la reproducción",
"preventSleepOnPlayback_description":"Evita que la pantalla entre en reposo mientras se está reproduciendo música",
"discordLinkType":"Enlaces de estado de {{discord}}",
"discordLinkType_none":"$t(common.none)",
"discordLinkType_mbz_lastfm":"{{musicbrainz}} con {{lastfm}} como alternativa",
"discordLinkType_description":"Añade enlaces externos a {{lastfm}} o {{musicbrainz}} a la canción y campos del artista en el estado de actividad de {{discord}} . {{musicbrainz}} es el más preciso pero requiere etiquetas y no proporciona enlaces del artista mientras que {{lastfm}} debería siempre proporcionar un enlace. No realiza peticiones de red adicionales",
"artistBackground":"imagen de fondo del artista",
"artistBackgroundBlur":"tamaño de desenfoque de imagen de fondo del artista",
"artistBackgroundBlur_description":"ajusta la cantidad de desenfoque aplicado a la imagen de fondo del artista",
"releaseChannel_optionLatest":"Estable",
"releaseChannel_optionBeta":"Beta",
"releaseChannel":"Canal de lanzamiento",
"releaseChannel_description":"Elige entre lanzamientos estables o beta para las actualizaciones automáticas",
"artistBackground_description":"Añade una imagen de fondo para las páginas de artista que contienen el arte del artista"
},
"action":{
"editPlaylist":"editar $t(entity.playlist_one)",
"goToPage":"ir a la página",
"moveToTop":"mover al principio",
"clearQueue":"limpiar cola",
"addToFavorites":"añadir a $t(entity.favorite_other)",
"addToPlaylist":"añadir a $t(entity.playlist_one)",
"createPlaylist":"crear $t(entity.playlist_one)",
"removeFromPlaylist":"eliminar de $t(entity.playlist_one)",
"remoteDisableError":"un error ocurrió cuando se intentó $t(common.disable) el servidor remoto",
"mpvRequired":"MPV requerido",
"audioDeviceFetchError":"un error ocurrió cuando se intentó obtener los dispositivos de audio",
"invalidServer":"servidor inválido",
"loginRateError":"demasiados intentos de inicio de sesión, por favor inténtalo en unos segundos",
"badAlbum":"Estás viendo esta página porque esta canción no forma parte de un álbum. Este problema puede ocurrir si tienes una canción en el nivel superior de tu carpeta de música. Jellyfin solo agrupa pistas si están en una carpeta.",
"networkError":"Ocurrió un error de red",
"openError":"No se pudo abrir el archivo",
"badValue":"Opción inválida \"{{value}}\". Este valor ya no existe",
"notificationDenied":"Se denegaron los permisos para notificaciones. Esta configuración no tiene efecto"
},
"filter":{
"mostPlayed":"más reproducido",
"isCompilation":"es una compilación",
"recentlyPlayed":"recientemente reproducido",
"isRated":"es clasificado",
"title":"título",
"rating":"calificación",
"search":"buscar",
"bitrate":"tasa de bits",
"recentlyAdded":"recientemente añadido",
"note":"nota",
"name":"nombre",
"dateAdded":"fecha añadida",
"releaseDate":"fecha de lanzamiento",
"communityRating":"calificación de la comunidad",
"path":"ruta",
"favorited":"favoritos",
"albumArtist":"$t(entity.albumArtist_one)",
"isRecentlyPlayed":"reproducido recientemente",
"isFavorited":"es favorito",
"bpm":"lpm",
"releaseYear":"año de lanzamiento",
"disc":"disco",
"biography":"biografía",
"artist":"$t(entity.artist_one)",
"duration":"duración",
"random":"aleatorio",
"lastPlayed":"última reproducción",
"toYear":"hasta el año",
"fromYear":"desde el año",
"criticRating":"calificación de la crítica",
"trackNumber":"pista",
"comment":"comentarios",
"playCount":"número de reproducciones",
"recentlyUpdated":"actualizado recientemente",
"channels":"$t(common.channel_other)",
"owner":"$t(common.owner)",
"genre":"$t(entity.genre_one)",
"id":"id",
"songCount":"número de canción",
"isPublic":"es público",
"album":"$t(entity.album_one)",
"albumCount":"Contar $t(entity.album_other)"
},
"page":{
"sidebar":{
"nowPlaying":"reproduciendo",
"playlists":"$t(entity.playlist_other)",
"search":"$t(common.search)",
"tracks":"$t(entity.track_other)",
"albums":"$t(entity.album_other)",
"genres":"$t(entity.genre_other)",
"folders":"$t(entity.folder_other)",
"settings":"$t(common.setting_other)",
"home":"$t(common.home)",
"artists":"$t(entity.artist_other)",
"albumArtists":"$t(entity.albumArtist_other)",
"shared":"compartido $t(entity.playlist_other)",
"myLibrary":"Mi biblioteca"
},
"appMenu":{
"selectServer":"seleccionar servidor",
"version":"versión {{version}}",
"settings":"$t(common.setting_other)",
"manageServers":"gestionar servidores",
"expandSidebar":"ampliar barra lateral",
"collapseSidebar":"contraer barra lateral",
"openBrowserDevtools":"abrir herramientas de desarrollador del navegador",
"input_preferInstantMixDescription":"Usa solo el mix instantáneo para obtener canciones similares. Útil si tienes complementos que modifican este comportamiento"
},
"addToPlaylist":{
"success":"añadido $t(entity.trackWithCount, {\"count\": {{message}} }) a $t(entity.playlistWithCount, {\"count\": {{numOfPlaylists}} })",
"publicJellyfinNote":"Jellyfin por alguna razón no expone si una lista de reproducción es pública o no. Si deseas que ésta siga siendo pública, por favor ten seleccionada la siguiente entrada"
},
"queryEditor":{
"input_optionMatchAll":"coincidir todos",
"input_optionMatchAny":"coincidir cualquiera",
"title":"Editor de consultas"
},
"shareItem":{
"createFailed":"No se pudo crear el recurso compartido (¿está habilitado el uso compartido?)",
"allowDownloading":"Permitir la descarga",
"description":"Descripción",
"setExpiration":"Establecer expiración",
"success":"Enlace de compartición copiado al portapapeles (o pulsa aquí para abrir)",
"expireInvalid":"La expiración debe ser en el futuro"
},
"privateMode":{
"enabled":"Modo privado activado, el estado de reproducción ahora está oculto de integraciones externas",
"disabled":"Modo privado desactivado, el estado de reproducción ahora es visible a las integraciones externas habilitadas",
"playlistWithCount_one":"{{count}} lista de reproducción",
"playlistWithCount_many":"{{count}} listas de reproducción",
"playlistWithCount_other":"{{count}} listas de reproducción",
"playlist_one":"lista de reproducción",
"playlist_many":"listas de reproducción",
"playlist_other":"listas de reproducción",
"artist_one":"artista",
"artist_many":"artistas",
"artist_other":"artistas",
"folderWithCount_one":"{{count}} carpeta",
"folderWithCount_many":"{{count}} carpetas",
"folderWithCount_other":"{{count}} carpetas",
"albumArtist_one":"artista del álbum",
"albumArtist_many":"artistas del álbum",
"albumArtist_other":"artistas del álbum",
"track_one":"pista",
"track_many":"pistas",
"track_other":"pistas",
"albumArtistCount_one":"{{count}} artista del álbum",
"albumArtistCount_many":"{{count}} artistas del álbum",
"albumArtistCount_other":"{{count}} artistas del álbum",
"albumWithCount_one":"{{count}} álbum",
"albumWithCount_many":"{{count}} álbumes",
"albumWithCount_other":"{{count}} álbumes",
"favorite_one":"favorito",
"favorite_many":"favoritos",
"favorite_other":"favoritos",
"artistWithCount_one":"{{count}} artista",
"artistWithCount_many":"{{count}} artistas",
"artistWithCount_other":"{{count}} artistas",
"folder_one":"carpeta",
"folder_many":"carpetas",
"folder_other":"carpetas",
"album_one":"álbum",
"album_many":"álbumes",
"album_other":"álbumes",
"genreWithCount_one":"{{count}} género",
"genreWithCount_many":"{{count}} géneros",
"genreWithCount_other":"{{count}} géneros",
"trackWithCount_one":"{{count}} pista",
"trackWithCount_many":"{{count}} pistas",
"trackWithCount_other":"{{count}} pistas",
"play_one":"{{count}} reproducción",
"play_many":"{{count}} reproducciones",
"play_other":"{{count}} reproducciones",
"song_one":"canción",
"song_many":"canciones",
"song_other":"canciones"
}
}
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.